]> git.ipfire.org Git - people/arne_f/ipfire-3.x.git/commitdiff
Merge remote-tracking branch 'arne_f/autoconf'
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 Apr 2012 18:28:12 +0000 (20:28 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 Apr 2012 18:28:12 +0000 (20:28 +0200)
422 files changed:
ImageMagick/ImageMagick.nm
acl/acl.nm
acl/patches/acl-2.2.39-build.patch [moved from acl/patches/acl-2.2.47-build-1.patch with 63% similarity]
acl/patches/acl-2.2.47-exitcode.patch [deleted file]
acl/patches/acl-2.2.47-nfs4.patch [deleted file]
acl/patches/acl-2.2.47-params.patch [deleted file]
acl/patches/acl-2.2.47-path_max.patch [deleted file]
acl/patches/acl-2.2.47-segfault.patch [deleted file]
acl/patches/acl-2.2.47-walk.patch.broken [deleted file]
acl/patches/acl-2.2.49-bz675451.patch [new file with mode: 0644]
acl/patches/acl-2.2.49-tests.patch [new file with mode: 0644]
apr-util/apr-util.nm
asciidoc/asciidoc.nm [new file with mode: 0644]
asciidoc/patches/asciidoc-8.4.5-datadir.patch [new file with mode: 0644]
asciidoc/patches/asciidoc-8.4.5-use-unsafe-mode-by-default.patch [new file with mode: 0644]
attr/attr.nm
attr/patches/attr-2.4.46-build.patch [new file with mode: 0644]
audit/audit.nm
authconfig/authconfig.nm
autogen/autogen.nm
avahi/avahi.nm
bash-completion/bash-completion-1.99-redefine_filedir.bash [new file with mode: 0644]
bash-completion/bash-completion.nm [new file with mode: 0644]
bash-completion/patches/bash-completion-1.99-noblacklist.patch [new file with mode: 0644]
bash/bash.nm
bash/patches/bash-requires.patch [new file with mode: 0644]
binutils/binutils.nm
bird/bird.nm
bison/bison.nm
boost/boost.nm
bzip2/bzip2.nm
ca-certificates/blacklist.txt [new file with mode: 0644]
ca-certificates/ca-certificates.nm [new file with mode: 0644]
ca-certificates/certdata.txt [new file with mode: 0644]
ca-certificates/certdata2pem.py [new file with mode: 0644]
ca-certificates/generate-cacerts.pl [new file with mode: 0755]
checkpolicy/checkpolicy.nm [new file with mode: 0644]
checkpolicy/patches/checkpolicy-rhat.patch2 [new file with mode: 0644]
chrony/chrony.nm
compat-db/compat-db.nm [new file with mode: 0644]
coreutils/coreutils.nm
coreutils/patches/coreutils-7.6-uname_PIC-1.patch.off [deleted file]
coreutils/patches/coreutils-8.5-pam.patch
coreutils/patches/coreutils-8.7-runuser.patch [new file with mode: 0644]
coreutils/patches/coreutils-i18n.patch
coreutils/patches/coreutils-selinux.patch
cpio/cpio.nm
cpufrequtils/cpufrequtils.nm [deleted file]
cpufrequtils/patches/cpufrequtils-008-aperf-32bit.patch [deleted file]
cpufrequtils/patches/cpufrequtils-008-no-aperf-on-ppc.patch [deleted file]
cpufrequtils/patches/cpufrequtils-multilib.patch [deleted file]
cpufrequtils/patches/disable-gsic.patch [deleted file]
cracklib/cracklib.nm
cryptsetup-luks/cryptsetup-luks.nm
curl/curl.nm
curl/patches/curl-7.21.2-debug.patch [new file with mode: 0644]
db4/db4.nm
dbus/dbus.nm
dev86/dev86.nm
dialog/dialog.nm
diffutils/diffutils.nm
dmraid/dmraid.nm
docbook-dtds/docbook-dtds.nm
docbook-dtds/patches/docbook-sgml-systemrewrite.patch
dracut/dracut.nm
e2fsprogs/e2fsprogs.nm
ebtables/ebtables.nm
ed/ed.nm
ethtool/ethtool.nm
expat/expat.nm
expect/expect.nm
expect/patches/expect-5.32.2-random.patch
expect/patches/expect-5.38.0-lib-spec.patch [deleted file]
expect/patches/expect-5.39.0-libdir.patch [deleted file]
expect/patches/expect-5.43.0-log_file.patch [new file with mode: 0644]
expect/patches/expect-5.43.0-override_default_prefix.patch [deleted file]
expect/patches/expect-5.43.0-pkgpath.patch [new file with mode: 0644]
expect/patches/expect-5.43.0-spawn-1.patch [deleted file]
expect/patches/expect-5.43.0-tcl_8.5.8_fix-1.patch [deleted file]
expect/patches/expect-5.45-check-telnet.patch [new file with mode: 0644]
expect/patches/expect-5.45-man-page.patch [new file with mode: 0644]
expect/patches/expect-5.45-match-gt-numchars-segfault.patch [new file with mode: 0644]
expect/patches/expect-5.45-mkpasswd-dash.patch [new file with mode: 0644]
expect/patches/expect-5.45-passmass-su-full-path.patch [new file with mode: 0644]
file/file.nm
filesystem/filesystem.nm
findutils/findutils.nm
freeradius/freeradius.nm
gawk/gawk.nm
gcc/gcc.nm
gcc/patches/gcc-4.6.3-piepatches-20120408.patch [moved from gcc/patches/gcc-4.6.0-piepatches-20110407.patch with 74% similarity]
gdb/gdb.nm
gettext/gettext.nm
ghostscript/ghostscript.nm
glib2/glib2.nm
glibc/glibc.nm
gmp/gmp.nm
gnupg2/gnupg2.nm
gnutls/gnutls.nm
gpgme/gpgme.nm [new file with mode: 0644]
gpgme/patches/gpgme-1.2.0-largefile.patch [new file with mode: 0644]
gpgme/patches/gpgme-1.3.0-ImplicitDSOLinking.patch [new file with mode: 0644]
gpgme/patches/gpgme-1.3.0-config_extras.patch [new file with mode: 0644]
grep/grep.nm
grub/default/grub
grub/grub.nm
grubby/grubby.nm
guile/guile.nm
gzip/gzip.nm
hdparm/hdparm.nm
htop/htop.nm
iasl/iasl.nm
icecream/icecream.nm
initscripts/initscripts.nm
initscripts/rc.local
initscripts/src/Makefile
initscripts/systemd/rc-local.service
ipfire-logos/ipfire-logos.nm [new file with mode: 0644]
ipfire-release/ipfire-release.nm [moved from system-release/system-release.nm with 57% similarity]
ipfire-release/repos/stable.repo [new file with mode: 0644]
ipfire-release/repos/testing.repo [new file with mode: 0644]
ipfire-release/repos/unstable.repo [new file with mode: 0644]
iproute2/iproute2.nm
iproute2/patches/iproute2-2.6.29-IPPROTO_IP_for_SA.patch [new file with mode: 0644]
iproute2/patches/iproute2-2.6.29-kernel.patch [new file with mode: 0644]
iproute2/patches/iproute2-2.6.31-tc_modules.patch [new file with mode: 0644]
iproute2/patches/iproute2-2.6.35-print-route.patch [new file with mode: 0644]
iproute2/patches/iproute2-2.6.39-create-peer-veth-without-a-name.patch [new file with mode: 0644]
iproute2/patches/iproute2-2.6.39-lnstat-dump-to-stdout.patch [new file with mode: 0644]
iproute2/patches/iproute2-print-route-u32.patch [new file with mode: 0644]
iproute2/patches/iproute2-sharepath.patch [new file with mode: 0644]
iproute2/patches/iproute2-ss050901-opt_flags.patch [new file with mode: 0644]
iproute2/patches/man-pages.patch [new file with mode: 0644]
iptables/iptables.nm
iputils/iputils.nm
iscsi-initiator-utils/iscsi-initiator-utils.nm
isdn4k-utils/40-isdn.rules [deleted file]
isdn4k-utils/isdn4k-utils.nm
isdn4k-utils/patches/isdn4k-utils-pppcapiplugin-libdir.patch [new file with mode: 0644]
kbd/kbd.nm
kernel/config-arm-generic [new file with mode: 0644]
kernel/config-armv5tel-kirkwood [new file with mode: 0644]
kernel/config-armv7hl-omap [new file with mode: 0644]
kernel/config-generic [moved from kernel/config.i686-legacy with 80% similarity]
kernel/config-i686-default [new file with mode: 0644]
kernel/config-i686-legacy [new file with mode: 0644]
kernel/config-x86-generic [new file with mode: 0644]
kernel/config-x86_64-default [new file with mode: 0644]
kernel/config.armv5tel-versatile [deleted file]
kernel/config.i686 [deleted file]
kernel/config.x86_64 [deleted file]
kernel/kernel.nm
kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch [new file with mode: 0644]
kernel/patches/grsecurity-2.9-3.2.12-201203221944.patch [moved from kernel/patches/grsecurity-2.2.2-3.1.5-201112101853.patch with 84% similarity]
kernel/patches/linux-3.1-bridge-master-device-stuck-in-no-carrier-state-forever-when-in-user-stp-mode.patch [deleted file]
kernel/scripts/configcommon.py [new file with mode: 0755]
kernel/scripts/configdiff.py [new file with mode: 0755]
kernel/scripts/configure [new file with mode: 0755]
kernel/scripts/merge.pl [new file with mode: 0644]
kmod/kmod.nm
l7-protocols/l7-protocols.nm
libaio/libaio.nm
libatasmart/libatasmart.nm
libcap-ng/libcap-ng.nm
libcap/libcap.nm
libcgroup/libcgroup.nm
libdb/libdb.nm [new file with mode: 0644]
libdrm/91-drm-modeset.rules
libdrm/libdrm.nm
libdrm/patches/libdrm-2.4.21-b803918f3f.patch [deleted file]
libevent/libevent.nm
libgcrypt/libgcrypt.nm
libgpg-error/libgpg-error.nm
libidn/libidn.nm
libpipeline/libpipeline.nm
libpng/libpng.nm
libselinux/libselinux.nm
libselinux/patches/libselinux-ipfire.patch [deleted file]
libselinux/patches/libselinux-rhat.patch2 [new file with mode: 0644]
libsemanage/libsemanage.nm
libsemanage/semanage.conf
libsepol/libsepol.nm
libsolv/libsolv.nm
libtiff/libtiff.nm
libtorrent/libtorrent.nm
libvirt/libvirt.nm
libxml2/libxml2.nm
libxml2/patches/libxml2-2.7.7-xpath-double-free.patch [new file with mode: 0644]
linux-atm/linux-atm.nm
linux-atm/patches/linux-arm-gcc43.patch [new file with mode: 0644]
linux-atm/patches/linux-atm-2.4.1-gcc-4.patch [deleted file]
linux-atm/patches/linux-atm-2.4.1-nmu.patch [deleted file]
linux-atm/patches/linux-atm-2.5.0-disable-ilmidiag.patch [new file with mode: 0644]
linux-atm/patches/linux-atm-2.5.0-open-macro.patch [new file with mode: 0644]
linux-atm/patches/man-pages.patch [new file with mode: 0644]
linux-firmware/linux-firmware.nm
lldpd/lldpd.nm
lm-sensors/lm-sensors.nm
lsof/lsof.nm
lsof/patches/lsof_4.81-threads.patch [deleted file]
lvm2/lvm2.nm
man-db/man-db.nm
man-pages/man-pages.nm
mc/mc.nm
mdadm/mdadm.nm
mesa/mesa.nm
mesa/patches/mesa-7.11-generic-wmb.patch [new file with mode: 0644]
module-init-tools/modprobe.d/modprobe.conf [deleted file]
module-init-tools/module-init-tools.nm [deleted file]
ncurses/ncurses.nm
net-snmp/net-snmp.nm
net-tools/net-tools.nm
network/network.nm
nfs-utils/nfs-utils.nm
nspr/nspr.nm
nss-softokn/nss-softokn-config.in [deleted file]
nss-softokn/nss-softokn.nm [deleted file]
nss-softokn/nss-softokn.pc.in [deleted file]
nss-softokn/nss-softokn.spec [deleted file]
nss-softokn/patches/nss-softokn-3.12.4-fips-fix.patch [deleted file]
nss-softokn/patches/nss-softokn-3.12.4-prelink.patch [deleted file]
nss-util/nss-util-config.in [deleted file]
nss-util/nss-util.nm [deleted file]
nss-util/nss-util.pc.in [deleted file]
nss/nss.nm
nss/nss.pc.in
nss/patches/0001-Add-support-for-PKCS-8-encoded-private-keys.patch [deleted file]
nss/patches/0001-Bug-695011-PEM-logging.patch [new file with mode: 0644]
nss/patches/0001-Do-not-define-SEC_SkipTemplate.patch [deleted file]
nss/patches/0001-libnsspem-rhbz-734760.patch [new file with mode: 0644]
nss/patches/bz784672-protect-against-calls-before-nss_init.patch0 [new file with mode: 0644]
nss/patches/gnuc-minor-def-fix.patch [new file with mode: 0644]
nss/patches/nofipstest.patch0 [new file with mode: 0644]
nss/patches/nosha224.patch0 [new file with mode: 0644]
nss/patches/nss-646045.patch0 [new file with mode: 0644]
nss/patches/nss-ckbi-1.88.rtm.patch0 [new file with mode: 0644]
nss/patches/nss-enable-pem.patch0 [moved from nss/patches/nss-enable-pem.patch with 70% similarity]
nss/patches/nss-fix-gcc47-secmodt.patch0 [new file with mode: 0644]
nss/patches/nss-ssl-cbc-random-iv-off-by-default.patch0 [new file with mode: 0644]
nss/patches/nss-sysinit-userdb-first.patch [deleted file]
nss/patches/nsspem-596674.patch [deleted file]
nss/patches/nsspem-bz754771.patch0 [new file with mode: 0644]
nss/patches/nsspem-createobject-initialize-pointer.patch0 [new file with mode: 0644]
nss/patches/nsspem-init-inform-not-thread-safe.patch0 [new file with mode: 0644]
nss/patches/renegotiate-transitional.patch [deleted file]
nss/patches/renegotiate-transitional.patch0 [new file with mode: 0644]
nss_ldap/nss_ldap.nm
open-vm-tools/open-vm-tools.nm
openl2tp/openl2tp.nm
openldap/openldap.nm
openssh/openssh.nm
openssh/ssh-keygen [deleted file]
openssh/sshd-keygen [new file with mode: 0644]
openssh/sshd.pam
openssh/systemd/openssh.service [deleted file]
openssh/systemd/sshd-keygen.service [new file with mode: 0644]
openssh/systemd/sshd.service [new file with mode: 0644]
openssh/systemd/sshd.socket [new file with mode: 0644]
openssh/systemd/sshd@.service [new file with mode: 0644]
openssl/openssl.nm
openssl/patches/openssl-0.9.6-x509.patch [new file with mode: 0644]
openssl/patches/openssl-0.9.8a-no-rpath.patch [moved from openssl/patches/openssl-0.9.8k-no-rpath.patch with 100% similarity]
openssl/patches/openssl-1.0.0-beta3-soversion.patch [deleted file]
openssl/patches/openssl-1.0.0-beta4-algo-doc.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0-beta4-ca-dir.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0-beta4-default-paths.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0-beta5-readme-warning.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0-timezone.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0c-rsa-x931.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0d-apps-dgst.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0d-xmpp-starttls.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0e-chil-fixes.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0e-doc-noeof.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0f-defaults.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.0g-version.patch [deleted file]
openssl/patches/openssl-1.0.1-beta2-build.patch [moved from openssl/patches/openssl-1.0.0-beta4-redhat.patch with 66% similarity]
openssl/patches/openssl-1.0.1-beta2-dtls1-abi.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.1-beta2-ipv6-apps.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.1-beta2-padlock64.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.1-beta2-ssl-op-all.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.1-beta3-fips.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.1-beta4-fips-md5-allow.patch [new file with mode: 0644]
openssl/patches/openssl-1.0.1-version.patch [new file with mode: 0644]
openvpn/openvpn.nm
pakfire/pakfire.nm
pakfire/patches/0001-Fix-accessing-index-data-after-the-transaction-is-do.patch [new file with mode: 0644]
pakfire/patches/0002-find-provides-Accept-bogous-soname.patch [new file with mode: 0644]
pakfire/patches/0003-Fix-adding-right-package-format-to-all-actions-in-th.patch [new file with mode: 0644]
pakfire/patches/0004-client-daemon-Don-t-make-internal-server-errors-fata.patch [new file with mode: 0644]
pakfire/patches/0005-Allow-to-install-multiple-non-default-kernels.patch [new file with mode: 0644]
pakfire/patches/0006-Actually-remove-installed-packages-from-database.patch [new file with mode: 0644]
pakfire/patches/0007-Select-packages-from-the-database-by-their-UUIDs.patch [new file with mode: 0644]
pakfire/patches/0008-Fixes-for-removing-files-and-configfiles.patch [new file with mode: 0644]
pam/man/config-util.5 [new file with mode: 0644]
pam/man/postlogin.5 [new file with mode: 0644]
pam/man/system-auth.5 [new file with mode: 0644]
pam/pam.d/config-util [new file with mode: 0644]
pam/pam.d/fingerprint-auth [new file with mode: 0644]
pam/pam.d/password-auth [new file with mode: 0644]
pam/pam.d/postlogin [new file with mode: 0644]
pam/pam.d/smartcard-auth [new file with mode: 0644]
pam/pam.d/system-auth
pam/pam.nm
pam_ldap/pam_ldap.nm
parted/parted.nm
paxtest/paxtest.nm
pcre/pcre.nm
pdns-recursor/pdns-recursor.nm
pdns/pdns.nm
perl-BDB/perl-BDB.nm [new file with mode: 0644]
perl-Coro/perl-Coro.nm [new file with mode: 0644]
perl-Crypt-PasswdMD5/perl-Crypt-PasswdMD5.nm
perl-DBI/perl-DBI.nm [new file with mode: 0644]
perl-Digest-SHA1/perl-Digest-SHA1.nm
perl-FCGI/perl-FCGI.nm
perl-IO-AIO/perl-IO-AIO.nm [new file with mode: 0644]
perl-WWW-Curl/perl-WWW-Curl.nm
perl-common-sense/perl-common-sense.nm [new file with mode: 0644]
plymouth/boot-duration [new file with mode: 0644]
plymouth/patches/plymouth-0.8.0-everything-is-better-in-red.patch [new file with mode: 0644]
plymouth/patches/plymouth-no-gtk.patch [new file with mode: 0644]
plymouth/plymouth-update-initrd [new file with mode: 0644]
plymouth/plymouth.nm [new file with mode: 0644]
policycoreutils/patches/policycoreutils-gui.patch [new file with mode: 0644]
policycoreutils/patches/policycoreutils-po.patch [new file with mode: 0644]
policycoreutils/patches/policycoreutils-rhat.patch [new file with mode: 0644]
policycoreutils/patches/policycoreutils-sepolgen.patch [new file with mode: 0644]
policycoreutils/policycoreutils.nm [new file with mode: 0644]
policycoreutils/semanage-bash-completion.sh [new file with mode: 0644]
policycoreutils/systemd/restorecond.service [new file with mode: 0644]
popt/popt.nm
ppl/ppl.nm
ppp/ppp.nm
psmisc/psmisc.nm
pth/pth.nm
pygobject2/pygobject2.nm
pygpgme/pygpgme.nm [new file with mode: 0644]
python-cairo/python-cairo.nm
python-pyblock/python-pyblock.nm
python-pycurl/python-pycurl.nm
python/python.nm
qt/qt.nm
qtermwidget/qtermwidget.nm
radvd/radvd.nm
radvd/systemd/radvd.service
rcs/patches/rcs-5.8-build-tweaks.patch [new file with mode: 0644]
rcs/patches/rcs-5.8-newsvnsyntax.patch [new file with mode: 0644]
rcs/patches/rcs-5.8-sameuserlocks.patch [new file with mode: 0644]
rcs/rcs.nm [new file with mode: 0644]
readline/readline.nm
rsyslog/rsyslog.nm
rtorrent/rtorrent.nm
samba/samba.nm
sed/sed.nm
setools/patches/0001-add-setools-seinfo-and-sesearch-python-bindings.patch [new file with mode: 0644]
setools/patches/0002-setools-should-exit-with-an-error-status-if-it-gets-.patch [new file with mode: 0644]
setools/patches/0003-Since-we-do-not-ship-neverallow-rules-all-always-fai.patch [new file with mode: 0644]
setools/patches/0004-Fix-man-pages-and-getoptions.patch [new file with mode: 0644]
setools/patches/0005-Fix-sepol-calls-to-work-with-latest-libsepol.patch [new file with mode: 0644]
setools/patches/0006-Changes-to-support-named-file_trans-rules.patch [new file with mode: 0644]
setools/patches/0007-Remove-unused-variables.patch [new file with mode: 0644]
setools/patches/0008-Fix-output-to-match-policy-lines.patch [new file with mode: 0644]
setools/setools.nm [new file with mode: 0644]
setup/profile
setup/setup.nm
sg3-utils/sg3-utils.nm
sqlite/patches/sqlite-3.6.12-libdl.patch [deleted file]
sqlite/sqlite.nm
squid/squid.nm
strongswan/strongswan.nm
subversion/patches/001-subversion-1.7.0-rpath.patch [new file with mode: 0644]
subversion/patches/002-subversion-1.7.0-pie.patch [new file with mode: 0644]
subversion/subversion.nm [new file with mode: 0644]
syslinux/syslinux.nm
systemd/patches/systemd-44-fix-journald-PAGE_SIZE-on-arm.patch [new file with mode: 0644]
systemd/patches/systemd-44-ipfire.patch [moved from systemd/patches/systemd-ipfire.patch with 56% similarity]
systemd/systemd.nm
tar/tar.nm
tcl/patches/tcl-8.5.1-autopath.patch [moved from tcl/patches/tcl-8.5.8-autopath.patch with 100% similarity]
tcl/patches/tcl-8.5.10-conf.patch [moved from tcl/patches/tcl-8.5.8-conf.patch with 100% similarity]
tcl/patches/tcl-8.5.9-hidden.patch [new file with mode: 0644]
tcl/tcl.nm
tcpdump/tcpdump.nm
udev/udev.nm
ulogd2/ulogd2.nm
upower/upower.nm
ustr/ustr.nm
util-linux/util-linux.nm
wavemon/wavemon.nm
wireless-tools/wireless-tools.nm
xcb-proto/xcb-proto.nm
xen/patches/01-xen-initscript.patch [new file with mode: 0644]
xen/patches/04-xen-dumpdir.patch [new file with mode: 0644]
xen/patches/05-xen-net-disable-iptables-on-bridge.patch [new file with mode: 0644]
xen/patches/10-xen-no-werror.patch [new file with mode: 0644]
xen/patches/18-localgcc45fix.patch [new file with mode: 0644]
xen/patches/20-localgcc451fix.patch [new file with mode: 0644]
xen/patches/23-grub-ext4-support.patch.off [new file with mode: 0644]
xen/patches/26-localgcc46fix.patch [new file with mode: 0644]
xen/patches/28-pygrubfix.patch [new file with mode: 0644]
xen/patches/31-pygrubfix2.patch [new file with mode: 0644]
xen/patches/32-xen-4.1-testing.23190.patch [new file with mode: 0644]
xen/patches/33-xend.empty.xml.patch [new file with mode: 0644]
xen/patches/34-xend.catchbt.patch [new file with mode: 0644]
xen/patches/35-xend-pci-loop.patch [new file with mode: 0644]
xen/patches/36-localgcc47fix.patch [new file with mode: 0644]
xen/patches/37-qemu-xen-4.1-testing.git-3cf61880403b4e484539596a95937cc066243388.patch [new file with mode: 0644]
xen/patches/50-upstream-23936:cdb34816a40a-rework.patch [new file with mode: 0644]
xen/patches/51-upstream-23937:5173834e8476.patch [new file with mode: 0644]
xen/patches/52-upstream-23938:fa04fbd56521-rework.patch [new file with mode: 0644]
xen/patches/53-upstream-23939:51288f69523f-rework.patch [new file with mode: 0644]
xen/patches/54-upstream-23940:187d59e32a58.patch [new file with mode: 0644]
xen/patches/99-xen-configure-xend.patch [new file with mode: 0644]
xen/patches/xen-gcc-4.6.0.patch.off [moved from xen/patches/xen-gcc-4.6.0.patch with 100% similarity]
xen/xen.nm
xfsprogs/xfsprogs.nm
xmlto/xmlto.nm
xorg-x11-drv-mouse/xorg-x11-drv-mouse.nm
xorg-x11-proto-devel/xorg-x11-proto-devel.nm
xorg-x11-server/xorg-x11-server.nm
xorg-x11-xinit/xorg-x11-xinit.nm
zlib/zlib.nm

index c5d75ad0d7ff5a3dd7f65f516c26eff4a95f60c0..9750e2c4b1fa81d49fab7dc68247bab8558d9009 100644 (file)
@@ -4,9 +4,9 @@
 ###############################################################################
 
 name       = ImageMagick
-version    = 6.7.3
+version    = 6.7.6
 release    = 1
-patchlevel = 3
+patchlevel = 0
 
 groups     = Application/Multimedia
 url        = http://www.imagemagick.org/
index c42895016be0d5edfb66454e459b56cd9de150b2..adf707593d9663da0362aabbeef2e5d456c1f0d5 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = acl
-version    = 2.2.47
-release    = 3
+version    = 2.2.51
+release    = 2
 
 groups     = System/Filesystems
 url        = http://oss.sgi.com/projects/xfs/
@@ -17,7 +17,8 @@ description
        manipulating access control lists.
 end
 
-source_dl  = ftp://oss.sgi.com/projects/xfs/previous/cmd_tars/
+source_dl  = http://download-mirror.savannah.gnu.org/releases/acl/
+sources    = %{thisapp}.src.tar.gz
 
 build
        requires
@@ -28,22 +29,16 @@ build
        end
 
        configure_options += \
-               --bindir=/bin \
+               --libexecdir=%{libdir} \
                --disable-static
 
        make_build_targets += LIBTOOL="libtool --tag=CC"
 
-       install_cmds
-               mkdir -pv %{BUILDROOT}/%{lib} %{BUILDROOT}%{libdir}
-               install -v -m0755 libacl/.libs/libacl.so.1.2.0 %{BUILDROOT}/%{lib}
-               ln -vsf libacl.so.1.2.0 %{BUILDROOT}/%{lib}/libacl.so.1
-               ln -vsf ../../%{lib}/libacl.so.1 %{BUILDROOT}%{libdir}/libacl.so
-
-               # Install headers.
-               mkdir -pv %{BUILDROOT}%{includedir}/{acl,sys}
-               cp -vf include/libacl.h %{BUILDROOT}%{includedir}/acl/
-               cp -vf include/acl.h %{BUILDROOT}%{includedir}/sys/
+       test
+               make tests
        end
+
+       make_install_targets += install-dev install-lib
 end
 
 packages
similarity index 63%
rename from acl/patches/acl-2.2.47-build-1.patch
rename to acl/patches/acl-2.2.39-build.patch
index 1605ee355124705b7773b7579feed4d4705f5893..fbe608a0dd82c3bf8edcb620240cf3d0bc19959c 100644 (file)
@@ -1,6 +1,8 @@
---- acl-2.2.39/include/builddefs.in.build      2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/include/builddefs.in    2006-07-05 12:34:05.000000000 -0400
-@@ -26,14 +26,14 @@
+diff --git a/include/builddefs.in b/include/builddefs.in
+index d054a56..10b0cd4 100644
+--- a/include/builddefs.in
++++ b/include/builddefs.in
+@@ -28,14 +28,14 @@ PKG_RELEASE        = @pkg_release@
  PKG_VERSION   = @pkg_version@
  PKG_PLATFORM  = @pkg_platform@
  PKG_DISTRIBUTION= @pkg_distribution@
  
  CC            = @cc@
  AWK           = @awk@
---- acl-2.2.39/include/buildmacros.build       2006-07-05 12:32:07.000000000 -0400
-+++ acl-2.2.39/include/buildmacros     2006-07-05 12:32:07.000000000 -0400
-@@ -26,7 +26,7 @@
+diff --git a/include/buildmacros b/include/buildmacros
+index 17423c0..3118a17 100644
+--- a/include/buildmacros
++++ b/include/buildmacros
+@@ -40,7 +40,7 @@ OBJECTS = $(ASFILES:.s=.o) \
          $(LFILES:.l=.o) \
          $(YFILES:%.y=%.tab.o)
  
--INSTALL       = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL       = $(TOPDIR)/install-sh
+-INSTALL       = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
++INSTALL       = $(TOPDIR)/include/install-sh
  
  SHELL = /bin/sh
  IMAGES_DIR = $(TOPDIR)/all-images
diff --git a/acl/patches/acl-2.2.47-exitcode.patch b/acl/patches/acl-2.2.47-exitcode.patch
deleted file mode 100644 (file)
index 0ba27b0..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---- acl-2.2.45/setfacl/setfacl.c.old   2007-11-08 14:04:42.000000000 +0100
-+++ acl-2.2.45/setfacl/setfacl.c       2007-11-08 14:05:43.000000000 +0100
-@@ -144,7 +144,7 @@ restore(
-               if (error < 0)
-                       goto fail;
-               if (error == 0)
--                      return 0;
-+                      return status;
-               if (path_p == NULL) {
-                       if (filename) {
-@@ -158,6 +158,7 @@ restore(
-                                                "aborting\n"),
-                                       progname, backup_line);
-                       }
-+                      status = 1;
-                       goto getout;
-               }
-@@ -176,6 +177,7 @@ restore(
-                       fprintf(stderr, _("%s: %s: %s in line %d\n"),
-                               progname, xquote(filename), strerror(errno),
-                               line);
-+                      status = 1;
-                       goto getout;
-               }
diff --git a/acl/patches/acl-2.2.47-nfs4.patch b/acl/patches/acl-2.2.47-nfs4.patch
deleted file mode 100644 (file)
index c6314f5..0000000
+++ /dev/null
@@ -1,3278 +0,0 @@
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_get_who.c       2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,103 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Read the who value from the ace and return its type and optionally
-+ *  its value.
-+ *
-+ *  Ace is a reference to the ace to extract the who value from.
-+ *  Type is a reference where the value of the whotype will be stored.
-+ *  Who is a double reference that should either be passed as NULL
-+ *  (and thus no who string will be returned) or as a pointer to a
-+ *  char* where the who string will be allocated. This string must be
-+ *  freed by the caller.
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "libacl_nfs4.h"
-+
-+int acl_nfs4_get_who(struct nfs4_ace* ace, int* type, char** who)
-+{
-+      int itype;
-+      char* iwho = NULL;
-+      int wholen;
-+
-+      if(ace == NULL || ace->who == NULL)
-+              goto inval_failed;
-+
-+      itype = acl_nfs4_get_whotype(ace->who);
-+
-+      if(type != NULL) {
-+              *type = itype;
-+      }
-+
-+
-+      if(who == NULL)
-+              return 0;
-+
-+      switch(itype)
-+      {
-+              case NFS4_ACL_WHO_NAMED:
-+                      iwho = ace->who;
-+                      break;
-+              case NFS4_ACL_WHO_OWNER:
-+                      iwho = NFS4_ACL_WHO_OWNER_STRING;
-+                      break;
-+              case NFS4_ACL_WHO_GROUP:
-+                      iwho = NFS4_ACL_WHO_GROUP_STRING;
-+                      break;
-+              case NFS4_ACL_WHO_EVERYONE:
-+                      iwho = NFS4_ACL_WHO_EVERYONE_STRING;
-+                      break;
-+              default:
-+                      goto inval_failed;
-+      }
-+
-+      wholen = strlen(iwho);
-+      if(wholen < 0)
-+              goto inval_failed;
-+
-+      (*who) = (char *) malloc(sizeof(char) * (wholen + 1));
-+      if((*who) == NULL) {
-+              errno = ENOMEM;
-+              goto failed;
-+      }
-+
-+      strcpy((*who), iwho);
-+
-+      return 0;
-+
-+inval_failed:
-+      errno = EINVAL;
-+
-+failed:
-+      return -1;
-+}
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_add_ace.c       2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,83 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Add an ace to the acl
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Marius Aamodt Eriksen <marius@umich.edu>
-+ *  J. Bruce Fields <bfields@umich.edu>
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *  Jeff Sedlak <jsedlak@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "libacl_nfs4.h"
-+
-+int
-+acl_nfs4_add_ace(struct nfs4_acl *acl, u32 type, u32 flag, u32 access_mask,
-+              int whotype, char* who)
-+{
-+      struct nfs4_ace *ace;
-+      int result;
-+
-+      if(acl == NULL)
-+      {
-+              errno = EINVAL;
-+              return -1;
-+      }
-+
-+      if ((ace = malloc(sizeof(*ace))) == NULL)
-+      {
-+              errno = ENOMEM;
-+              return -1;
-+      }
-+
-+      ace->type = type;
-+      ace->flag = flag;
-+
-+      if( type == NFS4_ACE_ACCESS_DENIED_ACE_TYPE )
-+              access_mask = access_mask & ~(NFS4_ACE_MASK_IGNORE);
-+
-+
-+      /* Castrate delete_child if we aren't a directory */
-+      if (!acl->is_directory)
-+              access_mask &= ~NFS4_ACE_DELETE_CHILD;
-+
-+
-+      ace->access_mask = access_mask & NFS4_ACE_MASK_ALL;
-+
-+      result = acl_nfs4_set_who(ace, whotype, who);
-+      if(result < 0)
-+              return -1;
-+
-+      TAILQ_INSERT_TAIL(&acl->ace_head, ace, l_ace);
-+      acl->naces++;
-+
-+      return 0;
-+}
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_get_whotype.c   2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,60 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Get the whotype of the who string passed
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Marius Aamodt Eriksen <marius@umich.edu>
-+ *  J. Bruce Fields <bfields@umich.edu>
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *  Jeff Sedlak <jsedlak@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "libacl_nfs4.h"
-+
-+inline int
-+acl_nfs4_get_whotype(char *p)
-+{
-+      if(0 == strcmp(p, NFS4_ACL_WHO_OWNER_STRING) &&
-+                      strlen(p) == strlen(NFS4_ACL_WHO_OWNER_STRING)) {
-+              return NFS4_ACL_WHO_OWNER;
-+      }
-+      if(0 == strcmp(p, NFS4_ACL_WHO_GROUP_STRING) &&
-+                      strlen(p) == strlen(NFS4_ACL_WHO_GROUP_STRING)) {
-+              return NFS4_ACL_WHO_GROUP;
-+      }
-+      if(0 == strcmp(p, NFS4_ACL_WHO_EVERYONE_STRING) &&
-+                      strlen(p) == strlen(NFS4_ACL_WHO_EVERYONE_STRING)) {
-+              return NFS4_ACL_WHO_EVERYONE;
-+      }
-+
-+      return NFS4_ACL_WHO_NAMED;
-+}
-+
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_free.c  2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,61 @@
-+/*
-+ *  Copyright (c) 2004 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Marius Aamodt Eriksen <marius@umich.edu>
-+ *  J. Bruce Fields <bfields@umich.edu>
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *  Jeff Sedlak <jsedlak@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions, the following disclaimer, and
-+ *     any and all other licensing or copyright notices included in
-+ *     any files in this distribution.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ */
-+
-+#include "libacl_nfs4.h"
-+
-+void
-+acl_nfs4_free(struct nfs4_acl *acl)
-+{
-+      struct nfs4_ace *ace;
-+
-+      if (!acl)
-+              return;
-+
-+      while (!TAILQ_IS_EMPTY(acl->ace_head)) {
-+              ace = (acl)->ace_head.tqh_first;
-+
-+              TAILQ_REMOVE( &(acl->ace_head), ace, l_ace);
-+              free(ace->who);
-+              free(ace);
-+      }
-+
-+      free(acl);
-+
-+      return;
-+}
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_n4tp_acl_trans.c     2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,439 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Convert NFSv4 ACL to a POSIX ACL
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include <acl/libacl.h>
-+#include <nfsidmap.h>
-+#include "libacl_nfs4.h"
-+
-+
-+/*
-+ * While processing the NFSv4 ACE, this maintains bitmasks representing
-+ * which permission bits have been allowed and which denied to a given
-+ * entity: */
-+struct posix_ace_state {
-+      u_int32_t allow;
-+      u_int32_t deny;
-+};
-+
-+struct posix_user_ace_state {
-+      uid_t uid;
-+      struct posix_ace_state perms;
-+};
-+
-+struct posix_ace_state_array {
-+      int n;
-+      struct posix_user_ace_state aces[];
-+};
-+
-+/*
-+ * While processing the NFSv4 ACE, this maintains the partial permissions
-+ * calculated so far: */
-+
-+struct posix_acl_state {
-+      struct posix_ace_state owner;
-+      struct posix_ace_state group;
-+      struct posix_ace_state other;
-+      struct posix_ace_state everyone;
-+      struct posix_ace_state mask; /* Deny unused in this case */
-+      struct posix_ace_state_array *users;
-+      struct posix_ace_state_array *groups;
-+};
-+
-+static int
-+init_state(struct posix_acl_state *state, int cnt)
-+{
-+      int alloc;
-+
-+      memset(state, 0, sizeof(struct posix_acl_state));
-+      /*
-+       * In the worst case, each individual acl could be for a distinct
-+       * named user or group, but we don't know which, so we allocate
-+       * enough space for either:
-+       */
-+      alloc = sizeof(struct posix_ace_state_array)
-+              + cnt*sizeof(struct posix_user_ace_state);
-+      state->users = calloc(1, alloc);
-+      if (!state->users)
-+              return -ENOMEM;
-+      state->groups = calloc(1, alloc);
-+      if (!state->groups) {
-+              free(state->users);
-+              return -ENOMEM;
-+      }
-+      return 0;
-+}
-+
-+static void
-+free_state(struct posix_acl_state *state) {
-+      free(state->users);
-+      free(state->groups);
-+}
-+
-+static inline void add_to_mask(struct posix_acl_state *state, struct posix_ace_state *astate)
-+{
-+      state->mask.allow |= astate->allow;
-+}
-+
-+/*
-+ * We only map from NFSv4 to POSIX ACLs when getting ACLs, when we err on the
-+ * side of permissiveness (so as not to make the file appear more secure than
-+ * it really is), so the mode bit mapping below is optimistic.
-+ */
-+static void
-+set_mode_from_nfs4(acl_entry_t pace, u_int32_t perm, int is_dir)
-+{
-+      u32 write_mode = NFS4_WRITE_MODE;
-+      acl_permset_t perms;
-+
-+      acl_get_permset(pace, &perms);
-+      acl_clear_perms(perms);
-+      if (is_dir)
-+              write_mode |= NFS4_ACE_DELETE_CHILD;
-+      if (perm & NFS4_READ_MODE)
-+              acl_add_perm(perms, ACL_READ);
-+      if (perm & write_mode)
-+              acl_add_perm(perms, ACL_WRITE);
-+      if (perm & NFS4_EXECUTE_MODE)
-+              acl_add_perm(perms, ACL_EXECUTE);
-+      acl_set_permset(pace, perms);
-+}
-+
-+/* XXX: add a "check allow" that can warn on e.g. allows of WRITE_ACL
-+ * to non-owner? */
-+
-+/* XXX: replace error returns by errno sets all over.  Ugh. */
-+
-+static acl_t
-+posix_state_to_acl(struct posix_acl_state *state, int is_dir)
-+{
-+      acl_entry_t pace;
-+      acl_t pacl;
-+      int nace;
-+      int i, error = 0;
-+
-+      if (state->users->n || state->groups->n)
-+              nace = 4 + state->users->n + state->groups->n;
-+      else
-+              nace = 3;
-+      pacl = acl_init(nace);
-+      if (!pacl)
-+              return NULL;
-+
-+      error = acl_create_entry(&pacl, &pace);
-+      if (error)
-+              goto out_err;
-+      acl_set_tag_type(pace, ACL_USER_OBJ);
-+      set_mode_from_nfs4(pace, state->owner.allow, is_dir);
-+
-+      for (i=0; i < state->users->n; i++) {
-+              error = acl_create_entry(&pacl, &pace);
-+              if (error)
-+                      goto out_err;
-+              acl_set_tag_type(pace, ACL_USER);
-+              set_mode_from_nfs4(pace, state->users->aces[i].perms.allow,
-+                                      is_dir);
-+              acl_set_qualifier(pace, &state->users->aces[i].uid);
-+              add_to_mask(state, &state->users->aces[i].perms);
-+      }
-+
-+      error = acl_create_entry(&pacl, &pace);
-+      if (error)
-+              goto out_err;
-+      acl_set_tag_type(pace, ACL_GROUP_OBJ);
-+      set_mode_from_nfs4(pace, state->group.allow, is_dir);
-+      add_to_mask(state, &state->group);
-+
-+      for (i=0; i < state->groups->n; i++) {
-+              error = acl_create_entry(&pacl, &pace);
-+              if (error)
-+                      goto out_err;
-+              acl_set_tag_type(pace, ACL_GROUP);
-+              set_mode_from_nfs4(pace, state->groups->aces[i].perms.allow,
-+                                      is_dir);
-+              acl_set_qualifier(pace, &state->groups->aces[i].uid);
-+              add_to_mask(state, &state->groups->aces[i].perms);
-+      }
-+
-+      if (nace > 3) {
-+              error = acl_create_entry(&pacl, &pace);
-+              if (error)
-+                      goto out_err;
-+              acl_set_tag_type(pace, ACL_MASK);
-+              set_mode_from_nfs4(pace, state->mask.allow, is_dir);
-+      }
-+
-+      error = acl_create_entry(&pacl, &pace);
-+      if (error)
-+              goto out_err;
-+      acl_set_tag_type(pace, ACL_OTHER);
-+      set_mode_from_nfs4(pace, state->other.allow, is_dir);
-+
-+      return pacl;
-+out_err:
-+      acl_free(pacl);
-+      return NULL;
-+}
-+
-+static inline void allow_bits(struct posix_ace_state *astate, u32 mask)
-+{
-+      /* Allow all bits in the mask not already denied: */
-+      astate->allow |= mask & ~astate->deny;
-+}
-+
-+static inline void deny_bits(struct posix_ace_state *astate, u32 mask)
-+{
-+      /* Deny all bits in the mask not already allowed: */
-+      astate->deny |= mask & ~astate->allow;
-+}
-+
-+static int find_uid(struct posix_acl_state *state, struct posix_ace_state_array *a, uid_t uid)
-+{
-+      int i;
-+
-+      for (i = 0; i < a->n; i++)
-+              if (a->aces[i].uid == uid)
-+                      return i;
-+      /* Not found: */
-+      a->n++;
-+      a->aces[i].uid = uid;
-+      a->aces[i].perms.allow = state->everyone.allow;
-+      a->aces[i].perms.deny  = state->everyone.deny;
-+
-+      return i;
-+}
-+
-+static void deny_bits_array(struct posix_ace_state_array *a, u32 mask)
-+{
-+      int i;
-+
-+      for (i=0; i < a->n; i++)
-+              deny_bits(&a->aces[i].perms, mask);
-+}
-+
-+static void allow_bits_array(struct posix_ace_state_array *a, u32 mask)
-+{
-+      int i;
-+
-+      for (i=0; i < a->n; i++)
-+              allow_bits(&a->aces[i].perms, mask);
-+}
-+
-+static acl_tag_t acl_n4tp_get_whotype(struct nfs4_ace *ace)
-+{
-+      int nfs4type;
-+      int result;
-+
-+      result = acl_nfs4_get_who(ace, &nfs4type, NULL);
-+      if (result < 0)
-+              return -1;
-+
-+      switch (nfs4type) {
-+              case NFS4_ACL_WHO_NAMED:
-+                      return (ace->flag & NFS4_ACE_IDENTIFIER_GROUP ?
-+                                      ACL_GROUP : ACL_USER);
-+              case NFS4_ACL_WHO_OWNER:
-+                      return ACL_USER_OBJ;
-+              case NFS4_ACL_WHO_GROUP:
-+                      return ACL_GROUP_OBJ;
-+              case NFS4_ACL_WHO_EVERYONE:
-+                      return ACL_OTHER;
-+      }
-+      errno = EINVAL;
-+      return -1;
-+}
-+
-+static int process_one_v4_ace(struct posix_acl_state *state,
-+                              struct nfs4_ace *ace)
-+{
-+      u32 mask = ace->access_mask;
-+      uid_t id;
-+      int i;
-+
-+      if (nfs4_init_name_mapping(NULL))
-+              return -1;
-+
-+      switch (acl_n4tp_get_whotype(ace)) {
-+      case ACL_USER_OBJ:
-+              if (ace->type == NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE) {
-+                      allow_bits(&state->owner, mask);
-+              } else {
-+                      deny_bits(&state->owner, mask);
-+              }
-+              break;
-+      case ACL_USER:
-+              if (nfs4_name_to_uid(ace->who, &id))
-+                      return -1;
-+              i = find_uid(state, state->users, id);
-+              if (ace->type == NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE) {
-+                      allow_bits(&state->users->aces[i].perms, mask);
-+                      mask = state->users->aces[i].perms.allow;
-+                      allow_bits(&state->owner, mask);
-+              } else {
-+                      deny_bits(&state->users->aces[i].perms, mask);
-+              }
-+              break;
-+      case ACL_GROUP_OBJ:
-+              if (ace->type == NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE) {
-+                      allow_bits(&state->group, mask);
-+                      mask = state->group.allow;
-+                      allow_bits(&state->owner, mask);
-+                      allow_bits(&state->everyone, mask);
-+                      allow_bits_array(state->users, mask);
-+                      allow_bits_array(state->groups, mask);
-+              } else {
-+                      deny_bits(&state->group, mask);
-+              }
-+              break;
-+      case ACL_GROUP:
-+              if (nfs4_name_to_gid(ace->who, &id))
-+                      return -1;
-+              i = find_uid(state, state->groups, id);
-+              if (ace->type == NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE) {
-+                      allow_bits(&state->groups->aces[i].perms, mask);
-+                      mask = state->groups->aces[i].perms.allow;
-+                      allow_bits(&state->owner, mask);
-+                      allow_bits(&state->group, mask);
-+                      allow_bits(&state->everyone, mask);
-+                      allow_bits_array(state->users, mask);
-+                      allow_bits_array(state->groups, mask);
-+              } else {
-+                      deny_bits(&state->groups->aces[i].perms, mask);
-+              }
-+              break;
-+      case ACL_OTHER:
-+              if (ace->type == NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE) {
-+                      allow_bits(&state->owner, mask);
-+                      allow_bits(&state->group, mask);
-+                      allow_bits(&state->other, mask);
-+                      allow_bits(&state->everyone, mask);
-+                      allow_bits_array(state->users, mask);
-+                      allow_bits_array(state->groups, mask);
-+              } else {
-+                      deny_bits(&state->owner, mask);
-+                      deny_bits(&state->group, mask);
-+                      deny_bits(&state->other, mask);
-+                      deny_bits(&state->everyone, mask);
-+                      deny_bits_array(state->users, mask);
-+                      deny_bits_array(state->groups, mask);
-+              }
-+      }
-+      return 0;
-+}
-+
-+#define FILE_OR_DIR_INHERIT (NFS4_ACE_FILE_INHERIT_ACE \
-+                              | NFS4_ACE_DIRECTORY_INHERIT_ACE)
-+
-+/* Strip or keep inheritance aces depending on type of posix acl requested */
-+static void acl_nfs4_check_inheritance(struct nfs4_acl *acl, u32 iflags)
-+{
-+      struct nfs4_ace * cur_ace;
-+      struct nfs4_ace * temp_ace;
-+
-+      cur_ace = acl->ace_head.tqh_first;
-+
-+      while (cur_ace) {
-+              /* get the next ace now in case we free the current ace */
-+              temp_ace = cur_ace;
-+              cur_ace = cur_ace->l_ace.tqe_next;
-+
-+              if (iflags & NFS4_ACL_REQUEST_DEFAULT) {
-+                      if (!(temp_ace->flag & FILE_OR_DIR_INHERIT))
-+                              acl_nfs4_remove_ace(acl, temp_ace);
-+              } else {
-+                      if (temp_ace->flag & NFS4_ACE_INHERIT_ONLY_ACE)
-+                              acl_nfs4_remove_ace(acl, temp_ace);
-+              }
-+      }
-+}
-+
-+acl_t acl_n4tp_acl_trans(struct nfs4_acl * nacl_p, acl_type_t ptype)
-+{
-+      struct posix_acl_state state;
-+      acl_t pacl;
-+      struct nfs4_acl * temp_acl;
-+      struct nfs4_ace * cur_ace;
-+      int ret;
-+      u32 iflags = NFS4_ACL_NOFLAGS;
-+
-+      if (ptype == ACL_TYPE_DEFAULT) {
-+              if (nacl_p->is_directory)
-+                      iflags |= NFS4_ACL_REQUEST_DEFAULT;
-+              else {
-+                      errno = EINVAL;
-+                      return NULL;
-+              }
-+      }
-+
-+      /* Copy so we can delete bits without borking the original */
-+      temp_acl = acl_nfs4_copy_acl(nacl_p);
-+      if (temp_acl == NULL)
-+              return NULL;
-+
-+      acl_nfs4_check_inheritance(temp_acl, iflags);
-+
-+      if (ptype == ACL_TYPE_DEFAULT && temp_acl->naces == 0) {
-+              acl_nfs4_free(temp_acl);
-+              return acl_init(0);
-+      }
-+
-+      ret = init_state(&state, temp_acl->naces);
-+      if (ret)
-+              goto free_failed;
-+
-+      cur_ace = temp_acl->ace_head.tqh_first;
-+      while (cur_ace) {
-+              if (process_one_v4_ace(&state, cur_ace)) {
-+                      free_state(&state);
-+                      goto free_failed;
-+              }
-+              cur_ace = cur_ace->l_ace.tqe_next;
-+      }
-+
-+      acl_nfs4_free(temp_acl);
-+
-+      pacl = posix_state_to_acl(&state, nacl_p->is_directory);
-+
-+      free_state(&state);
-+
-+      ret = acl_valid(pacl);
-+      if (ret < 0)
-+              goto free_failed;
-+
-+      return pacl;
-+
-+free_failed:
-+      acl_nfs4_free(temp_acl);
-+      return NULL;
-+}
---- acl-2.2.39/libacl/acl_set_fd.c.orig        2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/libacl/acl_set_fd.c     2007-08-22 12:02:13.000000000 -0400
-@@ -24,6 +24,11 @@
- #include "libacl.h"
- #include "__acl_to_xattr.h"
-+#ifdef USE_NFSV4_TRANS
-+ #include "libacl_nfs4.h"
-+ #include <nfsidmap.h>
-+#endif
-+
- #include "byteorder.h"
- #include "acl_ea.h"
-@@ -37,10 +42,42 @@ acl_set_fd(int fd, acl_t acl)
-       const char *name = ACL_EA_ACCESS;
-       size_t size;
-       int error;
-+#ifdef USE_NFSV4_TRANS
-+      int retval;
-+      struct nfs4_acl * nacl;
-+#endif
-       if (!acl_obj_p)
-               return -1;
-+
-+#ifdef USE_NFSV4_TRANS
-+      retval = fgetxattr(fd, ACL_NFS4_XATTR, NULL, 0);
-+
-+      if(retval == -1 && (errno == ENOATTR || errno == EOPNOTSUPP)) {
-+              ext_acl_p = __acl_to_xattr(acl_obj_p, &size);
-+      } else {
-+              char domain[NFS4_MAX_DOMAIN_LEN];
-+              nfs4_init_name_mapping(NULL);
-+              error = nfs4_get_default_domain(NULL, domain, sizeof(domain));
-+              if (error)
-+                      return -1;
-+              nacl = acl_nfs4_new(0);
-+              if (acl == NULL) {
-+                      errno = ENOMEM;
-+                      return -1;
-+              }
-+              error = acl_ptn4_acl_trans(acl, nacl, ACL_TYPE_ACCESS, 0, domain);
-+              if (error)
-+                      return -1;
-+
-+              size = acl_nfs4_xattr_pack(nacl, &ext_acl_p);
-+              name = ACL_NFS4_XATTR;
-+              acl_nfs4_free(nacl);
-+      }
-+#else
-       ext_acl_p = __acl_to_xattr(acl_obj_p, &size);
-+#endif
-+
-       if (!ext_acl_p)
-               return -1;
-       error = fsetxattr(fd, name, (char *)ext_acl_p, size, 0);
---- acl-2.2.39/libacl/Makefile.orig    2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/libacl/Makefile 2007-08-22 12:02:13.000000000 -0400
-@@ -8,19 +8,35 @@ LTLDFLAGS += -Wl,--version-script,$(TOPD
- include $(TOPDIR)/include/builddefs
- LTLIBRARY = libacl.la
--LTLIBS = -lattr $(LIBMISC)
-+LTLIBS = -lattr -lnfsidmap $(LIBMISC)
- LTDEPENDENCIES = $(LIBMISC)
--LT_CURRENT = 2
-+LT_CURRENT = 3
- LT_REVISION = 0
--LT_AGE = 1
-+LT_AGE = 2
-+
-+CFILES = $(POSIX_CFILES) $(LIBACL_CFILES) $(LIBACL_NFS4_CFILES) \
-+      $(INTERNAL_CFILES) perm_copy_fd.c perm_copy_file.c
--CFILES = $(POSIX_CFILES) $(LIBACL_CFILES) $(INTERNAL_CFILES) \
--       perm_copy_fd.c perm_copy_file.c
- HFILES = libobj.h libacl.h byteorder.h __acl_from_xattr.h __acl_to_xattr.h \
--       perm_copy.h
-+       perm_copy.h $(LIBACL_NFS4_HFILES)
- LCFLAGS = -include perm_copy.h
-+LIBACL_NFS4_CFILES = \
-+      acl_nfs4_get_who.c \
-+      acl_n4tp_acl_trans.c       acl_nfs4_get_whotype.c \
-+      acl_nfs4_new.c \
-+      acl_nfs4_add_ace.c         acl_nfs4_remove_ace.c \
-+      acl_nfs4_add_pair.c \
-+      acl_nfs4_copy_acl.c        acl_nfs4_set_who.c \
-+      acl_nfs4_free.c            acl_nfs4_xattr_load.c \
-+      acl_nfs4_xattr_pack.c      acl_nfs4_xattr_size.c \
-+      acl_ptn4_acl_trans.c \
-+      acl_ptn4_get_mask.c        __posix_acl_from_nfs4_xattr.c \
-+
-+
-+LIBACL_NFS4_HFILES = ../include/libacl_nfs4.h ../include/nfs4.h
-+
- POSIX_CFILES = \
-       acl_add_perm.c acl_calc_mask.c acl_clear_perms.c acl_copy_entry.c \
-       acl_copy_ext.c acl_copy_int.c acl_create_entry.c acl_delete_def_file.c \
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_remove_ace.c    2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,48 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Remove an ace from an NFS4 ACL
-+ *
-+ *  Copyright (c) 2004 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions, the following disclaimer, and
-+ *     any and all other licensing or copyright notices included in
-+ *     any files in this distribution.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ */
-+
-+#include "libacl_nfs4.h"
-+
-+void acl_nfs4_remove_ace(struct nfs4_acl * acl, struct nfs4_ace * ace)
-+{
-+      TAILQ_REMOVE(&acl->ace_head, ace, l_ace);
-+      free(ace->who);
-+      free(ace);
-+      acl->naces--;
-+}
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_set_who.c       2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,92 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Write the who entry in the nfs4 ace. Who is a user supplied buffer
-+ *  containing a named who entry (null terminated string) if type is
-+ *  set to NFS4_ACL_WHO_NAMED. Otherwise, the who buffer is not used.
-+ *  The user supplied who buffer must be freed by the caller.
-+ *
-+ *  This code allocates the who buffer used in the ace. This must be freed
-+ *  upon ace removal by the ace_remove or acl_free.
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "libacl_nfs4.h"
-+
-+int acl_nfs4_set_who(struct nfs4_ace* ace, int type, char* who)
-+{
-+      char* iwho = NULL;
-+      int wholen;
-+
-+      if(ace == NULL)
-+              goto inval_failed;
-+
-+      switch(type)
-+      {
-+              case NFS4_ACL_WHO_NAMED:
-+                      if(who == NULL)
-+                              goto inval_failed;
-+                      iwho = who;
-+                      break;
-+              case NFS4_ACL_WHO_OWNER:
-+                      iwho = NFS4_ACL_WHO_OWNER_STRING;
-+                      break;
-+              case NFS4_ACL_WHO_GROUP:
-+                      iwho = NFS4_ACL_WHO_GROUP_STRING;
-+                      break;
-+              case NFS4_ACL_WHO_EVERYONE:
-+                      iwho = NFS4_ACL_WHO_EVERYONE_STRING;
-+                      break;
-+              default:
-+                      goto inval_failed;
-+      }
-+
-+      wholen = strlen(iwho);
-+      if(wholen < 1)
-+              goto inval_failed;
-+
-+      ace->who = (char *) malloc(sizeof(char) * (wholen + 1));
-+      if(ace->who == NULL) {
-+              errno = ENOMEM;
-+              goto failed;
-+      }
-+
-+      strcpy(ace->who, iwho);
-+
-+      return 0;
-+
-+inval_failed:
-+      errno = EINVAL;
-+
-+failed:
-+      return -1;
-+}
-+
---- acl-2.2.39/libacl/acl_set_file.c.orig      2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/libacl/acl_set_file.c   2007-08-22 12:02:13.000000000 -0400
-@@ -26,9 +26,38 @@
- #include "libacl.h"
- #include "__acl_to_xattr.h"
-+#ifdef USE_NFSV4_TRANS
-+ #include "libacl_nfs4.h"
-+ #include <nfsidmap.h>
-+#endif
-+
- #include "byteorder.h"
- #include "acl_ea.h"
-+#ifdef USE_NFSV4_TRANS
-+static struct nfs4_acl *get_nfs4_acl(const char *path_p, int is_dir)
-+{
-+      struct nfs4_acl * acl = NULL;
-+      ssize_t ret;
-+      char *buf;
-+
-+      ret = getxattr(path_p, ACL_NFS4_XATTR, NULL, 0);
-+      if (ret < 0)
-+              return NULL;
-+      buf = malloc(ret);
-+      if (buf == NULL)
-+              return NULL;
-+      ret = getxattr(path_p, ACL_NFS4_XATTR, buf, ret);
-+      if (ret < 0)
-+              goto out_free;
-+      acl = acl_nfs4_xattr_load(buf, ret, is_dir);
-+
-+out_free:
-+      free(buf);
-+      return acl;
-+}
-+
-+#endif
- /* 23.4.22 */
- int
-@@ -39,9 +68,15 @@ acl_set_file(const char *path_p, acl_typ
-       const char *name;
-       size_t size;
-       int error;
-+      struct stat st;
-+#ifdef USE_NFSV4_TRANS
-+      struct nfs4_acl * nacl;
-+      int is_dir = NFS4_ACL_ISFILE;
-+#endif
-       if (!acl_obj_p)
-               return -1;
-+
-       switch (type) {
-               case ACL_TYPE_ACCESS:
-                       name = ACL_EA_ACCESS;
-@@ -54,8 +89,41 @@ acl_set_file(const char *path_p, acl_typ
-                       return -1;
-       }
-+
-+#ifdef USE_NFSV4_TRANS
-+      if (stat(path_p, &st) != 0)
-+              return -1;
-+      if (S_ISDIR(st.st_mode))
-+              is_dir = NFS4_ACL_ISDIR;
-+      if (type == ACL_TYPE_DEFAULT && !is_dir) {
-+              errno = EACCES;
-+              return -1;
-+      }
-+      nacl = get_nfs4_acl(path_p, is_dir);
-+      if (nacl == NULL && (errno == ENOATTR || errno == EOPNOTSUPP))
-+              ext_acl_p = __acl_to_xattr(acl_obj_p, &size);
-+      else {
-+              char domain[NFS4_MAX_DOMAIN_LEN];
-+
-+              nfs4_init_name_mapping(NULL);
-+              error = nfs4_get_default_domain(NULL, domain, sizeof(domain));
-+              if (error) {
-+                      acl_nfs4_free(nacl);
-+                      return -1;
-+              }
-+              error = acl_ptn4_acl_trans(acl, nacl, type, is_dir, domain);
-+              if (error) {
-+                      acl_nfs4_free(nacl);
-+                      return -1;
-+              }
-+
-+              size = acl_nfs4_xattr_pack(nacl, &ext_acl_p);
-+              name = ACL_NFS4_XATTR;
-+              acl_nfs4_free(nacl);
-+      }
-+#else
-+
-       if (type == ACL_TYPE_DEFAULT) {
--              struct stat st;
-               if (stat(path_p, &st) != 0)
-                       return -1;
-@@ -68,6 +136,8 @@ acl_set_file(const char *path_p, acl_typ
-       }
-       ext_acl_p = __acl_to_xattr(acl_obj_p, &size);
-+#endif
-+
-       if (!ext_acl_p)
-               return -1;
-       error = setxattr(path_p, name, (char *)ext_acl_p, size, 0);
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/__posix_acl_from_nfs4_xattr.c    2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,60 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Convert NFSv4 xattr values to a posix ACL
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include <acl/libacl.h>
-+#include "libacl_nfs4.h"
-+
-+/* xattr_v is a char buffer filled with the nfsv4 xattr value.
-+ * xattr_size should be the byte count of the length of the xattr_v
-+ * data size. xattr_v may be larger than <xattr_size> bytes, but only
-+ * the first <xattr_size> bytes will be read. <type> is the posix acl
-+ * type requested. Currently either default, or access */
-+
-+acl_t __posix_acl_from_nfs4_xattr(char* xattr_v,
-+              int xattr_size, acl_type_t ptype, u32 is_dir)
-+{
-+      struct nfs4_acl *       nfsacl = NULL;
-+      acl_t pacl;
-+
-+      nfsacl = acl_nfs4_xattr_load(xattr_v, xattr_size, is_dir);
-+      if(nfsacl == NULL) {
-+              return NULL;
-+      }
-+
-+      pacl = acl_n4tp_acl_trans(nfsacl, ptype);
-+
-+      return pacl;
-+}
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_xattr_load.c    2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,191 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Convert NFSv4 xattr values to a posix ACL
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+
-+#include <acl/libacl.h>
-+#include <netinet/in.h>
-+#include "libacl_nfs4.h"
-+
-+
-+struct nfs4_acl * acl_nfs4_xattr_load(
-+              char *  xattr_v,
-+              int             xattr_size,
-+              u32             is_dir)
-+{
-+      struct nfs4_acl *       nacl_p;
-+      char* bufp = xattr_v;
-+      int bufs = xattr_size;
-+      u32 ace_n;
-+      u32     wholen;
-+      char* who;
-+      int d_ptr;
-+      u32 num_aces;
-+
-+      u32 type, flag, access_mask;
-+
-+      if(xattr_size < sizeof(u32)) {
-+              errno = EINVAL;
-+              return NULL;
-+      }
-+
-+      if((nacl_p = acl_nfs4_new(is_dir)) == NULL) {
-+              errno = ENOMEM;
-+              return NULL;
-+      }
-+
-+      /* Grab the number of aces in the acl */
-+      num_aces = (u32)ntohl(*((u32*)(bufp)));
-+
-+#ifdef LIBACL_NFS4_DEBUG
-+      printf(" Got number of aces: %d\n", nacl_p->naces);
-+#endif
-+
-+
-+      d_ptr = sizeof(u32);
-+      bufp += d_ptr;
-+      bufs -= d_ptr;
-+
-+      for(ace_n = 0; num_aces > ace_n ; ace_n++)
-+      {
-+#ifdef LIBACL_NFS4_DEBUG
-+              printf(" Getting Ace #%d of %d\n", ace_n, num_aces);
-+#endif
-+              /* Get the acl type */
-+              if(bufs <= 0) {
-+                      errno = EINVAL;
-+                      goto bad_xattr_val;
-+              }
-+
-+              type = (u32)ntohl(*((u32*)bufp));
-+#ifdef LIBACL_NFS4_DEBUG
-+              printf("  Type: %x\n", type);
-+#endif
-+
-+              d_ptr = sizeof(u32);
-+              bufp += d_ptr;
-+              bufs -= d_ptr;
-+
-+              /* Get the acl flag */
-+              if(bufs <= 0) {
-+                      errno = EINVAL;
-+                      goto bad_xattr_val;
-+              }
-+
-+              flag = (u32)ntohl(*((u32*)bufp));
-+#ifdef LIBACL_NFS4_DEBUG
-+              printf("  Flag: %x\n", flag);
-+#endif
-+
-+              bufp += d_ptr;
-+              bufs -= d_ptr;
-+
-+              /* Get the access mask */
-+
-+              if(bufs <= 0) {
-+                      errno = EINVAL;
-+                      goto bad_xattr_val;
-+              }
-+
-+              access_mask = (u32)ntohl(*((u32*)bufp));
-+#ifdef LIBACL_NFS4_DEBUG
-+              printf("  Access Mask: %x\n", access_mask);
-+#endif
-+
-+              bufp += d_ptr;
-+              bufs -= d_ptr;
-+
-+              /* Get the who string length*/
-+              if(bufs <= 0) {
-+                      errno = EINVAL;
-+                      goto bad_xattr_val;
-+              }
-+
-+              wholen = (u32)ntohl(*((u32*)bufp));
-+#ifdef LIBACL_NFS4_DEBUG
-+              printf("  Wholen: %d\n", wholen);
-+#endif
-+
-+              bufp += d_ptr;
-+              bufs -= d_ptr;
-+
-+              /* Get the who string */
-+              if(bufs <= 0) {
-+                      errno = EINVAL;
-+                      goto bad_xattr_val;
-+              }
-+
-+              who = (char *) malloc((wholen+1) * sizeof(char));
-+              if(who == NULL)
-+              {
-+                      errno = ENOMEM;
-+                      goto bad_xattr_val;
-+              }
-+
-+              memcpy(who, bufp, wholen);
-+
-+              who[wholen] = '\0';
-+
-+#ifdef LIBACL_NFS4_DEBUG
-+              printf("  Who: %s\n", who);
-+#endif
-+
-+              d_ptr = ((wholen / sizeof(u32))*sizeof(u32));
-+              if(wholen % sizeof(u32) != 0)
-+                      d_ptr += sizeof(u32);
-+
-+              bufp += d_ptr;
-+              bufs -= d_ptr;
-+
-+              /* Make sure we aren't outside our domain */
-+              if(bufs < 0) {
-+                      free(who);
-+                      goto bad_xattr_val;
-+              }
-+
-+              if(acl_nfs4_add_ace(nacl_p, type, flag, access_mask, acl_nfs4_get_whotype(who), who) < 0) {
-+                      free(who);
-+                      goto bad_xattr_val;
-+              }
-+
-+              free(who);
-+      }
-+
-+      return nacl_p;
-+
-+bad_xattr_val:
-+      /* We bailed for some reason */
-+      acl_nfs4_free(nacl_p);
-+      return NULL;
-+}
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_xattr_pack.c    2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,148 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Pack an NFS4 ACL into an XDR encoded buffer.
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include <libacl_nfs4.h>
-+#include <netinet/in.h>
-+
-+int acl_nfs4_xattr_pack(struct nfs4_acl * acl, char** bufp)
-+{
-+      struct nfs4_ace * ace;
-+      int buflen;
-+      int rbuflen;
-+      int num_aces;
-+      int ace_num;
-+      int wholen;
-+      int result;
-+      char* p;
-+      char* who;
-+
-+      if(acl == NULL || bufp == NULL)
-+      {
-+              errno = EINVAL;
-+              goto failed;
-+      }
-+
-+      buflen = acl_nfs4_xattr_size(acl);
-+      if(buflen < 0)
-+      {
-+              goto failed;
-+      }
-+
-+      *bufp = (char*) malloc(buflen);
-+      if(*bufp == NULL) {
-+              errno = ENOMEM;
-+              goto failed;
-+      }
-+
-+      p = *bufp;
-+
-+      num_aces = acl->naces;
-+
-+      *((u32*)p) = htonl(num_aces);
-+
-+      rbuflen = sizeof(u32);
-+      p += sizeof(u32);
-+
-+      ace = acl->ace_head.tqh_first;
-+      ace_num = 1;
-+
-+      while(1)
-+      {
-+              if(ace == NULL)
-+              {
-+                      if(ace_num > num_aces) {
-+                              break;
-+                      } else {
-+                              errno = ENODATA;
-+                              goto failed;
-+                      }
-+              }
-+
-+              *((u32*)p) = htonl(ace->type);
-+              p += sizeof(u32);
-+              rbuflen += sizeof(u32);
-+
-+              *((u32*)p) = htonl(ace->flag);
-+              p += sizeof(u32);
-+              rbuflen += sizeof(u32);
-+
-+              *((u32*)p) = htonl(ace->access_mask);
-+              p += sizeof(u32);
-+              rbuflen += sizeof(u32);
-+
-+              result = acl_nfs4_get_who(ace, NULL, &who);
-+              if(result < 0) {
-+                      goto free_failed;
-+              }
-+
-+              wholen = strlen(who);
-+              *((u32*)p) = htonl(wholen);
-+              rbuflen += sizeof(u32);
-+
-+              p += sizeof(u32);
-+
-+              memcpy(p, who, wholen);
-+              free(who);
-+
-+              p += (wholen / NFS4_XDR_MOD) * NFS4_XDR_MOD;
-+              if(wholen % NFS4_XDR_MOD) {
-+                      p += NFS4_XDR_MOD;
-+              }
-+
-+              rbuflen += (wholen / NFS4_XDR_MOD) * NFS4_XDR_MOD;
-+              if(wholen % NFS4_XDR_MOD) {
-+                      rbuflen += NFS4_XDR_MOD;
-+              }
-+
-+              ace = ace->l_ace.tqe_next;
-+              ace_num++;
-+      }
-+
-+      if (buflen != rbuflen)
-+      {
-+              goto free_failed;
-+      }
-+      return buflen;
-+
-+free_failed:
-+      free(*bufp);
-+      *bufp = NULL;
-+
-+failed:
-+      return -1;
-+}
-+
-+
-+
---- acl-2.2.39/libacl/acl_extended_file.c.orig 2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/libacl/acl_extended_file.c      2007-08-22 12:02:13.000000000 -0400
-@@ -22,6 +22,7 @@
- #include <unistd.h>
- #include <attr/xattr.h>
- #include "libacl.h"
-+#include "libacl_nfs4.h"
- #include "byteorder.h"
- #include "acl_ea.h"
-@@ -33,6 +34,34 @@ acl_extended_file(const char *path_p)
-       int base_size = sizeof(acl_ea_header) + 3 * sizeof(acl_ea_entry);
-       int retval;
-+      /* XXX: Ugh: what's the easiest way to do this, taking
-+       * into account default acl's, and that length alone won't do this?
-+       * Also I'm a little uncomfortable with the amount of #ifdef
-+       * NFS4 stuff that's going on.  We need a cleaner separation. */
-+#ifdef USE_NFSV4_TRANS
-+      retval = getxattr(path_p, ACL_NFS4_XATTR, NULL, 0);
-+      if (retval < 0 && errno != ENOATTR && errno != EOPNOTSUPP)
-+              return -1;
-+      if (retval >= 0) {
-+              struct nfs4_acl *nfsacl;
-+              char *ext_acl_p = alloca(retval);
-+              if (!ext_acl_p)
-+                      return -1;
-+
-+              retval = getxattr(path_p, ACL_NFS4_XATTR, ext_acl_p, retval);
-+              if (retval == -1)
-+                      return -1;
-+
-+              nfsacl = acl_nfs4_xattr_load(ext_acl_p, retval, NFS4_ACL_ISFILE);
-+              if (nfsacl) {
-+                      int count = nfsacl->naces;
-+                      acl_nfs4_free(nfsacl);
-+                      return count > 6;
-+              }
-+              return 0;
-+      }
-+#endif
-+
-       retval = getxattr(path_p, ACL_EA_ACCESS, NULL, 0);
-       if (retval < 0 && errno != ENOATTR && errno != ENODATA)
-               return -1;
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_ptn4_acl_trans.c     2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,509 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Convert a posix ACL to an NFSv4 ACL
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *  J. Bruce Fields <bfields@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include <acl/libacl.h>
-+#include <nfsidmap.h>
-+#include "libacl_nfs4.h"
-+
-+
-+#define FILE_OR_DIR_INHERIT (NFS4_ACE_FILE_INHERIT_ACE \
-+              | NFS4_ACE_DIRECTORY_INHERIT_ACE)
-+#define NFS4_INHERITANCE_FLAGS (FILE_OR_DIR_INHERIT | NFS4_ACE_INHERIT_ONLY_ACE)
-+
-+/* Plan:
-+ * 1: if setting default, remove all purely inherited aces, and replace
-+ *    all dual-use aces by purely effective aces
-+ * 2: if setting effective, remove all purely effective aces, and replace
-+ *    all dual-use aces by purely inherited ones
-+ */
-+static void purge_aces(struct nfs4_acl *nacl, acl_type_t type)
-+{
-+      struct nfs4_ace *p, *next;
-+
-+      for (p = nacl->ace_head.tqh_first; p != NULL; p = next) {
-+              next = p->l_ace.tqe_next;
-+
-+              if (!(p->flag & FILE_OR_DIR_INHERIT)) {
-+                      /* purely effective */
-+                      if (type == ACL_TYPE_ACCESS)
-+                              acl_nfs4_remove_ace(nacl, p);
-+              } else if (p->flag & NFS4_ACE_INHERIT_ONLY_ACE) {
-+                      /* purely inherited */
-+                      if (type == ACL_TYPE_DEFAULT)
-+                              acl_nfs4_remove_ace(nacl, p);
-+              } else {
-+                      /* both effective and inherited */
-+                      if (type == ACL_TYPE_DEFAULT) {
-+                              /* Change to purely effective */
-+                              p->flag &= ~NFS4_INHERITANCE_FLAGS;
-+                      } else { /* ACL_TYPE_ACCESS */
-+                              /* Change to purely inherited */
-+                              p->flag |= NFS4_INHERITANCE_FLAGS;
-+                      }
-+              }
-+
-+      }
-+}
-+ 
-+int
-+acl_ptn4_acl_trans(acl_t pacl, struct nfs4_acl *acl, acl_type_t type, u32 is_dir, char *nfs_domain)
-+{
-+      int eflag;
-+      u32 mask, mask_mask = 0;
-+      int num_aces;
-+      int result, result2;
-+      u32 iflags = NFS4_ACL_NOFLAGS;
-+      int allocated = 0;
-+
-+      acl_entry_t pace_p;
-+      acl_tag_t ace_type;
-+      acl_permset_t perms;
-+
-+      char who_buf_static[NFS4_ACL_WHO_BUFFER_LEN_GUESS];
-+      char *who_buf = NULL;
-+      int who_buflen;
-+      int who_buflen_static = NFS4_ACL_WHO_BUFFER_LEN_GUESS;
-+      uid_t * uid_p;
-+      gid_t * gid_p;
-+
-+      eflag = 0;
-+
-+      if (type == ACL_TYPE_DEFAULT) {
-+              eflag = NFS4_INHERITANCE_FLAGS;
-+              iflags |= NFS4_ACL_REQUEST_DEFAULT;
-+      }
-+
-+      purge_aces(acl, type);
-+
-+      if (is_dir & NFS4_ACL_ISDIR)
-+              iflags |= NFS4_ACL_ISDIR;
-+
-+
-+      if (pacl == NULL || (acl_valid(pacl) < 0 || acl_entries(pacl) == 0)) {
-+              errno = EINVAL;
-+              goto out;
-+      }
-+
-+      /* Start Conversion */
-+
-+      /* 3 aces minimum (mode bits) */
-+      num_aces = acl_entries(pacl);
-+      if (num_aces < 3) {
-+              errno = EINVAL;
-+              goto out;
-+      }
-+
-+      /* Get the mask entry */
-+
-+      result = acl_get_entry(pacl, ACL_FIRST_ENTRY, &pace_p);
-+      if (result < 0)
-+              goto out;
-+
-+      while (result > 0 && mask_mask == 0) {
-+              result = acl_get_tag_type(pace_p, &ace_type);
-+              if (result < 0)
-+                      goto out;
-+
-+              if (ace_type == ACL_MASK) {
-+                      result = acl_get_permset(pace_p, &perms);
-+                      if(result < 0)
-+                              goto out;
-+
-+                      result = acl_ptn4_get_mask(&mask_mask, perms, iflags);
-+                      if(result < 0)
-+                              goto out;
-+
-+                      mask_mask = ~mask_mask;
-+              }
-+
-+              result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+              if (result < 0)
-+                      goto out;
-+      }
-+
-+      /* Get the file owner entry */
-+      result = acl_get_entry(pacl, ACL_FIRST_ENTRY, &pace_p);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_get_tag_type(pace_p, &ace_type);
-+      if (result < 0)
-+              goto out;
-+
-+      if (ace_type != ACL_USER_OBJ) {
-+              errno = EINVAL;
-+              goto out;
-+      }
-+
-+      result = acl_get_permset(pace_p, &perms);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_ptn4_get_mask(&mask, perms, iflags | NFS4_ACL_OWNER);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_nfs4_add_pair(acl, eflag, mask, NFS4_ACL_WHO_OWNER, NULL);
-+
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+      if (result < 0)
-+              goto out;
-+
-+      result2 = acl_get_tag_type(pace_p, &ace_type);
-+      if (result2 < 0)
-+              goto out;
-+
-+      while (ace_type == ACL_USER && result > 0) {
-+              result = acl_get_permset(pace_p, &perms);
-+              if (result < 0)
-+                      goto out;
-+
-+              result = acl_ptn4_get_mask(&mask, perms, iflags);
-+              if (result < 0)
-+                      goto out;
-+
-+              uid_p = acl_get_qualifier(pace_p);
-+
-+              who_buf = who_buf_static;
-+              who_buflen = who_buflen_static;
-+
-+              result = nfs4_init_name_mapping(NULL);
-+              result = nfs4_uid_to_name(*uid_p, nfs_domain, who_buf, who_buflen);
-+
-+
-+              while (result == -ENOBUFS) {
-+                      if (who_buf != who_buf_static)
-+                              free(who_buf);
-+
-+                      /* Increase the size by a full buflen unit */
-+                      who_buflen += who_buflen_static;
-+                      who_buf = malloc(who_buflen);
-+
-+                      if (who_buf == NULL) {
-+                              result = -ENOMEM;
-+                              break;
-+                      }
-+
-+                      result = nfs4_init_name_mapping(NULL);
-+                      result = nfs4_uid_to_name(*uid_p, nfs_domain, who_buf, who_buflen);
-+
-+              }
-+              acl_free(uid_p);
-+              if (result < 0) {
-+                      errno = -result;
-+                      goto out;
-+              }
-+
-+              if (who_buf == NULL)
-+                      goto out;
-+
-+              result = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_DENIED_ACE_TYPE,
-+                              eflag,  mask_mask, NFS4_ACL_WHO_NAMED, who_buf);
-+              if (result < 0) {
-+                      if(who_buf != who_buf_static)
-+                              free(who_buf);
-+                      goto out;
-+              }
-+
-+              result = acl_nfs4_add_pair(acl, eflag, mask, NFS4_ACL_WHO_NAMED,
-+                              who_buf);
-+              if (who_buf != who_buf_static)
-+                      free(who_buf);
-+              if (result < 0)
-+                      goto out;
-+
-+              result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+              if (result <= 0)
-+                      goto out;
-+
-+              result2 = acl_get_tag_type(pace_p, &ace_type);
-+              if (result2 < 0)
-+                      goto out;
-+
-+      }
-+
-+      /* In the case of groups, we apply allow ACEs first, then deny ACEs,
-+       * since a user can be in more than one group.  */
-+
-+      /* allow ACEs */
-+
-+      if (num_aces > 3) {
-+              result2 = acl_get_tag_type(pace_p, &ace_type);
-+              if (result2 < 0)
-+                      goto out;
-+
-+              if (ace_type != ACL_GROUP_OBJ) {
-+                      errno = EINVAL;
-+                      goto out;
-+              }
-+
-+              result = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_DENIED_ACE_TYPE,
-+                              NFS4_ACE_IDENTIFIER_GROUP | eflag, mask_mask,
-+                              NFS4_ACL_WHO_GROUP, NULL);
-+
-+              if (result < 0)
-+                      goto out;
-+      }
-+
-+      result = acl_get_permset(pace_p, &perms);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_ptn4_get_mask(&mask, perms, iflags);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE,
-+                      NFS4_ACE_IDENTIFIER_GROUP | eflag, mask, NFS4_ACL_WHO_GROUP, NULL);
-+
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+      if (result <= 0)
-+              goto out;
-+
-+      result2 = acl_get_tag_type(pace_p, &ace_type);
-+      if (result2 < 0)
-+              goto out;
-+
-+      while (ace_type == ACL_GROUP && result > 0) {
-+              result = acl_get_permset(pace_p, &perms);
-+              if (result < 0)
-+                      goto out;
-+
-+              result = acl_ptn4_get_mask(&mask, perms, iflags);
-+              if (result < 0)
-+                      goto out;
-+
-+              gid_p = acl_get_qualifier(pace_p);
-+
-+              who_buf = who_buf_static;
-+              who_buflen = who_buflen_static;
-+
-+              result = nfs4_gid_to_name(*gid_p, nfs_domain, who_buf, who_buflen);
-+
-+
-+              while (result == -ENOBUFS) {
-+                      if (who_buf != who_buf_static)
-+                              free(who_buf);
-+
-+                      /* Increase the size by a full buflen unit */
-+                      who_buflen += who_buflen_static;
-+                      who_buf = malloc(who_buflen);
-+
-+                      if (who_buf == NULL) {
-+                              result = -ENOMEM;
-+                              break;
-+                      }
-+
-+                      result = nfs4_gid_to_name(*gid_p, nfs_domain, who_buf, who_buflen);
-+              }
-+
-+              acl_free(gid_p);
-+
-+              if (result < 0) {
-+                      errno = -result;
-+                      goto out;
-+              }
-+
-+              if (who_buf == NULL)
-+                      goto out;
-+
-+              result = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_DENIED_ACE_TYPE,
-+                              NFS4_ACE_IDENTIFIER_GROUP | eflag, mask_mask,
-+                              NFS4_ACL_WHO_NAMED, who_buf);
-+              if (result < 0) {
-+                      if(who_buf != who_buf_static)
-+                              free(who_buf);
-+                      goto out;
-+              }
-+
-+              result = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE,
-+                      NFS4_ACE_IDENTIFIER_GROUP | eflag, mask,
-+                              NFS4_ACL_WHO_NAMED, who_buf);
-+
-+              if (who_buf != who_buf_static)
-+                      free(who_buf);
-+
-+              if (result < 0)
-+                      goto out;
-+              result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+              if (result <= 0)
-+                      goto out;
-+
-+              result2 = acl_get_tag_type(pace_p, &ace_type);
-+              if (result2 < 0)
-+                      goto out;
-+      }
-+
-+      /* deny ACEs */
-+
-+      result = acl_get_entry(pacl, ACL_FIRST_ENTRY, &pace_p);
-+      if (result <= 0)
-+              goto out;
-+
-+      result2 = acl_get_tag_type(pace_p, &ace_type);
-+      if (result2 < 0)
-+              goto out;
-+
-+      while (ace_type != ACL_GROUP_OBJ && result > 0) {
-+              result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+              if(result <= 0)
-+                      goto out;
-+
-+              result2 = acl_get_tag_type(pace_p, &ace_type);
-+              if(result2 < 0)
-+                      goto out;
-+      }
-+
-+      result = acl_get_permset(pace_p, &perms);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_ptn4_get_mask(&mask, perms, iflags);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_DENIED_ACE_TYPE,
-+                      NFS4_ACE_IDENTIFIER_GROUP | eflag, ~mask, NFS4_ACL_WHO_GROUP,
-+                      NULL);
-+
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+      if (result <= 0)
-+              goto out;
-+
-+      result2 = acl_get_tag_type(pace_p, &ace_type);
-+      if (result2 < 0)
-+              goto out;
-+
-+      while (ace_type == ACL_GROUP && result > 0) {
-+              result = acl_get_permset(pace_p, &perms);
-+              if (result < 0)
-+                      goto out;
-+
-+              result = acl_ptn4_get_mask(&mask, perms, iflags);
-+              if (result < 0)
-+                      goto out;
-+
-+              gid_p = acl_get_qualifier(pace_p);
-+
-+              who_buf = who_buf_static;
-+              who_buflen = who_buflen_static;
-+
-+              result = nfs4_gid_to_name(*gid_p, nfs_domain, who_buf, who_buflen);
-+
-+
-+              while (result == -ENOBUFS) {
-+                      if (who_buf != who_buf_static)
-+                              free(who_buf);
-+
-+                      /* Increase the size by a full buflen unit */
-+                      who_buflen += who_buflen_static;
-+                      who_buf = malloc(who_buflen);
-+
-+                      if (who_buf == NULL) {
-+                              result = -ENOMEM;
-+                              break;
-+                      }
-+
-+                      result = nfs4_gid_to_name(*gid_p, nfs_domain, who_buf, who_buflen);
-+              }
-+
-+              acl_free(gid_p);
-+
-+              if (result < 0) {
-+                      errno = -result;
-+                      goto out;
-+              }
-+
-+              if (who_buf == NULL)
-+                      goto out;
-+
-+              result = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_DENIED_ACE_TYPE,
-+                              NFS4_ACE_IDENTIFIER_GROUP | eflag, ~mask,
-+                                      NFS4_ACL_WHO_NAMED, who_buf);
-+              if (who_buf != who_buf_static)
-+                      free(who_buf);
-+              if (result < 0)
-+                      goto out;
-+
-+              result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+              if (result <= 0)
-+                      goto out;
-+
-+              result2 = acl_get_tag_type(pace_p, &ace_type);
-+              if (result2 < 0)
-+                      goto out;
-+      }
-+
-+      if (ace_type == ACL_MASK) {
-+              result = acl_get_entry(pacl, ACL_NEXT_ENTRY, &pace_p);
-+              if (result <= 0)
-+                      goto out;
-+
-+              result2 = acl_get_tag_type(pace_p, &ace_type);
-+              if (result2 < 0)
-+                      goto out;
-+      }
-+
-+      if (ace_type != ACL_OTHER) {
-+              errno = EINVAL;
-+              goto out;
-+      }
-+
-+      result = acl_get_permset(pace_p, &perms);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_ptn4_get_mask(&mask, perms, iflags);
-+      if (result < 0)
-+              goto out;
-+
-+      result = acl_nfs4_add_pair(acl, eflag, mask, NFS4_ACL_WHO_EVERYONE, NULL);
-+
-+      return result;
-+out:
-+      if (allocated)
-+              acl_nfs4_free(acl);
-+      return -1;
-+}
---- acl-2.2.39/libacl/acl_get_fd.c.orig        2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/libacl/acl_get_fd.c     2007-08-22 12:02:13.000000000 -0400
-@@ -28,6 +28,10 @@
- #include "libacl.h"
- #include "__acl_from_xattr.h"
-+#ifdef USE_NFSV4_TRANS
-+ #include "libacl_nfs4.h"
-+#endif
-+
- #include "byteorder.h"
- #include "acl_ea.h"
-@@ -38,31 +42,59 @@ acl_get_fd(int fd)
- {
-       const size_t size_guess = acl_ea_size(16);
-       char *ext_acl_p = alloca(size_guess);
-+      char *name = ACL_EA_ACCESS;
-       int retval;
-+      int nfsv4acls;
-       if (!ext_acl_p)
-               return NULL;
--      retval = fgetxattr(fd, ACL_EA_ACCESS, ext_acl_p, size_guess);
-+
-+#ifdef USE_NFSV4_TRANS
-+      retval = fgetxattr(fd, ACL_NFS4_XATTR, ext_acl_p, size_guess);
-+      if(retval == -1 && (errno == ENOATTR || errno == EOPNOTSUPP)) {
-+              nfsv4acls = ACL_NFS4_NOT_USED;
-+              retval = fgetxattr(fd, name, ext_acl_p, size_guess);
-+      } else {
-+              nfsv4acls = ACL_NFS4_USED;
-+              name = ACL_NFS4_XATTR;
-+      }
-+#else
-+      retval = fgetxattr(fd, name, ext_acl_p, size_guess);
-+#endif
-+
-       if (retval == -1 && errno == ERANGE) {
--              retval = fgetxattr(fd, ACL_EA_ACCESS, NULL, 0);
-+              retval = fgetxattr(fd, name, NULL, 0);
-               if (retval > 0) {
-                       ext_acl_p = alloca(retval);
-                       if (!ext_acl_p)
-                               return NULL;
--                      retval = fgetxattr(fd, ACL_EA_ACCESS, ext_acl_p,retval);
-+                      retval = fgetxattr(fd, name, ext_acl_p, retval);
-               }
-       }
-       if (retval > 0) {
--              acl_t acl = __acl_from_xattr(ext_acl_p, retval);
--              return acl;
-+#ifdef USE_NFSV4_TRANS
-+              if(nfsv4acls == ACL_NFS4_USED) {
-+                      acl_t acl = __posix_acl_from_nfs4_xattr(ext_acl_p, retval,
-+                                      ACL_TYPE_ACCESS, NFS4_ACL_ISFILE);
-+
-+                      return acl;
-+              }
-+              else
-+#endif
-+              {
-+                      acl_t acl = __acl_from_xattr(ext_acl_p, retval);
-+                      return acl;
-+              }
-       } else if (retval == 0 || errno == ENOATTR || errno == ENODATA) {
-               struct stat st;
--              if (fstat(fd, &st) == 0)
--                      return acl_from_mode(st.st_mode);
--              else
-+              if (fstat(fd, &st) != 0) {
-                       return NULL;
--      } else
-+              }
-+
-+              return acl_from_mode(st.st_mode);
-+      } else {
-               return NULL;
-+      }
- }
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_xattr_size.c    2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,91 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Return the expected xattr XDR encoded size of the nfs acl. Used for
-+ *  figuring the size of the xattr buffer.
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include <libacl_nfs4.h>
-+
-+int acl_nfs4_xattr_size(struct nfs4_acl * acl)
-+{
-+      int size = 0;
-+      struct nfs4_ace * ace;
-+      int ace_num;
-+      int num_aces;
-+
-+      if(acl == NULL) {
-+              errno = EINVAL;
-+              goto failed;
-+      }
-+
-+      /* Space for number of aces */
-+      size += sizeof(u32);
-+
-+      ace = acl->ace_head.tqh_first;
-+      ace_num = 1;
-+
-+      num_aces = acl->naces;
-+
-+      while(1)
-+      {
-+              if(ace == NULL) {
-+                      if(ace_num > num_aces) {
-+                              break;
-+                      } else {
-+                              errno = ENODATA;
-+                              goto failed;
-+                      }
-+              }
-+
-+              /* space for type, flag, and mask */
-+              size += (3 * sizeof(u32));
-+
-+              /* space for strlen */
-+              size += sizeof(u32);
-+
-+              /* space for the who string... xdr encoded */
-+              size += (strlen(ace->who) / NFS4_XDR_MOD) * NFS4_XDR_MOD * sizeof(char);
-+              if(strlen(ace->who) % NFS4_XDR_MOD) {
-+                      size += NFS4_XDR_MOD;
-+              }
-+
-+              ace = ace->l_ace.tqe_next;
-+              ace_num++;
-+      }
-+
-+      return size;
-+
-+failed:
-+      return -1;
-+}
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_ptn4_get_mask.c      2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,81 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Translate POSIX permissions to an NFSv4 mask
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include <acl/libacl.h>
-+#include <libacl_nfs4.h>
-+
-+int acl_ptn4_get_mask(u32* mask, acl_permset_t perms, int iflags)
-+{
-+      int result;
-+
-+      *mask = NFS4_ANYONE_MODE;
-+
-+      if (perms == NULL) {
-+              errno = EINVAL;
-+              goto failed;
-+      }
-+
-+      if (iflags & NFS4_ACL_OWNER)
-+              *mask |= NFS4_OWNER_MODE;
-+
-+      result = acl_get_perm(perms, ACL_READ);
-+      if (result < 0)
-+              goto failed;
-+      else if(result == 1)
-+              *mask |= NFS4_READ_MODE;
-+
-+      result = acl_get_perm(perms, ACL_WRITE);
-+      if (result < 0)
-+              goto failed;
-+      else if (result == 1) {
-+              *mask |= NFS4_WRITE_MODE;
-+              if (iflags & NFS4_ACL_ISDIR)
-+                      *mask |= NFS4_ACE_DELETE_CHILD;
-+      }
-+
-+      result = acl_get_perm(perms, ACL_EXECUTE);
-+      if (result < 0)
-+              goto failed;
-+      else if (result == 1)
-+              *mask |= NFS4_EXECUTE_MODE;
-+
-+      return 0;
-+
-+failed:
-+      return -1;
-+}
-+
-+
-+
---- acl-2.2.39/libacl/acl_get_file.c.orig      2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/libacl/acl_get_file.c   2007-08-22 12:02:13.000000000 -0400
-@@ -28,6 +28,10 @@
- #include "libacl.h"
- #include "__acl_from_xattr.h"
-+#ifdef USE_NFSV4_TRANS
-+ #include "libacl_nfs4.h"
-+#endif
-+
- #include "byteorder.h"
- #include "acl_ea.h"
-@@ -40,6 +44,8 @@ acl_get_file(const char *path_p, acl_typ
-       char *ext_acl_p = alloca(size_guess);
-       const char *name;
-       int retval;
-+      int nfsv4acls;
-+      int iflags;
-       switch(type) {
-               case ACL_TYPE_ACCESS:
-@@ -55,8 +61,20 @@ acl_get_file(const char *path_p, acl_typ
-       if (!ext_acl_p)
-               return NULL;
-+#ifdef USE_NFSV4_TRANS
-+      retval = getxattr(path_p, ACL_NFS4_XATTR, ext_acl_p, size_guess);
-+      if((retval == -1) && (errno == ENOATTR || errno == EOPNOTSUPP)) {
-+              nfsv4acls = ACL_NFS4_NOT_USED;
-+              retval = getxattr(path_p, name, ext_acl_p, size_guess);
-+      } else {
-+              nfsv4acls = ACL_NFS4_USED;
-+              name = ACL_NFS4_XATTR;
-+      }
-+#else
-       retval = getxattr(path_p, name, ext_acl_p, size_guess);
--      if (retval == -1 && errno == ERANGE) {
-+#endif
-+
-+      if ((retval == -1) && (errno == ERANGE)) {
-               retval = getxattr(path_p, name, NULL, 0);
-               if (retval > 0) {
-                       ext_acl_p = alloca(retval);
-@@ -66,9 +84,29 @@ acl_get_file(const char *path_p, acl_typ
-               }
-       }
-       if (retval > 0) {
--              acl_t acl = __acl_from_xattr(ext_acl_p, retval);
--              return acl;
--      } else if (retval == 0 || errno == ENOATTR || errno == ENODATA) {
-+#ifdef USE_NFSV4_TRANS
-+              if(nfsv4acls == ACL_NFS4_USED) {
-+                      struct stat st;
-+
-+                      iflags = NFS4_ACL_ISFILE;
-+
-+                      if (stat(path_p, &st) != 0)
-+                              return NULL;
-+
-+                      if (S_ISDIR(st.st_mode))
-+                              iflags = NFS4_ACL_ISDIR;
-+
-+                      acl_t acl = __posix_acl_from_nfs4_xattr(ext_acl_p, retval, type,
-+                                      iflags);
-+                      return acl;
-+              }
-+              else
-+#endif
-+              {
-+                      acl_t acl = __acl_from_xattr(ext_acl_p, retval);
-+                      return acl;
-+              }
-+      } else if ((retval == 0) || (errno == ENOATTR) || (errno == ENODATA)) {
-               struct stat st;
-               if (stat(path_p, &st) != 0)
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/libacl_nfs4.h    2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,97 @@
-+#include <sys/types.h>
-+#include <pwd.h>
-+#include <grp.h>
-+#include <sys/acl.h>
-+#include <stdlib.h>
-+#include <sys/queue.h>
-+#include <nfs4.h>
-+#include <sys/errno.h>
-+#include <string.h>
-+
-+/* mode bit translations: */
-+#define NFS4_READ_MODE NFS4_ACE_READ_DATA
-+#define NFS4_WRITE_MODE (NFS4_ACE_WRITE_DATA | NFS4_ACE_APPEND_DATA)
-+#define NFS4_EXECUTE_MODE NFS4_ACE_EXECUTE
-+#define NFS4_ANYONE_MODE (NFS4_ACE_READ_ATTRIBUTES | NFS4_ACE_READ_ACL | \
-+              NFS4_ACE_SYNCHRONIZE)
-+#define NFS4_OWNER_MODE (NFS4_ACE_WRITE_ATTRIBUTES | NFS4_ACE_WRITE_ACL)
-+
-+#define NFS4_ACE_MASK_IGNORE (NFS4_ACE_DELETE | NFS4_ACE_WRITE_OWNER \
-+              | NFS4_ACE_READ_NAMED_ATTRS | NFS4_ACE_WRITE_NAMED_ATTRS)
-+/* XXX not sure about the following.  Note that e.g. DELETE_CHILD is wrong in
-+ * general (should only be ignored on files). */
-+#define MASK_EQUAL(mask1, mask2) \
-+      (((mask1) & NFS4_ACE_MASK_ALL & ~NFS4_ACE_MASK_IGNORE & \
-+                                              ~NFS4_ACE_DELETE_CHILD) \
-+       == ((mask2) & NFS4_ACE_MASK_ALL & ~NFS4_ACE_MASK_IGNORE & \
-+                                              ~NFS4_ACE_DELETE_CHILD))
-+
-+/* Maximum length of the ace->who attribute */
-+#define NFS4_ACL_WHO_LENGTH_MAX               2048
-+#define NFS4_ACL_WHO_BUFFER_LEN_GUESS 255
-+
-+/* NFS4 acl xattr name */
-+#define ACL_NFS4_XATTR "system.nfs4_acl"
-+
-+/* Macro for finding empty tailqs */
-+#define TAILQ_IS_EMPTY(head) (head.tqh_first == NULL)
-+
-+/* Flags to pass certain properties around */
-+#define NFS4_ACL_NOFLAGS                      0x00
-+#define NFS4_ACL_ISFILE                               0x00
-+#define NFS4_ACL_ISDIR                                0x01
-+#define NFS4_ACL_OWNER                                0x02
-+#define NFS4_ACL_REQUEST_DEFAULT      0x04
-+#define NFS4_ACL_RAW                          0x01
-+
-+#define NFS4_XDR_MOD                          4
-+
-+typedef u_int32_t u32;
-+
-+enum {        ACL_NFS4_NOT_USED = 0,
-+              ACL_NFS4_USED
-+};
-+
-+struct ace_container {
-+      struct nfs4_ace *ace;
-+      TAILQ_ENTRY(ace_container) l_ace;
-+};
-+
-+TAILQ_HEAD(ace_container_list_head, ace_container);
-+
-+/**** Public functions ****/
-+
-+/** Manipulation functions **/
-+extern int                            acl_nfs4_add_ace(struct nfs4_acl *, u32, u32, u32, int, char*);
-+extern int                            acl_nfs4_add_pair(struct nfs4_acl *, int, u32, int, char*);
-+extern void                           acl_nfs4_free(struct nfs4_acl *);
-+extern struct nfs4_acl *acl_nfs4_new(u32);
-+extern int                            acl_nfs4_set_who(struct nfs4_ace*, int, char*);
-+extern struct nfs4_acl *acl_nfs4_copy_acl(struct nfs4_acl *);
-+extern struct nfs4_acl *acl_nfs4_xattr_load(char *, int, u32);
-+extern int                            acl_nfs4_xattr_pack(struct nfs4_acl *, char**);
-+extern int                            acl_nfs4_xattr_size(struct nfs4_acl *);
-+extern void                           acl_nfs4_remove_ace(struct nfs4_acl * acl, struct nfs4_ace * ace);
-+
-+/** Conversion functions **/
-+
-+/* nfs4 -> posix */
-+extern acl_t          acl_n4tp_acl_trans(struct nfs4_acl *, acl_type_t);
-+
-+/* posix -> nfs4 */
-+extern int                            acl_ptn4_get_mask(u32* mask, acl_permset_t perms,
-+                                                              int iflags);
-+extern int acl_ptn4_acl_trans(acl_t, struct nfs4_acl *, acl_type_t, u32, char*);
-+
-+
-+/** Access Functions **/
-+extern inline int     acl_nfs4_get_whotype(char*);
-+extern int                    acl_nfs4_get_who(struct nfs4_ace*, int*, char**);
-+
-+/**** Private(?) functions ****/
-+acl_t         __posix_acl_from_nfs4_xattr(char*, int, acl_type_t, u32);
-+
-+/* These will change */
-+char * nfs4_get_who_from_uid(uid_t);
-+char * nfs4_get_who_from_gid(gid_t);
-+/* End change */
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_new.c   2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,58 @@
-+/*
-+ *  Common NFSv4 ACL handling code.
-+ *  Create a new NFSv4 ACL
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Marius Aamodt Eriksen <marius@umich.edu>
-+ *  J. Bruce Fields <bfields@umich.edu>
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *  Jeff Sedlak <jsedlak@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+
-+
-+#include "libacl_nfs4.h"
-+
-+struct nfs4_acl *
-+acl_nfs4_new(u32 is_dir)
-+{
-+      struct nfs4_acl *acl;
-+
-+      if ((acl = malloc(sizeof(*acl))) == NULL)
-+              return NULL;
-+
-+      acl->naces = 0;
-+      acl->is_directory = is_dir;
-+
-+      TAILQ_INIT(&acl->ace_head);
-+
-+      return acl;
-+}
-+
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_copy_acl.c      2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,85 @@
-+/*
-+ *  NFSv4 ACL Code
-+ *  Deep copy an NFS4 ACL
-+ *
-+ *  Copyright (c) 2002, 2003 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions and the following disclaimer.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "libacl_nfs4.h"
-+
-+struct nfs4_acl * acl_nfs4_copy_acl(struct nfs4_acl * nacl)
-+{
-+      struct nfs4_acl * new_acl;
-+      struct nfs4_ace * ace;
-+      u32 nace;
-+      u32 num_aces;
-+      int result;
-+
-+      if(nacl == NULL) {
-+              errno = EINVAL;
-+              goto failed;
-+      }
-+
-+      num_aces = nacl->naces;
-+
-+      new_acl = acl_nfs4_new(nacl->is_directory);
-+      if(new_acl == NULL)
-+              goto failed;
-+
-+      ace = nacl->ace_head.tqh_first;
-+      nace = 1;
-+
-+      while(1)
-+      {
-+              if(ace == NULL) {
-+                      if(nace > num_aces)
-+                              break;
-+                      else
-+                              goto free_failed;
-+              }
-+
-+              result = acl_nfs4_add_ace(new_acl, ace->type, ace->flag,
-+                              ace->access_mask, acl_nfs4_get_whotype(ace->who), ace->who);
-+              if(result < 0)
-+                      goto free_failed;
-+
-+              ace = ace->l_ace.tqe_next;
-+              nace++;
-+      }
-+
-+      return new_acl;
-+
-+free_failed:
-+      acl_nfs4_free(new_acl);
-+
-+failed:
-+      return NULL;
-+}
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/libacl/acl_nfs4_add_pair.c      2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,60 @@
-+/*
-+ *  Add a pair of aces to the acl. The ace masks are complements of each other
-+ *  This keeps us from walking off the end of the acl
-+ *
-+ *  Copyright (c) 2004 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Marius Aamodt Eriksen <marius@umich.edu>
-+ *  J. Bruce Fields <bfields@umich.edu>
-+ *  Nathaniel Gallaher <ngallahe@umich.edu>
-+ *  Jeff Sedlak <jsedlak@umich.edu>
-+ *
-+ *  Redistribution and use in source and binary forms, with or without
-+ *  modification, are permitted provided that the following conditions
-+ *  are met:
-+ *
-+ *  1. Redistributions of source code must retain the above copyright
-+ *     notice, this list of conditions, the following disclaimer, and
-+ *     any and all other licensing or copyright notices included in
-+ *     any files in this distribution.
-+ *  2. Redistributions in binary form must reproduce the above copyright
-+ *     notice, this list of conditions and the following disclaimer in the
-+ *     documentation and/or other materials provided with the distribution.
-+ *  3. Neither the name of the University nor the names of its
-+ *     contributors may be used to endorse or promote products derived
-+ *     from this software without specific prior written permission.
-+ *
-+ *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+ *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+ *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ */
-+
-+
-+#include "libacl_nfs4.h"
-+
-+int
-+acl_nfs4_add_pair(struct nfs4_acl *acl, int eflag, u32 mask, int ownertype,
-+              char* owner)
-+{
-+      int error;
-+
-+      error = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE,
-+                               eflag, mask, ownertype, owner);
-+      if (error < 0)
-+              return error;
-+      error = acl_nfs4_add_ace(acl, NFS4_ACE_ACCESS_DENIED_ACE_TYPE,
-+                              eflag, ~mask, ownertype, owner);
-+      return error;
-+}
-+
-+
---- acl-2.2.39/exports.orig    2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/exports 2007-08-22 12:02:13.000000000 -0400
-@@ -67,3 +67,33 @@ ACL_1.1 {
-       perm_copy_fd;
-       perm_copy_file;
- } ACL_1.0;
-+
-+ACL_1.2 {
-+      global:
-+      acl_nfs4_add_ace;
-+      acl_nfs4_add_pair;
-+      acl_nfs4_free;
-+      acl_nfs4_new;
-+      acl_nfs4_set_dir;
-+      acl_nfs4_set_who;
-+      acl_nfs4_copy_acl;
-+      acl_nfs4_xattr_load;
-+      acl_nfs4_xattr_pack;
-+      acl_nfs4_xattr_size;
-+      acl_nfs4_remove_ace;
-+
-+      acl_n4tp_acl_trans;
-+
-+      acl_ptn4_get_mask;
-+      acl_ptn4_acl_trans;
-+
-+      acl_nfs4_get_whotype;
-+      acl_nfs4_get_who;
-+      acl_nfs4_entries;
-+
-+      local:
-+      __posix_acl_from_nfs4_xattr;
-+      nfs4_get_who_from_uid;
-+      nfs4_get_who_from_gid;
-+
-+} ACL_1.1;
---- acl-2.2.39/include/builddefs.in.orig       2007-08-22 11:59:37.000000000 -0400
-+++ acl-2.2.39/include/builddefs.in    2007-08-22 12:02:13.000000000 -0400
-@@ -65,7 +65,7 @@ endif
- GCFLAGS = $(OPTIMIZER) $(DEBUG) -funsigned-char -fno-strict-aliasing -Wall \
-         -DVERSION=\"$(PKG_VERSION)\" -DLOCALEDIR=\"$(PKG_LOCALE_DIR)\"  \
--        -DPACKAGE=\"$(PKG_NAME)\" -I$(TOPDIR)/include
-+        -DPACKAGE=\"$(PKG_NAME)\" -I$(TOPDIR)/include -DUSE_NFSV4_TRANS
- # Global, Platform, Local CFLAGS
- CFLAGS += $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/include/nfs4.h  2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,397 @@
-+/*
-+ *  NFSv4 protocol definitions.
-+ *
-+ *  Copyright (c) 2002 The Regents of the University of Michigan.
-+ *  All rights reserved.
-+ *
-+ *  Kendrick Smith <kmsmith@umich.edu>
-+ *  Andy Adamson   <andros@umich.edu>
-+ */
-+
-+#include<sys/types.h>
-+#include<sys/queue.h>
-+
-+#ifndef _LINUX_NFS4_H
-+#define _LINUX_NFS4_H
-+
-+#define NFS4_VERIFIER_SIZE    8
-+#define NFS4_FHSIZE           128
-+#define NFS4_MAXNAMLEN                NAME_MAX
-+
-+#define NFS4_ACCESS_READ        0x0001
-+#define NFS4_ACCESS_LOOKUP      0x0002
-+#define NFS4_ACCESS_MODIFY      0x0004
-+#define NFS4_ACCESS_EXTEND      0x0008
-+#define NFS4_ACCESS_DELETE      0x0010
-+#define NFS4_ACCESS_EXECUTE     0x0020
-+
-+#define NFS4_FH_PERISTENT             0x0000
-+#define NFS4_FH_NOEXPIRE_WITH_OPEN    0x0001
-+#define NFS4_FH_VOLATILE_ANY          0x0002
-+#define NFS4_FH_VOL_MIGRATION         0x0004
-+#define NFS4_FH_VOL_RENAME            0x0008
-+
-+#define NFS4_OPEN_RESULT_CONFIRM 0x0002
-+
-+#define NFS4_SHARE_ACCESS_READ        0x0001
-+#define NFS4_SHARE_ACCESS_WRITE       0x0002
-+#define NFS4_SHARE_ACCESS_BOTH        0x0003
-+#define NFS4_SHARE_DENY_READ  0x0001
-+#define NFS4_SHARE_DENY_WRITE 0x0002
-+#define NFS4_SHARE_DENY_BOTH  0x0003
-+
-+#define NFS4_SET_TO_SERVER_TIME       0
-+#define NFS4_SET_TO_CLIENT_TIME       1
-+
-+#define NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE 0
-+#define NFS4_ACE_ACCESS_DENIED_ACE_TYPE  1
-+#define NFS4_ACE_SYSTEM_AUDIT_ACE_TYPE   2
-+#define NFS4_ACE_SYSTEM_ALARM_ACE_TYPE   3
-+
-+#define ACL4_SUPPORT_ALLOW_ACL 0x01
-+#define ACL4_SUPPORT_DENY_ACL  0x02
-+#define ACL4_SUPPORT_AUDIT_ACL 0x04
-+#define ACL4_SUPPORT_ALARM_ACL 0x08
-+
-+#define NFS4_ACE_FILE_INHERIT_ACE             0x00000001
-+#define NFS4_ACE_DIRECTORY_INHERIT_ACE        0x00000002
-+#define NFS4_ACE_NO_PROPAGATE_INHERIT_ACE     0x00000004
-+#define NFS4_ACE_INHERIT_ONLY_ACE             0x00000008
-+#define NFS4_ACE_SUCCESSFUL_ACCESS_ACE_FLAG   0x00000010
-+#define NFS4_ACE_FAILED_ACCESS_ACE_FLAG       0x00000020
-+#define NFS4_ACE_IDENTIFIER_GROUP             0x00000040
-+#define NFS4_ACE_OWNER                        0x00000080
-+#define NFS4_ACE_GROUP                        0x00000100
-+#define NFS4_ACE_EVERYONE                     0x00000200
-+
-+#define NFS4_ACE_READ_DATA                    0x00000001
-+#define NFS4_ACE_LIST_DIRECTORY               0x00000001
-+#define NFS4_ACE_WRITE_DATA                   0x00000002
-+#define NFS4_ACE_ADD_FILE                     0x00000002
-+#define NFS4_ACE_APPEND_DATA                  0x00000004
-+#define NFS4_ACE_ADD_SUBDIRECTORY             0x00000004
-+#define NFS4_ACE_READ_NAMED_ATTRS             0x00000008
-+#define NFS4_ACE_WRITE_NAMED_ATTRS            0x00000010
-+#define NFS4_ACE_EXECUTE                      0x00000020
-+#define NFS4_ACE_DELETE_CHILD                 0x00000040
-+#define NFS4_ACE_READ_ATTRIBUTES              0x00000080
-+#define NFS4_ACE_WRITE_ATTRIBUTES             0x00000100
-+#define NFS4_ACE_DELETE                       0x00010000
-+#define NFS4_ACE_READ_ACL                     0x00020000
-+#define NFS4_ACE_WRITE_ACL                    0x00040000
-+#define NFS4_ACE_WRITE_OWNER                  0x00080000
-+#define NFS4_ACE_SYNCHRONIZE                  0x00100000
-+#define NFS4_ACE_GENERIC_READ                 0x00120081
-+#define NFS4_ACE_GENERIC_WRITE                0x00160106
-+#define NFS4_ACE_GENERIC_EXECUTE              0x001200A0
-+#define NFS4_ACE_MASK_ALL                     0x001F01FF
-+
-+enum nfs4_acl_whotype {
-+      NFS4_ACL_WHO_NAMED = 0,
-+      NFS4_ACL_WHO_OWNER,
-+      NFS4_ACL_WHO_GROUP,
-+      NFS4_ACL_WHO_EVERYONE,
-+};
-+
-+#define NFS4_ACL_WHO_OWNER_STRING             "OWNER@"
-+#define NFS4_ACL_WHO_GROUP_STRING             "GROUP@"
-+#define NFS4_ACL_WHO_EVERYONE_STRING  "EVERYONE@"
-+
-+struct nfs4_ace {
-+      u_int32_t       type;
-+      u_int32_t       flag;
-+      u_int32_t       access_mask;
-+      char*   who;
-+      TAILQ_ENTRY(nfs4_ace) l_ace;
-+};
-+
-+TAILQ_HEAD(ace_list_head, nfs4_ace);
-+
-+struct nfs4_acl {
-+      u_int32_t               naces;
-+      u_int32_t               is_directory;
-+      struct ace_list_head    ace_head;
-+};
-+
-+typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier;
-+typedef struct { char data[16]; } nfs4_stateid;
-+
-+enum nfs_opnum4 {
-+      OP_ACCESS = 3,
-+      OP_CLOSE = 4,
-+      OP_COMMIT = 5,
-+      OP_CREATE = 6,
-+      OP_DELEGPURGE = 7,
-+      OP_DELEGRETURN = 8,
-+      OP_GETATTR = 9,
-+      OP_GETFH = 10,
-+      OP_LINK = 11,
-+      OP_LOCK = 12,
-+      OP_LOCKT = 13,
-+      OP_LOCKU = 14,
-+      OP_LOOKUP = 15,
-+      OP_LOOKUPP = 16,
-+      OP_NVERIFY = 17,
-+      OP_OPEN = 18,
-+      OP_OPENATTR = 19,
-+      OP_OPEN_CONFIRM = 20,
-+      OP_OPEN_DOWNGRADE = 21,
-+      OP_PUTFH = 22,
-+      OP_PUTPUBFH = 23,
-+      OP_PUTROOTFH = 24,
-+      OP_READ = 25,
-+      OP_READDIR = 26,
-+      OP_READLINK = 27,
-+      OP_REMOVE = 28,
-+      OP_RENAME = 29,
-+      OP_RENEW = 30,
-+      OP_RESTOREFH = 31,
-+      OP_SAVEFH = 32,
-+      OP_SECINFO = 33,
-+      OP_SETATTR = 34,
-+      OP_SETCLIENTID = 35,
-+      OP_SETCLIENTID_CONFIRM = 36,
-+      OP_VERIFY = 37,
-+      OP_WRITE = 38,
-+      OP_RELEASE_LOCKOWNER = 39,
-+      OP_ILLEGAL = 10044,
-+};
-+
-+enum nfsstat4 {
-+      NFS4_OK = 0,
-+      NFS4ERR_PERM = 1,
-+      NFS4ERR_NOENT = 2,
-+      NFS4ERR_IO = 5,
-+      NFS4ERR_NXIO = 6,
-+      NFS4ERR_ACCESS = 13,
-+      NFS4ERR_EXIST = 17,
-+      NFS4ERR_XDEV = 18,
-+      /* Unused/reserved 19 */
-+      NFS4ERR_NOTDIR = 20,
-+      NFS4ERR_ISDIR = 21,
-+      NFS4ERR_INVAL = 22,
-+      NFS4ERR_FBIG = 27,
-+      NFS4ERR_NOSPC = 28,
-+      NFS4ERR_ROFS = 30,
-+      NFS4ERR_MLINK = 31,
-+      NFS4ERR_NAMETOOLONG = 63,
-+      NFS4ERR_NOTEMPTY = 66,
-+      NFS4ERR_DQUOT = 69,
-+      NFS4ERR_STALE = 70,
-+      NFS4ERR_BADHANDLE = 10001,
-+      NFS4ERR_BAD_COOKIE = 10003,
-+      NFS4ERR_NOTSUPP = 10004,
-+      NFS4ERR_TOOSMALL = 10005,
-+      NFS4ERR_SERVERFAULT = 10006,
-+      NFS4ERR_BADTYPE = 10007,
-+      NFS4ERR_DELAY = 10008,
-+      NFS4ERR_SAME = 10009,
-+      NFS4ERR_DENIED = 10010,
-+      NFS4ERR_EXPIRED = 10011,
-+      NFS4ERR_LOCKED = 10012,
-+      NFS4ERR_GRACE = 10013,
-+      NFS4ERR_FHEXPIRED = 10014,
-+      NFS4ERR_SHARE_DENIED = 10015,
-+      NFS4ERR_WRONGSEC = 10016,
-+      NFS4ERR_CLID_INUSE = 10017,
-+      NFS4ERR_RESOURCE = 10018,
-+      NFS4ERR_MOVED = 10019,
-+      NFS4ERR_NOFILEHANDLE = 10020,
-+      NFS4ERR_MINOR_VERS_MISMATCH = 10021,
-+      NFS4ERR_STALE_CLIENTID = 10022,
-+      NFS4ERR_STALE_STATEID = 10023,
-+      NFS4ERR_OLD_STATEID = 10024,
-+      NFS4ERR_BAD_STATEID = 10025,
-+      NFS4ERR_BAD_SEQID = 10026,
-+      NFS4ERR_NOT_SAME = 10027,
-+      NFS4ERR_LOCK_RANGE = 10028,
-+      NFS4ERR_SYMLINK = 10029,
-+      NFS4ERR_RESTOREFH = 10030,
-+      NFS4ERR_LEASE_MOVED = 10031,
-+      NFS4ERR_ATTRNOTSUPP = 10032,
-+      NFS4ERR_NO_GRACE = 10033,
-+      NFS4ERR_RECLAIM_BAD = 10034,
-+      NFS4ERR_RECLAIM_CONFLICT = 10035,
-+      NFS4ERR_BADXDR = 10036,
-+      NFS4ERR_LOCKS_HELD = 10037,
-+      NFS4ERR_OPENMODE = 10038,
-+      NFS4ERR_BADOWNER = 10039,
-+      NFS4ERR_BADCHAR = 10040,
-+      NFS4ERR_BADNAME = 10041,
-+      NFS4ERR_BAD_RANGE = 10042,
-+      NFS4ERR_LOCK_NOTSUPP = 10043,
-+      NFS4ERR_OP_ILLEGAL = 10044,
-+      NFS4ERR_DEADLOCK = 10045,
-+      NFS4ERR_FILE_OPEN = 10046,
-+      NFS4ERR_ADMIN_REVOKED = 10047,
-+      NFS4ERR_CB_PATH_DOWN = 10048
-+};
-+
-+/*
-+ * Note: NF4BAD is not actually part of the protocol; it is just used
-+ * internally by nfsd.
-+ */
-+enum nfs_ftype4 {
-+      NF4BAD          = 0,
-+        NF4REG          = 1,    /* Regular File */
-+        NF4DIR          = 2,    /* Directory */
-+        NF4BLK          = 3,    /* Special File - block device */
-+        NF4CHR          = 4,    /* Special File - character device */
-+        NF4LNK          = 5,    /* Symbolic Link */
-+        NF4SOCK         = 6,    /* Special File - socket */
-+        NF4FIFO         = 7,    /* Special File - fifo */
-+        NF4ATTRDIR      = 8,    /* Attribute Directory */
-+        NF4NAMEDATTR    = 9     /* Named Attribute */
-+};
-+
-+enum open_claim_type4 {
-+      NFS4_OPEN_CLAIM_NULL = 0,
-+      NFS4_OPEN_CLAIM_PREVIOUS = 1,
-+      NFS4_OPEN_CLAIM_DELEGATE_CUR = 2,
-+      NFS4_OPEN_CLAIM_DELEGATE_PREV = 3
-+};
-+
-+enum opentype4 {
-+      NFS4_OPEN_NOCREATE = 0,
-+      NFS4_OPEN_CREATE = 1
-+};
-+
-+enum createmode4 {
-+      NFS4_CREATE_UNCHECKED = 0,
-+      NFS4_CREATE_GUARDED = 1,
-+      NFS4_CREATE_EXCLUSIVE = 2
-+};
-+
-+enum limit_by4 {
-+      NFS4_LIMIT_SIZE = 1,
-+      NFS4_LIMIT_BLOCKS = 2
-+};
-+
-+enum open_delegation_type4 {
-+      NFS4_OPEN_DELEGATE_NONE = 0,
-+      NFS4_OPEN_DELEGATE_READ = 1,
-+      NFS4_OPEN_DELEGATE_WRITE = 2
-+};
-+
-+enum lock_type4 {
-+      NFS4_UNLOCK_LT = 0,
-+      NFS4_READ_LT = 1,
-+      NFS4_WRITE_LT = 2,
-+      NFS4_READW_LT = 3,
-+      NFS4_WRITEW_LT = 4
-+};
-+
-+
-+/* Mandatory Attributes */
-+#define FATTR4_WORD0_SUPPORTED_ATTRS    (1UL << 0)
-+#define FATTR4_WORD0_TYPE               (1UL << 1)
-+#define FATTR4_WORD0_FH_EXPIRE_TYPE     (1UL << 2)
-+#define FATTR4_WORD0_CHANGE             (1UL << 3)
-+#define FATTR4_WORD0_SIZE               (1UL << 4)
-+#define FATTR4_WORD0_LINK_SUPPORT       (1UL << 5)
-+#define FATTR4_WORD0_SYMLINK_SUPPORT    (1UL << 6)
-+#define FATTR4_WORD0_NAMED_ATTR         (1UL << 7)
-+#define FATTR4_WORD0_FSID               (1UL << 8)
-+#define FATTR4_WORD0_UNIQUE_HANDLES     (1UL << 9)
-+#define FATTR4_WORD0_LEASE_TIME         (1UL << 10)
-+#define FATTR4_WORD0_RDATTR_ERROR       (1UL << 11)
-+
-+/* Recommended Attributes */
-+#define FATTR4_WORD0_ACL                (1UL << 12)
-+#define FATTR4_WORD0_ACLSUPPORT         (1UL << 13)
-+#define FATTR4_WORD0_ARCHIVE            (1UL << 14)
-+#define FATTR4_WORD0_CANSETTIME         (1UL << 15)
-+#define FATTR4_WORD0_CASE_INSENSITIVE   (1UL << 16)
-+#define FATTR4_WORD0_CASE_PRESERVING    (1UL << 17)
-+#define FATTR4_WORD0_CHOWN_RESTRICTED   (1UL << 18)
-+#define FATTR4_WORD0_FILEHANDLE         (1UL << 19)
-+#define FATTR4_WORD0_FILEID             (1UL << 20)
-+#define FATTR4_WORD0_FILES_AVAIL        (1UL << 21)
-+#define FATTR4_WORD0_FILES_FREE         (1UL << 22)
-+#define FATTR4_WORD0_FILES_TOTAL        (1UL << 23)
-+#define FATTR4_WORD0_FS_LOCATIONS       (1UL << 24)
-+#define FATTR4_WORD0_HIDDEN             (1UL << 25)
-+#define FATTR4_WORD0_HOMOGENEOUS        (1UL << 26)
-+#define FATTR4_WORD0_MAXFILESIZE        (1UL << 27)
-+#define FATTR4_WORD0_MAXLINK            (1UL << 28)
-+#define FATTR4_WORD0_MAXNAME            (1UL << 29)
-+#define FATTR4_WORD0_MAXREAD            (1UL << 30)
-+#define FATTR4_WORD0_MAXWRITE           (1UL << 31)
-+#define FATTR4_WORD1_MIMETYPE           (1UL << 0)
-+#define FATTR4_WORD1_MODE               (1UL << 1)
-+#define FATTR4_WORD1_NO_TRUNC           (1UL << 2)
-+#define FATTR4_WORD1_NUMLINKS           (1UL << 3)
-+#define FATTR4_WORD1_OWNER              (1UL << 4)
-+#define FATTR4_WORD1_OWNER_GROUP        (1UL << 5)
-+#define FATTR4_WORD1_QUOTA_HARD         (1UL << 6)
-+#define FATTR4_WORD1_QUOTA_SOFT         (1UL << 7)
-+#define FATTR4_WORD1_QUOTA_USED         (1UL << 8)
-+#define FATTR4_WORD1_RAWDEV             (1UL << 9)
-+#define FATTR4_WORD1_SPACE_AVAIL        (1UL << 10)
-+#define FATTR4_WORD1_SPACE_FREE         (1UL << 11)
-+#define FATTR4_WORD1_SPACE_TOTAL        (1UL << 12)
-+#define FATTR4_WORD1_SPACE_USED         (1UL << 13)
-+#define FATTR4_WORD1_SYSTEM             (1UL << 14)
-+#define FATTR4_WORD1_TIME_ACCESS        (1UL << 15)
-+#define FATTR4_WORD1_TIME_ACCESS_SET    (1UL << 16)
-+#define FATTR4_WORD1_TIME_BACKUP        (1UL << 17)
-+#define FATTR4_WORD1_TIME_CREATE        (1UL << 18)
-+#define FATTR4_WORD1_TIME_DELTA         (1UL << 19)
-+#define FATTR4_WORD1_TIME_METADATA      (1UL << 20)
-+#define FATTR4_WORD1_TIME_MODIFY        (1UL << 21)
-+#define FATTR4_WORD1_TIME_MODIFY_SET    (1UL << 22)
-+#define FATTR4_WORD1_MOUNTED_ON_FILEID  (1UL << 23)
-+
-+#define NFSPROC4_NULL 0
-+#define NFSPROC4_COMPOUND 1
-+#define NFS4_MINOR_VERSION 0
-+#define NFS4_DEBUG 1
-+
-+#ifdef __KERNEL__
-+
-+/* Index of predefined Linux client operations */
-+
-+enum {
-+      NFSPROC4_CLNT_NULL = 0,         /* Unused */
-+      NFSPROC4_CLNT_READ,
-+      NFSPROC4_CLNT_WRITE,
-+      NFSPROC4_CLNT_COMMIT,
-+      NFSPROC4_CLNT_OPEN,
-+      NFSPROC4_CLNT_OPEN_CONFIRM,
-+      NFSPROC4_CLNT_OPEN_RECLAIM,
-+      NFSPROC4_CLNT_OPEN_DOWNGRADE,
-+      NFSPROC4_CLNT_CLOSE,
-+      NFSPROC4_CLNT_SETATTR,
-+      NFSPROC4_CLNT_FSINFO,
-+      NFSPROC4_CLNT_RENEW,
-+      NFSPROC4_CLNT_SETCLIENTID,
-+      NFSPROC4_CLNT_SETCLIENTID_CONFIRM,
-+      NFSPROC4_CLNT_LOCK,
-+      NFSPROC4_CLNT_LOCKT,
-+      NFSPROC4_CLNT_LOCKU,
-+      NFSPROC4_CLNT_ACCESS,
-+      NFSPROC4_CLNT_GETATTR,
-+      NFSPROC4_CLNT_LOOKUP,
-+      NFSPROC4_CLNT_LOOKUP_ROOT,
-+      NFSPROC4_CLNT_REMOVE,
-+      NFSPROC4_CLNT_RENAME,
-+      NFSPROC4_CLNT_LINK,
-+      NFSPROC4_CLNT_CREATE,
-+      NFSPROC4_CLNT_PATHCONF,
-+      NFSPROC4_CLNT_STATFS,
-+      NFSPROC4_CLNT_READLINK,
-+      NFSPROC4_CLNT_READDIR,
-+      NFSPROC4_CLNT_SERVER_CAPS,
-+      NFSPROC4_CLNT_DELEGRETURN,
-+      NFSPROC4_CLNT_GETACL,
-+      NFSPROC4_CLNT_SETACL,
-+};
-+
-+#endif
-+#endif
-+
-+/*
-+ * Local variables:
-+ *  c-basic-offset: 8
-+ * End:
-+ */
---- /dev/null  2007-08-22 11:21:03.626521839 -0400
-+++ acl-2.2.39/include/libacl_nfs4.h   2007-08-22 12:02:13.000000000 -0400
-@@ -0,0 +1,97 @@
-+#include <sys/types.h>
-+#include <pwd.h>
-+#include <grp.h>
-+#include <sys/acl.h>
-+#include <stdlib.h>
-+#include <sys/queue.h>
-+#include <nfs4.h>
-+#include <sys/errno.h>
-+#include <string.h>
-+
-+/* mode bit translations: */
-+#define NFS4_READ_MODE NFS4_ACE_READ_DATA
-+#define NFS4_WRITE_MODE (NFS4_ACE_WRITE_DATA | NFS4_ACE_APPEND_DATA)
-+#define NFS4_EXECUTE_MODE NFS4_ACE_EXECUTE
-+#define NFS4_ANYONE_MODE (NFS4_ACE_READ_ATTRIBUTES | NFS4_ACE_READ_ACL | \
-+              NFS4_ACE_SYNCHRONIZE)
-+#define NFS4_OWNER_MODE (NFS4_ACE_WRITE_ATTRIBUTES | NFS4_ACE_WRITE_ACL)
-+
-+#define NFS4_ACE_MASK_IGNORE (NFS4_ACE_DELETE | NFS4_ACE_WRITE_OWNER \
-+              | NFS4_ACE_READ_NAMED_ATTRS | NFS4_ACE_WRITE_NAMED_ATTRS)
-+/* XXX not sure about the following.  Note that e.g. DELETE_CHILD is wrong in
-+ * general (should only be ignored on files). */
-+#define MASK_EQUAL(mask1, mask2) \
-+      (((mask1) & NFS4_ACE_MASK_ALL & ~NFS4_ACE_MASK_IGNORE & \
-+                                              ~NFS4_ACE_DELETE_CHILD) \
-+       == ((mask2) & NFS4_ACE_MASK_ALL & ~NFS4_ACE_MASK_IGNORE & \
-+                                              ~NFS4_ACE_DELETE_CHILD))
-+
-+/* Maximum length of the ace->who attribute */
-+#define NFS4_ACL_WHO_LENGTH_MAX               2048
-+#define NFS4_ACL_WHO_BUFFER_LEN_GUESS 255
-+
-+/* NFS4 acl xattr name */
-+#define ACL_NFS4_XATTR "system.nfs4_acl"
-+
-+/* Macro for finding empty tailqs */
-+#define TAILQ_IS_EMPTY(head) (head.tqh_first == NULL)
-+
-+/* Flags to pass certain properties around */
-+#define NFS4_ACL_NOFLAGS                      0x00
-+#define NFS4_ACL_ISFILE                               0x00
-+#define NFS4_ACL_ISDIR                                0x01
-+#define NFS4_ACL_OWNER                                0x02
-+#define NFS4_ACL_REQUEST_DEFAULT      0x04
-+#define NFS4_ACL_RAW                          0x01
-+
-+#define NFS4_XDR_MOD                          4
-+
-+typedef u_int32_t u32;
-+
-+enum {        ACL_NFS4_NOT_USED = 0,
-+              ACL_NFS4_USED
-+};
-+
-+struct ace_container {
-+      struct nfs4_ace *ace;
-+      TAILQ_ENTRY(ace_container) l_ace;
-+};
-+
-+TAILQ_HEAD(ace_container_list_head, ace_container);
-+
-+/**** Public functions ****/
-+
-+/** Manipulation functions **/
-+extern int                            acl_nfs4_add_ace(struct nfs4_acl *, u32, u32, u32, int, char*);
-+extern int                            acl_nfs4_add_pair(struct nfs4_acl *, int, u32, int, char*);
-+extern void                           acl_nfs4_free(struct nfs4_acl *);
-+extern struct nfs4_acl *acl_nfs4_new(u32);
-+extern int                            acl_nfs4_set_who(struct nfs4_ace*, int, char*);
-+extern struct nfs4_acl *acl_nfs4_copy_acl(struct nfs4_acl *);
-+extern struct nfs4_acl *acl_nfs4_xattr_load(char *, int, u32);
-+extern int                            acl_nfs4_xattr_pack(struct nfs4_acl *, char**);
-+extern int                            acl_nfs4_xattr_size(struct nfs4_acl *);
-+extern void                           acl_nfs4_remove_ace(struct nfs4_acl * acl, struct nfs4_ace * ace);
-+
-+/** Conversion functions **/
-+
-+/* nfs4 -> posix */
-+extern acl_t          acl_n4tp_acl_trans(struct nfs4_acl *, acl_type_t);
-+
-+/* posix -> nfs4 */
-+extern int                            acl_ptn4_get_mask(u32* mask, acl_permset_t perms,
-+                                                              int iflags);
-+extern int acl_ptn4_acl_trans(acl_t, struct nfs4_acl *, acl_type_t, u32, char*);
-+
-+
-+/** Access Functions **/
-+extern inline int     acl_nfs4_get_whotype(char*);
-+extern int                    acl_nfs4_get_who(struct nfs4_ace*, int*, char**);
-+
-+/**** Private(?) functions ****/
-+acl_t         __posix_acl_from_nfs4_xattr(char*, int, acl_type_t, u32);
-+
-+/* These will change */
-+char * nfs4_get_who_from_uid(uid_t);
-+char * nfs4_get_who_from_gid(gid_t);
-+/* End change */
diff --git a/acl/patches/acl-2.2.47-params.patch b/acl/patches/acl-2.2.47-params.patch
deleted file mode 100644 (file)
index 13ead33..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
---- acl-2.2.47_old/getfacl/getfacl.c   2008-02-07 04:39:57.000000000 +0100
-+++ acl-2.2.47/getfacl/getfacl.c       2008-07-31 12:23:10.000000000 +0200
-@@ -43,7 +43,7 @@
- #define POSIXLY_CORRECT_STR "POSIXLY_CORRECT"
- #if !POSIXLY_CORRECT
--#  define CMD_LINE_OPTIONS "dRLP"
-+#  define CMD_LINE_OPTIONS "aceEsRLPtpndvh"
- #endif
- #define POSIXLY_CMD_LINE_OPTIONS "d"
-@@ -555,23 +555,23 @@ void help(void)
- #if !POSIXLY_CORRECT
-       } else {
-               printf(_(
--"      --access            display the file access control list only\n"
-+"  -a,  --access           display the file access control list only\n"
- "  -d, --default           display the default access control list only\n"
--"      --omit-header       do not display the comment header\n"
--"      --all-effective     print all effective rights\n"
--"      --no-effective      print no effective rights\n"
--"      --skip-base         skip files that only have the base entries\n"
-+"  -c, --omit-header       do not display the comment header\n"
-+"  -e, --all-effective     print all effective rights\n"
-+"  -E, --no-effective      print no effective rights\n"
-+"  -s, --skip-base         skip files that only have the base entries\n"
- "  -R, --recursive         recurse into subdirectories\n"
- "  -L, --logical           logical walk, follow symbolic links\n"
- "  -P, --physical          physical walk, do not follow symbolic links\n"
--"      --tabular           use tabular output format\n"
--"      --numeric           print numeric user/group identifiers\n"
--"      --absolute-names    don't strip leading '/' in pathnames\n"));
-+"  -t, --tabular           use tabular output format\n"
-+"  -n, --numeric           print numeric user/group identifiers\n"
-+"  -p, --absolute-names    don't strip leading '/' in pathnames\n"));
-       }
- #endif
-       printf(_(
--"      --version           print version and exit\n"
--"      --help              this help text\n"));
-+"  -v, --version           print version and exit\n"
-+"  -h, --help              this help text\n"));
- }
- int main(int argc, char *argv[])
---- acl-2.2.47_old/man/man1/getfacl.1  2008-02-07 04:39:57.000000000 +0100
-+++ acl-2.2.47/man/man1/getfacl.1      2008-07-31 11:23:45.000000000 +0200
-@@ -12,10 +12,10 @@ getfacl \- get file access control lists
- .SH SYNOPSIS
- .B getfacl
--[\-dRLPvh] file ...
-+[\-aceEsRLPrpndvh] file ...
- .B getfacl
--[\-dRLPvh] \-
-+[\-aceEsRLPrpndvh] \-
- .SH DESCRIPTION
- For each file, getfacl displays the file name, owner, the group,
-@@ -78,22 +78,22 @@ accessing the file mode.
- .SS OPTIONS
- .TP 4
--.I \-\-access
-+.I \-a, \-\-access
- Display the file access control list.
- .TP
- .I \-d, \-\-default
- Display the default access control list.
- .TP
--.I \-\-omit-header
-+.I \-c, \-\-omit-header
- Do not display the comment header (the first three lines of each file's output).
- .TP
--.I \-\-all-effective
-+.I \-e, \-\-all-effective
- Print all effective rights comments, even if identical to the rights defined by the ACL entry.
- .TP
--.I \-\-no-effective
-+.I \-E, \-\-no-effective
- Do not print effective rights comments.
- .TP
--.I \-\-skip-base
-+.I \-s, \-\-skip-base
- Skip files that only have the base ACL entries (owner, group, others).
- .TP
- .I \-R, \-\-recursive
-@@ -109,17 +109,20 @@ Physical walk, do not follow symbolic li
- link arguments.
- Only effective in combination with \-R.
- .TP
--.I \-\-tabular
-+.I \-t, \-\-tabular
- Use an alternative tabular output format. The ACL and the default ACL are displayed side by side. Permissions that are ineffective due to the ACL mask entry are displayed capitalized. The entry tag names for the ACL_USER_OBJ and ACL_GROUP_OBJ entries are also displayed in capital letters, which helps in spotting those entries.
- .TP
--.I \-\-absolute-names
-+.I \-p, \-\-absolute-names
- Do not strip leading slash characters (`/'). The default behavior is to
- strip leading slash characters.
- .TP
--.I \-\-version
-+.I \-n, \-\-numeric
-+List numeric user and group IDs
-+.TP
-+.I \-v, \-\-version
- Print the version of getfacl and exit.
- .TP
--.I \-\-help
-+.I \-h, \-\-help
- Print help explaining the command line options.
- .TP
- .I \-\-
---- acl-2.2.47_old/man/man1/setfacl.1  2008-02-07 04:39:57.000000000 +0100
-+++ acl-2.2.47/man/man1/setfacl.1      2008-07-31 13:53:29.000000000 +0200
-@@ -115,10 +115,10 @@ This also skips symbolic link arguments.
- Only effective in combination with \-R.
- This option cannot be mixed with `\-\-restore'.
- .TP 4
--.I \-\-version
-+.I \-v, \-\-version
- Print the version of setfacl and exit.
- .TP 4
--.I \-\-help
-+.I \-h, \-\-help
- Print help explaining the command line options.
- .TP 4
- .I \-\-
---- acl-2.2.47_old/setfacl/setfacl.c   2008-07-31 11:23:18.000000000 +0200
-+++ acl-2.2.47/setfacl/setfacl.c       2008-07-31 12:23:13.000000000 +0200
-@@ -42,10 +42,10 @@ extern int do_set(const char *path_p, co
- /* '-' stands for `process non-option arguments in loop' */
- #if !POSIXLY_CORRECT
--#  define CMD_LINE_OPTIONS "-:bkndm:M:x:X:RLP"
-+#  define CMD_LINE_OPTIONS "-:bkndvhm:M:x:X:RLP"
- #  define CMD_LINE_SPEC "[-bkndRLP] { -m|-M|-x|-X ... } file ..."
- #endif
--#define POSIXLY_CMD_LINE_OPTIONS "-:bkndm:M:x:X:"
-+#define POSIXLY_CMD_LINE_OPTIONS "-:bkndvhm:M:x:X:"
- #define POSIXLY_CMD_LINE_SPEC "[-bknd] {-m|-M|-x|-X ... } file ..."
- struct option long_options[] = {
-@@ -265,8 +265,8 @@ void help(void)
-       }
- #endif
-       printf(_(
--"      --version           print version and exit\n"
--"      --help              this help text\n"));
-+"  -v, --version           print version and exit\n"
-+"  -h, --help              this help text\n"));
- }
\ No newline at end of file
diff --git a/acl/patches/acl-2.2.47-path_max.patch b/acl/patches/acl-2.2.47-path_max.patch
deleted file mode 100644 (file)
index 42f8524..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- acl-2.2.39/setfacl/parse.c.path_max        2006-06-20 02:51:25.000000000 -0400
-+++ acl-2.2.39/setfacl/parse.c 2006-07-05 15:27:21.000000000 -0400
-@@ -24,6 +24,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <errno.h>
-+#include <limits.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -412,7 +413,12 @@
-       gid_t *gid_p)
- {
-       int c;
--      char linebuf[1024];
-+      /*
-+        Max PATH_MAX bytes even for UTF-8 path names and additional 9 
-+        bytes for "# file: ".Not a good solution but for now it is the 
-+        best I can do without too much impact on the code. [tw]
-+      */
-+      char linebuf[(4*PATH_MAX)+9];
-       char *cp;
-       char *p;
-       int comments_read = 0;
diff --git a/acl/patches/acl-2.2.47-segfault.patch b/acl/patches/acl-2.2.47-segfault.patch
deleted file mode 100644 (file)
index a90c37d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- acl-2.2.45/setfacl/setfacl.c.segfault      2008-01-28 13:56:36.000000000 +0100
-+++ acl-2.2.45/setfacl/setfacl.c       2008-01-28 13:58:08.000000000 +0100
-@@ -679,6 +679,8 @@ int main(int argc, char *argv[])
-               }
-       }
-       while (optind < argc) {
-+              if(!seq)
-+                      goto synopsis;
-               if (seq_empty(seq))
-                       goto synopsis;
-               saw_files = 1;
diff --git a/acl/patches/acl-2.2.47-walk.patch.broken b/acl/patches/acl-2.2.47-walk.patch.broken
deleted file mode 100644 (file)
index 01194f6..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
---- acl-2.2.39/getfacl/getfacl.c.walk  2006-06-20 08:51:25.000000000 +0200
-+++ acl-2.2.39/getfacl/getfacl.c       2007-03-21 10:52:07.000000000 +0100
-@@ -34,7 +34,6 @@
- #include <dirent.h>
- #include <libgen.h>
- #include <getopt.h>
--#include <ftw.h>
- #include <locale.h>
- #include "config.h"
- #include "user_group.h"
-@@ -70,9 +69,9 @@
- const char *progname;
- const char *cmd_line_options;
--int opt_recursive;  /* recurse into sub-directories? */
--int opt_walk_logical;  /* always follow symbolic links */
--int opt_walk_physical;  /* never follow symbolic links */
-+int opt_recursive = 0;  /* recurse into sub-directories? */
-+int opt_walk_logical = 0;  /* always follow symbolic links */
-+int opt_walk_physical = 0;  /* never follow symbolic links */
- int opt_print_acl = 0;
- int opt_print_default_acl = 0;
- int opt_strip_leading_slash = 1;
-@@ -562,71 +561,140 @@
- static int __errors;
--int __do_print(const char *file, const struct stat *stat,
--               int flag, struct FTW *ftw)
-+
-+int walk_tree(const char *file)
- {
--      int saved_errno = errno;
-+      static int level = 0;
-+      static int link_count = 0;
-+      DIR *dir;
-+      struct dirent *entry;
-+      struct stat buf;
-+      char path[FILENAME_MAX];
-+      char path2[FILENAME_MAX];
-+      char path3[FILENAME_MAX];
-+      char *dir_name;
-+      size_t len;
-+      ssize_t slen;
-+      int res;
-       /* Process the target of a symbolic link, and traverse the link,
-            only if doing a logical walk, or if the symbolic link was
-            specified on the command line. Always skip symbolic links if
-            doing a physical walk. */
--      if (S_ISLNK(stat->st_mode) &&
--          (opt_walk_physical || (ftw->level > 0 && !opt_walk_logical)))
-+      len = strlen(file);
-+      /* check for FILENAME_MAX */
-+      if (len >= FILENAME_MAX) {
-+              fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
-+                      strerror(ENAMETOOLONG));
-+              __errors++;
-               return 0;
-+      }
-+      /* string ends with '/', remove it and restart */
-+      if (len > 1 && file[len-1] == '/') {
-+              strncpy(path, file, len);
-+              path[len-1] = '\0'; /* overwrite slash */
-+              return walk_tree(path);
-+      }
--      if (do_print(file, stat))
--              __errors++;
-+      if (level > 0 && !opt_recursive)
-+              return 0;
--      if (flag == FTW_DNR && opt_recursive) {
--              /* Item is a directory which can't be read. */
--              fprintf(stderr, "%s: %s: %s\n",
--                      progname, file, strerror(saved_errno));
-+      if (lstat(file, &buf) != 0) {
-+              fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
-+                      strerror(errno));
-+              __errors++;
-               return 0;
-       }
--      /* We also get here in non-recursive mode. In that case,
--         return something != 0 to abort nftw. */
-+      if (S_ISLNK(buf.st_mode)) {
-+              /* physical means: no links at all */
-+              if (opt_walk_physical)
-+                      return 1;
-+
-+              /* logical: show information or walk if points to directory
-+               * also for symbolic link arguments on level 0 */
-+              if (opt_walk_logical || level == 0) {
-+                      /* copy and append terminating '\0' */
-+                      strncpy(path2, file, len+1);
-+
-+                      /* get directory name */
-+                      dir_name = dirname(path2);
-+
-+                      /* get link target */
-+                      slen = readlink(file, path, FILENAME_MAX-1);
-+                      if (slen < 0) {
-+                              fprintf(stderr, "%s: %s: %s\n", progname,
-+                                      xquote(file), strerror(errno));
-+                              __errors++;
-+                              return 0;
-+                      }
-+                      path[slen] = '\0';
--      if (!opt_recursive)
--              return 1;
-+                      if (slen == 0 || path[0] == '/') {
-+                              /* absolute:
-+                               * copy and append terminating '\0' */
-+                              strncpy(path3, path, slen+1);
-+                      } else
-+                              /* relative */
-+                              snprintf(path3, FILENAME_MAX, "%s/%s",
-+                                       dir_name, path);
-+                      
-+                      if (lstat(path3, &buf) != 0) {
-+                              fprintf(stderr, "%s: %s: %s\n", progname,
-+                                      xquote(path), strerror(errno));
-+                              __errors++;
-+                              return 0;
-+                      }
--      return 0;
--}
-+                      if ((S_ISDIR(buf.st_mode) && opt_recursive && 
-+                           link_count < 1) || S_ISLNK(buf.st_mode)) {
-+                              /* walk directory or follow symlink on level
-+                               * 0 */
-+                              link_count++;
-+                              res = walk_tree(path3);
-+                              link_count--;
-+                              if (res != 1)
-+                                      return 0;
-+                      } else
-+                              if (do_print(path3, &buf))
-+                                      __errors++;
--char *resolve_symlinks(const char *file)
--{
--      static char buffer[4096];
--      char *path = NULL;
--      ssize_t len;
--
--      len = readlink(file, buffer, sizeof(buffer)-1);
--      if (len < 0) {
--              if (errno == EINVAL)    /* not a symlink, use given path */
--                      path = (char *)file;
--      } else {
--              buffer[len+1] = '\0';
--              path = buffer;
-+                      return 1;
-+              }
-       }
--      return path;
--}
--
--int walk_tree(const char *file)
--{
--      const char *p;
--      __errors = 0;
--      if ((p = resolve_symlinks(file)) == NULL) {
--              fprintf(stderr, "%s: %s: %s\n", progname,
--                      xquote(file), strerror(errno));
--              __errors++;
--      } else if (nftw(p, __do_print, 0, opt_walk_logical? 0 : FTW_PHYS) < 0) {
--              fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
--                      strerror(errno));
-+      if (do_print(file, &buf))
-               __errors++;
-+
-+      /* it is a directory, walk */
-+      if (S_ISDIR(buf.st_mode)) {
-+              dir = opendir(file);
-+              if (!dir) {
-+                      fprintf(stderr, "%s: %s: %s\n", progname,
-+                              xquote(file), strerror(errno));
-+                      __errors++;
-+                      return 0;
-+              }
-+
-+              level++;
-+              while ((entry = readdir(dir)) != NULL) {
-+                      if (! strcmp(entry->d_name, ".") || 
-+                          ! strcmp(entry->d_name, ".."))
-+                              continue;
-+
-+                      snprintf(path, FILENAME_MAX, "%s/%s", file,
-+                               entry->d_name);
-+
-+                      /* ignore result, walk every entry */
-+                      res = walk_tree(path);
-+              }
-+              level--;
-+
-+              closedir(dir);
-       }
--      return __errors;
-+
-+      return 1;
- }
- int main(int argc, char *argv[])
-@@ -762,15 +830,22 @@
-                               if (*line == '\0')
-                                       continue;
--                              had_errors += walk_tree(line);
-+                              /* ignore result of walk_tree, use __errors */
-+                              __errors = 0;
-+                              walk_tree(line);
-+                              had_errors += __errors;
-                       }
-                       if (!feof(stdin)) {
-                               fprintf(stderr, _("%s: Standard input: %s\n"),
-                                       progname, strerror(errno));
-                               had_errors++;
-                       }
--              } else
--                      had_errors += walk_tree(argv[optind]);
-+              } else {
-+                      /* ignore result of walk_tree, use __errors */
-+                      __errors = 0;
-+                      walk_tree(argv[optind]);
-+                      had_errors += __errors;
-+              }
-               optind++;
-       } while (optind < argc);
diff --git a/acl/patches/acl-2.2.49-bz675451.patch b/acl/patches/acl-2.2.49-bz675451.patch
new file mode 100644 (file)
index 0000000..cb742b4
--- /dev/null
@@ -0,0 +1,18 @@
+ man/man1/setfacl.1 |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/man/man1/setfacl.1 b/man/man1/setfacl.1
+index 25908e2..776f22d 100644
+--- a/man/man1/setfacl.1
++++ b/man/man1/setfacl.1
+@@ -240,8 +240,8 @@ owner, owning group, or others entry, a copy of the ACL owner, owning group, or
+ .IP * 4
+ If a Default ACL contains named user entries or named group entries, and no mask entry exists, a mask entry containing the same permissions as the default Default ACL's group entry is added. Unless the
+ .I \-n
+-option is given, the permissions of the mask entry are further adjusted to inclu
+-de the union of all permissions affected by the mask entry. (See the
++option is given, the permissions of the mask entry are further adjusted to
++include the union of all permissions affected by the mask entry. (See the
+ .I \-n
+ option description).
+ .PP
diff --git a/acl/patches/acl-2.2.49-tests.patch b/acl/patches/acl-2.2.49-tests.patch
new file mode 100644 (file)
index 0000000..1ceabf8
--- /dev/null
@@ -0,0 +1,136 @@
+diff --git a/test/cp.test b/test/cp.test
+index a888c04..4a75ffd 100644
+--- a/test/cp.test
++++ b/test/cp.test
+@@ -9,7 +9,7 @@ The cp utility should only copy ACLs if `-p' is given.
+       > -rw-rw-r--+
+       
+       $ cp f g
+-      $ ls -l g | awk -- '{ print $1 }'
++      $ ls -l g | awk -- '{ print $1 }' | sed 's/\\.$//'
+       > -rw-r--r--
+       
+       $ rm g
+diff --git a/test/getfacl-recursive.test b/test/getfacl-recursive.test
+index b88c211..a72192e 100644
+--- a/test/getfacl-recursive.test
++++ b/test/getfacl-recursive.test
+@@ -1,5 +1,6 @@
+ Tests for proper path recursion
++      $ umask 022
+       $ mkdir -p 1/2/3
+       $ mkdir 1/link
+       $ touch 1/link/file
+diff --git a/test/misc.test b/test/misc.test
+index 7c62c64..e6140da 100644
+--- a/test/misc.test
++++ b/test/misc.test
+@@ -254,7 +254,7 @@ Add some users and groups
+ Symlink in directory with default ACL?
+        
+       $ ln -s d d/l
+-      $ ls -dl d/l | awk '{print $1}'
++      $ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//'
+       > lrwxrwxrwx
+       $ ls -dl -L d/l | awk '{print $1}'
+@@ -343,7 +343,7 @@ Remove the default ACL
+ Reset to base entries
+        
+       $ setfacl -b d
+-      $ ls -dl d | awk '{print $1}'
++      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//'
+       > drwxr-x---
+       $ getfacl --omit-header d
+@@ -355,7 +355,7 @@ Reset to base entries
+ Now, chmod should change the group_obj entry
+        
+       $ chmod 775 d
+-      $ ls -dl d | awk '{print $1}'
++      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//'
+       > drwxrwxr-x
+       
+       $ getfacl --omit-header d
+diff --git a/test/root/permissions.test b/test/root/permissions.test
+index afaf5f0..4880bd2 100644
+--- a/test/root/permissions.test
++++ b/test/root/permissions.test
+@@ -20,7 +20,7 @@ defined permissions.
+       $ cd d
+       $ umask 027
+       $ touch f
+-      $ ls -l f | awk -- '{ print $1, $3, $4 }'
++      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
+       > -rw-r----- root root
+@@ -40,7 +40,7 @@ Now, change the ownership of the file to bin:bin and verify that this
+ gives user bin write access.
+       $ chown bin:bin f
+-      $ ls -l f | awk -- '{ print $1, $3, $4 }'
++      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
+       > -rw-r----- bin bin
+       $ su bin
+       $ echo bin >> f
+@@ -257,12 +257,12 @@ directories if the file has an ACL and only CAP_FOWNER would grant them.
+       $ mkdir -m 600 x
+       $ chown daemon:daemon x
+       $ echo j > x/j
+-      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
++      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
+       > -rw-r----- root root
+       $ setfacl -m u:daemon:r x
+-      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
++      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
+       > -rw-r----- root root
+       (With the bug this gives: `ls: x/j: Permission denied'.)
+diff --git a/test/root/restore.test b/test/root/restore.test
+index 6003cd4..5dbf73c 100644
+--- a/test/root/restore.test
++++ b/test/root/restore.test
+@@ -17,7 +17,7 @@ Ensure setuid bit is restored when the owner changes
+       $ chown bin passwd
+       $ chmod u+s passwd
+       $ setfacl --restore passwd.acl
+-      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}'
++      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}' | sed 's/\\. root/ root/'
+       > -rwsr-xr-x root root
+       $ rm passwd passwd.acl
+diff --git a/test/root/setfacl.test b/test/root/setfacl.test
+index 630e9fb..dd7fe08 100644
+--- a/test/root/setfacl.test
++++ b/test/root/setfacl.test
+@@ -8,7 +8,7 @@ Setfacl utility tests. Run these tests on a filesystem with ACL support.
+       $ sg bin
+       $ umask 027
+       $ touch g
+-      $ ls -dl g | awk '{print $1}'
++      $ ls -dl g | awk '{print $1}' | sed 's/\\.$//'
+       > -rw-r-----
+       $ setfacl -m m:- g
+diff --git a/test/sbits-restore.test b/test/sbits-restore.test
+index e5e4fb2..abdb58a 100644
+--- a/test/sbits-restore.test
++++ b/test/sbits-restore.test
+@@ -13,10 +13,10 @@ Ensure setting of SUID/SGID/sticky via --restore works
+       $ touch d/g
+       $ touch d/u
+       $ setfacl --restore d.acl
+-      $ ls -dl d | awk '{print $1}'
++      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//'
+       > drwxr-xr-t
+-      $ ls -dl d/u | awk '{print $1}'
++      $ ls -dl d/u | awk '{print $1}' | sed 's/\\.$//'
+       > -rwSr--r--
+-      $ ls -dl d/g | awk '{print $1}'
++      $ ls -dl d/g | awk '{print $1}' | sed 's/\\.$//'
+       > -rw-r-Sr--
+       $ rm -Rf d
index 3dc8a6be4df3cf743082b4b7e9401fa5c24c0deb..a4632da94ab0561b7abfb1919c3a073f786f57aa 100644 (file)
@@ -5,10 +5,10 @@
 
 name       = apr-util
 version    = 1.4.1
-release    = 1
+release    = 2
 
 groups     = System/Libraries
-url        = ttp://apr.apache.org/
+url        = http://apr.apache.org/
 license    = ASL 2.0
 summary    = Apache Portable Runtime library.
 
diff --git a/asciidoc/asciidoc.nm b/asciidoc/asciidoc.nm
new file mode 100644 (file)
index 0000000..7cbf2b4
--- /dev/null
@@ -0,0 +1,61 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = asciidoc
+version    = 8.4.5
+release    = 1
+arch       = noarch
+
+groups     = Application/System
+url        = http://www.methods.co.nz/asciidoc/
+license    = GPL+ and GPLv2+
+summary    = Text based document generation.
+
+description
+       AsciiDoc is a text document format for writing short documents,
+       articles, books and UNIX man pages. AsciiDoc files can be translated
+       to HTML and DocBook markups using the asciidoc(1) command.
+end
+
+source_dl  = http://sourceforge.net/projects/asciidoc/files/%{name}/%{version}/
+
+build
+       requires
+               python
+       end
+
+       prepare_cmds
+               # Remove forbidden "env" interpreter from script.
+               sed -e "s@#!.*@#!/bin/bash@g" -i a2x
+       end
+
+       install_cmds
+               # Determite python version.
+               PYTHON_VERSION=$(python -c "import platform; print '.'.join(platform.python_version_tuple()[:2])")
+
+               # Create file layout.
+               mkdir -pv %{BUILDROOT}/etc/asciidoc
+               mkdir -pv %{BUILDROOT}/usr/lib/python${PYTHON_VERSION}/site-packages
+
+               # Move config data to /etc and link it to correct place,
+               # so asciidoc will work.
+               for dir in dblatex docbook-xsl images javascripts stylesheets ; do
+                       mv %{BUILDROOT}/etc/asciidoc/$dir \
+                               %{BUILDROOT}/usr/share/asciidoc
+                       ln -svf ../../usr/share/asciidoc/$dir %{BUILDROOT}/etc/asciidoc/
+               done
+
+               # Install python API.
+               install -Dpm 644 asciidocapi.py %{BUILDROOT}/usr/lib/python${PYTHON_VERSION}/site-packages/asciidocapi.py
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       docbook-xsl
+               end
+       end
+end
diff --git a/asciidoc/patches/asciidoc-8.4.5-datadir.patch b/asciidoc/patches/asciidoc-8.4.5-datadir.patch
new file mode 100644 (file)
index 0000000..5e34ee2
--- /dev/null
@@ -0,0 +1,86 @@
+diff -up asciidoc-8.4.5/asciidoc.py.datadir asciidoc-8.4.5/asciidoc.py
+--- asciidoc-8.4.5/asciidoc.py.datadir 2009-05-26 05:12:38.000000000 +0300
++++ asciidoc-8.4.5/asciidoc.py 2009-09-08 00:25:23.000000000 +0300
+@@ -651,6 +651,8 @@ def filter_lines(filter_cmd, lines, attr
+         if not found:
+             found = findfilter(filtername, CONF_DIR, cmd)
+         if not found:
++            found = findfilter(filtername, DATA_DIR, cmd)
++        if not found:
+             found = findfilter(filtername, APP_DIR, cmd)
+     else:
+         if os.path.isfile(cmd):
+@@ -4997,6 +4999,7 @@ APP_DIR = None              # This file'
+ USER_DIR = None             # ~/.asciidoc
+ # Global configuration files directory (set by Makefile build target).
+ CONF_DIR = '/etc/asciidoc'
++DATA_DIR = '/usr/share/asciidoc'
+ HELP_FILE = 'help.conf'     # Default (English) help file.
+ # Globals
+diff -up asciidoc-8.4.5/Makefile.in.datadir asciidoc-8.4.5/Makefile.in
+--- asciidoc-8.4.5/Makefile.in.datadir 2009-04-24 01:49:43.000000000 +0300
++++ asciidoc-8.4.5/Makefile.in 2009-09-08 00:28:23.000000000 +0300
+@@ -23,6 +23,7 @@ srcdir = @srcdir@
+ VPATH = @srcdir@
+ ASCIIDOCCONF = $(sysconfdir)/asciidoc
++ASCIIDOCDATA = $(datadir)/asciidoc
+ prog = asciidoc.py a2x
+ progdir = $(bindir)
+@@ -35,25 +36,26 @@ manpdir = $(mandir)/man1
+ conf = $(wildcard *.conf)
+ confdir = $(ASCIIDOCCONF)
+-filtersdir = $(ASCIIDOCCONF)/filters
++filtersdir = $(ASCIIDOCDATA)/filters
++filtersconfdir = $(ASCIIDOCCONF)/filters
+ codefilter = filters/code/code-filter.py
+ codefilterdir = $(filtersdir)/code
+ codefilterconf = filters/code/code-filter.conf
+-codefilterconfdir = $(filtersdir)/code
++codefilterconfdir = $(filtersconfdir)/code
+ graphvizfilter = filters/graphviz/graphviz2png.py
+ graphvizfilterdir = $(filtersdir)/graphviz
+ graphvizfilterconf = filters/graphviz/graphviz-filter.conf
+-graphvizfilterconfdir = $(filtersdir)/graphviz
++graphvizfilterconfdir = $(filtersconfdir)/graphviz
+ musicfilter = filters/music/music2png.py
+ musicfilterdir = $(filtersdir)/music
+ musicfilterconf = filters/music/music-filter.conf
+-musicfilterconfdir = $(filtersdir)/music
++musicfilterconfdir = $(filtersconfdir)/music
+ sourcefilterconf = filters/source/source-highlight-filter.conf
+-sourcefilterconfdir = $(filtersdir)/source
++sourcefilterconfdir = $(filtersconfdir)/source
+ docbook = $(wildcard docbook-xsl/*.xsl)
+ docbookdir = $(ASCIIDOCCONF)/docbook-xsl
+@@ -126,6 +128,13 @@ fixconfpath:
+               mv $$f.out $$f; \
+       done
++fixdatapath:
++      @for f in $(prog); do \
++              echo "Fixing DATA_DIR in $$f"; \
++              $(SED) "s#^DATA_DIR = '.*'#DATA_DIR = '$(ASCIIDOCDATA)'#; s#^DATA_DIR=.*#DATA_DIR=$(ASCIIDOCDATA)#" $$f > $$f.out; \
++              mv $$f.out $$f; \
++      done
++
+ install-vim:
+       @for d in $(DESTDIR)/$(vimdir) /etc/vim; do \
+               if ! test -d $$d; then continue; fi ; \
+@@ -145,7 +154,7 @@ uninstall-vim:
+       done
+-build: fixconfpath
++build: fixconfpath fixdatapath
+ install: all $(PROGTARGETS) $(DATATARGETS) progsymlink install-vim
diff --git a/asciidoc/patches/asciidoc-8.4.5-use-unsafe-mode-by-default.patch b/asciidoc/patches/asciidoc-8.4.5-use-unsafe-mode-by-default.patch
new file mode 100644 (file)
index 0000000..0d93cc6
--- /dev/null
@@ -0,0 +1,38 @@
+diff -up asciidoc-8.4.5/asciidoc.py.default-unsafe asciidoc-8.4.5/asciidoc.py
+--- asciidoc-8.4.5/asciidoc.py.default-unsafe  2009-05-25 22:12:38.000000000 -0400
++++ asciidoc-8.4.5/asciidoc.py 2009-07-16 02:27:09.000000000 -0400
+@@ -1138,7 +1138,7 @@ class Document:
+         self.level = 0          # 0 => front matter. 1,2,3 => sect1,2,3.
+         self.has_errors = False # Set true if processing errors were flagged.
+         self.has_warnings = False # Set true if warnings were flagged.
+-        self.safe = True        # Default safe mode.
++        self.safe = False       # Default safe mode.
+     def update_attributes(self):
+         # Set implicit attributes.
+         if self.infile and os.path.exists(self.infile):
+@@ -5205,8 +5205,8 @@ def execute(cmd,opts,args):
+     for o,v in opts:
+         if o in ('--help','-h'):
+             help_option = True
+-        if o == '--unsafe':
+-            document.safe = False
++        if o == '--safe':
++            document.safe = True
+         if o == '--version':
+             print('asciidoc %s' % VERSION)
+             sys.exit(0)
+diff -up asciidoc-8.4.5/doc/asciidoc.1.default-unsafe asciidoc-8.4.5/doc/asciidoc.1
+--- asciidoc-8.4.5/doc/asciidoc.1.default-unsafe       2009-05-26 02:38:36.000000000 -0400
++++ asciidoc-8.4.5/doc/asciidoc.1      2009-08-12 23:51:09.000000000 -0400
+@@ -123,9 +123,9 @@ Auto\-number HTML article section titles
+ \fB\-a numbered\fR\.
+ .RE
+ .PP
+-\fB\-\-unsafe\fR
++\fB\-\-safe\fR
+ .RS 4
+-Disable safe mode\. Safe mode is enabled by default, disabling it is potentially dangerous\.
++Enable safe mode\. Safe mode is disabled by default\.
+ .RE
+ .PP
+ \fB\-v, \-\-verbose\fR
index 54592c8a0aaa47d223e6c6e7803d3bf3866645cc..2a9b2f0d1232756aa9f337c3aa88665c88cc07af 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = attr
 version    = 2.4.43
-release    = 3
+release    = 6
 
 groups     = System/Filesystems
 url        = http://oss.sgi.com/projects/xfs/
@@ -13,7 +13,7 @@ license    = GPLv2+ LGPLv2+
 summary    = Tools for extended attribute support.
 
 description
-       A set of tools for manipulating extended attributes on filesystem \
+       A set of tools for manipulating extended attributes on filesystem
        objects.
 end
 
@@ -26,22 +26,16 @@ build
        end
 
        configure_options += \
-               --bindir=/bin \
+               --libexecdir=%{libdir} \
                --enable-shared
 
        make_build_targets += LIBTOOL="libtool --tag=CC"
+       make_install_targets += install-lib install-dev
 
        install_cmds
-               # Install libraries.
-               mkdir -pv %{BUILDROOT}/%{lib} %{BUILDROOT}%{libdir}
-               install -v -m0755 libattr/.libs/libattr.so.1.1.0 %{BUILDROOT}/%{lib}
-               ln -vsf libattr.so.1.1.0 %{BUILDROOT}/%{lib}/libattr.so.1
-               ln -vsf ../../%{lib}/libattr.so.1 %{BUILDROOT}%{libdir}/libattr.so
-
-               # Install includes.
-               install -v -d %{BUILDROOT}%{includedir}/attr
-               cp -vf include/{attributes.h,error_context.h,libattr.h,xattr.h} \
-                       %{BUILDROOT}%{includedir}/attr/
+               # Fix absolute symlink.
+               rm -rvf %{BUILDROOT}%{libdir}/libattr.so
+               ln -svf libattr.so.1 %{BUILDROOT}%{libdir}/libattr.so
        end
 end
 
diff --git a/attr/patches/attr-2.4.46-build.patch b/attr/patches/attr-2.4.46-build.patch
new file mode 100644 (file)
index 0000000..44d5c26
--- /dev/null
@@ -0,0 +1,38 @@
+diff -Nur a/include/builddefs.in b/include/builddefs.in
+--- a/include/builddefs.in     2008-06-30 07:38:27.000000000 +0200
++++ b/include/builddefs.in     2012-04-12 22:20:47.479076688 +0200
+@@ -27,14 +27,14 @@
+ PKG_VERSION   = @pkg_version@
+ PKG_PLATFORM  = @pkg_platform@
+ PKG_DISTRIBUTION= @pkg_distribution@
+-PKG_BIN_DIR   = @bindir@
+-PKG_SBIN_DIR  = @sbindir@
+-PKG_LIB_DIR   = @libdir@@libdirsuffix@
+-PKG_DEVLIB_DIR        = @libexecdir@@libdirsuffix@
+-PKG_INC_DIR   = @includedir@/attr
+-PKG_MAN_DIR   = @mandir@
+-PKG_DOC_DIR   = @datadir@/doc/@pkg_name@
+-PKG_LOCALE_DIR        = @datadir@/locale
++PKG_BIN_DIR   = $(DESTDIR)@bindir@
++PKG_SBIN_DIR  = $(DESTDIR)@sbindir@
++PKG_LIB_DIR   = $(DESTDIR)@libdir@@libdirsuffix@
++PKG_DEVLIB_DIR        = $(DESTDIR)@libexecdir@@libdirsuffix@
++PKG_INC_DIR   = $(DESTDIR)@includedir@/attr
++PKG_MAN_DIR   = $(DESTDIR)@mandir@
++PKG_DOC_DIR   = $(DESTDIR)@datadir@/doc/@pkg_name@
++PKG_LOCALE_DIR        = $(DESTDIR)@datadir@/locale
+ CC            = @cc@
+ AWK           = @awk@
+diff -Nur a/include/buildmacros b/include/buildmacros
+--- a/include/buildmacros      2008-06-30 07:22:18.000000000 +0200
++++ b/include/buildmacros      2012-04-12 22:21:18.737379800 +0200
+@@ -27,7 +27,7 @@
+         $(LFILES:.l=.o) \
+         $(YFILES:%.y=%.tab.o)
+-INSTALL       = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
++INSTALL       = $(TOPDIR)/install-sh
+ SHELL = /bin/sh
+ IMAGES_DIR = $(TOPDIR)/all-images
index 239c63f9fd1a96871af44e11a35bf25c0e78f5f7..de634d824b01c40b7b3b670f4c0af0fe8f0466bd 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = audit
-version    = 2.1.3
-release    = 8
+version    = 2.2
+release    = 2
 
 groups     = System/Daemons
 url        = http://people.redhat.com/sgrubb/audit/
@@ -32,9 +32,6 @@ build
        end
 
        configure_options += \
-               --sysconfdir=/etc \
-               --sbindir=/sbin \
-               --libdir=/%{lib} \
                --without-prelude \
                --without-libwrap \
                --enable-gssapi-krb5=no \
@@ -45,13 +42,6 @@ build
        end
 
        install_cmds
-               rm -vf %{BUILDROOT}/%{lib}/libau{dit,parse}.so
-               ln -svf ../../%{lib}/libaudit.so.1 %{BUILDROOT}%{libdir}/libaudit.so
-               ln -svf ../../%{lib}/libauparse.so.0 %{BUILDROOT}%{libdir}/libauparse.so
-
-               mkdir -pv %{BUILDROOT}/usr/sbin/
-               mv -v %{BUILDROOT}/sbin/audisp*remote %{BUILDROOT}/usr/sbin/
-
                mkdir -pv %{BUILDROOT}/var/log/audit
 
                rm -rfv %{BUILDROOT}/etc/{rc.d,sysconfig}
@@ -100,7 +90,7 @@ packages
                description = %{summary}
 
                files
-                       /usr/lib/python*/
+                       %{libdir}/python*/
                end
        end
 
index 12b7230cb1fd48e7e4e5f156001c0493a178ee9c..e23aa668922cf7f1079b560486b68b304260818b 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = authconfig
-version    = 6.1.14
+version    = 6.2.2
 release    = 2
 
 groups     = System/Base
@@ -13,9 +13,9 @@ license    = GPLv2+
 summary    = Command line tool for setting up authentication from network services.
 
 description
-       Authconfig is a command line utility which can configure a workstation\
-       to use shadow (more secure) passwords.  Authconfig can also configure a \
-       system to be a client for certain networked user information and \
+       Authconfig is a command line utility which can configure a workstation
+       to use shadow (more secure) passwords.  Authconfig can also configure a
+       system to be a client for certain networked user information and
        authentication schemes.
 end
 
@@ -28,6 +28,9 @@ build
                python-devel
        end
 
+       # Manually link against libresolv.
+       export LDFLAGS += -lresolv
+
        configure_options += \
                --sysconfdir=/etc \
                --localstatedir=/var \
@@ -61,6 +64,9 @@ build
 
                # Remove app icons for authconfig
                rm -rf %{BUILDROOT}/usr/share/icons
+
+               # Remove unneded stuff for X11
+               rm -rf %{BUILDROOT}/etc/X11
        end
 end
 
index 3dec57f836e163cf6ea5155c8fefa4664f5cbb1c..dbf95ef822fd601e61db9081f3025d4b253f067c 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = autogen
-version    = 5.9.4
+version    = 5.14
 release    = 1
 
 groups     = Development/Tools
@@ -19,17 +19,36 @@ description
        synchronised.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/autogen/
+source_dl  = ftp://ftp.gnu.org/gnu/autogen/rel%{version}/
 
 build
        requires
                guile-devel
+               libtool
                libxml2-devel
        end
+
+       LDFLAGS += -lguile
+
+       prepare_cmds
+               rm -vf libtool
+               cp -vf $(which libtool) libtool
+
+               # Omit unused direct shared library dependencies.
+               sed --in-place --expression 's! -shared ! -Wl,--as-needed\0!g' ./libtool
+       end
+
+       install_cmds
+               rm -vf %{BUILDROOT}%{datadir}/%{name}/autoopts.m4
+               rm -vf %{BUILDROOT}%{datadir}/%{name}/libopts-31.0.6.tar.gz
+       end
 end
 
 packages
        package %{name}
+
+       package %{name}-libs
+               template LIBS
        end
 
        package %{name}-debuginfo
index a0d4e98b850770998e05fce0854fbb939afd45b9..fe6839dacb903404eaf00b0be71258df11adc575 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = avahi
 version    = 0.6.30
-release    = 1
+release    = 2
 
 groups     = Networking/Zeroconf
 url        = http://avahi.org/
@@ -41,10 +41,6 @@ build
        end
 
        configure_options += \
-               --bindir=/bin \
-               --mandir=/usr/share/man \
-               --sysconfdir=/etc \
-               --localstatedir=/var \
                --with-distro=none \
                --disable-gdbm \
                --disable-qt3 \
diff --git a/bash-completion/bash-completion-1.99-redefine_filedir.bash b/bash-completion/bash-completion-1.99-redefine_filedir.bash
new file mode 100644 (file)
index 0000000..f8c2a38
--- /dev/null
@@ -0,0 +1,49 @@
+# This is a copy of the _filedir function in bash_completion, included
+# and (re)defined separately here because some versions of Adobe
+# Reader, if installed, are known to override this function with an
+# incompatible version, causing various problems.
+#
+# https://bugzilla.redhat.com/677446
+# http://forums.adobe.com/thread/745833
+
+_filedir()
+{
+    local i IFS=$'\n' xspec
+
+    _tilde "$cur" || return 0
+
+    local -a toks
+    local quoted tmp
+
+    _quote_readline_by_ref "$cur" quoted
+    toks=( $(
+        compgen -d -- "$quoted" | {
+            while read -r tmp; do
+                # TODO: I have removed a "[ -n $tmp ] &&" before 'printf ..',
+                #       and everything works again. If this bug suddenly
+                #       appears again (i.e. "cd /b<TAB>" becomes "cd /"),
+                #       remember to check for other similar conditionals (here
+                #       and _filedir_xspec()). --David
+                printf '%s\n' $tmp
+            done
+        }
+    ))
+
+    if [[ "$1" != -d ]]; then
+        # Munge xspec to contain uppercase version too
+        # http://thread.gmane.org/gmane.comp.shells.bash.bugs/15294/focus=15306
+        xspec=${1:+"!*.@($1|${1^^})"}
+        toks+=( $( compgen -f -X "$xspec" -- $quoted ) )
+    fi
+
+    # If the filter failed to produce anything, try without it if configured to
+    [[ -n ${COMP_FILEDIR_FALLBACK:-} && \
+        -n "$1" && "$1" != -d && ${#toks[@]} -lt 1 ]] && \
+        toks+=( $( compgen -f -- $quoted ) )
+
+    if [[ ${#toks[@]} -ne 0 ]]; then
+        # 2>/dev/null for direct invocation, e.g. in the _filedir unit test
+        compopt -o filenames 2>/dev/null
+        COMPREPLY+=( "${toks[@]}" )
+    fi
+} # _filedir()
diff --git a/bash-completion/bash-completion.nm b/bash-completion/bash-completion.nm
new file mode 100644 (file)
index 0000000..6e0eda4
--- /dev/null
@@ -0,0 +1,39 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = bash-completion
+version    = 1.99
+release    = 1
+arch       = noarch
+
+groups     = Development/Languages
+url        = http://bash-completion.alioth.debian.org/
+license    = GPLv2+
+summary    = Programmable completion for Bash.
+
+description
+       bash-completion is a collection of shell functions that take advantage
+       of the programmable completion feature of bash.
+end
+
+source_dl  = http://bash-completion.alioth.debian.org/files/
+sources    = %{thisapp}.tar.bz2
+
+build
+       install_cmds
+               rm -rvf %{BUILDROOT}%{datadir}/bash-completion/completions/{cawsay,cowthink}
+
+               install -Dpm 644 %{DIR_SOURCE}/bash-completion-1.99-redefine_filedir.bash \
+                       %{BUILDROOT}%{sysconfdir}/bash_completion.d/redefine_filedir
+       end
+end
+
+packages
+       package %{name}
+
+       requires
+               bash >= 4.1
+       end
+end
diff --git a/bash-completion/patches/bash-completion-1.99-noblacklist.patch b/bash-completion/patches/bash-completion-1.99-noblacklist.patch
new file mode 100644 (file)
index 0000000..f3cd42e
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up bash-completion-1.99/bash_completion~ bash-completion-1.99/bash_completion
+--- bash-completion-1.99/bash_completion~      2012-01-08 01:03:46.000000000 +0200
++++ bash-completion-1.99/bash_completion       2012-01-08 13:50:33.412012530 +0200
+@@ -45,7 +45,7 @@ readonly BASH_COMPLETION_COMPAT_DIR
+ # Blacklisted completions, causing problems with our code.
+ #
+-_blacklist_glob='@(acroread.sh)'
++_blacklist_glob='@()' 
+ # Turn on extended globbing and programmable completion
+ shopt -s extglob progcomp
index bc5364cb6cf0029c8d1ff9ffea63b04d0e1c7e9b..c71e528774d7daf325c3fe1b2e990266d50a4b6f 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = bash
 version    = 4.2
-release    = 5
+release    = 9
 
 groups     = System/Tools
 url        = http://www.gnu.org/software/bash/
@@ -26,6 +26,7 @@ build
                autoconf
                automake
                bison
+               filesystem >= 002
                ncurses-devel
                readline-devel
        end
@@ -41,7 +42,6 @@ build
        end
 
        configure_options += \
-               --bindir=/bin \
                --without-bash-malloc \
                --with-installed-readline
 
@@ -51,7 +51,7 @@ build
        #end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/{bin,etc/profile.d,root}
+               mkdir -pv %{BUILDROOT}/{etc/profile.d,root}
 
                # Bash startup files
                cp -vf %{DIR_SOURCE}/dot_bash_logout %{BUILDROOT}/root/.bash_logout
@@ -61,7 +61,7 @@ build
                # /etc/profile.d
                cp -vf %{DIR_SOURCE}/profile.d/* %{BUILDROOT}/etc/profile.d
 
-               ln -svf bash %{BUILDROOT}/bin/sh
+               ln -svf bash %{BUILDROOT}%{bindir}/sh
        end
 end
 
@@ -69,13 +69,22 @@ packages
        package %{name}
                groups += Base Build
 
-               prerequires = coreutils
                requires
+                       coreutils
                        /etc/bashrc
                        /etc/profile
                end
 
-               script postin
+               provides
+                       /bin/bash
+                       /bin/sh
+               end
+
+               conflicts
+                       filesystem < 002
+               end
+
+               script posttransin
                        # Create /etc/shells, if it does not exist.
                        [ -f "/etc/shells" ] || touch /etc/shells
 
diff --git a/bash/patches/bash-requires.patch b/bash/patches/bash-requires.patch
new file mode 100644 (file)
index 0000000..63ef4d7
--- /dev/null
@@ -0,0 +1,311 @@
+diff -up bash-4.1/builtins.h.requires bash-4.1/builtins.h
+--- bash-4.1/builtins.h.requires       2009-01-04 20:32:23.000000000 +0100
++++ bash-4.1/builtins.h        2010-08-02 17:42:41.000000000 +0200
+@@ -41,6 +41,8 @@
+ #define SPECIAL_BUILTIN 0x08  /* This is a Posix `special' builtin. */
+ #define ASSIGNMENT_BUILTIN 0x10       /* This builtin takes assignment statements. */
+ #define POSIX_BUILTIN 0x20    /* This builtins is special in the Posix command search order. */
++#define REQUIRES_BUILTIN 0x40 /* This builtin requires other files. */
++
+ #define BASE_INDENT   4
+diff -up bash-4.1/builtins/mkbuiltins.c.requires bash-4.1/builtins/mkbuiltins.c
+--- bash-4.1/builtins/mkbuiltins.c.requires    2009-01-04 20:32:23.000000000 +0100
++++ bash-4.1/builtins/mkbuiltins.c     2010-08-02 17:42:41.000000000 +0200
+@@ -69,9 +69,15 @@ extern char *strcpy ();
+ #define whitespace(c) (((c) == ' ') || ((c) == '\t'))
+ /* Flag values that builtins can have. */
++/*  These flags are for the C code generator, 
++    the C which is produced (./builtin.c)
++    includes the flags definitions found 
++    in ../builtins.h */
+ #define BUILTIN_FLAG_SPECIAL  0x01
+ #define BUILTIN_FLAG_ASSIGNMENT 0x02
+ #define BUILTIN_FLAG_POSIX_BUILTIN 0x04
++#define BUILTIN_FLAG_REQUIRES 0x08
++
+ #define BASE_INDENT   4
+@@ -163,10 +169,18 @@ char *posix_builtins[] =
+   (char *)NULL
+ };
++/* The builtin commands that cause requirements on other files. */
++static char *requires_builtins[] =
++{
++  ".", "command", "exec", "source", "inlib",
++  (char *)NULL
++};
++
+ /* Forward declarations. */
+ static int is_special_builtin ();
+ static int is_assignment_builtin ();
+ static int is_posix_builtin ();
++static int is_requires_builtin ();
+ #if !defined (HAVE_RENAME)
+ static int rename ();
+@@ -812,6 +826,9 @@ builtin_handler (self, defs, arg)
+     new->flags |= BUILTIN_FLAG_ASSIGNMENT;
+   if (is_posix_builtin (name))
+     new->flags |= BUILTIN_FLAG_POSIX_BUILTIN;
++  if (is_requires_builtin (name))
++    new->flags |= BUILTIN_FLAG_REQUIRES;
++
+   array_add ((char *)new, defs->builtins);
+   building_builtin = 1;
+@@ -1229,11 +1246,12 @@ write_builtins (defs, structfile, extern
+                 else
+                   fprintf (structfile, "(sh_builtin_func_t *)0x0, ");
+-                fprintf (structfile, "%s%s%s%s, %s_doc,\n",
++                fprintf (structfile, "%s%s%s%s%s, %s_doc,\n",
+                   "BUILTIN_ENABLED | STATIC_BUILTIN",
+                   (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "",
+                   (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "",
+                   (builtin->flags & BUILTIN_FLAG_POSIX_BUILTIN) ? " | POSIX_BUILTIN" : "",
++                  (builtin->flags & BUILTIN_FLAG_REQUIRES) ? " | REQUIRES_BUILTIN" : "",
+                   document_name (builtin));
+                 fprintf
+@@ -1581,6 +1599,13 @@ is_posix_builtin (name)
+   return (_find_in_table (name, posix_builtins));
+ }
++static int
++is_requires_builtin (name)
++     char *name;
++{
++  return (_find_in_table (name, requires_builtins));
++}
++
+ #if !defined (HAVE_RENAME)
+ static int
+ rename (from, to)
+diff -up bash-4.1/doc/bash.1.requires bash-4.1/doc/bash.1
+--- bash-4.1/doc/bash.1.requires       2010-08-02 17:42:41.000000000 +0200
++++ bash-4.1/doc/bash.1        2010-08-02 18:09:27.000000000 +0200
+@@ -231,6 +231,14 @@ The shell becomes restricted (see
+ .B "RESTRICTED SHELL"
+ below).
+ .TP
++.B \-\-rpm-requires
++Produce the list of files that are required for the 
++shell script to run.  This implies '-n' and is subject
++to the same limitations as compile time error checking checking;
++Command substitutions, Conditional expressions and
++.BR eval
++builtin are not parsed so some dependencies may be missed.
++.TP
+ .B \-\-verbose
+ Equivalent to  \fB\-v\fP.
+ .TP
+diff -up bash-4.1/doc/bashref.texi.requires bash-4.1/doc/bashref.texi
+--- bash-4.1/doc/bashref.texi.requires 2010-08-02 17:42:41.000000000 +0200
++++ bash-4.1/doc/bashref.texi  2010-08-02 18:11:58.000000000 +0200
+@@ -5343,6 +5343,13 @@ standard.  @xref{Bash POSIX Mode}, for a
+ @item --restricted
+ Make the shell a restricted shell (@pxref{The Restricted Shell}).
++@item --rpm-requires
++Produce the list of files that are required for the 
++shell script to run.  This implies '-n' and is subject
++to the same limitations as compile time error checking checking;
++Command substitutions, Conditional expressions and @command{eval}
++are not parsed so some dependencies may be missed.
++
+ @item --verbose
+ Equivalent to @option{-v}.  Print shell input lines as they're read.
+diff -up bash-4.1/eval.c.requires bash-4.1/eval.c
+--- bash-4.1/eval.c.requires   2009-01-04 20:32:26.000000000 +0100
++++ bash-4.1/eval.c    2010-08-02 17:42:41.000000000 +0200
+@@ -53,6 +53,7 @@ extern int last_command_exit_value, stdi
+ extern int need_here_doc;
+ extern int current_command_number, current_command_line_count, line_number;
+ extern int expand_aliases;
++extern int rpm_requires;
+ static void send_pwd_to_eterm __P((void));
+ static sighandler alrm_catcher __P((int));
+@@ -136,7 +137,7 @@ reader_loop ()
+       if (read_command () == 0)
+       {
+-        if (interactive_shell == 0 && read_but_dont_execute)
++        if (interactive_shell == 0 && (read_but_dont_execute && !rpm_requires))
+           {
+             last_command_exit_value = EXECUTION_SUCCESS;
+             dispose_command (global_command);
+diff -up bash-4.1/execute_cmd.c.requires bash-4.1/execute_cmd.c
+--- bash-4.1/execute_cmd.c.requires    2010-08-02 17:42:41.000000000 +0200
++++ bash-4.1/execute_cmd.c     2010-08-02 17:42:41.000000000 +0200
+@@ -503,6 +503,8 @@ async_redirect_stdin ()
+ #define DESCRIBE_PID(pid) do { if (interactive) describe_pid (pid); } while (0)
++extern int rpm_requires;
++
+ /* Execute the command passed in COMMAND, perhaps doing it asynchrounously.
+    COMMAND is exactly what read_command () places into GLOBAL_COMMAND.
+    ASYNCHROUNOUS, if non-zero, says to do this command in the background.
+@@ -534,7 +536,13 @@ execute_command_internal (command, async
+ #else
+   if (breaking || continuing)
+     return (last_command_exit_value);
+-  if (command == 0 || read_but_dont_execute)
++  if (command == 0 || (read_but_dont_execute && !rpm_requires))
++    return (EXECUTION_SUCCESS);
++  if (rpm_requires && command->type == cm_function_def)
++    return last_command_exit_value =
++      execute_intern_function (command->value.Function_def->name,
++                              command->value.Function_def->command);
++  if (read_but_dont_execute)
+     return (EXECUTION_SUCCESS);
+ #endif
+@@ -5066,7 +5074,7 @@ execute_intern_function (name, function)
+   if (check_identifier (name, posixly_correct) == 0)
+     {
+-      if (posixly_correct && interactive_shell == 0)
++      if (posixly_correct && interactive_shell == 0 && rpm_requires == 0)
+       {
+         last_command_exit_value = EX_BADUSAGE;
+         jump_to_top_level (ERREXIT);
+diff -up bash-4.1/execute_cmd.h.requires bash-4.1/execute_cmd.h
+--- bash-4.1/execute_cmd.h.requires    2009-01-16 22:20:15.000000000 +0100
++++ bash-4.1/execute_cmd.h     2010-08-02 17:42:41.000000000 +0200
+@@ -22,6 +22,8 @@
+ #define _EXECUTE_CMD_H_
+ #include "stdc.h"
++#include "variables.h"
++#include "command.h"
+ extern struct fd_bitmap *new_fd_bitmap __P((int));
+ extern void dispose_fd_bitmap __P((struct fd_bitmap *));
+diff -up bash-4.1/make_cmd.c.requires bash-4.1/make_cmd.c
+--- bash-4.1/make_cmd.c.requires       2009-09-11 23:26:12.000000000 +0200
++++ bash-4.1/make_cmd.c        2010-08-02 17:42:41.000000000 +0200
+@@ -42,11 +42,15 @@
+ #include "flags.h"
+ #include "make_cmd.h"
+ #include "dispose_cmd.h"
++#include "execute_cmd.h"
+ #include "variables.h"
+ #include "subst.h"
+ #include "input.h"
+ #include "ocache.h"
+ #include "externs.h"
++#include "builtins.h"
++
++#include "builtins/common.h"
+ #if defined (JOB_CONTROL)
+ #include "jobs.h"
+@@ -56,6 +60,10 @@
+ extern int line_number, current_command_line_count, parser_state;
+ extern int last_command_exit_value;
++extern int rpm_requires;
++
++static char *alphabet_set = "abcdefghijklmnopqrstuvwxyz"
++                     "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ /* Object caching */
+ sh_obj_cache_t wdcache = {0, 0, 0};
+@@ -820,6 +828,27 @@ make_coproc_command (name, command)
+   return (make_command (cm_coproc, (SIMPLE_COM *)temp));
+ }
++static void
++output_requirement (deptype, filename)
++const char *deptype;
++char *filename;
++{
++  if (strchr(filename, '$') || (filename[0] != '/' && strchr(filename, '/')))
++    return;
++
++  /* 
++      if the executable is called via variable substitution we can
++      not dermine what it is at compile time.  
++
++      if the executable consists only of characters not in the
++      alphabet we do not consider it a dependency just an artifact
++      of shell parsing (ex "exec < ${infile}").
++  */
++
++  if (strpbrk(filename, alphabet_set))
++    printf ("%s(%s)\n", deptype, filename);
++}
++
+ /* Reverse the word list and redirection list in the simple command
+    has just been parsed.  It seems simpler to do this here the one
+    time then by any other method that I can think of. */
+@@ -837,6 +866,27 @@ clean_simple_command (command)
+       REVERSE_LIST (command->value.Simple->redirects, REDIRECT *);
+     }
++  if (rpm_requires && command->value.Simple->words)
++    {
++      char *cmd0;
++      char *cmd1;
++      struct builtin *b;
++
++      cmd0 = command->value.Simple->words->word->word;
++      b = builtin_address_internal (cmd0, 0);
++      cmd1 = 0;
++      if (command->value.Simple->words->next)
++        cmd1 = command->value.Simple->words->next->word->word;
++
++      if (b) {
++        if ( (b->flags & REQUIRES_BUILTIN) && cmd1)
++          output_requirement ("executable", cmd1);
++      } else {
++        if (!assignment(cmd0, 0))
++          output_requirement (find_function(cmd0) ? "function" : "executable", cmd0);
++      }
++    } /*rpm_requires*/
++
+   parser_state &= ~PST_REDIRLIST;
+   return (command);
+ }
+diff -up bash-4.1/shell.c.requires bash-4.1/shell.c
+--- bash-4.1/shell.c.requires  2010-08-02 17:42:41.000000000 +0200
++++ bash-4.1/shell.c   2010-08-02 17:42:41.000000000 +0200
+@@ -193,6 +193,9 @@ int have_devfd = 0;
+ /* The name of the .(shell)rc file. */
+ static char *bashrc_file = "~/.bashrc";
++/* Non-zero if we are finding the scripts requirements. */
++int rpm_requires;
++
+ /* Non-zero means to act more like the Bourne shell on startup. */
+ static int act_like_sh;
+@@ -251,6 +254,7 @@ static const struct {
+   { "posix", Int, &posixly_correct, (char **)0x0 },
+   { "protected", Int, &protected_mode, (char **)0x0 },
+   { "rcfile", Charp, (int *)0x0, &bashrc_file },
++  { "rpm-requires", Int, &rpm_requires, (char **)0x0 },
+ #if defined (RESTRICTED_SHELL)
+   { "restricted", Int, &restricted, (char **)0x0 },
+ #endif
+@@ -485,6 +489,12 @@ main (argc, argv, env)
+   if (dump_translatable_strings)
+     read_but_dont_execute = 1;
++  if (rpm_requires)
++    {
++      read_but_dont_execute = 1;
++      initialize_shell_builtins ();
++    }
++
+   if (running_setuid && privileged_mode == 0)
+     disable_priv_mode ();
index 2ed2fd1514a3b6ec71bfcdcb1fde8674387b3f04..e283cc83b152829f6d617bd28283ecac08c78a03 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = binutils
 version    = 2.22
-release    = 2
+release    = 3
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Tools
@@ -42,9 +42,14 @@ build
        end
 
        configure_options += \
+               --build=%{DISTRO_BUILDTARGET} \
+               --host=%{DISTRO_BUILDTARGET} \
                --target=%{DISTRO_BUILDTARGET} \
                --disable-werror \
-               --disable-static
+               --disable-static \
+               --enable-64-bit-bfd \
+               --enable-plugins \
+               --with-bugurl="http://bugzilla.ipfire.org/"
 
        build
                cd %{DIR_SRC}/binutils-build
@@ -85,7 +90,7 @@ packages
                # Don't package libbfd and libopcodes in the -devel package.
                files
                        /usr/include
-                       /usr/lib/*.a
+                       %{libdir}/*.a
                end
        end
 
index 72046aa4626bdbb15ad1697f3e07f191c5bf1a97..b957f6fe58d46b4403b04eefa3696cdec423ac73 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = bird
-version    = 1.3.1
-release    = 2
+version    = 1.3.7
+release    = 1
 
 groups     = Networking/Routing
 url        = http://bird.network.cz/
index 4b777edeec584eefdf04e16330e3e0c486cf82a9..6b8bcc57c5a2904ba91a03eb7a1456d2cba42246 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = bison
 version    = 2.5
-release    = 2
+release    = 3
 
 groups     = Development/Tools
 url        = http://www.gnu.org/software/bison/
@@ -22,6 +22,7 @@ source_dl  = http://ftp.gnu.org/gnu/bison/
 build
        requires
                m4
+               perl
        end
 
        configure_cmds
index 452ef254bffc5291573ed3cef6ad15371c5b14aa..5505a904fd2562f452e378d05994e8f227a7383c 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = boost
 version    = 1.41.0
-release    = 1
+release    = 2
 
 groups     = System/Libraries
 url        = http://www.boost.org/
@@ -50,6 +50,7 @@ build
                                -DWITH_MPI=OFF \
                                -DENABLE_STATIC=OFF \
                                -DENABLE_DEBUG=OFF \
+                               -DBOOST_LIB_INSTALL_DIR=%{libdir} \
                                ..
 
                make VERBOSE=1 #%{PARALLELISMFLAGS}
@@ -59,16 +60,15 @@ build
                cd %{DIR_APP}/serial && make install DESTDIR=%{BUILDROOT}
 
                # Kill any debug library versions that may show up un-invited.
-               rm -f %{BUILDROOT}/usr/lib/*-d.*
+               rm -f %{BUILDROOT}%{libdir}/*-d.*
 
                # Remove cmake configuration files used to build the Boost libraries
-               find %{BUILDROOT}/usr/lib -name '*.cmake' -exec rm -f {} \;
+               find %{BUILDROOT}%{libdir} -name '*.cmake' -exec rm -f {} \;
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index e1af92f1791213586d0659b63473699aa1eb265c..c1e1035f4add4987d5610666de421d2bbd831b4d 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = bzip2
 version    = 1.0.6
-release    = 5
+release    = 6
 
 groups     = Applications/Compression
 url        = http://www.bzip.org/
@@ -45,10 +45,10 @@ build
                ln -svf bzip2 %{BUILDROOT}%{bindir}/bless
 
                # Install libs.
-               mkdir -pv %{BUILDROOT}%{libdir} %{BUILDROOT}/%{lib}
-               install -m 755 libbz2.so.%{version} %{BUILDROOT}/%{lib}
-               ln -svf libbz2.so.%{version} %{BUILDROOT}/%{lib}/libbz2.so.1
-               ln -svf ../../%{lib}/libbz2.so.1 %{BUILDROOT}%{libdir}/libbz2.so
+               mkdir -pv %{BUILDROOT}%{libdir}
+               install -m 755 libbz2.so.%{version} %{BUILDROOT}/%{libdir}
+               ln -svf libbz2.so.%{version} %{BUILDROOT}/%{libdir}/libbz2.so.1
+               ln -svf libbz2.so.1 %{BUILDROOT}%{libdir}/libbz2.so
 
                # Install headers.
                mkdir -pv %{BUILDROOT}%{includedir}
@@ -69,6 +69,12 @@ end
 packages
        package %{name}
                groups += Build
+
+               # Provide older soname to fix problem with
+               # older version of the package.
+               if "%{DISTRO_ARCH}" == "i686"
+                       provides += libbz2.so.1.0
+               end
        end
 
        package %{name}-devel
diff --git a/ca-certificates/blacklist.txt b/ca-certificates/blacklist.txt
new file mode 100644 (file)
index 0000000..8d57b86
--- /dev/null
@@ -0,0 +1,5 @@
+# One blacklist entry per line, corresponding to the label in certdata.txt.
+
+# MD5 Collision Proof of Concept CA
+"MD5 Collisions Forged Rogue CA 25c3"
+
diff --git a/ca-certificates/ca-certificates.nm b/ca-certificates/ca-certificates.nm
new file mode 100644 (file)
index 0000000..a68e358
--- /dev/null
@@ -0,0 +1,112 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = ca-certificates
+version    = 2012.81
+release    = 1
+arch       = noarch
+
+groups     = System/Base
+url        = http://www.mozilla.org
+license    = Public Domain
+summary    = The Mozilla CA root certificate bundle.
+
+description
+       This package contains the set of CA certificates chosen by the
+       Mozilla Foundation for use with the Internet PKI.
+end
+
+# This package has no tarball.
+sources    =
+
+build
+       requires
+               openssl
+               perl
+               rcs
+       end
+
+       DIR_APP = %{DIR_SOURCE}
+
+       build
+               # Create file layout.
+               mkdir -pv certs
+               cp certdata.txt blacklist.txt certs
+               cd certs
+
+               python %{DIR_SOURCE}/certdata2pem.py
+
+               cd ..
+               (cat <<EOF
+               # This is a bundle of X.509 certificates of public Certificate
+               # Authorities.  It was generated from the Mozilla root CA list.
+               # 
+               # Source: mozilla/security/nss/lib/ckfw/builtins/certdata.txt
+               #
+               # Generated from:
+               EOF
+               ident -q certdata.txt | sed '1d;s/^/#/';
+
+               echo '#' ) > ca-bundle.crt
+
+               (cat <<EOF
+               # This is a bundle of X.509 certificates of public Certificate
+               # Authorities.  It was generated from the Mozilla root CA list.
+               # These certificates are in the OpenSSL "TRUSTED CERTIFICATE"
+               # format and have trust bits set accordingly.
+               #
+               # Source: mozilla/security/nss/lib/ckfw/builtins/certdata.txt
+               #
+               # Generated from:
+               EOF
+               ident -q certdata.txt | sed '1d;s/^/#/';
+               echo '#' ) > ca-bundle.trust.crt
+
+               for f in certs/*.crt; do 
+                       [ -z "${f}" ] && continue
+
+                       tbits=$(sed -n '/^# openssl-trust/{s/^.*=//;p;}' ${f})
+                       case "${tbits}" in
+                               *serverAuth*)
+                                       openssl x509 -text -in "${f}" >> ca-bundle.crt
+                                       ;;
+                       esac
+
+                       if [ -n "$tbits" ]; then
+                               targs=""
+                               for t in ${tbits}; do
+                                       targs="${targs} -addtrust ${t}"
+                               done
+
+                               openssl x509 -text -in "${f}" -trustout $targs >> ca-bundle.trust.crt
+                       fi
+               done
+
+               perl generate-cacerts.pl /usr/bin/keytool ../ca-bundle.crt
+               touch -r certdata.txt cacerts
+       end
+
+       install
+               # Create folder layout.
+               mkdir -p %{BUILDROOT}/etc/pki/tls/certs/
+
+               # Install files.
+               install -p -m 644 ca-bundle.crt %{BUILDROOT}%{sysconfdir}/pki/tls/certs/ca-bundle.crt
+               install -p -m 644 ca-bundle.trust.crt %{BUILDROOT}%{sysconfdir}/pki/tls/certs/ca-bundle.trust.crt
+
+               ln -s certs/ca-bundle.crt %{BUILDROOT}%{sysconfdir}/pki/tls/cert.pem
+
+               touch -r certdata.txt %{BUILDROOT}%{sysconfdir}/pki/tls/certs/ca-bundle.crt
+               touch -r certdata.txt %{BUILDROOT}%{sysconfdir}/pki/tls/certs/ca-bundle.trust.crt
+
+               # /etc/ssl/certs symlink for 3rd-party tools
+               mkdir -pv -m 755 %{BUILDROOT}%{sysconfdir}/ssl
+               ln -s ../pki/tls/certs %{BUILDROOT}%{sysconfdir}/ssl/certs
+       end
+end
+
+packages
+       package %{name}
+end
diff --git a/ca-certificates/certdata.txt b/ca-certificates/certdata.txt
new file mode 100644 (file)
index 0000000..4bfd09b
--- /dev/null
@@ -0,0 +1,23415 @@
+# 
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is the Netscape security libraries.
+#
+# The Initial Developer of the Original Code is
+# Netscape Communications Corporation.
+# Portions created by the Initial Developer are Copyright (C) 1994-2000
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.81 $ $Date: 2012/01/17 22:02:37 $"
+
+#
+# certdata.txt
+#
+# This file contains the object definitions for the certs and other
+# information "built into" NSS.
+#
+# Object definitions:
+#
+#    Certificates
+#
+#  -- Attribute --          -- type --              -- value --
+#  CKA_CLASS                CK_OBJECT_CLASS         CKO_CERTIFICATE
+#  CKA_TOKEN                CK_BBOOL                CK_TRUE
+#  CKA_PRIVATE              CK_BBOOL                CK_FALSE
+#  CKA_MODIFIABLE           CK_BBOOL                CK_FALSE
+#  CKA_LABEL                UTF8                    (varies)
+#  CKA_CERTIFICATE_TYPE     CK_CERTIFICATE_TYPE     CKC_X_509
+#  CKA_SUBJECT              DER+base64              (varies)
+#  CKA_ID                   byte array              (varies)
+#  CKA_ISSUER               DER+base64              (varies)
+#  CKA_SERIAL_NUMBER        DER+base64              (varies)
+#  CKA_VALUE                DER+base64              (varies)
+#  CKA_NSS_EMAIL            ASCII7                  (unused here)
+#
+#    Trust
+#
+#  -- Attribute --              -- type --          -- value --
+#  CKA_CLASS                    CK_OBJECT_CLASS     CKO_TRUST
+#  CKA_TOKEN                    CK_BBOOL            CK_TRUE
+#  CKA_PRIVATE                  CK_BBOOL            CK_FALSE
+#  CKA_MODIFIABLE               CK_BBOOL            CK_FALSE
+#  CKA_LABEL                    UTF8                (varies)
+#  CKA_ISSUER                   DER+base64          (varies)
+#  CKA_SERIAL_NUMBER            DER+base64          (varies)
+#  CKA_CERT_HASH                binary+base64       (varies)
+#  CKA_EXPIRES                  CK_DATE             (not used here)
+#  CKA_TRUST_DIGITAL_SIGNATURE  CK_TRUST            (varies)
+#  CKA_TRUST_NON_REPUDIATION    CK_TRUST            (varies)
+#  CKA_TRUST_KEY_ENCIPHERMENT   CK_TRUST            (varies)
+#  CKA_TRUST_DATA_ENCIPHERMENT  CK_TRUST            (varies)
+#  CKA_TRUST_KEY_AGREEMENT      CK_TRUST            (varies)
+#  CKA_TRUST_KEY_CERT_SIGN      CK_TRUST            (varies)
+#  CKA_TRUST_CRL_SIGN           CK_TRUST            (varies)
+#  CKA_TRUST_SERVER_AUTH        CK_TRUST            (varies)
+#  CKA_TRUST_CLIENT_AUTH        CK_TRUST            (varies)
+#  CKA_TRUST_CODE_SIGNING       CK_TRUST            (varies)
+#  CKA_TRUST_EMAIL_PROTECTION   CK_TRUST            (varies)
+#  CKA_TRUST_IPSEC_END_SYSTEM   CK_TRUST            (varies)
+#  CKA_TRUST_IPSEC_TUNNEL       CK_TRUST            (varies)
+#  CKA_TRUST_IPSEC_USER         CK_TRUST            (varies)
+#  CKA_TRUST_TIME_STAMPING      CK_TRUST            (varies)
+#  CKA_TRUST_STEP_UP_APPROVED   CK_BBOOL            (varies)
+#  (other trust attributes can be defined)
+#
+
+#
+# The object to tell NSS that this is a root list and we don't
+# have to go looking for others.
+#
+BEGINDATA
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_BUILTIN_ROOT_LIST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Mozilla Builtin Roots"
+
+#
+# Certificate "GTE CyberTrust Global Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GTE CyberTrust Global Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157
+\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125
+\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165
+\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156
+\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105
+\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142
+\141\154\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157
+\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125
+\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165
+\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156
+\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105
+\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142
+\141\154\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\001\245
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\132\060\202\001\303\002\002\001\245\060\015\006\011
+\052\206\110\206\367\015\001\001\004\005\000\060\165\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003
+\125\004\012\023\017\107\124\105\040\103\157\162\160\157\162\141
+\164\151\157\156\061\047\060\045\006\003\125\004\013\023\036\107
+\124\105\040\103\171\142\145\162\124\162\165\163\164\040\123\157
+\154\165\164\151\157\156\163\054\040\111\156\143\056\061\043\060
+\041\006\003\125\004\003\023\032\107\124\105\040\103\171\142\145
+\162\124\162\165\163\164\040\107\154\157\142\141\154\040\122\157
+\157\164\060\036\027\015\071\070\060\070\061\063\060\060\062\071
+\060\060\132\027\015\061\070\060\070\061\063\062\063\065\071\060
+\060\132\060\165\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\030\060\026\006\003\125\004\012\023\017\107\124\105\040
+\103\157\162\160\157\162\141\164\151\157\156\061\047\060\045\006
+\003\125\004\013\023\036\107\124\105\040\103\171\142\145\162\124
+\162\165\163\164\040\123\157\154\165\164\151\157\156\163\054\040
+\111\156\143\056\061\043\060\041\006\003\125\004\003\023\032\107
+\124\105\040\103\171\142\145\162\124\162\165\163\164\040\107\154
+\157\142\141\154\040\122\157\157\164\060\201\237\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060
+\201\211\002\201\201\000\225\017\240\266\360\120\234\350\172\307
+\210\315\335\027\016\056\260\224\320\033\075\016\366\224\300\212
+\224\307\006\310\220\227\310\270\144\032\172\176\154\074\123\341
+\067\050\163\140\177\262\227\123\007\237\123\371\155\130\224\322
+\257\215\155\210\147\200\346\355\262\225\317\162\061\312\245\034
+\162\272\134\002\347\144\102\347\371\251\054\326\072\015\254\215
+\102\252\044\001\071\346\234\077\001\205\127\015\130\207\105\370
+\323\205\252\223\151\046\205\160\110\200\077\022\025\307\171\264
+\037\005\057\073\142\231\002\003\001\000\001\060\015\006\011\052
+\206\110\206\367\015\001\001\004\005\000\003\201\201\000\155\353
+\033\011\351\136\331\121\333\147\042\141\244\052\074\110\167\343
+\240\174\246\336\163\242\024\003\205\075\373\253\016\060\305\203
+\026\063\201\023\010\236\173\064\116\337\100\310\164\327\271\175
+\334\364\166\125\175\233\143\124\030\351\360\352\363\134\261\331
+\213\102\036\271\300\225\116\272\372\325\342\174\365\150\141\277
+\216\354\005\227\137\133\260\327\243\205\064\304\044\247\015\017
+\225\223\357\313\224\330\236\037\235\134\205\155\307\252\256\117
+\037\042\265\315\225\255\272\247\314\371\253\013\172\177
+END
+
+# Trust for Certificate "GTE CyberTrust Global Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GTE CyberTrust Global Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\227\201\171\120\330\034\226\160\314\064\330\011\317\171\104\061
+\066\176\364\164
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\312\075\323\150\361\003\134\320\062\372\270\053\131\350\132\333
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157
+\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125
+\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165
+\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156
+\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105
+\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142
+\141\154\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\001\245
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Thawte Server CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Thawte Server CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101
+\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145
+\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007
+\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006
+\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156
+\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003
+\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151
+\163\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124
+\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061
+\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027
+\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141
+\167\164\145\056\143\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101
+\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145
+\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007
+\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006
+\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156
+\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003
+\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151
+\163\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124
+\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061
+\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027
+\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141
+\167\164\145\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\023\060\202\002\174\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
+\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101\061
+\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162
+\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023
+\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003
+\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163
+\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003\125
+\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163
+\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124\150
+\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061\046
+\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027\163
+\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141\167
+\164\145\056\143\157\155\060\036\027\015\071\066\060\070\060\061
+\060\060\060\060\060\060\132\027\015\062\060\061\062\063\061\062
+\063\065\071\065\071\132\060\201\304\061\013\060\011\006\003\125
+\004\006\023\002\132\101\061\025\060\023\006\003\125\004\010\023
+\014\127\145\163\164\145\162\156\040\103\141\160\145\061\022\060
+\020\006\003\125\004\007\023\011\103\141\160\145\040\124\157\167
+\156\061\035\060\033\006\003\125\004\012\023\024\124\150\141\167
+\164\145\040\103\157\156\163\165\154\164\151\156\147\040\143\143
+\061\050\060\046\006\003\125\004\013\023\037\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145
+\163\040\104\151\166\151\163\151\157\156\061\031\060\027\006\003
+\125\004\003\023\020\124\150\141\167\164\145\040\123\145\162\166
+\145\162\040\103\101\061\046\060\044\006\011\052\206\110\206\367
+\015\001\011\001\026\027\163\145\162\166\145\162\055\143\145\162
+\164\163\100\164\150\141\167\164\145\056\143\157\155\060\201\237
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\201\215\000\060\201\211\002\201\201\000\323\244\120\156\310\377
+\126\153\346\317\135\266\352\014\150\165\107\242\252\302\332\204
+\045\374\250\364\107\121\332\205\265\040\164\224\206\036\017\165
+\311\351\010\141\365\006\155\060\156\025\031\002\351\122\300\142
+\333\115\231\236\342\152\014\104\070\315\376\276\343\144\011\160
+\305\376\261\153\051\266\057\111\310\073\324\047\004\045\020\227
+\057\347\220\155\300\050\102\231\327\114\103\336\303\365\041\155
+\124\237\135\303\130\341\300\344\331\133\260\270\334\264\173\337
+\066\072\302\265\146\042\022\326\207\015\002\003\001\000\001\243
+\023\060\021\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001
+\004\005\000\003\201\201\000\007\372\114\151\134\373\225\314\106
+\356\205\203\115\041\060\216\312\331\250\157\111\032\346\332\121
+\343\140\160\154\204\141\021\241\032\310\110\076\131\103\175\117
+\225\075\241\213\267\013\142\230\172\165\212\335\210\116\116\236
+\100\333\250\314\062\164\271\157\015\306\343\263\104\013\331\212
+\157\232\051\233\231\030\050\073\321\343\100\050\232\132\074\325
+\265\347\040\033\213\312\244\253\215\351\121\331\342\114\054\131
+\251\332\271\262\165\033\366\102\362\357\307\362\030\371\211\274
+\243\377\212\043\056\160\107
+END
+
+# Trust for Certificate "Thawte Server CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Thawte Server CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\043\345\224\224\121\225\362\101\110\003\264\325\144\322\243\243
+\365\330\213\214
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\305\160\304\242\355\123\170\014\310\020\123\201\144\313\320\035
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101
+\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145
+\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007
+\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006
+\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156
+\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003
+\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151
+\163\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124
+\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061
+\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027
+\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141
+\167\164\145\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Thawte Premium Server CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Thawte Premium Server CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101
+\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145
+\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007
+\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006
+\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156
+\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003
+\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151
+\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124
+\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145
+\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110
+\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055
+\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157
+\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101
+\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145
+\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007
+\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006
+\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156
+\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003
+\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151
+\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124
+\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145
+\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110
+\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055
+\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157
+\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\047\060\202\002\220\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
+\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101\061
+\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162
+\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023
+\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003
+\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163
+\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003\125
+\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163
+\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124\150
+\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145\162
+\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110\206
+\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055\163
+\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157\155
+\060\036\027\015\071\066\060\070\060\061\060\060\060\060\060\060
+\132\027\015\062\060\061\062\063\061\062\063\065\071\065\071\132
+\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101
+\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145
+\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007
+\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006
+\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156
+\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003
+\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151
+\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124
+\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145
+\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110
+\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055
+\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157
+\155\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\201\215\000\060\201\211\002\201\201\000\322\066
+\066\152\213\327\302\133\236\332\201\101\142\217\070\356\111\004
+\125\326\320\357\034\033\225\026\107\357\030\110\065\072\122\364
+\053\152\006\217\073\057\352\126\343\257\206\215\236\027\367\236
+\264\145\165\002\115\357\313\011\242\041\121\330\233\320\147\320
+\272\015\222\006\024\163\324\223\313\227\052\000\234\134\116\014
+\274\372\025\122\374\362\104\156\332\021\112\156\010\237\057\055
+\343\371\252\072\206\163\266\106\123\130\310\211\005\275\203\021
+\270\163\077\252\007\215\364\102\115\347\100\235\034\067\002\003
+\001\000\001\243\023\060\021\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206
+\367\015\001\001\004\005\000\003\201\201\000\046\110\054\026\302
+\130\372\350\026\164\014\252\252\137\124\077\362\327\311\170\140
+\136\136\156\067\143\042\167\066\176\262\027\304\064\271\365\010
+\205\374\311\001\070\377\115\276\362\026\102\103\347\273\132\106
+\373\301\306\021\037\361\112\260\050\106\311\303\304\102\175\274
+\372\253\131\156\325\267\121\210\021\343\244\205\031\153\202\114
+\244\014\022\255\351\244\256\077\361\303\111\145\232\214\305\310
+\076\045\267\224\231\273\222\062\161\007\360\206\136\355\120\047
+\246\015\246\043\371\273\313\246\007\024\102
+END
+
+# Trust for Certificate "Thawte Premium Server CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Thawte Premium Server CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\142\177\215\170\047\145\143\231\322\175\177\220\104\311\376\263
+\363\076\372\232
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\006\237\151\171\026\146\220\002\033\214\214\242\303\007\157\072
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101
+\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145
+\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007
+\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006
+\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156
+\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003
+\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151
+\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124
+\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145
+\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110
+\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055
+\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157
+\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Equifax Secure CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141
+\170\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151
+\146\141\170\040\123\145\143\165\162\145\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141
+\170\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151
+\146\141\170\040\123\145\143\165\162\145\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\065\336\364\317
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\040\060\202\002\211\240\003\002\001\002\002\004\065
+\336\364\317\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\116\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\020\060\016\006\003\125\004\012\023\007\105\161\165\151
+\146\141\170\061\055\060\053\006\003\125\004\013\023\044\105\161
+\165\151\146\141\170\040\123\145\143\165\162\145\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\060\036\027\015\071\070\060\070\062\062\061\066\064\061
+\065\061\132\027\015\061\070\060\070\062\062\061\066\064\061\065
+\061\132\060\116\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\020\060\016\006\003\125\004\012\023\007\105\161\165\151
+\146\141\170\061\055\060\053\006\003\125\004\013\023\044\105\161
+\165\151\146\141\170\040\123\145\143\165\162\145\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\060\201\237\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\301
+\135\261\130\147\010\142\356\240\232\055\037\010\155\221\024\150
+\230\012\036\376\332\004\157\023\204\142\041\303\321\174\316\237
+\005\340\270\001\360\116\064\354\342\212\225\004\144\254\361\153
+\123\137\005\263\313\147\200\277\102\002\216\376\335\001\011\354
+\341\000\024\117\374\373\360\014\335\103\272\133\053\341\037\200
+\160\231\025\127\223\026\361\017\227\152\267\302\150\043\034\314
+\115\131\060\254\121\036\073\257\053\326\356\143\105\173\305\331
+\137\120\322\343\120\017\072\210\347\277\024\375\340\307\271\002
+\003\001\000\001\243\202\001\011\060\202\001\005\060\160\006\003
+\125\035\037\004\151\060\147\060\145\240\143\240\141\244\137\060
+\135\061\013\060\011\006\003\125\004\006\023\002\125\123\061\020
+\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141\170
+\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151\146
+\141\170\040\123\145\143\165\162\145\040\103\145\162\164\151\146
+\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061
+\015\060\013\006\003\125\004\003\023\004\103\122\114\061\060\032
+\006\003\125\035\020\004\023\060\021\201\017\062\060\061\070\060
+\070\062\062\061\066\064\061\065\061\132\060\013\006\003\125\035
+\017\004\004\003\002\001\006\060\037\006\003\125\035\043\004\030
+\060\026\200\024\110\346\150\371\053\322\262\225\327\107\330\043
+\040\020\117\063\230\220\237\324\060\035\006\003\125\035\016\004
+\026\004\024\110\346\150\371\053\322\262\225\327\107\330\043\040
+\020\117\063\230\220\237\324\060\014\006\003\125\035\023\004\005
+\060\003\001\001\377\060\032\006\011\052\206\110\206\366\175\007
+\101\000\004\015\060\013\033\005\126\063\056\060\143\003\002\006
+\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\201\201\000\130\316\051\352\374\367\336\265\316\002\271\027
+\265\205\321\271\343\340\225\314\045\061\015\000\246\222\156\177
+\266\222\143\236\120\225\321\232\157\344\021\336\143\205\156\230
+\356\250\377\132\310\323\125\262\146\161\127\336\300\041\353\075
+\052\247\043\111\001\004\206\102\173\374\356\177\242\026\122\265
+\147\147\323\100\333\073\046\130\262\050\167\075\256\024\167\141
+\326\372\052\146\047\240\015\372\247\163\134\352\160\361\224\041
+\145\104\137\372\374\357\051\150\251\242\207\171\357\171\357\117
+\254\007\167\070
+END
+
+# Trust for Certificate "Equifax Secure CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\322\062\011\255\043\323\024\043\041\164\344\015\177\235\142\023
+\227\206\143\072
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\147\313\235\300\023\044\212\202\233\262\027\036\321\033\354\324
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141
+\170\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151
+\146\141\170\040\123\145\143\165\162\145\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\065\336\364\317
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Digital Signature Trust Co. Global CA 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\066\160\025\226
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\051\060\202\002\222\240\003\002\001\002\002\004\066
+\160\025\226\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\106\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151
+\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162
+\165\163\164\040\103\157\056\061\021\060\017\006\003\125\004\013
+\023\010\104\123\124\103\101\040\105\061\060\036\027\015\071\070
+\061\062\061\060\061\070\061\060\062\063\132\027\015\061\070\061
+\062\061\060\061\070\064\060\062\063\132\060\106\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\044\060\042\006\003\125
+\004\012\023\033\104\151\147\151\164\141\154\040\123\151\147\156
+\141\164\165\162\145\040\124\162\165\163\164\040\103\157\056\061
+\021\060\017\006\003\125\004\013\023\010\104\123\124\103\101\040
+\105\061\060\201\235\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\201\213\000\060\201\207\002\201\201\000\240
+\154\201\251\317\064\036\044\335\376\206\050\314\336\203\057\371
+\136\324\102\322\350\164\140\146\023\230\006\034\251\121\022\151
+\157\061\125\271\111\162\000\010\176\323\245\142\104\067\044\231
+\217\331\203\110\217\231\155\225\023\273\103\073\056\111\116\210
+\067\301\273\130\177\376\341\275\370\273\141\315\363\107\300\231
+\246\361\363\221\350\170\174\000\313\141\311\104\047\161\151\125
+\112\176\111\115\355\242\243\276\002\114\000\312\002\250\356\001
+\002\061\144\017\122\055\023\164\166\066\265\172\264\055\161\002
+\001\003\243\202\001\044\060\202\001\040\060\021\006\011\140\206
+\110\001\206\370\102\001\001\004\004\003\002\000\007\060\150\006
+\003\125\035\037\004\141\060\137\060\135\240\133\240\131\244\127
+\060\125\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\061\061\015\060\013\006\003\125\004
+\003\023\004\103\122\114\061\060\053\006\003\125\035\020\004\044
+\060\042\200\017\061\071\071\070\061\062\061\060\061\070\061\060
+\062\063\132\201\017\062\060\061\070\061\062\061\060\061\070\061
+\060\062\063\132\060\013\006\003\125\035\017\004\004\003\002\001
+\006\060\037\006\003\125\035\043\004\030\060\026\200\024\152\171
+\176\221\151\106\030\023\012\002\167\245\131\133\140\230\045\016
+\242\370\060\035\006\003\125\035\016\004\026\004\024\152\171\176
+\221\151\106\030\023\012\002\167\245\131\133\140\230\045\016\242
+\370\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060
+\031\006\011\052\206\110\206\366\175\007\101\000\004\014\060\012
+\033\004\126\064\056\060\003\002\004\220\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\201\201\000\042\022\330
+\172\035\334\201\006\266\011\145\262\207\310\037\136\264\057\351
+\304\036\362\074\301\273\004\220\021\112\203\116\176\223\271\115
+\102\307\222\046\240\134\064\232\070\162\370\375\153\026\076\040
+\356\202\213\061\052\223\066\205\043\210\212\074\003\150\323\311
+\011\017\115\374\154\244\332\050\162\223\016\211\200\260\175\376
+\200\157\145\155\030\063\227\213\302\153\211\356\140\075\310\233
+\357\177\053\062\142\163\223\313\074\343\173\342\166\170\105\274
+\241\223\004\273\206\237\072\133\103\172\303\212\145
+END
+
+# Trust for Certificate "Digital Signature Trust Co. Global CA 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\201\226\213\072\357\034\334\160\365\372\062\151\302\222\243\143
+\133\321\043\323
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\045\172\272\203\056\266\242\013\332\376\365\002\017\010\327\255
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\066\160\025\226
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Digital Signature Trust Co. Global CA 3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\066\156\323\316
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\051\060\202\002\222\240\003\002\001\002\002\004\066
+\156\323\316\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\106\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151
+\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162
+\165\163\164\040\103\157\056\061\021\060\017\006\003\125\004\013
+\023\010\104\123\124\103\101\040\105\062\060\036\027\015\071\070
+\061\062\060\071\061\071\061\067\062\066\132\027\015\061\070\061
+\062\060\071\061\071\064\067\062\066\132\060\106\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\044\060\042\006\003\125
+\004\012\023\033\104\151\147\151\164\141\154\040\123\151\147\156
+\141\164\165\162\145\040\124\162\165\163\164\040\103\157\056\061
+\021\060\017\006\003\125\004\013\023\010\104\123\124\103\101\040
+\105\062\060\201\235\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\201\213\000\060\201\207\002\201\201\000\277
+\223\217\027\222\357\063\023\030\353\020\177\116\026\277\377\006
+\217\052\205\274\136\371\044\246\044\210\266\003\267\301\303\137
+\003\133\321\157\256\176\102\352\146\043\270\143\203\126\373\050
+\055\341\070\213\264\356\250\001\341\316\034\266\210\052\042\106
+\205\373\237\247\160\251\107\024\077\316\336\145\360\250\161\367
+\117\046\154\214\274\306\265\357\336\111\047\377\110\052\175\350
+\115\003\314\307\262\122\306\027\061\023\073\265\115\333\310\304
+\366\303\017\044\052\332\014\235\347\221\133\200\315\224\235\002
+\001\003\243\202\001\044\060\202\001\040\060\021\006\011\140\206
+\110\001\206\370\102\001\001\004\004\003\002\000\007\060\150\006
+\003\125\035\037\004\141\060\137\060\135\240\133\240\131\244\127
+\060\125\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\062\061\015\060\013\006\003\125\004
+\003\023\004\103\122\114\061\060\053\006\003\125\035\020\004\044
+\060\042\200\017\061\071\071\070\061\062\060\071\061\071\061\067
+\062\066\132\201\017\062\060\061\070\061\062\060\071\061\071\061
+\067\062\066\132\060\013\006\003\125\035\017\004\004\003\002\001
+\006\060\037\006\003\125\035\043\004\030\060\026\200\024\036\202
+\115\050\145\200\074\311\101\156\254\065\056\132\313\336\356\370
+\071\133\060\035\006\003\125\035\016\004\026\004\024\036\202\115
+\050\145\200\074\311\101\156\254\065\056\132\313\336\356\370\071
+\133\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060
+\031\006\011\052\206\110\206\366\175\007\101\000\004\014\060\012
+\033\004\126\064\056\060\003\002\004\220\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\201\201\000\107\215\203
+\255\142\362\333\260\236\105\042\005\271\242\326\003\016\070\162
+\347\236\374\173\346\223\266\232\245\242\224\310\064\035\221\321
+\305\327\364\012\045\017\075\170\201\236\017\261\147\304\220\114
+\143\335\136\247\342\272\237\365\367\115\245\061\173\234\051\055
+\114\376\144\076\354\266\123\376\352\233\355\202\333\164\165\113
+\007\171\156\036\330\031\203\163\336\365\076\320\265\336\347\113
+\150\175\103\056\052\040\341\176\240\170\104\236\010\365\230\371
+\307\177\033\033\326\006\040\002\130\241\303\242\003
+END
+
+# Trust for Certificate "Digital Signature Trust Co. Global CA 3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\253\110\363\063\333\004\253\271\300\162\332\133\014\301\320\127
+\360\066\233\106
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\223\302\216\021\173\324\363\003\031\275\050\165\023\112\105\112
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\040\103\157\056\061\021\060\017\006\003\125\004\013\023\010
+\104\123\124\103\101\040\105\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\066\156\323\316
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 3 Public Primary Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314
+\272\277
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\074\060\202\001\245\002\020\160\272\344\035\020\331
+\051\064\266\070\312\173\003\314\272\277\060\015\006\011\052\206
+\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004
+\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143
+\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141\163
+\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155\141
+\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\066
+\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060
+\070\060\061\062\063\065\071\065\071\132\060\137\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125
+\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141
+\163\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155
+\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215
+\000\060\201\211\002\201\201\000\311\134\131\236\362\033\212\001
+\024\264\020\337\004\100\333\343\127\257\152\105\100\217\204\014
+\013\321\063\331\331\021\317\356\002\130\037\045\367\052\250\104
+\005\252\354\003\037\170\177\236\223\271\232\000\252\043\175\326
+\254\205\242\143\105\307\162\047\314\364\114\306\165\161\322\071
+\357\117\102\360\165\337\012\220\306\216\040\157\230\017\370\254
+\043\137\160\051\066\244\311\206\347\261\232\040\313\123\245\205
+\347\075\276\175\232\376\044\105\063\334\166\025\355\017\242\161
+\144\114\145\056\201\150\105\247\002\003\001\000\001\060\015\006
+\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201\000
+\273\114\022\053\317\054\046\000\117\024\023\335\246\373\374\012
+\021\204\214\363\050\034\147\222\057\174\266\305\372\337\360\350
+\225\274\035\217\154\054\250\121\314\163\330\244\300\123\360\116
+\326\046\300\166\001\127\201\222\136\041\361\321\261\377\347\320
+\041\130\315\151\027\343\104\034\234\031\104\071\211\134\334\234
+\000\017\126\215\002\231\355\242\220\105\114\344\273\020\244\075
+\360\062\003\016\361\316\370\350\311\121\214\346\142\237\346\237
+\300\175\267\162\234\311\066\072\153\237\116\250\377\144\015\144
+END
+
+# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\164\054\061\222\346\007\344\044\353\105\111\124\053\341\273\305
+\076\141\164\342
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\020\374\143\135\366\046\076\015\363\045\276\137\171\315\147\147
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314
+\272\277
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 1 Public Primary Certification Authority - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\061\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\061\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\114\307\352\252\230\076\161\323\223\020\370\075\072\211
+\221\222
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\002\060\202\002\153\002\020\114\307\352\252\230\076
+\161\323\223\020\370\075\072\211\221\222\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125
+\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141
+\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151\155
+\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062
+\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061
+\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151
+\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035
+\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040
+\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027
+\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015
+\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060
+\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156
+\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023
+\063\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040
+\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
+\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050
+\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156
+\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164
+\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
+\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123
+\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162
+\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\201\215\000\060\201\211\002\201\201\000\252\320
+\272\276\026\055\270\203\324\312\322\017\274\166\061\312\224\330
+\035\223\214\126\002\274\331\157\032\157\122\066\156\165\126\012
+\125\323\337\103\207\041\021\145\212\176\217\275\041\336\153\062
+\077\033\204\064\225\005\235\101\065\353\222\353\226\335\252\131
+\077\001\123\155\231\117\355\345\342\052\132\220\301\271\304\246
+\025\317\310\105\353\246\135\216\234\076\360\144\044\166\245\315
+\253\032\157\266\330\173\121\141\156\246\177\207\310\342\267\345
+\064\334\101\210\352\011\100\276\163\222\075\153\347\165\002\003
+\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\201\201\000\251\117\303\015\307\147\276\054\313\331
+\250\315\055\165\347\176\025\236\073\162\353\176\353\134\055\011
+\207\326\153\155\140\174\345\256\305\220\043\014\134\112\320\257
+\261\135\363\307\266\012\333\340\025\223\015\335\003\274\307\166
+\212\265\335\117\303\233\023\165\270\001\300\346\311\133\153\245
+\270\211\334\254\244\335\162\355\116\241\367\117\274\006\323\352
+\310\144\164\173\302\225\101\234\145\163\130\361\220\232\074\152
+\261\230\311\304\207\274\317\105\155\105\342\156\042\077\376\274
+\017\061\134\350\362\331
+END
+
+# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\047\076\341\044\127\375\304\371\014\125\350\053\126\026\177\142
+\365\062\345\107
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\333\043\075\371\151\372\113\271\225\200\104\163\136\175\101\203
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\061\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\114\307\352\252\230\076\161\323\223\020\370\075\072\211
+\221\222
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 2 Public Primary Certification Authority - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\062\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\062\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\271\057\140\314\210\237\241\172\106\011\270\133\160
+\154\212\257
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\003\060\202\002\154\002\021\000\271\057\140\314\210
+\237\241\172\106\011\270\133\160\154\212\257\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
+\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154
+\141\163\163\040\062\040\120\165\142\154\151\143\040\120\162\151
+\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\062\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040
+\061\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060
+\035\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156
+\040\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036
+\027\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027
+\015\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201
+\301\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
+\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147
+\156\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013
+\023\063\103\154\141\163\163\040\062\040\120\165\142\154\151\143
+\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061
+\050\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147
+\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
+\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
+\171\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151
+\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157
+\162\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\247
+\210\001\041\164\054\347\032\003\360\230\341\227\074\017\041\010
+\361\234\333\227\351\232\374\302\004\006\023\276\137\122\310\314
+\036\054\022\126\054\270\001\151\054\314\231\037\255\260\226\256
+\171\004\362\023\071\301\173\230\272\010\054\350\302\204\023\054
+\252\151\351\011\364\307\251\002\244\102\302\043\117\112\330\360
+\016\242\373\061\154\311\346\157\231\047\007\365\346\364\114\170
+\236\155\353\106\206\372\271\206\311\124\362\262\304\257\324\106
+\034\132\311\025\060\377\015\154\365\055\016\155\316\177\167\002
+\003\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\201\201\000\162\056\371\177\321\361\161\373\304
+\236\366\305\136\121\212\100\230\270\150\370\233\034\203\330\342
+\235\275\377\355\241\346\146\352\057\011\364\312\327\352\245\053
+\225\366\044\140\206\115\104\056\203\245\304\055\240\323\256\170
+\151\157\162\332\154\256\010\360\143\222\067\346\273\304\060\027
+\255\167\314\111\065\252\317\330\217\321\276\267\030\226\107\163
+\152\124\042\064\144\055\266\026\233\131\133\264\121\131\072\263
+\013\024\364\022\337\147\240\364\255\062\144\136\261\106\162\047
+\214\022\173\305\104\264\256
+END
+
+# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\263\352\304\107\166\311\310\034\352\362\235\225\266\314\240\010
+\033\147\354\235
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\055\273\345\045\323\321\145\202\072\267\016\372\346\353\342\341
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\062\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\271\057\140\314\210\237\241\172\106\011\270\133\160
+\154\212\257
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 3 Public Primary Certification Authority - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\063\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\063\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\175\331\376\007\317\250\036\267\020\171\147\373\247\211
+\064\306
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\002\060\202\002\153\002\020\175\331\376\007\317\250
+\036\267\020\171\147\373\247\211\064\306\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125
+\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141
+\163\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155
+\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062
+\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061
+\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151
+\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035
+\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040
+\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027
+\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015
+\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060
+\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156
+\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023
+\063\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040
+\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
+\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050
+\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156
+\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164
+\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
+\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123
+\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162
+\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\201\215\000\060\201\211\002\201\201\000\314\136
+\321\021\135\134\151\320\253\323\271\152\114\231\037\131\230\060
+\216\026\205\040\106\155\107\077\324\205\040\204\341\155\263\370
+\244\355\014\361\027\017\073\371\247\371\045\327\301\317\204\143
+\362\174\143\317\242\107\362\306\133\063\216\144\100\004\150\301
+\200\271\144\034\105\167\307\330\156\365\225\051\074\120\350\064
+\327\170\037\250\272\155\103\221\225\217\105\127\136\176\305\373
+\312\244\004\353\352\227\067\124\060\157\273\001\107\062\063\315
+\334\127\233\144\151\141\370\233\035\034\211\117\134\147\002\003
+\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\201\201\000\121\115\315\276\134\313\230\031\234\025
+\262\001\071\170\056\115\017\147\160\160\231\306\020\132\224\244
+\123\115\124\155\053\257\015\135\100\213\144\323\327\356\336\126
+\141\222\137\246\304\035\020\141\066\323\054\047\074\350\051\011
+\271\021\144\164\314\265\163\237\034\110\251\274\141\001\356\342
+\027\246\014\343\100\010\073\016\347\353\104\163\052\232\361\151
+\222\357\161\024\303\071\254\161\247\221\011\157\344\161\006\263
+\272\131\127\046\171\000\366\370\015\242\063\060\050\324\252\130
+\240\235\235\151\221\375
+END
+
+# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\205\067\034\246\345\120\024\075\316\050\003\107\033\336\072\011
+\350\370\167\017
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\242\063\233\114\164\170\163\324\154\347\301\363\215\313\134\351
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125
+\004\013\023\063\103\154\141\163\163\040\063\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013
+\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\175\331\376\007\317\250\036\267\020\171\147\373\247\211
+\064\306
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GlobalSign Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003
+\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031
+\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147
+\156\040\122\157\157\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003
+\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031
+\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147
+\156\040\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\025\113\132\303\224
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\165\060\202\002\135\240\003\002\001\002\002\013\004
+\000\000\000\000\001\025\113\132\303\224\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\127\061\013\060\011\006
+\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004
+\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166
+\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157
+\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022
+\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040
+\103\101\060\036\027\015\071\070\060\071\060\061\061\062\060\060
+\060\060\132\027\015\062\070\060\061\062\070\061\062\060\060\060
+\060\132\060\127\061\013\060\011\006\003\125\004\006\023\002\102
+\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142
+\141\154\123\151\147\156\040\156\166\055\163\141\061\020\060\016
+\006\003\125\004\013\023\007\122\157\157\164\040\103\101\061\033
+\060\031\006\003\125\004\003\023\022\107\154\157\142\141\154\123
+\151\147\156\040\122\157\157\164\040\103\101\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\332\016\346\231
+\215\316\243\343\117\212\176\373\361\213\203\045\153\352\110\037
+\361\052\260\271\225\021\004\275\360\143\321\342\147\146\317\034
+\335\317\033\110\053\356\215\211\216\232\257\051\200\145\253\351
+\307\055\022\313\253\034\114\160\007\241\075\012\060\315\025\215
+\117\370\335\324\214\120\025\034\357\120\356\304\056\367\374\351
+\122\362\221\175\340\155\325\065\060\216\136\103\163\362\101\351
+\325\152\343\262\211\072\126\071\070\157\006\074\210\151\133\052
+\115\305\247\124\270\154\211\314\233\371\074\312\345\375\211\365
+\022\074\222\170\226\326\334\164\156\223\104\141\321\215\307\106
+\262\165\016\206\350\031\212\325\155\154\325\170\026\225\242\351
+\310\012\070\353\362\044\023\117\163\124\223\023\205\072\033\274
+\036\064\265\213\005\214\271\167\213\261\333\037\040\221\253\011
+\123\156\220\316\173\067\164\271\160\107\221\042\121\143\026\171
+\256\261\256\101\046\010\310\031\053\321\106\252\110\326\144\052
+\327\203\064\377\054\052\301\154\031\103\112\007\205\347\323\174
+\366\041\150\357\352\362\122\237\177\223\220\317\002\003\001\000
+\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
+\024\140\173\146\032\105\015\227\312\211\120\057\175\004\315\064
+\250\377\374\375\113\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\003\202\001\001\000\326\163\347\174\117\166\320
+\215\277\354\272\242\276\064\305\050\062\265\174\374\154\234\054
+\053\275\011\236\123\277\153\136\252\021\110\266\345\010\243\263
+\312\075\141\115\323\106\011\263\076\303\240\343\143\125\033\362
+\272\357\255\071\341\103\271\070\243\346\057\212\046\073\357\240
+\120\126\371\306\012\375\070\315\304\013\160\121\224\227\230\004
+\337\303\137\224\325\025\311\024\101\234\304\135\165\144\025\015
+\377\125\060\354\206\217\377\015\357\054\271\143\106\366\252\374
+\337\274\151\375\056\022\110\144\232\340\225\360\246\357\051\217
+\001\261\025\265\014\035\245\376\151\054\151\044\170\036\263\247
+\034\161\142\356\312\310\227\254\027\135\212\302\370\107\206\156
+\052\304\126\061\225\320\147\211\205\053\371\154\246\135\106\235
+\014\252\202\344\231\121\335\160\267\333\126\075\141\344\152\341
+\134\326\366\376\075\336\101\314\007\256\143\122\277\123\123\364
+\053\351\307\375\266\367\202\137\205\322\101\030\333\201\263\004
+\034\305\037\244\200\157\025\040\311\336\014\210\012\035\326\146
+\125\342\374\110\311\051\046\151\340
+END
+
+# Trust for Certificate "GlobalSign Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\261\274\226\213\324\364\235\142\052\250\232\201\362\025\001\122
+\244\035\202\234
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\076\105\122\025\011\121\222\341\267\135\067\237\261\207\051\212
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003
+\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031
+\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147
+\156\040\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\025\113\132\303\224
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GlobalSign Root CA - R2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root CA - R2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\017\206\046\346\015
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\272\060\202\002\242\240\003\002\001\002\002\013\004
+\000\000\000\000\001\017\206\046\346\015\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\114\061\040\060\036\006
+\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156
+\040\122\157\157\164\040\103\101\040\055\040\122\062\061\023\060
+\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151
+\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157
+\142\141\154\123\151\147\156\060\036\027\015\060\066\061\062\061
+\065\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065
+\060\070\060\060\060\060\132\060\114\061\040\060\036\006\003\125
+\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122
+\157\157\164\040\103\101\040\055\040\122\062\061\023\060\021\006
+\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156
+\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141
+\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\246\317\044\016\276\056\157\050\231\105
+\102\304\253\076\041\124\233\013\323\177\204\160\372\022\263\313
+\277\207\137\306\177\206\323\262\060\134\326\375\255\361\173\334
+\345\370\140\226\011\222\020\365\320\123\336\373\173\176\163\210
+\254\122\210\173\112\246\312\111\246\136\250\247\214\132\021\274
+\172\202\353\276\214\351\263\254\226\045\007\227\112\231\052\007
+\057\264\036\167\277\212\017\265\002\174\033\226\270\305\271\072
+\054\274\326\022\271\353\131\175\342\320\006\206\137\136\111\152
+\265\071\136\210\064\354\274\170\014\010\230\204\154\250\315\113
+\264\240\175\014\171\115\360\270\055\313\041\312\325\154\133\175
+\341\240\051\204\241\371\323\224\111\313\044\142\221\040\274\335
+\013\325\331\314\371\352\047\012\053\163\221\306\235\033\254\310
+\313\350\340\240\364\057\220\213\115\373\260\066\033\366\031\172
+\205\340\155\362\141\023\210\134\237\340\223\012\121\227\212\132
+\316\257\253\325\367\252\011\252\140\275\334\331\137\337\162\251
+\140\023\136\000\001\311\112\372\077\244\352\007\003\041\002\216
+\202\312\003\302\233\217\002\003\001\000\001\243\201\234\060\201
+\231\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\035\006\003\125\035\016\004\026\004\024\233\342\007
+\127\147\034\036\300\152\006\336\131\264\232\055\337\334\031\206
+\056\060\066\006\003\125\035\037\004\057\060\055\060\053\240\051
+\240\047\206\045\150\164\164\160\072\057\057\143\162\154\056\147
+\154\157\142\141\154\163\151\147\156\056\156\145\164\057\162\157
+\157\164\055\162\062\056\143\162\154\060\037\006\003\125\035\043
+\004\030\060\026\200\024\233\342\007\127\147\034\036\300\152\006
+\336\131\264\232\055\337\334\031\206\056\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\231\201
+\123\207\034\150\227\206\221\354\340\112\270\104\013\253\201\254
+\047\117\326\301\270\034\103\170\263\014\232\374\352\054\074\156
+\141\033\115\113\051\365\237\005\035\046\301\270\351\203\000\142
+\105\266\251\010\223\271\251\063\113\030\232\302\370\207\210\116
+\333\335\161\064\032\301\124\332\106\077\340\323\052\253\155\124
+\042\365\072\142\315\040\157\272\051\211\327\335\221\356\323\134
+\242\076\241\133\101\365\337\345\144\103\055\351\325\071\253\322
+\242\337\267\213\320\300\200\031\034\105\300\055\214\350\370\055
+\244\164\126\111\305\005\265\117\025\336\156\104\170\071\207\250
+\176\273\363\171\030\221\273\364\157\235\301\360\214\065\214\135
+\001\373\303\155\271\357\104\155\171\106\061\176\012\376\251\202
+\301\377\357\253\156\040\304\120\311\137\235\115\233\027\214\014
+\345\001\311\240\101\152\163\123\372\245\120\264\156\045\017\373
+\114\030\364\375\122\331\216\151\261\350\021\017\336\210\330\373
+\035\111\367\252\336\225\317\040\170\302\140\022\333\045\100\214
+\152\374\176\102\070\100\144\022\367\236\201\341\223\056
+END
+
+# Trust for Certificate "GlobalSign Root CA - R2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root CA - R2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\165\340\253\266\023\205\022\047\034\004\370\137\335\336\070\344
+\267\044\056\376
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\224\024\167\176\076\136\375\217\060\275\101\260\317\347\320\060
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\017\206\046\346\015
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "ValiCert Class 1 VA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ValiCert Class 1 VA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060
+\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164
+\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167
+\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141
+\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063
+\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040
+\103\154\141\163\163\040\061\040\120\157\154\151\143\171\040\126
+\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164
+\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162
+\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206
+\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151
+\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066
+\062\065\062\062\062\063\064\070\132\027\015\061\071\060\066\062
+\065\062\062\062\063\064\070\132\060\201\273\061\044\060\042\006
+\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126
+\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162
+\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151
+\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003
+\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154
+\141\163\163\040\061\040\120\157\154\151\143\171\040\126\141\154
+\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160
+\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056
+\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015
+\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145
+\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002
+\201\201\000\330\131\202\172\211\270\226\272\246\057\150\157\130
+\056\247\124\034\006\156\364\352\215\110\274\061\224\027\360\363
+\116\274\262\270\065\222\166\260\320\245\245\001\327\000\003\022
+\042\031\010\370\377\021\043\233\316\007\365\277\151\032\046\376
+\116\351\321\177\235\054\100\035\131\150\156\246\370\130\260\235
+\032\217\323\077\361\334\031\006\201\250\016\340\072\335\310\123
+\105\011\006\346\017\160\303\372\100\246\016\342\126\005\017\030
+\115\374\040\202\321\163\125\164\215\166\162\240\035\235\035\300
+\335\077\161\002\003\001\000\001\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\201\201\000\120\150\075\111\364
+\054\034\006\224\337\225\140\177\226\173\027\376\117\161\255\144
+\310\335\167\322\357\131\125\350\077\350\216\005\052\041\362\007
+\322\265\247\122\376\234\261\266\342\133\167\027\100\352\162\326
+\043\313\050\201\062\303\000\171\030\354\131\027\211\311\306\152
+\036\161\311\375\267\164\245\045\105\151\305\110\253\031\341\105
+\212\045\153\031\356\345\273\022\365\177\367\246\215\121\303\360
+\235\164\267\251\076\240\245\377\266\111\003\023\332\042\314\355
+\161\202\053\231\317\072\267\365\055\162\310
+END
+
+# Trust for Certificate "ValiCert Class 1 VA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ValiCert Class 1 VA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\345\337\164\074\266\001\304\233\230\103\334\253\214\350\152\201
+\020\237\344\216
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\145\130\253\025\255\127\154\036\250\247\265\151\254\277\377\353
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "ValiCert Class 2 VA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ValiCert Class 2 VA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060
+\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164
+\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167
+\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141
+\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063
+\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040
+\103\154\141\163\163\040\062\040\120\157\154\151\143\171\040\126
+\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164
+\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162
+\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206
+\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151
+\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066
+\062\066\060\060\061\071\065\064\132\027\015\061\071\060\066\062
+\066\060\060\061\071\065\064\132\060\201\273\061\044\060\042\006
+\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126
+\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162
+\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151
+\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003
+\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154
+\141\163\163\040\062\040\120\157\154\151\143\171\040\126\141\154
+\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160
+\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056
+\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015
+\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145
+\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002
+\201\201\000\316\072\161\312\345\253\310\131\222\125\327\253\330
+\164\016\371\356\331\366\125\107\131\145\107\016\005\125\334\353
+\230\066\074\134\123\135\323\060\317\070\354\275\101\211\355\045
+\102\011\044\153\012\136\263\174\335\122\055\114\346\324\326\175
+\132\131\251\145\324\111\023\055\044\115\034\120\157\265\301\205
+\124\073\376\161\344\323\134\102\371\200\340\221\032\012\133\071
+\066\147\363\077\125\174\033\077\264\137\144\163\064\343\264\022
+\277\207\144\370\332\022\377\067\047\301\263\103\273\357\173\156
+\056\151\367\002\003\001\000\001\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\201\201\000\073\177\120\157\157
+\120\224\231\111\142\070\070\037\113\370\245\310\076\247\202\201
+\366\053\307\350\305\316\350\072\020\202\313\030\000\216\115\275
+\250\130\177\241\171\000\265\273\351\215\257\101\331\017\064\356
+\041\201\031\240\062\111\050\364\304\216\126\325\122\063\375\120
+\325\176\231\154\003\344\311\114\374\313\154\253\146\263\112\041
+\214\345\265\014\062\076\020\262\314\154\241\334\232\230\114\002
+\133\363\316\271\236\245\162\016\112\267\077\074\346\026\150\370
+\276\355\164\114\274\133\325\142\037\103\335
+END
+
+# Trust for Certificate "ValiCert Class 2 VA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ValiCert Class 2 VA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\061\172\052\320\177\053\063\136\365\241\303\116\113\127\350\267
+\330\361\374\246
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\251\043\165\233\272\111\066\156\061\302\333\362\347\146\272\207
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "RSA Root Certificate 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "RSA Root Certificate 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060
+\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164
+\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167
+\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141
+\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063
+\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040
+\103\154\141\163\163\040\063\040\120\157\154\151\143\171\040\126
+\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164
+\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162
+\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206
+\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151
+\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066
+\062\066\060\060\062\062\063\063\132\027\015\061\071\060\066\062
+\066\060\060\062\062\063\063\132\060\201\273\061\044\060\042\006
+\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126
+\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162
+\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151
+\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003
+\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154
+\141\163\163\040\063\040\120\157\154\151\143\171\040\126\141\154
+\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160
+\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056
+\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015
+\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145
+\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002
+\201\201\000\343\230\121\226\034\350\325\261\006\201\152\127\303
+\162\165\223\253\317\236\246\374\363\026\122\326\055\115\237\065
+\104\250\056\004\115\007\111\212\070\051\365\167\067\347\267\253
+\135\337\066\161\024\231\217\334\302\222\361\347\140\222\227\354
+\330\110\334\277\301\002\040\306\044\244\050\114\060\132\166\155
+\261\134\363\335\336\236\020\161\241\210\307\133\233\101\155\312
+\260\270\216\025\356\255\063\053\317\107\004\134\165\161\012\230
+\044\230\051\247\111\131\245\335\370\267\103\142\141\363\323\342
+\320\125\077\002\003\001\000\001\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\201\201\000\126\273\002\130\204
+\147\010\054\337\037\333\173\111\063\365\323\147\235\364\264\012
+\020\263\311\305\054\342\222\152\161\170\047\362\160\203\102\323
+\076\317\251\124\364\361\330\222\026\214\321\004\313\113\253\311
+\237\105\256\074\212\251\260\161\063\135\310\305\127\337\257\250
+\065\263\177\211\207\351\350\045\222\270\177\205\172\256\326\274
+\036\067\130\052\147\311\221\317\052\201\076\355\306\071\337\300
+\076\031\234\031\314\023\115\202\101\265\214\336\340\075\140\010
+\040\017\105\176\153\242\177\243\214\025\356
+END
+
+# Trust for Certificate "RSA Root Certificate 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "RSA Root Certificate 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\151\275\214\364\234\323\000\373\131\056\027\223\312\125\152\363
+\354\252\065\373
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\242\157\123\267\356\100\333\112\150\347\372\030\331\020\113\162
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141
+\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157
+\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125
+\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156
+\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154
+\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157
+\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125
+\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166
+\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036
+\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146
+\157\100\166\141\154\151\143\145\162\164\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\213\133\165\126\204\124\205\013\000\317\257\070\110
+\316\261\244
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\032\060\202\003\002\002\021\000\213\133\165\126\204
+\124\205\013\000\317\257\070\110\316\261\244\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
+\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050
+\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156
+\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164
+\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
+\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123
+\151\147\156\040\103\154\141\163\163\040\061\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060
+\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066
+\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012
+\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056
+\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123
+\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162
+\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040
+\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060
+\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156
+\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040
+\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
+\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\335\204\324\271\264\371\247\330\363\004\170
+\234\336\075\334\154\023\026\331\172\335\044\121\146\300\307\046
+\131\015\254\006\010\302\224\321\063\037\360\203\065\037\156\033
+\310\336\252\156\025\116\124\047\357\304\155\032\354\013\343\016
+\360\104\245\127\307\100\130\036\243\107\037\161\354\140\366\155
+\224\310\030\071\355\376\102\030\126\337\344\114\111\020\170\116
+\001\166\065\143\022\066\335\146\274\001\004\066\243\125\150\325
+\242\066\011\254\253\041\046\124\006\255\077\312\024\340\254\312
+\255\006\035\225\342\370\235\361\340\140\377\302\177\165\053\114
+\314\332\376\207\231\041\352\272\376\076\124\327\322\131\170\333
+\074\156\317\240\023\000\032\270\047\241\344\276\147\226\312\240
+\305\263\234\335\311\165\236\353\060\232\137\243\315\331\256\170
+\031\077\043\351\134\333\051\275\255\125\310\033\124\214\143\366
+\350\246\352\307\067\022\134\243\051\036\002\331\333\037\073\264
+\327\017\126\107\201\025\004\112\257\203\047\321\305\130\210\301
+\335\366\252\247\243\030\332\150\252\155\021\121\341\277\145\153
+\237\226\166\321\075\002\003\001\000\001\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\253\146
+\215\327\263\272\307\232\266\346\125\320\005\361\237\061\215\132
+\252\331\252\106\046\017\161\355\245\255\123\126\142\001\107\052
+\104\351\376\077\164\013\023\233\271\364\115\033\262\321\137\262
+\266\322\210\134\263\237\315\313\324\247\331\140\225\204\072\370
+\301\067\035\141\312\347\260\305\345\221\332\124\246\254\061\201
+\256\227\336\315\010\254\270\300\227\200\177\156\162\244\347\151
+\023\225\145\037\304\223\074\375\171\217\004\324\076\117\352\367
+\236\316\315\147\174\117\145\002\377\221\205\124\163\307\377\066
+\367\206\055\354\320\136\117\377\021\237\162\006\326\270\032\361
+\114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354
+\245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216
+\274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042
+\171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170
+\023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043
+\363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243
+\113\336\006\226\161\054\362\333\266\037\244\357\077\356
+END
+
+# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\040\102\205\334\367\353\166\101\225\127\216\023\153\324\267\321
+\351\216\106\245
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\261\107\274\030\127\321\030\240\170\055\354\161\350\052\225\163
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\213\133\165\126\204\124\205\013\000\317\257\070\110
+\316\261\244
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 2 Public Primary Certification Authority - G3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\141\160\313\111\214\137\230\105\051\347\260\246\331\120
+\133\172
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\031\060\202\003\001\002\020\141\160\313\111\214\137
+\230\105\051\347\260\246\331\120\133\172\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125
+\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162
+\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167
+\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143
+\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156\054
+\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150
+\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061
+\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151
+\147\156\040\103\154\141\163\163\040\062\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060\061
+\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066\062
+\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003\125
+\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012\023
+\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056\061
+\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123\151
+\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162\153
+\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061
+\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151
+\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060\103
+\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156\040
+\103\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120
+\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055
+\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\257\012\015\302\325\054\333\147\271\055\345\224
+\047\335\245\276\340\260\115\217\263\141\126\074\326\174\303\364
+\315\076\206\313\242\210\342\341\330\244\151\305\265\342\277\301
+\246\107\120\136\106\071\213\325\226\272\265\157\024\277\020\316
+\047\023\236\005\107\233\061\172\023\330\037\331\323\002\067\213
+\255\054\107\360\216\201\006\247\015\060\014\353\367\074\017\040
+\035\334\162\106\356\245\002\310\133\303\311\126\151\114\305\030
+\301\221\173\013\325\023\000\233\274\357\303\110\076\106\140\040
+\205\052\325\220\266\315\213\240\314\062\335\267\375\100\125\262
+\120\034\126\256\314\215\167\115\307\040\115\247\061\166\357\150
+\222\212\220\036\010\201\126\262\255\151\243\122\320\313\034\304
+\043\075\037\231\376\114\350\026\143\216\306\010\216\366\061\366
+\322\372\345\166\335\265\034\222\243\111\315\315\001\315\150\315
+\251\151\272\243\353\035\015\234\244\040\246\301\240\305\321\106
+\114\027\155\322\254\146\077\226\214\340\204\324\066\377\042\131
+\305\371\021\140\250\137\004\175\362\032\366\045\102\141\017\304
+\112\270\076\211\002\003\001\000\001\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\001\001\000\064\046\025
+\074\300\215\115\103\111\035\275\351\041\222\327\146\234\267\336
+\305\270\320\344\135\137\166\042\300\046\371\204\072\072\371\214
+\265\373\354\140\361\350\316\004\260\310\335\247\003\217\060\363
+\230\337\244\346\244\061\337\323\034\013\106\334\162\040\077\256
+\356\005\074\244\063\077\013\071\254\160\170\163\113\231\053\337
+\060\302\124\260\250\073\125\241\376\026\050\315\102\275\164\156
+\200\333\047\104\247\316\104\135\324\033\220\230\015\036\102\224
+\261\000\054\004\320\164\243\002\005\042\143\143\315\203\265\373
+\301\155\142\153\151\165\375\135\160\101\271\365\277\174\337\276
+\301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110
+\260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153
+\106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045
+\342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317
+\162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263
+\377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125
+\311\130\020\371\252\357\132\266\317\113\113\337\052
+END
+
+# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\141\357\103\327\177\312\324\141\121\274\230\340\303\131\022\257
+\237\353\143\021
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\370\276\304\143\042\311\250\106\164\213\270\035\036\112\053\366
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\141\160\313\111\214\137\230\105\051\347\260\246\331\120
+\133\172
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 3 Public Primary Certification Authority - G3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161
+\051\357\127
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\032\060\202\003\002\002\021\000\233\176\006\111\243
+\076\142\271\325\356\220\110\161\051\357\127\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
+\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050
+\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156
+\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164
+\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
+\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123
+\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060
+\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066
+\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012
+\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056
+\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123
+\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162
+\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040
+\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060
+\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156
+\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040
+\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
+\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\313\272\234\122\374\170\037\032\036\157\033
+\067\163\275\370\311\153\224\022\060\117\360\066\107\365\320\221
+\012\365\027\310\245\141\301\026\100\115\373\212\141\220\345\166
+\040\301\021\006\175\253\054\156\246\365\021\101\216\372\055\255
+\052\141\131\244\147\046\114\320\350\274\122\133\160\040\004\130
+\321\172\311\244\151\274\203\027\144\255\005\213\274\320\130\316
+\215\214\365\353\360\102\111\013\235\227\047\147\062\156\341\256
+\223\025\034\160\274\040\115\057\030\336\222\210\350\154\205\127
+\021\032\351\176\343\046\021\124\242\105\226\125\203\312\060\211
+\350\334\330\243\355\052\200\077\177\171\145\127\076\025\040\146
+\010\057\225\223\277\252\107\057\250\106\227\360\022\342\376\302
+\012\053\121\346\166\346\267\106\267\342\015\246\314\250\303\114
+\131\125\211\346\350\123\134\034\352\235\360\142\026\013\247\311
+\137\014\360\336\302\166\316\257\367\152\362\372\101\246\242\063
+\024\311\345\172\143\323\236\142\067\325\205\145\236\016\346\123
+\044\164\033\136\035\022\123\133\307\054\347\203\111\073\025\256
+\212\150\271\127\227\002\003\001\000\001\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\021\024
+\226\301\253\222\010\367\077\057\311\262\376\344\132\237\144\336
+\333\041\117\206\231\064\166\066\127\335\320\025\057\305\255\177
+\025\037\067\142\163\076\324\347\137\316\027\003\333\065\372\053
+\333\256\140\011\137\036\137\217\156\273\013\075\352\132\023\036
+\014\140\157\265\300\265\043\042\056\007\013\313\251\164\313\107
+\273\035\301\327\245\153\314\057\322\102\375\111\335\247\211\317
+\123\272\332\000\132\050\277\202\337\370\272\023\035\120\206\202
+\375\216\060\217\051\106\260\036\075\065\332\070\142\026\030\112
+\255\346\266\121\154\336\257\142\353\001\320\036\044\376\172\217
+\022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151
+\027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246
+\124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156
+\352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255
+\117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126
+\200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255
+\153\271\012\172\116\117\113\204\356\113\361\175\335\021
+END
+
+# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\023\055\015\105\123\113\151\227\315\262\325\303\071\342\125\166
+\140\233\134\306
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\315\150\266\247\307\304\316\165\340\035\117\127\104\141\222\011
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161
+\051\357\127
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 4 Public Primary Certification Authority - G3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 4 Public Primary Certification Authority - G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\064\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\064\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\354\240\247\213\156\165\152\001\317\304\174\314\057
+\224\136\327
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\032\060\202\003\002\002\021\000\354\240\247\213\156
+\165\152\001\317\304\174\314\057\224\136\327\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
+\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145
+\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
+\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050
+\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156
+\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164
+\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
+\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123
+\151\147\156\040\103\154\141\163\163\040\064\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060
+\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066
+\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012
+\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056
+\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123
+\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162
+\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040
+\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111
+\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060
+\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156
+\040\103\154\141\163\163\040\064\040\120\165\142\154\151\143\040
+\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
+\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\255\313\245\021\151\306\131\253\361\217\265
+\031\017\126\316\314\265\037\040\344\236\046\045\113\340\163\145
+\211\131\336\320\203\344\365\017\265\273\255\361\174\350\041\374
+\344\350\014\356\174\105\042\031\166\222\264\023\267\040\133\011
+\372\141\256\250\362\245\215\205\302\052\326\336\146\066\322\233
+\002\364\250\222\140\174\234\151\264\217\044\036\320\206\122\366
+\062\234\101\130\036\042\275\315\105\142\225\010\156\320\146\335
+\123\242\314\360\020\334\124\163\213\004\241\106\063\063\134\027
+\100\271\236\115\323\363\276\125\203\350\261\211\216\132\174\232
+\226\042\220\073\210\045\362\322\123\210\002\014\013\170\362\346
+\067\027\113\060\106\007\344\200\155\246\330\226\056\350\054\370
+\021\263\070\015\146\246\233\352\311\043\133\333\216\342\363\023
+\216\032\131\055\252\002\360\354\244\207\146\334\301\077\365\330
+\271\364\354\202\306\322\075\225\035\345\300\117\204\311\331\243
+\104\050\006\152\327\105\254\360\153\152\357\116\137\370\021\202
+\036\070\143\064\146\120\324\076\223\163\372\060\303\146\255\377
+\223\055\227\357\003\002\003\001\000\001\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\217\372
+\045\153\117\133\344\244\116\047\125\253\042\025\131\074\312\265
+\012\324\112\333\253\335\241\137\123\305\240\127\071\302\316\107
+\053\276\072\310\126\277\302\331\047\020\072\261\005\074\300\167
+\061\273\072\323\005\173\155\232\034\060\214\200\313\223\223\052
+\203\253\005\121\202\002\000\021\147\153\363\210\141\107\137\003
+\223\325\133\015\340\361\324\241\062\065\205\262\072\333\260\202
+\253\321\313\012\274\117\214\133\305\113\000\073\037\052\202\246
+\176\066\205\334\176\074\147\000\265\344\073\122\340\250\353\135
+\025\371\306\155\360\255\035\016\205\267\251\232\163\024\132\133
+\217\101\050\300\325\350\055\115\244\136\315\252\331\355\316\334
+\330\325\074\102\035\027\301\022\135\105\070\303\070\363\374\205
+\056\203\106\110\262\327\040\137\222\066\217\347\171\017\230\136
+\231\350\360\320\244\273\365\123\275\052\316\131\260\257\156\177
+\154\273\322\036\000\260\041\355\370\101\142\202\271\330\262\304
+\273\106\120\363\061\305\217\001\250\164\353\365\170\047\332\347
+\367\146\103\363\236\203\076\040\252\303\065\140\221\316
+END
+
+# Trust for Certificate "Verisign Class 4 Public Primary Certification Authority - G3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 4 Public Primary Certification Authority - G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\310\354\214\207\222\151\313\113\253\071\351\215\176\127\147\363
+\024\225\163\235
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\333\310\362\047\056\261\352\152\051\043\135\376\126\076\063\337
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\064\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\354\240\247\213\156\165\152\001\317\304\174\314\057
+\224\136\327
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Entrust.net Secure Server CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust.net Secure Server CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\303\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\024\060\022\006\003\125\004\012\023\013\105\156\164\162\165
+\163\164\056\156\145\164\061\073\060\071\006\003\125\004\013\023
+\062\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164
+\057\103\120\123\040\151\156\143\157\162\160\056\040\142\171\040
+\162\145\146\056\040\050\154\151\155\151\164\163\040\154\151\141
+\142\056\051\061\045\060\043\006\003\125\004\013\023\034\050\143
+\051\040\061\071\071\071\040\105\156\164\162\165\163\164\056\156
+\145\164\040\114\151\155\151\164\145\144\061\072\060\070\006\003
+\125\004\003\023\061\105\156\164\162\165\163\164\056\156\145\164
+\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\303\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\024\060\022\006\003\125\004\012\023\013\105\156\164\162\165
+\163\164\056\156\145\164\061\073\060\071\006\003\125\004\013\023
+\062\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164
+\057\103\120\123\040\151\156\143\157\162\160\056\040\142\171\040
+\162\145\146\056\040\050\154\151\155\151\164\163\040\154\151\141
+\142\056\051\061\045\060\043\006\003\125\004\013\023\034\050\143
+\051\040\061\071\071\071\040\105\156\164\162\165\163\164\056\156
+\145\164\040\114\151\155\151\164\145\144\061\072\060\070\006\003
+\125\004\003\023\061\105\156\164\162\165\163\164\056\156\145\164
+\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\067\112\322\103
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\330\060\202\004\101\240\003\002\001\002\002\004\067
+\112\322\103\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\201\303\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\024\060\022\006\003\125\004\012\023\013\105\156\164
+\162\165\163\164\056\156\145\164\061\073\060\071\006\003\125\004
+\013\023\062\167\167\167\056\145\156\164\162\165\163\164\056\156
+\145\164\057\103\120\123\040\151\156\143\157\162\160\056\040\142
+\171\040\162\145\146\056\040\050\154\151\155\151\164\163\040\154
+\151\141\142\056\051\061\045\060\043\006\003\125\004\013\023\034
+\050\143\051\040\061\071\071\071\040\105\156\164\162\165\163\164
+\056\156\145\164\040\114\151\155\151\164\145\144\061\072\060\070
+\006\003\125\004\003\023\061\105\156\164\162\165\163\164\056\156
+\145\164\040\123\145\143\165\162\145\040\123\145\162\166\145\162
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\060\036\027\015\071\071\060\065
+\062\065\061\066\060\071\064\060\132\027\015\061\071\060\065\062
+\065\061\066\063\071\064\060\132\060\201\303\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004
+\012\023\013\105\156\164\162\165\163\164\056\156\145\164\061\073
+\060\071\006\003\125\004\013\023\062\167\167\167\056\145\156\164
+\162\165\163\164\056\156\145\164\057\103\120\123\040\151\156\143
+\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
+\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
+\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
+\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
+\145\144\061\072\060\070\006\003\125\004\003\023\061\105\156\164
+\162\165\163\164\056\156\145\164\040\123\145\143\165\162\145\040
+\123\145\162\166\145\162\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\201
+\235\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\201\213\000\060\201\207\002\201\201\000\315\050\203\064\124
+\033\211\363\017\257\067\221\061\377\257\061\140\311\250\350\262
+\020\150\355\237\347\223\066\361\012\144\273\107\365\004\027\077
+\043\107\115\305\047\031\201\046\014\124\162\015\210\055\331\037
+\232\022\237\274\263\161\323\200\031\077\107\146\173\214\065\050
+\322\271\012\337\044\332\234\326\120\171\201\172\132\323\067\367
+\302\112\330\051\222\046\144\321\344\230\154\072\000\212\365\064
+\233\145\370\355\343\020\377\375\270\111\130\334\240\336\202\071
+\153\201\261\026\031\141\271\124\266\346\103\002\001\003\243\202
+\001\327\060\202\001\323\060\021\006\011\140\206\110\001\206\370
+\102\001\001\004\004\003\002\000\007\060\202\001\031\006\003\125
+\035\037\004\202\001\020\060\202\001\014\060\201\336\240\201\333
+\240\201\330\244\201\325\060\201\322\061\013\060\011\006\003\125
+\004\006\023\002\125\123\061\024\060\022\006\003\125\004\012\023
+\013\105\156\164\162\165\163\164\056\156\145\164\061\073\060\071
+\006\003\125\004\013\023\062\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\103\120\123\040\151\156\143\157\162
+\160\056\040\142\171\040\162\145\146\056\040\050\154\151\155\151
+\164\163\040\154\151\141\142\056\051\061\045\060\043\006\003\125
+\004\013\023\034\050\143\051\040\061\071\071\071\040\105\156\164
+\162\165\163\164\056\156\145\164\040\114\151\155\151\164\145\144
+\061\072\060\070\006\003\125\004\003\023\061\105\156\164\162\165
+\163\164\056\156\145\164\040\123\145\143\165\162\145\040\123\145
+\162\166\145\162\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\015\060\013
+\006\003\125\004\003\023\004\103\122\114\061\060\051\240\047\240
+\045\206\043\150\164\164\160\072\057\057\167\167\167\056\145\156
+\164\162\165\163\164\056\156\145\164\057\103\122\114\057\156\145
+\164\061\056\143\162\154\060\053\006\003\125\035\020\004\044\060
+\042\200\017\061\071\071\071\060\065\062\065\061\066\060\071\064
+\060\132\201\017\062\060\061\071\060\065\062\065\061\066\060\071
+\064\060\132\060\013\006\003\125\035\017\004\004\003\002\001\006
+\060\037\006\003\125\035\043\004\030\060\026\200\024\360\027\142
+\023\125\075\263\377\012\000\153\373\120\204\227\363\355\142\320
+\032\060\035\006\003\125\035\016\004\026\004\024\360\027\142\023
+\125\075\263\377\012\000\153\373\120\204\227\363\355\142\320\032
+\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060\031
+\006\011\052\206\110\206\366\175\007\101\000\004\014\060\012\033
+\004\126\064\056\060\003\002\004\220\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\201\201\000\220\334\060\002
+\372\144\164\302\247\012\245\174\041\215\064\027\250\373\107\016
+\377\045\174\215\023\012\373\344\230\265\357\214\370\305\020\015
+\367\222\276\361\303\325\325\225\152\004\273\054\316\046\066\145
+\310\061\306\347\356\077\343\127\165\204\172\021\357\106\117\030
+\364\323\230\273\250\207\062\272\162\366\074\342\075\237\327\035
+\331\303\140\103\214\130\016\042\226\057\142\243\054\037\272\255
+\005\357\253\062\170\207\240\124\163\031\265\134\005\371\122\076
+\155\055\105\013\367\012\223\352\355\006\371\262
+END
+
+# Trust for Certificate "Entrust.net Secure Server CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust.net Secure Server CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\231\246\233\346\032\376\210\153\115\053\202\000\174\270\124\374
+\061\176\025\071
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\337\362\200\163\314\361\346\141\163\374\365\102\351\305\174\356
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\303\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\024\060\022\006\003\125\004\012\023\013\105\156\164\162\165
+\163\164\056\156\145\164\061\073\060\071\006\003\125\004\013\023
+\062\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164
+\057\103\120\123\040\151\156\143\157\162\160\056\040\142\171\040
+\162\145\146\056\040\050\154\151\155\151\164\163\040\154\151\141
+\142\056\051\061\045\060\043\006\003\125\004\013\023\034\050\143
+\051\040\061\071\071\071\040\105\156\164\162\165\163\164\056\156
+\145\164\040\114\151\155\151\164\145\144\061\072\060\070\006\003
+\125\004\003\023\061\105\156\164\162\165\163\164\056\156\145\164
+\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\067\112\322\103
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Entrust.net Premium 2048 Secure Server CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust.net Premium 2048 Secure Server CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156
+\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125
+\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056
+\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143
+\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
+\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
+\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
+\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
+\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164
+\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\050\062\060\064\070\051
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156
+\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125
+\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056
+\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143
+\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
+\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
+\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
+\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
+\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164
+\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\050\062\060\064\070\051
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\070\143\271\146
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\134\060\202\003\104\240\003\002\001\002\002\004\070
+\143\271\146\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\201\264\061\024\060\022\006\003\125\004\012\023\013
+\105\156\164\162\165\163\164\056\156\145\164\061\100\060\076\006
+\003\125\004\013\024\067\167\167\167\056\145\156\164\162\165\163
+\164\056\156\145\164\057\103\120\123\137\062\060\064\070\040\151
+\156\143\157\162\160\056\040\142\171\040\162\145\146\056\040\050
+\154\151\155\151\164\163\040\154\151\141\142\056\051\061\045\060
+\043\006\003\125\004\013\023\034\050\143\051\040\061\071\071\071
+\040\105\156\164\162\165\163\164\056\156\145\164\040\114\151\155
+\151\164\145\144\061\063\060\061\006\003\125\004\003\023\052\105
+\156\164\162\165\163\164\056\156\145\164\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\050\062\060\064\070\051\060\036\027\015\071\071\061
+\062\062\064\061\067\065\060\065\061\132\027\015\061\071\061\062
+\062\064\061\070\062\060\065\061\132\060\201\264\061\024\060\022
+\006\003\125\004\012\023\013\105\156\164\162\165\163\164\056\156
+\145\164\061\100\060\076\006\003\125\004\013\024\067\167\167\167
+\056\145\156\164\162\165\163\164\056\156\145\164\057\103\120\123
+\137\062\060\064\070\040\151\156\143\157\162\160\056\040\142\171
+\040\162\145\146\056\040\050\154\151\155\151\164\163\040\154\151
+\141\142\056\051\061\045\060\043\006\003\125\004\013\023\034\050
+\143\051\040\061\071\071\071\040\105\156\164\162\165\163\164\056
+\156\145\164\040\114\151\155\151\164\145\144\061\063\060\061\006
+\003\125\004\003\023\052\105\156\164\162\165\163\164\056\156\145
+\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\040\050\062\060\064\070\051
+\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
+\000\255\115\113\251\022\206\262\352\243\040\007\025\026\144\052
+\053\113\321\277\013\112\115\216\355\200\166\245\147\267\170\100
+\300\163\102\310\150\300\333\123\053\335\136\270\166\230\065\223
+\213\032\235\174\023\072\016\037\133\267\036\317\345\044\024\036
+\261\201\251\215\175\270\314\153\113\003\361\002\014\334\253\245
+\100\044\000\177\164\224\241\235\010\051\263\210\013\365\207\167
+\235\125\315\344\303\176\327\152\144\253\205\024\206\225\133\227
+\062\120\157\075\310\272\146\014\343\374\275\270\111\301\166\211
+\111\031\375\300\250\275\211\243\147\057\306\237\274\161\031\140
+\270\055\351\054\311\220\166\146\173\224\342\257\170\326\145\123
+\135\074\326\234\262\317\051\003\371\057\244\120\262\324\110\316
+\005\062\125\212\375\262\144\114\016\344\230\007\165\333\177\337
+\271\010\125\140\205\060\051\371\173\110\244\151\206\343\065\077
+\036\206\135\172\172\025\275\357\000\216\025\042\124\027\000\220
+\046\223\274\016\111\150\221\277\370\107\323\235\225\102\301\016
+\115\337\157\046\317\303\030\041\142\146\103\160\326\325\300\007
+\341\002\003\001\000\001\243\164\060\162\060\021\006\011\140\206
+\110\001\206\370\102\001\001\004\004\003\002\000\007\060\037\006
+\003\125\035\043\004\030\060\026\200\024\125\344\201\321\021\200
+\276\330\211\271\010\243\061\371\241\044\011\026\271\160\060\035
+\006\003\125\035\016\004\026\004\024\125\344\201\321\021\200\276
+\330\211\271\010\243\061\371\241\044\011\026\271\160\060\035\006
+\011\052\206\110\206\366\175\007\101\000\004\020\060\016\033\010
+\126\065\056\060\072\064\056\060\003\002\004\220\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\131\107\254\041\204\212\027\311\234\211\123\036\272\200\205\032
+\306\074\116\076\261\234\266\174\306\222\135\030\144\002\343\323
+\006\010\021\141\174\143\343\053\235\061\003\160\166\322\243\050
+\240\364\273\232\143\163\355\155\345\052\333\355\024\251\053\306
+\066\021\320\053\353\007\213\245\332\236\134\031\235\126\022\365
+\124\051\310\005\355\262\022\052\215\364\003\033\377\347\222\020
+\207\260\072\265\303\235\005\067\022\243\307\364\025\271\325\244
+\071\026\233\123\072\043\221\361\250\202\242\152\210\150\301\171
+\002\042\274\252\246\326\256\337\260\024\137\270\207\320\335\174
+\177\173\377\257\034\317\346\333\007\255\136\333\205\235\320\053
+\015\063\333\004\321\346\111\100\023\053\166\373\076\351\234\211
+\017\025\316\030\260\205\170\041\117\153\117\016\372\066\147\315
+\007\362\377\010\320\342\336\331\277\052\257\270\207\206\041\074
+\004\312\267\224\150\177\317\074\351\230\327\070\377\354\300\331
+\120\360\056\113\130\256\106\157\320\056\303\140\332\162\125\162
+\275\114\105\236\141\272\277\204\201\222\003\321\322\151\174\305
+END
+
+# Trust for Certificate "Entrust.net Premium 2048 Secure Server CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust.net Premium 2048 Secure Server CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\200\035\142\320\173\104\235\134\134\003\134\230\352\141\372\104
+\074\052\130\376
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\272\041\352\040\326\335\333\217\301\127\213\100\255\241\374\374
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156
+\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125
+\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056
+\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143
+\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
+\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
+\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
+\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
+\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164
+\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\050\062\060\064\070\051
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\070\143\271\146
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Baltimore CyberTrust Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Baltimore CyberTrust Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061
+\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155
+\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171
+\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004
+\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142
+\145\162\124\162\165\163\164\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061
+\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155
+\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171
+\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004
+\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142
+\145\162\124\162\165\163\164\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\002\000\000\271
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\167\060\202\002\137\240\003\002\001\002\002\004\002
+\000\000\271\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\111
+\105\061\022\060\020\006\003\125\004\012\023\011\102\141\154\164
+\151\155\157\162\145\061\023\060\021\006\003\125\004\013\023\012
+\103\171\142\145\162\124\162\165\163\164\061\042\060\040\006\003
+\125\004\003\023\031\102\141\154\164\151\155\157\162\145\040\103
+\171\142\145\162\124\162\165\163\164\040\122\157\157\164\060\036
+\027\015\060\060\060\065\061\062\061\070\064\066\060\060\132\027
+\015\062\065\060\065\061\062\062\063\065\071\060\060\132\060\132
+\061\013\060\011\006\003\125\004\006\023\002\111\105\061\022\060
+\020\006\003\125\004\012\023\011\102\141\154\164\151\155\157\162
+\145\061\023\060\021\006\003\125\004\013\023\012\103\171\142\145
+\162\124\162\165\163\164\061\042\060\040\006\003\125\004\003\023
+\031\102\141\154\164\151\155\157\162\145\040\103\171\142\145\162
+\124\162\165\163\164\040\122\157\157\164\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\243\004\273\042\253
+\230\075\127\350\046\162\232\265\171\324\051\342\341\350\225\200
+\261\260\343\133\216\053\051\232\144\337\241\135\355\260\011\005
+\155\333\050\056\316\142\242\142\376\264\210\332\022\353\070\353
+\041\235\300\101\053\001\122\173\210\167\323\034\217\307\272\271
+\210\265\152\011\347\163\350\021\100\247\321\314\312\142\215\055
+\345\217\013\246\120\322\250\120\303\050\352\365\253\045\207\212
+\232\226\034\251\147\270\077\014\325\367\371\122\023\057\302\033
+\325\160\160\360\217\300\022\312\006\313\232\341\331\312\063\172
+\167\326\370\354\271\361\150\104\102\110\023\322\300\302\244\256
+\136\140\376\266\246\005\374\264\335\007\131\002\324\131\030\230
+\143\365\245\143\340\220\014\175\135\262\006\172\363\205\352\353
+\324\003\256\136\204\076\137\377\025\355\151\274\371\071\066\162
+\165\317\167\122\115\363\311\220\054\271\075\345\311\043\123\077
+\037\044\230\041\134\007\231\051\275\306\072\354\347\156\206\072
+\153\227\164\143\063\275\150\030\061\360\170\215\166\277\374\236
+\216\135\052\206\247\115\220\334\047\032\071\002\003\001\000\001
+\243\105\060\103\060\035\006\003\125\035\016\004\026\004\024\345
+\235\131\060\202\107\130\314\254\372\010\124\066\206\173\072\265
+\004\115\360\060\022\006\003\125\035\023\001\001\377\004\010\060
+\006\001\001\377\002\001\003\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\003\202\001\001\000\205\014\135\216\344
+\157\121\150\102\005\240\335\273\117\047\045\204\003\275\367\144
+\375\055\327\060\343\244\020\027\353\332\051\051\266\171\077\166
+\366\031\023\043\270\020\012\371\130\244\324\141\160\275\004\141
+\152\022\212\027\325\012\275\305\274\060\174\326\351\014\045\215
+\206\100\117\354\314\243\176\070\306\067\021\117\355\335\150\061
+\216\114\322\263\001\164\356\276\165\136\007\110\032\177\160\377
+\026\134\204\300\171\205\270\005\375\177\276\145\021\243\017\300
+\002\264\370\122\067\071\004\325\251\061\172\030\277\240\052\364
+\022\231\367\243\105\202\343\074\136\365\235\236\265\310\236\174
+\056\310\244\236\116\010\024\113\155\375\160\155\153\032\143\275
+\144\346\037\267\316\360\362\237\056\273\033\267\362\120\210\163
+\222\302\342\343\026\215\232\062\002\253\216\030\335\351\020\021
+\356\176\065\253\220\257\076\060\224\172\320\063\075\247\145\017
+\365\374\216\236\142\317\107\104\054\001\135\273\035\265\062\322
+\107\322\070\056\320\376\201\334\062\152\036\265\356\074\325\374
+\347\201\035\031\303\044\102\352\143\071\251
+END
+
+# Trust for Certificate "Baltimore CyberTrust Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Baltimore CyberTrust Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\324\336\040\320\136\146\374\123\376\032\120\210\054\170\333\050
+\122\312\344\164
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\254\266\224\245\234\027\340\327\221\122\233\261\227\006\246\344
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061
+\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155
+\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171
+\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004
+\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142
+\145\162\124\162\165\163\164\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\002\000\000\271
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Equifax Secure Global eBusiness CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure Global eBusiness CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060
+\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102
+\165\163\151\156\145\163\163\040\103\101\055\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060
+\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102
+\165\163\151\156\145\163\163\040\103\101\055\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\220\060\202\001\371\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
+\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034
+\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141\170
+\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060\053
+\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040\123
+\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102\165
+\163\151\156\145\163\163\040\103\101\055\061\060\036\027\015\071
+\071\060\066\062\061\060\064\060\060\060\060\132\027\015\062\060
+\060\066\062\061\060\064\060\060\060\060\132\060\132\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\034\060\032\006\003
+\125\004\012\023\023\105\161\165\151\146\141\170\040\123\145\143
+\165\162\145\040\111\156\143\056\061\055\060\053\006\003\125\004
+\003\023\044\105\161\165\151\146\141\170\040\123\145\143\165\162
+\145\040\107\154\157\142\141\154\040\145\102\165\163\151\156\145
+\163\163\040\103\101\055\061\060\201\237\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211
+\002\201\201\000\272\347\027\220\002\145\261\064\125\074\111\302
+\121\325\337\247\321\067\217\321\347\201\163\101\122\140\233\235
+\241\027\046\170\255\307\261\350\046\224\062\265\336\063\215\072
+\057\333\362\232\172\132\163\230\243\134\351\373\212\163\033\134
+\347\303\277\200\154\315\251\364\326\053\300\367\371\231\252\143
+\242\261\107\002\017\324\344\121\072\022\074\154\212\132\124\204
+\160\333\301\305\220\317\162\105\313\250\131\300\315\063\235\077
+\243\226\353\205\063\041\034\076\036\076\140\156\166\234\147\205
+\305\310\303\141\002\003\001\000\001\243\146\060\144\060\021\006
+\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\037\006\003\125\035\043\004\030\060\026\200\024\276\250
+\240\164\162\120\153\104\267\311\043\330\373\250\377\263\127\153
+\150\154\060\035\006\003\125\035\016\004\026\004\024\276\250\240
+\164\162\120\153\104\267\311\043\330\373\250\377\263\127\153\150
+\154\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000
+\003\201\201\000\060\342\001\121\252\307\352\137\332\271\320\145
+\017\060\326\076\332\015\024\111\156\221\223\047\024\061\357\304
+\367\055\105\370\354\307\277\242\101\015\043\264\222\371\031\000
+\147\275\001\257\315\340\161\374\132\317\144\304\340\226\230\320
+\243\100\342\001\212\357\047\007\361\145\001\212\104\055\006\145
+\165\122\300\206\020\040\041\137\154\153\017\154\256\011\034\257
+\362\242\030\064\304\165\244\163\034\361\215\334\357\255\371\263
+\166\264\222\277\334\225\020\036\276\313\310\073\132\204\140\031
+\126\224\251\125
+END
+
+# Trust for Certificate "Equifax Secure Global eBusiness CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure Global eBusiness CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\176\170\112\020\034\202\145\314\055\341\361\155\107\264\100\312
+\331\012\031\105
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\217\135\167\006\047\304\230\074\133\223\170\347\327\175\233\314
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060
+\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102
+\165\163\151\156\145\163\163\040\103\101\055\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Equifax Secure eBusiness CA 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure eBusiness CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060
+\044\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163
+\040\103\101\055\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060
+\044\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163
+\040\103\101\055\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\004
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\202\060\202\001\353\240\003\002\001\002\002\001\004
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
+\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034
+\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141\170
+\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060\044
+\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040\123
+\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163\040
+\103\101\055\061\060\036\027\015\071\071\060\066\062\061\060\064
+\060\060\060\060\132\027\015\062\060\060\066\062\061\060\064\060
+\060\060\060\132\060\123\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\034\060\032\006\003\125\004\012\023\023\105\161
+\165\151\146\141\170\040\123\145\143\165\162\145\040\111\156\143
+\056\061\046\060\044\006\003\125\004\003\023\035\105\161\165\151
+\146\141\170\040\123\145\143\165\162\145\040\145\102\165\163\151
+\156\145\163\163\040\103\101\055\061\060\201\237\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060
+\201\211\002\201\201\000\316\057\031\274\027\267\167\336\223\251
+\137\132\015\027\117\064\032\014\230\364\042\331\131\324\304\150
+\106\360\264\065\305\205\003\040\306\257\105\245\041\121\105\101
+\353\026\130\066\062\157\342\120\142\144\371\375\121\234\252\044
+\331\364\235\203\052\207\012\041\323\022\070\064\154\215\000\156
+\132\240\331\102\356\032\041\225\371\122\114\125\132\305\017\070
+\117\106\372\155\370\056\065\326\035\174\353\342\360\260\165\200
+\310\251\023\254\276\210\357\072\156\253\137\052\070\142\002\260
+\022\173\376\217\246\003\002\003\001\000\001\243\146\060\144\060
+\021\006\011\140\206\110\001\206\370\102\001\001\004\004\003\002
+\000\007\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\037\006\003\125\035\043\004\030\060\026\200\024
+\112\170\062\122\021\333\131\026\066\136\337\301\024\066\100\152
+\107\174\114\241\060\035\006\003\125\035\016\004\026\004\024\112
+\170\062\122\021\333\131\026\066\136\337\301\024\066\100\152\107
+\174\114\241\060\015\006\011\052\206\110\206\367\015\001\001\004
+\005\000\003\201\201\000\165\133\250\233\003\021\346\351\126\114
+\315\371\251\114\300\015\232\363\314\145\151\346\045\166\314\131
+\267\326\124\303\035\315\231\254\031\335\264\205\325\340\075\374
+\142\040\247\204\113\130\145\361\342\371\225\041\077\365\324\176
+\130\036\107\207\124\076\130\241\265\265\370\052\357\161\347\274
+\303\366\261\111\106\342\327\240\153\345\126\172\232\047\230\174
+\106\142\024\347\311\374\156\003\022\171\200\070\035\110\202\215
+\374\027\376\052\226\053\265\142\246\246\075\275\177\222\131\315
+\132\052\202\262\067\171
+END
+
+# Trust for Certificate "Equifax Secure eBusiness CA 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure eBusiness CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\332\100\030\213\221\211\243\355\356\256\332\227\376\057\235\365
+\267\321\212\101
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\144\234\357\056\104\374\306\217\122\007\320\121\163\217\313\075
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060
+\044\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163
+\040\103\101\055\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\004
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Equifax Secure eBusiness CA 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure eBusiness CA 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004
+\013\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162
+\145\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004
+\013\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162
+\145\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\067\160\317\265
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\040\060\202\002\211\240\003\002\001\002\002\004\067
+\160\317\265\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\116\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\027\060\025\006\003\125\004\012\023\016\105\161\165\151
+\146\141\170\040\123\145\143\165\162\145\061\046\060\044\006\003
+\125\004\013\023\035\105\161\165\151\146\141\170\040\123\145\143
+\165\162\145\040\145\102\165\163\151\156\145\163\163\040\103\101
+\055\062\060\036\027\015\071\071\060\066\062\063\061\062\061\064
+\064\065\132\027\015\061\071\060\066\062\063\061\062\061\064\064
+\065\132\060\116\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\027\060\025\006\003\125\004\012\023\016\105\161\165\151
+\146\141\170\040\123\145\143\165\162\145\061\046\060\044\006\003
+\125\004\013\023\035\105\161\165\151\146\141\170\040\123\145\143
+\165\162\145\040\145\102\165\163\151\156\145\163\163\040\103\101
+\055\062\060\201\237\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\344
+\071\071\223\036\122\006\033\050\066\370\262\243\051\305\355\216
+\262\021\275\376\353\347\264\164\302\217\377\005\347\331\235\006
+\277\022\310\077\016\362\326\321\044\262\021\336\321\163\011\212
+\324\261\054\230\011\015\036\120\106\262\203\246\105\215\142\150
+\273\205\033\040\160\062\252\100\315\246\226\137\304\161\067\077
+\004\363\267\101\044\071\007\032\036\056\141\130\240\022\013\345
+\245\337\305\253\352\067\161\314\034\310\067\072\271\227\122\247
+\254\305\152\044\224\116\234\173\317\300\152\326\337\041\275\002
+\003\001\000\001\243\202\001\011\060\202\001\005\060\160\006\003
+\125\035\037\004\151\060\147\060\145\240\143\240\141\244\137\060
+\135\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
+\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141\170
+\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004\013
+\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162\145
+\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062\061
+\015\060\013\006\003\125\004\003\023\004\103\122\114\061\060\032
+\006\003\125\035\020\004\023\060\021\201\017\062\060\061\071\060
+\066\062\063\061\062\061\064\064\065\132\060\013\006\003\125\035
+\017\004\004\003\002\001\006\060\037\006\003\125\035\043\004\030
+\060\026\200\024\120\236\013\352\257\136\271\040\110\246\120\152
+\313\375\330\040\172\247\202\166\060\035\006\003\125\035\016\004
+\026\004\024\120\236\013\352\257\136\271\040\110\246\120\152\313
+\375\330\040\172\247\202\166\060\014\006\003\125\035\023\004\005
+\060\003\001\001\377\060\032\006\011\052\206\110\206\366\175\007
+\101\000\004\015\060\013\033\005\126\063\056\060\143\003\002\006
+\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\201\201\000\014\206\202\255\350\116\032\365\216\211\047\342
+\065\130\075\051\264\007\217\066\120\225\277\156\301\236\353\304
+\220\262\205\250\273\267\102\340\017\007\071\337\373\236\220\262
+\321\301\076\123\237\003\104\260\176\113\364\157\344\174\037\347
+\342\261\344\270\232\357\303\275\316\336\013\062\064\331\336\050
+\355\063\153\304\324\327\075\022\130\253\175\011\055\313\160\365
+\023\212\224\241\047\244\326\160\305\155\224\265\311\175\235\240
+\322\306\010\111\331\146\233\246\323\364\013\334\305\046\127\341
+\221\060\352\315
+END
+
+# Trust for Certificate "Equifax Secure eBusiness CA 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Equifax Secure eBusiness CA 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\071\117\366\205\013\006\276\122\345\030\126\314\020\341\200\350
+\202\263\205\314
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\252\277\277\144\227\332\230\035\157\306\010\072\225\160\063\312
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004
+\013\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162
+\145\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\067\160\317\265
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AddTrust Low-Value Services Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust Low-Value Services Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101
+\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040
+\103\101\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101
+\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040
+\103\101\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\030\060\202\003\000\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024
+\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163
+\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101
+\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167
+\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144
+\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103
+\101\040\122\157\157\164\060\036\027\015\060\060\060\065\063\060
+\061\060\063\070\063\061\132\027\015\062\060\060\065\063\060\061
+\060\063\070\063\061\132\060\145\061\013\060\011\006\003\125\004
+\006\023\002\123\105\061\024\060\022\006\003\125\004\012\023\013
+\101\144\144\124\162\165\163\164\040\101\102\061\035\060\033\006
+\003\125\004\013\023\024\101\144\144\124\162\165\163\164\040\124
+\124\120\040\116\145\164\167\157\162\153\061\041\060\037\006\003
+\125\004\003\023\030\101\144\144\124\162\165\163\164\040\103\154
+\141\163\163\040\061\040\103\101\040\122\157\157\164\060\202\001
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\001\017\000\060\202\001\012\002\202\001\001\000\226\226
+\324\041\111\140\342\153\350\101\007\014\336\304\340\334\023\043
+\315\301\065\307\373\326\116\021\012\147\136\365\006\133\153\245
+\010\073\133\051\026\072\347\207\262\064\006\305\274\005\245\003
+\174\202\313\051\020\256\341\210\201\275\326\236\323\376\055\126
+\301\025\316\343\046\235\025\056\020\373\006\217\060\004\336\247
+\264\143\264\377\261\234\256\074\257\167\266\126\305\265\253\242
+\351\151\072\075\016\063\171\062\077\160\202\222\231\141\155\215
+\060\010\217\161\077\246\110\127\031\370\045\334\113\146\134\245
+\164\217\230\256\310\371\300\006\042\347\254\163\337\245\056\373
+\122\334\261\025\145\040\372\065\146\151\336\337\054\361\156\274
+\060\333\054\044\022\333\353\065\065\150\220\313\000\260\227\041
+\075\164\041\043\145\064\053\273\170\131\243\326\341\166\071\232
+\244\111\216\214\164\257\156\244\232\243\331\233\322\070\134\233
+\242\030\314\165\043\204\276\353\342\115\063\161\216\032\360\302
+\370\307\035\242\255\003\227\054\370\317\045\306\366\270\044\061
+\261\143\135\222\177\143\360\045\311\123\056\037\277\115\002\003
+\001\000\001\243\201\322\060\201\317\060\035\006\003\125\035\016
+\004\026\004\024\225\261\264\360\224\266\275\307\332\321\021\011
+\041\276\301\257\111\375\020\173\060\013\006\003\125\035\017\004
+\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\201\217\006\003\125\035\043\004\201
+\207\060\201\204\200\024\225\261\264\360\224\266\275\307\332\321
+\021\011\041\276\301\257\111\375\020\173\241\151\244\147\060\145
+\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024\060
+\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163\164
+\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101\144
+\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167\157
+\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144\144
+\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103\101
+\040\122\157\157\164\202\001\001\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\001\001\000\054\155\144\033
+\037\315\015\335\271\001\372\226\143\064\062\110\107\231\256\227
+\355\375\162\026\246\163\107\132\364\353\335\351\365\326\373\105
+\314\051\211\104\135\277\106\071\075\350\356\274\115\124\206\036
+\035\154\343\027\047\103\341\211\126\053\251\157\162\116\111\063
+\343\162\174\052\043\232\274\076\377\050\052\355\243\377\034\043
+\272\103\127\011\147\115\113\142\006\055\370\377\154\235\140\036
+\330\034\113\175\265\061\057\331\320\174\135\370\336\153\203\030
+\170\067\127\057\350\063\007\147\337\036\307\153\052\225\166\256
+\217\127\243\360\364\122\264\251\123\010\317\340\117\323\172\123
+\213\375\273\034\126\066\362\376\262\266\345\166\273\325\042\145
+\247\077\376\321\146\255\013\274\153\231\206\357\077\175\363\030
+\062\312\173\306\343\253\144\106\225\370\046\151\331\125\203\173
+\054\226\007\377\131\054\104\243\306\345\351\251\334\241\143\200
+\132\041\136\041\317\123\124\360\272\157\211\333\250\252\225\317
+\213\343\161\314\036\033\040\104\010\300\172\266\100\375\304\344
+\065\341\035\026\034\320\274\053\216\326\161\331
+END
+
+# Trust for Certificate "AddTrust Low-Value Services Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust Low-Value Services Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\314\253\016\240\114\043\001\326\151\173\335\067\237\315\022\353
+\044\343\224\235
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\036\102\225\002\063\222\153\271\137\300\177\332\326\262\113\374
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101
+\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040
+\103\101\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AddTrust External Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust External Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
+\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
+\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
+\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
+\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
+\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
+\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
+\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
+\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
+\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
+\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\066\060\202\003\036\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024
+\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163
+\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035\101
+\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141\154
+\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060\040
+\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164\040
+\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157\164
+\060\036\027\015\060\060\060\065\063\060\061\060\064\070\063\070
+\132\027\015\062\060\060\065\063\060\061\060\064\070\063\070\132
+\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
+\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
+\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
+\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
+\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
+\164\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\267\367\032\063\346\362\000\004\055\071\340\116\133\355
+\037\274\154\017\315\265\372\043\266\316\336\233\021\063\227\244
+\051\114\175\223\237\275\112\274\223\355\003\032\343\217\317\345
+\155\120\132\326\227\051\224\132\200\260\111\172\333\056\225\375
+\270\312\277\067\070\055\036\076\221\101\255\160\126\307\360\117
+\077\350\062\236\164\312\310\220\124\351\306\137\017\170\235\232
+\100\074\016\254\141\252\136\024\217\236\207\241\152\120\334\327
+\232\116\257\005\263\246\161\224\234\161\263\120\140\012\307\023
+\235\070\007\206\002\250\351\250\151\046\030\220\253\114\260\117
+\043\253\072\117\204\330\337\316\237\341\151\157\273\327\102\327
+\153\104\344\307\255\356\155\101\137\162\132\161\010\067\263\171
+\145\244\131\240\224\067\367\000\057\015\302\222\162\332\320\070
+\162\333\024\250\105\304\135\052\175\267\264\326\304\356\254\315
+\023\104\267\311\053\335\103\000\045\372\141\271\151\152\130\043
+\021\267\247\063\217\126\165\131\365\315\051\327\106\267\012\053
+\145\266\323\102\157\025\262\270\173\373\357\351\135\123\325\064
+\132\047\002\003\001\000\001\243\201\334\060\201\331\060\035\006
+\003\125\035\016\004\026\004\024\255\275\230\172\064\264\046\367
+\372\304\046\124\357\003\275\340\044\313\124\032\060\013\006\003
+\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\201\231\006\003\125
+\035\043\004\201\221\060\201\216\200\024\255\275\230\172\064\264
+\046\367\372\304\046\124\357\003\275\340\044\313\124\032\241\163
+\244\161\060\157\061\013\060\011\006\003\125\004\006\023\002\123
+\105\061\024\060\022\006\003\125\004\012\023\013\101\144\144\124
+\162\165\163\164\040\101\102\061\046\060\044\006\003\125\004\013
+\023\035\101\144\144\124\162\165\163\164\040\105\170\164\145\162
+\156\141\154\040\124\124\120\040\116\145\164\167\157\162\153\061
+\042\060\040\006\003\125\004\003\023\031\101\144\144\124\162\165
+\163\164\040\105\170\164\145\162\156\141\154\040\103\101\040\122
+\157\157\164\202\001\001\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\001\001\000\260\233\340\205\045\302
+\326\043\342\017\226\006\222\235\101\230\234\331\204\171\201\331
+\036\133\024\007\043\066\145\217\260\330\167\273\254\101\154\107
+\140\203\121\260\371\062\075\347\374\366\046\023\307\200\026\245
+\277\132\374\207\317\170\171\211\041\232\342\114\007\012\206\065
+\274\362\336\121\304\322\226\267\334\176\116\356\160\375\034\071
+\353\014\002\121\024\055\216\275\026\340\301\337\106\165\347\044
+\255\354\364\102\264\205\223\160\020\147\272\235\006\065\112\030
+\323\053\172\314\121\102\241\172\143\321\346\273\241\305\053\302
+\066\276\023\015\346\275\143\176\171\173\247\011\015\100\253\152
+\335\217\212\303\366\366\214\032\102\005\121\324\105\365\237\247
+\142\041\150\025\040\103\074\231\347\174\275\044\330\251\221\027
+\163\210\077\126\033\061\070\030\264\161\017\232\315\310\016\236
+\216\056\033\341\214\230\203\313\037\061\361\104\114\306\004\163
+\111\166\140\017\307\370\275\027\200\153\056\351\314\114\016\132
+\232\171\017\040\012\056\325\236\143\046\036\125\222\224\330\202
+\027\132\173\320\274\307\217\116\206\004
+END
+
+# Trust for Certificate "AddTrust External Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust External Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\002\372\363\342\221\103\124\150\140\170\127\151\115\365\344\133
+\150\205\030\150
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\035\065\124\004\205\170\260\077\102\102\115\277\040\163\012\077
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
+\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
+\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
+\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
+\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
+\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AddTrust Public Services Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust Public Services Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\144\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\040\060\036\006\003\125\004\003\023\027\101
+\144\144\124\162\165\163\164\040\120\165\142\154\151\143\040\103
+\101\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\144\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\040\060\036\006\003\125\004\003\023\027\101
+\144\144\124\162\165\163\164\040\120\165\142\154\151\143\040\103
+\101\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\025\060\202\002\375\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\144\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024
+\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163
+\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101
+\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167
+\157\162\153\061\040\060\036\006\003\125\004\003\023\027\101\144
+\144\124\162\165\163\164\040\120\165\142\154\151\143\040\103\101
+\040\122\157\157\164\060\036\027\015\060\060\060\065\063\060\061
+\060\064\061\065\060\132\027\015\062\060\060\065\063\060\061\060
+\064\061\065\060\132\060\144\061\013\060\011\006\003\125\004\006
+\023\002\123\105\061\024\060\022\006\003\125\004\012\023\013\101
+\144\144\124\162\165\163\164\040\101\102\061\035\060\033\006\003
+\125\004\013\023\024\101\144\144\124\162\165\163\164\040\124\124
+\120\040\116\145\164\167\157\162\153\061\040\060\036\006\003\125
+\004\003\023\027\101\144\144\124\162\165\163\164\040\120\165\142
+\154\151\143\040\103\101\040\122\157\157\164\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\351\032\060\217
+\203\210\024\301\040\330\074\233\217\033\176\003\164\273\332\151
+\323\106\245\370\216\302\014\021\220\121\245\057\146\124\100\125
+\352\333\037\112\126\356\237\043\156\364\071\313\241\271\157\362
+\176\371\135\207\046\141\236\034\370\342\354\246\201\370\041\305
+\044\314\021\014\077\333\046\162\172\307\001\227\007\027\371\327
+\030\054\060\175\016\172\036\142\036\306\113\300\375\175\142\167
+\323\104\036\047\366\077\113\104\263\267\070\331\071\037\140\325
+\121\222\163\003\264\000\151\343\363\024\116\356\321\334\011\317
+\167\064\106\120\260\370\021\362\376\070\171\367\007\071\376\121
+\222\227\013\133\010\137\064\206\001\255\210\227\353\146\315\136
+\321\377\334\175\362\204\332\272\167\255\334\200\010\307\247\207
+\326\125\237\227\152\350\310\021\144\272\347\031\051\077\021\263
+\170\220\204\040\122\133\021\357\170\320\203\366\325\110\220\320
+\060\034\317\200\371\140\376\171\344\210\362\335\000\353\224\105
+\353\145\224\151\100\272\300\325\264\270\272\175\004\021\250\353
+\061\005\226\224\116\130\041\216\237\320\140\375\002\003\001\000
+\001\243\201\321\060\201\316\060\035\006\003\125\035\016\004\026
+\004\024\201\076\067\330\222\260\037\167\237\134\264\253\163\252
+\347\366\064\140\057\372\060\013\006\003\125\035\017\004\004\003
+\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\201\216\006\003\125\035\043\004\201\206\060
+\201\203\200\024\201\076\067\330\222\260\037\167\237\134\264\253
+\163\252\347\366\064\140\057\372\241\150\244\146\060\144\061\013
+\060\011\006\003\125\004\006\023\002\123\105\061\024\060\022\006
+\003\125\004\012\023\013\101\144\144\124\162\165\163\164\040\101
+\102\061\035\060\033\006\003\125\004\013\023\024\101\144\144\124
+\162\165\163\164\040\124\124\120\040\116\145\164\167\157\162\153
+\061\040\060\036\006\003\125\004\003\023\027\101\144\144\124\162
+\165\163\164\040\120\165\142\154\151\143\040\103\101\040\122\157
+\157\164\202\001\001\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\003\202\001\001\000\003\367\025\112\370\044\332
+\043\126\026\223\166\335\066\050\271\256\033\270\303\361\144\272
+\040\030\170\225\051\047\127\005\274\174\052\364\271\121\125\332
+\207\002\336\017\026\027\061\370\252\171\056\011\023\273\257\262
+\040\031\022\345\223\371\113\371\203\350\104\325\262\101\045\277
+\210\165\157\377\020\374\112\124\320\137\360\372\357\066\163\175
+\033\066\105\306\041\155\264\025\270\116\317\234\134\245\075\132
+\000\216\006\343\074\153\062\173\362\237\360\266\375\337\360\050
+\030\110\360\306\274\320\277\064\200\226\302\112\261\155\216\307
+\220\105\336\057\147\254\105\004\243\172\334\125\222\311\107\146
+\330\032\214\307\355\234\116\232\340\022\273\265\152\114\204\341
+\341\042\015\207\000\144\376\214\175\142\071\145\246\357\102\266
+\200\045\022\141\001\250\044\023\160\000\021\046\137\372\065\120
+\305\110\314\006\107\350\047\330\160\215\137\144\346\241\104\046
+\136\042\354\222\315\377\102\232\104\041\155\134\305\343\042\035
+\137\107\022\347\316\137\135\372\330\252\261\063\055\331\166\362
+\116\072\063\014\053\263\055\220\006
+END
+
+# Trust for Certificate "AddTrust Public Services Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust Public Services Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\052\266\050\110\136\170\373\363\255\236\171\020\335\153\337\231
+\162\054\226\345
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\301\142\076\043\305\202\163\234\003\131\113\053\351\167\111\177
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\144\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\040\060\036\006\003\125\004\003\023\027\101
+\144\144\124\162\165\163\164\040\120\165\142\154\151\143\040\103
+\101\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AddTrust Qualified Certificates Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust Qualified Certificates Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\147\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\043\060\041\006\003\125\004\003\023\032\101
+\144\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145
+\144\040\103\101\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\147\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\043\060\041\006\003\125\004\003\023\032\101
+\144\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145
+\144\040\103\101\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\036\060\202\003\006\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\147\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024
+\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163
+\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101
+\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167
+\157\162\153\061\043\060\041\006\003\125\004\003\023\032\101\144
+\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145\144
+\040\103\101\040\122\157\157\164\060\036\027\015\060\060\060\065
+\063\060\061\060\064\064\065\060\132\027\015\062\060\060\065\063
+\060\061\060\064\064\065\060\132\060\147\061\013\060\011\006\003
+\125\004\006\023\002\123\105\061\024\060\022\006\003\125\004\012
+\023\013\101\144\144\124\162\165\163\164\040\101\102\061\035\060
+\033\006\003\125\004\013\023\024\101\144\144\124\162\165\163\164
+\040\124\124\120\040\116\145\164\167\157\162\153\061\043\060\041
+\006\003\125\004\003\023\032\101\144\144\124\162\165\163\164\040
+\121\165\141\154\151\146\151\145\144\040\103\101\040\122\157\157
+\164\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\344\036\232\376\334\011\132\207\244\237\107\276\021\137
+\257\204\064\333\142\074\171\170\267\351\060\265\354\014\034\052
+\304\026\377\340\354\161\353\212\365\021\156\355\117\015\221\322
+\022\030\055\111\025\001\302\244\042\023\307\021\144\377\042\022
+\232\271\216\134\057\010\317\161\152\263\147\001\131\361\135\106
+\363\260\170\245\366\016\102\172\343\177\033\314\320\360\267\050
+\375\052\352\236\263\260\271\004\252\375\366\307\264\261\270\052
+\240\373\130\361\031\240\157\160\045\176\076\151\112\177\017\042
+\330\357\255\010\021\232\051\231\341\252\104\105\232\022\136\076
+\235\155\122\374\347\240\075\150\057\360\113\160\174\023\070\255
+\274\025\045\361\326\316\253\242\300\061\326\057\237\340\377\024
+\131\374\204\223\331\207\174\114\124\023\353\237\321\055\021\370
+\030\072\072\336\045\331\367\323\100\355\244\006\022\304\073\341
+\221\301\126\065\360\024\334\145\066\011\156\253\244\007\307\065
+\321\302\003\063\066\133\165\046\155\102\361\022\153\103\157\113
+\161\224\372\064\035\355\023\156\312\200\177\230\057\154\271\145
+\330\351\002\003\001\000\001\243\201\324\060\201\321\060\035\006
+\003\125\035\016\004\026\004\024\071\225\213\142\213\134\311\324
+\200\272\130\017\227\077\025\010\103\314\230\247\060\013\006\003
+\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\201\221\006\003\125
+\035\043\004\201\211\060\201\206\200\024\071\225\213\142\213\134
+\311\324\200\272\130\017\227\077\025\010\103\314\230\247\241\153
+\244\151\060\147\061\013\060\011\006\003\125\004\006\023\002\123
+\105\061\024\060\022\006\003\125\004\012\023\013\101\144\144\124
+\162\165\163\164\040\101\102\061\035\060\033\006\003\125\004\013
+\023\024\101\144\144\124\162\165\163\164\040\124\124\120\040\116
+\145\164\167\157\162\153\061\043\060\041\006\003\125\004\003\023
+\032\101\144\144\124\162\165\163\164\040\121\165\141\154\151\146
+\151\145\144\040\103\101\040\122\157\157\164\202\001\001\060\015
+\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001
+\001\000\031\253\165\352\370\213\145\141\225\023\272\151\004\357
+\206\312\023\240\307\252\117\144\033\077\030\366\250\055\054\125
+\217\005\267\060\352\102\152\035\300\045\121\055\247\277\014\263
+\355\357\010\177\154\074\106\032\352\030\103\337\166\314\371\146
+\206\234\054\150\365\351\027\370\061\263\030\304\326\110\175\043
+\114\150\301\176\273\001\024\157\305\331\156\336\273\004\102\152
+\370\366\134\175\345\332\372\207\353\015\065\122\147\320\236\227
+\166\005\223\077\225\307\001\346\151\125\070\177\020\141\231\311
+\343\137\246\312\076\202\143\110\252\342\010\110\076\252\362\262
+\205\142\246\264\247\331\275\067\234\150\265\055\126\175\260\267
+\077\240\261\007\326\351\117\334\336\105\161\060\062\177\033\056
+\011\371\277\122\241\356\302\200\076\006\134\056\125\100\301\033
+\365\160\105\260\334\135\372\366\162\132\167\322\143\315\317\130
+\211\000\102\143\077\171\071\320\104\260\202\156\101\031\350\335
+\340\301\210\132\321\036\161\223\037\044\060\164\345\036\250\336
+\074\047\067\177\203\256\236\167\317\360\060\261\377\113\231\350
+\306\241
+END
+
+# Trust for Certificate "AddTrust Qualified Certificates Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AddTrust Qualified Certificates Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\115\043\170\354\221\225\071\265\000\177\165\217\003\073\041\036
+\305\115\213\317
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\047\354\071\107\315\332\132\257\342\232\001\145\041\251\114\273
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\147\061\013\060\011\006\003\125\004\006\023\002\123\105\061
+\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
+\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
+\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
+\167\157\162\153\061\043\060\041\006\003\125\004\003\023\032\101
+\144\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145
+\144\040\103\101\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Entrust Root Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust Root Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156
+\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160
+\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145
+\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143
+\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040
+\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105
+\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156
+\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160
+\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145
+\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143
+\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040
+\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105
+\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\105\153\120\124
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\221\060\202\003\171\240\003\002\001\002\002\004\105
+\153\120\124\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\201\260\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156\164
+\162\165\163\164\054\040\111\156\143\056\061\071\060\067\006\003
+\125\004\013\023\060\167\167\167\056\145\156\164\162\165\163\164
+\056\156\145\164\057\103\120\123\040\151\163\040\151\156\143\157
+\162\160\157\162\141\164\145\144\040\142\171\040\162\145\146\145
+\162\145\156\143\145\061\037\060\035\006\003\125\004\013\023\026
+\050\143\051\040\062\060\060\066\040\105\156\164\162\165\163\164
+\054\040\111\156\143\056\061\055\060\053\006\003\125\004\003\023
+\044\105\156\164\162\165\163\164\040\122\157\157\164\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171\060\036\027\015\060\066\061\061\062\067\062
+\060\062\063\064\062\132\027\015\062\066\061\061\062\067\062\060
+\065\063\064\062\132\060\201\260\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015
+\105\156\164\162\165\163\164\054\040\111\156\143\056\061\071\060
+\067\006\003\125\004\013\023\060\167\167\167\056\145\156\164\162
+\165\163\164\056\156\145\164\057\103\120\123\040\151\163\040\151
+\156\143\157\162\160\157\162\141\164\145\144\040\142\171\040\162
+\145\146\145\162\145\156\143\145\061\037\060\035\006\003\125\004
+\013\023\026\050\143\051\040\062\060\060\066\040\105\156\164\162
+\165\163\164\054\040\111\156\143\056\061\055\060\053\006\003\125
+\004\003\023\044\105\156\164\162\165\163\164\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\266\225\266\103\102\372\306
+\155\052\157\110\337\224\114\071\127\005\356\303\171\021\101\150
+\066\355\354\376\232\001\217\241\070\050\374\367\020\106\146\056
+\115\036\032\261\032\116\306\321\300\225\210\260\311\377\061\213
+\063\003\333\267\203\173\076\040\204\136\355\262\126\050\247\370
+\340\271\100\161\067\305\313\107\016\227\052\150\300\042\225\142
+\025\333\107\331\365\320\053\377\202\113\311\255\076\336\114\333
+\220\200\120\077\011\212\204\000\354\060\012\075\030\315\373\375
+\052\131\232\043\225\027\054\105\236\037\156\103\171\155\014\134
+\230\376\110\247\305\043\107\134\136\375\156\347\036\264\366\150
+\105\321\206\203\133\242\212\215\261\343\051\200\376\045\161\210
+\255\276\274\217\254\122\226\113\252\121\215\344\023\061\031\350
+\116\115\237\333\254\263\152\325\274\071\124\161\312\172\172\177
+\220\335\175\035\200\331\201\273\131\046\302\021\376\346\223\342
+\367\200\344\145\373\064\067\016\051\200\160\115\257\070\206\056
+\236\177\127\257\236\027\256\353\034\313\050\041\137\266\034\330
+\347\242\004\042\371\323\332\330\313\002\003\001\000\001\243\201
+\260\060\201\255\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\053\006\003\125\035\020\004\044\060\042
+\200\017\062\060\060\066\061\061\062\067\062\060\062\063\064\062
+\132\201\017\062\060\062\066\061\061\062\067\062\060\065\063\064
+\062\132\060\037\006\003\125\035\043\004\030\060\026\200\024\150
+\220\344\147\244\246\123\200\307\206\146\244\361\367\113\103\373
+\204\275\155\060\035\006\003\125\035\016\004\026\004\024\150\220
+\344\147\244\246\123\200\307\206\146\244\361\367\113\103\373\204
+\275\155\060\035\006\011\052\206\110\206\366\175\007\101\000\004
+\020\060\016\033\010\126\067\056\061\072\064\056\060\003\002\004
+\220\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\001\001\000\223\324\060\260\327\003\040\052\320\371\143
+\350\221\014\005\040\251\137\031\312\173\162\116\324\261\333\320
+\226\373\124\132\031\054\014\010\367\262\274\205\250\235\177\155
+\073\122\263\052\333\347\324\204\214\143\366\017\313\046\001\221
+\120\154\364\137\024\342\223\164\300\023\236\060\072\120\343\264
+\140\305\034\360\042\104\215\161\107\254\310\032\311\351\233\232
+\000\140\023\377\160\176\137\021\115\111\033\263\025\122\173\311
+\124\332\277\235\225\257\153\232\330\236\351\361\344\103\215\342
+\021\104\072\277\257\275\203\102\163\122\213\252\273\247\051\317
+\365\144\034\012\115\321\274\252\254\237\052\320\377\177\177\332
+\175\352\261\355\060\045\301\204\332\064\322\133\170\203\126\354
+\234\066\303\046\342\021\366\147\111\035\222\253\214\373\353\377
+\172\356\205\112\247\120\200\360\247\134\112\224\056\137\005\231
+\074\122\101\340\315\264\143\317\001\103\272\234\203\334\217\140
+\073\363\132\264\264\173\256\332\013\220\070\165\357\201\035\146
+\322\367\127\160\066\263\277\374\050\257\161\045\205\133\023\376
+\036\177\132\264\074
+END
+
+# Trust for Certificate "Entrust Root Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust Root Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\263\036\261\267\100\343\154\204\002\332\334\067\324\115\365\324
+\147\111\122\371
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\326\245\303\355\135\335\076\000\301\075\207\222\037\035\077\344
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156
+\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160
+\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145
+\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143
+\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040
+\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105
+\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\105\153\120\124
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "RSA Security 2048 v3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "RSA Security 2048 v3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\072\061\031\060\027\006\003\125\004\012\023\020\122\123\101
+\040\123\145\143\165\162\151\164\171\040\111\156\143\061\035\060
+\033\006\003\125\004\013\023\024\122\123\101\040\123\145\143\165
+\162\151\164\171\040\062\060\064\070\040\126\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\072\061\031\060\027\006\003\125\004\012\023\020\122\123\101
+\040\123\145\143\165\162\151\164\171\040\111\156\143\061\035\060
+\033\006\003\125\004\013\023\024\122\123\101\040\123\145\143\165
+\162\151\164\171\040\062\060\064\070\040\126\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\012\001\001\001\000\000\002\174\000\000\000\012\000\000
+\000\002
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\141\060\202\002\111\240\003\002\001\002\002\020\012
+\001\001\001\000\000\002\174\000\000\000\012\000\000\000\002\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\072
+\061\031\060\027\006\003\125\004\012\023\020\122\123\101\040\123
+\145\143\165\162\151\164\171\040\111\156\143\061\035\060\033\006
+\003\125\004\013\023\024\122\123\101\040\123\145\143\165\162\151
+\164\171\040\062\060\064\070\040\126\063\060\036\027\015\060\061
+\060\062\062\062\062\060\063\071\062\063\132\027\015\062\066\060
+\062\062\062\062\060\063\071\062\063\132\060\072\061\031\060\027
+\006\003\125\004\012\023\020\122\123\101\040\123\145\143\165\162
+\151\164\171\040\111\156\143\061\035\060\033\006\003\125\004\013
+\023\024\122\123\101\040\123\145\143\165\162\151\164\171\040\062
+\060\064\070\040\126\063\060\202\001\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
+\001\012\002\202\001\001\000\267\217\125\161\322\200\335\173\151
+\171\247\360\030\120\062\074\142\147\366\012\225\007\335\346\033
+\363\236\331\322\101\124\153\255\237\174\276\031\315\373\106\253
+\101\150\036\030\352\125\310\057\221\170\211\050\373\047\051\140
+\377\337\217\214\073\311\111\233\265\244\224\316\001\352\076\265
+\143\173\177\046\375\031\335\300\041\275\204\321\055\117\106\303
+\116\334\330\067\071\073\050\257\313\235\032\352\053\257\041\245
+\301\043\042\270\270\033\132\023\207\127\203\321\360\040\347\350
+\117\043\102\260\000\245\175\211\351\351\141\163\224\230\161\046
+\274\055\152\340\367\115\360\361\266\052\070\061\201\015\051\341
+\000\301\121\017\114\122\370\004\132\252\175\162\323\270\207\052
+\273\143\020\003\052\263\241\117\015\132\136\106\267\075\016\365
+\164\354\231\237\371\075\044\201\210\246\335\140\124\350\225\066
+\075\306\011\223\232\243\022\200\000\125\231\031\107\275\320\245
+\174\303\272\373\037\367\365\017\370\254\271\265\364\067\230\023
+\030\336\205\133\267\014\202\073\207\157\225\071\130\060\332\156
+\001\150\027\042\314\300\013\002\003\001\000\001\243\143\060\141
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\037\006\003\125\035\043\004\030\060\026\200\024\007\303
+\121\060\244\252\351\105\256\065\044\372\377\044\054\063\320\261
+\235\214\060\035\006\003\125\035\016\004\026\004\024\007\303\121
+\060\244\252\351\105\256\065\044\372\377\044\054\063\320\261\235
+\214\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\001\001\000\137\076\206\166\156\270\065\074\116\066\034
+\036\171\230\277\375\325\022\021\171\122\016\356\061\211\274\335
+\177\371\321\306\025\041\350\212\001\124\015\072\373\124\271\326
+\143\324\261\252\226\115\242\102\115\324\123\037\213\020\336\177
+\145\276\140\023\047\161\210\244\163\343\204\143\321\244\125\341
+\120\223\346\033\016\171\320\147\274\106\310\277\077\027\015\225
+\346\306\220\151\336\347\264\057\336\225\175\320\022\077\075\076
+\177\115\077\024\150\365\021\120\325\301\364\220\245\010\035\061
+\140\377\140\214\043\124\012\257\376\241\156\305\321\172\052\150
+\170\317\036\202\012\040\264\037\255\345\205\262\152\150\165\116
+\255\045\067\224\205\276\275\241\324\352\267\014\113\074\235\350
+\022\000\360\137\254\015\341\254\160\143\163\367\177\171\237\062
+\045\102\164\005\200\050\277\275\301\044\226\130\025\261\027\041
+\351\211\113\333\007\210\147\364\025\255\160\076\057\115\205\073
+\302\267\333\376\230\150\043\211\341\164\017\336\364\305\204\143
+\051\033\314\313\007\311\000\244\251\327\302\042\117\147\327\167
+\354\040\005\141\336
+END
+
+# Trust for Certificate "RSA Security 2048 v3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "RSA Security 2048 v3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\045\001\220\031\317\373\331\231\034\267\150\045\164\215\224\137
+\060\223\225\102
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\167\015\031\261\041\375\000\102\234\076\014\245\335\013\002\216
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\072\061\031\060\027\006\003\125\004\012\023\020\122\123\101
+\040\123\145\143\165\162\151\164\171\040\111\156\143\061\035\060
+\033\006\003\125\004\013\023\024\122\123\101\040\123\145\143\165
+\162\151\164\171\040\062\060\064\070\040\126\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\012\001\001\001\000\000\002\174\000\000\000\012\000\000
+\000\002
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GeoTrust Global CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Global CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003
+\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141
+\154\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003
+\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141
+\154\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\002\064\126
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\124\060\202\002\074\240\003\002\001\002\002\003\002
+\064\126\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
+\165\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004
+\003\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142
+\141\154\040\103\101\060\036\027\015\060\062\060\065\062\061\060
+\064\060\060\060\060\132\027\015\062\062\060\065\062\061\060\064
+\060\060\060\060\132\060\102\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015\107
+\145\157\124\162\165\163\164\040\111\156\143\056\061\033\060\031
+\006\003\125\004\003\023\022\107\145\157\124\162\165\163\164\040
+\107\154\157\142\141\154\040\103\101\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\332\314\030\143\060\375
+\364\027\043\032\126\176\133\337\074\154\070\344\161\267\170\221
+\324\274\241\330\114\370\250\103\266\003\351\115\041\007\010\210
+\332\130\057\146\071\051\275\005\170\213\235\070\350\005\267\152
+\176\161\244\346\304\140\246\260\357\200\344\211\050\017\236\045
+\326\355\203\363\255\246\221\307\230\311\102\030\065\024\235\255
+\230\106\222\056\117\312\361\207\103\301\026\225\127\055\120\357
+\211\055\200\172\127\255\362\356\137\153\322\000\215\271\024\370
+\024\025\065\331\300\106\243\173\162\310\221\277\311\125\053\315
+\320\227\076\234\046\144\314\337\316\203\031\161\312\116\346\324
+\325\173\251\031\315\125\336\310\354\322\136\070\123\345\134\117
+\214\055\376\120\043\066\374\146\346\313\216\244\071\031\000\267
+\225\002\071\221\013\016\376\070\056\321\035\005\232\366\115\076
+\157\017\007\035\257\054\036\217\140\071\342\372\066\123\023\071
+\324\136\046\053\333\075\250\024\275\062\353\030\003\050\122\004
+\161\345\253\063\075\341\070\273\007\066\204\142\234\171\352\026
+\060\364\137\300\053\350\161\153\344\371\002\003\001\000\001\243
+\123\060\121\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\300
+\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145\270
+\312\314\116\060\037\006\003\125\035\043\004\030\060\026\200\024
+\300\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145
+\270\312\314\116\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\001\001\000\065\343\051\152\345\057\135\124
+\216\051\120\224\237\231\032\024\344\217\170\052\142\224\242\047
+\147\236\320\317\032\136\107\351\301\262\244\317\335\101\032\005
+\116\233\113\356\112\157\125\122\263\044\241\067\012\353\144\166
+\052\056\054\363\375\073\165\220\277\372\161\330\307\075\067\322
+\265\005\225\142\271\246\336\211\075\066\173\070\167\110\227\254
+\246\040\217\056\246\311\014\302\262\231\105\000\307\316\021\121
+\042\042\340\245\352\266\025\110\011\144\352\136\117\164\367\005
+\076\307\212\122\014\333\025\264\275\155\233\345\306\261\124\150
+\251\343\151\220\266\232\245\017\270\271\077\040\175\256\112\265
+\270\234\344\035\266\253\346\224\245\301\307\203\255\333\365\047
+\207\016\004\154\325\377\335\240\135\355\207\122\267\053\025\002
+\256\071\246\152\164\351\332\304\347\274\115\064\036\251\134\115
+\063\137\222\011\057\210\146\135\167\227\307\035\166\023\251\325
+\345\361\026\011\021\065\325\254\333\044\161\160\054\230\126\013
+\331\027\264\321\343\121\053\136\165\350\325\320\334\117\064\355
+\302\005\146\200\241\313\346\063
+END
+
+# Trust for Certificate "GeoTrust Global CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Global CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\336\050\364\244\377\345\271\057\243\305\003\321\243\111\247\371
+\226\052\202\022
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\367\165\253\051\373\121\116\267\167\136\377\005\074\231\216\365
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003
+\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141
+\154\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\002\064\126
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GeoTrust Global CA 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Global CA 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\035\060\033\006\003\125\004\003
+\023\024\107\145\157\124\162\165\163\164\040\107\154\157\142\141
+\154\040\103\101\040\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\035\060\033\006\003\125\004\003
+\023\024\107\145\157\124\162\165\163\164\040\107\154\157\142\141
+\154\040\103\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\146\060\202\002\116\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026
+\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163
+\164\040\111\156\143\056\061\035\060\033\006\003\125\004\003\023
+\024\107\145\157\124\162\165\163\164\040\107\154\157\142\141\154
+\040\103\101\040\062\060\036\027\015\060\064\060\063\060\064\060
+\065\060\060\060\060\132\027\015\061\071\060\063\060\064\060\065
+\060\060\060\060\132\060\104\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015\107
+\145\157\124\162\165\163\164\040\111\156\143\056\061\035\060\033
+\006\003\125\004\003\023\024\107\145\157\124\162\165\163\164\040
+\107\154\157\142\141\154\040\103\101\040\062\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\357\074\115\100
+\075\020\337\073\123\000\341\147\376\224\140\025\076\205\210\361
+\211\015\220\310\050\043\231\005\350\053\040\235\306\363\140\106
+\330\301\262\325\214\061\331\334\040\171\044\201\277\065\062\374
+\143\151\333\261\052\153\356\041\130\362\010\351\170\313\157\313
+\374\026\122\310\221\304\377\075\163\336\261\076\247\302\175\146
+\301\365\176\122\044\032\342\325\147\221\320\202\020\327\170\113
+\117\053\102\071\275\144\055\100\240\260\020\323\070\110\106\210
+\241\014\273\072\063\052\142\230\373\000\235\023\131\177\157\073
+\162\252\356\246\017\206\371\005\141\352\147\177\014\067\226\213
+\346\151\026\107\021\302\047\131\003\263\246\140\302\041\100\126
+\372\240\307\175\072\023\343\354\127\307\263\326\256\235\211\200
+\367\001\347\054\366\226\053\023\015\171\054\331\300\344\206\173
+\113\214\014\162\202\212\373\027\315\000\154\072\023\074\260\204
+\207\113\026\172\051\262\117\333\035\324\013\363\146\067\275\330
+\366\127\273\136\044\172\270\074\213\271\372\222\032\032\204\236
+\330\164\217\252\033\177\136\364\376\105\042\041\002\003\001\000
+\001\243\143\060\141\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
+\024\161\070\066\362\002\061\123\107\053\156\272\145\106\251\020
+\025\130\040\005\011\060\037\006\003\125\035\043\004\030\060\026
+\200\024\161\070\066\362\002\061\123\107\053\156\272\145\106\251
+\020\025\130\040\005\011\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\001\001\000\003\367\265\053\253\135
+\020\374\173\262\262\136\254\233\016\176\123\170\131\076\102\004
+\376\165\243\255\254\201\116\327\002\213\136\304\055\310\122\166
+\307\054\037\374\201\062\230\321\113\306\222\223\063\065\061\057
+\374\330\035\104\335\340\201\177\235\351\213\341\144\221\142\013
+\071\010\214\254\164\235\131\331\172\131\122\227\021\271\026\173
+\157\105\323\226\331\061\175\002\066\017\234\073\156\317\054\015
+\003\106\105\353\240\364\177\110\104\306\010\100\314\336\033\160
+\265\051\255\272\213\073\064\145\165\033\161\041\035\054\024\012
+\260\226\225\270\326\352\362\145\373\051\272\117\352\221\223\164
+\151\266\362\377\341\032\320\014\321\166\205\313\212\045\275\227
+\136\054\157\025\231\046\347\266\051\377\042\354\311\002\307\126
+\000\315\111\271\263\154\173\123\004\032\342\250\311\252\022\005
+\043\302\316\347\273\004\002\314\300\107\242\344\304\051\057\133
+\105\127\211\121\356\074\353\122\010\377\007\065\036\237\065\152
+\107\112\126\230\321\132\205\037\214\365\042\277\253\316\203\363
+\342\042\051\256\175\203\100\250\272\154
+END
+
+# Trust for Certificate "GeoTrust Global CA 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Global CA 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\251\351\170\010\024\067\130\210\362\005\031\260\155\053\015\053
+\140\026\220\175
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\016\100\247\154\336\003\135\217\321\017\344\321\215\371\154\251
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\035\060\033\006\003\125\004\003
+\023\024\107\145\157\124\162\165\163\164\040\107\154\157\142\141
+\154\040\103\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GeoTrust Universal CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Universal CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003
+\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145
+\162\163\141\154\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003
+\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145
+\162\163\141\154\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\150\060\202\003\120\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026
+\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163
+\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003\023
+\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162
+\163\141\154\040\103\101\060\036\027\015\060\064\060\063\060\064
+\060\065\060\060\060\060\132\027\015\062\071\060\063\060\064\060
+\065\060\060\060\060\132\060\105\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015
+\107\145\157\124\162\165\163\164\040\111\156\143\056\061\036\060
+\034\006\003\125\004\003\023\025\107\145\157\124\162\165\163\164
+\040\125\156\151\166\145\162\163\141\154\040\103\101\060\202\002
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\002\017\000\060\202\002\012\002\202\002\001\000\246\025
+\125\240\243\306\340\037\214\235\041\120\327\301\276\053\133\265
+\244\236\241\331\162\130\275\000\033\114\277\141\311\024\035\105
+\202\253\306\035\200\326\075\353\020\234\072\257\155\044\370\274
+\161\001\236\006\365\174\137\036\301\016\125\312\203\232\131\060
+\256\031\313\060\110\225\355\042\067\215\364\112\232\162\146\076
+\255\225\300\340\026\000\340\020\037\053\061\016\327\224\124\323
+\102\063\240\064\035\036\105\166\335\117\312\030\067\354\205\025
+\172\031\010\374\325\307\234\360\362\251\056\020\251\222\346\075
+\130\075\251\026\150\074\057\165\041\030\177\050\167\245\341\141
+\027\267\246\351\370\036\231\333\163\156\364\012\242\041\154\356
+\332\252\205\222\146\257\366\172\153\202\332\272\042\010\065\017
+\317\102\361\065\372\152\356\176\053\045\314\072\021\344\155\257
+\163\262\166\035\255\320\262\170\147\032\244\071\034\121\013\147
+\126\203\375\070\135\015\316\335\360\273\053\226\037\336\173\062
+\122\375\035\273\265\006\241\262\041\136\245\326\225\150\177\360
+\231\236\334\105\010\076\347\322\011\015\065\224\335\200\116\123
+\227\327\265\011\104\040\144\026\027\003\002\114\123\015\150\336
+\325\252\162\115\223\155\202\016\333\234\275\317\264\363\134\135
+\124\172\151\011\226\326\333\021\301\215\165\250\264\317\071\310
+\316\074\274\044\174\346\142\312\341\275\175\247\275\127\145\013
+\344\376\045\355\266\151\020\334\050\032\106\275\001\035\320\227
+\265\341\230\073\300\067\144\326\075\224\356\013\341\365\050\256
+\013\126\277\161\213\043\051\101\216\206\305\113\122\173\330\161
+\253\037\212\025\246\073\203\132\327\130\001\121\306\114\101\331
+\177\330\101\147\162\242\050\337\140\203\251\236\310\173\374\123
+\163\162\131\365\223\172\027\166\016\316\367\345\134\331\013\125
+\064\242\252\133\265\152\124\347\023\312\127\354\227\155\364\136
+\006\057\105\213\130\324\043\026\222\344\026\156\050\143\131\060
+\337\120\001\234\143\211\032\237\333\027\224\202\160\067\303\044
+\236\232\107\326\132\312\116\250\151\211\162\037\221\154\333\176
+\236\033\255\307\037\163\335\054\117\031\145\375\177\223\100\020
+\056\322\360\355\074\236\056\050\076\151\046\063\305\173\002\003
+\001\000\001\243\143\060\141\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004
+\026\004\024\332\273\056\252\260\014\270\210\046\121\164\134\155
+\003\323\300\330\217\172\326\060\037\006\003\125\035\043\004\030
+\060\026\200\024\332\273\056\252\260\014\270\210\046\121\164\134
+\155\003\323\300\330\217\172\326\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\002\001\000\061\170\346\307
+\265\337\270\224\100\311\161\304\250\065\354\106\035\302\205\363
+\050\130\206\260\013\374\216\262\071\217\104\125\253\144\204\134
+\151\251\320\232\070\074\372\345\037\065\345\104\343\200\171\224
+\150\244\273\304\237\075\341\064\315\060\106\213\124\053\225\245
+\357\367\077\231\204\375\065\346\317\061\306\334\152\277\247\327
+\043\010\341\230\136\303\132\010\166\251\246\257\167\057\267\140
+\275\104\106\152\357\227\377\163\225\301\216\350\223\373\375\061
+\267\354\127\021\021\105\233\060\361\032\210\071\301\117\074\247
+\000\325\307\374\253\155\200\042\160\245\014\340\135\004\051\002
+\373\313\240\221\321\174\326\303\176\120\325\235\130\276\101\070
+\353\271\165\074\025\331\233\311\112\203\131\300\332\123\375\063
+\273\066\030\233\205\017\025\335\356\055\254\166\223\271\331\001
+\215\110\020\250\373\365\070\206\361\333\012\306\275\204\243\043
+\101\336\326\167\157\205\324\205\034\120\340\256\121\212\272\215
+\076\166\342\271\312\047\362\137\237\357\156\131\015\006\330\053
+\027\244\322\174\153\273\137\024\032\110\217\032\114\347\263\107
+\034\216\114\105\053\040\356\110\337\347\335\011\216\030\250\332
+\100\215\222\046\021\123\141\163\135\353\275\347\304\115\051\067
+\141\353\254\071\055\147\056\026\326\365\000\203\205\241\314\177
+\166\304\175\344\267\113\146\357\003\105\140\151\266\014\122\226
+\222\204\136\246\243\265\244\076\053\331\314\330\033\107\252\362
+\104\332\117\371\003\350\360\024\313\077\363\203\336\320\301\124
+\343\267\350\012\067\115\213\040\131\003\060\031\241\054\310\275
+\021\037\337\256\311\112\305\363\047\146\146\206\254\150\221\377
+\331\346\123\034\017\213\134\151\145\012\046\310\036\064\303\135
+\121\173\327\251\234\006\241\066\335\325\211\224\274\331\344\055
+\014\136\011\154\010\227\174\243\075\174\223\377\077\241\024\247
+\317\265\135\353\333\333\034\304\166\337\210\271\275\105\005\225
+\033\256\374\106\152\114\257\110\343\316\256\017\322\176\353\346
+\154\234\117\201\152\172\144\254\273\076\325\347\313\166\056\305
+\247\110\301\134\220\017\313\310\077\372\346\062\341\215\033\157
+\244\346\216\330\371\051\110\212\316\163\376\054
+END
+
+# Trust for Certificate "GeoTrust Universal CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Universal CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\346\041\363\065\103\171\005\232\113\150\060\235\212\057\164\042
+\025\207\354\171
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\222\145\130\213\242\032\061\162\163\150\134\264\245\172\007\110
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003
+\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145
+\162\163\141\154\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GeoTrust Universal CA 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Universal CA 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003
+\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145
+\162\163\141\154\040\103\101\040\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003
+\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145
+\162\163\141\154\040\103\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\154\060\202\003\124\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026
+\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163
+\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003\023
+\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162
+\163\141\154\040\103\101\040\062\060\036\027\015\060\064\060\063
+\060\064\060\065\060\060\060\060\132\027\015\062\071\060\063\060
+\064\060\065\060\060\060\060\132\060\107\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012
+\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061
+\040\060\036\006\003\125\004\003\023\027\107\145\157\124\162\165
+\163\164\040\125\156\151\166\145\162\163\141\154\040\103\101\040
+\062\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
+\001\000\263\124\122\301\311\076\362\331\334\261\123\032\131\051
+\347\261\303\105\050\345\327\321\355\305\305\113\241\252\164\173
+\127\257\112\046\374\330\365\136\247\156\031\333\164\014\117\065
+\133\062\013\001\343\333\353\172\167\065\352\252\132\340\326\350
+\241\127\224\360\220\243\164\126\224\104\060\003\036\134\116\053
+\205\046\164\202\172\014\166\240\157\115\316\101\055\240\025\006
+\024\137\267\102\315\173\217\130\141\064\334\052\010\371\056\303
+\001\246\042\104\034\114\007\202\346\133\316\320\112\174\004\323
+\031\163\047\360\252\230\177\056\257\116\353\207\036\044\167\152
+\135\266\350\133\105\272\334\303\241\005\157\126\216\217\020\046
+\245\111\303\056\327\101\207\042\340\117\206\312\140\265\352\241
+\143\300\001\227\020\171\275\000\074\022\155\053\025\261\254\113
+\261\356\030\271\116\226\334\334\166\377\073\276\317\137\003\300
+\374\073\350\276\106\033\377\332\100\302\122\367\376\343\072\367
+\152\167\065\320\332\215\353\136\030\152\061\307\036\272\074\033
+\050\326\153\124\306\252\133\327\242\054\033\031\314\242\002\366
+\233\131\275\067\153\206\265\155\202\272\330\352\311\126\274\251
+\066\130\375\076\031\363\355\014\046\251\223\070\370\117\301\135
+\042\006\320\227\352\341\255\306\125\340\201\053\050\203\072\372
+\364\173\041\121\000\276\122\070\316\315\146\171\250\364\201\126
+\342\320\203\011\107\121\133\120\152\317\333\110\032\135\076\367
+\313\366\145\367\154\361\225\370\002\073\062\126\202\071\172\133
+\275\057\211\033\277\241\264\350\377\177\215\214\337\003\361\140
+\116\130\021\114\353\243\077\020\053\203\232\001\163\331\224\155
+\204\000\047\146\254\360\160\100\011\102\222\255\117\223\015\141
+\011\121\044\330\222\325\013\224\141\262\207\262\355\377\232\065
+\377\205\124\312\355\104\103\254\033\074\026\153\110\112\012\034
+\100\210\037\222\302\013\000\005\377\362\310\002\112\244\252\251
+\314\231\226\234\057\130\340\175\341\276\273\007\334\137\004\162
+\134\061\064\303\354\137\055\340\075\144\220\042\346\321\354\270
+\056\335\131\256\331\241\067\277\124\065\334\163\062\117\214\004
+\036\063\262\311\106\361\330\134\310\125\120\311\150\275\250\272
+\066\011\002\003\001\000\001\243\143\060\141\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\166\363\125\341\372\244\066\373\360
+\237\134\142\161\355\074\364\107\070\020\053\060\037\006\003\125
+\035\043\004\030\060\026\200\024\166\363\125\341\372\244\066\373
+\360\237\134\142\161\355\074\364\107\070\020\053\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001\000
+\146\301\306\043\363\331\340\056\156\137\350\317\256\260\260\045
+\115\053\370\073\130\233\100\044\067\132\313\253\026\111\377\263
+\165\171\063\241\057\155\160\027\064\221\376\147\176\217\354\233
+\345\136\202\251\125\037\057\334\324\121\007\022\376\254\026\076
+\054\065\306\143\374\334\020\353\015\243\252\320\174\314\321\320
+\057\121\056\304\024\132\336\350\031\341\076\306\314\244\051\347
+\056\204\252\006\060\170\166\124\163\050\230\131\070\340\000\015
+\142\323\102\175\041\237\256\075\072\214\325\372\167\015\030\053
+\026\016\137\066\341\374\052\265\060\044\317\340\143\014\173\130
+\032\376\231\272\102\022\261\221\364\174\150\342\310\350\257\054
+\352\311\176\256\273\052\075\015\025\334\064\225\266\030\164\250
+\152\017\307\264\364\023\304\344\133\355\012\322\244\227\114\052
+\355\057\154\022\211\075\361\047\160\252\152\003\122\041\237\100
+\250\147\120\362\363\132\037\337\337\043\366\334\170\116\346\230
+\117\125\072\123\343\357\362\364\237\307\174\330\130\257\051\042
+\227\270\340\275\221\056\260\166\354\127\021\317\357\051\104\363
+\351\205\172\140\143\344\135\063\211\027\331\061\252\332\326\363
+\030\065\162\317\207\053\057\143\043\204\135\204\214\077\127\240
+\210\374\231\221\050\046\151\231\324\217\227\104\276\216\325\110
+\261\244\050\051\361\025\264\341\345\236\335\370\217\246\157\046
+\327\011\074\072\034\021\016\246\154\067\367\255\104\207\054\050
+\307\330\164\202\263\320\157\112\127\273\065\051\047\240\213\350
+\041\247\207\144\066\135\314\330\026\254\307\262\047\100\222\125
+\070\050\215\121\156\335\024\147\123\154\161\134\046\204\115\165
+\132\266\176\140\126\251\115\255\373\233\036\227\363\015\331\322
+\227\124\167\332\075\022\267\340\036\357\010\006\254\371\205\207
+\351\242\334\257\176\030\022\203\375\126\027\101\056\325\051\202
+\175\231\364\061\366\161\251\317\054\001\047\245\005\271\252\262
+\110\116\052\357\237\223\122\121\225\074\122\163\216\126\114\027
+\100\300\011\050\344\213\152\110\123\333\354\315\125\125\361\306
+\370\351\242\054\114\246\321\046\137\176\257\132\114\332\037\246
+\362\034\054\176\256\002\026\322\126\320\057\127\123\107\350\222
+END
+
+# Trust for Certificate "GeoTrust Universal CA 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Universal CA 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\067\232\031\173\101\205\105\065\014\246\003\151\363\074\056\257
+\107\117\040\171
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\064\374\270\320\066\333\236\024\263\302\362\333\217\344\224\307
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003
+\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145
+\162\163\141\154\040\103\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "UTN-USER First-Network Applications"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN-USER First-Network Applications"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\243\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\053\060\051\006\003\125
+\004\003\023\042\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\116\145\164\167\157\162\153\040\101\160\160\154\151\143
+\141\164\151\157\156\163
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\243\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\053\060\051\006\003\125
+\004\003\023\042\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\116\145\164\167\157\162\153\040\101\160\160\154\151\143
+\141\164\151\157\156\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\060\113\300
+\063\167
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\144\060\202\003\114\240\003\002\001\002\002\020\104
+\276\014\213\120\000\044\264\021\323\066\060\113\300\063\167\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\243\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\053\060\051\006\003\125\004\003
+\023\042\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\116\145\164\167\157\162\153\040\101\160\160\154\151\143\141\164
+\151\157\156\163\060\036\027\015\071\071\060\067\060\071\061\070
+\064\070\063\071\132\027\015\061\071\060\067\060\071\061\070\065
+\067\064\071\132\060\201\243\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\013\060\011\006\003\125\004\010\023\002\125
+\124\061\027\060\025\006\003\125\004\007\023\016\123\141\154\164
+\040\114\141\153\145\040\103\151\164\171\061\036\060\034\006\003
+\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122\125
+\123\124\040\116\145\164\167\157\162\153\061\041\060\037\006\003
+\125\004\013\023\030\150\164\164\160\072\057\057\167\167\167\056
+\165\163\145\162\164\162\165\163\164\056\143\157\155\061\053\060
+\051\006\003\125\004\003\023\042\125\124\116\055\125\123\105\122
+\106\151\162\163\164\055\116\145\164\167\157\162\153\040\101\160
+\160\154\151\143\141\164\151\157\156\163\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\263\373\221\241\344
+\066\125\205\254\006\064\133\240\232\130\262\370\265\017\005\167
+\203\256\062\261\166\222\150\354\043\112\311\166\077\343\234\266
+\067\171\003\271\253\151\215\007\045\266\031\147\344\260\033\030
+\163\141\112\350\176\315\323\057\144\343\246\174\014\372\027\200
+\243\015\107\211\117\121\161\057\356\374\077\371\270\026\200\207
+\211\223\045\040\232\103\202\151\044\166\050\131\065\241\035\300
+\177\203\006\144\026\040\054\323\111\244\205\264\300\141\177\121
+\010\370\150\025\221\200\313\245\325\356\073\072\364\204\004\136
+\140\131\247\214\064\162\356\270\170\305\321\073\022\112\157\176
+\145\047\271\244\125\305\271\157\103\244\305\035\054\231\300\122
+\244\170\114\025\263\100\230\010\153\103\306\001\260\172\173\365
+\153\034\042\077\313\357\377\250\320\072\113\166\025\236\322\321
+\306\056\343\333\127\033\062\242\270\157\350\206\246\077\160\253
+\345\160\222\253\104\036\100\120\373\234\243\142\344\154\156\240
+\310\336\342\200\102\372\351\057\350\316\062\004\217\174\215\267
+\034\243\065\074\025\335\236\303\256\227\245\002\003\001\000\001
+\243\201\221\060\201\216\060\013\006\003\125\035\017\004\004\003
+\002\001\306\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\372
+\206\311\333\340\272\351\170\365\113\250\326\025\337\360\323\341
+\152\024\074\060\117\006\003\125\035\037\004\110\060\106\060\104
+\240\102\240\100\206\076\150\164\164\160\072\057\057\143\162\154
+\056\165\163\145\162\164\162\165\163\164\056\143\157\155\057\125
+\124\116\055\125\123\105\122\106\151\162\163\164\055\116\145\164
+\167\157\162\153\101\160\160\154\151\143\141\164\151\157\156\163
+\056\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\001\001\000\244\363\045\314\321\324\221\203
+\042\320\314\062\253\233\226\116\064\221\124\040\045\064\141\137
+\052\002\025\341\213\252\377\175\144\121\317\012\377\274\175\330
+\041\152\170\313\057\121\157\370\102\035\063\275\353\265\173\224
+\303\303\251\240\055\337\321\051\037\035\376\217\077\273\250\105
+\052\177\321\156\125\044\342\273\002\373\061\077\276\350\274\354
+\100\053\370\001\324\126\070\344\312\104\202\265\141\040\041\147
+\145\366\360\013\347\064\370\245\302\234\243\134\100\037\205\223
+\225\006\336\117\324\047\251\266\245\374\026\315\163\061\077\270
+\145\047\317\324\123\032\360\254\156\237\117\005\014\003\201\247
+\204\051\304\132\275\144\127\162\255\073\317\067\030\246\230\306
+\255\006\264\334\010\243\004\325\051\244\226\232\022\147\112\214
+\140\105\235\361\043\232\260\000\234\150\265\230\120\323\357\216
+\056\222\145\261\110\076\041\276\025\060\052\015\265\014\243\153
+\077\256\177\127\365\037\226\174\337\157\335\202\060\054\145\033
+\100\112\315\150\271\162\354\161\166\354\124\216\037\205\014\001
+\152\372\246\070\254\037\304\204
+END
+
+# Trust for Certificate "UTN-USER First-Network Applications"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN-USER First-Network Applications"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\135\230\234\333\025\226\021\066\121\145\144\033\126\017\333\352
+\052\302\076\361
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\277\140\131\243\133\272\366\247\166\102\332\157\032\173\120\317
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\243\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\053\060\051\006\003\125
+\004\003\023\042\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\116\145\164\167\157\162\153\040\101\160\160\154\151\143
+\141\164\151\157\156\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\060\113\300
+\063\167
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "America Online Root Certification Authority 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "America Online Root Certification Authority 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143
+\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060
+\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040
+\117\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143
+\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060
+\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040
+\117\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\244\060\202\002\214\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034
+\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143\141
+\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060\064
+\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040\117
+\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\061\060\036\027\015\060\062\060\065\062\070\060\066
+\060\060\060\060\132\027\015\063\067\061\061\061\071\062\060\064
+\063\060\060\132\060\143\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\034\060\032\006\003\125\004\012\023\023\101\155
+\145\162\151\143\141\040\117\156\154\151\156\145\040\111\156\143
+\056\061\066\060\064\006\003\125\004\003\023\055\101\155\145\162
+\151\143\141\040\117\156\154\151\156\145\040\122\157\157\164\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165
+\164\150\157\162\151\164\171\040\061\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\250\057\350\244\151\006
+\003\107\303\351\052\230\377\031\242\160\232\306\120\262\176\245
+\337\150\115\033\174\017\266\227\150\175\055\246\213\227\351\144
+\206\311\243\357\240\206\277\140\145\234\113\124\210\302\110\305
+\112\071\277\024\343\131\125\345\031\264\164\310\264\005\071\134
+\026\245\342\225\005\340\022\256\131\213\242\063\150\130\034\246
+\324\025\267\330\237\327\334\161\253\176\232\277\233\216\063\017
+\042\375\037\056\347\007\066\357\142\071\305\335\313\272\045\024
+\043\336\014\306\075\074\316\202\010\346\146\076\332\121\073\026
+\072\243\005\177\240\334\207\325\234\374\162\251\240\175\170\344
+\267\061\125\036\145\273\324\141\260\041\140\355\020\062\162\305
+\222\045\036\370\220\112\030\170\107\337\176\060\067\076\120\033
+\333\034\323\153\232\206\123\007\260\357\254\006\170\370\204\231
+\376\041\215\114\200\266\014\202\366\146\160\171\032\323\117\243
+\317\361\317\106\260\113\017\076\335\210\142\270\214\251\011\050
+\073\172\307\227\341\036\345\364\237\300\300\256\044\240\310\241
+\331\017\326\173\046\202\151\062\075\247\002\003\001\000\001\243
+\143\060\141\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\000
+\255\331\243\366\171\366\156\164\251\177\063\075\201\027\327\114
+\317\063\336\060\037\006\003\125\035\043\004\030\060\026\200\024
+\000\255\331\243\366\171\366\156\164\251\177\063\075\201\027\327
+\114\317\063\336\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\206\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\001\001\000\174\212\321\037\030\067\202\340
+\270\260\243\355\126\225\310\142\141\234\005\242\315\302\142\046
+\141\315\020\026\327\314\264\145\064\320\021\212\255\250\251\005
+\146\357\164\363\155\137\235\231\257\366\213\373\353\122\262\005
+\230\242\157\052\305\124\275\045\275\137\256\310\206\352\106\054
+\301\263\275\301\351\111\160\030\026\227\010\023\214\040\340\033
+\056\072\107\313\036\344\000\060\225\133\364\105\243\300\032\260
+\001\116\253\275\300\043\156\143\077\200\112\305\007\355\334\342
+\157\307\301\142\361\343\162\326\004\310\164\147\013\372\210\253
+\241\001\310\157\360\024\257\322\231\315\121\223\176\355\056\070
+\307\275\316\106\120\075\162\343\171\045\235\233\210\053\020\040
+\335\245\270\062\237\215\340\051\337\041\164\206\202\333\057\202
+\060\306\307\065\206\263\371\226\137\106\333\014\105\375\363\120
+\303\157\306\303\110\255\106\246\341\047\107\012\035\016\233\266
+\302\167\177\143\362\340\175\032\276\374\340\337\327\307\247\154
+\260\371\256\272\074\375\164\264\021\350\130\015\200\274\323\250
+\200\072\231\355\165\314\106\173
+END
+
+# Trust for Certificate "America Online Root Certification Authority 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "America Online Root Certification Authority 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\071\041\301\025\301\135\016\312\134\313\133\304\360\175\041\330
+\005\013\126\152
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\024\361\010\255\235\372\144\342\211\347\034\317\250\255\175\136
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143
+\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060
+\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040
+\117\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "America Online Root Certification Authority 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "America Online Root Certification Authority 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143
+\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060
+\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040
+\117\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143
+\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060
+\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040
+\117\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\244\060\202\003\214\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034
+\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143\141
+\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060\064
+\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040\117
+\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\062\060\036\027\015\060\062\060\065\062\070\060\066
+\060\060\060\060\132\027\015\063\067\060\071\062\071\061\064\060
+\070\060\060\132\060\143\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\034\060\032\006\003\125\004\012\023\023\101\155
+\145\162\151\143\141\040\117\156\154\151\156\145\040\111\156\143
+\056\061\066\060\064\006\003\125\004\003\023\055\101\155\145\162
+\151\143\141\040\117\156\154\151\156\145\040\122\157\157\164\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165
+\164\150\157\162\151\164\171\040\062\060\202\002\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017
+\000\060\202\002\012\002\202\002\001\000\314\101\105\035\351\075
+\115\020\366\214\261\101\311\340\136\313\015\267\277\107\163\323
+\360\125\115\335\306\014\372\261\146\005\152\315\170\264\334\002
+\333\116\201\363\327\247\174\161\274\165\143\240\135\343\007\014
+\110\354\045\304\003\040\364\377\016\073\022\377\233\215\341\306
+\325\033\264\155\042\343\261\333\177\041\144\257\206\274\127\042
+\052\326\107\201\127\104\202\126\123\275\206\024\001\013\374\177
+\164\244\132\256\361\272\021\265\233\130\132\200\264\067\170\011
+\063\174\062\107\003\134\304\245\203\110\364\127\126\156\201\066
+\047\030\117\354\233\050\302\324\264\327\174\014\076\014\053\337
+\312\004\327\306\216\352\130\116\250\244\245\030\034\154\105\230
+\243\101\321\055\322\307\155\215\031\361\255\171\267\201\077\275
+\006\202\047\055\020\130\005\265\170\005\271\057\333\014\153\220
+\220\176\024\131\070\273\224\044\023\345\321\235\024\337\323\202
+\115\106\360\200\071\122\062\017\343\204\262\172\103\362\136\336
+\137\077\035\335\343\262\033\240\241\052\043\003\156\056\001\025
+\207\134\246\165\165\307\227\141\276\336\206\334\324\110\333\275
+\052\277\112\125\332\350\175\120\373\264\200\027\270\224\277\001
+\075\352\332\272\174\340\130\147\027\271\130\340\210\206\106\147
+\154\235\020\107\130\062\320\065\174\171\052\220\242\132\020\021
+\043\065\255\057\314\344\112\133\247\310\047\362\203\336\136\273
+\136\167\347\350\245\156\143\302\015\135\141\320\214\322\154\132
+\041\016\312\050\243\316\052\351\225\307\110\317\226\157\035\222
+\045\310\306\306\301\301\014\005\254\046\304\322\165\322\341\052
+\147\300\075\133\245\232\353\317\173\032\250\235\024\105\345\017
+\240\232\145\336\057\050\275\316\157\224\146\203\110\051\330\352
+\145\214\257\223\331\144\237\125\127\046\277\157\313\067\061\231
+\243\140\273\034\255\211\064\062\142\270\103\041\006\162\014\241
+\134\155\106\305\372\051\317\060\336\211\334\161\133\335\266\067
+\076\337\120\365\270\007\045\046\345\274\265\376\074\002\263\267
+\370\276\103\301\207\021\224\236\043\154\027\212\270\212\047\014
+\124\107\360\251\263\300\200\214\240\047\353\035\031\343\007\216
+\167\160\312\053\364\175\166\340\170\147\002\003\001\000\001\243
+\143\060\141\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\115
+\105\301\150\070\273\163\251\151\241\040\347\355\365\042\241\043
+\024\327\236\060\037\006\003\125\035\043\004\030\060\026\200\024
+\115\105\301\150\070\273\163\251\151\241\040\347\355\365\042\241
+\043\024\327\236\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\206\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\002\001\000\147\153\006\271\137\105\073\052
+\113\063\263\346\033\153\131\116\042\314\271\267\244\045\311\247
+\304\360\124\226\013\144\363\261\130\117\136\121\374\262\227\173
+\047\145\302\345\312\347\015\014\045\173\142\343\372\237\264\207
+\267\105\106\257\203\245\227\110\214\245\275\361\026\053\233\166
+\054\172\065\140\154\021\200\227\314\251\222\122\346\053\346\151
+\355\251\370\066\055\054\167\277\141\110\321\143\013\271\133\122
+\355\030\260\103\102\042\246\261\167\256\336\151\305\315\307\034
+\241\261\245\034\020\373\030\276\032\160\335\301\222\113\276\051
+\132\235\077\065\276\345\175\121\370\125\340\045\165\043\207\036
+\134\334\272\235\260\254\263\151\333\027\203\311\367\336\014\274
+\010\334\221\236\250\320\327\025\067\163\245\065\270\374\176\305
+\104\100\006\303\353\370\042\200\134\107\316\002\343\021\237\104
+\377\375\232\062\314\175\144\121\016\353\127\046\166\072\343\036
+\042\074\302\246\066\335\031\357\247\374\022\363\046\300\131\061
+\205\114\234\330\317\337\244\314\314\051\223\377\224\155\166\134
+\023\010\227\362\355\245\013\115\335\350\311\150\016\146\323\000
+\016\063\022\133\274\225\345\062\220\250\263\306\154\203\255\167
+\356\213\176\176\261\251\253\323\341\361\266\300\261\352\210\300
+\347\323\220\351\050\222\224\173\150\173\227\052\012\147\055\205
+\002\070\020\344\003\141\324\332\045\066\307\010\130\055\241\247
+\121\257\060\012\111\365\246\151\207\007\055\104\106\166\216\052
+\345\232\073\327\030\242\374\234\070\020\314\306\073\322\265\027
+\072\157\375\256\045\275\365\162\131\144\261\164\052\070\137\030
+\114\337\317\161\004\132\066\324\277\057\231\234\350\331\272\261
+\225\346\002\113\041\241\133\325\301\117\217\256\151\155\123\333
+\001\223\265\134\036\030\335\144\132\312\030\050\076\143\004\021
+\375\034\215\000\017\270\067\337\147\212\235\146\251\002\152\221
+\377\023\312\057\135\203\274\207\223\154\334\044\121\026\004\045
+\146\372\263\331\302\272\051\276\232\110\070\202\231\364\277\073
+\112\061\031\371\277\216\041\063\024\312\117\124\137\373\316\373
+\217\161\177\375\136\031\240\017\113\221\270\304\124\274\006\260
+\105\217\046\221\242\216\376\251
+END
+
+# Trust for Certificate "America Online Root Certification Authority 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "America Online Root Certification Authority 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\205\265\377\147\233\014\171\226\037\310\156\104\042\000\106\023
+\333\027\222\204
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\326\355\074\312\342\146\017\257\020\103\015\167\233\004\011\277
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143
+\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060
+\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040
+\117\156\154\151\156\145\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Visa eCommerce Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Visa eCommerce Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\153\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\015\060\013\006\003\125\004\012\023\004\126\111\123\101\061\057
+\060\055\006\003\125\004\013\023\046\126\151\163\141\040\111\156
+\164\145\162\156\141\164\151\157\156\141\154\040\123\145\162\166
+\151\143\145\040\101\163\163\157\143\151\141\164\151\157\156\061
+\034\060\032\006\003\125\004\003\023\023\126\151\163\141\040\145
+\103\157\155\155\145\162\143\145\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\153\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\015\060\013\006\003\125\004\012\023\004\126\111\123\101\061\057
+\060\055\006\003\125\004\013\023\046\126\151\163\141\040\111\156
+\164\145\162\156\141\164\151\157\156\141\154\040\123\145\162\166
+\151\143\145\040\101\163\163\157\143\151\141\164\151\157\156\061
+\034\060\032\006\003\125\004\003\023\023\126\151\163\141\040\145
+\103\157\155\155\145\162\143\145\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\023\206\065\115\035\077\006\362\301\371\145\005\325\220
+\034\142
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\242\060\202\002\212\240\003\002\001\002\002\020\023
+\206\065\115\035\077\006\362\301\371\145\005\325\220\034\142\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\153
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\015\060
+\013\006\003\125\004\012\023\004\126\111\123\101\061\057\060\055
+\006\003\125\004\013\023\046\126\151\163\141\040\111\156\164\145
+\162\156\141\164\151\157\156\141\154\040\123\145\162\166\151\143
+\145\040\101\163\163\157\143\151\141\164\151\157\156\061\034\060
+\032\006\003\125\004\003\023\023\126\151\163\141\040\145\103\157
+\155\155\145\162\143\145\040\122\157\157\164\060\036\027\015\060
+\062\060\066\062\066\060\062\061\070\063\066\132\027\015\062\062
+\060\066\062\064\060\060\061\066\061\062\132\060\153\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\015\060\013\006\003
+\125\004\012\023\004\126\111\123\101\061\057\060\055\006\003\125
+\004\013\023\046\126\151\163\141\040\111\156\164\145\162\156\141
+\164\151\157\156\141\154\040\123\145\162\166\151\143\145\040\101
+\163\163\157\143\151\141\164\151\157\156\061\034\060\032\006\003
+\125\004\003\023\023\126\151\163\141\040\145\103\157\155\155\145
+\162\143\145\040\122\157\157\164\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\257\127\336\126\036\156\241
+\332\140\261\224\047\313\027\333\007\077\200\205\117\310\234\266
+\320\364\157\117\317\231\330\341\333\302\110\134\072\254\071\063
+\307\037\152\213\046\075\053\065\365\110\261\221\301\002\116\004
+\226\221\173\260\063\360\261\024\116\021\157\265\100\257\033\105
+\245\112\357\176\266\254\362\240\037\130\077\022\106\140\074\215
+\241\340\175\317\127\076\063\036\373\107\361\252\025\227\007\125
+\146\245\265\055\056\330\200\131\262\247\015\267\106\354\041\143
+\377\065\253\245\002\317\052\364\114\376\173\365\224\135\204\115
+\250\362\140\217\333\016\045\074\237\163\161\317\224\337\112\352
+\333\337\162\070\214\363\226\275\361\027\274\322\272\073\105\132
+\306\247\366\306\027\213\001\235\374\031\250\052\203\026\270\072
+\110\376\116\076\240\253\006\031\351\123\363\200\023\007\355\055
+\277\077\012\074\125\040\071\054\054\000\151\164\225\112\274\040
+\262\251\171\345\030\211\221\250\334\034\115\357\273\176\067\013
+\135\376\071\245\210\122\214\000\154\354\030\174\101\275\366\213
+\165\167\272\140\235\204\347\376\055\002\003\001\000\001\243\102
+\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\035\006\003\125\035\016\004\026\004\024\025\070
+\203\017\077\054\077\160\063\036\315\106\376\007\214\040\340\327
+\303\267\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\202\001\001\000\137\361\101\175\174\134\010\271\053\340
+\325\222\107\372\147\134\245\023\303\003\041\233\053\114\211\106
+\317\131\115\311\376\245\100\266\143\315\335\161\050\225\147\021
+\314\044\254\323\104\154\161\256\001\040\153\003\242\217\030\267
+\051\072\175\345\026\140\123\170\074\300\257\025\203\367\217\122
+\063\044\275\144\223\227\356\213\367\333\030\250\155\161\263\367
+\054\027\320\164\045\151\367\376\153\074\224\276\115\113\101\214
+\116\342\163\320\343\220\042\163\103\315\363\357\352\163\316\105
+\212\260\246\111\377\114\175\235\161\210\304\166\035\220\133\035
+\356\375\314\367\356\375\140\245\261\172\026\161\321\026\320\174
+\022\074\154\151\227\333\256\137\071\232\160\057\005\074\031\106
+\004\231\040\066\320\140\156\141\006\273\026\102\214\160\367\060
+\373\340\333\146\243\000\001\275\346\054\332\221\137\240\106\213
+\115\152\234\075\075\335\005\106\376\166\277\240\012\074\344\000
+\346\047\267\377\204\055\336\272\042\047\226\020\161\353\042\355
+\337\337\063\234\317\343\255\256\216\324\216\346\117\121\257\026
+\222\340\134\366\007\017
+END
+
+# Trust for Certificate "Visa eCommerce Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Visa eCommerce Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\160\027\233\206\214\000\244\372\140\221\122\042\077\237\076\062
+\275\340\005\142
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\374\021\270\330\010\223\060\000\155\043\371\176\353\122\036\002
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\153\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\015\060\013\006\003\125\004\012\023\004\126\111\123\101\061\057
+\060\055\006\003\125\004\013\023\046\126\151\163\141\040\111\156
+\164\145\162\156\141\164\151\157\156\141\154\040\123\145\162\166
+\151\143\145\040\101\163\163\157\143\151\141\164\151\157\156\061
+\034\060\032\006\003\125\004\003\023\023\126\151\163\141\040\145
+\103\157\155\155\145\162\143\145\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\023\206\065\115\035\077\006\362\301\371\145\005\325\220
+\034\142
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Certum Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164
+\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020
+\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164
+\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020
+\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\001\000\040
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\014\060\202\001\364\240\003\002\001\002\002\003\001
+\000\040\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145
+\164\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060
+\020\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103
+\101\060\036\027\015\060\062\060\066\061\061\061\060\064\066\063
+\071\132\027\015\062\067\060\066\061\061\061\060\064\066\063\071
+\132\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145
+\164\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060
+\020\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103
+\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\316\261\301\056\323\117\174\315\045\316\030\076\117\304
+\214\157\200\152\163\310\133\121\370\233\322\334\273\000\134\261
+\240\374\165\003\356\201\360\210\356\043\122\351\346\025\063\215
+\254\055\011\305\166\371\053\071\200\211\344\227\113\220\245\250
+\170\370\163\103\173\244\141\260\330\130\314\341\154\146\176\234
+\363\011\136\125\143\204\325\250\357\363\261\056\060\150\263\304
+\074\330\254\156\215\231\132\220\116\064\334\066\232\217\201\210
+\120\267\155\226\102\011\363\327\225\203\015\101\113\260\152\153
+\370\374\017\176\142\237\147\304\355\046\137\020\046\017\010\117
+\360\244\127\050\316\217\270\355\105\366\156\356\045\135\252\156
+\071\276\344\223\057\331\107\240\162\353\372\246\133\257\312\123
+\077\342\016\306\226\126\021\156\367\351\146\251\046\330\177\225
+\123\355\012\205\210\272\117\051\245\102\214\136\266\374\205\040
+\000\252\150\013\241\032\205\001\234\304\106\143\202\210\266\042
+\261\356\376\252\106\131\176\317\065\054\325\266\332\135\367\110
+\063\024\124\266\353\331\157\316\315\210\326\253\033\332\226\073
+\035\131\002\003\001\000\001\243\023\060\021\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\270\215\316\357\347\024\272\317\356\260\104\222\154\264\071\076
+\242\204\156\255\270\041\167\322\324\167\202\207\346\040\101\201
+\356\342\370\021\267\143\321\027\067\276\031\166\044\034\004\032
+\114\353\075\252\147\157\055\324\315\376\145\061\160\305\033\246
+\002\012\272\140\173\155\130\302\232\111\376\143\062\013\153\343
+\072\300\254\253\073\260\350\323\011\121\214\020\203\306\064\340
+\305\053\340\032\266\140\024\047\154\062\167\214\274\262\162\230
+\317\315\314\077\271\310\044\102\024\326\127\374\346\046\103\251
+\035\345\200\220\316\003\124\050\076\367\077\323\370\115\355\152
+\012\072\223\023\233\073\024\043\023\143\234\077\321\207\047\171
+\345\114\121\343\001\255\205\135\032\073\261\325\163\020\244\323
+\362\274\156\144\365\132\126\220\250\307\016\114\164\017\056\161
+\073\367\310\107\364\151\157\025\362\021\136\203\036\234\174\122
+\256\375\002\332\022\250\131\147\030\333\274\160\335\233\261\151
+\355\200\316\211\100\110\152\016\065\312\051\146\025\041\224\054
+\350\140\052\233\205\112\100\363\153\212\044\354\006\026\054\163
+END
+
+# Trust for Certificate "Certum Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\142\122\334\100\367\021\103\242\057\336\236\367\064\216\006\102
+\121\261\201\030
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\054\217\237\146\035\030\220\261\107\046\235\216\206\202\214\251
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164
+\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020
+\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\001\000\040
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Comodo AAA Services root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Comodo AAA Services root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
+\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
+\143\141\164\145\040\123\145\162\166\151\143\145\163
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
+\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
+\143\141\164\145\040\123\145\162\166\151\143\145\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\062\060\202\003\032\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
+\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
+\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
+\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
+\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
+\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003\125
+\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151\143
+\141\164\145\040\123\145\162\166\151\143\145\163\060\036\027\015
+\060\064\060\061\060\061\060\060\060\060\060\060\132\027\015\062
+\070\061\062\063\061\062\063\065\071\065\071\132\060\173\061\013
+\060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006
+\003\125\004\010\014\022\107\162\145\141\164\145\162\040\115\141
+\156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004
+\007\014\007\123\141\154\146\157\162\144\061\032\060\030\006\003
+\125\004\012\014\021\103\157\155\157\144\157\040\103\101\040\114
+\151\155\151\164\145\144\061\041\060\037\006\003\125\004\003\014
+\030\101\101\101\040\103\145\162\164\151\146\151\143\141\164\145
+\040\123\145\162\166\151\143\145\163\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\276\100\235\364\156\341
+\352\166\207\034\115\105\104\216\276\106\310\203\006\235\301\052
+\376\030\037\216\344\002\372\363\253\135\120\212\026\061\013\232
+\006\320\305\160\042\315\111\055\124\143\314\266\156\150\106\013
+\123\352\313\114\044\300\274\162\116\352\361\025\256\364\124\232
+\022\012\303\172\262\063\140\342\332\211\125\363\042\130\363\336
+\334\317\357\203\206\242\214\224\117\237\150\362\230\220\106\204
+\047\307\166\277\343\314\065\054\213\136\007\144\145\202\300\110
+\260\250\221\371\141\237\166\040\120\250\221\307\146\265\353\170
+\142\003\126\360\212\032\023\352\061\243\036\240\231\375\070\366
+\366\047\062\130\157\007\365\153\270\373\024\053\257\267\252\314
+\326\143\137\163\214\332\005\231\250\070\250\313\027\170\066\121
+\254\351\236\364\170\072\215\317\017\331\102\342\230\014\253\057
+\237\016\001\336\357\237\231\111\361\055\337\254\164\115\033\230
+\265\107\305\345\051\321\371\220\030\307\142\234\276\203\307\046
+\173\076\212\045\307\300\335\235\346\065\150\020\040\235\217\330
+\336\322\303\204\234\015\136\350\057\311\002\003\001\000\001\243
+\201\300\060\201\275\060\035\006\003\125\035\016\004\026\004\024
+\240\021\012\043\076\226\361\007\354\342\257\051\357\202\245\177
+\320\060\244\264\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\173\006\003\125\035\037\004\164\060\162
+\060\070\240\066\240\064\206\062\150\164\164\160\072\057\057\143
+\162\154\056\143\157\155\157\144\157\143\141\056\143\157\155\057
+\101\101\101\103\145\162\164\151\146\151\143\141\164\145\123\145
+\162\166\151\143\145\163\056\143\162\154\060\066\240\064\240\062
+\206\060\150\164\164\160\072\057\057\143\162\154\056\143\157\155
+\157\144\157\056\156\145\164\057\101\101\101\103\145\162\164\151
+\146\151\143\141\164\145\123\145\162\166\151\143\145\163\056\143
+\162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\202\001\001\000\010\126\374\002\360\233\350\377\244\372
+\326\173\306\104\200\316\117\304\305\366\000\130\314\246\266\274
+\024\111\150\004\166\350\346\356\135\354\002\017\140\326\215\120
+\030\117\046\116\001\343\346\260\245\356\277\274\164\124\101\277
+\375\374\022\270\307\117\132\364\211\140\005\177\140\267\005\112
+\363\366\361\302\277\304\271\164\206\266\055\175\153\314\322\363
+\106\335\057\306\340\152\303\303\064\003\054\175\226\335\132\302
+\016\247\012\231\301\005\213\253\014\057\363\134\072\317\154\067
+\125\011\207\336\123\100\154\130\357\374\266\253\145\156\004\366
+\033\334\074\340\132\025\306\236\331\361\131\110\060\041\145\003
+\154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217
+\372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042
+\227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242
+\156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362
+\343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267
+\262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237
+\225\351\066\226\230\156
+END
+
+# Trust for Certificate "Comodo AAA Services root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Comodo AAA Services root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\321\353\043\244\155\027\326\217\331\045\144\302\361\361\140\027
+\144\330\343\111
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003
+\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151
+\143\141\164\145\040\123\145\162\166\151\143\145\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Comodo Secure Services root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Comodo Secure Services root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\176\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\044\060\042\006\003
+\125\004\003\014\033\123\145\143\165\162\145\040\103\145\162\164
+\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145\163
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\176\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\044\060\042\006\003
+\125\004\003\014\033\123\145\143\165\162\145\040\103\145\162\164
+\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\077\060\202\003\047\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\176\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
+\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
+\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
+\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
+\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
+\101\040\114\151\155\151\164\145\144\061\044\060\042\006\003\125
+\004\003\014\033\123\145\143\165\162\145\040\103\145\162\164\151
+\146\151\143\141\164\145\040\123\145\162\166\151\143\145\163\060
+\036\027\015\060\064\060\061\060\061\060\060\060\060\060\060\132
+\027\015\062\070\061\062\063\061\062\063\065\071\065\071\132\060
+\176\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
+\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
+\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
+\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
+\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
+\101\040\114\151\155\151\164\145\144\061\044\060\042\006\003\125
+\004\003\014\033\123\145\143\165\162\145\040\103\145\162\164\151
+\146\151\143\141\164\145\040\123\145\162\166\151\143\145\163\060
+\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
+\300\161\063\202\212\320\160\353\163\207\202\100\325\035\344\313
+\311\016\102\220\371\336\064\271\241\272\021\364\045\205\363\314
+\162\155\362\173\227\153\263\007\361\167\044\221\137\045\217\366
+\164\075\344\200\302\370\074\015\363\277\100\352\367\310\122\321
+\162\157\357\310\253\101\270\156\056\027\052\225\151\014\315\322
+\036\224\173\055\224\035\252\165\327\263\230\313\254\274\144\123
+\100\274\217\254\254\066\313\134\255\273\335\340\224\027\354\321
+\134\320\277\357\245\225\311\220\305\260\254\373\033\103\337\172
+\010\135\267\270\362\100\033\053\047\236\120\316\136\145\202\210
+\214\136\323\116\014\172\352\010\221\266\066\252\053\102\373\352
+\302\243\071\345\333\046\070\255\213\012\356\031\143\307\034\044
+\337\003\170\332\346\352\301\107\032\013\013\106\011\335\002\374
+\336\313\207\137\327\060\143\150\241\256\334\062\241\272\276\376
+\104\253\150\266\245\027\025\375\275\325\247\247\232\344\104\063
+\351\210\216\374\355\121\353\223\161\116\255\001\347\104\216\253
+\055\313\250\376\001\111\110\360\300\335\307\150\330\222\376\075
+\002\003\001\000\001\243\201\307\060\201\304\060\035\006\003\125
+\035\016\004\026\004\024\074\330\223\210\302\300\202\011\314\001
+\231\006\223\040\351\236\160\011\143\117\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\201\201\006\003
+\125\035\037\004\172\060\170\060\073\240\071\240\067\206\065\150
+\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144\157
+\143\141\056\143\157\155\057\123\145\143\165\162\145\103\145\162
+\164\151\146\151\143\141\164\145\123\145\162\166\151\143\145\163
+\056\143\162\154\060\071\240\067\240\065\206\063\150\164\164\160
+\072\057\057\143\162\154\056\143\157\155\157\144\157\056\156\145
+\164\057\123\145\143\165\162\145\103\145\162\164\151\146\151\143
+\141\164\145\123\145\162\166\151\143\145\163\056\143\162\154\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\207\001\155\043\035\176\133\027\175\301\141\062\317
+\217\347\363\212\224\131\146\340\236\050\250\136\323\267\364\064
+\346\252\071\262\227\026\305\202\157\062\244\351\214\347\257\375
+\357\302\350\271\113\252\243\364\346\332\215\145\041\373\272\200
+\353\046\050\205\032\376\071\214\336\133\004\004\264\124\371\243
+\147\236\101\372\011\122\314\005\110\250\311\077\041\004\036\316
+\110\153\374\205\350\302\173\257\177\267\314\370\137\072\375\065
+\306\015\357\227\334\114\253\021\341\153\313\061\321\154\373\110
+\200\253\334\234\067\270\041\024\113\015\161\075\354\203\063\156
+\321\156\062\026\354\230\307\026\213\131\246\064\253\005\127\055
+\223\367\252\023\313\322\023\342\267\056\073\315\153\120\027\011
+\150\076\265\046\127\356\266\340\266\335\271\051\200\171\175\217
+\243\360\244\050\244\025\304\205\364\047\324\153\277\345\134\344
+\145\002\166\124\264\343\067\146\044\323\031\141\310\122\020\345
+\213\067\232\271\251\371\035\277\352\231\222\141\226\377\001\315
+\241\137\015\274\161\274\016\254\013\035\107\105\035\301\354\174
+\354\375\051
+END
+
+# Trust for Certificate "Comodo Secure Services root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Comodo Secure Services root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\112\145\325\364\035\357\071\270\270\220\112\112\323\144\201\063
+\317\307\241\321
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\323\331\275\256\237\254\147\044\263\310\033\122\341\271\251\275
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\176\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\044\060\042\006\003
+\125\004\003\014\033\123\145\143\165\162\145\040\103\145\162\164
+\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Comodo Trusted Services root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Comodo Trusted Services root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\045\060\043\006\003
+\125\004\003\014\034\124\162\165\163\164\145\144\040\103\145\162
+\164\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145
+\163
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\045\060\043\006\003
+\125\004\003\014\034\124\162\165\163\164\145\144\040\103\145\162
+\164\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145
+\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\103\060\202\003\053\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\177\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
+\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162
+\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
+\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060
+\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103
+\101\040\114\151\155\151\164\145\144\061\045\060\043\006\003\125
+\004\003\014\034\124\162\165\163\164\145\144\040\103\145\162\164
+\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145\163
+\060\036\027\015\060\064\060\061\060\061\060\060\060\060\060\060
+\132\027\015\062\070\061\062\063\061\062\063\065\071\065\071\132
+\060\177\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\045\060\043\006\003
+\125\004\003\014\034\124\162\165\163\164\145\144\040\103\145\162
+\164\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145
+\163\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\337\161\157\066\130\123\132\362\066\124\127\200\304\164
+\010\040\355\030\177\052\035\346\065\232\036\045\254\234\345\226
+\176\162\122\240\025\102\333\131\335\144\172\032\320\270\173\335
+\071\025\274\125\110\304\355\072\000\352\061\021\272\362\161\164
+\032\147\270\317\063\314\250\061\257\243\343\327\177\277\063\055
+\114\152\074\354\213\303\222\322\123\167\044\164\234\007\156\160
+\374\275\013\133\166\272\137\362\377\327\067\113\112\140\170\367
+\360\372\312\160\264\352\131\252\243\316\110\057\251\303\262\013
+\176\027\162\026\014\246\007\014\033\070\317\311\142\267\077\240
+\223\245\207\101\362\267\160\100\167\330\276\024\174\343\250\300
+\172\216\351\143\152\321\017\232\306\322\364\213\072\024\004\126
+\324\355\270\314\156\365\373\342\054\130\275\177\117\153\053\367
+\140\044\130\044\316\046\357\064\221\072\325\343\201\320\262\360
+\004\002\327\133\267\076\222\254\153\022\212\371\344\005\260\073
+\221\111\134\262\353\123\352\370\237\107\206\356\277\225\300\300
+\006\237\322\133\136\021\033\364\307\004\065\051\322\125\134\344
+\355\353\002\003\001\000\001\243\201\311\060\201\306\060\035\006
+\003\125\035\016\004\026\004\024\305\173\130\275\355\332\045\151
+\322\367\131\026\250\263\062\300\173\047\133\364\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\201\203
+\006\003\125\035\037\004\174\060\172\060\074\240\072\240\070\206
+\066\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157
+\144\157\143\141\056\143\157\155\057\124\162\165\163\164\145\144
+\103\145\162\164\151\146\151\143\141\164\145\123\145\162\166\151
+\143\145\163\056\143\162\154\060\072\240\070\240\066\206\064\150
+\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144\157
+\056\156\145\164\057\124\162\165\163\164\145\144\103\145\162\164
+\151\146\151\143\141\164\145\123\145\162\166\151\143\145\163\056
+\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\202\001\001\000\310\223\201\073\211\264\257\270\204
+\022\114\215\322\360\333\160\272\127\206\025\064\020\271\057\177
+\036\260\250\211\140\241\212\302\167\014\120\112\233\000\213\330
+\213\364\101\342\320\203\212\112\034\024\006\260\243\150\005\160
+\061\060\247\123\233\016\351\112\240\130\151\147\016\256\235\366
+\245\054\101\277\074\006\153\344\131\314\155\020\361\226\157\037
+\337\364\004\002\244\237\105\076\310\330\372\066\106\104\120\077
+\202\227\221\037\050\333\030\021\214\052\344\145\203\127\022\022
+\214\027\077\224\066\376\135\260\300\004\167\023\270\364\025\325
+\077\070\314\224\072\125\320\254\230\365\272\000\137\340\206\031
+\201\170\057\050\300\176\323\314\102\012\365\256\120\240\321\076
+\306\241\161\354\077\240\040\214\146\072\211\264\216\324\330\261
+\115\045\107\356\057\210\310\265\341\005\105\300\276\024\161\336
+\172\375\216\173\175\115\010\226\245\022\163\360\055\312\067\047
+\164\022\047\114\313\266\227\351\331\256\010\155\132\071\100\335
+\005\107\165\152\132\041\263\243\030\317\116\367\056\127\267\230
+\160\136\310\304\170\260\142
+END
+
+# Trust for Certificate "Comodo Trusted Services root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Comodo Trusted Services root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\341\237\343\016\213\204\140\236\200\233\027\015\162\250\305\272
+\156\024\011\275
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\221\033\077\156\315\236\253\356\007\376\037\161\322\263\141\047
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145
+\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016
+\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032
+\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040
+\103\101\040\114\151\155\151\164\145\144\061\045\060\043\006\003
+\125\004\003\014\034\124\162\165\163\164\145\144\040\103\145\162
+\164\151\146\151\143\141\164\145\040\123\145\162\166\151\143\145
+\163
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "QuoVadis Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003
+\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126
+\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003
+\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126
+\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\072\266\120\213
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\320\060\202\004\270\240\003\002\001\002\002\004\072
+\266\120\213\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\177\061\013\060\011\006\003\125\004\006\023\002\102
+\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
+\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060\043
+\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121\165
+\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\060\036\027\015\060\061\060\063\061\071\061\070\063
+\063\063\063\132\027\015\062\061\060\063\061\067\061\070\063\063
+\063\063\132\060\177\061\013\060\011\006\003\125\004\006\023\002
+\102\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157
+\126\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060
+\043\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121
+\165\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\277\141\265\225\123\272\127\374\372\362\147
+\013\072\032\337\021\200\144\225\264\321\274\315\172\317\366\051
+\226\056\044\124\100\044\070\367\032\205\334\130\114\313\244\047
+\102\227\320\237\203\212\303\344\006\003\133\000\245\121\036\160
+\004\164\342\301\324\072\253\327\255\073\007\030\005\216\375\203
+\254\352\146\331\030\033\150\212\365\127\032\230\272\365\355\166
+\075\174\331\336\224\152\073\113\027\301\325\217\275\145\070\072
+\225\320\075\125\066\116\337\171\127\061\052\036\330\131\145\111
+\130\040\230\176\253\137\176\237\351\326\115\354\203\164\251\307
+\154\330\356\051\112\205\052\006\024\371\124\346\323\332\145\007
+\213\143\067\022\327\320\354\303\173\040\101\104\243\355\313\240
+\027\341\161\145\316\035\146\061\367\166\001\031\310\175\003\130
+\266\225\111\035\246\022\046\350\306\014\166\340\343\146\313\352
+\135\246\046\356\345\314\137\275\147\247\001\047\016\242\312\124
+\305\261\172\225\035\161\036\112\051\212\003\334\152\105\301\244
+\031\136\157\066\315\303\242\260\267\376\134\070\342\122\274\370
+\104\103\346\220\273\002\003\001\000\001\243\202\002\122\060\202
+\002\116\060\075\006\010\053\006\001\005\005\007\001\001\004\061
+\060\057\060\055\006\010\053\006\001\005\005\007\060\001\206\041
+\150\164\164\160\163\072\057\057\157\143\163\160\056\161\165\157
+\166\141\144\151\163\157\146\146\163\150\157\162\145\056\143\157
+\155\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\202\001\032\006\003\125\035\040\004\202\001\021\060
+\202\001\015\060\202\001\011\006\011\053\006\001\004\001\276\130
+\000\001\060\201\373\060\201\324\006\010\053\006\001\005\005\007
+\002\002\060\201\307\032\201\304\122\145\154\151\141\156\143\145
+\040\157\156\040\164\150\145\040\121\165\157\126\141\144\151\163
+\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
+\145\040\142\171\040\141\156\171\040\160\141\162\164\171\040\141
+\163\163\165\155\145\163\040\141\143\143\145\160\164\141\156\143
+\145\040\157\146\040\164\150\145\040\164\150\145\156\040\141\160
+\160\154\151\143\141\142\154\145\040\163\164\141\156\144\141\162
+\144\040\164\145\162\155\163\040\141\156\144\040\143\157\156\144
+\151\164\151\157\156\163\040\157\146\040\165\163\145\054\040\143
+\145\162\164\151\146\151\143\141\164\151\157\156\040\160\162\141
+\143\164\151\143\145\163\054\040\141\156\144\040\164\150\145\040
+\121\165\157\126\141\144\151\163\040\103\145\162\164\151\146\151
+\143\141\164\145\040\120\157\154\151\143\171\056\060\042\006\010
+\053\006\001\005\005\007\002\001\026\026\150\164\164\160\072\057
+\057\167\167\167\056\161\165\157\166\141\144\151\163\056\142\155
+\060\035\006\003\125\035\016\004\026\004\024\213\113\155\355\323
+\051\271\006\031\354\071\071\251\360\227\204\152\313\357\337\060
+\201\256\006\003\125\035\043\004\201\246\060\201\243\200\024\213
+\113\155\355\323\051\271\006\031\354\071\071\251\360\227\204\152
+\313\357\337\241\201\204\244\201\201\060\177\061\013\060\011\006
+\003\125\004\006\023\002\102\115\061\031\060\027\006\003\125\004
+\012\023\020\121\165\157\126\141\144\151\163\040\114\151\155\151
+\164\145\144\061\045\060\043\006\003\125\004\013\023\034\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\061\056\060\054\006\003
+\125\004\003\023\045\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\202\004\072\266\120\213
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\212\324\024\265\376\364\232\222\247\031\324\244
+\176\162\030\217\331\150\174\122\044\335\147\157\071\172\304\252
+\136\075\342\130\260\115\160\230\204\141\350\033\343\151\030\016
+\316\373\107\120\240\116\377\360\044\037\275\262\316\365\047\374
+\354\057\123\252\163\173\003\075\164\156\346\026\236\353\245\056
+\304\277\126\047\120\053\142\272\276\113\034\074\125\134\101\035
+\044\276\202\040\107\135\325\104\176\172\026\150\337\175\115\121
+\160\170\127\035\063\036\375\002\231\234\014\315\012\005\117\307
+\273\216\244\165\372\112\155\261\200\216\011\126\271\234\032\140
+\376\135\301\327\172\334\021\170\320\326\135\301\267\325\255\062
+\231\003\072\212\314\124\045\071\061\201\173\023\042\121\272\106
+\154\241\273\236\372\004\154\111\046\164\217\322\163\353\314\060
+\242\346\352\131\042\207\370\227\365\016\375\352\314\222\244\026
+\304\122\030\352\041\316\261\361\346\204\201\345\272\251\206\050
+\362\103\132\135\022\235\254\036\331\250\345\012\152\247\177\240
+\207\051\317\362\211\115\324\354\305\342\346\172\320\066\043\212
+\112\164\066\371
+END
+
+# Trust for Certificate "QuoVadis Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\336\077\100\275\120\223\323\233\154\140\366\332\274\007\142\001
+\000\211\166\311
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\047\336\066\376\162\267\000\003\000\235\364\360\036\154\004\044
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003
+\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126
+\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\072\266\120\213
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "QuoVadis Root CA 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\005\011
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\267\060\202\003\237\240\003\002\001\002\002\002\005
+\011\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062\060\036\027\015\060\066\061\061\062
+\064\061\070\062\067\060\060\132\027\015\063\061\061\061\062\064
+\061\070\062\063\063\063\132\060\105\061\013\060\011\006\003\125
+\004\006\023\002\102\115\061\031\060\027\006\003\125\004\012\023
+\020\121\165\157\126\141\144\151\163\040\114\151\155\151\164\145
+\144\061\033\060\031\006\003\125\004\003\023\022\121\165\157\126
+\141\144\151\163\040\122\157\157\164\040\103\101\040\062\060\202
+\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\232
+\030\312\113\224\015\000\055\257\003\051\212\360\017\201\310\256
+\114\031\205\035\010\237\253\051\104\205\363\057\201\255\062\036
+\220\106\277\243\206\046\032\036\376\176\034\030\072\134\234\140
+\027\052\072\164\203\063\060\175\141\124\021\313\355\253\340\346
+\322\242\176\365\153\157\030\267\012\013\055\375\351\076\357\012
+\306\263\020\351\334\302\106\027\370\135\375\244\332\377\236\111
+\132\234\346\063\346\044\226\367\077\272\133\053\034\172\065\302
+\326\147\376\253\146\120\213\155\050\140\053\357\327\140\303\307
+\223\274\215\066\221\363\177\370\333\021\023\304\234\167\166\301
+\256\267\002\152\201\172\251\105\203\342\005\346\271\126\301\224
+\067\217\110\161\143\042\354\027\145\007\225\212\113\337\217\306
+\132\012\345\260\343\137\136\153\021\253\014\371\205\353\104\351
+\370\004\163\362\351\376\134\230\214\365\163\257\153\264\176\315
+\324\134\002\053\114\071\341\262\225\225\055\102\207\327\325\263
+\220\103\267\154\023\361\336\335\366\304\370\211\077\321\165\365
+\222\303\221\325\212\210\320\220\354\334\155\336\211\302\145\161
+\226\213\015\003\375\234\277\133\026\254\222\333\352\376\171\174
+\255\353\257\367\026\313\333\315\045\053\345\037\373\232\237\342
+\121\314\072\123\014\110\346\016\275\311\264\166\006\122\346\021
+\023\205\162\143\003\004\340\004\066\053\040\031\002\350\164\247
+\037\266\311\126\146\360\165\045\334\147\301\016\141\140\210\263
+\076\321\250\374\243\332\035\260\321\261\043\124\337\104\166\155
+\355\101\330\301\262\042\266\123\034\337\065\035\334\241\167\052
+\061\344\055\365\345\345\333\310\340\377\345\200\327\013\143\240
+\377\063\241\017\272\054\025\025\352\227\263\322\242\265\276\362
+\214\226\036\032\217\035\154\244\141\067\271\206\163\063\327\227
+\226\236\043\175\202\244\114\201\342\241\321\272\147\137\225\007
+\243\047\021\356\026\020\173\274\105\112\114\262\004\322\253\357
+\325\375\014\121\316\120\152\010\061\371\221\332\014\217\144\134
+\003\303\072\213\040\077\156\215\147\075\072\326\376\175\133\210
+\311\136\373\314\141\334\213\063\167\323\104\062\065\011\142\004
+\222\026\020\330\236\047\107\373\073\041\343\370\353\035\133\002
+\003\001\000\001\243\201\260\060\201\255\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003\125
+\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016\004
+\026\004\024\032\204\142\274\110\114\063\045\004\324\356\320\366
+\003\304\031\106\321\224\153\060\156\006\003\125\035\043\004\147
+\060\145\200\024\032\204\142\274\110\114\063\045\004\324\356\320
+\366\003\304\031\106\321\224\153\241\111\244\107\060\105\061\013
+\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006
+\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114
+\151\155\151\164\145\144\061\033\060\031\006\003\125\004\003\023
+\022\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103
+\101\040\062\202\002\005\011\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\003\202\002\001\000\076\012\026\115\237
+\006\133\250\256\161\135\057\005\057\147\346\023\105\203\304\066
+\366\363\300\046\014\015\265\107\144\135\370\264\162\311\106\245
+\003\030\047\125\211\170\175\166\352\226\064\200\027\040\334\347
+\203\370\215\374\007\270\332\137\115\056\147\262\204\375\331\104
+\374\167\120\201\346\174\264\311\015\013\162\123\370\166\007\007
+\101\107\226\014\373\340\202\046\223\125\214\376\042\037\140\145
+\174\137\347\046\263\367\062\220\230\120\324\067\161\125\366\222
+\041\170\367\225\171\372\370\055\046\207\146\126\060\167\246\067
+\170\063\122\020\130\256\077\141\216\362\152\261\357\030\176\112
+\131\143\312\215\242\126\325\247\057\274\126\037\317\071\301\342
+\373\012\250\025\054\175\115\172\143\306\154\227\104\074\322\157
+\303\112\027\012\370\220\322\127\242\031\121\245\055\227\101\332
+\007\117\251\120\332\220\215\224\106\341\076\360\224\375\020\000
+\070\365\073\350\100\341\264\156\126\032\040\314\157\130\215\355
+\056\105\217\326\351\223\077\347\261\054\337\072\326\042\214\334
+\204\273\042\157\320\370\344\306\071\351\004\210\074\303\272\353
+\125\172\155\200\231\044\365\154\001\373\370\227\260\224\133\353
+\375\322\157\361\167\150\015\065\144\043\254\270\125\241\003\321
+\115\102\031\334\370\165\131\126\243\371\250\111\171\370\257\016
+\271\021\240\174\267\152\355\064\320\266\046\142\070\032\207\014
+\370\350\375\056\323\220\177\007\221\052\035\326\176\134\205\203
+\231\260\070\010\077\351\136\371\065\007\344\311\142\156\127\177
+\247\120\225\367\272\310\233\346\216\242\001\305\326\146\277\171
+\141\363\074\034\341\271\202\134\135\240\303\351\330\110\275\031
+\242\021\024\031\156\262\206\033\150\076\110\067\032\210\267\135
+\226\136\234\307\357\047\142\010\342\221\031\134\322\361\041\335
+\272\027\102\202\227\161\201\123\061\251\237\366\175\142\277\162
+\341\243\223\035\314\212\046\132\011\070\320\316\327\015\200\026
+\264\170\245\072\207\114\215\212\245\325\106\227\362\054\020\271
+\274\124\042\300\001\120\151\103\236\364\262\357\155\370\354\332
+\361\343\261\357\337\221\217\124\052\013\045\301\046\031\304\122
+\020\005\145\325\202\020\352\302\061\315\056
+END
+
+# Trust for Certificate "QuoVadis Root CA 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\312\072\373\317\022\100\066\113\104\262\026\040\210\200\110\071
+\031\223\174\367
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\136\071\173\335\370\272\354\202\351\254\142\272\014\124\000\053
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\005\011
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "QuoVadis Root CA 3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\005\306
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\235\060\202\004\205\240\003\002\001\002\002\002\005
+\306\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\063\060\036\027\015\060\066\061\061\062
+\064\061\071\061\061\062\063\132\027\015\063\061\061\061\062\064
+\061\071\060\066\064\064\132\060\105\061\013\060\011\006\003\125
+\004\006\023\002\102\115\061\031\060\027\006\003\125\004\012\023
+\020\121\165\157\126\141\144\151\163\040\114\151\155\151\164\145
+\144\061\033\060\031\006\003\125\004\003\023\022\121\165\157\126
+\141\144\151\163\040\122\157\157\164\040\103\101\040\063\060\202
+\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\314
+\127\102\026\124\234\346\230\323\323\115\356\376\355\307\237\103
+\071\112\145\263\350\026\210\064\333\015\131\221\164\317\222\270
+\004\100\255\002\113\061\253\274\215\221\150\330\040\016\032\001
+\342\032\173\116\027\135\342\212\267\077\231\032\315\353\141\253
+\302\145\246\037\267\267\275\267\217\374\375\160\217\013\240\147
+\276\001\242\131\317\161\346\017\051\166\377\261\126\171\105\053
+\037\236\172\124\350\243\051\065\150\244\001\117\017\244\056\067
+\357\033\277\343\217\020\250\162\253\130\127\347\124\206\310\311
+\363\133\332\054\332\135\216\156\074\243\076\332\373\202\345\335
+\362\134\262\005\063\157\212\066\316\320\023\116\377\277\112\014
+\064\114\246\303\041\275\120\004\125\353\261\273\235\373\105\036
+\144\025\336\125\001\214\002\166\265\313\241\077\102\151\274\057
+\275\150\103\026\126\211\052\067\141\221\375\246\256\116\300\313
+\024\145\224\067\113\222\006\357\004\320\310\234\210\333\013\173
+\201\257\261\075\052\304\145\072\170\266\356\334\200\261\322\323
+\231\234\072\356\153\132\153\263\215\267\325\316\234\302\276\245
+\113\057\026\261\236\150\073\006\157\256\175\237\370\336\354\314
+\051\247\230\243\045\103\057\357\361\137\046\341\210\115\370\136
+\156\327\331\024\156\031\063\151\247\073\204\211\223\304\123\125
+\023\241\121\170\100\370\270\311\242\356\173\272\122\102\203\236
+\024\355\005\122\132\131\126\247\227\374\235\077\012\051\330\334
+\117\221\016\023\274\336\225\244\337\213\231\276\254\233\063\210
+\357\265\201\257\033\306\042\123\310\366\307\356\227\024\260\305
+\174\170\122\310\360\316\156\167\140\204\246\351\052\166\040\355
+\130\001\027\060\223\351\032\213\340\163\143\331\152\222\224\111
+\116\264\255\112\205\304\243\042\060\374\011\355\150\042\163\246
+\210\014\125\041\130\305\341\072\237\052\335\312\341\220\340\331
+\163\253\154\200\270\350\013\144\223\240\234\214\031\377\263\322
+\014\354\221\046\207\212\263\242\341\160\217\054\012\345\315\155
+\150\121\353\332\077\005\177\213\062\346\023\134\153\376\137\100
+\342\042\310\264\264\144\117\326\272\175\110\076\250\151\014\327
+\273\206\161\311\163\270\077\073\235\045\113\332\377\100\353\002
+\003\001\000\001\243\202\001\225\060\202\001\221\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\201\341
+\006\003\125\035\040\004\201\331\060\201\326\060\201\323\006\011
+\053\006\001\004\001\276\130\000\003\060\201\305\060\201\223\006
+\010\053\006\001\005\005\007\002\002\060\201\206\032\201\203\101
+\156\171\040\165\163\145\040\157\146\040\164\150\151\163\040\103
+\145\162\164\151\146\151\143\141\164\145\040\143\157\156\163\164
+\151\164\165\164\145\163\040\141\143\143\145\160\164\141\156\143
+\145\040\157\146\040\164\150\145\040\121\165\157\126\141\144\151
+\163\040\122\157\157\164\040\103\101\040\063\040\103\145\162\164
+\151\146\151\143\141\164\145\040\120\157\154\151\143\171\040\057
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\120
+\162\141\143\164\151\143\145\040\123\164\141\164\145\155\145\156
+\164\056\060\055\006\010\053\006\001\005\005\007\002\001\026\041
+\150\164\164\160\072\057\057\167\167\167\056\161\165\157\166\141
+\144\151\163\147\154\157\142\141\154\056\143\157\155\057\143\160
+\163\060\013\006\003\125\035\017\004\004\003\002\001\006\060\035
+\006\003\125\035\016\004\026\004\024\362\300\023\340\202\103\076
+\373\356\057\147\062\226\065\134\333\270\313\002\320\060\156\006
+\003\125\035\043\004\147\060\145\200\024\362\300\023\340\202\103
+\076\373\356\057\147\062\226\065\134\333\270\313\002\320\241\111
+\244\107\060\105\061\013\060\011\006\003\125\004\006\023\002\102
+\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
+\141\144\151\163\040\114\151\155\151\164\145\144\061\033\060\031
+\006\003\125\004\003\023\022\121\165\157\126\141\144\151\163\040
+\122\157\157\164\040\103\101\040\063\202\002\005\306\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001
+\000\117\255\240\054\114\372\300\362\157\367\146\125\253\043\064
+\356\347\051\332\303\133\266\260\203\331\320\320\342\041\373\363
+\140\247\073\135\140\123\047\242\233\366\010\042\052\347\277\240
+\162\345\234\044\152\061\261\220\172\047\333\204\021\211\047\246
+\167\132\070\327\277\254\206\374\356\135\203\274\006\306\321\167
+\153\017\155\044\057\113\172\154\247\007\226\312\343\204\237\255
+\210\213\035\253\026\215\133\146\027\331\026\364\213\200\322\335
+\370\262\166\303\374\070\023\252\014\336\102\151\053\156\363\074
+\353\200\047\333\365\246\104\015\237\132\125\131\013\325\015\122
+\110\305\256\237\362\057\200\305\352\062\120\065\022\227\056\301
+\341\377\361\043\210\121\070\237\362\146\126\166\347\017\121\227
+\245\122\014\115\111\121\225\066\075\277\242\113\014\020\035\206
+\231\114\252\363\162\021\223\344\352\366\233\332\250\135\247\115
+\267\236\002\256\163\000\310\332\043\003\350\371\352\031\164\142
+\000\224\313\042\040\276\224\247\131\265\202\152\276\231\171\172
+\251\362\112\044\122\367\164\375\272\116\346\250\035\002\156\261
+\015\200\104\301\256\323\043\067\137\273\205\174\053\222\056\350
+\176\245\213\335\231\341\277\047\157\055\135\252\173\207\376\012
+\335\113\374\216\365\046\344\156\160\102\156\063\354\061\236\173
+\223\301\344\311\151\032\075\300\153\116\042\155\356\253\130\115
+\306\320\101\301\053\352\117\022\207\136\353\105\330\154\365\230
+\002\323\240\330\125\212\006\231\031\242\240\167\321\060\236\254
+\314\165\356\203\365\260\142\071\317\154\127\342\114\322\221\013
+\016\165\050\033\232\277\375\032\103\361\312\167\373\073\217\141
+\270\151\050\026\102\004\136\160\052\034\041\330\217\341\275\043
+\133\055\164\100\222\331\143\031\015\163\335\151\274\142\107\274
+\340\164\053\262\353\175\276\101\033\265\300\106\305\241\042\313
+\137\116\301\050\222\336\030\272\325\052\050\273\021\213\027\223
+\230\231\140\224\134\043\317\132\047\227\136\013\005\006\223\067
+\036\073\151\066\353\251\236\141\035\217\062\332\216\014\326\164
+\076\173\011\044\332\001\167\107\304\073\315\064\214\231\365\312
+\341\045\141\063\262\131\033\342\156\327\067\127\266\015\251\022
+\332
+END
+
+# Trust for Certificate "QuoVadis Root CA 3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\037\111\024\367\330\164\225\035\335\256\002\300\276\375\072\055
+\202\165\121\205
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\061\205\074\142\224\227\143\271\252\375\211\116\257\157\340\317
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\005\306
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Security Communication Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Security Communication Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040
+\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125
+\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155
+\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103
+\101\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040
+\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125
+\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155
+\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103
+\101\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\132\060\202\002\102\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061\030
+\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040\124
+\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125\004
+\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155\155
+\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103\101
+\061\060\036\027\015\060\063\060\071\063\060\060\064\062\060\064
+\071\132\027\015\062\063\060\071\063\060\060\064\062\060\064\071
+\132\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120
+\061\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115
+\040\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003
+\125\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157
+\155\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164
+\103\101\061\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\263\263\376\177\323\155\261\357\026\174\127\245
+\014\155\166\212\057\113\277\144\373\114\356\212\360\363\051\174
+\365\377\356\052\340\351\351\272\133\144\042\232\232\157\054\072
+\046\151\121\005\231\046\334\325\034\152\161\306\232\175\036\235
+\335\174\154\306\214\147\147\112\076\370\161\260\031\047\251\011
+\014\246\225\277\113\214\014\372\125\230\073\330\350\042\241\113
+\161\070\171\254\227\222\151\263\211\176\352\041\150\006\230\024
+\226\207\322\141\066\274\155\047\126\236\127\356\300\300\126\375
+\062\317\244\331\216\302\043\327\215\250\363\330\045\254\227\344
+\160\070\364\266\072\264\235\073\227\046\103\243\241\274\111\131
+\162\114\043\060\207\001\130\366\116\276\034\150\126\146\257\315
+\101\135\310\263\115\052\125\106\253\037\332\036\342\100\075\333
+\315\175\271\222\200\234\067\335\014\226\144\235\334\042\367\144
+\213\337\141\336\025\224\122\025\240\175\122\311\113\250\041\311
+\306\261\355\313\303\225\140\321\017\360\253\160\370\337\313\115
+\176\354\326\372\253\331\275\177\124\362\245\351\171\372\331\326
+\166\044\050\163\002\003\001\000\001\243\077\060\075\060\035\006
+\003\125\035\016\004\026\004\024\240\163\111\231\150\334\205\133
+\145\343\233\050\057\127\237\275\063\274\007\110\060\013\006\003
+\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\150\100
+\251\250\273\344\117\135\171\263\005\265\027\263\140\023\353\306
+\222\135\340\321\323\152\376\373\276\233\155\277\307\005\155\131
+\040\304\034\360\267\332\204\130\002\143\372\110\026\357\117\245
+\013\367\112\230\362\077\236\033\255\107\153\143\316\010\107\353
+\122\077\170\234\257\115\256\370\325\117\317\232\230\052\020\101
+\071\122\304\335\331\233\016\357\223\001\256\262\056\312\150\102
+\044\102\154\260\263\072\076\315\351\332\110\304\025\313\351\371
+\007\017\222\120\111\212\335\061\227\137\311\351\067\252\073\131
+\145\227\224\062\311\263\237\076\072\142\130\305\111\255\142\016
+\161\245\062\252\057\306\211\166\103\100\023\023\147\075\242\124
+\045\020\313\361\072\362\331\372\333\111\126\273\246\376\247\101
+\065\303\340\210\141\311\210\307\337\066\020\042\230\131\352\260
+\112\373\126\026\163\156\254\115\367\042\241\117\255\035\172\055
+\105\047\345\060\301\136\362\332\023\313\045\102\121\225\107\003
+\214\154\041\314\164\102\355\123\377\063\213\217\017\127\001\026
+\057\317\246\356\311\160\042\024\275\375\276\154\013\003
+END
+
+# Trust for Certificate "Security Communication Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Security Communication Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\066\261\053\111\371\201\236\327\114\236\274\070\017\306\126\217
+\135\254\262\367
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\361\274\143\152\124\340\265\047\365\315\347\032\343\115\156\112
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040
+\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125
+\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155
+\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103
+\101\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Sonera Class 1 Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Sonera Class 1 Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
+\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
+\141\040\103\154\141\163\163\061\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
+\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
+\141\040\103\154\141\163\163\061\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\044
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\040\060\202\002\010\240\003\002\001\002\002\001\044
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061\017
+\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141\061
+\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162\141
+\040\103\154\141\163\163\061\040\103\101\060\036\027\015\060\061
+\060\064\060\066\061\060\064\071\061\063\132\027\015\062\061\060
+\064\060\066\061\060\064\071\061\063\132\060\071\061\013\060\011
+\006\003\125\004\006\023\002\106\111\061\017\060\015\006\003\125
+\004\012\023\006\123\157\156\145\162\141\061\031\060\027\006\003
+\125\004\003\023\020\123\157\156\145\162\141\040\103\154\141\163
+\163\061\040\103\101\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\265\211\037\053\117\147\012\171\377\305
+\036\370\177\074\355\321\176\332\260\315\155\057\066\254\064\306
+\333\331\144\027\010\143\060\063\042\212\114\356\216\273\017\015
+\102\125\311\235\056\245\357\367\247\214\303\253\271\227\313\216
+\357\077\025\147\250\202\162\143\123\017\101\214\175\020\225\044
+\241\132\245\006\372\222\127\235\372\245\001\362\165\351\037\274
+\126\046\122\116\170\031\145\130\125\003\130\300\024\256\214\174
+\125\137\160\133\167\043\006\066\227\363\044\265\232\106\225\344
+\337\015\013\005\105\345\321\362\035\202\273\306\023\340\376\252
+\172\375\151\060\224\363\322\105\205\374\362\062\133\062\336\350
+\154\135\037\313\244\042\164\260\200\216\135\224\367\006\000\113
+\251\324\136\056\065\120\011\363\200\227\364\014\027\256\071\330
+\137\315\063\301\034\312\211\302\042\367\105\022\355\136\022\223
+\235\143\253\202\056\271\353\102\101\104\313\112\032\000\202\015
+\236\371\213\127\076\114\307\027\355\054\213\162\063\137\162\172
+\070\126\325\346\331\256\005\032\035\165\105\261\313\245\045\034
+\022\127\066\375\042\067\002\003\001\000\001\243\063\060\061\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\021\006\003\125\035\016\004\012\004\010\107\342\014\213\366
+\123\210\122\060\013\006\003\125\035\017\004\004\003\002\001\006
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\213\032\262\311\135\141\264\341\271\053\271\123
+\321\262\205\235\167\216\026\356\021\075\333\302\143\331\133\227
+\145\373\022\147\330\052\134\266\253\345\136\303\267\026\057\310
+\350\253\035\212\375\253\032\174\325\137\143\317\334\260\335\167
+\271\250\346\322\042\070\207\007\024\331\377\276\126\265\375\007
+\016\074\125\312\026\314\247\246\167\067\373\333\134\037\116\131
+\006\207\243\003\103\365\026\253\267\204\275\116\357\237\061\067
+\360\106\361\100\266\321\014\245\144\370\143\136\041\333\125\116
+\117\061\166\234\020\141\216\266\123\072\243\021\276\257\155\174
+\036\275\256\055\342\014\151\307\205\123\150\242\141\272\305\076
+\264\171\124\170\236\012\307\002\276\142\321\021\202\113\145\057
+\221\132\302\250\207\261\126\150\224\171\371\045\367\301\325\256
+\032\270\273\075\217\251\212\070\025\367\163\320\132\140\321\200
+\260\360\334\325\120\315\116\356\222\110\151\355\262\043\036\060
+\314\310\224\310\266\365\073\206\177\077\246\056\237\366\076\054
+\265\222\226\076\337\054\223\212\377\201\214\017\017\131\041\031
+\127\275\125\232
+END
+
+# Trust for Certificate "Sonera Class 1 Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Sonera Class 1 Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\007\107\042\001\231\316\164\271\174\260\075\171\262\144\242\310
+\125\351\063\377
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\063\267\204\365\137\047\327\150\047\336\024\336\022\052\355\157
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
+\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
+\141\040\103\154\141\163\163\061\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\044
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Sonera Class 2 Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Sonera Class 2 Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
+\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
+\141\040\103\154\141\163\163\062\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
+\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
+\141\040\103\154\141\163\163\062\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\035
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\040\060\202\002\010\240\003\002\001\002\002\001\035
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061\017
+\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141\061
+\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162\141
+\040\103\154\141\163\163\062\040\103\101\060\036\027\015\060\061
+\060\064\060\066\060\067\062\071\064\060\132\027\015\062\061\060
+\064\060\066\060\067\062\071\064\060\132\060\071\061\013\060\011
+\006\003\125\004\006\023\002\106\111\061\017\060\015\006\003\125
+\004\012\023\006\123\157\156\145\162\141\061\031\060\027\006\003
+\125\004\003\023\020\123\157\156\145\162\141\040\103\154\141\163
+\163\062\040\103\101\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\220\027\112\065\235\312\360\015\226\307
+\104\372\026\067\374\110\275\275\177\200\055\065\073\341\157\250
+\147\251\277\003\034\115\214\157\062\107\325\101\150\244\023\004
+\301\065\014\232\204\103\374\134\035\377\211\263\350\027\030\315
+\221\137\373\211\343\352\277\116\135\174\033\046\323\165\171\355
+\346\204\343\127\345\255\051\304\364\072\050\347\245\173\204\066
+\151\263\375\136\166\275\243\055\231\323\220\116\043\050\175\030
+\143\361\124\073\046\235\166\133\227\102\262\377\256\360\116\354
+\335\071\225\116\203\006\177\347\111\100\310\305\001\262\124\132
+\146\035\075\374\371\351\074\012\236\201\270\160\360\001\213\344
+\043\124\174\310\256\370\220\036\000\226\162\324\124\317\141\043
+\274\352\373\235\002\225\321\266\271\161\072\151\010\077\017\264
+\341\102\307\210\365\077\230\250\247\272\034\340\161\161\357\130
+\127\201\120\172\134\153\164\106\016\203\003\230\303\216\250\156
+\362\166\062\156\047\203\302\163\363\334\030\350\264\223\352\165
+\104\153\004\140\040\161\127\207\235\363\276\240\220\043\075\212
+\044\341\332\041\333\303\002\003\001\000\001\243\063\060\061\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\021\006\003\125\035\016\004\012\004\010\112\240\252\130\204
+\323\136\074\060\013\006\003\125\035\017\004\004\003\002\001\006
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\132\316\207\371\026\162\025\127\113\035\331\233
+\347\242\046\060\354\223\147\337\326\055\322\064\257\367\070\245
+\316\253\026\271\253\057\174\065\313\254\320\017\264\114\053\374
+\200\357\153\214\221\137\066\166\367\333\263\033\031\352\364\262
+\021\375\141\161\104\277\050\263\072\035\277\263\103\350\237\277
+\334\061\010\161\260\235\215\326\064\107\062\220\306\145\044\367
+\240\112\174\004\163\217\071\157\027\214\162\265\275\113\310\172
+\370\173\203\303\050\116\234\011\352\147\077\262\147\004\033\303
+\024\332\370\347\111\044\221\320\035\152\372\141\071\357\153\347
+\041\165\006\007\330\022\264\041\040\160\102\161\201\332\074\232
+\066\276\246\133\015\152\154\232\037\221\173\371\371\357\102\272
+\116\116\236\314\014\215\224\334\331\105\234\136\354\102\120\143
+\256\364\135\304\261\022\334\312\073\250\056\235\024\132\005\165
+\267\354\327\143\342\272\065\266\004\010\221\350\332\235\234\366
+\146\265\030\254\012\246\124\046\064\063\322\033\301\324\177\032
+\072\216\013\252\062\156\333\374\117\045\237\331\062\307\226\132
+\160\254\337\114
+END
+
+# Trust for Certificate "Sonera Class 2 Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Sonera Class 2 Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\067\367\155\346\007\174\220\305\261\076\223\032\267\101\020\264
+\362\344\232\047
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\243\354\165\017\056\210\337\372\110\001\116\013\134\110\157\373
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
+\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
+\141\040\103\154\141\163\163\062\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\035
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Staat der Nederlanden Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Staat der Nederlanden Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\125\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\023\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\046\060\044\006\003\125\004\003\023\035\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\125\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\023\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\046\060\044\006\003\125\004\003\023\035\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\000\230\226\212
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\272\060\202\002\242\240\003\002\001\002\002\004\000
+\230\226\212\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\125\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\036\060\034\006\003\125\004\012\023\025\123\164\141\141
+\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
+\156\061\046\060\044\006\003\125\004\003\023\035\123\164\141\141
+\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
+\156\040\122\157\157\164\040\103\101\060\036\027\015\060\062\061
+\062\061\067\060\071\062\063\064\071\132\027\015\061\065\061\062
+\061\066\060\071\061\065\063\070\132\060\125\061\013\060\011\006
+\003\125\004\006\023\002\116\114\061\036\060\034\006\003\125\004
+\012\023\025\123\164\141\141\164\040\144\145\162\040\116\145\144
+\145\162\154\141\156\144\145\156\061\046\060\044\006\003\125\004
+\003\023\035\123\164\141\141\164\040\144\145\162\040\116\145\144
+\145\162\154\141\156\144\145\156\040\122\157\157\164\040\103\101
+\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
+\000\230\322\265\121\021\172\201\246\024\230\161\155\276\314\347
+\023\033\326\047\016\172\263\152\030\034\266\141\132\325\141\011
+\277\336\220\023\307\147\356\335\363\332\305\014\022\236\065\125
+\076\054\047\210\100\153\367\334\335\042\141\365\302\307\016\365
+\366\325\166\123\115\217\214\274\030\166\067\205\235\350\312\111
+\307\322\117\230\023\011\242\076\042\210\234\177\326\362\020\145
+\264\356\137\030\325\027\343\370\305\375\342\235\242\357\123\016
+\205\167\242\017\341\060\107\356\000\347\063\175\104\147\032\013
+\121\350\213\240\236\120\230\150\064\122\037\056\155\001\362\140
+\105\362\061\353\251\061\150\051\273\172\101\236\306\031\177\224
+\264\121\071\003\177\262\336\247\062\233\264\107\216\157\264\112
+\256\345\257\261\334\260\033\141\274\231\162\336\344\211\267\172
+\046\135\332\063\111\133\122\234\016\365\212\255\303\270\075\350
+\006\152\302\325\052\013\154\173\204\275\126\005\313\206\145\222
+\354\104\053\260\216\271\334\160\013\106\332\255\274\143\210\071
+\372\333\152\376\043\372\274\344\110\364\147\053\152\021\020\041
+\111\002\003\001\000\001\243\201\221\060\201\216\060\014\006\003
+\125\035\023\004\005\060\003\001\001\377\060\117\006\003\125\035
+\040\004\110\060\106\060\104\006\004\125\035\040\000\060\074\060
+\072\006\010\053\006\001\005\005\007\002\001\026\056\150\164\164
+\160\072\057\057\167\167\167\056\160\153\151\157\166\145\162\150
+\145\151\144\056\156\154\057\160\157\154\151\143\151\145\163\057
+\162\157\157\164\055\160\157\154\151\143\171\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\250\175\353\274\143\244\164\023\164\000
+\354\226\340\323\064\301\054\277\154\370\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\005\204
+\207\125\164\066\141\301\273\321\324\306\025\250\023\264\237\244
+\376\273\356\025\264\057\006\014\051\362\250\222\244\141\015\374
+\253\134\010\133\121\023\053\115\302\052\141\310\370\011\130\374
+\055\002\262\071\175\231\146\201\277\156\134\225\105\040\154\346
+\171\247\321\330\034\051\374\302\040\047\121\310\361\174\135\064
+\147\151\205\021\060\306\000\322\327\363\323\174\266\360\061\127
+\050\022\202\163\351\063\057\246\125\264\013\221\224\107\234\372
+\273\172\102\062\350\256\176\055\310\274\254\024\277\331\017\331
+\133\374\301\371\172\225\341\175\176\226\374\161\260\302\114\310
+\337\105\064\311\316\015\362\234\144\010\320\073\303\051\305\262
+\355\220\004\301\261\051\221\305\060\157\301\251\162\063\314\376
+\135\026\027\054\021\151\347\176\376\305\203\010\337\274\334\042
+\072\056\040\151\043\071\126\140\147\220\213\056\166\071\373\021
+\210\227\366\174\275\113\270\040\026\147\005\215\342\073\301\162
+\077\224\225\067\307\135\271\236\330\223\241\027\217\377\014\146
+\025\301\044\174\062\174\003\035\073\241\130\105\062\223
+END
+
+# Trust for Certificate "Staat der Nederlanden Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Staat der Nederlanden Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\020\035\372\077\325\013\313\273\233\265\140\014\031\125\244\032
+\364\163\072\004
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\140\204\174\132\316\333\014\324\313\247\351\376\002\306\251\300
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\125\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\023\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\046\060\044\006\003\125\004\003\023\035\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\000\230\226\212
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TDC Internet Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TDC Internet Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\104\113\061
+\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156
+\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023
+\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157
+\157\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\104\113\061
+\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156
+\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023
+\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157
+\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\072\314\245\114
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\053\060\202\003\023\240\003\002\001\002\002\004\072
+\314\245\114\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\103\061\013\060\011\006\003\125\004\006\023\002\104
+\113\061\025\060\023\006\003\125\004\012\023\014\124\104\103\040
+\111\156\164\145\162\156\145\164\061\035\060\033\006\003\125\004
+\013\023\024\124\104\103\040\111\156\164\145\162\156\145\164\040
+\122\157\157\164\040\103\101\060\036\027\015\060\061\060\064\060
+\065\061\066\063\063\061\067\132\027\015\062\061\060\064\060\065
+\061\067\060\063\061\067\132\060\103\061\013\060\011\006\003\125
+\004\006\023\002\104\113\061\025\060\023\006\003\125\004\012\023
+\014\124\104\103\040\111\156\164\145\162\156\145\164\061\035\060
+\033\006\003\125\004\013\023\024\124\104\103\040\111\156\164\145
+\162\156\145\164\040\122\157\157\164\040\103\101\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\304\270\100
+\274\221\325\143\037\327\231\240\213\014\100\036\164\267\110\235
+\106\214\002\262\340\044\137\360\031\023\247\067\203\153\135\307
+\216\371\204\060\316\032\073\372\373\316\213\155\043\306\303\156
+\146\237\211\245\337\340\102\120\147\372\037\154\036\364\320\005
+\326\277\312\326\116\344\150\140\154\106\252\034\135\143\341\007
+\206\016\145\000\247\056\246\161\306\274\271\201\250\072\175\032
+\322\371\321\254\113\313\316\165\257\334\173\372\201\163\324\374
+\272\275\101\210\324\164\263\371\136\070\072\074\103\250\322\225
+\116\167\155\023\014\235\217\170\001\267\132\040\037\003\067\065
+\342\054\333\113\053\054\170\271\111\333\304\320\307\234\234\344
+\212\040\011\041\026\126\146\377\005\354\133\343\360\317\253\044
+\044\136\303\177\160\172\022\304\322\265\020\240\266\041\341\215
+\170\151\125\104\151\365\312\226\034\064\205\027\045\167\342\366
+\057\047\230\170\375\171\006\072\242\326\132\103\301\377\354\004
+\073\356\023\357\323\130\132\377\222\353\354\256\332\362\067\003
+\107\101\266\227\311\055\012\101\042\273\273\346\247\002\003\001
+\000\001\243\202\001\045\060\202\001\041\060\021\006\011\140\206
+\110\001\206\370\102\001\001\004\004\003\002\000\007\060\145\006
+\003\125\035\037\004\136\060\134\060\132\240\130\240\126\244\124
+\060\122\061\013\060\011\006\003\125\004\006\023\002\104\113\061
+\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156
+\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023
+\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157
+\157\164\040\103\101\061\015\060\013\006\003\125\004\003\023\004
+\103\122\114\061\060\053\006\003\125\035\020\004\044\060\042\200
+\017\062\060\060\061\060\064\060\065\061\066\063\063\061\067\132
+\201\017\062\060\062\061\060\064\060\065\061\067\060\063\061\067
+\132\060\013\006\003\125\035\017\004\004\003\002\001\006\060\037
+\006\003\125\035\043\004\030\060\026\200\024\154\144\001\307\375
+\205\155\254\310\332\236\120\010\205\010\265\074\126\250\120\060
+\035\006\003\125\035\016\004\026\004\024\154\144\001\307\375\205
+\155\254\310\332\236\120\010\205\010\265\074\126\250\120\060\014
+\006\003\125\035\023\004\005\060\003\001\001\377\060\035\006\011
+\052\206\110\206\366\175\007\101\000\004\020\060\016\033\010\126
+\065\056\060\072\064\056\060\003\002\004\220\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\116
+\103\314\321\335\035\020\033\006\177\267\244\372\323\331\115\373
+\043\237\043\124\133\346\213\057\004\050\213\265\047\155\211\241
+\354\230\151\334\347\215\046\203\005\171\164\354\264\271\243\227
+\301\065\000\375\025\332\071\201\072\225\061\220\336\227\351\206
+\250\231\167\014\345\132\240\204\377\022\026\254\156\270\215\303
+\173\222\302\254\056\320\175\050\354\266\363\140\070\151\157\076
+\330\004\125\076\236\314\125\322\272\376\273\107\004\327\012\331
+\026\012\064\051\365\130\023\325\117\317\217\126\113\263\036\356
+\323\230\171\332\010\036\014\157\270\370\026\047\357\302\157\075
+\366\243\113\076\016\344\155\154\333\073\101\022\233\275\015\107
+\043\177\074\112\320\257\300\257\366\357\033\265\025\304\353\203
+\304\011\137\164\213\331\021\373\302\126\261\074\370\160\312\064
+\215\103\100\023\214\375\231\003\124\171\306\056\352\206\241\366
+\072\324\011\274\364\274\146\314\075\130\320\127\111\012\356\045
+\342\101\356\023\371\233\070\064\321\000\365\176\347\224\035\374
+\151\003\142\270\231\005\005\075\153\170\022\275\260\157\145
+END
+
+# Trust for Certificate "TDC Internet Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TDC Internet Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\041\374\275\216\177\154\257\005\033\321\263\103\354\250\347\141
+\107\362\017\212
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\221\364\003\125\040\241\370\143\054\142\336\254\373\141\034\216
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\104\113\061
+\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156
+\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023
+\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157
+\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\072\314\245\114
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TDC OCES Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TDC OCES Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\061\061\013\060\011\006\003\125\004\006\023\002\104\113\061
+\014\060\012\006\003\125\004\012\023\003\124\104\103\061\024\060
+\022\006\003\125\004\003\023\013\124\104\103\040\117\103\105\123
+\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\061\061\013\060\011\006\003\125\004\006\023\002\104\113\061
+\014\060\012\006\003\125\004\012\023\003\124\104\103\061\024\060
+\022\006\003\125\004\003\023\013\124\104\103\040\117\103\105\123
+\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\076\110\275\304
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\031\060\202\004\001\240\003\002\001\002\002\004\076
+\110\275\304\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\061\061\013\060\011\006\003\125\004\006\023\002\104
+\113\061\014\060\012\006\003\125\004\012\023\003\124\104\103\061
+\024\060\022\006\003\125\004\003\023\013\124\104\103\040\117\103
+\105\123\040\103\101\060\036\027\015\060\063\060\062\061\061\060
+\070\063\071\063\060\132\027\015\063\067\060\062\061\061\060\071
+\060\071\063\060\132\060\061\061\013\060\011\006\003\125\004\006
+\023\002\104\113\061\014\060\012\006\003\125\004\012\023\003\124
+\104\103\061\024\060\022\006\003\125\004\003\023\013\124\104\103
+\040\117\103\105\123\040\103\101\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\254\142\366\141\040\262\317
+\300\306\205\327\343\171\346\314\355\362\071\222\244\227\056\144
+\243\204\133\207\234\114\375\244\363\304\137\041\275\126\020\353
+\333\056\141\354\223\151\343\243\314\275\231\303\005\374\006\270
+\312\066\034\376\220\216\111\114\304\126\232\057\126\274\317\173
+\014\361\157\107\246\015\103\115\342\351\035\071\064\315\215\054
+\331\022\230\371\343\341\301\112\174\206\070\304\251\304\141\210
+\322\136\257\032\046\115\325\344\240\042\107\204\331\144\267\031
+\226\374\354\031\344\262\227\046\116\112\114\313\217\044\213\124
+\030\034\110\141\173\325\210\150\332\135\265\352\315\032\060\301
+\200\203\166\120\252\117\321\324\335\070\360\357\026\364\341\014
+\120\006\277\352\373\172\111\241\050\053\034\366\374\025\062\243
+\164\152\217\251\303\142\051\161\061\345\073\244\140\027\136\164
+\346\332\023\355\351\037\037\033\321\262\150\163\306\020\064\165
+\106\020\020\343\220\000\166\100\313\213\267\103\011\041\377\253
+\116\223\306\130\351\245\202\333\167\304\072\231\261\162\225\111
+\004\360\267\053\372\173\131\216\335\002\003\001\000\001\243\202
+\002\067\060\202\002\063\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\006\060\201\354\006\003\125\035\040\004
+\201\344\060\201\341\060\201\336\006\010\052\201\120\201\051\001
+\001\001\060\201\321\060\057\006\010\053\006\001\005\005\007\002
+\001\026\043\150\164\164\160\072\057\057\167\167\167\056\143\145
+\162\164\151\146\151\153\141\164\056\144\153\057\162\145\160\157
+\163\151\164\157\162\171\060\201\235\006\010\053\006\001\005\005
+\007\002\002\060\201\220\060\012\026\003\124\104\103\060\003\002
+\001\001\032\201\201\103\145\162\164\151\146\151\153\141\164\145
+\162\040\146\162\141\040\144\145\156\156\145\040\103\101\040\165
+\144\163\164\145\144\145\163\040\165\156\144\145\162\040\117\111
+\104\040\061\056\062\056\062\060\070\056\061\066\071\056\061\056
+\061\056\061\056\040\103\145\162\164\151\146\151\143\141\164\145
+\163\040\146\162\157\155\040\164\150\151\163\040\103\101\040\141
+\162\145\040\151\163\163\165\145\144\040\165\156\144\145\162\040
+\117\111\104\040\061\056\062\056\062\060\070\056\061\066\071\056
+\061\056\061\056\061\056\060\021\006\011\140\206\110\001\206\370
+\102\001\001\004\004\003\002\000\007\060\201\201\006\003\125\035
+\037\004\172\060\170\060\110\240\106\240\104\244\102\060\100\061
+\013\060\011\006\003\125\004\006\023\002\104\113\061\014\060\012
+\006\003\125\004\012\023\003\124\104\103\061\024\060\022\006\003
+\125\004\003\023\013\124\104\103\040\117\103\105\123\040\103\101
+\061\015\060\013\006\003\125\004\003\023\004\103\122\114\061\060
+\054\240\052\240\050\206\046\150\164\164\160\072\057\057\143\162
+\154\056\157\143\145\163\056\143\145\162\164\151\146\151\153\141
+\164\056\144\153\057\157\143\145\163\056\143\162\154\060\053\006
+\003\125\035\020\004\044\060\042\200\017\062\060\060\063\060\062
+\061\061\060\070\063\071\063\060\132\201\017\062\060\063\067\060
+\062\061\061\060\071\060\071\063\060\132\060\037\006\003\125\035
+\043\004\030\060\026\200\024\140\265\205\354\126\144\176\022\031
+\047\147\035\120\025\113\163\256\073\371\022\060\035\006\003\125
+\035\016\004\026\004\024\140\265\205\354\126\144\176\022\031\047
+\147\035\120\025\113\163\256\073\371\022\060\035\006\011\052\206
+\110\206\366\175\007\101\000\004\020\060\016\033\010\126\066\056
+\060\072\064\056\060\003\002\004\220\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\001\001\000\012\272\046
+\046\106\323\163\250\011\363\153\013\060\231\375\212\341\127\172
+\021\323\270\224\327\011\020\156\243\261\070\003\321\266\362\103
+\101\051\142\247\162\330\373\174\005\346\061\160\047\124\030\116
+\212\174\116\345\321\312\214\170\210\317\033\323\220\213\346\043
+\370\013\016\063\103\175\234\342\012\031\217\311\001\076\164\135
+\164\311\213\034\003\345\030\310\001\114\077\313\227\005\135\230
+\161\246\230\157\266\174\275\067\177\276\341\223\045\155\157\360
+\012\255\027\030\341\003\274\007\051\310\255\046\350\370\141\360
+\375\041\011\176\232\216\251\150\175\110\142\162\275\000\352\001
+\231\270\006\202\121\201\116\361\365\264\221\124\271\043\172\000
+\232\237\135\215\340\074\144\271\032\022\222\052\307\202\104\162
+\071\334\342\074\306\330\125\365\025\116\310\005\016\333\306\320
+\142\246\354\025\264\265\002\202\333\254\214\242\201\360\233\231
+\061\365\040\040\250\210\141\012\007\237\224\374\320\327\033\314
+\056\027\363\004\047\166\147\353\124\203\375\244\220\176\006\075
+\004\243\103\055\332\374\013\142\352\057\137\142\123
+END
+
+# Trust for Certificate "TDC OCES Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TDC OCES Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\207\201\302\132\226\275\302\373\114\145\006\117\371\071\013\046
+\004\212\016\001
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\223\177\220\034\355\204\147\027\244\145\137\233\313\060\002\227
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\061\061\013\060\011\006\003\125\004\006\023\002\104\113\061
+\014\060\012\006\003\125\004\012\023\003\124\104\103\061\024\060
+\022\006\003\125\004\003\023\013\124\104\103\040\117\103\105\123
+\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\076\110\275\304
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "UTN DATACorp SGC Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN DATACorp SGC Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\223\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\033\060\031\006\003\125
+\004\003\023\022\125\124\116\040\055\040\104\101\124\101\103\157
+\162\160\040\123\107\103
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\223\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\033\060\031\006\003\125
+\004\003\023\022\125\124\116\040\055\040\104\101\124\101\103\157
+\162\160\040\123\107\103
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\041\264\021\323\052\150\006\251
+\255\151
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\136\060\202\003\106\240\003\002\001\002\002\020\104
+\276\014\213\120\000\041\264\021\323\052\150\006\251\255\151\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\223\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\033\060\031\006\003\125\004\003
+\023\022\125\124\116\040\055\040\104\101\124\101\103\157\162\160
+\040\123\107\103\060\036\027\015\071\071\060\066\062\064\061\070
+\065\067\062\061\132\027\015\061\071\060\066\062\064\061\071\060
+\066\063\060\132\060\201\223\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\013\060\011\006\003\125\004\010\023\002\125
+\124\061\027\060\025\006\003\125\004\007\023\016\123\141\154\164
+\040\114\141\153\145\040\103\151\164\171\061\036\060\034\006\003
+\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122\125
+\123\124\040\116\145\164\167\157\162\153\061\041\060\037\006\003
+\125\004\013\023\030\150\164\164\160\072\057\057\167\167\167\056
+\165\163\145\162\164\162\165\163\164\056\143\157\155\061\033\060
+\031\006\003\125\004\003\023\022\125\124\116\040\055\040\104\101
+\124\101\103\157\162\160\040\123\107\103\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\337\356\130\020\242
+\053\156\125\304\216\277\056\106\011\347\340\010\017\056\053\172
+\023\224\033\275\366\266\200\216\145\005\223\000\036\274\257\342
+\017\216\031\015\022\107\354\254\255\243\372\056\160\370\336\156
+\373\126\102\025\236\056\134\357\043\336\041\271\005\166\047\031
+\017\117\326\303\234\264\276\224\031\143\362\246\021\012\353\123
+\110\234\276\362\051\073\026\350\032\240\114\246\311\364\030\131
+\150\300\160\362\123\000\300\136\120\202\245\126\157\066\371\112
+\340\104\206\240\115\116\326\107\156\111\112\313\147\327\246\304
+\005\271\216\036\364\374\377\315\347\066\340\234\005\154\262\063
+\042\025\320\264\340\314\027\300\262\300\364\376\062\077\051\052
+\225\173\330\362\247\116\017\124\174\241\015\200\263\011\003\301
+\377\134\335\136\232\076\274\256\274\107\212\152\256\161\312\037
+\261\052\270\137\102\005\013\354\106\060\321\162\013\312\351\126
+\155\365\357\337\170\276\141\272\262\245\256\004\114\274\250\254
+\151\025\227\275\357\353\264\214\277\065\370\324\303\321\050\016
+\134\072\237\160\030\063\040\167\304\242\257\002\003\001\000\001
+\243\201\253\060\201\250\060\013\006\003\125\035\017\004\004\003
+\002\001\306\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\123
+\062\321\263\317\177\372\340\361\240\135\205\116\222\322\236\105
+\035\264\117\060\075\006\003\125\035\037\004\066\060\064\060\062
+\240\060\240\056\206\054\150\164\164\160\072\057\057\143\162\154
+\056\165\163\145\162\164\162\165\163\164\056\143\157\155\057\125
+\124\116\055\104\101\124\101\103\157\162\160\123\107\103\056\143
+\162\154\060\052\006\003\125\035\045\004\043\060\041\006\010\053
+\006\001\005\005\007\003\001\006\012\053\006\001\004\001\202\067
+\012\003\003\006\011\140\206\110\001\206\370\102\004\001\060\015
+\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001
+\001\000\047\065\227\000\212\213\050\275\306\063\060\036\051\374
+\342\367\325\230\324\100\273\140\312\277\253\027\054\011\066\177
+\120\372\101\334\256\226\072\012\043\076\211\131\311\243\007\355
+\033\067\255\374\174\276\121\111\132\336\072\012\124\010\026\105
+\302\231\261\207\315\214\150\340\151\003\351\304\116\230\262\073
+\214\026\263\016\240\014\230\120\233\223\251\160\011\310\054\243
+\217\337\002\344\340\161\072\361\264\043\162\240\252\001\337\337
+\230\076\024\120\240\061\046\275\050\351\132\060\046\165\371\173
+\140\034\215\363\315\120\046\155\004\047\232\337\325\015\105\107
+\051\153\054\346\166\331\251\051\175\062\335\311\066\074\275\256
+\065\361\021\236\035\273\220\077\022\107\116\216\327\176\017\142
+\163\035\122\046\070\034\030\111\375\060\164\232\304\345\042\057
+\330\300\215\355\221\172\114\000\217\162\177\135\332\335\033\213
+\105\153\347\335\151\227\250\305\126\114\017\014\366\237\172\221
+\067\366\227\202\340\335\161\151\377\166\077\140\115\074\317\367
+\231\371\306\127\364\311\125\071\170\272\054\171\311\246\210\053
+\364\010
+END
+
+# Trust for Certificate "UTN DATACorp SGC Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN DATACorp SGC Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\130\021\237\016\022\202\207\352\120\375\331\207\105\157\117\170
+\334\372\326\324
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\263\245\076\167\041\155\254\112\300\311\373\325\101\075\312\006
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\223\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\033\060\031\006\003\125
+\004\003\023\022\125\124\116\040\055\040\104\101\124\101\103\157
+\162\160\040\123\107\103
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\041\264\021\323\052\150\006\251
+\255\151
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "UTN USERFirst Email Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN USERFirst Email Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125
+\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164
+\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151
+\154
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125
+\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164
+\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151
+\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\045\045\147
+\311\211
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\242\060\202\003\212\240\003\002\001\002\002\020\104
+\276\014\213\120\000\044\264\021\323\066\045\045\147\311\211\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\066\060\064\006\003\125\004\003
+\023\055\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\103\154\151\145\156\164\040\101\165\164\150\145\156\164\151\143
+\141\164\151\157\156\040\141\156\144\040\105\155\141\151\154\060
+\036\027\015\071\071\060\067\060\071\061\067\062\070\065\060\132
+\027\015\061\071\060\067\060\071\061\067\063\066\065\070\132\060
+\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
+\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
+\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
+\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
+\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
+\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
+\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125\004
+\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164\151
+\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151\154
+\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
+\000\262\071\205\244\362\175\253\101\073\142\106\067\256\315\301
+\140\165\274\071\145\371\112\032\107\242\271\314\110\314\152\230
+\325\115\065\031\271\244\102\345\316\111\342\212\057\036\174\322
+\061\007\307\116\264\203\144\235\056\051\325\242\144\304\205\275
+\205\121\065\171\244\116\150\220\173\034\172\244\222\250\027\362
+\230\025\362\223\314\311\244\062\225\273\014\117\060\275\230\240
+\013\213\345\156\033\242\106\372\170\274\242\157\253\131\136\245
+\057\317\312\332\155\252\057\353\254\241\263\152\252\267\056\147
+\065\213\171\341\036\151\210\342\346\106\315\240\245\352\276\013
+\316\166\072\172\016\233\352\374\332\047\133\075\163\037\042\346
+\110\141\306\114\363\151\261\250\056\033\266\324\061\040\054\274
+\202\212\216\244\016\245\327\211\103\374\026\132\257\035\161\327
+\021\131\332\272\207\015\257\372\363\341\302\360\244\305\147\214
+\326\326\124\072\336\012\244\272\003\167\263\145\310\375\036\323
+\164\142\252\030\312\150\223\036\241\205\176\365\107\145\313\370
+\115\127\050\164\322\064\377\060\266\356\366\142\060\024\214\054
+\353\002\003\001\000\001\243\201\271\060\201\266\060\013\006\003
+\125\035\017\004\004\003\002\001\306\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
+\016\004\026\004\024\211\202\147\175\304\235\046\160\000\113\264
+\120\110\174\336\075\256\004\156\175\060\130\006\003\125\035\037
+\004\121\060\117\060\115\240\113\240\111\206\107\150\164\164\160
+\072\057\057\143\162\154\056\165\163\145\162\164\162\165\163\164
+\056\143\157\155\057\125\124\116\055\125\123\105\122\106\151\162
+\163\164\055\103\154\151\145\156\164\101\165\164\150\145\156\164
+\151\143\141\164\151\157\156\141\156\144\105\155\141\151\154\056
+\143\162\154\060\035\006\003\125\035\045\004\026\060\024\006\010
+\053\006\001\005\005\007\003\002\006\010\053\006\001\005\005\007
+\003\004\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\202\001\001\000\261\155\141\135\246\032\177\174\253\112
+\344\060\374\123\157\045\044\306\312\355\342\061\134\053\016\356
+\356\141\125\157\004\076\317\071\336\305\033\111\224\344\353\040
+\114\264\346\236\120\056\162\331\215\365\252\243\263\112\332\126
+\034\140\227\200\334\202\242\255\112\275\212\053\377\013\011\264
+\306\327\040\004\105\344\315\200\001\272\272\053\156\316\252\327
+\222\376\344\257\353\364\046\035\026\052\177\154\060\225\067\057
+\063\022\254\177\335\307\321\021\214\121\230\262\320\243\221\320
+\255\366\237\236\203\223\036\035\102\270\106\257\153\146\360\233
+\177\352\343\003\002\345\002\121\301\252\325\065\235\162\100\003
+\211\272\061\035\305\020\150\122\236\337\242\205\305\134\010\246
+\170\346\123\117\261\350\267\323\024\236\223\246\303\144\343\254
+\176\161\315\274\237\351\003\033\314\373\351\254\061\301\257\174
+\025\164\002\231\303\262\107\246\302\062\141\327\307\157\110\044
+\121\047\241\325\207\125\362\173\217\230\075\026\236\356\165\266
+\370\320\216\362\363\306\256\050\133\247\360\363\066\027\374\303
+\005\323\312\003\112\124
+END
+
+# Trust for Certificate "UTN USERFirst Email Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN USERFirst Email Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\261\162\261\245\155\225\371\037\345\002\207\341\115\067\352\152
+\104\143\166\212
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\327\064\075\357\035\047\011\050\341\061\002\133\023\053\335\367
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125
+\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164
+\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151
+\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\045\045\147
+\311\211
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "UTN USERFirst Hardware Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN USERFirst Hardware Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\052\376\145
+\012\375
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\164\060\202\003\134\240\003\002\001\002\002\020\104
+\276\014\213\120\000\044\264\021\323\066\052\376\145\012\375\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003
+\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\110\141\162\144\167\141\162\145\060\036\027\015\071\071\060\067
+\060\071\061\070\061\060\064\062\132\027\015\061\071\060\067\060
+\071\061\070\061\071\062\062\132\060\201\227\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\013\060\011\006\003\125\004
+\010\023\002\125\124\061\027\060\025\006\003\125\004\007\023\016
+\123\141\154\164\040\114\141\153\145\040\103\151\164\171\061\036
+\060\034\006\003\125\004\012\023\025\124\150\145\040\125\123\105
+\122\124\122\125\123\124\040\116\145\164\167\157\162\153\061\041
+\060\037\006\003\125\004\013\023\030\150\164\164\160\072\057\057
+\167\167\167\056\165\163\145\162\164\162\165\163\164\056\143\157
+\155\061\037\060\035\006\003\125\004\003\023\026\125\124\116\055
+\125\123\105\122\106\151\162\163\164\055\110\141\162\144\167\141
+\162\145\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\261\367\303\070\077\264\250\177\317\071\202\121\147
+\320\155\237\322\377\130\363\347\237\053\354\015\211\124\231\271
+\070\231\026\367\340\041\171\110\302\273\141\164\022\226\035\074
+\152\162\325\074\020\147\072\071\355\053\023\315\146\353\225\011
+\063\244\154\227\261\350\306\354\301\165\171\234\106\136\215\253
+\320\152\375\271\052\125\027\020\124\263\031\360\232\366\361\261
+\135\266\247\155\373\340\161\027\153\242\210\373\000\337\376\032
+\061\167\014\232\001\172\261\062\343\053\001\007\070\156\303\245
+\136\043\274\105\233\173\120\301\311\060\217\333\345\053\172\323
+\133\373\063\100\036\240\325\230\027\274\213\207\303\211\323\135
+\240\216\262\252\252\366\216\151\210\006\305\372\211\041\363\010
+\235\151\056\011\063\233\051\015\106\017\214\314\111\064\260\151
+\121\275\371\006\315\150\255\146\114\274\076\254\141\275\012\210
+\016\310\337\075\356\174\004\114\235\012\136\153\221\326\356\307
+\355\050\215\253\115\207\211\163\320\156\244\320\036\026\213\024
+\341\166\104\003\177\143\254\344\315\111\234\305\222\364\253\062
+\241\110\133\002\003\001\000\001\243\201\271\060\201\266\060\013
+\006\003\125\035\017\004\004\003\002\001\306\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\241\162\137\046\033\050\230\103\225
+\135\007\067\325\205\226\235\113\322\303\105\060\104\006\003\125
+\035\037\004\075\060\073\060\071\240\067\240\065\206\063\150\164
+\164\160\072\057\057\143\162\154\056\165\163\145\162\164\162\165
+\163\164\056\143\157\155\057\125\124\116\055\125\123\105\122\106
+\151\162\163\164\055\110\141\162\144\167\141\162\145\056\143\162
+\154\060\061\006\003\125\035\045\004\052\060\050\006\010\053\006
+\001\005\005\007\003\001\006\010\053\006\001\005\005\007\003\005
+\006\010\053\006\001\005\005\007\003\006\006\010\053\006\001\005
+\005\007\003\007\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\001\001\000\107\031\017\336\164\306\231\227
+\257\374\255\050\136\165\216\353\055\147\356\116\173\053\327\014
+\377\366\336\313\125\242\012\341\114\124\145\223\140\153\237\022
+\234\255\136\203\054\353\132\256\300\344\055\364\000\143\035\270
+\300\154\362\317\111\273\115\223\157\006\246\012\042\262\111\142
+\010\116\377\310\310\024\262\210\026\135\347\001\344\022\225\345
+\105\064\263\213\151\275\317\264\205\217\165\121\236\175\072\070
+\072\024\110\022\306\373\247\073\032\215\015\202\100\007\350\004
+\010\220\241\211\313\031\120\337\312\034\001\274\035\004\031\173
+\020\166\227\073\356\220\220\312\304\016\037\026\156\165\357\063
+\370\323\157\133\036\226\343\340\164\167\164\173\212\242\156\055
+\335\166\326\071\060\202\360\253\234\122\362\052\307\257\111\136
+\176\307\150\345\202\201\310\152\047\371\047\210\052\325\130\120
+\225\037\360\073\034\127\273\175\024\071\142\053\232\311\224\222
+\052\243\042\014\377\211\046\175\137\043\053\107\327\025\035\251
+\152\236\121\015\052\121\236\201\371\324\073\136\160\022\177\020
+\062\234\036\273\235\370\146\250
+END
+
+# Trust for Certificate "UTN USERFirst Hardware Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN USERFirst Hardware Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\004\203\355\063\231\254\066\010\005\207\042\355\274\136\106\000
+\343\276\371\327
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\114\126\101\345\015\273\053\350\312\243\355\030\010\255\103\071
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\052\376\145
+\012\375
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "UTN USERFirst Object Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN USERFirst Object Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\225\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\035\060\033\006\003\125
+\004\003\023\024\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\117\142\152\145\143\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\225\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\035\060\033\006\003\125
+\004\003\023\024\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\117\142\152\145\143\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\055\340\263
+\137\033
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\146\060\202\003\116\240\003\002\001\002\002\020\104
+\276\014\213\120\000\044\264\021\323\066\055\340\263\137\033\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\225\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\035\060\033\006\003\125\004\003
+\023\024\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\117\142\152\145\143\164\060\036\027\015\071\071\060\067\060\071
+\061\070\063\061\062\060\132\027\015\061\071\060\067\060\071\061
+\070\064\060\063\066\132\060\201\225\061\013\060\011\006\003\125
+\004\006\023\002\125\123\061\013\060\011\006\003\125\004\010\023
+\002\125\124\061\027\060\025\006\003\125\004\007\023\016\123\141
+\154\164\040\114\141\153\145\040\103\151\164\171\061\036\060\034
+\006\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124
+\122\125\123\124\040\116\145\164\167\157\162\153\061\041\060\037
+\006\003\125\004\013\023\030\150\164\164\160\072\057\057\167\167
+\167\056\165\163\145\162\164\162\165\163\164\056\143\157\155\061
+\035\060\033\006\003\125\004\003\023\024\125\124\116\055\125\123
+\105\122\106\151\162\163\164\055\117\142\152\145\143\164\060\202
+\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\316
+\252\201\077\243\243\141\170\252\061\000\125\225\021\236\047\017
+\037\034\337\072\233\202\150\060\300\112\141\035\361\057\016\372
+\276\171\367\245\043\357\125\121\226\204\315\333\343\271\156\076
+\061\330\012\040\147\307\364\331\277\224\353\107\004\076\002\316
+\052\242\135\207\004\011\366\060\235\030\212\227\262\252\034\374
+\101\322\241\066\313\373\075\221\272\347\331\160\065\372\344\347
+\220\303\233\243\233\323\074\365\022\231\167\261\267\011\340\150
+\346\034\270\363\224\143\210\152\152\376\013\166\311\276\364\042
+\344\147\271\253\032\136\167\301\205\007\335\015\154\277\356\006
+\307\167\152\101\236\247\017\327\373\356\224\027\267\374\205\276
+\244\253\304\034\061\335\327\266\321\344\360\357\337\026\217\262
+\122\223\327\241\324\211\241\007\056\277\341\001\022\102\036\032
+\341\330\225\064\333\144\171\050\377\272\056\021\302\345\350\133
+\222\110\373\107\013\302\154\332\255\062\203\101\363\245\345\101
+\160\375\145\220\155\372\372\121\304\371\275\226\053\031\004\054
+\323\155\247\334\360\177\157\203\145\342\152\253\207\206\165\002
+\003\001\000\001\243\201\257\060\201\254\060\013\006\003\125\035
+\017\004\004\003\002\001\306\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004
+\026\004\024\332\355\144\164\024\234\024\074\253\335\231\251\275
+\133\050\115\213\074\311\330\060\102\006\003\125\035\037\004\073
+\060\071\060\067\240\065\240\063\206\061\150\164\164\160\072\057
+\057\143\162\154\056\165\163\145\162\164\162\165\163\164\056\143
+\157\155\057\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\117\142\152\145\143\164\056\143\162\154\060\051\006\003\125
+\035\045\004\042\060\040\006\010\053\006\001\005\005\007\003\003
+\006\010\053\006\001\005\005\007\003\010\006\012\053\006\001\004
+\001\202\067\012\003\004\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\001\001\000\010\037\122\261\067\104
+\170\333\375\316\271\332\225\226\230\252\125\144\200\265\132\100
+\335\041\245\305\301\363\137\054\114\310\107\132\151\352\350\360
+\065\065\364\320\045\363\310\246\244\207\112\275\033\261\163\010
+\275\324\303\312\266\065\273\131\206\167\061\315\247\200\024\256
+\023\357\374\261\110\371\153\045\045\055\121\266\054\155\105\301
+\230\310\212\126\135\076\356\103\116\076\153\047\216\320\072\113
+\205\013\137\323\355\152\247\165\313\321\132\207\057\071\165\023
+\132\162\260\002\201\237\276\360\017\204\124\040\142\154\151\324
+\341\115\306\015\231\103\001\015\022\226\214\170\235\277\120\242
+\261\104\252\152\317\027\172\317\157\017\324\370\044\125\137\360
+\064\026\111\146\076\120\106\311\143\161\070\061\142\270\142\271
+\363\123\255\154\265\053\242\022\252\031\117\011\332\136\347\223
+\306\216\024\010\376\360\060\200\030\240\206\205\115\310\175\327
+\213\003\376\156\325\367\235\026\254\222\054\240\043\345\234\221
+\122\037\224\337\027\224\163\303\263\301\301\161\005\040\000\170
+\275\023\122\035\250\076\315\000\037\310
+END
+
+# Trust for Certificate "UTN USERFirst Object Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "UTN USERFirst Object Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\341\055\373\113\101\327\331\303\053\060\121\113\254\035\201\330
+\070\136\055\106
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\247\362\344\026\006\101\021\120\060\153\234\343\264\234\260\311
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\225\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\035\060\033\006\003\125
+\004\003\023\024\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\117\142\152\145\143\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\276\014\213\120\000\044\264\021\323\066\055\340\263
+\137\033
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Camerfirma Chambers of Commerce Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
+\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
+\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
+\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
+\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
+\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
+\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
+\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
+\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
+\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
+\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
+\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
+\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
+\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
+\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\275\060\202\003\245\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047
+\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145
+\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070
+\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013
+\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141
+\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060\040
+\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163\040
+\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157\164
+\060\036\027\015\060\063\060\071\063\060\061\066\061\063\064\063
+\132\027\015\063\067\060\071\063\060\061\066\061\063\064\064\132
+\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
+\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
+\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
+\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
+\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
+\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
+\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
+\164\060\202\001\040\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\015\000\060\202\001\010\002\202\001
+\001\000\267\066\125\345\245\135\030\060\340\332\211\124\221\374
+\310\307\122\370\057\120\331\357\261\165\163\145\107\175\033\133
+\272\165\305\374\241\210\044\372\057\355\312\010\112\071\124\304
+\121\172\265\332\140\352\070\074\201\262\313\361\273\331\221\043
+\077\110\001\160\165\251\005\052\255\037\161\363\311\124\075\035
+\006\152\100\076\263\014\205\356\134\033\171\302\142\304\270\066
+\216\065\135\001\014\043\004\107\065\252\233\140\116\240\146\075
+\313\046\012\234\100\241\364\135\230\277\161\253\245\000\150\052
+\355\203\172\017\242\024\265\324\042\263\200\260\074\014\132\121
+\151\055\130\030\217\355\231\236\361\256\342\225\346\366\107\250
+\326\014\017\260\130\130\333\303\146\067\236\233\221\124\063\067
+\322\224\034\152\110\311\311\362\245\332\245\014\043\367\043\016
+\234\062\125\136\161\234\204\005\121\232\055\375\346\116\052\064
+\132\336\312\100\067\147\014\124\041\125\167\332\012\014\314\227
+\256\200\334\224\066\112\364\076\316\066\023\036\123\344\254\116
+\072\005\354\333\256\162\234\070\213\320\071\073\211\012\076\167
+\376\165\002\001\003\243\202\001\104\060\202\001\100\060\022\006
+\003\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001
+\014\060\074\006\003\125\035\037\004\065\060\063\060\061\240\057
+\240\055\206\053\150\164\164\160\072\057\057\143\162\154\056\143
+\150\141\155\142\145\162\163\151\147\156\056\157\162\147\057\143
+\150\141\155\142\145\162\163\162\157\157\164\056\143\162\154\060
+\035\006\003\125\035\016\004\026\004\024\343\224\365\261\115\351
+\333\241\051\133\127\213\115\166\006\166\341\321\242\212\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021
+\006\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000
+\007\060\047\006\003\125\035\021\004\040\060\036\201\034\143\150
+\141\155\142\145\162\163\162\157\157\164\100\143\150\141\155\142
+\145\162\163\151\147\156\056\157\162\147\060\047\006\003\125\035
+\022\004\040\060\036\201\034\143\150\141\155\142\145\162\163\162
+\157\157\164\100\143\150\141\155\142\145\162\163\151\147\156\056
+\157\162\147\060\130\006\003\125\035\040\004\121\060\117\060\115
+\006\013\053\006\001\004\001\201\207\056\012\003\001\060\076\060
+\074\006\010\053\006\001\005\005\007\002\001\026\060\150\164\164
+\160\072\057\057\143\160\163\056\143\150\141\155\142\145\162\163
+\151\147\156\056\157\162\147\057\143\160\163\057\143\150\141\155
+\142\145\162\163\162\157\157\164\056\150\164\155\154\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\014\101\227\302\032\206\300\042\174\237\373\220\363\032\321
+\003\261\357\023\371\041\137\004\234\332\311\245\215\047\154\226
+\207\221\276\101\220\001\162\223\347\036\175\137\366\211\306\135
+\247\100\011\075\254\111\105\105\334\056\215\060\150\262\011\272
+\373\303\057\314\272\013\337\077\167\173\106\175\072\022\044\216
+\226\217\074\005\012\157\322\224\050\035\155\014\300\056\210\042
+\325\330\317\035\023\307\360\110\327\327\005\247\317\307\107\236
+\073\074\064\310\200\117\324\024\273\374\015\120\367\372\263\354
+\102\137\251\335\155\310\364\165\317\173\301\162\046\261\001\034
+\134\054\375\172\116\264\001\305\005\127\271\347\074\252\005\331
+\210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312
+\327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064
+\170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110
+\132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335
+\250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356
+\264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370
+\334
+END
+
+# Trust for Certificate "Camerfirma Chambers of Commerce Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\156\072\125\244\031\014\031\134\223\204\074\300\333\162\056\061
+\060\141\360\261
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\260\001\356\024\331\257\051\030\224\166\216\361\151\063\052\204
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
+\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
+\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
+\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
+\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
+\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
+\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
+\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Camerfirma Global Chambersign Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Camerfirma Global Chambersign Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061
+\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
+\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
+\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
+\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060
+\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103
+\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061
+\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
+\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
+\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
+\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060
+\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103
+\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\305\060\202\003\255\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047
+\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145
+\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070
+\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013
+\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141
+\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036
+\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150
+\141\155\142\145\162\163\151\147\156\040\122\157\157\164\060\036
+\027\015\060\063\060\071\063\060\061\066\061\064\061\070\132\027
+\015\063\067\060\071\063\060\061\066\061\064\061\070\132\060\175
+\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047\060
+\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145\162
+\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070\062
+\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013\023
+\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141\155
+\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036\006
+\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150\141
+\155\142\145\162\163\151\147\156\040\122\157\157\164\060\202\001
+\040\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\001\015\000\060\202\001\010\002\202\001\001\000\242\160
+\242\320\237\102\256\133\027\307\330\175\317\024\203\374\117\311
+\241\267\023\257\212\327\236\076\004\012\222\213\140\126\372\264
+\062\057\210\115\241\140\010\364\267\011\116\240\111\057\111\326
+\323\337\235\227\132\237\224\004\160\354\077\131\331\267\314\146
+\213\230\122\050\011\002\337\305\057\204\215\172\227\167\277\354
+\100\235\045\162\253\265\077\062\230\373\267\267\374\162\204\345
+\065\207\371\125\372\243\037\016\157\056\050\335\151\240\331\102
+\020\306\370\265\104\302\320\103\177\333\274\344\242\074\152\125
+\170\012\167\251\330\352\031\062\267\057\376\134\077\033\356\261
+\230\354\312\255\172\151\105\343\226\017\125\366\346\355\165\352
+\145\350\062\126\223\106\211\250\045\212\145\006\356\153\277\171
+\007\320\361\267\257\355\054\115\222\273\300\250\137\247\147\175
+\004\362\025\010\160\254\222\326\175\004\322\063\373\114\266\013
+\013\373\032\311\304\215\003\251\176\134\362\120\253\022\245\241
+\317\110\120\245\357\322\310\032\023\372\260\177\261\202\034\167
+\152\017\137\334\013\225\217\357\103\176\346\105\011\045\002\001
+\003\243\202\001\120\060\202\001\114\060\022\006\003\125\035\023
+\001\001\377\004\010\060\006\001\001\377\002\001\014\060\077\006
+\003\125\035\037\004\070\060\066\060\064\240\062\240\060\206\056
+\150\164\164\160\072\057\057\143\162\154\056\143\150\141\155\142
+\145\162\163\151\147\156\056\157\162\147\057\143\150\141\155\142
+\145\162\163\151\147\156\162\157\157\164\056\143\162\154\060\035
+\006\003\125\035\016\004\026\004\024\103\234\066\237\260\236\060
+\115\306\316\137\255\020\253\345\003\245\372\251\024\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021\006
+\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007
+\060\052\006\003\125\035\021\004\043\060\041\201\037\143\150\141
+\155\142\145\162\163\151\147\156\162\157\157\164\100\143\150\141
+\155\142\145\162\163\151\147\156\056\157\162\147\060\052\006\003
+\125\035\022\004\043\060\041\201\037\143\150\141\155\142\145\162
+\163\151\147\156\162\157\157\164\100\143\150\141\155\142\145\162
+\163\151\147\156\056\157\162\147\060\133\006\003\125\035\040\004
+\124\060\122\060\120\006\013\053\006\001\004\001\201\207\056\012
+\001\001\060\101\060\077\006\010\053\006\001\005\005\007\002\001
+\026\063\150\164\164\160\072\057\057\143\160\163\056\143\150\141
+\155\142\145\162\163\151\147\156\056\157\162\147\057\143\160\163
+\057\143\150\141\155\142\145\162\163\151\147\156\162\157\157\164
+\056\150\164\155\154\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\003\202\001\001\000\074\073\160\221\371\004\124
+\047\221\341\355\355\376\150\177\141\135\345\101\145\117\062\361
+\030\005\224\152\034\336\037\160\333\076\173\062\002\064\265\014
+\154\241\212\174\245\364\217\377\324\330\255\027\325\055\004\321
+\077\130\200\342\201\131\210\276\300\343\106\223\044\376\220\275
+\046\242\060\055\350\227\046\127\065\211\164\226\030\366\025\342
+\257\044\031\126\002\002\262\272\017\024\352\306\212\146\301\206
+\105\125\213\276\222\276\234\244\004\307\111\074\236\350\051\172
+\211\327\376\257\377\150\365\245\027\220\275\254\231\314\245\206
+\127\011\147\106\333\326\026\302\106\361\344\251\120\365\217\321
+\222\025\323\137\076\306\000\111\072\156\130\262\321\321\047\015
+\045\310\062\370\040\021\315\175\062\063\110\224\124\114\335\334
+\171\304\060\237\353\216\270\125\265\327\210\134\305\152\044\075
+\262\323\005\003\121\306\007\357\314\024\162\164\075\156\162\316
+\030\050\214\112\240\167\345\011\053\105\104\107\254\267\147\177
+\001\212\005\132\223\276\241\301\377\370\347\016\147\244\107\111
+\166\135\165\220\032\365\046\217\360
+END
+
+# Trust for Certificate "Camerfirma Global Chambersign Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Camerfirma Global Chambersign Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\063\233\153\024\120\044\233\125\172\001\207\162\204\331\340\057
+\303\322\330\351
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\305\346\173\277\006\320\117\103\355\304\172\145\212\373\153\031
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061
+\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
+\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
+\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
+\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060
+\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103
+\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "NetLock Qualified (Class QA) Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Qualified (Class QA) Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004
+\003\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163
+\151\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151
+\040\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165
+\163\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034
+\006\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146
+\157\100\156\145\164\154\157\143\153\056\150\165
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004
+\003\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163
+\151\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151
+\040\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165
+\163\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034
+\006\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146
+\157\100\156\145\164\154\157\143\153\056\150\165
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\173
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\321\060\202\005\271\240\003\002\001\002\002\001\173
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145
+\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145\164
+\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172\164
+\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030\006
+\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141\156
+\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004\003
+\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163\151
+\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151\040
+\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165\163
+\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034\006
+\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146\157
+\100\156\145\164\154\157\143\153\056\150\165\060\036\027\015\060
+\063\060\063\063\060\060\061\064\067\061\061\132\027\015\062\062
+\061\062\061\065\060\061\064\067\061\061\132\060\201\311\061\013
+\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017\006
+\003\125\004\007\023\010\102\165\144\141\160\145\163\164\061\047
+\060\045\006\003\125\004\012\023\036\116\145\164\114\157\143\153
+\040\110\141\154\157\172\141\164\142\151\172\164\157\156\163\141
+\147\151\040\113\146\164\056\061\032\060\030\006\003\125\004\013
+\023\021\124\141\156\165\163\151\164\166\141\156\171\153\151\141
+\144\157\153\061\102\060\100\006\003\125\004\003\023\071\116\145
+\164\114\157\143\153\040\115\151\156\157\163\151\164\145\164\164
+\040\113\157\172\152\145\147\171\172\157\151\040\050\103\154\141
+\163\163\040\121\101\051\040\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\061\036\060\034\006\011\052\206\110
+\206\367\015\001\011\001\026\017\151\156\146\157\100\156\145\164
+\154\157\143\153\056\150\165\060\202\001\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060
+\202\001\012\002\202\001\001\000\307\122\045\262\330\075\324\204
+\125\011\247\033\275\154\271\024\364\212\002\333\166\374\152\052
+\170\253\345\167\360\156\340\214\043\147\333\245\144\231\271\335
+\001\076\157\357\055\232\074\042\360\135\311\127\240\125\101\177
+\362\103\136\130\202\123\061\145\316\036\362\046\272\000\124\036
+\257\260\274\034\344\122\214\240\062\257\267\067\261\123\147\150
+\164\147\120\366\055\056\144\336\256\046\171\337\337\231\206\253
+\253\177\205\354\240\373\200\314\364\270\014\036\223\105\143\271
+\334\270\133\233\355\133\071\324\137\142\260\247\216\174\146\070
+\054\252\261\010\143\027\147\175\314\275\263\361\303\077\317\120
+\071\355\321\031\203\025\333\207\022\047\226\267\332\352\345\235
+\274\272\352\071\117\213\357\164\232\347\305\320\322\352\206\121
+\034\344\376\144\010\050\004\171\005\353\312\305\161\016\013\357
+\253\352\354\022\021\241\030\005\062\151\321\014\054\032\075\045
+\231\077\265\174\312\155\260\256\231\231\372\010\140\347\031\302
+\362\275\121\323\314\323\002\254\301\021\014\200\316\253\334\224
+\235\153\243\071\123\072\326\205\002\003\000\305\175\243\202\002
+\300\060\202\002\274\060\022\006\003\125\035\023\001\001\377\004
+\010\060\006\001\001\377\002\001\004\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\006\060\202\002\165\006\011\140
+\206\110\001\206\370\102\001\015\004\202\002\146\026\202\002\142
+\106\111\107\131\105\114\105\115\041\040\105\172\145\156\040\164
+\141\156\165\163\151\164\166\141\156\171\040\141\040\116\145\164
+\114\157\143\153\040\113\146\164\056\040\115\151\156\157\163\151
+\164\145\164\164\040\123\172\157\154\147\141\154\164\141\164\141
+\163\151\040\123\172\141\142\141\154\171\172\141\164\141\142\141
+\156\040\154\145\151\162\164\040\145\154\152\141\162\141\163\157
+\153\040\141\154\141\160\152\141\156\040\153\145\163\172\165\154
+\164\056\040\101\040\155\151\156\157\163\151\164\145\164\164\040
+\145\154\145\153\164\162\157\156\151\153\165\163\040\141\154\141
+\151\162\141\163\040\152\157\147\150\141\164\141\163\040\145\162
+\166\145\156\171\145\163\165\154\145\163\145\156\145\153\054\040
+\166\141\154\141\155\151\156\164\040\145\154\146\157\147\141\144
+\141\163\141\156\141\153\040\146\145\154\164\145\164\145\154\145
+\040\141\040\115\151\156\157\163\151\164\145\164\164\040\123\172
+\157\154\147\141\154\164\141\164\141\163\151\040\123\172\141\142
+\141\154\171\172\141\164\142\141\156\054\040\141\172\040\101\154
+\164\141\154\141\156\157\163\040\123\172\145\162\172\157\144\145
+\163\151\040\106\145\154\164\145\164\145\154\145\153\142\145\156
+\040\145\154\157\151\162\164\040\145\154\154\145\156\157\162\172
+\145\163\151\040\145\154\152\141\162\141\163\040\155\145\147\164
+\145\164\145\154\145\056\040\101\040\144\157\153\165\155\145\156
+\164\165\155\157\153\040\155\145\147\164\141\154\141\154\150\141
+\164\157\153\040\141\040\150\164\164\160\163\072\057\057\167\167
+\167\056\156\145\164\154\157\143\153\056\150\165\057\144\157\143
+\163\057\040\143\151\155\145\156\040\166\141\147\171\040\153\145
+\162\150\145\164\157\153\040\141\172\040\151\156\146\157\100\156
+\145\164\154\157\143\153\056\156\145\164\040\145\055\155\141\151
+\154\040\143\151\155\145\156\056\040\127\101\122\116\111\116\107
+\041\040\124\150\145\040\151\163\163\165\141\156\143\145\040\141
+\156\144\040\164\150\145\040\165\163\145\040\157\146\040\164\150
+\151\163\040\143\145\162\164\151\146\151\143\141\164\145\040\141
+\162\145\040\163\165\142\152\145\143\164\040\164\157\040\164\150
+\145\040\116\145\164\114\157\143\153\040\121\165\141\154\151\146
+\151\145\144\040\103\120\123\040\141\166\141\151\154\141\142\154
+\145\040\141\164\040\150\164\164\160\163\072\057\057\167\167\167
+\056\156\145\164\154\157\143\153\056\150\165\057\144\157\143\163
+\057\040\157\162\040\142\171\040\145\055\155\141\151\154\040\141
+\164\040\151\156\146\157\100\156\145\164\154\157\143\153\056\156
+\145\164\060\035\006\003\125\035\016\004\026\004\024\011\152\142
+\026\222\260\132\273\125\016\313\165\062\072\062\345\262\041\311
+\050\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\001\001\000\221\152\120\234\333\170\201\233\077\213\102
+\343\073\374\246\303\356\103\340\317\363\342\200\065\111\105\166
+\002\342\343\057\005\305\361\052\347\300\101\063\306\266\233\320
+\063\071\315\300\333\241\255\154\067\002\114\130\101\073\362\227
+\222\306\110\250\315\345\212\071\211\141\371\122\227\351\275\366
+\371\224\164\350\161\016\274\167\206\303\006\314\132\174\112\176
+\064\120\060\056\373\177\062\232\215\075\363\040\133\370\152\312
+\206\363\061\114\054\131\200\002\175\376\070\311\060\165\034\267
+\125\343\274\237\272\250\155\204\050\005\165\263\213\015\300\221
+\124\041\347\246\013\264\231\365\121\101\334\315\243\107\042\331
+\307\001\201\304\334\107\117\046\352\037\355\333\315\015\230\364
+\243\234\264\163\062\112\226\231\376\274\177\310\045\130\370\130
+\363\166\146\211\124\244\246\076\304\120\134\272\211\030\202\165
+\110\041\322\117\023\350\140\176\007\166\333\020\265\121\346\252
+\271\150\252\315\366\235\220\165\022\352\070\032\312\104\350\267
+\231\247\052\150\225\146\225\253\255\357\211\313\140\251\006\022
+\306\224\107\351\050
+END
+
+# Trust for Certificate "NetLock Qualified (Class QA) Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Qualified (Class QA) Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\001\150\227\341\240\270\362\303\261\064\146\134\040\247\047\267
+\241\130\342\217
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\324\200\145\150\044\371\211\042\050\333\365\244\232\027\217\024
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004
+\003\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163
+\151\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151
+\040\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165
+\163\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034
+\006\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146
+\157\100\156\145\164\154\157\143\153\056\150\165
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\173
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "NetLock Notary (Class A) Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Notary (Class A) Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141
+\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144
+\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036
+\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142
+\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032
+\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164
+\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003
+\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172
+\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101
+\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141
+\144\157
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141
+\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144
+\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036
+\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142
+\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032
+\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164
+\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003
+\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172
+\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101
+\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141
+\144\157
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\001\003
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\175\060\202\005\145\240\003\002\001\002\002\002\001
+\003\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000
+\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141
+\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144
+\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036
+\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142
+\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032
+\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164
+\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003
+\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172
+\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101
+\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141
+\144\157\060\036\027\015\071\071\060\062\062\064\062\063\061\064
+\064\067\132\027\015\061\071\060\062\061\071\062\063\061\064\064
+\067\132\060\201\257\061\013\060\011\006\003\125\004\006\023\002
+\110\125\061\020\060\016\006\003\125\004\010\023\007\110\165\156
+\147\141\162\171\061\021\060\017\006\003\125\004\007\023\010\102
+\165\144\141\160\145\163\164\061\047\060\045\006\003\125\004\012
+\023\036\116\145\164\114\157\143\153\040\110\141\154\157\172\141
+\164\142\151\172\164\157\156\163\141\147\151\040\113\146\164\056
+\061\032\060\030\006\003\125\004\013\023\021\124\141\156\165\163
+\151\164\166\141\156\171\153\151\141\144\157\153\061\066\060\064
+\006\003\125\004\003\023\055\116\145\164\114\157\143\153\040\113
+\157\172\152\145\147\171\172\157\151\040\050\103\154\141\163\163
+\040\101\051\040\124\141\156\165\163\151\164\166\141\156\171\153
+\151\141\144\157\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\274\164\214\017\273\114\364\067\036\251\005
+\202\330\346\341\154\160\352\170\265\156\321\070\104\015\250\203
+\316\135\322\326\325\201\305\324\113\347\133\224\160\046\333\073
+\235\152\114\142\367\161\363\144\326\141\073\075\353\163\243\067
+\331\317\352\214\222\073\315\367\007\334\146\164\227\364\105\042
+\335\364\134\340\277\155\363\276\145\063\344\025\072\277\333\230
+\220\125\070\304\355\246\125\143\013\260\170\004\364\343\156\301
+\077\216\374\121\170\037\222\236\203\302\376\331\260\251\311\274
+\132\000\377\251\250\230\164\373\366\054\076\025\071\015\266\004
+\125\250\016\230\040\102\263\261\045\255\176\232\157\135\123\261
+\253\014\374\353\340\363\172\263\250\263\377\106\366\143\242\330
+\072\230\173\266\254\205\377\260\045\117\164\143\347\023\007\245
+\012\217\005\367\300\144\157\176\247\047\200\226\336\324\056\206
+\140\307\153\053\136\163\173\027\347\221\077\144\014\330\113\042
+\064\053\233\062\362\110\037\237\241\012\204\172\342\302\255\227
+\075\216\325\301\371\126\243\120\351\306\264\372\230\242\356\225
+\346\052\003\214\337\002\003\001\000\001\243\202\002\237\060\202
+\002\233\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\000\006\060\022\006\003\125\035\023\001\001\377\004\010\060\006
+\001\001\377\002\001\004\060\021\006\011\140\206\110\001\206\370
+\102\001\001\004\004\003\002\000\007\060\202\002\140\006\011\140
+\206\110\001\206\370\102\001\015\004\202\002\121\026\202\002\115
+\106\111\107\131\105\114\105\115\041\040\105\172\145\156\040\164
+\141\156\165\163\151\164\166\141\156\171\040\141\040\116\145\164
+\114\157\143\153\040\113\146\164\056\040\101\154\164\141\154\141
+\156\157\163\040\123\172\157\154\147\141\154\164\141\164\141\163
+\151\040\106\145\154\164\145\164\145\154\145\151\142\145\156\040
+\154\145\151\162\164\040\145\154\152\141\162\141\163\157\153\040
+\141\154\141\160\152\141\156\040\153\145\163\172\165\154\164\056
+\040\101\040\150\151\164\145\154\145\163\151\164\145\163\040\146
+\157\154\171\141\155\141\164\141\164\040\141\040\116\145\164\114
+\157\143\153\040\113\146\164\056\040\164\145\162\155\145\153\146
+\145\154\145\154\157\163\163\145\147\055\142\151\172\164\157\163
+\151\164\141\163\141\040\166\145\144\151\056\040\101\040\144\151
+\147\151\164\141\154\151\163\040\141\154\141\151\162\141\163\040
+\145\154\146\157\147\141\144\141\163\141\156\141\153\040\146\145
+\154\164\145\164\145\154\145\040\141\172\040\145\154\157\151\162
+\164\040\145\154\154\145\156\157\162\172\145\163\151\040\145\154
+\152\141\162\141\163\040\155\145\147\164\145\164\145\154\145\056
+\040\101\172\040\145\154\152\141\162\141\163\040\154\145\151\162
+\141\163\141\040\155\145\147\164\141\154\141\154\150\141\164\157
+\040\141\040\116\145\164\114\157\143\153\040\113\146\164\056\040
+\111\156\164\145\162\156\145\164\040\150\157\156\154\141\160\152
+\141\156\040\141\040\150\164\164\160\163\072\057\057\167\167\167
+\056\156\145\164\154\157\143\153\056\156\145\164\057\144\157\143
+\163\040\143\151\155\145\156\040\166\141\147\171\040\153\145\162
+\150\145\164\157\040\141\172\040\145\154\154\145\156\157\162\172
+\145\163\100\156\145\164\154\157\143\153\056\156\145\164\040\145
+\055\155\141\151\154\040\143\151\155\145\156\056\040\111\115\120
+\117\122\124\101\116\124\041\040\124\150\145\040\151\163\163\165
+\141\156\143\145\040\141\156\144\040\164\150\145\040\165\163\145
+\040\157\146\040\164\150\151\163\040\143\145\162\164\151\146\151
+\143\141\164\145\040\151\163\040\163\165\142\152\145\143\164\040
+\164\157\040\164\150\145\040\116\145\164\114\157\143\153\040\103
+\120\123\040\141\166\141\151\154\141\142\154\145\040\141\164\040
+\150\164\164\160\163\072\057\057\167\167\167\056\156\145\164\154
+\157\143\153\056\156\145\164\057\144\157\143\163\040\157\162\040
+\142\171\040\145\055\155\141\151\154\040\141\164\040\143\160\163
+\100\156\145\164\154\157\143\153\056\156\145\164\056\060\015\006
+\011\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001
+\000\110\044\106\367\272\126\157\372\310\050\003\100\116\345\061
+\071\153\046\153\123\177\333\337\337\363\161\075\046\300\024\016
+\306\147\173\043\250\014\163\335\001\273\306\312\156\067\071\125
+\325\307\214\126\040\016\050\012\016\322\052\244\260\111\122\306
+\070\007\376\276\012\011\214\321\230\317\312\332\024\061\241\117
+\322\071\374\017\021\054\103\303\335\253\223\307\125\076\107\174
+\030\032\000\334\363\173\330\362\177\122\154\040\364\013\137\151
+\122\364\356\370\262\051\140\353\343\111\061\041\015\326\265\020
+\101\342\101\011\154\342\032\232\126\113\167\002\366\240\233\232
+\047\207\350\125\051\161\302\220\237\105\170\032\341\025\144\075
+\320\016\330\240\166\237\256\305\320\056\352\326\017\126\354\144
+\177\132\233\024\130\001\047\176\023\120\307\153\052\346\150\074
+\277\134\240\012\033\341\016\172\351\342\200\303\351\351\366\375
+\154\021\236\320\345\050\047\053\124\062\102\024\202\165\346\112
+\360\053\146\165\143\214\242\373\004\076\203\016\233\066\360\030
+\344\046\040\303\214\360\050\007\255\074\027\146\210\265\375\266
+\210
+END
+
+# Trust for Certificate "NetLock Notary (Class A) Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Notary (Class A) Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\254\355\137\145\123\375\045\316\001\137\037\172\110\073\152\164
+\237\141\170\306
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\206\070\155\136\111\143\154\205\134\333\155\334\224\267\320\367
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141
+\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144
+\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036
+\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142
+\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032
+\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164
+\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003
+\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172
+\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101
+\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141
+\144\157
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\001\003
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "NetLock Business (Class B) Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Business (Class B) Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004
+\003\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164
+\151\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165
+\163\151\164\166\141\156\171\153\151\141\144\157
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004
+\003\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164
+\151\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165
+\163\151\164\166\141\156\171\153\151\141\144\157
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\151
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\113\060\202\004\264\240\003\002\001\002\002\001\151
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
+\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145
+\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145\164
+\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172\164
+\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030\006
+\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141\156
+\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004\003
+\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164\151
+\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165\163
+\151\164\166\141\156\171\153\151\141\144\157\060\036\027\015\071
+\071\060\062\062\065\061\064\061\060\062\062\132\027\015\061\071
+\060\062\062\060\061\064\061\060\062\062\132\060\201\231\061\013
+\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017\006
+\003\125\004\007\023\010\102\165\144\141\160\145\163\164\061\047
+\060\045\006\003\125\004\012\023\036\116\145\164\114\157\143\153
+\040\110\141\154\157\172\141\164\142\151\172\164\157\156\163\141
+\147\151\040\113\146\164\056\061\032\060\030\006\003\125\004\013
+\023\021\124\141\156\165\163\151\164\166\141\156\171\153\151\141
+\144\157\153\061\062\060\060\006\003\125\004\003\023\051\116\145
+\164\114\157\143\153\040\125\172\154\145\164\151\040\050\103\154
+\141\163\163\040\102\051\040\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\060\201\237\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211
+\002\201\201\000\261\352\004\354\040\240\043\302\217\070\140\317
+\307\106\263\325\033\376\373\271\231\236\004\334\034\177\214\112
+\201\230\356\244\324\312\212\027\271\042\177\203\012\165\114\233
+\300\151\330\144\071\243\355\222\243\375\133\134\164\032\300\107
+\312\072\151\166\232\272\342\104\027\374\114\243\325\376\270\227
+\210\257\210\003\211\037\244\362\004\076\310\007\013\346\371\263
+\057\172\142\024\011\106\024\312\144\365\213\200\265\142\250\330
+\153\326\161\223\055\263\277\011\124\130\355\006\353\250\173\334
+\103\261\241\151\002\003\001\000\001\243\202\002\237\060\202\002
+\233\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001
+\001\377\002\001\004\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\000\006\060\021\006\011\140\206\110\001\206\370\102
+\001\001\004\004\003\002\000\007\060\202\002\140\006\011\140\206
+\110\001\206\370\102\001\015\004\202\002\121\026\202\002\115\106
+\111\107\131\105\114\105\115\041\040\105\172\145\156\040\164\141
+\156\165\163\151\164\166\141\156\171\040\141\040\116\145\164\114
+\157\143\153\040\113\146\164\056\040\101\154\164\141\154\141\156
+\157\163\040\123\172\157\154\147\141\154\164\141\164\141\163\151
+\040\106\145\154\164\145\164\145\154\145\151\142\145\156\040\154
+\145\151\162\164\040\145\154\152\141\162\141\163\157\153\040\141
+\154\141\160\152\141\156\040\153\145\163\172\165\154\164\056\040
+\101\040\150\151\164\145\154\145\163\151\164\145\163\040\146\157
+\154\171\141\155\141\164\141\164\040\141\040\116\145\164\114\157
+\143\153\040\113\146\164\056\040\164\145\162\155\145\153\146\145
+\154\145\154\157\163\163\145\147\055\142\151\172\164\157\163\151
+\164\141\163\141\040\166\145\144\151\056\040\101\040\144\151\147
+\151\164\141\154\151\163\040\141\154\141\151\162\141\163\040\145
+\154\146\157\147\141\144\141\163\141\156\141\153\040\146\145\154
+\164\145\164\145\154\145\040\141\172\040\145\154\157\151\162\164
+\040\145\154\154\145\156\157\162\172\145\163\151\040\145\154\152
+\141\162\141\163\040\155\145\147\164\145\164\145\154\145\056\040
+\101\172\040\145\154\152\141\162\141\163\040\154\145\151\162\141
+\163\141\040\155\145\147\164\141\154\141\154\150\141\164\157\040
+\141\040\116\145\164\114\157\143\153\040\113\146\164\056\040\111
+\156\164\145\162\156\145\164\040\150\157\156\154\141\160\152\141
+\156\040\141\040\150\164\164\160\163\072\057\057\167\167\167\056
+\156\145\164\154\157\143\153\056\156\145\164\057\144\157\143\163
+\040\143\151\155\145\156\040\166\141\147\171\040\153\145\162\150
+\145\164\157\040\141\172\040\145\154\154\145\156\157\162\172\145
+\163\100\156\145\164\154\157\143\153\056\156\145\164\040\145\055
+\155\141\151\154\040\143\151\155\145\156\056\040\111\115\120\117
+\122\124\101\116\124\041\040\124\150\145\040\151\163\163\165\141
+\156\143\145\040\141\156\144\040\164\150\145\040\165\163\145\040
+\157\146\040\164\150\151\163\040\143\145\162\164\151\146\151\143
+\141\164\145\040\151\163\040\163\165\142\152\145\143\164\040\164
+\157\040\164\150\145\040\116\145\164\114\157\143\153\040\103\120
+\123\040\141\166\141\151\154\141\142\154\145\040\141\164\040\150
+\164\164\160\163\072\057\057\167\167\167\056\156\145\164\154\157
+\143\153\056\156\145\164\057\144\157\143\163\040\157\162\040\142
+\171\040\145\055\155\141\151\154\040\141\164\040\143\160\163\100
+\156\145\164\154\157\143\153\056\156\145\164\056\060\015\006\011
+\052\206\110\206\367\015\001\001\004\005\000\003\201\201\000\004
+\333\256\214\027\257\370\016\220\061\116\315\076\011\300\155\072
+\260\370\063\114\107\114\343\165\210\020\227\254\260\070\025\221
+\306\051\226\314\041\300\155\074\245\164\317\330\202\245\071\303
+\145\343\102\160\273\042\220\343\175\333\065\166\341\240\265\332
+\237\160\156\223\032\060\071\035\060\333\056\343\174\262\221\262
+\321\067\051\372\271\326\027\134\107\117\343\035\070\353\237\325
+\173\225\250\050\236\025\112\321\321\320\053\000\227\240\342\222
+\066\053\143\254\130\001\153\063\051\120\206\203\361\001\110
+END
+
+# Trust for Certificate "NetLock Business (Class B) Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Business (Class B) Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\207\237\113\356\005\337\230\130\073\343\140\326\063\347\015\077
+\376\230\161\257
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\071\026\252\271\152\101\341\024\151\337\236\154\073\162\334\266
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004
+\003\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164
+\151\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165
+\163\151\164\166\141\156\171\153\151\141\144\157
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\151
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "NetLock Express (Class C) Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Express (Class C) Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004
+\003\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145
+\163\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141
+\156\165\163\151\164\166\141\156\171\153\151\141\144\157
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004
+\003\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145
+\163\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141
+\156\165\163\151\164\166\141\156\171\153\151\141\144\157
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\150
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\117\060\202\004\270\240\003\002\001\002\002\001\150
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
+\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145
+\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145\164
+\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172\164
+\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030\006
+\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141\156
+\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004\003
+\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145\163
+\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141\156
+\165\163\151\164\166\141\156\171\153\151\141\144\157\060\036\027
+\015\071\071\060\062\062\065\061\064\060\070\061\061\132\027\015
+\061\071\060\062\062\060\061\064\060\070\061\061\132\060\201\233
+\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021\060
+\017\006\003\125\004\007\023\010\102\165\144\141\160\145\163\164
+\061\047\060\045\006\003\125\004\012\023\036\116\145\164\114\157
+\143\153\040\110\141\154\157\172\141\164\142\151\172\164\157\156
+\163\141\147\151\040\113\146\164\056\061\032\060\030\006\003\125
+\004\013\023\021\124\141\156\165\163\151\164\166\141\156\171\153
+\151\141\144\157\153\061\064\060\062\006\003\125\004\003\023\053
+\116\145\164\114\157\143\153\040\105\170\160\162\145\163\163\172
+\040\050\103\154\141\163\163\040\103\051\040\124\141\156\165\163
+\151\164\166\141\156\171\153\151\141\144\157\060\201\237\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215
+\000\060\201\211\002\201\201\000\353\354\260\154\141\212\043\045
+\257\140\040\343\331\237\374\223\013\333\135\215\260\241\263\100
+\072\202\316\375\165\340\170\062\003\206\132\206\225\221\355\123
+\372\235\100\374\346\350\335\331\133\172\003\275\135\363\073\014
+\303\121\171\233\255\125\240\351\320\003\020\257\012\272\024\102
+\331\122\046\021\042\307\322\040\314\202\244\232\251\376\270\201
+\166\235\152\267\322\066\165\076\261\206\011\366\156\155\176\116
+\267\172\354\256\161\204\366\004\063\010\045\062\353\164\254\026
+\104\306\344\100\223\035\177\255\002\003\001\000\001\243\202\002
+\237\060\202\002\233\060\022\006\003\125\035\023\001\001\377\004
+\010\060\006\001\001\377\002\001\004\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\000\006\060\021\006\011\140\206\110
+\001\206\370\102\001\001\004\004\003\002\000\007\060\202\002\140
+\006\011\140\206\110\001\206\370\102\001\015\004\202\002\121\026
+\202\002\115\106\111\107\131\105\114\105\115\041\040\105\172\145
+\156\040\164\141\156\165\163\151\164\166\141\156\171\040\141\040
+\116\145\164\114\157\143\153\040\113\146\164\056\040\101\154\164
+\141\154\141\156\157\163\040\123\172\157\154\147\141\154\164\141
+\164\141\163\151\040\106\145\154\164\145\164\145\154\145\151\142
+\145\156\040\154\145\151\162\164\040\145\154\152\141\162\141\163
+\157\153\040\141\154\141\160\152\141\156\040\153\145\163\172\165
+\154\164\056\040\101\040\150\151\164\145\154\145\163\151\164\145
+\163\040\146\157\154\171\141\155\141\164\141\164\040\141\040\116
+\145\164\114\157\143\153\040\113\146\164\056\040\164\145\162\155
+\145\153\146\145\154\145\154\157\163\163\145\147\055\142\151\172
+\164\157\163\151\164\141\163\141\040\166\145\144\151\056\040\101
+\040\144\151\147\151\164\141\154\151\163\040\141\154\141\151\162
+\141\163\040\145\154\146\157\147\141\144\141\163\141\156\141\153
+\040\146\145\154\164\145\164\145\154\145\040\141\172\040\145\154
+\157\151\162\164\040\145\154\154\145\156\157\162\172\145\163\151
+\040\145\154\152\141\162\141\163\040\155\145\147\164\145\164\145
+\154\145\056\040\101\172\040\145\154\152\141\162\141\163\040\154
+\145\151\162\141\163\141\040\155\145\147\164\141\154\141\154\150
+\141\164\157\040\141\040\116\145\164\114\157\143\153\040\113\146
+\164\056\040\111\156\164\145\162\156\145\164\040\150\157\156\154
+\141\160\152\141\156\040\141\040\150\164\164\160\163\072\057\057
+\167\167\167\056\156\145\164\154\157\143\153\056\156\145\164\057
+\144\157\143\163\040\143\151\155\145\156\040\166\141\147\171\040
+\153\145\162\150\145\164\157\040\141\172\040\145\154\154\145\156
+\157\162\172\145\163\100\156\145\164\154\157\143\153\056\156\145
+\164\040\145\055\155\141\151\154\040\143\151\155\145\156\056\040
+\111\115\120\117\122\124\101\116\124\041\040\124\150\145\040\151
+\163\163\165\141\156\143\145\040\141\156\144\040\164\150\145\040
+\165\163\145\040\157\146\040\164\150\151\163\040\143\145\162\164
+\151\146\151\143\141\164\145\040\151\163\040\163\165\142\152\145
+\143\164\040\164\157\040\164\150\145\040\116\145\164\114\157\143
+\153\040\103\120\123\040\141\166\141\151\154\141\142\154\145\040
+\141\164\040\150\164\164\160\163\072\057\057\167\167\167\056\156
+\145\164\154\157\143\153\056\156\145\164\057\144\157\143\163\040
+\157\162\040\142\171\040\145\055\155\141\151\154\040\141\164\040
+\143\160\163\100\156\145\164\154\157\143\153\056\156\145\164\056
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\003
+\201\201\000\020\255\177\327\014\062\200\012\330\206\361\171\230
+\265\255\324\315\263\066\304\226\110\301\134\315\232\331\005\056
+\237\276\120\353\364\046\024\020\055\324\146\027\370\236\301\047
+\375\361\355\344\173\113\240\154\265\253\232\127\160\246\355\240
+\244\355\056\365\375\374\275\376\115\067\010\014\274\343\226\203
+\042\365\111\033\177\113\053\264\124\301\200\174\231\116\035\320
+\214\356\320\254\345\222\372\165\126\376\144\240\023\217\270\270
+\026\235\141\005\147\200\310\320\330\245\007\002\064\230\004\215
+\063\004\324
+END
+
+# Trust for Certificate "NetLock Express (Class C) Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Express (Class C) Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\343\222\121\057\012\317\365\005\337\366\336\006\177\165\067\341
+\145\352\127\113
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\117\353\361\360\160\302\200\143\135\130\237\332\022\074\251\304
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160
+\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145
+\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172
+\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030
+\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141
+\156\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004
+\003\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145
+\163\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141
+\156\165\163\151\164\166\141\156\171\153\151\141\144\157
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\150
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "XRamp Global CA Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "XRamp Global CA Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170
+\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155
+\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160
+\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143
+\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023
+\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170
+\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155
+\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160
+\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143
+\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023
+\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\120\224\154\354\030\352\325\234\115\325\227\357\165\217
+\240\255
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\060\060\202\003\030\240\003\002\001\002\002\020\120
+\224\154\354\030\352\325\234\115\325\227\357\165\217\240\255\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\202\061\013\060\011\006\003\125\004\006\023\002\125\123\061\036
+\060\034\006\003\125\004\013\023\025\167\167\167\056\170\162\141
+\155\160\163\145\143\165\162\151\164\171\056\143\157\155\061\044
+\060\042\006\003\125\004\012\023\033\130\122\141\155\160\040\123
+\145\143\165\162\151\164\171\040\123\145\162\166\151\143\145\163
+\040\111\156\143\061\055\060\053\006\003\125\004\003\023\044\130
+\122\141\155\160\040\107\154\157\142\141\154\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\060\036\027\015\060\064\061\061\060\061\061\067\061
+\064\060\064\132\027\015\063\065\060\061\060\061\060\065\063\067
+\061\071\132\060\201\202\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\036\060\034\006\003\125\004\013\023\025\167\167
+\167\056\170\162\141\155\160\163\145\143\165\162\151\164\171\056
+\143\157\155\061\044\060\042\006\003\125\004\012\023\033\130\122
+\141\155\160\040\123\145\143\165\162\151\164\171\040\123\145\162
+\166\151\143\145\163\040\111\156\143\061\055\060\053\006\003\125
+\004\003\023\044\130\122\141\155\160\040\107\154\157\142\141\154
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\230\044\036\275\025\264\272
+\337\307\214\245\047\266\070\013\151\363\266\116\250\054\056\041
+\035\134\104\337\041\135\176\043\164\376\136\176\264\112\267\246
+\255\037\256\340\006\026\342\233\133\331\147\164\153\135\200\217
+\051\235\206\033\331\234\015\230\155\166\020\050\130\344\145\260
+\177\112\230\171\237\340\303\061\176\200\053\265\214\300\100\073
+\021\206\320\313\242\206\066\140\244\325\060\202\155\331\156\320
+\017\022\004\063\227\137\117\141\132\360\344\371\221\253\347\035
+\073\274\350\317\364\153\055\064\174\342\110\141\034\216\363\141
+\104\314\157\240\112\251\224\260\115\332\347\251\064\172\162\070
+\250\101\314\074\224\021\175\353\310\246\214\267\206\313\312\063
+\073\331\075\067\213\373\172\076\206\054\347\163\327\012\127\254
+\144\233\031\353\364\017\004\010\212\254\003\027\031\144\364\132
+\045\042\215\064\054\262\366\150\035\022\155\323\212\036\024\332
+\304\217\246\342\043\205\325\172\015\275\152\340\351\354\354\027
+\273\102\033\147\252\045\355\105\203\041\374\301\311\174\325\142
+\076\372\362\305\055\323\375\324\145\002\003\001\000\001\243\201
+\237\060\201\234\060\023\006\011\053\006\001\004\001\202\067\024
+\002\004\006\036\004\000\103\000\101\060\013\006\003\125\035\017
+\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\306\117\242\075\006\143\204\011\234\316\142\344\004\254
+\215\134\265\351\266\033\060\066\006\003\125\035\037\004\057\060
+\055\060\053\240\051\240\047\206\045\150\164\164\160\072\057\057
+\143\162\154\056\170\162\141\155\160\163\145\143\165\162\151\164
+\171\056\143\157\155\057\130\107\103\101\056\143\162\154\060\020
+\006\011\053\006\001\004\001\202\067\025\001\004\003\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\221\025\071\003\001\033\147\373\112\034\371\012
+\140\133\241\332\115\227\142\371\044\123\047\327\202\144\116\220
+\056\303\111\033\053\232\334\374\250\170\147\065\361\035\360\021
+\275\267\110\343\020\366\015\337\077\322\311\266\252\125\244\110
+\272\002\333\336\131\056\025\133\073\235\026\175\107\327\067\352
+\137\115\166\022\066\273\037\327\241\201\004\106\040\243\054\155
+\251\236\001\176\077\051\316\000\223\337\375\311\222\163\211\211
+\144\236\347\053\344\034\221\054\322\271\316\175\316\157\061\231
+\323\346\276\322\036\220\360\011\024\171\134\043\253\115\322\332
+\041\037\115\231\171\235\341\317\047\237\020\233\034\210\015\260
+\212\144\101\061\270\016\154\220\044\244\233\134\161\217\272\273
+\176\034\033\333\152\200\017\041\274\351\333\246\267\100\364\262
+\213\251\261\344\357\232\032\320\075\151\231\356\250\050\243\341
+\074\263\360\262\021\234\317\174\100\346\335\347\103\175\242\330
+\072\265\251\215\362\064\231\304\324\020\341\006\375\011\204\020
+\073\356\304\114\364\354\047\174\102\302\164\174\202\212\011\311
+\264\003\045\274
+END
+
+# Trust for Certificate "XRamp Global CA Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "XRamp Global CA Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\270\001\206\321\353\234\206\245\101\004\317\060\124\363\114\122
+\267\345\130\306
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\241\013\104\263\312\020\330\000\156\235\017\330\017\222\012\321
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170
+\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155
+\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160
+\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143
+\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023
+\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\120\224\154\354\030\352\325\234\115\325\227\357\165\217
+\240\255
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Go Daddy Class 2 CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Go Daddy Class 2 CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157
+\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156
+\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040
+\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157
+\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156
+\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040
+\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\000\060\202\002\350\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061\041
+\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157\040
+\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156\143
+\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040\104
+\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\060\036\027\015\060\064\060\066\062\071\061\067
+\060\066\062\060\132\027\015\063\064\060\066\062\071\061\067\060
+\066\062\060\132\060\143\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\041\060\037\006\003\125\004\012\023\030\124\150
+\145\040\107\157\040\104\141\144\144\171\040\107\162\157\165\160
+\054\040\111\156\143\056\061\061\060\057\006\003\125\004\013\023
+\050\107\157\040\104\141\144\144\171\040\103\154\141\163\163\040
+\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\060\202\001\040\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\015
+\000\060\202\001\010\002\202\001\001\000\336\235\327\352\127\030
+\111\241\133\353\327\137\110\206\352\276\335\377\344\357\147\034
+\364\145\150\263\127\161\240\136\167\273\355\233\111\351\160\200
+\075\126\030\143\010\157\332\362\314\320\077\177\002\124\042\124
+\020\330\262\201\324\300\165\075\113\177\307\167\303\076\170\253
+\032\003\265\040\153\057\152\053\261\305\210\176\304\273\036\260
+\301\330\105\047\157\252\067\130\367\207\046\327\330\055\366\251
+\027\267\037\162\066\116\246\027\077\145\230\222\333\052\156\135
+\242\376\210\340\013\336\177\345\215\025\341\353\313\072\325\342
+\022\242\023\055\330\216\257\137\022\075\240\010\005\010\266\134
+\245\145\070\004\105\231\036\243\140\140\164\305\101\245\162\142
+\033\142\305\037\157\137\032\102\276\002\121\145\250\256\043\030
+\152\374\170\003\251\115\177\200\303\372\253\132\374\241\100\244
+\312\031\026\376\262\310\357\136\163\015\356\167\275\232\366\171
+\230\274\261\007\147\242\025\015\335\240\130\306\104\173\012\076
+\142\050\137\272\101\007\123\130\317\021\176\070\164\305\370\377
+\265\151\220\217\204\164\352\227\033\257\002\001\003\243\201\300
+\060\201\275\060\035\006\003\125\035\016\004\026\004\024\322\304
+\260\322\221\324\114\021\161\263\141\313\075\241\376\335\250\152
+\324\343\060\201\215\006\003\125\035\043\004\201\205\060\201\202
+\200\024\322\304\260\322\221\324\114\021\161\263\141\313\075\241
+\376\335\250\152\324\343\241\147\244\145\060\143\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\041\060\037\006\003\125
+\004\012\023\030\124\150\145\040\107\157\040\104\141\144\144\171
+\040\107\162\157\165\160\054\040\111\156\143\056\061\061\060\057
+\006\003\125\004\013\023\050\107\157\040\104\141\144\144\171\040
+\103\154\141\163\163\040\062\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\202
+\001\000\060\014\006\003\125\035\023\004\005\060\003\001\001\377
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\062\113\363\262\312\076\221\374\022\306\241\007
+\214\216\167\240\063\006\024\134\220\036\030\367\010\246\075\012
+\031\371\207\200\021\156\151\344\226\027\060\377\064\221\143\162
+\070\356\314\034\001\243\035\224\050\244\061\366\172\304\124\327
+\366\345\061\130\003\242\314\316\142\333\224\105\163\265\277\105
+\311\044\265\325\202\002\255\043\171\151\215\270\266\115\316\317
+\114\312\063\043\350\034\210\252\235\213\101\156\026\311\040\345
+\211\236\315\073\332\160\367\176\231\046\040\024\124\045\253\156
+\163\205\346\233\041\235\012\154\202\016\250\370\302\014\372\020
+\036\154\226\357\207\015\304\017\141\213\255\356\203\053\225\370
+\216\222\204\162\071\353\040\352\203\355\203\315\227\156\010\274
+\353\116\046\266\163\053\344\323\366\114\376\046\161\342\141\021
+\164\112\377\127\032\207\017\165\110\056\317\121\151\027\240\002
+\022\141\225\325\321\100\262\020\114\356\304\254\020\103\246\245
+\236\012\325\225\142\232\015\317\210\202\305\062\014\344\053\237
+\105\346\015\237\050\234\261\271\052\132\127\255\067\017\257\035
+\177\333\275\237
+END
+
+# Trust for Certificate "Go Daddy Class 2 CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Go Daddy Class 2 CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\047\226\272\346\077\030\001\342\167\046\033\240\327\167\160\002
+\217\040\356\344
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\221\336\006\045\253\332\375\062\027\014\273\045\027\052\204\147
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157
+\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156
+\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040
+\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Starfield Class 2 CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Starfield Class 2 CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151
+\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163
+\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023
+\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163
+\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151
+\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163
+\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023
+\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163
+\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\017\060\202\002\367\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061\045
+\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151\145
+\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163\054
+\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023\051
+\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163\040
+\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\060\036\027\015\060\064\060
+\066\062\071\061\067\063\071\061\066\132\027\015\063\064\060\066
+\062\071\061\067\063\071\061\066\132\060\150\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\045\060\043\006\003\125\004
+\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143
+\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061
+\062\060\060\006\003\125\004\013\023\051\123\164\141\162\146\151
+\145\154\144\040\103\154\141\163\163\040\062\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\060\202\001\040\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\015\000\060\202\001\010\002
+\202\001\001\000\267\062\310\376\351\161\246\004\205\255\014\021
+\144\337\316\115\357\310\003\030\207\077\241\253\373\074\246\237
+\360\303\241\332\324\330\156\053\123\220\373\044\244\076\204\360
+\236\350\137\354\345\047\104\365\050\246\077\173\336\340\052\360
+\310\257\123\057\236\312\005\001\223\036\217\146\034\071\247\115
+\372\132\266\163\004\045\146\353\167\177\347\131\306\112\231\045
+\024\124\353\046\307\363\177\031\325\060\160\217\257\260\106\052
+\377\255\353\051\355\327\237\252\004\207\243\324\371\211\245\064
+\137\333\103\221\202\066\331\146\074\261\270\271\202\375\234\072
+\076\020\310\073\357\006\145\146\172\233\031\030\075\377\161\121
+\074\060\056\137\276\075\167\163\262\135\006\154\303\043\126\232
+\053\205\046\222\034\247\002\263\344\077\015\257\010\171\202\270
+\066\075\352\234\323\065\263\274\151\312\365\314\235\350\375\144
+\215\027\200\063\156\136\112\135\231\311\036\207\264\235\032\300
+\325\156\023\065\043\136\337\233\137\075\357\326\367\166\302\352
+\076\273\170\015\034\102\147\153\004\330\370\326\332\157\213\362
+\104\240\001\253\002\001\003\243\201\305\060\201\302\060\035\006
+\003\125\035\016\004\026\004\024\277\137\267\321\316\335\037\206
+\364\133\125\254\334\327\020\302\016\251\210\347\060\201\222\006
+\003\125\035\043\004\201\212\060\201\207\200\024\277\137\267\321
+\316\335\037\206\364\133\125\254\334\327\020\302\016\251\210\347
+\241\154\244\152\060\150\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\045\060\043\006\003\125\004\012\023\034\123\164
+\141\162\146\151\145\154\144\040\124\145\143\150\156\157\154\157
+\147\151\145\163\054\040\111\156\143\056\061\062\060\060\006\003
+\125\004\013\023\051\123\164\141\162\146\151\145\154\144\040\103
+\154\141\163\163\040\062\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\202\001
+\000\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\005\235\077\210\235\321\311\032\125\241\254\151\363
+\363\131\332\233\001\207\032\117\127\251\241\171\011\052\333\367
+\057\262\036\314\307\136\152\330\203\207\241\227\357\111\065\076
+\167\006\101\130\142\277\216\130\270\012\147\077\354\263\335\041
+\146\037\311\124\372\162\314\075\114\100\330\201\257\167\236\203
+\172\273\242\307\365\064\027\216\331\021\100\364\374\054\052\115
+\025\177\247\142\135\056\045\323\000\013\040\032\035\150\371\027
+\270\364\275\213\355\050\131\335\115\026\213\027\203\310\262\145
+\307\055\172\245\252\274\123\206\155\335\127\244\312\370\040\101
+\013\150\360\364\373\164\276\126\135\172\171\365\371\035\205\343
+\055\225\276\365\161\220\103\314\215\037\232\000\012\207\051\351
+\125\042\130\000\043\352\343\022\103\051\133\107\010\335\214\101
+\152\145\006\250\345\041\252\101\264\225\041\225\271\175\321\064
+\253\023\326\255\274\334\342\075\071\315\275\076\165\160\241\030
+\131\003\311\042\264\217\234\325\136\052\327\245\266\324\012\155
+\370\267\100\021\106\232\037\171\016\142\277\017\227\354\340\057
+\037\027\224
+END
+
+# Trust for Certificate "Starfield Class 2 CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Starfield Class 2 CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\255\176\034\050\260\144\357\217\140\003\100\040\024\303\320\343
+\067\016\265\212
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\062\112\113\273\310\143\151\233\276\164\232\306\335\035\106\044
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151
+\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163
+\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023
+\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163
+\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "StartCom Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "StartCom Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\175\061\013\060\011\006\003\125\004\006\023\002\111\114\061
+\026\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103
+\157\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013
+\023\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154
+\040\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147
+\156\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123
+\164\141\162\164\103\157\155\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\175\061\013\060\011\006\003\125\004\006\023\002\111\114\061
+\026\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103
+\157\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013
+\023\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154
+\040\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147
+\156\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123
+\164\141\162\164\103\157\155\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\007\311\060\202\005\261\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\175\061\013\060\011\006\003\125\004\006\023\002\111\114\061\026
+\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103\157
+\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013\023
+\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154\040
+\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147\156
+\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123\164
+\141\162\164\103\157\155\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036
+\027\015\060\066\060\071\061\067\061\071\064\066\063\066\132\027
+\015\063\066\060\071\061\067\061\071\064\066\063\066\132\060\175
+\061\013\060\011\006\003\125\004\006\023\002\111\114\061\026\060
+\024\006\003\125\004\012\023\015\123\164\141\162\164\103\157\155
+\040\114\164\144\056\061\053\060\051\006\003\125\004\013\023\042
+\123\145\143\165\162\145\040\104\151\147\151\164\141\154\040\103
+\145\162\164\151\146\151\143\141\164\145\040\123\151\147\156\151
+\156\147\061\051\060\047\006\003\125\004\003\023\040\123\164\141
+\162\164\103\157\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202\002
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\002\017\000\060\202\002\012\002\202\002\001\000\301\210
+\333\011\274\154\106\174\170\237\225\173\265\063\220\362\162\142
+\326\301\066\040\042\044\136\316\351\167\362\103\012\242\006\144
+\244\314\216\066\370\070\346\043\360\156\155\261\074\335\162\243
+\205\034\241\323\075\264\063\053\323\057\257\376\352\260\101\131
+\147\266\304\006\175\012\236\164\205\326\171\114\200\067\172\337
+\071\005\122\131\367\364\033\106\103\244\322\205\205\322\303\161
+\363\165\142\064\272\054\212\177\036\217\356\355\064\320\021\307
+\226\315\122\075\272\063\326\335\115\336\013\073\112\113\237\302
+\046\057\372\265\026\034\162\065\167\312\074\135\346\312\341\046
+\213\032\066\166\134\001\333\164\024\045\376\355\265\240\210\017
+\335\170\312\055\037\007\227\060\001\055\162\171\372\106\326\023
+\052\250\271\246\253\203\111\035\345\362\357\335\344\001\216\030
+\012\217\143\123\026\205\142\251\016\031\072\314\265\146\246\302
+\153\164\007\344\053\341\166\076\264\155\330\366\104\341\163\142
+\037\073\304\276\240\123\126\045\154\121\011\367\252\253\312\277
+\166\375\155\233\363\235\333\277\075\146\274\014\126\252\257\230
+\110\225\072\113\337\247\130\120\331\070\165\251\133\352\103\014
+\002\377\231\353\350\154\115\160\133\051\145\234\335\252\135\314
+\257\001\061\354\014\353\322\215\350\352\234\173\346\156\367\047
+\146\014\032\110\327\156\102\343\077\336\041\076\173\341\015\160
+\373\143\252\250\154\032\124\264\134\045\172\311\242\311\213\026
+\246\273\054\176\027\136\005\115\130\156\022\035\001\356\022\020
+\015\306\062\177\030\377\374\364\372\315\156\221\350\066\111\276
+\032\110\151\213\302\226\115\032\022\262\151\027\301\012\220\326
+\372\171\042\110\277\272\173\151\370\160\307\372\172\067\330\330
+\015\322\166\117\127\377\220\267\343\221\322\335\357\302\140\267
+\147\072\335\376\252\234\360\324\213\177\162\042\316\306\237\227
+\266\370\257\212\240\020\250\331\373\030\306\266\265\134\122\074
+\211\266\031\052\163\001\012\017\003\263\022\140\362\172\057\201
+\333\243\156\377\046\060\227\365\213\335\211\127\266\255\075\263
+\257\053\305\267\166\002\360\245\326\053\232\206\024\052\162\366
+\343\063\214\135\011\113\023\337\273\214\164\023\122\113\002\003
+\001\000\001\243\202\002\122\060\202\002\116\060\014\006\003\125
+\035\023\004\005\060\003\001\001\377\060\013\006\003\125\035\017
+\004\004\003\002\001\256\060\035\006\003\125\035\016\004\026\004
+\024\116\013\357\032\244\100\133\245\027\151\207\060\312\064\150
+\103\320\101\256\362\060\144\006\003\125\035\037\004\135\060\133
+\060\054\240\052\240\050\206\046\150\164\164\160\072\057\057\143
+\145\162\164\056\163\164\141\162\164\143\157\155\056\157\162\147
+\057\163\146\163\143\141\055\143\162\154\056\143\162\154\060\053
+\240\051\240\047\206\045\150\164\164\160\072\057\057\143\162\154
+\056\163\164\141\162\164\143\157\155\056\157\162\147\057\163\146
+\163\143\141\055\143\162\154\056\143\162\154\060\202\001\135\006
+\003\125\035\040\004\202\001\124\060\202\001\120\060\202\001\114
+\006\013\053\006\001\004\001\201\265\067\001\001\001\060\202\001
+\073\060\057\006\010\053\006\001\005\005\007\002\001\026\043\150
+\164\164\160\072\057\057\143\145\162\164\056\163\164\141\162\164
+\143\157\155\056\157\162\147\057\160\157\154\151\143\171\056\160
+\144\146\060\065\006\010\053\006\001\005\005\007\002\001\026\051
+\150\164\164\160\072\057\057\143\145\162\164\056\163\164\141\162
+\164\143\157\155\056\157\162\147\057\151\156\164\145\162\155\145
+\144\151\141\164\145\056\160\144\146\060\201\320\006\010\053\006
+\001\005\005\007\002\002\060\201\303\060\047\026\040\123\164\141
+\162\164\040\103\157\155\155\145\162\143\151\141\154\040\050\123
+\164\141\162\164\103\157\155\051\040\114\164\144\056\060\003\002
+\001\001\032\201\227\114\151\155\151\164\145\144\040\114\151\141
+\142\151\154\151\164\171\054\040\162\145\141\144\040\164\150\145
+\040\163\145\143\164\151\157\156\040\052\114\145\147\141\154\040
+\114\151\155\151\164\141\164\151\157\156\163\052\040\157\146\040
+\164\150\145\040\123\164\141\162\164\103\157\155\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\040\120\157\154\151\143\171\040\141\166\141\151
+\154\141\142\154\145\040\141\164\040\150\164\164\160\072\057\057
+\143\145\162\164\056\163\164\141\162\164\143\157\155\056\157\162
+\147\057\160\157\154\151\143\171\056\160\144\146\060\021\006\011
+\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007\060
+\070\006\011\140\206\110\001\206\370\102\001\015\004\053\026\051
+\123\164\141\162\164\103\157\155\040\106\162\145\145\040\123\123
+\114\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\002\001\000\026\154\231
+\364\146\014\064\365\320\205\136\175\012\354\332\020\116\070\034
+\136\337\246\045\005\113\221\062\301\350\073\361\075\335\104\011
+\133\007\111\212\051\313\146\002\267\261\232\367\045\230\011\074
+\216\033\341\335\066\207\053\113\273\150\323\071\146\075\240\046
+\307\362\071\221\035\121\253\202\173\176\325\316\132\344\342\003
+\127\160\151\227\010\371\136\130\246\012\337\214\006\232\105\026
+\026\070\012\136\127\366\142\307\172\002\005\346\274\036\265\362
+\236\364\251\051\203\370\262\024\343\156\050\207\104\303\220\032
+\336\070\251\074\254\103\115\144\105\316\335\050\251\134\362\163
+\173\004\370\027\350\253\261\363\056\134\144\156\163\061\072\022
+\270\274\263\021\344\175\217\201\121\232\073\215\211\364\115\223
+\146\173\074\003\355\323\232\035\232\363\145\120\365\240\320\165
+\237\057\257\360\352\202\103\230\370\151\234\211\171\304\103\216
+\106\162\343\144\066\022\257\367\045\036\070\211\220\167\176\303
+\153\152\271\303\313\104\113\254\170\220\213\347\307\054\036\113
+\021\104\310\064\122\047\315\012\135\237\205\301\211\325\032\170
+\362\225\020\123\062\335\200\204\146\165\331\265\150\050\373\141
+\056\276\204\250\070\300\231\022\206\245\036\147\144\255\006\056
+\057\251\160\205\307\226\017\174\211\145\365\216\103\124\016\253
+\335\245\200\071\224\140\300\064\311\226\160\054\243\022\365\037
+\110\173\275\034\176\153\267\235\220\364\042\073\256\370\374\052
+\312\372\202\122\240\357\257\113\125\223\353\301\265\360\042\213
+\254\064\116\046\042\004\241\207\054\165\112\267\345\175\023\327
+\270\014\144\300\066\322\311\057\206\022\214\043\011\301\033\202
+\073\163\111\243\152\127\207\224\345\326\170\305\231\103\143\343
+\115\340\167\055\341\145\231\162\151\004\032\107\011\346\017\001
+\126\044\373\037\277\016\171\251\130\056\271\304\011\001\176\225
+\272\155\000\006\076\262\352\112\020\071\330\320\053\365\277\354
+\165\277\227\002\305\011\033\010\334\125\067\342\201\373\067\204
+\103\142\040\312\347\126\113\145\352\376\154\301\044\223\044\241
+\064\353\005\377\232\042\256\233\175\077\361\145\121\012\246\060
+\152\263\364\210\034\200\015\374\162\212\350\203\136
+END
+
+# Trust for Certificate "StartCom Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "StartCom Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\076\053\367\362\003\033\226\363\214\346\304\330\250\135\076\055
+\130\107\152\017
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\042\115\217\212\374\367\065\302\273\127\064\220\173\213\042\026
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\175\061\013\060\011\006\003\125\004\006\023\002\111\114\061
+\026\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103
+\157\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013
+\023\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154
+\040\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147
+\156\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123
+\164\141\162\164\103\157\155\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Taiwan GRCA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Taiwan GRCA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156
+\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156
+\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343
+\136\366
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\162\060\202\003\132\240\003\002\001\002\002\020\037
+\235\131\132\327\057\302\006\104\245\200\010\151\343\136\366\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077
+\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060\060
+\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155\145
+\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060
+\036\027\015\060\062\061\062\060\065\061\063\062\063\063\063\132
+\027\015\063\062\061\062\060\065\061\063\062\063\063\063\132\060
+\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060
+\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155
+\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\232\045\270\354\314\242\165\250\173\367\316\133\131\212\311
+\321\206\022\010\124\354\234\362\347\106\366\210\363\174\351\245
+\337\114\107\066\244\033\001\034\177\036\127\212\215\303\305\321
+\041\343\332\044\077\110\053\373\237\056\241\224\347\054\034\223
+\321\277\033\001\207\123\231\316\247\365\012\041\166\167\377\251
+\267\306\163\224\117\106\367\020\111\067\372\250\131\111\135\152
+\201\007\126\362\212\371\006\320\367\160\042\115\264\267\101\271
+\062\270\261\360\261\303\234\077\160\375\123\335\201\252\330\143
+\170\366\330\123\156\241\254\152\204\044\162\124\206\306\322\262
+\312\034\016\171\201\326\265\160\142\010\001\056\116\117\016\325
+\021\257\251\257\345\232\277\334\314\207\155\046\344\311\127\242
+\373\226\371\314\341\077\123\214\154\114\176\233\123\010\013\154
+\027\373\147\310\302\255\261\315\200\264\227\334\166\001\026\025
+\351\152\327\244\341\170\107\316\206\325\373\061\363\372\061\276
+\064\252\050\373\160\114\035\111\307\257\054\235\155\146\246\266
+\215\144\176\265\040\152\235\073\201\266\217\100\000\147\113\211
+\206\270\314\145\376\025\123\351\004\301\326\137\035\104\327\012
+\057\047\232\106\175\241\015\165\255\124\206\025\334\111\073\361
+\226\316\017\233\240\354\243\172\135\276\325\052\165\102\345\173
+\336\245\266\252\257\050\254\254\220\254\070\267\325\150\065\046
+\172\334\367\073\363\375\105\233\321\273\103\170\156\157\361\102
+\124\152\230\360\015\255\227\351\122\136\351\325\152\162\336\152
+\367\033\140\024\364\245\344\266\161\147\252\037\352\342\115\301
+\102\100\376\147\106\027\070\057\107\077\161\234\256\345\041\312
+\141\055\155\007\250\204\174\055\356\121\045\361\143\220\236\375
+\341\127\210\153\357\212\043\155\261\346\275\077\255\321\075\226
+\013\205\215\315\153\047\273\267\005\233\354\273\221\251\012\007
+\022\002\227\116\040\220\360\377\015\036\342\101\073\323\100\072
+\347\215\135\332\146\344\002\260\007\122\230\134\016\216\063\234
+\302\246\225\373\125\031\156\114\216\256\113\017\275\301\070\115
+\136\217\204\035\146\315\305\140\226\264\122\132\005\211\216\225
+\172\230\301\221\074\225\043\262\016\364\171\264\311\174\301\112
+\041\002\003\001\000\001\243\152\060\150\060\035\006\003\125\035
+\016\004\026\004\024\314\314\357\314\051\140\244\073\261\222\266
+\074\372\062\142\217\254\045\025\073\060\014\006\003\125\035\023
+\004\005\060\003\001\001\377\060\071\006\004\147\052\007\000\004
+\061\060\057\060\055\002\001\000\060\011\006\005\053\016\003\002
+\032\005\000\060\007\006\005\147\052\003\000\000\004\024\003\233
+\360\042\023\377\225\050\066\323\334\236\300\062\373\061\072\212
+\121\145\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\202\002\001\000\100\200\112\372\046\311\316\136\060\335
+\117\206\164\166\130\365\256\263\203\063\170\244\172\164\027\031
+\116\351\122\265\271\340\012\164\142\252\150\312\170\240\114\232
+\216\054\043\056\325\152\022\044\277\324\150\323\212\320\330\234
+\237\264\037\014\336\070\176\127\070\374\215\342\117\136\014\237
+\253\073\322\377\165\227\313\244\343\147\010\377\345\300\026\265
+\110\001\175\351\371\012\377\033\345\152\151\277\170\041\250\302
+\247\043\251\206\253\166\126\350\016\014\366\023\335\052\146\212
+\144\111\075\032\030\207\220\004\237\102\122\267\117\313\376\107
+\101\166\065\357\377\000\166\066\105\062\233\306\106\205\135\342
+\044\260\036\343\110\226\230\127\107\224\125\172\017\101\261\104
+\044\363\301\376\032\153\277\210\375\301\246\332\223\140\136\201
+\112\231\040\234\110\146\031\265\000\171\124\017\270\054\057\113
+\274\251\135\133\140\177\214\207\245\340\122\143\052\276\330\073
+\205\100\025\376\036\266\145\077\305\113\332\176\265\172\065\051
+\243\056\172\230\140\042\243\364\175\047\116\055\352\264\164\074
+\351\017\244\063\017\020\021\274\023\001\326\345\016\323\277\265
+\022\242\341\105\043\300\314\010\156\141\267\211\253\203\343\044
+\036\346\135\007\347\037\040\076\317\147\310\347\254\060\155\047
+\113\150\156\113\052\134\002\010\064\333\370\166\344\147\243\046
+\234\077\242\062\302\112\305\201\030\061\020\126\252\204\357\055
+\012\377\270\037\167\322\277\245\130\240\142\344\327\113\221\165
+\215\211\200\230\176\155\313\123\116\136\257\366\262\227\205\227
+\271\332\125\006\271\044\356\327\306\070\036\143\033\022\073\225
+\341\130\254\362\337\204\325\137\231\057\015\125\133\346\070\333
+\056\077\162\351\110\205\313\273\051\023\217\036\070\125\271\363
+\262\304\060\231\043\116\135\362\110\241\022\014\334\022\220\011
+\220\124\221\003\074\107\345\325\311\145\340\267\113\175\354\107
+\323\263\013\076\255\236\320\164\000\016\353\275\121\255\300\336
+\054\300\303\152\376\357\334\013\247\372\106\337\140\333\234\246
+\131\120\165\043\151\163\223\262\371\374\002\323\107\346\161\316
+\020\002\356\047\214\204\377\254\105\015\023\134\203\062\340\045
+\245\206\054\174\364\022
+END
+
+# Trust for Certificate "Taiwan GRCA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Taiwan GRCA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\364\213\021\277\336\253\276\224\124\040\161\346\101\336\153\276
+\210\053\100\271
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\067\205\104\123\062\105\037\040\360\363\225\341\045\304\103\116
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156
+\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343
+\136\366
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Firmaprofesional Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Firmaprofesional Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123
+\061\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165
+\156\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145
+\154\157\156\141\061\102\060\100\006\003\125\004\003\023\071\101
+\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162\164
+\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141\160
+\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040\101
+\066\062\066\063\064\060\066\070\061\046\060\044\006\011\052\206
+\110\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155
+\141\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123
+\061\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165
+\156\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145
+\154\157\156\141\061\102\060\100\006\003\125\004\003\023\071\101
+\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162\164
+\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141\160
+\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040\101
+\066\062\066\063\064\060\066\070\061\046\060\044\006\011\052\206
+\110\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155
+\141\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\127\060\202\003\077\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165\156
+\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145\154
+\157\156\141\061\102\060\100\006\003\125\004\003\023\071\101\165
+\164\157\162\151\144\141\144\040\144\145\040\103\145\162\164\151
+\146\151\143\141\143\151\157\156\040\106\151\162\155\141\160\162
+\157\146\145\163\151\157\156\141\154\040\103\111\106\040\101\066
+\062\066\063\064\060\066\070\061\046\060\044\006\011\052\206\110
+\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155\141
+\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155\060
+\036\027\015\060\061\061\060\062\064\062\062\060\060\060\060\132
+\027\015\061\063\061\060\062\064\062\062\060\060\060\060\132\060
+\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165\156
+\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145\154
+\157\156\141\061\102\060\100\006\003\125\004\003\023\071\101\165
+\164\157\162\151\144\141\144\040\144\145\040\103\145\162\164\151
+\146\151\143\141\143\151\157\156\040\106\151\162\155\141\160\162
+\157\146\145\163\151\157\156\141\154\040\103\111\106\040\101\066
+\062\066\063\064\060\066\070\061\046\060\044\006\011\052\206\110
+\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155\141
+\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155\060
+\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
+\347\043\003\157\157\043\245\136\170\316\225\054\355\224\036\156
+\012\236\001\307\352\060\321\054\235\335\067\350\233\230\171\126
+\323\374\163\337\320\212\336\125\217\121\371\132\352\336\265\160
+\304\355\244\355\377\243\015\156\017\144\120\061\257\001\047\130
+\256\376\154\247\112\057\027\055\323\163\325\023\034\217\131\245
+\064\054\035\124\004\105\315\150\270\240\300\003\245\317\205\102
+\107\225\050\133\317\357\200\154\340\220\227\212\001\074\035\363
+\207\020\060\046\110\175\327\374\351\235\221\161\377\101\232\251
+\100\265\067\234\051\040\117\037\122\343\240\175\023\155\124\267
+\012\336\351\152\116\007\254\254\031\137\334\176\142\164\366\262
+\005\000\272\205\240\375\035\070\156\313\132\273\206\274\224\147
+\063\065\203\054\037\043\315\370\310\221\161\314\227\213\357\256
+\017\334\051\003\033\300\071\353\160\355\301\156\016\330\147\013
+\211\251\274\065\344\357\266\064\264\245\266\304\055\245\276\320
+\303\224\044\110\333\337\226\323\000\265\146\032\213\146\005\017
+\335\077\077\313\077\252\136\232\112\370\264\112\357\225\067\033
+\002\003\001\000\001\243\201\237\060\201\234\060\052\006\003\125
+\035\021\004\043\060\041\206\037\150\164\164\160\072\057\057\167
+\167\167\056\146\151\162\155\141\160\162\157\146\145\163\151\157
+\156\141\154\056\143\157\155\060\022\006\003\125\035\023\001\001
+\377\004\010\060\006\001\001\377\002\001\001\060\053\006\003\125
+\035\020\004\044\060\042\200\017\062\060\060\061\061\060\062\064
+\062\062\060\060\060\060\132\201\017\062\060\061\063\061\060\062
+\064\062\062\060\060\060\060\132\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\006\060\035\006\003\125\035\016\004
+\026\004\024\063\013\240\146\321\352\332\316\336\142\223\004\050
+\122\265\024\177\070\150\267\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\003\202\001\001\000\107\163\376\215\047
+\124\360\365\324\167\234\047\171\127\127\267\025\126\354\307\330
+\130\267\001\002\364\063\355\223\120\210\236\174\106\261\275\077
+\024\157\361\263\107\110\213\214\227\006\327\352\176\243\134\052
+\273\115\057\107\342\370\071\006\311\234\056\061\032\003\170\364
+\274\070\306\042\213\063\061\360\026\004\004\175\371\166\344\113
+\327\300\346\203\354\131\314\077\336\377\117\153\267\147\176\246
+\206\201\062\043\003\235\310\367\137\301\112\140\245\222\251\261
+\244\240\140\303\170\207\263\042\363\052\353\133\251\355\005\253
+\067\017\261\342\323\225\166\143\126\164\214\130\162\033\067\345
+\144\241\276\115\014\223\230\014\227\366\207\155\263\077\347\313
+\200\246\355\210\307\137\120\142\002\350\231\164\026\320\346\264
+\071\361\047\313\310\100\326\343\206\020\251\043\022\222\340\151
+\101\143\247\257\045\013\300\305\222\313\036\230\243\132\272\305
+\063\017\240\227\001\335\177\340\173\326\006\124\317\241\342\115
+\070\353\113\120\265\313\046\364\312\332\160\112\152\241\342\171
+\252\341\247\063\366\375\112\037\366\331\140
+END
+
+# Trust for Certificate "Firmaprofesional Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Firmaprofesional Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\251\142\217\113\230\251\033\110\065\272\322\301\106\062\206\273
+\146\144\152\214
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\021\222\171\100\074\261\203\100\345\253\146\112\147\222\200\337
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123
+\061\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165
+\156\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145
+\154\157\156\141\061\102\060\100\006\003\125\004\003\023\071\101
+\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162\164
+\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141\160
+\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040\101
+\066\062\066\063\064\060\066\070\061\046\060\044\006\011\052\206
+\110\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155
+\141\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Wells Fargo Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Wells Fargo Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\024\060\022\006\003\125\004\012\023\013\127\145\154\154\163
+\040\106\141\162\147\157\061\054\060\052\006\003\125\004\013\023
+\043\127\145\154\154\163\040\106\141\162\147\157\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\061\057\060\055\006\003\125\004\003\023\046\127
+\145\154\154\163\040\106\141\162\147\157\040\122\157\157\164\040
+\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\024\060\022\006\003\125\004\012\023\013\127\145\154\154\163
+\040\106\141\162\147\157\061\054\060\052\006\003\125\004\013\023
+\043\127\145\154\154\163\040\106\141\162\147\157\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\061\057\060\055\006\003\125\004\003\023\046\127
+\145\154\154\163\040\106\141\162\147\157\040\122\157\157\164\040
+\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\071\344\227\236
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\345\060\202\002\315\240\003\002\001\002\002\004\071
+\344\227\236\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\201\202\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\024\060\022\006\003\125\004\012\023\013\127\145\154
+\154\163\040\106\141\162\147\157\061\054\060\052\006\003\125\004
+\013\023\043\127\145\154\154\163\040\106\141\162\147\157\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\061\057\060\055\006\003\125\004\003\023
+\046\127\145\154\154\163\040\106\141\162\147\157\040\122\157\157
+\164\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165
+\164\150\157\162\151\164\171\060\036\027\015\060\060\061\060\061
+\061\061\066\064\061\062\070\132\027\015\062\061\060\061\061\064
+\061\066\064\061\062\070\132\060\201\202\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004\012
+\023\013\127\145\154\154\163\040\106\141\162\147\157\061\054\060
+\052\006\003\125\004\013\023\043\127\145\154\154\163\040\106\141
+\162\147\157\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\057\060\055\006
+\003\125\004\003\023\046\127\145\154\154\163\040\106\141\162\147
+\157\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\145\040\101\165\164\150\157\162\151\164\171\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\325\250\063
+\073\046\371\064\377\315\233\176\345\004\107\316\000\342\175\167
+\347\061\302\056\047\245\115\150\271\061\272\215\103\131\227\307
+\163\252\177\075\134\100\236\005\345\241\342\211\331\114\270\077
+\233\371\014\264\310\142\031\054\105\256\221\036\163\161\101\304
+\113\023\375\160\302\045\254\042\365\165\013\267\123\344\245\053
+\335\316\275\034\072\172\303\367\023\217\046\124\234\026\153\153
+\257\373\330\226\261\140\232\110\340\045\042\044\171\064\316\016
+\046\000\013\116\253\375\213\316\202\327\057\010\160\150\301\250
+\012\371\164\117\007\253\244\371\342\203\176\047\163\164\076\270
+\371\070\102\374\245\250\133\110\043\263\353\343\045\262\200\256
+\226\324\012\234\302\170\232\306\150\030\256\067\142\067\136\121
+\165\250\130\143\300\121\356\100\170\176\250\257\032\240\341\260
+\170\235\120\214\173\347\263\374\216\043\260\333\145\000\160\204
+\001\010\000\024\156\124\206\232\272\314\371\067\020\366\340\336
+\204\055\235\244\205\067\323\207\343\025\320\301\027\220\176\031
+\041\152\022\251\166\375\022\002\351\117\041\136\027\002\003\001
+\000\001\243\141\060\137\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\114\006\003\125\035\040\004\105
+\060\103\060\101\006\013\140\206\110\001\206\373\173\207\007\001
+\013\060\062\060\060\006\010\053\006\001\005\005\007\002\001\026
+\044\150\164\164\160\072\057\057\167\167\167\056\167\145\154\154
+\163\146\141\162\147\157\056\143\157\155\057\143\145\162\164\160
+\157\154\151\143\171\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\003\202\001\001\000\322\047\335\234\012\167\053
+\273\042\362\002\265\112\112\221\371\321\055\276\344\273\032\150
+\357\016\244\000\351\356\347\357\356\366\371\345\164\244\302\330
+\122\130\304\164\373\316\153\265\073\051\171\030\132\357\233\355
+\037\153\066\356\110\045\045\024\266\126\242\020\350\356\247\177
+\320\077\243\320\303\135\046\356\007\314\303\301\044\041\207\036
+\337\052\022\123\157\101\026\347\355\256\224\372\214\162\372\023
+\107\360\074\176\256\175\021\072\023\354\355\372\157\162\144\173
+\235\175\177\046\375\172\373\045\255\352\076\051\177\114\343\000
+\127\062\260\263\351\355\123\027\331\213\262\024\016\060\350\345
+\325\023\306\144\257\304\000\325\330\130\044\374\365\217\354\361
+\307\175\245\333\017\047\321\306\362\100\210\346\037\366\141\250
+\364\102\310\271\067\323\251\276\054\126\170\302\162\233\131\135
+\065\100\212\350\116\143\032\266\351\040\152\121\342\316\244\220
+\337\166\160\231\134\160\103\115\267\266\247\031\144\116\222\267
+\305\221\074\177\110\026\145\173\026\375\313\374\373\331\325\326
+\117\041\145\073\112\177\107\243\373
+END
+
+# Trust for Certificate "Wells Fargo Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Wells Fargo Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\223\346\253\042\003\003\265\043\050\334\332\126\236\272\344\321
+\321\314\373\145
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\040\013\112\172\210\247\251\102\206\212\137\164\126\173\210\005
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\024\060\022\006\003\125\004\012\023\013\127\145\154\154\163
+\040\106\141\162\147\157\061\054\060\052\006\003\125\004\013\023
+\043\127\145\154\154\163\040\106\141\162\147\157\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\061\057\060\055\006\003\125\004\003\023\046\127
+\145\154\154\163\040\106\141\162\147\157\040\122\157\157\164\040
+\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150
+\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\071\344\227\236
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Swisscom Root CA 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Swisscom Root CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061
+\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143
+\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147
+\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145
+\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125
+\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157
+\164\040\103\101\040\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061
+\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143
+\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147
+\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145
+\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125
+\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157
+\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\134\013\205\134\013\347\131\101\337\127\314\077\177\235
+\250\066
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\331\060\202\003\301\240\003\002\001\002\002\020\134
+\013\205\134\013\347\131\101\337\127\314\077\177\235\250\066\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\144
+\061\013\060\011\006\003\125\004\006\023\002\143\150\061\021\060
+\017\006\003\125\004\012\023\010\123\167\151\163\163\143\157\155
+\061\045\060\043\006\003\125\004\013\023\034\104\151\147\151\164
+\141\154\040\103\145\162\164\151\146\151\143\141\164\145\040\123
+\145\162\166\151\143\145\163\061\033\060\031\006\003\125\004\003
+\023\022\123\167\151\163\163\143\157\155\040\122\157\157\164\040
+\103\101\040\061\060\036\027\015\060\065\060\070\061\070\061\062
+\060\066\062\060\132\027\015\062\065\060\070\061\070\062\062\060
+\066\062\060\132\060\144\061\013\060\011\006\003\125\004\006\023
+\002\143\150\061\021\060\017\006\003\125\004\012\023\010\123\167
+\151\163\163\143\157\155\061\045\060\043\006\003\125\004\013\023
+\034\104\151\147\151\164\141\154\040\103\145\162\164\151\146\151
+\143\141\164\145\040\123\145\162\166\151\143\145\163\061\033\060
+\031\006\003\125\004\003\023\022\123\167\151\163\163\143\157\155
+\040\122\157\157\164\040\103\101\040\061\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\320\271\260\250\014
+\331\273\077\041\370\033\325\063\223\200\026\145\040\165\262\075
+\233\140\155\106\310\214\061\157\027\303\372\232\154\126\355\074
+\305\221\127\303\315\253\226\111\220\052\031\113\036\243\155\127
+\335\361\053\142\050\165\105\136\252\326\133\372\013\045\330\241
+\026\371\034\304\056\346\225\052\147\314\320\051\156\074\205\064
+\070\141\111\261\000\237\326\072\161\137\115\155\316\137\271\251
+\344\211\177\152\122\372\312\233\362\334\251\371\235\231\107\077
+\116\051\137\264\246\215\135\173\013\231\021\003\003\376\347\333
+\333\243\377\035\245\315\220\036\001\037\065\260\177\000\333\220
+\157\306\176\173\321\356\172\172\247\252\014\127\157\244\155\305
+\023\073\260\245\331\355\062\034\264\136\147\213\124\334\163\207
+\345\323\027\174\146\120\162\135\324\032\130\301\331\317\330\211
+\002\157\247\111\264\066\135\320\244\336\007\054\266\165\267\050
+\221\326\227\276\050\365\230\036\352\133\046\311\275\260\227\163
+\332\256\221\046\353\150\301\371\071\025\326\147\113\012\155\117
+\313\317\260\344\102\161\214\123\171\347\356\341\333\035\240\156
+\035\214\032\167\065\134\026\036\053\123\037\064\213\321\154\374
+\362\147\007\172\365\255\355\326\232\253\241\261\113\341\314\067
+\137\375\177\315\115\256\270\037\234\103\371\052\130\125\103\105
+\274\226\315\160\016\374\311\343\146\272\116\215\073\201\313\025
+\144\173\271\224\350\135\063\122\205\161\056\117\216\242\006\021
+\121\311\343\313\241\156\061\010\144\014\302\322\074\365\066\350
+\327\320\016\170\043\040\221\311\044\052\145\051\133\042\367\041
+\316\203\136\244\363\336\113\323\150\217\106\165\134\203\011\156
+\051\153\304\160\214\365\235\327\040\057\377\106\322\053\070\302
+\057\165\034\075\176\332\245\357\036\140\205\151\102\323\314\370
+\143\376\036\103\071\205\246\266\143\101\020\263\163\036\274\323
+\372\312\175\026\107\342\247\325\320\243\212\012\010\226\142\126
+\156\064\333\331\002\271\060\165\343\004\322\347\217\302\260\021
+\100\012\254\325\161\002\142\213\061\276\335\306\043\130\061\102
+\103\055\164\371\306\236\246\212\017\351\376\277\203\346\103\127
+\044\272\357\106\064\252\327\022\001\070\355\002\003\001\000\001
+\243\201\206\060\201\203\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\035\006\003\125\035\041\004\026\060
+\024\060\022\006\007\140\205\164\001\123\000\001\006\007\140\205
+\164\001\123\000\001\060\022\006\003\125\035\023\001\001\377\004
+\010\060\006\001\001\377\002\001\007\060\037\006\003\125\035\043
+\004\030\060\026\200\024\003\045\057\336\157\202\001\072\134\054
+\334\053\241\151\265\147\324\214\323\375\060\035\006\003\125\035
+\016\004\026\004\024\003\045\057\336\157\202\001\072\134\054\334
+\053\241\151\265\147\324\214\323\375\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\002\001\000\065\020\313
+\354\246\004\015\015\017\315\300\333\253\250\362\210\227\014\337
+\223\057\115\174\100\126\061\172\353\244\017\140\315\172\363\276
+\303\047\216\003\076\244\335\022\357\176\036\164\006\074\077\061
+\362\034\173\221\061\041\264\360\320\154\227\324\351\227\262\044
+\126\036\126\303\065\275\210\005\017\133\020\032\144\341\307\202
+\060\371\062\255\236\120\054\347\170\005\320\061\261\132\230\212
+\165\116\220\134\152\024\052\340\122\107\202\140\346\036\332\201
+\261\373\024\013\132\361\237\322\225\272\076\320\033\326\025\035
+\243\276\206\325\333\017\300\111\144\273\056\120\031\113\322\044
+\370\335\036\007\126\320\070\240\225\160\040\166\214\327\335\036
+\336\237\161\304\043\357\203\023\134\243\044\025\115\051\100\074
+\152\304\251\330\267\246\104\245\015\364\340\235\167\036\100\160
+\046\374\332\331\066\344\171\344\265\077\274\233\145\276\273\021
+\226\317\333\306\050\071\072\010\316\107\133\123\132\305\231\376
+\135\251\335\357\114\324\306\245\255\002\346\214\007\022\036\157
+\003\321\157\240\243\363\051\275\022\307\120\242\260\177\210\251
+\231\167\232\261\300\245\071\056\134\174\151\342\054\260\352\067
+\152\244\341\132\341\365\120\345\203\357\245\273\052\210\347\214
+\333\375\155\136\227\031\250\176\146\165\153\161\352\277\261\307
+\157\240\364\216\244\354\064\121\133\214\046\003\160\241\167\325
+\001\022\127\000\065\333\043\336\016\212\050\231\375\261\020\157
+\113\377\070\055\140\116\054\234\353\147\265\255\111\356\113\037
+\254\257\373\015\220\132\146\140\160\135\252\315\170\324\044\356
+\310\101\240\223\001\222\234\152\236\374\271\044\305\263\025\202
+\176\276\256\225\053\353\261\300\332\343\001\140\013\136\151\254
+\204\126\141\276\161\027\376\035\023\017\376\306\207\105\351\376
+\062\240\032\015\023\244\224\125\161\245\026\213\272\312\211\260
+\262\307\374\217\330\124\265\223\142\235\316\317\131\373\075\030
+\316\052\313\065\025\202\135\377\124\042\133\161\122\373\267\311
+\376\140\233\000\101\144\360\252\052\354\266\102\103\316\211\146
+\201\310\213\237\071\124\003\045\323\026\065\216\204\320\137\372
+\060\032\365\232\154\364\016\123\371\072\133\321\034
+END
+
+# Trust for Certificate "Swisscom Root CA 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Swisscom Root CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\137\072\374\012\213\144\366\206\147\064\164\337\176\251\242\376
+\371\372\172\121
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\370\070\174\167\210\337\054\026\150\056\302\342\122\113\270\371
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061
+\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143
+\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147
+\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145
+\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125
+\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157
+\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\134\013\205\134\013\347\131\101\337\127\314\077\177\235
+\250\066
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "DigiCert Assured ID Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Assured ID Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360
+\060\071
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\267\060\202\002\237\240\003\002\001\002\002\020\014
+\347\340\345\027\330\106\376\217\345\140\374\033\360\060\071\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\145
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
+\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
+\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
+\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
+\044\060\042\006\003\125\004\003\023\033\104\151\147\151\103\145
+\162\164\040\101\163\163\165\162\145\144\040\111\104\040\122\157
+\157\164\040\103\101\060\036\027\015\060\066\061\061\061\060\060
+\060\060\060\060\060\132\027\015\063\061\061\061\061\060\060\060
+\060\060\060\060\132\060\145\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\025\060\023\006\003\125\004\012\023\014\104
+\151\147\151\103\145\162\164\040\111\156\143\061\031\060\027\006
+\003\125\004\013\023\020\167\167\167\056\144\151\147\151\143\145
+\162\164\056\143\157\155\061\044\060\042\006\003\125\004\003\023
+\033\104\151\147\151\103\145\162\164\040\101\163\163\165\162\145
+\144\040\111\104\040\122\157\157\164\040\103\101\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\255\016\025
+\316\344\103\200\134\261\207\363\267\140\371\161\022\245\256\334
+\046\224\210\252\364\316\365\040\071\050\130\140\014\370\200\332
+\251\025\225\062\141\074\265\261\050\204\212\212\334\237\012\014
+\203\027\172\217\220\254\212\347\171\123\134\061\204\052\366\017
+\230\062\066\166\314\336\335\074\250\242\357\152\373\041\362\122
+\141\337\237\040\327\037\342\261\331\376\030\144\322\022\133\137
+\371\130\030\065\274\107\315\241\066\371\153\177\324\260\070\076
+\301\033\303\214\063\331\330\057\030\376\050\017\263\247\203\326
+\303\156\104\300\141\065\226\026\376\131\234\213\166\155\327\361
+\242\113\015\053\377\013\162\332\236\140\320\216\220\065\306\170
+\125\207\040\241\317\345\155\012\310\111\174\061\230\063\154\042
+\351\207\320\062\132\242\272\023\202\021\355\071\027\235\231\072
+\162\241\346\372\244\331\325\027\061\165\256\205\175\042\256\077
+\001\106\206\366\050\171\310\261\332\344\127\027\304\176\034\016
+\260\264\222\246\126\263\275\262\227\355\252\247\360\267\305\250
+\077\225\026\320\377\241\226\353\010\137\030\167\117\002\003\001
+\000\001\243\143\060\141\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\105\353\242\257\364\222\313\202\061\055\121\213\247\247
+\041\235\363\155\310\017\060\037\006\003\125\035\043\004\030\060
+\026\200\024\105\353\242\257\364\222\313\202\061\055\121\213\247
+\247\041\235\363\155\310\017\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\003\202\001\001\000\242\016\274\337\342
+\355\360\343\162\163\172\144\224\277\367\162\146\330\062\344\102
+\165\142\256\207\353\362\325\331\336\126\263\237\314\316\024\050
+\271\015\227\140\134\022\114\130\344\323\075\203\111\105\130\227
+\065\151\032\250\107\352\126\306\171\253\022\330\147\201\204\337
+\177\011\074\224\346\270\046\054\040\275\075\263\050\211\367\137
+\377\042\342\227\204\037\351\145\357\207\340\337\301\147\111\263
+\135\353\262\011\052\353\046\355\170\276\175\077\053\363\267\046
+\065\155\137\211\001\266\111\133\237\001\005\233\253\075\045\301
+\314\266\177\302\361\157\206\306\372\144\150\353\201\055\224\353
+\102\267\372\214\036\335\142\361\276\120\147\267\154\275\363\361
+\037\153\014\066\007\026\177\067\174\251\133\155\172\361\022\106
+\140\203\327\047\004\276\113\316\227\276\303\147\052\150\021\337
+\200\347\014\063\146\277\023\015\024\156\363\177\037\143\020\036
+\372\215\033\045\155\154\217\245\267\141\001\261\322\243\046\241
+\020\161\235\255\342\303\371\303\231\121\267\053\007\010\316\056
+\346\120\262\247\372\012\105\057\242\360\362
+END
+
+# Trust for Certificate "DigiCert Assured ID Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Assured ID Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\005\143\270\143\015\142\327\132\273\310\253\036\113\337\265\250
+\231\262\115\103
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\207\316\013\173\052\016\111\000\341\130\161\233\067\250\223\162
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360
+\060\071
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "DigiCert Global Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Global Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\010\073\340\126\220\102\106\261\241\165\152\311\131\221
+\307\112
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\257\060\202\002\227\240\003\002\001\002\002\020\010
+\073\340\126\220\102\106\261\241\165\152\311\131\221\307\112\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\141
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
+\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
+\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
+\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
+\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145
+\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\103
+\101\060\036\027\015\060\066\061\061\061\060\060\060\060\060\060
+\060\132\027\015\063\061\061\061\061\060\060\060\060\060\060\060
+\132\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103
+\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013
+\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143
+\157\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147
+\151\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157
+\164\040\103\101\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\342\073\341\021\162\336\250\244\323\243\127
+\252\120\242\217\013\167\220\311\242\245\356\022\316\226\133\001
+\011\040\314\001\223\247\116\060\267\123\367\103\304\151\000\127
+\235\342\215\042\335\207\006\100\000\201\011\316\316\033\203\277
+\337\315\073\161\106\342\326\146\307\005\263\166\047\026\217\173
+\236\036\225\175\356\267\110\243\010\332\326\257\172\014\071\006
+\145\177\112\135\037\274\027\370\253\276\356\050\327\164\177\172
+\170\231\131\205\150\156\134\043\062\113\277\116\300\350\132\155
+\343\160\277\167\020\277\374\001\366\205\331\250\104\020\130\062
+\251\165\030\325\321\242\276\107\342\047\152\364\232\063\370\111
+\010\140\213\324\137\264\072\204\277\241\252\112\114\175\076\317
+\117\137\154\166\136\240\113\067\221\236\334\042\346\155\316\024
+\032\216\152\313\376\315\263\024\144\027\307\133\051\236\062\277
+\362\356\372\323\013\102\324\253\267\101\062\332\014\324\357\370
+\201\325\273\215\130\077\265\033\350\111\050\242\160\332\061\004
+\335\367\262\026\362\114\012\116\007\250\355\112\075\136\265\177
+\243\220\303\257\047\002\003\001\000\001\243\143\060\141\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\035\006\003\125\035\016\004\026\004\024\003\336\120\065\126\321
+\114\273\146\360\243\342\033\033\303\227\262\075\321\125\060\037
+\006\003\125\035\043\004\030\060\026\200\024\003\336\120\065\126
+\321\114\273\146\360\243\342\033\033\303\227\262\075\321\125\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\313\234\067\252\110\023\022\012\372\335\104\234\117
+\122\260\364\337\256\004\365\171\171\010\243\044\030\374\113\053
+\204\300\055\271\325\307\376\364\301\037\130\313\270\155\234\172
+\164\347\230\051\253\021\265\343\160\240\241\315\114\210\231\223
+\214\221\160\342\253\017\034\276\223\251\377\143\325\344\007\140
+\323\243\277\235\133\011\361\325\216\343\123\364\216\143\372\077
+\247\333\264\146\337\142\146\326\321\156\101\215\362\055\265\352
+\167\112\237\235\130\342\053\131\300\100\043\355\055\050\202\105
+\076\171\124\222\046\230\340\200\110\250\067\357\360\326\171\140
+\026\336\254\350\016\315\156\254\104\027\070\057\111\332\341\105
+\076\052\271\066\123\317\072\120\006\367\056\350\304\127\111\154
+\141\041\030\325\004\255\170\074\054\072\200\153\247\353\257\025
+\024\351\330\211\301\271\070\154\342\221\154\212\377\144\271\167
+\045\127\060\300\033\044\243\341\334\351\337\107\174\265\264\044
+\010\005\060\354\055\275\013\277\105\277\120\271\251\363\353\230
+\001\022\255\310\210\306\230\064\137\215\012\074\306\351\325\225
+\225\155\336
+END
+
+# Trust for Certificate "DigiCert Global Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Global Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\250\230\135\072\145\345\345\304\262\327\326\155\100\306\335\057
+\261\234\124\066
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\171\344\251\204\015\175\072\226\327\300\117\342\103\114\211\056
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\010\073\340\126\220\102\106\261\241\165\152\311\131\221
+\307\112
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "DigiCert High Assurance EV Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert High Assurance EV Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151
+\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141
+\156\143\145\040\105\126\040\122\157\157\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151
+\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141
+\156\143\145\040\105\126\040\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\002\254\134\046\152\013\100\233\217\013\171\362\256\106
+\045\167
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\305\060\202\002\255\240\003\002\001\002\002\020\002
+\254\134\046\152\013\100\233\217\013\171\362\256\106\045\167\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\154
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
+\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
+\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
+\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
+\053\060\051\006\003\125\004\003\023\042\104\151\147\151\103\145
+\162\164\040\110\151\147\150\040\101\163\163\165\162\141\156\143
+\145\040\105\126\040\122\157\157\164\040\103\101\060\036\027\015
+\060\066\061\061\061\060\060\060\060\060\060\060\132\027\015\063
+\061\061\061\061\060\060\060\060\060\060\060\132\060\154\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006
+\003\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111
+\156\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167
+\056\144\151\147\151\143\145\162\164\056\143\157\155\061\053\060
+\051\006\003\125\004\003\023\042\104\151\147\151\103\145\162\164
+\040\110\151\147\150\040\101\163\163\165\162\141\156\143\145\040
+\105\126\040\122\157\157\164\040\103\101\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\306\314\345\163\346
+\373\324\273\345\055\055\062\246\337\345\201\077\311\315\045\111
+\266\161\052\303\325\224\064\147\242\012\034\260\137\151\246\100
+\261\304\267\262\217\320\230\244\251\101\131\072\323\334\224\326
+\074\333\164\070\244\112\314\115\045\202\367\112\245\123\022\070
+\356\363\111\155\161\221\176\143\266\253\246\137\303\244\204\370
+\117\142\121\276\370\305\354\333\070\222\343\006\345\010\221\014
+\304\050\101\125\373\313\132\211\025\176\161\350\065\277\115\162
+\011\075\276\072\070\120\133\167\061\033\215\263\307\044\105\232
+\247\254\155\000\024\132\004\267\272\023\353\121\012\230\101\101
+\042\116\145\141\207\201\101\120\246\171\134\211\336\031\112\127
+\325\056\346\135\034\123\054\176\230\315\032\006\026\244\150\163
+\320\064\004\023\134\241\161\323\132\174\125\333\136\144\341\067
+\207\060\126\004\345\021\264\051\200\022\361\171\071\210\242\002
+\021\174\047\146\267\210\267\170\362\312\012\250\070\253\012\144
+\302\277\146\135\225\204\301\241\045\036\207\135\032\120\013\040
+\022\314\101\273\156\013\121\070\270\113\313\002\003\001\000\001
+\243\143\060\141\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024
+\261\076\303\151\003\370\277\107\001\324\230\046\032\010\002\357
+\143\144\053\303\060\037\006\003\125\035\043\004\030\060\026\200
+\024\261\076\303\151\003\370\277\107\001\324\230\046\032\010\002
+\357\143\144\053\303\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\003\202\001\001\000\034\032\006\227\334\327\234
+\237\074\210\146\006\010\127\041\333\041\107\370\052\147\252\277
+\030\062\166\100\020\127\301\212\363\172\331\021\145\216\065\372
+\236\374\105\265\236\331\114\061\113\270\221\350\103\054\216\263
+\170\316\333\343\123\171\161\326\345\041\224\001\332\125\207\232
+\044\144\366\212\146\314\336\234\067\315\250\064\261\151\233\043
+\310\236\170\042\053\160\103\343\125\107\061\141\031\357\130\305
+\205\057\116\060\366\240\061\026\043\310\347\342\145\026\063\313
+\277\032\033\240\075\370\312\136\213\061\213\140\010\211\055\014
+\006\134\122\267\304\371\012\230\321\025\137\237\022\276\174\066
+\143\070\275\104\244\177\344\046\053\012\304\227\151\015\351\214
+\342\300\020\127\270\310\166\022\221\125\362\110\151\330\274\052
+\002\133\017\104\324\040\061\333\364\272\160\046\135\220\140\236
+\274\113\027\011\057\264\313\036\103\150\311\007\047\301\322\134
+\367\352\041\271\150\022\234\074\234\277\236\374\200\134\233\143
+\315\354\107\252\045\047\147\240\067\363\000\202\175\124\327\251
+\370\351\056\023\243\167\350\037\112
+END
+
+# Trust for Certificate "DigiCert High Assurance EV Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert High Assurance EV Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\137\267\356\006\063\342\131\333\255\014\114\232\346\323\217\032
+\141\307\334\045
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\324\164\336\127\134\071\262\323\234\205\203\305\300\145\111\212
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151
+\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141
+\156\143\145\040\105\126\040\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\002\254\134\046\152\013\100\233\217\013\171\362\256\106
+\045\167
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Certplus Class 2 Primary CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certplus Class 2 Primary CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154
+\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141
+\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154
+\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141
+\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\205\275\113\363\330\332\343\151\366\224\327\137\303
+\245\104\043
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\222\060\202\002\172\240\003\002\001\002\002\021\000
+\205\275\113\363\330\332\343\151\366\224\327\137\303\245\104\043
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061\021
+\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154\165
+\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141\163
+\163\040\062\040\120\162\151\155\141\162\171\040\103\101\060\036
+\027\015\071\071\060\067\060\067\061\067\060\065\060\060\132\027
+\015\061\071\060\067\060\066\062\063\065\071\065\071\132\060\075
+\061\013\060\011\006\003\125\004\006\023\002\106\122\061\021\060
+\017\006\003\125\004\012\023\010\103\145\162\164\160\154\165\163
+\061\033\060\031\006\003\125\004\003\023\022\103\154\141\163\163
+\040\062\040\120\162\151\155\141\162\171\040\103\101\060\202\001
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\001\017\000\060\202\001\012\002\202\001\001\000\334\120
+\226\320\022\370\065\322\010\170\172\266\122\160\375\157\356\317
+\271\021\313\135\167\341\354\351\176\004\215\326\314\157\163\103
+\127\140\254\063\012\104\354\003\137\034\200\044\221\345\250\221
+\126\022\202\367\340\053\364\333\256\141\056\211\020\215\153\154
+\272\263\002\275\325\066\305\110\067\043\342\360\132\067\122\063
+\027\022\342\321\140\115\276\057\101\021\343\366\027\045\014\213
+\221\300\033\231\173\231\126\015\257\356\322\274\107\127\343\171
+\111\173\064\211\047\044\204\336\261\354\351\130\116\376\116\337
+\132\276\101\255\254\010\305\030\016\357\322\123\356\154\320\235
+\022\001\023\215\334\200\142\367\225\251\104\210\112\161\116\140
+\125\236\333\043\031\171\126\007\014\077\143\013\134\260\342\276
+\176\025\374\224\063\130\101\070\164\304\341\217\213\337\046\254
+\037\265\213\073\267\103\131\153\260\044\246\155\220\213\304\162
+\352\135\063\230\267\313\336\136\173\357\224\361\033\076\312\311
+\041\301\305\230\002\252\242\366\133\167\233\365\176\226\125\064
+\034\147\151\300\361\102\343\107\254\374\050\034\146\125\002\003
+\001\000\001\243\201\214\060\201\211\060\017\006\003\125\035\023
+\004\010\060\006\001\001\377\002\001\012\060\013\006\003\125\035
+\017\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026
+\004\024\343\163\055\337\313\016\050\014\336\335\263\244\312\171
+\270\216\273\350\060\211\060\021\006\011\140\206\110\001\206\370
+\102\001\001\004\004\003\002\001\006\060\067\006\003\125\035\037
+\004\060\060\056\060\054\240\052\240\050\206\046\150\164\164\160
+\072\057\057\167\167\167\056\143\145\162\164\160\154\165\163\056
+\143\157\155\057\103\122\114\057\143\154\141\163\163\062\056\143
+\162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\202\001\001\000\247\124\317\210\104\031\313\337\324\177
+\000\337\126\063\142\265\367\121\001\220\353\303\077\321\210\104
+\351\044\135\357\347\024\275\040\267\232\074\000\376\155\237\333
+\220\334\327\364\142\326\213\160\135\347\345\004\110\251\150\174
+\311\361\102\363\154\177\305\172\174\035\121\210\272\322\012\076
+\047\135\336\055\121\116\323\023\144\151\344\056\343\323\347\233
+\011\231\246\340\225\233\316\032\327\177\276\074\316\122\263\021
+\025\301\017\027\315\003\273\234\045\025\272\242\166\211\374\006
+\361\030\320\223\113\016\174\202\267\245\364\366\137\376\355\100
+\246\235\204\164\071\271\334\036\205\026\332\051\033\206\043\000
+\311\273\211\176\156\200\210\036\057\024\264\003\044\250\062\157
+\003\232\107\054\060\276\126\306\247\102\002\160\033\352\100\330
+\272\005\003\160\007\244\226\377\375\110\063\012\341\334\245\201
+\220\233\115\335\175\347\347\262\315\134\310\152\225\370\245\366
+\215\304\135\170\010\276\173\006\326\111\317\031\066\120\043\056
+\010\346\236\005\115\107\030\325\026\351\261\326\266\020\325\273
+\227\277\242\216\264\124
+END
+
+# Trust for Certificate "Certplus Class 2 Primary CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certplus Class 2 Primary CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\164\040\164\101\162\234\335\222\354\171\061\330\043\020\215\302
+\201\222\342\273
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\210\054\214\122\270\242\074\363\367\273\003\352\256\254\102\013
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154
+\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141
+\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\205\275\113\363\330\332\343\151\366\224\327\137\303
+\245\104\043
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "DST Root CA X3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DST Root CA X3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147
+\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124
+\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004
+\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130
+\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147
+\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124
+\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004
+\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130
+\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370
+\100\153
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\112\060\202\002\062\240\003\002\001\002\002\020\104
+\257\260\200\326\243\047\272\211\060\071\206\056\370\100\153\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077
+\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164
+\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165
+\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003\023
+\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063\060
+\036\027\015\060\060\060\071\063\060\062\061\061\062\061\071\132
+\027\015\062\061\060\071\063\060\061\064\060\061\061\065\132\060
+\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151
+\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162
+\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003
+\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063
+\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
+\000\337\257\351\227\120\010\203\127\264\314\142\145\366\220\202
+\354\307\323\054\153\060\312\133\354\331\303\175\307\100\301\030
+\024\213\340\350\063\166\111\052\343\077\041\111\223\254\116\016
+\257\076\110\313\145\356\374\323\041\017\145\322\052\331\062\217
+\214\345\367\167\260\022\173\265\225\300\211\243\251\272\355\163
+\056\172\014\006\062\203\242\176\212\024\060\315\021\240\341\052
+\070\271\171\012\061\375\120\275\200\145\337\267\121\143\203\310
+\342\210\141\352\113\141\201\354\122\153\271\242\342\113\032\050
+\237\110\243\236\014\332\011\216\076\027\056\036\335\040\337\133
+\306\052\212\253\056\275\160\255\305\013\032\045\220\164\162\305
+\173\152\253\064\326\060\211\377\345\150\023\173\124\013\310\326
+\256\354\132\234\222\036\075\144\263\214\306\337\277\311\101\160
+\354\026\162\325\046\354\070\125\071\103\320\374\375\030\134\100
+\361\227\353\325\232\233\215\035\272\332\045\271\306\330\337\301
+\025\002\072\253\332\156\361\076\056\365\134\010\234\074\326\203
+\151\344\020\233\031\052\266\051\127\343\345\075\233\237\360\002
+\135\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\304\247\261\244\173\054\161\372\333\341
+\113\220\165\377\304\025\140\205\211\020\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\243\032
+\054\233\027\000\134\251\036\356\050\146\067\072\277\203\307\077
+\113\303\011\240\225\040\135\343\331\131\104\322\076\015\076\275
+\212\113\240\164\037\316\020\202\234\164\032\035\176\230\032\335
+\313\023\113\263\040\104\344\221\351\314\374\175\245\333\152\345
+\376\346\375\340\116\335\267\000\072\265\160\111\257\362\345\353
+\002\361\321\002\213\031\313\224\072\136\110\304\030\036\130\031
+\137\036\002\132\360\014\361\261\255\251\334\131\206\213\156\351
+\221\365\206\312\372\271\146\063\252\131\133\316\342\247\026\163
+\107\313\053\314\231\260\067\110\317\343\126\113\365\317\017\014
+\162\062\207\306\360\104\273\123\162\155\103\365\046\110\232\122
+\147\267\130\253\376\147\166\161\170\333\015\242\126\024\023\071
+\044\061\205\242\250\002\132\060\107\341\335\120\007\274\002\011
+\220\000\353\144\143\140\233\026\274\210\311\022\346\322\175\221
+\213\371\075\062\215\145\264\351\174\261\127\166\352\305\266\050
+\071\277\025\145\034\310\366\167\226\152\012\215\167\013\330\221
+\013\004\216\007\333\051\266\012\356\235\202\065\065\020
+END
+
+# Trust for Certificate "DST Root CA X3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DST Root CA X3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\332\311\002\117\124\330\366\337\224\223\137\261\163\046\070\312
+\152\327\174\023
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\101\003\122\334\017\367\120\033\026\360\002\216\272\157\105\305
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147
+\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124
+\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004
+\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130
+\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370
+\100\153
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "DST ACES CA X6"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DST ACES CA X6"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\133\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\061\021\060\017\006\003\125\004\013\023\010\104\123\124\040
+\101\103\105\123\061\027\060\025\006\003\125\004\003\023\016\104
+\123\124\040\101\103\105\123\040\103\101\040\130\066
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\133\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\061\021\060\017\006\003\125\004\013\023\010\104\123\124\040
+\101\103\105\123\061\027\060\025\006\003\125\004\003\023\016\104
+\123\124\040\101\103\105\123\040\103\101\040\130\066
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\015\136\231\012\326\235\267\170\354\330\007\126\073\206
+\025\331
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\011\060\202\002\361\240\003\002\001\002\002\020\015
+\136\231\012\326\235\267\170\354\330\007\126\073\206\025\331\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\133
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060
+\036\006\003\125\004\012\023\027\104\151\147\151\164\141\154\040
+\123\151\147\156\141\164\165\162\145\040\124\162\165\163\164\061
+\021\060\017\006\003\125\004\013\023\010\104\123\124\040\101\103
+\105\123\061\027\060\025\006\003\125\004\003\023\016\104\123\124
+\040\101\103\105\123\040\103\101\040\130\066\060\036\027\015\060
+\063\061\061\062\060\062\061\061\071\065\070\132\027\015\061\067
+\061\061\062\060\062\061\061\071\065\070\132\060\133\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\040\060\036\006\003
+\125\004\012\023\027\104\151\147\151\164\141\154\040\123\151\147
+\156\141\164\165\162\145\040\124\162\165\163\164\061\021\060\017
+\006\003\125\004\013\023\010\104\123\124\040\101\103\105\123\061
+\027\060\025\006\003\125\004\003\023\016\104\123\124\040\101\103
+\105\123\040\103\101\040\130\066\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\271\075\365\054\311\224\334
+\165\212\225\135\143\350\204\167\166\146\271\131\221\134\106\335
+\222\076\237\371\016\003\264\075\141\222\275\043\046\265\143\356
+\222\322\236\326\074\310\015\220\137\144\201\261\250\010\015\114
+\330\371\323\005\050\122\264\001\045\305\225\034\014\176\076\020
+\204\165\317\301\031\221\143\317\350\250\221\210\271\103\122\273
+\200\261\125\211\213\061\372\320\267\166\276\101\075\060\232\244
+\042\045\027\163\350\036\342\323\254\052\275\133\070\041\325\052
+\113\327\125\175\343\072\125\275\327\155\153\002\127\153\346\107
+\174\010\310\202\272\336\247\207\075\241\155\270\060\126\302\263
+\002\201\137\055\365\342\232\060\030\050\270\146\323\313\001\226
+\157\352\212\105\125\326\340\235\377\147\053\027\002\246\116\032
+\152\021\013\176\267\173\347\230\326\214\166\157\301\073\333\120
+\223\176\345\320\216\037\067\270\275\272\306\237\154\351\174\063
+\362\062\074\046\107\372\047\044\002\311\176\035\133\210\102\023
+\152\065\174\175\065\351\056\146\221\162\223\325\062\046\304\164
+\365\123\243\263\135\232\366\011\313\002\003\001\000\001\243\201
+\310\060\201\305\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\306\060\037\006\003\125\035\021\004\030\060\026
+\201\024\160\153\151\055\157\160\163\100\164\162\165\163\164\144
+\163\164\056\143\157\155\060\142\006\003\125\035\040\004\133\060
+\131\060\127\006\012\140\206\110\001\145\003\002\001\001\001\060
+\111\060\107\006\010\053\006\001\005\005\007\002\001\026\073\150
+\164\164\160\072\057\057\167\167\167\056\164\162\165\163\164\144
+\163\164\056\143\157\155\057\143\145\162\164\151\146\151\143\141
+\164\145\163\057\160\157\154\151\143\171\057\101\103\105\123\055
+\151\156\144\145\170\056\150\164\155\154\060\035\006\003\125\035
+\016\004\026\004\024\011\162\006\116\030\103\017\345\326\314\303
+\152\213\061\173\170\217\250\203\270\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\001\001\000\243\330\216
+\326\262\333\316\005\347\062\315\001\323\004\003\345\166\344\126
+\053\234\231\220\350\010\060\154\337\175\075\356\345\277\265\044
+\100\204\111\341\321\050\256\304\302\072\123\060\210\361\365\167
+\156\121\312\372\377\231\257\044\137\033\240\375\362\254\204\312
+\337\251\360\137\004\056\255\026\277\041\227\020\201\075\343\377
+\207\215\062\334\224\345\107\212\136\152\023\311\224\225\075\322
+\356\310\064\225\320\200\324\255\062\010\200\124\074\340\275\122
+\123\327\122\174\262\151\077\177\172\317\152\164\312\372\004\052
+\234\114\132\006\245\351\040\255\105\146\017\151\361\335\277\351
+\343\062\213\372\340\301\206\115\162\074\056\330\223\170\012\052
+\370\330\322\047\075\031\211\137\132\173\212\073\314\014\332\121
+\256\307\013\367\053\260\067\005\354\274\127\043\342\070\322\233
+\150\363\126\022\210\117\102\174\270\061\304\265\333\344\310\041
+\064\351\110\021\065\356\372\307\222\127\305\237\064\344\307\366
+\367\016\013\114\234\150\170\173\161\061\307\353\036\340\147\101
+\363\267\240\247\315\345\172\063\066\152\372\232\053
+END
+
+# Trust for Certificate "DST ACES CA X6"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DST ACES CA X6"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\100\124\332\157\034\077\100\164\254\355\017\354\315\333\171\321
+\123\373\220\035
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\041\330\114\202\053\231\011\063\242\353\024\044\215\216\137\350
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\133\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\104\151\147\151\164\141
+\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163
+\164\061\021\060\017\006\003\125\004\013\023\010\104\123\124\040
+\101\103\105\123\061\027\060\025\006\003\125\004\003\023\016\104
+\123\124\040\101\103\105\123\040\103\101\040\130\066
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\015\136\231\012\326\235\267\170\354\330\007\126\073\206
+\025\331
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TURKTRUST Certificate Services Provider Root 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TURKTRUST Certificate Services Provider Root 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303
+\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
+\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
+\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
+\261\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124
+\122\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101
+\122\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051
+\040\062\060\060\065\040\124\303\234\122\113\124\122\125\123\124
+\040\102\151\154\147\151\040\304\260\154\145\164\151\305\237\151
+\155\040\166\145\040\102\151\154\151\305\237\151\155\040\107\303
+\274\166\145\156\154\151\304\237\151\040\110\151\172\155\145\164
+\154\145\162\151\040\101\056\305\236\056
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303
+\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
+\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
+\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
+\261\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124
+\122\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101
+\122\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051
+\040\062\060\060\065\040\124\303\234\122\113\124\122\125\123\124
+\040\102\151\154\147\151\040\304\260\154\145\164\151\305\237\151
+\155\040\166\145\040\102\151\154\151\305\237\151\155\040\107\303
+\274\166\145\156\154\151\304\237\151\040\110\151\172\155\145\164
+\154\145\162\151\040\101\056\305\236\056
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\373\060\202\002\343\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303\234
+\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157\156
+\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172
+\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261
+\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124\122
+\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101\122
+\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051\040
+\062\060\060\065\040\124\303\234\122\113\124\122\125\123\124\040
+\102\151\154\147\151\040\304\260\154\145\164\151\305\237\151\155
+\040\166\145\040\102\151\154\151\305\237\151\155\040\107\303\274
+\166\145\156\154\151\304\237\151\040\110\151\172\155\145\164\154
+\145\162\151\040\101\056\305\236\056\060\036\027\015\060\065\060
+\065\061\063\061\060\062\067\061\067\132\027\015\061\065\060\063
+\062\062\061\060\062\067\061\067\132\060\201\267\061\077\060\075
+\006\003\125\004\003\014\066\124\303\234\122\113\124\122\125\123
+\124\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162
+\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141
+\304\237\154\141\171\304\261\143\304\261\163\304\261\061\013\060
+\011\006\003\125\004\006\014\002\124\122\061\017\060\015\006\003
+\125\004\007\014\006\101\116\113\101\122\101\061\126\060\124\006
+\003\125\004\012\014\115\050\143\051\040\062\060\060\065\040\124
+\303\234\122\113\124\122\125\123\124\040\102\151\154\147\151\040
+\304\260\154\145\164\151\305\237\151\155\040\166\145\040\102\151
+\154\151\305\237\151\155\040\107\303\274\166\145\156\154\151\304
+\237\151\040\110\151\172\155\145\164\154\145\162\151\040\101\056
+\305\236\056\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\312\122\005\326\143\003\330\034\137\335\322\173
+\135\362\014\140\141\133\153\073\164\053\170\015\175\105\275\042
+\164\350\214\003\301\306\021\052\075\225\274\251\224\260\273\221
+\227\310\151\174\204\305\264\221\154\154\023\152\244\125\255\244
+\205\350\225\176\263\000\257\000\302\005\030\365\160\235\066\213
+\256\313\344\033\201\177\223\210\373\152\125\273\175\205\222\316
+\272\130\237\333\062\305\275\135\357\042\112\057\101\007\176\111
+\141\263\206\354\116\246\101\156\204\274\003\354\365\073\034\310
+\037\302\356\250\356\352\022\112\215\024\317\363\012\340\120\071
+\371\010\065\370\021\131\255\347\042\352\113\312\024\006\336\102
+\272\262\231\363\055\124\210\020\006\352\341\032\076\075\147\037
+\373\316\373\174\202\350\021\135\112\301\271\024\352\124\331\146
+\233\174\211\175\004\232\142\311\351\122\074\236\234\357\322\365
+\046\344\346\345\030\174\213\156\337\154\314\170\133\117\162\262
+\313\134\077\214\005\215\321\114\214\255\222\307\341\170\177\145
+\154\111\006\120\054\236\062\302\327\112\306\165\212\131\116\165
+\157\107\136\301\002\003\001\000\001\243\020\060\016\060\014\006
+\003\125\035\023\004\005\060\003\001\001\377\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\025
+\365\125\377\067\226\200\131\041\244\374\241\025\114\040\366\324
+\137\332\003\044\374\317\220\032\364\041\012\232\356\072\261\152
+\357\357\370\140\321\114\066\146\105\035\363\146\002\164\004\173
+\222\060\250\336\012\166\017\357\225\156\275\311\067\346\032\015
+\254\211\110\133\314\203\066\302\365\106\134\131\202\126\264\325
+\376\043\264\330\124\034\104\253\304\247\345\024\316\074\101\141
+\174\103\346\315\304\201\011\213\044\373\124\045\326\026\250\226
+\014\147\007\157\263\120\107\343\034\044\050\335\052\230\244\141
+\376\333\352\022\067\274\001\032\064\205\275\156\117\347\221\162
+\007\104\205\036\130\312\124\104\335\367\254\271\313\211\041\162
+\333\217\300\151\051\227\052\243\256\030\043\227\034\101\052\213
+\174\052\301\174\220\350\251\050\300\323\221\306\255\050\207\100
+\150\265\377\354\247\322\323\070\030\234\323\175\151\135\360\306
+\245\036\044\033\243\107\374\151\007\150\347\344\232\264\355\017
+\241\207\207\002\316\207\322\110\116\341\274\377\313\361\162\222
+\104\144\003\045\352\336\133\156\237\311\362\116\254\335\307
+END
+
+# Trust for Certificate "TURKTRUST Certificate Services Provider Root 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TURKTRUST Certificate Services Provider Root 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\171\230\243\010\341\115\145\205\346\302\036\025\072\161\237\272
+\132\323\112\331
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\361\152\042\030\311\315\337\316\202\035\035\267\170\134\251\245
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303
+\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
+\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
+\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
+\261\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124
+\122\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101
+\122\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051
+\040\062\060\060\065\040\124\303\234\122\113\124\122\125\123\124
+\040\102\151\154\147\151\040\304\260\154\145\164\151\305\237\151
+\155\040\166\145\040\102\151\154\151\305\237\151\155\040\107\303
+\274\166\145\156\154\151\304\237\151\040\110\151\172\155\145\164
+\154\145\162\151\040\101\056\305\236\056
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TURKTRUST Certificate Services Provider Root 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TURKTRUST Certificate Services Provider Root 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303
+\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
+\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
+\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
+\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124
+\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141
+\162\141\061\135\060\133\006\003\125\004\012\014\124\124\303\234
+\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260
+\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151
+\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151
+\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236
+\056\040\050\143\051\040\113\141\163\304\261\155\040\062\060\060
+\065
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303
+\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
+\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
+\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
+\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124
+\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141
+\162\141\061\135\060\133\006\003\125\004\012\014\124\124\303\234
+\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260
+\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151
+\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151
+\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236
+\056\040\050\143\051\040\113\141\163\304\261\155\040\062\060\060
+\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\074\060\202\003\044\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303\234
+\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157\156
+\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172
+\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261
+\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124\122
+\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162
+\141\061\135\060\133\006\003\125\004\012\014\124\124\303\234\122
+\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260\154
+\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151\305
+\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151\040
+\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236\056
+\040\050\143\051\040\113\141\163\304\261\155\040\062\060\060\065
+\060\036\027\015\060\065\061\061\060\067\061\060\060\067\065\067
+\132\027\015\061\065\060\071\061\066\061\060\060\067\065\067\132
+\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303
+\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
+\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
+\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
+\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124
+\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141
+\162\141\061\135\060\133\006\003\125\004\012\014\124\124\303\234
+\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260
+\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151
+\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151
+\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236
+\056\040\050\143\051\040\113\141\163\304\261\155\040\062\060\060
+\065\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\251\066\176\303\221\103\114\303\031\230\010\310\307\130
+\173\117\026\214\245\316\111\001\037\163\016\254\165\023\246\372
+\236\054\040\336\330\220\016\012\321\151\322\047\373\252\167\237
+\047\122\045\342\313\135\330\330\203\120\027\175\212\265\202\077
+\004\216\264\325\360\111\247\144\267\036\056\137\040\234\120\165
+\117\257\341\265\101\024\364\230\222\210\307\345\345\144\107\141
+\107\171\375\300\121\361\301\231\347\334\316\152\373\257\265\001
+\060\334\106\034\357\212\354\225\357\334\377\257\020\034\353\235
+\330\260\252\152\205\030\015\027\311\076\277\361\233\320\011\211
+\102\375\240\102\264\235\211\121\125\051\317\033\160\274\204\124
+\255\301\023\037\230\364\056\166\140\213\135\077\232\255\312\014
+\277\247\126\133\217\167\270\325\236\171\111\222\077\340\361\227
+\044\172\154\233\027\017\155\357\123\230\221\053\344\017\276\131
+\171\007\170\273\227\225\364\237\151\324\130\207\012\251\343\314
+\266\130\031\237\046\041\261\304\131\215\262\101\165\300\255\151
+\316\234\000\010\362\066\377\076\360\241\017\032\254\024\375\246
+\140\017\002\003\001\000\001\243\103\060\101\060\035\006\003\125
+\035\016\004\026\004\024\331\067\263\116\005\375\331\317\237\022
+\026\256\266\211\057\353\045\072\210\034\060\017\006\003\125\035
+\017\001\001\377\004\005\003\003\007\006\000\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\162\140\226\267\311\334\330\051\136\043\205\137\262\263\055\166
+\373\210\327\027\376\173\155\105\270\366\205\154\237\042\374\052
+\020\042\354\252\271\060\366\253\130\326\071\020\061\231\051\000
+\275\211\146\101\373\164\336\221\301\030\013\237\265\141\313\235
+\072\276\365\250\224\243\042\125\156\027\111\377\322\051\361\070
+\046\135\357\245\252\072\371\161\173\346\332\130\035\323\164\302
+\001\372\076\151\130\137\255\313\150\276\024\056\233\154\300\266
+\334\240\046\372\167\032\342\044\332\032\067\340\147\255\321\163
+\203\015\245\032\035\156\022\222\176\204\142\000\027\275\274\045
+\030\127\362\327\251\157\131\210\274\064\267\056\205\170\235\226
+\334\024\303\054\212\122\233\226\214\122\146\075\206\026\213\107
+\270\121\011\214\352\175\315\210\162\263\140\063\261\360\012\104
+\357\017\365\011\067\210\044\016\054\153\040\072\242\372\021\362
+\100\065\234\104\150\143\073\254\063\157\143\274\054\273\362\322
+\313\166\175\175\210\330\035\310\005\035\156\274\224\251\146\214
+\167\161\307\372\221\372\057\121\236\351\071\122\266\347\004\102
+END
+
+# Trust for Certificate "TURKTRUST Certificate Services Provider Root 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TURKTRUST Certificate Services Provider Root 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\264\065\324\341\021\235\034\146\220\247\111\353\263\224\275\143
+\173\247\202\267
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\067\245\156\324\261\045\204\227\267\375\126\025\172\371\242\000
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303
+\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
+\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
+\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
+\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124
+\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141
+\162\141\061\135\060\133\006\003\125\004\012\014\124\124\303\234
+\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260
+\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151
+\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151
+\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236
+\056\040\050\143\051\040\113\141\163\304\261\155\040\062\060\060
+\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "SwissSign Platinum CA - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SwissSign Platinum CA - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023
+\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151
+\156\165\155\040\103\101\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023
+\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151
+\156\165\155\040\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\116\262\000\147\014\003\135\117
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\301\060\202\003\251\240\003\002\001\002\002\010\116
+\262\000\147\014\003\135\117\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\111\061\013\060\011\006\003\125\004
+\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023\014
+\123\167\151\163\163\123\151\147\156\040\101\107\061\043\060\041
+\006\003\125\004\003\023\032\123\167\151\163\163\123\151\147\156
+\040\120\154\141\164\151\156\165\155\040\103\101\040\055\040\107
+\062\060\036\027\015\060\066\061\060\062\065\060\070\063\066\060
+\060\132\027\015\063\066\061\060\062\065\060\070\063\066\060\060
+\132\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110
+\061\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163
+\123\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003
+\023\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164
+\151\156\165\155\040\103\101\040\055\040\107\062\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\312\337\242
+\002\342\332\370\374\007\026\261\336\140\252\336\226\134\144\037
+\307\057\176\317\147\372\104\102\326\166\143\225\256\353\257\162
+\040\212\105\107\206\142\170\206\326\040\071\046\364\256\243\375
+\043\347\245\234\265\042\041\031\267\067\223\042\300\120\234\202
+\173\324\325\004\104\134\313\264\302\237\222\276\044\330\173\147
+\042\342\151\137\345\005\170\324\207\331\161\160\063\045\123\264
+\207\073\051\220\050\066\232\125\104\060\150\244\203\227\177\015
+\036\234\166\377\025\235\140\227\000\215\212\205\003\354\200\276
+\352\054\156\020\121\222\314\176\325\243\063\330\326\111\336\130
+\052\257\366\026\353\113\173\220\062\227\271\272\235\130\361\370
+\127\111\004\036\242\135\006\160\335\161\333\371\335\213\232\033
+\214\317\075\243\115\316\313\174\366\273\234\240\372\011\316\043
+\142\262\351\015\037\342\162\050\217\237\254\150\040\175\157\073
+\250\205\061\011\177\013\307\350\145\351\343\170\016\011\147\060
+\213\064\202\373\135\340\314\235\201\155\142\356\010\036\004\054
+\116\233\354\376\251\117\137\375\151\170\357\011\037\241\264\277
+\372\363\357\220\036\114\005\213\036\352\172\221\172\303\327\345
+\373\060\274\154\033\020\130\230\367\032\137\320\051\062\003\023
+\106\115\141\152\205\114\122\164\057\006\037\173\021\342\204\227
+\306\231\363\155\177\327\147\203\176\023\150\330\161\050\132\330
+\316\335\350\020\024\232\376\155\043\207\156\216\132\160\074\325
+\215\011\000\247\252\274\260\061\067\155\310\204\024\036\133\275
+\105\143\040\153\113\164\214\275\333\072\016\301\317\132\026\217
+\245\230\362\166\211\262\023\022\073\013\167\167\254\273\345\074
+\051\112\222\162\312\141\032\053\136\114\342\203\164\167\372\065
+\110\172\205\115\215\232\123\304\337\170\312\227\221\110\053\105
+\053\001\367\034\032\242\355\030\272\012\275\203\372\157\274\215
+\127\223\073\324\324\246\316\036\361\240\261\316\253\375\053\050
+\232\117\033\327\303\162\333\244\304\277\135\114\365\335\173\226
+\151\356\150\200\346\347\230\272\066\267\376\156\355\053\275\040
+\370\145\031\332\125\011\176\045\334\376\141\142\162\371\176\030
+\002\357\143\264\320\373\257\345\073\143\214\147\217\002\003\001
+\000\001\243\201\254\060\201\251\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001
+\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016
+\004\026\004\024\120\257\314\007\207\025\107\157\070\305\264\145
+\321\336\225\252\351\337\234\314\060\037\006\003\125\035\043\004
+\030\060\026\200\024\120\257\314\007\207\025\107\157\070\305\264
+\145\321\336\225\252\351\337\234\314\060\106\006\003\125\035\040
+\004\077\060\075\060\073\006\011\140\205\164\001\131\001\001\001
+\001\060\056\060\054\006\010\053\006\001\005\005\007\002\001\026
+\040\150\164\164\160\072\057\057\162\145\160\157\163\151\164\157
+\162\171\056\163\167\151\163\163\163\151\147\156\056\143\157\155
+\057\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\002\001\000\010\205\246\365\026\014\374\104\032\301\143
+\340\371\125\106\010\374\160\034\102\050\226\216\267\305\301\101
+\165\116\011\161\171\345\155\226\312\113\245\210\140\320\060\164
+\270\312\010\334\264\060\236\100\007\026\153\145\225\167\001\256
+\244\267\065\013\201\332\161\025\251\164\027\070\173\130\312\371
+\057\373\300\145\166\215\133\001\271\175\336\202\075\144\270\276
+\024\164\243\012\124\323\054\225\030\027\065\365\121\153\077\217
+\242\226\141\071\170\153\113\345\246\240\370\123\337\121\020\223
+\142\347\200\057\342\321\340\274\216\066\106\167\063\354\270\373
+\216\232\054\211\115\061\021\017\046\236\004\273\267\004\215\013
+\362\271\374\132\235\073\026\267\057\310\230\253\376\212\120\131
+\056\243\073\374\051\135\213\301\113\311\342\212\023\035\261\277
+\273\102\035\122\335\116\330\024\136\020\306\061\007\357\161\047
+\367\033\071\011\334\202\352\213\263\225\206\136\375\365\332\135
+\061\246\340\061\266\224\346\104\111\164\305\026\345\367\037\003
+\141\050\305\310\313\022\240\102\113\371\153\210\010\215\264\062
+\030\363\165\237\304\177\000\117\005\225\234\243\027\002\303\263
+\123\233\252\040\071\051\053\146\372\235\257\136\263\222\322\265
+\246\341\032\371\055\101\151\201\024\264\264\265\355\211\075\316
+\373\251\235\065\102\104\261\034\024\163\201\317\052\001\065\232
+\061\325\055\217\155\204\337\200\115\127\343\077\305\204\165\332
+\211\306\060\273\353\217\313\042\010\240\256\252\361\003\154\072
+\113\115\011\245\016\162\306\126\153\041\102\116\043\045\024\150
+\256\166\012\174\014\007\160\144\371\232\057\366\005\071\046\306
+\014\217\031\177\103\136\156\364\133\025\057\333\141\135\346\147
+\057\077\010\224\371\140\264\230\061\332\164\361\204\223\161\115
+\137\373\140\130\321\373\304\301\155\211\242\273\040\037\235\161
+\221\313\062\233\023\075\076\175\222\122\065\254\222\224\242\323
+\030\302\174\307\352\257\166\005\026\335\147\047\302\176\034\007
+\042\041\363\100\012\033\064\007\104\023\302\204\152\216\337\031
+\132\277\177\353\035\342\032\070\321\134\257\107\222\153\200\265
+\060\245\311\215\330\253\061\201\037\337\302\146\067\323\223\251
+\205\206\171\145\322
+END
+
+# Trust for Certificate "SwissSign Platinum CA - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SwissSign Platinum CA - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\126\340\372\300\073\217\030\043\125\030\345\323\021\312\350\302
+\103\061\253\146
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\311\230\047\167\050\036\075\016\025\074\204\000\270\205\003\346
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023
+\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151
+\156\165\155\040\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\116\262\000\147\014\003\135\117
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "SwissSign Gold CA - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SwissSign Gold CA - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023
+\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040
+\103\101\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023
+\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040
+\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\273\100\034\103\365\136\117\260
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\272\060\202\003\242\240\003\002\001\002\002\011\000
+\273\100\034\103\365\136\117\260\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\060\105\061\013\060\011\006\003\125
+\004\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023
+\014\123\167\151\163\163\123\151\147\156\040\101\107\061\037\060
+\035\006\003\125\004\003\023\026\123\167\151\163\163\123\151\147
+\156\040\107\157\154\144\040\103\101\040\055\040\107\062\060\036
+\027\015\060\066\061\060\062\065\060\070\063\060\063\065\132\027
+\015\063\066\061\060\062\065\060\070\063\060\063\065\132\060\105
+\061\013\060\011\006\003\125\004\006\023\002\103\110\061\025\060
+\023\006\003\125\004\012\023\014\123\167\151\163\163\123\151\147
+\156\040\101\107\061\037\060\035\006\003\125\004\003\023\026\123
+\167\151\163\163\123\151\147\156\040\107\157\154\144\040\103\101
+\040\055\040\107\062\060\202\002\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
+\012\002\202\002\001\000\257\344\356\176\213\044\016\022\156\251
+\120\055\026\104\073\222\222\134\312\270\135\204\222\102\023\052
+\274\145\127\202\100\076\127\044\315\120\213\045\052\267\157\374
+\357\242\320\300\037\002\044\112\023\226\217\043\023\346\050\130
+\000\243\107\307\006\247\204\043\053\273\275\226\053\177\125\314
+\213\301\127\037\016\142\145\017\335\075\126\212\163\332\256\176
+\155\272\201\034\176\102\214\040\065\331\103\115\204\372\204\333
+\122\054\363\016\047\167\013\153\277\021\057\162\170\237\056\330
+\076\346\030\067\132\052\162\371\332\142\220\222\225\312\037\234
+\351\263\074\053\313\363\001\023\277\132\317\301\265\012\140\275
+\335\265\231\144\123\270\240\226\263\157\342\046\167\221\214\340
+\142\020\002\237\064\017\244\325\222\063\121\336\276\215\272\204
+\172\140\074\152\333\237\053\354\336\336\001\077\156\115\345\120
+\206\313\264\257\355\104\100\305\312\132\214\332\322\053\174\250
+\356\276\246\345\012\252\016\245\337\005\122\267\125\307\042\135
+\062\152\227\227\143\023\333\311\333\171\066\173\205\072\112\305
+\122\211\371\044\347\235\167\251\202\377\125\034\245\161\151\053
+\321\002\044\362\263\046\324\153\332\004\125\345\301\012\307\155
+\060\067\220\052\344\236\024\063\136\026\027\125\305\133\265\313
+\064\211\222\361\235\046\217\241\007\324\306\262\170\120\333\014
+\014\013\174\013\214\101\327\271\351\335\214\210\367\243\115\262
+\062\314\330\027\332\315\267\316\146\235\324\375\136\377\275\227
+\076\051\165\347\176\247\142\130\257\045\064\245\101\307\075\274
+\015\120\312\003\003\017\010\132\037\225\163\170\142\277\257\162
+\024\151\016\245\345\003\016\170\216\046\050\102\360\007\013\142
+\040\020\147\071\106\372\251\003\314\004\070\172\146\357\040\203
+\265\214\112\126\216\221\000\374\216\134\202\336\210\240\303\342
+\150\156\175\215\357\074\335\145\364\135\254\121\357\044\200\256
+\252\126\227\157\371\255\175\332\141\077\230\167\074\245\221\266
+\034\214\046\332\145\242\011\155\301\342\124\343\271\312\114\114
+\200\217\167\173\140\232\036\337\266\362\110\036\016\272\116\124
+\155\230\340\341\242\032\242\167\120\317\304\143\222\354\107\031
+\235\353\346\153\316\301\002\003\001\000\001\243\201\254\060\201
+\251\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\035\006\003\125\035\016\004\026\004\024\133\045\173
+\226\244\145\121\176\270\071\363\300\170\146\136\350\072\347\360
+\356\060\037\006\003\125\035\043\004\030\060\026\200\024\133\045
+\173\226\244\145\121\176\270\071\363\300\170\146\136\350\072\347
+\360\356\060\106\006\003\125\035\040\004\077\060\075\060\073\006
+\011\140\205\164\001\131\001\002\001\001\060\056\060\054\006\010
+\053\006\001\005\005\007\002\001\026\040\150\164\164\160\072\057
+\057\162\145\160\157\163\151\164\157\162\171\056\163\167\151\163
+\163\163\151\147\156\056\143\157\155\057\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\002\001\000\047\272
+\343\224\174\361\256\300\336\027\346\345\330\325\365\124\260\203
+\364\273\315\136\005\173\117\237\165\146\257\074\350\126\176\374
+\162\170\070\003\331\053\142\033\000\271\370\351\140\315\314\316
+\121\212\307\120\061\156\341\112\176\030\057\151\131\266\075\144
+\201\053\343\203\204\346\042\207\216\175\340\356\002\231\141\270
+\036\364\270\053\210\022\026\204\302\061\223\070\226\061\246\271
+\073\123\077\303\044\223\126\133\151\222\354\305\301\273\070\000
+\343\354\027\251\270\334\307\174\001\203\237\062\107\272\122\042
+\064\035\062\172\011\126\247\174\045\066\251\075\113\332\300\202
+\157\012\273\022\310\207\113\047\021\371\036\055\307\223\077\236
+\333\137\046\153\122\331\056\212\361\024\306\104\215\025\251\267
+\277\275\336\246\032\356\256\055\373\110\167\027\376\273\354\257
+\030\365\052\121\360\071\204\227\225\154\156\033\303\053\304\164
+\140\171\045\260\012\047\337\337\136\322\071\317\105\175\102\113
+\337\263\054\036\305\306\135\312\125\072\240\234\151\232\217\332
+\357\262\260\074\237\207\154\022\053\145\160\025\122\061\032\044
+\317\157\061\043\120\037\214\117\217\043\303\164\101\143\034\125
+\250\024\335\076\340\121\120\317\361\033\060\126\016\222\260\202
+\205\330\203\313\042\144\274\055\270\045\325\124\242\270\006\352
+\255\222\244\044\240\301\206\265\112\023\152\107\317\056\013\126
+\225\124\313\316\232\333\152\264\246\262\333\101\010\206\047\167
+\367\152\240\102\154\013\070\316\327\165\120\062\222\302\337\053
+\060\042\110\320\325\101\070\045\135\244\351\135\237\306\224\165
+\320\105\375\060\227\103\217\220\253\012\307\206\163\140\112\151
+\055\336\245\170\327\006\332\152\236\113\076\167\072\040\023\042
+\001\320\277\150\236\143\140\153\065\115\013\155\272\241\075\300
+\223\340\177\043\263\125\255\162\045\116\106\371\322\026\357\260
+\144\301\001\236\351\312\240\152\230\016\317\330\140\362\057\111
+\270\344\102\341\070\065\026\364\310\156\117\367\201\126\350\272
+\243\276\043\257\256\375\157\003\340\002\073\060\166\372\033\155
+\101\317\001\261\351\270\311\146\364\333\046\363\072\244\164\362
+\111\044\133\311\260\320\127\301\372\076\172\341\227\311
+END
+
+# Trust for Certificate "SwissSign Gold CA - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SwissSign Gold CA - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\330\305\070\212\267\060\033\033\156\324\172\346\105\045\072\157
+\237\032\047\141
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\044\167\331\250\221\321\073\372\210\055\302\377\370\315\063\223
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023
+\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040
+\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\273\100\034\103\365\136\117\260
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "SwissSign Silver CA - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SwissSign Silver CA - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023
+\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145
+\162\040\103\101\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023
+\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145
+\162\040\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\117\033\324\057\124\273\057\113
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\275\060\202\003\245\240\003\002\001\002\002\010\117
+\033\324\057\124\273\057\113\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\107\061\013\060\011\006\003\125\004
+\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023\014
+\123\167\151\163\163\123\151\147\156\040\101\107\061\041\060\037
+\006\003\125\004\003\023\030\123\167\151\163\163\123\151\147\156
+\040\123\151\154\166\145\162\040\103\101\040\055\040\107\062\060
+\036\027\015\060\066\061\060\062\065\060\070\063\062\064\066\132
+\027\015\063\066\061\060\062\065\060\070\063\062\064\066\132\060
+\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061\025
+\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123\151
+\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023\030
+\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145\162
+\040\103\101\040\055\040\107\062\060\202\002\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000
+\060\202\002\012\002\202\002\001\000\304\361\207\177\323\170\061
+\367\070\311\370\303\231\103\274\307\367\274\067\347\116\161\272
+\113\217\245\163\035\134\156\230\256\003\127\256\070\067\103\057
+\027\075\037\310\316\150\020\301\170\256\031\003\053\020\372\054
+\171\203\366\350\271\150\271\125\362\004\104\247\071\371\374\004
+\213\036\361\242\115\047\371\141\173\272\267\345\242\023\266\353
+\141\076\320\154\321\346\373\372\136\355\035\264\236\240\065\133
+\241\222\313\360\111\222\376\205\012\005\076\346\331\013\342\117
+\273\334\225\067\374\221\351\062\065\042\321\037\072\116\047\205
+\235\260\025\224\062\332\141\015\107\115\140\102\256\222\107\350
+\203\132\120\130\351\212\213\271\135\241\334\335\231\112\037\066
+\147\273\110\344\203\266\067\353\110\072\257\017\147\217\027\007
+\350\004\312\357\152\061\207\324\300\266\371\224\161\173\147\144
+\270\266\221\112\102\173\145\056\060\152\014\365\220\356\225\346
+\362\315\202\354\331\241\112\354\366\262\113\345\105\205\346\155
+\170\223\004\056\234\202\155\066\251\304\061\144\037\206\203\013
+\052\364\065\012\170\311\125\317\101\260\107\351\060\237\231\276
+\141\250\006\204\271\050\172\137\070\331\033\251\070\260\203\177
+\163\301\303\073\110\052\202\017\041\233\270\314\250\065\303\204
+\033\203\263\076\276\244\225\151\001\072\211\000\170\004\331\311
+\364\231\031\253\126\176\133\213\206\071\025\221\244\020\054\011
+\062\200\140\263\223\300\052\266\030\013\235\176\215\111\362\020
+\112\177\371\325\106\057\031\222\243\231\247\046\254\273\214\074
+\346\016\274\107\007\334\163\121\361\160\144\057\010\371\264\107
+\035\060\154\104\352\051\067\205\222\150\146\274\203\070\376\173
+\071\056\323\120\360\037\373\136\140\266\251\246\372\047\101\361
+\233\030\162\362\365\204\164\112\311\147\304\124\256\110\144\337
+\214\321\156\260\035\341\007\217\010\036\231\234\161\351\114\330
+\245\367\107\022\037\164\321\121\236\206\363\302\242\043\100\013
+\163\333\113\246\347\163\006\214\301\240\351\301\131\254\106\372
+\346\057\370\317\161\234\106\155\271\304\025\215\070\171\003\105
+\110\357\304\135\327\010\356\207\071\042\206\262\015\017\130\103
+\367\161\251\110\056\375\352\326\037\002\003\001\000\001\243\201
+\254\060\201\251\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024
+\027\240\315\301\344\101\266\072\133\073\313\105\235\275\034\302
+\230\372\206\130\060\037\006\003\125\035\043\004\030\060\026\200
+\024\027\240\315\301\344\101\266\072\133\073\313\105\235\275\034
+\302\230\372\206\130\060\106\006\003\125\035\040\004\077\060\075
+\060\073\006\011\140\205\164\001\131\001\003\001\001\060\056\060
+\054\006\010\053\006\001\005\005\007\002\001\026\040\150\164\164
+\160\072\057\057\162\145\160\157\163\151\164\157\162\171\056\163
+\167\151\163\163\163\151\147\156\056\143\157\155\057\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001
+\000\163\306\201\340\047\322\055\017\340\225\060\342\232\101\177
+\120\054\137\137\142\141\251\206\152\151\030\014\164\111\326\135
+\204\352\101\122\030\157\130\255\120\126\040\152\306\275\050\151
+\130\221\334\221\021\065\251\072\035\274\032\245\140\236\330\037
+\177\105\221\151\331\176\273\170\162\301\006\017\052\316\217\205
+\160\141\254\240\315\013\270\071\051\126\204\062\116\206\273\075
+\304\052\331\327\037\162\356\376\121\241\042\101\261\161\002\143
+\032\202\260\142\253\136\127\022\037\337\313\335\165\240\300\135
+\171\220\214\033\340\120\346\336\061\376\230\173\160\137\245\220
+\330\255\370\002\266\157\323\140\335\100\113\042\305\075\255\072
+\172\237\032\032\107\221\171\063\272\202\334\062\151\003\226\156
+\037\113\360\161\376\343\147\162\240\261\277\134\213\344\372\231
+\042\307\204\271\033\215\043\227\077\355\045\340\317\145\273\365
+\141\004\357\335\036\262\132\101\042\132\241\237\135\054\350\133
+\311\155\251\014\014\170\252\140\306\126\217\001\132\014\150\274
+\151\031\171\304\037\176\227\005\277\305\351\044\121\136\324\325
+\113\123\355\331\043\132\066\003\145\243\301\003\255\101\060\363
+\106\033\205\220\257\145\265\325\261\344\026\133\170\165\035\227
+\172\155\131\251\052\217\173\336\303\207\211\020\231\111\163\170
+\310\075\275\121\065\164\052\325\361\176\151\033\052\273\073\275
+\045\270\232\132\075\162\141\220\146\207\356\014\326\115\324\021
+\164\013\152\376\013\003\374\243\125\127\211\376\112\313\256\133
+\027\005\310\362\215\043\061\123\070\322\055\152\077\202\271\215
+\010\152\367\136\101\164\156\303\021\176\007\254\051\140\221\077
+\070\312\127\020\015\275\060\057\307\245\346\101\240\332\256\005
+\207\232\240\244\145\154\114\011\014\211\272\270\323\271\300\223
+\212\060\372\215\345\232\153\025\001\116\147\252\332\142\126\076
+\204\010\146\322\304\066\175\247\076\020\374\210\340\324\200\345
+\000\275\252\363\116\006\243\172\152\371\142\162\343\011\117\353
+\233\016\001\043\361\237\273\174\334\334\154\021\227\045\262\362
+\264\143\024\322\006\052\147\214\203\365\316\352\007\330\232\152
+\036\354\344\012\273\052\114\353\011\140\071\316\312\142\330\056
+\156
+END
+
+# Trust for Certificate "SwissSign Silver CA - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SwissSign Silver CA - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\233\252\345\237\126\356\041\313\103\132\276\045\223\337\247\360
+\100\321\035\313
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\340\006\241\311\175\317\311\374\015\300\126\165\226\330\142\023
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
+\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023
+\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145
+\162\040\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\117\033\324\057\124\273\057\113
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GeoTrust Primary Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Primary Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003
+\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141
+\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003
+\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141
+\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372
+\304\241
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\174\060\202\002\144\240\003\002\001\002\002\020\030
+\254\265\152\375\151\266\025\072\143\154\257\332\372\304\241\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\130
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026\060
+\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163\164
+\040\111\156\143\056\061\061\060\057\006\003\125\004\003\023\050
+\107\145\157\124\162\165\163\164\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\060\036\027\015\060\066\061\061
+\062\067\060\060\060\060\060\060\132\027\015\063\066\060\067\061
+\066\062\063\065\071\065\071\132\060\130\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012
+\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061
+\061\060\057\006\003\125\004\003\023\050\107\145\157\124\162\165
+\163\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\276\270\025\173\377\324\174\175\147\255\203\144\173
+\310\102\123\055\337\366\204\010\040\141\326\001\131\152\234\104
+\021\257\357\166\375\225\176\316\141\060\273\172\203\137\002\275
+\001\146\312\356\025\215\157\241\060\234\275\241\205\236\224\072
+\363\126\210\000\061\317\330\356\152\226\002\331\355\003\214\373
+\165\155\347\352\270\125\026\005\026\232\364\340\136\261\210\300
+\144\205\134\025\115\210\307\267\272\340\165\351\255\005\075\235
+\307\211\110\340\273\050\310\003\341\060\223\144\136\122\300\131
+\160\042\065\127\210\212\361\225\012\203\327\274\061\163\001\064
+\355\357\106\161\340\153\002\250\065\162\153\227\233\146\340\313
+\034\171\137\330\032\004\150\036\107\002\346\235\140\342\066\227
+\001\337\316\065\222\337\276\147\307\155\167\131\073\217\235\326
+\220\025\224\274\102\064\020\301\071\371\261\047\076\176\326\212
+\165\305\262\257\226\323\242\336\233\344\230\276\175\341\351\201
+\255\266\157\374\327\016\332\340\064\260\015\032\167\347\343\010
+\230\357\130\372\234\204\267\066\257\302\337\254\322\364\020\006
+\160\161\065\002\003\001\000\001\243\102\060\100\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
+\003\125\035\016\004\026\004\024\054\325\120\101\227\025\213\360
+\217\066\141\133\112\373\153\331\231\311\063\222\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\132\160\177\054\335\267\064\117\365\206\121\251\046\276\113\270
+\252\361\161\015\334\141\307\240\352\064\036\172\167\017\004\065
+\350\047\217\154\220\277\221\026\044\106\076\112\116\316\053\026
+\325\013\122\035\374\037\147\242\002\105\061\117\316\363\372\003
+\247\171\235\123\152\331\332\143\072\370\200\327\323\231\341\245
+\341\276\324\125\161\230\065\072\276\223\352\256\255\102\262\220
+\157\340\374\041\115\065\143\063\211\111\326\233\116\312\307\347
+\116\011\000\367\332\307\357\231\142\231\167\266\225\042\136\212
+\240\253\364\270\170\230\312\070\031\231\311\162\236\170\315\113
+\254\257\031\240\163\022\055\374\302\101\272\201\221\332\026\132
+\061\267\371\264\161\200\022\110\231\162\163\132\131\123\301\143
+\122\063\355\247\311\322\071\002\160\372\340\261\102\146\051\252
+\233\121\355\060\124\042\024\137\331\253\035\301\344\224\360\370
+\365\053\367\352\312\170\106\326\270\221\375\246\015\053\032\024
+\001\076\200\360\102\240\225\007\136\155\315\314\113\244\105\215
+\253\022\350\263\336\132\345\240\174\350\017\042\035\132\351\131
+END
+
+# Trust for Certificate "GeoTrust Primary Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Primary Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\062\074\021\216\033\367\270\266\122\124\342\342\020\015\326\002
+\220\067\360\226
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\002\046\303\001\136\010\060\067\103\251\320\175\317\067\346\277
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
+\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003
+\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141
+\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372
+\304\241
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "thawte Primary Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "thawte Primary Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
+\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
+\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
+\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143
+\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
+\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006
+\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151
+\155\141\162\171\040\122\157\157\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
+\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
+\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
+\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143
+\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
+\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006
+\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151
+\155\141\162\171\040\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333
+\053\155
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\040\060\202\003\010\240\003\002\001\002\002\020\064
+\116\325\127\040\325\355\354\111\364\057\316\067\333\053\155\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\251\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025
+\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054
+\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061
+\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060
+\060\066\040\164\150\141\167\164\145\054\040\111\156\143\056\040
+\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144
+\040\165\163\145\040\157\156\154\171\061\037\060\035\006\003\125
+\004\003\023\026\164\150\141\167\164\145\040\120\162\151\155\141
+\162\171\040\122\157\157\164\040\103\101\060\036\027\015\060\066
+\061\061\061\067\060\060\060\060\060\060\132\027\015\063\066\060
+\067\061\066\062\063\065\071\065\071\132\060\201\251\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003
+\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156\143
+\056\061\050\060\046\006\003\125\004\013\023\037\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
+\145\163\040\104\151\166\151\163\151\157\156\061\070\060\066\006
+\003\125\004\013\023\057\050\143\051\040\062\060\060\066\040\164
+\150\141\167\164\145\054\040\111\156\143\056\040\055\040\106\157
+\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145
+\040\157\156\154\171\061\037\060\035\006\003\125\004\003\023\026
+\164\150\141\167\164\145\040\120\162\151\155\141\162\171\040\122
+\157\157\164\040\103\101\060\202\001\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
+\001\012\002\202\001\001\000\254\240\360\373\200\131\324\234\307
+\244\317\235\241\131\163\011\020\105\014\015\054\156\150\361\154
+\133\110\150\111\131\067\374\013\063\031\302\167\177\314\020\055
+\225\064\034\346\353\115\011\247\034\322\270\311\227\066\002\267
+\211\324\044\137\006\300\314\104\224\224\215\002\142\157\353\132
+\335\021\215\050\232\134\204\220\020\172\015\275\164\146\057\152
+\070\240\342\325\124\104\353\035\007\237\007\272\157\356\351\375
+\116\013\051\365\076\204\240\001\361\234\253\370\034\176\211\244
+\350\241\330\161\145\015\243\121\173\356\274\322\042\140\015\271
+\133\235\337\272\374\121\133\013\257\230\262\351\056\351\004\350
+\142\207\336\053\310\327\116\301\114\144\036\335\317\207\130\272
+\112\117\312\150\007\035\034\235\112\306\325\057\221\314\174\161
+\162\034\305\300\147\353\062\375\311\222\134\224\332\205\300\233
+\277\123\175\053\011\364\214\235\221\037\227\152\122\313\336\011
+\066\244\167\330\173\207\120\104\325\076\156\051\151\373\071\111
+\046\036\011\245\200\173\100\055\353\350\047\205\311\376\141\375
+\176\346\174\227\035\325\235\002\003\001\000\001\243\102\060\100
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\035\006\003\125\035\016\004\026\004\024\173\133\105\317
+\257\316\313\172\375\061\222\032\152\266\363\106\353\127\110\120
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\171\021\300\113\263\221\266\374\360\351\147\324
+\015\156\105\276\125\350\223\322\316\003\077\355\332\045\260\035
+\127\313\036\072\166\240\114\354\120\166\350\144\162\014\244\251
+\361\270\213\326\326\207\204\273\062\345\101\021\300\167\331\263
+\140\235\353\033\325\321\156\104\104\251\246\001\354\125\142\035
+\167\270\134\216\110\111\174\234\073\127\021\254\255\163\067\216
+\057\170\134\220\150\107\331\140\140\346\374\007\075\042\040\027
+\304\367\026\351\304\330\162\371\310\163\174\337\026\057\025\251
+\076\375\152\047\266\241\353\132\272\230\037\325\343\115\144\012
+\235\023\310\141\272\365\071\034\207\272\270\275\173\042\177\366
+\376\254\100\171\345\254\020\157\075\217\033\171\166\213\304\067
+\263\041\030\204\345\066\000\353\143\040\231\271\351\376\063\004
+\273\101\310\301\002\371\104\143\040\236\201\316\102\323\326\077
+\054\166\323\143\234\131\335\217\246\341\016\240\056\101\367\056
+\225\107\317\274\375\063\363\366\013\141\176\176\221\053\201\107
+\302\047\060\356\247\020\135\067\217\134\071\053\344\004\360\173
+\215\126\214\150
+END
+
+# Trust for Certificate "thawte Primary Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "thawte Primary Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\221\306\326\356\076\212\310\143\204\345\110\302\231\051\134\165
+\154\201\173\201
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\214\312\334\013\042\316\365\276\162\254\101\032\021\250\330\022
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
+\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
+\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
+\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143
+\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
+\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006
+\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151
+\155\141\162\171\040\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333
+\053\155
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "VeriSign Class 3 Public Primary Certification Authority - G5"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\065
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153
+\073\112
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\323\060\202\003\273\240\003\002\001\002\002\020\030
+\332\321\236\046\175\350\273\112\041\130\315\314\153\073\112\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\312\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
+\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147
+\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013
+\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164
+\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004
+\013\023\061\050\143\051\040\062\060\060\066\040\126\145\162\151
+\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162
+\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040
+\157\156\154\171\061\105\060\103\006\003\125\004\003\023\074\126
+\145\162\151\123\151\147\156\040\103\154\141\163\163\040\063\040
+\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\065\060\036\027\015\060
+\066\061\061\060\070\060\060\060\060\060\060\132\027\015\063\066
+\060\067\061\066\062\063\065\071\065\071\132\060\201\312\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006
+\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040
+\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126
+\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145
+\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061
+\050\143\051\040\062\060\060\066\040\126\145\162\151\123\151\147
+\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
+\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
+\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151
+\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142
+\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\055\040\107\065\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\257\044\010\010\051\172\065
+\236\140\014\252\347\113\073\116\334\174\274\074\105\034\273\053
+\340\376\051\002\371\127\010\243\144\205\025\047\365\361\255\310
+\061\211\135\042\350\052\252\246\102\263\217\370\271\125\267\261
+\267\113\263\376\217\176\007\127\354\357\103\333\146\142\025\141
+\317\140\015\244\330\336\370\340\303\142\010\075\124\023\353\111
+\312\131\124\205\046\345\053\217\033\237\353\365\241\221\302\063
+\111\330\103\143\152\122\113\322\217\350\160\121\115\321\211\151
+\173\307\160\366\263\334\022\164\333\173\135\113\126\323\226\277
+\025\167\241\260\364\242\045\362\257\034\222\147\030\345\364\006
+\004\357\220\271\344\000\344\335\072\265\031\377\002\272\364\074
+\356\340\213\353\067\213\354\364\327\254\362\366\360\075\257\335
+\165\221\063\031\035\034\100\313\164\044\031\041\223\331\024\376
+\254\052\122\307\217\325\004\111\344\215\143\107\210\074\151\203
+\313\376\107\275\053\176\117\305\225\256\016\235\324\321\103\300
+\147\163\343\024\010\176\345\077\237\163\270\063\012\317\135\077
+\064\207\226\212\356\123\350\045\025\002\003\001\000\001\243\201
+\262\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001
+\014\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026
+\011\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007
+\006\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215
+\216\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026
+\043\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162
+\151\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157
+\056\147\151\146\060\035\006\003\125\035\016\004\026\004\024\177
+\323\145\247\302\335\354\273\360\060\011\363\103\071\372\002\257
+\063\061\063\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\202\001\001\000\223\044\112\060\137\142\317\330\032
+\230\057\075\352\334\231\055\275\167\366\245\171\042\070\354\304
+\247\240\170\022\255\142\016\105\160\144\305\347\227\146\055\230
+\011\176\137\257\326\314\050\145\362\001\252\010\032\107\336\371
+\371\174\222\132\010\151\040\015\331\076\155\156\074\015\156\330
+\346\006\221\100\030\271\370\301\355\337\333\101\252\340\226\040
+\311\315\144\025\070\201\311\224\356\242\204\051\013\023\157\216
+\333\014\335\045\002\333\244\213\031\104\322\101\172\005\151\112
+\130\117\140\312\176\202\152\013\002\252\045\027\071\265\333\177
+\347\204\145\052\225\212\275\206\336\136\201\026\203\055\020\314
+\336\375\250\202\052\155\050\037\015\013\304\345\347\032\046\031
+\341\364\021\157\020\265\225\374\347\102\005\062\333\316\235\121
+\136\050\266\236\205\323\133\357\245\175\105\100\162\216\267\016
+\153\016\006\373\063\065\110\161\270\235\047\213\304\145\137\015
+\206\166\234\104\172\366\225\134\366\135\062\010\063\244\124\266
+\030\077\150\134\362\102\112\205\070\124\203\137\321\350\054\362
+\254\021\326\250\355\143\152
+END
+
+# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\116\266\325\170\111\233\034\317\137\130\036\255\126\276\075\233
+\147\104\245\345
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\313\027\344\061\147\076\342\011\376\105\127\223\363\012\372\034
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153
+\073\112
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "SecureTrust CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SecureTrust CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165
+\162\145\124\162\165\163\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165
+\162\145\124\162\165\163\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030
+\131\320
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\270\060\202\002\240\240\003\002\001\002\002\020\014
+\360\216\134\010\026\245\255\102\177\360\353\047\030\131\320\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\110
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060
+\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162
+\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\027\060\025\006\003\125\004\003\023\016\123\145\143\165\162\145
+\124\162\165\163\164\040\103\101\060\036\027\015\060\066\061\061
+\060\067\061\071\063\061\061\070\132\027\015\062\071\061\062\063
+\061\061\071\064\060\065\065\132\060\110\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004\012
+\023\027\123\145\143\165\162\145\124\162\165\163\164\040\103\157
+\162\160\157\162\141\164\151\157\156\061\027\060\025\006\003\125
+\004\003\023\016\123\145\143\165\162\145\124\162\165\163\164\040
+\103\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\253\244\201\345\225\315\365\366\024\216\302\117\312
+\324\342\170\225\130\234\101\341\015\231\100\044\027\071\221\063
+\146\351\276\341\203\257\142\134\211\321\374\044\133\141\263\340
+\021\021\101\034\035\156\360\270\273\370\336\247\201\272\246\110
+\306\237\035\275\276\216\251\101\076\270\224\355\051\032\324\216
+\322\003\035\003\357\155\015\147\034\127\327\006\255\312\310\365
+\376\016\257\146\045\110\004\226\013\135\243\272\026\303\010\117
+\321\106\370\024\134\362\310\136\001\231\155\375\210\314\206\250
+\301\157\061\102\154\122\076\150\313\363\031\064\337\273\207\030
+\126\200\046\304\320\334\300\157\337\336\240\302\221\026\240\144
+\021\113\104\274\036\366\347\372\143\336\146\254\166\244\161\243
+\354\066\224\150\172\167\244\261\347\016\057\201\172\342\265\162
+\206\357\242\153\213\360\017\333\323\131\077\272\162\274\104\044
+\234\343\163\263\367\257\127\057\102\046\235\251\164\272\000\122
+\362\113\315\123\174\107\013\066\205\016\146\251\010\227\026\064
+\127\301\146\367\200\343\355\160\124\307\223\340\056\050\025\131
+\207\272\273\002\003\001\000\001\243\201\235\060\201\232\060\023
+\006\011\053\006\001\004\001\202\067\024\002\004\006\036\004\000
+\103\000\101\060\013\006\003\125\035\017\004\004\003\002\001\206
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\035\006\003\125\035\016\004\026\004\024\102\062\266\026
+\372\004\375\376\135\113\172\303\375\367\114\100\035\132\103\257
+\060\064\006\003\125\035\037\004\055\060\053\060\051\240\047\240
+\045\206\043\150\164\164\160\072\057\057\143\162\154\056\163\145
+\143\165\162\145\164\162\165\163\164\056\143\157\155\057\123\124
+\103\101\056\143\162\154\060\020\006\011\053\006\001\004\001\202
+\067\025\001\004\003\002\001\000\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\001\001\000\060\355\117\112
+\341\130\072\122\162\133\265\246\243\145\030\246\273\121\073\167
+\351\235\352\323\237\134\340\105\145\173\015\312\133\342\160\120
+\262\224\005\024\256\111\307\215\101\007\022\163\224\176\014\043
+\041\375\274\020\177\140\020\132\162\365\230\016\254\354\271\177
+\335\172\157\135\323\034\364\377\210\005\151\102\251\005\161\310
+\267\254\046\350\056\264\214\152\377\161\334\270\261\337\231\274
+\174\041\124\053\344\130\242\273\127\051\256\236\251\243\031\046
+\017\231\056\010\260\357\375\151\317\231\032\011\215\343\247\237
+\053\311\066\064\173\044\263\170\114\225\027\244\006\046\036\266
+\144\122\066\137\140\147\331\234\305\005\164\013\347\147\043\322
+\010\374\210\351\256\213\177\341\060\364\067\176\375\306\062\332
+\055\236\104\060\060\154\356\007\336\322\064\374\322\377\100\366
+\113\364\146\106\006\124\246\362\062\012\143\046\060\153\233\321
+\334\213\107\272\341\271\325\142\320\242\240\364\147\005\170\051
+\143\032\157\004\326\370\306\114\243\232\261\067\264\215\345\050
+\113\035\236\054\302\270\150\274\355\002\356\061
+END
+
+# Trust for Certificate "SecureTrust CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SecureTrust CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\207\202\306\303\004\065\073\317\322\226\222\322\131\076\175\104
+\331\064\377\021
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\334\062\303\247\155\045\127\307\150\011\235\352\055\251\242\321
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165
+\162\145\124\162\165\163\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030
+\131\320
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Secure Global CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Secure Global CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165
+\162\145\040\107\154\157\142\141\154\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165
+\162\145\040\107\154\157\142\141\154\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\007\126\042\244\350\324\212\211\115\364\023\310\360\370
+\352\245
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\274\060\202\002\244\240\003\002\001\002\002\020\007
+\126\042\244\350\324\212\211\115\364\023\310\360\370\352\245\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\112
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060
+\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162
+\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\031\060\027\006\003\125\004\003\023\020\123\145\143\165\162\145
+\040\107\154\157\142\141\154\040\103\101\060\036\027\015\060\066
+\061\061\060\067\061\071\064\062\062\070\132\027\015\062\071\061
+\062\063\061\061\071\065\062\060\066\132\060\112\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\040\060\036\006\003\125
+\004\012\023\027\123\145\143\165\162\145\124\162\165\163\164\040
+\103\157\162\160\157\162\141\164\151\157\156\061\031\060\027\006
+\003\125\004\003\023\020\123\145\143\165\162\145\040\107\154\157
+\142\141\154\040\103\101\060\202\001\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
+\001\012\002\202\001\001\000\257\065\056\330\254\154\125\151\006
+\161\345\023\150\044\263\117\330\314\041\107\370\361\140\070\211
+\211\003\351\275\352\136\106\123\011\334\134\365\132\350\367\105
+\052\002\353\061\141\327\051\063\114\316\307\174\012\067\176\017
+\272\062\230\341\035\227\257\217\307\334\311\070\226\363\333\032
+\374\121\355\150\306\320\156\244\174\044\321\256\102\310\226\120
+\143\056\340\376\165\376\230\247\137\111\056\225\343\071\063\144
+\216\036\244\137\220\322\147\074\262\331\376\101\271\125\247\011
+\216\162\005\036\213\335\104\205\202\102\320\111\300\035\140\360
+\321\027\054\225\353\366\245\301\222\243\305\302\247\010\140\015
+\140\004\020\226\171\236\026\064\346\251\266\372\045\105\071\310
+\036\145\371\223\365\252\361\122\334\231\230\075\245\206\032\014
+\065\063\372\113\245\004\006\025\034\061\200\357\252\030\153\302
+\173\327\332\316\371\063\040\325\365\275\152\063\055\201\004\373
+\260\134\324\234\243\342\134\035\343\251\102\165\136\173\324\167
+\357\071\124\272\311\012\030\033\022\231\111\057\210\113\375\120
+\142\321\163\347\217\172\103\002\003\001\000\001\243\201\235\060
+\201\232\060\023\006\011\053\006\001\004\001\202\067\024\002\004
+\006\036\004\000\103\000\101\060\013\006\003\125\035\017\004\004
+\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024
+\257\104\004\302\101\176\110\203\333\116\071\002\354\354\204\172
+\346\316\311\244\060\064\006\003\125\035\037\004\055\060\053\060
+\051\240\047\240\045\206\043\150\164\164\160\072\057\057\143\162
+\154\056\163\145\143\165\162\145\164\162\165\163\164\056\143\157
+\155\057\123\107\103\101\056\143\162\154\060\020\006\011\053\006
+\001\004\001\202\067\025\001\004\003\002\001\000\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\143\032\010\100\175\244\136\123\015\167\330\172\256\037\015\013
+\121\026\003\357\030\174\310\343\257\152\130\223\024\140\221\262
+\204\334\210\116\276\071\212\072\363\346\202\211\135\001\067\263
+\253\044\244\025\016\222\065\132\112\104\136\116\127\372\165\316
+\037\110\316\146\364\074\100\046\222\230\154\033\356\044\106\014
+\027\263\122\245\333\245\221\221\317\067\323\157\347\047\010\072
+\116\031\037\072\247\130\134\027\317\171\077\213\344\247\323\046
+\043\235\046\017\130\151\374\107\176\262\320\215\213\223\277\051
+\117\103\151\164\166\147\113\317\007\214\346\002\367\265\341\264
+\103\265\113\055\024\237\371\334\046\015\277\246\107\164\006\330
+\210\321\072\051\060\204\316\322\071\200\142\033\250\307\127\111
+\274\152\125\121\147\025\112\276\065\007\344\325\165\230\067\171
+\060\024\333\051\235\154\305\151\314\107\125\242\060\367\314\134
+\177\302\303\230\034\153\116\026\200\353\172\170\145\105\242\000
+\032\257\014\015\125\144\064\110\270\222\271\361\264\120\051\362
+\117\043\037\332\154\254\037\104\341\335\043\170\121\133\307\026
+END
+
+# Trust for Certificate "Secure Global CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Secure Global CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\072\104\163\132\345\201\220\037\044\206\141\106\036\073\234\304
+\137\365\072\033
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\317\364\047\015\324\355\334\145\026\111\155\075\332\277\156\336
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165
+\162\145\040\107\154\157\142\141\154\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\007\126\042\244\350\324\212\211\115\364\023\310\360\370
+\352\245
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "COMODO Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "COMODO Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006
+\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006
+\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\116\201\055\212\202\145\340\013\002\356\076\065\002\106
+\345\075
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\035\060\202\003\005\240\003\002\001\002\002\020\116
+\201\055\212\202\145\340\013\002\356\076\065\002\106\345\075\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\201\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
+\060\031\006\003\125\004\010\023\022\107\162\145\141\164\145\162
+\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
+\003\125\004\007\023\007\123\141\154\146\157\162\144\061\032\060
+\030\006\003\125\004\012\023\021\103\117\115\117\104\117\040\103
+\101\040\114\151\155\151\164\145\144\061\047\060\045\006\003\125
+\004\003\023\036\103\117\115\117\104\117\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\060\036\027\015\060\066\061\062\060\061\060\060\060\060
+\060\060\132\027\015\062\071\061\062\063\061\062\063\065\071\065
+\071\132\060\201\201\061\013\060\011\006\003\125\004\006\023\002
+\107\102\061\033\060\031\006\003\125\004\010\023\022\107\162\145
+\141\164\145\162\040\115\141\156\143\150\145\163\164\145\162\061
+\020\060\016\006\003\125\004\007\023\007\123\141\154\146\157\162
+\144\061\032\060\030\006\003\125\004\012\023\021\103\117\115\117
+\104\117\040\103\101\040\114\151\155\151\164\145\144\061\047\060
+\045\006\003\125\004\003\023\036\103\117\115\117\104\117\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\060\202\001\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
+\001\012\002\202\001\001\000\320\100\213\213\162\343\221\033\367
+\121\301\033\124\004\230\323\251\277\301\346\212\135\073\207\373
+\273\210\316\015\343\057\077\006\226\360\242\051\120\231\256\333
+\073\241\127\260\164\121\161\315\355\102\221\115\101\376\251\310
+\330\152\206\167\104\273\131\146\227\120\136\264\324\054\160\104
+\317\332\067\225\102\151\074\060\304\161\263\122\360\041\115\241
+\330\272\071\174\034\236\243\044\235\362\203\026\230\252\026\174
+\103\233\025\133\267\256\064\221\376\324\142\046\030\106\232\077
+\353\301\371\361\220\127\353\254\172\015\213\333\162\060\152\146
+\325\340\106\243\160\334\150\331\377\004\110\211\167\336\265\351
+\373\147\155\101\351\274\071\275\062\331\142\002\361\261\250\075
+\156\067\234\342\057\342\323\242\046\213\306\270\125\103\210\341
+\043\076\245\322\044\071\152\107\253\000\324\241\263\251\045\376
+\015\077\247\035\272\323\121\301\013\244\332\254\070\357\125\120
+\044\005\145\106\223\064\117\055\215\255\306\324\041\031\322\216
+\312\005\141\161\007\163\107\345\212\031\022\275\004\115\316\116
+\234\245\110\254\273\046\367\002\003\001\000\001\243\201\216\060
+\201\213\060\035\006\003\125\035\016\004\026\004\024\013\130\345
+\213\306\114\025\067\244\100\251\060\251\041\276\107\066\132\126
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\111\006\003\125\035\037\004\102\060\100\060\076\240
+\074\240\072\206\070\150\164\164\160\072\057\057\143\162\154\056
+\143\157\155\157\144\157\143\141\056\143\157\155\057\103\117\115
+\117\104\117\103\145\162\164\151\146\151\143\141\164\151\157\156
+\101\165\164\150\157\162\151\164\171\056\143\162\154\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\076\230\236\233\366\033\351\327\071\267\170\256\035\162\030
+\111\323\207\344\103\202\353\077\311\252\365\250\265\357\125\174
+\041\122\145\371\325\015\341\154\364\076\214\223\163\221\056\002
+\304\116\007\161\157\300\217\070\141\010\250\036\201\012\300\057
+\040\057\101\213\221\334\110\105\274\361\306\336\272\166\153\063
+\310\000\055\061\106\114\355\347\235\317\210\224\377\063\300\126
+\350\044\206\046\270\330\070\070\337\052\153\335\022\314\307\077
+\107\027\114\242\302\006\226\011\326\333\376\077\074\106\101\337
+\130\342\126\017\074\073\301\034\223\065\331\070\122\254\356\310
+\354\056\060\116\224\065\264\044\037\113\170\151\332\362\002\070
+\314\225\122\223\360\160\045\131\234\040\147\304\356\371\213\127
+\141\364\222\166\175\077\204\215\125\267\350\345\254\325\361\365
+\031\126\246\132\373\220\034\257\223\353\345\034\324\147\227\135
+\004\016\276\013\203\246\027\203\271\060\022\240\305\063\025\005
+\271\015\373\307\005\166\343\330\112\215\374\064\027\243\306\041
+\050\276\060\105\061\036\307\170\276\130\141\070\254\073\342\001
+\145
+END
+
+# Trust for Certificate "COMODO Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "COMODO Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\146\061\277\236\367\117\236\266\311\325\246\014\272\152\276\321
+\367\275\357\173
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\134\110\334\367\102\162\354\126\224\155\034\314\161\065\200\165
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006
+\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\116\201\055\212\202\145\340\013\002\356\076\065\002\106
+\345\075
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Network Solutions Certificate Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Network Solutions Certificate Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162
+\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056
+\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164
+\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103
+\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162
+\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056
+\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164
+\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103
+\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061
+\150\340
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\346\060\202\002\316\240\003\002\001\002\002\020\127
+\313\063\157\302\134\026\346\107\026\027\343\220\061\150\340\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\142
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\041\060
+\037\006\003\125\004\012\023\030\116\145\164\167\157\162\153\040
+\123\157\154\165\164\151\157\156\163\040\114\056\114\056\103\056
+\061\060\060\056\006\003\125\004\003\023\047\116\145\164\167\157
+\162\153\040\123\157\154\165\164\151\157\156\163\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\060\036\027\015\060\066\061\062\060\061\060\060\060\060
+\060\060\132\027\015\062\071\061\062\063\061\062\063\065\071\065
+\071\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\041\060\037\006\003\125\004\012\023\030\116\145\164\167
+\157\162\153\040\123\157\154\165\164\151\157\156\163\040\114\056
+\114\056\103\056\061\060\060\056\006\003\125\004\003\023\047\116
+\145\164\167\157\162\153\040\123\157\154\165\164\151\157\156\163
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\060\202\001\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
+\001\012\002\202\001\001\000\344\274\176\222\060\155\306\330\216
+\053\013\274\106\316\340\047\226\336\336\371\372\022\323\074\063
+\163\263\004\057\274\161\214\345\237\266\042\140\076\137\135\316
+\011\377\202\014\033\232\121\120\032\046\211\335\325\141\135\031
+\334\022\017\055\012\242\103\135\027\320\064\222\040\352\163\317
+\070\054\006\046\011\172\162\367\372\120\062\370\302\223\323\151
+\242\043\316\101\261\314\344\325\037\066\321\212\072\370\214\143
+\342\024\131\151\355\015\323\177\153\350\270\003\345\117\152\345
+\230\143\151\110\005\276\056\377\063\266\351\227\131\151\370\147
+\031\256\223\141\226\104\025\323\162\260\077\274\152\175\354\110
+\177\215\303\253\252\161\053\123\151\101\123\064\265\260\271\305
+\006\012\304\260\105\365\101\135\156\211\105\173\075\073\046\214
+\164\302\345\322\321\175\262\021\324\373\130\062\042\232\200\311
+\334\375\014\351\177\136\003\227\316\073\000\024\207\047\160\070
+\251\216\156\263\047\166\230\121\340\005\343\041\253\032\325\205
+\042\074\051\265\232\026\305\200\250\364\273\153\060\217\057\106
+\002\242\261\014\042\340\323\002\003\001\000\001\243\201\227\060
+\201\224\060\035\006\003\125\035\016\004\026\004\024\041\060\311
+\373\000\327\116\230\332\207\252\052\320\247\056\261\100\061\247
+\114\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\122\006\003\125\035\037\004\113\060\111\060\107\240
+\105\240\103\206\101\150\164\164\160\072\057\057\143\162\154\056
+\156\145\164\163\157\154\163\163\154\056\143\157\155\057\116\145
+\164\167\157\162\153\123\157\154\165\164\151\157\156\163\103\145
+\162\164\151\146\151\143\141\164\145\101\165\164\150\157\162\151
+\164\171\056\143\162\154\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\001\001\000\273\256\113\347\267\127
+\353\177\252\055\267\163\107\205\152\301\344\245\035\344\347\074
+\351\364\131\145\167\265\172\133\132\215\045\066\340\172\227\056
+\070\300\127\140\203\230\006\203\237\271\166\172\156\120\340\272
+\210\054\374\105\314\030\260\231\225\121\016\354\035\270\210\377
+\207\120\034\202\302\343\340\062\200\277\240\013\107\310\303\061
+\357\231\147\062\200\117\027\041\171\014\151\134\336\136\064\256
+\002\265\046\352\120\337\177\030\145\054\311\362\143\341\251\007
+\376\174\161\037\153\063\044\152\036\005\367\005\150\300\152\022
+\313\056\136\141\313\256\050\323\176\302\264\146\221\046\137\074
+\056\044\137\313\130\017\353\050\354\257\021\226\363\334\173\157
+\300\247\210\362\123\167\263\140\136\256\256\050\332\065\054\157
+\064\105\323\046\341\336\354\133\117\047\153\026\174\275\104\004
+\030\202\263\211\171\027\020\161\075\172\242\026\116\365\001\315
+\244\154\145\150\241\111\166\134\103\311\330\274\066\147\154\245
+\224\265\324\314\271\275\152\065\126\041\336\330\303\353\373\313
+\244\140\114\260\125\240\240\173\127\262
+END
+
+# Trust for Certificate "Network Solutions Certificate Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Network Solutions Certificate Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\164\370\243\303\357\347\263\220\006\113\203\220\074\041\144\140
+\040\345\337\316
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\323\363\246\026\300\372\153\035\131\261\055\226\115\016\021\056
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162
+\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056
+\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164
+\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103
+\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061
+\150\340
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "WellsSecure Public Root Certificate Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "WellsSecure Public Root Certificate Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163
+\040\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165
+\162\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154
+\154\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101
+\061\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163
+\123\145\143\165\162\145\040\120\165\142\154\151\143\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\145\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163
+\040\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165
+\162\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154
+\154\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101
+\061\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163
+\123\145\143\165\162\145\040\120\165\142\154\151\143\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\145\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\275\060\202\003\245\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\205\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163\040
+\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165\162
+\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154\154
+\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101\061
+\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163\123
+\145\143\165\162\145\040\120\165\142\154\151\143\040\122\157\157
+\164\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165
+\164\150\157\162\151\164\171\060\036\027\015\060\067\061\062\061
+\063\061\067\060\067\065\064\132\027\015\062\062\061\062\061\064
+\060\060\060\067\065\064\132\060\201\205\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004\012
+\014\027\127\145\154\154\163\040\106\141\162\147\157\040\127\145
+\154\154\163\123\145\143\165\162\145\061\034\060\032\006\003\125
+\004\013\014\023\127\145\154\154\163\040\106\141\162\147\157\040
+\102\141\156\153\040\116\101\061\066\060\064\006\003\125\004\003
+\014\055\127\145\154\154\163\123\145\143\165\162\145\040\120\165
+\142\154\151\143\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\060
+\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
+\356\157\264\275\171\342\217\010\041\236\070\004\101\045\357\253
+\133\034\123\222\254\155\236\335\302\304\056\105\224\003\065\210
+\147\164\127\343\337\214\270\247\166\217\073\367\250\304\333\051
+\143\016\221\150\066\212\227\216\212\161\150\011\007\344\350\324
+\016\117\370\326\053\114\244\026\371\357\103\230\217\263\236\122
+\337\155\221\071\217\070\275\167\213\103\143\353\267\223\374\060
+\114\034\001\223\266\023\373\367\241\037\277\045\341\164\067\054
+\036\244\136\074\150\370\113\277\015\271\036\056\066\350\251\344
+\247\370\017\313\202\165\174\065\055\042\326\302\277\013\363\264
+\374\154\225\141\036\127\327\004\201\062\203\122\171\346\203\143
+\317\267\313\143\213\021\342\275\136\353\366\215\355\225\162\050
+\264\254\022\142\351\112\063\346\203\062\256\005\165\225\275\204
+\225\333\052\134\233\216\056\014\270\201\053\101\346\070\126\237
+\111\233\154\166\372\212\135\367\001\171\201\174\301\203\100\005
+\376\161\375\014\077\314\116\140\011\016\145\107\020\057\001\300
+\005\077\217\370\263\101\357\132\102\176\131\357\322\227\014\145
+\002\003\001\000\001\243\202\001\064\060\202\001\060\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\071
+\006\003\125\035\037\004\062\060\060\060\056\240\054\240\052\206
+\050\150\164\164\160\072\057\057\143\162\154\056\160\153\151\056
+\167\145\154\154\163\146\141\162\147\157\056\143\157\155\057\167
+\163\160\162\143\141\056\143\162\154\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\306\060\035\006\003\125\035\016
+\004\026\004\024\046\225\031\020\331\350\241\227\221\377\334\031
+\331\265\004\076\322\163\012\152\060\201\262\006\003\125\035\043
+\004\201\252\060\201\247\200\024\046\225\031\020\331\350\241\227
+\221\377\334\031\331\265\004\076\322\163\012\152\241\201\213\244
+\201\210\060\201\205\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\040\060\036\006\003\125\004\012\014\027\127\145\154
+\154\163\040\106\141\162\147\157\040\127\145\154\154\163\123\145
+\143\165\162\145\061\034\060\032\006\003\125\004\013\014\023\127
+\145\154\154\163\040\106\141\162\147\157\040\102\141\156\153\040
+\116\101\061\066\060\064\006\003\125\004\003\014\055\127\145\154
+\154\163\123\145\143\165\162\145\040\120\165\142\154\151\143\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\145
+\040\101\165\164\150\157\162\151\164\171\202\001\001\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\271\025\261\104\221\314\043\310\053\115\167\343\370\232\173
+\047\015\315\162\273\231\000\312\174\146\031\120\306\325\230\355
+\253\277\003\132\345\115\345\036\310\117\161\227\206\325\343\035
+\375\220\311\074\165\167\127\172\175\370\336\364\324\325\367\225
+\346\164\156\035\074\256\174\235\333\002\003\005\054\161\113\045
+\076\007\343\136\232\365\146\027\051\210\032\070\237\317\252\101
+\003\204\227\153\223\070\172\312\060\104\033\044\104\063\320\344
+\321\334\050\070\364\023\103\065\065\051\143\250\174\242\265\255
+\070\244\355\255\375\306\232\037\377\227\163\376\373\263\065\247
+\223\206\306\166\221\000\346\254\121\026\304\047\062\134\333\163
+\332\245\223\127\216\076\155\065\046\010\131\325\347\104\327\166
+\040\143\347\254\023\147\303\155\261\160\106\174\325\226\021\075
+\211\157\135\250\241\353\215\012\332\303\035\063\154\243\352\147
+\031\232\231\177\113\075\203\121\052\035\312\057\206\014\242\176
+\020\055\053\324\026\225\013\007\252\056\024\222\111\267\051\157
+\330\155\061\175\365\374\241\020\007\207\316\057\131\334\076\130
+\333
+END
+
+# Trust for Certificate "WellsSecure Public Root Certificate Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "WellsSecure Public Root Certificate Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\347\264\366\235\141\354\220\151\333\176\220\247\100\032\074\364
+\175\117\350\356
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\025\254\245\302\222\055\171\274\350\177\313\147\355\002\317\066
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163
+\040\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165
+\162\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154
+\154\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101
+\061\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163
+\123\145\143\165\162\145\040\120\165\142\154\151\143\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\145\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "COMODO ECC Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "COMODO ECC Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
+\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
+\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\037\107\257\252\142\000\160\120\124\114\001\236\233\143
+\231\052
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\211\060\202\002\017\240\003\002\001\002\002\020\037
+\107\257\252\142\000\160\120\124\114\001\236\233\143\231\052\060
+\012\006\010\052\206\110\316\075\004\003\003\060\201\205\061\013
+\060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006
+\003\125\004\010\023\022\107\162\145\141\164\145\162\040\115\141
+\156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004
+\007\023\007\123\141\154\146\157\162\144\061\032\060\030\006\003
+\125\004\012\023\021\103\117\115\117\104\117\040\103\101\040\114
+\151\155\151\164\145\144\061\053\060\051\006\003\125\004\003\023
+\042\103\117\115\117\104\117\040\105\103\103\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\060\036\027\015\060\070\060\063\060\066\060\060\060
+\060\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071
+\065\071\132\060\201\205\061\013\060\011\006\003\125\004\006\023
+\002\107\102\061\033\060\031\006\003\125\004\010\023\022\107\162
+\145\141\164\145\162\040\115\141\156\143\150\145\163\164\145\162
+\061\020\060\016\006\003\125\004\007\023\007\123\141\154\146\157
+\162\144\061\032\060\030\006\003\125\004\012\023\021\103\117\115
+\117\104\117\040\103\101\040\114\151\155\151\164\145\144\061\053
+\060\051\006\003\125\004\003\023\042\103\117\115\117\104\117\040
+\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\060\166\060\020\006
+\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003
+\142\000\004\003\107\173\057\165\311\202\025\205\373\165\344\221
+\026\324\253\142\231\365\076\122\013\006\316\101\000\177\227\341
+\012\044\074\035\001\004\356\075\322\215\011\227\014\340\165\344
+\372\373\167\212\052\365\003\140\113\066\213\026\043\026\255\011
+\161\364\112\364\050\120\264\376\210\034\156\077\154\057\057\011
+\131\133\245\133\013\063\231\342\303\075\211\371\152\054\357\262
+\323\006\351\243\102\060\100\060\035\006\003\125\035\016\004\026
+\004\024\165\161\247\031\110\031\274\235\235\352\101\107\337\224
+\304\110\167\231\323\171\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\012\006\010\052\206\110\316\075
+\004\003\003\003\150\000\060\145\002\061\000\357\003\133\172\254
+\267\170\012\162\267\210\337\377\265\106\024\011\012\372\240\346
+\175\010\306\032\207\275\030\250\163\275\046\312\140\014\235\316
+\231\237\317\134\017\060\341\276\024\061\352\002\060\024\364\223
+\074\111\247\063\172\220\106\107\263\143\175\023\233\116\267\157
+\030\067\200\123\376\335\040\340\065\232\066\321\307\001\271\346
+\334\335\363\377\035\054\072\026\127\331\222\071\326
+END
+
+# Trust for Certificate "COMODO ECC Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "COMODO ECC Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\237\164\116\237\053\115\272\354\017\061\054\120\266\126\073\216
+\055\223\303\021
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\174\142\377\164\235\061\123\136\150\112\325\170\252\036\277\043
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
+\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\037\107\257\252\142\000\160\120\124\114\001\236\233\143
+\231\052
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "MD5 Collisions Forged Rogue CA 25c3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "MD5 Collisions Forged Rogue CA 25c3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\074\061\072\060\070\006\003\125\004\003\023\061\115\104\065
+\040\103\157\154\154\151\163\151\157\156\163\040\111\156\143\056
+\040\050\150\164\164\160\072\057\057\167\167\167\056\160\150\162
+\145\145\144\157\155\056\157\162\147\057\155\144\065\051
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060
+\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102
+\165\163\151\156\145\163\163\040\103\101\055\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\102
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\062\060\202\003\233\240\003\002\001\002\002\001\102
+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
+\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034
+\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141\170
+\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060\053
+\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040\123
+\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102\165
+\163\151\156\145\163\163\040\103\101\055\061\060\036\027\015\060
+\064\060\067\063\061\060\060\060\060\060\061\132\027\015\060\064
+\060\071\060\062\060\060\060\060\060\061\132\060\074\061\072\060
+\070\006\003\125\004\003\023\061\115\104\065\040\103\157\154\154
+\151\163\151\157\156\163\040\111\156\143\056\040\050\150\164\164
+\160\072\057\057\167\167\167\056\160\150\162\145\145\144\157\155
+\056\157\162\147\057\155\144\065\051\060\201\237\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060
+\201\211\002\201\201\000\272\246\131\311\054\050\326\052\260\370
+\355\237\106\244\244\067\356\016\031\150\131\321\263\003\231\121
+\326\026\232\136\067\153\025\340\016\113\365\204\144\370\243\333
+\101\157\065\325\233\025\037\333\304\070\122\160\201\227\136\217
+\240\265\367\176\071\360\062\254\036\255\104\322\263\372\110\303
+\316\221\233\354\364\234\174\341\132\365\310\067\153\232\203\336
+\347\312\040\227\061\102\163\025\221\150\364\210\257\371\050\050
+\305\351\017\163\260\027\113\023\114\231\165\320\104\346\176\010
+\154\032\362\117\033\101\002\003\001\000\001\243\202\002\044\060
+\202\002\040\060\013\006\003\125\035\017\004\004\003\002\001\306
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\035\006\003\125\035\016\004\026\004\024\247\004\140\037
+\253\162\103\010\305\177\010\220\125\126\034\326\316\346\070\353
+\060\037\006\003\125\035\043\004\030\060\026\200\024\276\250\240
+\164\162\120\153\104\267\311\043\330\373\250\377\263\127\153\150
+\154\060\202\001\276\006\011\140\206\110\001\206\370\102\001\015
+\004\202\001\257\026\202\001\253\063\000\000\000\047\136\071\340
+\211\141\017\116\243\305\105\013\066\273\001\321\123\252\303\010
+\217\157\370\117\076\207\207\104\021\334\140\340\337\222\125\371
+\270\163\033\124\223\305\237\320\106\304\140\266\065\142\315\271
+\257\034\250\151\032\311\133\074\226\067\300\355\147\357\273\376
+\300\213\234\120\057\051\275\203\042\236\216\010\372\254\023\160
+\242\130\177\142\142\212\021\367\211\366\337\266\147\131\163\026
+\373\143\026\212\264\221\070\316\056\365\266\276\114\244\224\111
+\344\145\021\012\102\025\311\301\060\342\151\325\105\175\245\046
+\273\271\141\354\142\144\360\071\341\347\274\150\330\120\121\236
+\035\140\323\321\243\247\012\370\003\040\241\160\001\027\221\066
+\117\002\160\061\206\203\335\367\017\330\007\035\021\263\023\004
+\245\334\360\256\120\261\050\016\143\151\052\014\202\157\217\107
+\063\337\154\242\006\222\361\117\105\276\331\060\066\243\053\214
+\326\167\256\065\143\177\116\114\232\223\110\066\331\237\002\003
+\001\000\001\243\201\275\060\201\272\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\004\360\060\035\006\003\125\035\016
+\004\026\004\024\315\246\203\372\245\140\067\367\226\067\027\051
+\336\101\170\361\207\211\125\347\060\073\006\003\125\035\037\004
+\064\060\062\060\060\240\056\240\054\206\052\150\164\164\160\072
+\057\057\143\162\154\056\147\145\157\164\162\165\163\164\056\143
+\157\155\057\143\162\154\163\057\147\154\157\142\141\154\143\141
+\061\056\143\162\154\060\037\006\003\125\035\043\004\030\060\026
+\200\024\276\250\240\164\162\120\153\104\267\311\043\330\373\250
+\377\263\127\153\150\154\060\035\006\003\125\035\045\004\026\060
+\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
+\005\005\007\003\002\060\014\006\003\125\035\023\001\001\377\004
+\002\060\000\060\015\006\011\052\206\110\206\367\015\001\001\004
+\005\000\003\201\201\000\247\041\002\215\321\016\242\200\167\045
+\375\103\140\025\217\354\357\220\107\324\204\102\025\046\021\034
+\315\302\074\020\051\251\266\337\253\127\165\221\332\345\053\263
+\220\105\034\060\143\126\077\212\331\120\372\355\130\154\300\145
+\254\146\127\336\034\306\166\073\365\000\016\216\105\316\177\114
+\220\354\053\306\315\263\264\217\142\320\376\267\305\046\162\104
+\355\366\230\133\256\313\321\225\365\332\010\276\150\106\261\165
+\310\354\035\217\036\172\224\361\252\123\170\242\105\256\124\352
+\321\236\164\310\166\147
+END
+
+# Trust for Certificate "MD5 Collisions Forged Rogue CA 25c3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "MD5 Collisions Forged Rogue CA 25c3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\144\043\023\176\134\123\326\112\246\144\205\355\066\124\365\253
+\005\132\213\212
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\026\172\023\025\271\027\071\243\361\005\152\346\076\331\072\070
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141
+\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060
+\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040
+\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102
+\165\163\151\156\145\163\163\040\103\101\055\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\102
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "IGC/A"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "IGC/A"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\106\122
+\061\017\060\015\006\003\125\004\010\023\006\106\162\141\156\143
+\145\061\016\060\014\006\003\125\004\007\023\005\120\141\162\151
+\163\061\020\060\016\006\003\125\004\012\023\007\120\115\057\123
+\107\104\116\061\016\060\014\006\003\125\004\013\023\005\104\103
+\123\123\111\061\016\060\014\006\003\125\004\003\023\005\111\107
+\103\057\101\061\043\060\041\006\011\052\206\110\206\367\015\001
+\011\001\026\024\151\147\143\141\100\163\147\144\156\056\160\155
+\056\147\157\165\166\056\146\162
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\106\122
+\061\017\060\015\006\003\125\004\010\023\006\106\162\141\156\143
+\145\061\016\060\014\006\003\125\004\007\023\005\120\141\162\151
+\163\061\020\060\016\006\003\125\004\012\023\007\120\115\057\123
+\107\104\116\061\016\060\014\006\003\125\004\013\023\005\104\103
+\123\123\111\061\016\060\014\006\003\125\004\003\023\005\111\107
+\103\057\101\061\043\060\041\006\011\052\206\110\206\367\015\001
+\011\001\026\024\151\147\143\141\100\163\147\144\156\056\160\155
+\056\147\157\165\166\056\146\162
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\005\071\021\105\020\224
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\002\060\202\002\352\240\003\002\001\002\002\005\071
+\021\105\020\224\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\060\201\205\061\013\060\011\006\003\125\004\006\023
+\002\106\122\061\017\060\015\006\003\125\004\010\023\006\106\162
+\141\156\143\145\061\016\060\014\006\003\125\004\007\023\005\120
+\141\162\151\163\061\020\060\016\006\003\125\004\012\023\007\120
+\115\057\123\107\104\116\061\016\060\014\006\003\125\004\013\023
+\005\104\103\123\123\111\061\016\060\014\006\003\125\004\003\023
+\005\111\107\103\057\101\061\043\060\041\006\011\052\206\110\206
+\367\015\001\011\001\026\024\151\147\143\141\100\163\147\144\156
+\056\160\155\056\147\157\165\166\056\146\162\060\036\027\015\060
+\062\061\062\061\063\061\064\062\071\062\063\132\027\015\062\060
+\061\060\061\067\061\064\062\071\062\062\132\060\201\205\061\013
+\060\011\006\003\125\004\006\023\002\106\122\061\017\060\015\006
+\003\125\004\010\023\006\106\162\141\156\143\145\061\016\060\014
+\006\003\125\004\007\023\005\120\141\162\151\163\061\020\060\016
+\006\003\125\004\012\023\007\120\115\057\123\107\104\116\061\016
+\060\014\006\003\125\004\013\023\005\104\103\123\123\111\061\016
+\060\014\006\003\125\004\003\023\005\111\107\103\057\101\061\043
+\060\041\006\011\052\206\110\206\367\015\001\011\001\026\024\151
+\147\143\141\100\163\147\144\156\056\160\155\056\147\157\165\166
+\056\146\162\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\262\037\321\320\142\305\063\073\300\004\206\210
+\263\334\370\210\367\375\337\103\337\172\215\232\111\134\366\116
+\252\314\034\271\241\353\047\211\362\106\351\073\112\161\325\035
+\216\055\317\346\255\253\143\120\307\124\013\156\022\311\220\066
+\306\330\057\332\221\252\150\305\162\376\027\012\262\027\176\171
+\265\062\210\160\312\160\300\226\112\216\344\125\315\035\047\224
+\277\316\162\052\354\134\371\163\040\376\275\367\056\211\147\270
+\273\107\163\022\367\321\065\151\072\362\012\271\256\377\106\102
+\106\242\277\241\205\032\371\277\344\377\111\205\367\243\160\206
+\062\034\135\237\140\367\251\255\245\377\317\321\064\371\175\133
+\027\306\334\326\016\050\153\302\335\361\365\063\150\235\116\374
+\207\174\066\022\326\243\200\350\103\015\125\141\224\352\144\067
+\107\352\167\312\320\262\130\005\303\135\176\261\250\106\220\061
+\126\316\160\052\226\262\060\270\167\346\171\300\275\051\073\375
+\224\167\114\275\040\315\101\045\340\056\307\033\273\356\244\004
+\101\322\135\255\022\152\212\233\107\373\311\335\106\100\341\235
+\074\063\320\265\002\003\001\000\001\243\167\060\165\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\013
+\006\003\125\035\017\004\004\003\002\001\106\060\025\006\003\125
+\035\040\004\016\060\014\060\012\006\010\052\201\172\001\171\001
+\001\001\060\035\006\003\125\035\016\004\026\004\024\243\005\057
+\030\140\120\302\211\012\335\053\041\117\377\216\116\250\060\061
+\066\060\037\006\003\125\035\043\004\030\060\026\200\024\243\005
+\057\030\140\120\302\211\012\335\053\041\117\377\216\116\250\060
+\061\066\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\202\001\001\000\005\334\046\330\372\167\025\104\150\374
+\057\146\072\164\340\135\344\051\377\006\007\023\204\112\253\317
+\155\240\037\121\224\370\111\313\164\066\024\274\025\335\333\211
+\057\335\217\240\135\174\365\022\353\237\236\070\244\107\314\263
+\226\331\276\234\045\253\003\176\063\017\225\201\015\375\026\340
+\210\276\067\360\154\135\320\061\233\062\053\135\027\145\223\230
+\140\274\156\217\261\250\074\036\331\034\363\251\046\102\371\144
+\035\302\347\222\366\364\036\132\252\031\122\135\257\350\242\367
+\140\240\366\215\360\211\365\156\340\012\005\001\225\311\213\040
+\012\272\132\374\232\054\074\275\303\267\311\135\170\045\005\077
+\126\024\233\014\332\373\072\110\376\227\151\136\312\020\206\367
+\116\226\004\010\115\354\260\276\135\334\073\216\117\301\375\232
+\066\064\232\114\124\176\027\003\110\225\010\021\034\007\157\205
+\010\176\135\115\304\235\333\373\256\316\262\321\263\270\203\154
+\035\262\263\171\361\330\160\231\176\360\023\002\316\136\335\121
+\323\337\066\201\241\033\170\057\161\263\361\131\114\106\030\050
+\253\205\322\140\126\132
+END
+
+# Trust for Certificate "IGC/A"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "IGC/A"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\140\326\211\164\265\302\145\236\212\017\301\210\174\210\322\106
+\151\033\030\054
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\014\177\335\152\364\052\271\310\233\275\040\176\251\333\134\067
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\106\122
+\061\017\060\015\006\003\125\004\010\023\006\106\162\141\156\143
+\145\061\016\060\014\006\003\125\004\007\023\005\120\141\162\151
+\163\061\020\060\016\006\003\125\004\012\023\007\120\115\057\123
+\107\104\116\061\016\060\014\006\003\125\004\013\023\005\104\103
+\123\123\111\061\016\060\014\006\003\125\004\003\023\005\111\107
+\103\057\101\061\043\060\041\006\011\052\206\110\206\367\015\001
+\011\001\026\024\151\147\143\141\100\163\147\144\156\056\160\155
+\056\147\157\165\166\056\146\162
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\005\071\021\105\020\224
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Security Communication EV RootCA1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Security Communication EV RootCA1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\140\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\052\060\050\006\003\125\004\013\023
+\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\105\126\040\122\157\157\164\103
+\101\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\140\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\052\060\050\006\003\125\004\013\023
+\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\105\126\040\122\157\157\164\103
+\101\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\175\060\202\002\145\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\140\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045
+\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124
+\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056
+\054\114\124\104\056\061\052\060\050\006\003\125\004\013\023\041
+\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151
+\143\141\164\151\157\156\040\105\126\040\122\157\157\164\103\101
+\061\060\036\027\015\060\067\060\066\060\066\060\062\061\062\063
+\062\132\027\015\063\067\060\066\060\066\060\062\061\062\063\062
+\132\060\140\061\013\060\011\006\003\125\004\006\023\002\112\120
+\061\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115
+\040\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103
+\117\056\054\114\124\104\056\061\052\060\050\006\003\125\004\013
+\023\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165
+\156\151\143\141\164\151\157\156\040\105\126\040\122\157\157\164
+\103\101\061\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\274\177\354\127\233\044\340\376\234\272\102\171
+\251\210\212\372\200\340\365\007\051\103\352\216\012\064\066\215
+\034\372\247\265\071\170\377\227\165\367\057\344\252\153\004\204
+\104\312\246\342\150\216\375\125\120\142\017\244\161\016\316\007
+\070\055\102\205\120\255\074\226\157\213\325\242\016\317\336\111
+\211\075\326\144\056\070\345\036\154\265\127\212\236\357\110\016
+\315\172\151\026\207\104\265\220\344\006\235\256\241\004\227\130
+\171\357\040\112\202\153\214\042\277\354\037\017\351\204\161\355
+\361\016\344\270\030\023\314\126\066\135\321\232\036\121\153\071
+\156\140\166\210\064\013\363\263\321\260\235\312\141\342\144\035
+\301\106\007\270\143\335\036\063\145\263\216\011\125\122\075\265
+\275\377\007\353\255\141\125\030\054\251\151\230\112\252\100\305
+\063\024\145\164\000\371\221\336\257\003\110\305\100\124\334\017
+\204\220\150\040\305\222\226\334\056\345\002\105\252\300\137\124
+\370\155\352\111\317\135\154\113\257\357\232\302\126\134\306\065
+\126\102\152\060\137\302\253\366\342\075\077\263\311\021\217\061
+\114\327\237\111\002\003\001\000\001\243\102\060\100\060\035\006
+\003\125\035\016\004\026\004\024\065\112\365\115\257\077\327\202
+\070\254\253\161\145\027\165\214\235\125\223\346\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\250\207\351\354\370\100\147\135\303\301\146\307\100\113\227
+\374\207\023\220\132\304\357\240\312\137\213\267\247\267\361\326
+\265\144\267\212\263\270\033\314\332\373\254\146\210\101\316\350
+\374\344\333\036\210\246\355\047\120\033\002\060\044\106\171\376
+\004\207\160\227\100\163\321\300\301\127\031\232\151\245\047\231
+\253\235\142\204\366\121\301\054\311\043\025\330\050\267\253\045
+\023\265\106\341\206\002\377\046\214\304\210\222\035\126\376\031
+\147\362\125\344\200\243\153\234\253\167\341\121\161\015\040\333
+\020\232\333\275\166\171\007\167\231\050\255\232\136\332\261\117
+\104\054\065\216\245\226\307\375\203\360\130\306\171\326\230\174
+\250\215\376\206\076\007\026\222\341\173\347\035\354\063\166\176
+\102\056\112\205\371\221\211\150\204\003\201\245\233\232\276\343
+\067\305\124\253\126\073\030\055\101\244\014\370\102\333\231\240
+\340\162\157\273\135\341\026\117\123\012\144\371\116\364\277\116
+\124\275\170\154\210\352\277\234\023\044\302\160\151\242\177\017
+\310\074\255\010\311\260\230\100\243\052\347\210\203\355\167\217
+\164
+END
+
+# Trust for Certificate "Security Communication EV RootCA1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Security Communication EV RootCA1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\376\270\304\062\334\371\166\232\316\256\075\330\220\217\375\050
+\206\145\144\175
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\042\055\246\001\352\174\012\367\360\154\126\103\077\167\166\323
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\140\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\052\060\050\006\003\125\004\013\023
+\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\105\126\040\122\157\157\164\103
+\101\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "OISTE WISeKey Global Root GA CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "OISTE WISeKey Global Root GA CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110
+\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113
+\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160
+\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061
+\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040
+\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162
+\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111
+\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142
+\141\154\040\122\157\157\164\040\107\101\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110
+\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113
+\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160
+\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061
+\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040
+\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162
+\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111
+\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142
+\141\154\040\122\157\157\164\040\107\101\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\101\075\162\307\364\153\037\201\103\175\361\322\050\124
+\337\232
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\361\060\202\002\331\240\003\002\001\002\002\020\101
+\075\162\307\364\153\037\201\103\175\361\322\050\124\337\232\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\212\061\013\060\011\006\003\125\004\006\023\002\103\110\061\020
+\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145\171
+\061\033\060\031\006\003\125\004\013\023\022\103\157\160\171\162
+\151\147\150\164\040\050\143\051\040\062\060\060\065\061\042\060
+\040\006\003\125\004\013\023\031\117\111\123\124\105\040\106\157
+\165\156\144\141\164\151\157\156\040\105\156\144\157\162\163\145
+\144\061\050\060\046\006\003\125\004\003\023\037\117\111\123\124
+\105\040\127\111\123\145\113\145\171\040\107\154\157\142\141\154
+\040\122\157\157\164\040\107\101\040\103\101\060\036\027\015\060
+\065\061\062\061\061\061\066\060\063\064\064\132\027\015\063\067
+\061\062\061\061\061\066\060\071\065\061\132\060\201\212\061\013
+\060\011\006\003\125\004\006\023\002\103\110\061\020\060\016\006
+\003\125\004\012\023\007\127\111\123\145\113\145\171\061\033\060
+\031\006\003\125\004\013\023\022\103\157\160\171\162\151\147\150
+\164\040\050\143\051\040\062\060\060\065\061\042\060\040\006\003
+\125\004\013\023\031\117\111\123\124\105\040\106\157\165\156\144
+\141\164\151\157\156\040\105\156\144\157\162\163\145\144\061\050
+\060\046\006\003\125\004\003\023\037\117\111\123\124\105\040\127
+\111\123\145\113\145\171\040\107\154\157\142\141\154\040\122\157
+\157\164\040\107\101\040\103\101\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\313\117\263\000\233\075\066
+\335\371\321\111\152\153\020\111\037\354\330\053\262\306\370\062
+\201\051\103\225\114\232\031\043\041\025\105\336\343\310\034\121
+\125\133\256\223\350\067\377\053\153\351\324\352\276\052\335\250
+\121\053\327\146\303\141\134\140\002\310\365\316\162\173\073\270
+\362\116\145\010\232\315\244\152\031\301\001\273\163\246\327\366
+\303\335\315\274\244\213\265\231\141\270\001\242\243\324\115\324
+\005\075\221\255\370\264\010\161\144\257\160\361\034\153\176\366
+\303\167\235\044\163\173\344\014\214\341\331\066\341\231\213\005
+\231\013\355\105\061\011\312\302\000\333\367\162\240\226\252\225
+\207\320\216\307\266\141\163\015\166\146\214\334\033\264\143\242
+\237\177\223\023\060\361\241\047\333\331\377\054\125\210\221\240
+\340\117\007\260\050\126\214\030\033\227\104\216\211\335\340\027
+\156\347\052\357\217\071\012\061\204\202\330\100\024\111\056\172
+\101\344\247\376\343\144\314\301\131\161\113\054\041\247\133\175
+\340\035\321\056\201\233\303\330\150\367\275\226\033\254\160\261
+\026\024\013\333\140\271\046\001\005\002\003\001\000\001\243\121
+\060\117\060\013\006\003\125\035\017\004\004\003\002\001\206\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\263\003\176\256\066
+\274\260\171\321\334\224\046\266\021\276\041\262\151\206\224\060
+\020\006\011\053\006\001\004\001\202\067\025\001\004\003\002\001
+\000\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\001\001\000\113\241\377\013\207\156\263\371\301\103\261
+\110\363\050\300\035\056\311\011\101\372\224\000\034\244\244\253
+\111\117\217\075\036\357\115\157\275\274\244\366\362\046\060\311
+\020\312\035\210\373\164\031\037\205\105\275\260\154\121\371\066
+\176\333\365\114\062\072\101\117\133\107\317\350\013\055\266\304
+\031\235\164\305\107\306\073\152\017\254\024\333\074\364\163\234
+\251\005\337\000\334\164\170\372\370\065\140\131\002\023\030\174
+\274\373\115\260\040\155\103\273\140\060\172\147\063\134\305\231
+\321\370\055\071\122\163\373\214\252\227\045\134\162\331\010\036
+\253\116\074\343\201\061\237\003\246\373\300\376\051\210\125\332
+\204\325\120\003\266\342\204\243\246\066\252\021\072\001\341\030
+\113\326\104\150\263\075\371\123\164\204\263\106\221\106\226\000
+\267\200\054\266\341\343\020\342\333\242\347\050\217\001\226\142
+\026\076\000\343\034\245\066\201\030\242\114\122\166\300\021\243
+\156\346\035\272\343\132\276\066\123\305\076\165\217\206\151\051
+\130\123\265\234\273\157\237\134\305\030\354\335\057\341\230\311
+\374\276\337\012\015
+END
+
+# Trust for Certificate "OISTE WISeKey Global Root GA CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "OISTE WISeKey Global Root GA CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\131\042\241\341\132\352\026\065\041\370\230\071\152\106\106\260
+\104\033\017\251
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\274\154\121\063\247\351\323\146\143\124\025\162\033\041\222\223
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110
+\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113
+\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160
+\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061
+\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040
+\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162
+\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111
+\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142
+\141\154\040\122\157\157\164\040\107\101\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\101\075\162\307\364\153\037\201\103\175\361\322\050\124
+\337\232
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "S-TRUST Authentication and Encryption Root CA 2005 PN"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "S-TRUST Authentication and Encryption Root CA 2005 PN"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156
+\055\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102
+\127\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165
+\164\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023
+\040\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153
+\141\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142
+\110\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122
+\125\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151
+\157\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157
+\156\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120
+\116
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156
+\055\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102
+\127\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165
+\164\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023
+\040\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153
+\141\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142
+\110\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122
+\125\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151
+\157\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157
+\156\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120
+\116
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\067\031\030\346\123\124\174\032\265\270\313\131\132\333
+\065\267
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\173\060\202\003\143\240\003\002\001\002\002\020\067
+\031\030\346\123\124\174\032\265\270\313\131\132\333\065\267\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\256\061\013\060\011\006\003\125\004\006\023\002\104\105\061\040
+\060\036\006\003\125\004\010\023\027\102\141\144\145\156\055\127
+\165\145\162\164\164\145\155\142\145\162\147\040\050\102\127\051
+\061\022\060\020\006\003\125\004\007\023\011\123\164\165\164\164
+\147\141\162\164\061\051\060\047\006\003\125\004\012\023\040\104
+\145\165\164\163\143\150\145\162\040\123\160\141\162\153\141\163
+\163\145\156\040\126\145\162\154\141\147\040\107\155\142\110\061
+\076\060\074\006\003\125\004\003\023\065\123\055\124\122\125\123
+\124\040\101\165\164\150\145\156\164\151\143\141\164\151\157\156
+\040\141\156\144\040\105\156\143\162\171\160\164\151\157\156\040
+\122\157\157\164\040\103\101\040\062\060\060\065\072\120\116\060
+\036\027\015\060\065\060\066\062\062\060\060\060\060\060\060\132
+\027\015\063\060\060\066\062\061\062\063\065\071\065\071\132\060
+\201\256\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156\055
+\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102\127
+\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165\164
+\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023\040
+\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153\141
+\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142\110
+\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122\125
+\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151\157
+\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157\156
+\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120\116
+\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
+\000\331\265\112\301\323\063\352\323\106\263\321\342\114\322\365
+\266\203\320\157\325\030\351\223\257\047\216\023\315\265\045\066
+\120\064\022\144\051\241\125\341\072\140\223\236\050\311\343\363
+\233\341\004\260\043\277\225\212\216\133\033\101\177\132\303\350
+\115\114\325\044\026\076\207\110\324\047\256\346\367\123\035\273
+\014\000\357\076\141\161\255\277\072\172\130\037\224\075\134\201
+\325\325\157\337\270\233\322\365\345\313\203\162\222\302\123\262
+\202\002\353\255\255\137\026\055\222\123\166\361\211\266\054\365
+\301\057\340\247\112\157\240\060\152\062\353\232\164\003\150\170
+\023\235\312\057\233\013\035\276\317\165\015\046\227\233\307\365
+\136\012\237\170\337\263\274\354\232\272\357\125\217\033\232\246
+\007\143\051\027\131\142\011\052\171\007\167\245\340\321\027\151
+\351\133\335\366\220\253\342\230\012\000\321\045\155\236\327\205
+\207\057\222\361\321\166\203\117\013\072\131\067\050\057\063\247
+\027\120\326\040\013\012\364\046\371\237\070\347\055\244\270\233
+\211\215\255\255\311\152\175\211\027\273\366\177\200\203\172\346
+\355\002\003\001\000\001\243\201\222\060\201\217\060\022\006\003
+\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001\000
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\051\006\003\125\035\021\004\042\060\040\244\036\060\034\061
+\032\060\030\006\003\125\004\003\023\021\123\124\122\157\156\154
+\151\156\145\061\055\062\060\064\070\055\065\060\035\006\003\125
+\035\016\004\026\004\024\017\312\036\134\171\340\242\363\051\266
+\322\205\263\013\112\265\145\354\153\122\060\037\006\003\125\035
+\043\004\030\060\026\200\024\017\312\036\134\171\340\242\363\051
+\266\322\205\263\013\112\265\145\354\153\122\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\257
+\001\360\355\031\074\050\350\115\134\273\245\143\034\210\063\003
+\247\000\207\244\037\040\253\326\034\343\006\037\227\176\124\275
+\267\321\262\311\325\332\200\354\027\327\212\365\173\302\000\366
+\351\021\157\204\240\132\045\061\342\211\371\244\000\077\061\150
+\056\325\075\350\156\346\325\035\074\077\262\275\237\167\353\235
+\323\214\272\300\327\266\115\354\123\234\017\004\156\352\065\147
+\127\343\012\145\173\220\072\341\117\076\303\000\222\172\273\005
+\211\163\214\313\246\115\300\373\366\002\326\260\007\243\003\302
+\047\100\237\014\344\205\202\055\257\232\102\035\320\307\215\370
+\100\356\235\006\127\034\331\242\330\200\024\376\341\143\055\062
+\207\325\224\122\226\072\106\306\161\226\075\367\230\016\262\221
+\252\217\332\364\116\044\000\071\125\350\255\027\271\323\064\053
+\112\251\100\314\027\052\125\145\101\164\102\176\365\300\257\310
+\223\255\362\030\133\075\211\014\333\107\071\044\370\340\114\362
+\037\260\075\012\312\005\116\211\041\032\343\052\231\254\374\177
+\241\361\017\033\037\075\236\004\203\335\226\331\035\072\224
+END
+
+# Trust for Certificate "S-TRUST Authentication and Encryption Root CA 2005 PN"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "S-TRUST Authentication and Encryption Root CA 2005 PN"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\276\265\251\225\164\153\236\337\163\213\126\346\337\103\172\167
+\276\020\153\201
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\004\113\375\311\154\332\052\062\205\174\131\204\141\106\212\144
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156
+\055\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102
+\127\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165
+\164\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023
+\040\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153
+\141\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142
+\110\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122
+\125\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151
+\157\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157
+\156\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120
+\116
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\067\031\030\346\123\124\174\032\265\270\313\131\132\333
+\065\267
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Microsec e-Szigno Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Microsec e-Szigno Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145
+\163\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143
+\162\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003
+\125\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101
+\061\042\060\040\006\003\125\004\003\023\031\115\151\143\162\157
+\163\145\143\040\145\055\123\172\151\147\156\157\040\122\157\157
+\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145
+\163\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143
+\162\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003
+\125\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101
+\061\042\060\040\006\003\125\004\003\023\031\115\151\143\162\157
+\163\145\143\040\145\055\123\172\151\147\156\157\040\122\157\157
+\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\314\270\347\277\116\051\032\375\242\334\146\245\034
+\054\017\021
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\007\250\060\202\006\220\240\003\002\001\002\002\021\000
+\314\270\347\277\116\051\032\375\242\334\146\245\034\054\017\021
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021
+\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145\163
+\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143\162
+\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003\125
+\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101\061
+\042\060\040\006\003\125\004\003\023\031\115\151\143\162\157\163
+\145\143\040\145\055\123\172\151\147\156\157\040\122\157\157\164
+\040\103\101\060\036\027\015\060\065\060\064\060\066\061\062\062
+\070\064\064\132\027\015\061\067\060\064\060\066\061\062\062\070
+\064\064\132\060\162\061\013\060\011\006\003\125\004\006\023\002
+\110\125\061\021\060\017\006\003\125\004\007\023\010\102\165\144
+\141\160\145\163\164\061\026\060\024\006\003\125\004\012\023\015
+\115\151\143\162\157\163\145\143\040\114\164\144\056\061\024\060
+\022\006\003\125\004\013\023\013\145\055\123\172\151\147\156\157
+\040\103\101\061\042\060\040\006\003\125\004\003\023\031\115\151
+\143\162\157\163\145\143\040\145\055\123\172\151\147\156\157\040
+\122\157\157\164\040\103\101\060\202\001\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060
+\202\001\012\002\202\001\001\000\355\310\000\325\201\173\315\070
+\000\107\314\333\204\301\041\151\054\164\220\014\041\331\123\207
+\355\076\103\104\123\257\253\370\200\233\074\170\215\324\215\256
+\270\357\323\021\334\201\346\317\073\226\214\326\157\025\306\167
+\176\241\057\340\137\222\266\047\327\166\232\035\103\074\352\331
+\354\057\356\071\363\152\147\113\213\202\317\042\370\145\125\376
+\054\313\057\175\110\172\075\165\371\252\240\047\273\170\302\006
+\312\121\302\176\146\113\257\315\242\247\115\002\202\077\202\254
+\205\306\341\017\220\107\231\224\012\161\162\223\052\311\246\300
+\276\074\126\114\163\222\047\361\153\265\365\375\374\060\005\140
+\222\306\353\226\176\001\221\302\151\261\036\035\173\123\105\270
+\334\101\037\311\213\161\326\124\024\343\213\124\170\077\276\364
+\142\073\133\365\243\354\325\222\164\342\164\060\357\001\333\341
+\324\253\231\233\052\153\370\275\246\034\206\043\102\137\354\111
+\336\232\213\133\364\162\072\100\305\111\076\245\276\216\252\161
+\353\154\372\365\032\344\152\375\173\175\125\100\357\130\156\346
+\331\325\274\044\253\301\357\267\002\003\001\000\001\243\202\004
+\067\060\202\004\063\060\147\006\010\053\006\001\005\005\007\001
+\001\004\133\060\131\060\050\006\010\053\006\001\005\005\007\060
+\001\206\034\150\164\164\160\163\072\057\057\162\143\141\056\145
+\055\163\172\151\147\156\157\056\150\165\057\157\143\163\160\060
+\055\006\010\053\006\001\005\005\007\060\002\206\041\150\164\164
+\160\072\057\057\167\167\167\056\145\055\163\172\151\147\156\157
+\056\150\165\057\122\157\157\164\103\101\056\143\162\164\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\202\001\163\006\003\125\035\040\004\202\001\152\060\202\001\146
+\060\202\001\142\006\014\053\006\001\004\001\201\250\030\002\001
+\001\001\060\202\001\120\060\050\006\010\053\006\001\005\005\007
+\002\001\026\034\150\164\164\160\072\057\057\167\167\167\056\145
+\055\163\172\151\147\156\157\056\150\165\057\123\132\123\132\057
+\060\202\001\042\006\010\053\006\001\005\005\007\002\002\060\202
+\001\024\036\202\001\020\000\101\000\040\000\164\000\141\000\156
+\000\372\000\163\000\355\000\164\000\166\000\341\000\156\000\171
+\000\040\000\351\000\162\000\164\000\145\000\154\000\155\000\145
+\000\172\000\351\000\163\000\351\000\150\000\145\000\172\000\040
+\000\351\000\163\000\040\000\145\000\154\000\146\000\157\000\147
+\000\141\000\144\000\341\000\163\000\341\000\150\000\157\000\172
+\000\040\000\141\000\040\000\123\000\172\000\157\000\154\000\147
+\000\341\000\154\000\164\000\141\000\164\000\363\000\040\000\123
+\000\172\000\157\000\154\000\147\000\341\000\154\000\164\000\141
+\000\164\000\341\000\163\000\151\000\040\000\123\000\172\000\141
+\000\142\000\341\000\154\000\171\000\172\000\141\000\164\000\141
+\000\040\000\163\000\172\000\145\000\162\000\151\000\156\000\164
+\000\040\000\153\000\145\000\154\000\154\000\040\000\145\000\154
+\000\152\000\341\000\162\000\156\000\151\000\072\000\040\000\150
+\000\164\000\164\000\160\000\072\000\057\000\057\000\167\000\167
+\000\167\000\056\000\145\000\055\000\163\000\172\000\151\000\147
+\000\156\000\157\000\056\000\150\000\165\000\057\000\123\000\132
+\000\123\000\132\000\057\060\201\310\006\003\125\035\037\004\201
+\300\060\201\275\060\201\272\240\201\267\240\201\264\206\041\150
+\164\164\160\072\057\057\167\167\167\056\145\055\163\172\151\147
+\156\157\056\150\165\057\122\157\157\164\103\101\056\143\162\154
+\206\201\216\154\144\141\160\072\057\057\154\144\141\160\056\145
+\055\163\172\151\147\156\157\056\150\165\057\103\116\075\115\151
+\143\162\157\163\145\143\045\062\060\145\055\123\172\151\147\156
+\157\045\062\060\122\157\157\164\045\062\060\103\101\054\117\125
+\075\145\055\123\172\151\147\156\157\045\062\060\103\101\054\117
+\075\115\151\143\162\157\163\145\143\045\062\060\114\164\144\056
+\054\114\075\102\165\144\141\160\145\163\164\054\103\075\110\125
+\077\143\145\162\164\151\146\151\143\141\164\145\122\145\166\157
+\143\141\164\151\157\156\114\151\163\164\073\142\151\156\141\162
+\171\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\201\226\006\003\125\035\021\004\201\216\060\201\213\201
+\020\151\156\146\157\100\145\055\163\172\151\147\156\157\056\150
+\165\244\167\060\165\061\043\060\041\006\003\125\004\003\014\032
+\115\151\143\162\157\163\145\143\040\145\055\123\172\151\147\156
+\303\263\040\122\157\157\164\040\103\101\061\026\060\024\006\003
+\125\004\013\014\015\145\055\123\172\151\147\156\303\263\040\110
+\123\132\061\026\060\024\006\003\125\004\012\023\015\115\151\143
+\162\157\163\145\143\040\113\146\164\056\061\021\060\017\006\003
+\125\004\007\023\010\102\165\144\141\160\145\163\164\061\013\060
+\011\006\003\125\004\006\023\002\110\125\060\201\254\006\003\125
+\035\043\004\201\244\060\201\241\200\024\307\240\111\165\026\141
+\204\333\061\113\204\322\361\067\100\220\357\116\334\367\241\166
+\244\164\060\162\061\013\060\011\006\003\125\004\006\023\002\110
+\125\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141
+\160\145\163\164\061\026\060\024\006\003\125\004\012\023\015\115
+\151\143\162\157\163\145\143\040\114\164\144\056\061\024\060\022
+\006\003\125\004\013\023\013\145\055\123\172\151\147\156\157\040
+\103\101\061\042\060\040\006\003\125\004\003\023\031\115\151\143
+\162\157\163\145\143\040\145\055\123\172\151\147\156\157\040\122
+\157\157\164\040\103\101\202\021\000\314\270\347\277\116\051\032
+\375\242\334\146\245\034\054\017\021\060\035\006\003\125\035\016
+\004\026\004\024\307\240\111\165\026\141\204\333\061\113\204\322
+\361\067\100\220\357\116\334\367\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\001\001\000\323\023\234\146
+\143\131\056\312\134\160\014\374\203\274\125\261\364\216\007\154
+\146\047\316\301\073\040\251\034\273\106\124\160\356\132\314\240
+\167\352\150\104\047\353\362\051\335\167\251\325\373\343\324\247
+\004\304\225\270\013\341\104\150\140\007\103\060\061\102\141\345
+\356\331\345\044\325\033\337\341\112\033\252\237\307\137\370\172
+\021\352\023\223\000\312\212\130\261\356\355\016\115\264\327\250
+\066\046\174\340\072\301\325\127\202\361\165\266\375\211\137\332
+\363\250\070\237\065\006\010\316\042\225\276\315\325\374\276\133
+\336\171\153\334\172\251\145\146\276\261\045\132\137\355\176\323
+\254\106\155\114\364\062\207\264\040\004\340\154\170\260\167\321
+\205\106\113\246\022\267\165\350\112\311\126\154\327\222\253\235
+\365\111\070\322\117\123\343\125\220\021\333\230\226\306\111\362
+\076\364\237\033\340\367\210\334\045\142\231\104\330\163\277\077
+\060\363\014\067\076\324\302\050\200\163\261\001\267\235\132\226
+\024\001\113\251\021\235\051\152\056\320\135\201\300\317\262\040
+\103\307\003\340\067\116\135\012\334\131\040\045
+END
+
+# Trust for Certificate "Microsec e-Szigno Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Microsec e-Szigno Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\043\210\311\323\161\314\236\226\075\377\175\074\247\316\374\326
+\045\354\031\015
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\360\226\266\057\305\020\325\147\216\203\045\062\350\136\056\345
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145
+\163\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143
+\162\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003
+\125\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101
+\061\042\060\040\006\003\125\004\003\023\031\115\151\143\162\157
+\163\145\143\040\145\055\123\172\151\147\156\157\040\122\157\157
+\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\314\270\347\277\116\051\032\375\242\334\146\245\034
+\054\017\021
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Certigna"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certigna"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
+\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145
+\162\164\151\147\156\141
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
+\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145
+\162\164\151\147\156\141
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\376\334\343\001\017\311\110\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\250\060\202\002\220\240\003\002\001\002\002\011\000
+\376\334\343\001\017\311\110\377\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\060\064\061\013\060\011\006\003\125
+\004\006\023\002\106\122\061\022\060\020\006\003\125\004\012\014
+\011\104\150\151\155\171\157\164\151\163\061\021\060\017\006\003
+\125\004\003\014\010\103\145\162\164\151\147\156\141\060\036\027
+\015\060\067\060\066\062\071\061\065\061\063\060\065\132\027\015
+\062\067\060\066\062\071\061\065\061\063\060\065\132\060\064\061
+\013\060\011\006\003\125\004\006\023\002\106\122\061\022\060\020
+\006\003\125\004\012\014\011\104\150\151\155\171\157\164\151\163
+\061\021\060\017\006\003\125\004\003\014\010\103\145\162\164\151
+\147\156\141\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\310\150\361\311\326\326\263\064\165\046\202\036
+\354\264\276\352\134\341\046\355\021\107\141\341\242\174\026\170
+\100\041\344\140\236\132\310\143\341\304\261\226\222\377\030\155
+\151\043\341\053\142\367\335\342\066\057\221\007\271\110\317\016
+\354\171\266\054\347\064\113\160\010\045\243\074\207\033\031\362
+\201\007\017\070\220\031\323\021\376\206\264\362\321\136\036\036
+\226\315\200\154\316\073\061\223\266\362\240\320\251\225\022\175
+\245\232\314\153\310\204\126\212\063\251\347\042\025\123\026\360
+\314\027\354\127\137\351\242\012\230\011\336\343\137\234\157\334
+\110\343\205\013\025\132\246\272\237\254\110\343\011\262\367\364
+\062\336\136\064\276\034\170\135\102\133\316\016\042\217\115\220
+\327\175\062\030\263\013\054\152\277\216\077\024\021\211\040\016
+\167\024\265\075\224\010\207\367\045\036\325\262\140\000\354\157
+\052\050\045\156\052\076\030\143\027\045\077\076\104\040\026\366
+\046\310\045\256\005\112\264\347\143\054\363\214\026\123\176\134
+\373\021\032\010\301\106\142\237\042\270\361\302\215\151\334\372
+\072\130\006\337\002\003\001\000\001\243\201\274\060\201\271\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\032\355\376\101\071
+\220\264\044\131\276\001\362\122\325\105\366\132\071\334\021\060
+\144\006\003\125\035\043\004\135\060\133\200\024\032\355\376\101
+\071\220\264\044\131\276\001\362\122\325\105\366\132\071\334\021
+\241\070\244\066\060\064\061\013\060\011\006\003\125\004\006\023
+\002\106\122\061\022\060\020\006\003\125\004\012\014\011\104\150
+\151\155\171\157\164\151\163\061\021\060\017\006\003\125\004\003
+\014\010\103\145\162\164\151\147\156\141\202\011\000\376\334\343
+\001\017\311\110\377\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\021\006\011\140\206\110\001\206\370\102
+\001\001\004\004\003\002\000\007\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\001\001\000\205\003\036\222
+\161\366\102\257\341\243\141\236\353\363\300\017\362\245\324\332
+\225\346\326\276\150\066\075\176\156\037\114\212\357\321\017\041
+\155\136\245\122\143\316\022\370\357\052\332\157\353\067\376\023
+\002\307\313\073\076\042\153\332\141\056\177\324\162\075\335\060
+\341\036\114\100\031\214\017\327\234\321\203\060\173\230\131\334
+\175\306\271\014\051\114\241\063\242\353\147\072\145\204\323\226
+\342\355\166\105\160\217\265\053\336\371\043\326\111\156\074\024
+\265\306\237\065\036\120\320\301\217\152\160\104\002\142\313\256
+\035\150\101\247\252\127\350\123\252\007\322\006\366\325\024\006
+\013\221\003\165\054\154\162\265\141\225\232\015\213\271\015\347
+\365\337\124\315\336\346\330\326\011\010\227\143\345\301\056\260
+\267\104\046\300\046\300\257\125\060\236\073\325\066\052\031\004
+\364\134\036\377\317\054\267\377\320\375\207\100\021\325\021\043
+\273\110\300\041\251\244\050\055\375\025\370\260\116\053\364\060
+\133\041\374\021\221\064\276\101\357\173\235\227\165\377\227\225
+\300\226\130\057\352\273\106\327\273\344\331\056
+END
+
+# Trust for Certificate "Certigna"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certigna"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\261\056\023\143\105\206\244\157\032\262\140\150\067\130\055\304
+\254\375\224\227
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\253\127\246\133\175\102\202\031\265\330\130\046\050\136\375\377
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
+\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145
+\162\164\151\147\156\141
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\376\334\343\001\017\311\110\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AC Raiz Certicamara S.A."
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AC Ra\xC3\xADz Certic\xC3\xA1mara S.A."
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\103\117\061
+\107\060\105\006\003\125\004\012\014\076\123\157\143\151\145\144
+\141\144\040\103\141\155\145\162\141\154\040\144\145\040\103\145
+\162\164\151\146\151\143\141\143\151\303\263\156\040\104\151\147
+\151\164\141\154\040\055\040\103\145\162\164\151\143\303\241\155
+\141\162\141\040\123\056\101\056\061\043\060\041\006\003\125\004
+\003\014\032\101\103\040\122\141\303\255\172\040\103\145\162\164
+\151\143\303\241\155\141\162\141\040\123\056\101\056
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\103\117\061
+\107\060\105\006\003\125\004\012\014\076\123\157\143\151\145\144
+\141\144\040\103\141\155\145\162\141\154\040\144\145\040\103\145
+\162\164\151\146\151\143\141\143\151\303\263\156\040\104\151\147
+\151\164\141\154\040\055\040\103\145\162\164\151\143\303\241\155
+\141\162\141\040\123\056\101\056\061\043\060\041\006\003\125\004
+\003\014\032\101\103\040\122\141\303\255\172\040\103\145\162\164
+\151\143\303\241\155\141\162\141\040\123\056\101\056
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\017\007\176\122\223\173\340\025\343\127\360\151\214\313\354
+\014
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\146\060\202\004\116\240\003\002\001\002\002\017\007
+\176\122\223\173\340\025\343\127\360\151\214\313\354\014\060\015
+\006\011\052\206\110\206\367\015\001\001\005\005\000\060\173\061
+\013\060\011\006\003\125\004\006\023\002\103\117\061\107\060\105
+\006\003\125\004\012\014\076\123\157\143\151\145\144\141\144\040
+\103\141\155\145\162\141\154\040\144\145\040\103\145\162\164\151
+\146\151\143\141\143\151\303\263\156\040\104\151\147\151\164\141
+\154\040\055\040\103\145\162\164\151\143\303\241\155\141\162\141
+\040\123\056\101\056\061\043\060\041\006\003\125\004\003\014\032
+\101\103\040\122\141\303\255\172\040\103\145\162\164\151\143\303
+\241\155\141\162\141\040\123\056\101\056\060\036\027\015\060\066
+\061\061\062\067\062\060\064\066\062\071\132\027\015\063\060\060
+\064\060\062\062\061\064\062\060\062\132\060\173\061\013\060\011
+\006\003\125\004\006\023\002\103\117\061\107\060\105\006\003\125
+\004\012\014\076\123\157\143\151\145\144\141\144\040\103\141\155
+\145\162\141\154\040\144\145\040\103\145\162\164\151\146\151\143
+\141\143\151\303\263\156\040\104\151\147\151\164\141\154\040\055
+\040\103\145\162\164\151\143\303\241\155\141\162\141\040\123\056
+\101\056\061\043\060\041\006\003\125\004\003\014\032\101\103\040
+\122\141\303\255\172\040\103\145\162\164\151\143\303\241\155\141
+\162\141\040\123\056\101\056\060\202\002\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
+\202\002\012\002\202\002\001\000\253\153\211\243\123\314\110\043
+\010\373\303\317\121\226\010\056\270\010\172\155\074\220\027\206
+\251\351\355\056\023\064\107\262\320\160\334\311\074\320\215\312
+\356\113\027\253\320\205\260\247\043\004\313\250\242\374\345\165
+\333\100\312\142\211\217\120\236\001\075\046\133\030\204\034\313
+\174\067\267\175\354\323\177\163\031\260\152\262\330\210\212\055
+\105\164\250\367\263\270\300\324\332\315\042\211\164\115\132\025
+\071\163\030\164\117\265\353\231\247\301\036\210\264\302\223\220
+\143\227\363\247\247\022\262\011\042\007\063\331\221\315\016\234
+\037\016\040\307\356\273\063\215\217\302\322\130\247\137\375\145
+\067\342\210\302\330\217\206\165\136\371\055\247\207\063\362\170
+\067\057\213\274\035\206\067\071\261\224\362\330\274\112\234\203
+\030\132\006\374\363\324\324\272\214\025\011\045\360\371\266\215
+\004\176\027\022\063\153\127\110\114\117\333\046\036\353\314\220
+\347\213\371\150\174\160\017\243\052\320\072\070\337\067\227\342
+\133\336\200\141\323\200\330\221\203\102\132\114\004\211\150\021
+\074\254\137\150\200\101\314\140\102\316\015\132\052\014\017\233
+\060\300\246\360\206\333\253\111\327\227\155\110\213\371\003\300
+\122\147\233\022\367\302\362\056\230\145\102\331\326\232\343\320
+\031\061\014\255\207\325\127\002\172\060\350\206\046\373\217\043
+\212\124\207\344\277\074\356\353\303\165\110\137\036\071\157\201
+\142\154\305\055\304\027\124\031\267\067\215\234\067\221\310\366
+\013\325\352\143\157\203\254\070\302\363\077\336\232\373\341\043
+\141\360\310\046\313\066\310\241\363\060\217\244\243\242\241\335
+\123\263\336\360\232\062\037\203\221\171\060\301\251\037\123\233
+\123\242\025\123\077\335\235\263\020\073\110\175\211\017\374\355
+\003\365\373\045\144\165\016\027\031\015\217\000\026\147\171\172
+\100\374\055\131\007\331\220\372\232\255\075\334\200\212\346\134
+\065\242\147\114\021\153\261\370\200\144\000\055\157\042\141\305
+\254\113\046\345\132\020\202\233\244\203\173\064\367\236\211\221
+\040\227\216\267\102\307\146\303\320\351\244\326\365\040\215\304
+\303\225\254\104\012\235\133\163\074\046\075\057\112\276\247\311
+\247\020\036\373\237\120\151\363\002\003\001\000\001\243\201\346
+\060\201\343\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\321
+\011\320\351\327\316\171\164\124\371\072\060\263\364\155\054\003
+\003\033\150\060\201\240\006\003\125\035\040\004\201\230\060\201
+\225\060\201\222\006\004\125\035\040\000\060\201\211\060\053\006
+\010\053\006\001\005\005\007\002\001\026\037\150\164\164\160\072
+\057\057\167\167\167\056\143\145\162\164\151\143\141\155\141\162
+\141\056\143\157\155\057\144\160\143\057\060\132\006\010\053\006
+\001\005\005\007\002\002\060\116\032\114\114\151\155\151\164\141
+\143\151\157\156\145\163\040\144\145\040\147\141\162\141\156\164
+\355\141\163\040\144\145\040\145\163\164\145\040\143\145\162\164
+\151\146\151\143\141\144\157\040\163\145\040\160\165\145\144\145
+\156\040\145\156\143\157\156\164\162\141\162\040\145\156\040\154
+\141\040\104\120\103\056\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\002\001\000\134\224\265\270\105\221
+\115\216\141\037\003\050\017\123\174\346\244\131\251\263\212\172
+\305\260\377\010\174\054\243\161\034\041\023\147\241\225\022\100
+\065\203\203\217\164\333\063\134\360\111\166\012\201\122\335\111
+\324\232\062\063\357\233\247\313\165\345\172\313\227\022\220\134
+\272\173\305\233\337\273\071\043\310\377\230\316\012\115\042\001
+\110\007\176\212\300\325\040\102\224\104\357\277\167\242\211\147
+\110\033\100\003\005\241\211\354\317\142\343\075\045\166\146\277
+\046\267\273\042\276\157\377\071\127\164\272\172\311\001\225\301
+\225\121\350\253\054\370\261\206\040\351\077\313\065\133\322\027
+\351\052\376\203\023\027\100\356\210\142\145\133\325\073\140\351
+\173\074\270\311\325\177\066\002\045\252\150\302\061\025\267\060
+\145\353\177\035\110\171\261\317\071\342\102\200\026\323\365\223
+\043\374\114\227\311\132\067\154\174\042\330\112\315\322\216\066
+\203\071\221\220\020\310\361\311\065\176\077\270\323\201\306\040
+\144\032\266\120\302\041\244\170\334\320\057\073\144\223\164\360
+\226\220\361\357\373\011\132\064\100\226\360\066\022\301\243\164
+\214\223\176\101\336\167\213\354\206\331\322\017\077\055\321\314
+\100\242\211\146\110\036\040\263\234\043\131\163\251\104\163\274
+\044\171\220\126\067\263\306\051\176\243\017\361\051\071\357\176
+\134\050\062\160\065\254\332\270\310\165\146\374\233\114\071\107
+\216\033\157\233\115\002\124\042\063\357\141\272\236\051\204\357
+\116\113\063\107\166\227\152\313\176\137\375\025\246\236\102\103
+\133\146\132\212\210\015\367\026\271\077\121\145\053\146\152\213
+\321\070\122\242\326\106\021\372\374\232\034\164\236\217\227\013
+\002\117\144\306\365\150\323\113\055\377\244\067\036\213\077\277
+\104\276\141\106\241\204\075\010\047\114\201\040\167\211\010\352
+\147\100\136\154\010\121\137\064\132\214\226\150\315\327\367\211
+\302\034\323\062\000\257\122\313\323\140\133\052\072\107\176\153
+\060\063\241\142\051\177\112\271\341\055\347\024\043\016\016\030
+\107\341\171\374\025\125\320\261\374\045\161\143\165\063\034\043
+\053\257\134\331\355\107\167\140\016\073\017\036\322\300\334\144
+\005\211\374\170\326\134\054\046\103\251
+END
+
+# Trust for Certificate "AC Raiz Certicamara S.A."
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AC Ra\xC3\xADz Certic\xC3\xA1mara S.A."
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\313\241\305\370\260\343\136\270\271\105\022\323\371\064\242\351
+\006\020\323\066
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\223\052\076\366\375\043\151\015\161\040\324\053\107\231\053\246
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\103\117\061
+\107\060\105\006\003\125\004\012\014\076\123\157\143\151\145\144
+\141\144\040\103\141\155\145\162\141\154\040\144\145\040\103\145
+\162\164\151\146\151\143\141\143\151\303\263\156\040\104\151\147
+\151\164\141\154\040\055\040\103\145\162\164\151\143\303\241\155
+\141\162\141\040\123\056\101\056\061\043\060\041\006\003\125\004
+\003\014\032\101\103\040\122\141\303\255\172\040\103\145\162\164
+\151\143\303\241\155\141\162\141\040\123\056\101\056
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\017\007\176\122\223\173\340\025\343\127\360\151\214\313\354
+\014
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TC TrustCenter Class 2 CA II"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Class 2 CA II"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060
+\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103
+\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\062\040\103\101\040\111\111
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060
+\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103
+\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\062\040\103\101\040\111\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\056\152\000\001\000\002\037\327\122\041\054\021\134\073
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\252\060\202\003\222\240\003\002\001\002\002\016\056
+\152\000\001\000\002\037\327\122\041\054\021\134\073\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\060\166\061\013
+\060\011\006\003\125\004\006\023\002\104\105\061\034\060\032\006
+\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145
+\156\164\145\162\040\107\155\142\110\061\042\060\040\006\003\125
+\004\013\023\031\124\103\040\124\162\165\163\164\103\145\156\164
+\145\162\040\103\154\141\163\163\040\062\040\103\101\061\045\060
+\043\006\003\125\004\003\023\034\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103
+\101\040\111\111\060\036\027\015\060\066\060\061\061\062\061\064
+\063\070\064\063\132\027\015\062\065\061\062\063\061\062\062\065
+\071\065\071\132\060\166\061\013\060\011\006\003\125\004\006\023
+\002\104\105\061\034\060\032\006\003\125\004\012\023\023\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\107\155\142
+\110\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\062\040\103\101\061\045\060\043\006\003\125\004\003\023\034
+\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040\103
+\154\141\163\163\040\062\040\103\101\040\111\111\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\253\200\207
+\233\216\360\303\174\207\327\350\044\202\021\263\074\335\103\142
+\356\370\303\105\332\350\341\240\137\321\052\262\352\223\150\337
+\264\310\326\103\351\304\165\131\177\374\341\035\370\061\160\043
+\033\210\236\047\271\173\375\072\322\311\251\351\024\057\220\276
+\003\122\301\111\315\366\375\344\010\146\013\127\212\242\102\240
+\270\325\177\151\134\220\062\262\227\015\312\112\334\106\076\002
+\125\211\123\343\032\132\313\066\306\007\126\367\214\317\021\364
+\114\273\060\160\004\225\245\366\071\214\375\163\201\010\175\211
+\136\062\036\042\251\042\105\113\260\146\056\060\314\237\145\375
+\374\313\201\251\361\340\073\257\243\206\321\211\352\304\105\171
+\120\135\256\351\041\164\222\115\213\131\202\217\224\343\351\112
+\361\347\111\260\024\343\365\142\313\325\162\275\037\271\322\237
+\240\315\250\372\001\310\331\015\337\332\374\107\235\263\310\124
+\337\111\112\361\041\251\376\030\116\356\110\324\031\273\357\175
+\344\342\235\313\133\266\156\377\343\315\132\347\164\202\005\272
+\200\045\070\313\344\151\236\257\101\252\032\204\365\002\003\001
+\000\001\243\202\001\064\060\202\001\060\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\343\253\124\114\200\241\333\126\103\267
+\221\112\313\363\202\172\023\134\010\253\060\201\355\006\003\125
+\035\037\004\201\345\060\201\342\060\201\337\240\201\334\240\201
+\331\206\065\150\164\164\160\072\057\057\167\167\167\056\164\162
+\165\163\164\143\145\156\164\145\162\056\144\145\057\143\162\154
+\057\166\062\057\164\143\137\143\154\141\163\163\137\062\137\143
+\141\137\111\111\056\143\162\154\206\201\237\154\144\141\160\072
+\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145
+\162\056\144\145\057\103\116\075\124\103\045\062\060\124\162\165
+\163\164\103\145\156\164\145\162\045\062\060\103\154\141\163\163
+\045\062\060\062\045\062\060\103\101\045\062\060\111\111\054\117
+\075\124\103\045\062\060\124\162\165\163\164\103\145\156\164\145
+\162\045\062\060\107\155\142\110\054\117\125\075\162\157\157\164
+\143\145\162\164\163\054\104\103\075\164\162\165\163\164\143\145
+\156\164\145\162\054\104\103\075\144\145\077\143\145\162\164\151
+\146\151\143\141\164\145\122\145\166\157\143\141\164\151\157\156
+\114\151\163\164\077\142\141\163\145\077\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\214\327
+\337\176\356\033\200\020\263\203\365\333\021\352\153\113\250\222
+\030\331\367\007\071\365\054\276\006\165\172\150\123\025\034\352
+\112\355\136\374\043\262\023\240\323\011\377\366\366\056\153\101
+\161\171\315\342\155\375\256\131\153\205\035\270\116\042\232\355
+\146\071\156\113\224\346\125\374\013\033\213\167\301\123\023\146
+\211\331\050\326\213\363\105\112\143\267\375\173\013\141\135\270
+\155\276\303\334\133\171\322\355\206\345\242\115\276\136\164\174
+\152\355\026\070\037\177\130\201\132\032\353\062\210\055\262\363
+\071\167\200\257\136\266\141\165\051\333\043\115\210\312\120\050
+\313\205\322\323\020\242\131\156\323\223\124\000\172\242\106\225
+\206\005\234\251\031\230\345\061\162\014\000\342\147\331\100\340
+\044\063\173\157\054\271\134\253\145\235\054\254\166\352\065\231
+\365\227\271\017\044\354\307\166\041\050\145\256\127\350\007\210
+\165\112\126\240\322\005\072\244\346\215\222\210\054\363\362\341
+\301\306\141\333\101\305\307\233\367\016\032\121\105\302\141\153
+\334\144\047\027\214\132\267\332\164\050\315\227\344\275
+END
+
+# Trust for Certificate "TC TrustCenter Class 2 CA II"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Class 2 CA II"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\256\120\203\355\174\364\134\274\217\141\306\041\376\150\135\171
+\102\041\025\156
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\316\170\063\134\131\170\001\156\030\352\271\066\240\271\056\043
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060
+\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103
+\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\062\040\103\101\040\111\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\056\152\000\001\000\002\037\327\122\041\054\021\134\073
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TC TrustCenter Class 3 CA II"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Class 3 CA II"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060
+\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103
+\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\063\040\103\101\040\111\111
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060
+\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103
+\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\063\040\103\101\040\111\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\112\107\000\001\000\002\345\240\135\326\077\000\121\277
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\252\060\202\003\222\240\003\002\001\002\002\016\112
+\107\000\001\000\002\345\240\135\326\077\000\121\277\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\060\166\061\013
+\060\011\006\003\125\004\006\023\002\104\105\061\034\060\032\006
+\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145
+\156\164\145\162\040\107\155\142\110\061\042\060\040\006\003\125
+\004\013\023\031\124\103\040\124\162\165\163\164\103\145\156\164
+\145\162\040\103\154\141\163\163\040\063\040\103\101\061\045\060
+\043\006\003\125\004\003\023\034\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103
+\101\040\111\111\060\036\027\015\060\066\060\061\061\062\061\064
+\064\061\065\067\132\027\015\062\065\061\062\063\061\062\062\065
+\071\065\071\132\060\166\061\013\060\011\006\003\125\004\006\023
+\002\104\105\061\034\060\032\006\003\125\004\012\023\023\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\107\155\142
+\110\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\063\040\103\101\061\045\060\043\006\003\125\004\003\023\034
+\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040\103
+\154\141\163\163\040\063\040\103\101\040\111\111\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\264\340\273
+\121\273\071\134\213\004\305\114\171\034\043\206\061\020\143\103
+\125\047\077\306\105\307\244\075\354\011\015\032\036\040\302\126
+\036\336\033\067\007\060\042\057\157\361\006\361\253\255\326\310
+\253\141\243\057\103\304\260\262\055\374\303\226\151\173\176\212
+\344\314\300\071\022\220\102\140\311\314\065\150\356\332\137\220
+\126\137\315\034\115\133\130\111\353\016\001\117\144\372\054\074
+\211\130\330\057\056\342\260\150\351\042\073\165\211\326\104\032
+\145\362\033\227\046\035\050\155\254\350\275\131\035\053\044\366
+\326\204\003\146\210\044\000\170\140\361\370\253\376\002\262\153
+\373\042\373\065\346\026\321\255\366\056\022\344\372\065\152\345
+\031\271\135\333\073\036\032\373\323\377\025\024\010\330\011\152
+\272\105\235\024\171\140\175\257\100\212\007\163\263\223\226\323
+\164\064\215\072\067\051\336\134\354\365\356\056\061\302\040\334
+\276\361\117\177\043\122\331\133\342\144\331\234\252\007\010\265
+\105\275\321\320\061\301\253\124\237\251\322\303\142\140\003\361
+\273\071\112\222\112\075\012\271\235\305\240\376\067\002\003\001
+\000\001\243\202\001\064\060\202\001\060\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\324\242\374\237\263\303\330\003\323\127
+\134\007\244\320\044\247\300\362\000\324\060\201\355\006\003\125
+\035\037\004\201\345\060\201\342\060\201\337\240\201\334\240\201
+\331\206\065\150\164\164\160\072\057\057\167\167\167\056\164\162
+\165\163\164\143\145\156\164\145\162\056\144\145\057\143\162\154
+\057\166\062\057\164\143\137\143\154\141\163\163\137\063\137\143
+\141\137\111\111\056\143\162\154\206\201\237\154\144\141\160\072
+\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145
+\162\056\144\145\057\103\116\075\124\103\045\062\060\124\162\165
+\163\164\103\145\156\164\145\162\045\062\060\103\154\141\163\163
+\045\062\060\063\045\062\060\103\101\045\062\060\111\111\054\117
+\075\124\103\045\062\060\124\162\165\163\164\103\145\156\164\145
+\162\045\062\060\107\155\142\110\054\117\125\075\162\157\157\164
+\143\145\162\164\163\054\104\103\075\164\162\165\163\164\143\145
+\156\164\145\162\054\104\103\075\144\145\077\143\145\162\164\151
+\146\151\143\141\164\145\122\145\166\157\143\141\164\151\157\156
+\114\151\163\164\077\142\141\163\145\077\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\001\001\000\066\140
+\344\160\367\006\040\103\331\043\032\102\362\370\243\262\271\115
+\212\264\363\302\232\125\061\174\304\073\147\232\264\337\115\016
+\212\223\112\027\213\033\215\312\211\341\317\072\036\254\035\361
+\234\062\264\216\131\166\242\101\205\045\067\240\023\320\365\174
+\116\325\352\226\342\156\162\301\273\052\376\154\156\370\221\230
+\106\374\311\033\127\133\352\310\032\073\077\260\121\230\074\007
+\332\054\131\001\332\213\104\350\341\164\375\247\150\335\124\272
+\203\106\354\310\106\265\370\257\227\300\073\011\034\217\316\162
+\226\075\063\126\160\274\226\313\330\325\175\040\232\203\237\032
+\334\071\361\305\162\243\021\003\375\073\102\122\051\333\350\001
+\367\233\136\214\326\215\206\116\031\372\274\034\276\305\041\245
+\207\236\170\056\066\333\011\161\243\162\064\370\154\343\006\011
+\362\136\126\245\323\335\230\372\324\346\006\364\360\266\040\143
+\113\352\051\275\252\202\146\036\373\201\252\247\067\255\023\030
+\346\222\303\201\301\063\273\210\036\241\347\342\264\275\061\154
+\016\121\075\157\373\226\126\200\342\066\027\321\334\344
+END
+
+# Trust for Certificate "TC TrustCenter Class 3 CA II"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Class 3 CA II"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\200\045\357\364\156\160\310\324\162\044\145\204\376\100\073\212
+\215\152\333\365
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\126\137\252\200\141\022\027\366\147\041\346\053\155\141\126\216
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060
+\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103
+\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124
+\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163
+\040\063\040\103\101\040\111\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\112\107\000\001\000\002\345\240\135\326\077\000\121\277
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TC TrustCenter Universal CA I"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Universal CA I"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\171\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060
+\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154
+\040\103\101\061\046\060\044\006\003\125\004\003\023\035\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151
+\166\145\162\163\141\154\040\103\101\040\111
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\171\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060
+\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154
+\040\103\101\061\046\060\044\006\003\125\004\003\023\035\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151
+\166\145\162\163\141\154\040\103\101\040\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\035\242\000\001\000\002\354\267\140\200\170\215\266\006
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\335\060\202\002\305\240\003\002\001\002\002\016\035
+\242\000\001\000\002\354\267\140\200\170\215\266\006\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\060\171\061\013
+\060\011\006\003\125\004\006\023\002\104\105\061\034\060\032\006
+\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145
+\156\164\145\162\040\107\155\142\110\061\044\060\042\006\003\125
+\004\013\023\033\124\103\040\124\162\165\163\164\103\145\156\164
+\145\162\040\125\156\151\166\145\162\163\141\154\040\103\101\061
+\046\060\044\006\003\125\004\003\023\035\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\125\156\151\166\145\162\163
+\141\154\040\103\101\040\111\060\036\027\015\060\066\060\063\062
+\062\061\065\065\064\062\070\132\027\015\062\065\061\062\063\061
+\062\062\065\071\065\071\132\060\171\061\013\060\011\006\003\125
+\004\006\023\002\104\105\061\034\060\032\006\003\125\004\012\023
+\023\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040
+\107\155\142\110\061\044\060\042\006\003\125\004\013\023\033\124
+\103\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156
+\151\166\145\162\163\141\154\040\103\101\061\046\060\044\006\003
+\125\004\003\023\035\124\103\040\124\162\165\163\164\103\145\156
+\164\145\162\040\125\156\151\166\145\162\163\141\154\040\103\101
+\040\111\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\244\167\043\226\104\257\220\364\061\247\020\364\046
+\207\234\363\070\331\017\136\336\317\101\350\061\255\306\164\221
+\044\226\170\036\011\240\233\232\225\112\112\365\142\174\002\250
+\312\254\373\132\004\166\071\336\137\361\371\263\277\363\003\130
+\125\322\252\267\343\004\042\321\370\224\332\042\010\000\215\323
+\174\046\135\314\167\171\347\054\170\071\250\046\163\016\242\135
+\045\151\205\117\125\016\232\357\306\271\104\341\127\075\337\037
+\124\042\345\157\145\252\063\204\072\363\316\172\276\125\227\256
+\215\022\017\024\063\342\120\160\303\111\207\023\274\121\336\327
+\230\022\132\357\072\203\063\222\006\165\213\222\174\022\150\173
+\160\152\017\265\233\266\167\133\110\131\235\344\357\132\255\363
+\301\236\324\327\105\116\312\126\064\041\274\076\027\133\157\167
+\014\110\001\103\051\260\335\077\226\156\346\225\252\014\300\040
+\266\375\076\066\047\234\343\134\317\116\201\334\031\273\221\220
+\175\354\346\227\004\036\223\314\042\111\327\227\206\266\023\012
+\074\103\043\167\176\360\334\346\315\044\037\073\203\233\064\072
+\203\064\343\002\003\001\000\001\243\143\060\141\060\037\006\003
+\125\035\043\004\030\060\026\200\024\222\244\165\054\244\236\276
+\201\104\353\171\374\212\305\225\245\353\020\165\163\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\035
+\006\003\125\035\016\004\026\004\024\222\244\165\054\244\236\276
+\201\104\353\171\374\212\305\225\245\353\020\165\163\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\050\322\340\206\325\346\370\173\360\227\334\042\153\073\225
+\024\126\017\021\060\245\232\117\072\260\072\340\006\313\145\365
+\355\306\227\047\376\045\362\127\346\136\225\214\076\144\140\025
+\132\177\057\015\001\305\261\140\375\105\065\317\360\262\277\006
+\331\357\132\276\263\142\041\264\327\253\065\174\123\076\246\047
+\361\241\055\332\032\043\235\314\335\354\074\055\236\047\064\135
+\017\302\066\171\274\311\112\142\055\355\153\331\175\101\103\174
+\266\252\312\355\141\261\067\202\025\011\032\212\026\060\330\354
+\311\326\107\162\170\113\020\106\024\216\137\016\257\354\307\057
+\253\020\327\266\361\156\354\206\262\302\350\015\222\163\334\242
+\364\017\072\277\141\043\020\211\234\110\100\156\160\000\263\323
+\272\067\104\130\021\172\002\152\210\360\067\064\360\031\351\254
+\324\145\163\366\151\214\144\224\072\171\205\051\260\026\053\014
+\202\077\006\234\307\375\020\053\236\017\054\266\236\343\025\277
+\331\066\034\272\045\032\122\075\032\354\042\014\034\340\244\242
+\075\360\350\071\317\201\300\173\355\135\037\157\305\320\013\327
+\230
+END
+
+# Trust for Certificate "TC TrustCenter Universal CA I"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Universal CA I"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\153\057\064\255\211\130\276\142\375\260\153\134\316\273\235\331
+\117\116\071\363
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\105\341\245\162\305\251\066\144\100\236\365\344\130\204\147\214
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\171\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060
+\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154
+\040\103\101\061\046\060\044\006\003\125\004\003\023\035\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151
+\166\145\162\163\141\154\040\103\101\040\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\035\242\000\001\000\002\354\267\140\200\170\215\266\006
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Deutsche Telekom Root CA 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Deutsche Telekom Root CA 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143
+\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060
+\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145
+\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043
+\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150
+\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103
+\101\040\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143
+\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060
+\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145
+\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043
+\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150
+\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103
+\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\046
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\237\060\202\002\207\240\003\002\001\002\002\001\046
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061\034
+\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143\150
+\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060\035
+\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145\143
+\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043\060
+\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150\145
+\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103\101
+\040\062\060\036\027\015\071\071\060\067\060\071\061\062\061\061
+\060\060\132\027\015\061\071\060\067\060\071\062\063\065\071\060
+\060\132\060\161\061\013\060\011\006\003\125\004\006\023\002\104
+\105\061\034\060\032\006\003\125\004\012\023\023\104\145\165\164
+\163\143\150\145\040\124\145\154\145\153\157\155\040\101\107\061
+\037\060\035\006\003\125\004\013\023\026\124\055\124\145\154\145
+\123\145\143\040\124\162\165\163\164\040\103\145\156\164\145\162
+\061\043\060\041\006\003\125\004\003\023\032\104\145\165\164\163
+\143\150\145\040\124\145\154\145\153\157\155\040\122\157\157\164
+\040\103\101\040\062\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\253\013\243\065\340\213\051\024\261\024
+\205\257\074\020\344\071\157\065\135\112\256\335\352\141\215\225
+\111\364\157\144\243\032\140\146\244\251\100\042\204\331\324\245
+\345\170\223\016\150\001\255\271\115\134\072\316\323\270\250\102
+\100\337\317\243\272\202\131\152\222\033\254\034\232\332\010\053
+\045\047\371\151\043\107\361\340\353\054\172\233\365\023\002\320
+\176\064\174\302\236\074\000\131\253\365\332\014\365\062\074\053
+\254\120\332\326\303\336\203\224\312\250\014\231\062\016\010\110
+\126\133\152\373\332\341\130\130\001\111\137\162\101\074\025\006
+\001\216\135\255\252\270\223\264\315\236\353\247\350\152\055\122
+\064\333\072\357\134\165\121\332\333\363\061\371\356\161\230\062
+\304\124\025\104\014\371\233\125\355\255\337\030\010\240\243\206
+\212\111\356\123\005\217\031\114\325\336\130\171\233\322\152\034
+\102\253\305\325\247\317\150\017\226\344\341\141\230\166\141\310
+\221\174\326\076\000\342\221\120\207\341\235\012\346\255\227\322
+\035\306\072\175\313\274\332\003\064\325\216\133\001\365\152\007
+\267\026\266\156\112\177\002\003\001\000\001\243\102\060\100\060
+\035\006\003\125\035\016\004\026\004\024\061\303\171\033\272\365
+\123\327\027\340\211\172\055\027\154\012\263\053\235\063\060\017
+\006\003\125\035\023\004\010\060\006\001\001\377\002\001\005\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\224\144\131\255\071\144\347\051\353\023\376\132\303
+\213\023\127\310\004\044\360\164\167\300\140\343\147\373\351\211
+\246\203\277\226\202\174\156\324\303\075\357\236\200\156\273\051
+\264\230\172\261\073\124\353\071\027\107\176\032\216\013\374\037
+\061\131\061\004\262\316\027\363\054\307\142\066\125\342\042\330
+\211\125\264\230\110\252\144\372\326\034\066\330\104\170\132\132
+\043\072\127\227\365\172\060\117\256\237\152\114\113\053\216\240
+\003\343\076\340\251\324\322\173\322\263\250\342\162\074\255\236
+\377\200\131\344\233\105\264\366\073\260\315\071\031\230\062\345
+\352\041\141\220\344\061\041\216\064\261\367\057\065\112\205\020
+\332\347\212\067\041\276\131\143\340\362\205\210\061\123\324\124
+\024\205\160\171\364\056\006\167\047\165\057\037\270\212\371\376
+\305\272\330\066\344\203\354\347\145\267\277\143\132\363\106\257
+\201\224\067\324\101\214\326\043\326\036\317\365\150\033\104\143
+\242\132\272\247\065\131\241\345\160\005\233\016\043\127\231\224
+\012\155\272\071\143\050\206\222\363\030\204\330\373\321\317\005
+\126\144\127
+END
+
+# Trust for Certificate "Deutsche Telekom Root CA 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Deutsche Telekom Root CA 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\205\244\010\300\234\031\076\135\121\130\175\315\326\023\060\375
+\214\336\067\277
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\164\001\112\221\261\010\304\130\316\107\315\360\335\021\123\010
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143
+\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060
+\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145
+\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043
+\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150
+\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103
+\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\046
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "ComSign CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ComSign CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\064\061\023\060\021\006\003\125\004\003\023\012\103\157\155
+\123\151\147\156\040\103\101\061\020\060\016\006\003\125\004\012
+\023\007\103\157\155\123\151\147\156\061\013\060\011\006\003\125
+\004\006\023\002\111\114
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\064\061\023\060\021\006\003\125\004\003\023\012\103\157\155
+\123\151\147\156\040\103\101\061\020\060\016\006\003\125\004\012
+\023\007\103\157\155\123\151\147\156\061\013\060\011\006\003\125
+\004\006\023\002\111\114
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\024\023\226\203\024\125\214\352\173\143\345\374\064\207
+\167\104
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\223\060\202\002\173\240\003\002\001\002\002\020\024
+\023\226\203\024\125\214\352\173\143\345\374\064\207\167\104\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\064
+\061\023\060\021\006\003\125\004\003\023\012\103\157\155\123\151
+\147\156\040\103\101\061\020\060\016\006\003\125\004\012\023\007
+\103\157\155\123\151\147\156\061\013\060\011\006\003\125\004\006
+\023\002\111\114\060\036\027\015\060\064\060\063\062\064\061\061
+\063\062\061\070\132\027\015\062\071\060\063\061\071\061\065\060
+\062\061\070\132\060\064\061\023\060\021\006\003\125\004\003\023
+\012\103\157\155\123\151\147\156\040\103\101\061\020\060\016\006
+\003\125\004\012\023\007\103\157\155\123\151\147\156\061\013\060
+\011\006\003\125\004\006\023\002\111\114\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\360\344\124\151\053
+\323\307\217\152\104\344\176\130\047\370\013\320\344\224\022\212
+\361\033\070\070\057\037\061\234\006\324\054\247\336\013\052\256
+\032\240\343\236\152\277\237\074\307\156\242\371\213\144\154\072
+\255\205\125\121\124\245\070\125\270\253\203\004\362\077\144\066
+\367\300\215\103\103\152\146\321\367\027\052\325\357\066\372\060
+\020\102\327\123\315\371\372\063\163\114\263\351\204\040\212\326
+\101\047\065\344\070\372\224\233\270\172\344\171\037\063\373\033
+\330\041\011\050\174\115\030\151\136\144\212\172\031\223\312\176
+\354\363\162\347\067\007\130\131\050\254\102\371\305\377\315\077
+\347\245\372\070\261\320\014\307\331\122\032\123\326\201\314\102
+\172\065\133\355\113\072\172\366\265\216\314\377\017\174\344\140
+\066\207\057\255\360\241\045\175\377\322\113\021\210\160\124\246
+\101\250\147\123\122\102\136\344\064\236\344\276\243\354\252\142
+\135\335\303\114\246\202\101\344\063\013\254\311\063\017\144\202
+\127\052\375\014\255\066\341\014\256\113\305\357\073\231\331\043
+\263\133\135\264\127\354\164\160\014\052\117\002\003\001\000\001
+\243\201\240\060\201\235\060\014\006\003\125\035\023\004\005\060
+\003\001\001\377\060\075\006\003\125\035\037\004\066\060\064\060
+\062\240\060\240\056\206\054\150\164\164\160\072\057\057\146\145
+\144\151\162\056\143\157\155\163\151\147\156\056\143\157\056\151
+\154\057\143\162\154\057\103\157\155\123\151\147\156\103\101\056
+\143\162\154\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\206\060\037\006\003\125\035\043\004\030\060\026\200\024
+\113\001\233\076\126\032\145\066\166\313\173\227\252\222\005\356
+\062\347\050\061\060\035\006\003\125\035\016\004\026\004\024\113
+\001\233\076\126\032\145\066\166\313\173\227\252\222\005\356\062
+\347\050\061\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\202\001\001\000\320\331\245\176\376\051\140\105\235
+\176\203\317\156\274\107\156\365\032\236\124\166\102\161\264\074
+\130\077\055\100\045\102\366\201\234\361\211\020\310\016\252\170
+\117\070\011\127\260\074\300\010\374\065\216\361\110\121\215\014
+\161\164\272\204\304\327\162\233\204\174\070\116\144\006\047\052
+\341\247\265\354\010\231\264\012\015\324\205\163\310\022\341\065
+\355\361\005\061\035\163\231\014\353\226\312\335\323\346\205\252
+\360\212\373\165\301\362\011\074\145\145\144\363\114\330\255\313
+\210\151\363\344\203\267\014\275\027\132\226\027\312\133\377\255
+\273\034\351\055\204\200\330\041\276\205\122\331\324\164\271\151
+\205\272\115\355\050\062\353\371\141\112\344\304\066\036\031\334
+\157\204\021\037\225\365\203\050\030\250\063\222\103\047\335\135
+\023\004\105\117\207\325\106\315\075\250\272\360\363\270\126\044
+\105\353\067\307\341\166\117\162\071\030\337\176\164\162\307\163
+\055\071\352\140\346\255\021\242\126\207\173\303\150\232\376\370
+\214\160\250\337\145\062\364\244\100\214\241\302\104\003\016\224
+\000\147\240\161\000\202\110
+END
+
+# Trust for Certificate "ComSign CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ComSign CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\341\244\133\024\032\041\332\032\171\364\032\102\251\141\326\151
+\315\006\064\301
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\315\364\071\363\265\030\120\327\076\244\305\221\240\076\041\113
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\064\061\023\060\021\006\003\125\004\003\023\012\103\157\155
+\123\151\147\156\040\103\101\061\020\060\016\006\003\125\004\012
+\023\007\103\157\155\123\151\147\156\061\013\060\011\006\003\125
+\004\006\023\002\111\114
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\024\023\226\203\024\125\214\352\173\143\345\374\064\207
+\167\104
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "ComSign Secured CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ComSign Secured CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155
+\123\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061
+\020\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147
+\156\061\013\060\011\006\003\125\004\006\023\002\111\114
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155
+\123\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061
+\020\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147
+\156\061\013\060\011\006\003\125\004\006\023\002\111\114
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\307\050\107\011\263\270\154\105\214\035\372\044\365
+\066\116\351
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\253\060\202\002\223\240\003\002\001\002\002\021\000
+\307\050\107\011\263\270\154\105\214\035\372\044\365\066\116\351
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155\123
+\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061\020
+\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147\156
+\061\013\060\011\006\003\125\004\006\023\002\111\114\060\036\027
+\015\060\064\060\063\062\064\061\061\063\067\062\060\132\027\015
+\062\071\060\063\061\066\061\065\060\064\065\066\132\060\074\061
+\033\060\031\006\003\125\004\003\023\022\103\157\155\123\151\147
+\156\040\123\145\143\165\162\145\144\040\103\101\061\020\060\016
+\006\003\125\004\012\023\007\103\157\155\123\151\147\156\061\013
+\060\011\006\003\125\004\006\023\002\111\114\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\306\265\150\137
+\035\224\025\303\244\010\125\055\343\240\127\172\357\351\164\052
+\273\271\174\127\111\032\021\136\117\051\207\014\110\326\152\347
+\217\324\176\127\044\271\006\211\344\034\074\352\254\343\332\041
+\200\163\041\012\357\171\230\154\037\010\377\241\120\175\362\230
+\033\311\124\157\076\245\050\354\041\004\017\105\273\007\075\241
+\300\372\052\230\035\116\006\223\373\365\210\073\253\137\313\026
+\277\346\363\236\112\207\355\031\352\302\237\103\344\361\201\245
+\177\020\117\076\321\112\142\255\123\033\313\203\377\007\145\245
+\222\055\146\251\133\270\132\364\035\264\041\221\112\027\173\236
+\062\376\126\044\071\262\124\204\103\365\204\302\330\274\101\220
+\314\235\326\150\332\351\202\120\251\073\150\317\265\135\002\224
+\140\026\261\103\331\103\135\335\135\207\156\352\273\263\311\153
+\366\003\224\011\160\336\026\021\172\053\350\166\217\111\020\230
+\167\271\143\134\213\063\227\165\366\013\214\262\253\133\336\164
+\040\045\077\343\363\021\371\207\150\206\065\161\303\035\214\055
+\353\345\032\254\017\163\325\202\131\100\200\323\002\003\001\000
+\001\243\201\247\060\201\244\060\014\006\003\125\035\023\004\005
+\060\003\001\001\377\060\104\006\003\125\035\037\004\075\060\073
+\060\071\240\067\240\065\206\063\150\164\164\160\072\057\057\146
+\145\144\151\162\056\143\157\155\163\151\147\156\056\143\157\056
+\151\154\057\143\162\154\057\103\157\155\123\151\147\156\123\145
+\143\165\162\145\144\103\101\056\143\162\154\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\206\060\037\006\003\125
+\035\043\004\030\060\026\200\024\301\113\355\160\266\367\076\174
+\000\073\000\217\307\076\016\105\237\036\135\354\060\035\006\003
+\125\035\016\004\026\004\024\301\113\355\160\266\367\076\174\000
+\073\000\217\307\076\016\105\237\036\135\354\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\026
+\317\356\222\023\120\253\173\024\236\063\266\102\040\152\324\025
+\275\011\253\374\162\350\357\107\172\220\254\121\301\144\116\351
+\210\275\103\105\201\343\146\043\077\022\206\115\031\344\005\260
+\346\067\302\215\332\006\050\311\017\211\244\123\251\165\077\260
+\226\373\253\114\063\125\371\170\046\106\157\033\066\230\373\102
+\166\301\202\271\216\336\373\105\371\143\033\142\073\071\006\312
+\167\172\250\074\011\317\154\066\075\017\012\105\113\151\026\032
+\105\175\063\003\145\371\122\161\220\046\225\254\114\014\365\213
+\223\077\314\165\164\205\230\272\377\142\172\115\037\211\376\256
+\275\224\000\231\277\021\245\334\340\171\305\026\013\175\002\141
+\035\352\205\371\002\025\117\347\132\211\116\024\157\343\067\113
+\205\365\301\074\141\340\375\005\101\262\222\177\303\035\240\320
+\256\122\144\140\153\030\306\046\234\330\365\144\344\066\032\142
+\237\212\017\076\377\155\116\031\126\116\040\221\154\237\064\063
+\072\064\127\120\072\157\201\136\006\306\365\076\174\116\216\053
+\316\145\006\056\135\322\052\123\164\136\323\156\047\236\217
+END
+
+# Trust for Certificate "ComSign Secured CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ComSign Secured CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\371\315\016\054\332\166\044\301\217\275\360\360\253\266\105\270
+\367\376\325\172
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\100\001\045\006\215\041\103\152\016\103\000\234\347\103\363\325
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155
+\123\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061
+\020\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147
+\156\061\013\060\011\006\003\125\004\006\023\002\111\114
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\307\050\107\011\263\270\154\105\214\035\372\044\365
+\066\116\351
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Cybertrust Global Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Cybertrust Global Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142
+\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035
+\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163
+\164\040\107\154\157\142\141\154\040\122\157\157\164
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142
+\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035
+\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163
+\164\040\107\154\157\142\141\154\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\017\205\252\055\110
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\241\060\202\002\211\240\003\002\001\002\002\013\004
+\000\000\000\000\001\017\205\252\055\110\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\073\061\030\060\026\006
+\003\125\004\012\023\017\103\171\142\145\162\164\162\165\163\164
+\054\040\111\156\143\061\037\060\035\006\003\125\004\003\023\026
+\103\171\142\145\162\164\162\165\163\164\040\107\154\157\142\141
+\154\040\122\157\157\164\060\036\027\015\060\066\061\062\061\065
+\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065\060
+\070\060\060\060\060\132\060\073\061\030\060\026\006\003\125\004
+\012\023\017\103\171\142\145\162\164\162\165\163\164\054\040\111
+\156\143\061\037\060\035\006\003\125\004\003\023\026\103\171\142
+\145\162\164\162\165\163\164\040\107\154\157\142\141\154\040\122
+\157\157\164\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\370\310\274\275\024\120\146\023\377\360\323\171
+\354\043\362\267\032\307\216\205\361\022\163\246\031\252\020\333
+\234\242\145\164\132\167\076\121\175\126\366\334\043\266\324\355
+\137\130\261\067\115\325\111\016\156\365\152\207\326\322\214\322
+\047\306\342\377\066\237\230\145\240\023\116\306\052\144\233\325
+\220\022\317\024\006\364\073\343\324\050\276\350\016\370\253\116
+\110\224\155\216\225\061\020\134\355\242\055\275\325\072\155\262
+\034\273\140\300\106\113\001\365\111\256\176\106\212\320\164\215
+\241\014\002\316\356\374\347\217\270\153\146\363\177\104\000\277
+\146\045\024\053\335\020\060\035\007\226\077\115\366\153\270\217
+\267\173\014\245\070\353\336\107\333\325\135\071\374\210\247\363
+\327\052\164\361\350\132\242\073\237\120\272\246\214\105\065\302
+\120\145\225\334\143\202\357\335\277\167\115\234\142\311\143\163
+\026\320\051\017\111\251\110\360\263\252\267\154\305\247\060\071
+\100\135\256\304\342\135\046\123\360\316\034\043\010\141\250\224
+\031\272\004\142\100\354\037\070\160\167\022\006\161\247\060\030
+\135\045\047\245\002\003\001\000\001\243\201\245\060\201\242\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\266\010\173\015\172
+\314\254\040\114\206\126\062\136\317\253\156\205\055\160\127\060
+\077\006\003\125\035\037\004\070\060\066\060\064\240\062\240\060
+\206\056\150\164\164\160\072\057\057\167\167\167\062\056\160\165
+\142\154\151\143\055\164\162\165\163\164\056\143\157\155\057\143
+\162\154\057\143\164\057\143\164\162\157\157\164\056\143\162\154
+\060\037\006\003\125\035\043\004\030\060\026\200\024\266\010\173
+\015\172\314\254\040\114\206\126\062\136\317\253\156\205\055\160
+\127\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\001\001\000\126\357\012\043\240\124\116\225\227\311\370
+\211\332\105\301\324\243\000\045\364\037\023\253\267\243\205\130
+\151\302\060\255\330\025\212\055\343\311\315\201\132\370\163\043
+\132\247\174\005\363\375\042\073\016\321\006\304\333\066\114\163
+\004\216\345\260\042\344\305\363\056\245\331\043\343\270\116\112
+\040\247\156\002\044\237\042\140\147\173\213\035\162\011\305\061
+\134\351\171\237\200\107\075\255\241\013\007\024\075\107\377\003
+\151\032\014\013\104\347\143\045\247\177\262\311\270\166\204\355
+\043\366\175\007\253\105\176\323\337\263\277\351\212\266\315\250
+\242\147\053\122\325\267\145\360\071\114\143\240\221\171\223\122
+\017\124\335\203\273\237\321\217\247\123\163\303\313\377\060\354
+\174\004\270\330\104\037\223\137\161\011\042\267\156\076\352\034
+\003\116\235\032\040\141\373\201\067\354\136\374\012\105\253\327
+\347\027\125\320\240\352\140\233\246\366\343\214\133\051\302\006
+\140\024\235\055\227\114\251\223\025\235\141\304\001\137\110\326
+\130\275\126\061\022\116\021\310\041\340\263\021\221\145\333\264
+\246\210\070\316\125
+END
+
+# Trust for Certificate "Cybertrust Global Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Cybertrust Global Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\137\103\345\261\277\370\170\214\254\034\307\312\112\232\306\042
+\053\314\064\306
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\162\344\112\207\343\151\100\200\167\352\274\343\364\377\360\341
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142
+\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035
+\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163
+\164\040\107\154\157\142\141\154\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\017\205\252\055\110
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "ePKI Root Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ePKI Root Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145
+\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145
+\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322
+\274\235
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\260\060\202\003\230\240\003\002\001\002\002\020\025
+\310\275\145\107\134\257\270\227\000\136\344\006\322\274\235\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\136
+\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043\060
+\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167\141
+\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114\164
+\144\056\061\052\060\050\006\003\125\004\013\014\041\145\120\113
+\111\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036
+\027\015\060\064\061\062\062\060\060\062\063\061\062\067\132\027
+\015\063\064\061\062\062\060\060\062\063\061\062\067\132\060\136
+\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043\060
+\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167\141
+\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114\164
+\144\056\061\052\060\050\006\003\125\004\013\014\041\145\120\113
+\111\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202
+\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\341
+\045\017\356\215\333\210\063\165\147\315\255\037\175\072\116\155
+\235\323\057\024\363\143\164\313\001\041\152\067\352\204\120\007
+\113\046\133\011\103\154\041\236\152\310\325\003\365\140\151\217
+\314\360\042\344\037\347\367\152\042\061\267\054\025\362\340\376
+\000\152\103\377\207\145\306\265\032\301\247\114\155\042\160\041
+\212\061\362\227\164\211\011\022\046\034\236\312\331\022\242\225
+\074\332\351\147\277\010\240\144\343\326\102\267\105\357\227\364
+\366\365\327\265\112\025\002\130\175\230\130\113\140\274\315\327
+\015\232\023\063\123\321\141\371\172\325\327\170\263\232\063\367
+\000\206\316\035\115\224\070\257\250\354\170\121\160\212\134\020
+\203\121\041\367\021\075\064\206\136\345\110\315\227\201\202\065
+\114\031\354\145\366\153\305\005\241\356\107\023\326\263\041\047
+\224\020\012\331\044\073\272\276\104\023\106\060\077\227\074\330
+\327\327\152\356\073\070\343\053\324\227\016\271\033\347\007\111
+\177\067\052\371\167\170\317\124\355\133\106\235\243\200\016\221
+\103\301\326\133\137\024\272\237\246\215\044\107\100\131\277\162
+\070\262\066\154\067\377\231\321\135\016\131\012\253\151\367\300
+\262\004\105\172\124\000\256\276\123\366\265\347\341\370\074\243
+\061\322\251\376\041\122\144\305\246\147\360\165\007\006\224\024
+\201\125\306\047\344\001\217\027\301\152\161\327\276\113\373\224
+\130\175\176\021\063\261\102\367\142\154\030\326\317\011\150\076
+\177\154\366\036\217\142\255\245\143\333\011\247\037\042\102\101
+\036\157\231\212\076\327\371\077\100\172\171\260\245\001\222\322
+\235\075\010\025\245\020\001\055\263\062\166\250\225\015\263\172
+\232\373\007\020\170\021\157\341\217\307\272\017\045\032\164\052
+\345\034\230\101\231\337\041\207\350\225\006\152\012\263\152\107
+\166\145\366\072\317\217\142\027\031\173\012\050\315\032\322\203
+\036\041\307\054\277\276\377\141\150\267\147\033\273\170\115\215
+\316\147\345\344\301\216\267\043\146\342\235\220\165\064\230\251
+\066\053\212\232\224\271\235\354\314\212\261\370\045\211\134\132
+\266\057\214\037\155\171\044\247\122\150\303\204\065\342\146\215
+\143\016\045\115\325\031\262\346\171\067\247\042\235\124\061\002
+\003\001\000\001\243\152\060\150\060\035\006\003\125\035\016\004
+\026\004\024\036\014\367\266\147\362\341\222\046\011\105\300\125
+\071\056\167\077\102\112\242\060\014\006\003\125\035\023\004\005
+\060\003\001\001\377\060\071\006\004\147\052\007\000\004\061\060
+\057\060\055\002\001\000\060\011\006\005\053\016\003\002\032\005
+\000\060\007\006\005\147\052\003\000\000\004\024\105\260\302\307
+\012\126\174\356\133\170\014\225\371\030\123\301\246\034\330\020
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\002\001\000\011\263\203\123\131\001\076\225\111\271\361\201
+\272\371\166\040\043\265\047\140\164\324\152\231\064\136\154\000
+\123\331\237\362\246\261\044\007\104\152\052\306\245\216\170\022
+\350\107\331\130\033\023\052\136\171\233\237\012\052\147\246\045
+\077\006\151\126\163\303\212\146\110\373\051\201\127\164\006\312
+\234\352\050\350\070\147\046\053\361\325\265\077\145\223\370\066
+\135\216\215\215\100\040\207\031\352\357\047\300\075\264\071\017
+\045\173\150\120\164\125\234\014\131\175\132\075\101\224\045\122
+\010\340\107\054\025\061\031\325\277\007\125\306\273\022\265\227
+\364\137\203\205\272\161\301\331\154\201\021\166\012\012\260\277
+\202\227\367\352\075\372\372\354\055\251\050\224\073\126\335\322
+\121\056\256\300\275\010\025\214\167\122\064\226\326\233\254\323
+\035\216\141\017\065\173\233\256\071\151\013\142\140\100\040\066
+\217\257\373\066\356\055\010\112\035\270\277\233\134\370\352\245
+\033\240\163\246\330\370\156\340\063\004\137\150\252\047\207\355
+\331\301\220\234\355\275\343\152\065\257\143\337\253\030\331\272
+\346\351\112\352\120\212\017\141\223\036\342\055\031\342\060\224
+\065\222\135\016\266\007\257\031\200\217\107\220\121\113\056\115
+\335\205\342\322\012\122\012\027\232\374\032\260\120\002\345\001
+\243\143\067\041\114\104\304\233\121\231\021\016\163\234\006\217
+\124\056\247\050\136\104\071\207\126\055\067\275\205\104\224\341
+\014\113\054\234\303\222\205\064\141\313\017\270\233\112\103\122
+\376\064\072\175\270\351\051\334\166\251\310\060\370\024\161\200
+\306\036\066\110\164\042\101\134\207\202\350\030\161\213\101\211
+\104\347\176\130\133\250\270\215\023\351\247\154\303\107\355\263
+\032\235\142\256\215\202\352\224\236\335\131\020\303\255\335\342
+\115\343\061\325\307\354\350\362\260\376\222\036\026\012\032\374
+\331\363\370\047\266\311\276\035\264\154\144\220\177\364\344\304
+\133\327\067\256\102\016\335\244\032\157\174\210\124\305\026\156
+\341\172\150\056\370\072\277\015\244\074\211\073\170\247\116\143
+\203\004\041\010\147\215\362\202\111\320\133\375\261\315\017\203
+\204\324\076\040\205\367\112\075\053\234\375\052\012\011\115\352
+\201\370\021\234
+END
+
+# Trust for Certificate "ePKI Root Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ePKI Root Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\147\145\015\361\176\216\176\133\202\100\244\364\126\113\317\342
+\075\151\306\360
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\033\056\000\312\046\006\220\075\255\376\157\025\150\323\153\263
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145
+\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322
+\274\235
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124
+\122\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172
+\145\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006
+\003\125\004\012\014\076\124\303\274\162\153\151\171\145\040\102
+\151\154\151\155\163\145\154\040\166\145\040\124\145\153\156\157
+\154\157\152\151\153\040\101\162\141\305\237\164\304\261\162\155
+\141\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304
+\260\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125
+\154\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153
+\040\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101
+\162\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151
+\164\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043
+\060\041\006\003\125\004\013\014\032\113\141\155\165\040\123\145
+\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
+\145\172\151\061\112\060\110\006\003\125\004\003\014\101\124\303
+\234\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303
+\266\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172
+\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261
+\163\304\261\040\055\040\123\303\274\162\303\274\155\040\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124
+\122\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172
+\145\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006
+\003\125\004\012\014\076\124\303\274\162\153\151\171\145\040\102
+\151\154\151\155\163\145\154\040\166\145\040\124\145\153\156\157
+\154\157\152\151\153\040\101\162\141\305\237\164\304\261\162\155
+\141\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304
+\260\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125
+\154\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153
+\040\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101
+\162\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151
+\164\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043
+\060\041\006\003\125\004\013\014\032\113\141\155\165\040\123\145
+\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
+\145\172\151\061\112\060\110\006\003\125\004\003\014\101\124\303
+\234\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303
+\266\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172
+\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261
+\163\304\261\040\055\040\123\303\274\162\303\274\155\040\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\021
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\027\060\202\003\377\240\003\002\001\002\002\001\021
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124\122
+\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172\145
+\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006\003
+\125\004\012\014\076\124\303\274\162\153\151\171\145\040\102\151
+\154\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154
+\157\152\151\153\040\101\162\141\305\237\164\304\261\162\155\141
+\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304\260
+\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125\154
+\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153\040
+\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101\162
+\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151\164
+\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043\060
+\041\006\003\125\004\013\014\032\113\141\155\165\040\123\145\162
+\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145
+\172\151\061\112\060\110\006\003\125\004\003\014\101\124\303\234
+\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303\266
+\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172\155
+\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261\163
+\304\261\040\055\040\123\303\274\162\303\274\155\040\063\060\036
+\027\015\060\067\060\070\062\064\061\061\063\067\060\067\132\027
+\015\061\067\060\070\062\061\061\061\063\067\060\067\132\060\202
+\001\053\061\013\060\011\006\003\125\004\006\023\002\124\122\061
+\030\060\026\006\003\125\004\007\014\017\107\145\142\172\145\040
+\055\040\113\157\143\141\145\154\151\061\107\060\105\006\003\125
+\004\012\014\076\124\303\274\162\153\151\171\145\040\102\151\154
+\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157
+\152\151\153\040\101\162\141\305\237\164\304\261\162\155\141\040
+\113\165\162\165\155\165\040\055\040\124\303\234\102\304\260\124
+\101\113\061\110\060\106\006\003\125\004\013\014\077\125\154\165
+\163\141\154\040\105\154\145\153\164\162\157\156\151\153\040\166
+\145\040\113\162\151\160\164\157\154\157\152\151\040\101\162\141
+\305\237\164\304\261\162\155\141\040\105\156\163\164\151\164\303
+\274\163\303\274\040\055\040\125\105\113\101\105\061\043\060\041
+\006\003\125\004\013\014\032\113\141\155\165\040\123\145\162\164
+\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145\172
+\151\061\112\060\110\006\003\125\004\003\014\101\124\303\234\102
+\304\260\124\101\113\040\125\105\113\101\105\040\113\303\266\153
+\040\123\145\162\164\151\146\151\153\141\040\110\151\172\155\145
+\164\040\123\141\304\237\154\141\171\304\261\143\304\261\163\304
+\261\040\055\040\123\303\274\162\303\274\155\040\063\060\202\001
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\001\017\000\060\202\001\012\002\202\001\001\000\212\155
+\113\377\020\210\072\303\366\176\224\350\352\040\144\160\256\041
+\201\276\072\173\074\333\361\035\122\177\131\372\363\042\114\225
+\240\220\274\110\116\021\253\373\267\265\215\172\203\050\214\046
+\106\330\116\225\100\207\141\237\305\236\155\201\207\127\154\212
+\073\264\146\352\314\100\374\343\252\154\262\313\001\333\062\277
+\322\353\205\317\241\015\125\303\133\070\127\160\270\165\306\171
+\321\024\060\355\033\130\133\153\357\065\362\241\041\116\305\316
+\174\231\137\154\271\270\042\223\120\247\315\114\160\152\276\152
+\005\177\023\234\053\036\352\376\107\316\004\245\157\254\223\056
+\174\053\237\236\171\023\221\350\352\236\312\070\165\216\142\260
+\225\223\052\345\337\351\136\227\156\040\137\137\204\172\104\071
+\031\100\034\272\125\053\373\060\262\201\357\204\343\334\354\230
+\070\071\003\205\010\251\124\003\005\051\360\311\217\213\352\013
+\206\145\031\021\323\351\011\043\336\150\223\003\311\066\034\041
+\156\316\214\146\361\231\060\330\327\263\303\035\370\201\056\250
+\275\202\013\146\376\202\313\341\340\032\202\303\100\201\002\003
+\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026
+\004\024\275\210\207\311\217\366\244\012\013\252\353\305\376\221
+\043\235\253\112\212\062\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\003\202\001\001\000\035\174\372\111\217
+\064\351\267\046\222\026\232\005\164\347\113\320\155\071\154\303
+\046\366\316\270\061\274\304\337\274\052\370\067\221\030\334\004
+\310\144\231\053\030\155\200\003\131\311\256\370\130\320\076\355
+\303\043\237\151\074\206\070\034\236\357\332\047\170\321\204\067
+\161\212\074\113\071\317\176\105\006\326\055\330\212\115\170\022
+\326\255\302\323\313\322\320\101\363\046\066\112\233\225\154\014
+\356\345\321\103\047\146\301\210\367\172\263\040\154\352\260\151
+\053\307\040\350\014\003\304\101\005\231\342\077\344\153\370\240
+\206\201\307\204\306\037\325\113\201\022\262\026\041\054\023\241
+\200\262\136\014\112\023\236\040\330\142\100\253\220\352\144\112
+\057\254\015\001\022\171\105\250\057\207\031\150\310\342\205\307
+\060\262\165\371\070\077\262\300\223\264\153\342\003\104\316\147
+\240\337\211\326\255\214\166\243\023\303\224\141\053\153\331\154
+\301\007\012\042\007\205\154\205\044\106\251\276\077\213\170\204
+\202\176\044\014\235\375\201\067\343\045\250\355\066\116\225\054
+\311\234\220\332\354\251\102\074\255\266\002
+END
+
+# Trust for Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\033\113\071\141\046\047\153\144\221\242\150\155\327\002\103\041
+\055\037\035\226
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\355\101\365\214\120\305\053\234\163\346\356\154\353\302\250\046
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124
+\122\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172
+\145\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006
+\003\125\004\012\014\076\124\303\274\162\153\151\171\145\040\102
+\151\154\151\155\163\145\154\040\166\145\040\124\145\153\156\157
+\154\157\152\151\153\040\101\162\141\305\237\164\304\261\162\155
+\141\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304
+\260\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125
+\154\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153
+\040\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101
+\162\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151
+\164\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043
+\060\041\006\003\125\004\013\014\032\113\141\155\165\040\123\145
+\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
+\145\172\151\061\112\060\110\006\003\125\004\003\014\101\124\303
+\234\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303
+\266\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172
+\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261
+\163\304\261\040\055\040\123\303\274\162\303\274\155\040\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\021
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Buypass Class 2 CA 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Buypass Class 2 CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035
+\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\062\040\103\101\040\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035
+\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\062\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\123\060\202\002\073\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
+\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
+\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035\060
+\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163\040
+\103\154\141\163\163\040\062\040\103\101\040\061\060\036\027\015
+\060\066\061\060\061\063\061\060\062\065\060\071\132\027\015\061
+\066\061\060\061\063\061\060\062\065\060\071\132\060\113\061\013
+\060\011\006\003\125\004\006\023\002\116\117\061\035\060\033\006
+\003\125\004\012\014\024\102\165\171\160\141\163\163\040\101\123
+\055\071\070\063\061\066\063\063\062\067\061\035\060\033\006\003
+\125\004\003\014\024\102\165\171\160\141\163\163\040\103\154\141
+\163\163\040\062\040\103\101\040\061\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\213\074\007\105\330\366
+\337\346\307\312\272\215\103\305\107\215\260\132\301\070\333\222
+\204\034\257\023\324\017\157\066\106\040\304\056\314\161\160\064
+\242\064\323\067\056\330\335\072\167\057\300\353\051\350\134\322
+\265\251\221\064\207\042\131\376\314\333\347\231\257\226\301\250
+\307\100\335\245\025\214\156\310\174\227\003\313\346\040\362\327
+\227\137\061\241\057\067\322\276\356\276\251\255\250\114\236\041
+\146\103\073\250\274\363\011\243\070\325\131\044\301\302\107\166
+\261\210\134\202\073\273\053\246\004\327\214\007\217\315\325\101
+\035\360\256\270\051\054\224\122\140\064\224\073\332\340\070\321
+\235\063\076\025\364\223\062\305\000\332\265\051\146\016\072\170
+\017\041\122\137\002\345\222\173\045\323\222\036\057\025\235\201
+\344\235\216\350\357\211\316\024\114\124\035\034\201\022\115\160
+\250\276\020\005\027\176\037\321\270\127\125\355\315\273\122\302
+\260\036\170\302\115\066\150\313\126\046\301\122\301\275\166\367
+\130\325\162\176\037\104\166\273\000\211\035\026\235\121\065\357
+\115\302\126\357\153\340\214\073\015\351\002\003\001\000\001\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\077
+\215\232\131\213\374\173\173\234\243\257\070\260\071\355\220\161
+\200\326\310\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\202\001\001\000\025\032\176\023\212\271\350\007\243
+\113\047\062\262\100\221\362\041\321\144\205\276\143\152\322\317
+\201\302\025\325\172\176\014\051\254\067\036\034\174\166\122\225
+\332\265\177\043\241\051\167\145\311\062\235\250\056\126\253\140
+\166\316\026\264\215\177\170\300\325\231\121\203\177\136\331\276
+\014\250\120\355\042\307\255\005\114\166\373\355\356\036\107\144
+\366\367\047\175\134\050\017\105\305\134\142\136\246\232\221\221
+\267\123\027\056\334\255\140\235\226\144\071\275\147\150\262\256
+\005\313\115\347\137\037\127\206\325\040\234\050\373\157\023\070
+\365\366\021\222\366\175\231\136\037\014\350\253\104\044\051\162
+\100\075\066\122\257\214\130\220\163\301\354\141\054\171\241\354
+\207\265\077\332\115\331\041\000\060\336\220\332\016\323\032\110
+\251\076\205\013\024\213\214\274\101\236\152\367\016\160\300\065
+\367\071\242\135\146\320\173\131\237\250\107\022\232\047\043\244
+\055\216\047\203\222\040\241\327\025\177\361\056\030\356\364\110
+\177\057\177\361\241\030\265\241\013\224\240\142\040\062\234\035
+\366\324\357\277\114\210\150
+END
+
+# Trust for Certificate "Buypass Class 2 CA 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Buypass Class 2 CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\240\241\253\220\311\374\204\173\073\022\141\350\227\175\137\323
+\042\141\323\314
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\270\010\232\360\003\314\033\015\310\154\013\166\241\165\144\043
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035
+\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\062\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Buypass Class 3 CA 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Buypass Class 3 CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035
+\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\063\040\103\101\040\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035
+\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\063\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\002
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\123\060\202\002\073\240\003\002\001\002\002\001\002
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
+\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
+\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035\060
+\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163\040
+\103\154\141\163\163\040\063\040\103\101\040\061\060\036\027\015
+\060\065\060\065\060\071\061\064\061\063\060\063\132\027\015\061
+\065\060\065\060\071\061\064\061\063\060\063\132\060\113\061\013
+\060\011\006\003\125\004\006\023\002\116\117\061\035\060\033\006
+\003\125\004\012\014\024\102\165\171\160\141\163\163\040\101\123
+\055\071\070\063\061\066\063\063\062\067\061\035\060\033\006\003
+\125\004\003\014\024\102\165\171\160\141\163\163\040\103\154\141
+\163\163\040\063\040\103\101\040\061\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\244\216\327\164\331\051
+\144\336\137\037\207\200\221\352\116\071\346\031\306\104\013\200
+\325\013\257\123\007\213\022\275\346\147\360\002\261\211\366\140
+\212\304\133\260\102\321\300\041\250\313\341\233\357\144\121\266
+\247\317\025\365\164\200\150\004\220\240\130\242\346\164\246\123
+\123\125\110\143\077\222\126\335\044\116\216\370\272\053\377\363
+\064\212\236\050\327\064\237\254\057\326\017\361\244\057\275\122
+\262\111\205\155\071\065\360\104\060\223\106\044\363\266\347\123
+\373\274\141\257\251\243\024\373\302\027\027\204\154\340\174\210
+\370\311\034\127\054\360\075\176\224\274\045\223\204\350\232\000
+\232\105\005\102\127\200\364\116\316\331\256\071\366\310\123\020
+\014\145\072\107\173\140\302\326\372\221\311\306\161\154\275\221
+\207\074\221\206\111\253\363\017\240\154\046\166\136\034\254\233
+\161\345\215\274\233\041\036\234\326\070\176\044\200\025\061\202
+\226\261\111\323\142\067\133\210\014\012\142\064\376\247\110\176
+\231\261\060\213\220\067\225\034\250\037\245\054\215\364\125\310
+\333\335\131\012\302\255\170\240\364\213\002\003\001\000\001\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\070
+\024\346\310\360\251\244\003\364\116\076\042\243\133\362\326\340
+\255\100\164\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\202\001\001\000\001\147\243\214\311\045\075\023\143
+\135\026\157\354\241\076\011\134\221\025\052\052\331\200\041\117
+\005\334\273\245\211\253\023\063\052\236\070\267\214\157\002\162
+\143\307\163\167\036\011\006\272\073\050\173\244\107\311\141\153
+\010\010\040\374\212\005\212\037\274\272\306\302\376\317\156\354
+\023\063\161\147\056\151\372\251\054\077\146\300\022\131\115\013
+\124\002\222\204\273\333\022\357\203\160\160\170\310\123\372\337
+\306\306\377\334\210\057\007\300\111\235\062\127\140\323\362\366
+\231\051\137\347\252\001\314\254\063\250\034\012\273\221\304\003
+\240\157\266\064\371\206\323\263\166\124\230\364\112\201\263\123
+\235\115\100\354\345\167\023\105\257\133\252\037\330\057\114\202
+\173\376\052\304\130\273\117\374\236\375\003\145\032\052\016\303
+\245\040\026\224\153\171\246\242\022\264\273\032\244\043\172\137
+\360\256\204\044\344\363\053\373\212\044\243\047\230\145\332\060
+\165\166\374\031\221\350\333\353\233\077\062\277\100\227\007\046
+\272\314\363\224\205\112\172\047\223\317\220\102\324\270\133\026
+\246\347\313\100\003\335\171
+END
+
+# Trust for Certificate "Buypass Class 3 CA 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Buypass Class 3 CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\141\127\072\021\337\016\330\176\325\222\145\042\352\320\126\327
+\104\263\043\161
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\337\074\163\131\201\347\071\120\201\004\114\064\242\313\263\173
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\113\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\035
+\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\063\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\002
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "EBG Elektronik Sertifika Hizmet Saglayicisi"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\200\061\070\060\066\006\003\125\004\003\014\057\105\102
+\107\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162
+\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141
+\304\237\154\141\171\304\261\143\304\261\163\304\261\061\067\060
+\065\006\003\125\004\012\014\056\105\102\107\040\102\151\154\151
+\305\237\151\155\040\124\145\153\156\157\154\157\152\151\154\145
+\162\151\040\166\145\040\110\151\172\155\145\164\154\145\162\151
+\040\101\056\305\236\056\061\013\060\011\006\003\125\004\006\023
+\002\124\122
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\200\061\070\060\066\006\003\125\004\003\014\057\105\102
+\107\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162
+\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141
+\304\237\154\141\171\304\261\143\304\261\163\304\261\061\067\060
+\065\006\003\125\004\012\014\056\105\102\107\040\102\151\154\151
+\305\237\151\155\040\124\145\153\156\157\154\157\152\151\154\145
+\162\151\040\166\145\040\110\151\172\155\145\164\154\145\162\151
+\040\101\056\305\236\056\061\013\060\011\006\003\125\004\006\023
+\002\124\122
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\114\257\163\102\034\216\164\002
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\347\060\202\003\317\240\003\002\001\002\002\010\114
+\257\163\102\034\216\164\002\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\201\200\061\070\060\066\006\003\125
+\004\003\014\057\105\102\107\040\105\154\145\153\164\162\157\156
+\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172
+\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261
+\163\304\261\061\067\060\065\006\003\125\004\012\014\056\105\102
+\107\040\102\151\154\151\305\237\151\155\040\124\145\153\156\157
+\154\157\152\151\154\145\162\151\040\166\145\040\110\151\172\155
+\145\164\154\145\162\151\040\101\056\305\236\056\061\013\060\011
+\006\003\125\004\006\023\002\124\122\060\036\027\015\060\066\060
+\070\061\067\060\060\062\061\060\071\132\027\015\061\066\060\070
+\061\064\060\060\063\061\060\071\132\060\201\200\061\070\060\066
+\006\003\125\004\003\014\057\105\102\107\040\105\154\145\153\164
+\162\157\156\151\153\040\123\145\162\164\151\146\151\153\141\040
+\110\151\172\155\145\164\040\123\141\304\237\154\141\171\304\261
+\143\304\261\163\304\261\061\067\060\065\006\003\125\004\012\014
+\056\105\102\107\040\102\151\154\151\305\237\151\155\040\124\145
+\153\156\157\154\157\152\151\154\145\162\151\040\166\145\040\110
+\151\172\155\145\164\154\145\162\151\040\101\056\305\236\056\061
+\013\060\011\006\003\125\004\006\023\002\124\122\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\356\240\204
+\141\320\072\152\146\020\062\330\061\070\177\247\247\345\375\241
+\341\373\227\167\270\161\226\350\023\226\106\203\117\266\362\137
+\162\126\156\023\140\245\001\221\342\133\305\315\127\037\167\143
+\121\377\057\075\333\271\077\252\251\065\347\171\320\365\320\044
+\266\041\352\353\043\224\376\051\277\373\211\221\014\144\232\005
+\112\053\314\014\356\361\075\233\202\151\244\114\370\232\157\347
+\042\332\020\272\137\222\374\030\047\012\250\252\104\372\056\054
+\264\373\106\232\010\003\203\162\253\210\344\152\162\311\345\145
+\037\156\052\017\235\263\350\073\344\014\156\172\332\127\375\327
+\353\171\213\136\040\006\323\166\013\154\002\225\243\226\344\313
+\166\121\321\050\235\241\032\374\104\242\115\314\172\166\250\015
+\075\277\027\117\042\210\120\375\256\266\354\220\120\112\133\237
+\225\101\252\312\017\262\112\376\200\231\116\243\106\025\253\370
+\163\102\152\302\146\166\261\012\046\025\335\223\222\354\333\251
+\137\124\042\122\221\160\135\023\352\110\354\156\003\154\331\335
+\154\374\353\015\003\377\246\203\022\233\361\251\223\017\305\046
+\114\061\262\143\231\141\162\347\052\144\231\322\270\351\165\342
+\174\251\251\232\032\252\303\126\333\020\232\074\203\122\266\173
+\226\267\254\207\167\250\271\362\147\013\224\103\263\257\076\163
+\372\102\066\261\045\305\012\061\046\067\126\147\272\243\013\175
+\326\367\211\315\147\241\267\072\036\146\117\366\240\125\024\045
+\114\054\063\015\246\101\214\275\004\061\152\020\162\012\235\016
+\056\166\275\136\363\121\211\213\250\077\125\163\277\333\072\306
+\044\005\226\222\110\252\113\215\052\003\345\127\221\020\364\152
+\050\025\156\107\167\204\134\121\164\237\031\351\346\036\143\026
+\071\343\021\025\343\130\032\104\275\313\304\154\146\327\204\006
+\337\060\364\067\242\103\042\171\322\020\154\337\273\346\023\021
+\374\235\204\012\023\173\360\073\320\374\243\012\327\211\352\226
+\176\215\110\205\036\144\137\333\124\242\254\325\172\002\171\153
+\322\212\360\147\332\145\162\015\024\160\344\351\216\170\217\062
+\164\174\127\362\326\326\364\066\211\033\370\051\154\213\271\366
+\227\321\244\056\252\276\013\031\302\105\351\160\135\002\003\000
+\235\331\243\143\060\141\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026
+\004\024\347\316\306\117\374\026\147\226\372\112\243\007\301\004
+\247\313\152\336\332\107\060\037\006\003\125\035\043\004\030\060
+\026\200\024\347\316\306\117\374\026\147\226\372\112\243\007\301
+\004\247\313\152\336\332\107\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\003\202\002\001\000\233\230\232\135\276
+\363\050\043\166\306\154\367\177\346\100\236\300\066\334\225\015
+\035\255\025\305\066\330\325\071\357\362\036\042\136\263\202\264
+\135\273\114\032\312\222\015\337\107\044\036\263\044\332\221\210
+\351\203\160\335\223\327\351\272\263\337\026\132\076\336\340\310
+\373\323\375\154\051\370\025\106\240\150\046\314\223\122\256\202
+\001\223\220\312\167\312\115\111\357\342\132\331\052\275\060\316
+\114\262\201\266\060\316\131\117\332\131\035\152\172\244\105\260
+\202\046\201\206\166\365\365\020\000\270\356\263\011\350\117\207
+\002\007\256\044\134\360\137\254\012\060\314\212\100\240\163\004
+\301\373\211\044\366\232\034\134\267\074\012\147\066\005\010\061
+\263\257\330\001\150\052\340\170\217\164\336\270\121\244\214\154
+\040\075\242\373\263\324\011\375\173\302\200\252\223\154\051\230
+\041\250\273\026\363\251\022\137\164\265\207\230\362\225\046\337
+\064\357\212\123\221\210\135\032\224\243\077\174\042\370\327\210
+\272\246\214\226\250\075\122\064\142\237\000\036\124\125\102\147
+\306\115\106\217\273\024\105\075\012\226\026\216\020\241\227\231
+\325\323\060\205\314\336\264\162\267\274\212\074\030\051\150\375
+\334\161\007\356\044\071\152\372\355\245\254\070\057\371\036\020
+\016\006\161\032\020\114\376\165\176\377\036\127\071\102\312\327
+\341\025\241\126\125\131\033\321\243\257\021\330\116\303\245\053
+\357\220\277\300\354\202\023\133\215\326\162\054\223\116\217\152
+\051\337\205\074\323\015\340\242\030\022\314\125\057\107\267\247
+\233\002\376\101\366\210\114\155\332\251\001\107\203\144\047\142
+\020\202\326\022\173\136\003\037\064\251\311\221\376\257\135\155
+\206\047\267\043\252\165\030\312\040\347\260\017\327\211\016\246
+\147\042\143\364\203\101\053\006\113\273\130\325\321\327\267\271
+\020\143\330\211\112\264\252\335\026\143\365\156\276\140\241\370
+\355\350\326\220\117\032\306\305\240\051\323\247\041\250\365\132
+\074\367\307\111\242\041\232\112\225\122\040\226\162\232\146\313
+\367\322\206\103\174\042\276\226\371\275\001\250\107\335\345\073
+\100\371\165\053\233\053\106\144\206\215\036\364\217\373\007\167
+\320\352\111\242\034\215\122\024\246\012\223
+END
+
+# Trust for Certificate "EBG Elektronik Sertifika Hizmet Saglayicisi"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\214\226\272\353\335\053\007\007\110\356\060\062\146\240\363\230
+\156\174\256\130
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\054\040\046\235\313\032\112\000\205\265\267\132\256\302\001\067
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\200\061\070\060\066\006\003\125\004\003\014\057\105\102
+\107\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162
+\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141
+\304\237\154\141\171\304\261\143\304\261\163\304\261\061\067\060
+\065\006\003\125\004\012\014\056\105\102\107\040\102\151\154\151
+\305\237\151\155\040\124\145\153\156\157\154\157\152\151\154\145
+\162\151\040\166\145\040\110\151\172\155\145\164\154\145\162\151
+\040\101\056\305\236\056\061\013\060\011\006\003\125\004\006\023
+\002\124\122
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\114\257\163\102\034\216\164\002
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "certSIGN ROOT CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "certSIGN ROOT CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061
+\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111
+\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162
+\164\123\111\107\116\040\122\117\117\124\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061
+\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111
+\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162
+\164\123\111\107\116\040\122\117\117\124\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\040\006\005\026\160\002
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\070\060\202\002\040\240\003\002\001\002\002\006\040
+\006\005\026\160\002\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\060\073\061\013\060\011\006\003\125\004\006\023
+\002\122\117\061\021\060\017\006\003\125\004\012\023\010\143\145
+\162\164\123\111\107\116\061\031\060\027\006\003\125\004\013\023
+\020\143\145\162\164\123\111\107\116\040\122\117\117\124\040\103
+\101\060\036\027\015\060\066\060\067\060\064\061\067\062\060\060
+\064\132\027\015\063\061\060\067\060\064\061\067\062\060\060\064
+\132\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117
+\061\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123
+\111\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145
+\162\164\123\111\107\116\040\122\117\117\124\040\103\101\060\202
+\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\267
+\063\271\176\310\045\112\216\265\333\264\050\033\252\127\220\350
+\321\042\323\144\272\323\223\350\324\254\206\141\100\152\140\127
+\150\124\204\115\274\152\124\002\005\377\337\233\232\052\256\135
+\007\217\112\303\050\177\357\373\053\372\171\361\307\255\360\020
+\123\044\220\213\146\311\250\210\253\257\132\243\000\351\276\272
+\106\356\133\163\173\054\027\202\201\136\142\054\241\002\145\263
+\275\305\053\000\176\304\374\003\063\127\015\355\342\372\316\135
+\105\326\070\315\065\266\262\301\320\234\201\112\252\344\262\001
+\134\035\217\137\231\304\261\255\333\210\041\353\220\010\202\200
+\363\060\243\103\346\220\202\256\125\050\111\355\133\327\251\020
+\070\016\376\217\114\133\233\106\352\101\365\260\010\164\303\320
+\210\063\266\174\327\164\337\334\204\321\103\016\165\071\241\045
+\100\050\352\170\313\016\054\056\071\235\214\213\156\026\034\057
+\046\202\020\342\343\145\224\012\004\300\136\367\135\133\370\020
+\342\320\272\172\113\373\336\067\000\000\032\133\050\343\322\234
+\163\076\062\207\230\241\311\121\057\327\336\254\063\263\117\002
+\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023\001
+\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\306\060\035\006\003\125\035\016
+\004\026\004\024\340\214\233\333\045\111\263\361\174\206\326\262
+\102\207\013\320\153\240\331\344\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\001\001\000\076\322\034\211
+\056\065\374\370\165\335\346\177\145\210\364\162\114\311\054\327
+\062\116\363\335\031\171\107\275\216\073\133\223\017\120\111\044
+\023\153\024\006\162\357\011\323\241\241\343\100\204\311\347\030
+\062\164\074\110\156\017\237\113\324\367\036\323\223\206\144\124
+\227\143\162\120\325\125\317\372\040\223\002\242\233\303\043\223
+\116\026\125\166\240\160\171\155\315\041\037\317\057\055\274\031
+\343\210\061\370\131\032\201\011\310\227\246\164\307\140\304\133
+\314\127\216\262\165\375\033\002\011\333\131\157\162\223\151\367
+\061\101\326\210\070\277\207\262\275\026\171\371\252\344\276\210
+\045\335\141\047\043\034\265\061\007\004\066\264\032\220\275\240
+\164\161\120\211\155\274\024\343\017\206\256\361\253\076\307\240
+\011\314\243\110\321\340\333\144\347\222\265\317\257\162\103\160
+\213\371\303\204\074\023\252\176\222\233\127\123\223\372\160\302
+\221\016\061\371\233\147\135\351\226\070\136\137\263\163\116\210
+\025\147\336\236\166\020\142\040\276\125\151\225\103\000\071\115
+\366\356\260\132\116\111\104\124\130\137\102\203
+END
+
+# Trust for Certificate "certSIGN ROOT CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "certSIGN ROOT CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\372\267\356\066\227\046\142\373\055\260\052\366\277\003\375\350
+\174\113\057\233
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\030\230\300\326\351\072\374\371\260\365\014\367\113\001\104\027
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061
+\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111
+\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162
+\164\123\111\107\116\040\122\117\117\124\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\040\006\005\026\160\002
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "CNNIC ROOT"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "CNNIC ROOT"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\062\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\016\060\014\006\003\125\004\012\023\005\103\116\116\111\103\061
+\023\060\021\006\003\125\004\003\023\012\103\116\116\111\103\040
+\122\117\117\124
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\062\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\016\060\014\006\003\125\004\012\023\005\103\116\116\111\103\061
+\023\060\021\006\003\125\004\003\023\012\103\116\116\111\103\040
+\122\117\117\124
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\111\063\000\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\125\060\202\002\075\240\003\002\001\002\002\004\111
+\063\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\062\061\013\060\011\006\003\125\004\006\023\002\103
+\116\061\016\060\014\006\003\125\004\012\023\005\103\116\116\111
+\103\061\023\060\021\006\003\125\004\003\023\012\103\116\116\111
+\103\040\122\117\117\124\060\036\027\015\060\067\060\064\061\066
+\060\067\060\071\061\064\132\027\015\062\067\060\064\061\066\060
+\067\060\071\061\064\132\060\062\061\013\060\011\006\003\125\004
+\006\023\002\103\116\061\016\060\014\006\003\125\004\012\023\005
+\103\116\116\111\103\061\023\060\021\006\003\125\004\003\023\012
+\103\116\116\111\103\040\122\117\117\124\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\323\065\367\077\163
+\167\255\350\133\163\027\302\321\157\355\125\274\156\352\350\244
+\171\262\154\303\243\357\341\237\261\073\110\205\365\232\134\041
+\042\020\054\305\202\316\332\343\232\156\067\341\207\054\334\271
+\014\132\272\210\125\337\375\252\333\037\061\352\001\361\337\071
+\001\301\023\375\110\122\041\304\125\337\332\330\263\124\166\272
+\164\261\267\175\327\300\350\366\131\305\115\310\275\255\037\024
+\332\337\130\104\045\062\031\052\307\176\176\216\256\070\260\060
+\173\107\162\011\061\360\060\333\303\033\166\051\273\151\166\116
+\127\371\033\144\242\223\126\267\157\231\156\333\012\004\234\021
+\343\200\037\313\143\224\020\012\251\341\144\202\061\371\214\047
+\355\246\231\000\366\160\223\030\370\241\064\206\243\335\172\302
+\030\171\366\172\145\065\317\220\353\275\063\223\237\123\253\163
+\073\346\233\064\040\057\035\357\251\035\143\032\240\200\333\003
+\057\371\046\032\206\322\215\273\251\276\122\072\207\147\110\015
+\277\264\240\330\046\276\043\137\163\067\177\046\346\222\004\243
+\177\317\040\247\267\363\072\312\313\231\313\002\003\001\000\001
+\243\163\060\161\060\021\006\011\140\206\110\001\206\370\102\001
+\001\004\004\003\002\000\007\060\037\006\003\125\035\043\004\030
+\060\026\200\024\145\362\061\255\052\367\367\335\122\226\012\307
+\002\301\016\357\246\325\073\021\060\017\006\003\125\035\023\001
+\001\377\004\005\060\003\001\001\377\060\013\006\003\125\035\017
+\004\004\003\002\001\376\060\035\006\003\125\035\016\004\026\004
+\024\145\362\061\255\052\367\367\335\122\226\012\307\002\301\016
+\357\246\325\073\021\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\003\202\001\001\000\113\065\356\314\344\256\277
+\303\156\255\237\225\073\113\077\133\036\337\127\051\242\131\312
+\070\342\271\032\377\236\346\156\062\335\036\256\352\065\267\365
+\223\221\116\332\102\341\303\027\140\120\362\321\134\046\271\202
+\267\352\155\344\234\204\347\003\171\027\257\230\075\224\333\307
+\272\000\347\270\277\001\127\301\167\105\062\014\073\361\264\034
+\010\260\375\121\240\241\335\232\035\023\066\232\155\267\307\074
+\271\341\305\331\027\372\203\325\075\025\240\074\273\036\013\342
+\310\220\077\250\206\014\374\371\213\136\205\313\117\133\113\142
+\021\107\305\105\174\005\057\101\261\236\020\151\033\231\226\340
+\125\171\373\116\206\231\270\224\332\206\070\152\223\243\347\313
+\156\345\337\352\041\125\211\234\175\175\177\230\365\000\211\356
+\343\204\300\134\226\265\305\106\352\106\340\205\125\266\033\311
+\022\326\301\315\315\200\363\002\001\074\310\151\313\105\110\143
+\330\224\320\354\205\016\073\116\021\145\364\202\214\246\075\256
+\056\042\224\011\310\134\352\074\201\135\026\052\003\227\026\125
+\011\333\212\101\202\236\146\233\021
+END
+
+# Trust for Certificate "CNNIC ROOT"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "CNNIC ROOT"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\213\257\114\233\035\360\052\222\367\332\022\216\271\033\254\364
+\230\140\113\157
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\041\274\202\253\111\304\023\073\113\262\053\134\153\220\234\031
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\062\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\016\060\014\006\003\125\004\012\023\005\103\116\116\111\103\061
+\023\060\021\006\003\125\004\003\023\012\103\116\116\111\103\040
+\122\117\117\124
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\111\063\000\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "ApplicationCA - Japanese Government"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ApplicationCA - Japanese Government"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\034\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145
+\163\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060
+\024\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164
+\151\157\156\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\034\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145
+\163\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060
+\024\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164
+\151\157\156\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\061
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\240\060\202\002\210\240\003\002\001\002\002\001\061
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061\034
+\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145\163
+\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060\024
+\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164\151
+\157\156\103\101\060\036\027\015\060\067\061\062\061\062\061\065
+\060\060\060\060\132\027\015\061\067\061\062\061\062\061\065\060
+\060\060\060\132\060\103\061\013\060\011\006\003\125\004\006\023
+\002\112\120\061\034\060\032\006\003\125\004\012\023\023\112\141
+\160\141\156\145\163\145\040\107\157\166\145\162\156\155\145\156
+\164\061\026\060\024\006\003\125\004\013\023\015\101\160\160\154
+\151\143\141\164\151\157\156\103\101\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\247\155\340\164\116\207
+\217\245\006\336\150\242\333\206\231\113\144\015\161\360\012\005
+\233\216\252\341\314\056\322\152\073\301\172\264\227\141\215\212
+\276\306\232\234\006\264\206\121\344\067\016\164\170\176\137\212
+\177\224\244\327\107\010\375\120\132\126\344\150\254\050\163\240
+\173\351\177\030\222\100\117\055\235\365\256\104\110\163\066\006
+\236\144\054\073\064\043\333\134\046\344\161\171\217\324\156\171
+\042\271\223\301\312\315\301\126\355\210\152\327\240\071\041\004
+\127\054\242\365\274\107\101\117\136\064\042\225\265\037\051\155
+\136\112\363\115\162\276\101\126\040\207\374\351\120\107\327\060
+\024\356\134\214\125\272\131\215\207\374\043\336\223\320\004\214
+\375\357\155\275\320\172\311\245\072\152\162\063\306\112\015\005
+\027\052\055\173\261\247\330\326\360\276\364\077\352\016\050\155
+\101\141\043\166\170\303\270\145\244\363\132\256\314\302\252\331
+\347\130\336\266\176\235\205\156\237\052\012\157\237\003\051\060
+\227\050\035\274\267\317\124\051\116\121\061\371\047\266\050\046
+\376\242\143\346\101\026\360\063\230\107\002\003\001\000\001\243
+\201\236\060\201\233\060\035\006\003\125\035\016\004\026\004\024
+\124\132\313\046\077\161\314\224\106\015\226\123\352\153\110\320
+\223\376\102\165\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\131\006\003\125\035\021\004\122\060\120\244
+\116\060\114\061\013\060\011\006\003\125\004\006\023\002\112\120
+\061\030\060\026\006\003\125\004\012\014\017\346\227\245\346\234
+\254\345\233\275\346\224\277\345\272\234\061\043\060\041\006\003
+\125\004\013\014\032\343\202\242\343\203\227\343\203\252\343\202
+\261\343\203\274\343\202\267\343\203\247\343\203\263\103\101\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\071\152\104\166\167\070\072\354\243\147\106\017
+\371\213\006\250\373\152\220\061\316\176\354\332\321\211\174\172
+\353\056\014\275\231\062\347\260\044\326\303\377\365\262\210\011
+\207\054\343\124\341\243\246\262\010\013\300\205\250\310\322\234
+\161\366\035\237\140\374\070\063\023\341\236\334\013\137\332\026
+\120\051\173\057\160\221\017\231\272\064\064\215\225\164\305\176
+\170\251\146\135\275\312\041\167\102\020\254\146\046\075\336\221
+\253\375\025\360\157\355\154\137\020\370\363\026\366\003\212\217
+\247\022\021\014\313\375\077\171\301\234\375\142\356\243\317\124
+\014\321\053\137\027\076\343\076\277\300\053\076\011\233\376\210
+\246\176\264\222\027\374\043\224\201\275\156\247\305\214\302\353
+\021\105\333\370\101\311\226\166\352\160\137\171\022\153\344\243
+\007\132\005\357\047\111\317\041\237\212\114\011\160\146\251\046
+\301\053\021\116\063\322\016\374\326\154\322\016\062\144\150\377
+\255\005\170\137\003\035\250\343\220\254\044\340\017\100\247\113
+\256\213\050\267\202\312\030\007\346\267\133\164\351\040\031\177
+\262\033\211\124
+END
+
+# Trust for Certificate "ApplicationCA - Japanese Government"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ApplicationCA - Japanese Government"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\177\212\260\317\320\121\207\152\146\363\066\017\107\310\215\214
+\323\065\374\164
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\176\043\116\133\247\245\264\045\351\000\007\164\021\142\256\326
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\034\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145
+\163\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060
+\024\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164
+\151\157\156\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\061
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GeoTrust Primary Certification Authority - G3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
+\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124
+\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
+\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
+\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124
+\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
+\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030
+\017\037
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\376\060\202\002\346\240\003\002\001\002\002\020\025
+\254\156\224\031\262\171\113\101\366\047\251\303\030\017\037\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
+\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026
+\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163
+\164\040\111\156\143\056\061\071\060\067\006\003\125\004\013\023
+\060\050\143\051\040\062\060\060\070\040\107\145\157\124\162\165
+\163\164\040\111\156\143\056\040\055\040\106\157\162\040\141\165
+\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
+\171\061\066\060\064\006\003\125\004\003\023\055\107\145\157\124
+\162\165\163\164\040\120\162\151\155\141\162\171\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\040\055\040\107\063\060\036\027\015\060\070\060
+\064\060\062\060\060\060\060\060\060\132\027\015\063\067\061\062
+\060\061\062\063\065\071\065\071\132\060\201\230\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125
+\004\012\023\015\107\145\157\124\162\165\163\164\040\111\156\143
+\056\061\071\060\067\006\003\125\004\013\023\060\050\143\051\040
+\062\060\060\070\040\107\145\157\124\162\165\163\164\040\111\156
+\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151
+\172\145\144\040\165\163\145\040\157\156\154\171\061\066\060\064
+\006\003\125\004\003\023\055\107\145\157\124\162\165\163\164\040
+\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
+\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\334\342\136\142\130\035\063\127\071\062\063
+\372\353\313\207\214\247\324\112\335\006\210\352\144\216\061\230
+\245\070\220\036\230\317\056\143\053\360\106\274\104\262\211\241
+\300\050\014\111\160\041\225\237\144\300\246\223\022\002\145\046
+\206\306\245\211\360\372\327\204\240\160\257\117\032\227\077\006
+\104\325\311\353\162\020\175\344\061\050\373\034\141\346\050\007
+\104\163\222\042\151\247\003\210\154\235\143\310\122\332\230\047
+\347\010\114\160\076\264\311\022\301\305\147\203\135\063\363\003
+\021\354\152\320\123\342\321\272\066\140\224\200\273\141\143\154
+\133\027\176\337\100\224\036\253\015\302\041\050\160\210\377\326
+\046\154\154\140\004\045\116\125\176\175\357\277\224\110\336\267
+\035\335\160\215\005\137\210\245\233\362\302\356\352\321\100\101
+\155\142\070\035\126\006\305\003\107\121\040\031\374\173\020\013
+\016\142\256\166\125\277\137\167\276\076\111\001\123\075\230\045
+\003\166\044\132\035\264\333\211\352\171\345\266\263\073\077\272
+\114\050\101\177\006\254\152\216\301\320\366\005\035\175\346\102
+\206\343\245\325\107\002\003\001\000\001\243\102\060\100\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\035\006\003\125\035\016\004\026\004\024\304\171\312\216\241\116
+\003\035\034\334\153\333\061\133\224\076\077\060\177\055\060\015
+\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
+\001\000\055\305\023\317\126\200\173\172\170\275\237\256\054\231
+\347\357\332\337\224\136\011\151\247\347\156\150\214\275\162\276
+\107\251\016\227\022\270\112\361\144\323\071\337\045\064\324\301
+\315\116\201\360\017\004\304\044\263\064\226\306\246\252\060\337
+\150\141\163\327\371\216\205\211\357\016\136\225\050\112\052\047
+\217\020\216\056\174\206\304\002\236\332\014\167\145\016\104\015
+\222\375\375\263\026\066\372\021\015\035\214\016\007\211\152\051
+\126\367\162\364\335\025\234\167\065\146\127\253\023\123\330\216
+\301\100\305\327\023\026\132\162\307\267\151\001\304\172\261\203
+\001\150\175\215\101\241\224\030\301\045\134\374\360\376\203\002
+\207\174\015\015\317\056\010\134\112\100\015\076\354\201\141\346
+\044\333\312\340\016\055\007\262\076\126\334\215\365\101\205\007
+\110\233\014\013\313\111\077\175\354\267\375\313\215\147\211\032
+\253\355\273\036\243\000\010\010\027\052\202\134\061\135\106\212
+\055\017\206\233\164\331\105\373\324\100\261\172\252\150\055\206
+\262\231\042\341\301\053\307\234\370\363\137\250\202\022\353\031
+\021\055
+END
+
+# Trust for Certificate "GeoTrust Primary Certification Authority - G3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\003\236\355\270\013\347\240\074\151\123\211\073\040\322\331\062
+\072\114\052\375
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\265\350\064\066\311\020\104\130\110\160\155\056\203\324\270\005
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
+\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124
+\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
+\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030
+\017\037
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "thawte Primary Root CA - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "thawte Primary Root CA - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013
+\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164
+\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
+\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
+\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167
+\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040
+\103\101\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013
+\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164
+\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
+\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
+\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167
+\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040
+\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256
+\327\126
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\210\060\202\002\015\240\003\002\001\002\002\020\065
+\374\046\134\331\204\117\311\075\046\075\127\233\256\327\126\060
+\012\006\010\052\206\110\316\075\004\003\003\060\201\204\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006
+\003\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156
+\143\056\061\070\060\066\006\003\125\004\013\023\057\050\143\051
+\040\062\060\060\067\040\164\150\141\167\164\145\054\040\111\156
+\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151
+\172\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042
+\006\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162
+\151\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040
+\107\062\060\036\027\015\060\067\061\061\060\065\060\060\060\060
+\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065
+\071\132\060\201\204\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\025\060\023\006\003\125\004\012\023\014\164\150\141
+\167\164\145\054\040\111\156\143\056\061\070\060\066\006\003\125
+\004\013\023\057\050\143\051\040\062\060\060\067\040\164\150\141
+\167\164\145\054\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\044\060\042\006\003\125\004\003\023\033\164\150
+\141\167\164\145\040\120\162\151\155\141\162\171\040\122\157\157
+\164\040\103\101\040\055\040\107\062\060\166\060\020\006\007\052
+\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
+\004\242\325\234\202\173\225\235\361\122\170\207\376\212\026\277
+\005\346\337\243\002\117\015\007\306\000\121\272\014\002\122\055
+\042\244\102\071\304\376\217\352\311\301\276\324\115\377\237\172
+\236\342\261\174\232\255\247\206\011\163\207\321\347\232\343\172
+\245\252\156\373\272\263\160\300\147\210\242\065\324\243\232\261
+\375\255\302\357\061\372\250\271\363\373\010\306\221\321\373\051
+\225\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
+\024\232\330\000\060\000\347\153\177\205\030\356\213\266\316\212
+\014\370\021\341\273\060\012\006\010\052\206\110\316\075\004\003
+\003\003\151\000\060\146\002\061\000\335\370\340\127\107\133\247
+\346\012\303\275\365\200\212\227\065\015\033\211\074\124\206\167
+\050\312\241\364\171\336\265\346\070\260\360\145\160\214\177\002
+\124\302\277\377\330\241\076\331\317\002\061\000\304\215\224\374
+\334\123\322\334\235\170\026\037\025\063\043\123\122\343\132\061
+\135\235\312\256\275\023\051\104\015\047\133\250\347\150\234\022
+\367\130\077\056\162\002\127\243\217\241\024\056
+END
+
+# Trust for Certificate "thawte Primary Root CA - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "thawte Primary Root CA - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\252\333\274\042\043\217\304\001\241\047\273\070\335\364\035\333
+\010\236\360\022
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\164\235\352\140\044\304\375\042\123\076\314\072\162\331\051\117
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013
+\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164
+\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
+\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
+\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167
+\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040
+\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256
+\327\126
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "thawte Primary Root CA - G3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "thawte Primary Root CA - G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
+\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
+\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
+\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143
+\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
+\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006
+\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151
+\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107
+\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
+\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
+\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
+\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143
+\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
+\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006
+\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151
+\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107
+\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367
+\220\373
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\052\060\202\003\022\240\003\002\001\002\002\020\140
+\001\227\267\106\247\352\264\264\232\326\113\057\367\220\373\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
+\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025
+\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054
+\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061
+\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060
+\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056\040
+\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144
+\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003\125
+\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155\141
+\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063\060
+\036\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132
+\027\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060
+\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145
+\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023
+\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123
+\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156
+\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062
+\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056
+\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145
+\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003
+\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155
+\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063
+\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
+\000\262\277\047\054\373\333\330\133\335\170\173\033\236\167\146
+\201\313\076\274\174\256\363\246\047\232\064\243\150\061\161\070
+\063\142\344\363\161\146\171\261\251\145\243\245\213\325\217\140
+\055\077\102\314\252\153\062\300\043\313\054\101\335\344\337\374
+\141\234\342\163\262\042\225\021\103\030\137\304\266\037\127\154
+\012\005\130\042\310\066\114\072\174\245\321\317\206\257\210\247
+\104\002\023\164\161\163\012\102\131\002\370\033\024\153\102\337
+\157\137\272\153\202\242\235\133\347\112\275\036\001\162\333\113
+\164\350\073\177\177\175\037\004\264\046\233\340\264\132\254\107
+\075\125\270\327\260\046\122\050\001\061\100\146\330\331\044\275
+\366\052\330\354\041\111\134\233\366\172\351\177\125\065\176\226
+\153\215\223\223\047\313\222\273\352\254\100\300\237\302\370\200
+\317\135\364\132\334\316\164\206\246\076\154\013\123\312\275\222
+\316\031\006\162\346\014\134\070\151\307\004\326\274\154\316\133
+\366\367\150\234\334\045\025\110\210\241\351\251\370\230\234\340
+\363\325\061\050\141\021\154\147\226\215\071\231\313\302\105\044
+\071\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\255\154\252\224\140\234\355\344\377\372
+\076\012\164\053\143\003\367\266\131\277\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\001\001\000\032\100
+\330\225\145\254\011\222\211\306\071\364\020\345\251\016\146\123
+\135\170\336\372\044\221\273\347\104\121\337\306\026\064\012\357
+\152\104\121\352\053\007\212\003\172\303\353\077\012\054\122\026
+\240\053\103\271\045\220\077\160\251\063\045\155\105\032\050\073
+\047\317\252\303\051\102\033\337\073\114\300\063\064\133\101\210
+\277\153\053\145\257\050\357\262\365\303\252\146\316\173\126\356
+\267\310\313\147\301\311\234\032\030\270\304\303\111\003\361\140
+\016\120\315\106\305\363\167\171\367\266\025\340\070\333\307\057
+\050\240\014\077\167\046\164\331\045\022\332\061\332\032\036\334
+\051\101\221\042\074\151\247\273\002\362\266\134\047\003\211\364
+\006\352\233\344\162\202\343\241\011\301\351\000\031\323\076\324
+\160\153\272\161\246\252\130\256\364\273\351\154\266\357\207\314
+\233\273\377\071\346\126\141\323\012\247\304\134\114\140\173\005
+\167\046\172\277\330\007\122\054\142\367\160\143\331\071\274\157
+\034\302\171\334\166\051\257\316\305\054\144\004\136\210\066\156
+\061\324\100\032\142\064\066\077\065\001\256\254\143\240
+END
+
+# Trust for Certificate "thawte Primary Root CA - G3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "thawte Primary Root CA - G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\361\213\123\215\033\351\003\266\246\360\126\103\133\027\025\211
+\312\363\153\362
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\373\033\135\103\212\224\315\104\306\166\362\103\113\107\347\061
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
+\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
+\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
+\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
+\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143
+\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
+\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006
+\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151
+\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107
+\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367
+\220\373
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GeoTrust Primary Certification Authority - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
+\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124
+\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
+\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
+\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124
+\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
+\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076
+\303\153
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\256\060\202\002\065\240\003\002\001\002\002\020\074
+\262\364\110\012\000\342\376\353\044\073\136\140\076\303\153\060
+\012\006\010\052\206\110\316\075\004\003\003\060\201\230\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006
+\003\125\004\012\023\015\107\145\157\124\162\165\163\164\040\111
+\156\143\056\061\071\060\067\006\003\125\004\013\023\060\050\143
+\051\040\062\060\060\067\040\107\145\157\124\162\165\163\164\040
+\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157
+\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\066
+\060\064\006\003\125\004\003\023\055\107\145\157\124\162\165\163
+\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\062\060\036\027\015\060\067\061\061\060\065
+\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062
+\063\065\071\065\071\132\060\201\230\061\013\060\011\006\003\125
+\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023
+\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061\071
+\060\067\006\003\125\004\013\023\060\050\143\051\040\062\060\060
+\067\040\107\145\157\124\162\165\163\164\040\111\156\143\056\040
+\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144
+\040\165\163\145\040\157\156\154\171\061\066\060\064\006\003\125
+\004\003\023\055\107\145\157\124\162\165\163\164\040\120\162\151
+\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\062\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\025\261\350\375\003\025\103
+\345\254\353\207\067\021\142\357\322\203\066\122\175\105\127\013
+\112\215\173\124\073\072\156\137\025\002\300\120\246\317\045\057
+\175\312\110\270\307\120\143\034\052\041\010\174\232\066\330\013
+\376\321\046\305\130\061\060\050\045\363\135\135\243\270\266\245
+\264\222\355\154\054\237\353\335\103\211\242\074\113\110\221\035
+\120\354\046\337\326\140\056\275\041\243\102\060\100\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035
+\006\003\125\035\016\004\026\004\024\025\137\065\127\121\125\373
+\045\262\255\003\151\374\001\243\372\276\021\125\325\060\012\006
+\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060
+\144\226\131\246\350\011\336\213\272\372\132\210\210\360\037\221
+\323\106\250\362\112\114\002\143\373\154\137\070\333\056\101\223
+\251\016\346\235\334\061\034\262\240\247\030\034\171\341\307\066
+\002\060\072\126\257\232\164\154\366\373\203\340\063\323\010\137
+\241\234\302\133\237\106\326\266\313\221\006\143\242\006\347\063
+\254\076\250\201\022\320\313\272\320\222\013\266\236\226\252\004
+\017\212
+END
+
+# Trust for Certificate "GeoTrust Primary Certification Authority - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\215\027\204\325\067\363\003\175\354\160\376\127\213\121\232\231
+\346\020\327\260
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\001\136\330\153\275\157\075\216\241\061\370\022\340\230\163\152
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
+\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
+\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124
+\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
+\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
+\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
+\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076
+\303\153
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "VeriSign Universal Root Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023
+\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162
+\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023
+\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162
+\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032
+\305\035
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\271\060\202\003\241\240\003\002\001\002\002\020\100
+\032\304\144\041\263\023\041\003\016\273\344\022\032\305\035\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
+\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
+\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147
+\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013
+\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164
+\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004
+\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151
+\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162
+\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040
+\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126
+\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141
+\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036
+\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132\027
+\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060\201
+\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
+\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147
+\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013
+\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164
+\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004
+\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151
+\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162
+\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040
+\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126
+\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141
+\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202
+\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\307
+\141\067\136\261\001\064\333\142\327\025\233\377\130\132\214\043
+\043\326\140\216\221\327\220\230\203\172\346\130\031\070\214\305
+\366\345\144\205\264\242\161\373\355\275\271\332\315\115\000\264
+\310\055\163\245\307\151\161\225\037\071\074\262\104\007\234\350
+\016\372\115\112\304\041\337\051\141\217\062\042\141\202\305\207
+\037\156\214\174\137\026\040\121\104\321\160\117\127\352\343\034
+\343\314\171\356\130\330\016\302\263\105\223\300\054\347\232\027
+\053\173\000\067\172\101\063\170\341\063\342\363\020\032\177\207
+\054\276\366\365\367\102\342\345\277\207\142\211\137\000\113\337
+\305\335\344\165\104\062\101\072\036\161\156\151\313\013\165\106
+\010\321\312\322\053\225\320\317\373\271\100\153\144\214\127\115
+\374\023\021\171\204\355\136\124\366\064\237\010\001\363\020\045
+\006\027\112\332\361\035\172\146\153\230\140\146\244\331\357\322
+\056\202\361\360\357\011\352\104\311\025\152\342\003\156\063\323
+\254\237\125\000\307\366\010\152\224\271\137\334\340\063\361\204
+\140\371\133\047\021\264\374\026\362\273\126\152\200\045\215\002
+\003\001\000\001\243\201\262\060\201\257\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\155\006\010\053
+\006\001\005\005\007\001\014\004\141\060\137\241\135\240\133\060
+\131\060\127\060\125\026\011\151\155\141\147\145\057\147\151\146
+\060\041\060\037\060\007\006\005\053\016\003\002\032\004\024\217
+\345\323\032\206\254\215\216\153\303\317\200\152\324\110\030\054
+\173\031\056\060\045\026\043\150\164\164\160\072\057\057\154\157
+\147\157\056\166\145\162\151\163\151\147\156\056\143\157\155\057
+\166\163\154\157\147\157\056\147\151\146\060\035\006\003\125\035
+\016\004\026\004\024\266\167\372\151\110\107\237\123\022\325\302
+\352\007\062\166\007\321\227\007\031\060\015\006\011\052\206\110
+\206\367\015\001\001\013\005\000\003\202\001\001\000\112\370\370
+\260\003\346\054\147\173\344\224\167\143\314\156\114\371\175\016
+\015\334\310\271\065\271\160\117\143\372\044\372\154\203\214\107
+\235\073\143\363\232\371\166\062\225\221\261\167\274\254\232\276
+\261\344\061\041\306\201\225\126\132\016\261\302\324\261\246\131
+\254\361\143\313\270\114\035\131\220\112\357\220\026\050\037\132
+\256\020\373\201\120\070\014\154\314\361\075\303\365\143\343\263
+\343\041\311\044\071\351\375\025\146\106\364\033\021\320\115\163
+\243\175\106\371\075\355\250\137\142\324\361\077\370\340\164\127
+\053\030\235\201\264\304\050\332\224\227\245\160\353\254\035\276
+\007\021\360\325\333\335\345\214\360\325\062\260\203\346\127\342
+\217\277\276\241\252\277\075\035\265\324\070\352\327\260\134\072
+\117\152\077\217\300\146\154\143\252\351\331\244\026\364\201\321
+\225\024\016\175\315\225\064\331\322\217\160\163\201\173\234\176
+\275\230\141\330\105\207\230\220\305\353\206\060\306\065\277\360
+\377\303\125\210\203\113\357\005\222\006\161\362\270\230\223\267
+\354\315\202\141\361\070\346\117\227\230\052\132\215
+END
+
+# Trust for Certificate "VeriSign Universal Root Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\066\171\312\065\146\207\162\060\115\060\245\373\207\073\017\247
+\173\267\015\124
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\216\255\265\001\252\115\201\344\214\035\321\341\024\000\225\031
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023
+\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162
+\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032
+\305\035
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "VeriSign Class 3 Public Primary Certification Authority - G4"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\064
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\064
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207
+\254\263
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\204\060\202\003\012\240\003\002\001\002\002\020\057
+\200\376\043\214\016\042\017\110\147\022\050\221\207\254\263\060
+\012\006\010\052\206\110\316\075\004\003\003\060\201\312\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006
+\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040
+\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126
+\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145
+\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061
+\050\143\051\040\062\060\060\067\040\126\145\162\151\123\151\147
+\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
+\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
+\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151
+\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142
+\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\040\055\040\107\064\060\036\027\015\060\067\061\061
+\060\065\060\060\060\060\060\060\132\027\015\063\070\060\061\061
+\070\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004
+\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143
+\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151
+\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157
+\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051
+\040\062\060\060\067\040\126\145\162\151\123\151\147\156\054\040
+\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157
+\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105
+\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147
+\156\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143
+\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\064\060\166\060\020\006\007\052\206\110\316\075
+\002\001\006\005\053\201\004\000\042\003\142\000\004\247\126\172
+\174\122\332\144\233\016\055\134\330\136\254\222\075\376\001\346
+\031\112\075\024\003\113\372\140\047\040\331\203\211\151\372\124
+\306\232\030\136\125\052\144\336\006\366\215\112\073\255\020\074
+\145\075\220\210\004\211\340\060\141\263\256\135\001\247\173\336
+\174\262\276\312\145\141\000\206\256\332\217\173\320\211\255\115
+\035\131\232\101\261\274\107\200\334\236\142\303\371\243\201\262
+\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001\014
+\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026\011
+\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007\006
+\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215\216
+\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026\043
+\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162\151
+\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157\056
+\147\151\146\060\035\006\003\125\035\016\004\026\004\024\263\026
+\221\375\356\246\156\344\265\056\111\217\207\170\201\200\354\345
+\261\265\060\012\006\010\052\206\110\316\075\004\003\003\003\150
+\000\060\145\002\060\146\041\014\030\046\140\132\070\173\126\102
+\340\247\374\066\204\121\221\040\054\166\115\103\075\304\035\204
+\043\320\254\326\174\065\006\316\315\151\275\220\015\333\154\110
+\102\035\016\252\102\002\061\000\234\075\110\071\043\071\130\032
+\025\022\131\152\236\357\325\131\262\035\122\054\231\161\315\307
+\051\337\033\052\141\173\161\321\336\363\300\345\015\072\112\252
+\055\247\330\206\052\335\056\020
+END
+
+# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\042\325\330\337\217\002\061\321\215\367\235\267\317\212\055\144
+\311\077\154\072
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\072\122\341\347\375\157\072\343\157\363\157\231\033\371\042\101
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
+\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
+\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
+\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
+\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145
+\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
+\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
+\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
+\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
+\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\040\055\040\107\064
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207
+\254\263
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "NetLock Arany (Class Gold) Főtanúsítvány"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Arany (Class Gold) Főtanúsítvány"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
+\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
+\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
+\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
+\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
+\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
+\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
+\272\163\303\255\164\166\303\241\156\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
+\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
+\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
+\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
+\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
+\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
+\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
+\272\163\303\255\164\166\303\241\156\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\111\101\054\344\000\020
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\025\060\202\002\375\240\003\002\001\002\002\006\111
+\101\054\344\000\020\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\060\201\247\061\013\060\011\006\003\125\004\006
+\023\002\110\125\061\021\060\017\006\003\125\004\007\014\010\102
+\165\144\141\160\145\163\164\061\025\060\023\006\003\125\004\012
+\014\014\116\145\164\114\157\143\153\040\113\146\164\056\061\067
+\060\065\006\003\125\004\013\014\056\124\141\156\303\272\163\303
+\255\164\166\303\241\156\171\153\151\141\144\303\263\153\040\050
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\051\061\065\060\063\006\003\125\004\003
+\014\054\116\145\164\114\157\143\153\040\101\162\141\156\171\040
+\050\103\154\141\163\163\040\107\157\154\144\051\040\106\305\221
+\164\141\156\303\272\163\303\255\164\166\303\241\156\171\060\036
+\027\015\060\070\061\062\061\061\061\065\060\070\062\061\132\027
+\015\062\070\061\062\060\066\061\065\060\070\062\061\132\060\201
+\247\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021
+\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145\163
+\164\061\025\060\023\006\003\125\004\012\014\014\116\145\164\114
+\157\143\153\040\113\146\164\056\061\067\060\065\006\003\125\004
+\013\014\056\124\141\156\303\272\163\303\255\164\166\303\241\156
+\171\153\151\141\144\303\263\153\040\050\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163
+\051\061\065\060\063\006\003\125\004\003\014\054\116\145\164\114
+\157\143\153\040\101\162\141\156\171\040\050\103\154\141\163\163
+\040\107\157\154\144\051\040\106\305\221\164\141\156\303\272\163
+\303\255\164\166\303\241\156\171\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\304\044\136\163\276\113\155
+\024\303\241\364\343\227\220\156\322\060\105\036\074\356\147\331
+\144\340\032\212\177\312\060\312\203\343\040\301\343\364\072\323
+\224\137\032\174\133\155\277\060\117\204\047\366\237\037\111\274
+\306\231\012\220\362\017\365\177\103\204\067\143\121\213\172\245
+\160\374\172\130\315\216\233\355\303\106\154\204\160\135\332\363
+\001\220\043\374\116\060\251\176\341\047\143\347\355\144\074\240
+\270\311\063\143\376\026\220\377\260\270\375\327\250\300\300\224
+\103\013\266\325\131\246\236\126\320\044\037\160\171\257\333\071
+\124\015\145\165\331\025\101\224\001\257\136\354\366\215\361\377
+\255\144\376\040\232\327\134\353\376\246\037\010\144\243\213\166
+\125\255\036\073\050\140\056\207\045\350\252\257\037\306\144\106
+\040\267\160\177\074\336\110\333\226\123\267\071\167\344\032\342
+\307\026\204\166\227\133\057\273\031\025\205\370\151\205\365\231
+\247\251\362\064\247\251\266\246\003\374\157\206\075\124\174\166
+\004\233\153\371\100\135\000\064\307\056\231\165\235\345\210\003
+\252\115\370\003\322\102\166\300\033\002\003\000\250\213\243\105
+\060\103\060\022\006\003\125\035\023\001\001\377\004\010\060\006
+\001\001\377\002\001\004\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
+\024\314\372\147\223\360\266\270\320\245\300\036\363\123\375\214
+\123\337\203\327\226\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\003\202\001\001\000\253\177\356\034\026\251\234
+\074\121\000\240\300\021\010\005\247\231\346\157\001\210\124\141
+\156\361\271\030\255\112\255\376\201\100\043\224\057\373\165\174
+\057\050\113\142\044\201\202\013\365\141\361\034\156\270\141\070
+\353\201\372\142\241\073\132\142\323\224\145\304\341\346\155\202
+\370\057\045\160\262\041\046\301\162\121\037\214\054\303\204\220
+\303\132\217\272\317\364\247\145\245\353\230\321\373\005\262\106
+\165\025\043\152\157\205\143\060\200\360\325\236\037\051\034\302
+\154\260\120\131\135\220\133\073\250\015\060\317\277\175\177\316
+\361\235\203\275\311\106\156\040\246\371\141\121\272\041\057\173
+\276\245\025\143\241\324\225\207\361\236\271\363\211\363\075\205
+\270\270\333\276\265\271\051\371\332\067\005\000\111\224\003\204
+\104\347\277\103\061\317\165\213\045\321\364\246\144\365\222\366
+\253\005\353\075\351\245\013\066\142\332\314\006\137\066\213\266
+\136\061\270\052\373\136\366\161\337\104\046\236\304\346\015\221
+\264\056\165\225\200\121\152\113\060\246\260\142\241\223\361\233
+\330\316\304\143\165\077\131\107\261
+END
+
+# Trust for Certificate "NetLock Arany (Class Gold) Főtanúsítvány"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NetLock Arany (Class Gold) Főtanúsítvány"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\006\010\077\131\077\025\241\004\240\151\244\153\251\003\320\006
+\267\227\011\221
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\305\241\267\377\163\335\326\327\064\062\030\337\374\074\255\210
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
+\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
+\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
+\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
+\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
+\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
+\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
+\272\163\303\255\164\166\303\241\156\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\111\101\054\344\000\020
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Staat der Nederlanden Root CA - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\000\230\226\214
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\312\060\202\003\262\240\003\002\001\002\002\004\000
+\230\226\214\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141
+\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
+\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141
+\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
+\156\040\122\157\157\164\040\103\101\040\055\040\107\062\060\036
+\027\015\060\070\060\063\062\066\061\061\061\070\061\067\132\027
+\015\062\060\060\063\062\065\061\061\060\063\061\060\132\060\132
+\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060
+\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145
+\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060
+\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145
+\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157
+\157\164\040\103\101\040\055\040\107\062\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\305\131\347\157\165
+\252\076\113\234\265\270\254\236\013\344\371\331\312\253\135\217
+\265\071\020\202\327\257\121\340\073\341\000\110\152\317\332\341
+\006\103\021\231\252\024\045\022\255\042\350\000\155\103\304\251
+\270\345\037\211\113\147\275\141\110\357\375\322\340\140\210\345
+\271\030\140\050\303\167\053\255\260\067\252\067\336\144\131\052
+\106\127\344\113\271\370\067\174\325\066\347\200\301\266\363\324
+\147\233\226\350\316\327\306\012\123\320\153\111\226\363\243\013
+\005\167\110\367\045\345\160\254\060\024\040\045\343\177\165\132
+\345\110\370\116\173\003\007\004\372\202\141\207\156\360\073\304
+\244\307\320\365\164\076\245\135\032\010\362\233\045\322\366\254
+\004\046\076\125\072\142\050\245\173\262\060\257\370\067\302\321
+\272\326\070\375\364\357\111\060\067\231\046\041\110\205\001\251
+\345\026\347\334\220\125\337\017\350\070\315\231\067\041\117\135
+\365\042\157\152\305\022\026\140\027\125\362\145\146\246\247\060
+\221\070\301\070\035\206\004\204\272\032\045\170\136\235\257\314
+\120\140\326\023\207\122\355\143\037\155\145\175\302\025\030\164
+\312\341\176\144\051\214\162\330\026\023\175\013\111\112\361\050
+\033\040\164\153\305\075\335\260\252\110\011\075\056\202\224\315
+\032\145\331\053\210\232\231\274\030\176\237\356\175\146\174\076
+\275\224\270\201\316\315\230\060\170\301\157\147\320\276\137\340
+\150\355\336\342\261\311\054\131\170\222\252\337\053\140\143\362
+\345\136\271\343\312\372\177\120\206\076\242\064\030\014\011\150
+\050\021\034\344\341\271\134\076\107\272\062\077\030\314\133\204
+\365\363\153\164\304\162\164\341\343\213\240\112\275\215\146\057
+\352\255\065\332\040\323\210\202\141\360\022\042\266\274\320\325
+\244\354\257\124\210\045\044\074\247\155\261\162\051\077\076\127
+\246\177\125\257\156\046\306\376\347\314\100\134\121\104\201\012
+\170\336\112\316\125\277\035\325\331\267\126\357\360\166\377\013
+\171\265\257\275\373\251\151\221\106\227\150\200\024\066\035\263
+\177\273\051\230\066\245\040\372\202\140\142\063\244\354\326\272
+\007\247\156\305\317\024\246\347\326\222\064\330\201\365\374\035
+\135\252\134\036\366\243\115\073\270\367\071\002\003\001\000\001
+\243\201\227\060\201\224\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\122\006\003\125\035\040\004\113
+\060\111\060\107\006\004\125\035\040\000\060\077\060\075\006\010
+\053\006\001\005\005\007\002\001\026\061\150\164\164\160\072\057
+\057\167\167\167\056\160\153\151\157\166\145\162\150\145\151\144
+\056\156\154\057\160\157\154\151\143\151\145\163\057\162\157\157
+\164\055\160\157\154\151\143\171\055\107\062\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\221\150\062\207\025\035\211\342\265\361
+\254\066\050\064\215\013\174\142\210\353\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\002\001\000\250\101
+\112\147\052\222\201\202\120\156\341\327\330\263\071\073\363\002
+\025\011\120\121\357\055\275\044\173\210\206\073\371\264\274\222
+\011\226\271\366\300\253\043\140\006\171\214\021\116\121\322\171
+\200\063\373\235\110\276\354\101\103\201\037\176\107\100\034\345
+\172\010\312\252\213\165\255\024\304\302\350\146\074\202\007\247
+\346\047\202\133\030\346\017\156\331\120\076\212\102\030\051\306
+\264\126\374\126\020\240\005\027\275\014\043\177\364\223\355\234
+\032\121\276\335\105\101\277\221\044\264\037\214\351\137\317\173
+\041\231\237\225\237\071\072\106\034\154\371\315\173\234\220\315
+\050\251\307\251\125\273\254\142\064\142\065\023\113\024\072\125
+\203\271\206\215\222\246\306\364\007\045\124\314\026\127\022\112
+\202\170\310\024\331\027\202\046\055\135\040\037\171\256\376\324
+\160\026\026\225\203\330\065\071\377\122\135\165\034\026\305\023
+\125\317\107\314\165\145\122\112\336\360\260\247\344\012\226\013
+\373\255\302\342\045\204\262\335\344\275\176\131\154\233\360\360
+\330\347\312\362\351\227\070\176\211\276\314\373\071\027\141\077
+\162\333\072\221\330\145\001\031\035\255\120\244\127\012\174\113
+\274\234\161\163\052\105\121\031\205\314\216\375\107\247\164\225
+\035\250\321\257\116\027\261\151\046\302\252\170\127\133\305\115
+\247\345\236\005\027\224\312\262\137\240\111\030\215\064\351\046
+\154\110\036\252\150\222\005\341\202\163\132\233\334\007\133\010
+\155\175\235\327\215\041\331\374\024\040\252\302\105\337\077\347
+\000\262\121\344\302\370\005\271\171\032\214\064\363\236\133\344
+\067\133\153\112\337\054\127\212\100\132\066\272\335\165\104\010
+\067\102\160\014\376\334\136\041\240\243\212\300\220\234\150\332
+\120\346\105\020\107\170\266\116\322\145\311\303\067\337\341\102
+\143\260\127\067\105\055\173\212\234\277\005\352\145\125\063\367
+\071\020\305\050\052\041\172\033\212\304\044\371\077\025\310\232
+\025\040\365\125\142\226\355\155\223\120\274\344\252\170\255\331
+\313\012\145\207\246\146\301\304\201\243\167\072\130\036\013\356
+\203\213\235\036\322\122\244\314\035\157\260\230\155\224\061\265
+\370\161\012\334\271\374\175\062\140\346\353\257\212\001
+END
+
+# Trust for Certificate "Staat der Nederlanden Root CA - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\131\257\202\171\221\206\307\264\165\007\313\317\003\127\106\353
+\004\335\267\026
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\174\245\017\370\133\232\175\155\060\256\124\132\343\102\242\212
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\000\230\226\214
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "CA Disig"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "CA Disig"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\123\113\061
+\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
+\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
+\151\163\151\147\040\141\056\163\056\061\021\060\017\006\003\125
+\004\003\023\010\103\101\040\104\151\163\151\147
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\123\113\061
+\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
+\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
+\151\163\151\147\040\141\056\163\056\061\021\060\017\006\003\125
+\004\003\023\010\103\101\040\104\151\163\151\147
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\017\060\202\002\367\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\112\061\013\060\011\006\003\125\004\006\023\002\123\113\061\023
+\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163\154
+\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104\151
+\163\151\147\040\141\056\163\056\061\021\060\017\006\003\125\004
+\003\023\010\103\101\040\104\151\163\151\147\060\036\027\015\060
+\066\060\063\062\062\060\061\063\071\063\064\132\027\015\061\066
+\060\063\062\062\060\061\063\071\063\064\132\060\112\061\013\060
+\011\006\003\125\004\006\023\002\123\113\061\023\060\021\006\003
+\125\004\007\023\012\102\162\141\164\151\163\154\141\166\141\061
+\023\060\021\006\003\125\004\012\023\012\104\151\163\151\147\040
+\141\056\163\056\061\021\060\017\006\003\125\004\003\023\010\103
+\101\040\104\151\163\151\147\060\202\001\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060
+\202\001\012\002\202\001\001\000\222\366\061\301\175\210\375\231
+\001\251\330\173\362\161\165\361\061\306\363\165\146\372\121\050
+\106\204\227\170\064\274\154\374\274\105\131\210\046\030\112\304
+\067\037\241\112\104\275\343\161\004\365\104\027\342\077\374\110
+\130\157\134\236\172\011\272\121\067\042\043\146\103\041\260\074
+\144\242\370\152\025\016\077\353\121\341\124\251\335\006\231\327
+\232\074\124\213\071\003\077\017\305\316\306\353\203\162\002\250
+\037\161\363\055\370\165\010\333\142\114\350\372\316\371\347\152
+\037\266\153\065\202\272\342\217\026\222\175\005\014\154\106\003
+\135\300\355\151\277\072\301\212\240\350\216\331\271\105\050\207
+\010\354\264\312\025\276\202\335\265\104\213\055\255\206\014\150
+\142\155\205\126\362\254\024\143\072\306\321\231\254\064\170\126
+\113\317\266\255\077\214\212\327\004\345\343\170\114\365\206\252
+\365\217\372\075\154\161\243\055\312\147\353\150\173\156\063\251
+\014\202\050\250\114\152\041\100\025\040\014\046\133\203\302\251
+\026\025\300\044\202\135\053\026\255\312\143\366\164\000\260\337
+\103\304\020\140\126\147\143\105\002\003\001\000\001\243\201\377
+\060\201\374\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\215
+\262\111\150\235\162\010\045\271\300\047\365\120\223\126\110\106
+\161\371\217\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\066\006\003\125\035\021\004\057\060\055\201\023
+\143\141\157\160\145\162\141\164\157\162\100\144\151\163\151\147
+\056\163\153\206\026\150\164\164\160\072\057\057\167\167\167\056
+\144\151\163\151\147\056\163\153\057\143\141\060\146\006\003\125
+\035\037\004\137\060\135\060\055\240\053\240\051\206\047\150\164
+\164\160\072\057\057\167\167\167\056\144\151\163\151\147\056\163
+\153\057\143\141\057\143\162\154\057\143\141\137\144\151\163\151
+\147\056\143\162\154\060\054\240\052\240\050\206\046\150\164\164
+\160\072\057\057\143\141\056\144\151\163\151\147\056\163\153\057
+\143\141\057\143\162\154\057\143\141\137\144\151\163\151\147\056
+\143\162\154\060\032\006\003\125\035\040\004\023\060\021\060\017
+\006\015\053\201\036\221\223\346\012\000\000\000\001\001\001\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\135\064\164\141\114\257\073\330\377\237\155\130\066
+\034\075\013\201\015\022\053\106\020\200\375\347\074\047\320\172
+\310\251\266\176\164\060\063\243\072\212\173\164\300\171\171\102
+\223\155\377\261\051\024\202\253\041\214\057\027\371\077\046\057
+\365\131\306\357\200\006\267\232\111\051\354\316\176\161\074\152
+\020\101\300\366\323\232\262\174\132\221\234\300\254\133\310\115
+\136\367\341\123\377\103\167\374\236\113\147\154\327\363\203\321
+\240\340\177\045\337\270\230\013\232\062\070\154\060\240\363\377
+\010\025\063\367\120\112\173\076\243\076\040\251\334\057\126\200
+\012\355\101\120\260\311\364\354\262\343\046\104\000\016\157\236
+\006\274\042\226\123\160\145\304\120\012\106\153\244\057\047\201
+\022\047\023\137\020\241\166\316\212\173\067\352\303\071\141\003
+\225\230\072\347\154\210\045\010\374\171\150\015\207\175\142\370
+\264\137\373\305\330\114\275\130\274\077\103\133\324\036\001\115
+\074\143\276\043\357\214\315\132\120\270\150\124\371\012\231\063
+\021\000\341\236\302\106\167\202\365\131\006\214\041\114\207\011
+\315\345\250
+END
+
+# Trust for Certificate "CA Disig"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "CA Disig"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\052\310\325\213\127\316\277\057\111\257\362\374\166\217\121\024
+\142\220\172\101
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\077\105\226\071\342\120\207\367\273\376\230\014\074\040\230\346
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\123\113\061
+\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
+\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
+\151\163\151\147\040\141\056\163\056\061\021\060\017\006\003\125
+\004\003\023\010\103\101\040\104\151\163\151\147
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Juur-SK"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Juur-SK"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\135\061\030\060\026\006\011\052\206\110\206\367\015\001\011
+\001\026\011\160\153\151\100\163\153\056\145\145\061\013\060\011
+\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125
+\004\012\023\031\101\123\040\123\145\162\164\151\146\151\164\163
+\145\145\162\151\155\151\163\153\145\163\153\165\163\061\020\060
+\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\135\061\030\060\026\006\011\052\206\110\206\367\015\001\011
+\001\026\011\160\153\151\100\163\153\056\145\145\061\013\060\011
+\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125
+\004\012\023\031\101\123\040\123\145\162\164\151\146\151\164\163
+\145\145\162\151\155\151\163\153\145\163\153\165\163\061\020\060
+\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\073\216\113\374
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\346\060\202\003\316\240\003\002\001\002\002\004\073
+\216\113\374\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\135\061\030\060\026\006\011\052\206\110\206\367\015
+\001\011\001\026\011\160\153\151\100\163\153\056\145\145\061\013
+\060\011\006\003\125\004\006\023\002\105\105\061\042\060\040\006
+\003\125\004\012\023\031\101\123\040\123\145\162\164\151\146\151
+\164\163\145\145\162\151\155\151\163\153\145\163\153\165\163\061
+\020\060\016\006\003\125\004\003\023\007\112\165\165\162\055\123
+\113\060\036\027\015\060\061\060\070\063\060\061\064\062\063\060
+\061\132\027\015\061\066\060\070\062\066\061\064\062\063\060\061
+\132\060\135\061\030\060\026\006\011\052\206\110\206\367\015\001
+\011\001\026\011\160\153\151\100\163\153\056\145\145\061\013\060
+\011\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003
+\125\004\012\023\031\101\123\040\123\145\162\164\151\146\151\164
+\163\145\145\162\151\155\151\163\153\145\163\153\165\163\061\020
+\060\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113
+\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
+\000\201\161\066\076\063\007\326\343\060\215\023\176\167\062\106
+\313\317\031\262\140\061\106\227\206\364\230\106\244\302\145\105
+\317\323\100\174\343\132\042\250\020\170\063\314\210\261\323\201
+\112\366\142\027\173\137\115\012\056\320\317\213\043\356\117\002
+\116\273\353\016\312\275\030\143\350\200\034\215\341\034\215\075
+\340\377\133\137\352\144\345\227\350\077\231\177\014\012\011\063
+\000\032\123\247\041\341\070\113\326\203\033\255\257\144\302\371
+\034\172\214\146\110\115\146\037\030\012\342\076\273\037\007\145
+\223\205\271\032\260\271\304\373\015\021\366\365\326\371\033\307
+\054\053\267\030\121\376\340\173\366\250\110\257\154\073\117\057
+\357\370\321\107\036\046\127\360\121\035\063\226\377\357\131\075
+\332\115\321\025\064\307\352\077\026\110\173\221\034\200\103\017
+\075\270\005\076\321\263\225\315\330\312\017\302\103\147\333\267
+\223\340\042\202\056\276\365\150\050\203\271\301\073\151\173\040
+\332\116\234\155\341\272\315\217\172\154\260\011\042\327\213\013
+\333\034\325\132\046\133\015\300\352\345\140\320\237\376\065\337
+\077\002\003\001\000\001\243\202\001\254\060\202\001\250\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\202\001\026\006\003\125\035\040\004\202\001\015\060\202\001\011
+\060\202\001\005\006\012\053\006\001\004\001\316\037\001\001\001
+\060\201\366\060\201\320\006\010\053\006\001\005\005\007\002\002
+\060\201\303\036\201\300\000\123\000\145\000\145\000\040\000\163
+\000\145\000\162\000\164\000\151\000\146\000\151\000\153\000\141
+\000\141\000\164\000\040\000\157\000\156\000\040\000\166\000\344
+\000\154\000\152\000\141\000\163\000\164\000\141\000\164\000\165
+\000\144\000\040\000\101\000\123\000\055\000\151\000\163\000\040
+\000\123\000\145\000\162\000\164\000\151\000\146\000\151\000\164
+\000\163\000\145\000\145\000\162\000\151\000\155\000\151\000\163
+\000\153\000\145\000\163\000\153\000\165\000\163\000\040\000\141
+\000\154\000\141\000\155\000\055\000\123\000\113\000\040\000\163
+\000\145\000\162\000\164\000\151\000\146\000\151\000\153\000\141
+\000\141\000\164\000\151\000\144\000\145\000\040\000\153\000\151
+\000\156\000\156\000\151\000\164\000\141\000\155\000\151\000\163
+\000\145\000\153\000\163\060\041\006\010\053\006\001\005\005\007
+\002\001\026\025\150\164\164\160\072\057\057\167\167\167\056\163
+\153\056\145\145\057\143\160\163\057\060\053\006\003\125\035\037
+\004\044\060\042\060\040\240\036\240\034\206\032\150\164\164\160
+\072\057\057\167\167\167\056\163\153\056\145\145\057\152\165\165
+\162\057\143\162\154\057\060\035\006\003\125\035\016\004\026\004
+\024\004\252\172\107\243\344\211\257\032\317\012\100\247\030\077
+\157\357\351\175\276\060\037\006\003\125\035\043\004\030\060\026
+\200\024\004\252\172\107\243\344\211\257\032\317\012\100\247\030
+\077\157\357\351\175\276\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\346\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\001\001\000\173\301\030\224\123\242
+\011\363\376\046\147\232\120\344\303\005\057\053\065\170\221\114
+\174\250\021\021\171\114\111\131\254\310\367\205\145\134\106\273
+\073\020\240\002\257\315\117\265\314\066\052\354\135\376\357\240
+\221\311\266\223\157\174\200\124\354\307\010\160\015\216\373\202
+\354\052\140\170\151\066\066\321\305\234\213\151\265\100\310\224
+\145\167\362\127\041\146\073\316\205\100\266\063\143\032\277\171
+\036\374\134\035\323\035\223\033\213\014\135\205\275\231\060\062
+\030\011\221\122\351\174\241\272\377\144\222\232\354\376\065\356
+\214\057\256\374\040\206\354\112\336\033\170\062\067\246\201\322
+\235\257\132\022\026\312\231\133\374\157\155\016\305\240\036\206
+\311\221\320\134\230\202\137\143\014\212\132\253\330\225\246\314
+\313\212\326\277\144\113\216\312\212\262\260\351\041\062\236\252
+\250\205\230\064\201\071\041\073\250\072\122\062\075\366\153\067
+\206\006\132\025\230\334\360\021\146\376\064\040\267\003\364\101
+\020\175\071\204\171\226\162\143\266\226\002\345\153\271\255\031
+\115\273\306\104\333\066\313\052\234\216
+END
+
+# Trust for Certificate "Juur-SK"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Juur-SK"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\100\235\113\331\027\265\134\047\266\233\144\313\230\042\104\015
+\315\011\270\211
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\252\216\135\331\370\333\012\130\267\215\046\207\154\202\065\125
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\135\061\030\060\026\006\011\052\206\110\206\367\015\001\011
+\001\026\011\160\153\151\100\163\153\056\145\145\061\013\060\011
+\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125
+\004\012\023\031\101\123\040\123\145\162\164\151\146\151\164\163
+\145\145\162\151\155\151\163\153\145\163\153\165\163\061\020\060
+\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\073\216\113\374
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Hongkong Post Root CA 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hongkong Post Root CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
+\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
+\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
+\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
+\122\157\157\164\040\103\101\040\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
+\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
+\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
+\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
+\122\157\157\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\003\350
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\060\060\202\002\030\240\003\002\001\002\002\002\003
+\350\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
+\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
+\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
+\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
+\122\157\157\164\040\103\101\040\061\060\036\027\015\060\063\060
+\065\061\065\060\065\061\063\061\064\132\027\015\062\063\060\065
+\061\065\060\064\065\062\062\071\132\060\107\061\013\060\011\006
+\003\125\004\006\023\002\110\113\061\026\060\024\006\003\125\004
+\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164
+\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153
+\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101
+\040\061\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\254\377\070\266\351\146\002\111\343\242\264\341\220
+\371\100\217\171\371\342\275\171\376\002\275\356\044\222\035\042
+\366\332\205\162\151\376\327\077\011\324\335\221\265\002\234\320
+\215\132\341\125\303\120\206\271\051\046\302\343\331\240\361\151
+\003\050\040\200\105\042\055\126\247\073\124\225\126\042\131\037
+\050\337\037\040\075\155\242\066\276\043\240\261\156\265\261\047
+\077\071\123\011\352\253\152\350\164\262\302\145\134\216\277\174
+\303\170\204\315\236\026\374\365\056\117\040\052\010\237\167\363
+\305\036\304\232\122\146\036\110\136\343\020\006\217\042\230\341
+\145\216\033\135\043\146\073\270\245\062\121\310\206\252\241\251
+\236\177\166\224\302\246\154\267\101\360\325\310\006\070\346\324
+\014\342\363\073\114\155\120\214\304\203\047\301\023\204\131\075
+\236\165\164\266\330\002\136\072\220\172\300\102\066\162\354\152
+\115\334\357\304\000\337\023\030\127\137\046\170\310\326\012\171
+\167\277\367\257\267\166\271\245\013\204\027\135\020\352\157\341
+\253\225\021\137\155\074\243\134\115\203\133\362\263\031\212\200
+\213\013\207\002\003\001\000\001\243\046\060\044\060\022\006\003
+\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001\003
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\306
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\016\106\325\074\256\342\207\331\136\201\213\002
+\230\101\010\214\114\274\332\333\356\047\033\202\347\152\105\354
+\026\213\117\205\240\363\262\160\275\132\226\272\312\156\155\356
+\106\213\156\347\052\056\226\263\031\063\353\264\237\250\262\067
+\356\230\250\227\266\056\266\147\047\324\246\111\375\034\223\145
+\166\236\102\057\334\042\154\232\117\362\132\025\071\261\161\327
+\053\121\350\155\034\230\300\331\052\364\241\202\173\325\311\101
+\242\043\001\164\070\125\213\017\271\056\147\242\040\004\067\332
+\234\013\323\027\041\340\217\227\171\064\157\204\110\002\040\063
+\033\346\064\104\237\221\160\364\200\136\204\103\302\051\322\154
+\022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105
+\237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203
+\133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116
+\174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321
+\034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206
+\237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342
+\002\153\331\132
+END
+
+# Trust for Certificate "Hongkong Post Root CA 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hongkong Post Root CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\326\332\250\040\215\011\322\025\115\044\265\057\313\064\156\262
+\130\262\212\130
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\250\015\157\071\170\271\103\155\167\102\155\230\132\314\043\312
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
+\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
+\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
+\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
+\122\157\157\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\003\350
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "SecureSign RootCA11"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SecureSign RootCA11"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
+\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
+\156\040\122\157\157\164\103\101\061\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
+\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
+\156\040\122\157\157\164\103\101\061\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\155\060\202\002\125\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061\053
+\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162
+\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032\006
+\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147\156
+\040\122\157\157\164\103\101\061\061\060\036\027\015\060\071\060
+\064\060\070\060\064\065\066\064\067\132\027\015\062\071\060\064
+\060\070\060\064\065\066\064\067\132\060\130\061\013\060\011\006
+\003\125\004\006\023\002\112\120\061\053\060\051\006\003\125\004
+\012\023\042\112\141\160\141\156\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163\054
+\040\111\156\143\056\061\034\060\032\006\003\125\004\003\023\023
+\123\145\143\165\162\145\123\151\147\156\040\122\157\157\164\103
+\101\061\061\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\375\167\252\245\034\220\005\073\313\114\233\063
+\213\132\024\105\244\347\220\026\321\337\127\322\041\020\244\027
+\375\337\254\326\037\247\344\333\174\367\354\337\270\003\332\224
+\130\375\135\162\174\214\077\137\001\147\164\025\226\343\002\074
+\207\333\256\313\001\216\302\363\146\306\205\105\364\002\306\072
+\265\142\262\257\372\234\277\244\346\324\200\060\230\363\015\266
+\223\217\251\324\330\066\362\260\374\212\312\054\241\025\063\225
+\061\332\300\033\362\356\142\231\206\143\077\277\335\223\052\203
+\250\166\271\023\037\267\316\116\102\205\217\042\347\056\032\362
+\225\011\262\005\265\104\116\167\241\040\275\251\362\116\012\175
+\120\255\365\005\015\105\117\106\161\375\050\076\123\373\004\330
+\055\327\145\035\112\033\372\317\073\260\061\232\065\156\310\213
+\006\323\000\221\362\224\010\145\114\261\064\006\000\172\211\342
+\360\307\003\131\317\325\326\350\247\062\263\346\230\100\206\305
+\315\047\022\213\314\173\316\267\021\074\142\140\007\043\076\053
+\100\156\224\200\011\155\266\263\157\167\157\065\010\120\373\002
+\207\305\076\211\002\003\001\000\001\243\102\060\100\060\035\006
+\003\125\035\016\004\026\004\024\133\370\115\117\262\245\206\324
+\072\322\361\143\232\240\276\011\366\127\267\336\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\240\241\070\026\146\056\247\126\037\041\234\006\372\035\355
+\271\042\305\070\046\330\116\117\354\243\177\171\336\106\041\241
+\207\167\217\007\010\232\262\244\305\257\017\062\230\013\174\146
+\051\266\233\175\045\122\111\103\253\114\056\053\156\172\160\257
+\026\016\343\002\154\373\102\346\030\235\105\330\125\310\350\073
+\335\347\341\364\056\013\034\064\134\154\130\112\373\214\210\120
+\137\225\034\277\355\253\042\265\145\263\205\272\236\017\270\255
+\345\172\033\212\120\072\035\275\015\274\173\124\120\013\271\102
+\257\125\240\030\201\255\145\231\357\276\344\234\277\304\205\253
+\101\262\124\157\334\045\315\355\170\342\216\014\215\011\111\335
+\143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310
+\122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371
+\244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154
+\017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055
+\015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215
+\101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003
+\362
+END
+
+# Trust for Certificate "SecureSign RootCA11"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SecureSign RootCA11"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\073\304\237\110\370\363\163\240\234\036\275\370\133\261\303\145
+\307\330\021\263
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\267\122\164\342\222\264\200\223\362\165\344\314\327\362\352\046
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
+\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
+\156\040\122\157\157\164\103\101\061\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "ACEDICOM Root"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ACEDICOM Root"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\104\061\026\060\024\006\003\125\004\003\014\015\101\103\105
+\104\111\103\117\115\040\122\157\157\164\061\014\060\012\006\003
+\125\004\013\014\003\120\113\111\061\017\060\015\006\003\125\004
+\012\014\006\105\104\111\103\117\115\061\013\060\011\006\003\125
+\004\006\023\002\105\123
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\026\060\024\006\003\125\004\003\014\015\101\103\105
+\104\111\103\117\115\040\122\157\157\164\061\014\060\012\006\003
+\125\004\013\014\003\120\113\111\061\017\060\015\006\003\125\004
+\012\014\006\105\104\111\103\117\115\061\013\060\011\006\003\125
+\004\006\023\002\105\123
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\141\215\307\206\073\001\202\005
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\265\060\202\003\235\240\003\002\001\002\002\010\141
+\215\307\206\073\001\202\005\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\104\061\026\060\024\006\003\125\004
+\003\014\015\101\103\105\104\111\103\117\115\040\122\157\157\164
+\061\014\060\012\006\003\125\004\013\014\003\120\113\111\061\017
+\060\015\006\003\125\004\012\014\006\105\104\111\103\117\115\061
+\013\060\011\006\003\125\004\006\023\002\105\123\060\036\027\015
+\060\070\060\064\061\070\061\066\062\064\062\062\132\027\015\062
+\070\060\064\061\063\061\066\062\064\062\062\132\060\104\061\026
+\060\024\006\003\125\004\003\014\015\101\103\105\104\111\103\117
+\115\040\122\157\157\164\061\014\060\012\006\003\125\004\013\014
+\003\120\113\111\061\017\060\015\006\003\125\004\012\014\006\105
+\104\111\103\117\115\061\013\060\011\006\003\125\004\006\023\002
+\105\123\060\202\002\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
+\002\001\000\377\222\225\341\150\006\166\264\054\310\130\110\312
+\375\200\124\051\125\143\044\377\220\145\233\020\165\173\303\152
+\333\142\002\001\362\030\206\265\174\132\070\261\344\130\271\373
+\323\330\055\237\275\062\067\277\054\025\155\276\265\364\041\322
+\023\221\331\007\255\001\005\326\363\275\167\316\137\102\201\012
+\371\152\343\203\000\250\053\056\125\023\143\201\312\107\034\173
+\134\026\127\172\033\203\140\004\072\076\145\303\315\001\336\336
+\244\326\014\272\216\336\331\004\356\027\126\042\233\217\143\375
+\115\026\013\267\173\167\214\371\045\265\321\155\231\022\056\117
+\032\270\346\352\004\222\256\075\021\271\121\102\075\207\260\061
+\205\257\171\132\234\376\347\116\136\222\117\103\374\253\072\255
+\245\022\046\146\271\342\014\327\230\316\324\130\245\225\100\012
+\267\104\235\023\164\053\302\245\353\042\025\230\020\330\213\305
+\004\237\035\217\140\345\006\033\233\317\271\171\240\075\242\043
+\077\102\077\153\372\034\003\173\060\215\316\154\300\277\346\033
+\137\277\147\270\204\031\325\025\357\173\313\220\066\061\142\311
+\274\002\253\106\137\233\376\032\150\224\064\075\220\216\255\366
+\344\035\011\177\112\210\070\077\276\147\375\064\226\365\035\274
+\060\164\313\070\356\325\154\253\324\374\364\000\267\000\133\205
+\062\026\166\063\351\330\243\231\235\005\000\252\026\346\363\201
+\175\157\175\252\206\155\255\025\164\323\304\242\161\252\364\024
+\175\347\062\270\037\274\325\361\116\275\157\027\002\071\327\016
+\225\102\072\307\000\076\351\046\143\021\352\013\321\112\377\030
+\235\262\327\173\057\072\331\226\373\350\036\222\256\023\125\310
+\331\047\366\334\110\033\260\044\301\205\343\167\235\232\244\363
+\014\021\035\015\310\264\024\356\265\202\127\011\277\040\130\177
+\057\042\043\330\160\313\171\154\311\113\362\251\052\310\374\207
+\053\327\032\120\370\047\350\057\103\343\072\275\330\127\161\375
+\316\246\122\133\371\335\115\355\345\366\157\211\355\273\223\234
+\166\041\165\360\222\114\051\367\057\234\001\056\376\120\106\236
+\144\014\024\263\007\133\305\302\163\154\361\007\134\105\044\024
+\065\256\203\361\152\115\211\172\372\263\330\055\146\360\066\207
+\365\053\123\002\003\001\000\001\243\201\252\060\201\247\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\037\006\003\125\035\043\004\030\060\026\200\024\246\263\341\053
+\053\111\266\327\163\241\252\224\365\001\347\163\145\114\254\120
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206
+\060\035\006\003\125\035\016\004\026\004\024\246\263\341\053\053
+\111\266\327\163\241\252\224\365\001\347\163\145\114\254\120\060
+\104\006\003\125\035\040\004\075\060\073\060\071\006\004\125\035
+\040\000\060\061\060\057\006\010\053\006\001\005\005\007\002\001
+\026\043\150\164\164\160\072\057\057\141\143\145\144\151\143\157
+\155\056\145\144\151\143\157\155\147\162\157\165\160\056\143\157
+\155\057\144\157\143\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\003\202\002\001\000\316\054\013\122\121\142\046
+\175\014\047\203\217\305\366\332\240\150\173\117\222\136\352\244
+\163\062\021\123\104\262\104\313\235\354\017\171\102\263\020\246
+\307\015\235\313\266\372\077\072\174\352\277\210\123\033\074\367
+\202\372\005\065\063\341\065\250\127\300\347\375\215\117\077\223
+\062\117\170\146\003\167\007\130\351\225\310\176\076\320\171\000
+\214\362\033\121\063\233\274\224\351\072\173\156\122\055\062\236
+\043\244\105\373\266\056\023\260\213\030\261\335\316\325\035\247
+\102\177\125\276\373\133\273\107\324\374\044\315\004\256\226\005
+\025\326\254\316\060\363\312\013\305\272\342\042\340\246\255\042
+\344\002\356\164\021\177\114\377\170\035\065\332\346\002\064\353
+\030\022\141\167\006\011\026\143\352\030\255\242\207\037\362\307
+\200\011\011\165\116\020\250\217\075\206\270\165\021\300\044\142
+\212\226\173\112\105\351\354\131\305\276\153\203\346\341\350\254
+\265\060\036\376\005\007\200\371\341\043\015\120\217\005\230\377
+\054\137\350\073\266\255\317\201\265\041\207\312\010\052\043\047
+\060\040\053\317\355\224\133\254\262\172\322\307\050\241\212\013
+\233\115\112\054\155\205\077\011\162\074\147\342\331\334\007\272
+\353\145\173\132\001\143\326\220\133\117\027\146\075\177\013\031
+\243\223\143\020\122\052\237\024\026\130\342\334\245\364\241\026
+\213\016\221\213\201\312\233\131\372\330\153\221\007\145\125\137
+\122\037\257\072\373\220\335\151\245\133\234\155\016\054\266\372
+\316\254\245\174\062\112\147\100\334\060\064\043\335\327\004\043
+\146\360\374\125\200\247\373\146\031\202\065\147\142\160\071\136
+\157\307\352\220\100\104\010\036\270\262\326\333\356\131\247\015
+\030\171\064\274\124\030\136\123\312\064\121\355\105\012\346\216
+\307\202\066\076\247\070\143\251\060\054\027\020\140\222\237\125
+\207\022\131\020\302\017\147\151\021\314\116\036\176\112\232\255
+\257\100\250\165\254\126\220\164\270\240\234\245\171\157\334\351
+\032\310\151\005\351\272\372\003\263\174\344\340\116\302\316\235
+\350\266\106\015\156\176\127\072\147\224\302\313\037\234\167\112
+\147\116\151\206\103\223\070\373\266\333\117\203\221\324\140\176
+\113\076\053\070\007\125\230\136\244
+END
+
+# Trust for Certificate "ACEDICOM Root"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ACEDICOM Root"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\340\264\062\056\262\366\245\150\266\124\123\204\110\030\112\120
+\066\207\103\204
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\102\201\240\342\034\343\125\020\336\125\211\102\145\226\042\346
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\026\060\024\006\003\125\004\003\014\015\101\103\105
+\104\111\103\117\115\040\122\157\157\164\061\014\060\012\006\003
+\125\004\013\014\003\120\113\111\061\017\060\015\006\003\125\004
+\012\014\006\105\104\111\103\117\115\061\013\060\011\006\003\125
+\004\006\023\002\105\123
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\141\215\307\206\073\001\202\005
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+
+#
+# Certificate "Verisign Class 1 Public Primary Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\077\151\036\201\234\360\232\112\363\163\377\271\110\242
+\344\335
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\074\060\202\001\245\002\020\077\151\036\201\234\360
+\232\112\363\163\377\271\110\242\344\335\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\137\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004
+\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143
+\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141\163
+\163\040\061\040\120\165\142\154\151\143\040\120\162\151\155\141
+\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\066
+\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060
+\070\060\062\062\063\065\071\065\071\132\060\137\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125
+\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141
+\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151\155
+\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215
+\000\060\201\211\002\201\201\000\345\031\277\155\243\126\141\055
+\231\110\161\366\147\336\271\215\353\267\236\206\200\012\221\016
+\372\070\045\257\106\210\202\345\163\250\240\233\044\135\015\037
+\314\145\156\014\260\320\126\204\030\207\232\006\233\020\241\163
+\337\264\130\071\153\156\301\366\025\325\250\250\077\252\022\006
+\215\061\254\177\260\064\327\217\064\147\210\011\315\024\021\342
+\116\105\126\151\037\170\002\200\332\334\107\221\051\273\066\311
+\143\134\305\340\327\055\207\173\241\267\062\260\173\060\272\052
+\057\061\252\356\243\147\332\333\002\003\001\000\001\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201\000
+\130\025\051\071\074\167\243\332\134\045\003\174\140\372\356\011
+\231\074\047\020\160\310\014\011\346\263\207\317\012\342\030\226
+\065\142\314\277\233\047\171\211\137\311\304\011\364\316\265\035
+\337\052\275\345\333\206\234\150\045\345\060\174\266\211\025\376
+\147\321\255\341\120\254\074\174\142\113\217\272\204\327\022\025
+\033\037\312\135\017\301\122\224\052\021\231\332\173\317\014\066
+\023\325\065\334\020\031\131\352\224\301\000\277\165\217\331\372
+\375\166\004\333\142\273\220\152\003\331\106\065\331\370\174\133
+END
+
+# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\316\152\144\243\011\344\057\273\331\205\034\105\076\144\011\352
+\350\175\140\361
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\206\254\336\053\305\155\303\331\214\050\210\323\215\026\023\036
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\077\151\036\201\234\360\232\112\363\163\377\271\110\242
+\344\335
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Verisign Class 3 Public Primary Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277
+\022\276
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\074\060\202\001\245\002\020\074\221\061\313\037\366
+\320\033\016\232\270\320\104\277\022\276\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\060\137\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004
+\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143
+\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141\163
+\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155\141
+\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\066
+\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060
+\070\060\062\062\063\065\071\065\071\132\060\137\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125
+\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156
+\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141
+\163\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155
+\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215
+\000\060\201\211\002\201\201\000\311\134\131\236\362\033\212\001
+\024\264\020\337\004\100\333\343\127\257\152\105\100\217\204\014
+\013\321\063\331\331\021\317\356\002\130\037\045\367\052\250\104
+\005\252\354\003\037\170\177\236\223\271\232\000\252\043\175\326
+\254\205\242\143\105\307\162\047\314\364\114\306\165\161\322\071
+\357\117\102\360\165\337\012\220\306\216\040\157\230\017\370\254
+\043\137\160\051\066\244\311\206\347\261\232\040\313\123\245\205
+\347\075\276\175\232\376\044\105\063\334\166\025\355\017\242\161
+\144\114\145\056\201\150\105\247\002\003\001\000\001\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201\000
+\020\162\122\251\005\024\031\062\010\101\360\305\153\012\314\176
+\017\041\031\315\344\147\334\137\251\033\346\312\350\163\235\042
+\330\230\156\163\003\141\221\305\174\260\105\100\156\104\235\215
+\260\261\226\164\141\055\015\251\105\322\244\222\052\326\232\165
+\227\156\077\123\375\105\231\140\035\250\053\114\371\136\247\011
+\330\165\060\327\322\145\140\075\147\326\110\125\165\151\077\221
+\365\110\013\107\151\042\151\202\226\276\311\310\070\206\112\172
+\054\163\031\110\151\116\153\174\145\277\017\374\160\316\210\220
+END
+
+# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\241\333\143\223\221\157\027\344\030\125\011\100\004\025\307\002
+\100\260\256\153
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\357\132\361\063\357\361\315\273\121\002\356\022\024\113\226\304
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151
+\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004
+\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151
+\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277
+\022\276
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Microsec e-Szigno Root CA 2009"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
+\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
+\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
+\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
+\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
+\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
+\156\157\056\150\165
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
+\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
+\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
+\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
+\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
+\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
+\156\157\056\150\165
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\302\176\103\004\116\107\077\031
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\012\060\202\002\362\240\003\002\001\002\002\011\000
+\302\176\103\004\116\107\077\031\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003
+\125\004\006\023\002\110\125\061\021\060\017\006\003\125\004\007
+\014\010\102\165\144\141\160\145\163\164\061\026\060\024\006\003
+\125\004\012\014\015\115\151\143\162\157\163\145\143\040\114\164
+\144\056\061\047\060\045\006\003\125\004\003\014\036\115\151\143
+\162\157\163\145\143\040\145\055\123\172\151\147\156\157\040\122
+\157\157\164\040\103\101\040\062\060\060\071\061\037\060\035\006
+\011\052\206\110\206\367\015\001\011\001\026\020\151\156\146\157
+\100\145\055\163\172\151\147\156\157\056\150\165\060\036\027\015
+\060\071\060\066\061\066\061\061\063\060\061\070\132\027\015\062
+\071\061\062\063\060\061\061\063\060\061\070\132\060\201\202\061
+\013\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017
+\006\003\125\004\007\014\010\102\165\144\141\160\145\163\164\061
+\026\060\024\006\003\125\004\012\014\015\115\151\143\162\157\163
+\145\143\040\114\164\144\056\061\047\060\045\006\003\125\004\003
+\014\036\115\151\143\162\157\163\145\143\040\145\055\123\172\151
+\147\156\157\040\122\157\157\164\040\103\101\040\062\060\060\071
+\061\037\060\035\006\011\052\206\110\206\367\015\001\011\001\026
+\020\151\156\146\157\100\145\055\163\172\151\147\156\157\056\150
+\165\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\351\370\217\363\143\255\332\206\330\247\340\102\373\317
+\221\336\246\046\370\231\245\143\160\255\233\256\312\063\100\175
+\155\226\156\241\016\104\356\341\023\235\224\102\122\232\275\165
+\205\164\054\250\016\035\223\266\030\267\214\054\250\317\373\134
+\161\271\332\354\376\350\176\217\344\057\035\262\250\165\207\330
+\267\241\345\073\317\231\112\106\320\203\031\175\300\241\022\034
+\225\155\112\364\330\307\245\115\063\056\205\071\100\165\176\024
+\174\200\022\230\120\307\101\147\270\240\200\141\124\246\154\116
+\037\340\235\016\007\351\311\272\063\347\376\300\125\050\054\002
+\200\247\031\365\236\334\125\123\003\227\173\007\110\377\231\373
+\067\212\044\304\131\314\120\020\143\216\252\251\032\260\204\032
+\206\371\137\273\261\120\156\244\321\012\314\325\161\176\037\247
+\033\174\365\123\156\042\137\313\053\346\324\174\135\256\326\302
+\306\114\345\005\001\331\355\127\374\301\043\171\374\372\310\044
+\203\225\363\265\152\121\001\320\167\326\351\022\241\371\032\203
+\373\202\033\271\260\227\364\166\006\063\103\111\240\377\013\265
+\372\265\002\003\001\000\001\243\201\200\060\176\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
+\003\125\035\016\004\026\004\024\313\017\306\337\102\103\314\075
+\313\265\110\043\241\032\172\246\052\273\064\150\060\037\006\003
+\125\035\043\004\030\060\026\200\024\313\017\306\337\102\103\314
+\075\313\265\110\043\241\032\172\246\052\273\064\150\060\033\006
+\003\125\035\021\004\024\060\022\201\020\151\156\146\157\100\145
+\055\163\172\151\147\156\157\056\150\165\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\001\001\000\311\321
+\016\136\056\325\314\263\174\076\313\374\075\377\015\050\225\223
+\004\310\277\332\315\171\270\103\220\360\244\276\357\362\357\041
+\230\274\324\324\135\006\366\356\102\354\060\154\240\252\251\312
+\361\257\212\372\077\013\163\152\076\352\056\100\176\037\256\124
+\141\171\353\056\010\067\327\043\363\214\237\276\035\261\341\244
+\165\333\240\342\124\024\261\272\034\051\244\030\366\022\272\242
+\024\024\343\061\065\310\100\377\267\340\005\166\127\301\034\131
+\362\370\277\344\355\045\142\134\204\360\176\176\037\263\276\371
+\267\041\021\314\003\001\126\160\247\020\222\036\033\064\201\036
+\255\234\032\303\004\074\355\002\141\326\036\006\363\137\072\207
+\362\053\361\105\207\345\075\254\321\307\127\204\275\153\256\334
+\330\371\266\033\142\160\013\075\066\311\102\362\062\327\172\141
+\346\322\333\075\317\310\251\311\233\334\333\130\104\327\157\070
+\257\177\170\323\243\255\032\165\272\034\301\066\174\217\036\155
+\034\303\165\106\256\065\005\246\366\134\075\041\356\126\360\311
+\202\042\055\172\124\253\160\303\175\042\145\202\160\226
+END
+
+# Trust for Certificate "Microsec e-Szigno Root CA 2009"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\211\337\164\376\134\364\017\112\200\371\343\067\175\124\332\221
+\341\001\061\216
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\370\111\364\003\274\104\055\203\276\110\151\175\051\144\374\261
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
+\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
+\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
+\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
+\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
+\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
+\156\157\056\150\165
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\302\176\103\004\116\107\077\031
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\124\122\061
+\050\060\046\006\003\125\004\012\023\037\105\154\145\153\164\162
+\157\156\151\153\040\102\151\154\147\151\040\107\165\166\145\156
+\154\151\147\151\040\101\056\123\056\061\074\060\072\006\003\125
+\004\003\023\063\145\055\107\165\166\145\156\040\113\157\153\040
+\105\154\145\153\164\162\157\156\151\153\040\123\145\162\164\151
+\146\151\153\141\040\110\151\172\155\145\164\040\123\141\147\154
+\141\171\151\143\151\163\151
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\124\122\061
+\050\060\046\006\003\125\004\012\023\037\105\154\145\153\164\162
+\157\156\151\153\040\102\151\154\147\151\040\107\165\166\145\156
+\154\151\147\151\040\101\056\123\056\061\074\060\072\006\003\125
+\004\003\023\063\145\055\107\165\166\145\156\040\113\157\153\040
+\105\154\145\153\164\162\157\156\151\153\040\123\145\162\164\151
+\146\151\153\141\040\110\151\172\155\145\164\040\123\141\147\154
+\141\171\151\143\151\163\151
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\231\215\074\300\003\047\275\234\166\225\271\352\333
+\254\265
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\266\060\202\002\236\240\003\002\001\002\002\020\104
+\231\215\074\300\003\047\275\234\166\225\271\352\333\254\265\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\165
+\061\013\060\011\006\003\125\004\006\023\002\124\122\061\050\060
+\046\006\003\125\004\012\023\037\105\154\145\153\164\162\157\156
+\151\153\040\102\151\154\147\151\040\107\165\166\145\156\154\151
+\147\151\040\101\056\123\056\061\074\060\072\006\003\125\004\003
+\023\063\145\055\107\165\166\145\156\040\113\157\153\040\105\154
+\145\153\164\162\157\156\151\153\040\123\145\162\164\151\146\151
+\153\141\040\110\151\172\155\145\164\040\123\141\147\154\141\171
+\151\143\151\163\151\060\036\027\015\060\067\060\061\060\064\061
+\061\063\062\064\070\132\027\015\061\067\060\061\060\064\061\061
+\063\062\064\070\132\060\165\061\013\060\011\006\003\125\004\006
+\023\002\124\122\061\050\060\046\006\003\125\004\012\023\037\105
+\154\145\153\164\162\157\156\151\153\040\102\151\154\147\151\040
+\107\165\166\145\156\154\151\147\151\040\101\056\123\056\061\074
+\060\072\006\003\125\004\003\023\063\145\055\107\165\166\145\156
+\040\113\157\153\040\105\154\145\153\164\162\157\156\151\153\040
+\123\145\162\164\151\146\151\153\141\040\110\151\172\155\145\164
+\040\123\141\147\154\141\171\151\143\151\163\151\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\303\022\040
+\236\260\136\000\145\215\116\106\273\200\134\351\054\006\227\325
+\363\162\311\160\271\347\113\145\200\301\113\276\176\074\327\124
+\061\224\336\325\022\272\123\026\002\352\130\143\357\133\330\363
+\355\052\032\252\161\110\243\334\020\055\137\137\353\134\113\234
+\226\010\102\045\050\021\314\212\132\142\001\120\325\353\011\123
+\057\370\303\217\376\263\374\375\235\242\343\137\175\276\355\013
+\340\140\353\151\354\063\355\330\215\373\022\111\203\000\311\213
+\227\214\073\163\052\062\263\022\367\271\115\362\364\115\155\307
+\346\326\046\067\010\362\331\375\153\134\243\345\110\134\130\274
+\102\276\003\132\201\272\034\065\014\000\323\365\043\176\161\060
+\010\046\070\334\045\021\107\055\363\272\043\020\245\277\274\002
+\367\103\136\307\376\260\067\120\231\173\017\223\316\346\103\054
+\303\176\015\362\034\103\146\140\313\141\061\107\207\243\117\256
+\275\126\154\114\274\274\370\005\312\144\364\351\064\241\054\265
+\163\341\302\076\350\310\311\064\045\010\134\363\355\246\307\224
+\237\255\210\103\045\327\341\071\140\376\254\071\131\002\003\001
+\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\237\356\104\263\224\325\372\221\117\056\331\125\232\004
+\126\333\055\304\333\245\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\001\001\000\177\137\271\123\133\143
+\075\165\062\347\372\304\164\032\313\106\337\106\151\034\122\317
+\252\117\302\150\353\377\200\251\121\350\075\142\167\211\075\012
+\165\071\361\156\135\027\207\157\150\005\301\224\154\331\135\337
+\332\262\131\313\245\020\212\312\314\071\315\237\353\116\336\122
+\377\014\360\364\222\251\362\154\123\253\233\322\107\240\037\164
+\367\233\232\361\057\025\237\172\144\060\030\007\074\052\017\147
+\312\374\017\211\141\235\145\245\074\345\274\023\133\010\333\343
+\377\355\273\006\273\152\006\261\172\117\145\306\202\375\036\234
+\213\265\015\356\110\273\270\275\252\010\264\373\243\174\313\237
+\315\220\166\134\206\226\170\127\012\146\371\130\032\235\375\227
+\051\140\336\021\246\220\034\031\034\356\001\226\042\064\064\056
+\221\371\267\304\047\321\173\346\277\373\200\104\132\026\345\353
+\340\324\012\070\274\344\221\343\325\353\134\301\254\337\033\152
+\174\236\345\165\322\266\227\207\333\314\207\053\103\072\204\010
+\257\253\074\333\367\074\146\061\206\260\235\123\171\355\370\043
+\336\102\343\055\202\361\017\345\372\227
+END
+
+# Trust for Certificate "E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\335\341\322\251\001\200\056\035\207\136\204\263\200\176\113\261
+\375\231\101\064
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\075\101\051\313\036\252\021\164\315\135\260\142\257\260\103\133
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\124\122\061
+\050\060\046\006\003\125\004\012\023\037\105\154\145\153\164\162
+\157\156\151\153\040\102\151\154\147\151\040\107\165\166\145\156
+\154\151\147\151\040\101\056\123\056\061\074\060\072\006\003\125
+\004\003\023\063\145\055\107\165\166\145\156\040\113\157\153\040
+\105\154\145\153\164\162\157\156\151\153\040\123\145\162\164\151
+\146\151\153\141\040\110\151\172\155\145\164\040\123\141\147\154
+\141\171\151\143\151\163\151
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\104\231\215\074\300\003\047\275\234\166\225\271\352\333
+\254\265
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GlobalSign Root CA - R3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root CA - R3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\041\130\123\010\242
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\137\060\202\002\107\240\003\002\001\002\002\013\004
+\000\000\000\000\001\041\130\123\010\242\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\060\114\061\040\060\036\006
+\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156
+\040\122\157\157\164\040\103\101\040\055\040\122\063\061\023\060
+\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151
+\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157
+\142\141\154\123\151\147\156\060\036\027\015\060\071\060\063\061
+\070\061\060\060\060\060\060\132\027\015\062\071\060\063\061\070
+\061\060\060\060\060\060\132\060\114\061\040\060\036\006\003\125
+\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122
+\157\157\164\040\103\101\040\055\040\122\063\061\023\060\021\006
+\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156
+\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141
+\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\314\045\166\220\171\006\170\042\026\365
+\300\203\266\204\312\050\236\375\005\166\021\305\255\210\162\374
+\106\002\103\307\262\212\235\004\137\044\313\056\113\341\140\202
+\106\341\122\253\014\201\107\160\154\335\144\321\353\365\054\243
+\017\202\075\014\053\256\227\327\266\024\206\020\171\273\073\023
+\200\167\214\010\341\111\322\152\142\057\037\136\372\226\150\337
+\211\047\225\070\237\006\327\076\311\313\046\131\015\163\336\260
+\310\351\046\016\203\025\306\357\133\213\322\004\140\312\111\246
+\050\366\151\073\366\313\310\050\221\345\235\212\141\127\067\254
+\164\024\334\164\340\072\356\162\057\056\234\373\320\273\277\365
+\075\000\341\006\063\350\202\053\256\123\246\072\026\163\214\335
+\101\016\040\072\300\264\247\241\351\262\117\220\056\062\140\351
+\127\313\271\004\222\150\150\345\070\046\140\165\262\237\167\377
+\221\024\357\256\040\111\374\255\100\025\110\321\002\061\141\031
+\136\270\227\357\255\167\267\144\232\172\277\137\301\023\357\233
+\142\373\015\154\340\124\151\026\251\003\332\156\351\203\223\161
+\166\306\151\205\202\027\002\003\001\000\001\243\102\060\100\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\217\360\113\177\250
+\056\105\044\256\115\120\372\143\232\213\336\342\335\033\274\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\001\001\000\113\100\333\300\120\252\376\310\014\357\367\226\124
+\105\111\273\226\000\011\101\254\263\023\206\206\050\007\063\312
+\153\346\164\271\272\000\055\256\244\012\323\365\361\361\017\212
+\277\163\147\112\203\307\104\173\170\340\257\156\154\157\003\051
+\216\063\071\105\303\216\344\271\127\154\252\374\022\226\354\123
+\306\055\344\044\154\271\224\143\373\334\123\150\147\126\076\203
+\270\317\065\041\303\311\150\376\316\332\302\123\252\314\220\212
+\351\360\135\106\214\225\335\172\130\050\032\057\035\336\315\000
+\067\101\217\355\104\155\327\123\050\227\176\363\147\004\036\025
+\327\212\226\264\323\336\114\047\244\114\033\163\163\166\364\027
+\231\302\037\172\016\343\055\010\255\012\034\054\377\074\253\125
+\016\017\221\176\066\353\303\127\111\276\341\056\055\174\140\213
+\303\101\121\023\043\235\316\367\062\153\224\001\250\231\347\054
+\063\037\072\073\045\322\206\100\316\073\054\206\170\311\141\057
+\024\272\356\333\125\157\337\204\356\005\011\115\275\050\330\162
+\316\323\142\120\145\036\353\222\227\203\061\331\263\265\312\107
+\130\077\137
+END
+
+# Trust for Certificate "GlobalSign Root CA - R3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Root CA - R3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\326\233\126\021\110\360\034\167\305\105\170\301\011\046\337\133
+\205\151\166\255
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\305\337\270\111\312\005\023\125\356\055\272\032\303\076\260\050
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\013\004\000\000\000\000\001\041\130\123\010\242
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TC TrustCenter Universal CA III"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Universal CA III"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060
+\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154
+\040\103\101\061\050\060\046\006\003\125\004\003\023\037\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151
+\166\145\162\163\141\154\040\103\101\040\111\111\111
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060
+\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154
+\040\103\101\061\050\060\046\006\003\125\004\003\023\037\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151
+\166\145\162\163\141\154\040\103\101\040\111\111\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\143\045\000\001\000\002\024\215\063\025\002\344\154\364
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\341\060\202\002\311\240\003\002\001\002\002\016\143
+\045\000\001\000\002\024\215\063\025\002\344\154\364\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\060\173\061\013
+\060\011\006\003\125\004\006\023\002\104\105\061\034\060\032\006
+\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145
+\156\164\145\162\040\107\155\142\110\061\044\060\042\006\003\125
+\004\013\023\033\124\103\040\124\162\165\163\164\103\145\156\164
+\145\162\040\125\156\151\166\145\162\163\141\154\040\103\101\061
+\050\060\046\006\003\125\004\003\023\037\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\125\156\151\166\145\162\163
+\141\154\040\103\101\040\111\111\111\060\036\027\015\060\071\060
+\071\060\071\060\070\061\065\062\067\132\027\015\062\071\061\062
+\063\061\062\063\065\071\065\071\132\060\173\061\013\060\011\006
+\003\125\004\006\023\002\104\105\061\034\060\032\006\003\125\004
+\012\023\023\124\103\040\124\162\165\163\164\103\145\156\164\145
+\162\040\107\155\142\110\061\044\060\042\006\003\125\004\013\023
+\033\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040
+\125\156\151\166\145\162\163\141\154\040\103\101\061\050\060\046
+\006\003\125\004\003\023\037\124\103\040\124\162\165\163\164\103
+\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154\040
+\103\101\040\111\111\111\060\202\001\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
+\001\012\002\202\001\001\000\302\332\234\142\260\271\161\022\260
+\013\310\032\127\262\256\203\024\231\263\064\113\233\220\242\305
+\347\347\057\002\240\115\055\244\372\205\332\233\045\205\055\100
+\050\040\155\352\340\275\261\110\203\042\051\104\237\116\203\356
+\065\121\023\163\164\325\274\362\060\146\224\123\300\100\066\057
+\014\204\145\316\017\156\302\130\223\350\054\013\072\351\301\216
+\373\362\153\312\074\342\234\116\216\344\371\175\323\047\237\033
+\325\147\170\207\055\177\013\107\263\307\350\311\110\174\257\057
+\314\012\331\101\357\237\376\232\341\262\256\371\123\265\345\351
+\106\237\140\343\337\215\323\177\373\226\176\263\265\162\370\113
+\255\010\171\315\151\211\100\047\365\052\301\255\103\354\244\123
+\310\141\266\367\322\171\052\147\030\166\110\155\133\045\001\321
+\046\305\267\127\151\043\025\133\141\212\255\360\033\055\331\257
+\134\361\046\220\151\251\325\014\100\365\063\200\103\217\234\243
+\166\052\105\264\257\277\177\076\207\077\166\305\315\052\336\040
+\305\026\130\313\371\033\365\017\313\015\021\122\144\270\322\166
+\142\167\203\361\130\237\377\002\003\001\000\001\243\143\060\141
+\060\037\006\003\125\035\043\004\030\060\026\200\024\126\347\341
+\133\045\103\200\340\366\214\341\161\274\216\345\200\057\304\110
+\342\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\035\006\003\125\035\016\004\026\004\024\126\347\341
+\133\045\103\200\340\366\214\341\161\274\216\345\200\057\304\110
+\342\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\001\001\000\203\307\257\352\177\115\012\074\071\261\150
+\276\173\155\211\056\351\263\011\347\030\127\215\205\232\027\363
+\166\102\120\023\017\307\220\157\063\255\305\111\140\053\154\111
+\130\031\324\342\276\267\277\253\111\274\224\310\253\276\050\154
+\026\150\340\310\227\106\040\240\150\147\140\210\071\040\121\330
+\150\001\021\316\247\366\021\007\366\354\354\254\032\037\262\146
+\156\126\147\140\172\164\136\300\155\227\066\256\265\015\135\146
+\163\300\045\062\105\330\112\006\007\217\304\267\007\261\115\006
+\015\341\245\353\364\165\312\272\234\320\275\263\323\062\044\114
+\356\176\342\166\004\113\111\123\330\362\351\124\063\374\345\161
+\037\075\024\134\226\113\361\072\362\000\273\154\264\372\226\125
+\010\210\011\301\314\221\031\051\260\040\055\377\313\070\244\100
+\341\027\276\171\141\200\377\007\003\206\114\116\173\006\237\021
+\206\215\211\356\047\304\333\342\274\031\216\013\303\303\023\307
+\055\003\143\073\323\350\344\242\052\302\202\010\224\026\124\360
+\357\037\047\220\045\270\015\016\050\033\107\167\107\275\034\250
+\045\361\224\264\146
+END
+
+# Trust for Certificate "TC TrustCenter Universal CA III"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TC TrustCenter Universal CA III"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\226\126\315\173\127\226\230\225\320\341\101\106\150\006\373\270
+\306\021\006\207
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\237\335\333\253\377\216\377\105\041\137\360\154\235\217\376\053
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\173\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165
+\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060
+\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164
+\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154
+\040\103\101\061\050\060\046\006\003\125\004\003\023\037\124\103
+\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151
+\166\145\162\163\141\154\040\103\101\040\111\111\111
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\016\143\045\000\001\000\002\024\215\063\025\002\344\154\364
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\123\354\073\356\373\262\110\137
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\024\060\202\003\374\240\003\002\001\002\002\010\123
+\354\073\356\373\262\110\137\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\121\061\013\060\011\006\003\125\004
+\006\023\002\105\123\061\102\060\100\006\003\125\004\003\014\071
+\101\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162
+\164\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141
+\160\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040
+\101\066\062\066\063\064\060\066\070\060\036\027\015\060\071\060
+\065\062\060\060\070\063\070\061\065\132\027\015\063\060\061\062
+\063\061\060\070\063\070\061\065\132\060\121\061\013\060\011\006
+\003\125\004\006\023\002\105\123\061\102\060\100\006\003\125\004
+\003\014\071\101\165\164\157\162\151\144\141\144\040\144\145\040
+\103\145\162\164\151\146\151\143\141\143\151\157\156\040\106\151
+\162\155\141\160\162\157\146\145\163\151\157\156\141\154\040\103
+\111\106\040\101\066\062\066\063\064\060\066\070\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\312\226\153
+\216\352\370\373\361\242\065\340\177\114\332\340\303\122\327\175
+\266\020\310\002\136\263\103\052\304\117\152\262\312\034\135\050
+\232\170\021\032\151\131\127\257\265\040\102\344\213\017\346\337
+\133\246\003\222\057\365\021\344\142\327\062\161\070\331\004\014
+\161\253\075\121\176\017\007\337\143\005\134\351\277\224\157\301
+\051\202\300\264\332\121\260\301\074\273\255\067\112\134\312\361
+\113\066\016\044\253\277\303\204\167\375\250\120\364\261\347\306
+\057\322\055\131\215\172\012\116\226\151\122\002\252\066\230\354
+\374\372\024\203\014\067\037\311\222\067\177\327\201\055\345\304
+\271\340\076\064\376\147\364\076\146\321\323\364\100\317\136\142
+\064\017\160\006\076\040\030\132\316\367\162\033\045\154\223\164
+\024\223\243\163\261\016\252\207\020\043\131\137\040\005\031\107
+\355\150\216\222\022\312\135\374\326\053\262\222\074\040\317\341
+\137\257\040\276\240\166\177\166\345\354\032\206\141\063\076\347
+\173\264\077\240\017\216\242\271\152\157\271\207\046\157\101\154
+\210\246\120\375\152\143\013\365\223\026\033\031\217\262\355\233
+\233\311\220\365\001\014\337\031\075\017\076\070\043\311\057\217
+\014\321\002\376\033\125\326\116\320\215\074\257\117\244\363\376
+\257\052\323\005\235\171\010\241\313\127\061\264\234\310\220\262
+\147\364\030\026\223\072\374\107\330\321\170\226\061\037\272\053
+\014\137\135\231\255\143\211\132\044\040\166\330\337\375\253\116
+\246\042\252\235\136\346\047\212\175\150\051\243\347\212\270\332
+\021\273\027\055\231\235\023\044\106\367\305\342\330\237\216\177
+\307\217\164\155\132\262\350\162\365\254\356\044\020\255\057\024
+\332\377\055\232\106\161\107\276\102\337\273\001\333\364\177\323
+\050\217\061\131\133\323\311\002\246\264\122\312\156\227\373\103
+\305\010\046\157\212\364\273\375\237\050\252\015\325\105\363\023
+\072\035\330\300\170\217\101\147\074\036\224\144\256\173\013\305
+\350\331\001\210\071\032\227\206\144\101\325\073\207\014\156\372
+\017\306\275\110\024\277\071\115\324\236\101\266\217\226\035\143
+\226\223\331\225\006\170\061\150\236\067\006\073\200\211\105\141
+\071\043\307\033\104\243\025\345\034\370\222\060\273\002\003\001
+\000\001\243\201\357\060\201\354\060\022\006\003\125\035\023\001
+\001\377\004\010\060\006\001\001\377\002\001\001\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003
+\125\035\016\004\026\004\024\145\315\353\253\065\036\000\076\176
+\325\164\300\034\264\163\107\016\032\144\057\060\201\246\006\003
+\125\035\040\004\201\236\060\201\233\060\201\230\006\004\125\035
+\040\000\060\201\217\060\057\006\010\053\006\001\005\005\007\002
+\001\026\043\150\164\164\160\072\057\057\167\167\167\056\146\151
+\162\155\141\160\162\157\146\145\163\151\157\156\141\154\056\143
+\157\155\057\143\160\163\060\134\006\010\053\006\001\005\005\007
+\002\002\060\120\036\116\000\120\000\141\000\163\000\145\000\157
+\000\040\000\144\000\145\000\040\000\154\000\141\000\040\000\102
+\000\157\000\156\000\141\000\156\000\157\000\166\000\141\000\040
+\000\064\000\067\000\040\000\102\000\141\000\162\000\143\000\145
+\000\154\000\157\000\156\000\141\000\040\000\060\000\070\000\060
+\000\061\000\067\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\002\001\000\027\175\240\371\264\335\305\305
+\353\255\113\044\265\241\002\253\335\245\210\112\262\017\125\113
+\053\127\214\073\345\061\335\376\304\062\361\347\133\144\226\066
+\062\030\354\245\062\167\327\343\104\266\300\021\052\200\271\075
+\152\156\174\233\323\255\374\303\326\243\346\144\051\174\321\341
+\070\036\202\053\377\047\145\257\373\026\025\304\056\161\204\345
+\265\377\372\244\107\275\144\062\273\366\045\204\242\047\102\365
+\040\260\302\023\020\021\315\020\025\272\102\220\052\322\104\341
+\226\046\353\061\110\022\375\052\332\311\006\317\164\036\251\113
+\325\207\050\371\171\064\222\076\056\104\350\366\217\117\217\065
+\077\045\263\071\334\143\052\220\153\040\137\304\122\022\116\227
+\054\052\254\235\227\336\110\362\243\146\333\302\322\203\225\246
+\146\247\236\045\017\351\013\063\221\145\012\132\303\331\124\022
+\335\257\303\116\016\037\046\136\015\334\263\215\354\325\201\160
+\336\322\117\044\005\363\154\116\365\114\111\146\215\321\377\322
+\013\045\101\110\376\121\204\306\102\257\200\004\317\320\176\144
+\111\344\362\337\242\354\261\114\300\052\035\347\264\261\145\242
+\304\274\361\230\364\252\160\007\143\264\270\332\073\114\372\100
+\042\060\133\021\246\360\005\016\306\002\003\110\253\206\233\205
+\335\333\335\352\242\166\200\163\175\365\234\004\304\105\215\347
+\271\034\213\236\352\327\165\321\162\261\336\165\104\347\102\175
+\342\127\153\175\334\231\274\075\203\050\352\200\223\215\305\114
+\145\301\160\201\270\070\374\103\061\262\366\003\064\107\262\254
+\373\042\006\313\036\335\027\107\034\137\146\271\323\032\242\332
+\021\261\244\274\043\311\344\276\207\377\271\224\266\370\135\040
+\112\324\137\347\275\150\173\145\362\025\036\322\072\251\055\351
+\330\153\044\254\227\130\104\107\255\131\030\361\041\145\160\336
+\316\064\140\250\100\361\363\074\244\303\050\043\214\376\047\063
+\103\100\240\027\074\353\352\073\260\162\246\243\271\112\113\136
+\026\110\364\262\274\310\214\222\305\235\237\254\162\066\274\064
+\200\064\153\251\213\222\300\270\027\355\354\166\123\365\044\001
+\214\263\042\350\113\174\125\306\235\372\243\024\273\145\205\156
+\156\117\022\176\012\074\235\225
+END
+
+# Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\256\305\373\077\310\341\277\304\345\117\003\007\132\232\350\000
+\267\367\266\372
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\163\072\164\172\354\273\243\226\246\302\344\342\310\233\300\303
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\123\354\073\356\373\262\110\137
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Izenpe.com"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Izenpe.com"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
+\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
+\111\172\145\156\160\145\056\143\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
+\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
+\111\172\145\156\160\145\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031
+\346\175
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\361\060\202\003\331\240\003\002\001\002\002\020\000
+\260\267\132\026\110\137\277\341\313\365\213\327\031\346\175\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\070
+\061\013\060\011\006\003\125\004\006\023\002\105\123\061\024\060
+\022\006\003\125\004\012\014\013\111\132\105\116\120\105\040\123
+\056\101\056\061\023\060\021\006\003\125\004\003\014\012\111\172
+\145\156\160\145\056\143\157\155\060\036\027\015\060\067\061\062
+\061\063\061\063\060\070\062\070\132\027\015\063\067\061\062\061
+\063\060\070\062\067\062\065\132\060\070\061\013\060\011\006\003
+\125\004\006\023\002\105\123\061\024\060\022\006\003\125\004\012
+\014\013\111\132\105\116\120\105\040\123\056\101\056\061\023\060
+\021\006\003\125\004\003\014\012\111\172\145\156\160\145\056\143
+\157\155\060\202\002\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
+\002\001\000\311\323\172\312\017\036\254\247\206\350\026\145\152
+\261\302\033\105\062\161\225\331\376\020\133\314\257\347\245\171
+\001\217\211\303\312\362\125\161\367\167\276\167\224\363\162\244
+\054\104\330\236\222\233\024\072\241\347\044\220\012\012\126\216
+\305\330\046\224\341\331\110\341\055\076\332\012\162\335\243\231
+\025\332\201\242\207\364\173\156\046\167\211\130\255\326\353\014
+\262\101\172\163\156\155\333\172\170\101\351\010\210\022\176\207
+\056\146\021\143\154\124\373\074\235\162\300\274\056\377\302\267
+\335\015\166\343\072\327\367\264\150\276\242\365\343\201\156\301
+\106\157\135\215\340\115\306\124\125\211\032\063\061\012\261\127
+\271\243\212\230\303\354\073\064\305\225\101\151\176\165\302\074
+\040\305\141\272\121\107\240\040\220\223\241\220\113\363\116\174
+\205\105\124\232\321\005\046\101\260\265\115\035\063\276\304\003
+\310\045\174\301\160\333\073\364\011\055\124\047\110\254\057\341
+\304\254\076\310\313\222\114\123\071\067\043\354\323\001\371\340
+\011\104\115\115\144\300\341\015\132\207\042\274\255\033\243\376
+\046\265\025\363\247\374\204\031\351\354\241\210\264\104\151\204
+\203\363\211\321\164\006\251\314\013\326\302\336\047\205\120\046
+\312\027\270\311\172\207\126\054\032\001\036\154\276\023\255\020
+\254\265\044\365\070\221\241\326\113\332\361\273\322\336\107\265
+\361\274\201\366\131\153\317\031\123\351\215\025\313\112\313\251
+\157\104\345\033\101\317\341\206\247\312\320\152\237\274\114\215
+\006\063\132\242\205\345\220\065\240\142\134\026\116\360\343\242
+\372\003\032\264\054\161\263\130\054\336\173\013\333\032\017\353
+\336\041\037\006\167\006\003\260\311\357\231\374\300\271\117\013
+\206\050\376\322\271\352\343\332\245\303\107\151\022\340\333\360
+\366\031\213\355\173\160\327\002\326\355\207\030\050\054\004\044
+\114\167\344\110\212\032\306\073\232\324\017\312\372\165\322\001
+\100\132\215\171\277\213\317\113\317\252\026\301\225\344\255\114
+\212\076\027\221\324\261\142\345\202\345\200\004\244\003\176\215
+\277\332\177\242\017\227\117\014\323\015\373\327\321\345\162\176
+\034\310\167\377\133\232\017\267\256\005\106\345\361\250\026\354
+\107\244\027\002\003\001\000\001\243\201\366\060\201\363\060\201
+\260\006\003\125\035\021\004\201\250\060\201\245\201\017\151\156
+\146\157\100\151\172\145\156\160\145\056\143\157\155\244\201\221
+\060\201\216\061\107\060\105\006\003\125\004\012\014\076\111\132
+\105\116\120\105\040\123\056\101\056\040\055\040\103\111\106\040
+\101\060\061\063\063\067\062\066\060\055\122\115\145\162\143\056
+\126\151\164\157\162\151\141\055\107\141\163\164\145\151\172\040
+\124\061\060\065\065\040\106\066\062\040\123\070\061\103\060\101
+\006\003\125\004\011\014\072\101\166\144\141\040\144\145\154\040
+\115\145\144\151\164\145\162\162\141\156\145\157\040\105\164\157
+\162\142\151\144\145\141\040\061\064\040\055\040\060\061\060\061
+\060\040\126\151\164\157\162\151\141\055\107\141\163\164\145\151
+\172\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\035\006\003\125\035\016\004\026\004\024\035\034\145
+\016\250\362\045\173\264\221\317\344\261\261\346\275\125\164\154
+\005\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
+\003\202\002\001\000\170\246\014\026\112\237\114\210\072\300\313
+\016\245\026\175\237\271\110\137\030\217\015\142\066\366\315\031
+\153\254\253\325\366\221\175\256\161\363\077\263\016\170\205\233
+\225\244\047\041\107\102\112\174\110\072\365\105\174\263\014\216
+\121\170\254\225\023\336\306\375\175\270\032\220\114\253\222\003
+\307\355\102\001\316\017\330\261\372\242\222\341\140\155\256\172
+\153\011\252\306\051\356\150\111\147\060\200\044\172\061\026\071
+\133\176\361\034\056\335\154\011\255\362\061\301\202\116\271\273
+\371\276\277\052\205\077\300\100\243\072\131\374\131\113\074\050
+\044\333\264\025\165\256\015\210\272\056\163\300\275\130\207\345
+\102\362\353\136\356\036\060\042\231\313\067\321\304\041\154\201
+\354\276\155\046\346\034\344\102\040\236\107\260\254\203\131\160
+\054\065\326\257\066\064\264\315\073\370\062\250\357\343\170\211
+\373\215\105\054\332\234\270\176\100\034\141\347\076\242\222\054
+\113\362\315\372\230\266\051\377\363\362\173\251\037\056\240\223
+\127\053\336\205\003\371\151\067\313\236\170\152\005\264\305\061
+\170\211\354\172\247\205\341\271\173\074\336\276\036\171\204\316
+\237\160\016\131\302\065\056\220\052\061\331\344\105\172\101\244
+\056\023\233\064\016\146\173\111\253\144\227\320\106\303\171\235
+\162\120\143\246\230\133\006\275\110\155\330\071\203\160\350\065
+\360\005\321\252\274\343\333\310\002\352\174\375\202\332\302\133
+\122\065\256\230\072\255\272\065\223\043\247\037\110\335\065\106
+\230\262\020\150\344\245\061\302\012\130\056\031\201\020\311\120
+\165\374\352\132\026\316\021\327\356\357\120\210\055\141\377\077
+\102\163\005\224\103\325\216\074\116\001\072\031\245\037\106\116
+\167\320\135\345\201\042\041\207\376\224\175\204\330\223\255\326
+\150\103\110\262\333\353\163\044\347\221\177\124\244\266\200\076
+\235\243\074\114\162\302\127\304\240\324\314\070\047\316\325\006
+\236\242\110\331\351\237\316\202\160\066\223\232\073\337\226\041
+\343\131\267\014\332\221\067\360\375\131\132\263\231\310\151\154
+\103\046\001\065\143\140\125\211\003\072\165\330\272\112\331\124
+\377\356\336\200\330\055\321\070\325\136\055\013\230\175\076\154
+\333\374\046\210\307
+END
+
+# Trust for Certificate "Izenpe.com"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Izenpe.com"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\057\170\075\045\122\030\247\112\145\071\161\265\054\242\234\105
+\025\157\351\031
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\246\260\315\205\200\332\134\120\064\243\071\220\057\125\147\163
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
+\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
+\111\172\145\156\160\145\056\143\157\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031
+\346\175
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Chambers of Commerce Root - 2008"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Chambers of Commerce Root - 2008"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
+\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
+\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
+\070
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
+\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
+\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
+\070
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\243\332\102\176\244\261\256\332
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\007\117\060\202\005\067\240\003\002\001\002\002\011\000
+\243\332\102\176\244\261\256\332\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\060\201\256\061\013\060\011\006\003
+\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007
+\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165
+\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164
+\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056
+\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020
+\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067
+\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141
+\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051\060
+\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162\163
+\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
+\164\040\055\040\062\060\060\070\060\036\027\015\060\070\060\070
+\060\061\061\062\062\071\065\060\132\027\015\063\070\060\067\063
+\061\061\062\062\071\065\060\132\060\201\256\061\013\060\011\006
+\003\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004
+\007\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143
+\165\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141
+\164\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141
+\056\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060
+\020\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070
+\067\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103
+\141\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051
+\060\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162
+\163\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157
+\157\164\040\055\040\062\060\060\070\060\202\002\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017
+\000\060\202\002\012\002\202\002\001\000\257\000\313\160\067\053
+\200\132\112\072\154\170\224\175\243\177\032\037\366\065\325\275
+\333\313\015\104\162\076\046\262\220\122\272\143\073\050\130\157
+\245\263\155\224\246\363\335\144\014\125\366\366\347\362\042\042
+\200\136\341\142\306\266\051\341\201\154\362\277\345\175\062\152
+\124\240\062\031\131\376\037\213\327\075\140\206\205\044\157\343
+\021\263\167\076\040\226\065\041\153\263\010\331\160\056\144\367
+\204\222\123\326\016\260\220\212\212\343\207\215\006\323\275\220
+\016\342\231\241\033\206\016\332\232\012\273\013\141\120\006\122
+\361\236\177\166\354\313\017\320\036\015\317\231\060\075\034\304
+\105\020\130\254\326\323\350\327\345\352\305\001\007\167\326\121
+\346\003\177\212\110\245\115\150\165\271\351\274\236\116\031\161
+\365\062\113\234\155\140\031\013\373\314\235\165\334\277\046\315
+\217\223\170\071\171\163\136\045\016\312\134\353\167\022\007\313
+\144\101\107\162\223\253\120\303\353\011\166\144\064\322\071\267
+\166\021\011\015\166\105\304\251\256\075\152\257\265\175\145\057
+\224\130\020\354\134\174\257\176\342\266\030\331\320\233\116\132
+\111\337\251\146\013\314\074\306\170\174\247\234\035\343\316\216
+\123\276\005\336\140\017\153\345\032\333\077\343\341\041\311\051
+\301\361\353\007\234\122\033\001\104\121\074\173\045\327\304\345
+\122\124\135\045\007\312\026\040\270\255\344\101\356\172\010\376
+\231\157\203\246\221\002\260\154\066\125\152\347\175\365\226\346
+\312\201\326\227\361\224\203\351\355\260\261\153\022\151\036\254
+\373\135\251\305\230\351\264\133\130\172\276\075\242\104\072\143
+\131\324\013\045\336\033\117\275\345\001\236\315\322\051\325\237
+\027\031\012\157\277\014\220\323\011\137\331\343\212\065\314\171
+\132\115\031\067\222\267\304\301\255\257\364\171\044\232\262\001
+\013\261\257\134\226\363\200\062\373\134\075\230\361\240\077\112
+\336\276\257\224\056\331\125\232\027\156\140\235\143\154\270\143
+\311\256\201\134\030\065\340\220\273\276\074\117\067\042\271\176
+\353\317\236\167\041\246\075\070\201\373\110\332\061\075\053\343
+\211\365\320\265\275\176\340\120\304\022\211\263\043\232\020\061
+\205\333\256\157\357\070\063\030\166\021\002\003\001\000\001\243
+\202\001\154\060\202\001\150\060\022\006\003\125\035\023\001\001
+\377\004\010\060\006\001\001\377\002\001\014\060\035\006\003\125
+\035\016\004\026\004\024\371\044\254\017\262\265\370\171\300\372
+\140\210\033\304\331\115\002\236\027\031\060\201\343\006\003\125
+\035\043\004\201\333\060\201\330\200\024\371\044\254\017\262\265
+\370\171\300\372\140\210\033\304\331\115\002\236\027\031\241\201
+\264\244\201\261\060\201\256\061\013\060\011\006\003\125\004\006
+\023\002\105\125\061\103\060\101\006\003\125\004\007\023\072\115
+\141\144\162\151\144\040\050\163\145\145\040\143\165\162\162\145
+\156\164\040\141\144\144\162\145\163\163\040\141\164\040\167\167
+\167\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155
+\057\141\144\144\162\145\163\163\051\061\022\060\020\006\003\125
+\004\005\023\011\101\070\062\067\064\063\062\070\067\061\033\060
+\031\006\003\125\004\012\023\022\101\103\040\103\141\155\145\162
+\146\151\162\155\141\040\123\056\101\056\061\051\060\047\006\003
+\125\004\003\023\040\103\150\141\155\142\145\162\163\040\157\146
+\040\103\157\155\155\145\162\143\145\040\122\157\157\164\040\055
+\040\062\060\060\070\202\011\000\243\332\102\176\244\261\256\332
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\075\006\003\125\035\040\004\066\060\064\060\062\006\004\125
+\035\040\000\060\052\060\050\006\010\053\006\001\005\005\007\002
+\001\026\034\150\164\164\160\072\057\057\160\157\154\151\143\171
+\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\002\001\000\220\022\257\042\065\302\243\071\360\056\336\351\265
+\351\170\174\110\276\077\175\105\222\136\351\332\261\031\374\026
+\074\237\264\133\146\236\152\347\303\271\135\210\350\017\255\317
+\043\017\336\045\072\136\314\117\245\301\265\055\254\044\322\130
+\007\336\242\317\151\204\140\063\350\020\015\023\251\043\320\205
+\345\216\173\246\236\075\162\023\162\063\365\252\175\306\143\037
+\010\364\376\001\177\044\317\053\054\124\011\336\342\053\155\222
+\306\071\117\026\352\074\176\172\106\324\105\152\106\250\353\165
+\202\126\247\253\240\174\150\023\063\366\235\060\360\157\047\071
+\044\043\052\220\375\220\051\065\362\223\337\064\245\306\367\370
+\357\214\017\142\112\174\256\323\365\124\370\215\266\232\126\207
+\026\202\072\063\253\132\042\010\367\202\272\352\056\340\107\232
+\264\265\105\243\005\073\331\334\056\105\100\073\352\334\177\350
+\073\353\321\354\046\330\065\244\060\305\072\254\127\236\263\166
+\245\040\173\371\036\112\005\142\001\246\050\165\140\227\222\015
+\156\076\115\067\103\015\222\025\234\030\042\315\121\231\240\051
+\032\074\137\212\062\063\133\060\307\211\057\107\230\017\243\003
+\306\366\361\254\337\062\360\331\201\032\344\234\275\366\200\024
+\360\321\054\271\205\365\330\243\261\310\245\041\345\034\023\227
+\356\016\275\337\051\251\357\064\123\133\323\344\152\023\204\006
+\266\062\002\304\122\256\042\322\334\262\041\102\032\332\100\360
+\051\311\354\012\014\134\342\320\272\314\110\323\067\012\314\022
+\012\212\171\260\075\003\177\151\113\364\064\040\175\263\064\352
+\216\113\144\365\076\375\263\043\147\025\015\004\270\360\055\301
+\011\121\074\262\154\025\360\245\043\327\203\164\344\345\056\311
+\376\230\047\102\306\253\306\236\260\320\133\070\245\233\120\336
+\176\030\230\265\105\073\366\171\264\350\367\032\173\006\203\373
+\320\213\332\273\307\275\030\253\010\157\074\200\153\100\077\031
+\031\272\145\212\346\276\325\134\323\066\327\357\100\122\044\140
+\070\147\004\061\354\217\363\202\306\336\271\125\363\073\061\221
+\132\334\265\010\025\255\166\045\012\015\173\056\207\342\014\246
+\006\274\046\020\155\067\235\354\335\170\214\174\200\305\360\331
+\167\110\320
+END
+
+# Trust for Certificate "Chambers of Commerce Root - 2008"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Chambers of Commerce Root - 2008"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\170\152\164\254\166\253\024\177\234\152\060\120\272\236\250\176
+\376\232\316\074
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\136\200\236\204\132\016\145\013\027\002\363\125\030\052\076\327
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
+\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
+\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
+\070
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\243\332\102\176\244\261\256\332
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Global Chambersign Root - 2008"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Global Chambersign Root - 2008"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\311\315\323\351\325\175\043\316
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\007\111\060\202\005\061\240\003\002\001\002\002\011\000
+\311\315\323\351\325\175\043\316\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\060\201\254\061\013\060\011\006\003
+\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007
+\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165
+\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164
+\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056
+\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020
+\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067
+\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141
+\155\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060
+\045\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103
+\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040
+\055\040\062\060\060\070\060\036\027\015\060\070\060\070\060\061
+\061\062\063\061\064\060\132\027\015\063\070\060\067\063\061\061
+\062\063\061\064\060\132\060\201\254\061\013\060\011\006\003\125
+\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007\023
+\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165\162
+\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164\040
+\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056\143
+\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020\006
+\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067\061
+\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060\045
+\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103\150
+\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040\055
+\040\062\060\060\070\060\202\002\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
+\012\002\202\002\001\000\300\337\126\323\344\072\233\166\105\264
+\023\333\377\301\266\031\213\067\101\030\225\122\107\353\027\235
+\051\210\216\065\154\006\062\056\107\142\363\111\004\277\175\104
+\066\261\161\314\275\132\011\163\325\331\205\104\377\221\127\045
+\337\136\066\216\160\321\134\161\103\035\331\332\357\134\322\373
+\033\275\072\265\313\255\243\314\104\247\015\256\041\025\077\271
+\172\133\222\165\330\244\022\070\211\031\212\267\200\322\342\062
+\157\126\234\221\326\210\020\013\263\164\144\222\164\140\363\366
+\317\030\117\140\262\043\320\307\073\316\141\113\231\217\302\014
+\320\100\262\230\334\015\250\116\243\271\012\256\140\240\255\105
+\122\143\272\146\275\150\340\371\276\032\250\201\273\036\101\170
+\165\323\301\376\000\125\260\207\124\350\047\220\065\035\114\063
+\255\227\374\227\056\230\204\277\054\311\243\277\321\230\021\024
+\355\143\370\312\230\210\130\027\231\355\105\003\227\176\074\206
+\036\210\214\276\362\221\204\217\145\064\330\000\114\175\267\061
+\027\132\051\172\012\030\044\060\243\067\265\172\251\001\175\046
+\326\371\016\216\131\361\375\033\063\265\051\073\027\073\101\266
+\041\335\324\300\075\245\237\237\037\103\120\311\273\274\154\172
+\227\230\356\315\214\037\373\234\121\256\213\160\275\047\237\161
+\300\153\254\175\220\146\350\327\135\072\015\260\325\302\215\325
+\310\235\235\301\155\320\320\277\121\344\343\370\303\070\066\256
+\326\247\165\346\257\204\103\135\223\222\014\152\007\336\073\035
+\230\042\326\254\301\065\333\243\240\045\377\162\265\166\035\336
+\155\351\054\146\054\122\204\320\105\222\316\034\345\345\063\035
+\334\007\123\124\243\252\202\073\232\067\057\334\335\240\144\351
+\346\335\275\256\374\144\205\035\074\247\311\006\336\204\377\153
+\350\153\032\074\305\242\263\102\373\213\011\076\137\010\122\307
+\142\304\324\005\161\277\304\144\344\370\241\203\350\076\022\233
+\250\036\324\066\115\057\161\366\215\050\366\203\251\023\322\141
+\301\221\273\110\300\064\217\101\214\113\114\333\151\022\377\120
+\224\234\040\203\131\163\355\174\241\362\361\375\335\367\111\323
+\103\130\240\126\143\312\075\075\345\065\126\131\351\016\312\040
+\314\053\113\223\051\017\002\003\001\000\001\243\202\001\152\060
+\202\001\146\060\022\006\003\125\035\023\001\001\377\004\010\060
+\006\001\001\377\002\001\014\060\035\006\003\125\035\016\004\026
+\004\024\271\011\312\234\036\333\323\154\072\153\256\355\124\361
+\133\223\006\065\056\136\060\201\341\006\003\125\035\043\004\201
+\331\060\201\326\200\024\271\011\312\234\036\333\323\154\072\153
+\256\355\124\361\133\223\006\065\056\136\241\201\262\244\201\257
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070\202
+\011\000\311\315\323\351\325\175\043\316\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\006\060\075\006\003\125\035
+\040\004\066\060\064\060\062\006\004\125\035\040\000\060\052\060
+\050\006\010\053\006\001\005\005\007\002\001\026\034\150\164\164
+\160\072\057\057\160\157\154\151\143\171\056\143\141\155\145\162
+\146\151\162\155\141\056\143\157\155\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\002\001\000\200\210\177
+\160\336\222\050\331\005\224\106\377\220\127\251\361\057\337\032
+\015\153\372\174\016\034\111\044\171\047\330\106\252\157\051\131
+\122\210\160\022\352\335\075\365\233\123\124\157\341\140\242\250
+\011\271\354\353\131\174\306\065\361\334\030\351\361\147\345\257
+\272\105\340\011\336\312\104\017\302\027\016\167\221\105\172\063
+\137\137\226\054\150\213\301\107\217\230\233\075\300\354\313\365
+\325\202\222\204\065\321\276\066\070\126\162\061\133\107\055\252
+\027\244\143\121\353\012\001\255\177\354\165\236\313\241\037\361
+\177\022\261\271\344\144\177\147\326\043\052\364\270\071\135\230
+\350\041\247\341\275\075\102\032\164\232\160\257\150\154\120\135
+\111\317\377\373\016\135\346\054\107\327\201\072\131\000\265\163
+\153\143\040\366\061\105\010\071\016\364\160\176\100\160\132\077
+\320\153\102\251\164\075\050\057\002\155\165\162\225\011\215\110
+\143\306\306\043\127\222\223\136\065\301\215\371\012\367\054\235
+\142\034\366\255\174\335\246\061\036\266\261\307\176\205\046\372
+\244\152\265\332\143\060\321\357\223\067\262\146\057\175\005\367
+\347\267\113\230\224\065\300\331\072\051\301\235\262\120\063\035
+\112\251\132\246\311\003\357\355\364\347\250\156\212\264\127\204
+\353\244\077\320\356\252\252\207\133\143\350\223\342\153\250\324
+\270\162\170\153\033\355\071\344\135\313\233\252\207\325\117\116
+\000\376\331\152\237\074\061\017\050\002\001\175\230\350\247\260
+\242\144\236\171\370\110\362\025\251\314\346\310\104\353\077\170
+\231\362\173\161\076\074\361\230\247\305\030\022\077\346\273\050
+\063\102\351\105\012\174\155\362\206\171\057\305\202\031\175\011
+\211\174\262\124\166\210\256\336\301\363\314\341\156\333\061\326
+\223\256\231\240\357\045\152\163\230\211\133\072\056\023\210\036
+\277\300\222\224\064\033\343\047\267\213\036\157\102\377\347\351
+\067\233\120\035\055\242\371\002\356\313\130\130\072\161\274\150
+\343\252\301\257\034\050\037\242\334\043\145\077\201\352\256\231
+\323\330\060\317\023\015\117\025\311\204\274\247\110\055\370\060
+\043\167\330\106\113\171\155\366\214\355\072\177\140\021\170\364
+\351\233\256\325\124\300\164\200\321\013\102\237\301
+END
+
+# Trust for Certificate "Global Chambersign Root - 2008"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Global Chambersign Root - 2008"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\112\275\356\354\225\015\065\234\211\256\307\122\241\054\133\051
+\366\326\252\014
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\236\200\377\170\001\014\056\301\066\275\376\226\220\156\010\363
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\000\311\315\323\351\325\175\043\316
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus Mozilla Addons"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Mozilla Addons"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\342\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\033\060\031\006\003\125\004
+\003\023\022\141\144\144\157\156\163\056\155\157\172\151\154\154
+\141\056\157\162\147
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\222\071\325\064\217\100\321\151\132\164\124\160\341
+\362\077\103
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\370\060\202\004\340\240\003\002\001\002\002\021\000
+\222\071\325\064\217\100\321\151\132\164\124\160\341\362\077\103
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
+\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
+\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
+\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
+\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
+\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
+\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004
+\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060
+\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063
+\061\064\062\063\065\071\065\071\132\060\201\342\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125
+\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125
+\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006
+\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060
+\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154
+\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023
+\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021
+\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164
+\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164
+\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040
+\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006
+\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123
+\114\061\033\060\031\006\003\125\004\003\023\022\141\144\144\157
+\156\163\056\155\157\172\151\154\154\141\056\157\162\147\060\202
+\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\253
+\306\155\066\363\025\163\170\203\163\316\164\205\325\256\354\262
+\360\340\044\037\023\203\270\040\254\273\232\376\210\273\253\241
+\035\013\037\105\000\252\111\267\065\067\014\152\357\107\114\271
+\321\276\343\127\022\004\215\222\307\266\354\001\274\266\332\307
+\201\070\040\255\162\205\346\016\374\201\154\007\255\150\166\070
+\305\104\327\314\306\112\305\227\076\144\364\121\346\360\176\262
+\354\126\367\045\202\115\111\230\313\026\230\335\043\361\211\221
+\321\027\227\100\231\046\326\342\242\053\136\337\275\211\362\033
+\032\123\055\314\120\101\172\320\075\052\014\125\160\024\001\351
+\130\111\020\172\013\223\202\213\341\036\355\072\200\020\202\316
+\226\212\064\360\314\327\323\271\264\120\207\125\124\011\270\235
+\102\050\125\000\345\214\065\124\277\335\045\221\106\267\015\345
+\135\203\250\345\213\373\204\344\074\256\166\332\304\103\053\133
+\164\013\370\276\135\150\361\170\133\265\316\175\361\135\231\100
+\332\312\356\070\201\120\276\230\241\154\270\044\255\363\257\214
+\017\327\021\050\054\204\030\114\175\265\331\217\060\265\033\002
+\003\001\000\001\243\202\001\360\060\202\001\354\060\037\006\003
+\125\035\043\004\030\060\026\200\024\241\162\137\046\033\050\230
+\103\225\135\007\067\325\205\226\235\113\322\303\105\060\035\006
+\003\125\035\016\004\026\004\024\335\200\322\124\075\367\114\160
+\312\243\260\335\064\172\062\344\350\073\132\073\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\005\240\060\014\006\003
+\125\035\023\001\001\377\004\002\060\000\060\035\006\003\125\035
+\045\004\026\060\024\006\010\053\006\001\005\005\007\003\001\006
+\010\053\006\001\005\005\007\003\002\060\106\006\003\125\035\040
+\004\077\060\075\060\073\006\014\053\006\001\004\001\262\061\001
+\002\001\003\004\060\053\060\051\006\010\053\006\001\005\005\007
+\002\001\026\035\150\164\164\160\163\072\057\057\163\145\143\165
+\162\145\056\143\157\155\157\144\157\056\143\157\155\057\103\120
+\123\060\173\006\003\125\035\037\004\164\060\162\060\070\240\066
+\240\064\206\062\150\164\164\160\072\057\057\143\162\154\056\143
+\157\155\157\144\157\143\141\056\143\157\155\057\125\124\116\055
+\125\123\105\122\106\151\162\163\164\055\110\141\162\144\167\141
+\162\145\056\143\162\154\060\066\240\064\240\062\206\060\150\164
+\164\160\072\057\057\143\162\154\056\143\157\155\157\144\157\056
+\156\145\164\057\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145\056\143\162\154\060\161
+\006\010\053\006\001\005\005\007\001\001\004\145\060\143\060\073
+\006\010\053\006\001\005\005\007\060\002\206\057\150\164\164\160
+\072\057\057\143\162\164\056\143\157\155\157\144\157\143\141\056
+\143\157\155\057\125\124\116\101\144\144\124\162\165\163\164\123
+\145\162\166\145\162\103\101\056\143\162\164\060\044\006\010\053
+\006\001\005\005\007\060\001\206\030\150\164\164\160\072\057\057
+\157\143\163\160\056\143\157\155\157\144\157\143\141\056\143\157
+\155\060\065\006\003\125\035\021\004\056\060\054\202\022\141\144
+\144\157\156\163\056\155\157\172\151\154\154\141\056\157\162\147
+\202\026\167\167\167\056\141\144\144\157\156\163\056\155\157\172
+\151\154\154\141\056\157\162\147\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\001\001\000\063\073\143\025
+\374\261\354\024\054\223\335\165\224\336\201\132\331\116\231\276
+\373\112\244\071\125\115\241\100\172\336\023\052\207\251\067\317
+\350\325\373\255\321\173\155\157\214\040\207\202\124\346\127\111
+\274\040\050\204\315\326\001\331\223\213\027\156\043\146\345\204
+\310\200\077\306\241\160\200\344\354\115\035\371\374\221\132\163
+\142\051\232\367\040\034\141\340\213\071\237\312\274\176\215\335
+\274\331\261\343\237\236\337\025\123\221\041\122\013\331\032\043
+\017\146\066\333\254\223\226\112\243\245\042\317\051\367\242\231
+\250\366\266\331\100\256\331\176\266\366\130\056\233\254\066\312
+\144\217\145\122\334\206\234\202\253\156\120\113\332\137\372\005
+\000\210\060\016\336\215\126\277\201\107\215\075\006\342\262\142
+\222\147\217\236\310\232\262\345\006\270\160\044\270\167\174\043
+\012\070\303\171\010\330\261\121\235\254\225\021\307\100\027\236
+\243\034\217\362\021\247\150\047\332\111\005\204\030\174\130\055
+\001\147\134\345\237\241\051\273\112\071\105\057\277\021\252\171
+\242\355\264\324\265\145\103\267\223\106\212\323
+END
+
+# Trust for Certificate "Bogus Mozilla Addons"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Mozilla Addons"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\060\137\213\321\172\242\313\304\203\244\304\033\031\243\232\014
+\165\332\071\326
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\204\305\030\147\037\052\032\220\276\342\261\030\117\003\000\062
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\222\071\325\064\217\100\321\151\132\164\124\160\341
+\362\077\103
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus Global Trustee"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Global Trustee"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\343\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\016\060\014\006\003\125\004\007\023\005\124\141\155
+\160\141\061\027\060\025\006\003\125\004\011\023\016\123\145\141
+\040\126\151\154\154\141\147\145\040\061\060\061\027\060\025\006
+\003\125\004\012\023\016\107\154\157\142\141\154\040\124\162\165
+\163\164\145\145\061\027\060\025\006\003\125\004\013\023\016\107
+\154\157\142\141\154\040\124\162\165\163\164\145\145\061\050\060
+\046\006\003\125\004\013\023\037\110\157\163\164\145\144\040\142
+\171\040\107\124\111\040\107\162\157\165\160\040\103\157\162\160
+\157\162\141\164\151\157\156\061\024\060\022\006\003\125\004\013
+\023\013\120\154\141\164\151\156\165\155\123\123\114\061\027\060
+\025\006\003\125\004\003\023\016\147\154\157\142\141\154\040\164
+\162\165\163\164\145\145
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\330\363\137\116\267\207\053\055\253\006\222\343\025
+\070\057\260
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\335\060\202\005\305\240\003\002\001\002\002\021\000
+\330\363\137\116\267\207\053\055\253\006\222\343\025\070\057\260
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
+\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
+\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
+\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
+\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
+\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
+\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004
+\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060
+\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063
+\061\064\062\063\065\071\065\071\132\060\201\343\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125
+\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125
+\004\010\023\007\106\154\157\162\151\144\141\061\016\060\014\006
+\003\125\004\007\023\005\124\141\155\160\141\061\027\060\025\006
+\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141\147
+\145\040\061\060\061\027\060\025\006\003\125\004\012\023\016\107
+\154\157\142\141\154\040\124\162\165\163\164\145\145\061\027\060
+\025\006\003\125\004\013\023\016\107\154\157\142\141\154\040\124
+\162\165\163\164\145\145\061\050\060\046\006\003\125\004\013\023
+\037\110\157\163\164\145\144\040\142\171\040\107\124\111\040\107
+\162\157\165\160\040\103\157\162\160\157\162\141\164\151\157\156
+\061\024\060\022\006\003\125\004\013\023\013\120\154\141\164\151
+\156\165\155\123\123\114\061\027\060\025\006\003\125\004\003\023
+\016\147\154\157\142\141\154\040\164\162\165\163\164\145\145\060
+\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000
+\331\164\362\252\101\035\337\365\302\026\103\111\134\051\277\266
+\211\164\051\274\234\215\014\106\117\131\176\262\101\027\146\064
+\014\145\211\341\154\045\343\206\012\236\042\105\042\214\335\235
+\346\243\225\336\334\210\002\125\134\343\133\221\165\353\046\151
+\143\271\056\306\312\056\047\337\210\272\002\040\156\376\271\013
+\051\327\247\326\327\110\032\034\316\335\037\251\047\016\142\117
+\241\226\036\335\124\072\064\143\112\166\365\167\175\131\147\330
+\020\324\265\017\072\103\042\230\333\364\011\304\012\160\316\335
+\220\324\057\357\164\023\303\315\302\211\071\142\025\235\346\164
+\250\350\233\360\143\156\234\211\266\016\255\233\367\314\202\350
+\350\055\270\013\332\042\354\111\205\007\210\231\230\077\364\164
+\251\011\367\201\174\227\013\131\231\030\162\213\333\224\202\053
+\247\350\252\153\227\277\210\176\165\260\213\105\105\014\307\250
+\011\352\033\101\130\060\073\137\170\145\025\064\322\344\074\064
+\015\035\330\144\074\212\245\126\111\231\050\055\113\362\317\315
+\331\156\111\144\233\251\171\220\167\125\251\010\033\255\032\164
+\236\340\003\223\012\011\267\255\247\264\134\357\203\154\267\232
+\264\306\150\100\200\035\102\321\156\171\233\251\031\041\232\234
+\371\206\055\000\321\064\376\340\266\371\125\266\365\046\305\225
+\026\245\174\163\237\012\051\211\254\072\230\367\233\164\147\267
+\220\267\135\011\043\152\152\355\054\020\356\123\012\020\360\026
+\037\127\263\261\015\171\221\031\260\353\315\060\077\240\024\137
+\263\306\375\134\063\247\260\377\230\260\125\214\271\245\362\157
+\107\044\111\041\151\314\102\242\121\000\100\205\214\202\202\253
+\062\245\313\232\334\320\331\030\015\337\031\364\257\203\015\301
+\076\061\333\044\110\266\165\200\241\341\311\167\144\036\247\345
+\213\177\025\115\113\247\302\320\355\171\225\136\221\061\354\030
+\377\116\237\110\024\352\165\272\041\316\051\166\351\037\116\121
+\207\056\263\314\004\140\272\043\037\037\145\262\012\270\325\156
+\217\113\102\211\107\251\201\220\133\053\262\266\256\346\240\160
+\173\170\220\012\172\305\345\347\305\373\012\366\057\151\214\214
+\037\127\340\006\231\377\021\325\122\062\040\227\047\230\356\145
+\002\003\001\000\001\243\202\001\324\060\202\001\320\060\037\006
+\003\125\035\043\004\030\060\026\200\024\241\162\137\046\033\050
+\230\103\225\135\007\067\325\205\226\235\113\322\303\105\060\035
+\006\003\125\035\016\004\026\004\024\267\303\336\032\103\355\101
+\227\251\217\051\170\234\003\271\254\100\102\000\254\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\005\240\060\014\006
+\003\125\035\023\001\001\377\004\002\060\000\060\035\006\003\125
+\035\045\004\026\060\024\006\010\053\006\001\005\005\007\003\001
+\006\010\053\006\001\005\005\007\003\002\060\106\006\003\125\035
+\040\004\077\060\075\060\073\006\014\053\006\001\004\001\262\061
+\001\002\001\003\004\060\053\060\051\006\010\053\006\001\005\005
+\007\002\001\026\035\150\164\164\160\163\072\057\057\163\145\143
+\165\162\145\056\143\157\155\157\144\157\056\143\157\155\057\103
+\120\123\060\173\006\003\125\035\037\004\164\060\162\060\070\240
+\066\240\064\206\062\150\164\164\160\072\057\057\143\162\154\056
+\143\157\155\157\144\157\143\141\056\143\157\155\057\125\124\116
+\055\125\123\105\122\106\151\162\163\164\055\110\141\162\144\167
+\141\162\145\056\143\162\154\060\066\240\064\240\062\206\060\150
+\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144\157
+\056\156\145\164\057\125\124\116\055\125\123\105\122\106\151\162
+\163\164\055\110\141\162\144\167\141\162\145\056\143\162\154\060
+\161\006\010\053\006\001\005\005\007\001\001\004\145\060\143\060
+\073\006\010\053\006\001\005\005\007\060\002\206\057\150\164\164
+\160\072\057\057\143\162\164\056\143\157\155\157\144\157\143\141
+\056\143\157\155\057\125\124\116\101\144\144\124\162\165\163\164
+\123\145\162\166\145\162\103\101\056\143\162\164\060\044\006\010
+\053\006\001\005\005\007\060\001\206\030\150\164\164\160\072\057
+\057\157\143\163\160\056\143\157\155\157\144\157\143\141\056\143
+\157\155\060\031\006\003\125\035\021\004\022\060\020\202\016\147
+\154\157\142\141\154\040\164\162\165\163\164\145\145\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\217\272\165\272\071\324\046\323\160\017\304\263\002\247\305
+\022\043\161\311\376\143\351\243\142\170\044\104\117\324\271\021
+\076\037\307\050\347\125\153\356\364\341\000\221\206\212\311\011
+\153\237\056\244\105\071\321\141\142\136\223\245\005\105\170\237
+\140\022\054\364\154\145\145\015\314\106\064\213\050\272\240\306
+\364\231\161\144\363\042\166\254\117\363\142\311\247\063\132\007
+\037\075\311\206\200\334\333\004\057\207\047\350\277\110\104\201
+\300\360\111\043\156\037\345\344\003\206\044\023\242\205\142\174
+\130\004\312\346\215\023\162\012\272\126\104\242\017\274\373\240
+\075\015\052\177\373\236\251\011\075\267\132\324\212\215\341\045
+\350\244\011\204\160\255\022\104\271\317\271\063\172\272\134\346
+\113\246\273\005\006\230\377\362\230\122\173\167\200\047\112\331
+\342\372\271\122\324\373\373\346\326\055\236\217\301\025\104\215
+\233\164\057\356\224\132\116\323\304\213\212\254\103\235\163\366
+\256\014\207\211\255\207\311\311\307\335\272\024\140\172\370\265
+\065\235\302\215\306\226\201\015\251\122\212\051\100\004\351\031
+\264
+END
+
+# Trust for Certificate "Bogus Global Trustee"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Global Trustee"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\141\171\077\313\372\117\220\010\060\233\272\137\361\055\054\262
+\234\324\025\032
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\376\015\001\156\161\313\214\330\077\016\014\315\111\065\270\127
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\330\363\137\116\267\207\053\055\253\006\222\343\025
+\070\057\260
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus GMail"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus GMail"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004
+\003\023\017\155\141\151\154\056\147\157\157\147\154\145\056\143
+\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\004\176\313\351\374\245\137\173\320\236\256\066\341\014
+\256\036
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\356\060\202\004\326\240\003\002\001\002\002\020\004
+\176\313\351\374\245\137\173\320\236\256\066\341\014\256\036\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003
+\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063
+\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063\061
+\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125\004
+\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125\004
+\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006\003
+\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060\025
+\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141
+\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023\013
+\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021\006
+\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164\056
+\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164\145
+\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040\103
+\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006\003
+\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123\114
+\061\030\060\026\006\003\125\004\003\023\017\155\141\151\154\056
+\147\157\157\147\154\145\056\143\157\155\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\260\163\360\362\004
+\356\302\242\106\312\064\052\252\273\140\043\321\021\166\037\037
+\072\320\145\203\116\232\105\250\103\160\205\166\360\037\207\000
+\002\037\156\073\027\027\304\265\351\031\106\242\222\045\215\142
+\052\264\143\060\037\271\205\370\065\341\026\132\166\111\314\120
+\110\123\071\131\211\326\204\002\373\232\354\033\307\121\325\166
+\225\220\324\072\052\270\246\336\002\115\006\373\315\355\245\106
+\101\137\125\164\345\354\176\100\334\120\234\265\344\065\135\036
+\150\040\370\351\336\243\152\050\277\101\322\241\263\342\045\215
+\014\033\312\075\223\014\030\256\337\305\274\375\274\202\272\150
+\000\327\026\062\161\237\145\265\021\332\150\131\320\246\127\144
+\033\311\376\230\345\365\245\145\352\341\333\356\364\263\235\263
+\216\352\207\256\026\322\036\240\174\174\151\077\051\026\205\001
+\123\247\154\361\140\253\335\242\374\045\107\324\062\321\022\335
+\367\110\022\340\374\234\242\167\230\351\211\231\270\370\070\361
+\214\006\302\172\043\066\155\233\235\315\060\310\307\064\027\036
+\273\175\102\310\253\347\025\026\366\163\265\002\003\001\000\001
+\243\202\001\352\060\202\001\346\060\037\006\003\125\035\043\004
+\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007
+\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016
+\004\026\004\024\030\052\242\310\324\172\077\173\255\004\213\275
+\157\236\020\106\023\170\161\235\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001
+\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060
+\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
+\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075
+\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004
+\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035
+\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143
+\157\155\157\144\157\056\143\157\155\057\103\120\123\060\173\006
+\003\125\035\037\004\164\060\162\060\070\240\066\240\064\206\062
+\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144
+\157\143\141\056\143\157\155\057\125\124\116\055\125\123\105\122
+\106\151\162\163\164\055\110\141\162\144\167\141\162\145\056\143
+\162\154\060\066\240\064\240\062\206\060\150\164\164\160\072\057
+\057\143\162\154\056\143\157\155\157\144\157\056\156\145\164\057
+\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141
+\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006
+\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006
+\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143
+\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057
+\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145
+\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005
+\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160
+\056\143\157\155\157\144\157\143\141\056\143\157\155\060\057\006
+\003\125\035\021\004\050\060\046\202\017\155\141\151\154\056\147
+\157\157\147\154\145\056\143\157\155\202\023\167\167\167\056\155
+\141\151\154\056\147\157\157\147\154\145\056\143\157\155\060\015
+\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001
+\001\000\147\006\010\012\047\305\223\156\002\362\336\027\077\320
+\323\033\174\377\265\315\172\307\167\307\276\337\022\312\031\336
+\260\023\127\014\003\221\304\171\122\317\177\267\136\125\040\204
+\111\335\365\320\051\057\016\004\332\131\236\016\023\237\364\300
+\062\233\377\241\021\044\052\227\243\362\077\075\052\153\250\255
+\214\031\165\225\016\035\045\375\117\304\172\025\303\035\307\023
+\100\310\015\276\227\140\162\246\376\045\276\217\354\325\246\206
+\303\041\134\131\122\331\152\013\134\237\113\336\265\371\354\342
+\364\305\314\142\123\166\211\145\344\051\332\267\277\226\340\140
+\215\015\267\011\125\326\100\125\035\301\362\226\041\165\257\211
+\206\037\135\201\227\051\050\036\051\327\226\301\040\003\062\173
+\000\073\152\067\027\132\243\263\032\157\062\073\156\361\243\135
+\253\253\314\052\313\060\014\037\065\043\213\151\104\134\352\254
+\050\140\355\253\153\143\236\366\222\274\275\232\132\046\114\305
+\230\270\016\031\076\374\005\061\343\026\331\375\220\005\003\206
+\306\127\001\037\177\170\240\317\063\152\252\146\153\042\320\247
+\111\043
+END
+
+# Trust for Certificate "Bogus GMail"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus GMail"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\144\061\162\060\066\375\046\336\245\002\171\057\245\225\222\044
+\223\003\017\227
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\114\167\037\353\312\061\301\051\230\351\054\020\263\257\111\034
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\004\176\313\351\374\245\137\173\320\236\256\066\341\014
+\256\036
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus Google"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Google"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\336\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\027\060\025\006\003\125\004
+\003\023\016\167\167\167\056\147\157\157\147\154\145\056\143\157
+\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\365\310\152\363\141\142\361\072\144\365\117\155\311
+\130\174\006
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\344\060\202\004\314\240\003\002\001\002\002\021\000
+\365\310\152\363\141\142\361\072\144\365\117\155\311\130\174\006
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
+\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
+\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
+\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
+\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
+\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
+\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004
+\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060
+\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063
+\061\064\062\063\065\071\065\071\132\060\201\336\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125
+\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125
+\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006
+\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060
+\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154
+\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023
+\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021
+\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164
+\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164
+\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040
+\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006
+\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123
+\114\061\027\060\025\006\003\125\004\003\023\016\167\167\167\056
+\147\157\157\147\154\145\056\143\157\155\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\260\163\360\362\004
+\356\302\242\106\312\064\052\252\273\140\043\321\021\166\037\037
+\072\320\145\203\116\232\105\250\103\160\205\166\360\037\207\000
+\002\037\156\073\027\027\304\265\351\031\106\242\222\045\215\142
+\052\264\143\060\037\271\205\370\065\341\026\132\166\111\314\120
+\110\123\071\131\211\326\204\002\373\232\354\033\307\121\325\166
+\225\220\324\072\052\270\246\336\002\115\006\373\315\355\245\106
+\101\137\125\164\345\354\176\100\334\120\234\265\344\065\135\036
+\150\040\370\351\336\243\152\050\277\101\322\241\263\342\045\215
+\014\033\312\075\223\014\030\256\337\305\274\375\274\202\272\150
+\000\327\026\062\161\237\145\265\021\332\150\131\320\246\127\144
+\033\311\376\230\345\365\245\145\352\341\333\356\364\263\235\263
+\216\352\207\256\026\322\036\240\174\174\151\077\051\026\205\001
+\123\247\154\361\140\253\335\242\374\045\107\324\062\321\022\335
+\367\110\022\340\374\234\242\167\230\351\211\231\270\370\070\361
+\214\006\302\172\043\066\155\233\235\315\060\310\307\064\027\036
+\273\175\102\310\253\347\025\026\366\163\265\002\003\001\000\001
+\243\202\001\340\060\202\001\334\060\037\006\003\125\035\043\004
+\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007
+\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016
+\004\026\004\024\030\052\242\310\324\172\077\173\255\004\213\275
+\157\236\020\106\023\170\161\235\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001
+\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060
+\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
+\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075
+\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004
+\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035
+\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143
+\157\155\157\144\157\056\143\157\155\057\103\120\123\060\173\006
+\003\125\035\037\004\164\060\162\060\070\240\066\240\064\206\062
+\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144
+\157\143\141\056\143\157\155\057\125\124\116\055\125\123\105\122
+\106\151\162\163\164\055\110\141\162\144\167\141\162\145\056\143
+\162\154\060\066\240\064\240\062\206\060\150\164\164\160\072\057
+\057\143\162\154\056\143\157\155\157\144\157\056\156\145\164\057
+\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141
+\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006
+\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006
+\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143
+\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057
+\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145
+\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005
+\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160
+\056\143\157\155\157\144\157\143\141\056\143\157\155\060\045\006
+\003\125\035\021\004\036\060\034\202\016\167\167\167\056\147\157
+\157\147\154\145\056\143\157\155\202\012\147\157\157\147\154\145
+\056\143\157\155\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\001\001\000\161\300\231\077\136\366\275\063
+\377\236\026\313\250\277\335\160\371\322\123\073\066\256\311\027
+\310\256\136\115\335\142\367\267\323\076\167\243\376\300\173\062
+\265\311\224\005\122\120\362\137\075\171\204\111\117\135\154\260
+\327\131\275\324\154\210\372\374\305\145\206\353\050\122\242\102
+\366\174\274\152\307\007\056\045\321\220\142\040\306\215\121\302
+\054\105\071\116\003\332\367\030\350\314\012\072\331\105\330\154
+\156\064\213\142\234\116\025\371\103\356\345\227\300\077\255\065
+\023\305\053\006\307\101\375\342\367\176\105\255\233\321\341\146
+\355\370\172\113\224\071\172\057\353\350\077\103\330\065\326\126
+\372\164\347\155\346\355\254\145\204\376\320\115\006\022\336\332
+\131\000\074\011\134\317\210\113\350\075\264\025\041\222\314\155
+\246\121\342\216\227\361\364\202\106\313\304\123\136\332\134\235
+\145\222\001\145\211\000\345\266\231\377\046\100\361\057\031\061
+\010\032\261\147\125\206\015\256\065\063\206\274\227\110\222\327
+\226\140\370\316\374\226\353\207\304\163\314\224\233\130\133\363
+\172\244\047\023\326\117\364\151
+END
+
+# Trust for Certificate "Bogus Google"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Google"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\031\026\242\257\064\155\071\237\120\061\074\071\062\000\361\101
+\100\105\146\026
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\001\163\251\130\360\274\311\276\224\053\032\114\230\044\343\270
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\365\310\152\363\141\142\361\072\144\365\117\155\311
+\130\174\006
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus Skype"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Skype"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004
+\003\023\017\154\157\147\151\156\056\163\153\171\160\145\056\143
+\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\351\002\213\225\170\344\025\334\032\161\012\053\210
+\025\104\107
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\357\060\202\004\327\240\003\002\001\002\002\021\000
+\351\002\213\225\170\344\025\334\032\161\012\053\210\025\104\107
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
+\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
+\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
+\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
+\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
+\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
+\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004
+\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060
+\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063
+\061\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125
+\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125
+\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006
+\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060
+\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154
+\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023
+\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021
+\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164
+\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164
+\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040
+\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006
+\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123
+\114\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151
+\156\056\163\153\171\160\145\056\143\157\155\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\260\170\231\206
+\016\242\163\043\324\132\303\111\353\261\066\214\174\312\204\256
+\074\257\070\210\050\231\215\055\130\023\261\227\170\076\122\040
+\147\254\133\163\230\154\062\125\311\160\321\331\252\025\350\056
+\046\205\201\274\126\344\274\200\143\333\116\327\365\002\276\121
+\143\036\074\333\337\327\000\135\132\271\345\173\152\352\070\040
+\262\073\266\356\165\124\204\371\246\312\070\160\335\277\260\377
+\245\205\135\264\101\376\335\075\331\052\341\060\103\032\230\171
+\223\240\137\340\147\154\225\372\076\172\256\161\173\343\155\210
+\102\077\045\324\356\276\150\150\254\255\254\140\340\040\243\071
+\203\271\133\050\243\223\155\241\275\166\012\343\353\256\207\047
+\016\124\217\264\110\014\232\124\364\135\216\067\120\334\136\244
+\213\153\113\334\246\363\064\276\167\131\042\210\377\031\053\155
+\166\144\163\332\014\207\007\053\232\067\072\320\342\214\366\066
+\062\153\232\171\314\322\073\223\157\032\115\154\346\301\235\100
+\254\055\164\303\276\352\134\163\145\001\051\261\052\277\160\131
+\301\316\306\303\242\310\105\137\272\147\075\017\002\003\001\000
+\001\243\202\001\352\060\202\001\346\060\037\006\003\125\035\043
+\004\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135
+\007\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035
+\016\004\026\004\024\325\216\132\121\023\264\051\015\061\266\034
+\215\076\121\121\061\012\063\252\201\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023
+\001\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026
+\060\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006
+\001\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060
+\075\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003
+\004\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026
+\035\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056
+\143\157\155\157\144\157\056\143\157\155\057\103\120\123\060\173
+\006\003\125\035\037\004\164\060\162\060\070\240\066\240\064\206
+\062\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157
+\144\157\143\141\056\143\157\155\057\125\124\116\055\125\123\105
+\122\106\151\162\163\164\055\110\141\162\144\167\141\162\145\056
+\143\162\154\060\066\240\064\240\062\206\060\150\164\164\160\072
+\057\057\143\162\154\056\143\157\155\157\144\157\056\156\145\164
+\057\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110
+\141\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053
+\006\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053
+\006\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057
+\143\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155
+\057\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166
+\145\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005
+\005\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163
+\160\056\143\157\155\157\144\157\143\141\056\143\157\155\060\057
+\006\003\125\035\021\004\050\060\046\202\017\154\157\147\151\156
+\056\163\153\171\160\145\056\143\157\155\202\023\167\167\167\056
+\154\157\147\151\156\056\163\153\171\160\145\056\143\157\155\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\010\362\201\165\221\273\316\022\004\030\302\115\132
+\373\106\220\012\124\104\364\362\335\007\201\360\037\246\172\157
+\237\317\270\016\054\117\234\304\232\365\250\366\272\244\311\172
+\135\261\342\132\312\074\372\140\250\150\076\313\272\055\342\315
+\326\266\344\222\074\151\255\127\352\250\057\070\020\204\162\345
+\150\161\355\276\353\156\030\357\143\172\276\347\044\377\300\143
+\375\130\073\114\201\222\330\051\253\216\065\135\327\323\011\153
+\205\323\325\163\005\104\342\345\273\203\123\020\313\362\317\267
+\156\341\151\267\241\222\144\305\317\315\202\273\066\240\070\255
+\327\044\337\123\374\077\142\267\267\325\307\127\343\223\061\160
+\216\044\211\206\312\143\053\071\272\135\331\152\140\354\241\116
+\212\376\123\370\136\222\337\057\134\046\027\155\003\175\002\017
+\017\252\103\147\155\260\142\277\176\123\335\314\354\170\163\225
+\345\245\366\000\243\004\375\077\004\052\263\230\305\267\003\034
+\333\311\120\253\260\005\035\036\276\126\264\317\076\102\023\224
+\236\371\347\001\201\245\170\157\014\172\166\254\005\206\354\254
+\302\021\254
+END
+
+# Trust for Certificate "Bogus Skype"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Skype"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\107\034\224\232\201\103\333\132\325\315\361\311\162\206\112\045
+\004\372\043\311
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\205\244\264\304\151\041\337\241\152\015\130\126\130\113\063\104
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\351\002\213\225\170\344\025\334\032\161\012\053\210
+\025\104\107
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus Yahoo 1"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Yahoo 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004
+\003\023\017\154\157\147\151\156\056\171\141\150\157\157\056\143
+\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\327\125\217\332\365\361\020\133\262\023\050\053\160
+\167\051\243
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\357\060\202\004\327\240\003\002\001\002\002\021\000
+\327\125\217\332\365\361\020\133\262\023\050\053\160\167\051\243
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
+\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
+\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
+\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
+\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
+\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
+\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004
+\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060
+\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063
+\061\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125
+\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125
+\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006
+\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060
+\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154
+\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023
+\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021
+\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164
+\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164
+\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040
+\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006
+\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123
+\114\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151
+\156\056\171\141\150\157\157\056\143\157\155\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\241\244\005\075
+\355\205\105\223\212\030\115\306\003\000\127\342\100\167\360\034
+\353\320\031\337\042\135\010\177\321\007\074\101\211\106\027\243
+\011\372\374\370\251\004\321\226\217\253\327\117\074\371\255\030
+\251\164\201\304\127\012\072\046\026\316\142\076\274\077\154\041
+\356\223\215\313\015\240\037\232\226\320\217\255\365\223\223\202
+\356\162\014\241\165\025\243\173\204\126\270\255\377\122\021\161
+\204\274\072\060\013\176\230\250\341\250\077\067\122\320\361\174
+\157\220\330\105\012\254\071\162\152\141\325\273\303\214\371\302
+\314\337\375\072\161\271\257\274\334\072\334\014\266\261\322\321
+\211\273\101\266\362\336\127\325\025\337\374\375\342\061\305\337
+\312\301\330\217\054\277\360\016\133\161\340\064\161\303\305\115
+\175\172\324\372\355\060\113\057\352\266\056\236\223\074\342\072
+\370\102\242\032\356\334\337\315\017\251\366\171\204\032\216\154
+\002\266\206\345\277\121\152\146\370\363\234\323\131\014\173\245
+\231\170\315\174\231\372\306\226\107\330\062\324\164\166\016\167
+\113\040\164\244\267\211\165\222\112\264\133\125\002\003\001\000
+\001\243\202\001\352\060\202\001\346\060\037\006\003\125\035\043
+\004\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135
+\007\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035
+\016\004\026\004\024\206\111\105\374\063\031\063\324\004\355\047
+\141\356\350\001\311\014\177\057\176\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023
+\001\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026
+\060\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006
+\001\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060
+\075\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003
+\004\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026
+\035\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056
+\143\157\155\157\144\157\056\143\157\155\057\103\120\123\060\173
+\006\003\125\035\037\004\164\060\162\060\070\240\066\240\064\206
+\062\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157
+\144\157\143\141\056\143\157\155\057\125\124\116\055\125\123\105
+\122\106\151\162\163\164\055\110\141\162\144\167\141\162\145\056
+\143\162\154\060\066\240\064\240\062\206\060\150\164\164\160\072
+\057\057\143\162\154\056\143\157\155\157\144\157\056\156\145\164
+\057\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110
+\141\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053
+\006\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053
+\006\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057
+\143\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155
+\057\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166
+\145\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005
+\005\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163
+\160\056\143\157\155\157\144\157\143\141\056\143\157\155\060\057
+\006\003\125\035\021\004\050\060\046\202\017\154\157\147\151\156
+\056\171\141\150\157\157\056\143\157\155\202\023\167\167\167\056
+\154\157\147\151\156\056\171\141\150\157\157\056\143\157\155\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\075\127\311\110\044\134\356\144\201\365\256\276\125
+\051\026\377\052\057\204\355\331\370\243\003\310\060\146\273\310
+\324\201\055\041\367\010\367\254\226\102\232\101\165\172\272\135
+\020\043\313\222\102\141\372\212\332\155\145\064\031\345\251\326
+\055\023\170\327\201\104\222\251\156\200\143\025\313\376\065\037
+\002\321\212\024\260\250\314\224\040\073\250\032\360\135\066\120
+\333\015\256\351\144\344\366\215\151\175\060\310\024\027\000\112
+\345\246\065\373\175\015\042\235\171\166\122\054\274\227\006\210
+\232\025\364\163\346\361\365\230\245\315\007\104\221\270\247\150
+\147\105\322\162\021\140\342\161\267\120\125\342\212\251\015\326
+\222\356\004\052\213\060\240\242\005\106\064\155\222\306\073\252
+\115\240\320\253\001\031\012\062\267\350\343\317\361\322\227\111
+\173\254\244\227\367\360\127\256\143\167\232\177\226\332\115\375
+\276\334\007\066\343\045\275\211\171\216\051\022\023\213\210\007
+\373\153\333\244\315\263\055\047\351\324\312\140\327\205\123\373
+\164\306\134\065\214\160\037\371\262\267\222\047\040\307\224\325
+\147\024\060
+END
+
+# Trust for Certificate "Bogus Yahoo 1"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Yahoo 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\143\376\256\226\013\252\221\343\103\316\053\330\267\027\230\307
+\153\333\167\320
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\014\037\276\323\374\011\156\346\156\302\146\071\165\206\153\353
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\327\125\217\332\365\361\020\133\262\023\050\053\160
+\167\051\243
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus Yahoo 2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Yahoo 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004
+\003\023\017\154\157\147\151\156\056\171\141\150\157\157\056\143
+\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\071\052\103\117\016\007\337\037\212\243\005\336\064\340
+\302\051
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\331\060\202\004\301\240\003\002\001\002\002\020\071
+\052\103\117\016\007\337\037\212\243\005\336\064\340\302\051\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003
+\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063
+\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063\061
+\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125\004
+\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125\004
+\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006\003
+\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060\025
+\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141
+\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023\013
+\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021\006
+\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164\056
+\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164\145
+\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040\103
+\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006\003
+\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123\114
+\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151\156
+\056\171\141\150\157\157\056\143\157\155\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\241\244\005\075\355
+\205\105\223\212\030\115\306\003\000\127\342\100\167\360\034\353
+\320\031\337\042\135\010\177\321\007\074\101\211\106\027\243\011
+\372\374\370\251\004\321\226\217\253\327\117\074\371\255\030\251
+\164\201\304\127\012\072\046\026\316\142\076\274\077\154\041\356
+\223\215\313\015\240\037\232\226\320\217\255\365\223\223\202\356
+\162\014\241\165\025\243\173\204\126\270\255\377\122\021\161\204
+\274\072\060\013\176\230\250\341\250\077\067\122\320\361\174\157
+\220\330\105\012\254\071\162\152\141\325\273\303\214\371\302\314
+\337\375\072\161\271\257\274\334\072\334\014\266\261\322\321\211
+\273\101\266\362\336\127\325\025\337\374\375\342\061\305\337\312
+\301\330\217\054\277\360\016\133\161\340\064\161\303\305\115\175
+\172\324\372\355\060\113\057\352\266\056\236\223\074\342\072\370
+\102\242\032\356\334\337\315\017\251\366\171\204\032\216\154\002
+\266\206\345\277\121\152\146\370\363\234\323\131\014\173\245\231
+\170\315\174\231\372\306\226\107\330\062\324\164\166\016\167\113
+\040\164\244\267\211\165\222\112\264\133\125\002\003\001\000\001
+\243\202\001\325\060\202\001\321\060\037\006\003\125\035\043\004
+\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007
+\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016
+\004\026\004\024\206\111\105\374\063\031\063\324\004\355\047\141
+\356\350\001\311\014\177\057\176\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001
+\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060
+\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
+\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075
+\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004
+\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035
+\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143
+\157\155\157\144\157\056\143\157\155\057\103\120\123\060\173\006
+\003\125\035\037\004\164\060\162\060\070\240\066\240\064\206\062
+\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144
+\157\143\141\056\143\157\155\057\125\124\116\055\125\123\105\122
+\106\151\162\163\164\055\110\141\162\144\167\141\162\145\056\143
+\162\154\060\066\240\064\240\062\206\060\150\164\164\160\072\057
+\057\143\162\154\056\143\157\155\157\144\157\056\156\145\164\057
+\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141
+\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006
+\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006
+\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143
+\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057
+\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145
+\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005
+\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160
+\056\143\157\155\157\144\157\143\141\056\143\157\155\060\032\006
+\003\125\035\021\004\023\060\021\202\017\154\157\147\151\156\056
+\171\141\150\157\157\056\143\157\155\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\001\001\000\127\142\341
+\167\353\374\037\277\210\123\257\130\323\324\326\155\147\060\027
+\100\276\340\037\144\336\207\025\314\340\244\126\251\321\237\371
+\001\376\002\261\261\352\342\137\356\161\026\061\371\010\325\302
+\327\232\233\262\132\070\327\251\177\351\207\153\061\371\013\254
+\331\375\120\161\340\333\202\222\017\201\234\215\167\351\353\056
+\352\324\043\101\207\354\055\262\170\263\216\261\147\322\356\161
+\003\010\022\231\263\002\051\157\336\213\336\301\251\003\012\132
+\063\034\075\021\003\306\110\014\230\234\025\056\331\246\205\122
+\347\005\212\256\060\043\353\355\050\154\140\351\055\177\217\107
+\213\057\320\334\346\273\017\176\137\362\110\201\216\120\004\143
+\261\121\200\165\232\251\266\020\034\020\137\157\030\157\340\016
+\226\105\316\356\361\265\040\333\357\332\156\310\225\343\366\105
+\375\312\374\245\137\111\155\006\036\322\336\141\075\025\175\067
+\345\034\065\216\006\302\153\367\264\250\050\054\061\313\252\264
+\247\227\117\235\212\366\257\176\067\271\173\075\337\222\146\213
+\217\116\235\306\066\347\134\246\253\022\017\326\317
+END
+
+# Trust for Certificate "Bogus Yahoo 2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Yahoo 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\320\030\266\055\305\030\220\162\107\337\120\222\133\260\232\317
+\112\134\263\255
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\162\334\310\162\154\123\073\262\375\314\135\031\275\257\246\061
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\071\052\103\117\016\007\337\037\212\243\005\336\064\340
+\302\051
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus Yahoo 3"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Yahoo 3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004
+\003\023\017\154\157\147\151\156\056\171\141\150\157\157\056\143
+\157\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\076\165\316\324\153\151\060\041\041\210\060\256\206\250
+\052\161
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\331\060\202\004\301\240\003\002\001\002\002\020\076
+\165\316\324\153\151\060\041\041\210\060\256\206\250\052\161\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003
+\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063
+\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063\061
+\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125\004
+\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125\004
+\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006\003
+\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060\025
+\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141
+\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023\013
+\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021\006
+\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164\056
+\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164\145
+\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040\103
+\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006\003
+\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123\114
+\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151\156
+\056\171\141\150\157\157\056\143\157\155\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\241\244\005\075\355
+\205\105\223\212\030\115\306\003\000\127\342\100\167\360\034\353
+\320\031\337\042\135\010\177\321\007\074\101\211\106\027\243\011
+\372\374\370\251\004\321\226\217\253\327\117\074\371\255\030\251
+\164\201\304\127\012\072\046\026\316\142\076\274\077\154\041\356
+\223\215\313\015\240\037\232\226\320\217\255\365\223\223\202\356
+\162\014\241\165\025\243\173\204\126\270\255\377\122\021\161\204
+\274\072\060\013\176\230\250\341\250\077\067\122\320\361\174\157
+\220\330\105\012\254\071\162\152\141\325\273\303\214\371\302\314
+\337\375\072\161\271\257\274\334\072\334\014\266\261\322\321\211
+\273\101\266\362\336\127\325\025\337\374\375\342\061\305\337\312
+\301\330\217\054\277\360\016\133\161\340\064\161\303\305\115\175
+\172\324\372\355\060\113\057\352\266\056\236\223\074\342\072\370
+\102\242\032\356\334\337\315\017\251\366\171\204\032\216\154\002
+\266\206\345\277\121\152\146\370\363\234\323\131\014\173\245\231
+\170\315\174\231\372\306\226\107\330\062\324\164\166\016\167\113
+\040\164\244\267\211\165\222\112\264\133\125\002\003\001\000\001
+\243\202\001\325\060\202\001\321\060\037\006\003\125\035\043\004
+\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007
+\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016
+\004\026\004\024\206\111\105\374\063\031\063\324\004\355\047\141
+\356\350\001\311\014\177\057\176\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001
+\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060
+\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
+\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075
+\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004
+\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035
+\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143
+\157\155\157\144\157\056\143\157\155\057\103\120\123\060\173\006
+\003\125\035\037\004\164\060\162\060\070\240\066\240\064\206\062
+\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144
+\157\143\141\056\143\157\155\057\125\124\116\055\125\123\105\122
+\106\151\162\163\164\055\110\141\162\144\167\141\162\145\056\143
+\162\154\060\066\240\064\240\062\206\060\150\164\164\160\072\057
+\057\143\162\154\056\143\157\155\157\144\157\056\156\145\164\057
+\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141
+\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006
+\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006
+\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143
+\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057
+\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145
+\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005
+\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160
+\056\143\157\155\157\144\157\143\141\056\143\157\155\060\032\006
+\003\125\035\021\004\023\060\021\202\017\154\157\147\151\156\056
+\171\141\150\157\157\056\143\157\155\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\001\001\000\123\151\230
+\216\050\116\234\053\133\035\314\153\167\050\075\273\372\245\116
+\176\126\051\244\352\020\342\364\346\055\006\321\204\333\043\316
+\227\363\150\266\017\072\336\025\013\044\035\221\343\154\056\060
+\267\351\160\260\303\106\200\360\323\261\121\277\117\326\170\240
+\374\254\306\317\061\004\143\342\064\125\005\112\075\366\060\272
+\363\063\345\272\322\226\363\325\261\266\223\211\032\244\150\276
+\176\355\143\264\032\110\300\123\344\243\360\071\014\062\222\307
+\103\015\032\161\355\320\106\223\277\223\142\154\063\113\315\066
+\015\151\136\273\154\226\231\041\151\304\113\147\162\333\154\152
+\270\367\150\355\305\217\255\143\145\225\012\114\340\371\017\176
+\067\075\252\324\223\272\147\011\303\245\244\015\003\132\155\325
+\013\376\360\100\024\264\366\270\151\174\155\302\062\113\237\265
+\032\347\106\256\114\132\053\252\172\136\220\127\225\372\333\146
+\002\040\036\152\151\146\025\234\302\266\365\274\120\265\375\105
+\307\037\150\264\107\131\254\304\033\050\223\116\122\123\022\003
+\130\113\161\203\237\146\346\254\171\110\376\376\107
+END
+
+# Trust for Certificate "Bogus Yahoo 3"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus Yahoo 3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\200\226\052\344\326\305\264\102\211\116\225\241\076\112\151\236
+\007\326\224\317
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\112\334\074\147\355\041\315\133\316\135\310\021\344\236\317\075
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\076\165\316\324\153\151\060\041\041\210\060\256\206\250
+\052\161
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus live.com"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus live.com"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\336\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067
+\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151
+\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147
+\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123
+\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060
+\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114
+\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145
+\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004
+\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111
+\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151
+\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141
+\164\151\156\165\155\123\123\114\061\027\060\025\006\003\125\004
+\003\023\016\154\157\147\151\156\056\154\151\166\145\056\143\157
+\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\260\267\023\076\320\226\371\265\157\256\221\310\164
+\275\072\300
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\354\060\202\004\324\240\003\002\001\002\002\021\000
+\260\267\023\076\320\226\371\265\157\256\221\310\164\275\072\300
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
+\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
+\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
+\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
+\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
+\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
+\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004
+\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164
+\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060
+\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063
+\061\064\062\063\065\071\065\071\132\060\201\336\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125
+\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125
+\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006
+\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060
+\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154
+\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023
+\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021
+\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164
+\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164
+\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040
+\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006
+\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123
+\114\061\027\060\025\006\003\125\004\003\023\016\154\157\147\151
+\156\056\154\151\166\145\056\143\157\155\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\363\374\053\057\357
+\341\255\131\360\102\074\302\361\202\277\054\101\223\321\366\230
+\063\225\114\274\142\361\225\130\010\266\351\173\167\110\260\323
+\334\027\077\274\156\346\354\036\354\215\027\376\034\044\306\076
+\147\075\222\225\242\060\300\247\127\040\317\160\210\227\112\005
+\223\171\223\102\227\057\076\377\304\024\024\050\242\023\066\264
+\370\356\276\035\274\170\135\141\223\137\353\210\327\321\344\053
+\232\315\130\342\007\105\237\117\270\271\100\152\063\054\133\041
+\003\132\112\224\362\172\227\131\033\250\265\102\330\203\000\252
+\064\314\247\166\320\107\003\137\005\257\073\341\271\241\064\045
+\267\154\137\232\060\204\230\302\302\327\362\270\102\112\020\125
+\275\372\123\201\135\215\150\146\105\054\122\176\345\304\004\303
+\124\347\303\071\332\172\112\305\271\230\202\040\341\054\140\127
+\277\272\362\106\000\274\137\072\334\343\063\227\370\112\230\271
+\354\063\117\055\140\154\025\222\246\201\112\013\351\354\166\160
+\064\061\027\160\346\160\113\216\213\323\165\313\170\111\253\146
+\233\206\237\217\251\304\001\350\312\033\347\002\003\001\000\001
+\243\202\001\350\060\202\001\344\060\037\006\003\125\035\043\004
+\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007
+\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016
+\004\026\004\024\324\144\366\251\350\245\176\327\277\143\122\003
+\203\123\333\305\101\215\352\200\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001
+\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060
+\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
+\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075
+\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004
+\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035
+\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143
+\157\155\157\144\157\056\143\157\155\057\103\120\123\060\173\006
+\003\125\035\037\004\164\060\162\060\070\240\066\240\064\206\062
+\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144
+\157\143\141\056\143\157\155\057\125\124\116\055\125\123\105\122
+\106\151\162\163\164\055\110\141\162\144\167\141\162\145\056\143
+\162\154\060\066\240\064\240\062\206\060\150\164\164\160\072\057
+\057\143\162\154\056\143\157\155\157\144\157\056\156\145\164\057
+\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141
+\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006
+\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006
+\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143
+\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057
+\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145
+\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005
+\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160
+\056\143\157\155\157\144\157\143\141\056\143\157\155\060\055\006
+\003\125\035\021\004\046\060\044\202\016\154\157\147\151\156\056
+\154\151\166\145\056\143\157\155\202\022\167\167\167\056\154\157
+\147\151\156\056\154\151\166\145\056\143\157\155\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\124\343\244\232\044\322\363\035\102\255\033\360\036\253\373\332
+\325\252\351\317\132\263\036\127\173\061\362\156\127\113\061\257
+\063\273\266\015\025\307\136\131\001\316\104\265\267\277\011\311
+\325\334\151\204\351\305\032\267\360\076\324\300\044\275\051\137
+\264\351\326\130\353\105\021\211\064\064\323\021\353\064\316\052
+\117\000\075\366\162\357\151\146\300\237\232\254\176\160\120\254
+\125\107\332\276\103\133\354\213\310\305\043\204\311\237\266\122
+\010\317\221\033\057\200\151\346\064\063\346\263\237\244\345\015
+\232\025\371\127\374\013\251\101\013\365\377\130\101\222\042\047
+\146\022\006\307\052\330\131\247\306\337\104\022\117\300\250\177
+\247\101\310\310\151\377\272\005\056\227\255\073\320\353\363\025
+\155\176\033\345\272\335\064\276\042\021\354\150\230\063\201\002
+\152\013\023\125\171\061\165\116\072\310\266\023\275\227\157\067
+\012\013\055\210\016\336\147\220\302\263\312\040\312\232\121\364
+\144\076\333\364\056\105\362\307\107\027\250\364\372\220\132\177
+\200\246\202\254\344\154\201\106\273\122\205\040\044\370\200\352
+END
+
+# Trust for Certificate "Bogus live.com"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus live.com"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\316\245\206\262\316\131\076\307\331\071\211\203\067\305\170\024
+\160\212\262\276
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\320\324\071\343\314\134\122\335\010\315\351\253\350\021\131\324
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\260\267\023\076\320\226\371\265\157\256\221\310\164
+\275\072\300
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Bogus kuix.de"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus kuix.de"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\361\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\016\060\014\006\003\125\004\021\023\005\061\062\063\064\065
+\061\023\060\021\006\003\125\004\010\023\012\124\145\163\164\040
+\123\164\141\164\145\061\022\060\020\006\003\125\004\007\023\011
+\124\145\163\164\040\103\151\164\171\061\024\060\022\006\003\125
+\004\011\023\013\124\145\163\164\040\123\164\162\145\145\164\061
+\023\060\021\006\003\125\004\012\023\012\113\141\151\040\105\156
+\147\145\162\164\061\042\060\040\006\003\125\004\013\023\031\106
+\157\162\040\124\145\163\164\151\156\147\040\120\165\162\160\157
+\163\145\163\040\117\156\154\171\061\055\060\053\006\003\125\004
+\013\023\044\124\105\123\124\040\125\123\105\040\117\116\114\131
+\040\055\040\116\117\040\127\101\122\122\101\116\124\131\040\101
+\124\124\101\103\110\105\104\061\031\060\027\006\003\125\004\013
+\023\020\103\157\155\157\144\157\040\124\162\151\141\154\040\123
+\123\114\061\020\060\016\006\003\125\004\003\023\007\153\165\151
+\170\056\144\145
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\162\003\041\005\305\014\010\127\075\216\245\060\116\376
+\350\260
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\154\060\202\004\124\240\003\002\001\002\002\020\162
+\003\041\005\305\014\010\127\075\216\245\060\116\376\350\260\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
+\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
+\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
+\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
+\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003
+\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055
+\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063
+\061\067\060\060\060\060\060\060\132\027\015\061\061\060\064\061
+\066\062\063\065\071\065\071\132\060\201\361\061\013\060\011\006
+\003\125\004\006\023\002\104\105\061\016\060\014\006\003\125\004
+\021\023\005\061\062\063\064\065\061\023\060\021\006\003\125\004
+\010\023\012\124\145\163\164\040\123\164\141\164\145\061\022\060
+\020\006\003\125\004\007\023\011\124\145\163\164\040\103\151\164
+\171\061\024\060\022\006\003\125\004\011\023\013\124\145\163\164
+\040\123\164\162\145\145\164\061\023\060\021\006\003\125\004\012
+\023\012\113\141\151\040\105\156\147\145\162\164\061\042\060\040
+\006\003\125\004\013\023\031\106\157\162\040\124\145\163\164\151
+\156\147\040\120\165\162\160\157\163\145\163\040\117\156\154\171
+\061\055\060\053\006\003\125\004\013\023\044\124\105\123\124\040
+\125\123\105\040\117\116\114\131\040\055\040\116\117\040\127\101
+\122\122\101\116\124\131\040\101\124\124\101\103\110\105\104\061
+\031\060\027\006\003\125\004\013\023\020\103\157\155\157\144\157
+\040\124\162\151\141\154\040\123\123\114\061\020\060\016\006\003
+\125\004\003\023\007\153\165\151\170\056\144\145\060\201\237\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201
+\215\000\060\201\211\002\201\201\000\270\252\216\365\227\107\007
+\137\345\170\166\156\223\153\216\337\113\074\333\231\057\161\123
+\051\156\245\363\044\117\110\045\043\100\001\354\012\025\013\354
+\156\310\236\046\043\146\373\351\333\330\050\205\041\117\036\337
+\173\114\345\143\301\013\262\142\126\224\123\313\277\234\241\115
+\331\207\305\151\110\074\261\277\245\150\122\041\035\172\334\224
+\117\104\156\107\045\035\237\234\222\322\067\035\371\133\133\262
+\335\076\030\327\363\207\146\255\243\364\316\217\321\157\360\271
+\264\357\261\352\025\143\012\316\201\002\003\001\000\001\243\202
+\001\332\060\202\001\326\060\037\006\003\125\035\043\004\030\060
+\026\200\024\241\162\137\046\033\050\230\103\225\135\007\067\325
+\205\226\235\113\322\303\105\060\035\006\003\125\035\016\004\026
+\004\024\100\217\071\046\234\114\206\043\231\306\121\011\246\346
+\362\301\376\247\366\267\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\005\240\060\014\006\003\125\035\023\001\001\377
+\004\002\060\000\060\035\006\003\125\035\045\004\026\060\024\006
+\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005
+\007\003\002\060\106\006\003\125\035\040\004\077\060\075\060\073
+\006\014\053\006\001\004\001\262\061\001\002\001\003\004\060\053
+\060\051\006\010\053\006\001\005\005\007\002\001\026\035\150\164
+\164\160\163\072\057\057\163\145\143\165\162\145\056\143\157\155
+\157\144\157\056\143\157\155\057\103\120\123\060\173\006\003\125
+\035\037\004\164\060\162\060\070\240\066\240\064\206\062\150\164
+\164\160\072\057\057\143\162\154\056\143\157\155\157\144\157\143
+\141\056\143\157\155\057\125\124\116\055\125\123\105\122\106\151
+\162\163\164\055\110\141\162\144\167\141\162\145\056\143\162\154
+\060\066\240\064\240\062\206\060\150\164\164\160\072\057\057\143
+\162\154\056\143\157\155\157\144\157\056\156\145\164\057\125\124
+\116\055\125\123\105\122\106\151\162\163\164\055\110\141\162\144
+\167\141\162\145\056\143\162\154\060\161\006\010\053\006\001\005
+\005\007\001\001\004\145\060\143\060\073\006\010\053\006\001\005
+\005\007\060\002\206\057\150\164\164\160\072\057\057\143\162\164
+\056\143\157\155\157\144\157\143\141\056\143\157\155\057\125\124
+\116\101\144\144\124\162\165\163\164\123\145\162\166\145\162\103
+\101\056\143\162\164\060\044\006\010\053\006\001\005\005\007\060
+\001\206\030\150\164\164\160\072\057\057\157\143\163\160\056\143
+\157\155\157\144\157\143\141\056\143\157\155\060\037\006\003\125
+\035\021\004\030\060\026\202\007\153\165\151\170\056\144\145\202
+\013\167\167\167\056\153\165\151\170\056\144\145\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\216\141\036\046\036\242\331\031\320\360\324\275\211\371\352\222
+\021\171\152\136\173\174\237\176\071\163\011\126\121\346\206\124
+\307\155\106\166\122\312\152\250\064\300\140\076\003\316\263\311
+\110\227\321\237\246\241\152\017\376\167\321\036\020\263\127\200
+\251\006\046\204\246\373\172\067\023\316\204\314\167\171\011\056
+\342\104\276\037\254\167\156\167\106\101\333\260\262\151\221\164
+\321\200\226\141\061\014\057\012\317\265\320\334\010\055\353\366
+\165\202\336\212\056\272\075\007\220\140\071\126\203\341\202\312
+\043\254\337\343\317\115\160\127\301\270\267\223\232\355\334\213
+\336\112\240\125\050\002\253\103\014\124\227\150\030\242\353\071
+\341\271\374\277\163\200\144\063\022\173\207\140\002\347\076\160
+\311\207\312\251\066\074\005\361\006\136\161\012\016\012\066\231
+\260\207\347\151\132\261\240\060\116\175\141\130\313\306\250\226
+\200\136\175\301\052\377\233\112\112\353\051\147\212\017\157\346
+\031\355\202\317\201\127\341\044\255\242\321\372\332\024\227\260
+\154\174\107\306\327\224\021\041\354\326\132\322\335\217\177\221
+END
+
+# Trust for Certificate "Bogus kuix.de"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Bogus kuix.de"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\202\141\113\354\227\110\025\336\314\232\314\156\204\041\161\171
+\262\144\040\100
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\367\137\230\274\330\144\014\026\345\256\356\252\000\366\037\007
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
+\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
+\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
+\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
+\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125
+\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163
+\164\055\110\141\162\144\167\141\162\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\162\003\041\005\305\014\010\127\075\216\245\060\116\376
+\350\260
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Go Daddy Root Certificate Authority - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
+\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
+\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
+\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
+\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
+\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
+\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\305\060\202\002\255\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
+\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
+\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012\023
+\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111\156
+\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157\040
+\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\062\060\036\027\015\060\071\060\071\060\061\060
+\060\060\060\060\060\132\027\015\063\067\061\062\063\061\062\063
+\065\071\065\071\132\060\201\203\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023\007
+\101\162\151\172\157\156\141\061\023\060\021\006\003\125\004\007
+\023\012\123\143\157\164\164\163\144\141\154\145\061\032\060\030
+\006\003\125\004\012\023\021\107\157\104\141\144\144\171\056\143
+\157\155\054\040\111\156\143\056\061\061\060\057\006\003\125\004
+\003\023\050\107\157\040\104\141\144\144\171\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\277\161\142\010
+\361\372\131\064\367\033\311\030\243\367\200\111\130\351\042\203
+\023\246\305\040\103\001\073\204\361\346\205\111\237\047\352\366
+\204\033\116\240\264\333\160\230\307\062\001\261\005\076\007\116
+\356\364\372\117\057\131\060\042\347\253\031\126\153\342\200\007
+\374\363\026\165\200\071\121\173\345\371\065\266\164\116\251\215
+\202\023\344\266\077\251\003\203\372\242\276\212\025\152\177\336
+\013\303\266\031\024\005\312\352\303\250\004\224\073\106\174\062
+\015\363\000\146\042\310\215\151\155\066\214\021\030\267\323\262
+\034\140\264\070\372\002\214\316\323\335\106\007\336\012\076\353
+\135\174\310\174\373\260\053\123\244\222\142\151\121\045\005\141
+\032\104\201\214\054\251\103\226\043\337\254\072\201\232\016\051
+\305\034\251\351\135\036\266\236\236\060\012\071\316\361\210\200
+\373\113\135\314\062\354\205\142\103\045\064\002\126\047\001\221
+\264\073\160\052\077\156\261\350\234\210\001\175\237\324\371\333
+\123\155\140\235\277\054\347\130\253\270\137\106\374\316\304\033
+\003\074\011\353\111\061\134\151\106\263\340\107\002\003\001\000
+\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
+\024\072\232\205\007\020\147\050\266\357\366\275\005\101\156\040
+\301\224\332\017\336\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\003\202\001\001\000\231\333\135\171\325\371\227
+\131\147\003\141\361\176\073\006\061\165\055\241\040\216\117\145
+\207\264\367\246\234\274\330\351\057\320\333\132\356\317\164\214
+\163\264\070\102\332\005\173\370\002\165\270\375\245\261\327\256
+\366\327\336\023\313\123\020\176\212\106\321\227\372\267\056\053
+\021\253\220\260\047\200\371\350\237\132\351\067\237\253\344\337
+\154\263\205\027\235\075\331\044\117\171\221\065\326\137\004\353
+\200\203\253\232\002\055\265\020\364\330\220\307\004\163\100\355
+\162\045\240\251\237\354\236\253\150\022\231\127\306\217\022\072
+\011\244\275\104\375\006\025\067\301\233\344\062\243\355\070\350
+\330\144\363\054\176\024\374\002\352\237\315\377\007\150\027\333
+\042\220\070\055\172\215\321\124\361\151\343\137\063\312\172\075
+\173\012\343\312\177\137\071\345\342\165\272\305\166\030\063\316
+\054\360\057\114\255\367\261\347\316\117\250\304\233\112\124\006
+\305\177\175\325\010\017\342\034\376\176\027\270\254\136\366\324
+\026\262\103\011\014\115\366\247\153\264\231\204\145\312\172\210
+\342\342\104\276\134\367\352\034\365
+END
+
+# Trust for Certificate "Go Daddy Root Certificate Authority - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\107\276\253\311\042\352\350\016\170\170\064\142\247\237\105\302
+\124\375\346\213
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\200\072\274\042\301\346\373\215\233\073\047\112\062\033\232\001
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
+\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
+\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
+\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Starfield Root Certificate Authority - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
+\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
+\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
+\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
+\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
+\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
+\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\335\060\202\002\305\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
+\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
+\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023
+\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156
+\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062\060
+\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145\154
+\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\062\060\036\027\015\060\071\060\071\060\061\060\060\060\060\060
+\060\132\027\015\063\067\061\062\063\061\062\063\065\071\065\071
+\132\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172
+\157\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143
+\157\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004
+\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143
+\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061
+\062\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151
+\145\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055
+\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\275\355\301\003\374\366\217\374\002\261\157\133
+\237\110\331\235\171\342\242\267\003\141\126\030\303\107\266\327
+\312\075\065\056\211\103\367\241\151\233\336\212\032\375\023\040
+\234\264\111\167\062\051\126\375\271\354\214\335\042\372\162\334
+\047\141\227\356\366\132\204\354\156\031\271\211\054\334\204\133
+\325\164\373\153\137\305\211\245\020\122\211\106\125\364\270\165
+\034\346\177\344\124\256\113\370\125\162\127\002\031\370\027\161
+\131\353\036\050\007\164\305\235\110\276\154\264\364\244\260\363
+\144\067\171\222\300\354\106\136\177\341\155\123\114\142\257\315
+\037\013\143\273\072\235\373\374\171\000\230\141\164\317\046\202
+\100\143\363\262\162\152\031\015\231\312\324\016\165\314\067\373
+\213\211\301\131\361\142\177\137\263\137\145\060\370\247\267\115
+\166\132\036\166\136\064\300\350\226\126\231\212\263\360\177\244
+\315\275\334\062\061\174\221\317\340\137\021\370\153\252\111\134
+\321\231\224\321\242\343\143\133\011\166\265\126\142\341\113\164
+\035\226\324\046\324\010\004\131\320\230\016\016\346\336\374\303
+\354\037\220\361\002\003\001\000\001\243\102\060\100\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035
+\006\003\125\035\016\004\026\004\024\174\014\062\037\247\331\060
+\177\304\175\150\243\142\250\241\316\253\007\133\047\060\015\006
+\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001
+\000\021\131\372\045\117\003\157\224\231\073\232\037\202\205\071
+\324\166\005\224\136\341\050\223\155\142\135\011\302\240\250\324
+\260\165\070\361\064\152\235\344\237\212\206\046\121\346\054\321
+\306\055\156\225\040\112\222\001\354\270\212\147\173\061\342\147
+\056\214\225\003\046\056\103\235\112\061\366\016\265\014\273\267
+\342\067\177\042\272\000\243\016\173\122\373\153\273\073\304\323
+\171\121\116\315\220\364\147\007\031\310\074\106\172\015\001\175
+\305\130\347\155\346\205\060\027\232\044\304\020\340\004\367\340
+\362\177\324\252\012\377\102\035\067\355\224\345\144\131\022\040
+\167\070\323\062\076\070\201\165\226\163\372\150\217\261\313\316
+\037\305\354\372\234\176\317\176\261\361\007\055\266\374\277\312
+\244\277\320\227\005\112\274\352\030\050\002\220\275\124\170\011
+\041\161\323\321\175\035\331\026\260\251\141\075\320\012\000\042
+\374\307\173\313\011\144\105\013\073\100\201\367\175\174\062\365
+\230\312\130\216\175\052\356\220\131\163\144\371\066\164\136\045
+\241\365\146\005\056\177\071\025\251\052\373\120\213\216\205\151
+\364
+END
+
+# Trust for Certificate "Starfield Root Certificate Authority - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\265\034\006\174\356\053\014\075\370\125\253\055\222\364\376\071
+\324\347\017\016
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\326\071\201\306\122\176\226\151\374\374\312\146\355\005\362\226
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
+\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
+\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
+\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Starfield Services Root Certificate Authority - G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
+\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
+\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
+\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
+\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\357\060\202\002\327\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
+\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
+\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023
+\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156
+\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073\060
+\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145\154
+\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164\040
+\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150
+\157\162\151\164\171\040\055\040\107\062\060\036\027\015\060\071
+\060\071\060\061\060\060\060\060\060\060\132\027\015\063\067\061
+\062\063\061\062\063\065\071\065\071\132\060\201\230\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\020\060\016\006\003
+\125\004\010\023\007\101\162\151\172\157\156\141\061\023\060\021
+\006\003\125\004\007\023\012\123\143\157\164\164\163\144\141\154
+\145\061\045\060\043\006\003\125\004\012\023\034\123\164\141\162
+\146\151\145\154\144\040\124\145\143\150\156\157\154\157\147\151
+\145\163\054\040\111\156\143\056\061\073\060\071\006\003\125\004
+\003\023\062\123\164\141\162\146\151\145\154\144\040\123\145\162
+\166\151\143\145\163\040\122\157\157\164\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\325\014\072\304\052\371\116\342\365\276
+\031\227\137\216\210\123\261\037\077\313\317\237\040\023\155\051
+\072\310\017\175\074\367\153\166\070\143\331\066\140\250\233\136
+\134\000\200\262\057\131\177\366\207\371\045\103\206\347\151\033
+\122\232\220\341\161\343\330\055\015\116\157\366\310\111\331\266
+\363\032\126\256\053\266\164\024\353\317\373\046\343\032\272\035
+\226\056\152\073\130\224\211\107\126\377\045\240\223\160\123\203
+\332\204\164\024\303\147\236\004\150\072\337\216\100\132\035\112
+\116\317\103\221\073\347\126\326\000\160\313\122\356\173\175\256
+\072\347\274\061\371\105\366\302\140\317\023\131\002\053\200\314
+\064\107\337\271\336\220\145\155\002\317\054\221\246\246\347\336
+\205\030\111\174\146\116\243\072\155\251\265\356\064\056\272\015
+\003\270\063\337\107\353\261\153\215\045\331\233\316\201\321\105
+\106\062\226\160\207\336\002\016\111\103\205\266\154\163\273\144
+\352\141\101\254\311\324\124\337\207\057\307\042\262\046\314\237
+\131\124\150\237\374\276\052\057\304\125\034\165\100\140\027\205
+\002\125\071\213\177\005\002\003\001\000\001\243\102\060\100\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\035\006\003\125\035\016\004\026\004\024\234\137\000\337\252
+\001\327\060\053\070\210\242\270\155\112\234\362\021\221\203\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\001\001\000\113\066\246\204\167\151\335\073\031\237\147\043\010
+\157\016\141\311\375\204\334\137\330\066\201\315\330\033\101\055
+\237\140\335\307\032\150\331\321\156\206\341\210\043\317\023\336
+\103\317\342\064\263\004\235\037\051\325\277\370\136\310\325\301
+\275\356\222\157\062\164\362\221\202\057\275\202\102\172\255\052
+\267\040\175\115\274\172\125\022\302\025\352\275\367\152\225\056
+\154\164\237\317\034\264\362\305\001\243\205\320\162\076\255\163
+\253\013\233\165\014\155\105\267\216\224\254\226\067\265\240\320
+\217\025\107\016\343\350\203\335\217\375\357\101\001\167\314\047
+\251\142\205\063\362\067\010\357\161\317\167\006\336\310\031\035
+\210\100\317\175\106\035\377\036\307\341\316\377\043\333\306\372
+\215\125\116\251\002\347\107\021\106\076\364\375\275\173\051\046
+\273\251\141\142\067\050\266\055\052\366\020\206\144\311\160\247
+\322\255\267\051\160\171\352\074\332\143\045\237\375\150\267\060
+\354\160\373\165\212\267\155\140\147\262\036\310\271\351\330\250
+\157\002\213\147\015\115\046\127\161\332\040\374\301\112\120\215
+\261\050\272
+END
+
+# Trust for Certificate "Starfield Services Root Certificate Authority - G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\222\132\217\215\054\155\004\340\146\137\131\152\377\042\330\143
+\350\045\157\077
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\027\065\164\257\173\141\034\353\364\371\074\342\356\100\371\242
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
+\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
+\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AffirmTrust Commercial"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Commercial"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
+\145\162\143\151\141\154
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
+\145\162\143\151\141\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\167\167\006\047\046\251\261\174
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\167
+\167\006\047\046\251\261\174\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\104\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
+\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006
+\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163
+\164\040\103\157\155\155\145\162\143\151\141\154\060\036\027\015
+\061\060\060\061\062\071\061\064\060\066\060\066\132\027\015\063
+\060\061\062\063\061\061\064\060\066\060\066\132\060\104\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006
+\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163
+\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151
+\162\155\124\162\165\163\164\040\103\157\155\155\145\162\143\151
+\141\154\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\366\033\117\147\007\053\241\025\365\006\042\313\037
+\001\262\343\163\105\006\104\111\054\273\111\045\024\326\316\303
+\267\253\054\117\306\101\062\224\127\372\022\247\133\016\342\217
+\037\036\206\031\247\252\265\055\271\137\015\212\302\257\205\065
+\171\062\055\273\034\142\067\362\261\133\112\075\312\315\161\137
+\351\102\276\224\350\310\336\371\042\110\144\306\345\253\306\053
+\155\255\005\360\372\325\013\317\232\345\360\120\244\213\073\107
+\245\043\133\172\172\370\063\077\270\357\231\227\343\040\301\326
+\050\211\317\224\373\271\105\355\343\100\027\021\324\164\360\013
+\061\342\053\046\152\233\114\127\256\254\040\076\272\105\172\005
+\363\275\233\151\025\256\175\116\040\143\304\065\166\072\007\002
+\311\067\375\307\107\356\350\361\166\035\163\025\362\227\244\265
+\310\172\171\331\102\252\053\177\134\376\316\046\117\243\146\201
+\065\257\104\272\124\036\034\060\062\145\235\346\074\223\136\120
+\116\172\343\072\324\156\314\032\373\371\322\067\256\044\052\253
+\127\003\042\050\015\111\165\177\267\050\332\165\277\216\343\334
+\016\171\061\002\003\001\000\001\243\102\060\100\060\035\006\003
+\125\035\016\004\026\004\024\235\223\306\123\213\136\312\257\077
+\237\036\017\345\231\225\274\044\366\224\217\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011
+\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001\000
+\130\254\364\004\016\315\300\015\377\012\375\324\272\026\137\051
+\275\173\150\231\130\111\322\264\035\067\115\177\047\175\106\006
+\135\103\306\206\056\076\163\262\046\175\117\223\251\266\304\052
+\232\253\041\227\024\261\336\214\323\253\211\025\330\153\044\324
+\361\026\256\330\244\134\324\177\121\216\355\030\001\261\223\143
+\275\274\370\141\200\232\236\261\316\102\160\342\251\175\006\045
+\175\047\241\376\157\354\263\036\044\332\343\113\125\032\000\073
+\065\264\073\331\327\135\060\375\201\023\211\362\302\006\053\355
+\147\304\216\311\103\262\134\153\025\211\002\274\142\374\116\362
+\265\063\252\262\157\323\012\242\120\343\366\073\350\056\104\302
+\333\146\070\251\063\126\110\361\155\033\063\215\015\214\077\140
+\067\235\323\312\155\176\064\176\015\237\162\166\213\033\237\162
+\375\122\065\101\105\002\226\057\034\262\232\163\111\041\261\111
+\107\105\107\264\357\152\064\021\311\115\232\314\131\267\326\002
+\236\132\116\145\265\224\256\033\337\051\260\026\361\277\000\236
+\007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357
+END
+
+# Trust for Certificate "AffirmTrust Commercial"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Commercial"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\371\265\266\062\105\137\234\276\354\127\137\200\334\351\156\054
+\307\262\170\267
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\202\222\272\133\357\315\212\157\246\075\125\371\204\366\326\267
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
+\145\162\143\151\141\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\167\167\006\047\046\251\261\174
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AffirmTrust Networking"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Networking"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
+\157\162\153\151\156\147
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
+\157\162\153\151\156\147
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\174\117\004\071\034\324\231\055
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\174
+\117\004\071\034\324\231\055\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\104\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
+\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006
+\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163
+\164\040\116\145\164\167\157\162\153\151\156\147\060\036\027\015
+\061\060\060\061\062\071\061\064\060\070\062\064\132\027\015\063
+\060\061\062\063\061\061\064\060\070\062\064\132\060\104\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006
+\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163
+\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151
+\162\155\124\162\165\163\164\040\116\145\164\167\157\162\153\151
+\156\147\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\264\204\314\063\027\056\153\224\154\153\141\122\240
+\353\243\317\171\224\114\345\224\200\231\313\125\144\104\145\217
+\147\144\342\006\343\134\067\111\366\057\233\204\204\036\055\362
+\140\235\060\116\314\204\205\342\054\317\036\236\376\066\253\063
+\167\065\104\330\065\226\032\075\066\350\172\016\330\325\107\241
+\152\151\213\331\374\273\072\256\171\132\325\364\326\161\273\232
+\220\043\153\232\267\210\164\207\014\036\137\271\236\055\372\253
+\123\053\334\273\166\076\223\114\010\010\214\036\242\043\034\324
+\152\255\042\272\231\001\056\155\145\313\276\044\146\125\044\113
+\100\104\261\033\327\341\302\205\300\336\020\077\075\355\270\374
+\361\361\043\123\334\277\145\227\157\331\371\100\161\215\175\275
+\225\324\316\276\240\136\047\043\336\375\246\320\046\016\000\051
+\353\074\106\360\075\140\277\077\120\322\334\046\101\121\236\024
+\067\102\004\243\160\127\250\033\207\355\055\372\173\356\214\012
+\343\251\146\211\031\313\101\371\335\104\066\141\317\342\167\106
+\310\175\366\364\222\201\066\375\333\064\361\162\176\363\014\026
+\275\264\025\002\003\001\000\001\243\102\060\100\060\035\006\003
+\125\035\016\004\026\004\024\007\037\322\347\234\332\302\156\242
+\100\264\260\172\120\020\120\164\304\310\275\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\211\127\262\026\172\250\302\375\326\331\233\233\064\302\234\264
+\062\024\115\247\244\337\354\276\247\276\370\103\333\221\067\316
+\264\062\056\120\125\032\065\116\166\103\161\040\357\223\167\116
+\025\160\056\207\303\301\035\155\334\313\265\047\324\054\126\321
+\122\123\072\104\322\163\310\304\033\005\145\132\142\222\234\356
+\101\215\061\333\347\064\352\131\041\325\001\172\327\144\270\144
+\071\315\311\355\257\355\113\003\110\247\240\231\001\200\334\145
+\243\066\256\145\131\110\117\202\113\310\145\361\127\035\345\131
+\056\012\077\154\330\321\365\345\011\264\154\124\000\012\340\025
+\115\207\165\155\267\130\226\132\335\155\322\000\240\364\233\110
+\276\303\067\244\272\066\340\174\207\205\227\032\025\242\336\056
+\242\133\275\257\030\371\220\120\315\160\131\370\047\147\107\313
+\307\240\007\072\175\321\054\135\154\031\072\146\265\175\375\221
+\157\202\261\276\010\223\333\024\107\361\242\067\307\105\236\074
+\307\167\257\144\250\223\337\366\151\203\202\140\362\111\102\064
+\355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333
+END
+
+# Trust for Certificate "AffirmTrust Networking"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Networking"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\051\066\041\002\213\040\355\002\365\146\305\062\321\326\355\220
+\237\105\000\057
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\102\145\312\276\001\232\232\114\251\214\101\111\315\300\325\177
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
+\157\162\153\151\156\147
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\174\117\004\071\034\324\231\055
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AffirmTrust Premium"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Premium"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\155\214\024\106\261\246\012\356
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\106\060\202\003\056\240\003\002\001\002\002\010\155
+\214\024\106\261\246\012\356\060\015\006\011\052\206\110\206\367
+\015\001\001\014\005\000\060\101\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
+\101\146\146\151\162\155\124\162\165\163\164\061\034\060\032\006
+\003\125\004\003\014\023\101\146\146\151\162\155\124\162\165\163
+\164\040\120\162\145\155\151\165\155\060\036\027\015\061\060\060
+\061\062\071\061\064\061\060\063\066\132\027\015\064\060\061\062
+\063\061\061\064\061\060\063\066\132\060\101\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004
+\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061\034
+\060\032\006\003\125\004\003\014\023\101\146\146\151\162\155\124
+\162\165\163\164\040\120\162\145\155\151\165\155\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\304\022\337
+\251\137\376\101\335\335\365\237\212\343\366\254\341\074\170\232
+\274\330\360\177\172\240\063\052\334\215\040\133\256\055\157\347
+\223\331\066\160\152\150\317\216\121\243\205\133\147\004\240\020
+\044\157\135\050\202\301\227\127\330\110\051\023\266\341\276\221
+\115\337\205\014\123\030\232\036\044\242\117\217\360\242\205\013
+\313\364\051\177\322\244\130\356\046\115\311\252\250\173\232\331
+\372\070\336\104\127\025\345\370\214\310\331\110\342\015\026\047
+\035\036\310\203\205\045\267\272\252\125\101\314\003\042\113\055
+\221\215\213\346\211\257\146\307\351\377\053\351\074\254\332\322
+\263\303\341\150\234\211\370\172\000\126\336\364\125\225\154\373
+\272\144\335\142\213\337\013\167\062\353\142\314\046\232\233\273
+\252\142\203\114\264\006\172\060\310\051\277\355\006\115\227\271
+\034\304\061\053\325\137\274\123\022\027\234\231\127\051\146\167
+\141\041\061\007\056\045\111\235\030\362\356\363\053\161\214\265
+\272\071\007\111\167\374\357\056\222\220\005\215\055\057\167\173
+\357\103\277\065\273\232\330\371\163\247\054\362\320\127\356\050
+\116\046\137\217\220\150\011\057\270\370\334\006\351\056\232\076
+\121\247\321\042\304\012\247\070\110\154\263\371\377\175\253\206
+\127\343\272\326\205\170\167\272\103\352\110\177\366\330\276\043
+\155\036\277\321\066\154\130\134\361\356\244\031\124\032\365\003
+\322\166\346\341\214\275\074\263\323\110\113\342\310\370\177\222
+\250\166\106\234\102\145\076\244\036\301\007\003\132\106\055\270
+\227\363\267\325\262\125\041\357\272\334\114\000\227\373\024\225
+\047\063\277\350\103\107\106\322\010\231\026\140\073\232\176\322
+\346\355\070\352\354\001\036\074\110\126\111\011\307\114\067\000
+\236\210\016\300\163\341\157\146\351\162\107\060\076\020\345\013
+\003\311\232\102\000\154\305\224\176\141\304\212\337\177\202\032
+\013\131\304\131\062\167\263\274\140\151\126\071\375\264\006\173
+\054\326\144\066\331\275\110\355\204\037\176\245\042\217\052\270
+\102\364\202\267\324\123\220\170\116\055\032\375\201\157\104\327
+\073\001\164\226\102\340\000\342\056\153\352\305\356\162\254\273
+\277\376\352\252\250\370\334\366\262\171\212\266\147\002\003\001
+\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026\004
+\024\235\300\147\246\014\042\331\046\365\105\253\246\145\122\021
+\047\330\105\254\143\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367\015
+\001\001\014\005\000\003\202\002\001\000\263\127\115\020\142\116
+\072\344\254\352\270\034\257\062\043\310\263\111\132\121\234\166
+\050\215\171\252\127\106\027\325\365\122\366\267\104\350\010\104
+\277\030\204\322\013\200\315\305\022\375\000\125\005\141\207\101
+\334\265\044\236\074\304\330\310\373\160\236\057\170\226\203\040
+\066\336\174\017\151\023\210\245\165\066\230\010\246\306\337\254
+\316\343\130\326\267\076\336\272\363\353\064\100\330\242\201\365
+\170\077\057\325\245\374\331\242\324\136\004\016\027\255\376\101
+\360\345\262\162\372\104\202\063\102\350\055\130\367\126\214\142
+\077\272\102\260\234\014\134\176\056\145\046\134\123\117\000\262
+\170\176\241\015\231\055\215\270\035\216\242\304\260\375\140\320
+\060\244\216\310\004\142\251\304\355\065\336\172\227\355\016\070
+\136\222\057\223\160\245\251\234\157\247\175\023\035\176\306\010
+\110\261\136\147\353\121\010\045\351\346\045\153\122\051\221\234
+\322\071\163\010\127\336\231\006\264\133\235\020\006\341\302\000
+\250\270\034\112\002\012\024\320\301\101\312\373\214\065\041\175
+\202\070\362\251\124\221\031\065\223\224\155\152\072\305\262\320
+\273\211\206\223\350\233\311\017\072\247\172\270\241\360\170\106
+\372\374\067\057\345\212\204\363\337\376\004\331\241\150\240\057
+\044\342\011\225\006\325\225\312\341\044\226\353\174\366\223\005
+\273\355\163\351\055\321\165\071\327\347\044\333\330\116\137\103
+\217\236\320\024\071\277\125\160\110\231\127\061\264\234\356\112
+\230\003\226\060\037\140\006\356\033\043\376\201\140\043\032\107
+\142\205\245\314\031\064\200\157\263\254\032\343\237\360\173\110
+\255\325\001\331\147\266\251\162\223\352\055\146\265\262\270\344
+\075\074\262\357\114\214\352\353\007\277\253\065\232\125\206\274
+\030\246\265\250\136\264\203\154\153\151\100\323\237\334\361\303
+\151\153\271\341\155\011\364\361\252\120\166\012\172\175\172\027
+\241\125\226\102\231\061\011\335\140\021\215\005\060\176\346\216
+\106\321\235\024\332\307\027\344\005\226\214\304\044\265\033\317
+\024\007\262\100\370\243\236\101\206\274\004\320\153\226\310\052
+\200\064\375\277\357\006\243\335\130\305\205\075\076\217\376\236
+\051\340\266\270\011\150\031\034\030\103
+END
+
+# Trust for Certificate "AffirmTrust Premium"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Premium"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\330\246\063\054\340\003\157\261\205\366\143\117\175\152\006\145
+\046\062\050\047
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\304\135\016\110\266\254\050\060\116\012\274\371\070\026\207\127
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\155\214\024\106\261\246\012\356
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "AffirmTrust Premium ECC"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Premium ECC"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155\040\105\103\103
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155\040\105\103\103
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\164\227\045\212\307\077\172\124
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\001\376\060\202\001\205\240\003\002\001\002\002\010\164
+\227\045\212\307\077\172\124\060\012\006\010\052\206\110\316\075
+\004\003\003\060\105\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\024\060\022\006\003\125\004\012\014\013\101\146\146
+\151\162\155\124\162\165\163\164\061\040\060\036\006\003\125\004
+\003\014\027\101\146\146\151\162\155\124\162\165\163\164\040\120
+\162\145\155\151\165\155\040\105\103\103\060\036\027\015\061\060
+\060\061\062\071\061\064\062\060\062\064\132\027\015\064\060\061
+\062\063\061\061\064\062\060\062\064\132\060\105\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125
+\004\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061
+\040\060\036\006\003\125\004\003\014\027\101\146\146\151\162\155
+\124\162\165\163\164\040\120\162\145\155\151\165\155\040\105\103
+\103\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\015\060\136\033\025\235\003
+\320\241\171\065\267\072\074\222\172\312\025\034\315\142\363\234
+\046\134\007\075\345\124\372\243\326\314\022\352\364\024\137\350
+\216\031\253\057\056\110\346\254\030\103\170\254\320\067\303\275
+\262\315\054\346\107\342\032\346\143\270\075\056\057\170\304\117
+\333\364\017\244\150\114\125\162\153\225\035\116\030\102\225\170
+\314\067\074\221\342\233\145\053\051\243\102\060\100\060\035\006
+\003\125\035\016\004\026\004\024\232\257\051\172\300\021\065\065
+\046\121\060\000\303\152\376\100\325\256\326\074\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\012\006
+\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060
+\027\011\363\207\210\120\132\257\310\300\102\277\107\137\365\154
+\152\206\340\304\047\164\344\070\123\327\005\177\033\064\343\306
+\057\263\312\011\074\067\235\327\347\270\106\361\375\241\342\161
+\002\060\102\131\207\103\324\121\337\272\323\011\062\132\316\210
+\176\127\075\234\137\102\153\365\007\055\265\360\202\223\371\131
+\157\256\144\372\130\345\213\036\343\143\276\265\201\315\157\002
+\214\171
+END
+
+# Trust for Certificate "AffirmTrust Premium ECC"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AffirmTrust Premium ECC"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\270\043\153\000\057\035\026\206\123\001\125\154\021\244\067\312
+\353\377\303\273
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\144\260\011\125\317\261\325\231\342\276\023\253\246\135\352\115
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155\040\105\103\103
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\164\227\045\212\307\077\172\124
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Certum Trusted Network CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum Trusted Network CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
+\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
+\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
+\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
+\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
+\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
+\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
+\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
+\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
+\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
+\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\004\104\300
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\273\060\202\002\243\240\003\002\001\002\002\003\004
+\104\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
+\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
+\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
+\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060
+\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124
+\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
+\101\060\036\027\015\060\070\061\060\062\062\061\062\060\067\063
+\067\132\027\015\062\071\061\062\063\061\061\062\060\067\063\067
+\132\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
+\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
+\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
+\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060
+\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124
+\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
+\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\343\373\175\243\162\272\302\360\311\024\207\365\153\001
+\116\341\156\100\007\272\155\047\135\177\367\133\055\263\132\307
+\121\137\253\244\062\246\141\207\266\156\017\206\322\060\002\227
+\370\327\151\127\241\030\071\135\152\144\171\306\001\131\254\074
+\061\112\070\174\322\004\322\113\050\350\040\137\073\007\242\314
+\115\163\333\363\256\117\307\126\325\132\247\226\211\372\363\253
+\150\324\043\206\131\047\317\011\047\274\254\156\162\203\034\060
+\162\337\340\242\351\322\341\164\165\031\275\052\236\173\025\124
+\004\033\327\103\071\255\125\050\305\342\032\273\364\300\344\256
+\070\111\063\314\166\205\237\071\105\322\244\236\362\022\214\121
+\370\174\344\055\177\365\254\137\353\026\237\261\055\321\272\314
+\221\102\167\114\045\311\220\070\157\333\360\314\373\216\036\227
+\131\076\325\140\116\346\005\050\355\111\171\023\113\272\110\333
+\057\371\162\323\071\312\376\037\330\064\162\365\264\100\317\061
+\001\303\354\336\021\055\027\135\037\270\120\321\136\031\247\151
+\336\007\063\050\312\120\225\371\247\124\313\124\206\120\105\251
+\371\111\002\003\001\000\001\243\102\060\100\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\010\166\315\313\007\377\044\366\305
+\315\355\273\220\274\342\204\067\106\165\367\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\246
+\250\255\042\316\001\075\246\243\377\142\320\110\235\213\136\162
+\260\170\104\343\334\034\257\011\375\043\110\372\275\052\304\271
+\125\004\265\020\243\215\047\336\013\202\143\320\356\336\014\067
+\171\101\133\042\262\260\232\101\134\246\160\340\324\320\167\313
+\043\323\000\340\154\126\057\341\151\015\015\331\252\277\041\201
+\120\331\006\245\250\377\225\067\320\252\376\342\263\365\231\055
+\105\204\212\345\102\011\327\164\002\057\367\211\330\231\351\274
+\047\324\107\215\272\015\106\034\167\317\024\244\034\271\244\061
+\304\234\050\164\003\064\377\063\031\046\245\351\015\164\267\076
+\227\306\166\350\047\226\243\146\335\341\256\362\101\133\312\230
+\126\203\163\160\344\206\032\322\061\101\272\057\276\055\023\132
+\166\157\116\350\116\201\016\077\133\003\042\240\022\276\146\130
+\021\112\313\003\304\264\052\052\055\226\027\340\071\124\274\110
+\323\166\047\235\232\055\006\246\311\354\071\322\253\333\237\232
+\013\047\002\065\051\261\100\225\347\371\350\234\125\210\031\106
+\326\267\064\365\176\316\071\232\331\070\361\121\367\117\054
+END
+
+# Trust for Certificate "Certum Trusted Network CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum Trusted Network CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\007\340\062\340\040\267\054\077\031\057\006\050\242\131\072\031
+\247\017\006\236
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\325\351\201\100\305\030\151\374\106\054\211\165\142\017\252\170
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
+\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
+\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
+\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
+\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
+\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\004\104\300
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Certinomis - Autorité Racine"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certinomis - Autorité Racine"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156
+\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060
+\060\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060
+\044\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155
+\151\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122
+\141\143\151\156\145
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156
+\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060
+\060\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060
+\044\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155
+\151\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122
+\141\143\151\156\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\234\060\202\003\204\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\143\061\013\060\011\006\003\125\004\006\023\002\106\122\061\023
+\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156\157
+\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060\060
+\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060\044
+\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155\151
+\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122\141
+\143\151\156\145\060\036\027\015\060\070\060\071\061\067\060\070
+\062\070\065\071\132\027\015\062\070\060\071\061\067\060\070\062
+\070\065\071\132\060\143\061\013\060\011\006\003\125\004\006\023
+\002\106\122\061\023\060\021\006\003\125\004\012\023\012\103\145
+\162\164\151\156\157\155\151\163\061\027\060\025\006\003\125\004
+\013\023\016\060\060\060\062\040\064\063\063\071\071\070\071\060
+\063\061\046\060\044\006\003\125\004\003\014\035\103\145\162\164
+\151\156\157\155\151\163\040\055\040\101\165\164\157\162\151\164
+\303\251\040\122\141\143\151\156\145\060\202\002\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017
+\000\060\202\002\012\002\202\002\001\000\235\205\237\206\323\343
+\257\307\262\153\156\063\340\236\267\102\064\125\235\371\201\276
+\143\330\043\166\016\227\124\315\231\114\032\361\071\307\210\330
+\027\120\014\236\141\332\300\116\125\336\347\132\270\172\116\167
+\207\015\345\270\353\372\236\136\173\036\304\317\050\164\307\223
+\365\024\306\042\050\004\371\221\303\253\047\163\152\016\056\115
+\363\056\050\037\160\337\125\057\116\355\307\161\157\011\162\056
+\355\325\062\227\320\361\130\167\321\140\274\116\136\333\232\204
+\366\107\141\105\053\366\120\246\177\152\161\047\110\204\065\236
+\254\376\151\251\236\172\136\065\045\372\264\247\111\065\167\226
+\247\066\133\341\315\337\043\160\330\135\114\245\010\203\361\246
+\044\070\023\250\354\057\250\241\147\307\246\055\206\107\356\212
+\374\354\233\016\164\364\053\111\002\173\220\165\214\374\231\071
+\001\071\326\112\211\345\236\166\253\076\226\050\070\046\213\335
+\215\214\300\366\001\036\157\245\061\022\070\175\225\302\161\356
+\355\164\256\344\066\242\103\165\325\361\000\233\342\344\327\314
+\102\003\113\170\172\345\175\273\270\256\056\040\223\323\344\141
+\337\161\341\166\147\227\077\266\337\152\163\132\144\042\345\102
+\333\317\201\003\223\330\364\343\020\340\162\366\000\160\254\360
+\301\172\017\005\177\317\064\151\105\265\223\344\031\333\122\026
+\043\005\211\016\215\110\344\045\157\263\170\277\142\365\007\372
+\225\044\302\226\262\350\243\043\302\135\003\374\303\323\345\174
+\311\165\043\327\364\365\274\336\344\337\315\200\277\221\210\175
+\247\023\264\071\272\054\272\275\321\153\314\363\245\050\355\104
+\236\175\122\243\157\226\056\031\176\034\363\133\307\026\216\273
+\140\175\167\146\107\124\202\000\021\140\154\062\301\250\070\033
+\353\156\230\023\326\356\070\365\360\237\016\357\376\061\201\301
+\322\044\225\057\123\172\151\242\360\017\206\105\216\130\202\053
+\114\042\324\136\240\347\175\046\047\110\337\045\106\215\112\050
+\174\206\236\371\233\032\131\271\145\277\005\335\266\102\135\075
+\346\000\110\202\136\040\367\021\202\336\312\330\237\346\067\107
+\046\036\353\170\367\141\303\101\144\130\002\101\371\332\340\321
+\370\371\350\375\122\070\266\365\211\337\002\003\001\000\001\243
+\133\060\131\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\015
+\214\266\141\332\104\270\321\024\175\303\276\175\136\110\360\316
+\312\152\260\060\027\006\003\125\035\040\004\020\060\016\060\014
+\006\012\052\201\172\001\126\002\002\000\001\001\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001\000
+\044\076\140\006\176\035\357\072\076\333\352\257\034\232\054\001
+\013\364\305\265\331\111\061\364\135\101\215\211\014\116\377\154
+\242\375\377\342\006\310\071\237\361\132\251\335\042\130\025\250
+\212\323\261\346\062\011\202\003\154\327\077\010\307\370\271\272
+\000\155\271\326\374\122\062\135\244\177\244\061\224\273\266\114
+\070\177\050\060\065\377\237\043\123\267\266\356\024\160\000\100
+\053\332\107\253\064\176\136\247\126\060\141\053\213\103\254\375
+\266\210\050\365\153\266\076\140\112\272\102\220\064\147\215\352
+\353\137\105\124\073\027\254\213\344\306\145\017\356\320\214\135
+\146\071\316\062\247\330\020\227\300\176\064\234\237\224\363\366
+\206\037\317\033\163\255\224\171\207\150\160\303\063\245\160\347
+\330\325\070\224\157\143\171\353\277\012\016\010\347\305\057\017
+\102\240\053\024\100\377\041\340\005\305\047\341\204\021\023\272
+\326\206\035\101\013\023\043\211\323\311\013\350\212\272\172\243
+\243\163\067\065\200\175\022\270\063\167\100\070\300\372\136\060
+\322\362\266\243\261\326\242\225\227\201\233\122\355\151\114\377
+\200\344\123\333\124\133\003\155\124\137\261\270\357\044\275\157
+\237\021\303\307\144\302\017\050\142\205\146\136\032\173\262\267
+\357\256\065\311\031\063\250\270\047\333\063\125\277\150\341\165
+\110\104\126\373\315\323\110\273\107\211\072\254\151\365\200\306
+\344\104\120\057\124\304\252\103\305\061\061\130\275\226\305\352
+\165\154\232\165\261\115\370\367\227\377\226\026\362\227\115\350
+\366\363\021\371\072\175\212\070\156\004\313\341\323\105\025\252
+\245\321\035\235\135\143\350\044\346\066\024\342\207\255\033\131
+\365\104\233\373\327\167\174\037\001\160\142\241\040\032\242\305
+\032\050\364\041\003\356\056\331\301\200\352\271\331\202\326\133
+\166\302\313\073\265\322\000\360\243\016\341\255\156\100\367\333
+\240\264\320\106\256\025\327\104\302\115\065\371\322\013\362\027
+\366\254\146\325\044\262\117\321\034\231\300\156\365\175\353\164
+\004\270\371\115\167\011\327\264\317\007\060\011\361\270\000\126
+\331\027\026\026\012\053\206\337\217\001\031\032\345\273\202\143
+\377\276\013\166\026\136\067\067\346\330\164\227\242\231\105\171
+END
+
+# Trust for Certificate "Certinomis - Autorité Racine"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certinomis - Autorité Racine"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\056\024\332\354\050\360\372\036\216\070\232\116\253\353\046\300
+\012\323\203\303
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\177\060\170\214\003\343\312\311\012\342\311\352\036\252\125\032
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156
+\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060
+\060\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060
+\044\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155
+\151\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122
+\141\143\151\156\145
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Root CA Generalitat Valenciana"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Root CA Generalitat Valenciana"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\037\060\035\006\003\125\004\012\023\026\107\145\156\145\162\141
+\154\151\164\141\164\040\126\141\154\145\156\143\151\141\156\141
+\061\017\060\015\006\003\125\004\013\023\006\120\113\111\107\126
+\101\061\047\060\045\006\003\125\004\003\023\036\122\157\157\164
+\040\103\101\040\107\145\156\145\162\141\154\151\164\141\164\040
+\126\141\154\145\156\143\151\141\156\141
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\037\060\035\006\003\125\004\012\023\026\107\145\156\145\162\141
+\154\151\164\141\164\040\126\141\154\145\156\143\151\141\156\141
+\061\017\060\015\006\003\125\004\013\023\006\120\113\111\107\126
+\101\061\047\060\045\006\003\125\004\003\023\036\122\157\157\164
+\040\103\101\040\107\145\156\145\162\141\154\151\164\141\164\040
+\126\141\154\145\156\143\151\141\156\141
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\073\105\345\150
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\213\060\202\005\163\240\003\002\001\002\002\004\073
+\105\345\150\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\150\061\013\060\011\006\003\125\004\006\023\002\105
+\123\061\037\060\035\006\003\125\004\012\023\026\107\145\156\145
+\162\141\154\151\164\141\164\040\126\141\154\145\156\143\151\141
+\156\141\061\017\060\015\006\003\125\004\013\023\006\120\113\111
+\107\126\101\061\047\060\045\006\003\125\004\003\023\036\122\157
+\157\164\040\103\101\040\107\145\156\145\162\141\154\151\164\141
+\164\040\126\141\154\145\156\143\151\141\156\141\060\036\027\015
+\060\061\060\067\060\066\061\066\062\062\064\067\132\027\015\062
+\061\060\067\060\061\061\065\062\062\064\067\132\060\150\061\013
+\060\011\006\003\125\004\006\023\002\105\123\061\037\060\035\006
+\003\125\004\012\023\026\107\145\156\145\162\141\154\151\164\141
+\164\040\126\141\154\145\156\143\151\141\156\141\061\017\060\015
+\006\003\125\004\013\023\006\120\113\111\107\126\101\061\047\060
+\045\006\003\125\004\003\023\036\122\157\157\164\040\103\101\040
+\107\145\156\145\162\141\154\151\164\141\164\040\126\141\154\145
+\156\143\151\141\156\141\060\202\001\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
+\001\012\002\202\001\001\000\306\052\253\127\021\067\057\042\212
+\312\003\164\035\312\355\055\242\013\274\063\122\100\046\107\276
+\132\151\246\073\162\066\027\114\350\337\270\273\057\166\341\100
+\106\164\145\002\220\122\010\264\377\250\214\301\340\307\211\126
+\020\071\063\357\150\264\137\137\332\155\043\241\211\136\042\243
+\112\006\360\047\360\127\271\370\351\116\062\167\012\077\101\144
+\363\353\145\356\166\376\124\252\175\035\040\256\363\327\164\302
+\012\137\365\010\050\122\010\314\125\135\322\017\333\232\201\245
+\273\241\263\301\224\315\124\340\062\165\061\221\032\142\262\336
+\165\342\317\117\211\331\221\220\017\101\033\264\132\112\167\275
+\147\203\340\223\347\136\247\014\347\201\323\364\122\254\123\262
+\003\307\104\046\373\171\345\313\064\140\120\020\173\033\333\153
+\327\107\253\137\174\150\312\156\235\101\003\020\356\153\231\173
+\136\045\250\302\253\344\300\363\134\234\343\276\316\061\114\144
+\036\136\200\242\365\203\176\014\326\312\214\125\216\276\340\276
+\111\007\017\243\044\101\172\130\035\204\352\130\022\310\341\267
+\355\357\223\336\224\010\061\002\003\001\000\001\243\202\003\073
+\060\202\003\067\060\062\006\010\053\006\001\005\005\007\001\001
+\004\046\060\044\060\042\006\010\053\006\001\005\005\007\060\001
+\206\026\150\164\164\160\072\057\057\157\143\163\160\056\160\153
+\151\056\147\166\141\056\145\163\060\022\006\003\125\035\023\001
+\001\377\004\010\060\006\001\001\377\002\001\002\060\202\002\064
+\006\003\125\035\040\004\202\002\053\060\202\002\047\060\202\002
+\043\006\012\053\006\001\004\001\277\125\002\001\000\060\202\002
+\023\060\202\001\350\006\010\053\006\001\005\005\007\002\002\060
+\202\001\332\036\202\001\326\000\101\000\165\000\164\000\157\000
+\162\000\151\000\144\000\141\000\144\000\040\000\144\000\145\000
+\040\000\103\000\145\000\162\000\164\000\151\000\146\000\151\000
+\143\000\141\000\143\000\151\000\363\000\156\000\040\000\122\000
+\141\000\355\000\172\000\040\000\144\000\145\000\040\000\154\000
+\141\000\040\000\107\000\145\000\156\000\145\000\162\000\141\000
+\154\000\151\000\164\000\141\000\164\000\040\000\126\000\141\000
+\154\000\145\000\156\000\143\000\151\000\141\000\156\000\141\000
+\056\000\015\000\012\000\114\000\141\000\040\000\104\000\145\000
+\143\000\154\000\141\000\162\000\141\000\143\000\151\000\363\000
+\156\000\040\000\144\000\145\000\040\000\120\000\162\000\341\000
+\143\000\164\000\151\000\143\000\141\000\163\000\040\000\144\000
+\145\000\040\000\103\000\145\000\162\000\164\000\151\000\146\000
+\151\000\143\000\141\000\143\000\151\000\363\000\156\000\040\000
+\161\000\165\000\145\000\040\000\162\000\151\000\147\000\145\000
+\040\000\145\000\154\000\040\000\146\000\165\000\156\000\143\000
+\151\000\157\000\156\000\141\000\155\000\151\000\145\000\156\000
+\164\000\157\000\040\000\144\000\145\000\040\000\154\000\141\000
+\040\000\160\000\162\000\145\000\163\000\145\000\156\000\164\000
+\145\000\040\000\101\000\165\000\164\000\157\000\162\000\151\000
+\144\000\141\000\144\000\040\000\144\000\145\000\040\000\103\000
+\145\000\162\000\164\000\151\000\146\000\151\000\143\000\141\000
+\143\000\151\000\363\000\156\000\040\000\163\000\145\000\040\000
+\145\000\156\000\143\000\165\000\145\000\156\000\164\000\162\000
+\141\000\040\000\145\000\156\000\040\000\154\000\141\000\040\000
+\144\000\151\000\162\000\145\000\143\000\143\000\151\000\363\000
+\156\000\040\000\167\000\145\000\142\000\040\000\150\000\164\000
+\164\000\160\000\072\000\057\000\057\000\167\000\167\000\167\000
+\056\000\160\000\153\000\151\000\056\000\147\000\166\000\141\000
+\056\000\145\000\163\000\057\000\143\000\160\000\163\060\045\006
+\010\053\006\001\005\005\007\002\001\026\031\150\164\164\160\072
+\057\057\167\167\167\056\160\153\151\056\147\166\141\056\145\163
+\057\143\160\163\060\035\006\003\125\035\016\004\026\004\024\173
+\065\323\100\322\034\170\031\146\357\164\020\050\334\076\117\262
+\170\004\374\060\201\225\006\003\125\035\043\004\201\215\060\201
+\212\200\024\173\065\323\100\322\034\170\031\146\357\164\020\050
+\334\076\117\262\170\004\374\241\154\244\152\060\150\061\013\060
+\011\006\003\125\004\006\023\002\105\123\061\037\060\035\006\003
+\125\004\012\023\026\107\145\156\145\162\141\154\151\164\141\164
+\040\126\141\154\145\156\143\151\141\156\141\061\017\060\015\006
+\003\125\004\013\023\006\120\113\111\107\126\101\061\047\060\045
+\006\003\125\004\003\023\036\122\157\157\164\040\103\101\040\107
+\145\156\145\162\141\154\151\164\141\164\040\126\141\154\145\156
+\143\151\141\156\141\202\004\073\105\345\150\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\044
+\141\116\365\265\310\102\002\052\263\134\165\255\305\155\312\347
+\224\077\245\150\225\210\301\124\300\020\151\242\022\057\030\077
+\045\120\250\174\112\352\306\011\331\364\165\306\100\332\257\120
+\235\075\245\026\273\155\061\306\307\163\012\110\376\040\162\355
+\157\314\350\203\141\026\106\220\001\225\113\175\216\232\122\011
+\057\366\157\034\344\241\161\317\214\052\132\027\163\203\107\115
+\017\066\373\004\115\111\121\342\024\311\144\141\373\324\024\340
+\364\236\267\064\217\012\046\275\227\134\364\171\072\112\060\031
+\314\255\117\240\230\212\264\061\227\052\342\163\155\176\170\270
+\370\210\211\117\261\042\221\144\113\365\120\336\003\333\345\305
+\166\347\023\146\165\176\145\373\001\237\223\207\210\235\371\106
+\127\174\115\140\257\230\163\023\043\244\040\221\201\372\320\141
+\146\270\175\321\257\326\157\036\154\075\351\021\375\251\371\202
+\042\206\231\063\161\132\352\031\127\075\221\315\251\300\243\156
+\007\023\246\311\355\370\150\243\236\303\132\162\011\207\050\321
+\304\163\304\163\030\137\120\165\026\061\237\267\350\174\303
+END
+
+# Trust for Certificate "Root CA Generalitat Valenciana"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Root CA Generalitat Valenciana"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\240\163\345\305\275\103\141\015\206\114\041\023\012\205\130\127
+\314\234\352\106
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\054\214\027\136\261\124\253\223\027\265\066\132\333\321\306\362
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\037\060\035\006\003\125\004\012\023\026\107\145\156\145\162\141
+\154\151\164\141\164\040\126\141\154\145\156\143\151\141\156\141
+\061\017\060\015\006\003\125\004\013\023\006\120\113\111\107\126
+\101\061\047\060\045\006\003\125\004\003\023\036\122\157\157\164
+\040\103\101\040\107\145\156\145\162\141\154\151\164\141\164\040
+\126\141\154\145\156\143\151\141\156\141
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\073\105\345\150
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "A-Trust-nQual-03"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "A-Trust-nQual-03"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101\124
+\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162\165
+\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150\145
+\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151\155
+\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166\145
+\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006\003
+\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121\165
+\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014\020
+\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101\124
+\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162\165
+\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150\145
+\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151\155
+\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166\145
+\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006\003
+\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121\165
+\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014\020
+\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\001\154\036
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\317\060\202\002\267\240\003\002\001\002\002\003\001
+\154\036\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101
+\124\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162
+\165\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150
+\145\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151
+\155\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166
+\145\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006
+\003\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121
+\165\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014
+\020\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060
+\063\060\036\027\015\060\065\060\070\061\067\062\062\060\060\060
+\060\132\027\015\061\065\060\070\061\067\062\062\060\060\060\060
+\132\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101
+\124\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162
+\165\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150
+\145\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151
+\155\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166
+\145\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006
+\003\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121
+\165\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014
+\020\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060
+\063\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\255\075\141\156\003\363\220\073\300\101\013\204\200\315
+\354\052\243\235\153\273\156\302\102\204\367\121\024\341\240\250
+\055\121\243\121\362\336\043\360\064\104\377\224\353\314\005\043
+\225\100\271\007\170\245\045\366\012\275\105\206\350\331\275\300
+\004\216\205\104\141\357\177\247\311\372\301\045\314\205\054\143
+\077\005\140\163\111\005\340\140\170\225\020\113\334\371\021\131
+\316\161\177\100\233\212\252\044\337\013\102\342\333\126\274\112
+\322\245\014\233\267\103\076\335\203\323\046\020\002\317\352\043
+\304\111\116\345\323\351\264\210\253\014\256\142\222\324\145\207
+\331\152\327\364\205\237\344\063\042\045\245\345\310\063\272\303
+\307\101\334\137\306\152\314\000\016\155\062\250\266\207\066\000
+\142\167\233\036\037\064\313\220\074\170\210\164\005\353\171\365
+\223\161\145\312\235\307\153\030\055\075\134\116\347\325\370\077
+\061\175\217\207\354\012\042\057\043\351\376\273\175\311\340\364
+\354\353\174\304\260\303\055\142\265\232\161\326\261\152\350\354
+\331\355\325\162\354\276\127\001\316\005\125\237\336\321\140\210
+\020\263\002\003\001\000\001\243\066\060\064\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\021\006\003
+\125\035\016\004\012\004\010\104\152\225\147\125\171\021\117\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\001\001\000\125\324\124\321\131\110\134\263\223\205\252\277\143
+\057\344\200\316\064\243\064\142\076\366\330\356\147\210\061\004
+\003\157\013\324\007\373\116\165\017\323\056\323\300\027\307\306
+\050\354\006\015\021\044\016\016\245\135\277\214\262\023\226\161
+\334\324\316\016\015\012\150\062\154\271\101\061\031\253\261\007
+\173\115\230\323\134\260\321\360\247\102\240\265\304\216\257\376
+\361\077\364\357\117\106\000\166\353\002\373\371\235\322\100\226
+\307\210\072\270\237\021\171\363\200\145\250\275\037\323\170\201
+\240\121\114\067\264\246\135\045\160\321\146\311\150\371\056\021
+\024\150\361\124\230\010\254\046\222\017\336\211\236\324\372\263
+\171\053\322\243\171\324\354\213\254\207\123\150\102\114\121\121
+\164\036\033\047\056\343\365\037\051\164\115\355\257\367\341\222
+\231\201\350\276\072\307\027\120\366\267\306\374\233\260\212\153
+\326\210\003\221\217\006\167\072\205\002\335\230\325\103\170\077
+\306\060\025\254\233\153\313\127\267\211\121\213\072\350\311\204
+\014\333\261\120\040\012\032\112\272\152\032\275\354\033\310\305
+\204\232\315
+END
+
+# Trust for Certificate "A-Trust-nQual-03"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "A-Trust-nQual-03"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\323\300\143\362\031\355\007\076\064\255\135\165\013\062\166\051
+\377\325\232\362
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\111\143\256\047\364\325\225\075\330\333\044\206\270\234\007\123
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101\124
+\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162\165
+\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150\145
+\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151\155
+\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166\145
+\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006\003
+\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121\165
+\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014\020
+\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\001\154\036
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "TWCA Root Certification Authority"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TWCA Root Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\173\060\202\002\143\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061\022
+\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116\055
+\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157\157
+\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041\124
+\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\060\036\027\015\060\070\060\070\062\070\060\067\062\064\063\063
+\132\027\015\063\060\061\062\063\061\061\065\065\071\065\071\132
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\260\176\162\270\244\003\224\346\247\336\011\070\221\112
+\021\100\207\247\174\131\144\024\173\265\021\020\335\376\277\325
+\300\273\126\342\205\045\364\065\162\017\370\123\320\101\341\104
+\001\302\264\034\303\061\102\026\107\205\063\042\166\262\012\157
+\017\345\045\120\117\205\206\276\277\230\056\020\147\036\276\021
+\005\206\005\220\304\131\320\174\170\020\260\200\134\267\341\307
+\053\165\313\174\237\256\265\321\235\043\067\143\247\334\102\242
+\055\222\004\033\120\301\173\270\076\033\311\126\004\213\057\122
+\233\255\251\126\351\301\377\255\251\130\207\060\266\201\367\227
+\105\374\031\127\073\053\157\344\107\364\231\105\376\035\361\370
+\227\243\210\035\067\034\134\217\340\166\045\232\120\370\240\124
+\377\104\220\166\043\322\062\306\303\253\006\277\374\373\277\363
+\255\175\222\142\002\133\051\323\065\243\223\232\103\144\140\135
+\262\372\062\377\073\004\257\115\100\152\371\307\343\357\043\375
+\153\313\345\017\213\070\015\356\012\374\376\017\230\237\060\061
+\335\154\122\145\371\213\201\276\042\341\034\130\003\272\221\033
+\211\007\002\003\001\000\001\243\102\060\100\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\152\070\133\046\215\336\213\132\362
+\117\172\124\203\031\030\343\010\065\246\272\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\074
+\325\167\075\332\337\211\272\207\014\010\124\152\040\120\222\276
+\260\101\075\271\046\144\203\012\057\350\100\300\227\050\047\202
+\060\112\311\223\377\152\347\246\000\177\211\102\232\326\021\345
+\123\316\057\314\362\332\005\304\376\342\120\304\072\206\175\314
+\332\176\020\011\073\222\065\052\123\262\376\353\053\005\331\154
+\135\346\320\357\323\152\146\236\025\050\205\172\350\202\000\254
+\036\247\011\151\126\102\323\150\121\030\276\124\232\277\104\101
+\272\111\276\040\272\151\134\356\270\167\315\316\154\037\255\203
+\226\030\175\016\265\024\071\204\361\050\351\055\243\236\173\036
+\172\162\132\203\263\171\157\357\264\374\320\012\245\130\117\106
+\337\373\155\171\131\362\204\042\122\256\017\314\373\174\073\347
+\152\312\107\141\303\172\370\323\222\004\037\270\040\204\341\066
+\124\026\307\100\336\073\212\163\334\337\306\011\114\337\354\332
+\377\324\123\102\241\311\362\142\035\042\203\074\227\305\371\031
+\142\047\254\145\042\327\323\074\306\345\216\262\123\314\111\316
+\274\060\376\173\016\063\220\373\355\322\024\221\037\007\257
+END
+
+# Trust for Certificate "TWCA Root Certification Authority"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TWCA Root Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\317\236\207\155\323\353\374\102\046\227\243\265\243\172\240\166
+\251\006\043\110
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\252\010\217\366\371\173\267\362\261\247\036\233\352\352\275\171
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrust DigiNotar Root CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
+\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
+\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
+\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
+\154
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
+\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
+\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
+\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
+\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377
+\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\017
+\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137
+\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022\060
+\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164\141
+\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147\151
+\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040\060
+\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156
+\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154\060
+\036\027\015\060\067\060\067\062\067\061\067\061\071\063\067\132
+\027\015\062\065\060\063\063\061\061\070\061\071\062\062\132\060
+\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022
+\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164
+\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147
+\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040
+\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151
+\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\254\260\130\301\000\275\330\041\010\013\053\232\376\156\126
+\060\005\237\033\167\220\020\101\134\303\015\207\021\167\216\201
+\361\312\174\351\214\152\355\070\164\065\273\332\337\371\273\300
+\011\067\264\226\163\201\175\063\032\230\071\367\223\157\225\177
+\075\271\261\165\207\272\121\110\350\213\160\076\225\004\305\330
+\266\303\026\331\210\260\261\207\035\160\332\206\264\017\024\213
+\172\317\020\321\164\066\242\022\173\167\206\112\171\346\173\337
+\002\021\150\245\116\206\256\064\130\233\044\023\170\126\042\045
+\036\001\213\113\121\161\373\202\314\131\226\151\210\132\150\123
+\305\271\015\002\067\313\113\274\146\112\220\176\052\013\005\007
+\355\026\137\125\220\165\330\106\311\033\203\342\010\276\361\043
+\314\231\035\326\052\017\203\040\025\130\047\202\056\372\342\042
+\302\111\261\271\001\201\152\235\155\235\100\167\150\166\116\041
+\052\155\204\100\205\116\166\231\174\202\363\363\267\002\131\324
+\046\001\033\216\337\255\123\006\321\256\030\335\342\262\072\313
+\327\210\070\216\254\133\051\271\031\323\230\371\030\003\317\110
+\202\206\146\013\033\151\017\311\353\070\210\172\046\032\005\114
+\222\327\044\324\226\362\254\122\055\243\107\325\122\366\077\376
+\316\204\006\160\246\252\076\242\362\266\126\064\030\127\242\344
+\201\155\347\312\360\152\323\307\221\153\002\203\101\174\025\357
+\153\232\144\136\343\320\074\345\261\353\173\135\206\373\313\346
+\167\111\315\243\145\334\367\271\234\270\344\013\137\223\317\314
+\060\032\062\034\316\034\143\225\245\371\352\341\164\213\236\351
+\053\251\060\173\240\030\037\016\030\013\345\133\251\323\321\154
+\036\007\147\217\221\113\251\212\274\322\146\252\223\001\210\262
+\221\372\061\134\325\246\301\122\010\011\315\012\143\242\323\042
+\246\350\241\331\071\006\227\365\156\215\002\220\214\024\173\077
+\200\315\033\234\272\304\130\162\043\257\266\126\237\306\172\102
+\063\051\007\077\202\311\346\037\005\015\315\114\050\066\213\323
+\310\076\034\306\210\357\136\356\211\144\351\035\353\332\211\176
+\062\246\151\321\335\314\210\237\321\320\311\146\041\334\006\147
+\305\224\172\232\155\142\114\175\314\340\144\200\262\236\107\216
+\243\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\210\150\277\340\216\065\304\073\070\153
+\142\367\050\073\204\201\310\014\327\115\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\002\001\000\073\002
+\215\313\074\060\350\156\240\255\362\163\263\137\236\045\023\004
+\005\323\366\343\213\273\013\171\316\123\336\344\226\305\321\257
+\163\274\325\303\320\100\125\174\100\177\315\033\137\011\325\362
+\174\237\150\035\273\135\316\172\071\302\214\326\230\173\305\203
+\125\250\325\175\100\312\340\036\367\211\136\143\135\241\023\302
+\135\212\266\212\174\000\363\043\303\355\205\137\161\166\360\150
+\143\252\105\041\071\110\141\170\066\334\361\103\223\324\045\307
+\362\200\145\341\123\002\165\121\374\172\072\357\067\253\204\050
+\127\014\330\324\324\231\126\154\343\242\376\131\204\264\061\350
+\063\370\144\224\224\121\227\253\071\305\113\355\332\335\200\013
+\157\174\051\015\304\216\212\162\015\347\123\024\262\140\101\075
+\204\221\061\150\075\047\104\333\345\336\364\372\143\105\310\114
+\076\230\365\077\101\272\116\313\067\015\272\146\230\361\335\313
+\237\134\367\124\066\202\153\054\274\023\141\227\102\370\170\273
+\314\310\242\237\312\360\150\275\153\035\262\337\215\157\007\235
+\332\216\147\307\107\036\312\271\277\052\102\221\267\143\123\146
+\361\102\243\341\364\132\115\130\153\265\344\244\063\255\134\160
+\035\334\340\362\353\163\024\221\232\003\301\352\000\145\274\007
+\374\317\022\021\042\054\256\240\275\072\340\242\052\330\131\351
+\051\323\030\065\244\254\021\137\031\265\265\033\377\042\112\134
+\306\172\344\027\357\040\251\247\364\077\255\212\247\232\004\045
+\235\016\312\067\346\120\375\214\102\051\004\232\354\271\317\113
+\162\275\342\010\066\257\043\057\142\345\312\001\323\160\333\174
+\202\043\054\026\061\014\306\066\007\220\172\261\037\147\130\304
+\073\130\131\211\260\214\214\120\263\330\206\313\150\243\304\012
+\347\151\113\040\316\301\036\126\113\225\251\043\150\330\060\330
+\303\353\260\125\121\315\345\375\053\270\365\273\021\237\123\124
+\366\064\031\214\171\011\066\312\141\027\045\027\013\202\230\163
+\014\167\164\303\325\015\307\250\022\114\307\247\124\161\107\056
+\054\032\175\311\343\053\073\110\336\047\204\247\143\066\263\175
+\217\240\144\071\044\015\075\173\207\257\146\134\164\033\113\163
+\262\345\214\360\206\231\270\345\305\337\204\301\267\353
+END
+
+# Trust for Certificate "Explicitly Distrust DigiNotar Root CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\301\167\313\113\340\264\046\216\365\307\317\105\231\042\271\260
+\316\272\041\057
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\012\244\325\314\272\264\373\243\131\343\346\001\335\123\331\116
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
+\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
+\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
+\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
+\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377
+\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrust DigiNotar Services 1024 CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Services 1024 CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\043\060\041\006\003\125\004\003\023\032\104\151
+\147\151\116\157\164\141\162\040\123\145\162\166\151\143\145\163
+\040\061\060\062\064\040\103\101\061\040\060\036\006\011\052\206
+\110\206\367\015\001\011\001\026\021\151\156\146\157\100\144\151
+\147\151\156\157\164\141\162\056\156\154
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\043\060\041\006\003\125\004\003\023\032\104\151
+\147\151\116\157\164\141\162\040\123\145\162\166\151\143\145\163
+\040\061\060\062\064\040\103\101\061\040\060\036\006\011\052\206
+\110\206\367\015\001\011\001\026\021\151\156\146\157\100\144\151
+\147\151\156\157\164\141\162\056\156\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\161\060\202\002\332\240\003\002\001\002\002\004\017
+\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\150\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\022\060\020\006\003\125\004\012\023\011\104\151\147\151
+\116\157\164\141\162\061\043\060\041\006\003\125\004\003\023\032
+\104\151\147\151\116\157\164\141\162\040\123\145\162\166\151\143
+\145\163\040\061\060\062\064\040\103\101\061\040\060\036\006\011
+\052\206\110\206\367\015\001\011\001\026\021\151\156\146\157\100
+\144\151\147\151\156\157\164\141\162\056\156\154\060\036\027\015
+\060\067\060\067\062\066\061\065\065\071\060\061\132\027\015\061
+\063\060\070\062\066\061\066\062\071\060\061\132\060\150\061\013
+\060\011\006\003\125\004\006\023\002\116\114\061\022\060\020\006
+\003\125\004\012\023\011\104\151\147\151\116\157\164\141\162\061
+\043\060\041\006\003\125\004\003\023\032\104\151\147\151\116\157
+\164\141\162\040\123\145\162\166\151\143\145\163\040\061\060\062
+\064\040\103\101\061\040\060\036\006\011\052\206\110\206\367\015
+\001\011\001\026\021\151\156\146\157\100\144\151\147\151\156\157
+\164\141\162\056\156\154\060\201\237\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002
+\201\201\000\332\233\115\135\074\371\321\342\213\306\306\010\040
+\305\331\036\110\354\146\130\147\171\142\053\101\143\364\211\215
+\150\332\257\270\224\066\213\031\044\244\240\223\322\231\017\262
+\255\055\065\115\315\057\152\341\371\233\031\053\274\004\032\176
+\055\075\122\144\315\361\076\147\017\211\056\350\362\117\256\246
+\010\241\205\376\241\251\011\346\306\253\076\103\374\257\172\003
+\221\332\246\071\246\141\356\230\117\030\250\323\263\257\146\202
+\351\237\274\335\162\371\006\004\275\022\331\030\044\347\253\223
+\123\213\131\002\003\001\000\001\243\202\001\046\060\202\001\042
+\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001
+\377\002\001\000\060\047\006\003\125\035\045\004\040\060\036\006
+\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005
+\007\003\002\006\010\053\006\001\005\005\007\003\004\060\021\006
+\003\125\035\040\004\012\060\010\060\006\006\004\125\035\040\000
+\060\063\006\010\053\006\001\005\005\007\001\001\004\047\060\045
+\060\043\006\010\053\006\001\005\005\007\060\001\206\027\150\164
+\164\160\072\057\057\157\143\163\160\056\145\156\164\162\165\163
+\164\056\156\145\164\060\063\006\003\125\035\037\004\054\060\052
+\060\050\240\046\240\044\206\042\150\164\164\160\072\057\057\143
+\162\154\056\145\156\164\162\165\163\164\056\156\145\164\057\163
+\145\162\166\145\162\061\056\143\162\154\060\035\006\003\125\035
+\016\004\026\004\024\376\334\224\111\014\157\357\134\177\306\361
+\022\231\117\026\111\255\373\202\145\060\013\006\003\125\035\017
+\004\004\003\002\001\006\060\037\006\003\125\035\043\004\030\060
+\026\200\024\360\027\142\023\125\075\263\377\012\000\153\373\120
+\204\227\363\355\142\320\032\060\031\006\011\052\206\110\206\366
+\175\007\101\000\004\014\060\012\033\004\126\067\056\061\003\002
+\000\201\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\201\201\000\143\164\152\067\251\077\226\234\146\310\130
+\254\011\311\357\365\145\224\177\243\002\304\070\061\275\135\043
+\207\354\324\126\262\311\262\156\344\005\006\374\354\365\372\210
+\160\131\324\356\346\335\265\172\240\243\140\057\002\014\253\336
+\022\135\257\360\065\113\252\212\107\221\032\365\205\054\102\307
+\035\357\225\103\263\136\270\225\223\245\332\305\050\252\255\162
+\055\061\255\231\153\154\377\214\041\047\257\255\232\221\053\307
+\335\130\303\156\007\305\237\171\322\307\214\125\277\114\307\047
+\136\121\026\053\076
+END
+
+# Trust for Certificate "Explicitly Distrust DigiNotar Services 1024 CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Services 1024 CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\022\073\352\312\146\147\167\141\340\353\150\362\376\355\242\017
+\040\005\125\160
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\057\026\150\227\114\150\117\316\122\212\354\123\217\223\111\370
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\150\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\043\060\041\006\003\125\004\003\023\032\104\151
+\147\151\116\157\164\141\162\040\123\145\162\166\151\143\145\163
+\040\061\060\062\064\040\103\101\061\040\060\036\006\011\052\206
+\110\206\367\015\001\011\001\026\021\151\156\146\157\100\144\151
+\147\151\156\157\164\141\162\056\156\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrust DigiNotar Cyber CA"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Cyber CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\140\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151
+\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101
+\061\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026
+\021\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056
+\156\154
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\140\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151
+\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101
+\061\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026
+\021\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056
+\156\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\105\060\202\004\256\240\003\002\001\002\002\004\017
+\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\140\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\022\060\020\006\003\125\004\012\023\011\104\151\147\151
+\116\157\164\141\162\061\033\060\031\006\003\125\004\003\023\022
+\104\151\147\151\116\157\164\141\162\040\103\171\142\145\162\040
+\103\101\061\040\060\036\006\011\052\206\110\206\367\015\001\011
+\001\026\021\151\156\146\157\100\144\151\147\151\156\157\164\141
+\162\056\156\154\060\036\027\015\060\066\061\060\060\064\061\060
+\065\064\061\062\132\027\015\061\061\061\060\060\064\061\060\065
+\063\061\062\132\060\140\061\013\060\011\006\003\125\004\006\023
+\002\116\114\061\022\060\020\006\003\125\004\012\023\011\104\151
+\147\151\116\157\164\141\162\061\033\060\031\006\003\125\004\003
+\023\022\104\151\147\151\116\157\164\141\162\040\103\171\142\145
+\162\040\103\101\061\040\060\036\006\011\052\206\110\206\367\015
+\001\011\001\026\021\151\156\146\157\100\144\151\147\151\156\157
+\164\141\162\056\156\154\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\322\316\025\012\055\250\136\204\147
+\255\375\276\357\106\307\310\271\317\163\374\364\064\271\371\054
+\103\347\140\023\075\172\343\262\317\073\147\154\220\255\300\271
+\077\204\122\360\065\102\334\164\334\050\073\275\122\264\247\254
+\162\105\027\306\360\211\353\264\252\045\362\135\113\136\321\331
+\207\272\326\175\174\365\316\062\237\020\063\305\261\112\273\136
+\221\061\302\320\351\101\302\221\144\176\011\101\073\333\213\010
+\067\152\252\312\122\336\265\071\036\300\210\003\245\077\213\231
+\023\141\103\265\233\202\263\356\040\157\317\241\104\242\352\057
+\153\100\237\217\053\127\255\241\123\302\205\042\151\235\240\077
+\121\337\013\101\221\015\245\341\250\252\134\111\010\135\275\336
+\160\101\261\017\311\143\153\323\177\064\164\002\057\064\132\170
+\165\034\150\172\201\147\212\363\332\100\360\140\143\364\222\040
+\327\003\246\075\243\036\147\304\204\033\101\245\311\214\346\275
+\352\110\266\005\026\010\263\067\022\132\367\141\074\367\070\157
+\056\227\340\157\126\070\124\323\050\265\255\024\156\056\113\144
+\265\047\145\267\165\045\011\266\007\075\225\126\002\012\202\140
+\262\163\105\340\063\046\121\164\232\271\324\120\034\366\115\133
+\133\122\122\023\132\246\177\247\016\341\350\101\124\147\230\214
+\207\325\311\323\154\313\323\124\222\006\011\064\101\367\201\157
+\077\236\311\174\165\125\260\347\301\263\167\350\303\304\000\065
+\225\100\160\020\112\005\336\045\273\237\131\245\144\274\107\140
+\277\140\343\166\213\023\125\335\341\164\172\271\317\044\246\152
+\177\336\144\042\104\130\150\202\152\020\371\075\345\076\033\271
+\275\374\042\364\140\004\211\273\125\155\050\125\372\336\216\215
+\033\041\024\327\067\213\064\173\115\366\262\262\020\317\063\261
+\175\034\142\231\110\313\053\154\166\226\125\277\031\015\035\037
+\273\145\252\033\216\231\265\306\050\220\345\202\055\170\120\040
+\232\375\171\057\044\177\360\211\051\151\364\175\315\163\276\263
+\355\116\301\321\355\122\136\217\367\270\327\215\207\255\262\331
+\033\121\022\377\126\263\341\257\064\175\134\244\170\210\020\236
+\235\003\306\245\252\242\044\121\367\111\024\305\261\356\131\103
+\225\337\253\150\050\060\077\002\003\001\000\001\243\202\001\206
+\060\202\001\202\060\022\006\003\125\035\023\001\001\377\004\010
+\060\006\001\001\377\002\001\001\060\123\006\003\125\035\040\004
+\114\060\112\060\110\006\011\053\006\001\004\001\261\076\001\000
+\060\073\060\071\006\010\053\006\001\005\005\007\002\001\026\055
+\150\164\164\160\072\057\057\167\167\167\056\160\165\142\154\151
+\143\055\164\162\165\163\164\056\143\157\155\057\103\120\123\057
+\117\155\156\151\122\157\157\164\056\150\164\155\154\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\240
+\006\003\125\035\043\004\201\230\060\201\225\200\024\246\014\035
+\237\141\377\007\027\265\277\070\106\333\103\060\325\216\260\122
+\006\241\171\244\167\060\165\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\030\060\026\006\003\125\004\012\023\017\107
+\124\105\040\103\157\162\160\157\162\141\164\151\157\156\061\047
+\060\045\006\003\125\004\013\023\036\107\124\105\040\103\171\142
+\145\162\124\162\165\163\164\040\123\157\154\165\164\151\157\156
+\163\054\040\111\156\143\056\061\043\060\041\006\003\125\004\003
+\023\032\107\124\105\040\103\171\142\145\162\124\162\165\163\164
+\040\107\154\157\142\141\154\040\122\157\157\164\202\002\001\245
+\060\105\006\003\125\035\037\004\076\060\074\060\072\240\070\240
+\066\206\064\150\164\164\160\072\057\057\167\167\167\056\160\165
+\142\154\151\143\055\164\162\165\163\164\056\143\157\155\057\143
+\147\151\055\142\151\156\057\103\122\114\057\062\060\061\070\057
+\143\144\160\056\143\162\154\060\035\006\003\125\035\016\004\026
+\004\024\253\371\150\337\317\112\067\327\173\105\214\137\162\336
+\100\104\303\145\273\302\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\201\201\000\217\150\153\245\133\007\272
+\104\146\016\034\250\134\060\173\063\344\012\046\004\374\357\236
+\032\070\326\056\241\037\320\231\107\302\165\144\044\375\236\073
+\050\166\271\046\050\141\221\014\155\054\370\004\237\174\120\001
+\325\343\151\257\357\025\322\105\233\044\011\052\146\005\117\045
+\201\312\135\276\252\301\131\047\256\063\216\202\367\337\164\260
+\125\263\216\370\347\067\310\156\252\126\104\366\275\123\201\043
+\226\075\264\372\062\212\123\146\104\045\242\045\306\246\074\045
+\214\360\340\050\006\042\267\046\101
+END
+
+# Trust for Certificate "Explicitly Distrust DigiNotar Cyber CA"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Cyber CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\245\216\240\354\366\104\126\065\031\035\150\133\307\240\344\034
+\260\115\171\056
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\274\275\211\022\264\377\345\371\046\107\310\140\066\133\331\124
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\140\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151
+\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101
+\061\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026
+\021\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056
+\156\154
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrust DigiNotar Cyber CA 2nd"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Cyber CA 2nd"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\076\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151
+\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\076\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151
+\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\001\060\202\004\152\240\003\002\001\002\002\004\017
+\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\076\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\022\060\020\006\003\125\004\012\023\011\104\151\147\151
+\116\157\164\141\162\061\033\060\031\006\003\125\004\003\023\022
+\104\151\147\151\116\157\164\141\162\040\103\171\142\145\162\040
+\103\101\060\036\027\015\060\066\060\071\062\067\061\060\065\063
+\065\063\132\027\015\061\063\060\071\062\060\060\071\064\064\060
+\067\132\060\076\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\022\060\020\006\003\125\004\012\023\011\104\151\147\151
+\116\157\164\141\162\061\033\060\031\006\003\125\004\003\023\022
+\104\151\147\151\116\157\164\141\162\040\103\171\142\145\162\040
+\103\101\060\202\002\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
+\002\001\000\322\316\025\012\055\250\136\204\147\255\375\276\357
+\106\307\310\271\317\163\374\364\064\271\371\054\103\347\140\023
+\075\172\343\262\317\073\147\154\220\255\300\271\077\204\122\360
+\065\102\334\164\334\050\073\275\122\264\247\254\162\105\027\306
+\360\211\353\264\252\045\362\135\113\136\321\331\207\272\326\175
+\174\365\316\062\237\020\063\305\261\112\273\136\221\061\302\320
+\351\101\302\221\144\176\011\101\073\333\213\010\067\152\252\312
+\122\336\265\071\036\300\210\003\245\077\213\231\023\141\103\265
+\233\202\263\356\040\157\317\241\104\242\352\057\153\100\237\217
+\053\127\255\241\123\302\205\042\151\235\240\077\121\337\013\101
+\221\015\245\341\250\252\134\111\010\135\275\336\160\101\261\017
+\311\143\153\323\177\064\164\002\057\064\132\170\165\034\150\172
+\201\147\212\363\332\100\360\140\143\364\222\040\327\003\246\075
+\243\036\147\304\204\033\101\245\311\214\346\275\352\110\266\005
+\026\010\263\067\022\132\367\141\074\367\070\157\056\227\340\157
+\126\070\124\323\050\265\255\024\156\056\113\144\265\047\145\267
+\165\045\011\266\007\075\225\126\002\012\202\140\262\163\105\340
+\063\046\121\164\232\271\324\120\034\366\115\133\133\122\122\023
+\132\246\177\247\016\341\350\101\124\147\230\214\207\325\311\323
+\154\313\323\124\222\006\011\064\101\367\201\157\077\236\311\174
+\165\125\260\347\301\263\167\350\303\304\000\065\225\100\160\020
+\112\005\336\045\273\237\131\245\144\274\107\140\277\140\343\166
+\213\023\125\335\341\164\172\271\317\044\246\152\177\336\144\042
+\104\130\150\202\152\020\371\075\345\076\033\271\275\374\042\364
+\140\004\211\273\125\155\050\125\372\336\216\215\033\041\024\327
+\067\213\064\173\115\366\262\262\020\317\063\261\175\034\142\231
+\110\313\053\154\166\226\125\277\031\015\035\037\273\145\252\033
+\216\231\265\306\050\220\345\202\055\170\120\040\232\375\171\057
+\044\177\360\211\051\151\364\175\315\163\276\263\355\116\301\321
+\355\122\136\217\367\270\327\215\207\255\262\331\033\121\022\377
+\126\263\341\257\064\175\134\244\170\210\020\236\235\003\306\245
+\252\242\044\121\367\111\024\305\261\356\131\103\225\337\253\150
+\050\060\077\002\003\001\000\001\243\202\001\206\060\202\001\202
+\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001
+\377\002\001\001\060\123\006\003\125\035\040\004\114\060\112\060
+\110\006\011\053\006\001\004\001\261\076\001\000\060\073\060\071
+\006\010\053\006\001\005\005\007\002\001\026\055\150\164\164\160
+\072\057\057\167\167\167\056\160\165\142\154\151\143\055\164\162
+\165\163\164\056\143\157\155\057\103\120\123\057\117\155\156\151
+\122\157\157\164\056\150\164\155\154\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\006\060\201\240\006\003\125\035
+\043\004\201\230\060\201\225\200\024\246\014\035\237\141\377\007
+\027\265\277\070\106\333\103\060\325\216\260\122\006\241\171\244
+\167\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103
+\157\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003
+\125\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162
+\165\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111
+\156\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124
+\105\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157
+\142\141\154\040\122\157\157\164\202\002\001\245\060\105\006\003
+\125\035\037\004\076\060\074\060\072\240\070\240\066\206\064\150
+\164\164\160\072\057\057\167\167\167\056\160\165\142\154\151\143
+\055\164\162\165\163\164\056\143\157\155\057\143\147\151\055\142
+\151\156\057\103\122\114\057\062\060\061\070\057\143\144\160\056
+\143\162\154\060\035\006\003\125\035\016\004\026\004\024\253\371
+\150\337\317\112\067\327\173\105\214\137\162\336\100\104\303\145
+\273\302\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\003\201\201\000\011\312\142\017\215\273\112\340\324\172\065
+\053\006\055\321\050\141\266\254\001\373\203\111\274\256\324\057
+\055\206\256\031\203\245\326\035\023\342\027\276\376\062\164\351
+\172\024\070\312\224\136\367\051\001\151\161\033\221\032\375\243
+\273\252\035\312\173\342\026\375\241\243\016\363\014\137\262\341
+\040\061\224\053\136\222\166\355\372\351\265\043\246\277\012\073
+\003\251\157\122\140\124\315\137\351\267\057\174\242\047\375\101
+\203\165\266\015\373\170\046\363\261\105\351\062\225\052\032\065
+\041\225\305\242\165
+END
+
+# Trust for Certificate "Explicitly Distrust DigiNotar Cyber CA 2nd"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Cyber CA 2nd"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\210\036\105\005\017\230\331\131\373\012\065\371\114\016\050\227
+\125\026\051\263
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\360\256\251\075\362\054\210\334\174\205\033\226\175\132\034\021
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\076\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151
+\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrusted DigiNotar PKIoverheid"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\116\157
+\164\141\162\040\102\056\126\056\061\067\060\065\006\003\125\004
+\003\023\056\104\151\147\151\116\157\164\141\162\040\120\113\111
+\157\166\145\162\150\145\151\144\040\103\101\040\117\166\145\162
+\150\145\151\144\040\145\156\040\102\145\144\162\151\152\166\145
+\156
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\116\157
+\164\141\162\040\102\056\126\056\061\067\060\065\006\003\125\004
+\003\023\056\104\151\147\151\116\157\164\141\162\040\120\113\111
+\157\166\145\162\150\145\151\144\040\103\101\040\117\166\145\162
+\150\145\151\144\040\145\156\040\102\145\144\162\151\152\166\145
+\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\216\060\202\003\166\240\003\002\001\002\002\004\017
+\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\060\137\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\027\060\025\006\003\125\004\012\023\016\104\151\147\151
+\116\157\164\141\162\040\102\056\126\056\061\067\060\065\006\003
+\125\004\003\023\056\104\151\147\151\116\157\164\141\162\040\120
+\113\111\157\166\145\162\150\145\151\144\040\103\101\040\117\166
+\145\162\150\145\151\144\040\145\156\040\102\145\144\162\151\152
+\166\145\156\060\036\027\015\060\067\060\067\060\065\060\070\064
+\062\060\070\132\027\015\061\065\060\067\062\067\060\070\063\071
+\064\067\132\060\137\061\013\060\011\006\003\125\004\006\023\002
+\116\114\061\027\060\025\006\003\125\004\012\023\016\104\151\147
+\151\116\157\164\141\162\040\102\056\126\056\061\067\060\065\006
+\003\125\004\003\023\056\104\151\147\151\116\157\164\141\162\040
+\120\113\111\157\166\145\162\150\145\151\144\040\103\101\040\117
+\166\145\162\150\145\151\144\040\145\156\040\102\145\144\162\151
+\152\166\145\156\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\334\275\322\247\116\152\012\273\073\242\205
+\341\177\000\255\276\264\060\150\230\007\315\240\172\304\224\317
+\161\371\212\067\344\123\353\127\166\314\213\346\154\376\356\207
+\125\310\076\273\004\071\000\247\200\170\254\133\117\176\364\275
+\270\124\270\161\073\007\061\111\071\223\124\174\040\073\171\053
+\217\273\141\220\175\261\254\346\037\220\056\235\105\001\251\144
+\055\115\303\057\271\347\120\325\116\052\134\253\166\166\067\106
+\327\171\354\102\231\367\242\354\244\211\160\334\070\053\207\246
+\252\044\346\235\222\044\033\276\366\375\324\057\031\027\172\346
+\062\007\224\124\005\123\103\351\154\274\257\107\313\274\313\375
+\275\073\104\022\201\361\153\113\273\355\264\317\253\045\117\030
+\322\314\002\374\243\117\265\102\063\313\131\315\011\334\323\120
+\375\240\166\214\254\176\146\212\102\366\255\034\222\363\266\373
+\024\106\353\115\327\057\060\340\155\356\133\066\276\104\164\267
+\040\005\127\205\115\350\000\031\242\366\014\346\256\241\300\102
+\337\247\254\202\135\307\150\267\030\346\211\113\232\153\372\316
+\171\371\363\054\247\002\003\001\000\001\243\202\001\120\060\202
+\001\114\060\110\006\003\125\035\040\004\101\060\077\060\075\006
+\004\125\035\040\000\060\065\060\063\006\010\053\006\001\005\005
+\007\002\001\026\047\150\164\164\160\072\057\057\167\167\167\056
+\144\151\147\151\156\157\164\141\162\056\156\154\057\143\160\163
+\057\160\153\151\157\166\145\162\150\145\151\144\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\200
+\006\003\125\035\043\004\171\060\167\200\024\013\206\326\017\167
+\243\150\261\373\144\011\303\210\156\134\004\034\127\351\075\241
+\131\244\127\060\125\061\013\060\011\006\003\125\004\006\023\002
+\116\114\061\036\060\034\006\003\125\004\012\023\025\123\164\141
+\141\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144
+\145\156\061\046\060\044\006\003\125\004\003\023\035\123\164\141
+\141\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144
+\145\156\040\122\157\157\164\040\103\101\202\004\000\230\232\171
+\060\075\006\003\125\035\037\004\066\060\064\060\062\240\060\240
+\056\206\054\150\164\164\160\072\057\057\143\162\154\056\160\153
+\151\157\166\145\162\150\145\151\144\056\156\154\057\104\157\155
+\117\166\114\141\164\145\163\164\103\122\114\056\143\162\154\060
+\035\006\003\125\035\016\004\026\004\024\114\010\311\215\166\361
+\230\307\076\337\074\327\057\165\015\261\166\171\227\314\060\015
+\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001
+\001\000\014\224\207\032\277\115\343\205\342\356\327\330\143\171
+\016\120\337\306\204\133\322\273\331\365\061\012\032\065\227\164
+\337\024\372\052\017\076\355\240\343\010\366\325\116\133\257\246
+\256\045\342\105\153\042\017\267\124\050\176\222\336\215\024\154
+\321\034\345\156\164\004\234\267\357\064\104\105\337\311\203\035
+\031\037\300\051\151\337\211\325\077\302\260\123\155\345\116\027
+\344\163\141\043\023\046\161\103\375\114\131\313\303\337\042\252
+\041\053\331\277\225\021\032\212\244\342\253\247\135\113\157\051
+\365\122\321\344\322\025\261\213\376\360\003\317\247\175\351\231
+\207\070\263\015\163\024\344\162\054\341\316\365\255\006\110\144
+\372\323\051\271\242\330\273\364\325\013\245\100\104\103\216\240
+\277\316\132\245\122\114\144\323\027\061\141\314\350\244\212\350
+\344\210\373\351\345\057\006\063\063\233\224\146\146\261\253\120
+\072\241\011\201\164\123\132\047\271\246\322\045\317\323\303\247
+\377\226\320\057\352\340\036\215\122\351\030\034\040\012\107\240
+\226\126\016\100\220\121\104\254\032\375\361\356\205\037\367\102
+\132\145
+END
+
+# Trust for Certificate "Explicitly Distrusted DigiNotar PKIoverheid"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\247\250\311\254\364\137\220\222\166\206\270\300\242\016\223\130
+\175\336\060\344
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\243\317\263\377\371\117\247\261\353\072\165\130\116\056\237\352
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\116\157
+\164\141\162\040\102\056\126\056\061\067\060\065\006\003\125\004
+\003\023\056\104\151\147\151\116\157\164\141\162\040\120\113\111
+\157\166\145\162\150\145\151\144\040\103\101\040\117\166\145\162
+\150\145\151\144\040\145\156\040\102\145\144\162\151\152\166\145
+\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157
+\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004
+\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111
+\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141
+\156\151\163\141\164\151\145\040\055\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157
+\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004
+\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111
+\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141
+\156\151\163\141\164\151\145\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\225\060\202\004\175\240\003\002\001\002\002\004\017
+\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\027\060\025\006\003\125\004\012\014\016\104\151\147\151
+\116\157\164\141\162\040\102\056\126\056\061\062\060\060\006\003
+\125\004\003\014\051\104\151\147\151\116\157\164\141\162\040\120
+\113\111\157\166\145\162\150\145\151\144\040\103\101\040\117\162
+\147\141\156\151\163\141\164\151\145\040\055\040\107\062\060\036
+\027\015\061\060\060\065\061\062\060\070\065\061\063\071\132\027
+\015\062\060\060\063\062\063\060\071\065\060\060\065\132\060\132
+\061\013\060\011\006\003\125\004\006\023\002\116\114\061\027\060
+\025\006\003\125\004\012\014\016\104\151\147\151\116\157\164\141
+\162\040\102\056\126\056\061\062\060\060\006\003\125\004\003\014
+\051\104\151\147\151\116\157\164\141\162\040\120\113\111\157\166
+\145\162\150\145\151\144\040\103\101\040\117\162\147\141\156\151
+\163\141\164\151\145\040\055\040\107\062\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\261\023\031\017\047
+\346\154\324\125\206\113\320\354\211\212\105\221\170\254\107\275
+\107\053\344\374\105\353\117\264\046\163\133\067\323\303\177\366
+\343\336\327\243\370\055\150\305\010\076\113\224\326\344\207\045
+\066\153\204\265\030\164\363\050\130\163\057\233\152\317\274\004
+\036\366\336\335\257\374\113\252\365\333\146\142\045\001\045\202
+\336\362\227\132\020\156\335\135\251\042\261\004\251\043\163\072
+\370\161\255\035\317\204\104\353\107\321\257\155\310\174\050\253
+\307\362\067\172\164\137\137\305\002\024\212\243\132\343\033\154
+\001\343\135\216\331\150\326\364\011\033\062\334\221\265\054\365
+\040\353\214\003\155\046\111\270\223\304\205\135\330\322\233\257
+\126\152\314\005\063\314\240\102\236\064\125\104\234\153\240\324
+\022\320\053\124\315\267\211\015\345\366\353\350\373\205\001\063
+\117\172\153\361\235\162\063\226\016\367\262\204\245\245\047\304
+\047\361\121\163\051\167\272\147\156\376\114\334\264\342\241\241
+\201\057\071\111\215\103\070\023\316\320\245\134\302\207\072\000
+\147\145\102\043\361\066\131\012\035\243\121\310\274\243\224\052
+\061\337\343\074\362\235\032\074\004\260\357\261\012\060\023\163
+\266\327\363\243\114\001\165\024\205\170\300\327\212\071\130\205
+\120\372\056\346\305\276\317\213\077\257\217\066\324\045\011\055
+\322\017\254\162\223\362\277\213\324\120\263\371\025\120\233\231
+\365\024\331\373\213\221\243\062\046\046\240\370\337\073\140\201
+\206\203\171\133\053\353\023\075\051\072\301\155\335\275\236\216
+\207\326\112\256\064\227\005\356\024\246\366\334\070\176\112\351
+\044\124\007\075\227\150\067\106\153\015\307\250\041\257\023\124
+\344\011\152\361\115\106\012\311\135\373\233\117\275\336\373\267
+\124\313\270\070\234\247\071\373\152\055\300\173\215\253\245\247
+\127\354\112\222\212\063\305\341\040\134\163\330\220\222\053\200
+\325\017\206\030\151\174\071\117\204\206\274\367\114\133\363\325
+\264\312\240\302\360\067\042\312\171\122\037\123\346\252\363\220
+\260\073\335\362\050\375\254\353\305\006\044\240\311\324\057\017
+\130\375\265\236\354\017\317\262\131\320\242\004\172\070\152\256
+\162\373\275\360\045\142\224\011\247\005\013\002\003\001\000\001
+\243\202\001\141\060\202\001\135\060\110\006\003\125\035\040\004
+\101\060\077\060\075\006\004\125\035\040\000\060\065\060\063\006
+\010\053\006\001\005\005\007\002\001\026\047\150\164\164\160\072
+\057\057\167\167\167\056\144\151\147\151\156\157\164\141\162\056
+\156\154\057\143\160\163\057\160\153\151\157\166\145\162\150\145
+\151\144\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\201\205\006\003\125\035\043\004\176\060\174\200
+\024\071\020\213\111\222\134\333\141\022\040\315\111\235\032\216
+\332\234\147\100\271\241\136\244\134\060\132\061\013\060\011\006
+\003\125\004\006\023\002\116\114\061\036\060\034\006\003\125\004
+\012\014\025\123\164\141\141\164\040\144\145\162\040\116\145\144
+\145\162\154\141\156\144\145\156\061\053\060\051\006\003\125\004
+\003\014\042\123\164\141\141\164\040\144\145\162\040\116\145\144
+\145\162\154\141\156\144\145\156\040\122\157\157\164\040\103\101
+\040\055\040\107\062\202\004\000\230\226\364\060\111\006\003\125
+\035\037\004\102\060\100\060\076\240\074\240\072\206\070\150\164
+\164\160\072\057\057\143\162\154\056\160\153\151\157\166\145\162
+\150\145\151\144\056\156\154\057\104\157\155\117\162\147\141\156
+\151\163\141\164\151\145\114\141\164\145\163\164\103\122\114\055
+\107\062\056\143\162\154\060\035\006\003\125\035\016\004\026\004
+\024\274\135\224\073\331\253\173\003\045\163\141\302\333\055\356
+\374\253\217\145\241\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\003\202\002\001\000\217\374\055\114\267\331\055
+\325\037\275\357\313\364\267\150\027\165\235\116\325\367\335\234
+\361\052\046\355\237\242\266\034\003\325\123\263\354\010\317\064
+\342\343\303\364\265\026\057\310\303\276\327\323\163\253\000\066
+\371\032\112\176\326\143\351\136\106\272\245\266\216\025\267\243
+\052\330\103\035\357\135\310\037\201\205\263\213\367\377\074\364
+\331\364\106\010\077\234\274\035\240\331\250\114\315\045\122\116
+\012\261\040\367\037\351\103\331\124\106\201\023\232\300\136\164
+\154\052\230\062\352\374\167\273\015\245\242\061\230\042\176\174
+\174\347\332\244\255\354\267\056\032\031\161\370\110\120\332\103
+\217\054\204\335\301\100\047\343\265\360\025\116\226\324\370\134
+\343\206\051\106\053\327\073\007\353\070\177\310\206\127\227\323
+\357\052\063\304\027\120\325\144\151\153\053\153\105\136\135\057
+\027\312\132\116\317\303\327\071\074\365\073\237\106\271\233\347
+\016\111\227\235\326\325\343\033\017\352\217\001\116\232\023\224
+\131\012\002\007\110\113\032\140\253\177\117\355\013\330\125\015
+\150\157\125\234\151\145\025\102\354\300\334\335\154\254\303\026
+\316\013\035\126\233\244\304\304\322\056\340\017\342\104\047\053
+\120\151\244\334\142\350\212\041\051\102\154\314\000\072\226\166
+\233\357\100\300\244\136\167\204\062\154\046\052\071\146\256\135
+\343\271\271\262\054\150\037\036\232\220\003\071\360\252\263\244
+\314\111\213\030\064\351\067\311\173\051\307\204\174\157\104\025
+\057\354\141\131\004\311\105\313\242\326\122\242\174\177\051\222
+\326\112\305\213\102\250\324\376\352\330\307\207\043\030\344\235
+\172\175\163\100\122\230\240\256\156\343\005\077\005\017\340\245
+\306\155\115\355\203\067\210\234\307\363\334\102\232\152\266\327
+\041\111\066\167\362\357\030\117\305\160\331\236\351\336\267\053
+\213\364\274\176\050\337\015\100\311\205\134\256\235\305\061\377
+\320\134\016\265\250\176\360\351\057\272\257\210\256\345\265\321
+\130\245\257\234\161\247\051\001\220\203\151\067\202\005\272\374
+\011\301\010\156\214\170\073\303\063\002\200\077\104\205\010\035
+\337\125\126\010\255\054\205\055\135\261\003\341\256\252\164\305
+\244\363\116\272\067\230\173\202\271
+END
+
+# Trust for Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\325\362\127\251\277\055\320\077\213\106\127\371\053\311\244\306
+\222\341\102\102
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\056\141\242\321\170\316\356\277\131\063\260\043\024\017\224\034
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157
+\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004
+\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111
+\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141
+\156\151\163\141\164\151\145\040\055\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\017\377\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\143\061\013\060\011\006\003\125\004\006\023\002\115\131\061
+\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145
+\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017
+\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061
+\044\060\042\006\003\125\004\003\023\033\104\151\147\151\163\151
+\147\156\040\123\145\162\166\145\162\040\111\104\040\050\105\156
+\162\151\143\150\051
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157
+\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125
+\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165
+\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156
+\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105
+\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142
+\141\154\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\007\377\377\377\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\315\060\202\003\066\240\003\002\001\002\002\006\007
+\377\377\377\377\377\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\060\165\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\030\060\026\006\003\125\004\012\023\017\107\124
+\105\040\103\157\162\160\157\162\141\164\151\157\156\061\047\060
+\045\006\003\125\004\013\023\036\107\124\105\040\103\171\142\145
+\162\124\162\165\163\164\040\123\157\154\165\164\151\157\156\163
+\054\040\111\156\143\056\061\043\060\041\006\003\125\004\003\023
+\032\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040
+\107\154\157\142\141\154\040\122\157\157\164\060\036\027\015\060
+\067\060\067\061\067\061\065\061\067\064\071\132\027\015\061\062
+\060\067\061\067\061\065\061\066\065\065\132\060\143\061\013\060
+\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003
+\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144
+\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013
+\023\010\064\065\067\066\060\070\055\113\061\044\060\042\006\003
+\125\004\003\023\033\104\151\147\151\163\151\147\156\040\123\145
+\162\166\145\162\040\111\104\040\050\105\156\162\151\143\150\051
+\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\201\215\000\060\201\211\002\201\201\000\255\250\144
+\113\115\207\307\204\131\271\373\220\106\240\246\211\300\361\376
+\325\332\124\202\067\015\231\053\105\046\012\350\126\260\177\312
+\250\364\216\107\204\001\202\051\343\263\152\265\221\363\373\225
+\205\274\162\250\144\350\012\100\234\305\364\161\256\173\173\152
+\007\352\220\024\117\215\211\257\224\253\262\006\324\002\152\173
+\230\037\131\271\072\315\124\372\040\337\262\052\012\351\270\335
+\151\220\300\051\323\116\320\227\355\146\314\305\031\111\006\177
+\372\136\054\174\173\205\033\062\102\337\173\225\045\002\003\001
+\000\001\243\202\001\170\060\202\001\164\060\022\006\003\125\035
+\023\001\001\377\004\010\060\006\001\001\377\002\001\000\060\134
+\006\003\125\035\040\004\125\060\123\060\110\006\011\053\006\001
+\004\001\261\076\001\000\060\073\060\071\006\010\053\006\001\005
+\005\007\002\001\026\055\150\164\164\160\072\057\057\143\171\142
+\145\162\164\162\165\163\164\056\157\155\156\151\162\157\157\164
+\056\143\157\155\057\162\145\160\157\163\151\164\157\162\171\056
+\143\146\155\060\007\006\005\140\203\112\001\001\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\346\060\201\211\006
+\003\125\035\043\004\201\201\060\177\241\171\244\167\060\165\061
+\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060\026
+\006\003\125\004\012\023\017\107\124\105\040\103\157\162\160\157
+\162\141\164\151\157\156\061\047\060\045\006\003\125\004\013\023
+\036\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040
+\123\157\154\165\164\151\157\156\163\054\040\111\156\143\056\061
+\043\060\041\006\003\125\004\003\023\032\107\124\105\040\103\171
+\142\145\162\124\162\165\163\164\040\107\154\157\142\141\154\040
+\122\157\157\164\202\002\001\245\060\105\006\003\125\035\037\004
+\076\060\074\060\072\240\070\240\066\206\064\150\164\164\160\072
+\057\057\167\167\167\056\160\165\142\154\151\143\055\164\162\165
+\163\164\056\143\157\155\057\143\147\151\055\142\151\156\057\103
+\122\114\057\062\060\061\070\057\143\144\160\056\143\162\154\060
+\035\006\003\125\035\016\004\026\004\024\306\026\223\116\026\027
+\354\026\256\214\224\166\363\206\155\305\164\156\204\167\060\015
+\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201
+\000\166\000\173\246\170\053\146\035\216\136\066\306\244\216\005
+\362\043\222\174\223\147\323\364\300\012\175\213\055\331\352\325
+\157\032\363\341\112\051\132\042\204\115\120\057\113\014\362\377
+\205\302\173\125\324\104\202\276\155\254\147\216\274\264\037\222
+\234\121\200\032\024\366\156\253\141\210\013\255\034\177\367\113
+\120\121\326\145\033\246\107\161\025\136\260\161\363\065\024\362
+\067\275\143\310\325\360\223\132\064\137\330\075\350\135\367\305
+\036\300\345\317\037\206\044\251\074\007\146\315\301\322\066\143
+\131
+END
+
+# Trust for Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\125\120\257\354\277\350\303\255\304\013\343\255\014\247\344\025
+\214\071\131\117
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\322\336\256\120\244\230\055\157\067\267\206\122\310\055\113\152
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157
+\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125
+\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165
+\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156
+\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105
+\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142
+\141\154\040\122\157\157\164
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\007\377\377\377\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\115\131\061
+\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145
+\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017
+\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061
+\046\060\044\006\003\125\004\003\023\035\104\151\147\151\163\151
+\147\156\040\123\145\162\166\145\162\040\111\104\040\055\040\050
+\105\156\162\151\143\150\051
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156
+\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125
+\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056
+\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143
+\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
+\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
+\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
+\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
+\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164
+\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\050\062\060\064\070\051
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\007\377\377\377\377\377
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\320\060\202\003\270\240\003\002\001\002\002\006\007
+\377\377\377\377\377\060\015\006\011\052\206\110\206\367\015\001
+\001\005\005\000\060\201\264\061\024\060\022\006\003\125\004\012
+\023\013\105\156\164\162\165\163\164\056\156\145\164\061\100\060
+\076\006\003\125\004\013\024\067\167\167\167\056\145\156\164\162
+\165\163\164\056\156\145\164\057\103\120\123\137\062\060\064\070
+\040\151\156\143\157\162\160\056\040\142\171\040\162\145\146\056
+\040\050\154\151\155\151\164\163\040\154\151\141\142\056\051\061
+\045\060\043\006\003\125\004\013\023\034\050\143\051\040\061\071
+\071\071\040\105\156\164\162\165\163\164\056\156\145\164\040\114
+\151\155\151\164\145\144\061\063\060\061\006\003\125\004\003\023
+\052\105\156\164\162\165\163\164\056\156\145\164\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\040\050\062\060\064\070\051\060\036\027\015\061
+\060\060\067\061\066\061\067\062\063\063\070\132\027\015\061\065
+\060\067\061\066\061\067\065\063\063\070\132\060\145\061\013\060
+\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003
+\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144
+\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013
+\023\010\064\065\067\066\060\070\055\113\061\046\060\044\006\003
+\125\004\003\023\035\104\151\147\151\163\151\147\156\040\123\145
+\162\166\145\162\040\111\104\040\055\040\050\105\156\162\151\143
+\150\051\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\305\211\344\364\015\006\100\222\131\307\032\263\065
+\321\016\114\052\063\371\370\257\312\236\177\356\271\247\155\140
+\364\124\350\157\325\233\363\033\143\061\004\150\162\321\064\026
+\214\264\027\054\227\336\163\305\330\220\025\240\032\053\365\313
+\263\110\206\104\360\035\210\114\316\101\102\032\357\365\014\336
+\376\100\332\071\040\367\006\125\072\152\235\106\301\322\157\245
+\262\310\127\076\051\243\234\340\351\205\167\146\350\230\247\044
+\176\276\300\131\040\345\104\157\266\127\330\276\316\302\145\167
+\130\306\141\101\321\164\004\310\177\111\102\305\162\251\162\026
+\356\214\335\022\135\264\112\324\321\257\120\267\330\252\165\166
+\150\255\076\135\252\060\155\141\250\253\020\133\076\023\277\063
+\340\257\104\235\070\042\133\357\114\057\246\161\046\025\046\312
+\050\214\331\372\216\216\251\242\024\065\342\233\044\210\264\364
+\177\205\235\203\117\007\241\266\024\220\066\304\064\034\215\046
+\141\155\023\157\170\276\350\217\047\307\113\204\226\243\206\150
+\014\043\276\013\354\214\224\000\251\004\212\023\220\367\337\205
+\154\014\261\002\003\001\000\001\243\202\001\064\060\202\001\060
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001
+\377\002\001\000\060\047\006\003\125\035\045\004\040\060\036\006
+\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005
+\007\003\002\006\010\053\006\001\005\005\007\003\004\060\063\006
+\010\053\006\001\005\005\007\001\001\004\047\060\045\060\043\006
+\010\053\006\001\005\005\007\060\001\206\027\150\164\164\160\072
+\057\057\157\143\163\160\056\145\156\164\162\165\163\164\056\156
+\145\164\060\104\006\003\125\035\040\004\075\060\073\060\071\006
+\005\140\203\112\001\001\060\060\060\056\006\010\053\006\001\005
+\005\007\002\001\026\042\150\164\164\160\072\057\057\167\167\167
+\056\144\151\147\151\143\145\162\164\056\143\157\155\056\155\171
+\057\143\160\163\056\150\164\155\060\062\006\003\125\035\037\004
+\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160\072
+\057\057\143\162\154\056\145\156\164\162\165\163\164\056\156\145
+\164\057\062\060\064\070\143\141\056\143\162\154\060\021\006\003
+\125\035\016\004\012\004\010\114\116\314\045\050\003\051\201\060
+\037\006\003\125\035\043\004\030\060\026\200\024\125\344\201\321
+\021\200\276\330\211\271\010\243\061\371\241\044\011\026\271\160
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
+\202\001\001\000\227\114\357\112\072\111\254\162\374\060\040\153
+\264\051\133\247\305\225\004\220\371\062\325\302\205\152\336\003
+\241\067\371\211\000\260\132\254\125\176\333\103\065\377\311\001
+\370\121\276\314\046\312\310\152\244\304\124\076\046\036\347\014
+\243\315\227\147\224\335\246\102\353\134\315\217\071\171\153\063
+\171\041\006\171\372\202\104\025\231\314\301\267\071\323\106\142
+\174\262\160\353\157\316\040\252\076\031\267\351\164\202\234\264
+\245\113\115\141\000\067\344\207\322\362\024\072\144\174\270\251
+\173\141\340\223\042\347\325\237\076\107\346\066\166\240\123\330
+\000\003\072\017\265\063\376\226\312\323\322\202\072\056\335\327
+\110\341\344\247\151\314\034\351\231\112\347\312\160\105\327\013
+\007\016\232\165\033\320\057\222\157\366\244\007\303\275\034\113
+\246\204\266\175\250\232\251\322\247\051\361\013\127\151\036\227
+\127\046\354\053\103\254\324\105\203\005\000\351\343\360\106\100
+\007\372\352\261\121\163\223\034\245\335\123\021\067\310\052\247
+\025\047\035\264\252\314\177\252\061\060\374\270\105\237\110\011
+\355\020\342\305
+END
+
+# Trust for Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\153\074\073\200\255\312\246\272\212\237\124\246\172\355\022\151
+\005\155\061\046
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\327\151\141\177\065\017\234\106\243\252\353\370\125\374\204\362
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156
+\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125
+\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056
+\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143
+\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
+\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
+\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
+\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
+\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164
+\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\050\062\060\064\070\051
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\006\007\377\377\377\377\377
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+
+#
+# Certificate "Security Communication RootCA2"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Security Communication RootCA2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\167\060\202\002\137\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045
+\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124
+\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056
+\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036
+\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151
+\143\141\164\151\157\156\040\122\157\157\164\103\101\062\060\036
+\027\015\060\071\060\065\062\071\060\065\060\060\063\071\132\027
+\015\062\071\060\065\062\071\060\065\060\060\063\071\132\060\135
+\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045\060
+\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124\162
+\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056\054
+\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036\123
+\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151\143
+\141\164\151\157\156\040\122\157\157\164\103\101\062\060\202\001
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\001\017\000\060\202\001\012\002\202\001\001\000\320\025
+\071\122\261\122\263\272\305\131\202\304\135\122\256\072\103\145
+\200\113\307\362\226\274\333\066\227\326\246\144\214\250\136\360
+\343\012\034\367\337\227\075\113\256\366\135\354\041\265\101\253
+\315\271\176\166\237\276\371\076\066\064\240\073\301\366\061\021
+\105\164\223\075\127\200\305\371\211\231\312\345\253\152\324\265
+\332\101\220\020\301\326\326\102\211\302\277\364\070\022\225\114
+\124\005\367\066\344\105\203\173\024\145\326\334\014\115\321\336
+\176\014\253\073\304\025\276\072\126\246\132\157\166\151\122\251
+\172\271\310\353\152\232\135\122\320\055\012\153\065\026\011\020
+\204\320\152\312\072\006\000\067\107\344\176\127\117\077\213\353
+\147\270\210\252\305\276\123\125\262\221\304\175\271\260\205\031
+\006\170\056\333\141\032\372\205\365\112\221\241\347\026\325\216
+\242\071\337\224\270\160\037\050\077\213\374\100\136\143\203\074
+\203\052\032\231\153\317\336\131\152\073\374\157\026\327\037\375
+\112\020\353\116\202\026\072\254\047\014\123\361\255\325\044\260
+\153\003\120\301\055\074\026\335\104\064\047\032\165\373\002\003
+\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026
+\004\024\012\205\251\167\145\005\230\174\100\201\370\017\227\054
+\070\361\012\354\074\317\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\003\202\001\001\000\114\072\243\104\254
+\271\105\261\307\223\176\310\013\012\102\337\144\352\034\356\131
+\154\010\272\211\137\152\312\112\225\236\172\217\007\305\332\105
+\162\202\161\016\072\322\314\157\247\264\241\043\273\366\044\237
+\313\027\376\214\246\316\302\322\333\314\215\374\161\374\003\051
+\301\154\135\063\137\144\266\145\073\211\157\030\166\170\365\334
+\242\110\037\031\077\216\223\353\361\372\027\356\315\116\343\004
+\022\125\326\345\344\335\373\076\005\174\342\035\136\306\247\274
+\227\117\150\072\365\351\056\012\103\266\257\127\134\142\150\174
+\267\375\243\212\204\240\254\142\276\053\011\207\064\360\152\001
+\273\233\051\126\074\376\000\067\317\043\154\361\116\252\266\164
+\106\022\154\221\356\064\325\354\232\221\347\104\276\220\061\162
+\325\111\002\366\002\345\364\037\353\174\331\226\125\251\377\354
+\212\371\231\107\377\065\132\002\252\004\313\212\133\207\161\051
+\221\275\244\264\172\015\275\232\365\127\043\000\007\041\027\077
+\112\071\321\005\111\013\247\266\067\201\245\135\214\252\063\136
+\201\050\174\247\175\047\353\000\256\215\067
+END
+
+# Trust for Certificate "Security Communication RootCA2"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Security Communication RootCA2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\137\073\214\362\370\020\263\175\170\264\316\354\031\031\303\163
+\064\271\307\164
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\154\071\175\244\016\125\131\262\077\326\101\261\022\120\336\103
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "EC-ACC"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "EC-ACC"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123
+\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143
+\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103
+\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106
+\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060
+\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040
+\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151
+\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013
+\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057
+\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057
+\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065
+\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165
+\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103
+\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141
+\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006
+\105\103\055\101\103\103
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123
+\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143
+\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103
+\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106
+\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060
+\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040
+\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151
+\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013
+\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057
+\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057
+\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065
+\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165
+\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103
+\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141
+\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006
+\105\103\055\101\103\103
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335
+\304\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\126\060\202\004\076\240\003\002\001\002\002\020\356
+\053\075\353\324\041\336\024\250\142\254\004\363\335\304\001\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
+\363\061\013\060\011\006\003\125\004\006\023\002\105\123\061\073
+\060\071\006\003\125\004\012\023\062\101\147\145\156\143\151\141
+\040\103\141\164\141\154\141\156\141\040\144\145\040\103\145\162
+\164\151\146\151\143\141\143\151\157\040\050\116\111\106\040\121
+\055\060\070\060\061\061\067\066\055\111\051\061\050\060\046\006
+\003\125\004\013\023\037\123\145\162\166\145\151\163\040\120\165
+\142\154\151\143\163\040\144\145\040\103\145\162\164\151\146\151
+\143\141\143\151\157\061\065\060\063\006\003\125\004\013\023\054
+\126\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167
+\167\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145
+\162\141\162\162\145\154\040\050\143\051\060\063\061\065\060\063
+\006\003\125\004\013\023\054\112\145\162\141\162\161\165\151\141
+\040\105\156\164\151\164\141\164\163\040\144\145\040\103\145\162
+\164\151\146\151\143\141\143\151\157\040\103\141\164\141\154\141
+\156\145\163\061\017\060\015\006\003\125\004\003\023\006\105\103
+\055\101\103\103\060\036\027\015\060\063\060\061\060\067\062\063
+\060\060\060\060\132\027\015\063\061\060\061\060\067\062\062\065
+\071\065\071\132\060\201\363\061\013\060\011\006\003\125\004\006
+\023\002\105\123\061\073\060\071\006\003\125\004\012\023\062\101
+\147\145\156\143\151\141\040\103\141\164\141\154\141\156\141\040
+\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040
+\050\116\111\106\040\121\055\060\070\060\061\061\067\066\055\111
+\051\061\050\060\046\006\003\125\004\013\023\037\123\145\162\166
+\145\151\163\040\120\165\142\154\151\143\163\040\144\145\040\103
+\145\162\164\151\146\151\143\141\143\151\157\061\065\060\063\006
+\003\125\004\013\023\054\126\145\147\145\165\040\150\164\164\160
+\163\072\057\057\167\167\167\056\143\141\164\143\145\162\164\056
+\156\145\164\057\166\145\162\141\162\162\145\154\040\050\143\051
+\060\063\061\065\060\063\006\003\125\004\013\023\054\112\145\162
+\141\162\161\165\151\141\040\105\156\164\151\164\141\164\163\040
+\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040
+\103\141\164\141\154\141\156\145\163\061\017\060\015\006\003\125
+\004\003\023\006\105\103\055\101\103\103\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\263\042\307\117\342
+\227\102\225\210\107\203\100\366\035\027\363\203\163\044\036\121
+\363\230\212\303\222\270\377\100\220\005\160\207\140\311\000\251
+\265\224\145\031\042\025\027\302\103\154\146\104\232\015\004\076
+\071\157\245\113\172\252\143\267\212\104\235\331\143\221\204\146
+\340\050\017\272\102\343\156\216\367\024\047\223\151\356\221\016
+\243\137\016\261\353\146\242\162\117\022\023\206\145\172\076\333
+\117\007\364\247\011\140\332\072\102\231\307\262\177\263\026\225
+\034\307\371\064\265\224\205\325\231\136\240\110\240\176\347\027
+\145\270\242\165\270\036\363\345\102\175\257\355\363\212\110\144
+\135\202\024\223\330\300\344\377\263\120\162\362\166\366\263\135
+\102\120\171\320\224\076\153\014\000\276\330\153\016\116\052\354
+\076\322\314\202\242\030\145\063\023\167\236\232\135\032\023\330
+\303\333\075\310\227\172\356\160\355\247\346\174\333\161\317\055
+\224\142\337\155\326\365\070\276\077\245\205\012\031\270\250\330
+\011\165\102\160\304\352\357\313\016\310\064\250\022\042\230\014
+\270\023\224\266\113\354\360\320\220\347\047\002\003\001\000\001
+\243\201\343\060\201\340\060\035\006\003\125\035\021\004\026\060
+\024\201\022\145\143\137\141\143\143\100\143\141\164\143\145\162
+\164\056\156\145\164\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
+\024\240\303\213\104\252\067\245\105\277\227\200\132\321\361\170
+\242\233\351\135\215\060\177\006\003\125\035\040\004\170\060\166
+\060\164\006\013\053\006\001\004\001\365\170\001\003\001\012\060
+\145\060\054\006\010\053\006\001\005\005\007\002\001\026\040\150
+\164\164\160\163\072\057\057\167\167\167\056\143\141\164\143\145
+\162\164\056\156\145\164\057\166\145\162\141\162\162\145\154\060
+\065\006\010\053\006\001\005\005\007\002\002\060\051\032\047\126
+\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167\167
+\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145\162
+\141\162\162\145\154\040\060\015\006\011\052\206\110\206\367\015
+\001\001\005\005\000\003\202\001\001\000\240\110\133\202\001\366
+\115\110\270\071\125\065\234\200\172\123\231\325\132\377\261\161
+\073\314\071\011\224\136\326\332\357\276\001\133\135\323\036\330
+\375\175\117\315\240\101\340\064\223\277\313\342\206\234\067\222
+\220\126\034\334\353\051\005\345\304\236\307\065\337\212\014\315
+\305\041\103\351\252\210\345\065\300\031\102\143\132\002\136\244
+\110\030\072\205\157\334\235\274\077\235\234\301\207\270\172\141
+\010\351\167\013\177\160\253\172\335\331\227\054\144\036\205\277
+\274\164\226\241\303\172\022\354\014\032\156\203\014\074\350\162
+\106\237\373\110\325\136\227\346\261\241\370\344\357\106\045\224
+\234\211\333\151\070\276\354\134\016\126\307\145\121\345\120\210
+\210\277\102\325\053\075\345\371\272\236\056\263\312\364\163\222
+\002\013\276\114\146\353\040\376\271\313\265\231\177\346\266\023
+\372\312\113\115\331\356\123\106\006\073\306\116\255\223\132\201
+\176\154\052\113\152\005\105\214\362\041\244\061\220\207\154\145
+\234\235\245\140\225\072\122\177\365\321\253\010\156\363\356\133
+\371\210\075\176\270\157\156\003\344\102
+END
+
+# Trust for Certificate "EC-ACC"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "EC-ACC"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\050\220\072\143\133\122\200\372\346\167\114\013\155\247\326\272
+\246\112\362\350
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\353\365\235\051\015\141\371\102\037\174\302\272\155\343\025\011
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123
+\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143
+\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103
+\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106
+\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060
+\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040
+\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151
+\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013
+\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057
+\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057
+\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065
+\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165
+\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103
+\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141
+\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006
+\105\103\055\101\103\103
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335
+\304\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Hellenic Academic and Research Institutions RootCA 2011"
+#
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
+\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
+\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
+\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
+\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
+\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
+\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
+\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
+\164\103\101\040\062\060\061\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
+\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
+\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
+\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
+\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
+\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
+\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
+\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
+\164\103\101\040\062\060\061\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\061\060\202\003\031\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164\150
+\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023\067
+\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155\151
+\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040\111
+\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157\164
+\103\101\040\062\060\061\061\060\036\027\015\061\061\061\062\060
+\066\061\063\064\071\065\062\132\027\015\063\061\061\062\060\061
+\061\063\064\071\065\062\132\060\201\225\061\013\060\011\006\003
+\125\004\006\023\002\107\122\061\104\060\102\006\003\125\004\012
+\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
+\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
+\040\111\156\163\164\151\164\165\164\151\157\156\163\040\103\145
+\162\164\056\040\101\165\164\150\157\162\151\164\171\061\100\060
+\076\006\003\125\004\003\023\067\110\145\154\154\145\156\151\143
+\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145
+\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151
+\157\156\163\040\122\157\157\164\103\101\040\062\060\061\061\060
+\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
+\251\123\000\343\056\246\366\216\372\140\330\055\225\076\370\054
+\052\124\116\315\271\204\141\224\130\117\217\075\213\344\103\363
+\165\211\215\121\344\303\067\322\212\210\115\171\036\267\022\335
+\103\170\112\212\222\346\327\110\325\017\244\072\051\104\065\270
+\007\366\150\035\125\315\070\121\360\214\044\061\205\257\203\311
+\175\351\167\257\355\032\173\235\027\371\263\235\070\120\017\246
+\132\171\221\200\257\067\256\246\323\061\373\265\046\011\235\074
+\132\357\121\305\053\337\226\135\353\062\036\002\332\160\111\354
+\156\014\310\232\067\215\367\361\066\140\113\046\054\202\236\320
+\170\363\015\017\143\244\121\060\341\371\053\047\022\007\330\352
+\275\030\142\230\260\131\067\175\276\356\363\040\121\102\132\203
+\357\223\272\151\025\361\142\235\237\231\071\202\241\267\164\056
+\213\324\305\013\173\057\360\310\012\332\075\171\012\232\223\034
+\245\050\162\163\221\103\232\247\321\115\205\204\271\251\164\217
+\024\100\307\334\336\254\101\144\154\264\031\233\002\143\155\044
+\144\217\104\262\045\352\316\135\164\014\143\062\134\215\207\345
+\002\003\001\000\001\243\201\211\060\201\206\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003
+\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016
+\004\026\004\024\246\221\102\375\023\141\112\043\236\010\244\051
+\345\330\023\004\043\356\101\045\060\107\006\003\125\035\036\004
+\100\060\076\240\074\060\005\202\003\056\147\162\060\005\202\003
+\056\145\165\060\006\202\004\056\145\144\165\060\006\202\004\056
+\157\162\147\060\005\201\003\056\147\162\060\005\201\003\056\145
+\165\060\006\201\004\056\145\144\165\060\006\201\004\056\157\162
+\147\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
+\003\202\001\001\000\037\357\171\101\341\173\156\077\262\214\206
+\067\102\112\116\034\067\036\215\146\272\044\201\311\117\022\017
+\041\300\003\227\206\045\155\135\323\042\051\250\154\242\015\251
+\353\075\006\133\231\072\307\314\303\232\064\177\253\016\310\116
+\034\341\372\344\334\315\015\276\277\044\376\154\347\153\302\015
+\310\006\236\116\215\141\050\246\152\375\345\366\142\352\030\074
+\116\240\123\235\262\072\234\353\245\234\221\026\266\115\202\340
+\014\005\110\251\154\365\314\370\313\235\111\264\360\002\245\375
+\160\003\355\212\041\245\256\023\206\111\303\063\163\276\207\073
+\164\213\027\105\046\114\026\221\203\376\147\175\315\115\143\147
+\372\363\003\022\226\170\006\215\261\147\355\216\077\276\237\117
+\002\365\263\011\057\363\114\207\337\052\313\225\174\001\314\254
+\066\172\277\242\163\172\367\217\301\265\232\241\024\262\217\063
+\237\015\357\042\334\146\173\204\275\105\027\006\075\074\312\271
+\167\064\217\312\352\317\077\061\076\343\210\343\200\111\045\310
+\227\265\235\232\231\115\260\074\370\112\000\233\144\335\237\071
+\113\321\047\327\270
+END
+
+# Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011"
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\376\105\145\233\171\003\133\230\241\141\265\121\056\254\332\130
+\011\110\042\115
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\163\237\114\113\163\133\171\351\372\272\034\357\156\313\325\311
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
+\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
+\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
+\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
+\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
+\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
+\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
+\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
+\164\103\101\040\062\060\061\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
diff --git a/ca-certificates/certdata2pem.py b/ca-certificates/certdata2pem.py
new file mode 100644 (file)
index 0000000..c22946d
--- /dev/null
@@ -0,0 +1,182 @@
+#!/usr/bin/python
+# vim:set et sw=4:
+#
+# certdata2pem.py - splits certdata.txt into multiple files
+#
+# Copyright (C) 2009 Philipp Kern <pkern@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+# USA.
+
+import base64
+import os.path
+import re
+import sys
+import textwrap
+
+objects = []
+
+# Dirty file parser.
+in_data, in_multiline, in_obj = False, False, False
+field, type, value, obj = None, None, None, dict()
+for line in open('certdata.txt', 'r'):
+    # Ignore the file header.
+    if not in_data:
+        if line.startswith('BEGINDATA'):
+            in_data = True
+        continue
+    # Ignore comment lines.
+    if line.startswith('#'):
+        continue
+    # Empty lines are significant if we are inside an object.
+    if in_obj and len(line.strip()) == 0:
+        objects.append(obj)
+        obj = dict()
+        in_obj = False
+        continue
+    if len(line.strip()) == 0:
+        continue
+    if in_multiline:
+        if not line.startswith('END'):
+            if type == 'MULTILINE_OCTAL':
+                line = line.strip()
+                for i in re.finditer(r'\\([0-3][0-7][0-7])', line):
+                    value += chr(int(i.group(1), 8))
+            else:
+                value += line
+            continue
+        obj[field] = value
+        in_multiline = False
+        continue
+    if line.startswith('CKA_CLASS'):
+        in_obj = True
+    line_parts = line.strip().split(' ', 2)
+    if len(line_parts) > 2:
+        field, type = line_parts[0:2]
+        value = ' '.join(line_parts[2:])
+    elif len(line_parts) == 2:
+        field, type = line_parts
+        value = None
+    else:
+        raise NotImplementedError, 'line_parts < 2 not supported.'
+    if type == 'MULTILINE_OCTAL':
+        in_multiline = True
+        value = ""
+        continue
+    obj[field] = value
+if len(obj.items()) > 0:
+    objects.append(obj)
+
+# Read blacklist.
+blacklist = []
+if os.path.exists('blacklist.txt'):
+    for line in open('blacklist.txt', 'r'):
+        line = line.strip()
+        if line.startswith('#') or len(line) == 0:
+            continue
+        item = line.split('#', 1)[0].strip()
+        blacklist.append(item)
+
+# Build up trust database.
+trust = dict()
+trustmap = dict()
+for obj in objects:
+
+    if obj['CKA_CLASS'] != 'CKO_NSS_TRUST':
+        continue
+    if obj['CKA_LABEL'] in blacklist:
+        print "Certificate %s blacklisted, ignoring." % obj['CKA_LABEL']
+    elif obj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+        trust[obj['CKA_LABEL']] = True
+    elif obj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+        trust[obj['CKA_LABEL']] = True
+    elif obj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+        trust[obj['CKA_LABEL']] = True
+    elif obj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_UNTRUSTED':
+        print '!'*74
+        print "UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: %s" % obj['CKA_LABEL']
+        print '!'*74
+        sys.exit(1)
+    else:
+        print "Ignoring certificate %s.  SAUTH=%s, EPROT=%s" % \
+              (obj['CKA_LABEL'], obj['CKA_TRUST_SERVER_AUTH'],
+               obj['CKA_TRUST_EMAIL_PROTECTION'])
+    label = obj['CKA_LABEL']
+    trustmap[label] = obj
+    print " added cert", label
+
+def obj_to_filename(obj):
+    label = obj['CKA_LABEL'][1:-1]
+    label = label.replace('/', '_')\
+        .replace(' ', '_')\
+        .replace('(', '=')\
+        .replace(')', '=')\
+        .replace(',', '_')
+    label = re.sub(r'\\x[0-9a-fA-F]{2}', lambda m:chr(int(m.group(0)[2:], 16)), label)
+    serial = ".".join(map(lambda x:str(ord(x)), obj['CKA_SERIAL_NUMBER']))
+    return label + ":" + serial + ".crt"
+
+trust_types = {
+  "CKA_TRUST_DIGITAL_SIGNATURE": "digital-signature",
+  "CKA_TRUST_NON_REPUDIATION": "non-repudiation",
+  "CKA_TRUST_KEY_ENCIPHERMENT": "key-encipherment",
+  "CKA_TRUST_DATA_ENCIPHERMENT": "data-encipherment",
+  "CKA_TRUST_KEY_AGREEMENT": "key-agreement",
+  "CKA_TRUST_KEY_CERT_SIGN": "cert-sign",
+  "CKA_TRUST_CRL_SIGN": "crl-sign",
+  "CKA_TRUST_SERVER_AUTH": "server-auth",
+  "CKA_TRUST_CLIENT_AUTH": "client-auth",
+  "CKA_TRUST_CODE_SIGNING": "code-signing",
+  "CKA_TRUST_EMAIL_PROTECTION": "email-protection",
+  "CKA_TRUST_IPSEC_END_SYSTEM": "ipsec-end-system",
+  "CKA_TRUST_IPSEC_TUNNEL": "ipsec-tunnel",
+  "CKA_TRUST_IPSEC_USER": "ipsec-user",
+  "CKA_TRUST_TIME_STAMPING": "time-stamping",
+  "CKA_TRUST_STEP_UP_APPROVED": "step-up-approved",
+}
+
+openssl_trust = {
+  "CKA_TRUST_SERVER_AUTH": "serverAuth",
+  "CKA_TRUST_CLIENT_AUTH": "clientAuth",
+  "CKA_TRUST_CODE_SIGNING": "codeSigning",
+  "CKA_TRUST_EMAIL_PROTECTION": "emailProtection",
+}
+
+for obj in objects:
+    if obj['CKA_CLASS'] == 'CKO_CERTIFICATE':
+        print "producing cert file for " + obj['CKA_LABEL']
+        if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]:
+            print " -> untrusted, ignoring"
+            continue
+        fname = obj_to_filename(obj)
+        f = open(fname, 'w')
+        trustbits = []
+        openssl_trustflags = []
+        tobj = trustmap[obj['CKA_LABEL']]
+        for t in trust_types.keys():
+            if tobj.has_key(t) and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR':
+                trustbits.append(t)
+                if t in openssl_trust:
+                    openssl_trustflags.append(openssl_trust[t])
+        f.write("# trust=" + " ".join(trustbits) + "\n")
+        if openssl_trustflags:
+            f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n")
+        f.write("-----BEGIN CERTIFICATE-----\n")
+        f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
+        f.write("\n-----END CERTIFICATE-----\n")
+        print " -> written as '%s', trust = %s, openssl-trust = %s" % (fname, trustbits, openssl_trustflags)
+
+
+
diff --git a/ca-certificates/generate-cacerts.pl b/ca-certificates/generate-cacerts.pl
new file mode 100755 (executable)
index 0000000..1860266
--- /dev/null
@@ -0,0 +1,347 @@
+#!/usr/bin/perl -w
+
+use diagnostics;
+use Fcntl;
+
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# generate-cacerts.pl generates a JKS keystore named 'cacerts' from
+# OpenSSL's certificate bundle using OpenJDK's keytool.
+
+# First extract each of OpenSSL's bundled certificates into its own
+# aliased filename.
+$file = $ARGV[1];
+open(CERTS, $file);
+@certs = <CERTS>;
+close(CERTS);
+
+$pem_file_count = 0;
+$in_cert_block = 0;
+$write_current_cert = 1;
+foreach $cert (@certs)
+{
+    if ($cert =~ "Certificate:\n")
+    {
+        print "New certificate...\n";
+    }        
+    elsif ($cert =~ /Subject: /)
+    {
+        $_ = $cert;
+        if ($cert =~ /personal-freemail/)
+        {
+            $cert_alias = "thawtepersonalfreemailca";
+        }
+        elsif ($cert =~ /personal-basic/)
+        {
+            $cert_alias = "thawtepersonalbasicca";
+        }
+        elsif ($cert =~ /personal-premium/)
+        {
+            $cert_alias = "thawtepersonalpremiumca";
+        }
+        elsif ($cert =~ /server-certs/)
+        {
+            $cert_alias = "thawteserverca";
+        }
+        elsif ($cert =~ /premium-server/)
+        {
+            $cert_alias = "thawtepremiumserverca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass1ca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass1g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 1 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass1g3ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass2ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass2g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 2 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass2g3ca";
+        }
+        elsif ($cert =~ /Class 3 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass3ca";
+        }
+        # Version 1 of Class 3 Public Primary Certification Authority
+        # - G2 is added.  Version 3 is excluded.  See below.
+        elsif ($cert =~ /Class 3 Public Primary Certification Authority - G2.*1998/)
+        {
+            $cert_alias = "verisignclass3g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 3 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass3g3ca";
+        }
+        elsif ($cert =~
+               /RSA Data Security.*Secure Server Certification Authority/)
+        {
+            $cert_alias = "rsaserverca";
+        }
+        elsif ($cert =~ /GTE CyberTrust Global Root/)
+        {
+            $cert_alias = "gtecybertrustglobalca";
+        }
+        elsif ($cert =~ /Baltimore CyberTrust Root/)
+        {
+            $cert_alias = "baltimorecybertrustca";
+        }
+        elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/)
+        {
+            $cert_alias = "entrustclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/GCCA_CPS/)
+        {
+            $cert_alias = "entrustglobalclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS_2048/)
+        {
+            $cert_alias = "entrust2048ca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS incorp /)
+        {
+            $cert_alias = "entrustsslca";
+        }
+        elsif ($cert =~ /www.entrust.net\/SSL_CPS/)
+        {
+            $cert_alias = "entrustgsslca";
+        }
+        elsif ($cert =~ /The Go Daddy Group/)
+        {
+            $cert_alias = "godaddyclass2ca";
+        }
+        elsif ($cert =~ /Starfield Class 2 Certification Authority/)
+        {
+            $cert_alias = "starfieldclass2ca";
+        }
+        elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/)
+        {
+            $cert_alias = "valicertclass2ca";
+        }
+        elsif ($cert =~ /GeoTrust Global CA$/)
+        {
+            $cert_alias = "geotrustglobalca";
+        }
+        elsif ($cert =~ /Equifax Secure Certificate Authority/)
+        {
+            $cert_alias = "equifaxsecureca";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureebusinessca1";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-2/)
+        {
+            $cert_alias = "equifaxsecureebusinessca2";
+        }
+        elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureglobalebusinessca1";
+        }
+        elsif ($cert =~ /Sonera Class1 CA/)
+        {
+            $cert_alias = "soneraclass1ca";
+        }
+        elsif ($cert =~ /Sonera Class2 CA/)
+        {
+            $cert_alias = "soneraclass2ca";
+        }
+        elsif ($cert =~ /AAA Certificate Services/)
+        {
+            $cert_alias = "comodoaaaca";
+        }
+        elsif ($cert =~ /AddTrust Class 1 CA Root/)
+        {
+            $cert_alias = "addtrustclass1ca";
+        }
+        elsif ($cert =~ /AddTrust External CA Root/)
+        {
+            $cert_alias = "addtrustexternalca";
+        }
+        elsif ($cert =~ /AddTrust Qualified CA Root/)
+        {
+            $cert_alias = "addtrustqualifiedca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Hardware/)
+        {
+            $cert_alias = "utnuserfirsthardwareca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/)
+        {
+            $cert_alias = "utnuserfirstclientauthemailca";
+        }
+        elsif ($cert =~ /UTN - DATACorp SGC/)
+        {
+            $cert_alias = "utndatacorpsgcca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Object/)
+        {
+            $cert_alias = "utnuserfirstobjectca";
+        }
+        elsif ($cert =~ /America Online Root Certification Authority 1/)
+        {
+            $cert_alias = "aolrootca1";
+        }
+        elsif ($cert =~ /DigiCert Assured ID Root CA/)
+        {
+            $cert_alias = "digicertassuredidrootca";
+        }
+        elsif ($cert =~ /DigiCert Global Root CA/)
+        {
+            $cert_alias = "digicertglobalrootca";
+        }
+        elsif ($cert =~ /DigiCert High Assurance EV Root CA/)
+        {
+            $cert_alias = "digicerthighassuranceevrootca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA$/)
+        {
+            $cert_alias = "globalsignca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA - R2/)
+        {
+            $cert_alias = "globalsignr2ca";
+        }
+        elsif ($cert =~ /Elektronik.*Kas.*2005/)
+        {
+            $cert_alias = "extra-elektronikkas2005";
+        }
+        elsif ($cert =~ /Muntaner 244 Barcelona.*Firmaprofesional/)
+        {
+            $cert_alias = "extra-oldfirmaprofesional";
+        }
+        # Mozilla does not provide these certificates:
+        #   baltimorecodesigningca
+        #   gtecybertrust5ca
+        #   trustcenterclass2caii
+        #   trustcenterclass4caii
+        #   trustcenteruniversalcai
+        else
+        {
+            # Generate an alias using the OU and CN attributes of the
+            # Subject field if both are present, otherwise use only the
+            # CN attribute.  The Subject field must have either the OU
+            # or the CN attribute.
+            $_ = $cert;
+            if ($cert =~ /OU=/)
+            {
+                s/Subject:.*?OU=//;
+                # Remove other occurrences of OU=.
+                s/OU=.*CN=//;
+                # Remove CN= if there were not other occurrences of OU=.
+                s/CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            elsif ($cert =~ /CN=/)
+            {
+                s/Subject:.*CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            s/\W//g;
+            tr/A-Z/a-z/;
+            $cert_alias = "extra-$_";
+        }
+        print "$cert => alias $cert_alias\n";
+    }
+    elsif ($cert =~ "Signature Algorithm: ecdsa")
+    {
+        # Ignore ECC certs since keytool rejects them
+        $write_current_cert = 0;
+        print " => ignoring ECC certificate\n";
+    }
+    elsif ($cert eq "-----BEGIN CERTIFICATE-----\n")
+    {
+        if ($in_cert_block != 0)
+        {
+            die "FAIL: $file is malformed.";
+        }
+        $in_cert_block = 1;
+        if ($write_current_cert == 1)
+        {
+            $pem_file_count++;
+            if (!sysopen(PEM, "$cert_alias.pem", O_WRONLY|O_CREAT|O_EXCL)) {
+                $cert_alias = "$cert_alias.1";
+                sysopen(PEM, "$cert_alias.1.pem", O_WRONLY|O_CREAT|O_EXCL)
+                    || die("FAIL: could not open file for $cert_alias.pem: $!");
+            }
+            print PEM $cert;
+            print " => writing $cert_alias.pem...\n";
+        }
+    }
+    elsif ($cert eq "-----END CERTIFICATE-----\n")
+    {
+        $in_cert_block = 0;
+        if ($write_current_cert == 1)
+        {
+            print PEM $cert;
+            close(PEM);
+        }
+        $write_current_cert = 1
+    }
+    else
+    {
+        if ($in_cert_block == 1 && $write_current_cert == 1)
+        {
+            print PEM $cert;
+        }
+    }
+}
+
+# Check that the correct number of .pem files were produced.
+@pem_files = <*.pem>;
+if (@pem_files != $pem_file_count)
+{
+    print "$pem_file_count != ".@pem_files."\n";
+    die "FAIL: Number of .pem files produced does not match".
+        " number of certs read from $file.";
+}
+
+# Now store each cert in the 'cacerts' file using keytool.
+$certs_written_count = 0;
+foreach $pem_file (@pem_files)
+{
+    print "+ Adding $pem_file...\n";
+    if (system("$ARGV[0] -import".
+               " -alias `basename $pem_file .pem`".
+               " -keystore cacerts -noprompt -storepass 'changeit' -file $pem_file") == 0) {
+        $certs_written_count++;
+    } else {
+        print "FAILED\n";
+    }
+}
+
+# Check that the correct number of certs were added to the keystore.
+if ($certs_written_count != $pem_file_count)
+{
+    die "FAIL: Number of certs added to keystore does not match".
+        " number of certs read from $file.";
+}
diff --git a/checkpolicy/checkpolicy.nm b/checkpolicy/checkpolicy.nm
new file mode 100644 (file)
index 0000000..99a15ca
--- /dev/null
@@ -0,0 +1,58 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = checkpolicy
+version    = 2.1.8
+release    = 2
+
+groups     = Development/System
+url        = http://userspace.selinuxproject.org
+license    = GPLv2
+summary    = SELinux policy compiler.
+
+description
+       This package contains checkpolicy, the SELinux policy compiler and  
+       is required for building policies. 
+end
+
+sources    = %{thisapp}.tgz
+
+build
+       requires
+               bison
+               flex
+               flex-devel
+               libselinux-devel
+               libsepol-devel
+               libsepol-static
+       end
+
+       prepare_cmds
+               # Link against -lfl_pic instead of -lfl.
+               sed -i -e "s/lfl/&_pic/g" Makefile */Makefile
+       end
+
+       make_build_targets += \
+               LIBDIR="%{libdir}" \
+               CFLAGS="%{CFLAGS}" \
+               LEX=flex
+
+       # build all binaries.
+       build_cmds
+               make -C test %{make_build_targets}
+       end
+
+       make_install_cmds += \
+               LIBDIR=%{BUILDROOT}%{libdir}
+
+       install_cmds
+               install test/dismod %{BULDROOT}/usr/bin
+               install test/dispol %{BUILDROOT}/usr/bin
+       end
+end
+
+packages
+       package %{name}
+end
diff --git a/checkpolicy/patches/checkpolicy-rhat.patch2 b/checkpolicy/patches/checkpolicy-rhat.patch2
new file mode 100644 (file)
index 0000000..cf50706
--- /dev/null
@@ -0,0 +1,206 @@
+diff --git a/checkpolicy/policy_define.c b/checkpolicy/policy_define.c
+index d19fc61..a86c6b3 100644
+--- a/checkpolicy/policy_define.c
++++ b/checkpolicy/policy_define.c
+@@ -351,6 +351,102 @@ static int read_classes(ebitmap_t *e_classes)
+       return 0;
+ }
++int define_default_user(int which)
++{
++      char *id;
++      class_datum_t *cladatum;
++
++      if (pass == 1) {
++              while ((id = queue_remove(id_queue)))
++                      free(id);
++              return 0;
++      }
++
++      while ((id = queue_remove(id_queue))) {
++              if (!is_id_in_scope(SYM_CLASSES, id)) {
++                      yyerror2("class %s is not within scope", id);
++                      return -1;
++              }
++              cladatum = hashtab_search(policydbp->p_classes.table, id);
++              if (!cladatum) {
++                      yyerror2("unknown class %s", id);
++                      return -1;
++              }
++              if (cladatum->default_user && cladatum->default_user != which) {
++                      yyerror2("conflicting default user information for class %s", id);
++                      return -1;
++              }
++              cladatum->default_user = which;
++              free(id);
++      }
++
++      return 0;
++}
++
++int define_default_role(int which)
++{
++      char *id;
++      class_datum_t *cladatum;
++
++      if (pass == 1) {
++              while ((id = queue_remove(id_queue)))
++                      free(id);
++              return 0;
++      }
++
++      while ((id = queue_remove(id_queue))) {
++              if (!is_id_in_scope(SYM_CLASSES, id)) {
++                      yyerror2("class %s is not within scope", id);
++                      return -1;
++              }
++              cladatum = hashtab_search(policydbp->p_classes.table, id);
++              if (!cladatum) {
++                      yyerror2("unknown class %s", id);
++                      return -1;
++              }
++              if (cladatum->default_role && cladatum->default_role != which) {
++                      yyerror2("conflicting default role information for class %s", id);
++                      return -1;
++              }
++              cladatum->default_role = which;
++              free(id);
++      }
++
++      return 0;
++}
++
++int define_default_range(int which)
++{
++      char *id;
++      class_datum_t *cladatum;
++
++      if (pass == 1) {
++              while ((id = queue_remove(id_queue)))
++                      free(id);
++              return 0;
++      }
++
++      while ((id = queue_remove(id_queue))) {
++              if (!is_id_in_scope(SYM_CLASSES, id)) {
++                      yyerror2("class %s is not within scope", id);
++                      return -1;
++              }
++              cladatum = hashtab_search(policydbp->p_classes.table, id);
++              if (!cladatum) {
++                      yyerror2("unknown class %s", id);
++                      return -1;
++              }
++              if (cladatum->default_range && cladatum->default_range != which) {
++                      yyerror2("conflicting default range information for class %s", id);
++                      return -1;
++              }
++              cladatum->default_range = which;
++              free(id);
++      }
++
++      return 0;
++}
++
+ int define_common_perms(void)
+ {
+       char *id = 0, *perm = 0;
+diff --git a/checkpolicy/policy_define.h b/checkpolicy/policy_define.h
+index 92a9be7..ccbe56f 100644
+--- a/checkpolicy/policy_define.h
++++ b/checkpolicy/policy_define.h
+@@ -24,6 +24,9 @@ int define_av_perms(int inherits);
+ int define_bool_tunable(int is_tunable);
+ int define_category(void);
+ int define_class(void);
++int define_default_user(int which);
++int define_default_role(int which);
++int define_default_range(int which);
+ int define_common_perms(void);
+ int define_compute_type(int which);
+ int define_conditional(cond_expr_t *expr, avrule_t *t_list, avrule_t *f_list );
+diff --git a/checkpolicy/policy_parse.y b/checkpolicy/policy_parse.y
+index d808111..d92cc32 100644
+--- a/checkpolicy/policy_parse.y
++++ b/checkpolicy/policy_parse.y
+@@ -143,6 +143,8 @@ typedef int (* require_func_t)();
+ %token POLICYCAP
+ %token PERMISSIVE
+ %token FILESYSTEM
++%token DEFAULT_USER DEFAULT_ROLE DEFAULT_RANGE
++%token LOW_HIGH LOW HIGH
+ %left OR
+ %left XOR
+@@ -157,7 +159,7 @@ base_policy             : { if (define_policy(pass, 0) == -1) return -1; }
+                           classes initial_sids access_vectors
+                           { if (pass == 1) { if (policydb_index_classes(policydbp)) return -1; }
+                             else if (pass == 2) { if (policydb_index_others(NULL, policydbp, 0)) return -1; }}
+-                        opt_mls te_rbac users opt_constraints 
++                        opt_default_rules opt_mls te_rbac users opt_constraints 
+                          { if (pass == 1) { if (policydb_index_bools(policydbp)) return -1;}
+                          else if (pass == 2) { if (policydb_index_others(NULL, policydbp, 0)) return -1;}}
+                         initial_sid_contexts opt_fs_contexts opt_fs_uses opt_genfs_contexts net_contexts opt_dev_contexts
+@@ -195,6 +197,39 @@ av_perms_def              : CLASS identifier '{' identifier_list '}'
+                         | CLASS identifier INHERITS identifier '{' identifier_list '}'
+                       {if (define_av_perms(TRUE)) return -1;}
+                       ;
++opt_default_rules     : default_rules
++                      |
++                      ;
++default_rules         : default_user_def
++                      | default_role_def
++                      | default_range_def
++                      | default_rules default_user_def
++                      | default_rules default_role_def
++                      | default_rules default_range_def
++                      ;
++default_user_def      : DEFAULT_USER names SOURCE ';'
++                      {if (define_default_user(DEFAULT_SOURCE)) return -1; }
++                      | DEFAULT_USER names TARGET ';'
++                      {if (define_default_user(DEFAULT_TARGET)) return -1; }
++                      ;
++default_role_def      : DEFAULT_ROLE names SOURCE ';'
++                      {if (define_default_role(DEFAULT_SOURCE)) return -1; }
++                      | DEFAULT_ROLE names TARGET ';'
++                      {if (define_default_role(DEFAULT_TARGET)) return -1; }
++                      ;
++default_range_def     : DEFAULT_RANGE names SOURCE LOW ';'
++                      {if (define_default_range(DEFAULT_SOURCE_LOW)) return -1; }
++                      | DEFAULT_RANGE names SOURCE HIGH ';'
++                      {if (define_default_range(DEFAULT_SOURCE_HIGH)) return -1; }
++                      | DEFAULT_RANGE names SOURCE LOW_HIGH ';'
++                      {if (define_default_range(DEFAULT_SOURCE_LOW_HIGH)) return -1; }
++                      | DEFAULT_RANGE names TARGET LOW ';'
++                      {if (define_default_range(DEFAULT_TARGET_LOW)) return -1; }
++                      | DEFAULT_RANGE names TARGET HIGH ';'
++                      {if (define_default_range(DEFAULT_TARGET_HIGH)) return -1; }
++                      | DEFAULT_RANGE names TARGET LOW_HIGH ';'
++                      {if (define_default_range(DEFAULT_TARGET_LOW_HIGH)) return -1; }
++                      ;
+ opt_mls                       : mls
+                         | 
+                       ;
+diff --git a/checkpolicy/policy_scan.l b/checkpolicy/policy_scan.l
+index 9b24db5..e767b5f 100644
+--- a/checkpolicy/policy_scan.l
++++ b/checkpolicy/policy_scan.l
+@@ -221,6 +221,18 @@ policycap |
+ POLICYCAP                     { return(POLICYCAP); }
+ permissive |
+ PERMISSIVE                    { return(PERMISSIVE); }
++default_user |
++DEFAULT_USER                  { return(DEFAULT_USER); }
++default_role |
++DEFAULT_ROLE                  { return(DEFAULT_ROLE); }
++default_range |
++DEFAULT_RANGE                 { return(DEFAULT_RANGE); }
++low-high |
++LOW-HIGH                      { return(LOW_HIGH); }
++high |
++HIGH                          { return(HIGH); }
++low |
++LOW                           { return(LOW); }
+ "/"({alnum}|[_\.\-/])*                { return(PATH); }
+ \"({alnum}|[_\.\-\~])+\"      { return(FILENAME); }
+ {letter}({alnum}|[_\-])*([\.]?({alnum}|[_\-]))*       { return(IDENTIFIER); }
index 956eead485945b9c9f70af8fe43b1e80d73c5421..10daf278de0b5642ad5bc8f63b0c37cedf764d23 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = chrony
 version    = 1.26
-release    = 8
+release    = 9
 
 groups     = System/Daemons
 url        = http://chrony.tuxfamily.org
@@ -80,7 +80,10 @@ packages
                        /etc/chrony.keys
                end
 
-               prerequires = shadow-utils systemd-units
+               prerequires
+                       shadow-utils
+                       systemd-units
+               end
 
                script prein
                        %{create_user}
diff --git a/compat-db/compat-db.nm b/compat-db/compat-db.nm
new file mode 100644 (file)
index 0000000..df91897
--- /dev/null
@@ -0,0 +1,157 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = compat-db
+version    = %{main_version}
+release    = 5
+thisapp    = db-%{version}
+
+maintainer = Michael Tremer <michael.tremer@ipfire.org>
+groups     = System/Libraries
+url        = http://www.oracle.com/technology/products/berkeley-db/
+license    = Proprietary
+summary    = The Berkeley DB database compatibility library.
+
+description
+       Berkeley DB (BDB) is a computer software library that provides
+       a high-performance embedded database.
+
+       This package contains various version that were used in the
+       past. Some software may depend on them though.
+end
+
+version_db46 = 4.6.21
+version_db47 = 4.7.25
+versions     = %{version_db47} %{version_db46}
+main_version:= %{version_db47}
+
+source_dl  = http://download.oracle.com/berkeley-db/
+sources    = db-%{version_db47}.tar.gz
+sources   += db-%{version_db46}.tar.gz
+
+build
+       requires
+               gcc-c++
+       end
+
+       CFLAGS += -fno-strict-aliasing
+
+       configure_options += \
+               --enable-compat185 \
+               --enable-cxx \
+               --disable-static
+
+       build
+               for version in %{versions}; do
+                       cd %{DIR_SRC}/db-${version}/build_unix
+                       ../dist/configure \
+                               %{configure_options}
+
+                       %{MACRO_FIX_LIBTOOL}
+
+                       make %{PARALLELISMFLAGS}
+               done
+       end
+
+       install
+               for version in %{versions}; do
+                       cd %{DIR_SRC}/db-${version}/build_unix
+                       make install DESTDIR=%{BUILDROOT} \
+                               docdir=%{datadir}/doc/db-${version}
+
+                       # Remove unversioned libs.
+                       rm -vf %{BUILDROOT}%{libdir}/libdb*-4.so
+
+                       # Move binaries.
+                       tag=$(echo ${version} | cut -c1,3)
+                       for bin in %{BUILDROOT}%{bindir}/*db_*; do
+                               t=$(echo ${bin} | sed "s/db_/db${tag}_/g")
+                               mv -v ${bin} ${t}
+                       done
+
+                       # Move libs.
+                       major=$(echo ${version} | cut -c1-3)
+                       mkdir -pv %{BUILDROOT}%{libdir}/db${version}
+                       pushd %{BUILDROOT}%{libdir}/db${version}
+                       ln -svf ../libdb-${major}.so libdb.so
+                       ln -svf ../libdb_cxx-${major}.so libdb_cxx.so
+                       popd
+                       rm -vf %{BUILDROOT}%{libdir}/libdb{,_cxx}.so
+
+                       # Move headers.
+                       mkdir -pv %{BUILDROOT}%{includedir}/db${version}
+                       mv -v %{BUILDROOT}%{includedir}/*.h \
+                               %{BUILDROOT}%{includedir}/db${version}/
+
+                       # Remove documentation.
+                       rm -rf %{BUILDROOT}%{datadir}/doc
+               done
+       end
+end
+
+packages
+       package %{name}
+               requires += compat-db46 = %{version_db46}-%{_release}
+               requires += compat-db47 = %{version_db47}-%{_release}
+       end
+       
+       template COMPATDB
+               version = %{version_db%{version_tag}}
+
+               summary = The Berkeley DB database %{version} compatibility library.
+               description
+                       The Berkeley Database (Berkeley DB) is a programmatic toolkit that provides
+                       embedded database support for both traditional and client/server applications.
+
+                       This package contains Berkeley DB library version %{version} used for compatibility.
+               end
+
+               files
+                       %{bindir}/berkeley_db%{version_tag}_*
+                       %{bindir}/db%{version_tag}_*
+                       %{libdir}/db%{version}
+                       %{libdir}/libdb*-%{version_major}.so
+               end
+
+               requires = compat-db-headers = %{main_version}-%{_release}
+               obsoletes
+                       db4 < 1:%{version_major}
+                       db4-devel < 1:%{version_major}
+                       db4-cxx < 1:%{version_major}
+                       db4-utils < 1:%{version_major}
+               end
+       end
+
+       package %{name}47
+               template COMPATDB
+
+               version_tag   = 47
+               version_major = 4.7
+       end
+
+       package %{name}46
+               template COMPATDB
+
+               version_tag   = 46
+               version_major = 4.6
+       end
+
+       package %{name}-headers
+               summary = The Berkeley DB database compatibility headers.
+               description
+                       The Berkeley Database (Berkeley DB) is a programmatic toolkit that provides
+                       embedded database support for both traditional and client/server applications.
+
+                       This package contains Berkeley DB library headers used for compatibility.
+               end
+               arch = noarch
+
+               files = %{includedir}
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 6b65353266fa4dc0758c5cbe1a32977ac1861706..3b04de3bd79691dd092e9bb83f4ad14fc854e2a8 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = coreutils
-version    = 8.15
-release    = 1
+version    = 8.16
+release    = 3
 
 groups     = System/Base
 url        = http://www.gnu.org/software/coreutils/
@@ -45,42 +45,85 @@ build
                --enable-largefile \
                --disable-rpath \
                --enable-install-program=arch,su \
-               --enable-no-install-program=hostname,kill,uptime
+               --enable-no-install-program=hostname,kill,uptime \
+               --with-tty-group \
+               \
+               gl_cv_func_mknod_works=yes
 
        prepare_cmds
                aclocal -I m4
                autoconf --force
        end
 
-       test
-               make check
-       end
+       # FIXME broken
+       #test
+       #       make check
+       #end
+
+       make_install_targets += install-man
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/{bin,etc/profile.d,usr/sbin}
-               mv -v %{BUILDROOT}/usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} %{BUILDROOT}/bin
-               mv -v %{BUILDROOT}/usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,readlink,rm} %{BUILDROOT}/bin
-               mv -v %{BUILDROOT}/usr/bin/{rmdir,stty,sync,touch,true,uname} %{BUILDROOT}/bin
-               mv -v %{BUILDROOT}/usr/bin/chroot %{BUILDROOT}/usr/sbin
-               mv -v %{BUILDROOT}/usr/bin/{head,sleep,nice} %{BUILDROOT}/bin
+               mkdir -pv %{BUILDROOT}%{sbindir}
+               mv -v %{BUILDROOT}/usr/bin/chroot %{BUILDROOT}%{sbindir}
+               mv -v %{BUILDROOT}/usr/bin/runuser %{BUILDROOT}%{sbindir}
 
-               # Reinstall su in /bin
-               rm -rfv %{BUILDROOT}/usr/bin/su
-               install -m 4755 src/su %{BUILDROOT}/bin
+               # su (set right capabilities)
+               chmod -v u-s %{BUILDROOT}%{bindir}/su
+               setcap cap_setgid,cap_setuid+ep %{BUILDROOT}%{bindir}/su
 
                # Dump /etc/DIR_COLORS
+               mkdir -pv %{BUILDROOT}%{sysconfdir}
                dircolors -p > %{BUILDROOT}/etc/DIR_COLORS
-               cp -vf %{DIR_SOURCE}/profile.d/* %{BUILDROOT}/etc/profile.d/
 
-               # Capabilities
-               chmod u-s %{BUILDROOT}/bin/su
-               setcap cap_setgid,cap_setuid+ep %{BUILDROOT}/bin/su
+               # Install profile.d.
+               mkdir -pv %{BUILDROOT}%{sysconfdir}/profile.d/
+               cp -vf %{DIR_SOURCE}/profile.d/* %{BUILDROOT}/etc/profile.d/
        end
 end
 
 packages
        package %{name}
                groups += Base Build
+
+               provides
+                       /bin/basename
+                       /bin/cat
+                       /bin/chgrp
+                       /bin/chmod
+                       /bin/chown
+                       /bin/cp
+                       /bin/cut
+                       /bin/date
+                       /bin/dd
+                       /bin/df
+                       /bin/echo
+                       /bin/env
+                       /bin/false
+                       /bin/ln
+                       /bin/ls
+                       /bin/mkdir
+                       /bin/mknod
+                       /bin/mktemp
+                       /bin/mv
+                       /bin/nice
+                       /bin/pwd
+                       /bin/readlink
+                       /bin/rm
+                       /bin/rmdir
+                       /bin/sleep
+                       /bin/sort
+                       /bin/stty
+                       /bin/su
+                       /bin/sync
+                       /bin/touch
+                       /bin/true
+                       /bin/uname
+                       /sbin/runuser
+               end
+
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package %{name}-debuginfo
diff --git a/coreutils/patches/coreutils-7.6-uname_PIC-1.patch.off b/coreutils/patches/coreutils-7.6-uname_PIC-1.patch.off
deleted file mode 100644 (file)
index 0ae413f..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-Submitted By: Robert Connolly <robert@linuxfromscratch.org> (ashes)
-Date: 2005-11-13
-Initial Package Version: 5.93
-Upstream Status: pending
-Origin: Scot McPherson and Zack Winkles
-Description: Fix the output of uname once and for all. This is the position independent
-version.
-
-       $ uname -m      # This always worked.
-       i686
-       $ uname -i      # Used to report 'unknown'.
-       i386
-       $ uname -p      # Likewise.
-       athlon-4
-
-Now 'uname -p' can be used by GCC's mtune/mcpu and march options. For example:
-
-       CFLAGS="-march=$(uname -m) -mtune=$(uname -p)"
-
-diff -Naur coreutils-5.93.orig/src/uname.c coreutils-5.93/src/uname.c
---- coreutils-5.93.orig/src/uname.c    2005-09-15 19:57:04.000000000 +0000
-+++ coreutils-5.93/src/uname.c 2005-11-13 19:18:35.000000000 +0000
-@@ -29,6 +29,26 @@
- # include <sys/systeminfo.h>
- #endif
-+#ifdef linux
-+/* Thanks to the ffmpeg team for this PIC version of cpuid() */
-+#ifdef ARCH_X86_64
-+#  define REG_b "rbx"
-+#  define REG_S "rsi"
-+#else
-+#  define REG_b "ebx"
-+#  define REG_S "esi"
-+#endif
-+#define cpuid(index,eax,ebx,ecx,edx)\
-+      __asm __volatile\
-+        ("mov %%"REG_b", %%"REG_S"\n\t"\
-+        "cpuid\n\t"\
-+        "xchg %%"REG_b", %%"REG_S\
-+        : "=a" (eax), "=S" (ebx),\
-+        "=c" (ecx), "=d" (edx)\
-+        : "0" (index));
-+int has_sse( void );
-+#endif
-+
- #if HAVE_SYS_SYSCTL_H
- # if HAVE_SYS_PARAM_H
- #  include <sys/param.h> /* needed for OpenBSD 3.0 */
-@@ -256,6 +276,99 @@
-       if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
-         element = processor;
-       }
-+#else
-+      {
-+      struct utsname u;
-+      uname (&u);
-+      element = u.machine;
-+#ifdef linux
-+/******************************************************************************
-+ *
-+ * Hello, major hack.  I shouldn't have to do this.  struct utsname should
-+ * have another element with this info in it.  There's probably a struct
-+ * somewhere that has this info, I just don't know where it is.
-+ *
-+ *****************************************************************************/
-+
-+      if( !strcmp( element, "i586" ) || !strcmp( element, "i686" ) ) {
-+        int eax, ebx, ecx, edx, unused;
-+        int model, family, sse;
-+     
-+        cpuid(0,unused,ebx,ecx,edx);
-+        cpuid(1,eax,unused,unused,unused);
-+        model = (eax >> 4) & 0xf;
-+        family = (eax >> 8) & 0xf;
-+
-+        switch(ebx) {
-+        case 0x756e6547: // Intel
-+          switch( family ) {
-+          case 5: // Pentium
-+            if( model <= 3 )
-+              element="pentium";
-+            if( model > 3 )
-+              element="pentium-mmx";
-+            break;
-+          case 6: // PentiumPro - Pentium III
-+            if( model == 1 ) // Pentium Pro
-+              element="pentiumpro";
-+            if( ( model == 3 ) || ( model == 5 ) ||
-+                ( model == 6 ) ) // Pentium II
-+              element="pentium2";
-+            if( ( model == 7 ) || ( model == 8 ) ||
-+                ( model == 10 ) || ( model == 11 ) ) // These are all Pentium III
-+              element="pentium3";
-+            break;
-+          case 15: // Pentium4
-+            if( model == 3 ) // Prescott
-+                element="prescott";
-+            else
-+            element="pentium4";
-+            break;
-+          default:
-+            break;
-+          } // end switch( family )
-+          break;
-+        case 0x68747541: // AMD
-+          switch(family) {
-+          case 5:
-+            if( ( model == 0 ) || ( model == 1 ) || 
-+                ( model == 2 ) || ( model == 3 ) ) // K5
-+              element="i586";
-+            if( ( model == 6 ) || ( model == 7 ) ) // K6
-+              element="k6";
-+            if( model == 8 ) // K6-2
-+              element="k6-2";
-+            if( model == 9 ) // K6-3
-+              element="k6-3";
-+            break;
-+          case 6:
-+            if( model <= 4 )
-+              element="athlon";
-+            if( model > 4 ) {
-+              sse = has_sse();
-+              if( sse == 0 )
-+                element="athlon";
-+              if( sse == 1 )
-+                element="athlon-4";
-+            }
-+            break;
-+          case 15:
-+            element="athlon-4";
-+            break;
-+          default:
-+            break;
-+          } // end switch( family )
-+          break;
-+        case 0x69727943: // Cyrix
-+          element="i386"; // who knows what cyrix supports, lets be safe
-+          break;
-+        default:
-+          break;
-+        } // end switch(ebx)
-+      }
-+
-+#endif
-+      }
- #endif
- #ifdef UNAME_PROCESSOR
-       if (element == unknown)
-@@ -293,7 +406,7 @@
-   if (toprint & PRINT_HARDWARE_PLATFORM)
-     {
--      char const *element = unknown;
-+      char *element = unknown;
- #if HAVE_SYSINFO && defined SI_PLATFORM
-       {
-       static char hardware_platform[257];
-@@ -301,6 +414,15 @@
-                         hardware_platform, sizeof hardware_platform))
-         element = hardware_platform;
-       }
-+#else
-+      {
-+      struct utsname u;
-+      uname (&u);
-+      element = u.machine;
-+      if (strlen (element) == 4 && element[0] == 'i' && element[2] == '8'
-+          && element[3] == '6')
-+        element[1] = '3';
-+      }
- #endif
- #ifdef UNAME_HARDWARE_PLATFORM
-       if (element == unknown)
-@@ -323,3 +445,29 @@
-   exit (EXIT_SUCCESS);
- }
-+
-+#ifdef linux
-+
-+/******************************************************************************
-+ *
-+ * int has_sse( void )
-+ * Checks Athlon CPU's to see if they support SSE.
-+ *
-+ *****************************************************************************/
-+
-+int has_sse( void )
-+{
-+  unsigned long edx, unused;
-+  int sse;
-+  cpuid(1,unused,unused,unused,edx);
-+  // I think, I need this tested on a Duron with SSE
-+  // and one without it.
-+  sse = edx & 0x2000000;
-+  if( sse == 0 ) {
-+    return 0;
-+  } else {
-+    return 1;
-+  }
-+
-+}
-+#endif
index 71b85e7a451f291363b86351e2d4d494b1bcfcd0..3d0e416b0d75e05e60e47336d99e3c7ad52d041c 100644 (file)
@@ -1,19 +1,7 @@
-From ea2d050b1952feb99f86c98255280beb6e589d8c Mon Sep 17 00:00:00 2001
-From: Ludwig Nussel <ludwig.nussel@suse.de>
-Date: Tue, 17 Aug 2010 13:21:44 +0200
-Subject: [PATCH 1/7] pam support for su
-
----
- configure.ac    |   14 +++
- src/Makefile.am |    4 +-
- src/su.c        |  266 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
- 3 files changed, 278 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b07a52b..1fb5839 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -128,6 +128,20 @@ fi
+diff -urNp coreutils-8.16-orig/configure.ac coreutils-8.16/configure.ac
+--- coreutils-8.16-orig/configure.ac   2012-03-24 19:22:13.000000000 +0100
++++ coreutils-8.16/configure.ac        2012-03-26 17:59:07.900139497 +0200
+@@ -185,6 +185,20 @@ fi
  
  AC_FUNC_FORK
  
@@ -34,11 +22,34 @@ index b07a52b..1fb5839 100644
  optional_bin_progs=
  AC_CHECK_FUNCS([chroot],
          gl_ADD_PROG([optional_bin_progs], [chroot]))
-diff --git a/src/Makefile.am b/src/Makefile.am
-index db5359b..154a5ed 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -363,8 +363,8 @@ factor_LDADD += $(LIB_GMP)
+diff -urNp coreutils-8.16-orig/doc/coreutils.texi coreutils-8.16/doc/coreutils.texi
+--- coreutils-8.16-orig/doc/coreutils.texi     2012-03-26 17:58:27.624763998 +0200
++++ coreutils-8.16/doc/coreutils.texi  2012-03-26 17:59:07.907138599 +0200
+@@ -15804,7 +15804,9 @@ the exit status of @var{command} otherwi
+ @command{su} allows one user to temporarily become another user.  It runs a
+ command (often an interactive shell) with the real and effective user
+-ID, group ID, and supplemental groups of a given @var{user}.  Synopsis:
++ID, group ID, and supplemental groups of a given @var{user}. When the -l
++option is given, the su-l PAM file is used instead of the default su PAM file.
++Synopsis:
+ @example
+ su [@var{option}]@dots{} [@var{user} [@var{arg}]@dots{}]
+@@ -15883,7 +15885,8 @@ environment variables except @env{TERM},
+ (which are set, even for the super-user, as described above), and set
+ @env{PATH} to a compiled-in default value.  Change to @var{user}'s home
+ directory.  Prepend @samp{-} to the shell's name, intended to make it
+-read its login startup file(s).
++read its login startup file(s). When this option is given, /etc/pam.d/su-l
++PAM file is used instead of the default one.
+ @item -m
+ @itemx -p
+diff -urNp coreutils-8.16-orig/src/Makefile.am coreutils-8.16/src/Makefile.am
+--- coreutils-8.16-orig/src/Makefile.am        2012-03-24 19:22:13.000000000 +0100
++++ coreutils-8.16/src/Makefile.am     2012-03-26 17:59:07.928142551 +0200
+@@ -357,8 +357,8 @@ factor_LDADD += $(LIB_GMP)
  # for getloadavg
  uptime_LDADD += $(GETLOADAVG_LIBS)
  
@@ -49,10 +60,9 @@ index db5359b..154a5ed 100644
  
  # for various ACL functions
  copy_LDADD += $(LIB_ACL)
-diff --git a/src/su.c b/src/su.c
-index f8f5b61..811aad7 100644
---- a/src/su.c
-+++ b/src/su.c
+diff -urNp coreutils-8.16-orig/src/su.c coreutils-8.16/src/su.c
+--- coreutils-8.16-orig/src/su.c       2012-03-26 17:58:27.629764055 +0200
++++ coreutils-8.16/src/su.c    2012-03-26 17:59:07.931138998 +0200
 @@ -37,6 +37,16 @@
     restricts who can su to UID 0 accounts.  RMS considers that to
     be fascist.
@@ -84,7 +94,7 @@ index f8f5b61..811aad7 100644
  
  #include "system.h"
  #include "getpass.h"
-@@ -111,7 +128,9 @@
+@@ -120,7 +137,9 @@
  /* The user to become if none is specified.  */
  #define DEFAULT_USER "root"
  
@@ -94,7 +104,7 @@ index f8f5b61..811aad7 100644
  
  static void run_shell (char const *, char const *, char **, size_t)
       ATTRIBUTE_NORETURN;
-@@ -125,6 +144,11 @@ static bool simulate_login;
+@@ -134,6 +153,11 @@ static bool simulate_login;
  /* If true, change some environment vars to indicate the user su'd to.  */
  static bool change_environment;
  
@@ -106,7 +116,7 @@ index f8f5b61..811aad7 100644
  static struct option const longopts[] =
  {
    {"command", required_argument, NULL, 'c'},
-@@ -200,7 +224,164 @@ log_su (struct passwd const *pw, bool successful)
+@@ -212,7 +236,174 @@ log_su (struct passwd const *pw, bool su
  }
  #endif
  
@@ -168,7 +178,7 @@ index f8f5b61..811aad7 100644
 +create_watching_parent (void)
 +{
 +  pid_t child;
-+  sigset_t ourset;
++  sigset_t ourset, blockset;
 +  int status = 0;
 +
 +  retval = pam_open_session (pamh, 0);
@@ -230,7 +240,17 @@ index f8f5b61..811aad7 100644
 +
 +        if (pid != (pid_t)-1 && WIFSTOPPED (status))
 +          {
++       /* tcsh sends SIGTSTP to the process group, and so is already pending */
 +            kill (getpid (), SIGSTOP);
++             if (WSTOPSIG(status) != SIGSTOP) {
++               sigemptyset(&blockset);
++               if (sigaddset(&blockset, WSTOPSIG(status)) ||
++                   sigprocmask(SIG_UNBLOCK, &blockset, &ourset) ||
++                   sigprocmask(SIG_SETMASK, &ourset, NULL))
++                {
++                   error (0, errno, _("cannot set signal handler"));
++                }
++             }
 +            /* once we get here, we must have resumed */
 +            kill (pid, SIGCONT);
 +          }
@@ -271,7 +291,7 @@ index f8f5b61..811aad7 100644
     Return true if the user gives the correct password for entry PW,
     false if not.  Return true without asking for a password if run by UID 0
     or if PW has an empty password.  */
-@@ -208,10 +389,52 @@ log_su (struct passwd const *pw, bool successful)
+@@ -220,10 +411,52 @@ log_su (struct passwd const *pw, bool su
  static bool
  correct_password (const struct passwd *pw)
  {
@@ -325,15 +345,15 @@ index f8f5b61..811aad7 100644
  
    endspent ();
    if (sp)
-@@ -232,6 +455,7 @@ correct_password (const struct passwd *pw)
+@@ -244,6 +477,7 @@ correct_password (const struct passwd *p
    encrypted = crypt (unencrypted, correct);
    memset (unencrypted, 0, strlen (unencrypted));
    return STREQ (encrypted, correct);
 +#endif /* !USE_PAM */
  }
  
- /* Update `environ' for the new shell based on PW, with SHELL being
-@@ -274,19 +498,41 @@ modify_environment (const struct passwd *pw, const char *shell)
+ /* Update 'environ' for the new shell based on PW, with SHELL being
+@@ -286,19 +520,41 @@ modify_environment (const struct passwd 
              }
          }
      }
@@ -377,7 +397,7 @@ index f8f5b61..811aad7 100644
    if (setgid (pw->pw_gid))
      error (EXIT_CANCELED, errno, _("cannot set group id"));
    if (setuid (pw->pw_uid))
-@@ -500,9 +746,21 @@ main (int argc, char **argv)
+@@ -511,9 +767,21 @@ main (int argc, char **argv)
        shell = NULL;
      }
    shell = xstrdup (shell ? shell : pw->pw_shell);
@@ -400,29 +420,3 @@ index f8f5b61..811aad7 100644
    if (simulate_login && chdir (pw->pw_dir) != 0)
      error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
  
--- 
-1.7.1
-diff -urNp coreutils-8.7-orig/doc/coreutils.texi coreutils-8.7/doc/coreutils.texi
---- coreutils-8.7-orig/doc/coreutils.texi      2010-11-15 12:47:03.529922880 +0100
-+++ coreutils-8.7/doc/coreutils.texi   2010-11-15 12:49:55.945171380 +0100
-@@ -15180,7 +15180,9 @@ the exit status of @var{command} otherwi
- @command{su} allows one user to temporarily become another user.  It runs a
- command (often an interactive shell) with the real and effective user
--ID, group ID, and supplemental groups of a given @var{user}.  Synopsis:
-+ID, group ID, and supplemental groups of a given @var{user}. When the -l
-+option is given, the su-l PAM file is used instead of the default su PAM file.
-+Synopsis:
- @example
- su [@var{option}]@dots{} [@var{user} [@var{arg}]@dots{}]
-@@ -15259,7 +15261,8 @@ environment variables except @env{TERM},
- (which are set, even for the super-user, as described above), and set
- @env{PATH} to a compiled-in default value.  Change to @var{user}'s home
- directory.  Prepend @samp{-} to the shell's name, intended to make it
--read its login startup file(s).
-+read its login startup file(s). When this option is given, /etc/pam.d/su-l
-+PAM file is used instead of the default one.
- @item -m
- @itemx -p
diff --git a/coreutils/patches/coreutils-8.7-runuser.patch b/coreutils/patches/coreutils-8.7-runuser.patch
new file mode 100644 (file)
index 0000000..533e15a
--- /dev/null
@@ -0,0 +1,338 @@
+diff -urNp coreutils-8.7-orig/AUTHORS coreutils-8.7/AUTHORS
+--- coreutils-8.7-orig/AUTHORS 2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/AUTHORS      2010-11-15 10:08:04.222078001 +0100
+@@ -65,6 +65,7 @@ readlink: Dmitry V. Levin
+ rm: Paul Rubin, David MacKenzie, Richard M. Stallman, Jim Meyering
+ rmdir: David MacKenzie
+ runcon: Russell Coker
++runuser: David MacKenzie, Dan Walsh
+ seq: Ulrich Drepper
+ sha1sum: Ulrich Drepper, Scott Miller, David Madore
+ sha224sum: Ulrich Drepper, Scott Miller, David Madore
+diff -urNp coreutils-8.7-orig/man/help2man coreutils-8.7/man/help2man
+--- coreutils-8.7-orig/man/help2man    2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/man/help2man 2010-11-15 10:08:51.331054884 +0100
+@@ -555,6 +555,9 @@ while (length)
+     $include{$sect} .= $content;
+ }
++# There is no info documentation for runuser (shared with su).
++$opt_no_info = 1 if $program eq 'runuser';
++
+ # Refer to the real documentation.
+ unless ($opt_no_info)
+ {
+diff -urNp coreutils-8.7-orig/man/Makefile.am coreutils-8.7/man/Makefile.am
+--- coreutils-8.7-orig/man/Makefile.am 2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/man/Makefile.am      2010-11-15 10:09:21.768922182 +0100
+@@ -94,6 +94,7 @@ readlink.1:  $(common_dep)   $(srcdir)/read
+ rm.1:         $(common_dep)   $(srcdir)/rm.x          ../src/rm.c
+ rmdir.1:      $(common_dep)   $(srcdir)/rmdir.x       ../src/rmdir.c
+ runcon.1:     $(common_dep)   $(srcdir)/runcon.x      ../src/runcon.c
++runuser.1:    $(common_dep)   $(srcdir)/runuser.x     ../src/su.c
+ seq.1:                $(common_dep)   $(srcdir)/seq.x         ../src/seq.c
+ sha1sum.1:    $(common_dep)   $(srcdir)/sha1sum.x     ../src/md5sum.c
+ sha224sum.1:  $(common_dep)   $(srcdir)/sha224sum.x   ../src/md5sum.c
+diff -urNp coreutils-8.7-orig/man/runuser.x coreutils-8.7/man/runuser.x
+--- coreutils-8.7-orig/man/runuser.x   1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.7/man/runuser.x        2010-11-15 10:09:57.437939015 +0100
+@@ -0,0 +1,12 @@
++[NAME]
++runuser \- run a shell with substitute user and group IDs
++[DESCRIPTION]
++.\" Add any additional description here
++[SEE ALSO]
++.TP
++More detailed Texinfo documentation could be found by command
++.TP
++\t\fBinfo coreutils \(aqsu invocation\(aq\fR\t
++.TP
++since the command \fBrunuser\fR is trimmed down version of command \fBsu\fR.
++.br
+diff -urNp coreutils-8.7-orig/README coreutils-8.7/README
+--- coreutils-8.7-orig/README  2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/README       2010-11-15 10:10:43.002922253 +0100
+@@ -11,8 +11,8 @@ The programs that can be built with this
+   factor false fmt fold groups head hostid hostname id install join kill
+   link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup
+   nproc od paste pathchk pinky pr printenv printf ptx pwd readlink realpath
+-  rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred
+-  shuf sleep sort split stat stdbuf stty su sum sync tac tail tee test
++  rm rmdir runcon runuser seq sha1sum sha224sum sha256sum sha384sum sha512sum
++  shred shuf sleep sort split stat stdbuf stty su sum sync tac tail tee test
+   timeout touch tr true truncate tsort tty uname unexpand uniq unlink
+   uptime users vdir wc who whoami yes
+diff -urNp coreutils-8.7-orig/src/Makefile.am coreutils-8.7/src/Makefile.am
+--- coreutils-8.7-orig/src/Makefile.am 2010-11-15 10:07:07.339171659 +0100
++++ coreutils-8.7/src/Makefile.am      2010-11-15 10:12:14.847094550 +0100
+@@ -100,6 +100,7 @@ EXTRA_PROGRAMS = \
+   rm          \
+   rmdir               \
+   runcon      \
++  runuser     \
+   seq         \
+   sha1sum     \
+   sha224sum   \
+@@ -300,6 +301,10 @@ cp_LDADD += $(copy_LDADD)
+ ginstall_LDADD += $(copy_LDADD)
+ mv_LDADD += $(copy_LDADD)
++runuser_SOURCES = su.c
++runuser_CFLAGS = -DRUNUSER -DAUTHORS="\"David MacKenzie, Dan Walsh\""
++runuser_LDADD = $(LDADD) $(LIB_CRYPT) $(PAM_LIBS)
++
+ remove_LDADD =
+ mv_LDADD += $(remove_LDADD)
+ rm_LDADD += $(remove_LDADD)
+@@ -395,7 +400,7 @@ RELEASE_YEAR = \
+   `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \
+     $(top_srcdir)/lib/version-etc.c`
+-all-local: su$(EXEEXT)
++all-local: su$(EXEEXT) runuser
+ installed_su = $(DESTDIR)$(bindir)/`echo su|sed '$(transform)'`
+diff -urNp coreutils-8.7-orig/src/su.c coreutils-8.7/src/su.c
+--- coreutils-8.7-orig/src/su.c        2010-11-15 10:07:07.372933288 +0100
++++ coreutils-8.7/src/su.c     2010-11-15 10:42:12.569159230 +0100
+@@ -100,9 +100,15 @@
+ #include "error.h"
+ /* The official name of this program (e.g., no 'g' prefix).  */
++#ifndef RUNUSER
+ #define PROGRAM_NAME "su"
++#else
++#define PROGRAM_NAME "runuser"
++#endif
++#ifndef AUTHORS
+ #define AUTHORS proper_name ("David MacKenzie")
++#endif
+ #if HAVE_PATHS_H
+ # include <paths.h>
+@@ -140,6 +146,9 @@
+ #ifndef USE_PAM
+ char *crypt (char const *key, char const *salt);
+ #endif
++#ifndef CHECKPASSWD
++#define CHECKPASSWD 1
++#endif
+ static void run_shell (char const *, char const *, char **, size_t)
+      ATTRIBUTE_NORETURN;
+@@ -169,6 +178,10 @@ static struct option const longopts[] =
+   {"login", no_argument, NULL, 'l'},
+   {"preserve-environment", no_argument, NULL, 'p'},
+   {"shell", required_argument, NULL, 's'},
++#ifdef RUNUSER
++  {"group", required_argument, NULL, 'g'},
++  {"supp-group", required_argument, NULL, 'G'},
++#endif
+   {GETOPT_HELP_OPTION_DECL},
+   {GETOPT_VERSION_OPTION_DECL},
+   {NULL, 0, NULL, 0}
+@@ -444,6 +457,11 @@ correct_password (const struct passwd *p
+       retval = pam_set_item (pamh, PAM_RUSER, (const void *) lpw->pw_name);
+       PAM_BAIL_P (return false);
+     }
++#ifdef RUNUSER
++  if (getuid() != geteuid())
++    /* safety net: deny operation if we are suid by accident */
++    error(EXIT_FAILURE, 1, "runuser may not be setuid");
++#else
+   retval = pam_authenticate (pamh, 0);
+   PAM_BAIL_P (return false);
+   retval = pam_acct_mgmt (pamh, 0);
+@@ -454,6 +472,7 @@ correct_password (const struct passwd *p
+       PAM_BAIL_P (return false);
+     }
+   PAM_BAIL_P (return false);
++#endif
+   /* Must be authenticated if this point was reached.  */
+   return true;
+ #else /* !USE_PAM */
+@@ -533,11 +552,22 @@ modify_environment (const struct passwd 
+ /* Become the user and group(s) specified by PW.  */
+ static void
+-init_groups (const struct passwd *pw)
++init_groups (const struct passwd *pw
++#ifdef RUNUSER
++                 , gid_t *groups, int num_groups
++#endif
++        )
+ {
+ #ifdef HAVE_INITGROUPS
++  int rc = 0;
+   errno = 0;
+-  if (initgroups (pw->pw_name, pw->pw_gid) == -1)
++#ifdef RUNUSER
++  if (num_groups)
++    rc = setgroups(num_groups, groups);
++  else
++#endif
++    rc = initgroups(pw->pw_name, pw->pw_gid);
++  if (rc == -1)
+     {
+ #ifdef USE_PAM
+       cleanup_pam (PAM_ABORT);
+@@ -639,6 +669,28 @@ usage (int status)
+   else
+     {
+       printf (_("Usage: %s [OPTION]... [-] [USER [ARG]...]\n"), program_name);
++#ifdef RUNUSER
++      printf (_("\
++Change the effective user id and group id to that of USER.  Only session PAM\n\
++hooks are run, and there is no password prompt.  This command is useful only\n\
++when run as the root user.  If run as a non-root user without privilege\n\
++to set user ID, the command will fail as the binary is not setuid.\n\
++As %s doesn't run auth and account PAM hooks, it runs with lower overhead\n\
++than su.\n\
++\n\
++  -, -l, --login               make the shell a login shell, uses runuser-l\n\
++                               PAM file instead of default one\n\
++  -g --group=group             specify the primary group\n\
++  -G --supp-group=group        specify a supplemental group\n\
++  -c, --command=COMMAND        pass a single COMMAND to the shell with -c\n\
++  --session-command=COMMAND    pass a single COMMAND to the shell with -c\n\
++                               and do not create a new session\n\
++  -f, --fast                   pass -f to the shell (for csh or tcsh)\n\
++  -m, --preserve-environment   do not reset environment variables\n\
++  -p                           same as -m\n\
++  -s, --shell=SHELL            run SHELL if /etc/shells allows it\n\
++"), program_name);
++#else
+       fputs (_("\
+ Change the effective user id and group id to that of USER.\n\
+ \n\
+@@ -651,6 +703,7 @@ Change the effective user id and group i
+   -p                           same as -m\n\
+   -s, --shell=SHELL            run SHELL if /etc/shells allows it\n\
+ "), stdout);
++#endif
+       fputs (HELP_OPTION_DESCRIPTION, stdout);
+       fputs (VERSION_OPTION_DESCRIPTION, stdout);
+       fputs (_("\
+@@ -672,6 +725,12 @@ main (int argc, char **argv)
+   char *shell = NULL;
+   struct passwd *pw;
+   struct passwd pw_copy;
++#ifdef RUNUSER
++  struct group *gr;
++  gid_t groups[NGROUPS_MAX];
++  int num_supp_groups = 0;
++  int use_gid = 0;
++#endif
+   initialize_main (&argc, &argv);
+   set_program_name (argv[0]);
+@@ -686,7 +745,11 @@ main (int argc, char **argv)
+   simulate_login = false;
+   change_environment = true;
+-  while ((optc = getopt_long (argc, argv, "c:flmps:", longopts, NULL)) != -1)
++  while ((optc = getopt_long (argc, argv, "c:flmps:"
++#ifdef RUNUSER
++                              "g:G:"
++#endif
++                              , longopts, NULL)) != -1)
+     {
+       switch (optc)
+         {
+@@ -716,6 +779,28 @@ main (int argc, char **argv)
+           shell = optarg;
+           break;
++#ifdef RUNUSER
++        case 'g':
++          gr = getgrnam(optarg);
++          if (!gr)
++            error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
++          use_gid = 1;
++          groups[0] = gr->gr_gid;
++          break;
++
++        case 'G':
++          num_supp_groups++;
++          if (num_supp_groups >= NGROUPS_MAX)
++            error (EXIT_FAILURE, 0,
++                   _("Can't specify more than %d supplemental groups"),
++                   NGROUPS_MAX - 1);
++          gr = getgrnam(optarg);
++          if (!gr)
++            error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
++          groups[num_supp_groups] = gr->gr_gid;
++          break;
++#endif
++
+         case_GETOPT_HELP_CHAR;
+         case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
+@@ -754,7 +839,20 @@ main (int argc, char **argv)
+                           : DEFAULT_SHELL);
+   endpwent ();
+-  if (!correct_password (pw))
++#ifdef RUNUSER
++  if (num_supp_groups && !use_gid)
++  {
++    pw->pw_gid = groups[1];
++    memmove (groups, groups + 1, sizeof(gid_t) * num_supp_groups);
++  }
++  else if (use_gid)
++  {
++    pw->pw_gid = groups[0];
++    num_supp_groups++;
++  }
++#endif
++
++  if (CHECKPASSWD && !correct_password (pw))
+     {
+ #ifdef SYSLOG_FAILURE
+       log_su (pw, false);
+@@ -784,7 +882,11 @@ main (int argc, char **argv)
+     }
+   shell = xstrdup (shell ? shell : pw->pw_shell);
+-  init_groups (pw);
++  init_groups (pw
++#ifdef RUNUSER
++                   , groups, num_supp_groups
++#endif
++          );
+ #ifdef USE_PAM
+   create_watching_parent ();
+diff -urNp coreutils-8.7-orig/tests/misc/help-version coreutils-8.7/tests/misc/help-version
+--- coreutils-8.7-orig/tests/misc/help-version 2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/tests/misc/help-version      2010-11-15 10:45:18.473682325 +0100
+@@ -32,6 +32,7 @@ expected_failure_status_nohup=125
+ expected_failure_status_stdbuf=125
+ expected_failure_status_su=125
+ expected_failure_status_timeout=125
++expected_failure_status_runuser=125
+ expected_failure_status_printenv=2
+ expected_failure_status_tty=3
+ expected_failure_status_sort=2
+@@ -209,6 +210,7 @@ seq_setup () { args=10; }
+ sleep_setup () { args=0; }
+ su_setup () { args=--version; }
+ stdbuf_setup () { args="-oL true"; }
++runuser_setup () { args=--version; }
+ timeout_setup () { args=--version; }
+ # I'd rather not run sync, since it spins up disks that I've
+diff -urNp coreutils-8.7-orig/tests/misc/invalid-opt coreutils-8.7/tests/misc/invalid-opt
+--- coreutils-8.7-orig/tests/misc/invalid-opt  2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/tests/misc/invalid-opt       2010-11-15 10:45:46.451938873 +0100
+@@ -37,6 +37,7 @@ my %exit_status =
+     sort => 2,
+     stdbuf => 125,
+     su => 125,
++    runuser => 125,
+     test => 0,
+     timeout => 125,
+     true => 0,
index e2f9f21ed09bb1d5a8adac0fba8970f81399273e..ee2cf73aa6940f82c0aa6b61393e1f173149997a 100644 (file)
@@ -1,6 +1,6 @@
-diff -urNp coreutils-8.13-orig/lib/linebuffer.h coreutils-8.13/lib/linebuffer.h
---- coreutils-8.13-orig/lib/linebuffer.h       2011-04-24 19:21:45.000000000 +0200
-+++ coreutils-8.13/lib/linebuffer.h    2011-09-09 10:23:14.163704760 +0200
+diff -urNp coreutils-8.16-orig/lib/linebuffer.h coreutils-8.16/lib/linebuffer.h
+--- coreutils-8.16-orig/lib/linebuffer.h       2012-01-06 10:14:31.000000000 +0100
++++ coreutils-8.16/lib/linebuffer.h    2012-03-26 18:02:00.993889446 +0200
 @@ -21,6 +21,11 @@
  
  # include <stdio.h>
@@ -23,9 +23,9 @@ diff -urNp coreutils-8.13-orig/lib/linebuffer.h coreutils-8.13/lib/linebuffer.h
  };
  
  /* Initialize linebuffer LINEBUFFER for use. */
-diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
---- coreutils-8.13-orig/src/cut.c      2011-07-28 12:38:27.000000000 +0200
-+++ coreutils-8.13/src/cut.c   2011-09-09 10:23:14.165701039 +0200
+diff -urNp coreutils-8.16-orig/src/cut.c coreutils-8.16/src/cut.c
+--- coreutils-8.16-orig/src/cut.c      2012-03-24 21:26:51.000000000 +0100
++++ coreutils-8.16/src/cut.c   2012-03-26 17:46:48.000000000 +0200
 @@ -28,6 +28,11 @@
  #include <assert.h>
  #include <getopt.h>
@@ -54,7 +54,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
 +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
 +#endif
 +
- /* The official name of this program (e.g., no `g' prefix).  */
+ /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "cut"
  
 @@ -72,6 +89,52 @@
@@ -118,7 +118,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
 +/* The largest byte, character or field index used as an endpoint of a closed
     or degenerate range specification;  this doesn't include the starting
     index of right-open-ended ranges.  For example, with either range spec
-    `2-5,9-', `2-3,5,9-' this variable would be set to 5.  */
+    '2-5,9-', '2-3,5,9-' this variable would be set to 5.  */
 @@ -102,10 +165,11 @@ static size_t eol_range_start;
  
  /* This is a bit vector.
@@ -170,7 +170,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
  
  /* True if the --output-delimiter=STRING option was specified.  */
  static bool output_delimiter_specified;
-@@ -207,7 +284,7 @@ Mandatory arguments to long options are 
+@@ -206,7 +283,7 @@ Mandatory arguments to long options are 
    -f, --fields=LIST       select only these fields;  also print any line\n\
                              that contains no delimiter character, unless\n\
                              the -s option is specified\n\
@@ -179,7 +179,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
  "), stdout);
        fputs (_("\
        --complement        complement the set of selected bytes, characters\n\
-@@ -366,7 +443,7 @@ set_fields (const char *fieldstr)
+@@ -365,7 +442,7 @@ set_fields (const char *fieldstr)
            in_digits = false;
            /* Starting a range. */
            if (dash_found)
@@ -188,10 +188,10 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
            dash_found = true;
            fieldstr++;
  
-@@ -390,14 +467,16 @@ set_fields (const char *fieldstr)
+@@ -389,14 +466,16 @@ set_fields (const char *fieldstr)
                if (!rhs_specified)
                  {
-                   /* `n-'.  From `initial' to end of line. */
+                   /* 'n-'.  From 'initial' to end of line. */
 -                  eol_range_start = initial;
 +                  if (eol_range_start == 0 ||
 +                      (eol_range_start != 0 && eol_range_start > initial))
@@ -200,14 +200,14 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
                  }
                else
                  {
-                   /* `m-n' or `-n' (1-n). */
+                   /* 'm-n' or '-n' (1-n). */
                    if (value < initial)
 -                    FATAL_ERROR (_("invalid decreasing range"));
 +                    FATAL_ERROR (_("invalid byte, character or field list"));
  
                    /* Is there already a range going to end of line? */
                    if (eol_range_start != 0)
-@@ -477,6 +556,9 @@ set_fields (const char *fieldstr)
+@@ -476,6 +555,9 @@ set_fields (const char *fieldstr)
                if (operating_mode == byte_mode)
                  error (0, 0,
                         _("byte offset %s is too large"), quote (bad_num));
@@ -217,7 +217,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
                else
                  error (0, 0,
                         _("field number %s is too large"), quote (bad_num));
-@@ -487,7 +569,7 @@ set_fields (const char *fieldstr)
+@@ -486,7 +568,7 @@ set_fields (const char *fieldstr)
            fieldstr++;
          }
        else
@@ -226,7 +226,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
      }
  
    max_range_endpoint = 0;
-@@ -582,6 +664,77 @@ cut_bytes (FILE *stream)
+@@ -581,6 +663,77 @@ cut_bytes (FILE *stream)
      }
  }
  
@@ -304,7 +304,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
  /* Read from stream STREAM, printing to standard output any selected fields.  */
  
  static void
-@@ -704,13 +843,195 @@ cut_fields (FILE *stream)
+@@ -703,13 +856,195 @@ cut_fields (FILE *stream)
      }
  }
  
@@ -503,7 +503,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
  }
  
  /* Process file FILE to standard output.
-@@ -762,6 +1080,8 @@ main (int argc, char **argv)
+@@ -761,6 +1096,8 @@ main (int argc, char **argv)
    bool ok;
    bool delim_specified = false;
    char *spec_list_string IF_LINT ( = NULL);
@@ -512,7 +512,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
  
    initialize_main (&argc, &argv);
    set_program_name (argv[0]);
-@@ -784,7 +1104,6 @@ main (int argc, char **argv)
+@@ -783,7 +1120,6 @@ main (int argc, char **argv)
        switch (optc)
          {
          case 'b':
@@ -520,7 +520,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
            /* Build the byte list. */
            if (operating_mode != undefined_mode)
              FATAL_ERROR (_("only one type of list may be specified"));
-@@ -792,6 +1111,14 @@ main (int argc, char **argv)
+@@ -791,6 +1127,14 @@ main (int argc, char **argv)
            spec_list_string = optarg;
            break;
  
@@ -535,10 +535,10 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
          case 'f':
            /* Build the field list. */
            if (operating_mode != undefined_mode)
-@@ -803,10 +1130,35 @@ main (int argc, char **argv)
+@@ -802,10 +1146,35 @@ main (int argc, char **argv)
          case 'd':
            /* New delimiter. */
-           /* Interpret -d '' to mean `use the NUL byte as the delimiter.'  */
+           /* Interpret -d '' to mean 'use the NUL byte as the delimiter.'  */
 -          if (optarg[0] != '\0' && optarg[1] != '\0')
 -            FATAL_ERROR (_("the delimiter must be a single character"));
 -          delim = optarg[0];
@@ -575,7 +575,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
            break;
  
          case OUTPUT_DELIMITER_OPTION:
-@@ -819,6 +1171,7 @@ main (int argc, char **argv)
+@@ -818,6 +1187,7 @@ main (int argc, char **argv)
            break;
  
          case 'n':
@@ -583,7 +583,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
            break;
  
          case 's':
-@@ -841,7 +1194,7 @@ main (int argc, char **argv)
+@@ -840,7 +1210,7 @@ main (int argc, char **argv)
    if (operating_mode == undefined_mode)
      FATAL_ERROR (_("you must specify a list of bytes, characters, or fields"));
  
@@ -592,7 +592,7 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
      FATAL_ERROR (_("an input delimiter may be specified only\
   when operating on fields"));
  
-@@ -868,15 +1221,34 @@ main (int argc, char **argv)
+@@ -867,15 +1237,34 @@ main (int argc, char **argv)
      }
  
    if (!delim_specified)
@@ -633,10 +633,10 @@ diff -urNp coreutils-8.13-orig/src/cut.c coreutils-8.13/src/cut.c
      }
  
    if (optind == argc)
-diff -urNp coreutils-8.13-orig/src/expand.c coreutils-8.13/src/expand.c
---- coreutils-8.13-orig/src/expand.c   2011-07-28 12:38:27.000000000 +0200
-+++ coreutils-8.13/src/expand.c        2011-09-09 10:23:14.167583399 +0200
-@@ -38,12 +38,29 @@
+diff -urNp coreutils-8.16-orig/src/expand.c coreutils-8.16/src/expand.c
+--- coreutils-8.16-orig/src/expand.c   2012-03-24 21:26:51.000000000 +0100
++++ coreutils-8.16/src/expand.c        2012-03-26 17:42:56.000000000 +0200
+@@ -37,12 +37,29 @@
  #include <stdio.h>
  #include <getopt.h>
  #include <sys/types.h>
@@ -663,10 +663,10 @@ diff -urNp coreutils-8.13-orig/src/expand.c coreutils-8.13/src/expand.c
 +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
 +#endif
 +
- /* The official name of this program (e.g., no `g' prefix).  */
+ /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "expand"
  
-@@ -360,6 +377,142 @@ expand (void)
+@@ -358,6 +375,142 @@ expand (void)
      }
  }
  
@@ -809,7 +809,7 @@ diff -urNp coreutils-8.13-orig/src/expand.c coreutils-8.13/src/expand.c
  int
  main (int argc, char **argv)
  {
-@@ -424,7 +577,12 @@ main (int argc, char **argv)
+@@ -422,7 +575,12 @@ main (int argc, char **argv)
  
    file_list = (optind < argc ? &argv[optind] : stdin_argv);
  
@@ -823,9 +823,9 @@ diff -urNp coreutils-8.13-orig/src/expand.c coreutils-8.13/src/expand.c
  
    if (have_read_stdin && fclose (stdin) != 0)
      error (EXIT_FAILURE, errno, "-");
-diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
---- coreutils-8.13-orig/src/fold.c     2011-07-28 12:38:27.000000000 +0200
-+++ coreutils-8.13/src/fold.c  2011-09-09 10:23:14.169583741 +0200
+diff -urNp coreutils-8.16-orig/src/fold.c coreutils-8.16/src/fold.c
+--- coreutils-8.16-orig/src/fold.c     2012-03-24 19:22:13.000000000 +0100
++++ coreutils-8.16/src/fold.c  2012-03-26 17:48:37.000000000 +0200
 @@ -22,12 +22,34 @@
  #include <getopt.h>
  #include <sys/types.h>
@@ -860,7 +860,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
 +
  #define TAB_WIDTH 8
  
- /* The official name of this program (e.g., no `g' prefix).  */
+ /* The official name of this program (e.g., no 'g' prefix).  */
 @@ -35,20 +57,41 @@
  
  #define AUTHORS proper_name ("David MacKenzie")
@@ -907,7 +907,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
    {"spaces", no_argument, NULL, 's'},
    {"width", required_argument, NULL, 'w'},
    {GETOPT_HELP_OPTION_DECL},
-@@ -78,6 +121,7 @@ Mandatory arguments to long options are 
+@@ -77,6 +120,7 @@ Mandatory arguments to long options are 
  "), stdout);
        fputs (_("\
    -b, --bytes         count bytes rather than columns\n\
@@ -915,7 +915,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
    -s, --spaces        break at spaces\n\
    -w, --width=WIDTH   use WIDTH columns instead of 80\n\
  "), stdout);
-@@ -95,7 +139,7 @@ Mandatory arguments to long options are 
+@@ -94,7 +138,7 @@ Mandatory arguments to long options are 
  static size_t
  adjust_column (size_t column, char c)
  {
@@ -924,7 +924,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
      {
        if (c == '\b')
          {
-@@ -118,30 +162,14 @@ adjust_column (size_t column, char c)
+@@ -117,30 +161,14 @@ adjust_column (size_t column, char c)
     to stdout, with maximum line length WIDTH.
     Return true if successful.  */
  
@@ -936,7 +936,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
 -  FILE *istream;
    int c;
    size_t column = 0;          /* Screen column where next char will go. */
-   size_t offset_out = 0;      /* Index in `line_out' for next char. */
+   size_t offset_out = 0;      /* Index in 'line_out' for next char. */
    static char *line_out = NULL;
    static size_t allocated_out = 0;
 -  int saved_errno;
@@ -957,7 +957,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
  
    fadvise (istream, FADVISE_SEQUENTIAL);
  
-@@ -171,6 +199,15 @@ fold_file (char const *filename, size_t 
+@@ -170,6 +198,15 @@ fold_file (char const *filename, size_t 
                bool found_blank = false;
                size_t logical_end = offset_out;
  
@@ -973,7 +973,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
                /* Look for the last blank. */
                while (logical_end)
                  {
-@@ -217,11 +254,221 @@ fold_file (char const *filename, size_t 
+@@ -216,11 +253,221 @@ fold_file (char const *filename, size_t 
        line_out[offset_out++] = c;
      }
  
@@ -1196,7 +1196,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
    if (ferror (istream))
      {
        error (0, saved_errno, "%s", filename);
-@@ -254,7 +501,8 @@ main (int argc, char **argv)
+@@ -253,7 +500,8 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -1206,7 +1206,7 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
  
    while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1)
      {
-@@ -263,7 +511,15 @@ main (int argc, char **argv)
+@@ -262,7 +510,15 @@ main (int argc, char **argv)
        switch (optc)
          {
          case 'b':             /* Count bytes rather than columns. */
@@ -1223,9 +1223,9 @@ diff -urNp coreutils-8.13-orig/src/fold.c coreutils-8.13/src/fold.c
            break;
  
          case 's':             /* Break at word boundaries. */
-diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
---- coreutils-8.13-orig/src/join.c     2011-08-08 10:16:09.000000000 +0200
-+++ coreutils-8.13/src/join.c  2011-09-09 10:23:14.172687087 +0200
+diff -urNp coreutils-8.16-orig/src/join.c coreutils-8.16/src/join.c
+--- coreutils-8.16-orig/src/join.c     2012-03-24 21:26:51.000000000 +0100
++++ coreutils-8.16/src/join.c  2012-03-26 17:50:02.000000000 +0200
 @@ -22,18 +22,32 @@
  #include <sys/types.h>
  #include <getopt.h>
@@ -1257,11 +1257,11 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
 +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
 +#endif
 +
- /* The official name of this program (e.g., no `g' prefix).  */
+ /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "join"
  
 @@ -135,10 +149,12 @@ static struct outlist outlist_head;
- /* Last element in `outlist', where a new element can be added.  */
+ /* Last element in 'outlist', where a new element can be added.  */
  static struct outlist *outlist_end = &outlist_head;
  
 -/* Tab character separating fields.  If negative, fields are separated
@@ -1277,7 +1277,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
  
  /* If nonzero, check that the input is correctly ordered. */
  static enum
-@@ -263,13 +279,14 @@ xfields (struct line *line)
+@@ -262,13 +278,14 @@ xfields (struct line *line)
    if (ptr == lim)
      return;
  
@@ -1295,7 +1295,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
      {
        /* Skip leading blanks before the first field.  */
        while (isblank (to_uchar (*ptr)))
-@@ -293,6 +310,148 @@ xfields (struct line *line)
+@@ -292,6 +309,148 @@ xfields (struct line *line)
    extract_field (line, ptr, lim - ptr);
  }
  
@@ -1444,7 +1444,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
  static void
  freeline (struct line *line)
  {
-@@ -314,56 +473,115 @@ keycmp (struct line const *line1, struct
+@@ -313,56 +472,115 @@ keycmp (struct line const *line1, struct
          size_t jf_1, size_t jf_2)
  {
    /* Start of field to compare in each file.  */
@@ -1583,7 +1583,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
  }
  
  /* Check that successive input lines PREV and CURRENT from input file
-@@ -455,6 +673,11 @@ get_line (FILE *fp, struct line **linep,
+@@ -454,6 +672,11 @@ get_line (FILE *fp, struct line **linep,
      }
    ++line_no[which - 1];
  
@@ -1595,7 +1595,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
    xfields (line);
  
    if (prevline[which - 1])
-@@ -554,21 +777,28 @@ prfield (size_t n, struct line const *li
+@@ -553,21 +776,28 @@ prfield (size_t n, struct line const *li
  
  /* Output all the fields in line, other than the join field.  */
  
@@ -1627,7 +1627,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
        prfield (i, line);
      }
  }
-@@ -579,7 +809,6 @@ static void
+@@ -578,7 +808,6 @@ static void
  prjoin (struct line const *line1, struct line const *line2)
  {
    const struct outlist *outlist;
@@ -1635,7 +1635,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
    size_t field;
    struct line const *line;
  
-@@ -613,7 +842,7 @@ prjoin (struct line const *line1, struct
+@@ -612,7 +841,7 @@ prjoin (struct line const *line1, struct
            o = o->next;
            if (o == NULL)
              break;
@@ -1644,7 +1644,7 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
          }
        putchar ('\n');
      }
-@@ -1091,21 +1320,46 @@ main (int argc, char **argv)
+@@ -1090,21 +1319,46 @@ main (int argc, char **argv)
  
          case 't':
            {
@@ -1670,8 +1670,8 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
 +#endif
 +              newtablen = 1;
              if (! newtab)
-+            {
 -              newtab = '\n'; /* '' => process the whole line.  */
++            {
 +              newtab = "\n"; /* '' => process the whole line.  */
 +            }
              else if (optarg[1])
@@ -1701,9 +1701,9 @@ diff -urNp coreutils-8.13-orig/src/join.c coreutils-8.13/src/join.c
            break;
  
          case NOCHECK_ORDER_OPTION:
-diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
---- coreutils-8.13-orig/src/pr.c       2011-08-30 23:01:40.000000000 +0200
-+++ coreutils-8.13/src/pr.c    2011-09-09 10:23:14.177658905 +0200
+diff -urNp coreutils-8.16-orig/src/pr.c coreutils-8.16/src/pr.c
+--- coreutils-8.16-orig/src/pr.c       2012-03-24 21:26:51.000000000 +0100
++++ coreutils-8.16/src/pr.c    2012-03-26 17:50:48.000000000 +0200
 @@ -312,6 +312,32 @@
  
  #include <getopt.h>
@@ -1753,7 +1753,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
 +extern int wcwidth ();
 +#endif
 +
- /* The official name of this program (e.g., no `g' prefix).  */
+ /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "pr"
  
 @@ -415,7 +453,20 @@ struct COLUMN
@@ -1786,7 +1786,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
                         int *number);
  static void print_files (int number_of_files, char **av);
  static void init_parameters (int number_of_files);
-@@ -439,7 +491,6 @@ static void store_char (char c);
+@@ -438,7 +490,6 @@ static void store_char (char c);
  static void pad_down (int lines);
  static void read_rest_of_line (COLUMN *p);
  static void skip_read (COLUMN *p, int column_number);
@@ -1794,7 +1794,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  static void cleanup (void);
  static void print_sep_string (void);
  static void separator_string (const char *optarg_S);
-@@ -451,7 +502,7 @@ static COLUMN *column_vector;
+@@ -450,7 +501,7 @@ static COLUMN *column_vector;
     we store the leftmost columns contiguously in buff.
     To print a line from buff, get the index of the first character
     from line_vector[i], and print up to line_vector[i + 1]. */
@@ -1803,7 +1803,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
  /* Index of the position in buff where the next character
     will be stored. */
-@@ -555,7 +606,7 @@ static int chars_per_column;
+@@ -554,7 +605,7 @@ static int chars_per_column;
  static bool untabify_input = false;
  
  /* (-e) The input tab character. */
@@ -1812,7 +1812,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
  /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ...
     where the leftmost column is 1. */
-@@ -565,7 +616,10 @@ static int chars_per_input_tab = 8;
+@@ -564,7 +615,10 @@ static int chars_per_input_tab = 8;
  static bool tabify_output = false;
  
  /* (-i) The output tab character. */
@@ -1824,7 +1824,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
  /* (-i) The width of the output tab. */
  static int chars_per_output_tab = 8;
-@@ -639,7 +693,13 @@ static int power_10;
+@@ -638,7 +692,13 @@ static int power_10;
  static bool numbered_lines = false;
  
  /* (-n) Character which follows each line number. */
@@ -1839,15 +1839,15 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
  /* (-n) line counting starts with 1st line of input file (not with 1st
     line of 1st page printed). */
-@@ -692,6 +752,7 @@ static bool use_col_separator = false;
-    -a|COLUMN|-m is a `space' and with the -J option a `tab'. */
+@@ -691,6 +751,7 @@ static bool use_col_separator = false;
+    -a|COLUMN|-m is a 'space' and with the -J option a 'tab'. */
  static char *col_sep_string = (char *) "";
  static int col_sep_length = 0;
 +static int col_sep_width = 0;
  static char *column_separator = (char *) " ";
  static char *line_separator = (char *) "\t";
  
-@@ -848,6 +909,13 @@ separator_string (const char *optarg_S)
+@@ -847,6 +908,13 @@ separator_string (const char *optarg_S)
    col_sep_length = (int) strlen (optarg_S);
    col_sep_string = xmalloc (col_sep_length + 1);
    strcpy (col_sep_string, optarg_S);
@@ -1861,7 +1861,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  }
  
  int
-@@ -872,6 +940,21 @@ main (int argc, char **argv)
+@@ -871,6 +939,21 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -1883,7 +1883,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
    n_files = 0;
    file_names = (argc > 1
                  ? xmalloc ((argc - 1) * sizeof (char *))
-@@ -948,8 +1031,12 @@ main (int argc, char **argv)
+@@ -947,8 +1030,12 @@ main (int argc, char **argv)
            break;
          case 'e':
            if (optarg)
@@ -1898,7 +1898,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            /* Could check tab width > 0. */
            untabify_input = true;
            break;
-@@ -962,8 +1049,12 @@ main (int argc, char **argv)
+@@ -961,8 +1048,12 @@ main (int argc, char **argv)
            break;
          case 'i':
            if (optarg)
@@ -1913,7 +1913,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            /* Could check tab width > 0. */
            tabify_output = true;
            break;
-@@ -990,8 +1081,8 @@ main (int argc, char **argv)
+@@ -989,8 +1080,8 @@ main (int argc, char **argv)
          case 'n':
            numbered_lines = true;
            if (optarg)
@@ -1924,7 +1924,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            break;
          case 'N':
            skip_count = false;
-@@ -1030,7 +1121,7 @@ main (int argc, char **argv)
+@@ -1029,7 +1120,7 @@ main (int argc, char **argv)
            old_s = false;
            /* Reset an additional input of -s, -S dominates -s */
            col_sep_string = bad_cast ("");
@@ -1933,7 +1933,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            use_col_separator = true;
            if (optarg)
              separator_string (optarg);
-@@ -1187,10 +1278,45 @@ main (int argc, char **argv)
+@@ -1186,10 +1277,45 @@ main (int argc, char **argv)
     a number. */
  
  static void
@@ -1981,7 +1981,19 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
    if (*arg)
      {
        long int tmp_long;
-@@ -1249,7 +1375,7 @@ init_parameters (int number_of_files)
+@@ -1211,6 +1337,11 @@ static void
+ init_parameters (int number_of_files)
+ {
+   int chars_used_by_number = 0;
++  int mb_len = 1;
++#if HAVE_MBRTOWC
++  if (MB_CUR_MAX > 1)
++    mb_len = MB_LEN_MAX;
++#endif
+   lines_per_body = lines_per_page - lines_per_header - lines_per_footer;
+   if (lines_per_body <= 0)
+@@ -1248,7 +1379,7 @@ init_parameters (int number_of_files)
            else
              col_sep_string = column_separator;
  
@@ -1990,7 +2002,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            use_col_separator = true;
          }
        /* It's rather pointless to define a TAB separator with column
-@@ -1280,11 +1406,11 @@ init_parameters (int number_of_files)
+@@ -1279,11 +1410,11 @@ init_parameters (int number_of_files)
               TAB_WIDTH (chars_per_input_tab, chars_per_number);   */
  
        /* Estimate chars_per_text without any margin and keep it constant. */
@@ -2004,7 +2016,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
        /* The number is part of the column width unless we are
           printing files in parallel. */
-@@ -1299,7 +1425,7 @@ init_parameters (int number_of_files)
+@@ -1298,7 +1429,7 @@ init_parameters (int number_of_files)
      }
  
    chars_per_column = (chars_per_line - chars_used_by_number -
@@ -2013,7 +2025,16 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
    if (chars_per_column < 1)
      error (EXIT_FAILURE, 0, _("page width too narrow"));
-@@ -1424,7 +1550,7 @@ init_funcs (void)
+@@ -1315,7 +1446,7 @@ init_parameters (int number_of_files)
+      We've to use 8 as the lower limit, if we use chars_per_default_tab = 8
+      to expand a tab which is not an input_tab-char. */
+   free (clump_buff);
+-  clump_buff = xmalloc (MAX (8, chars_per_input_tab));
++  clump_buff = xmalloc (mb_len * MAX (8, chars_per_input_tab));
+ }
\f
+ /* Open the necessary files,
+@@ -1423,7 +1554,7 @@ init_funcs (void)
  
    /* Enlarge p->start_position of first column to use the same form of
       padding_not_printed with all columns. */
@@ -2022,7 +2043,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
    /* This loop takes care of all but the rightmost column. */
  
-@@ -1458,7 +1584,7 @@ init_funcs (void)
+@@ -1457,7 +1588,7 @@ init_funcs (void)
          }
        else
          {
@@ -2031,7 +2052,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            h_next = h + chars_per_column;
          }
      }
-@@ -1749,9 +1875,9 @@ static void
+@@ -1748,9 +1879,9 @@ static void
  align_column (COLUMN *p)
  {
    padding_not_printed = p->start_position;
@@ -2043,7 +2064,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
        padding_not_printed = ANYWHERE;
      }
  
-@@ -2022,13 +2148,13 @@ store_char (char c)
+@@ -2021,13 +2152,13 @@ store_char (char c)
        /* May be too generous. */
        buff = X2REALLOC (buff, &buff_allocated);
      }
@@ -2059,9 +2080,9 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
    char *s;
    int left_cut;
  
-@@ -2051,22 +2177,24 @@ add_line_number (COLUMN *p)
+@@ -2050,22 +2181,24 @@ add_line_number (COLUMN *p)
        /* Tabification is assumed for multiple columns, also for n-separators,
-          but `default n-separator = TAB' hasn't been given priority over
+          but 'default n-separator = TAB' hasn't been given priority over
           equal column_width also specified by POSIX. */
 -      if (number_separator == '\t')
 +      if (number_separator[0] == '\t')
@@ -2088,7 +2109,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
          output_position = POS_AFTER_TAB (chars_per_output_tab,
                            output_position);
      }
-@@ -2227,7 +2355,7 @@ print_white_space (void)
+@@ -2226,7 +2359,7 @@ print_white_space (void)
    while (goal - h_old > 1
           && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal)
      {
@@ -2097,7 +2118,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
        h_old = h_new;
      }
    while (++h_old <= goal)
-@@ -2247,6 +2375,7 @@ print_sep_string (void)
+@@ -2246,6 +2379,7 @@ print_sep_string (void)
  {
    char *s;
    int l = col_sep_length;
@@ -2105,7 +2126,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  
    s = col_sep_string;
  
-@@ -2260,6 +2389,7 @@ print_sep_string (void)
+@@ -2259,6 +2393,7 @@ print_sep_string (void)
      {
        for (; separators_not_printed > 0; --separators_not_printed)
          {
@@ -2113,7 +2134,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            while (l-- > 0)
              {
                /* 3 types of sep_strings: spaces only, spaces and chars,
-@@ -2273,12 +2403,15 @@ print_sep_string (void)
+@@ -2272,12 +2407,15 @@ print_sep_string (void)
                  }
                else
                  {
@@ -2130,7 +2151,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            /* sep_string ends with some spaces */
            if (spaces_not_printed > 0)
              print_white_space ();
-@@ -2306,7 +2439,7 @@ print_clump (COLUMN *p, int n, char *clu
+@@ -2305,7 +2443,7 @@ print_clump (COLUMN *p, int n, char *clu
     required number of tabs and spaces. */
  
  static void
@@ -2139,7 +2160,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  {
    if (tabify_output)
      {
-@@ -2330,6 +2463,74 @@ print_char (char c)
+@@ -2329,6 +2467,74 @@ print_char (char c)
    putchar (c);
  }
  
@@ -2214,7 +2235,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  /* Skip to page PAGE before printing.
     PAGE may be larger than total number of pages. */
  
-@@ -2509,9 +2710,9 @@ read_line (COLUMN *p)
+@@ -2508,9 +2714,9 @@ read_line (COLUMN *p)
            align_empty_cols = false;
          }
  
@@ -2226,7 +2247,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
            padding_not_printed = ANYWHERE;
          }
  
-@@ -2612,9 +2813,9 @@ print_stored (COLUMN *p)
+@@ -2611,9 +2817,9 @@ print_stored (COLUMN *p)
          }
      }
  
@@ -2238,7 +2259,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
        padding_not_printed = ANYWHERE;
      }
  
-@@ -2627,8 +2828,8 @@ print_stored (COLUMN *p)
+@@ -2626,8 +2832,8 @@ print_stored (COLUMN *p)
    if (spaces_not_printed == 0)
      {
        output_position = p->start_position + end_vector[line];
@@ -2249,7 +2270,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
      }
  
    return true;
-@@ -2647,7 +2848,7 @@ print_stored (COLUMN *p)
+@@ -2646,7 +2852,7 @@ print_stored (COLUMN *p)
     number of characters is 1.) */
  
  static int
@@ -2258,7 +2279,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  {
    unsigned char uc = c;
    char *s = clump_buff;
-@@ -2657,10 +2858,10 @@ char_to_clump (char c)
+@@ -2656,10 +2862,10 @@ char_to_clump (char c)
    int chars;
    int chars_per_c = 8;
  
@@ -2271,7 +2292,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
      {
        width = TAB_WIDTH (chars_per_c, input_position);
  
-@@ -2741,6 +2942,155 @@ char_to_clump (char c)
+@@ -2740,6 +2946,154 @@ char_to_clump (char c)
    return chars;
  }
  
@@ -2279,7 +2300,6 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
 +static int
 +char_to_clump_multi (char c)
 +{
-+  unsigned char uc = c;
 +  static size_t mbc_pos = 0;
 +  static char mbc[MB_LEN_MAX] = {'\0'};
 +  static mbstate_t state = {'\0'};
@@ -2317,7 +2337,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
 +              width = +4;
 +              chars = +4;
 +              *s++ = '\\';
-+              sprintf (esc_buff, "%03o", mbc[0]);
++              sprintf (esc_buff, "%03o", (unsigned char) mbc[0]);
 +              for (i = 0; i <= 2; ++i)
 +                *s++ = (int) esc_buff[i];
 +            }
@@ -2366,7 +2386,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
 +                      width += 4;
 +                      chars += 4;
 +                      *s++ = '\\';
-+                      sprintf (esc_buff, "%03o", uc);
++                      sprintf (esc_buff, "%03o", (unsigned char) mbc[i]);
 +                      for (j = 0; j <= 2; ++j)
 +                        *s++ = (int) esc_buff[j];
 +                    }
@@ -2387,7 +2407,7 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
 +                          width += 4;
 +                          chars += 4;
 +                          *s++ = '\\';
-+                          sprintf (esc_buff, "%03o", uc);
++                          sprintf (esc_buff, "%03o", (unsigned char) mbc[i]);
 +                          for (j = 0; j <= 2; ++j)
 +                            *s++ = (int) esc_buff[j];
 +                        }
@@ -2427,9 +2447,9 @@ diff -urNp coreutils-8.13-orig/src/pr.c coreutils-8.13/src/pr.c
  /* We've just printed some files and need to clean up things before
     looking for more options and printing the next batch of files.
  
-diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
---- coreutils-8.13-orig/src/sort.c     2011-07-29 10:12:25.000000000 +0200
-+++ coreutils-8.13/src/sort.c  2011-09-09 10:23:14.183686800 +0200
+diff -urNp coreutils-8.16-orig/src/sort.c coreutils-8.16/src/sort.c
+--- coreutils-8.16-orig/src/sort.c     2012-03-24 21:26:51.000000000 +0100
++++ coreutils-8.16/src/sort.c  2012-03-26 17:35:09.000000000 +0200
 @@ -22,11 +22,20 @@
  
  #include <config.h>
@@ -2504,7 +2524,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  
  /* Flag to remove consecutive duplicate lines from the output.
     Only the last of a sequence of equal lines will be output. */
-@@ -783,6 +812,46 @@ reap_all (void)
+@@ -782,6 +811,46 @@ reap_all (void)
      reap (-1);
  }
  
@@ -2551,7 +2571,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  /* Clean up any remaining temporary files.  */
  
  static void
-@@ -1215,7 +1284,7 @@ zaptemp (char const *name)
+@@ -1214,7 +1283,7 @@ zaptemp (char const *name)
    free (node);
  }
  
@@ -2560,7 +2580,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  
  static int
  struct_month_cmp (void const *m1, void const *m2)
-@@ -1230,7 +1299,7 @@ struct_month_cmp (void const *m1, void c
+@@ -1229,7 +1298,7 @@ struct_month_cmp (void const *m1, void c
  /* Initialize the character class tables. */
  
  static void
@@ -2569,7 +2589,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  {
    size_t i;
  
-@@ -1242,7 +1311,7 @@ inittables (void)
+@@ -1241,7 +1310,7 @@ inittables (void)
        fold_toupper[i] = toupper (i);
      }
  
@@ -2578,7 +2598,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
    /* If we're not in the "C" locale, read different names for months.  */
    if (hard_LC_TIME)
      {
-@@ -1324,6 +1393,84 @@ specify_nmerge (int oi, char c, char con
+@@ -1323,6 +1392,84 @@ specify_nmerge (int oi, char c, char con
      xstrtol_fatal (e, oi, c, long_options, s);
  }
  
@@ -2663,7 +2683,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  /* Specify the amount of main memory to use when sorting.  */
  static void
  specify_sort_size (int oi, char c, char const *s)
-@@ -1552,7 +1699,7 @@ buffer_linelim (struct buffer const *buf
+@@ -1551,7 +1698,7 @@ buffer_linelim (struct buffer const *buf
     by KEY in LINE. */
  
  static char *
@@ -2672,7 +2692,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  {
    char *ptr = line->text, *lim = ptr + line->length - 1;
    size_t sword = key->sword;
-@@ -1561,10 +1708,10 @@ begfield (struct line const *line, struc
+@@ -1560,10 +1707,10 @@ begfield (struct line const *line, struc
    /* The leading field separator itself is included in a field when -t
       is absent.  */
  
@@ -2685,7 +2705,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
            ++ptr;
          if (ptr < lim)
            ++ptr;
-@@ -1590,11 +1737,70 @@ begfield (struct line const *line, struc
+@@ -1589,11 +1736,70 @@ begfield (struct line const *line, struc
    return ptr;
  }
  
@@ -2757,9 +2777,9 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  {
    char *ptr = line->text, *lim = ptr + line->length - 1;
    size_t eword = key->eword, echar = key->echar;
-@@ -1609,10 +1815,10 @@ limfield (struct line const *line, struc
-      `beginning' is the first character following the delimiting TAB.
-      Otherwise, leave PTR pointing at the first `blank' character after
+@@ -1608,10 +1814,10 @@ limfield (struct line const *line, struc
+      'beginning' is the first character following the delimiting TAB.
+      Otherwise, leave PTR pointing at the first 'blank' character after
       the preceding field.  */
 -  if (tab != TAB_DEFAULT)
 +  if (tab_length)
@@ -2770,7 +2790,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
            ++ptr;
          if (ptr < lim && (eword || echar))
            ++ptr;
-@@ -1658,10 +1864,10 @@ limfield (struct line const *line, struc
+@@ -1657,10 +1863,10 @@ limfield (struct line const *line, struc
       */
  
    /* Make LIM point to the end of (one byte past) the current field.  */
@@ -2783,7 +2803,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
        if (newlim)
          lim = newlim;
      }
-@@ -1692,6 +1898,130 @@ limfield (struct line const *line, struc
+@@ -1691,6 +1897,130 @@ limfield (struct line const *line, struc
    return ptr;
  }
  
@@ -2914,7 +2934,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  /* Fill BUF reading from FP, moving buf->left bytes from the end
     of buf->buf to the beginning first.  If EOF is reached and the
     file wasn't terminated by a newline, supply one.  Set up BUF's line
-@@ -1778,8 +2108,22 @@ fillbuf (struct buffer *buf, FILE *fp, c
+@@ -1777,8 +2107,22 @@ fillbuf (struct buffer *buf, FILE *fp, c
                    else
                      {
                        if (key->skipsblanks)
@@ -2939,7 +2959,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
                        line->keybeg = line_start;
                      }
                  }
-@@ -1900,7 +2244,7 @@ human_numcompare (char const *a, char co
+@@ -1899,7 +2243,7 @@ human_numcompare (char const *a, char co
     hideously fast. */
  
  static int
@@ -2948,7 +2968,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  {
    while (blanks[to_uchar (*a)])
      a++;
-@@ -1910,6 +2254,25 @@ numcompare (char const *a, char const *b
+@@ -1909,6 +2253,25 @@ numcompare (char const *a, char const *b
    return strnumcmp (a, b, decimal_point, thousands_sep);
  }
  
@@ -2974,7 +2994,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  /* Work around a problem whereby the long double value returned by glibc's
     strtold ("NaN", ...) contains uninitialized bits: clear all bytes of
     A and B before calling strtold.  FIXME: remove this function once
-@@ -1942,7 +2305,7 @@ general_numcompare (char const *sa, char
+@@ -1959,7 +2322,7 @@ general_numcompare (char const *sa, char
     Return 0 if the name in S is not recognized.  */
  
  static int
@@ -2983,7 +3003,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  {
    size_t lo = 0;
    size_t hi = MONTHS_PER_YEAR;
-@@ -2217,15 +2580,14 @@ debug_key (struct line const *line, stru
+@@ -2234,15 +2597,14 @@ debug_key (struct line const *line, stru
            char saved = *lim;
            *lim = '\0';
  
@@ -3001,7 +3021,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
            else if (key->general_numeric)
              ignore_value (strtold (beg, &tighter_lim));
            else if (key->numeric || key->human_numeric)
-@@ -2369,7 +2731,7 @@ key_warnings (struct keyfield const *gke
+@@ -2386,7 +2748,7 @@ key_warnings (struct keyfield const *gke
        bool maybe_space_aligned = !hard_LC_COLLATE && default_key_compare (key)
                                   && !(key->schar || key->echar);
        bool line_offset = key->eword == 0 && key->echar != 0; /* -k1.x,1.y  */
@@ -3010,8 +3030,8 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
            && ((!key->skipsblanks && !(implicit_skip || maybe_space_aligned))
                || (!key->skipsblanks && key->schar)
                || (!key->skipeblanks && key->echar)))
-@@ -2427,11 +2789,83 @@ key_warnings (struct keyfield const *gke
-     error (0, 0, _("option `-r' only applies to last-resort comparison"));
+@@ -2444,11 +2806,83 @@ key_warnings (struct keyfield const *gke
+     error (0, 0, _("option '-r' only applies to last-resort comparison"));
  }
  
 +#if HAVE_MBRTOWC
@@ -3076,12 +3096,12 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
 +    }
 +  while (hi - lo > 1);
 +
-+  if (ea)
-+     *ea = (char *) month;
-+
 +  result = (!strncmp (month, monthtab[lo].name, strlen (monthtab[lo].name))
 +      ? monthtab[lo].val : 0);
 +
++  if (ea && result)
++     *ea = s + strlen (monthtab[lo].name);
++
 +  return result;
 +}
 +#endif
@@ -3095,7 +3115,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  {
    struct keyfield *key = keylist;
  
-@@ -2516,7 +2950,7 @@ keycompare (struct line const *a, struct
+@@ -2533,7 +2967,7 @@ keycompare (struct line const *a, struct
            else if (key->human_numeric)
              diff = human_numcompare (ta, tb);
            else if (key->month)
@@ -3104,7 +3124,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
            else if (key->random)
              diff = compare_random (ta, tlena, tb, tlenb);
            else if (key->version)
-@@ -2632,6 +3066,180 @@ keycompare (struct line const *a, struct
+@@ -2649,6 +3083,180 @@ keycompare (struct line const *a, struct
    return key->reverse ? -diff : diff;
  }
  
@@ -3285,7 +3305,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
  /* Compare two lines A and B, returning negative, zero, or positive
     depending on whether A compares less than, equal to, or greater than B. */
  
-@@ -4095,7 +4702,7 @@ main (int argc, char **argv)
+@@ -4109,7 +4717,7 @@ main (int argc, char **argv)
    initialize_exit_failure (SORT_FAILURE);
  
    hard_LC_COLLATE = hard_locale (LC_COLLATE);
@@ -3294,7 +3314,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
    hard_LC_TIME = hard_locale (LC_TIME);
  #endif
  
-@@ -4116,6 +4723,29 @@ main (int argc, char **argv)
+@@ -4130,6 +4738,29 @@ main (int argc, char **argv)
        thousands_sep = -1;
    }
  
@@ -3324,7 +3344,7 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
    have_read_stdin = false;
    inittables ();
  
-@@ -4386,13 +5016,34 @@ main (int argc, char **argv)
+@@ -4400,13 +5031,34 @@ main (int argc, char **argv)
  
          case 't':
            {
@@ -3362,8 +3382,8 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
 +                  newtab[0] = '\0';
                  else
                    {
-                     /* Provoke with `sort -txx'.  Complain about
-@@ -4403,9 +5054,12 @@ main (int argc, char **argv)
+                     /* Provoke with 'sort -txx'.  Complain about
+@@ -4417,9 +5069,12 @@ main (int argc, char **argv)
                             quote (optarg));
                    }
                }
@@ -3378,10 +3398,10 @@ diff -urNp coreutils-8.13-orig/src/sort.c coreutils-8.13/src/sort.c
            }
            break;
  
-diff -urNp coreutils-8.13-orig/src/unexpand.c coreutils-8.13/src/unexpand.c
---- coreutils-8.13-orig/src/unexpand.c 2011-07-28 12:38:27.000000000 +0200
-+++ coreutils-8.13/src/unexpand.c      2011-09-09 10:23:14.185647633 +0200
-@@ -39,12 +39,29 @@
+diff -urNp coreutils-8.16-orig/src/unexpand.c coreutils-8.16/src/unexpand.c
+--- coreutils-8.16-orig/src/unexpand.c 2012-03-24 21:26:51.000000000 +0100
++++ coreutils-8.16/src/unexpand.c      2012-03-26 17:51:46.000000000 +0200
+@@ -38,12 +38,29 @@
  #include <stdio.h>
  #include <getopt.h>
  #include <sys/types.h>
@@ -3408,10 +3428,10 @@ diff -urNp coreutils-8.13-orig/src/unexpand.c coreutils-8.13/src/unexpand.c
 +# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
 +#endif
 +
- /* The official name of this program (e.g., no `g' prefix).  */
+ /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "unexpand"
  
-@@ -104,6 +121,208 @@ static struct option const longopts[] =
+@@ -103,6 +120,208 @@ static struct option const longopts[] =
    {NULL, 0, NULL, 0}
  };
  
@@ -3620,7 +3640,7 @@ diff -urNp coreutils-8.13-orig/src/unexpand.c coreutils-8.13/src/unexpand.c
  void
  usage (int status)
  {
-@@ -526,7 +745,12 @@ main (int argc, char **argv)
+@@ -524,7 +743,12 @@ main (int argc, char **argv)
  
    file_list = (optind < argc ? &argv[optind] : stdin_argv);
  
@@ -3634,9 +3654,9 @@ diff -urNp coreutils-8.13-orig/src/unexpand.c coreutils-8.13/src/unexpand.c
  
    if (have_read_stdin && fclose (stdin) != 0)
      error (EXIT_FAILURE, errno, "-");
-diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
---- coreutils-8.13-orig/src/uniq.c     2011-07-28 12:38:27.000000000 +0200
-+++ coreutils-8.13/src/uniq.c  2011-09-09 10:24:19.631560964 +0200
+diff -urNp coreutils-8.16-orig/src/uniq.c coreutils-8.16/src/uniq.c
+--- coreutils-8.16-orig/src/uniq.c     2012-03-24 21:26:51.000000000 +0100
++++ coreutils-8.16/src/uniq.c  2012-03-26 17:35:09.000000000 +0200
 @@ -21,6 +21,16 @@
  #include <getopt.h>
  #include <sys/types.h>
@@ -3673,7 +3693,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
 +#endif
 +
  
- /* The official name of this program (e.g., no `g' prefix).  */
+ /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "uniq"
 @@ -108,6 +130,10 @@ static enum delimit_method const delimit
  /* Select whether/how to delimit groups of duplicate lines.  */
@@ -3686,7 +3706,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
  static struct option const longopts[] =
  {
    {"count", no_argument, NULL, 'c'},
-@@ -207,7 +233,7 @@ size_opt (char const *opt, char const *m
+@@ -206,7 +232,7 @@ size_opt (char const *opt, char const *m
     return a pointer to the beginning of the line's field to be compared. */
  
  static char * _GL_ATTRIBUTE_PURE
@@ -3695,7 +3715,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
  {
    size_t count;
    char const *lp = line->buffer;
-@@ -227,6 +253,83 @@ find_field (struct linebuffer const *lin
+@@ -226,6 +252,83 @@ find_field (struct linebuffer const *lin
    return line->buffer + i;
  }
  
@@ -3779,7 +3799,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
  /* Return false if two strings OLD and NEW match, true if not.
     OLD and NEW point not to the beginnings of the lines
     but rather to the beginnings of the fields to compare.
-@@ -235,6 +338,8 @@ find_field (struct linebuffer const *lin
+@@ -234,6 +337,8 @@ find_field (struct linebuffer const *lin
  static bool
  different (char *old, char *new, size_t oldlen, size_t newlen)
  {
@@ -3788,7 +3808,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
    if (check_chars < oldlen)
      oldlen = check_chars;
    if (check_chars < newlen)
-@@ -242,14 +347,92 @@ different (char *old, char *new, size_t 
+@@ -241,14 +346,92 @@ different (char *old, char *new, size_t 
  
    if (ignore_case)
      {
@@ -3886,7 +3906,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
  
  /* Output the line in linebuffer LINE to standard output
     provided that the switches say it should be output.
-@@ -305,15 +488,43 @@ check_file (const char *infile, const ch
+@@ -304,15 +487,43 @@ check_file (const char *infile, const ch
      {
        char *prevfield IF_LINT ( = NULL);
        size_t prevlen IF_LINT ( = 0);
@@ -3930,7 +3950,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
            if (prevline->length == 0
                || different (thisfield, prevfield, thislen, prevlen))
              {
-@@ -332,17 +543,26 @@ check_file (const char *infile, const ch
+@@ -331,17 +542,26 @@ check_file (const char *infile, const ch
        size_t prevlen;
        uintmax_t match_count = 0;
        bool first_delimiter = true;
@@ -3957,7 +3977,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
            if (readlinebuffer_delim (thisline, stdin, delimiter) == 0)
              {
                if (ferror (stdin))
-@@ -351,6 +571,14 @@ check_file (const char *infile, const ch
+@@ -350,6 +570,14 @@ check_file (const char *infile, const ch
              }
            thisfield = find_field (thisline);
            thislen = thisline->length - 1 - (thisfield - thisline->buffer);
@@ -3972,7 +3992,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
            match = !different (thisfield, prevfield, thislen, prevlen);
            match_count += match;
  
-@@ -383,6 +611,9 @@ check_file (const char *infile, const ch
+@@ -382,6 +610,9 @@ check_file (const char *infile, const ch
                SWAP_LINES (prevline, thisline);
                prevfield = thisfield;
                prevlen = thislen;
@@ -3982,7 +4002,7 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
                if (!match)
                  match_count = 0;
              }
-@@ -428,6 +659,19 @@ main (int argc, char **argv)
+@@ -427,6 +658,19 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -4002,18 +4022,18 @@ diff -urNp coreutils-8.13-orig/src/uniq.c coreutils-8.13/src/uniq.c
    skip_chars = 0;
    skip_fields = 0;
    check_chars = SIZE_MAX;
-diff -urNp coreutils-8.13-orig/tests/Makefile.am coreutils-8.13/tests/Makefile.am
---- coreutils-8.13-orig/tests/Makefile.am      2011-09-09 10:22:43.352561668 +0200
-+++ coreutils-8.13/tests/Makefile.am   2011-09-09 10:23:14.189688942 +0200
-@@ -238,6 +238,7 @@ TESTS =                                            \
-   misc/sort-debug-keys                                \
+diff -urNp coreutils-8.16-orig/tests/Makefile.am coreutils-8.16/tests/Makefile.am
+--- coreutils-8.16-orig/tests/Makefile.am      2012-03-26 18:01:35.564014659 +0200
++++ coreutils-8.16/tests/Makefile.am   2012-03-26 18:02:01.023015013 +0200
+@@ -242,6 +242,7 @@ TESTS =                                            \
    misc/sort-debug-warn                                \
+   misc/sort-discrim                           \
    misc/sort-files0-from                               \
 +  misc/sort-mb-tests                          \
    misc/sort-float                             \
    misc/sort-merge                             \
    misc/sort-merge-fdlimit                     \
-@@ -518,6 +519,10 @@ TESTS =                                           \
+@@ -537,6 +538,10 @@ TESTS =                                           \
    $(root_tests)
  
  pr_data =                                     \
@@ -4024,10 +4044,10 @@ diff -urNp coreutils-8.13-orig/tests/Makefile.am coreutils-8.13/tests/Makefile.a
    pr/0F                                               \
    pr/0FF                                      \
    pr/0FFnt                                    \
-diff -urNp coreutils-8.13-orig/tests/misc/cut coreutils-8.13/tests/misc/cut
---- coreutils-8.13-orig/tests/misc/cut 2011-09-02 14:08:40.000000000 +0200
-+++ coreutils-8.13/tests/misc/cut      2011-09-09 10:23:14.190686793 +0200
-@@ -23,14 +23,15 @@ my $mb_locale = $ENV{LOCALE_FR_UTF8};
+diff -urNp coreutils-8.16-orig/tests/misc/cut coreutils-8.16/tests/misc/cut
+--- coreutils-8.16-orig/tests/misc/cut 2012-02-03 10:22:06.000000000 +0100
++++ coreutils-8.16/tests/misc/cut      2012-03-26 17:40:49.000000000 +0200
+@@ -23,14 +23,15 @@ use strict;
  # Turn off localization of executable's output.
  @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
  
@@ -4040,14 +4060,14 @@ diff -urNp coreutils-8.13-orig/tests/misc/cut coreutils-8.13/tests/misc/cut
 +my $mb_locale = 'C';
  
  my $prog = 'cut';
- my $try = "Try \`$prog --help' for more information.\n";
+ my $try = "Try '$prog --help' for more information.\n";
  my $from_1 = "$prog: fields and positions are numbered from 1\n$try";
 -my $inval = "$prog: invalid byte or field list\n$try";
 +my $inval = "$prog: invalid byte, character or field list\n$try";
  my $no_endpoint = "$prog: invalid range with no endpoint: -\n$try";
  
  my @Tests =
-@@ -147,7 +147,7 @@ my @Tests =
+@@ -147,7 +148,7 @@ my @Tests =
  
    # None of the following invalid ranges provoked an error up to coreutils-6.9.
    ['inval1', qw(-f 2-0), {IN=>''}, {OUT=>''}, {EXIT=>1},
@@ -4056,41 +4076,41 @@ diff -urNp coreutils-8.13-orig/tests/misc/cut coreutils-8.13/tests/misc/cut
    ['inval2', qw(-f -), {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}],
    ['inval3', '-f', '4,-', {IN=>''}, {OUT=>''}, {EXIT=>1}, {ERR=>$no_endpoint}],
    ['inval4', '-f', '1-2,-', {IN=>''}, {OUT=>''}, {EXIT=>1},
-diff -urNp coreutils-8.13-orig/tests/misc/mb1.I coreutils-8.13/tests/misc/mb1.I
---- coreutils-8.13-orig/tests/misc/mb1.I       1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.13/tests/misc/mb1.I    2011-09-09 10:23:14.191687037 +0200
+diff -urNp coreutils-8.16-orig/tests/misc/mb1.I coreutils-8.16/tests/misc/mb1.I
+--- coreutils-8.16-orig/tests/misc/mb1.I       1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.16/tests/misc/mb1.I    2012-03-26 17:35:09.000000000 +0200
 @@ -0,0 +1,4 @@
 +Apple@10
 +Banana@5
 +Citrus@20
 +Cherry@30
-diff -urNp coreutils-8.13-orig/tests/misc/mb1.X coreutils-8.13/tests/misc/mb1.X
---- coreutils-8.13-orig/tests/misc/mb1.X       1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.13/tests/misc/mb1.X    2011-09-09 10:23:14.192581910 +0200
+diff -urNp coreutils-8.16-orig/tests/misc/mb1.X coreutils-8.16/tests/misc/mb1.X
+--- coreutils-8.16-orig/tests/misc/mb1.X       1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.16/tests/misc/mb1.X    2012-03-26 17:35:09.000000000 +0200
 @@ -0,0 +1,4 @@
 +Banana@5
 +Apple@10
 +Citrus@20
 +Cherry@30
-diff -urNp coreutils-8.13-orig/tests/misc/mb2.I coreutils-8.13/tests/misc/mb2.I
---- coreutils-8.13-orig/tests/misc/mb2.I       1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.13/tests/misc/mb2.I    2011-09-09 10:23:14.192581910 +0200
+diff -urNp coreutils-8.16-orig/tests/misc/mb2.I coreutils-8.16/tests/misc/mb2.I
+--- coreutils-8.16-orig/tests/misc/mb2.I       1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.16/tests/misc/mb2.I    2012-03-26 17:35:09.000000000 +0200
 @@ -0,0 +1,4 @@
 +Apple@AA10@@20
 +Banana@AA5@@30
 +Citrus@AA20@@5
 +Cherry@AA30@@10
-diff -urNp coreutils-8.13-orig/tests/misc/mb2.X coreutils-8.13/tests/misc/mb2.X
---- coreutils-8.13-orig/tests/misc/mb2.X       1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.13/tests/misc/mb2.X    2011-09-09 10:23:14.193687456 +0200
+diff -urNp coreutils-8.16-orig/tests/misc/mb2.X coreutils-8.16/tests/misc/mb2.X
+--- coreutils-8.16-orig/tests/misc/mb2.X       1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.16/tests/misc/mb2.X    2012-03-26 17:35:09.000000000 +0200
 @@ -0,0 +1,4 @@
 +Citrus@AA20@@5
 +Cherry@AA30@@10
 +Apple@AA10@@20
 +Banana@AA5@@30
-diff -urNp coreutils-8.13-orig/tests/misc/sort-mb-tests coreutils-8.13/tests/misc/sort-mb-tests
---- coreutils-8.13-orig/tests/misc/sort-mb-tests       1970-01-01 01:00:00.000000000 +0100
-+++ coreutils-8.13/tests/misc/sort-mb-tests    2011-09-09 10:23:14.194687565 +0200
+diff -urNp coreutils-8.16-orig/tests/misc/sort-mb-tests coreutils-8.16/tests/misc/sort-mb-tests
+--- coreutils-8.16-orig/tests/misc/sort-mb-tests       1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.16/tests/misc/sort-mb-tests    2012-03-26 17:35:09.000000000 +0200
 @@ -0,0 +1,58 @@
 +#! /bin/sh
 +case $# in
index 3e5c143df72b46baff710805f7fb7fd79ae34db0..0db3acbcd61dc80cbd72757a1cbd4245ce628371 100644 (file)
@@ -392,7 +392,7 @@ diff -urNp coreutils-8.13-orig/src/ls.c coreutils-8.13/src/ls.c
        || format_needs_stat
 @@ -2869,7 +2896,7 @@ gobble_file (char const *name, enum file
            && print_with_color && is_colored (C_CAP))
-         f->has_capability = has_capability (absolute_name);
+         f->has_capability = has_capability_cache (absolute_name, f);
  
 -      if (format == long_format || print_scontext)
 +      if (format == long_format || format == security_format || print_scontext)
@@ -406,7 +406,7 @@ diff -urNp coreutils-8.13-orig/src/ls.c coreutils-8.13/src/ls.c
 -          if (err == 0 && format == long_format)
 +          if (err == 0 && (format == long_format || format == security_format))
              {
-               int n = file_has_acl (absolute_name, &f->stat);
+               int n = file_has_acl_cache (absolute_name, f);
                err = (n < 0);
 @@ -2911,7 +2938,8 @@ gobble_file (char const *name, enum file
          }
index 7b21d84788dc8de512a873f53208f530b92a1a0e..111dcc8978bef029ce70804ef613250e02514fcd 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = cpio
 version    = 2.11
-release    = 1
+release    = 2
 
 groups     = System/Packaging
 url        = http://www.gnu.org/software/cpio/
@@ -25,7 +25,6 @@ sources    = %{thisapp}.tar.bz2
 
 build
        configure_options += \
-               --bindir=/bin \
                --libexecdir=/tmp \
                --with-rmt=/usr/sbin/rmt
 
diff --git a/cpufrequtils/cpufrequtils.nm b/cpufrequtils/cpufrequtils.nm
deleted file mode 100644 (file)
index 6465a45..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = cpufrequtils
-version    = 008
-release    = 5
-
-groups     = Applications/System
-url        = http://htop.sourceforge.net/
-license    = GPLv2
-summary    = Command line tools to determine current CPUfreq settings and to modify them
-
-description
-       Command line tools to determine current CPUfreq settings and to modify them
-end
-
-source_dl  =
-
-build
-       requires
-               gettext
-               libtool
-               sysfsutils
-       end
-
-       make_install_targets += mandir=/usr/share/man
-end
-
-packages
-       package %{name}
-               groups += Base
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/cpufrequtils/patches/cpufrequtils-008-aperf-32bit.patch b/cpufrequtils/patches/cpufrequtils-008-aperf-32bit.patch
deleted file mode 100644 (file)
index ae94b0a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- cpufrequtils-008/utils/aperf.c     2010-07-05 17:43:17.000000000 +0200
-+++ cpufrequtils-008/utils/aperf.c.new 2011-02-07 16:34:17.421278000 +0100
-@@ -96,7 +96,7 @@
-               return -1;
-       if (lseek(fd, idx, SEEK_CUR) == -1)
-               goto err;
--      if (read(fd, val, sizeof val) != sizeof *val)
-+      if (read(fd, val, sizeof *val) != sizeof *val)
-               goto err;
-       close(fd);
-       return 0;
diff --git a/cpufrequtils/patches/cpufrequtils-008-no-aperf-on-ppc.patch b/cpufrequtils/patches/cpufrequtils-008-no-aperf-on-ppc.patch
deleted file mode 100644 (file)
index 8bfca01..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
---- cpufrequtils-008/Makefile  2011-02-10 13:04:49.235589962 +0100
-+++ cpufrequtils-008/Makefile.new      2011-02-10 13:08:00.481589942 +0100
-@@ -118,7 +118,7 @@
- CPPFLAGS += -DVERSION=\"$(VERSION)\" -DPACKAGE=\"$(PACKAGE)\" \
-               -DPACKAGE_BUGREPORT=\"$(PACKAGE_BUGREPORT)\" -D_GNU_SOURCE
--UTIL_SRC =    utils/info.c utils/set.c utils/aperf.c utils/cpuid.h
-+UTIL_SRC =    utils/info.c utils/set.c 
- LIB_HEADERS =         lib/cpufreq.h lib/interfaces.h
- LIB_SRC =     lib/cpufreq.c
- LIB_OBJS =    lib/cpufreq.o
-@@ -199,7 +199,7 @@
-       $(QUIET) $(CC) $(CFLAGS) $(LDFLAGS) -L. -o $@ utils/$@.o -lcpufreq
-       $(QUIET) $(STRIPCMD) $@
--utils: cpufreq-info cpufreq-set cpufreq-aperf
-+utils: cpufreq-info cpufreq-set 
- po/$(PACKAGE).pot: $(UTIL_SRC)
-       @xgettext --default-domain=$(PACKAGE) --add-comments \
-@@ -229,7 +229,7 @@
- clean:
-       -find . \( -not -type d \) -and \( -name '*~' -o -name '*.[oas]' \) -type f -print \
-        | xargs rm -f
--      -rm -f cpufreq-info cpufreq-set cpufreq-aperf
-+      -rm -f cpufreq-info cpufreq-set 
-       -rm -f libcpufreq.so*
-       -rm -f build/ccdv
-       -rm -rf po/*.gmo po/*.pot
-@@ -246,7 +246,6 @@
-       $(INSTALL) -d $(DESTDIR)${bindir}
-       $(INSTALL_PROGRAM) cpufreq-set $(DESTDIR)${bindir}/cpufreq-set
-       $(INSTALL_PROGRAM) cpufreq-info $(DESTDIR)${bindir}/cpufreq-info
--      $(INSTALL_PROGRAM) cpufreq-aperf $(DESTDIR)${bindir}/cpufreq-aperf
- install-man:
-       $(INSTALL_DATA) -D man/cpufreq-set.1 $(DESTDIR)${mandir}/man1/cpufreq-set.1
-@@ -270,7 +269,6 @@
-       - rm -f $(DESTDIR)${includedir}/cpufreq.h
-       - rm -f $(DESTDIR)${bindir}/cpufreq-set
-       - rm -f $(DESTDIR)${bindir}/cpufreq-info
--      - rm -f $(DESTDIR)${bindir}/cpufreq-aperf
-       - rm -f $(DESTDIR)${mandir}/man1/cpufreq-set.1
-       - rm -f $(DESTDIR)${mandir}/man1/cpufreq-info.1
-       - for HLANG in $(LANGUAGES); do \
diff --git a/cpufrequtils/patches/cpufrequtils-multilib.patch b/cpufrequtils/patches/cpufrequtils-multilib.patch
deleted file mode 100644 (file)
index cc4d8d2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- cpufrequtils-008/Makefile  2010-07-05 17:43:17.000000000 +0200
-+++ Makefile.multilib  2010-07-16 11:31:40.294161413 +0200
-@@ -206,6 +206,9 @@
-               --keyword=_ --keyword=N_ $(UTIL_SRC) && \
-       test -f $(PACKAGE).po && \
-       mv -f $(PACKAGE).po po/$(PACKAGE).pot
-+# Avoid multilib issues by forcing the POT creation date
-+      sed -i 's/POT-Creation-Date: .*\\/Pot-Creation-Date: 2010-07-16 11:00+0200\\/' \
-+              po/${PACKAGE}.pot
- update-gmo: po/$(PACKAGE).pot
-        @for HLANG in $(LANGUAGES); do \
diff --git a/cpufrequtils/patches/disable-gsic.patch b/cpufrequtils/patches/disable-gsic.patch
deleted file mode 100644 (file)
index ccf059c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- cpufrequtils-0.3/debug/i386/Makefile~      2004-12-04 15:58:54.287473296 -0500
-+++ cpufrequtils-0.3/debug/i386/Makefile       2004-12-04 15:59:08.035383296 -0500
-@@ -12,7 +12,7 @@ intel_gsic: intel_gsic.c
- powernow-k8-decode: powernow-k8-decode.c
-       $(CC) $(CFLAGS) -o powernow-k8-decode powernow-k8-decode.c
--all: centrino-decode dump_psb intel_gsic powernow-k8-decode
-+all: centrino-decode dump_psb powernow-k8-decode
- clean:
-       rm -rf centrino-decode dump_psb intel_gsic powernow-k8-decode
index dcb90034b4d05a06471adaf985dee15148a7438d..93a3464a335b47ffaeb1bb72796f5c5ef0445ca9 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = cracklib
 version    = 2.8.18
-release    = 1
+release    = 2
 
 groups     = Security/Password
 url        = http://sourceforge.net/projects/cracklib/
@@ -37,7 +37,7 @@ build
        dictpath = %{dictdir}/pw_dict
 
        configure_options += \
-               --with-default-dict=/lib/cracklib/pw_dict \
+               --with-default-dict=%{dictpath} \
                --with-python \
                --disable-static
 
@@ -67,10 +67,6 @@ build
                # Install python bindings
                make install DESTDIR=%{BUILDROOT} INSTALL="install -c -p" -C python
 
-               mkdir -pv %{BUILDROOT}/{,usr/}%{lib}
-               mv -v %{BUILDROOT}%{libdir}/libcrack.so.2* %{BUILDROOT}/%{lib}
-               ln -vsf ../../%{lib}/libcrack.so.2.8.1 %{BUILDROOT}%{libdir}/libcrack.so
-
                mkdir -pv %{BUILDROOT}{%{dictdir},%{dictpath}}
                util/cracklib-format cracklib-dicts/* | \
                        util/cracklib-packer %{BUILDROOT}%{dictpath}
@@ -121,10 +117,13 @@ packages
 
        # We build an extra python package with the bindings for it.
        package python-cracklib
-               summary = Python bindings for ${thisapp}.
+               summary = Python bindings for %{thisapp}.
                description = %{summary}
 
-               files = /usr/lib*/python*
+               files
+                       /usr/lib/python*
+                       %{libdir}/python*
+               end
        end
 
        package %{name}-debuginfo
index 0fbad7561722e995d943ea8b675e66d70b6abf0c..d57dea9b6cabbc25361b66a2c0f5c94ec9c8d4e2 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = cryptsetup-luks
 version    = 1.1.0
-release    = 2
+release    = 3
 
 groups     = System/Filesystems
 url        = http://cryptsetup.googlecode.com/
@@ -32,16 +32,7 @@ build
        DIR_APP = %{DIR_SRC}/cryptsetup-%{version}
 
        configure_options += \
-               --sbindir=/sbin \
-               --libdir=/%{lib} \
                --disable-static
-
-       install_cmds
-               rm -rvf %{BUILDROOT}/%{lib}/cryptsetup{,.la,.so}
-               mkdir -pv %{BUILDROOT}%{libdir}
-               mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir}
-               ln -svf ../../%{lib}/libcryptsetup.so.1 %{BUILDROOT}%{libdir}/libcryptsetup.so
-       end
 end
 
 packages
index b171ecf2d19514dd28cf7fcb025949569e058e5f..dd48eede8f0cd08d8113db4dd7f58d98c54c8582 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = curl
 version    = 7.24.0
-release    = 1
+release    = 3
 
 groups     = Application/Internet
 url        = http://www.curl.haxx.se/
@@ -29,10 +29,10 @@ build
                groff
                libidn-devel
                libssh2-devel
-               libtool
+               libtool-devel
+               net-tools
                nss-devel
                openldap-devel
-               pkg-config
                zlib-devel
        end
 
@@ -53,9 +53,12 @@ build
                autoreconf -vfi
        end
 
-       test
-               make check
-       end
+       # The testsuite runs services which bind to ports and
+       # sends queries to the internet. This may fail in some
+       # occasions.
+       #test
+       #       make check
+       #end
 end
 
 packages
@@ -67,11 +70,17 @@ packages
 
        package libcurl-devel
                template DEVEL
+
+               provides
+                       curl-devel = %{thisver}
+               end
        end
 
        package %{name}-debuginfo
                template DEBUGINFO
 
-               provides += libcurl-debuginfo
+               provides
+                       libcurl-debuginfo = %{thisver}
+               end
        end
 end
diff --git a/curl/patches/curl-7.21.2-debug.patch b/curl/patches/curl-7.21.2-debug.patch
new file mode 100644 (file)
index 0000000..7691826
--- /dev/null
@@ -0,0 +1,58 @@
+ configure            |   15 ++++-----------
+ m4/curl-compilers.m4 |   15 ++++-----------
+ 2 files changed, 8 insertions(+), 22 deletions(-)
+
+diff --git a/configure b/configure
+index d3ecf69..6d8f085 100755
+--- a/configure
++++ b/configure
+@@ -15040,18 +15040,11 @@ $as_echo "yes" >&6; }
+     gccvhi=`echo $gccver | cut -d . -f1`
+     gccvlo=`echo $gccver | cut -d . -f2`
+     compiler_num=`(expr $gccvhi "*" 100 + $gccvlo) 2>/dev/null`
+-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
+-    flags_dbg_all="$flags_dbg_all -ggdb"
+-    flags_dbg_all="$flags_dbg_all -gstabs"
+-    flags_dbg_all="$flags_dbg_all -gstabs+"
+-    flags_dbg_all="$flags_dbg_all -gcoff"
+-    flags_dbg_all="$flags_dbg_all -gxcoff"
+-    flags_dbg_all="$flags_dbg_all -gdwarf-2"
+-    flags_dbg_all="$flags_dbg_all -gvms"
++    flags_dbg_all=""
+     flags_dbg_yes="-g"
+-    flags_dbg_off="-g0"
+-    flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
+-    flags_opt_yes="-O2"
++    flags_dbg_off=""
++    flags_opt_all=""
++    flags_opt_yes=""
+     flags_opt_off="-O0"
+   else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+diff --git a/m4/curl-compilers.m4 b/m4/curl-compilers.m4
+index 1ea4d17..868d65a 100644
+--- a/m4/curl-compilers.m4
++++ b/m4/curl-compilers.m4
+@@ -148,18 +148,11 @@ AC_DEFUN([CURL_CHECK_COMPILER_GNU_C], [
+     gccvhi=`echo $gccver | cut -d . -f1`
+     gccvlo=`echo $gccver | cut -d . -f2`
+     compiler_num=`(expr $gccvhi "*" 100 + $gccvlo) 2>/dev/null`
+-    flags_dbg_all="-g -g0 -g1 -g2 -g3"
+-    flags_dbg_all="$flags_dbg_all -ggdb"
+-    flags_dbg_all="$flags_dbg_all -gstabs"
+-    flags_dbg_all="$flags_dbg_all -gstabs+"
+-    flags_dbg_all="$flags_dbg_all -gcoff"
+-    flags_dbg_all="$flags_dbg_all -gxcoff"
+-    flags_dbg_all="$flags_dbg_all -gdwarf-2"
+-    flags_dbg_all="$flags_dbg_all -gvms"
++    flags_dbg_all=""
+     flags_dbg_yes="-g"
+-    flags_dbg_off="-g0"
+-    flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
+-    flags_opt_yes="-O2"
++    flags_dbg_off=""
++    flags_opt_all=""
++    flags_opt_yes=""
+     flags_opt_off="-O0"
+   else
+     AC_MSG_RESULT([no])
index 0613b24672ad456ae0e0d139a53883babe62e76d..82e7255b6312e70c840813be093d6fb724d0a2d6 100644 (file)
@@ -7,12 +7,10 @@ name       = db4
 version_major = 4.8
 version_minor = 30
 version    = %{version_major}.%{version_minor}
-release    = 3
+release    = 5
 epoch      = 1
 thisapp    = db-%{version}
 
-# Never update this to major version 5.
-
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Libraries
 url        = http://www.oracle.com/technology/products/berkeley-db/
@@ -49,27 +47,29 @@ build
                cd %{DIR_APP}/build_unix
                make install DESTDIR=%{BUILDROOT} \
                        docdir=/usr/share/doc/%{thisapp}
+
+               # Remove unversioned libs.
+               rm -vf %{BUILDROOT}%{libdir}/libdb*-4.so
+
+               mkdir -pv %{BUILDROOT}%{includedir}/%{name}
+               mv -v %{BUILDROOT}%{includedir}/*.h %{BUILDROOT}%{includedir}/%{name}/
+               for i in db.h db_cxx.h db_185.h; do
+                       ln -svf %{name}/${i} %{BUILDROOT}/%{includedir}
+               done
        end
 end
 
 packages
-       package db4
-
-       package db4-devel
-               template DEVEL
+       # /usr/lib64/libdb_cxx.so
 
-               # Overwrite because of epoch != 0.
-               requires = %{name}=%{epoch}:%{thisver}
-
-               files += !%{libdir}/libdb-%{version_major}.so
-       end
+       package db4
 
        package db4-utils
                summary = Command line tools for managing Berkeley DB (version 4) databases.
                description = %{summary}
 
                files
-                       /usr/bin
+                       %{bindir}
                end
        end
 
@@ -82,6 +82,27 @@ packages
                end
        end
 
+       package db4-devel
+               template DEVEL
+
+               # Overwrite because of epoch != 0.
+               requires = %{name}=%{epoch}:%{thisver}
+
+               # You cannot install libdb-devel and db4-devel
+               # at the same time.
+               conflicts
+                       libdb-devel
+               end
+
+               files
+                       %{includedir}
+                       %{libdir}/libdb.so
+                       %{libdir}/libdb_cxx.so
+               end
+
+               #files += !%{libdir}/libdb-%{version_major}.so
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
index 6bfd2ea6bcbcbfda08b25619d1cd976d64719a6c..1531535eda870228ae6509e77a7222dd727931e7 100644 (file)
@@ -4,9 +4,10 @@
 ###############################################################################
 
 name       = dbus
-version    = 1.4.16
-release    = 2
+version    = 1.4.20
+release    = 1
 
+maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Daemons
 url        = http://www.freedesktop.org/software/dbus/
 license    = GPLv2+ AFL
@@ -26,32 +27,14 @@ build
                expat-devel
                libcap-ng-devel
                libselinux-devel
+               systemd-units
        end
 
        configure_options += \
-               --sysconfdir=/etc \
-               --localstatedir=/var \
-               --libdir=/%{lib} \
-               --libexecdir=/%{lib} \
                --enable-libaudit \
                --enable-selinux=yes \
-               --with-systemdsystemunitdir=/lib/systemd/system/ \
+               --with-systemdsystemunitdir=%{unitdir} \
                --with-dbus-user=dbus
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{libdir}
-               mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir}
-
-               #change the arch-deps.h include directory to /usr/lib instead of /lib
-               sed -e 's@-I${libdir}@-I${prefix}/%{lib}@' -i %{BUILDROOT}%{libdir}/pkgconfig/dbus-1.pc
-
-               mkdir -pv %{BUILDROOT}%{libdir}/dbus-1.0/include
-               mv -v %{BUILDROOT}/%{lib}/dbus-1.0/include/* %{BUILDROOT}%{libdir}/dbus-1.0/include
-               rm -rvf %{BUILDROOT}/%{lib}/dbus-1.0
-
-               rm -vf %{BUILDROOT}/%{lib}/libdbus-1.so
-               ln -svf ../../%{lib}/libdbus-1.so.3 %{BUILDROOT}%{libdir}/libdbus-1.so
-       end
 end
 
 packages
@@ -68,27 +51,27 @@ packages
 
                # Just search for new unit files that were just installed.
                script postin
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+                       systemctl daemon-reload >/dev/null 2>&1 || :
 
                        # The dbus service should be started on default.
-                       /bin/systemctl enable dbus.service > /dev/null 2>&1 || :
+                       systemctl enable dbus.service > /dev/null 2>&1 || :
                end
 
                # Disable the service that is to be removed and stop it if it is still running.
                script preun
-                       /bin/systemctl --no-reload disable dbus.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop dbus.service >/dev/null 2>&1 || :
+                       systemctl --no-reload disable dbus.service >/dev/null 2>&1 || :
+                       systemctl stop dbus.service >/dev/null 2>&1 || :
                end
 
                # Just tell systemd that unitfiles have been removed.
                script postun
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+                       systemctl daemon-reload >/dev/null 2>&1 || :
                end
 
                # Try to restart the service if it is running.
                script postup
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-                       /bin/systemctl try-restart dbus.service >/dev/null 2>&1 || :
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+                       systemctl try-restart dbus.service >/dev/null 2>&1 || :
                end
        end
 
@@ -99,7 +82,7 @@ packages
        package %{name}-devel
                template DEVEL
 
-               files += /usr/lib/dbus-1.0
+               files += %{libdir}/dbus-1.0
        end
 
        package %{name}-debuginfo
index ce9f8b6b82ed3266d079eba6bf9e440d047d05ec..2e3176b646e15afaea81ed6ca5a432d3bbc5e462 100644 (file)
@@ -5,7 +5,8 @@
 
 name       = dev86
 version    = 0.16.18
-release    = 3
+release    = 4
+sup_arches = i686 x86_64
 
 maintainer = Ben Schweikert <ben.schweikert@ipfire.org>
 groups     = Development/Languages
index b46ae2bba96d104e860b69fbeea4e3b2d51a5f0c..17d5d9f6b766259d15bb4d55a853a6c3fbd914ec 100644 (file)
@@ -6,7 +6,7 @@
 name       = dialog
 version    = 1.1
 svn_ver    = 20111020
-release    = 1.%{svn_ver}
+release    = 2.%{svn_ver}
 thisapp    = %{name}-%{version}-%{svn_ver}
 
 groups     = Applications/System
@@ -27,6 +27,7 @@ sources    = %{thisapp}.tgz
 
 build
        requires
+               chrpath
                findutils
                gettext
                libtool
@@ -37,17 +38,13 @@ build
                --enable-nls \
                --with-libtool \
                --with-ncursesw \
-               --includedir=/usr/include/dialog \
-               --mandir=/usr/share/man
+               --includedir=/usr/include/dialog
 
        install_cmds
-               chmod -v 755 %{BUILDROOT}/usr/lib/libdialog.so.*.*.*
-       end
-end
+               chmod -v 755 %{BUILDROOT}%{libdir}/libdialog.so.*.*.*
 
-quality-agent
-       whitelist_rpath
-               /usr/lib
+               # Remove RPATH.
+               chrpath --delete %{BUILDROOT}%{bindir}/dialog
        end
 end
 
index 9f11cae061d5237ca2d8968a4c033759512cca99..d6642819698bd1feea5d7779da3d3848ee950c6d 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = diffutils
 version    = 3.2
-release    = 4
+release    = 5
 
 groups     = Development/Tools
 url        = http://www.gnu.org/software/diffutils/diffutils.html
@@ -22,6 +22,10 @@ end
 source_dl  = http://ftp.gnu.org/gnu/diffutils/
 
 build
+       requires
+               perl
+       end
+
        test
                make check
        end
index a8d2a04f957fd1bfd0f968832bdf785fcbb1c381..f0fbf1755fc6fd4a42a7129e1810457e812b9060 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = dmraid
 version    = 1.0.0.rc15
-release    = 3
+release    = 4
 
 groups     = System/Filesystems
 url        = http://people.redhat.com/heinzm/sw/dmraid
@@ -30,11 +30,9 @@ build
        DIR_APP = %{DIR_SRC}/%{name}/%{version}
        PARALLELISMFLAGS = # Disabled
 
-       make_install_targets += sbindir=%{BUILDROOT}/sbin
+       make_install_targets += sbindir=%{BUILDROOT}%{sbindir}
 
        configure_options += \
-               --sbindir=/sbin \
-               --libdir=/%{lib} \
                --disable-static \
                --disable-static_link \
                --enable-libselinux
@@ -44,11 +42,6 @@ build
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/{,usr}/%{lib}
-               install -v -m 755 lib/libdmraid.so \
-                       %{BUILDROOT}/%{lib}/libdmraid.so.%{version}
-               ln -svf ../../%{lib}/libdmraid.so.%{version} %{BUILDROOT}%{libdir}/libdmraid.so
-
                # Install development headers.
                mkdir -pv %{BUILDROOT}%{includedir}/dmraid
                install -m 644 include/dmraid/*.h %{BUILDROOT}%{includedir}/dmraid/
index 37b15ba6c43174038ef327eb18894c13c5f8850b..eaf363c21e9ee4a40e35ee461ac665c8163cbf39 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = docbook-dtds
 version    = 1.0
-release    = 4
+release    = 6
 arch       = noarch
 
 groups     = Applications/Text
@@ -119,7 +119,9 @@ end
 packages
        package %{name}
                prerequires
+                       coreutils
                        libxml2
+                       sed
                        sgml-common
                end
 
index 4adbc50dd815cf1179b989bac79d8fa1ec269629..cb8dffe3a0fe020ee4757b1c7b42f818011644fd 100644 (file)
@@ -201,7 +201,7 @@ diff -urNp docbook-dtds-1.0-orig/4.5-xml/docbook.cat docbook-dtds-1.0/4.5-xml/do
    -- ...................................................................... --
 +  -- SYSTEM rewrite of web URL .............. ............................. --
 +
-+SYSTEM "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"
++SYSTEM "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
 +       "docbookx.dtd"
 +
 +  -- ...................................................................... --
index 8b49f4d5711ae78de3f6a06b8f093907a07c20e3..6890ab18ec348a8373eb2f555ed8804f97e6561b 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = dracut
-version    = 010
-release    = 5
+version    = 018
+release    = 2
 arch       = noarch
 
 groups     = System/Boot
@@ -17,8 +17,8 @@ description
        dracut is a new, event-driven initramfs infrastructure based around udev.
 end
 
-source_dl  =
-sources    = %{thisapp}.tar.bz2
+source_dl  = http://www.kernel.org/pub/linux/utils/boot/dracut/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
@@ -26,13 +26,41 @@ build
                docbook-xsl
        end
 
+       prepare_cmds
+               # Disable dash syntax check as we don't have dash.
+               sed -e "s/dash/true/g" -i Makefile
+
+               # The plymouth plugin contains a lot of hardcoded libexec paths.
+               # We don't use libexec and so we need to change this.
+               sed -e "s/libexec/lib/g" -i \
+                       modules.d/50plymouth/module-setup.sh
+       end
+
+       dracutlibdir = %{prefix}/lib/dracut
+
        install
                make install DESTDIR=%{BUILDROOT} \
-                       sbindir=/sbin sysconfdir=/etc mandir=/usr/share/man
+                       sysconfdir=/etc mandir=/usr/share/man
 
                # Install local configuration.
                mkdir -pv %{BUILDROOT}/etc/dracut.conf.d
                cp -vf %{DIR_SOURCE}/ipfire.conf %{BUILDROOT}/etc/dracut.conf.d/ipfire.conf
+
+               # Save package version.
+               echo "%{name}-%{version}-%{release}" > \
+                       %{BUILDROOT}%{dracutlibdir}/modules.d/10rpmversion/dracut-version
+
+               # Remove Gentoo specific module.
+               rm -rvf %{BUILDROOT}%{dracutlibdir}/modules.d/50gensplash
+
+               mkdir -pv %{BUILDROOT}/boot/dracut
+               mkdir -pv %{BUILDROOT}/var/lib/dracut/overlay
+               mkdir -pv %{BUILDROOT}/var/lib/initramfs
+               mkdir -pv %{BUILDROOT}%{localstatedir}/log
+               touch %{BUILDROOT}%{localstatedir}/log/dracut.log
+
+               mkdir -pv %{BUILDROOT}/etc/logrotate.d
+               install -m 0644 dracut.logrotate %{BUILDROOT}/etc/logrotate.d/dracut_log
        end
 end
 
@@ -76,24 +104,25 @@ packages
                end
 
                files
-                       /usr/share/dracut/modules.d/40network
-                       /usr/share/dracut/modules.d/95fcoe
-                       /usr/share/dracut/modules.d/95iscsi
-                       /usr/share/dracut/modules.d/95nbd
-                       /usr/share/dracut/modules.d/95nfs
-                       /usr/share/dracut/modules.d/45ifcfg
-                       /usr/share/dracut/modules.d/95znet
+                       /usr/lib/dracut/modules.d/40network
+                       /usr/lib/dracut/modules.d/95fcoe
+                       /usr/lib/dracut/modules.d/95iscsi
+                       /usr/lib/dracut/modules.d/95nbd
+                       /usr/lib/dracut/modules.d/95nfs
+                       /usr/lib/dracut/modules.d/45ifcfg
+                       /usr/lib/dracut/modules.d/95znet
                end
        end
 
-
        package %{name}-utils
                summary = Command line utils for dracut.
                description = %{summary}
 
                files
-                       /sbin/dracut-*
-                       /sbin/*initrd
+                       /boot/dracut
+                       /usr/bin/dracut-*
+                       /usr/share/man/man8/dracut-*
+                       /var/lib/dracut
                end
        end
 end
index ce65673449204ac2e583d75ed291e7b8147fde6c..d38b414af4c91c8a11b2edf812fe801d77e11efb 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = e2fsprogs
-version    = 1.41.11
-release    = 2
+version    = 1.42.2
+release    = 1
 
 groups     = System/Filesystems
 url        = http://e2fsprogs.sourceforge.net/
@@ -18,7 +18,7 @@ description
        and third extended (ext2/ext3) filesystems.
 end
 
-source_dl  =
+source_dl  = http://prdownloads.sourceforge.net/%{name}/
 
 build
        requires
@@ -26,6 +26,7 @@ build
                libselinux-devel
                libsepol-devel
                libuuid-devel
+               psmisc
        end
 
        prepare_cmds
index f5ca3a09c4e5bd334203e1022a74f661589c99b2..846ed96d4721f000baf67ff97f5617a885cc70f5 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = ebtables
 version    = v2.0.10-4
-release    = 1
+release    = 2
 
 groups     = Networking/Tools
 url        = http://ebtables.sourceforge.net/
@@ -24,22 +24,22 @@ build
        CFLAGS += -Wall
 
        build
-               make CFLAGS="%{CFLAGS}" BINDIR="/sbin" \
-                       LIBDIR="/lib/ebtables" MANDIR="/usr/share/man" %{PARALLELISMFLAGS}
+               make CFLAGS="%{CFLAGS}" BINDIR="%{sbindir}" \
+                       LIBDIR="%{libdir}/ebtables" MANDIR="%{mandir}" %{PARALLELISMFLAGS}
        end
 
        install
-               mkdir -pv %{BUILDROOT}/etc/{init.d,sysconfig}
-               make install DESTDIR="%{BUILDROOT}" BINDIR="/sbin" \
-                       LIBDIR="/lib/ebtables" MANDIR="/usr/share/man" INITDIR="/etc/init.d"
+               make install DESTDIR="%{BUILDROOT}" BINDIR="%{sbindir}" \
+                       LIBDIR="%{libdir}/ebtables" MANDIR="%{mandir}"
 
-               rm -vfr %{BUILDROOT}/etc/{init.d,sysconfig}
+               # Remove unneded directories.
+               rm -rvf %{BUILDROOT}/etc/{rc.d,sysconfig}
        end
 end
 
 quality-agent
        whitelist_rpath
-               /lib/ebtables
+               %{libdir}/ebtables
        end
 end
 
index fe1f1158304097b8b06178b7bc187f61eb788ab2..e24d6d7cd40b3e2d7bbae7f71adf7a72ae730b2e 100644 (file)
--- a/ed/ed.nm
+++ b/ed/ed.nm
@@ -5,7 +5,7 @@
 
 name       = ed
 version    = 1.5
-release    = 3
+release    = 4
 
 groups     = Application/Text
 url        = http://www.gnu.org/software/ed/
@@ -22,23 +22,11 @@ end
 source_dl  =
 
 build
-       configure_options += \
-               --exec-prefix=/
-
        make_build_target = CFLAGS="%{CFLAGS}"
-
-       install
-               # Create directory for man pages
-               mkdir -pv %{BUILDROOT}/usr/share/man/man1
-
-               make install bindir=/bin mandir=/usr/share/man \
-                       DESTDIR=%{BUILDROOT}
-       end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 1f7d906269448458036baa4405cb3cb79eaa8e1b..a51ea7f8bc46b351cd73e620498cf5b6491a1596 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = ethtool
 version    = 2.6.34
-release    = 2
+release    = 3
 
 groups     = Applications/System
 url        = http://sourceforge.net/projects/gkernel/
@@ -20,11 +20,6 @@ end
 
 source_dl  =
 
-build
-       configure_options += \
-               --sbindir=/sbin
-end
-
 packages
        package %{name}
                groups += Base
index 535a79a9adb66775fc09812f12d9646b7530a3b0..2c79f96f551c4d67f5f50aea1cd7a3015b9f31f5 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = expat
 version    = 2.0.1
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = http://www.libexpat.org/
@@ -13,30 +13,18 @@ license    = MIT
 summary    = An XML parser library.
 
 description
-       This is expat, the C library for parsing XML, written by James Clark. Expat \
-       is a stream oriented XML parser. This means that you register handlers with \
-       the parser prior to starting the parse. These handlers are called when the \
-       parser discovers the associated structures in the document being parsed. A \
-       start tag is an example of the kind of structures for which you may \
+       This is expat, the C library for parsing XML, written by James Clark. Expat
+       is a stream oriented XML parser. This means that you register handlers with
+       the parser prior to starting the parse. These handlers are called when the
+       parser discovers the associated structures in the document being parsed. A
+       start tag is an example of the kind of structures for which you may
        register handlers.
 end
 
-source_dl  =
-
-build
-       configure_options += \
-               --libdir=/%{lib}
-
-       install_cmds
-               rm -vf %{BUILDROOT}/%{lib}/libexpat.so
-               mkdir -pv %{BUILDROOT}%{libdir}
-               ln -svf ../../%{lib}/libexpat.so.1 %{BUILDROOT}%{libdir}/libexpat.so
-       end
-end
+source_dl  = http://downloads.sourceforge.net/project/expat/expat/%{version}/
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index 0648f33ac97543f36fc366b6b5b4ffb43f3227fa..0c098a379e21e01a0bfd23e6e94997d5fd683fd2 100644 (file)
@@ -4,8 +4,9 @@
 ###############################################################################
 
 name       = expect
-version    = 5.43
-release    = 1
+version    = 5.45
+release    = 2
+thisapp    = %{name}%{version}
 
 groups     = Development/Languages
 url        = http://expect.nist.gov/
@@ -13,35 +14,49 @@ license    = Public Domain
 summary    = A program-script interaction and testing utility.
 
 description
-       xpect is a tcl application for automating and testing \
-       interactive applications such as telnet, ftp, passwd, fsck, \
-       rlogin, tip, etc. Expect makes it easy for a script to \
+       expect is a tcl application for automating and testing
+       interactive applications such as telnet, ftp, passwd, fsck,
+       rlogin, tip, etc. Expect makes it easy for a script to
        control another program and interact with it.
 end
 
-source_dl  =
-sources    = %{thisapp}.0.tar.gz
+source_dl  = http://downloads.sourceforge.net/project/expect/Expect/%{version}/
 
 build
        requires
                autoconf
                automake
-               tcl
+               chrpath
+               tcl-devel
        end
 
-       configure_options = \
-               --mandir=/usr/share/man \
-               --with-tcl=/usr/lib \
-               --with-tclinclude=/usr/include/ \
-               --with-x=no \
+       prepare_cmds
+               aclocal
+               autoconf
+
+               cd testsuite
+               autoconf -I..
+       end
+
+       configure_options += \
+               --mandir=%{mandir} \
+               --with-tcl=%{libdir} \
+               --with-tclinclude=%{includedir} \
                --enable-shared
 
        test
                make test
        end
 
-       install
-               make install INSTALL_ROOT=%{BUILDROOT}
+       install_cmds
+               # Install lib to right location.
+               mkdir -pv %{BUILDROOT}%{libdir}
+               mv -v %{BUILDROOT}/%{libdir}/tcl*/expect%{version}/libexpect%{version}.so \
+                       %{BUILDROOT}%{libdir}
+               ln -svf libexpect%{version}.so %{BUILDROOT}%{libdir}/libexpect.so
+
+               # Remove rpath.
+               chrpath --delete %{BUILDROOT}%{libdir}/libexpect%{version}.so
 
                # remove cryptdir/decryptdir, as Linux has no crypt command
                rm -f %{BUILDROOT}/usr/bin/{cryptdir,decryptdir}
@@ -52,6 +67,9 @@ end
 
 packages
        package %{name}
+
+       package %{name}-devel
+               template DEVEL
        end
 
        package %{name}-debuginfo
index 94afc42a6a7a758b91be32edebbc7ad7d8cf05fa..0cac29449c6aa9d0909bc80bf67646c397c9921c 100644 (file)
@@ -1,12 +1,12 @@
-diff -up expect-5.43/example/mkpasswd.random expect-5.43/example/mkpasswd
---- expect-5.43/example/mkpasswd.random        2004-12-07 00:38:21.000000000 +0100
-+++ expect-5.43/example/mkpasswd       2008-09-25 12:27:19.000000000 +0200
+diff -up expect-5.44.1.15/example/mkpasswd.orig expect-5.44.1.15/example/mkpasswd
+--- expect-5.44.1.15/example/mkpasswd.orig     2010-03-08 16:01:05.518378075 +0100
++++ expect-5.44.1.15/example/mkpasswd  2010-03-08 16:01:27.408388162 +0100
 @@ -92,7 +92,14 @@ proc insert {pvar char} {
  }
  
  proc rand {m} {
 -    expr {int($m*rand())}
-+    set device /dev/urandom           ;# /dev/random can block
++    set device /dev/urandom            ;# /dev/random can block
 +    set fileId [open $device r]
 +    binary scan [read $fileId 4] i1 number
 +    set clipped [expr $number % $m]
diff --git a/expect/patches/expect-5.38.0-lib-spec.patch b/expect/patches/expect-5.38.0-lib-spec.patch
deleted file mode 100644 (file)
index 803f858..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up expect-5.43/configure.in.lib-spec expect-5.43/configure.in
---- expect-5.43/configure.in.lib-spec  2005-02-08 02:45:06.000000000 +0100
-+++ expect-5.43/configure.in   2008-09-25 12:23:26.000000000 +0200
-@@ -1141,7 +1141,7 @@ if test $ac_cv_sys_long_file_names = no;
- fi
- EXP_BUILD_LIB_SPEC="-L`pwd` -lexpect${EXP_LIB_VERSION}${DBGX}"
--EXP_LIB_SPEC="-L\${INSTALL_ROOT}\${exec_prefix}/lib -lexpect${EXP_LIB_VERSION}${DBGX}"
-+EXP_LIB_SPEC="-L\${libdir}/../.. -lexpect${EXP_LIB_VERSION}${DBGX}"
- EXP_UNSHARED_LIB_FILE=libexpect${EXP_LIB_VERSION}${DBGX}.a
- # The TCL_SHARED_LIB_SUFFIX macro below relies on the DBGX macro,
diff --git a/expect/patches/expect-5.39.0-libdir.patch b/expect/patches/expect-5.39.0-libdir.patch
deleted file mode 100644 (file)
index 8546c90..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up expect-5.43/Makefile.in.libdir expect-5.43/Makefile.in
---- expect-5.43/Makefile.in.libdir     2004-05-07 20:10:30.000000000 +0200
-+++ expect-5.43/Makefile.in    2008-09-25 12:24:08.000000000 +0200
-@@ -317,7 +317,7 @@ EXP_AND_TK_LIBS = $(LDFLAGS) @EXP_AND_TK
- CFLAGS_INT = $(MH_CFLAGS) $(CPPFLAGS) $(XCFLAGS)
- LIB_INSTALL_DIR = $(tcl_libdir)
--LIB_RUNTIME_DIR = $(tcl_libdir)
-+LIB_RUNTIME_DIR = $(subst $(INSTALL_ROOT),,$(tcl_libdir))
- # I don't understand why Tcl splits these up, but it does.  LIB_RUNTIME_DIR
- # can appear as part of the LD_SEARCH_FLAGS inherited by configure.
diff --git a/expect/patches/expect-5.43.0-log_file.patch b/expect/patches/expect-5.43.0-log_file.patch
new file mode 100644 (file)
index 0000000..8a2c93d
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up expect-5.44.1.15/exp_log.c.orig expect-5.44.1.15/exp_log.c
+--- expect-5.44.1.15/exp_log.c.orig    2010-03-08 15:45:20.581378309 +0100
++++ expect-5.44.1.15/exp_log.c 2010-03-08 15:45:38.838398279 +0100
+@@ -374,7 +374,7 @@ expDiagChannelOpen(interp,filename)
+       Tcl_DStringAppend(&tsdPtr->diagFilename,filename,-1);
+     }
+-    tsdPtr->diagChannel = Tcl_OpenFileChannel(interp,newfilename,"a",0777);
++    tsdPtr->diagChannel = Tcl_OpenFileChannel(interp,newfilename,"a",0666);
+     if (!tsdPtr->diagChannel) {
+       Tcl_DStringFree(&tsdPtr->diagFilename);
+       return TCL_ERROR;
diff --git a/expect/patches/expect-5.43.0-override_default_prefix.patch b/expect/patches/expect-5.43.0-override_default_prefix.patch
deleted file mode 100644 (file)
index 54fe1e8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur expect-5.43_old/configure expect-5.43_new/configure
---- expect-5.43_old/configure  2010-03-10 10:11:41.000000000 +0100
-+++ expect-5.43_new/configure  2010-03-10 10:12:01.000000000 +0100
-@@ -9,7 +9,7 @@
- # Defaults:
- ac_help=
--ac_default_prefix=/usr/local
-+ac_default_prefix=/usr
- # Any additions from configure.in:
- ac_help="$ac_help
-   --enable-threads        build with threads (not supported)"
diff --git a/expect/patches/expect-5.43.0-pkgpath.patch b/expect/patches/expect-5.43.0-pkgpath.patch
new file mode 100644 (file)
index 0000000..0c32a1f
--- /dev/null
@@ -0,0 +1,46 @@
+diff -up expect5.45/configure.in.orig expect5.45/configure.in
+--- expect5.45/configure.in.orig       2011-01-18 16:58:14.860806442 +0100
++++ expect5.45/configure.in    2011-01-18 16:58:30.378753210 +0100
+@@ -977,6 +977,7 @@ AC_SUBST(EXP_CC_SEARCH_FLAGS)
+ AC_SUBST(SETUID)
+ AC_SUBST(SETPGRP_VOID)
+ AC_SUBST(DEFAULT_STTY_ARGS)
++AC_SUBST(TCL_VERSION)
+ # Expect uses these from tclConfig.sh to make the main executable
+ AC_SUBST(TCL_DL_LIBS)
+ AC_SUBST(TCL_CC_SEARCH_FLAGS)
+diff -up expect5.45/Makefile.in.orig expect5.45/Makefile.in
+--- expect5.45/Makefile.in.orig        2011-01-18 16:58:37.787723824 +0100
++++ expect5.45/Makefile.in     2011-01-18 17:05:10.697636907 +0100
+@@ -121,8 +121,8 @@ includedir = @includedir@
+ DESTDIR               =
+ PKG_DIR               = $(PACKAGE_NAME)$(PACKAGE_VERSION)
+-pkgdatadir    = $(datadir)/$(PKG_DIR)
+-pkglibdir     = $(libdir)/$(PKG_DIR)
++pkgdatadir     = $(datadir)/tcl@TCL_VERSION@/$(PKG_DIR)
++pkglibdir      = $(libdir)/tcl@TCL_VERSION@/$(PKG_DIR)
+ pkgincludedir = $(includedir)/$(PKG_DIR)
+ top_builddir  = .
+@@ -263,7 +263,7 @@ install-doc: doc
+         else true; fi ; \
+       done
+-test: binaries libraries
++test: binaries libraries pkgIndex.tcl-test
+       $(TCLSH) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS)
+ shell: binaries libraries
+@@ -331,6 +331,11 @@ pkgIndex.tcl:
+ pkgIndex.tcl-hand:
+       (echo 'if {![package vsatisfies [package provide Tcl] @TCL_VERSION@]} {return}' ; \
+        echo 'package ifneeded Expect $(PACKAGE_VERSION) \
++          [list load [file join $$dir .. .. $(PKG_LIB_FILE)]]'\
++      ) > pkgIndex.tcl
++
++pkgIndex.tcl-test:
++      (echo 'package ifneeded Expect $(PACKAGE_VERSION) \
+           [list load [file join $$dir $(PKG_LIB_FILE)]]'\
+       ) > pkgIndex.tcl
diff --git a/expect/patches/expect-5.43.0-spawn-1.patch b/expect/patches/expect-5.43.0-spawn-1.patch
deleted file mode 100644 (file)
index c2033c0..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-Submitted By: LFS Book <lfs-book@linuxfromscratch.org>
-Date: 2003-10-05
-Initial Package Version: 5.38
-Origin: Redhat RPM (Patch by HJ Lu)
-Description: NA
-diff -uNr expect-5.38.orig/exp_chan.c expect-5.38/exp_chan.c
---- expect-5.38.orig/exp_chan.c        2002-02-12 13:00:55.000000000 +1100
-+++ expect-5.38/exp_chan.c     2003-03-01 10:36:18.000000000 +1100
-@@ -519,6 +519,7 @@
-     esPtr->buffer = Tcl_NewStringObj("",0);
-     Tcl_IncrRefCount(esPtr->buffer);
-     esPtr->umsize = exp_default_match_max;
-+    esPtr->umsize_changed = exp_default_match_max_changed;
-     /* this will reallocate object with an appropriate sized buffer */
-     expAdjust(esPtr);
-diff -uNr expect-5.38.orig/exp_command.h expect-5.38/exp_command.h
---- expect-5.38.orig/exp_command.h     2002-04-08 08:57:20.000000000 +1000
-+++ expect-5.38/exp_command.h  2003-03-01 10:36:18.000000000 +1100
-@@ -25,6 +25,7 @@
- EXTERN char *         exp_get_var _ANSI_ARGS_((Tcl_Interp *,char *));
- EXTERN int exp_default_match_max;
-+EXTERN int exp_default_match_max_changed;
- EXTERN int exp_default_parity;
- EXTERN int exp_default_rm_nulls;
-@@ -97,6 +98,7 @@
-     int msize;                /* # of bytes that buffer can hold (max) */
-     int umsize;               /* # of bytes (min) that is guaranteed to match */
-                       /* this comes from match_max command */
-+    int umsize_changed;       /* is umsize changed by user?  */
-     int printed;      /* # of bytes written to stdout (if logging on) */
-                         /* but not actually returned via a match yet */
-     int echoed;               /* additional # of bytes (beyond "printed" above) */
-diff -uNr expect-5.38.orig/expect.c expect-5.38/expect.c
---- expect-5.38.orig/expect.c  2002-04-08 09:00:33.000000000 +1000
-+++ expect-5.38/expect.c       2003-03-01 10:36:18.000000000 +1100
-@@ -41,8 +41,17 @@
- #include "tcldbg.h"
- #endif
-+/* The initial length is 2000. We increment it by 2000. The maximum
-+   is 8MB (0x800000).  */
-+#define EXP_MATCH_MAX         2000
-+#define EXP_MATCH_INC         2000
-+#define EXP_MATCH_STEP_LIMIT  0x700000
-+#define EXP_MATCH_LIMIT               0x800000
-+#define EXP_MATCH_LIMIT_QUOTE "0x800000"
-+
- /* initial length of strings that we can guarantee patterns can match */
--int exp_default_match_max =   2000;
-+int exp_default_match_max =   EXP_MATCH_MAX;
-+int exp_default_match_max_changed = 0;
- #define INIT_EXPECT_TIMEOUT_LIT       "10"    /* seconds */
- #define INIT_EXPECT_TIMEOUT   10      /* seconds */
- int exp_default_parity =      TRUE;
-@@ -1618,6 +1627,76 @@
-     return newsize;
- }
-+/* returns # of bytes until we see a newline at the end or EOF.  */
-+/*ARGSUSED*/
-+static int
-+expReadNewLine(interp,esPtr,save_flags) /* INTL */
-+Tcl_Interp *interp;
-+ExpState *esPtr;
-+int save_flags;
-+{
-+    int size;
-+    int exp_size;
-+    int full_size;
-+    int count;
-+    char *str;
-+
-+    count = 0;
-+    for (;;) {
-+      exp_size = expSizeGet(esPtr);
-+
-+      /* When we reach the limit, we will only read one char at a
-+         time.  */
-+      if (esPtr->umsize >= EXP_MATCH_STEP_LIMIT)
-+          size = TCL_UTF_MAX;
-+      else
-+          size = exp_size;
-+
-+      if (exp_size + TCL_UTF_MAX >= esPtr->msize) {
-+          if (esPtr->umsize >= EXP_MATCH_LIMIT) {
-+              expDiagLogU("WARNING: interact buffer is full. probably your program\r\n");
-+              expDiagLogU("is not interactive or has a very long output line. The\r\n");
-+              expDiagLogU("current limit is " EXP_MATCH_LIMIT_QUOTE ".\r\n");
-+              expDiagLogU("Dumping first half of buffer in order to continue\r\n");
-+              expDiagLogU("Recommend you enlarge the buffer.\r\n");
-+              exp_buffer_shuffle(interp,esPtr,save_flags,EXPECT_OUT,"expect");
-+              return count;
-+          }
-+          else {
-+              esPtr->umsize += EXP_MATCH_INC;
-+              expAdjust(esPtr);
-+          }
-+      }
-+
-+      full_size = esPtr->msize - (size / TCL_UTF_MAX);
-+      size = Tcl_ReadChars(esPtr->channel,
-+                      esPtr->buffer,
-+                      full_size,
-+                      1 /* append */);
-+      if (size > 0) {
-+          count += size;
-+          /* We try again if there are more to read and we haven't
-+             seen a newline at the end. */
-+          if (size == full_size) {
-+              str = Tcl_GetStringFromObj(esPtr->buffer, &size);
-+              if (str[size - 1] != '\n')
-+                  continue;
-+          }
-+      }
-+      else {
-+          /* It is even trickier. We got an error from read. We have
-+             to recover from it. Let's make sure the size of
-+             buffer is correct. It can be corrupted. */
-+          str = Tcl_GetString(esPtr->buffer);
-+          Tcl_SetObjLength(esPtr->buffer, strlen(str));
-+      }
-+
-+      break;
-+    }
-+
-+    return count;
-+}
-+
- /* returns # of bytes read or (non-positive) error of form EXP_XXX */
- /* returns 0 for end of file */
- /* If timeout is non-zero, set an alarm before doing the read, else assume */
-@@ -1632,6 +1711,8 @@
- {
-     int cc = EXP_TIMEOUT;
-     int size = expSizeGet(esPtr);
-+    int full_size;
-+    int count;
-     if (size + TCL_UTF_MAX >= esPtr->msize) 
-       exp_buffer_shuffle(interp,esPtr,save_flags,EXPECT_OUT,"expect");
-@@ -1648,11 +1729,43 @@
-     }
- #endif
--    
-+    /* FIXME: If we ask less than what is available in the tcl buffer
-+       when tcl has seen EOF, we will throw away the remaining data
-+       since the next read will get EOF. Since expect is line-oriented,
-+       we exand our buffer to get EOF or the next newline at the end of
-+       the input buffer. I don't know if it is the right fix.  H.J. */
-+    count = 0;
-+    full_size = esPtr->msize - (size / TCL_UTF_MAX);
-     cc = Tcl_ReadChars(esPtr->channel,
--          esPtr->buffer,
--          esPtr->msize - (size / TCL_UTF_MAX),
--          1 /* append */);
-+              esPtr->buffer,
-+              full_size,
-+              1 /* append */);
-+    if (cc > 0) {
-+      count += cc;
-+      /* It gets very tricky. There are more to read. We will expand
-+         our buffer and get EOF or a newline at the end unless the
-+         buffer length has been changed.  */
-+      if (cc == full_size) {
-+          char *str;
-+          str = Tcl_GetStringFromObj(esPtr->buffer, &size);
-+          if (str[size - 1] != '\n') {
-+              if (esPtr->umsize_changed) {
-+                  char buf[20];       /* big enough for 64bit int in hex.  */
-+                  snprintf(buf,sizeof(buf),"0x%x", esPtr->umsize);
-+                  expDiagLogU("WARNING: interact buffer is not large enough to hold\r\n");
-+                  expDiagLogU("all output. probably your program is not interactive or\r\n");
-+                  expDiagLogU("has a very long output line. The current limit is ");
-+                  expDiagLogU(buf);
-+                  expDiagLogU(".\r\n");
-+              }
-+              else {
-+                  cc = expReadNewLine(interp,esPtr,save_flags);
-+                  if (cc > 0)
-+                      count += cc;
-+              }
-+          }
-+      }
-+    }
-     i_read_errno = errno;
- #ifdef SIMPLE_EVENT
-@@ -1673,7 +1786,7 @@
-       }
-     }
- #endif
--    return cc;        
-+    return count > 0 ? count : cc;
- }
- /*
-@@ -2746,8 +2859,14 @@
-       return(TCL_ERROR);
-     }
--    if (Default) exp_default_match_max = size;
--    else esPtr->umsize = size;
-+    if (Default) {
-+      exp_default_match_max = size;
-+      exp_default_match_max_changed = 1;
-+    }
-+    else {
-+      esPtr->umsize = size;
-+      esPtr->umsize_changed = 1;
-+    }
-     return(TCL_OK);
- }
diff --git a/expect/patches/expect-5.43.0-tcl_8.5.8_fix-1.patch b/expect/patches/expect-5.43.0-tcl_8.5.8_fix-1.patch
deleted file mode 100644 (file)
index 5b9596a..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org>
-Date: 2008-09-28
-Initial Package Version: 5.43
-Upstream status: Not Submitted
-Origin: LFS ticket 2126 (http://wiki.linuxfromscratch.org/lfs/ticket/2126)
-        Bryan Kadzban <bryan@kadzban.is-a-geek.net>
-Description: Removes references to functions that Tcl 8.5 no longer exposes 
-             and correct other minor build problems WRT TCL-8.5.x.
-
-diff -Naur expect-5.43-orig/Dbg.c expect-5.43/Dbg.c
---- expect-5.43-orig/Dbg.c     2002-03-22 22:11:54.000000000 -0600
-+++ expect-5.43/Dbg.c  2008-08-24 01:30:15.000000000 -0500
-@@ -9,7 +9,7 @@
- */
- #include <stdio.h>
--
-+#include "expect_cf.h"
- #include "tcldbgcf.h"
- #if 0
- /* tclInt.h drags in stdlib.  By claiming no-stdlib, force it to drag in */
-diff -Naur expect-5.43-orig/exp_inter.c expect-5.43/exp_inter.c
---- expect-5.43-orig/exp_inter.c       2004-08-17 21:03:00.000000000 -0500
-+++ expect-5.43/exp_inter.c    2008-08-24 01:28:59.000000000 -0500
-@@ -36,6 +36,7 @@
- #include <ctype.h>
- #include "tcl.h"
-+#include "tclInt.h"
- #include "string.h"
- #include "exp_tty_in.h"
-diff -Naur expect-5.43/exp_command.c expect-5.43-patched/exp_command.c
---- expect-5.43/exp_command.c  2004-08-20 13:18:01.000000000 -0400
-+++ expect-5.43-patched/exp_command.c  2008-01-12 11:42:45.000000000 -0500
-@@ -2265,6 +2265,8 @@
-       /*NOTREACHED*/
- }
-+static struct exp_cmd_data cmd_data[];
-+
- /*ARGSUSED*/
- static int
- Exp_CloseObjCmd(clientData, interp, objc, objv)
-@@ -2311,12 +2313,23 @@
-       /* Historical note: we used "close"  long before there was a */
-       /* Tcl builtin by the same name. */
-+      /* The code that registered this function as the handler for */
-+      /* the "close" command stored away the old handler in the */
-+      /* exp_cmd_data for the "close" command. */
-+
-+      struct exp_cmd_data *cmd_ptr;
-       Tcl_CmdInfo info;
-+
-+      for(cmd_ptr = &cmd_data[0]; cmd_ptr->name; cmd_ptr++) {
-+          if(strncmp(cmd_ptr->name, "close", 5) == 0)
-+              break;
-+      }
-+
-       Tcl_ResetResult(interp);
-       if (0 == Tcl_GetCommandInfo(interp,"close",&info)) {
-           info.clientData = 0;
-       }
--      return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig));
-+      return(cmd_ptr->old_objProc(info.clientData,interp,objc_orig,objv_orig));
-     }
-     if (chanName) {
-@@ -2961,7 +2974,10 @@
-     /* if successful (i.e., TCL_RETURN is returned) */
-     /* modify the result, so that we will handle it specially */
--    int result = Tcl_ReturnObjCmd(clientData,interp,objc,objv);
-+    Tcl_CmdInfo info;
-+    Tcl_GetCommandInfo(interp, "return", &info);
-+
-+    int result = info.objProc(clientData,interp,objc,objv);
-     if (result == TCL_RETURN)
-         result = EXP_TCL_RETURN;
-     return result;
-@@ -3062,8 +3078,7 @@
-       for (;c->name;c++) {
-               /* if already defined, don't redefine */
--              if ((c->flags & EXP_REDEFINE) ||
--                  !(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) ||
-+              if (!(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) ||
-                     Tcl_FindHashEntry(&currNsPtr->cmdTable,c->name))) {
-                       if (c->objproc)
-                               Tcl_CreateObjCommand(interp,c->name,
-@@ -3072,6 +3087,21 @@
-                               Tcl_CreateCommand(interp,c->name,c->proc,
-                                                 c->data,exp_deleteProc);
-               }
-+              else if (c->flags & EXP_REDEFINE) { /* unless the REDEFINE flag is present */
-+                      Tcl_CmdInfo info;
-+
-+                      if (Tcl_GetCommandInfo(interp, c->name, &info)) {
-+                              c->old_proc     = info.proc;
-+                              c->old_objProc  = info.objProc;
-+                      }
-+
-+                      if (c->objproc)
-+                              Tcl_CreateObjCommand(interp,c->name,
-+                                                   c->objproc,c->data,exp_deleteObjProc);
-+                      else
-+                              Tcl_CreateCommand(interp,c->name,c->proc,
-+                                                c->data,exp_deleteProc);
-+              }
-               if (!(c->name[0] == 'e' &&
-                     c->name[1] == 'x' &&
-                     c->name[2] == 'p')
-diff -Naur expect-5.43/exp_command.h expect-5.43-patched/exp_command.h
---- expect-5.43/exp_command.h  2008-01-12 11:44:11.000000000 -0500
-+++ expect-5.43-patched/exp_command.h  2008-01-12 11:26:05.000000000 -0500
-@@ -297,6 +297,8 @@
-       Tcl_CmdProc     *proc;
-       ClientData      data;
-       int             flags;
-+      Tcl_CmdProc     *old_proc;     /* these store the procedure for the old command, */
-+      Tcl_ObjCmdProc  *old_objProc;  /* if any */
- };
- EXTERN void           exp_create_commands _ANSI_ARGS_((Tcl_Interp *,
diff --git a/expect/patches/expect-5.45-check-telnet.patch b/expect/patches/expect-5.45-check-telnet.patch
new file mode 100644 (file)
index 0000000..0b67dc6
--- /dev/null
@@ -0,0 +1,29 @@
+diff -up expect5.45/example/passmass.orig expect5.45/example/passmass
+--- expect5.45/example/passmass.orig   2011-07-27 16:09:31.013843393 +0200
++++ expect5.45/example/passmass        2011-07-27 16:10:55.667843578 +0200
+@@ -107,6 +107,10 @@ for {set i 0} {$i<$argc} {incr i} {
+       set login "ssh"
+       continue
+     } "-telnet" {
++      if {[file executable /usr/bin/telnet] == 0} {
++              send_user "It seems that telnet is not installed. Please install telnet in order to use the script with this option.\n"
++              exit 1
++      }
+       set login "telnet"
+       continue
+     } "-program" {
+diff -up expect5.45/example/weather.orig expect5.45/example/weather
+--- expect5.45/example/weather.orig    2011-07-27 15:49:57.878843862 +0200
++++ expect5.45/example/weather 2011-07-27 16:08:48.067843491 +0200
+@@ -33,6 +33,11 @@ set timeout 60
+ set env(TERM) vt100   ;# actual value doesn't matter, just has to be set
++if {[file executable /usr/bin/telnet] == 0} {
++      send_user "It seems that telnet is not installed. Please install telnet in order to use this script.\n"
++      exit 1
++}
++
+ spawn telnet rainmaker.wunderground.com 3000
+ while {1} {
+       expect timeout {
diff --git a/expect/patches/expect-5.45-man-page.patch b/expect/patches/expect-5.45-man-page.patch
new file mode 100644 (file)
index 0000000..1a55251
--- /dev/null
@@ -0,0 +1,13 @@
+diff -up expect5.45/expect.man.orig expect5.45/expect.man
+--- expect5.45/expect.man.orig 2011-09-06 13:15:57.081827720 +0200
++++ expect5.45/expect.man      2011-09-06 13:16:19.463826364 +0200
+@@ -173,7 +173,8 @@ way, use the
+ .B \-b
+ flag.
+ (When using Expectk, this option is specified as
+-.BR \-buffer .)  Note that stdio-buffering may still take place however this shouldn't cause problems when reading from a fifo or stdin.
++.BR \-buffer .)
++Note that stdio-buffering may still take place however this shouldn't cause problems when reading from a fifo or stdin.
+ .PP
+ If the string "\-" is supplied as a filename, standard input is read instead.
+ (Use "./\-" to read from a file actually named "\-".)
diff --git a/expect/patches/expect-5.45-match-gt-numchars-segfault.patch b/expect/patches/expect-5.45-match-gt-numchars-segfault.patch
new file mode 100644 (file)
index 0000000..1abd424
--- /dev/null
@@ -0,0 +1,17 @@
+diff -up expect5.45/expect.c.orig expect5.45/expect.c
+--- expect5.45/expect.c.orig   2012-02-06 14:15:13.469490744 +0100
++++ expect5.45/expect.c        2012-02-06 14:16:23.596837896 +0100
+@@ -2363,7 +2363,12 @@ expMatchProcess(
+       /* "!e" means no case matched - transfer by default */
+       if (!e || e->transfer) {
+-          int remainder = numchars-match;
++          int remainder;
++          if (match > numchars) {
++              match = numchars;
++              eo->matchlen = match;
++          }
++          remainder = numchars-match;
+           /* delete matched chars from input buffer */
+           esPtr->printed -= match;
+           if (numchars != 0) {
diff --git a/expect/patches/expect-5.45-mkpasswd-dash.patch b/expect/patches/expect-5.45-mkpasswd-dash.patch
new file mode 100644 (file)
index 0000000..fbdecde
--- /dev/null
@@ -0,0 +1,13 @@
+diff -up expect5.45/example/mkpasswd.orig expect5.45/example/mkpasswd
+--- expect5.45/example/mkpasswd.orig   2011-03-16 13:23:23.125480017 +0100
++++ expect5.45/example/mkpasswd        2011-03-16 13:24:08.739353139 +0100
+@@ -202,7 +202,8 @@ if {[info exists user]} {
+       expect {
+               "assword*:" {
+                       # some systems say "Password (again):"
+-                      send "$password\r"
++                      send -- "$password\r"
++                      # "--" because of passwords beginning with dash
+                       exp_continue
+               }
+       }
diff --git a/expect/patches/expect-5.45-passmass-su-full-path.patch b/expect/patches/expect-5.45-passmass-su-full-path.patch
new file mode 100644 (file)
index 0000000..6febf94
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up expect5.45/example/passmass.orig expect5.45/example/passmass
+--- expect5.45/example/passmass.orig   2011-09-06 13:04:41.439875491 +0200
++++ expect5.45/example/passmass        2011-09-06 13:04:54.663874571 +0200
+@@ -178,7 +178,7 @@ for {set i 0} {$i<$argc} {incr i} {
+     }
+     if ($su) {
+-      send "su -\r"
++      send "/bin/su -\r"
+       expect -nocase "password:"
+       send "$password(old)\r"
+       expect "# "
index 4dbf3b1998485a572d4da51010059ff00dbe4b3e..a0bd7ef72ee6292bcce57549a2d5d248990c3b95 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = file
-version    = 5.10
+version    = 5.11
 release    = 1
 
 groups     = System/Tools
index 425514e95597bd65eec233e9cc8ed8f950efcf7e..b7966a8c5ac8bc30609c1479b5b9aa4c01d6b94a 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = filesystem
-version    = 001
-release    = 3
+version    = 002
+release    = 2
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Base Build System/Base
@@ -24,6 +24,12 @@ end
 sources   =
 
 build
+       # Pakfire supports python scriptlets since
+       # version 0.9.22.
+       requires
+               pakfire-builder >= 0.9.22
+       end
+
        DIR_APP = %{DIR_SRC}
 
        build
@@ -33,23 +39,18 @@ build
        install
                cd %{BUILDROOT}
                mkdir -pv \
-                       bin \
                        boot \
                        dev \
                        etc/pki \
                        etc/skel \
                        etc/sysconfig \
                        home \
-                       lib \
-                       %{lib} \
-                       lib/modules \
                        media \
                        mnt \
                        opt \
                        proc \
                        root \
                        run/lock \
-                       sbin \
                        srv \
                        sys \
                        tmp \
@@ -58,6 +59,7 @@ build
                        usr/lib \
                        usr/%{lib} \
                        usr/lib/locale \
+                       usr/lib/modules \
                        usr/sbin \
                        usr/share/{aclocal,dict,doc,empty,info,mime-info,misc} \
                        usr/share/man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p} \
@@ -73,18 +75,23 @@ build
                        var/empty \
                        var/lib \
                        var/local \
-                       var/lock/subsys \
                        var/log \
                        var/nis \
                        var/preserve \
-                       var/run \
                        var/spool/{mail,lpd} \
                        var/tmp \
                        var/db \
                        var/cache
 
+               ln -snf usr/bin bin
+               ln -snf usr/sbin sbin
+               ln -snf usr/lib lib
+               [ "%{lib}" = "lib" ] || ln -snf usr/%{lib} %{lib}
+
                ln -snf ../var/tmp usr/tmp
                ln -snf spool/mail var/mail
+               ln -snf ../run var/run
+               ln -snf ../run/lock var/lock
 
                # Setting correct permissions.
                chmod 1777 %{BUILDROOT}/{,var/}tmp
@@ -100,6 +107,25 @@ end
 packages
        package %{name}
                prerequires = setup
+
+               # We do not know, if the filesystem package is the first
+               # in the transaction, so we create the symlinks prior to running
+               # the transaction.
+               script pretransin python
+                       if not os.path.exists("/usr"):
+                               os.makedirs("/usr")
+
+                       for dir in ("/lib", "/%{lib}", "/sbin", "/bin"):
+                               usr_dir = "/usr%s" % dir
+
+                               if not os.path.exists(usr_dir):
+                                       os.makedirs(usr_dir)
+
+                               try:
+                                       os.lstat(dir)
+                               except OSError:
+                                       os.symlink(usr_dir[1:], dir)
+               end
        end
 
        # Although this package is not noarch, it does not
index 652d138eec324fd6187d341205b30c81bfac739f..c05b86743b07cdd1b38183f0546bc91a7b0b206c 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = findutils
 version    = 4.5.10
-release    = 2
+release    = 3
 
 groups     = System/Tools
 url        = http://www.gnu.org/software/findutils/
@@ -35,18 +35,19 @@ build
        test
                make check
        end
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}/bin
-               mv -v %{BUILDROOT}/usr/bin/find %{BUILDROOT}/bin
-
-               sed -i -e 's/find:=${BINDIR}/find:=\/bin/' %{BUILDROOT}/usr/bin/updatedb
-       end
 end
 
 packages
        package %{name}
                groups += Base Build
+
+               provides
+                       /bin/find
+               end
+
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package %{name}-debuginfo
index a9ea8befff9dd2dd77feadc5002a80ebeef7fcf9..eec0ec21eff7103f7644cb2fe9621412cab83f5b 100644 (file)
@@ -3,9 +3,10 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = freeradius-server
+name       = freeradius
 version    = 2.1.12
-release    = 3
+release    = 4
+thisapp    = %{name}-server-%{version}
 
 groups     = System/Daemons
 url        = http://www.freeradius.org
@@ -37,9 +38,7 @@ build
 
        configure_options +=\
                %{CONFIGURE_ARCH} \
-               --sysconfdir=/etc \
-               --libdir=/usr/lib/freeradius \
-               --localstatedir=/var \
+               --libdir=%{libdir}/freeradius \
                --with-system-libtool \
                --with-threads \
                --with-thread-pool \
@@ -97,7 +96,7 @@ end
 
 quality-agent
        whitelist_rpath
-               /usr/lib/freeradius
+               %{libdir}/freeradius
        end
 end
 
@@ -107,7 +106,10 @@ packages
                        /etc/raddb/radiusd.conf
                end
 
-               prerequires = shadow-utils systemd-units
+               prerequires
+                       shadow-utils
+                       systemd-units
+               end
 
                script prein
                        %{create_user}
index 15925222e45e6916182843dc3c885d234da5fa28..2b7d077ceea6924da2616735a742d1d320d827c6 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = gawk
-version    = 4.0.0
-release    = 3
+version    = 4.0.1
+release    = 2
 
 groups     = System/Tools
 url        = http://www.gnu.org/software/gawk/gawk.html
@@ -19,7 +19,7 @@ description
 end
 
 # Needed for testsuite.
-source_dl  =
+source_dl  = http://ftp.gnu.org/gnu/gawk/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -28,8 +28,6 @@ build
        end
 
        configure_options += \
-               --bindir=/bin \
-               --libexecdir=%{libdir} \
                --with-libsigsegv-prefix=no
 
        test
@@ -37,20 +35,25 @@ build
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/usr/bin
-               ln -svf ../../bin/awk %{BUILDROOT}/usr/bin/awk
-               ln -svf ../../bin/gawk %{BUILDROOT}/usr/bin/gawk
-
-               mv -v %{BUILDROOT}/bin/{p,i}gawk %{BUILDROOT}/usr/bin/
+               ln -svf gawk %{BUILDROOT}/usr/bin/awk
 
                # Remove versioned binary.
-               rm -rfv %{BUILDROOT}/bin/{,p}gawk-*
+               rm -rfv %{BUILDROOT}%{bindir}/{,p}gawk-*
        end
 end
 
 packages
        package %{name}
                groups += Base Build
+
+               provides
+                       /bin/awk
+                       /bin/gawk
+               end
+
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package %{name}-debuginfo
index 845ad5434e6ba3da0844967bc5452dbfc958597c..34cdcac7df2092245de0e36397c4a000785e4792 100644 (file)
@@ -7,8 +7,8 @@
 build_cloog_ppl = 1
 
 name       = gcc
-version    = 4.6.2
-release    = 11
+version    = 4.6.3
+release    = 6
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Compilers
@@ -40,7 +40,7 @@ patches = \
        gcc46-ppl-0.10.patch \
        gcc46-Woverlength-string.patch0 \
        gcc46-Woverlength-string-asm.patch0 \
-       gcc-4.6.0-piepatches-20110407.patch
+       gcc-4.6.3-piepatches-20120408.patch
 
 build
        requires
@@ -49,6 +49,7 @@ build
                dejagnu
                elfutils-devel
                expect
+               filesystem >= 002
                flex
                glibc-devel
                gmp-devel
@@ -93,7 +94,7 @@ build
                configure_options += --with-float=soft
        end
 
-       if "${DISTRO_ARCH}" == "armv7hl"
+       if "%{DISTRO_ARCH}" == "armv7hl"
                make_bootstrap = bootstrap
 
                configure_options += --disable-sjlj-exceptions
@@ -112,7 +113,8 @@ build
        end
 
        # CFLAGS for hardening.
-       HARD_CFLAGS = -DEFAULT_PIE_SSP -DEFAULT_RELRO -DEFAULT_BIND_NOW
+       HARD_CFLAGS = -DEFAULT_PIE -DEFAULT_SSP -DEFAULT_PIE_SSP -DEFAULT_ESP_SPP \
+               -DENABLE_ESP_SSP -DEFAULT_RELRO -DEFAULT_BIND_NOW
 
        prepare_cmds
                mkdir -v %{DIR_SRC}/gcc-build
@@ -222,14 +224,12 @@ build
                FULLPATH="%{BUILDROOT}%{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}"
                [ -d "${FULLPATH}" ] || exit 1
 
-               mkdir -pv %{BUILDROOT}/%{lib}
-               ln -sfv ../usr/bin/cpp %{BUILDROOT}/%{lib}/cpp
+               mkdir -pv %{BUILDROOT}%{prefix}/lib
+               ln -sfv ../bin/cpp %{BUILDROOT}%{prefix}/lib/cpp
                ln -sfv gcc %{BUILDROOT}/usr/bin/cc
 
-               # Move libgcc_s to /lib
+               # Fix libgcc_s symlinks.
                rm -f ${FULLPATH}/libgcc_s.so %{BUILDROOT}%{libdir}/libgcc_s.so
-               mkdir -pv %{BUILDROOT}/%{lib}
-               mv -vf %{BUILDROOT}%{libdir}/libgcc_s.so.1 %{BUILDROOT}/%{lib}/
                case "%{DISTRO_ARCH}" in
                        arm*)
                                cat <<EOF >${FULLPATH}/libgcc_s.so
@@ -237,17 +237,27 @@ build
                   Use the shared library, but some functions are only in
                   the static library, so try that secondarily.  */
                OUTPUT_FORMAT(elf32-littlearm)
-               GROUP ( /%{lib}/libgcc_s.so.1 libgcc.a )
+               GROUP ( %{libdir}/libgcc_s.so.1 libgcc.a )
                EOF
                                ;;
                        *)
-                               ln -svf ../../../../../%{lib}/libgcc_s.so.1 ${FULLPATH}/libgcc_s.so
+                               ln -svf ../../../../../%{libdir}/libgcc_s.so.1 ${FULLPATH}/libgcc_s.so
                                ;;
                esac
 
                # Remove some GNU debugger stuff.
                rm -vf %{BUILDROOT}%{libdir}/lib*.py
 
+               # Install missing header file(s) on ARM.
+               case "%{DISTRO_ARCH}" in
+                       arm*)
+                               cp -vf %{DIR_APP}/gcc/config/vxworks-dummy.h \
+                                       ${FULLPATH}/plugin/include/config/
+                               cp -vf %{DIR_APP}/gcc/config/arm/arm-cores.def \
+                                       ${FULLPATH}/plugin/include/config/arm/
+                               ;;
+               esac
+
                # libgomp
                mv -vf %{BUILDROOT}%{libdir}/libgomp.spec ${FULLPATH}/
                ln -svf ../../../libgomp.so.1.0.0 ${FULLPATH}/libgomp.so
@@ -279,20 +289,21 @@ packages
                groups += Build
 
                requires
-                       binutils>=%{required_binutils_version}
+                       binutils >= %{required_binutils_version}
+                       filesystem >= 002
                        glibc-devel
                        gmp-devel
-                       cpp=%{thisver}
-                       libgcc=%{thisver}
-                       libgomp=%{thisver}
+                       cpp = %{thisver}
+                       libgcc = %{thisver}
+                       libgomp = %{thisver}
                end
 
                # We do not ship libgcc-devel anymore.
-               provides += libgcc-devel=%{thisver}
-               obsoletes += libgcc-devel<%{thisver}
+               provides += libgcc-devel = %{thisver}
+               obsoletes += libgcc-devel < %{thisver}
 
                if "%{build_cloog_ppl}" == "1"
-                       requires += cloog-ppl>=0.15
+                       requires += cloog-ppl >= 0.15
                end
        end
 
@@ -305,9 +316,9 @@ packages
                end
 
                requires
-                       gcc=%{thisver}
-                       libstdc++=%{thisver}
-                       libstdc++-devel=%{thisver}
+                       gcc = %{thisver}
+                       libstdc++ = %{thisver}
+                       libstdc++-devel = %{thisver}
                end
 
                files
@@ -344,11 +355,13 @@ packages
                group = Development/Languages
 
                files
-                       /%{lib}/cpp
-                       /usr/bin/cpp
-                       /usr/share/man/man1/cpp.1*
+                       %{prefix}/lib/cpp
+                       %{bindir}/cpp
+                       %{mandir}/man1/cpp.1*
                        %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/cc1
                end
+
+               provides = /lib/cpp
        end
 
        package libgcc
@@ -359,7 +372,7 @@ packages
                end
 
                files
-                       /%{lib}/libgcc*.so.*
+                       %{libdir}/libgcc*.so.*
                end
        end
 
@@ -384,7 +397,7 @@ packages
                end
 
                requires
-                       libstdc++=%{thisver}
+                       libstdc++ = %{thisver}
                end
 
                files
@@ -428,7 +441,7 @@ packages
                end
 
                requires
-                       libmudflap=%{thisver}
+                       libmudflap = %{thisver}
                end
 
                files
@@ -459,8 +472,8 @@ packages
                        end
 
                        requires
-                               gcc=%{thisver}
-                               libquadmath=%{thisver}
+                               gcc = %{thisver}
+                               libquadmath = %{thisver}
                        end
 
                        files
@@ -480,10 +493,10 @@ packages
                end
 
                requires
-                       gcc=%{thisver}
-                       gmp-devel>=4.1.2-8
-                       mpfr-devel>=2.2.1
-                       libmpc-devel>=0.8.1
+                       gcc = %{thisver}
+                       gmp-devel >= 4.1.2-8
+                       mpfr-devel >= 2.2.1
+                       libmpc-devel >= 0.8.1
                end
 
                files
similarity index 74%
rename from gcc/patches/gcc-4.6.0-piepatches-20110407.patch
rename to gcc/patches/gcc-4.6.3-piepatches-20120408.patch
index a9ffaba7efe45c3a7815d7bfe261c9dba7e81003..467b90a8538aebdea3e2a4a508fb72aea53cd7e7 100644 (file)
@@ -1,6 +1,8 @@
-diff -Nur gcc-4.6.0-vanilla/configure gcc-4.6.0/configure
---- gcc-4.6.0-vanilla/configure        2011-03-16 19:27:36.000000000 +0100
-+++ gcc-4.6.0/configure        2011-04-07 19:17:55.383923352 +0200
+git://git.overlays.gentoo.org/proj/hardened-gccpatchset.git
+
+diff -Nur gcc-4.6.3.vanilla/configure gcc-4.6.3/configure
+--- gcc-4.6.3.vanilla/configure        2011-12-18 11:03:44.000000000 +0100
++++ gcc-4.6.3/configure        2012-04-09 12:23:07.039817993 +0200
 @@ -668,6 +668,7 @@
  CFLAGS
  CC
@@ -17,11 +19,11 @@ diff -Nur gcc-4.6.0-vanilla/configure gcc-4.6.0/configure
 +                         Enable Stack protector, Position independent executable as
 +                         default if we have suppot for it when compiling
 +                         and link with -z relro and -z now as default.
-+                         Linux targets supported i*86, x86_64, powerpc, powerpc64, ia64 and arm
++                         Linux targets supported i*86, x86_64, powerpc, powerpc64, ia64 and arm.
    --enable-libssp         build libssp directory
    --enable-build-with-cxx build with C++ compiler instead of C compiler
    --disable-ppl-version-check
-@@ -3040,6 +3046,25 @@
+@@ -3039,6 +3045,25 @@
    noconfigdirs="$noconfigdirs gnattools"
  fi
  
@@ -47,7 +49,7 @@ diff -Nur gcc-4.6.0-vanilla/configure gcc-4.6.0/configure
  # Check whether --enable-libssp was given.
  if test "${enable_libssp+set}" = set; then :
    enableval=$enable_libssp; ENABLE_LIBSSP=$enableval
-@@ -14199,6 +14224,9 @@
+@@ -14168,6 +14193,9 @@
        *) stage1_cflags="-g -J" ;;
      esac ;;
  esac
@@ -57,25 +59,25 @@ diff -Nur gcc-4.6.0-vanilla/configure gcc-4.6.0/configure
  
  # This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
  if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
-diff -Nur gcc-4.6.0-vanilla/gcc/config/gnu-user.h gcc-4.6.0/gcc/config/gnu-user.h
---- gcc-4.6.0-vanilla/gcc/config/gnu-user.h    2011-01-12 15:29:14.000000000 +0100
-+++ gcc-4.6.0/gcc/config/gnu-user.h    2011-04-07 19:19:31.962715700 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/config/gnu-user.h gcc-4.6.3/gcc/config/gnu-user.h
+--- gcc-4.6.3.vanilla/gcc/config/gnu-user.h    2011-01-12 15:29:14.000000000 +0100
++++ gcc-4.6.3/gcc/config/gnu-user.h    2012-04-09 12:25:51.598251886 +0200
 @@ -41,7 +41,11 @@
     provides part of the support for getting C++ file-scope static
     object constructed before entering `main'.  */
     
 -#if defined HAVE_LD_PIE
-+#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINTS)
++#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP)
 +#define GNU_USER_TARGET_STARTFILE_SPEC \
 +  "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s \
-+   %{static:%{pie:crtbeginTS.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}"
-+#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINTS)
++   %{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}"
++#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP)
  #define GNU_USER_TARGET_STARTFILE_SPEC \
    "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
     crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-diff -Nur gcc-4.6.0-vanilla/gcc/config/rs6000/linux64.h gcc-4.6.0/gcc/config/rs6000/linux64.h
---- gcc-4.6.0-vanilla/gcc/config/rs6000/linux64.h      2011-03-07 08:50:23.000000000 +0100
-+++ gcc-4.6.0/gcc/config/rs6000/linux64.h      2011-04-07 19:19:26.658727069 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/config/rs6000/linux64.h gcc-4.6.3/gcc/config/rs6000/linux64.h
+--- gcc-4.6.3.vanilla/gcc/config/rs6000/linux64.h      2011-03-07 08:50:23.000000000 +0100
++++ gcc-4.6.3/gcc/config/rs6000/linux64.h      2012-04-09 12:25:39.139032665 +0200
 @@ -193,7 +193,7 @@
  #endif
  
@@ -85,40 +87,40 @@ diff -Nur gcc-4.6.0-vanilla/gcc/config/rs6000/linux64.h gcc-4.6.0/gcc/config/rs6
  %{memb} %{!memb: %{msdata=eabi: -memb}} \
  %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
      %{mcall-freebsd: -mbig} \
-diff -Nur gcc-4.6.0-vanilla/gcc/config/rs6000/sysv4.h gcc-4.6.0/gcc/config/rs6000/sysv4.h
---- gcc-4.6.0-vanilla/gcc/config/rs6000/sysv4.h        2011-03-07 08:50:23.000000000 +0100
-+++ gcc-4.6.0/gcc/config/rs6000/sysv4.h        2011-04-07 19:19:31.963715695 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/config/rs6000/sysv4.h gcc-4.6.3/gcc/config/rs6000/sysv4.h
+--- gcc-4.6.3.vanilla/gcc/config/rs6000/sysv4.h        2011-03-07 08:50:23.000000000 +0100
++++ gcc-4.6.3/gcc/config/rs6000/sysv4.h        2012-04-09 12:25:51.599251502 +0200
 @@ -800,7 +800,12 @@
  %{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \
  %{!shared: %{profile:-lc_p} %{!profile:-lc}}}"
  
 -#ifdef HAVE_LD_PIE
-+#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINTS)
++#if defined (HAVE_LD_PIE) && defined (ENABLE_CRTBEGINP)
 +#define STARTFILE_LINUX_SPEC "\
 +%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
 +%{mnewlib:ecrti.o%s;:crti.o%s} \
-+%{static:%{pie:crtbeginTS.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}"
-+#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINTS)
++%{static:%{pie:crtbeginP.o%s;:crtbeginT.o%s}} %{!static:%{shared|pie:crtbeginS.o%s;:crtbegin.o%s}}"
++#elif defined (HAVE_LD_PIE) && ! defined (ENABLE_CRTBEGINP)
  #define       STARTFILE_LINUX_SPEC "\
  %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
  %{mnewlib:ecrti.o%s;:crti.o%s} \
-diff -Nur gcc-4.6.0-vanilla/gcc/config.in gcc-4.6.0/gcc/config.in
---- gcc-4.6.0-vanilla/gcc/config.in    2011-03-25 18:07:00.000000000 +0100
-+++ gcc-4.6.0/gcc/config.in    2011-04-07 19:18:10.478890819 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/config.in gcc-4.6.3/gcc/config.in
+--- gcc-4.6.3.vanilla/gcc/config.in    2012-03-01 13:03:46.000000000 +0100
++++ gcc-4.6.3/gcc/config.in    2012-04-09 12:24:09.220535670 +0200
 @@ -58,6 +58,12 @@
  #endif
  
  
-+/* Define to 1 to enable crtbeginTS.o. */
++/* Define to 1 to enable crtbeginP.o. */
 +#ifndef USED_FOR_TARGET
-+#undef ENABLE_CRTBEGINTS
++#undef ENABLE_CRTBEGINP
 +#endif
 +
 +
  /* Define to 1 to specify that we are using the BID decimal floating point
     format instead of DPD */
  #ifndef USED_FOR_TARGET
-@@ -77,6 +83,12 @@
+@@ -77,6 +83,18 @@
  #endif
  
  
@@ -127,23 +129,29 @@ diff -Nur gcc-4.6.0-vanilla/gcc/config.in gcc-4.6.0/gcc/config.in
 +#undef ENABLE_ESP
 +#endif
 +
++
++/* Define to 1 to enable esp ssp. */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_ESP_SSP
++#endif
++
 +
  /* Define to 1 to enable fixed-point arithmetic extension to C. */
  #ifndef USED_FOR_TARGET
  #undef ENABLE_FIXED_POINT
-diff -Nur gcc-4.6.0-vanilla/gcc/configure gcc-4.6.0/gcc/configure
---- gcc-4.6.0-vanilla/gcc/configure    2011-02-28 16:36:37.000000000 +0100
-+++ gcc-4.6.0/gcc/configure    2011-04-07 19:17:55.388923340 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/configure gcc-4.6.3/gcc/configure
+--- gcc-4.6.3.vanilla/gcc/configure    2011-11-20 22:24:07.000000000 +0100
++++ gcc-4.6.3/gcc/configure    2012-04-09 12:24:09.229532218 +0200
 @@ -677,6 +677,8 @@
  HOST_LIBS
  GGC
  libgcc_visibility
 +enable_esp
-+enable_crtbeginTS
++enable_crtbeginP
  gcc_cv_readelf
  gcc_cv_objdump
  ORIGINAL_NM_FOR_TARGET
-@@ -25608,6 +25610,50 @@
+@@ -25606,6 +25608,50 @@
      ;;
  esac
  
@@ -194,7 +202,7 @@ diff -Nur gcc-4.6.0-vanilla/gcc/configure gcc-4.6.0/gcc/configure
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --build-id support" >&5
  $as_echo_n "checking linker --build-id support... " >&6; }
  if test "${gcc_cv_ld_buildid+set}" = set; then :
-@@ -25792,6 +25838,74 @@
+@@ -25790,6 +25836,113 @@
  
  fi
  
@@ -235,43 +243,82 @@ diff -Nur gcc-4.6.0-vanilla/gcc/configure gcc-4.6.0/gcc/configure
 +   { (exit 1); exit 1; }; }
 +fi
 +
-+echo "$as_me:$LINENO: checking for crtbeginTS.o support" >&5
-+echo $ECHO_N "checking for crtbeginTS.o support... $ECHO_C" >&6
-+if test "${enable_crtbeginTS+set}" = set; then
++echo "$as_me:$LINENO: checking for crtbeginP.o support" >&5
++echo $ECHO_N "checking for crtbeginP.o support... $ECHO_C" >&6
++if test "${enable_crtbeginP+set}" = set; then
 +  echo $ECHO_N "(cached) $ECHO_C" >&6
 +else
 +
 +if test x$enable_esp = xyes ; then
 +      case "$target" in
 +        ia64*-*-linux*)
-+                      enable_crtbeginTS=no ;;
++                      enable_crtbeginP=no ;;
 +      *-*-linux*)
 +              if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then
-+                      enable_crtbeginTS=yes
++                      enable_crtbeginP=yes
 +      fi
 +              ;;
-+        *) enable_crtbeginTS=no ;;
++        *) enable_crtbeginP=no ;;
 +    esac
 +fi
 +
 +fi
-+echo "$as_me:$LINENO: result: $enable_crtbeginTS" >&5
-+echo "${ECHO_T}$enable_crtbeginTS" >&6
++echo "$as_me:$LINENO: result: $enable_crtbeginP" >&5
++echo "${ECHO_T}$enable_crtbeginP" >&6
 +
-+if test x$enable_crtbeginTS = xyes; then
++if test x$enable_crtbeginP = xyes; then
 +
 +cat >>confdefs.h <<\_ACEOF
-+#define ENABLE_CRTBEGINTS 1
++#define ENABLE_CRTBEGINP 1
 +_ACEOF
 +
 +fi
++
++
++# Check if we have SSP support. if uClibc we need 0.9.32 or newer and TLS.
++echo "$as_me:$LINENO: checking for SSP support" >&5
++echo $ECHO_N "checking for SSP support... $ECHO_C" >&6
++if test "${enable_esp_SSP+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test x$enable_esp = xyes && test x$gcc_cv_libc_provides_ssp = xyes \
++     && test x$set_have_as_tls = xyes; then
++    if $EGREP '^[     ]*#[    ]*define[       ]+__UCLIBC__[   ]+1' \
++       $target_header_dir/features.h > /dev/null; then
++      if test -f $target_header_dir/bits/uClibc_config.h && \
++       $EGREP '^[     ]*#[    ]*define[       ]+__UCLIBC_SUBLEVEL__[  ]+([3-9][2-9]|[4-9][0-9])' \
++       $target_header_dir/bits/uClibc_config.h > /dev/null && \
++       $EGREP '^[     ]*#[    ]*define[       ]+__UCLIBC_HAS_TLS__[   ]+1' \
++       $target_header_dir/bits/uClibc_config.h > /dev/null; then
++      enable_esp_SSP=yes
++      else
++      enable_esp_SSP=no
++      fi
++    else
++      enable_esp_SSP=yes
++    fi
++  else
++    enable_esp_SSP=no
++  fi
++fi
++echo "$as_me:$LINENO: result: $enable_esp_SSP" >&5
++echo "${ECHO_T}$enable_esp_SSP" >&6
++
++if test x$enable_esp_SSP = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define ENABLE_ESP_SSP 1
++_ACEOF
++
++fi
++
 +
  # Check if TFmode long double should be used by default or not.
  # Some glibc targets used DFmode long double, but with glibc 2.4
  # and later they can use TFmode.
-diff -Nur gcc-4.6.0-vanilla/gcc/cp/lang-specs.h gcc-4.6.0/gcc/cp/lang-specs.h
---- gcc-4.6.0-vanilla/gcc/cp/lang-specs.h      2011-03-06 17:27:57.000000000 +0100
-+++ gcc-4.6.0/gcc/cp/lang-specs.h      2011-04-07 19:19:04.828773916 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/cp/lang-specs.h gcc-4.6.3/gcc/cp/lang-specs.h
+--- gcc-4.6.3.vanilla/gcc/cp/lang-specs.h      2011-03-06 17:27:57.000000000 +0100
++++ gcc-4.6.3/gcc/cp/lang-specs.h      2012-04-09 12:25:11.222744541 +0200
 @@ -47,7 +47,7 @@
                %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\
        cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\
@@ -290,12 +337,52 @@ diff -Nur gcc-4.6.0-vanilla/gcc/cp/lang-specs.h gcc-4.6.0/gcc/cp/lang-specs.h
         %{!fsyntax-only:%(invoke_as)}}}}",
       CPLUSPLUS_CPP_SPEC, 0, 0},
    {".ii", "@c++-cpp-output", 0, 0, 0},
-diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
---- gcc-4.6.0-vanilla/gcc/esp.h        1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.6.0/gcc/esp.h        2011-04-07 19:19:14.329753502 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/doc/invoke.texi gcc-4.6.3/gcc/doc/invoke.texi
+--- gcc-4.6.3.vanilla/gcc/doc/invoke.texi      2012-01-03 17:43:38.000000000 +0100
++++ gcc-4.6.3/gcc/doc/invoke.texi      2012-04-09 12:26:06.709453504 +0200
+@@ -8185,6 +8185,11 @@
+ @opindex fstack-protector-all
+ Like @option{-fstack-protector} except that all functions are protected.
++NOTE: When --enable-esp this option is enabled by default 
++for C, C++, ObjC, ObjC++, if neither @option{-fno-stack-protector}
++or @option{-nostdlib} or @option{-nodefaultlibs} or 
++@option{-fstack-protector} are found.
++
+ @item -fsection-anchors
+ @opindex fsection-anchors
+ Try to reduce the number of symbolic address calculations by using
+@@ -9090,6 +9095,12 @@
+ that were used to generate code (@option{-fpie}, @option{-fPIE},
+ or model suboptions) when you specify this option.
++NOTE: When --enable-esp this option is enabled by default
++for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE}
++or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or
++@option{-nostartfiles} or @option{-shared} or @option{-pg} or @option{-p}
++are found.
++
+ @item -rdynamic
+ @opindex rdynamic
+ Pass the flag @option{-export-dynamic} to the ELF linker, on targets
+@@ -18099,6 +18110,11 @@
+ @code{__pie__} and @code{__PIE__}.  The macros have the value 1
+ for @option{-fpie} and 2 for @option{-fPIE}.
++NOTE: When --enable-esp this option is enabled by default
++for C, C++, ObjC, ObjC++, if neither @option{-fno-pie} or @option{-fno-PIE}
++or @option{-fno-pic} or @option{-fno-PIC} or @option{-nostdlib} or
++@option{-nostartfiles} or @option{-shared} are found.
++
+ @item -fno-jump-tables
+ @opindex fno-jump-tables
+ Do not use jump tables for switch statements even where it would be
+diff -Nur gcc-4.6.3.vanilla/gcc/esp.h gcc-4.6.3/gcc/esp.h
+--- gcc-4.6.3.vanilla/gcc/esp.h        1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.6.3/gcc/esp.h        2012-04-09 12:25:25.376313618 +0200
 @@ -0,0 +1,145 @@
 +/* License terms see GNU GENERAL PUBLIC LICENSE Version 3.
-+ * Version 20100527.1
++ * Version 20120403.2
 + * Magnus Granberg (Zorry) <zorry@gentoo.org>  */
 +#ifndef GCC_ESP_H
 +#define GCC_ESP_H
@@ -309,7 +396,7 @@ diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
 +      ESP_CC1_SPEC is added to CC1_SPEC.
 +      ESP_CC1_STRICT_OVERFLOW_SPEC is added so we don't disable the strict-overflow check.
 +      ESP_LINK_PIE_CHECK_SPEC check for -pie, -p, -pg, -profile and -static.
-+      ENABLE_CRTBEGINTS add support for crtbeginTS.o, build -static with -fPIE or -fpie.
++      ENABLE_CRTBEGINP add support for crtbeginP.o, build -static with -fPIE or -fpie.
 +*/
 +#ifdef ENABLE_ESP
 +      
@@ -345,7 +432,7 @@ diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
 +
 +      /*  This will add -fstack-protector-all if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector
 +              -fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined.  */
-+      #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
++      #if ( defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP ) ) && defined ( ENABLE_ESP_SSP )
 +              #define ESP_OPTIONS_SSP_SPEC \
 +                      "%{!D__KERNEL__:%{!nostdlib:%{!nodefaultlibs: %{!fno-stack-protector: \
 +                      %{!fstack-protector:%{!fstack-protector-all:-fstack-protector-all}}}}}}"
@@ -358,8 +445,8 @@ diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
 +
 +              /*  This will add -fPIE if we don't have -pie -fpic -fPIC -fpie -fPIE -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static
 +                      -nostdlib -nostartfiles.  */
-+              /*  With ENABLE_CRTBEGINTS we don't need to check for -static  */
-+              #ifdef ENABLE_CRTBEGINTS
++              /*  With ENABLE_CRTBEGINP we don't need to check for -static  */
++              #ifdef ENABLE_CRTBEGINP
 +                      #define ESP_OPTIONS_PIE_SPEC \
 +                              "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \
 +                              %{!shared: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }"
@@ -371,9 +458,9 @@ diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
 +
 +              /*  This will add -pie if we don't have -pie -A -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static -r -nostdlib 
 +                      -nostartfiles  */
-+              /*  With ENABLE_CRTBEGINTS we don't need to check for -static
++              /*  With ENABLE_CRTBEGINP we don't need to check for -static
 +                      and we add -pie only to get the start and endfiles. -pie will not go to the linker. */
-+              #ifdef ENABLE_CRTBEGINTS
++              #ifdef ENABLE_CRTBEGINP
 +                      #define ESP_LINK_PIE_SPEC \
 +                              "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!r: \
 +                              %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}"
@@ -385,8 +472,8 @@ diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
 +              
 +              /*  This will check if -pie is set when (-static) -pg -p -profile. If set it will make gcc print out
 +                      "-pie and (static)|pg|p|profile are incompatible when linking"  */
-+              /*  With ENABLE_CRTBEGINTS we don't need to check for -static  */
-+              #ifdef ENABLE_CRTBEGINTS
++              /*  With ENABLE_CRTBEGINP we don't need to check for -static  */
++              #ifdef ENABLE_CRTBEGINP
 +                      #define ESP_LINK_PIE_CHECK_SPEC \
 +                              "%{pie:%{pg|p|profile:%e-pie and -pg|p|profile are incompatible when linking}}"
 +              #else
@@ -395,7 +482,7 @@ diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
 +              #endif
 +
 +              /*  We don't pass -pie to the linker when -static.  */
-+              #ifdef ENABLE_CRTBEGINTS
++              #ifdef ENABLE_CRTBEGINP
 +                      #define LINK_PIE_SPEC "%{!static:%{pie:-pie}} %(esp_link)"
 +              #else
 +                      #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)"
@@ -439,9 +526,9 @@ diff -Nur gcc-4.6.0-vanilla/gcc/esp.h gcc-4.6.0/gcc/esp.h
 +
 +#endif
 +#endif /* End GCC_ESP_H */
-diff -Nur gcc-4.6.0-vanilla/gcc/gcc.c gcc-4.6.0/gcc/gcc.c
---- gcc-4.6.0-vanilla/gcc/gcc.c        2011-02-23 03:04:43.000000000 +0100
-+++ gcc-4.6.0/gcc/gcc.c        2011-04-07 19:19:04.828773916 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/gcc.c gcc-4.6.3/gcc/gcc.c
+--- gcc-4.6.3.vanilla/gcc/gcc.c        2011-02-23 03:04:43.000000000 +0100
++++ gcc-4.6.3/gcc/gcc.c        2012-04-09 12:25:11.222744541 +0200
 @@ -44,6 +44,7 @@
  #include "flags.h"
  #include "opts.h"
@@ -547,9 +634,9 @@ diff -Nur gcc-4.6.0-vanilla/gcc/gcc.c gcc-4.6.0/gcc/gcc.c
    /* Now we have the specs.
       Set the `valid' bits for switches that match anything in any spec.  */
  
-diff -Nur gcc-4.6.0-vanilla/gcc/Makefile.in gcc-4.6.0/gcc/Makefile.in
---- gcc-4.6.0-vanilla/gcc/Makefile.in  2011-01-26 05:19:58.000000000 +0100
-+++ gcc-4.6.0/gcc/Makefile.in  2011-04-07 19:18:24.186861296 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/Makefile.in gcc-4.6.3/gcc/Makefile.in
+--- gcc-4.6.3.vanilla/gcc/Makefile.in  2011-08-20 09:51:09.000000000 +0200
++++ gcc-4.6.3/gcc/Makefile.in  2012-04-09 12:23:38.285405919 +0200
 @@ -642,6 +642,14 @@
  INHIBIT_LIBC_CFLAGS = -Dinhibit_libc
  endif
@@ -578,16 +665,16 @@ diff -Nur gcc-4.6.0-vanilla/gcc/Makefile.in gcc-4.6.0/gcc/Makefile.in
  # The rules for compiling them should be in the t-* file for the machine.
  EXTRA_PARTS = @extra_parts@
  
-+# We add crtbeginTS.o to the EXTRA_PARTS list if enable_crtbeginTS = yes
-+enable_crtbeginTS = @enable_crtbeginTS@
-+ifeq ($(enable_crtbeginTS),yes)
-+EXTRA_PARTS += crtbeginTS.o
++# We add crtbeginP.o to the EXTRA_PARTS list if enable_crtbeginP = yes
++enable_crtbeginP = @enable_crtbeginP@
++ifeq ($(enable_crtbeginP),yes)
++EXTRA_PARTS += crtbeginP.o
 +endif
 +
  # List of extra object files that should be compiled and linked with
  # compiler proper (cc1, cc1obj, cc1plus).
  EXTRA_OBJS = @extra_objs@
-@@ -996,7 +1010,7 @@
+@@ -996,12 +1010,12 @@
  
  # This is the variable actually used when we compile. If you change this,
  # you probably want to update BUILD_CFLAGS in configure.ac
@@ -596,6 +683,13 @@ diff -Nur gcc-4.6.0-vanilla/gcc/Makefile.in gcc-4.6.0/gcc/Makefile.in
    $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@
  
  # The C++ version.
+-ALL_CXXFLAGS = $(T_CFLAGS) $(CXXFLAGS) $(INTERNAL_CFLAGS) \
+-  $(COVERAGE_FLAGS) $(WARN_CXXFLAGS) @DEFS@
++ALL_CXXFLAGS = $(ESP_NOPIE_CFLAGS) $(T_CFLAGS) $(CXXFLAGS) \
++  $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CXXFLAGS) @DEFS@
+ # Likewise.  Put INCLUDES at the beginning: this way, if some autoconf macro
+ # puts -I options in CPPFLAGS, our include files in the srcdir will always
 @@ -1920,9 +1934,10 @@
        echo LIBGCC_SYNC = '$(LIBGCC_SYNC)' >> tmp-libgcc.mvars
        echo LIBGCC_SYNC_CFLAGS = '$(LIBGCC_SYNC_CFLAGS)' >> tmp-libgcc.mvars
@@ -604,7 +698,7 @@ diff -Nur gcc-4.6.0-vanilla/gcc/Makefile.in gcc-4.6.0/gcc/Makefile.in
 +      echo CRTSTUFF_T_CFLAGS = '$(CRTSTUFF_T_CFLAGS) $(ESP_NOPIE_CFLAGS)' >> tmp-libgcc.mvars
        echo CRTSTUFF_T_CFLAGS_S = '$(CRTSTUFF_T_CFLAGS_S)' >> tmp-libgcc.mvars
        echo TARGET_SYSTEM_ROOT = '$(TARGET_SYSTEM_ROOT)' >> tmp-libgcc.mvars
-+      echo enable_crtbeginTS = '$(enable_crtbeginTS)' >> tmp-libgcc.mvars
++      echo enable_crtbeginP = '$(enable_crtbeginP)' >> tmp-libgcc.mvars
  
        mv tmp-libgcc.mvars libgcc.mvars
  
@@ -617,20 +711,20 @@ diff -Nur gcc-4.6.0-vanilla/gcc/Makefile.in gcc-4.6.0/gcc/Makefile.in
          -o $(T)crtbeginT$(objext)
  
 +# This is a version of crtbegin for -static -fPIE links if esp is enable.
-+ifeq ($(enable_crtbeginTS),yes)
-+$(T)crtbeginTS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
++ifeq ($(enable_crtbeginP),yes)
++$(T)crtbeginP.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
 +  gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
 +      $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \
 +        -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O \
-+        -o $(T)crtbeginTS$(objext)
++        -o $(T)crtbeginP$(objext)
 +endif
 +
  # Compile the start modules crt0.o and mcrt0.o that are linked with
  # every program
  $(T)crt0.o: s-crt0 ; @true
-diff -Nur gcc-4.6.0-vanilla/gcc/objc/lang-specs.h gcc-4.6.0/gcc/objc/lang-specs.h
---- gcc-4.6.0-vanilla/gcc/objc/lang-specs.h    2011-03-06 17:27:57.000000000 +0100
-+++ gcc-4.6.0/gcc/objc/lang-specs.h    2011-04-07 19:19:04.831773909 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/objc/lang-specs.h gcc-4.6.3/gcc/objc/lang-specs.h
+--- gcc-4.6.3.vanilla/gcc/objc/lang-specs.h    2011-03-06 17:27:57.000000000 +0100
++++ gcc-4.6.3/gcc/objc/lang-specs.h    2012-04-09 12:25:11.224743774 +0200
 @@ -30,9 +30,9 @@
        %{traditional|traditional-cpp:\
  %eGNU Objective C no longer supports traditional compilation}\
@@ -666,9 +760,9 @@ diff -Nur gcc-4.6.0-vanilla/gcc/objc/lang-specs.h gcc-4.6.0/gcc/objc/lang-specs.
 -       %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
 +       %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(esp_options) %{print-objc-runtime-info} %{gen-decls}\
                             %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-diff -Nur gcc-4.6.0-vanilla/gcc/objcp/lang-specs.h gcc-4.6.0/gcc/objcp/lang-specs.h
---- gcc-4.6.0-vanilla/gcc/objcp/lang-specs.h   2011-03-06 17:27:57.000000000 +0100
-+++ gcc-4.6.0/gcc/objcp/lang-specs.h   2011-04-07 19:19:04.829773913 +0200
+diff -Nur gcc-4.6.3.vanilla/gcc/objcp/lang-specs.h gcc-4.6.3/gcc/objcp/lang-specs.h
+--- gcc-4.6.3.vanilla/gcc/objcp/lang-specs.h   2011-03-06 17:27:57.000000000 +0100
++++ gcc-4.6.3/gcc/objcp/lang-specs.h   2012-04-09 12:25:11.223744157 +0200
 @@ -36,7 +36,7 @@
                %(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
        cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
@@ -698,10 +792,10 @@ diff -Nur gcc-4.6.0-vanilla/gcc/objcp/lang-specs.h gcc-4.6.0/gcc/objcp/lang-spec
 -    cc1objplus -fpreprocessed %i %(cc1_options) %2\
 +    cc1objplus -fpreprocessed %i %(cc1_options) %(esp_options) %2\
      %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-diff -Nur gcc-4.6.0-vanilla/gcc/varasm.c gcc-4.6.0/gcc/varasm.c
---- gcc-4.6.0-vanilla/gcc/varasm.c     2011-02-28 16:36:37.000000000 +0100
-+++ gcc-4.6.0/gcc/varasm.c     2011-04-07 19:18:52.338800740 +0200
-@@ -6022,7 +6022,11 @@
+diff -Nur gcc-4.6.3.vanilla/gcc/varasm.c gcc-4.6.3/gcc/varasm.c
+--- gcc-4.6.3.vanilla/gcc/varasm.c     2011-12-09 20:11:01.000000000 +0100
++++ gcc-4.6.3/gcc/varasm.c     2012-04-09 12:24:55.766675254 +0200
+@@ -6028,7 +6028,11 @@
    bool is_local;
  
    is_local = targetm.binds_local_p (decl);
@@ -714,17 +808,17 @@ diff -Nur gcc-4.6.0-vanilla/gcc/varasm.c gcc-4.6.0/gcc/varasm.c
      {
        if (is_local)
        kind = TLS_MODEL_LOCAL_EXEC;
-diff -Nur gcc-4.6.0-vanilla/libgcc/Makefile.in gcc-4.6.0/libgcc/Makefile.in
---- gcc-4.6.0-vanilla/libgcc/Makefile.in       2011-01-26 05:19:58.000000000 +0100
-+++ gcc-4.6.0/libgcc/Makefile.in       2011-04-07 19:18:24.190861287 +0200
+diff -Nur gcc-4.6.3.vanilla/libgcc/Makefile.in gcc-4.6.3/libgcc/Makefile.in
+--- gcc-4.6.3.vanilla/libgcc/Makefile.in       2011-01-26 05:19:58.000000000 +0100
++++ gcc-4.6.3/libgcc/Makefile.in       2012-04-09 12:23:38.286405535 +0200
 @@ -298,6 +298,12 @@
  gen-hide-list = echo > \$@
  endif
  
-+# We add crtbeginTS.o to the EXTRA_PARTS list if enable_crtbeginTS = yes
-+enable_libgcc_crtbeginTS = $(enable_crtbeginTS)
-+ifeq ($(enable_libgcc_crtbeginTS),yes)
-+EXTRA_PARTS += crtbeginTS.o
++# We add crtbeginP.o to the EXTRA_PARTS list if enable_crtbeginP = yes
++enable_libgcc_crtbeginP = $(enable_crtbeginP)
++ifeq ($(enable_libgcc_crtbeginP),yes)
++EXTRA_PARTS += crtbeginP.o
 +endif
 +
  ifneq ($(EXTRA_PARTS),)
@@ -736,17 +830,17 @@ diff -Nur gcc-4.6.0-vanilla/libgcc/Makefile.in gcc-4.6.0/libgcc/Makefile.in
          -c $(gcc_srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O
 +
 +# This is a version of crtbegin for -static -fPIE links.
-+ifeq ($(enable_libgcc_crtbeginTS),yes)
-+crtbeginTS.o: $(gcc_srcdir)/crtstuff.c
++ifeq ($(enable_libgcc_crtbeginP),yes)
++crtbeginP.o: $(gcc_srcdir)/crtstuff.c
 +      $(crt_compile) $(CRTSTUFF_T_CFLAGS_S) \
 +        -c $(gcc_srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O -DCRTSTUFFS_O
 +endif
  endif
  
  # Build extra startfiles in the libgcc directory.
-diff -Nur gcc-4.6.0-vanilla/libmudflap/configure gcc-4.6.0/libmudflap/configure
---- gcc-4.6.0-vanilla/libmudflap/configure     2011-02-13 12:45:53.000000000 +0100
-+++ gcc-4.6.0/libmudflap/configure     2011-04-07 19:17:55.399923318 +0200
+diff -Nur gcc-4.6.3.vanilla/libmudflap/configure gcc-4.6.3/libmudflap/configure
+--- gcc-4.6.3.vanilla/libmudflap/configure     2011-11-20 22:24:07.000000000 +0100
++++ gcc-4.6.3/libmudflap/configure     2012-04-09 12:23:07.050818345 +0200
 @@ -652,6 +652,7 @@
  MAINTAINER_MODE_FALSE
  MAINTAINER_MODE_TRUE
@@ -755,9 +849,9 @@ diff -Nur gcc-4.6.0-vanilla/libmudflap/configure gcc-4.6.0/libmudflap/configure
  am__tar
  AMTAR
  am__leading_dot
-diff -Nur gcc-4.6.0-vanilla/Makefile.in gcc-4.6.0/Makefile.in
---- gcc-4.6.0-vanilla/Makefile.in      2011-02-12 13:02:24.000000000 +0100
-+++ gcc-4.6.0/Makefile.in      2011-04-07 19:18:24.184861300 +0200
+diff -Nur gcc-4.6.3.vanilla/Makefile.in gcc-4.6.3/Makefile.in
+--- gcc-4.6.3.vanilla/Makefile.in      2012-01-02 12:02:10.000000000 +0100
++++ gcc-4.6.3/Makefile.in      2012-04-09 12:23:38.283406686 +0200
 @@ -356,9 +356,17 @@
  BUILD_PREFIX = @BUILD_PREFIX@
  BUILD_PREFIX_1 = @BUILD_PREFIX_1@
index 8ad9a5a3603387a8381522e3312fd7e6289266e8..1053853cdcb25022306c61dcfffdd5a17270e7ef 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = gdb
 version    = 7.3.50.20110722
-release    = 1
+release    = 3
 
 groups     = Development/Debuggers
 url        = http://gnu.org/software/gdb/
@@ -69,6 +69,10 @@ build
 
                mkdir -pv %{BUILDROOT}/etc/gdbinit.d
                cp -vf %{DIR_SOURCE}/gdbinit %{BUILDROOT}/etc/gdbinit
+
+               # Remove locale data and headers which is provided by binutils.
+               rm -rf %{BUILDROOT}%{datadir}/locale/
+               rm -rf %{BUILDROOT}%{includedir}/{ansidecl,bfd,bfdlink,dis-asm,symcat}.h
        end
 end
 
index 98a5fca81151ba4c8596cd60fe2f71b9fb32d64b..3416a0a834f8602d34f344d63993d6fc3b171848 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = gettext
 version    = 0.18.1.1
-release    = 6
+release    = 7
 
 groups     = System/Base
 url        = http://www.gnu.org/software/gettext/
@@ -73,6 +73,7 @@ packages
                requires
                        gettext-common-devel=%{thisver}
                        gettext-libs=%{thisver}
+                       git
                end
 
                files += \
index f144f019c0c9ed6706f3ad9000a20e71537e30e6..b8c52079621de592bc9e511cb7902d07b2864718 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = ghostscript
-version    = 9.04
-release    = 3
+version    = 9.05
+release    = 2.1
 
 groups     = Applications/Printing
 url        = http://ghostscript.com
@@ -13,33 +13,58 @@ license    = GPL
 summary    = An interpreter for the PostScript language and for PDF.
 
 description
-       Ghostscript is a package of software that provides:\
-       \
-       * An interpreter for the PostScript (TM) language, with the ability to \
-         convert PostScript language files to many raster formats, view them \
-         on displays, and print them on printers that don't have PostScript \
-         language capability built in; \
-       * An interpreter for Portable Document Format (PDF) files, with the \
-         same abilities; \
-       * The ability to convert PostScript language files to PDF (with some \
-         limitations) and vice versa; and \
-       * A set of C procedures (the Ghostscript library) that implement the \
-         graphics and filtering (data compression / decompression \
-         / conversion) capabilities that appear as primitive operations in \
-         the PostScript language and in PDF.
+       Ghostscript is a package of software that provides an interpreter
+       for the PostScript (TM) language, with the ability to convert PostScript
+       language files to many raster formats, view them on displays, and print
+       them on printers that don't have PostScript  language capability built in.
+       It also contains an interpreter for Portable Document Format (PDF) files,
+       with the same abilities and has the ability to convert PostScript
+       language files to PDF (with some limitations) and vice versa.
+       A set of C procedures (the Ghostscript library) implements the
+       graphics and filtering (data compression / decompression / conversion)
+       capabilities that appear as primitive operations in the PostScript
+       language and in PDF.
 end
 
-source_dl  =
+source_dl  = http://downloads.ghostscript.com/public/
 
 build
+       requires
+               dbus-devel
+               expat-devel
+               glib2-devel
+               libidn-devel
+               libjpeg-devel
+               libpng-devel
+               libtiff-devel
+               libtool
+               libxml2-devel
+               unzip
+               zlib-devel
+       end
+
+       prepare_cmds
+               rm -rvf libpng zlib jpeg jasper expat
+       end
+
+       CFLAGS += -fno-strict-aliasing
+
        configure_options += \
-               --without-omni
+               --with-ijs \
+               --enable-dynamic \
+               --with-drivers=ALL \
+               --disable-compile-inits \
+               --with-system-libtiff \
+               --with-install-cups
 
        PARALLELISMFLAGS = # Disable this
 end
 
 packages
        package %{name}
+
+       package %{name}-devel
+               template DEVEL
        end
 
        package %{name}-debuginfo
index 67c7fb097a1d6ba55aa90a2f61facf0c334bf336..62e04f0b47a6e05236961da3a0b64db89530eeac 100644 (file)
@@ -6,7 +6,7 @@
 name       = glib2
 ver_major  = 2.31
 version    = %{ver_major}.2
-release    = 1
+release    = 2
 thisapp    = glib-%{version}
 
 groups     = System/Libraries
@@ -40,12 +40,6 @@ build
                --with-pcre=system
 
        install_cmds
-               ./mkinstalldirs %{BUILDROOT}/lib
-               cd %{BUILDROOT}/usr/lib && for name in glib gobject gmodule gthread gio; do \
-                       mv -v lib${name}-2.0.so.* ../../lib; \
-                       ln -svf ../../lib/lib${name}-2.0.so.*.* lib${name}-2.0.so; \
-               done
-
                mkdir -pv %{BUILDROOT}/etc/profile.d/
                cp -vf %{DIR_SOURCE}/glib2-locale.sh %{BUILDROOT}/etc/profile.d/
        end
index d19160206d64b03a895e89c3c43414f98026a9fd..e5a6aa0ff8034753a30b2efaff4d72685cc65fc2 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = glibc
 version    = 2.15
-release    = 1
+release    = 3
 thisapp    = %{name}-2.15-a316c1f
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
@@ -35,14 +35,14 @@ build
        OPTIMIZED_KERNEL = 2.6.32
 
        requires
-               #audit-devel
+               audit-devel
                autoconf
                automake
-               #gettext
+               gettext
                kernel-headers>=%{OPTIMIZED_KERNEL}
                libcap-devel
                libselinux-devel
-               #nss-devel
+               nss-devel
                texinfo
        end
 
@@ -155,8 +155,8 @@ build
                --enable-kernel=%{OPTIMIZED_KERNEL} \
                --with-selinux \
                --disable-werror \
-               --enable-bind-now
-#              --enable-nss-crypt
+               --enable-bind-now \
+               --enable-nss-crypt
 
        if "%{DISTRO_ARCH}" == "armv5tel"
                # Disable hardware FP for ARM.
@@ -255,6 +255,7 @@ packages
                        /usr/bin
                        /usr/sbin
                        /usr/share
+                       /usr/lib/locale
                        !/usr/share/zoneinfo
                end
        end
index 1a59cff0dccedf74e7b164a8be6b92ba10675ad3..df937229081f88910f389c8b5f240385af150d9b 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = gmp
-version    = 5.0.2
-release    = 2
+version    = 5.0.3
+release    = 1
 
 compat_version = 4.3.2
 
@@ -24,7 +24,7 @@ description
        emphasizes speed over simplicity/elegance in its operations.
 end
 
-source_dl += ftp://ftp.gmplib.org/pub/%{thisapp}/ ftp://ftp.gmplib.org/pub/%{name}-%{compat_version}/
+source_dl += ftp://ftp.gnu.org/gnu/gmp/
 sources    = %{thisapp}.tar.bz2 %{name}-%{compat_version}.tar.bz2
 
 build
index d5b10b89232c35c1695c791ea6803538e8d4fa11..ff5a93af9c595fa83bee014f82a7b1312102eb61 100644 (file)
@@ -3,9 +3,10 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = gnupg
+name       = gnupg2
 version    = 2.0.18
-release    = 1
+release    = 2
+thisapp    = gnupg-%{version}
 
 groups     = Security/Tools
 url        = http://www.gnupg.org/
@@ -35,7 +36,7 @@ build
        end
 
        configure_options += \
-               --libexecdir=/usr/lib/gnupg2 \
+               --libexecdir=%{libdir}/gnupg2 \
                --enable-standard-socket
 end
 
index 2b2912ea67925f8919ca70d3f2d03ea7a69a41f1..fcd21a01be45668cc7cca7ff931f15a5a8047e31 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = gnutls
-version    = 3.0.9
+version    = 3.0.15
 release    = 1
 
 groups     = System/Libraries
@@ -24,10 +24,15 @@ sources    = %{thisapp}.tar.xz
 
 build
        requires
+               gettext
+               guile-devel
+               libgcrypt-devel
                libtasn1-devel
-               nettle-devel>=2.4
+               lzo-devel
+               nettle-devel >= 2.4
                perl
-               p11-kit-devel>=0.4
+               p11-kit-devel >= 0.4
+               readline-devel
                zlib-devel
        end
 
@@ -36,18 +41,21 @@ build
 
        configure_options += \
                --with-included-libcfg \
-               --disable-srp-authentication
+               --disable-srp-authentication \
+               --disable-openssl-compatibility \
+               --with-libgcrypt
 
-       test
-               make check
-       end
+       #test
+       #       export LD_LIBRARY_PATH=$(pwd)/lib/.libs
+       #       make check
+       #end
 end
 
 packages
        package %{name}
                requires
-                       nettle>=2.4
-                       p11-kit>=0.4
+                       nettle >= 2.4
+                       p11-kit >= 0.4
                end
        end
 
diff --git a/gpgme/gpgme.nm b/gpgme/gpgme.nm
new file mode 100644 (file)
index 0000000..317a046
--- /dev/null
@@ -0,0 +1,63 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = gpgme
+version    = 1.3.0
+release    = 1
+
+groups     = Applications/System
+url        = http://www.gnupg.org/related_software/gpgme/
+license    = LGPLv2+
+summary    = GnuPG Made Easy - high level crypto API.
+
+description
+       GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
+       easier for applications.  It provides a high-level crypto API for
+       encryption, decryption, signing, signature verification and key
+       management.
+end
+
+source_dl  = ftp://ftp.gnupg.org/gcrypt/gpgme/
+sources    = %{thisapp}.tar.bz2
+
+build
+       requires
+               gawk
+               gnupg2
+               libassuan-devel
+               libgpg-error-devel
+               pth-devel
+               which
+       end
+
+       configure_options += \
+               --with-gpg=%{bindir}/gpg2 \
+               --disable-gpg-test
+
+       test
+               make -C tests check
+       end
+
+       install_cmds
+               # Remove LISP examples.
+               rm -rfv %{BUILDROOT}%{datadir}/common-lisp/
+       end
+end
+
+packages
+       package %{name}
+               requires = gnupg2
+       end
+
+       package %{name}-devel
+               template DEVEL
+
+               requires += libgpg-error-devel
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/gpgme/patches/gpgme-1.2.0-largefile.patch b/gpgme/patches/gpgme-1.2.0-largefile.patch
new file mode 100644 (file)
index 0000000..98f9039
--- /dev/null
@@ -0,0 +1,24 @@
+diff -up gpgme-1.2.0/src/gpgme-config.in.largefile gpgme-1.2.0/src/gpgme-config.in
+--- gpgme-1.2.0/src/gpgme-config.in.largefile  2010-08-11 20:11:49.000000000 +0200
++++ gpgme-1.2.0/src/gpgme-config.in    2010-08-11 20:23:45.000000000 +0200
+@@ -42,6 +42,10 @@ cflags_pthread=""
+ cflags_glib="@GLIB_CFLAGS@"
+ with_glib=
++if test "0@NEED__FILE_OFFSET_BITS@" -gt "0" ; then
++    cflags_lfs="-D_FILE_OFFSET_BITS=@NEED__FILE_OFFSET_BITS@"
++fi
++
+ output=""
+ usage()
+@@ -101,6 +105,9 @@ while test $# -gt 0; do
+           exit 0
+           ;;
+         --cflags)
++          if test "x$cflags_lfs" != "x"; then
++              output="$output $cflags_lfs"
++          fi
+           if test "x$includedir" != "x/usr/include" -a "x$includedir" != "x/include"; then
+               output="$output -I$includedir"
+           fi
diff --git a/gpgme/patches/gpgme-1.3.0-ImplicitDSOLinking.patch b/gpgme/patches/gpgme-1.3.0-ImplicitDSOLinking.patch
new file mode 100644 (file)
index 0000000..cd2f7a5
--- /dev/null
@@ -0,0 +1,72 @@
+diff -up gpgme-1.3.0/src/Makefile.am.ImplicitDSOLinking gpgme-1.3.0/src/Makefile.am
+--- gpgme-1.3.0/src/Makefile.am.ImplicitDSOLinking     2010-01-06 04:02:19.000000000 +0100
++++ gpgme-1.3.0/src/Makefile.am        2011-02-11 18:14:54.000000000 +0100
+@@ -232,7 +232,7 @@ libgpgme_qt_la_LIBADD = $(gpgme_res) @LI
+ endif
+ noinst_PROGRAMS = gpgme-tool
+-gpgme_tool_LDADD = libgpgme.la
++gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@
+ status-table.h : gpgme.h
+       $(srcdir)/mkstatus < $(builddir)/gpgme.h > status-table.h
+diff -up gpgme-1.3.0/src/Makefile.in.ImplicitDSOLinking gpgme-1.3.0/src/Makefile.in
+--- gpgme-1.3.0/src/Makefile.in.ImplicitDSOLinking     2010-01-11 12:06:54.000000000 +0100
++++ gpgme-1.3.0/src/Makefile.in        2011-02-11 18:17:10.000000000 +0100
+@@ -572,7 +572,7 @@ libgpgme_pth_la_LIBADD = $(gpgme_res) @L
+ @BUILD_W32_QT_TRUE@libgpgme_qt_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
+ @BUILD_W32_QT_TRUE@   @GPG_ERROR_LIBS@ @QT4_CORE_LIBS@
+-gpgme_tool_LDADD = libgpgme.la
++gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@
+ all: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) all-am
+diff -up gpgme-1.3.0/tests/gpgsm/Makefile.am.ImplicitDSOLinking gpgme-1.3.0/tests/gpgsm/Makefile.am
+--- gpgme-1.3.0/tests/gpgsm/Makefile.am.ImplicitDSOLinking     2008-12-03 14:39:48.000000000 +0100
++++ gpgme-1.3.0/tests/gpgsm/Makefile.am        2011-02-11 17:36:32.000000000 +0100
+@@ -32,7 +32,7 @@ EXTRA_DIST = cert_dfn_pca01.der cert_dfn
+ INCLUDES = -I$(top_builddir)/src
+ AM_CPPFLAGS = @GPG_ERROR_CFLAGS@
+-LDADD = ../../src/libgpgme.la
++LDADD = ../../src/libgpgme.la @GPG_ERROR_LIBS@
+ # We don't run t-genkey in the test suite, because it takes too long
+ # and needs a working pinentry.
+diff -up gpgme-1.3.0/tests/gpgsm/Makefile.in.ImplicitDSOLinking gpgme-1.3.0/tests/gpgsm/Makefile.in
+--- gpgme-1.3.0/tests/gpgsm/Makefile.in.ImplicitDSOLinking     2010-01-11 12:06:54.000000000 +0100
++++ gpgme-1.3.0/tests/gpgsm/Makefile.in        2011-02-11 17:36:32.000000000 +0100
+@@ -307,7 +307,7 @@ EXTRA_DIST = cert_dfn_pca01.der cert_dfn
+ INCLUDES = -I$(top_builddir)/src
+ AM_CPPFLAGS = @GPG_ERROR_CFLAGS@
+-LDADD = ../../src/libgpgme.la
++LDADD = ../../src/libgpgme.la @GPG_ERROR_LIBS@
+ key_id = 32100C27173EF6E9C4E9A25D3D69F86D37A4F939
+ DISTCLEANFILES = pubring.kbx pubring.kbx~ gpgsm.conf trustlist.txt \
+       private-keys-v1.d/$(key_id).key random_seed
+diff -up gpgme-1.3.0/tests/opassuan/Makefile.am.ImplicitDSOLinking gpgme-1.3.0/tests/opassuan/Makefile.am
+--- gpgme-1.3.0/tests/opassuan/Makefile.am.ImplicitDSOLinking  2009-01-26 15:15:26.000000000 +0100
++++ gpgme-1.3.0/tests/opassuan/Makefile.am     2011-02-11 17:36:32.000000000 +0100
+@@ -27,7 +27,7 @@ EXTRA_DIST = 
+ INCLUDES = -I$(top_builddir)/src
+ AM_CPPFLAGS = @GPG_ERROR_CFLAGS@
+-LDADD = ../../src/libgpgme.la
++LDADD = ../../src/libgpgme.la @GPG_ERROR_LIBS@
+ noinst_PROGRAMS = $(TESTS) t-command
+diff -up gpgme-1.3.0/tests/opassuan/Makefile.in.ImplicitDSOLinking gpgme-1.3.0/tests/opassuan/Makefile.in
+--- gpgme-1.3.0/tests/opassuan/Makefile.in.ImplicitDSOLinking  2010-01-11 12:06:54.000000000 +0100
++++ gpgme-1.3.0/tests/opassuan/Makefile.in     2011-02-11 17:36:32.000000000 +0100
+@@ -258,7 +258,7 @@ noinst_HEADERS = 
+ EXTRA_DIST = 
+ INCLUDES = -I$(top_builddir)/src
+ AM_CPPFLAGS = @GPG_ERROR_CFLAGS@
+-LDADD = ../../src/libgpgme.la
++LDADD = ../../src/libgpgme.la @GPG_ERROR_LIBS@
+ DISTCLEANFILES = 
+ all: all-am
diff --git a/gpgme/patches/gpgme-1.3.0-config_extras.patch b/gpgme/patches/gpgme-1.3.0-config_extras.patch
new file mode 100644 (file)
index 0000000..7b9a643
--- /dev/null
@@ -0,0 +1,36 @@
+diff -up gpgme-1.3.0/src/gpgme-config.in.config_extras gpgme-1.3.0/src/gpgme-config.in
+--- gpgme-1.3.0/src/gpgme-config.in.config_extras      2009-10-23 08:44:56.000000000 -0500
++++ gpgme-1.3.0/src/gpgme-config.in    2011-03-17 13:15:12.511565537 -0500
+@@ -20,26 +20,26 @@ LC_ALL=C
+ LANG=C
+ # Network libraries.
+-assuan_cflags="@LIBASSUAN_CFLAGS@"
+-assuan_libs="@LIBASSUAN_LIBS@"
++#assuan_cflags="@LIBASSUAN_CFLAGS@"
++#assuan_libs="@LIBASSUAN_LIBS@"
+ # Configure libgpg-error.
+ gpg_error_cflags="@GPG_ERROR_CFLAGS@"
+-gpg_error_libs="@GPG_ERROR_LIBS@"
++#gpg_error_libs="@GPG_ERROR_LIBS@"
+ # Configure thread packages.
+ thread_modules=""
+ @HAVE_PTH_TRUE@thread_modules="$thread_modules pth"
+-libs_pth="@PTH_LDFLAGS@ @PTH_LIBS@"
++#libs_pth="@PTH_LDFLAGS@ @PTH_LIBS@"
+ cflags_pth="@PTH_CFLAGS@"
+ @HAVE_PTHREAD_TRUE@thread_modules="$thread_modules pthread"
+-libs_pthread="-lpthread"
++#libs_pthread="-lpthread"
+ cflags_pthread=""
+ # Configure glib.
+-libs_glib="@GLIB_LIBS@"
++#libs_glib="@GLIB_LIBS@"
+ cflags_glib="@GLIB_CFLAGS@"
+ with_glib=
index f50b4cbfddb25ba02b9898a0981817c130378d33..e9651777def1d6bad6251bd7eeee7bc4efcfc6f3 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = grep
-version    = 2.10
+version    = 2.11
 release    = 2
 
 groups     = Applications/Text
@@ -26,9 +26,6 @@ build
                pcre-devel
        end
 
-       configure_options += \
-               --bindir=/bin
-
        test
                make check
        end
@@ -37,6 +34,14 @@ end
 packages
        package %{name}
                groups += Base Build
+
+               provides
+                       /bin/grep
+               end
+
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package %{name}-debuginfo
index fe159a61f7ca64a87dae907b1ca0aeaac977a7ba..0fe9d7c14f0b5340afbe61f713229d8e4f349ef1 100644 (file)
@@ -1,27 +1,8 @@
-# If you change this file, run 'update-grub' afterwards to update
-# /boot/grub/grub.cfg.
-
-GRUB_DEFAULT=0
-GRUB_HIDDEN_TIMEOUT=0
-GRUB_HIDDEN_TIMEOUT_QUIET=true
-GRUB_TIMEOUT=10
-GRUB_DISTRIBUTOR=$(sed -n 's/\([A-Za-z0-9]*\) release \([0-9A-Za-z\.\-]*\) .*/\1 \2/p' < /etc/system-release)
-GRUB_CMDLINE_LINUX_DEFAULT="quiet selinux=0"
-GRUB_CMDLINE_LINUX=""
-
-# Uncomment to disable graphical terminal (grub-pc only)
-#GRUB_TERMINAL=console
-
-# The resolution used on graphical terminal
-# note that you can use only modes which your graphic card supports via VBE
-# you can see them in real GRUB with the command `vbeinfo'
-#GRUB_GFXMODE=640x480
-
-# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
-#GRUB_DISABLE_LINUX_UUID=true
-
-# Uncomment to disable generation of recovery mode menu entries
-GRUB_DISABLE_LINUX_RECOVERY="true"
-
-# Uncomment to get a beep at grub start
-#GRUB_INIT_TUNE="480 440 1"
+GRUB_TIMEOUT=5
+GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
+GRUB_DEFAULT=saved
+GRUB_SAVEDEFAULT=true
+# GRUB_TERMINAL="serial console"
+# GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"
+GRUB_CMDLINE_LINUX="quiet rhgb"
+GRUB_DISABLE_RECOVERY="true"
index cea1a68bdb96a87a22e22e85337785a2a038ae08..e9ec4330f89575e8cb1303080194fa7f83e129e7 100644 (file)
@@ -5,8 +5,8 @@
 
 name       = grub
 version    = 1.99
-release    = 3
-sup_arches = i686
+release    = 6
+sup_arches = x86_64 i686
 
 groups     = System/Boot
 url        = http://www.gnu.org/software/grub/
@@ -14,9 +14,9 @@ license    = GPLv2+
 summary    = Grand Unified Boot Loader.
 
 description
-       GRUB (Grand Unified Boot Loader) is an experimental boot loader \
-       capable of booting into most free operating systems - Linux, FreeBSD, \
-       NetBSD, GNU Mach, and others as well as most commercial operating \
+       GRUB (Grand Unified Boot Loader) is an experimental boot loader
+       capable of booting into most free operating systems - Linux, FreeBSD,
+       NetBSD, GNU Mach, and others as well as most commercial operating
        systems.
 end
 
@@ -25,25 +25,90 @@ source_dl  = http://ftp.gnu.org/gnu/grub/
 build
        requires
                autoconf
+               autogen
                automake
                bison
                flex
                freetype-devel
                gettext
+               libdevmapper-devel
                ncurses-devel
                zlib-devel
        end
 
-       # Can only use very basic CFLAGS.
-       export CFLAGS = -O2 -pipe
-       export CXXFLAGS = %{CFLAGS}
+       prepare_cmds
+               # Replace pkglib_DATA (automake 1.11.2 incompatibility)
+               sed -i -e "s/pkglib_DATA/pkgdata_DATA/g" \
+                       -e "s/pkglib_SCRIPTS/pkgdata_SCRIPTS/g" \
+                       Makefile* */Makefile* \
+                       gentpl.py util/grub-*.in
+
+               ./autogen.sh
+
+               # Create a copy of the source tree to build
+               # an EFI enabled version of grub.
+               cp -R . %{DIR_SRC}/%{thisapp}-efi
+       end
+
+       # As the modules contain always 32 bit code, they
+       # should be living in /usr/lib.
+       libdir = %{prefix}/lib
 
        configure_options += \
-               --sysconfdir=/etc \
-               --sbindir=/sbin \
-               --with-platform=pc
+               --target="i386" \
+               --datadir=%{libdir} \
+               --with-platform=pc \
+               --program-transform-name=s,grub,grub, \
+               --disable-werror \
+               CFLAGS="$(echo %{CFLAGS} | sed \
+                       -e 's/-fstack-protector//g' \
+                       -e 's/--param=ssp-buffer-size=4//g' \
+                       -e 's/-mregparm=3/-mregparm=4/g' \
+                       -e 's/-fexceptions//g' \
+                       -e 's/-m64//g' \
+                       -e 's/-fasynchronous-unwind-tables//g' )"
+
+       build_cmds
+               cd ../%{thisapp}-efi
+               ./configure \
+                       %{configure_options} \
+                       --with-platform=efi \
+                       --program-transform-name=s,grub,grub-efi, \
+                       CFLAGS="$(echo %{CFLAGS} | sed \
+                               -e 's/-O.//g' \
+                               -e 's/-fstack-protector//g' \
+                               -e 's/--param=ssp-buffer-size=4//g' \
+                               -e 's/-mregparm=3/-mregparm=4/g' \
+                               -e 's/-fexceptions//g' \
+                               -e 's/-m64//g' \
+                               -e 's/-fasynchronous-unwind-tables//g' )"
+
+               make %{PARALLELISMFLAGS}
+
+               ./grub-mkimage \
+                       -O i386-efi \
+                       -p /EFI/%{DISTRO_SNAME}/grub-efi \
+                       -o grub.efi \
+                       -d grub-core part_gpt hfsplus fat ext2 btrfs normal chain \
+                       boot configfile linux appleldr minicmd loadbios reboot halt \
+                       search font gfxterm echo video efi_gop efi_uga
+       end
 
        install
+               cd ../%{thisapp}-efi
+               make install DESTDIR=%{BUILDROOT}
+
+               mv -v %{BUILDROOT}/etc/bash_completion.d/grub{,-efi}
+               sed -e "s,grub/grub-mkconfig_lib,grub-efi/grub-mkconfig_lib," \
+                       -i %{BUILDROOT}%{sbindir}/grub-efi-mkconfig
+
+               install -m 755 -d %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/
+               install -d %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/grub-efi
+               touch %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.cfg
+               ln -svf ../boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.cfg %{BUILDROOT}/etc/grub-efi.cfg
+               install -m 755 grub.efi %{BUILDROOT}/boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.efi
+
+               cd -
                make install DESTDIR=%{BUILDROOT}
 
                # Install theme file
@@ -81,7 +146,30 @@ packages
                # This only converts Latin-1, Latin Extended A+B, Arrows, Box and Block characters
                script postin
                        /usr/bin/grub-mkfont --output /boot/grub/unifont.pf2 \
-                               --range=0x0000-0x0241,0x2190-0x21FF,0x2500-0x259f /usr/share/X11/fonts/misc/unifont.pcf.gz
+                               --range=0x0000-0x0241,0x2190-0x21FF,0x2500-0x259f \
+                               /usr/share/X11/fonts/misc/unifont.pcf.gz
+               end
+       end
+
+       package %{name}-efi
+               description
+                       EFI version of GRUB, the Grand Unified Boot Loader.
+               end
+               summary = %{description}
+
+               requires += grub = %{thisver}
+
+               configfiles
+                       /boot/efi/EFI/%{DISTRO_SNAME}/grub-efi/grub.cfg
+               end
+
+               files
+                       /boot/efi
+                       /etc/bash_completion.d/grub-efi
+                       /etc/grub-efi.cfg
+                       %{sbindir}/grub-efi-*
+                       %{bindir}/grub-efi-*
+                       %{prefix}/lib/grub-efi
                end
        end
 
index 92c1a58605909cd1baf0bd38a336bb28dac516c2..33274c141353cd26f0b90b7188f8f45a1e605aee 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = grubby
-version    = 8.3
-release    = 1
+version    = 8.11
+release    = 3
 
 groups     = System/Base
 url        = http://git.fedorahosted.org/git/grubby.git
@@ -20,7 +20,8 @@ description
        environment.
 end
 
-sources = %{thisapp}.tar.bz2
+# Source tarballs must be generated from git.
+sources    = %{thisapp}.tar.bz2
 
 build
        requires
@@ -34,11 +35,27 @@ build
                make test
        end
 
-       make_install_targets += mandir=/usr/share/man
+       make_install_targets += mandir=%{mandir}
+
+       install_cmds
+               mkdir -pv %{BUILDROOT}%{prefix}
+               mv -v %{BUILDROOT}{,%{prefix}}/sbin
+       end
 end
 
 packages
        package %{name}
+               # Pull in u-boot-tools on ARM platforms.
+               if "%{DISTRO_PLATFORM}" == "arm"
+                       requires += u-boot-tools
+               end
+
+               provides
+                       /sbin/grubby
+                       /sbin/installkernel
+                       /sbin/new-kernel-pkg
+               end
+       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 3c72e701bab693d97db8cedc8fa4aaaac2c19f84..8c1183d71d032e3ede229aece8c07e2f28da1bc3 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = guile
 version    = 1.8.8
-release    = 1
+release    = 2
 
 groups     = Development/Tools
 url        = http://www.gnu.org/software/guile/
@@ -48,7 +48,10 @@ packages
        package %{name}-devel
                template DEVEL
 
-               requires = gmp-devel libtool-devel
+               requires
+                       gmp-devel
+                       libtool-devel
+               end
        end
 
        package %{name}-debuginfo
index 624226a451b4aba8fa6a9c70bf1a4d15af0215f6..6c7a1693533ef5757cc642a15651def7d9f334ab 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = gzip
 version    = 1.4
-release    = 2
+release    = 3
 
 groups     = Applications/Compression
 url        = http://www.gzip.org/
@@ -20,33 +20,29 @@ end
 source_dl  =
 
 build
-       build
-               # NO_ASM is for textrels.
+       # NO_ASM is for textrels.
+       configure_options += \
                DEFS=NO_ASM \
-               CPPFLAGS="-DHAVE_LSTAT" \
-               ./configure \
-                       --prefix=/usr \
-                       --bindir=/bin
-
-               make %{PARALLELISMFLAGS}
-       end
+               CPPFLAGS="-DHAVE_LSTAT"
 
        test
                make check
        end
-
-       install
-               make install DESTDIR=%{BUILDROOT}
-
-               mkdir -pv %{BUILDROOT}/usr/bin
-               mv -v %{BUILDROOT}/bin/{gzexe,uncompress,zcmp,zdiff,zegrep} %{BUILDROOT}/usr/bin
-               mv -v %{BUILDROOT}/bin/{zfgrep,zforce,zgrep,zless,zmore,znew} %{BUILDROOT}/usr/bin
-       end
 end
 
 packages
        package %{name}
                groups += Base Build
+
+               provides
+                       /bin/gunzip
+                       /bin/gzip
+                       /bin/zcat
+               end
+
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package %{name}-debuginfo
index dfd262189914fa08d2f5d8272ff8639db5751db8..aac269c3397c93261a73e9141c8eaa749ff3a4be 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = hdparm
-version    = 9.38
+version    = 9.39
 release    = 1
 
 groups     = Applications/Hardware
@@ -22,7 +22,8 @@ source_dl  = http://sourceforge.net/projects/%{name}/files/%{name}/
 
 build
        build
-               cd %{DIR_APP} && CFLAGS="%{CFLAGS}" make %{PARALELLIAMFLAGS} LDFLAGS=
+               CFLAGS="%{CFLAGS}" make %{PARALELLIAMFLAGS} \
+                       STRIP=/bin/true LDFLAGS=
        end
 
        install
index b823f48204c58c9dba52de276878e9c8c5fb60cb..c6b26ca58bf57d7da0006623f3ebcce78b706e4e 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = htop
-version    = 1.0
-release    = 2
+version    = 1.0.1
+release    = 1
 
 groups     = Applications/System
 url        = http://htop.sourceforge.net/
@@ -13,7 +13,7 @@ license    = GPL+
 summary    = Interactive process viewer.
 
 description
-       htop is an interactive text-mode process viewer for Linux, similar to \
+       htop is an interactive text-mode process viewer for Linux, similar to
        top(1).
 end
 
index dd778ee7ecce5376e79252c88ed9826d48e77206..f2c333d98d3a930e94e50debb8af04e6db941aab 100644 (file)
@@ -5,7 +5,8 @@
 
 name       = iasl
 version    = 20111123
-release    = 2
+release    = 3
+sup_arches = i686 x86_64
 thisapp    = acpica-unix-%{version}
 
 maintainer = Ben Schweikert <ben.schweikert@ipfire.org>
index d41e4e0ec716692c2cb75cf359db14a7d6cfafd0..9c63e61c5101919011915e3e81a51bffd6dcf407 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = icecream
 version    = 0.9.7
-release    = 2
+release    = 3
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Compilers
@@ -47,17 +47,15 @@ build
        end
 
        install_cmds
-               ICECREAM_TARGET_PLATFORM=$(echo %{DISTRO_MACHINE} | sed -e "s/-gnu//g")
-
-               mkdir -pv %{BUILDROOT}/usr/lib/icecc/bin
+               mkdir -pv %{BUILDROOT}%{libdir}/icecc/bin
                for i in gcc g++ cc c++; do
-                       ln -svf ../../../bin/icecc %{BUILDROOT}/usr/lib/icecc/bin/${i}
-                       ln -svf ../../../bin/icecc %{BUILDROOT}/usr/lib/icecc/bin/%{ICECREAM_TARGET_PLATFORM}-${i}
+                       ln -svf ../../../bin/icecc %{BUILDROOT}%{libdir}/icecc/bin/${i}
+                       ln -svf ../../../bin/icecc %{BUILDROOT}%{libdir}/icecc/bin/%{DISTRO_BUILDTARGET}-${i}
                done
-               sed -e 's|^#!.*|#!/bin/bash|' -i %{BUILDROOT}/usr/lib/icecc/icecc-create-env
+               sed -e 's|^#!.*|#!/bin/bash|' -i %{BUILDROOT}%{libdir}/icecc/icecc-create-env
 
                mkdir -pv %{BUILDROOT}/etc/profile.d
-               sed -e "s|@LIBDIR@|/usr/lib|g" \
+               sed -e "s|@LIBDIR@|%{libdir}|g" \
                        < %{DIR_SOURCE}/icecream.sh > %{BUILDROOT}/etc/profile.d/icecream.sh
 
                # create default working dir
index a7bcb8d788ca8c014ec122b15de1c2c515afee15..b171219e692462a97f13e44c193fa33dd660e2cf 100644 (file)
@@ -6,7 +6,7 @@
 name       = initscripts
 epoch      = 1
 version    = 2.99
-release    = 12
+release    = 17
 
 groups     = System/Boot
 url        =
@@ -25,6 +25,8 @@ build
        requires
                glib2-devel
                popt-devel
+               shadow-utils
+               systemd-units
        end
 
        DIR_APP = %{DIR_SOURCE}
@@ -48,8 +50,8 @@ build
                install -v -m 755 %{DIR_SOURCE}/rc.local %{BUILDROT}/etc/rc.local
 
                # Install udev rules
-               mkdir -pv %{BUILDROOT}/lib/udev/rules.d/
-               cp -vf %{DIR_SOURCE}/udev/* %{BUILDROOT}/lib/udev/rules.d/
+               mkdir -pv %{BUILDROOT}%{prefix}/lib/udev/rules.d/
+               cp -vf %{DIR_SOURCE}/udev/* %{BUILDROOT}%{prefix}/lib/udev/rules.d/
        end
 end
 
@@ -71,11 +73,22 @@ packages
                        util-linux
                end
 
+               provides
+                       /bin/ipcalc
+               end
+
+               conflicts
+                       filesystem  < 002
+               end
+
                configfiles
                        /etc/rc.local
                end
 
-               prerequires = coreutils shadow-utils
+               prerequires
+                       coreutils
+                       shadow-utils
+               end
 
                script prein
                        groupadd -g 22 -r -f utmp
index 0bd2d37551f5cf86b434c7d3afb4672e445ade48..cfe091053a9993cbce00c00fbe09587e0260a7b7 100644 (file)
@@ -2,3 +2,5 @@
 #
 # This script will be executed at the end of the boot process.
 # You can put your own initialization stuff in here.
+
+exit 0
index a6b0f3135db9c3ba730ffacab1ca7e7064e8a4ff..c357d6edb68baf48b4b698a0598730a0177d47b0 100644 (file)
@@ -3,6 +3,7 @@ PROGS = ipcalc securetty
 
 CC = gcc
 CFLAGS += -D_GNU_SOURCE $(shell pkg-config --cflags glib-2.0)
+prefix ?= /usr
 
 all: $(PROGS)
 
@@ -14,9 +15,9 @@ test: ipcalc
 
 install: $(PROGS)
        # Install binaries
-       -mkdir -pv $(DESTDIR)/lib/udev $(DESTDIR)/{,s}bin
-       install -v -m 755 ipcalc $(DESTDIR)/bin
-       install -v -m 755 securetty $(DESTDIR)/sbin
+       -mkdir -pv $(DESTDIR)$(prefix)/lib/udev $(DESTDIR)$(prefix)/{,s}bin
+       install -v -m 755 ipcalc $(DESTDIR)$(prefix)/bin
+       install -v -m 755 securetty $(DESTDIR)$(prefix)/sbin
 
        # Install man pages
        -mkdir -pv $(DESTDIR)/usr/share/man/man1
index 04daed0fe50a8c6f19f5a848d4485c0ab93c5b2f..a1bb1598850c491cf9a33810ba08539f9ab87652 100644 (file)
@@ -1,15 +1,9 @@
 [Unit]
-Description=/etc/rc.local Compatiblity
-ConditionFileIsExecuteable=/etc/rc.local
-Requires=multi-user.target
-After=multi-user.target network.target
+Description=/etc/rc.local Compatibility
+After=network.target
 
 [Service]
 Type=forking
 ExecStart=/etc/rc.local
 TimeoutSec=0
-StandardOutput=tty
 RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/ipfire-logos/ipfire-logos.nm b/ipfire-logos/ipfire-logos.nm
new file mode 100644 (file)
index 0000000..45e5aa5
--- /dev/null
@@ -0,0 +1,54 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = ipfire-logos
+version    = 1
+release    = 2
+arch       = noarch
+
+maintainer = Michael Tremer <michael.tremer@ipfire.org>
+groups     = Base System/Base
+url        = http://www.ipfire.org
+license    =
+summary    = IPFire logos and images.
+
+description
+       This package contains several logos, fonts and artwork of the
+       IPFire distribution.
+end
+
+source_dl  = http://source.ipfire.org/releases/%{name}/
+
+build
+       requires
+               ImageMagick
+               ghostscript
+       end
+end
+
+packages
+       package %{name}
+               provides = system-logos
+
+               prerequires
+                       plymouth-scripts
+               end
+
+               requires
+                       plymouth-plugin-script
+               end
+
+               script postin
+                       %{sbindir}/plymouth-set-default-theme ipfire-logo || :
+               end
+
+               script postun
+                       if [ "$(%{sbindir}/plymouth-set-default-theme)" = "ipfire-logo" ]; then
+                               %{sbindir}/plymouth-set-default-theme --reset
+                               /usr/lib/plymouth/plymouth-generate-initrd
+                       fi
+               end
+       end
+end
similarity index 57%
rename from system-release/system-release.nm
rename to ipfire-release/ipfire-release.nm
index afc0609dfce77b8bccd7520ba15f1371afdd8083..220cbc279494f7859110db48c57fbe652254c34f 100644 (file)
@@ -4,16 +4,17 @@
 ###############################################################################
 
 # Make the configuration of your distribution right here.
-DISTRO_NAME    = IPFire
-DISTRO_SNAME   = ipfire
-DISTRO_VERSION = 3.0-alpha2
-DISTRO_RELEASE = 3
-DISTRO_SLOGAN  = Gluttony
-DISTRO_COLOR   = 0;31
+DISTRO_NAME     = IPFire
+DISTRO_SNAME    = ipfire
+DISTRO_RELEASE  = 3
+DISTRO_VERSION  = %{DISTRO_RELEASE}.0-alpha2
+DISTRO_CODENAME = Gluttony
+DISTRO_SLOGAN   = An Open Source Firewall Solution
+DISTRO_COLOR    = 0;31
 
 name       = %{DISTRO_SNAME}-release
 version    = %{DISTRO_VERSION}
-release    = 1
+release    = 3
 epoch      = 3
 arch       = noarch
 
@@ -38,12 +39,13 @@ build
        install
                mkdir -pv %{BUILDROOT}/etc
 
-               echo "%{DISTRO_NAME} v%{DISTRO_VERSION} for %{DISTRO_ARCH} - %{DISTRO_SLOGAN} (\l)" \
-                       > %{BUILDROOT}/etc/issue
-               echo "===============================" >> %{BUILDROOT}/etc/issue
-               echo "\n running on \s \r \m"          >> %{BUILDROOT}/etc/issue
+               cat <<EOF >%{BUILDROOT}/etc/issue
+               %{DISTRO_NAME} %{DISTRO_VERSION} (%{DISTRO_CODENAME}) - %{DISTRO_SLOGAN} (\l)
+               ===============================
+               \n running on \s \r
+               EOF
 
-               echo "%{DISTRO_NAME} release %{DISTRO_VERSION} (%{DISTRO_SLOGAN})" \
+               echo "%{DISTRO_NAME} release %{DISTRO_VERSION} (%{DISTRO_CODENAME})" \
                        > %{BUILDROOT}/etc/%{DISTRO_SNAME}-release
                ln -svf %{DISTRO_SNAME}-release %{BUILDROOT}/etc/system-release
 
@@ -51,18 +53,28 @@ build
                echo "%{DISTRO_SNAME}.localdomain" > %{BUILDROOT}/etc/hostname
 
                # Create /etc/os-release.
-               echo "NAME=\"%{DISTRO_NAME}\"" >> %{BUILDROOT}/etc/os-release
-               echo "VERSION=\"%{DISTRO_VERSION}\"" >> %{BUILDROOT}/etc/os-release
-               echo "ID=%{DISTRO_SNAME}" >> %{BUILDROOT}/etc/os-release
-               echo "VERSION_ID=%{DISTRO_RELEASE}" >> %{BUILDROOT}/etc/os-release
-               echo "PRETTY_NAME=\"%{DISTRO_NAME} %{DISTRO_VERSION} (%{DISTRO_SLOGAN})\"" \
-                       >> %{BUILDROOT}/etc/os-release
-               echo "ANSI_COLOR=%{DISTRO_COLOR}" >> %{BUILDROOT}/etc/os-release
+               cat <<EOF >%{BUILDROOT}/etc/os-release
+               NAME="%{DISTRO_NAME}"
+               VERSION="%{DISTRO_VERSION}"
+               ID=%{DISTRO_SNAME}
+               VERSION_ID=%{DISTRO_RELEASE}
+               PRETTY_NAME="%{DISTRO_NAME} %{DISTRO_VERSION} (%{DISTRO_CODENAME})"
+               ANSI_COLOR=%{DISTRO_COLOR}
+               EOF
+
+               # Install default repositories.
+               mkdir -pv %{BUILDROOT}%{sysconfdir}/pakfire/repos
+               cp -vf %{DIR_SOURCE}/repos/* %{BUILDROOT}%{sysconfdir}/pakfire/repos
        end
 end
 
 packages
        package %{name}
                provides = system-release
+
+               configfiles
+                       /etc/hostname
+                       /etc/pakfire/repos
+               end
        end
 end
diff --git a/ipfire-release/repos/stable.repo b/ipfire-release/repos/stable.repo
new file mode 100644 (file)
index 0000000..d8f86fc
--- /dev/null
@@ -0,0 +1,5 @@
+[repo:stable]
+description = IPFire 3 - Stable repository.
+enabled = 1
+baseurl = http://pakfire.ipfire.org/repositories/ipfire3/stable/%{arch}
+mirrors = https://pakfire.ipfire.org/distro/ipfire3/repo/stable/mirrorlist?arch=%{arch}
diff --git a/ipfire-release/repos/testing.repo b/ipfire-release/repos/testing.repo
new file mode 100644 (file)
index 0000000..a1bbb26
--- /dev/null
@@ -0,0 +1,5 @@
+[repo:testing]
+description = IPFire 3 - This is a repository for testing stuff.
+enabled = 0
+baseurl = http://pakfire.ipfire.org/repositories/ipfire3/testing/%{arch}
+mirrors = https://pakfire.ipfire.org/distro/ipfire3/repo/testing/mirrorlist?arch=%{arch}
diff --git a/ipfire-release/repos/unstable.repo b/ipfire-release/repos/unstable.repo
new file mode 100644 (file)
index 0000000..44b11ad
--- /dev/null
@@ -0,0 +1,5 @@
+[repo:unstable]
+description = IPFire 3 - Public unstable repository.
+enabled = 0
+baseurl = http://pakfire.ipfire.org/repositories/ipfire3/unstable/%{arch}
+mirrors = https://pakfire.ipfire.org/distro/ipfire3/repo/unstable/mirrorlist?arch=%{arch}
index bf13e4a9d049c1bdd9fbaecdc90f076f2a41683e..9d85951e3b4fad5cbea9b7e9c136ba41f796d52f 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = iproute2
-version    = 2.6.39
-release    = 2
+version    = 3.3.0
+release    = 1
 
 groups     = Networking/Tools
 url        = http://www.linuxfoundation.org/en/Net:Iproute2
@@ -19,29 +19,86 @@ description
 end
 
 source_dl  =
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                bison
                db4-devel
                flex
+               libnl-devel
+               linux-atm-devel >= 2.5.1
+               iptables-devel
        end
 
        prepare_cmds
-               sed -i -e "s@DESTDIR=.*@DESTDIR=@" \
-                       -e "s@/share/@/usr/share/@g" Makefile
+               sed -e "s/_VERSION_/%{version}/" man/man8/ss.8
        end
 
+       export RPM_OPT_FLAGS = %{CFLAGS}
+       export LIBDIR = %{libdir}
+       export IPT_LIB_DIR = %{libdir}/xtables
+
        install
-               make install DESTDIR=%{BUILDROOT}
-               mkdir -pv %{BUILDROOT}/usr/sbin
-               mv -v %{BUILDROOT}/sbin/arpd %{BUILDROOT}/usr/sbin
+               # The installation routine that comes with that package
+               # is totally unusable for use, so do it manually.
+
+               mkdir -pv \
+                       %{BUILDROOT}%{includedir} \
+                       %{BUILDROOT}%{sbindir} \
+                       %{BUILDROOT}%{mandir}/man{3,8} \
+                       %{BUILDROOT}%{datadir}/tc \
+                       %{BUILDROOT}%{libdir}/tc \
+                       %{BUILDROOT}%{sysconfdir}/iproute2
+
+               # Install binaries.
+               for bin in genl/genl ip/{ifcfg,ip,routef,routel,rtpr} tc/tc \
+                               misc/{arpd,ifstat,lnstat,nstat,rtacct,ss}; do
+                       install -v -m 755 ${bin} %{BUILDROOT}%{sbindir}
+               done
+               ln -svf lnstat %{BUILDROOT}%{sbindir}/ctstat
+               ln -svf lnstat %{BUILDROOT}%{sbindir}/rtstat
+
+               # Install libs.
+               for lib in tc/q_atm.so tc/m_xt.so; do
+                       install -v -m 755 ${lib} %{BUILDROOT}%{libdir}/tc
+               done
+               ln -svf m_xt.so %{BUILDROOT}%{libdir}/tc/m_ipt.so
+
+               # libnetlink
+               install -v -m 644 include/libnetlink.h %{BUILDROOT}%{includedir}
+               install -v -m 644 lib/libnetlink.a %{BUILDROOT}%{libdir}
+
+               # Install documentation.
+               install -v -m 644 man/man3/*.3 %{BUILDROOT}%{mandir}/man3
+               install -v -m 644 man/man8/*.8 %{BUILDROOT}%{mandir}/man8
+               ln -svf lnstat.8 %{BUILDROOT}%{mandir}/man8/ctstat.8
+               ln -svf lnstat.8 %{BUILDROOT}%{mandir}/man8/rtstat.8
+               ln -svf routel.8 %{BUILDROOT}%{mandir}/man8/routef.8
+
+               for sh in netem/normal.dist netem/pareto.dist netem/paretonormal.dist; do
+                       install -v -m 644 ${sh} %{BUILDROOT}%{datadir}/tc
+               done
+
+               # Install configuration.
+               install -v -m 644 etc/iproute2/* %{BUILDROOT}%{sysconfdir}/iproute2
+       end
+
+       # Keep libnetlink.a.
+       keep_libraries
+               %{libdir}/libnetlink.a
        end
 end
 
 packages
        package %{name}
                groups += Base
+
+               configfiles = %{sysconfdir}/iproute2
+       end
+
+       package %{name}-devel
+               template DEVEL
        end
 
        package %{name}-debuginfo
diff --git a/iproute2/patches/iproute2-2.6.29-IPPROTO_IP_for_SA.patch b/iproute2/patches/iproute2-2.6.29-IPPROTO_IP_for_SA.patch
new file mode 100644 (file)
index 0000000..48ffcb4
--- /dev/null
@@ -0,0 +1,11 @@
+diff -up iproute2-2.6.29/ip/ipxfrm.c.old iproute2-2.6.29/ip/ipxfrm.c
+--- iproute2-2.6.29/ip/ipxfrm.c.old    2009-03-24 23:15:14.000000000 +0100
++++ iproute2-2.6.29/ip/ipxfrm.c        2009-04-24 09:35:58.203735119 +0200
+@@ -1156,6 +1156,7 @@ static int xfrm_selector_upspec_parse(st
+               case IPPROTO_UDP:
+               case IPPROTO_SCTP:
+               case IPPROTO_DCCP:
++              case IPPROTO_IP:        /* to allow shared SA for different protocols */
+                       break;
+               default:
+                       fprintf(stderr, "\"sport\" and \"dport\" are invalid with proto=%s\n", strxf_proto(sel->proto));
diff --git a/iproute2/patches/iproute2-2.6.29-kernel.patch b/iproute2/patches/iproute2-2.6.29-kernel.patch
new file mode 100644 (file)
index 0000000..df9125a
--- /dev/null
@@ -0,0 +1,11 @@
+diff -up iproute2-20091009/Makefile.kernel iproute2-20091009/Makefile
+--- iproute2-20091009/Makefile.kernel  2009-09-21 10:26:11.000000000 +0200
++++ iproute2-20091009/Makefile 2009-10-09 12:27:03.687382422 +0200
+@@ -6,6 +6,7 @@ CONFDIR=/etc/iproute2
+ DOCDIR=/share/doc/iproute2
+ MANDIR=/share/man
+ ARPDDIR=/var/lib/arpd
++KERNEL_INCLUDE=/usr/include
+ # Path to db_185.h include
+ DBM_INCLUDE:=$(ROOTDIR)/usr/include
diff --git a/iproute2/patches/iproute2-2.6.31-tc_modules.patch b/iproute2/patches/iproute2-2.6.31-tc_modules.patch
new file mode 100644 (file)
index 0000000..0daa17b
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up iproute2-2.6.31/Makefile.old iproute2-2.6.31/Makefile
+--- iproute2-2.6.31/Makefile.old       2010-01-04 12:46:47.000000000 +0100
++++ iproute2-2.6.31/Makefile   2010-01-04 12:50:17.396384644 +0100
+@@ -13,7 +13,7 @@ DBM_INCLUDE:=$(ROOTDIR)/usr/include
+ SHARED_LIBS = y
+-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
++DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\"
+ ifneq ($(SHARED_LIBS),y)
+ DEFINES+= -DNO_SHARED_LIBS
+ endif
diff --git a/iproute2/patches/iproute2-2.6.35-print-route.patch b/iproute2/patches/iproute2-2.6.35-print-route.patch
new file mode 100644 (file)
index 0000000..04f3cf7
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/ip/iproute.c b/ip/iproute.c
+index 711576e..86c7ab7 100644
+--- a/ip/iproute.c
++++ b/ip/iproute.c
+@@ -160,7 +160,7 @@  int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
+       if (r->rtm_family == AF_INET6 && table != RT_TABLE_MAIN)
+               ip6_multiple_tables = 1;
+-      if (filter.cloned == !(r->rtm_flags&RTM_F_CLONED))
++      if (filter.cloned && !(r->rtm_flags&RTM_F_CLONED))
+               return 0;
+       if (r->rtm_family == AF_INET6 && !ip6_multiple_tables) {
diff --git a/iproute2/patches/iproute2-2.6.39-create-peer-veth-without-a-name.patch b/iproute2/patches/iproute2-2.6.39-create-peer-veth-without-a-name.patch
new file mode 100644 (file)
index 0000000..b77dd71
--- /dev/null
@@ -0,0 +1,17 @@
+diff --git a/ip/.link_veth.c.swp b/ip/.link_veth.c.swp
+deleted file mode 100644
+index e3b5480..0000000
+Binary files a/ip/.link_veth.c.swp and /dev/null differ
+diff --git a/ip/link_veth.c b/ip/link_veth.c
+index 3d19b01..eb0f41e 100644
+--- a/ip/link_veth.c
++++ b/ip/link_veth.c
+@@ -27,7 +27,7 @@ static void usage(void)
+ static int veth_parse_opt(struct link_util *lu, int argc, char **argv,
+                         struct nlmsghdr *hdr)
+ {
+-      char *name, *type, *link, *dev;
++      char *name = NULL, *type = NULL, *link = NULL, *dev = NULL;
+       int err, len;
+       struct rtattr * data;
+       int group;
diff --git a/iproute2/patches/iproute2-2.6.39-lnstat-dump-to-stdout.patch b/iproute2/patches/iproute2-2.6.39-lnstat-dump-to-stdout.patch
new file mode 100644 (file)
index 0000000..a5b7b62
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/misc/lnstat.c b/misc/lnstat.c
+index 32ab6a4..431bfc7 100644
+--- a/misc/lnstat.c
++++ b/misc/lnstat.c
+@@ -322,7 +322,7 @@ int main(int argc, char **argv)
+               int i;
+               struct table_hdr *header;
+       case MODE_DUMP:
+-              lnstat_dump(stderr, lnstat_files);
++              lnstat_dump(stdout, lnstat_files);
+               break;
+       case MODE_NORMAL:
diff --git a/iproute2/patches/iproute2-print-route-u32.patch b/iproute2/patches/iproute2-print-route-u32.patch
new file mode 100644 (file)
index 0000000..48920d8
--- /dev/null
@@ -0,0 +1,20 @@
+--- iproute2-2.6.35/ip/iproute.c       2010-08-31 13:01:39.151185561 +0200
++++ iproute2-print-route-u32.c     2010-08-31 13:41:04.072928779 +0200
+@@ -368,7 +368,7 @@
+                                   abuf, sizeof(abuf)));
+       }
+       if (tb[RTA_PRIORITY])
+-              fprintf(fp, " metric %d ", *(__u32*)RTA_DATA(tb[RTA_PRIORITY]));
++              fprintf(fp, " metric %u ", *(__u32*)RTA_DATA(tb[RTA_PRIORITY]));
+       if (r->rtm_flags & RTNH_F_DEAD)
+               fprintf(fp, "dead ");
+       if (r->rtm_flags & RTNH_F_ONLINK)
+@@ -487,7 +487,7 @@
+                       if (i < sizeof(mx_names)/sizeof(char*) && mx_names[i])
+                               fprintf(fp, " %s", mx_names[i]);
+                       else
+-                              fprintf(fp, " metric %d", i);
++                              fprintf(fp, " metric %u", i);
+                       if (mxlock & (1<<i))
+                               fprintf(fp, " lock");
diff --git a/iproute2/patches/iproute2-sharepath.patch b/iproute2/patches/iproute2-sharepath.patch
new file mode 100644 (file)
index 0000000..f314922
--- /dev/null
@@ -0,0 +1,23 @@
+diff -up iproute-2.6.29/iproute2-2.6.29/tc/tc_util.c.movelib iproute-2.6.29/iproute2-2.6.29/tc/tc_util.c
+--- iproute2-2.6.29/tc/tc_util.c.movelib       2009-01-15 21:25:04.000000000 +0100
++++ iproute2-2.6.29/tc/tc_util.c       2009-02-04 08:58:36.000000000 +0100
+@@ -24,8 +24,8 @@
+ #include "utils.h"
+ #include "tc_util.h"
+-#ifndef LIBDIR
+-#define LIBDIR "/usr/lib/"
++#ifndef SHAREDIR
++#define SHAREDIR "/usr/share/"
+ #endif
+ const char *get_tc_lib(void)
+@@ -34,7 +34,7 @@ const char *get_tc_lib(void)
+       lib_dir = getenv("TC_LIB_DIR");
+       if (!lib_dir)
+-              lib_dir = LIBDIR "/tc/";
++              lib_dir = SHAREDIR "/tc/";
+       return lib_dir;
+ }
diff --git a/iproute2/patches/iproute2-ss050901-opt_flags.patch b/iproute2/patches/iproute2-ss050901-opt_flags.patch
new file mode 100644 (file)
index 0000000..686bf68
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up iproute2-2.6.29/iproute2-2.6.29/Makefile.opt iproute2-2.6.29/iproute2-2.6.29/Makefile
+--- iproute2-2.6.29/Makefile.opt       2008-08-12 14:19:58.000000000 +0200
++++ iproute2-2.6.29/Makefile   2008-08-12 14:21:42.000000000 +0200
+@@ -22,7 +22,7 @@ ADDLIB+=ipx_ntop.o ipx_pton.o
+ CC = gcc
+ HOSTCC = gcc
+-CCOPTS = -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall
++CCOPTS = -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall $(RPM_OPT_FLAGS)
+ CFLAGS = $(CCOPTS) -I../include $(DEFINES)
+ YACCFLAGS = -d -t -v
diff --git a/iproute2/patches/man-pages.patch b/iproute2/patches/man-pages.patch
new file mode 100644 (file)
index 0000000..1592889
--- /dev/null
@@ -0,0 +1,84 @@
+diff -up iproute2-2.6.29/man/man8/cbq.8.man iproute2-2.6.29/man/man8/cbq.8
+--- iproute2-2.6.29/man/man8/cbq.8.man 2009-09-24 14:05:44.868922557 +0200
++++ iproute2-2.6.29/man/man8/cbq.8     2009-09-24 14:05:24.760143753 +0200
+@@ -0,0 +1 @@
++.so man8/tc-cbq.8
+\ No newline at end of file
+diff -up /dev/null iproute2-2.6.29/man/man8/ifcfg.8
+--- /dev/null  2009-09-22 09:26:40.270218984 +0200
++++ iproute2-2.6.29/man/man8/ifcfg.8   2009-09-24 14:03:05.415151874 +0200
+@@ -0,0 +1,57 @@
++.TH IFCFG 8 "September 24 2009" "iproute2" "Linux"
++.SH NAME
++ifcfg \- simplistic script which replaces ifconfig IP managment
++.SH SYNOPSIS
++.ad l
++.in +8
++.ti -8
++.B ifcfg
++.RI "[ " DEVICE " [ " :ALIAS: " ] ] [ " command " ] " ADDRESS " [ " LENGTH " ] [ " PEER " ] "
++.sp
++
++.SH DESCRIPTION
++This manual page documents briefly the
++.B ifcfg
++command.
++.PP
++This is a simplistic script replacing one option of 
++.B ifconfig
++, namely, IP address management. It not only adds
++addresses, but also carries out Duplicate Address Detection RFC-DHCP,
++sends unsolicited ARP to update the caches of other hosts sharing
++the interface, adds some control routes and restarts Router Discovery
++when it is necessary.
++
++I strongly recommend using it 
++.RI instead
++of
++.RI ifconfig
++both on hosts and on routers.
++
++.SH IFCONFIG - COMMAND SYNTAX
++
++.SS
++.TP
++.B DEVICE
++- it may have alias, suffix, separated by colon.
++
++.TP
++.B command
++- add, delete or stop.
++
++.TP
++.B address
++- optionally followed by prefix length.
++
++.TP
++.B peer
++- optional peer address for pointpoint interfaces.
++
++.SH EXAMPLE
++.nf ifcfg eth0 193.233.7.90/24
++.fi
++This function determines, whether this is router or host.
++It returns 0, if the host is apparently not router.
++
++.SH SEE ALSO
++.BR ip-cref.dvi
+diff -up /dev/null iproute2-2.6.29/man/man8/nstat.8
+--- /dev/null  2009-09-22 09:26:40.270218984 +0200
++++ iproute2-2.6.29/man/man8/nstat.8   2009-09-24 14:03:05.416161849 +0200
+@@ -0,0 +1 @@
++.so man8/rtacct.8
+\ No newline at end of file
+--- iproute2-2.6.35/man/man8/ss.8      2010-08-04 19:45:59.000000000 +0200
++++ iproute2-2.6.35/man/man8/ss.8.new  2010-10-11 14:47:06.084216018 +0200
+@@ -114,7 +114,7 @@
+ List all the tcp sockets in state FIN-WAIT-1 for our apache to network 193.233.7/24 and look at their timers.
+ .SH SEE ALSO
+ .BR ip (8),
+-.BR /usr/share/doc/iproute-doc/ss.html " (package iproute­doc)"
++.BR /usr/share/doc/iproute-doc-_VERSION_/ss.ps " (package iproute-doc)"
+ .SH AUTHOR
+ .I ss 
+ was written by Alexey Kuznetosv, <kuznet@ms2.inr.ac.ru>.
index ea53b4c6a1e79c0885bec6a90f4812c0c7036040..b809b20e0c359c1e3b987b219d465ee6815aec49 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = iptables
-version    = 1.4.12.2
+version    = 1.4.13
 release    = 1
 
 groups     = Networking/Tools
@@ -30,9 +30,6 @@ build
        CFLAGS += -fno-strict-aliasing
 
        configure_options += \
-               --bindir=/bin \
-               --sbindir=/sbin \
-               --libdir=/%{lib} \
                --libexecdir=/%{lib} \
                --sysconfdir=/etc \
                --with-pkgconfigdir=%{libdir}/pkgconfig \
@@ -58,20 +55,8 @@ build
                install -v -m 644 include/libiptc/*.h \
                        %{BUILDROOT}/usr/include/libiptc
 
-               mkdir -pv %{BUILDROOT}%{libdir}
-               rm -vf %{BUILDROOT}/%{lib}/libip{tc,4tc,6tc,q}.so %{BUILDROOT}/%{lib}/libxtables.so
-               ln -svf ../../%{lib}/libiptc.so.0 %{BUILDROOT}%{libdir}/libiptc.so
-               ln -svf ../../%{lib}/libip4tc.so.0 %{BUILDROOT}%{libdir}/libip4tc.so
-               ln -svf ../../%{lib}/libip6tc.so.0 %{BUILDROOT}%{libdir}/libip6tc.so
-               ln -svf ../../%{lib}/libipq.so.0 %{BUILDROOT}%{libdir}/libipq.so
-               ln -svf ../../%{lib}/libxtables.so.7 %{BUILDROOT}%{libdir}/libxtables.so
-
-               # Replace absolute symlink
-               ln -svf ../sbin/xtables-multi %{BUILDROOT}/bin/iptables-xml
-
-               # Move binary which links to /usr/lib to /usr.
-               mkdir -pv %{BUILDROOT}/usr/sbin
-               mv -v %{BUILDROOT}/{,usr/}sbin/nfnl_osf
+               # Remove relative symlinks.
+               ln -svf ../sbin/xtables-multi %{BUILDROOT}/usr/bin/iptables-xml
        end
 end
 
index d45eb92a887e14963d50a1fcce46b434b27e5831..8eda32794890dccfe13da57054196afc4cfa26b0 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = iputils
 version    = s20071127
-release    = 3
+release    = 4
 
 groups     = Networking/Tools
 url        = http://www.skbuff.net/iputils
@@ -48,39 +48,45 @@ build
        end
 
        install
-               mkdir -pv %{BUILDROOT}/{bin,sbin} %{BUILDROOT}/usr/sbin
-               mkdir -pv %{BUILDROOT}/usr/share/man/man8
-
-               install -cp clockdiff   %{BUILDROOT}/usr/sbin/
-               install -cp arping      %{BUILDROOT}/sbin/
-               install -cp ping        %{BUILDROOT}/bin/
-               install -cp ping6       %{BUILDROOT}/bin/
-               install -cp rdisc       %{BUILDROOT}/sbin/
-               install -cp tracepath   %{BUILDROOT}/bin/
-               install -cp tracepath6  %{BUILDROOT}/bin/
-
-               install -cp doc/clockdiff.8 %{BUILDROOT}/usr/share/man/man8/
-               install -cp doc/arping.8 %{BUILDROOT}/usr/share/man/man8/
-               install -cp doc/ping.8 %{BUILDROOT}/usr/share/man/man8/
-               install -cp doc/rdisc.8 %{BUILDROOT}/usr/share/man/man8/
-               install -cp doc/tracepath.8 %{BUILDROOT}/usr/share/man/man8/
-
-               ln -svf ../../sbin/arping       %{BUILDROOT}/usr/sbin/arping
-               ln -svf ../../bin/ping6         %{BUILDROOT}/usr/sbin/
-               ln -svf ../../bin/tracepath     %{BUILDROOT}/usr/sbin/
-               ln -svf ../../bin/tracepath6    %{BUILDROOT}/usr/sbin/
-
-               ln -s ping.8 %{BUILDROOT}/usr/share/man/man8/ping6.8
-               ln -s tracepath.8 %{BUILDROOT}/usr/share/man/man8/tracepath6.8
-
-               setcap cap_net_admin=ep %{BUILDROOT}/bin/ping
-               setcap cap_net_admin=ep %{BUILDROOT}/bin/ping6
+               mkdir -pv %{BUILDROOT}{%{bindir},%{sbindir}}
+               mkdir -pv %{BUILDROOT}%{mandir}/man8
+
+               install -cp clockdiff        %{BUILDROOT}%{sbindir}
+               install -cp arping           %{BUILDROOT}%{sbindir}
+               install -cp ping             %{BUILDROOT}%{bindir}
+               install -cp ping6            %{BUILDROOT}%{bindir}
+               install -cp rdisc            %{BUILDROOT}%{sbindir}
+               install -cp tracepath        %{BUILDROOT}%{bindir}
+               install -cp tracepath6       %{BUILDROOT}%{bindir}
+
+               install -cp doc/clockdiff.8  %{BUILDROOT}%{mandir}/man8/
+               install -cp doc/arping.8     %{BUILDROOT}%{mandir}/man8/
+               install -cp doc/ping.8       %{BUILDROOT}%{mandir}/man8/
+               install -cp doc/rdisc.8      %{BUILDROOT}%{mandir}/man8/
+               install -cp doc/tracepath.8  %{BUILDROOT}%{mandir}/man8/
+
+               ln -svf ../bin/ping6         %{BUILDROOT}%{sbindir}
+               ln -svf ../bin/tracepath     %{BUILDROOT}%{sbindir}
+               ln -svf ../bin/tracepath6    %{BUILDROOT}%{sbindir}
+
+               ln -s ping.8                 %{BUILDROOT}%{mandir}/man8/ping6.8
+               ln -s tracepath.8            %{BUILDROOT}%{mandir}/man8/tracepath6.8
+
+               setcap cap_net_admin=ep %{BUILDROOT}%{bindir}/ping
+               setcap cap_net_admin=ep %{BUILDROOT}%{bindir}/ping6
        end
 end
 
 packages
        package %{name}
                groups += Base
+
+               provides
+                       /bin/ping
+                       /bin/ping6
+                       /sbin/arping
+                       /sbin/rdisc
+               end
        end
 
        package %{name}-debuginfo
index ac1dbd4932eb1fcedadd92230d4b1da20160d451..21ccd2ceb05a4874a13deb83f996f42e1405c02a 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = iscsi-initiator-utils
 version    = 6.2.0.872
-release    = 1
+release    = 2
 
 groups     = Networking/Tools
 url        = http://bridge.sourceforge.net/
@@ -52,9 +52,9 @@ build
                mkdir -pv %{BUILDROOT}/etc/NetworkManager/dispatcher.d
                mkdir -pv %{BUILDROOT}/var/lib/iscsi/{nodes,send_targets,static,isns,slp,ifaces}
                mkdir -pv %{BUILDROOT}/var/lock/iscsi
-               mkdir -pv %{BUILDROOT}/usr/lib
                mkdir -pv %{BUILDROOT}/usr/include
-               mkdir -pv %{BUILDROOT}/usr/lib/python2.7/site-packages
+               mkdir -pv %{BUILDROOT}%{libdir}
+               mkdir -pv %{BUILDROOT}%{libdir}/python2.7/site-packages
 
                install -p -m 755 usr/iscsid usr/iscsiadm utils/iscsi-iname usr/iscsistart \
                        %{BUILDROOT}/sbin
@@ -66,24 +66,23 @@ build
 
                install -p -m 755 %{DIR_SOURCE}/04-iscsi %{BUILDROOT}/etc/NetworkManager/dispatcher.d
 
-               install -p -m 755 libiscsi/libiscsi.so.0 %{BUILDROOT}/usr/lib
-               ln -svf libiscsi.so.0 %{BUILDROOT}/usr/lib/libiscsi.so
+               install -p -m 755 libiscsi/libiscsi.so.0 %{BUILDROOT}%{libdir}
+               ln -svf libiscsi.so.0 %{BUILDROOT}%{libdir}/libiscsi.so
                install -p -m 644 libiscsi/libiscsi.h %{BUILDROOT}/usr/include
 
                install -p -m 755 libiscsi/build/lib.linux-*/libiscsimodule.so \
-                       %{BUILDROOT}/usr/lib/python2.7/site-packages
+                       %{BUILDROOT}%{libdir}/python2.7/site-packages
        end
 end
 
 packages
        package %{name}
-       end
 
        package libiscsi
                template LIBS
 
                files
-                       /usr/lib*/libiscsi.so.*
+                       %{libdir}/libiscsi.so.*
                end
        end
 
@@ -91,7 +90,7 @@ packages
                template DEVEL
 
                files
-                       /usr/lib/libiscsi.so
+                       %{libdir}/libiscsi.so
                        /usr/include
                end
        end
diff --git a/isdn4k-utils/40-isdn.rules b/isdn4k-utils/40-isdn.rules
deleted file mode 100644 (file)
index 1a31cb6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-SUBSYSTEM=="capi", KERNEL=="capi", NAME="capi20", GROUP="dialout"
-SUBSYSTEM=="tty", KERNEL=="capi[0-9]*", NAME="capi/%n"
index ad636c18f5431124ed82f8d2674b21e90f827139..425cd207e114bb27f98be3b375a394e29b1cdec8 100644 (file)
@@ -6,7 +6,7 @@
 name       = isdn4k-utils
 version    = 3.2
 devel_ver  = CVS-2010-05-01
-release    = 5
+release    = 7
 thisapp    = %{name}-%{devel_ver}-patched
 
 groups     = Networking/Tools
@@ -59,11 +59,11 @@ build
                sed -e "s/^CONFIG_XISDNLOAD=.*/#&/" -i .config
                echo "CONFIG_GENMAN=y" >> .config
                echo "CONFIG_FAQ=y" >> .config
-               echo "CONFIG_FAQDIR='/usr/share/doc/isdn4k-utils'" >> .config
-               echo "CONFIG_DATADIR='/usr/share/isdn'" >> .config
-               echo "LIBDIR='/usr/lib'" >> .config
-               echo "CONFIG_FIRMWAREDIR='/usr/share/isdn'" >> .config
-               echo "CONFIG_CARD_SBINDIR='/sbin'" >> .config
+               echo "CONFIG_FAQDIR='%{datadir}/doc/isdn4k-utils'" >> .config
+               echo "CONFIG_DATADIR='%{datadir}/isdn'" >> .config
+               echo "LIBDIR='%{libdir}'" >> .config
+               echo "CONFIG_FIRMWAREDIR='%{datadir}/isdn'" >> .config
+               echo "CONFIG_CARD_SBINDIR='%{sbindir}'" >> .config
                sed -e "s,',,g" .config > .config.h
        end
 
@@ -75,11 +75,7 @@ build
 
        install
                mkdir -pv %{BUILDROOT}/usr/sbin
-               make install CFLAGS="%{CFLAGS}" DESTDIR="%{BUILDROOT}"
-
-               # Install udev rules for isdn.
-               mkdir -pv %{BUILDROOT}/lib/udev/rules.d/
-               install -m 644 %{DIR_SOURCE}/40-isdn.rules %{BUILDROOT}/lib/udev/rules.d/
+               make install CFLAGS="%{CFLAGS}" LIBDIR="%{libdir}" DESTDIR="%{BUILDROOT}"
 
                # Install config files for capi.
                mkdir -pv %{BUILDROOT}/etc
@@ -96,6 +92,10 @@ packages
        package %{name}
                prerequires += systemd-units
 
+               conflicts
+                       filesystem < 002
+               end
+
                configfiles
                        /etc/capi.conf
                        /etc/capi20.conf
diff --git a/isdn4k-utils/patches/isdn4k-utils-pppcapiplugin-libdir.patch b/isdn4k-utils/patches/isdn4k-utils-pppcapiplugin-libdir.patch
new file mode 100644 (file)
index 0000000..133345b
--- /dev/null
@@ -0,0 +1,9 @@
+diff -Nur a/pppdcapiplugin/Makefile.template b/pppdcapiplugin/Makefile.template
+--- a/pppdcapiplugin/Makefile.template 2001-05-01 14:43:49.000000000 +0200
++++ b/pppdcapiplugin/Makefile.template 2012-03-17 18:36:00.035594144 +0100
+@@ -8,7 +8,7 @@
+ #  as published by the Free Software Foundation; either version
+ #  2 of the License, or (at your option) any later version.
+-PLUGINDIR=${DESTDIR}/usr/lib/pppd/$(PPPVERSION)
++PLUGINDIR=${DESTDIR}${LIBDIR}/pppd/$(PPPVERSION)
index 2fe9da16c781edf3887aeb59d17b9c6d49c73bf1..62186f97cbeafd83747795fab5e5bc761a323c42 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = kbd
 version    = 1.15.3
-release    = 1
+release    = 2
 epoch      = 1
 
 groups     = System/Base
@@ -31,7 +31,7 @@ build
        end
 
        configure_options += \
-               --datadir=/lib/kbd \
+               --datadir=%{prefix}/lib/kbd \
                --disable-rpath \
                --enable-nls
 
@@ -62,15 +62,13 @@ build
                cd %{DIR_APP}/po
                rm -f gr.po gr.gmo
        end
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}/bin
-               mv -v %{BUILDROOT}/usr/bin/{kbd_mode,loadkeys,openvt,setfont} %{BUILDROOT}/bin
-       end
 end
 
 packages
        package %{name}
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package %{name}-debuginfo
diff --git a/kernel/config-arm-generic b/kernel/config-arm-generic
new file mode 100644 (file)
index 0000000..23f6633
--- /dev/null
@@ -0,0 +1,458 @@
+CONFIG_ARM=y
+CONFIG_MIGHT_HAVE_PCI=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_KTIME_SCALAR=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+
+#
+# General setup
+#
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_KERNEL_GZIP=y
+
+#
+# IRQ subsystem
+#
+CONFIG_IRQ_DOMAIN=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_LBDAF=y
+
+#
+# IO Schedulers
+#
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+
+#
+# System Type
+#
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+CONFIG_ARCH_VERSATILE=y
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_HIGHBANK is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_PRIMA2 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_MXS is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_PICOXCELL is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5P64X0 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_TCC_926 is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_PLAT_SPEAR is not set
+# CONFIG_ARCH_VT8500 is not set
+# CONFIG_ARCH_ZYNQ is not set
+
+#
+# Versatile platform type
+#
+CONFIG_ARCH_VERSATILE_PB=y
+CONFIG_MACH_VERSATILE_AB=y
+CONFIG_MACH_VERSATILE_DT=y
+CONFIG_PLAT_VERSATILE_CLCD=y
+CONFIG_PLAT_VERSATILE_FPGA_IRQ=y
+CONFIG_PLAT_VERSATILE_LEDS=y
+CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y
+CONFIG_PLAT_VERSATILE=y
+CONFIG_ARM_TIMER_SP804=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+CONFIG_CPU_USE_DOMAINS=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+CONFIG_ARM_L1_CACHE_SHIFT=5
+CONFIG_ARM_VIC=y
+CONFIG_ARM_VIC_NR=2
+CONFIG_ICST=y
+CONFIG_PL330=y
+
+#
+# Bus support
+#
+CONFIG_ARM_AMBA=y
+CONFIG_PCI_SYSCALL=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+#
+# Kernel Features
+#
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HZ=100
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_HIGHMEM=y
+# CONFIG_HIGHPTE is not set
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPLIT_PTLOCK_CPUS=999999
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_LEDS=y
+CONFIG_LEDS_CPU=y
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+
+#
+# Boot options
+#
+CONFIG_USE_OF=y
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_ARM_APPENDED_DTB=y
+# CONFIG_ARM_ATAG_DTB_COMPAT is not set
+CONFIG_CMDLINE="console=ttyAM0,115200 root=/dev/sda1 rootdelay=20"
+CONFIG_CMDLINE_FROM_BOOTLOADER=y
+# CONFIG_CMDLINE_EXTEND is not set
+# CONFIG_CMDLINE_FORCE is not set
+# CONFIG_XIP_KERNEL is not set
+CONFIG_ATAGS_PROC=y
+CONFIG_AUTO_ZRELADDR=y
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_IDLE is not set
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+
+#
+# Power management options
+#
+CONFIG_APM_EMULATION=y
+CONFIG_PM_CLK=y
+CONFIG_CPU_PM=y
+CONFIG_ARM_CPU_SUSPEND=y
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_RFKILL_GPIO is not set
+
+#
+# Generic Driver Options
+#
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+CONFIG_PROC_DEVICETREE=y
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_GPIO=y
+CONFIG_OF_I2C=m
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=y
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+# CONFIG_MG_DISK is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_ATMEL_PWM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_ARM_CHARLCD is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_ACARD is not set
+CONFIG_SCSI_NSP32=m
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_ATM_HE is not set
+
+#
+# CAIF transport drivers
+#
+CONFIG_DM9000=m
+# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set
+CONFIG_NET_VENDOR_FARADAY=y
+# CONFIG_FTMAC100 is not set
+# CONFIG_FTGMAC100 is not set
+# CONFIG_MLX4_EN is not set
+# CONFIG_MLX4_CORE is not set
+CONFIG_AX88796=m
+CONFIG_AX88796_93CX6=y
+CONFIG_SMC91X=m
+CONFIG_SMC911X=m
+CONFIG_SMSC911X=m
+# CONFIG_SMSC911X_ARCH_HOOKS is not set
+# CONFIG_SUNGEM is not set
+
+#
+# ISDN feature submodules
+#
+# CONFIG_ISDN_DRV_LOOP is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO_AMBAKMI=m
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250_DW is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_OF_PLATFORM=m
+# CONFIG_HVC_DCC is not set
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
+CONFIG_I2C_VERSATILE=m
+
+#
+# Memory mapped GPIO drivers:
+#
+# CONFIG_GPIO_PL061 is not set
+
+#
+# 1-wire Slaves
+#
+# CONFIG_APM_POWER is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_ARM_SP805_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+
+#
+# Customize TV tuners
+#
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_CAFE_CCIC=m
+# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
+# CONFIG_VIDEO_SH_MOBILE_CEU is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM_RADEON is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FOPS=m
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_ARMCLCD=m
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_SAVAGE is not set
+
+#
+# Console display driver support
+#
+# CONFIG_SND_ALI5451 is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_ARMAACI=m
+CONFIG_SND_SOC=m
+# CONFIG_SND_SOC_CACHE_LZO is not set
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_ULPI is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MMC_SDHCI_PXAV2=m
+CONFIG_MMC_DW=m
+# CONFIG_MMC_DW_IDMAC is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_RENESAS_TPU is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_PL030=m
+CONFIG_RTC_DRV_PL031=m
+
+#
+# DMA Devices
+#
+# CONFIG_AMBA_PL08X is not set
+# CONFIG_DW_DMAC is not set
+CONFIG_PL330_DMA=y
+
+#
+# Virtio drivers
+#
+# CONFIG_DRM_NOUVEAU is not set
+
+#
+# Speakup console speech
+#
+CONFIG_CLKDEV_LOOKUP=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_MMIO=y
+
+#
+# Pseudo filesystems
+#
+# CONFIG_HUGETLB_PAGE is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_FUNCTION_GRAPH_TRACER=y
+CONFIG_ARM_UNWIND=y
+CONFIG_OLD_MCOUNT=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_LL is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Miscellaneous hardening features
+#
+CONFIG_PAX_MEMORY_SANITIZE=y
+CONFIG_LSM_MMAP_MIN_ADDR=32768
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+
+#
+# Library routines
+#
+CONFIG_AUDIT_GENERIC=y
+CONFIG_GENERIC_ATOMIC64=y
diff --git a/kernel/config-armv5tel-kirkwood b/kernel/config-armv5tel-kirkwood
new file mode 100644 (file)
index 0000000..38a8f21
--- /dev/null
@@ -0,0 +1,130 @@
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_CHIP=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_VERSATILE is not set
+CONFIG_ARCH_KIRKWOOD=y
+
+#
+# Marvell Kirkwood Implementations
+#
+CONFIG_MACH_DB88F6281_BP=y
+CONFIG_MACH_RD88F6192_NAS=y
+CONFIG_MACH_RD88F6281=y
+CONFIG_MACH_MV88F6281GTW_GE=y
+CONFIG_MACH_SHEEVAPLUG=y
+CONFIG_MACH_ESATA_SHEEVAPLUG=y
+CONFIG_MACH_GURUPLUG=y
+CONFIG_MACH_TS219=y
+CONFIG_MACH_TS41X=y
+CONFIG_MACH_DOCKSTAR=y
+CONFIG_MACH_OPENRD=y
+CONFIG_MACH_OPENRD_BASE=y
+CONFIG_MACH_OPENRD_CLIENT=y
+CONFIG_MACH_OPENRD_ULTIMATE=y
+CONFIG_MACH_NETSPACE_V2=y
+CONFIG_MACH_INETSPACE_V2=y
+CONFIG_MACH_NETSPACE_MAX_V2=y
+CONFIG_MACH_D2NET_V2=y
+CONFIG_MACH_NET2BIG_V2=y
+CONFIG_MACH_NET5BIG_V2=y
+CONFIG_MACH_T5325=y
+
+#
+# System MMU
+#
+CONFIG_PLAT_ORION=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_FEROCEON=y
+# CONFIG_CPU_FEROCEON_OLD_ID is not set
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_COPY_FEROCEON=y
+CONFIG_CPU_TLB_FEROCEON=y
+
+#
+# Processor Features
+#
+CONFIG_OUTER_CACHE=y
+CONFIG_CACHE_FEROCEON_L2=y
+CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH=y
+
+#
+# Power management options
+#
+# CONFIG_ARM_CPU_SUSPEND is not set
+
+#
+# CAIF transport drivers
+#
+CONFIG_MV643XX_ETH=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_MV64XXX=m
+
+#
+# Enable Device Drivers -> PPS to see the PTP clock options.
+#
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_GENERIC_PLATFORM=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MCP23S08=m
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_ORION_WATCHDOG=m
+
+#
+# Console display driver support
+#
+CONFIG_SND_KIRKWOOD_SOC=m
+CONFIG_SND_KIRKWOOD_SOC_I2S=m
+CONFIG_SND_KIRKWOOD_SOC_OPENRD=m
+CONFIG_SND_KIRKWOOD_SOC_T5325=m
+CONFIG_SND_SOC_ALC5623=m
+CONFIG_SND_SOC_CS42L51=m
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_MVSDIO=m
+
+#
+# LED drivers
+#
+CONFIG_LEDS_NS2=m
+CONFIG_LEDS_NETXBIG=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MV=m
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
+CONFIG_MV_XOR=y
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_DEV_MV_CESA=m
diff --git a/kernel/config-armv7hl-omap b/kernel/config-armv7hl-omap
new file mode 100644 (file)
index 0000000..e2fc099
--- /dev/null
@@ -0,0 +1,611 @@
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_CHIP=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+CONFIG_RCU_FAST_NO_HZ=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_STOP_MACHINE=y
+
+#
+# IO Schedulers
+#
+CONFIG_PADATA=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_VERSATILE is not set
+CONFIG_ARCH_OMAP=y
+
+#
+# TI OMAP Common Features
+#
+CONFIG_ARCH_OMAP_OTG=y
+# CONFIG_ARCH_OMAP1 is not set
+CONFIG_ARCH_OMAP2PLUS=y
+
+#
+# OMAP Feature Selections
+#
+CONFIG_OMAP_SMARTREFLEX=y
+CONFIG_OMAP_SMARTREFLEX_CLASS3=y
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+CONFIG_OMAP_MCBSP=y
+CONFIG_OMAP_MBOX_FWK=m
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_32K_TIMER=y
+# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_DM_TIMER=y
+CONFIG_OMAP_PM_NOOP=y
+CONFIG_MACH_OMAP_GENERIC=y
+
+#
+# TI OMAP2/3/4 Specific Features
+#
+CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
+# CONFIG_ARCH_OMAP2 is not set
+CONFIG_ARCH_OMAP3=y
+CONFIG_ARCH_OMAP4=y
+CONFIG_SOC_OMAP3430=y
+# CONFIG_SOC_OMAPTI816X is not set
+CONFIG_OMAP_PACKAGE_CBB=y
+CONFIG_OMAP_PACKAGE_CUS=y
+CONFIG_OMAP_PACKAGE_CBP=y
+CONFIG_OMAP_PACKAGE_CBL=y
+CONFIG_OMAP_PACKAGE_CBS=y
+
+#
+# OMAP Board Type
+#
+CONFIG_MACH_OMAP3_BEAGLE=y
+CONFIG_MACH_DEVKIT8000=y
+CONFIG_MACH_OMAP_LDP=y
+CONFIG_MACH_OMAP3530_LV_SOM=y
+CONFIG_MACH_OMAP3_TORPEDO=y
+CONFIG_MACH_OVERO=y
+CONFIG_MACH_OMAP3EVM=y
+CONFIG_MACH_OMAP3517EVM=y
+CONFIG_MACH_CRANEBOARD=y
+CONFIG_MACH_OMAP3_PANDORA=y
+CONFIG_MACH_OMAP3_TOUCHBOOK=y
+CONFIG_MACH_OMAP_3430SDP=y
+CONFIG_MACH_NOKIA_RM680=y
+CONFIG_MACH_NOKIA_RX51=y
+CONFIG_MACH_OMAP_ZOOM2=y
+CONFIG_MACH_OMAP_ZOOM3=y
+CONFIG_MACH_CM_T35=y
+CONFIG_MACH_CM_T3517=y
+CONFIG_MACH_CM_T3730=y
+CONFIG_MACH_IGEP0020=y
+CONFIG_MACH_IGEP0030=y
+CONFIG_MACH_SBC3530=y
+CONFIG_MACH_OMAP_3630SDP=y
+CONFIG_MACH_OMAP_4430SDP=y
+CONFIG_MACH_OMAP4_PANDA=y
+CONFIG_OMAP3_EMU=y
+# CONFIG_OMAP3_SDRC_AC_TIMING is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMBEE=y
+CONFIG_SWP_EMULATE=y
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_OUTER_CACHE=y
+CONFIG_OUTER_CACHE_SYNC=y
+CONFIG_CACHE_L2X0=y
+CONFIG_CACHE_PL310=y
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_CPU_HAS_PMU=y
+CONFIG_ARM_ERRATA_430973=y
+# CONFIG_ARM_ERRATA_458693 is not set
+# CONFIG_ARM_ERRATA_460075 is not set
+# CONFIG_ARM_ERRATA_742230 is not set
+# CONFIG_ARM_ERRATA_742231 is not set
+CONFIG_PL310_ERRATA_588369=y
+CONFIG_ARM_ERRATA_720789=y
+CONFIG_PL310_ERRATA_727915=y
+# CONFIG_ARM_ERRATA_743622 is not set
+# CONFIG_ARM_ERRATA_751472 is not set
+# CONFIG_PL310_ERRATA_753970 is not set
+# CONFIG_ARM_ERRATA_754322 is not set
+# CONFIG_ARM_ERRATA_754327 is not set
+# CONFIG_ARM_ERRATA_764369 is not set
+CONFIG_PL310_ERRATA_769419=y
+CONFIG_ARM_GIC=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
+CONFIG_ARM_CPU_TOPOLOGY=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+CONFIG_NR_CPUS=2
+CONFIG_HOTPLUG_CPU=y
+CONFIG_LOCAL_TIMERS=y
+CONFIG_HZ=128
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+#
+# Power management options
+#
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_ARCH_HAS_OPP=y
+CONFIG_PM_OPP=y
+
+#
+# Classification
+#
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_RFKILL_REGULATOR is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_MTD=y
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+CONFIG_SM_FTL=m
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_DOCG3 is not set
+CONFIG_MTD_NAND_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_BCH is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_PLATFORM=y
+# CONFIG_MTD_ALAUDA is not set
+CONFIG_MTD_ONENAND=y
+# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
+# CONFIG_MTD_ONENAND_GENERIC is not set
+CONFIG_MTD_ONENAND_OMAP2=y
+# CONFIG_MTD_ONENAND_OTP is not set
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+CONFIG_MTD_ONENAND_SIM=m
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_UBI is not set
+
+#
+# Device Tree and Open Firmware support
+#
+CONFIG_OF_I2C=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_MG_DISK=m
+CONFIG_MG_DISK_RES=0
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_MULTICORE_RAID456 is not set
+
+#
+# CAIF transport drivers
+#
+# CONFIG_TI_DAVINCI_EMAC is not set
+# CONFIG_TI_DAVINCI_MDIO is not set
+# CONFIG_TI_DAVINCI_CPDMA is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT_FF_MEMLESS=y
+
+#
+# Input Device Drivers
+#
+# CONFIG_KEYBOARD_OMAP4 is not set
+CONFIG_KEYBOARD_TWL4030=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_TWL4030_VIBRA=y
+CONFIG_INPUT_TWL6040_VIBRA=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+CONFIG_SERIAL_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_I2C=y
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_OMAP=y
+
+#
+# Enable Device Drivers -> PPS to see the PTP clock options.
+#
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_SX150X is not set
+CONFIG_GPIO_TWL4030=y
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_HDQ_MASTER_OMAP is not set
+
+#
+# 1-wire Slaves
+#
+# CONFIG_CHARGER_TWL4030 is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_MPCORE_WATCHDOG is not set
+CONFIG_OMAP_WATCHDOG=y
+# CONFIG_TWL4030_WATCHDOG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+CONFIG_TWL4030_CORE=y
+# CONFIG_TWL4030_MADC is not set
+CONFIG_TWL4030_POWER=y
+CONFIG_MFD_TWL4030_AUDIO=y
+# CONFIG_TWL6030_PWM is not set
+CONFIG_TWL6040_CORE=y
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+CONFIG_MFD_OMAP_USB_HOST=y
+# CONFIG_MFD_AAT2870_CORE is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+CONFIG_REGULATOR_TWL4030=y
+# CONFIG_REGULATOR_WM8400 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_AD5398 is not set
+
+#
+# Miscelaneous helper chips
+#
+# CONFIG_VIDEO_VPFE_CAPTURE is not set
+CONFIG_VIDEO_OMAP2_VOUT_VRFB=y
+CONFIG_VIDEO_OMAP2_VOUT=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+# CONFIG_TTPCI_EEPROM is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_BACKLIGHT is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_OMAP2_VRAM=y
+CONFIG_OMAP2_VRFB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_VRAM_SIZE=12
+CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
+# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
+CONFIG_OMAP2_DSS_DPI=y
+# CONFIG_OMAP2_DSS_RFBI is not set
+CONFIG_OMAP2_DSS_VENC=y
+CONFIG_OMAP4_DSS_HDMI=y
+# CONFIG_OMAP2_DSS_SDI is not set
+# CONFIG_OMAP2_DSS_DSI is not set
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1
+CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
+CONFIG_FB_OMAP2=y
+CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
+CONFIG_FB_OMAP2_NUM_FBS=3
+
+#
+# OMAP2/3 Display Device Drivers
+#
+CONFIG_PANEL_GENERIC_DPI=y
+# CONFIG_PANEL_DVI is not set
+CONFIG_PANEL_SHARP_LS037V7DW01=y
+# CONFIG_PANEL_PICODLP is not set
+# CONFIG_LCD_PLATFORM is not set
+
+#
+# Console display driver support
+#
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_OMAP_SOC is not set
+
+#
+# Special HID drivers
+#
+# CONFIG_USB_ARCH_HAS_XHCI is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD_OMAP=y
+CONFIG_USB_OHCI_HCD_OMAP3=y
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_GPIO_VBUS=y
+# CONFIG_ISP1301_OMAP is not set
+CONFIG_TWL4030_USB=y
+CONFIG_TWL6030_USB=y
+CONFIG_MMC=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_OMAP=y
+CONFIG_MMC_OMAP_HS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_REGULATOR is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_TWL4030 is not set
+
+#
+# DMA Clients
+#
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_RING=m
+
+#
+# Virtio drivers
+#
+# CONFIG_TIDSPBRIDGE is not set
+
+#
+# Speakup console speech
+#
+CONFIG_HWSPINLOCK=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_HWSPINLOCK_OMAP=m
+# CONFIG_OMAP_IOMMU is not set
+
+#
+# Pseudo filesystems
+#
+# CONFIG_JFFS2_FS is not set
+
+#
+# Kernel hacking
+#
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
+CONFIG_OC_ETM=y
+
+#
+# Kernel Auditing
+#
+CONFIG_GRKERNSEC_RWXMAP_LOG=y
+CONFIG_GRKERNSEC_AUDIT_TEXTREL=y
+
+#
+# Non-executable pages
+#
+CONFIG_PAX_NOEXEC=y
+CONFIG_PAX_PAGEEXEC=y
+CONFIG_PAX_MPROTECT=y
+# CONFIG_PAX_MPROTECT_COMPAT is not set
+CONFIG_PAX_ELFRELOCS=y
+
+#
+# Miscellaneous hardening features
+#
+CONFIG_PAX_REFCOUNT=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_PCRYPT=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_DEV_OMAP_SHAM=m
+CONFIG_CRYPTO_DEV_OMAP_AES=m
+
+#
+# Library routines
+#
+CONFIG_CPU_RMAP=y
similarity index 80%
rename from kernel/config.i686-legacy
rename to kernel/config-generic
index 0cb854c3119ed7c1fca5725eecd3a36e25612ed4..1703ee3327efe676f35214675b82222c33a2b1ab 100644 (file)
@@ -1,56 +1,17 @@
 #
-# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.1.1-1.ip3.i686 Kernel Configuration
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
+#
 CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
 CONFIG_LOCKDEP_SUPPORT=y
 CONFIG_STACKTRACE_SUPPORT=y
 CONFIG_HAVE_LATENCYTOP_SUPPORT=y
 CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
 CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
 CONFIG_GENERIC_BUG=y
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
 CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_32_SMP=y
-CONFIG_X86_HT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_KTIME_SCALAR=y
-CONFIG_ARCH_CPU_PROBE_RELEASE=y
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 CONFIG_HAVE_IRQ_WORK=y
 CONFIG_IRQ_WORK=y
@@ -64,14 +25,9 @@ CONFIG_CROSS_COMPILE=""
 CONFIG_LOCALVERSION=""
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
 CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
 CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
 # CONFIG_KERNEL_LZMA is not set
-CONFIG_KERNEL_XZ=y
 # CONFIG_KERNEL_LZO is not set
 CONFIG_DEFAULT_HOSTNAME="(none)"
 CONFIG_SWAP=y
@@ -87,9 +43,6 @@ CONFIG_TASK_DELAY_ACCT=y
 CONFIG_TASK_XACCT=y
 CONFIG_TASK_IO_ACCOUNTING=y
 CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
 CONFIG_HAVE_GENERIC_HARDIRQS=y
 
 #
@@ -99,23 +52,16 @@ CONFIG_GENERIC_HARDIRQS=y
 CONFIG_HAVE_SPARSE_IRQ=y
 CONFIG_GENERIC_IRQ_PROBE=y
 CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_IRQ_FORCED_THREADING=y
-# CONFIG_SPARSE_IRQ is not set
+CONFIG_SPARSE_IRQ=y
 
 #
 # RCU Subsystem
 #
-CONFIG_TREE_RCU=y
 # CONFIG_PREEMPT_RCU is not set
 # CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-CONFIG_RCU_FAST_NO_HZ=y
 # CONFIG_TREE_RCU_TRACE is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
 CONFIG_CGROUPS=y
 # CONFIG_CGROUP_DEBUG is not set
 CONFIG_CGROUP_FREEZER=y
@@ -130,6 +76,7 @@ CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
 CONFIG_CGROUP_PERF=y
 CONFIG_CGROUP_SCHED=y
 CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_CFS_BANDWIDTH is not set
 CONFIG_RT_GROUP_SCHED=y
 CONFIG_BLK_CGROUP=y
 # CONFIG_DEBUG_BLK_CGROUP is not set
@@ -155,15 +102,13 @@ CONFIG_SYSCTL=y
 CONFIG_ANON_INODES=y
 # CONFIG_EXPERT is not set
 CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
+# CONFIG_SYSCTL_SYSCALL is not set
 CONFIG_KALLSYMS=y
 CONFIG_KALLSYMS_ALL=y
 CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
@@ -191,30 +136,15 @@ CONFIG_SLUB=y
 CONFIG_TRACEPOINTS=y
 CONFIG_HAVE_OPROFILE=y
 # CONFIG_KPROBES is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
 CONFIG_HAVE_KPROBES=y
 CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 
 #
 # GCOV-based kernel profiling
 #
 # CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
 CONFIG_SLABINFO=y
 CONFIG_RT_MUTEXES=y
 CONFIG_BASE_SMALL=0
@@ -224,9 +154,7 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_MODULE_FORCE_UNLOAD is not set
 # CONFIG_MODVERSIONS is not set
 CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_STOP_MACHINE=y
 CONFIG_BLOCK=y
-CONFIG_LBDAF=y
 CONFIG_BLK_DEV_BSG=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
@@ -243,8 +171,6 @@ CONFIG_CFQ_GROUP_IOSCHED=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
 # CONFIG_INLINE_SPIN_TRYLOCK is not set
 # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
 # CONFIG_INLINE_SPIN_LOCK is not set
@@ -273,7 +199,6 @@ CONFIG_INLINE_WRITE_UNLOCK=y
 # CONFIG_INLINE_WRITE_UNLOCK_BH is not set
 CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
 # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
 CONFIG_FREEZER=y
 
 #
@@ -283,310 +208,59 @@ CONFIG_TICK_ONESHOT=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-CONFIG_X86_MPPARSE=y
-CONFIG_X86_BIGSMP=y
-CONFIG_X86_EXTENDED_PLATFORM=y
-# CONFIG_X86_INTEL_MID is not set
-# CONFIG_X86_RDC321X is not set
-# CONFIG_X86_32_NON_STANDARD is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_X86_32_IRIS is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_PARAVIRT_GUEST=y
-CONFIG_PARAVIRT_TIME_ACCOUNTING=y
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
-CONFIG_KVM_CLOCK=y
-CONFIG_KVM_GUEST=y
-# CONFIG_LGUEST_GUEST is not set
-CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_SPINLOCKS is not set
-CONFIG_PARAVIRT_CLOCK=y
-# CONFIG_PARAVIRT_DEBUG is not set
-CONFIG_NO_BOOTMEM=y
-# CONFIG_MEMTEST is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-CONFIG_M686=y
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-CONFIG_X86_PPRO_FENCE=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=5
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=256
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 # CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-# CONFIG_X86_ANCIENT_MCE is not set
-CONFIG_X86_MCE_THRESHOLD=y
-# CONFIG_X86_MCE_INJECT is not set
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
-CONFIG_TOSHIBA=m
-CONFIG_I8K=m
-# CONFIG_X86_REBOOTFIXUPS is not set
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=y
-CONFIG_X86_CPUID=y
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
-# CONFIG_HIGHMEM64G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
 CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
 CONFIG_HAVE_MEMBLOCK=y
 CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_COMPACTION=y
 CONFIG_MIGRATION=y
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
 CONFIG_BOUNCE=y
 CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
 CONFIG_KSM=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_MEMORY_FAILURE=y
-# CONFIG_HWPOISON_INJECT is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
 CONFIG_CLEANCACHE=y
-CONFIG_HIGHPTE=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-# CONFIG_MATH_EMULATION is not set
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_EFI=y
 CONFIG_SECCOMP=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-CONFIG_HZ_300=y
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=300
-CONFIG_SCHED_HRTICK=y
+CONFIG_CC_STACKPROTECTOR=y
 CONFIG_KEXEC=y
 CONFIG_CRASH_DUMP=y
-# CONFIG_KEXEC_JUMP is not set
-CONFIG_PHYSICAL_START=0x400000
-CONFIG_RELOCATABLE=y
-CONFIG_X86_NEED_RELOCS=y
-CONFIG_PHYSICAL_ALIGN=0x400000
-CONFIG_HOTPLUG_CPU=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 
 #
 # Power management and ACPI options
 #
 CONFIG_SUSPEND=y
 CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION=""
 CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
 CONFIG_PM_RUNTIME=y
 CONFIG_PM=y
 # CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-# CONFIG_ACPI_PROC_EVENT is not set
-CONFIG_ACPI_AC=y
-CONFIG_ACPI_BATTERY=y
-CONFIG_ACPI_BUTTON=y
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=y
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=y
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=1999
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=y
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=y
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-CONFIG_ACPI_CUSTOM_METHOD=m
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-# CONFIG_ACPI_APEI_EINJ is not set
-# CONFIG_ACPI_APEI_ERST_DEBUG is not set
-CONFIG_SFI=y
-CONFIG_X86_APM_BOOT=y
-CONFIG_APM=y
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-# CONFIG_APM_DO_ENABLE is not set
-CONFIG_APM_CPU_IDLE=y
-# CONFIG_APM_DISPLAY_BLANK is not set
-# CONFIG_APM_ALLOW_INTS is not set
 
 #
 # CPU Frequency scaling
 #
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
 
 #
 # x86 CPU frequency scaling drivers
 #
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-# CONFIG_X86_POWERNOW_K6 is not set
-CONFIG_X86_POWERNOW_K7=y
-CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_GX_SUSPMOD is not set
-# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-CONFIG_X86_SPEEDSTEP_ICH=y
-CONFIG_X86_SPEEDSTEP_SMI=y
-CONFIG_X86_P4_CLOCKMOD=m
-# CONFIG_X86_CPUFREQ_NFORCE2 is not set
-CONFIG_X86_LONGRUN=y
-# CONFIG_X86_LONGHAUL is not set
-# CONFIG_X86_E_POWERSAVER is not set
 
 #
 # shared options
 #
-CONFIG_X86_SPEEDSTEP_LIB=y
-# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_INTEL_IDLE=y
+
+#
+# Memory power savings
+#
 
 #
 # Bus options (PCI etc.)
 #
 CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=y
-CONFIG_PCIEAER=y
-CONFIG_PCIE_ECRC=y
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
 # CONFIG_PCI_DEBUG is not set
 CONFIG_PCI_STUB=y
-CONFIG_HT_IRQ=y
+CONFIG_PCI_ATS=y
 CONFIG_PCI_IOV=y
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-# CONFIG_ISA is not set
-# CONFIG_MCA is not set
-# CONFIG_SCx200 is not set
-# CONFIG_OLPC is not set
-CONFIG_AMD_NB=y
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
 CONFIG_PCCARD=m
 # CONFIG_PCMCIA is not set
 CONFIG_CARDBUS=y
@@ -600,26 +274,13 @@ CONFIG_YENTA_RICOH=y
 CONFIG_YENTA_TI=y
 CONFIG_YENTA_ENE_TUNE=y
 CONFIG_YENTA_TOSHIBA=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-# CONFIG_HOTPLUG_PCI_SHPC is not set
-# CONFIG_RAPIDIO is not set
 
 #
 # Executable file formats / Emulations
 #
 CONFIG_BINFMT_ELF=y
 CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-CONFIG_HAVE_AOUT=y
 CONFIG_BINFMT_MISC=y
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
 CONFIG_NET=y
 
 #
@@ -1062,9 +723,6 @@ CONFIG_NET_SCH_FIFO=y
 # CONFIG_DCB is not set
 CONFIG_DNS_RESOLVER=y
 # CONFIG_BATMAN_ADV is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
 
 #
 # Network testing
@@ -1161,7 +819,8 @@ CONFIG_FW_LOADER=y
 CONFIG_EXTRA_FIRMWARE=""
 # CONFIG_DEBUG_DRIVER is not set
 # CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
 CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
 # CONFIG_MTD is not set
@@ -1174,15 +833,11 @@ CONFIG_PARPORT_SERIAL=m
 # CONFIG_PARPORT_AX88796 is not set
 CONFIG_PARPORT_1284=y
 CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG_MESSAGES is not set
 
 #
 # Protocols
 #
-CONFIG_PNPACPI=y
 CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=m
 # CONFIG_PARIDE is not set
 CONFIG_BLK_CPQ_DA=m
 CONFIG_BLK_CPQ_CISS_DA=m
@@ -1205,20 +860,15 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
 CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
 # CONFIG_BLK_DEV_RBD is not set
-CONFIG_SENSORS_LIS3LV02D=m
 CONFIG_MISC_DEVICES=y
 # CONFIG_AD525X_DPOT is not set
-# CONFIG_IBM_ASM is not set
 # CONFIG_PHANTOM is not set
 # CONFIG_INTEL_MID_PTI is not set
-# CONFIG_SGI_IOC4 is not set
 CONFIG_TIFM_CORE=m
 CONFIG_TIFM_7XX1=m
 CONFIG_ICS932S401=m
 CONFIG_ENCLOSURE_SERVICES=m
-# CONFIG_CS5535_MFGPT is not set
 CONFIG_HP_ILO=m
 # CONFIG_APDS9802ALS is not set
 # CONFIG_ISL29003 is not set
@@ -1229,7 +879,6 @@ CONFIG_HP_ILO=m
 # CONFIG_SENSORS_APDS990X is not set
 # CONFIG_HMC6352 is not set
 CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
 # CONFIG_BMP085 is not set
 CONFIG_PCH_PHUB=m
 CONFIG_USB_SWITCH_FSA9480=m
@@ -1252,6 +901,11 @@ CONFIG_CB710_DEBUG_ASSUMPTIONS=y
 #
 CONFIG_TI_ST=m
 # CONFIG_SENSORS_LIS3_I2C is not set
+
+#
+# Altera FPGA firmware download module
+#
+# CONFIG_ALTERA_STAPL is not set
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -1308,7 +962,6 @@ CONFIG_BLK_DEV_3W_XXXX_RAID=m
 CONFIG_SCSI_HPSA=m
 CONFIG_SCSI_3W_9XXX=m
 CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_ACARD=m
 CONFIG_SCSI_AACRAID=m
 CONFIG_SCSI_AIC7XXX=m
 CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
@@ -1328,10 +981,10 @@ CONFIG_SCSI_AIC94XX=m
 CONFIG_SCSI_MVSAS=m
 # CONFIG_SCSI_MVSAS_DEBUG is not set
 CONFIG_SCSI_MVSAS_TASKLET=y
+# CONFIG_SCSI_MVUMI is not set
 CONFIG_SCSI_DPT_I2O=m
 CONFIG_SCSI_ADVANSYS=m
 CONFIG_SCSI_ARCMSR=m
-# CONFIG_SCSI_ARCMSR_AER is not set
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
@@ -1341,21 +994,11 @@ CONFIG_SCSI_MPT2SAS=m
 CONFIG_SCSI_MPT2SAS_MAX_SGE=128
 # CONFIG_SCSI_MPT2SAS_LOGGING is not set
 CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_BUSLOGIC=m
-CONFIG_SCSI_FLASHPOINT=y
-CONFIG_VMWARE_PVSCSI=m
 CONFIG_LIBFC=m
 CONFIG_LIBFCOE=m
 CONFIG_FCOE=m
-CONFIG_FCOE_FNIC=m
 CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_EATA=m
-CONFIG_SCSI_EATA_TAGGED_QUEUE=y
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
 CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_GDTH=m
-CONFIG_SCSI_ISCI=m
 CONFIG_SCSI_IPS=m
 CONFIG_SCSI_INITIO=m
 CONFIG_SCSI_INIA100=m
@@ -1379,7 +1022,6 @@ CONFIG_SCSI_LPFC=m
 # CONFIG_SCSI_LPFC_DEBUG_FS is not set
 CONFIG_SCSI_DC395x=m
 CONFIG_SCSI_DC390T=m
-CONFIG_SCSI_NSP32=m
 # CONFIG_SCSI_DEBUG is not set
 CONFIG_SCSI_PMCRAID=m
 CONFIG_SCSI_PM8001=m
@@ -1397,7 +1039,6 @@ CONFIG_SCSI_OSD_DPRINT_SENSE=1
 CONFIG_ATA=y
 # CONFIG_ATA_NONSTANDARD is not set
 CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
 CONFIG_SATA_PMP=y
 
 #
@@ -1444,7 +1085,6 @@ CONFIG_PATA_ATP867X=m
 CONFIG_PATA_CMD64X=m
 CONFIG_PATA_CS5520=m
 CONFIG_PATA_CS5530=m
-CONFIG_PATA_CS5535=m
 CONFIG_PATA_CS5536=m
 CONFIG_PATA_CYPRESS=m
 CONFIG_PATA_EFAR=m
@@ -1488,7 +1128,6 @@ CONFIG_PATA_RZ1000=m
 #
 # Generic fallback / legacy drivers
 #
-CONFIG_PATA_ACPI=m
 CONFIG_ATA_GENERIC=m
 # CONFIG_PATA_LEGACY is not set
 CONFIG_MD=y
@@ -1499,13 +1138,13 @@ CONFIG_MD_RAID0=m
 CONFIG_MD_RAID1=m
 CONFIG_MD_RAID10=m
 CONFIG_MD_RAID456=m
-# CONFIG_MULTICORE_RAID456 is not set
 CONFIG_MD_MULTIPATH=m
 CONFIG_MD_FAULTY=m
 CONFIG_BLK_DEV_DM=y
 # CONFIG_DM_DEBUG is not set
 CONFIG_DM_CRYPT=m
 CONFIG_DM_SNAPSHOT=y
+# CONFIG_DM_THIN_PROVISIONING is not set
 CONFIG_DM_MIRROR=y
 CONFIG_DM_RAID=m
 CONFIG_DM_LOG_USERSPACE=m
@@ -1543,50 +1182,89 @@ CONFIG_I2O_BUS=m
 CONFIG_I2O_BLOCK=m
 CONFIG_I2O_SCSI=m
 CONFIG_I2O_PROC=m
-# CONFIG_MACINTOSH_DRIVERS is not set
 CONFIG_NETDEVICES=y
-CONFIG_IFB=m
-CONFIG_DUMMY=m
+CONFIG_NET_CORE=y
 CONFIG_BONDING=m
+CONFIG_DUMMY=m
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_FC is not set
+CONFIG_MII=m
+CONFIG_IFB=m
 CONFIG_MACVLAN=m
 CONFIG_MACVTAP=m
-# CONFIG_EQUALIZER is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+CONFIG_NETPOLL_TRAP=y
+CONFIG_NET_POLL_CONTROLLER=y
 CONFIG_TUN=m
 CONFIG_VETH=m
-# CONFIG_NET_SB1000 is not set
+CONFIG_VIRTIO_NET=m
 # CONFIG_ARCNET is not set
-CONFIG_MII=m
-CONFIG_PHYLIB=y
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+# CONFIG_ATM_ZATM is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+# CONFIG_ATM_AMBASSADOR is not set
+# CONFIG_ATM_HORIZON is not set
+# CONFIG_ATM_IA is not set
+# CONFIG_ATM_FORE200E is not set
+CONFIG_ATM_SOLOS=m
 
 #
-# MII PHY device drivers
+# CAIF transport drivers
 #
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_FIXED_PHY=y
-CONFIG_MDIO_BITBANG=m
-# CONFIG_MDIO_GPIO is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
 CONFIG_NET_VENDOR_3COM=y
 CONFIG_VORTEX=m
 CONFIG_TYPHOON=m
-CONFIG_ETHOC=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_PCNET32=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
 CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
 CONFIG_NET_TULIP=y
 CONFIG_DE2104X=m
 CONFIG_DE2104X_DSL=0
@@ -1600,119 +1278,180 @@ CONFIG_WINBOND_840=m
 CONFIG_DM9102=m
 CONFIG_ULI526X=m
 CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_HP=y
 CONFIG_HP100=m
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-CONFIG_NET_PCI=y
-CONFIG_PCNET32=m
-CONFIG_AMD8111_ETH=m
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_INTEL=y
 CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851_MLL is not set
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
 CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
 CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
 CONFIG_NE2K_PCI=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+# CONFIG_NET_PACKET_ENGINE is not set
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
 CONFIG_8139CP=m
 CONFIG_8139TOO=m
 # CONFIG_8139TOO_PIO is not set
 # CONFIG_8139TOO_TUNE_TWISTER is not set
 CONFIG_8139TOO_8129=y
 # CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
 CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+# CONFIG_SEEQ8005 is not set
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
 CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_NET_VENDOR_SMSC=y
 CONFIG_EPIC100=m
 CONFIG_SMSC9420=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_TLAN=m
-# CONFIG_KS8842 is not set
-# CONFIG_KS8851_MLL is not set
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_SC92031=m
-CONFIG_NET_POCKET=y
-CONFIG_ATP=m
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_ATL2=m
-CONFIG_NETDEV_1000=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_DL2K=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IP1000=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_NS83820=m
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_R8169=m
-CONFIG_SIS190=m
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_VIA_VELOCITY=m
-CONFIG_TIGON3=m
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_QLA3XXX=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_JME=m
+CONFIG_NET_VENDOR_STMICRO=y
 CONFIG_STMMAC_ETH=m
+# CONFIG_STMMAC_DEBUG_FS is not set
 # CONFIG_STMMAC_DA is not set
-# CONFIG_STMMAC_DUAL_MAC is not set
-CONFIG_PCH_GBE=m
-CONFIG_NETDEV_10000=y
-CONFIG_MDIO=m
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_ENIC=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_IXGB=m
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_NETXEN_NIC=m
+CONFIG_STMMAC_RING=y
+# CONFIG_STMMAC_CHAINED is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_CASSINI=m
 CONFIG_NIU=m
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_TEHUTI=y
 CONFIG_TEHUTI=m
-CONFIG_BNX2X=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_BNA=m
-CONFIG_SFC=m
-CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_FIXED_PHY=y
+CONFIG_MDIO_BITBANG=m
+# CONFIG_MDIO_GPIO is not set
+# CONFIG_PLIP is not set
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
 # CONFIG_TR is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
 CONFIG_WLAN=y
 CONFIG_LIBERTAS_THINFIRM=m
 # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
 CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
 CONFIG_ATMEL=m
 CONFIG_PCI_ATMEL=m
 CONFIG_AT76C50X_USB=m
@@ -1744,6 +1483,8 @@ CONFIG_CARL9170=m
 CONFIG_CARL9170_LEDS=y
 # CONFIG_CARL9170_DEBUGFS is not set
 CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+# CONFIG_ATH6KL is not set
 CONFIG_B43=m
 CONFIG_B43_SSB=y
 CONFIG_B43_PCI_AUTOSELECT=y
@@ -1752,6 +1493,7 @@ CONFIG_B43_SDIO=y
 CONFIG_B43_PIO=y
 CONFIG_B43_PHY_N=y
 CONFIG_B43_PHY_LP=y
+# CONFIG_B43_PHY_HT is not set
 CONFIG_B43_LEDS=y
 CONFIG_B43_HWRNG=y
 # CONFIG_B43_DEBUG is not set
@@ -1766,6 +1508,8 @@ CONFIG_B43LEGACY_PIO=y
 CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
 # CONFIG_B43LEGACY_DMA_MODE is not set
 # CONFIG_B43LEGACY_PIO_MODE is not set
+# CONFIG_BRCMSMAC is not set
+# CONFIG_BRCMFMAC is not set
 CONFIG_HOSTAP=m
 CONFIG_HOSTAP_FIRMWARE=y
 CONFIG_HOSTAP_FIRMWARE_NVRAM=y
@@ -1782,16 +1526,7 @@ CONFIG_IPW2200_QOS=y
 # CONFIG_IPW2200_DEBUG is not set
 CONFIG_LIBIPW=m
 # CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLAGN=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-CONFIG_IWLWIFI_DEBUGFS=y
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-CONFIG_IWLWIFI_DEVICE_SVTOOL=y
-# CONFIG_IWL_P2P is not set
+# CONFIG_IWLWIFI is not set
 CONFIG_IWLWIFI_LEGACY=m
 
 #
@@ -1853,7 +1588,6 @@ CONFIG_WL1251=m
 CONFIG_WL1251_SDIO=m
 CONFIG_WL12XX_MENU=m
 CONFIG_WL12XX=m
-# CONFIG_WL12XX_HT is not set
 CONFIG_WL12XX_SDIO=m
 # CONFIG_WL12XX_SDIO_TEST is not set
 CONFIG_WL12XX_PLATFORM_DATA=y
@@ -1861,98 +1595,12 @@ CONFIG_ZD1211RW=m
 # CONFIG_ZD1211RW_DEBUG is not set
 CONFIG_MWIFIEX=m
 CONFIG_MWIFIEX_SDIO=m
+# CONFIG_MWIFIEX_PCIE is not set
 
 #
 # Enable WiMAX (Networking options) to see the WiMAX drivers
 #
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
 # CONFIG_WAN is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-# CONFIG_ATM_ZATM is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-# CONFIG_ATM_AMBASSADOR is not set
-# CONFIG_ATM_HORIZON is not set
-# CONFIG_ATM_IA is not set
-# CONFIG_ATM_FORE200E is not set
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOATM=m
-CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_NET_FC is not set
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-CONFIG_NETPOLL_TRAP=y
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_VIRTIO_NET=m
 CONFIG_VMXNET3=m
 CONFIG_ISDN=y
 CONFIG_ISDN_I4L=m
@@ -2050,14 +1698,7 @@ CONFIG_ISDN_DIVAS_PRIPCI=y
 CONFIG_ISDN_DIVAS_DIVACAPI=m
 CONFIG_ISDN_DIVAS_USERIDI=m
 CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_I4L is not set
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_ISDN_DRV_GIGASET is not set
 CONFIG_HYSDN=m
 CONFIG_HYSDN_CAPI=y
 # CONFIG_MISDN is not set
@@ -2111,7 +1752,6 @@ CONFIG_MOUSE_PS2=m
 CONFIG_MOUSE_PS2_ALPS=y
 CONFIG_MOUSE_PS2_LOGIPS2PP=y
 CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
 CONFIG_MOUSE_PS2_TRACKPOINT=y
 CONFIG_MOUSE_PS2_ELANTECH=y
 CONFIG_MOUSE_PS2_SENTELIC=y
@@ -2127,13 +1767,9 @@ CONFIG_MOUSE_SYNAPTICS_I2C=m
 # CONFIG_INPUT_TOUCHSCREEN is not set
 CONFIG_INPUT_MISC=y
 # CONFIG_INPUT_AD714X is not set
-CONFIG_INPUT_PCSPKR=m
+# CONFIG_INPUT_BMA150 is not set
 # CONFIG_INPUT_MMA8450 is not set
 # CONFIG_INPUT_MPU3050 is not set
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE=m
 CONFIG_INPUT_ATI_REMOTE2=m
 CONFIG_INPUT_KEYSPAN_REMOTE=m
 # CONFIG_INPUT_KXTJ9 is not set
@@ -2150,9 +1786,7 @@ CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
 # Hardware I/O ports
 #
 CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
 CONFIG_SERIO_SERPORT=m
-# CONFIG_SERIO_CT82C710 is not set
 # CONFIG_SERIO_PARKBD is not set
 # CONFIG_SERIO_PCIPS2 is not set
 CONFIG_SERIO_LIBPS2=y
@@ -2167,6 +1801,7 @@ CONFIG_SERIO_ALTERA_PS2=m
 CONFIG_VT=y
 CONFIG_CONSOLE_TRANSLATIONS=y
 CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
 CONFIG_HW_CONSOLE=y
 CONFIG_VT_HW_CONSOLE_BINDING=y
 CONFIG_UNIX98_PTYS=y
@@ -2178,7 +1813,6 @@ CONFIG_CYCLADES=m
 # CONFIG_CYZ_INTR is not set
 # CONFIG_MOXA_INTELLIO is not set
 # CONFIG_MOXA_SMARTIO is not set
-CONFIG_SYNCLINK=m
 CONFIG_SYNCLINKMP=m
 CONFIG_SYNCLINK_GT=m
 CONFIG_NOZOMI=m
@@ -2193,9 +1827,7 @@ CONFIG_N_GSM=m
 #
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
 CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
 CONFIG_SERIAL_8250_NR_UARTS=32
 CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 CONFIG_SERIAL_8250_EXTENDED=y
@@ -2220,7 +1852,7 @@ CONFIG_PRINTER=m
 CONFIG_LP_CONSOLE=y
 CONFIG_PPDEV=m
 CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
+CONFIG_VIRTIO_CONSOLE=y
 CONFIG_IPMI_HANDLER=m
 # CONFIG_IPMI_PANIC_EVENT is not set
 CONFIG_IPMI_DEVICE_INTERFACE=m
@@ -2229,25 +1861,13 @@ CONFIG_IPMI_WATCHDOG=m
 CONFIG_IPMI_POWEROFF=m
 CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
-CONFIG_HW_RANDOM_VIA=m
 CONFIG_HW_RANDOM_VIRTIO=m
 CONFIG_NVRAM=y
 CONFIG_R3964=m
 # CONFIG_APPLICOM is not set
-CONFIG_SONYPI=m
-CONFIG_MWAVE=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
 CONFIG_RAW_DRIVER=y
 CONFIG_MAX_RAW_DEVS=8192
-CONFIG_HPET=y
-# CONFIG_HPET_MMAP is not set
-CONFIG_HANGCHECK_TIMER=m
 # CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
 # CONFIG_RAMOOPS is not set
 CONFIG_I2C=m
 CONFIG_I2C_BOARDINFO=y
@@ -2266,19 +1886,12 @@ CONFIG_I2C_ALGOPCA=m
 #
 # PC SMBus host controller drivers
 #
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
 CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
 CONFIG_I2C_AMD8111=m
 CONFIG_I2C_I801=m
 CONFIG_I2C_ISCH=m
 CONFIG_I2C_PIIX4=m
 CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
 CONFIG_I2C_SIS96X=m
 CONFIG_I2C_VIA=m
 CONFIG_I2C_VIAPRO=m
@@ -2286,11 +1899,11 @@ CONFIG_I2C_VIAPRO=m
 #
 # ACPI drivers
 #
-CONFIG_I2C_SCMI=m
 
 #
 # I2C system bus drivers (mostly embedded / system-on-chip)
 #
+# CONFIG_I2C_DESIGNWARE_PCI is not set
 # CONFIG_I2C_GPIO is not set
 # CONFIG_I2C_INTEL_MID is not set
 # CONFIG_I2C_OCORES is not set
@@ -2313,7 +1926,6 @@ CONFIG_I2C_TINY_USB=m
 # Other I2C/SMBus bus drivers
 #
 CONFIG_I2C_STUB=m
-CONFIG_SCx200_ACB=m
 # CONFIG_I2C_DEBUG_CORE is not set
 # CONFIG_I2C_DEBUG_ALGO is not set
 # CONFIG_I2C_DEBUG_BUS is not set
@@ -2345,7 +1957,6 @@ CONFIG_GPIO_SYSFS=y
 #
 # CONFIG_GPIO_GENERIC_PLATFORM is not set
 # CONFIG_GPIO_IT8761E is not set
-CONFIG_GPIO_SCH=m
 # CONFIG_GPIO_VX855 is not set
 
 #
@@ -2360,9 +1971,6 @@ CONFIG_GPIO_SCH=m
 #
 # PCI GPIO expanders:
 #
-# CONFIG_GPIO_CS5535 is not set
-# CONFIG_GPIO_LANGWELL is not set
-# CONFIG_GPIO_PCH is not set
 # CONFIG_GPIO_ML_IOH is not set
 # CONFIG_GPIO_RDC321X is not set
 
@@ -2424,8 +2032,6 @@ CONFIG_HWMON_VID=m
 #
 # Native drivers
 #
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
 CONFIG_SENSORS_AD7414=m
 CONFIG_SENSORS_AD7418=m
 CONFIG_SENSORS_ADM1021=m
@@ -2439,10 +2045,6 @@ CONFIG_SENSORS_ADT7462=m
 CONFIG_SENSORS_ADT7470=m
 CONFIG_SENSORS_ADT7475=m
 CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
 CONFIG_SENSORS_ATXP1=m
 CONFIG_SENSORS_DS620=m
 CONFIG_SENSORS_DS1621=m
@@ -2450,12 +2052,10 @@ CONFIG_SENSORS_I5K_AMB=m
 CONFIG_SENSORS_F71805F=m
 CONFIG_SENSORS_F71882FG=m
 CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
 CONFIG_SENSORS_G760A=m
 CONFIG_SENSORS_GL518SM=m
 CONFIG_SENSORS_GL520SM=m
 # CONFIG_SENSORS_GPIO_FAN is not set
-CONFIG_SENSORS_CORETEMP=m
 CONFIG_SENSORS_IBMAEM=m
 CONFIG_SENSORS_IBMPEX=m
 CONFIG_SENSORS_IT87=m
@@ -2493,11 +2093,13 @@ CONFIG_PMBUS=m
 CONFIG_SENSORS_PMBUS=m
 CONFIG_SENSORS_ADM1275=m
 CONFIG_SENSORS_LM25066=m
+# CONFIG_SENSORS_LTC2978 is not set
 CONFIG_SENSORS_MAX16064=m
 CONFIG_SENSORS_MAX34440=m
 CONFIG_SENSORS_MAX8688=m
 CONFIG_SENSORS_UCD9000=m
 CONFIG_SENSORS_UCD9200=m
+# CONFIG_SENSORS_ZL6100 is not set
 CONFIG_SENSORS_SHT15=m
 CONFIG_SENSORS_SHT21=m
 CONFIG_SENSORS_SIS5595=m
@@ -2519,7 +2121,6 @@ CONFIG_SENSORS_THMC50=m
 CONFIG_SENSORS_TMP102=m
 CONFIG_SENSORS_TMP401=m
 CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
 CONFIG_SENSORS_VIA686A=m
 CONFIG_SENSORS_VT1211=m
 CONFIG_SENSORS_VT8231=m
@@ -2533,13 +2134,10 @@ CONFIG_SENSORS_W83L785TS=m
 CONFIG_SENSORS_W83L786NG=m
 CONFIG_SENSORS_W83627HF=m
 CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
 
 #
 # ACPI drivers
 #
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
 CONFIG_THERMAL=y
 CONFIG_THERMAL_HWMON=y
 CONFIG_WATCHDOG=y
@@ -2550,41 +2148,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
 # Watchdog Device Drivers
 #
 CONFIG_SOFT_WATCHDOG=m
-# CONFIG_ACQUIRE_WDT is not set
-# CONFIG_ADVANTECH_WDT is not set
-CONFIG_ALIM1535_WDT=m
 CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-# CONFIG_SC520_WDT is not set
-CONFIG_SBC_FITPC2_WATCHDOG=m
-# CONFIG_EUROTECH_WDT is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-# CONFIG_WAFER_WDT is not set
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-# CONFIG_ITCO_VENDOR_SUPPORT is not set
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-# CONFIG_SC1200_WDT is not set
-# CONFIG_PC87413_WDT is not set
-CONFIG_NV_TCO=m
-# CONFIG_60XX_WDT is not set
-# CONFIG_SBC8360_WDT is not set
-# CONFIG_SBC7240_WDT is not set
-# CONFIG_CPU5_WDT is not set
-CONFIG_SMSC_SCH311X_WDT=m
-# CONFIG_SMSC37B787_WDT is not set
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-# CONFIG_SBC_EPX_C3_WATCHDOG is not set
 
 #
 # PCI-based Watchdog Cards
@@ -2618,7 +2182,10 @@ CONFIG_BCMA_POSSIBLE=y
 # Broadcom specific AMBA
 #
 # CONFIG_BCMA is not set
-CONFIG_MFD_SUPPORT=y
+
+#
+# Multifunction device drivers
+#
 CONFIG_MFD_CORE=m
 CONFIG_MFD_SM501=m
 CONFIG_MFD_SM501_GPIO=y
@@ -2631,7 +2198,6 @@ CONFIG_MFD_SM501_GPIO=y
 CONFIG_MFD_WM8400=m
 # CONFIG_MFD_PCF50633 is not set
 # CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
 # CONFIG_MFD_TIMBERDALE is not set
 CONFIG_LPC_SCH=m
 # CONFIG_MFD_RDC321X is not set
@@ -2668,15 +2234,11 @@ CONFIG_IR_SONY_DECODER=m
 CONFIG_IR_RC5_SZ_DECODER=m
 CONFIG_IR_MCE_KBD_DECODER=m
 CONFIG_IR_LIRC_CODEC=m
-CONFIG_IR_ENE=m
+# CONFIG_RC_ATI_REMOTE is not set
 CONFIG_IR_IMON=m
 CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
 CONFIG_IR_REDRAT3=m
 CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
 CONFIG_RC_LOOPBACK=m
 CONFIG_MEDIA_ATTACH=y
 CONFIG_MEDIA_TUNER=m
@@ -2717,7 +2279,6 @@ CONFIG_VIDEO_TVEEPROM=m
 CONFIG_VIDEO_TUNER=m
 CONFIG_VIDEOBUF2_CORE=m
 CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
 CONFIG_VIDEOBUF2_VMALLOC=m
 CONFIG_VIDEO_CAPTURE_DRIVERS=y
 # CONFIG_VIDEO_ADV_DEBUG is not set
@@ -2812,7 +2373,6 @@ CONFIG_VIDEO_ZORAN_DC10=m
 CONFIG_VIDEO_ZORAN_LML33=m
 CONFIG_VIDEO_ZORAN_LML33R10=m
 CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
 CONFIG_VIDEO_SAA7134=m
 CONFIG_VIDEO_SAA7134_ALSA=m
 CONFIG_VIDEO_SAA7134_RC=y
@@ -2829,17 +2389,13 @@ CONFIG_VIDEO_CX88_MPEG=m
 CONFIG_VIDEO_CX88_VP3054=m
 CONFIG_VIDEO_CX23885=m
 # CONFIG_MEDIA_ALTERA_CI is not set
+# CONFIG_VIDEO_CX25821 is not set
 CONFIG_VIDEO_AU0828=m
 CONFIG_VIDEO_IVTV=m
 CONFIG_VIDEO_FB_IVTV=m
 CONFIG_VIDEO_CX18=m
 CONFIG_VIDEO_CX18_ALSA=m
 CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_SR030PC30=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_VIDEO_NOON010PC30=m
-# CONFIG_VIDEO_M5MOLS is not set
 CONFIG_SOC_CAMERA=m
 CONFIG_SOC_CAMERA_IMX074=m
 CONFIG_SOC_CAMERA_MT9M001=m
@@ -2899,6 +2455,7 @@ CONFIG_USB_GSPCA_STK014=m
 CONFIG_USB_GSPCA_STV0680=m
 CONFIG_USB_GSPCA_SUNPLUS=m
 CONFIG_USB_GSPCA_T613=m
+# CONFIG_USB_GSPCA_TOPRO is not set
 CONFIG_USB_GSPCA_TV8532=m
 CONFIG_USB_GSPCA_VC032X=m
 CONFIG_USB_GSPCA_VICAM=m
@@ -2918,6 +2475,7 @@ CONFIG_VIDEO_CX231XX=m
 CONFIG_VIDEO_CX231XX_RC=y
 CONFIG_VIDEO_CX231XX_ALSA=m
 CONFIG_VIDEO_CX231XX_DVB=m
+# CONFIG_VIDEO_TM6000 is not set
 CONFIG_VIDEO_USBVISION=m
 # CONFIG_USB_ET61X251 is not set
 # CONFIG_USB_SN9C102 is not set
@@ -2988,6 +2546,7 @@ CONFIG_DVB_USB_DTT200U=m
 CONFIG_DVB_USB_OPERA1=m
 CONFIG_DVB_USB_AF9005=m
 CONFIG_DVB_USB_AF9005_REMOTE=m
+# CONFIG_DVB_USB_PCTV452E is not set
 CONFIG_DVB_USB_DW2102=m
 CONFIG_DVB_USB_CINERGY_T2=m
 CONFIG_DVB_USB_ANYSEE=m
@@ -2999,6 +2558,8 @@ CONFIG_DVB_USB_EC168=m
 CONFIG_DVB_USB_AZ6027=m
 CONFIG_DVB_USB_LME2510=m
 CONFIG_DVB_USB_TECHNISAT_USB2=m
+# CONFIG_DVB_USB_IT913X is not set
+# CONFIG_DVB_USB_MXL111SF is not set
 CONFIG_DVB_TTUSB_BUDGET=m
 CONFIG_DVB_TTUSB_DEC=m
 CONFIG_SMS_SIANO_MDTV=m
@@ -3109,6 +2670,7 @@ CONFIG_DVB_CX24116=m
 CONFIG_DVB_SI21XX=m
 CONFIG_DVB_DS3000=m
 CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
 
 #
 # DVB-T (terrestrial) frontends
@@ -3174,14 +2736,17 @@ CONFIG_DVB_TUNER_DIB0090=m
 # SEC control devices for DVB-S
 #
 CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
 CONFIG_DVB_ISL6405=m
 CONFIG_DVB_ISL6421=m
 CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
 CONFIG_DVB_LGS8GL5=m
 CONFIG_DVB_LGS8GXX=m
 CONFIG_DVB_ATBM8830=m
 CONFIG_DVB_TDA665x=m
 CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
 
 #
 # Tools to develop new frontends
@@ -3191,50 +2756,24 @@ CONFIG_DVB_IX2505V=m
 #
 # Graphics support
 #
-CONFIG_AGP=y
-CONFIG_AGP_ALI=y
-CONFIG_AGP_ATI=y
-CONFIG_AGP_AMD=y
-CONFIG_AGP_AMD64=y
-CONFIG_AGP_INTEL=y
-CONFIG_AGP_NVIDIA=y
-CONFIG_AGP_SIS=y
-CONFIG_AGP_SWORKS=y
-CONFIG_AGP_VIA=y
-CONFIG_AGP_EFFICEON=y
 CONFIG_VGA_ARB=y
 CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
 CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
 CONFIG_DRM_TTM=m
 CONFIG_DRM_TDFX=m
 CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
 CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
 CONFIG_DRM_VIA=m
 CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
 CONFIG_STUB_POULSBO=m
 CONFIG_VGASTATE=m
 CONFIG_VIDEO_OUTPUT_CONTROL=m
 CONFIG_FB=y
 # CONFIG_FIRMWARE_EDID is not set
 CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
 # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
 # CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
 # CONFIG_FB_WMT_GE_ROPS is not set
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_SVGALIB=m
@@ -3249,15 +2788,9 @@ CONFIG_FB_TILEBLITTING=y
 CONFIG_FB_CIRRUS=m
 # CONFIG_FB_PM2 is not set
 # CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ARC is not set
 # CONFIG_FB_ASILIANT is not set
 # CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
 # CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-# CONFIG_FB_N411 is not set
-# CONFIG_FB_HGA is not set
 # CONFIG_FB_S1D13XXX is not set
 CONFIG_FB_NVIDIA=m
 CONFIG_FB_NVIDIA_I2C=y
@@ -3267,20 +2800,12 @@ CONFIG_FB_RIVA=m
 # CONFIG_FB_RIVA_I2C is not set
 # CONFIG_FB_RIVA_DEBUG is not set
 CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-# CONFIG_FB_LE80578 is not set
 CONFIG_FB_MATROX=m
 CONFIG_FB_MATROX_MILLENIUM=y
 CONFIG_FB_MATROX_MYSTIQUE=y
 CONFIG_FB_MATROX_G=y
 CONFIG_FB_MATROX_I2C=m
 CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
 CONFIG_FB_ATY128=m
 CONFIG_FB_ATY128_BACKLIGHT=y
 CONFIG_FB_ATY=m
@@ -3290,13 +2815,7 @@ CONFIG_FB_ATY_GX=y
 CONFIG_FB_ATY_BACKLIGHT=y
 CONFIG_FB_S3=m
 CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
 # CONFIG_FB_SIS is not set
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
 CONFIG_FB_NEOMAGIC=m
 CONFIG_FB_KYRO=m
 CONFIG_FB_3DFX=m
@@ -3308,12 +2827,9 @@ CONFIG_FB_TRIDENT=m
 # CONFIG_FB_ARK is not set
 # CONFIG_FB_PM3 is not set
 # CONFIG_FB_CARMINE is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=y
-CONFIG_FB_GEODE_GX=y
-# CONFIG_FB_GEODE_GX1 is not set
 # CONFIG_FB_TMIO is not set
 CONFIG_FB_SM501=m
+# CONFIG_FB_SMSCUFX is not set
 CONFIG_FB_UDL=m
 CONFIG_FB_VIRTUAL=m
 CONFIG_FB_METRONOME=m
@@ -3326,9 +2842,6 @@ CONFIG_LCD_CLASS_DEVICE=m
 CONFIG_LCD_PLATFORM=m
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 # CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_APPLE=m
-# CONFIG_BACKLIGHT_SAHARA is not set
 # CONFIG_BACKLIGHT_ADP8860 is not set
 # CONFIG_BACKLIGHT_ADP8870 is not set
 
@@ -3344,9 +2857,6 @@ CONFIG_DISPLAY_SUPPORT=m
 #
 # Console display driver support
 #
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
 CONFIG_DUMMY_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
@@ -3384,7 +2894,6 @@ CONFIG_SND_DEBUG=y
 # CONFIG_SND_DEBUG_VERBOSE is not set
 CONFIG_SND_PCM_XRUN_DEBUG=y
 CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
 CONFIG_SND_RAWMIDI_SEQ=m
 CONFIG_SND_OPL3_LIB_SEQ=m
 # CONFIG_SND_OPL4_LIB_SEQ is not set
@@ -3395,7 +2904,6 @@ CONFIG_SND_OPL3_LIB=m
 CONFIG_SND_VX_LIB=m
 CONFIG_SND_AC97_CODEC=m
 CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
 CONFIG_SND_DUMMY=m
 CONFIG_SND_ALOOP=m
 CONFIG_SND_VIRMIDI=m
@@ -3406,15 +2914,10 @@ CONFIG_SND_MPU401=m
 CONFIG_SND_PORTMAN2X4=m
 CONFIG_SND_AC97_POWER_SAVE=y
 CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB16_DSP=m
 CONFIG_SND_TEA575X=m
 CONFIG_SND_PCI=y
 CONFIG_SND_AD1889=m
 CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
 CONFIG_SND_ATIIXP=m
 CONFIG_SND_ATIIXP_MODEM=m
 CONFIG_SND_AU8810=m
@@ -3431,7 +2934,6 @@ CONFIG_SND_OXYGEN=m
 CONFIG_SND_CS4281=m
 CONFIG_SND_CS46XX=m
 CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
 CONFIG_SND_CS5535AUDIO=m
 CONFIG_SND_CTXFI=m
 CONFIG_SND_DARLA20=m
@@ -3498,7 +3000,6 @@ CONFIG_SND_RIPTIDE=m
 CONFIG_SND_RME32=m
 CONFIG_SND_RME96=m
 CONFIG_SND_RME9652=m
-CONFIG_SND_SIS7019=m
 CONFIG_SND_SONICVIBES=m
 CONFIG_SND_TRIDENT=m
 CONFIG_SND_VIA82XX=m
@@ -3509,16 +3010,13 @@ CONFIG_SND_YMFPCI=m
 CONFIG_SND_USB=y
 CONFIG_SND_USB_AUDIO=m
 CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
 CONFIG_SND_USB_CAIAQ=m
 CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
 CONFIG_SND_USB_6FIRE=m
 CONFIG_SND_FIREWIRE=y
 CONFIG_SND_FIREWIRE_LIB=m
 CONFIG_SND_FIREWIRE_SPEAKERS=m
 # CONFIG_SND_ISIGHT is not set
-# CONFIG_SND_SOC is not set
 # CONFIG_SOUND_PRIME is not set
 CONFIG_AC97_BUS=m
 CONFIG_HID_SUPPORT=y
@@ -3557,10 +3055,11 @@ CONFIG_HID_TWINHAN=m
 CONFIG_HID_KENSINGTON=y
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_LOGITECH=y
+CONFIG_HID_LOGITECH_DJ=m
 # CONFIG_LOGITECH_FF is not set
 # CONFIG_LOGIRUMBLEPAD2_FF is not set
 # CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWII_FF is not set
+# CONFIG_LOGIWHEELS_FF is not set
 # CONFIG_HID_MAGICMOUSE is not set
 CONFIG_HID_MICROSOFT=y
 CONFIG_HID_MONTEREY=y
@@ -3574,6 +3073,7 @@ CONFIG_HID_PICOLCD_FB=y
 CONFIG_HID_PICOLCD_BACKLIGHT=y
 CONFIG_HID_PICOLCD_LCD=y
 CONFIG_HID_PICOLCD_LEDS=y
+# CONFIG_HID_PRIMAX is not set
 # CONFIG_HID_QUANTA is not set
 CONFIG_HID_ROCCAT=m
 CONFIG_HID_ROCCAT_COMMON=m
@@ -3595,9 +3095,11 @@ CONFIG_HID_TOPSEED=m
 # CONFIG_HID_ZEROPLUS is not set
 CONFIG_HID_ZYDACRON=m
 CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
 CONFIG_USB_ARCH_HAS_HCD=y
 CONFIG_USB_ARCH_HAS_OHCI=y
 CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
 CONFIG_USB=y
 # CONFIG_USB_DEBUG is not set
 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
@@ -3610,6 +3112,7 @@ CONFIG_USB_DEVICEFS=y
 # CONFIG_USB_DYNAMIC_MINORS is not set
 CONFIG_USB_SUSPEND=y
 # CONFIG_USB_OTG is not set
+# CONFIG_USB_DWC3 is not set
 CONFIG_USB_MON=m
 CONFIG_USB_WUSB=m
 CONFIG_USB_WUSB_CBAF=m
@@ -3800,7 +3303,6 @@ CONFIG_MMC_SDHCI=m
 CONFIG_MMC_SDHCI_PCI=m
 CONFIG_MMC_RICOH_MMC=y
 CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
 CONFIG_MMC_TIFM_SD=m
 CONFIG_MMC_CB710=m
 CONFIG_MMC_VIA_SDMMC=m
@@ -3828,18 +3330,14 @@ CONFIG_LEDS_CLASS=y
 # LED drivers
 #
 CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_ALIX2=m
 # CONFIG_LEDS_PCA9532 is not set
 # CONFIG_LEDS_GPIO is not set
 CONFIG_LEDS_LP3944=m
 CONFIG_LEDS_LP5521=m
 CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
 # CONFIG_LEDS_PCA955X is not set
 # CONFIG_LEDS_BD2802 is not set
-CONFIG_LEDS_INTEL_SS4200=m
 CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
 CONFIG_LEDS_TRIGGERS=y
 
 #
@@ -3856,31 +3354,10 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
 #
 # CONFIG_ACCESSIBILITY is not set
 # CONFIG_INFINIBAND is not set
-CONFIG_EDAC=y
 
 #
 # Reporting subsystems
 #
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MCE_INJ=m
-CONFIG_EDAC_MM_EDAC=m
-CONFIG_EDAC_MCE=y
-CONFIG_EDAC_AMD76X=m
-CONFIG_EDAC_E7XXX=m
-CONFIG_EDAC_E752X=m
-CONFIG_EDAC_I82875P=m
-CONFIG_EDAC_I82975X=m
-CONFIG_EDAC_I3000=m
-CONFIG_EDAC_I3200=m
-CONFIG_EDAC_X38=m
-CONFIG_EDAC_I5400=m
-CONFIG_EDAC_I7CORE=m
-CONFIG_EDAC_I82860=m
-CONFIG_EDAC_R82600=m
-CONFIG_EDAC_I5000=m
-CONFIG_EDAC_I5100=m
-CONFIG_EDAC_I7300=m
 CONFIG_RTC_LIB=y
 CONFIG_RTC_CLASS=y
 CONFIG_RTC_HCTOSYS=y
@@ -3950,10 +3427,7 @@ CONFIG_DMADEVICES=y
 #
 # DMA Devices
 #
-# CONFIG_INTEL_MID_DMAC is not set
-CONFIG_INTEL_IOATDMA=m
 CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
 CONFIG_DMA_ENGINE=y
 
 #
@@ -3962,7 +3436,6 @@ CONFIG_DMA_ENGINE=y
 CONFIG_NET_DMA=y
 CONFIG_ASYNC_TX_DMA=y
 # CONFIG_DMATEST is not set
-CONFIG_DCA=m
 # CONFIG_AUXDISPLAY is not set
 CONFIG_UIO=m
 # CONFIG_UIO_CIF is not set
@@ -3972,30 +3445,25 @@ CONFIG_UIO_AEC=m
 CONFIG_UIO_SERCOS3=m
 CONFIG_UIO_PCI_GENERIC=m
 # CONFIG_UIO_NETX is not set
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_RING=y
 
 #
 # Virtio drivers
 #
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
 CONFIG_VIRTIO_BALLOON=m
+# CONFIG_VIRTIO_MMIO is not set
+
+#
+# Xen driver support
+#
 CONFIG_STAGING=y
 CONFIG_ET131X=m
-# CONFIG_ET131X_DEBUG is not set
-# CONFIG_SLICOSS is not set
-# CONFIG_VIDEO_GO7007 is not set
-# CONFIG_VIDEO_CX25821 is not set
-# CONFIG_VIDEO_TM6000 is not set
-# CONFIG_DVB_CXD2099 is not set
 # CONFIG_USBIP_CORE is not set
 # CONFIG_W35UND is not set
 # CONFIG_PRISM2_USB is not set
 # CONFIG_ECHO is not set
-# CONFIG_BRCMUTIL is not set
-# CONFIG_BRCMSMAC is not set
-# CONFIG_BRCMFMAC is not set
-# CONFIG_COMEDI is not set
 # CONFIG_ASUS_OLED is not set
 # CONFIG_PANEL is not set
 # CONFIG_R8187SE is not set
@@ -4003,30 +3471,19 @@ CONFIG_ET131X=m
 # CONFIG_RTL8192E is not set
 # CONFIG_R8712U is not set
 # CONFIG_RTS_PSTOR is not set
+# CONFIG_RTS5139 is not set
 # CONFIG_TRANZPORT is not set
 # CONFIG_POHMELFS is not set
 # CONFIG_IDE_PHISON is not set
 # CONFIG_LINE6_USB is not set
-CONFIG_DRM_VMWGFX=m
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
 
 #
 # I2C encoder or helper chips
 #
-# CONFIG_DRM_I2C_CH7006 is not set
-# CONFIG_DRM_I2C_SIL164 is not set
 # CONFIG_USB_SERIAL_QUATECH2 is not set
 # CONFIG_USB_SERIAL_QUATECH_USB2 is not set
 # CONFIG_VT6655 is not set
 # CONFIG_VT6656 is not set
-CONFIG_HYPERV=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_BLOCK=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_HYPERV_MOUSE=m
 # CONFIG_VME_BUS is not set
 # CONFIG_DX_SEP is not set
 # CONFIG_IIO is not set
@@ -4034,14 +3491,8 @@ CONFIG_HYPERV_MOUSE=m
 # CONFIG_ZRAM is not set
 # CONFIG_ZCACHE is not set
 # CONFIG_FB_SM7XX is not set
-# CONFIG_VIDEO_DT3155 is not set
 # CONFIG_CRYSTALHD is not set
 # CONFIG_FB_XGI is not set
-# CONFIG_LIRC_STAGING is not set
-# CONFIG_EASYCAP is not set
-# CONFIG_SOLO6X10 is not set
-# CONFIG_ACPI_QUICKSTART is not set
-# CONFIG_ATH6K_LEGACY is not set
 # CONFIG_USB_ENESTORAGE is not set
 # CONFIG_BCM_WIMAX is not set
 # CONFIG_FT1000 is not set
@@ -4052,79 +3503,18 @@ CONFIG_HYPERV_MOUSE=m
 # CONFIG_SPEAKUP is not set
 # CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
 # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
-# CONFIG_DRM_PSB is not set
-# CONFIG_ALTERA_STAPL is not set
-# CONFIG_INTEL_MEI is not set
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-# CONFIG_ACPI_ASUS is not set
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-# CONFIG_IBM_RTL is not set
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-CONFIG_CLKSRC_I8253=y
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
+# CONFIG_STAGING_MEDIA is not set
+
+#
+# Hardware Spinlock drivers
+#
 CONFIG_IOMMU_SUPPORT=y
-CONFIG_DMAR=y
-CONFIG_DMAR_DEFAULT_ON=y
-CONFIG_DMAR_FLOPPY_WA=y
 CONFIG_VIRT_DRIVERS=y
+# CONFIG_PM_DEVFREQ is not set
 
 #
 # Firmware Drivers
 #
-CONFIG_EDD=m
-# CONFIG_EDD_OFF is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=y
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-# CONFIG_ISCSI_IBFT_FIND is not set
-# CONFIG_SIGMA is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
 
 #
 # File systems
@@ -4218,8 +3608,6 @@ CONFIG_SYSFS=y
 CONFIG_TMPFS=y
 CONFIG_TMPFS_POSIX_ACL=y
 CONFIG_TMPFS_XATTR=y
-CONFIG_HUGETLBFS=y
-CONFIG_HUGETLB_PAGE=y
 CONFIG_CONFIGFS_FS=m
 CONFIG_MISC_FILESYSTEMS=y
 # CONFIG_ADFS_FS is not set
@@ -4243,6 +3631,7 @@ CONFIG_PSTORE=y
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
 # CONFIG_EXOFS_FS is not set
+CONFIG_ORE=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
 CONFIG_NFS_V3=y
@@ -4368,7 +3757,6 @@ CONFIG_HEADERS_CHECK=y
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_SHIRQ=y
 CONFIG_LOCKUP_DETECTOR=y
-CONFIG_HARDLOCKUP_DETECTOR=y
 # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
 CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
 # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
@@ -4394,11 +3782,9 @@ CONFIG_TIMER_STATS=y
 CONFIG_STACKTRACE=y
 # CONFIG_DEBUG_STACK_USAGE is not set
 # CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
 CONFIG_DEBUG_BUGVERBOSE=y
 # CONFIG_DEBUG_INFO is not set
 # CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
 # CONFIG_DEBUG_WRITECOUNT is not set
 CONFIG_DEBUG_MEMORY_INIT=y
 CONFIG_DEBUG_LIST=y
@@ -4406,34 +3792,24 @@ CONFIG_DEBUG_LIST=y
 # CONFIG_DEBUG_SG is not set
 # CONFIG_DEBUG_NOTIFIERS is not set
 # CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
 CONFIG_FRAME_POINTER=y
 CONFIG_BOOT_PRINTK_DELAY=y
 # CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # CONFIG_BACKTRACE_SELF_TEST is not set
 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
 # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
 # CONFIG_LKDTM is not set
-# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
 # CONFIG_FAULT_INJECTION is not set
 CONFIG_SYSCTL_SYSCALL_CHECK=y
 # CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
 CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
 CONFIG_HAVE_FUNCTION_TRACER=y
 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_TRACER_MAX_TRACE=y
 CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
 CONFIG_EVENT_TRACING=y
 CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
 CONFIG_CONTEXT_SWITCH_TRACER=y
@@ -4444,7 +3820,6 @@ CONFIG_FTRACE=y
 CONFIG_FUNCTION_TRACER=y
 # CONFIG_IRQSOFF_TRACER is not set
 CONFIG_SCHED_TRACER=y
-CONFIG_FTRACE_SYSCALLS=y
 CONFIG_BRANCH_PROFILE_NONE=y
 # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
 # CONFIG_PROFILE_ALL_BRANCHES is not set
@@ -4454,9 +3829,7 @@ CONFIG_DYNAMIC_FTRACE=y
 CONFIG_FUNCTION_PROFILER=y
 CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
 CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
 # CONFIG_BUILD_DOCSRC is not set
 CONFIG_DYNAMIC_DEBUG=y
@@ -4466,31 +3839,8 @@ CONFIG_ASYNC_RAID6_TEST=m
 # CONFIG_SAMPLES is not set
 CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
 # CONFIG_TEST_KSTRTOX is not set
 CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-CONFIG_DEBUG_STACKOVERFLOW=y
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_NX_TEST=m
-CONFIG_DOUBLEFAULT=y
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-CONFIG_DEBUG_BOOT_PARAMS=y
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
 
 #
 # Security options
@@ -4502,15 +3852,13 @@ CONFIG_OPTIMIZE_INLINING=y
 CONFIG_GRKERNSEC=y
 # CONFIG_GRKERNSEC_LOW is not set
 # CONFIG_GRKERNSEC_MEDIUM is not set
-CONFIG_GRKERNSEC_HIGH=y
-# CONFIG_GRKERNSEC_CUSTOM is not set
+# CONFIG_GRKERNSEC_HIGH is not set
+CONFIG_GRKERNSEC_CUSTOM=y
 
 #
-# Address Space Protection
+# Memory Protections
 #
 CONFIG_GRKERNSEC_KMEM=y
-CONFIG_GRKERNSEC_VM86=y
-# CONFIG_GRKERNSEC_IO is not set
 CONFIG_GRKERNSEC_PROC_MEMMAP=y
 CONFIG_GRKERNSEC_BRUTE=y
 CONFIG_GRKERNSEC_MODHARDEN=y
@@ -4550,7 +3898,7 @@ CONFIG_GRKERNSEC_CHROOT_UNIX=y
 CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
 CONFIG_GRKERNSEC_CHROOT_NICE=y
 CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
-CONFIG_GRKERNSEC_CHROOT_CAPS=y
+# CONFIG_GRKERNSEC_CHROOT_CAPS is not set
 
 #
 # Kernel Auditing
@@ -4566,14 +3914,14 @@ CONFIG_GRKERNSEC_SIGNAL=y
 CONFIG_GRKERNSEC_FORKFAIL=y
 CONFIG_GRKERNSEC_TIME=y
 CONFIG_GRKERNSEC_PROC_IPADDR=y
-CONFIG_GRKERNSEC_RWXMAP_LOG=y
-CONFIG_GRKERNSEC_AUDIT_TEXTREL=y
 
 #
 # Executable Protections
 #
 CONFIG_GRKERNSEC_DMESG=y
 CONFIG_GRKERNSEC_HARDEN_PTRACE=y
+CONFIG_GRKERNSEC_PTRACE_READEXEC=y
+CONFIG_GRKERNSEC_SETXID=y
 # CONFIG_GRKERNSEC_TPE is not set
 
 #
@@ -4586,8 +3934,7 @@ CONFIG_GRKERNSEC_BLACKHOLE=y
 #
 # Sysctl support
 #
-CONFIG_GRKERNSEC_SYSCTL=y
-CONFIG_GRKERNSEC_SYSCTL_ON=y
+# CONFIG_GRKERNSEC_SYSCTL is not set
 
 #
 # Logging Options
@@ -4598,7 +3945,6 @@ CONFIG_GRKERNSEC_FLOODBURST=6
 #
 # PaX
 #
-CONFIG_ARCH_TRACK_EXEC_LIMIT=y
 CONFIG_PAX=y
 
 #
@@ -4607,6 +3953,7 @@ CONFIG_PAX=y
 # CONFIG_PAX_SOFTMODE is not set
 CONFIG_PAX_EI_PAX=y
 CONFIG_PAX_PT_PAX_FLAGS=y
+# CONFIG_PAX_XATTR_PAX_FLAGS is not set
 # CONFIG_PAX_NO_ACL_FLAGS is not set
 CONFIG_PAX_HAVE_ACL_FLAGS=y
 # CONFIG_PAX_HOOK_ACL_FLAGS is not set
@@ -4614,33 +3961,22 @@ CONFIG_PAX_HAVE_ACL_FLAGS=y
 #
 # Non-executable pages
 #
-CONFIG_PAX_NOEXEC=y
-CONFIG_PAX_PAGEEXEC=y
-CONFIG_PAX_SEGMEXEC=y
-CONFIG_PAX_EMUTRAMP=y
-CONFIG_PAX_MPROTECT=y
-# CONFIG_PAX_MPROTECT_COMPAT is not set
-CONFIG_PAX_ELFRELOCS=y
-CONFIG_PAX_KERNEXEC=y
-CONFIG_PAX_KERNEXEC_MODULE_TEXT=4
+CONFIG_PAX_KERNEXEC_PLUGIN_METHOD=""
 
 #
 # Address Space Layout Randomization
 #
 CONFIG_PAX_ASLR=y
-CONFIG_PAX_RANDKSTACK=y
 CONFIG_PAX_RANDUSTACK=y
 CONFIG_PAX_RANDMMAP=y
 
 #
 # Miscellaneous hardening features
 #
-CONFIG_PAX_MEMORY_SANITIZE=y
-CONFIG_PAX_MEMORY_STACKLEAK=y
-CONFIG_PAX_MEMORY_UDEREF=y
-CONFIG_PAX_REFCOUNT=y
 CONFIG_PAX_USERCOPY=y
+# CONFIG_PAX_SIZE_OVERFLOW is not set
 CONFIG_KEYS=y
+# CONFIG_ENCRYPTED_KEYS is not set
 CONFIG_KEYS_DEBUG_PROC_KEYS=y
 CONFIG_SECURITY_DMESG_RESTRICT=y
 CONFIG_SECURITY=y
@@ -4648,8 +3984,6 @@ CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
 CONFIG_SECURITY_NETWORK_XFRM=y
 # CONFIG_SECURITY_PATH is not set
-CONFIG_INTEL_TXT=y
-CONFIG_LSM_MMAP_MIN_ADDR=65536
 CONFIG_SECURITY_SELINUX=y
 CONFIG_SECURITY_SELINUX_BOOTPARAM=y
 CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
@@ -4661,6 +3995,7 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
 # CONFIG_SECURITY_TOMOYO is not set
 # CONFIG_SECURITY_APPARMOR is not set
 # CONFIG_IMA is not set
+# CONFIG_EVM is not set
 CONFIG_DEFAULT_SECURITY_SELINUX=y
 # CONFIG_DEFAULT_SECURITY_DAC is not set
 CONFIG_DEFAULT_SECURITY="selinux"
@@ -4670,8 +4005,6 @@ CONFIG_ASYNC_MEMCPY=m
 CONFIG_ASYNC_XOR=m
 CONFIG_ASYNC_PQ=m
 CONFIG_ASYNC_RAID6_RECOV=m
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
 CONFIG_CRYPTO=y
 
 #
@@ -4692,10 +4025,10 @@ CONFIG_CRYPTO_PCOMP=m
 CONFIG_CRYPTO_PCOMP2=y
 CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_USER is not set
 # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
 CONFIG_CRYPTO_GF128MUL=m
 # CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_PCRYPT=m
 CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_CRYPTO_CRYPTD=y
 CONFIG_CRYPTO_AUTHENC=m
@@ -4730,7 +4063,6 @@ CONFIG_CRYPTO_VMAC=m
 # Digest
 #
 CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=y
 CONFIG_CRYPTO_GHASH=m
 CONFIG_CRYPTO_MD4=m
 CONFIG_CRYPTO_MD5=y
@@ -4749,11 +4081,10 @@ CONFIG_CRYPTO_WP512=m
 # Ciphers
 #
 CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_586=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
 CONFIG_CRYPTO_ANUBIS=m
 CONFIG_CRYPTO_ARC4=m
 CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
 CONFIG_CRYPTO_CAMELLIA=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_CAST6=m
@@ -4761,13 +4092,11 @@ CONFIG_CRYPTO_DES=m
 CONFIG_CRYPTO_FCRYPT=m
 CONFIG_CRYPTO_KHAZAD=m
 CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_586=m
 CONFIG_CRYPTO_SEED=m
 CONFIG_CRYPTO_SERPENT=m
 CONFIG_CRYPTO_TEA=m
 CONFIG_CRYPTO_TWOFISH=m
 CONFIG_CRYPTO_TWOFISH_COMMON=m
-CONFIG_CRYPTO_TWOFISH_586=m
 
 #
 # Compression
@@ -4784,25 +4113,6 @@ CONFIG_CRYPTO_USER_API=y
 CONFIG_CRYPTO_USER_API_HASH=y
 CONFIG_CRYPTO_USER_API_SKCIPHER=y
 CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-CONFIG_CRYPTO_DEV_HIFN_795X=m
-CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-# CONFIG_LGUEST is not set
 CONFIG_BINARY_PRINTF=y
 
 #
@@ -4810,7 +4120,6 @@ CONFIG_BINARY_PRINTF=y
 #
 CONFIG_RAID6_PQ=m
 CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_CRC_CCITT=m
 CONFIG_CRC16=y
 CONFIG_CRC_T10DIF=m
@@ -4819,7 +4128,6 @@ CONFIG_CRC32=y
 CONFIG_CRC7=m
 CONFIG_LIBCRC32C=m
 CONFIG_CRC8=m
-CONFIG_AUDIT_GENERIC=y
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
 CONFIG_LZO_COMPRESS=y
@@ -4838,7 +4146,6 @@ CONFIG_DECOMPRESS_BZIP2=y
 CONFIG_DECOMPRESS_LZMA=y
 CONFIG_DECOMPRESS_XZ=y
 CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
 CONFIG_TEXTSEARCH=y
 CONFIG_TEXTSEARCH_KMP=m
 CONFIG_TEXTSEARCH_BM=m
@@ -4847,8 +4154,6 @@ CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT=y
 CONFIG_HAS_DMA=y
 CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
 CONFIG_NLATTR=y
 CONFIG_AVERAGE=y
 CONFIG_CORDIC=m
-CONFIG_LLIST=y
diff --git a/kernel/config-i686-default b/kernel/config-i686-default
new file mode 100644 (file)
index 0000000..5a4ba8f
--- /dev/null
@@ -0,0 +1,298 @@
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+# CONFIG_ZONE_DMA32 is not set
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_X86_32_SMP=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_KTIME_SCALAR=y
+
+#
+# RCU Subsystem
+#
+CONFIG_RCU_FANOUT=32
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_LBDAF=y
+
+#
+# Processor type and features
+#
+CONFIG_X86_BIGSMP=y
+# CONFIG_X86_WANT_INTEL_MID is not set
+# CONFIG_X86_RDC321X is not set
+CONFIG_X86_32_NON_STANDARD=y
+# CONFIG_X86_NUMAQ is not set
+# CONFIG_X86_SUMMIT is not set
+# CONFIG_X86_ES7000 is not set
+CONFIG_X86_32_IRIS=m
+# CONFIG_LGUEST_GUEST is not set
+CONFIG_X86_CYCLONE_TIMER=y
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_ALIGNMENT_16=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+CONFIG_NR_CPUS=32
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+# CONFIG_X86_REBOOTFIXUPS is not set
+# CONFIG_NOHIGHMEM is not set
+# CONFIG_HIGHMEM4G is not set
+CONFIG_HIGHMEM64G=y
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_X86_PAE=y
+# CONFIG_NUMA is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HIGHPTE=y
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_PHYSICAL_START=0x400000
+CONFIG_X86_NEED_RELOCS=y
+CONFIG_PHYSICAL_ALIGN=0x400000
+
+#
+# Power management and ACPI options
+#
+CONFIG_ACPI_BLACKLIST_YEAR=1999
+CONFIG_X86_APM_BOOT=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+# CONFIG_APM_DO_ENABLE is not set
+CONFIG_APM_CPU_IDLE=y
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+
+#
+# x86 CPU frequency scaling drivers
+#
+# CONFIG_X86_POWERNOW_K6 is not set
+CONFIG_X86_POWERNOW_K7=y
+CONFIG_X86_POWERNOW_K7_ACPI=y
+# CONFIG_X86_GX_SUSPMOD is not set
+CONFIG_X86_SPEEDSTEP_ICH=y
+CONFIG_X86_SPEEDSTEP_SMI=y
+# CONFIG_X86_CPUFREQ_NFORCE2 is not set
+CONFIG_X86_LONGRUN=y
+# CONFIG_X86_LONGHAUL is not set
+# CONFIG_X86_E_POWERSAVER is not set
+
+#
+# shared options
+#
+# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
+
+#
+# Bus options (PCI etc.)
+#
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+# CONFIG_ISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+# CONFIG_ALIX is not set
+
+#
+# PC-card bridges
+#
+# CONFIG_HOTPLUG_PCI_COMPAQ is not set
+# CONFIG_HOTPLUG_PCI_IBM is not set
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+
+#
+# Protocols
+#
+CONFIG_IBM_ASM=m
+# CONFIG_SGI_IOC4 is not set
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_FLASHPOINT is not set
+# CONFIG_SCSI_NSP32 is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_CS5535 is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_WISTRON_BTNS is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_SONYPI=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_SCx200_ACB=m
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_LANGWELL is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_GEODE_WDT=m
+# CONFIG_SBC7240_WDT is not set
+
+#
+# Customize TV tuners
+#
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_CAFE_CCIC=m
+
+#
+# Graphics support
+#
+# CONFIG_AGP_ALI is not set
+# CONFIG_AGP_ATI is not set
+# CONFIG_AGP_AMD is not set
+# CONFIG_AGP_NVIDIA is not set
+# CONFIG_AGP_SWORKS is not set
+# CONFIG_AGP_EFFICEON is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_I810 is not set
+
+#
+# Console display driver support
+#
+# CONFIG_SND_SIS7019 is not set
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_AMD76X is not set
+# CONFIG_EDAC_E7XXX is not set
+# CONFIG_EDAC_I82875P is not set
+# CONFIG_EDAC_I82860 is not set
+# CONFIG_EDAC_R82600 is not set
+
+#
+# Speakup console speech
+#
+CONFIG_TC1100_WMI=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_I8253=y
+
+#
+# Kernel hacking
+#
+# CONFIG_DEBUG_HIGHMEM is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+CONFIG_DOUBLEFAULT=y
+
+#
+# Memory Protections
+#
+CONFIG_GRKERNSEC_VM86=y
+
+#
+# PaX
+#
+CONFIG_ARCH_TRACK_EXEC_LIMIT=y
+
+#
+# Non-executable pages
+#
+CONFIG_PAX_SEGMEXEC=y
+
+#
+# Miscellaneous hardening features
+#
+# CONFIG_INTEL_TXT is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES_586=y
+# CONFIG_CRYPTO_SALSA20_586 is not set
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_DEV_GEODE=m
+# CONFIG_LGUEST is not set
+
+#
+# Library routines
+#
+CONFIG_AUDIT_GENERIC=y
diff --git a/kernel/config-i686-legacy b/kernel/config-i686-legacy
new file mode 100644 (file)
index 0000000..6f03829
--- /dev/null
@@ -0,0 +1,118 @@
+
+#
+# Processor type and features
+#
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+
+#
+# Bus options (PCI etc.)
+#
+# CONFIG_PCI_GOOLPC is not set
+CONFIG_PCI_OLPC=y
+CONFIG_OLPC=y
+CONFIG_OLPC_XO1_PM=y
+CONFIG_OLPC_XO1_RTC=y
+CONFIG_OLPC_XO1_SCI=y
+CONFIG_OLPC_XO15_SCI=y
+
+#
+# Generic Driver Options
+#
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+CONFIG_PROC_DEVICETREE=y
+CONFIG_OF_PROMTREE=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_GPIO=y
+CONFIG_OF_I2C=m
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=y
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+
+#
+# Input Device Drivers
+#
+CONFIG_MOUSE_PS2_OLPC=y
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250_DW is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_OF_PLATFORM=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_PXA=m
+CONFIG_I2C_PXA_PCI=y
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=y
+
+#
+# 1-wire Slaves
+#
+CONFIG_BATTERY_OLPC=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+
+#
+# Graphics support
+#
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FOPS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_NET5501 is not set
+
+#
+# Virtio drivers
+#
+# CONFIG_FB_OLPC_DCON is not set
+
+#
+# Speakup console speech
+#
+CONFIG_XO1_RFKILL=m
+
+#
+# Non-executable pages
+#
+CONFIG_PAX_KERNEXEC=y
+CONFIG_PAX_KERNEXEC_MODULE_TEXT=4
+
+#
+# Miscellaneous hardening features
+#
+CONFIG_PAX_MEMORY_UDEREF=y
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
diff --git a/kernel/config-x86-generic b/kernel/config-x86-generic
new file mode 100644 (file)
index 0000000..b9a309b
--- /dev/null
@@ -0,0 +1,843 @@
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+
+#
+# General setup
+#
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_XZ=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_IRQ_FORCED_THREADING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_RCU_FANOUT_EXACT is not set
+CONFIG_RCU_FAST_NO_HZ=y
+CONFIG_PCSPKR_PLATFORM=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_JUMP_LABEL=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_STOP_MACHINE=y
+
+#
+# IO Schedulers
+#
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+
+#
+# Processor type and features
+#
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_SMP=y
+CONFIG_X86_MPPARSE=y
+CONFIG_X86_EXTENDED_PLATFORM=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN_PRIVILEGED_GUEST=y
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=128
+CONFIG_XEN_SAVE_RESTORE=y
+CONFIG_XEN_DEBUG_FS=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_CMPXCHG=y
+CONFIG_CMPXCHG_LOCAL=y
+CONFIG_CMPXCHG_DOUBLE=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=y
+CONFIG_X86_CPUID=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_MMU_NOTIFIER=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+# CONFIG_HWPOISON_INJECT is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_EFI=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_RELOCATABLE=y
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+# CONFIG_ACPI_PROCFS_POWER is not set
+CONFIG_ACPI_EC_DEBUGFS=m
+# CONFIG_ACPI_PROC_EVENT is not set
+CONFIG_ACPI_AC=y
+CONFIG_ACPI_BATTERY=y
+CONFIG_ACPI_BUTTON=y
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=y
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+CONFIG_ACPI_CUSTOM_METHOD=m
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+# CONFIG_ACPI_APEI_EINJ is not set
+# CONFIG_ACPI_APEI_ERST_DEBUG is not set
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_PCC_CPUFREQ=y
+CONFIG_X86_ACPI_CPUFREQ=y
+CONFIG_X86_POWERNOW_K8=y
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_P4_CLOCKMOD=y
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_XEN=y
+CONFIG_PCI_DOMAINS=y
+# CONFIG_PCI_CNB20LE_QUIRK is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+CONFIG_PCIE_ECRC=y
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_AMD_NB=y
+
+#
+# PC-card bridges
+#
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Classification
+#
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+
+#
+# Generic Driver Options
+#
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV_FD=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_XEN_BLKDEV_BACKEND=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_VMWARE_BALLOON=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_EATA=m
+CONFIG_SCSI_EATA_TAGGED_QUEUE=y
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_ATA_ACPI=y
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=m
+# CONFIG_MULTICORE_RAID456 is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_MACINTOSH_DRIVERS=y
+# CONFIG_MAC_EMUMOUSEBTN is not set
+CONFIG_SUNGEM_PHY=m
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+
+#
+# CAIF transport drivers
+#
+CONFIG_IGB_DCA=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+# CONFIG_ZNET is not set
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_MYRI10GE_DCA=y
+CONFIG_ATP=m
+CONFIG_SUNGEM=m
+# CONFIG_NET_SB1000 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_AIRO=m
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_XEN_NETDEV_BACKEND=m
+
+#
+# Input Device Drivers
+#
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO_I8042=y
+# CONFIG_SERIO_CT82C710 is not set
+
+#
+# Character devices
+#
+CONFIG_SYNCLINK=m
+
+#
+# Serial drivers
+#
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PNP=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_MWAVE=m
+CONFIG_HPET=y
+# CONFIG_HPET_MMAP is not set
+CONFIG_HANGCHECK_TIMER=m
+# CONFIG_TELCLOCK is not set
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_NFORCE2_S4985=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_SCH=m
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_CS5535 is not set
+# CONFIG_GPIO_PCH is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_APPLESMC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_ACQUIRE_WDT is not set
+# CONFIG_ADVANTECH_WDT is not set
+CONFIG_ALIM1535_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+# CONFIG_SC520_WDT is not set
+CONFIG_SBC_FITPC2_WATCHDOG=m
+# CONFIG_EUROTECH_WDT is not set
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+# CONFIG_WAFER_WDT is not set
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+# CONFIG_ITCO_VENDOR_SUPPORT is not set
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+# CONFIG_SC1200_WDT is not set
+# CONFIG_PC87413_WDT is not set
+CONFIG_NV_TCO=m
+# CONFIG_60XX_WDT is not set
+# CONFIG_SBC8360_WDT is not set
+# CONFIG_CPU5_WDT is not set
+CONFIG_SMSC_SCH311X_WDT=m
+# CONFIG_SMSC37B787_WDT is not set
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+# CONFIG_SBC_EPX_C3_WATCHDOG is not set
+CONFIG_XEN_WDT=m
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CS5535=m
+
+#
+# Multimedia drivers
+#
+CONFIG_IR_ENE=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_WINBOND_CIR=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_VIA_CAMERA=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=y
+CONFIG_AGP_SIS=y
+CONFIG_AGP_VIA=y
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_SIS=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+CONFIG_FB_SYS_FOPS=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_ARC is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_LE80578 is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_VIA=m
+# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=y
+CONFIG_FB_GEODE_GX=y
+# CONFIG_FB_GEODE_GX1 is not set
+CONFIG_XEN_FBDEV_FRONTEND=y
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_APPLE=m
+# CONFIG_BACKLIGHT_SAHARA is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_PCSP=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_CS5530=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_US122L=m
+# CONFIG_SND_SOC is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_WBSD=m
+
+#
+# LED drivers
+#
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MCE_INJ=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I7CORE=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_EDAC_I7300=m
+
+#
+# DMA Devices
+#
+# CONFIG_INTEL_MID_DMAC is not set
+CONFIG_INTEL_IOATDMA=m
+CONFIG_PCH_DMA=m
+
+#
+# DMA Clients
+#
+CONFIG_DCA=m
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SELFBALLOONING=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XEN_GNTDEV=m
+CONFIG_XEN_GRANT_DEV_ALLOC=m
+CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_TMEM=y
+CONFIG_XEN_PCIDEV_BACKEND=m
+# CONFIG_SLICOSS is not set
+# CONFIG_COMEDI is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_ACPI_QUICKSTART is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_DRM_PSB is not set
+# CONFIG_INTEL_MEI is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+# CONFIG_INTEL_MENLOW is not set
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+# CONFIG_ACPI_ASUS is not set
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+# CONFIG_IBM_RTL is not set
+# CONFIG_XO15_EBOOK is not set
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+CONFIG_IOMMU_API=y
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+# CONFIG_HYPERV is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=y
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_SIGMA is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+
+#
+# Kernel hacking
+#
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_DEBUG_VIRTUAL is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_FTRACE_NMI_ENTER=y
+CONFIG_FTRACE_SYSCALLS=y
+# CONFIG_MMIOTRACE is not set
+# CONFIG_X86_VERBOSE_BOOTUP is not set
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_NX_TEST=m
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+CONFIG_DEBUG_BOOT_PARAMS=y
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Memory Protections
+#
+# CONFIG_GRKERNSEC_IO is not set
+
+#
+# Kernel Auditing
+#
+CONFIG_GRKERNSEC_RWXMAP_LOG=y
+CONFIG_GRKERNSEC_AUDIT_TEXTREL=y
+
+#
+# Non-executable pages
+#
+CONFIG_PAX_NOEXEC=y
+CONFIG_PAX_PAGEEXEC=y
+CONFIG_PAX_EMUTRAMP=y
+CONFIG_PAX_MPROTECT=y
+# CONFIG_PAX_MPROTECT_COMPAT is not set
+CONFIG_PAX_ELFRELOCS=y
+
+#
+# Address Space Layout Randomization
+#
+CONFIG_PAX_RANDKSTACK=y
+
+#
+# Miscellaneous hardening features
+#
+CONFIG_PAX_MEMORY_STACKLEAK=y
+CONFIG_PAX_REFCOUNT=y
+CONFIG_LSM_MMAP_MIN_ADDR=65536
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_PCRYPT=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C_INTEL=y
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES_NI_INTEL=y
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_VHOST_NET=m
+
+#
+# Library routines
+#
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_CPU_RMAP=y
diff --git a/kernel/config-x86_64-default b/kernel/config-x86_64-default
new file mode 100644 (file)
index 0000000..c6b9a49
--- /dev/null
@@ -0,0 +1,171 @@
+CONFIG_64BIT=y
+# CONFIG_X86_32 is not set
+CONFIG_X86_64=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_ZONE_DMA32=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_X86_64_SMP=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
+# CONFIG_KTIME_SCALAR is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_RCU_FANOUT=64
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_BLOCK_COMPAT=y
+
+#
+# Processor type and features
+#
+CONFIG_X86_X2APIC=y
+# CONFIG_X86_VSMP is not set
+# CONFIG_X86_UV is not set
+# CONFIG_MPSC is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=7
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_GART_IOMMU=y
+# CONFIG_CALGARY_IOMMU is not set
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=64
+CONFIG_DIRECT_GBPAGES=y
+CONFIG_NUMA=y
+CONFIG_AMD_NUMA=y
+CONFIG_X86_64_ACPI_NUMA=y
+CONFIG_NODES_SPAN_OTHER_NODES=y
+# CONFIG_NUMA_EMU is not set
+CONFIG_NODES_SHIFT=9
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_ACPI_NUMA=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# PC-card bridges
+#
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_IA32_EMULATION=y
+# CONFIG_IA32_AOUT is not set
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Classification
+#
+CONFIG_BPF_JIT=y
+
+#
+# Protocols
+#
+# CONFIG_IBM_ASM is not set
+CONFIG_SGI_IOC4=m
+# CONFIG_CS5535_MFGPT is not set
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_LANGWELL=y
+
+#
+# Miscelaneous helper chips
+#
+# CONFIG_VIDEO_CAFE_CCIC is not set
+
+#
+# Reporting subsystems
+#
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
+CONFIG_EDAC_SBRIDGE=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_AMD_IOMMU=y
+CONFIG_AMD_IOMMU_STATS=y
+CONFIG_IRQ_REMAP=y
+
+#
+# File systems
+#
+CONFIG_QUOTACTL_COMPAT=y
+
+#
+# Kernel hacking
+#
+CONFIG_FUNCTION_GRAPH_TRACER=y
+CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
+# CONFIG_IOMMU_DEBUG is not set
+
+#
+# PaX
+#
+CONFIG_TASK_SIZE_MAX_SHIFT=47
+
+#
+# Miscellaneous hardening features
+#
+CONFIG_INTEL_TXT=y
+
+#
+# Digest
+#
+CONFIG_CRYPTO_SHA1_SSSE3=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES_X86_64=y
+CONFIG_CRYPTO_BLOWFISH_X86_64=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
diff --git a/kernel/config.armv5tel-versatile b/kernel/config.armv5tel-versatile
deleted file mode 100644 (file)
index bee5a61..0000000
+++ /dev/null
@@ -1,1449 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/arm 3.1.1-2.ip3.armv5tel Kernel Configuration
-#
-CONFIG_ARM=y
-CONFIG_MIGHT_HAVE_PCI=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_HAVE_PROC_CPU=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_VECTORS_BASE=0xffff0000
-# CONFIG_ARM_PATCH_PHYS_VIRT is not set
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_FHANDLE is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_SHOW=y
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_COMPAT_BRK=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-CONFIG_ARCH_VERSATILE=y
-# CONFIG_ARCH_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_PRIMA2 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_EXYNOS4 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_ARCH_VT8500 is not set
-# CONFIG_ARCH_ZYNQ is not set
-
-#
-# System MMU
-#
-
-#
-# Versatile platform type
-#
-CONFIG_ARCH_VERSATILE_PB=y
-CONFIG_MACH_VERSATILE_AB=y
-# CONFIG_MACH_VERSATILE_DT is not set
-CONFIG_PLAT_VERSATILE_CLCD=y
-CONFIG_PLAT_VERSATILE_FPGA_IRQ=y
-CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y
-CONFIG_PLAT_VERSATILE=y
-CONFIG_ARM_TIMER_SP804=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_ARM926T=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5TJ=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_USE_DOMAINS=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_ARM_VIC=y
-CONFIG_ARM_VIC_NR=2
-CONFIG_ICST=y
-
-#
-# Bus support
-#
-CONFIG_ARM_AMBA=y
-# CONFIG_PCI is not set
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-# CONFIG_AEABI is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-CONFIG_HAVE_ARCH_PFN_VALID=y
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_LEDS=y
-CONFIG_LEDS_CPU=y
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-# CONFIG_USE_OF is not set
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=1f03 mem=32M"
-CONFIG_CMDLINE_FROM_BOOTLOADER=y
-# CONFIG_CMDLINE_EXTEND is not set
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_VFP=y
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_PM_SLEEP=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-# CONFIG_APM_EMULATION is not set
-CONFIG_PM_CLK=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-CONFIG_INET_LRO=y
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_NET_DSA is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-# CONFIG_BATMAN_ADV is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-# CONFIG_CFG80211 is not set
-# CONFIG_LIB80211 is not set
-
-#
-# CFG80211 needs to be enabled for MAC80211
-#
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-# CONFIG_DEVTMPFS is not set
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-# CONFIG_MTD_SWAP is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_GEOMETRY is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_PLATRAM is not set
-# CONFIG_MTD_PISMO is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-# CONFIG_MTD_NAND is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-# CONFIG_MTD_UBI is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-# CONFIG_BLK_DEV_XIP is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_BLK_DEV_RBD is not set
-# CONFIG_SENSORS_LIS3LV02D is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_SCSI is not set
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_ATA is not set
-# CONFIG_MD is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-CONFIG_MII=y
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_AX88796 is not set
-CONFIG_SMC91X=y
-# CONFIG_DM9000 is not set
-# CONFIG_ETHOC is not set
-# CONFIG_SMC911X is not set
-# CONFIG_SMSC911X is not set
-# CONFIG_DNET is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-# CONFIG_B44 is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_FTMAC100 is not set
-CONFIG_NETDEV_1000=y
-# CONFIG_STMMAC_ETH is not set
-# CONFIG_FTGMAC100 is not set
-CONFIG_NETDEV_10000=y
-CONFIG_WLAN=y
-# CONFIG_HOSTAP is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_QT1070 is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_SENTELIC is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_SYNAPTICS_I2C is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_AMBAKMI=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=16
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_N_GSM is not set
-# CONFIG_TRACE_SINK is not set
-CONFIG_DEVKMEM=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_PXA_PCI is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_VERSATILE is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-
-#
-# Enable Device Drivers -> PPS to see the PTP clock options.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_MFD_WL1273_CORE is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS is not set
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_ARMCLCD=y
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-CONFIG_FONT_ACORN_8x8=y
-# CONFIG_FONT_MINI_4x6 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-# CONFIG_LOGO is not set
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-# CONFIG_SND_RAWMIDI_SEQ is not set
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_ALOOP is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_ARMAACI=m
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HIDRAW is not set
-# CONFIG_HID_PID is not set
-
-#
-# Special HID drivers
-#
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-# CONFIG_USB is not set
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_ARMMMCI=m
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXAV3 is not set
-# CONFIG_MMC_SDHCI_PXAV2 is not set
-# CONFIG_MMC_DW is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_BALLOON is not set
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-CONFIG_HAVE_MACH_CLKDEV=y
-CONFIG_CLKSRC_MMIO=y
-CONFIG_IOMMU_SUPPORT=y
-# CONFIG_VIRT_DRIVERS is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-# CONFIG_MSDOS_FS is not set
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-# CONFIG_TMPFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_LOGFS is not set
-CONFIG_CRAMFS=y
-# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
-CONFIG_MINIX_FS=y
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-CONFIG_ROMFS_FS=y
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-# CONFIG_ROMFS_BACKED_BY_MTD is not set
-# CONFIG_ROMFS_BACKED_BY_BOTH is not set
-CONFIG_ROMFS_ON_BLOCK=y
-# CONFIG_PSTORE is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-# CONFIG_NFS_V4 is not set
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-# CONFIG_NFSD_V4 is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_CEPH_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=m
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=m
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DETECT_HUNG_TASK is not set
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_ENABLE_DEFAULT_TRACERS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_DEBUG_USER=y
-CONFIG_DEBUG_LL=y
-# CONFIG_EARLY_PRINTK is not set
-# CONFIG_DEBUG_ICEDCC is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=m
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-# CONFIG_CRYPTO_CBC is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=m
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-CONFIG_CRYPTO_HW=y
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_T10DIF is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
-# CONFIG_AVERAGE is not set
-# CONFIG_CORDIC is not set
diff --git a/kernel/config.i686 b/kernel/config.i686
deleted file mode 100644 (file)
index 6344c96..0000000
+++ /dev/null
@@ -1,4870 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.1.1-1.ip3.i686.PAE Kernel Configuration
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_32_SMP=y
-CONFIG_X86_HT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_KTIME_SCALAR=y
-CONFIG_ARCH_CPU_PROBE_RELEASE=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-# CONFIG_KERNEL_LZMA is not set
-CONFIG_KERNEL_XZ=y
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-CONFIG_FHANDLE=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_IRQ_FORCED_THREADING=y
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-CONFIG_RCU_FAST_NO_HZ=y
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-CONFIG_PERF_COUNTERS=y
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-# CONFIG_PROFILING is not set
-CONFIG_TRACEPOINTS=y
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_THROTTLING=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-CONFIG_X86_MPPARSE=y
-CONFIG_X86_BIGSMP=y
-CONFIG_X86_EXTENDED_PLATFORM=y
-# CONFIG_X86_INTEL_MID is not set
-# CONFIG_X86_RDC321X is not set
-# CONFIG_X86_32_NON_STANDARD is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_X86_32_IRIS is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_PARAVIRT_GUEST=y
-CONFIG_PARAVIRT_TIME_ACCOUNTING=y
-# CONFIG_XEN is not set
-# CONFIG_XEN_PRIVILEGED_GUEST is not set
-CONFIG_KVM_CLOCK=y
-CONFIG_KVM_GUEST=y
-# CONFIG_LGUEST_GUEST is not set
-CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_SPINLOCKS is not set
-CONFIG_PARAVIRT_CLOCK=y
-# CONFIG_PARAVIRT_DEBUG is not set
-CONFIG_NO_BOOTMEM=y
-# CONFIG_MEMTEST is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-CONFIG_M686=y
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=7
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-CONFIG_X86_PPRO_FENCE=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=5
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=256
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-# CONFIG_X86_ANCIENT_MCE is not set
-CONFIG_X86_MCE_THRESHOLD=y
-# CONFIG_X86_MCE_INJECT is not set
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
-CONFIG_TOSHIBA=m
-CONFIG_I8K=m
-# CONFIG_X86_REBOOTFIXUPS is not set
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=y
-CONFIG_X86_CPUID=y
-# CONFIG_NOHIGHMEM is not set
-# CONFIG_HIGHMEM4G is not set
-CONFIG_HIGHMEM64G=y
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-CONFIG_X86_PAE=y
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_NUMA=y
-# CONFIG_NUMA_EMU is not set
-CONFIG_NODES_SHIFT=3
-CONFIG_HAVE_ARCH_BOOTMEM=y
-CONFIG_HAVE_ARCH_ALLOC_REMAP=y
-CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
-CONFIG_NEED_NODE_MEMMAP_SIZE=y
-CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
-CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
-CONFIG_SELECT_MEMORY_MODEL=y
-# CONFIG_FLATMEM_MANUAL is not set
-CONFIG_DISCONTIGMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_DISCONTIGMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-CONFIG_KSM=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_MEMORY_FAILURE=y
-# CONFIG_HWPOISON_INJECT is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-CONFIG_CLEANCACHE=y
-CONFIG_HIGHPTE=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-# CONFIG_MATH_EMULATION is not set
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-CONFIG_HZ_300=y
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=300
-CONFIG_SCHED_HRTICK=y
-CONFIG_KEXEC=y
-CONFIG_CRASH_DUMP=y
-# CONFIG_KEXEC_JUMP is not set
-CONFIG_PHYSICAL_START=0x400000
-CONFIG_RELOCATABLE=y
-CONFIG_X86_NEED_RELOCS=y
-CONFIG_PHYSICAL_ALIGN=0x400000
-CONFIG_HOTPLUG_CPU=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION=""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-# CONFIG_ACPI_PROC_EVENT is not set
-CONFIG_ACPI_AC=y
-CONFIG_ACPI_BATTERY=y
-CONFIG_ACPI_BUTTON=y
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=y
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=y
-# CONFIG_ACPI_NUMA is not set
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=1999
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=y
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=y
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-CONFIG_ACPI_CUSTOM_METHOD=m
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-# CONFIG_ACPI_APEI_EINJ is not set
-# CONFIG_ACPI_APEI_ERST_DEBUG is not set
-CONFIG_SFI=y
-CONFIG_X86_APM_BOOT=y
-CONFIG_APM=y
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-# CONFIG_APM_DO_ENABLE is not set
-CONFIG_APM_CPU_IDLE=y
-# CONFIG_APM_DISPLAY_BLANK is not set
-# CONFIG_APM_ALLOW_INTS is not set
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# x86 CPU frequency scaling drivers
-#
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-# CONFIG_X86_POWERNOW_K6 is not set
-CONFIG_X86_POWERNOW_K7=y
-CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_GX_SUSPMOD is not set
-# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-CONFIG_X86_SPEEDSTEP_ICH=y
-CONFIG_X86_SPEEDSTEP_SMI=y
-CONFIG_X86_P4_CLOCKMOD=m
-# CONFIG_X86_CPUFREQ_NFORCE2 is not set
-CONFIG_X86_LONGRUN=y
-# CONFIG_X86_LONGHAUL is not set
-# CONFIG_X86_E_POWERSAVER is not set
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=y
-# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_INTEL_IDLE=y
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=y
-CONFIG_PCIEAER=y
-CONFIG_PCIE_ECRC=y
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_STUB=y
-CONFIG_HT_IRQ=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-# CONFIG_ISA is not set
-# CONFIG_MCA is not set
-# CONFIG_SCx200 is not set
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-# CONFIG_PCMCIA is not set
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-# CONFIG_HOTPLUG_PCI_SHPC is not set
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_MISC=y
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-CONFIG_XFRM_SUB_POLICY=y
-CONFIG_XFRM_MIGRATE=y
-CONFIG_XFRM_STATISTICS=y
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_FIB_TRIE_STATS=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_CONG_ILLINOIS=m
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_TCP_MD5SIG=y
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_SIT_6RD=y
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IPV6_PIMSM_V2=y
-# CONFIG_NETLABEL is not set
-CONFIG_NETWORK_SECMARK=y
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_SECMARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XTABLES=y
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_SECMARK=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-# CONFIG_NETFILTER_XT_MATCH_IPVS is not set
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-CONFIG_IP_VS_IPV6=y
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-# CONFIG_IP_NF_QUEUE is not set
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-# CONFIG_IP_NF_TARGET_ULOG is not set
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-# CONFIG_IP6_NF_QUEUE is not set
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-# CONFIG_BRIDGE_EBT_ULOG is not set
-CONFIG_BRIDGE_EBT_NFLOG=m
-# CONFIG_IP_DCCP is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-# CONFIG_ATM_LANE is not set
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-CONFIG_NET_DSA=y
-CONFIG_NET_DSA_TAG_DSA=y
-CONFIG_NET_DSA_TAG_EDSA=y
-CONFIG_NET_DSA_TAG_TRAILER=y
-CONFIG_NET_DSA_MV88E6XXX=y
-CONFIG_NET_DSA_MV88E6060=y
-CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
-CONFIG_NET_DSA_MV88E6131=y
-CONFIG_NET_DSA_MV88E6123_61_65=y
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_CLS_U32_PERF=y
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=m
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=m
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-# CONFIG_BATMAN_ADV is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_DROP_MONITOR is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-# CONFIG_AF_RXRPC is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-CONFIG_NL80211_TESTMODE=y
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-CONFIG_CFG80211_DEBUGFS=y
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-CONFIG_MAC80211_DEBUGFS=y
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_WIMAX is not set
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
-# CONFIG_MTD is not set
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-# CONFIG_PARPORT_GSC is not set
-# CONFIG_PARPORT_AX88796 is not set
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG_MESSAGES is not set
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=m
-# CONFIG_PARIDE is not set
-CONFIG_BLK_CPQ_DA=m
-CONFIG_BLK_CPQ_CISS_DA=m
-# CONFIG_CISS_SCSI_TAPE is not set
-CONFIG_BLK_DEV_DAC960=m
-CONFIG_BLK_DEV_UMEM=m
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_OSD is not set
-CONFIG_BLK_DEV_SX8=m
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-# CONFIG_BLK_DEV_RBD is not set
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_IBM_ASM is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_SGI_IOC4 is not set
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-# CONFIG_CS5535_MFGPT is not set
-CONFIG_HP_ILO=m
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
-# CONFIG_BMP085 is not set
-CONFIG_PCH_PHUB=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-# CONFIG_IWMC3200TOP is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-# CONFIG_SENSORS_LIS3_I2C is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=m
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=m
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=m
-CONFIG_SCSI_FC_ATTRS=m
-CONFIG_SCSI_FC_TGT_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=m
-CONFIG_SCSI_SAS_LIBSAS=m
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP_TGT_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=m
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_ACARD=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
-CONFIG_AIC7XXX_RESET_DELAY_MS=5000
-CONFIG_AIC7XXX_DEBUG_ENABLE=y
-CONFIG_AIC7XXX_DEBUG_MASK=0
-CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-CONFIG_SCSI_AIC79XX=m
-CONFIG_AIC79XX_CMDS_PER_DEVICE=32
-CONFIG_AIC79XX_RESET_DELAY_MS=4000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=m
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-CONFIG_SCSI_MVSAS_TASKLET=y
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=m
-CONFIG_SCSI_ARCMSR=m
-# CONFIG_SCSI_ARCMSR_AER is not set
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_BUSLOGIC=m
-CONFIG_SCSI_FLASHPOINT=y
-CONFIG_VMWARE_PVSCSI=m
-CONFIG_LIBFC=m
-CONFIG_LIBFCOE=m
-CONFIG_FCOE=m
-CONFIG_FCOE_FNIC=m
-CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_EATA=m
-CONFIG_SCSI_EATA_TAGGED_QUEUE=y
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_GDTH=m
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_IPS=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=m
-CONFIG_SCSI_IPR_TRACE=y
-CONFIG_SCSI_IPR_DUMP=y
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=m
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DC390T=m
-CONFIG_SCSI_NSP32=m
-# CONFIG_SCSI_DEBUG is not set
-CONFIG_SCSI_PMCRAID=m
-CONFIG_SCSI_PM8001=m
-# CONFIG_SCSI_SRP is not set
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_DH=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=m
-CONFIG_SATA_INIC162X=m
-CONFIG_SATA_ACARD_AHCI=m
-CONFIG_SATA_SIL24=m
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=m
-CONFIG_SATA_QSTOR=m
-CONFIG_SATA_SX4=m
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_MV=m
-CONFIG_SATA_NV=m
-CONFIG_SATA_PROMISE=m
-CONFIG_SATA_SIL=m
-CONFIG_SATA_SIS=m
-CONFIG_SATA_SVW=m
-CONFIG_SATA_ULI=m
-CONFIG_SATA_VIA=m
-CONFIG_SATA_VITESSE=m
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=m
-CONFIG_PATA_AMD=m
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=m
-CONFIG_PATA_ATIIXP=m
-CONFIG_PATA_ATP867X=m
-CONFIG_PATA_CMD64X=m
-CONFIG_PATA_CS5520=m
-CONFIG_PATA_CS5530=m
-CONFIG_PATA_CS5535=m
-CONFIG_PATA_CS5536=m
-CONFIG_PATA_CYPRESS=m
-CONFIG_PATA_EFAR=m
-CONFIG_PATA_HPT366=m
-CONFIG_PATA_HPT37X=m
-CONFIG_PATA_HPT3X2N=m
-CONFIG_PATA_HPT3X3=m
-# CONFIG_PATA_HPT3X3_DMA is not set
-CONFIG_PATA_IT8213=m
-CONFIG_PATA_IT821X=m
-CONFIG_PATA_JMICRON=m
-CONFIG_PATA_MARVELL=m
-CONFIG_PATA_NETCELL=m
-CONFIG_PATA_NINJA32=m
-CONFIG_PATA_NS87415=m
-CONFIG_PATA_OLDPIIX=m
-CONFIG_PATA_OPTIDMA=m
-CONFIG_PATA_PDC2027X=m
-CONFIG_PATA_PDC_OLD=m
-# CONFIG_PATA_RADISYS is not set
-CONFIG_PATA_RDC=m
-# CONFIG_PATA_SC1200 is not set
-CONFIG_PATA_SCH=m
-CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_SIL680=m
-CONFIG_PATA_SIS=m
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=m
-CONFIG_PATA_VIA=m
-CONFIG_PATA_WINBOND=m
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=m
-CONFIG_PATA_MPIIX=m
-CONFIG_PATA_NS87410=m
-CONFIG_PATA_OPTI=m
-CONFIG_PATA_RZ1000=m
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=m
-CONFIG_ATA_GENERIC=m
-# CONFIG_PATA_LEGACY is not set
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID456=m
-# CONFIG_MULTICORE_RAID456 is not set
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=y
-CONFIG_DM_MIRROR=y
-CONFIG_DM_RAID=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_ZERO=y
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-# CONFIG_DM_DELAY is not set
-CONFIG_DM_UEVENT=y
-# CONFIG_DM_FLAKEY is not set
-# CONFIG_TARGET_CORE is not set
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_MAX_SGE=40
-CONFIG_FUSION_CTL=m
-CONFIG_FUSION_LOGGING=y
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
-CONFIG_FIREWIRE_SBP2=m
-# CONFIG_FIREWIRE_NET is not set
-# CONFIG_FIREWIRE_NOSY is not set
-CONFIG_I2O=m
-# CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not set
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=m
-CONFIG_I2O_CONFIG_OLD_IOCTL=y
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_NETDEVICES=y
-CONFIG_IFB=m
-CONFIG_DUMMY=m
-CONFIG_BONDING=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-CONFIG_VETH=m
-# CONFIG_NET_SB1000 is not set
-# CONFIG_ARCNET is not set
-CONFIG_MII=m
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_FIXED_PHY=y
-CONFIG_MDIO_BITBANG=m
-# CONFIG_MDIO_GPIO is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_ETHOC=m
-CONFIG_DNET=m
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-CONFIG_TULIP_MMIO=y
-CONFIG_TULIP_NAPI=y
-CONFIG_TULIP_NAPI_HW_MITIGATION=y
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_HP100=m
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-CONFIG_NET_PCI=y
-CONFIG_PCNET32=m
-CONFIG_AMD8111_ETH=m
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_FORCEDETH=m
-CONFIG_E100=m
-CONFIG_FEALNX=m
-CONFIG_NATSEMI=m
-CONFIG_NE2K_PCI=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R6040=m
-CONFIG_SIS900=m
-CONFIG_EPIC100=m
-CONFIG_SMSC9420=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_TLAN=m
-# CONFIG_KS8842 is not set
-# CONFIG_KS8851_MLL is not set
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_SC92031=m
-CONFIG_NET_POCKET=y
-CONFIG_ATP=m
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_ATL2=m
-CONFIG_NETDEV_1000=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_DL2K=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IP1000=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_NS83820=m
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_R8169=m
-CONFIG_SIS190=m
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_VIA_VELOCITY=m
-CONFIG_TIGON3=m
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_QLA3XXX=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_JME=m
-CONFIG_STMMAC_ETH=m
-# CONFIG_STMMAC_DA is not set
-# CONFIG_STMMAC_DUAL_MAC is not set
-CONFIG_PCH_GBE=m
-CONFIG_NETDEV_10000=y
-CONFIG_MDIO=m
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_ENIC=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_IXGB=m
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_NETXEN_NIC=m
-CONFIG_NIU=m
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_TEHUTI=m
-CONFIG_BNX2X=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_BNA=m
-CONFIG_SFC=m
-CONFIG_BE2NET=m
-# CONFIG_TR is not set
-CONFIG_WLAN=y
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_AT76C50X_USB=m
-# CONFIG_PRISM54 is not set
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
-CONFIG_MAC80211_HWSIM=m
-CONFIG_MWL8K=m
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-CONFIG_ATH5K_DEBUG=y
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-CONFIG_ATH9K_AHB=y
-CONFIG_ATH9K_DEBUGFS=y
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-# CONFIG_CARL9170_DEBUGFS is not set
-CONFIG_CARL9170_WPC=y
-CONFIG_B43=m
-CONFIG_B43_SSB=y
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLAGN=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-CONFIG_IWLWIFI_DEBUGFS=y
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-CONFIG_IWLWIFI_DEVICE_SVTOOL=y
-# CONFIG_IWL_P2P is not set
-CONFIG_IWLWIFI_LEGACY=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
-CONFIG_IWLWIFI_LEGACY_DEBUGFS=y
-# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-# CONFIG_IWM is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-CONFIG_RT2X00_LIB_DEBUGFS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-# CONFIG_WL12XX_HT is not set
-CONFIG_WL12XX_SDIO=m
-# CONFIG_WL12XX_SDIO_TEST is not set
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-# CONFIG_WAN is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-# CONFIG_ATM_ZATM is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-# CONFIG_ATM_AMBASSADOR is not set
-# CONFIG_ATM_HORIZON is not set
-# CONFIG_ATM_IA is not set
-# CONFIG_ATM_FORE200E is not set
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOATM=m
-CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_NET_FC is not set
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-CONFIG_NETPOLL_TRAP=y
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_VIRTIO_NET=m
-CONFIG_VMXNET3=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-
-#
-# Active cards
-#
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_I4L is not set
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-# CONFIG_MISDN is not set
-CONFIG_ISDN_HDLC=m
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_QT1070 is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-CONFIG_KEYBOARD_GPIO_POLLED=m
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_VSXXXAA=m
-# CONFIG_MOUSE_GPIO is not set
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-CONFIG_INPUT_PCSPKR=m
-# CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_MPU3050 is not set
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-# CONFIG_INPUT_KXTJ9 is not set
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_UINPUT=m
-# CONFIG_INPUT_PCF8574 is not set
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-# CONFIG_INPUT_ADXL34X is not set
-# CONFIG_INPUT_CMA3000 is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PARKBD is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-# CONFIG_MOXA_INTELLIO is not set
-# CONFIG_MOXA_SMARTIO is not set
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-# CONFIG_ISI is not set
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-# CONFIG_TRACE_SINK is not set
-# CONFIG_STALDRV is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MFD_HSU is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_NVRAM=y
-CONFIG_R3964=m
-# CONFIG_APPLICOM is not set
-CONFIG_SONYPI=m
-CONFIG_MWAVE=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
-CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=8192
-CONFIG_HPET=y
-# CONFIG_HPET_MMAP is not set
-CONFIG_HANGCHECK_TIMER=m
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_INTEL_MID is not set
-# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-# CONFIG_I2C_XILINX is not set
-# CONFIG_I2C_EG20T is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-# CONFIG_I2C_TAOS_EVM is not set
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_STUB=m
-CONFIG_SCx200_ACB=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-
-#
-# Enable Device Drivers -> PPS to see the PTP clock options.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO drivers:
-#
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_IT8761E is not set
-CONFIG_GPIO_SCH=m
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-# CONFIG_GPIO_CS5535 is not set
-# CONFIG_GPIO_LANGWELL is not set
-# CONFIG_GPIO_PCH is not set
-# CONFIG_GPIO_ML_IOH is not set
-# CONFIG_GPIO_RDC321X is not set
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MCP23S08 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-# CONFIG_W1_MASTER_MATROX is not set
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS1WM=m
-# CONFIG_W1_MASTER_GPIO is not set
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_MAX8903 is not set
-# CONFIG_CHARGER_GPIO is not set
-CONFIG_HWMON=y
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-# CONFIG_SENSORS_GPIO_FAN is not set
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IT87=m
-# CONFIG_SENSORS_JC42 is not set
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SIS5595=m
-# CONFIG_SENSORS_SMM665 is not set
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-# CONFIG_SENSORS_EMC2103 is not set
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=y
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-CONFIG_WATCHDOG_NOWAYOUT=y
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-# CONFIG_ACQUIRE_WDT is not set
-# CONFIG_ADVANTECH_WDT is not set
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-# CONFIG_SC520_WDT is not set
-CONFIG_SBC_FITPC2_WATCHDOG=m
-# CONFIG_EUROTECH_WDT is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-# CONFIG_WAFER_WDT is not set
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-# CONFIG_ITCO_VENDOR_SUPPORT is not set
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-# CONFIG_SC1200_WDT is not set
-# CONFIG_PC87413_WDT is not set
-CONFIG_NV_TCO=m
-# CONFIG_60XX_WDT is not set
-# CONFIG_SBC8360_WDT is not set
-# CONFIG_SBC7240_WDT is not set
-# CONFIG_CPU5_WDT is not set
-CONFIG_SMSC_SCH311X_WDT=m
-# CONFIG_SMSC37B787_WDT is not set
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-# CONFIG_SBC_EPX_C3_WATCHDOG is not set
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-CONFIG_MFD_SUPPORT=y
-CONFIG_MFD_CORE=m
-CONFIG_MFD_SM501=m
-CONFIG_MFD_SM501_GPIO=y
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_UCB1400_CORE is not set
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WM8400=m
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
-# CONFIG_MFD_TIMBERDALE is not set
-CONFIG_LPC_SCH=m
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-# CONFIG_REGULATOR is not set
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_IR_ENE=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-CONFIG_MEDIA_TUNER_CUSTOMISE=y
-
-#
-# Customize TV tuners
-#
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_M52790=m
-# CONFIG_VIDEO_VIVI is not set
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_TIMBERDALE=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX23885=m
-# CONFIG_MEDIA_ALTERA_CI is not set
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_SR030PC30=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_VIDEO_NOON010PC30=m
-# CONFIG_VIDEO_M5MOLS is not set
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_USBVISION=m
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_USB_SN9C102 is not set
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-# CONFIG_VIDEO_MEM2MEM_TESTDEV is not set
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_DSBR=m
-CONFIG_RADIO_SI470X=y
-CONFIG_USB_SI470X=m
-CONFIG_I2C_SI470X=m
-CONFIG_USB_MR800=m
-# CONFIG_RADIO_TEA5764 is not set
-# CONFIG_RADIO_SAA7706H is not set
-# CONFIG_RADIO_TEF6862 is not set
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-# CONFIG_RADIO_WL128X is not set
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_DYNAMIC_MINORS=y
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-# CONFIG_SMS_SDIO_DRV is not set
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-CONFIG_DVB_BT8XX=m
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported SDMC DM1105 Adapters
-#
-CONFIG_DVB_DM1105=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-CONFIG_DVB_PT1=m
-
-#
-# Supported Mantis Adapters
-#
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-
-#
-# Supported nGene Adapters
-#
-CONFIG_DVB_NGENE=m
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-# CONFIG_DVB_DDBRIDGE is not set
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-
-#
-# Graphics support
-#
-CONFIG_AGP=y
-CONFIG_AGP_ALI=y
-CONFIG_AGP_ATI=y
-CONFIG_AGP_AMD=y
-CONFIG_AGP_AMD64=y
-CONFIG_AGP_INTEL=y
-CONFIG_AGP_NVIDIA=y
-CONFIG_AGP_SIS=y
-CONFIG_AGP_SWORKS=y
-CONFIG_AGP_VIA=y
-CONFIG_AGP_EFFICEON=y
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_TTM=m
-CONFIG_DRM_TDFX=m
-CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_SAVAGE=m
-CONFIG_STUB_POULSBO=m
-CONFIG_VGASTATE=m
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ARC is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-# CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-# CONFIG_FB_N411 is not set
-# CONFIG_FB_HGA is not set
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-# CONFIG_FB_RIVA_I2C is not set
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-# CONFIG_FB_LE80578 is not set
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-CONFIG_FB_ATY_GENERIC_LCD=y
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
-# CONFIG_FB_SIS is not set
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-CONFIG_FB_3DFX_ACCEL=y
-CONFIG_FB_3DFX_I2C=y
-CONFIG_FB_VOODOO1=m
-# CONFIG_FB_VT8623 is not set
-CONFIG_FB_TRIDENT=m
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_CARMINE is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=y
-CONFIG_FB_GEODE_GX=y
-# CONFIG_FB_GEODE_GX1 is not set
-# CONFIG_FB_TMIO is not set
-CONFIG_FB_SM501=m
-CONFIG_FB_UDL=m
-CONFIG_FB_VIRTUAL=m
-CONFIG_FB_METRONOME=m
-CONFIG_FB_MB862XX=m
-CONFIG_FB_MB862XX_PCI_GDC=y
-CONFIG_FB_MB862XX_I2C=y
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_PLATFORM=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_APPLE=m
-# CONFIG_BACKLIGHT_SAHARA is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=m
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-CONFIG_SND_VERBOSE_PRINTK=y
-CONFIG_SND_DEBUG=y
-# CONFIG_SND_DEBUG_VERBOSE is not set
-CONFIG_SND_PCM_XRUN_DEBUG=y
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_TEA575X=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-# CONFIG_SND_AW2 is not set
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_PREALLOC_SIZE=64
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-CONFIG_SND_HDA_INPUT_BEEP=y
-CONFIG_SND_HDA_INPUT_BEEP_MODE=1
-CONFIG_SND_HDA_INPUT_JACK=y
-# CONFIG_SND_HDA_PATCH_LOADER is not set
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SIS7019=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
-# CONFIG_SND_ISIGHT is not set
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=y
-# CONFIG_HID_ACRUX is not set
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-# CONFIG_HID_PRODIKEYS is not set
-CONFIG_HID_CYPRESS=y
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EMS_FF is not set
-# CONFIG_HID_ELECOM is not set
-CONFIG_HID_EZKEY=y
-# CONFIG_HID_HOLTEK is not set
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=y
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
-CONFIG_HID_GYRATION=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=y
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=y
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWII_FF is not set
-# CONFIG_HID_MAGICMOUSE is not set
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-# CONFIG_HID_MULTITOUCH is not set
-# CONFIG_HID_NTRIG is not set
-CONFIG_HID_ORTEK=m
-# CONFIG_HID_PANTHERLORD is not set
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-# CONFIG_HID_QUANTA is not set
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
-CONFIG_HID_SAMSUNG=m
-# CONFIG_HID_SONY is not set
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_SUNPLUS=m
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-CONFIG_HID_TOPSEED=m
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_WIIMOTE is not set
-# CONFIG_HID_ZEROPLUS is not set
-CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-CONFIG_USB_MON=m
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_XHCI_HCD=m
-# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=y
-# CONFIG_USB_U132_HCD is not set
-CONFIG_USB_SL811_HCD=m
-CONFIG_USB_SL811_HCD_ISO=y
-# CONFIG_USB_R8A66597_HCD is not set
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-# CONFIG_USB_SERIAL_EMPEG is not set
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-# CONFIG_USB_SERIAL_GARMIN is not set
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-CONFIG_USB_SERIAL_KLSI=m
-# CONFIG_USB_SERIAL_KOBIL_SCT is not set
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-# CONFIG_USB_SERIAL_NAVMAN is not set
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-# CONFIG_USB_SERIAL_HP4X is not set
-# CONFIG_USB_SERIAL_SAFE is not set
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-# CONFIG_USB_SERIAL_SYMBOL is not set
-# CONFIG_USB_SERIAL_TI is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-# CONFIG_USB_SERIAL_OMNINET is not set
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-CONFIG_USB_SERIAL_SSU100=m
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-CONFIG_USB_FTDI_ELAN=m
-# CONFIG_USB_APPLEDISPLAY is not set
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-CONFIG_USB_IOWARRIOR=m
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_ISIGHTFW is not set
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-# CONFIG_USB_GPIO_VBUS is not set
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_ALIX2=m
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_BD2802 is not set
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MCE_INJ=m
-CONFIG_EDAC_MM_EDAC=m
-CONFIG_EDAC_MCE=y
-CONFIG_EDAC_AMD76X=m
-CONFIG_EDAC_E7XXX=m
-CONFIG_EDAC_E752X=m
-CONFIG_EDAC_I82875P=m
-CONFIG_EDAC_I82975X=m
-CONFIG_EDAC_I3000=m
-CONFIG_EDAC_I3200=m
-CONFIG_EDAC_X38=m
-CONFIG_EDAC_I5400=m
-CONFIG_EDAC_I7CORE=m
-CONFIG_EDAC_I82860=m
-CONFIG_EDAC_R82600=m
-CONFIG_EDAC_I5000=m
-CONFIG_EDAC_I5100=m
-CONFIG_EDAC_I7300=m
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-# CONFIG_RTC_DRV_S35390A is not set
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_STK17TA8=m
-# CONFIG_RTC_DRV_M48T86 is not set
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-# CONFIG_INTEL_MID_DMAC is not set
-CONFIG_INTEL_IOATDMA=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-CONFIG_ASYNC_TX_DMA=y
-# CONFIG_DMATEST is not set
-CONFIG_DCA=m
-# CONFIG_AUXDISPLAY is not set
-CONFIG_UIO=m
-# CONFIG_UIO_CIF is not set
-# CONFIG_UIO_PDRV is not set
-# CONFIG_UIO_PDRV_GENIRQ is not set
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-# CONFIG_UIO_NETX is not set
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_STAGING=y
-CONFIG_ET131X=m
-# CONFIG_ET131X_DEBUG is not set
-# CONFIG_SLICOSS is not set
-# CONFIG_VIDEO_GO7007 is not set
-# CONFIG_VIDEO_CX25821 is not set
-# CONFIG_VIDEO_TM6000 is not set
-# CONFIG_DVB_CXD2099 is not set
-# CONFIG_USBIP_CORE is not set
-# CONFIG_W35UND is not set
-# CONFIG_PRISM2_USB is not set
-# CONFIG_ECHO is not set
-# CONFIG_BRCMUTIL is not set
-# CONFIG_BRCMSMAC is not set
-# CONFIG_BRCMFMAC is not set
-# CONFIG_COMEDI is not set
-# CONFIG_ASUS_OLED is not set
-# CONFIG_PANEL is not set
-# CONFIG_R8187SE is not set
-# CONFIG_RTL8192U is not set
-# CONFIG_RTL8192E is not set
-# CONFIG_R8712U is not set
-# CONFIG_RTS_PSTOR is not set
-# CONFIG_TRANZPORT is not set
-# CONFIG_POHMELFS is not set
-# CONFIG_IDE_PHISON is not set
-# CONFIG_LINE6_USB is not set
-CONFIG_DRM_VMWGFX=m
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-# CONFIG_DRM_I2C_CH7006 is not set
-# CONFIG_DRM_I2C_SIL164 is not set
-# CONFIG_USB_SERIAL_QUATECH2 is not set
-# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
-# CONFIG_VT6655 is not set
-# CONFIG_VT6656 is not set
-CONFIG_HYPERV=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_BLOCK=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_HYPERV_MOUSE=m
-# CONFIG_VME_BUS is not set
-# CONFIG_DX_SEP is not set
-# CONFIG_IIO is not set
-# CONFIG_XVMALLOC is not set
-# CONFIG_ZRAM is not set
-# CONFIG_ZCACHE is not set
-# CONFIG_FB_SM7XX is not set
-# CONFIG_VIDEO_DT3155 is not set
-# CONFIG_CRYSTALHD is not set
-# CONFIG_FB_XGI is not set
-# CONFIG_LIRC_STAGING is not set
-# CONFIG_EASYCAP is not set
-# CONFIG_SOLO6X10 is not set
-# CONFIG_ACPI_QUICKSTART is not set
-# CONFIG_ATH6K_LEGACY is not set
-# CONFIG_USB_ENESTORAGE is not set
-# CONFIG_BCM_WIMAX is not set
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-# CONFIG_SPEAKUP is not set
-# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
-# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
-# CONFIG_DRM_PSB is not set
-# CONFIG_ALTERA_STAPL is not set
-# CONFIG_INTEL_MEI is not set
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-# CONFIG_ACPI_ASUS is not set
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-# CONFIG_IBM_RTL is not set
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-CONFIG_CLKSRC_I8253=y
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_DMAR=y
-CONFIG_DMAR_DEFAULT_ON=y
-CONFIG_DMAR_FLOPPY_WA=y
-CONFIG_VIRT_DRIVERS=y
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-# CONFIG_EDD_OFF is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=y
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-# CONFIG_ISCSI_IBFT_FIND is not set
-# CONFIG_SIGMA is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT23=y
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-# CONFIG_JFS_FS is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-# CONFIG_XFS_DEBUG is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_STATS=y
-# CONFIG_FSCACHE_HISTOGRAM is not set
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-CONFIG_HUGETLBFS=y
-CONFIG_HUGETLB_PAGE=y
-CONFIG_CONFIGFS_FS=m
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_ECRYPT_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_LOGFS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_PSTORE=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_EXOFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_PNFS_FILE_LAYOUT=m
-CONFIG_PNFS_BLOCK=m
-CONFIG_PNFS_OBJLAYOUT=m
-CONFIG_NFS_FSCACHE=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_SUNRPC_BACKCHANNEL=y
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_CEPH_FS is not set
-CONFIG_CIFS=m
-CONFIG_CIFS_STATS=y
-# CONFIG_CIFS_STATS2 is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_DEBUG2 is not set
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_CIFS_ACL=y
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-CONFIG_LDM_PARTITION=y
-# CONFIG_LDM_DEBUG is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf-8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-CONFIG_HEADERS_CHECK=y
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_LOCKUP_DETECTOR=y
-CONFIG_HARDLOCKUP_DETECTOR=y
-# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-# CONFIG_DETECT_HUNG_TASK is not set
-CONFIG_SCHED_DEBUG=y
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-CONFIG_DEBUG_LIST=y
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-CONFIG_BOOT_PRINTK_DELAY=y
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_LKDTM is not set
-# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
-# CONFIG_FAULT_INJECTION is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACER_MAX_TRACE=y
-CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-CONFIG_SCHED_TRACER=y
-CONFIG_FTRACE_SYSCALLS=y
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-CONFIG_STACK_TRACER=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_DYNAMIC_FTRACE=y
-CONFIG_FUNCTION_PROFILER=y
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
-# CONFIG_BUILD_DOCSRC is not set
-CONFIG_DYNAMIC_DEBUG=y
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-CONFIG_DEBUG_STACKOVERFLOW=y
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_NX_TEST=m
-CONFIG_DOUBLEFAULT=y
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-CONFIG_DEBUG_BOOT_PARAMS=y
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-
-#
-# Grsecurity
-#
-CONFIG_GRKERNSEC=y
-# CONFIG_GRKERNSEC_LOW is not set
-# CONFIG_GRKERNSEC_MEDIUM is not set
-CONFIG_GRKERNSEC_HIGH=y
-# CONFIG_GRKERNSEC_CUSTOM is not set
-
-#
-# Address Space Protection
-#
-CONFIG_GRKERNSEC_KMEM=y
-CONFIG_GRKERNSEC_VM86=y
-# CONFIG_GRKERNSEC_IO is not set
-CONFIG_GRKERNSEC_PROC_MEMMAP=y
-CONFIG_GRKERNSEC_BRUTE=y
-CONFIG_GRKERNSEC_MODHARDEN=y
-CONFIG_GRKERNSEC_HIDESYM=y
-CONFIG_GRKERNSEC_KERN_LOCKOUT=y
-
-#
-# Role Based Access Control Options
-#
-CONFIG_GRKERNSEC_NO_RBAC=y
-# CONFIG_GRKERNSEC_ACL_HIDEKERN is not set
-CONFIG_GRKERNSEC_ACL_MAXTRIES=3
-CONFIG_GRKERNSEC_ACL_TIMEOUT=30
-
-#
-# Filesystem Protections
-#
-CONFIG_GRKERNSEC_PROC=y
-# CONFIG_GRKERNSEC_PROC_USER is not set
-CONFIG_GRKERNSEC_PROC_USERGROUP=y
-CONFIG_GRKERNSEC_PROC_GID=10
-CONFIG_GRKERNSEC_PROC_ADD=y
-CONFIG_GRKERNSEC_LINK=y
-CONFIG_GRKERNSEC_FIFO=y
-CONFIG_GRKERNSEC_SYSFS_RESTRICT=y
-# CONFIG_GRKERNSEC_ROFS is not set
-CONFIG_GRKERNSEC_CHROOT=y
-CONFIG_GRKERNSEC_CHROOT_MOUNT=y
-CONFIG_GRKERNSEC_CHROOT_DOUBLE=y
-CONFIG_GRKERNSEC_CHROOT_PIVOT=y
-CONFIG_GRKERNSEC_CHROOT_CHDIR=y
-CONFIG_GRKERNSEC_CHROOT_CHMOD=y
-CONFIG_GRKERNSEC_CHROOT_FCHDIR=y
-CONFIG_GRKERNSEC_CHROOT_MKNOD=y
-CONFIG_GRKERNSEC_CHROOT_SHMAT=y
-CONFIG_GRKERNSEC_CHROOT_UNIX=y
-CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
-CONFIG_GRKERNSEC_CHROOT_NICE=y
-CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
-CONFIG_GRKERNSEC_CHROOT_CAPS=y
-
-#
-# Kernel Auditing
-#
-# CONFIG_GRKERNSEC_AUDIT_GROUP is not set
-# CONFIG_GRKERNSEC_EXECLOG is not set
-CONFIG_GRKERNSEC_RESLOG=y
-# CONFIG_GRKERNSEC_CHROOT_EXECLOG is not set
-# CONFIG_GRKERNSEC_AUDIT_PTRACE is not set
-# CONFIG_GRKERNSEC_AUDIT_CHDIR is not set
-CONFIG_GRKERNSEC_AUDIT_MOUNT=y
-CONFIG_GRKERNSEC_SIGNAL=y
-CONFIG_GRKERNSEC_FORKFAIL=y
-CONFIG_GRKERNSEC_TIME=y
-CONFIG_GRKERNSEC_PROC_IPADDR=y
-CONFIG_GRKERNSEC_RWXMAP_LOG=y
-CONFIG_GRKERNSEC_AUDIT_TEXTREL=y
-
-#
-# Executable Protections
-#
-CONFIG_GRKERNSEC_DMESG=y
-CONFIG_GRKERNSEC_HARDEN_PTRACE=y
-# CONFIG_GRKERNSEC_TPE is not set
-
-#
-# Network Protections
-#
-CONFIG_GRKERNSEC_RANDNET=y
-CONFIG_GRKERNSEC_BLACKHOLE=y
-# CONFIG_GRKERNSEC_SOCKET is not set
-
-#
-# Sysctl support
-#
-CONFIG_GRKERNSEC_SYSCTL=y
-CONFIG_GRKERNSEC_SYSCTL_ON=y
-
-#
-# Logging Options
-#
-CONFIG_GRKERNSEC_FLOODTIME=10
-CONFIG_GRKERNSEC_FLOODBURST=6
-
-#
-# PaX
-#
-CONFIG_ARCH_TRACK_EXEC_LIMIT=y
-CONFIG_PAX_PER_CPU_PGD=y
-CONFIG_PAX=y
-
-#
-# PaX Control
-#
-# CONFIG_PAX_SOFTMODE is not set
-CONFIG_PAX_EI_PAX=y
-CONFIG_PAX_PT_PAX_FLAGS=y
-# CONFIG_PAX_NO_ACL_FLAGS is not set
-CONFIG_PAX_HAVE_ACL_FLAGS=y
-# CONFIG_PAX_HOOK_ACL_FLAGS is not set
-
-#
-# Non-executable pages
-#
-CONFIG_PAX_NOEXEC=y
-CONFIG_PAX_PAGEEXEC=y
-CONFIG_PAX_SEGMEXEC=y
-CONFIG_PAX_EMUTRAMP=y
-CONFIG_PAX_MPROTECT=y
-# CONFIG_PAX_MPROTECT_COMPAT is not set
-CONFIG_PAX_ELFRELOCS=y
-CONFIG_PAX_KERNEXEC=y
-CONFIG_PAX_KERNEXEC_MODULE_TEXT=4
-
-#
-# Address Space Layout Randomization
-#
-CONFIG_PAX_ASLR=y
-CONFIG_PAX_RANDKSTACK=y
-CONFIG_PAX_RANDUSTACK=y
-CONFIG_PAX_RANDMMAP=y
-
-#
-# Miscellaneous hardening features
-#
-CONFIG_PAX_MEMORY_SANITIZE=y
-CONFIG_PAX_MEMORY_STACKLEAK=y
-CONFIG_PAX_MEMORY_UDEREF=y
-CONFIG_PAX_REFCOUNT=y
-CONFIG_PAX_USERCOPY=y
-CONFIG_KEYS=y
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-CONFIG_SECURITY_DMESG_RESTRICT=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-CONFIG_INTEL_TXT=y
-CONFIG_LSM_MMAP_MIN_ADDR=65536
-CONFIG_SECURITY_SELINUX=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
-CONFIG_SECURITY_SELINUX_DISABLE=y
-CONFIG_SECURITY_SELINUX_DEVELOP=y
-CONFIG_SECURITY_SELINUX_AVC_STATS=y
-CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
-# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_SELINUX=y
-# CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="selinux"
-CONFIG_XOR_BLOCKS=m
-CONFIG_ASYNC_CORE=m
-CONFIG_ASYNC_MEMCPY=m
-CONFIG_ASYNC_XOR=m
-CONFIG_ASYNC_PQ=m
-CONFIG_ASYNC_RAID6_RECOV=m
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_FIPS=y
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_GF128MUL=m
-# CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=y
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_SEQIV=y
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XTS=m
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=y
-CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_586=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_586=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-CONFIG_CRYPTO_TWOFISH_586=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=y
-CONFIG_CRYPTO_USER_API_HASH=y
-CONFIG_CRYPTO_USER_API_SKCIPHER=y
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-CONFIG_CRYPTO_DEV_HIFN_795X=m
-CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-# CONFIG_LGUEST is not set
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=m
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=m
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=m
-CONFIG_CRC8=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
-CONFIG_NLATTR=y
-CONFIG_AVERAGE=y
-CONFIG_CORDIC=m
-CONFIG_LLIST=y
diff --git a/kernel/config.x86_64 b/kernel/config.x86_64
deleted file mode 100644 (file)
index 5114d27..0000000
+++ /dev/null
@@ -1,2932 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.1.5 Kernel Configuration
-#
-CONFIG_64BIT=y
-# CONFIG_X86_32 is not set
-CONFIG_X86_64=y
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf64-x86-64"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_ARCH_CLOCKSOURCE_DATA=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_AUDIT_ARCH=y
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_64_SMP=y
-CONFIG_X86_HT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
-# CONFIG_KTIME_SCALAR is not set
-CONFIG_ARCH_CPU_PROBE_RELEASE=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_BZIP2 is not set
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-# CONFIG_FHANDLE is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=64
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_RCU_FAST_NO_HZ is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-# CONFIG_CGROUP_DEVICE is not set
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-# CONFIG_CGROUP_MEM_RES_CTLR is not set
-# CONFIG_CGROUP_PERF is not set
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-# CONFIG_RT_GROUP_SCHED is not set
-# CONFIG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-# CONFIG_OPROFILE is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_KPROBES=y
-# CONFIG_JUMP_LABEL is not set
-CONFIG_OPTPROBES=y
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_KRETPROBES=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLOCK_COMPAT=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-CONFIG_X86_MPPARSE=y
-CONFIG_X86_EXTENDED_PLATFORM=y
-# CONFIG_X86_VSMP is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-# CONFIG_MEMTEST is not set
-# CONFIG_MK8 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_GENERIC_CPU=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=7
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=64
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-CONFIG_GART_IOMMU=y
-CONFIG_CALGARY_IOMMU=y
-CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
-CONFIG_SWIOTLB=y
-CONFIG_IOMMU_HELPER=y
-# CONFIG_MAXSMP is not set
-CONFIG_NR_CPUS=64
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_MCE_THRESHOLD=y
-# CONFIG_X86_MCE_INJECT is not set
-CONFIG_X86_THERMAL_VECTOR=y
-# CONFIG_I8K is not set
-CONFIG_MICROCODE=y
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=y
-CONFIG_X86_CPUID=y
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DIRECT_GBPAGES=y
-CONFIG_NUMA=y
-CONFIG_AMD_NUMA=y
-CONFIG_X86_64_ACPI_NUMA=y
-CONFIG_NODES_SPAN_OTHER_NODES=y
-# CONFIG_NUMA_EMU is not set
-CONFIG_NODES_SHIFT=6
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_PROC_KCORE_TEXT=y
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_HAVE_MEMBLOCK=y
-# CONFIG_MEMORY_HOTPLUG is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_COMPACTION is not set
-CONFIG_MIGRATION=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
-# CONFIG_CLEANCACHE is not set
-CONFIG_X86_CHECK_BIOS_CORRUPTION=y
-CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MTRR=y
-# CONFIG_MTRR_SANITIZER is not set
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-CONFIG_KEXEC=y
-CONFIG_CRASH_DUMP=y
-# CONFIG_KEXEC_JUMP is not set
-CONFIG_PHYSICAL_START=0x1000000
-CONFIG_RELOCATABLE=y
-CONFIG_PHYSICAL_ALIGN=0x1000000
-CONFIG_HOTPLUG_CPU=y
-# CONFIG_COMPAT_VDSO is not set
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_ARCH_HIBERNATION_HEADER=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION=""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-# CONFIG_PM_ADVANCED_DEBUG is not set
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_CAN_PM_TRACE=y
-CONFIG_PM_TRACE=y
-CONFIG_PM_TRACE_RTC=y
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-# CONFIG_ACPI_PROCFS_POWER is not set
-# CONFIG_ACPI_EC_DEBUGFS is not set
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=y
-CONFIG_ACPI_BATTERY=y
-CONFIG_ACPI_BUTTON=y
-CONFIG_ACPI_VIDEO=y
-CONFIG_ACPI_FAN=y
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_HOTPLUG_CPU=y
-# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
-CONFIG_ACPI_THERMAL=y
-CONFIG_ACPI_NUMA=y
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=0
-# CONFIG_ACPI_DEBUG is not set
-# CONFIG_ACPI_PCI_SLOT is not set
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=y
-# CONFIG_ACPI_SBS is not set
-# CONFIG_ACPI_HED is not set
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-# CONFIG_ACPI_APEI is not set
-# CONFIG_SFI is not set
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-# CONFIG_CPU_FREQ_STAT is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
-
-#
-# x86 CPU frequency scaling drivers
-#
-# CONFIG_X86_PCC_CPUFREQ is not set
-CONFIG_X86_ACPI_CPUFREQ=y
-# CONFIG_X86_POWERNOW_K8 is not set
-# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-# CONFIG_X86_P4_CLOCKMOD is not set
-
-#
-# shared options
-#
-# CONFIG_X86_SPEEDSTEP_LIB is not set
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-# CONFIG_INTEL_IDLE is not set
-
-#
-# Memory power savings
-#
-# CONFIG_I7300_IDLE is not set
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-# CONFIG_HOTPLUG_PCI_PCIE is not set
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-# CONFIG_PCIEAER_INJECT is not set
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_STUB is not set
-CONFIG_HT_IRQ=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=y
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-# CONFIG_PD6729 is not set
-# CONFIG_I82092 is not set
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_HOTPLUG_PCI=y
-# CONFIG_HOTPLUG_PCI_FAKE is not set
-# CONFIG_HOTPLUG_PCI_ACPI is not set
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-# CONFIG_HOTPLUG_PCI_SHPC is not set
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_COMPAT_BINFMT_ELF=y
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-# CONFIG_HAVE_AOUT is not set
-CONFIG_BINFMT_MISC=y
-CONFIG_IA32_EMULATION=y
-# CONFIG_IA32_AOUT is not set
-CONFIG_COMPAT=y
-CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
-CONFIG_SYSVIPC_COMPAT=y
-CONFIG_KEYS_COMPAT=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-CONFIG_IP_MROUTE=y
-# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_INET_LRO=y
-# CONFIG_INET_DIAG is not set
-CONFIG_TCP_CONG_ADVANCED=y
-# CONFIG_TCP_CONG_BIC is not set
-CONFIG_TCP_CONG_CUBIC=y
-# CONFIG_TCP_CONG_WESTWOOD is not set
-# CONFIG_TCP_CONG_HTCP is not set
-# CONFIG_TCP_CONG_HSTCP is not set
-# CONFIG_TCP_CONG_HYBLA is not set
-# CONFIG_TCP_CONG_VEGAS is not set
-# CONFIG_TCP_CONG_SCALABLE is not set
-# CONFIG_TCP_CONG_LP is not set
-# CONFIG_TCP_CONG_VENO is not set
-# CONFIG_TCP_CONG_YEAH is not set
-# CONFIG_TCP_CONG_ILLINOIS is not set
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_TCP_MD5SIG=y
-CONFIG_IPV6=y
-# CONFIG_IPV6_PRIVACY is not set
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=y
-CONFIG_INET6_ESP=y
-# CONFIG_INET6_IPCOMP is not set
-# CONFIG_IPV6_MIP6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-CONFIG_INET6_XFRM_MODE_TRANSPORT=y
-CONFIG_INET6_XFRM_MODE_TUNNEL=y
-CONFIG_INET6_XFRM_MODE_BEET=y
-# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-CONFIG_IPV6_SIT=y
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-# CONFIG_IPV6_TUNNEL is not set
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-CONFIG_NETLABEL=y
-CONFIG_NETWORK_SECMARK=y
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-# CONFIG_NETFILTER_ADVANCED is not set
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=y
-CONFIG_NETFILTER_NETLINK_LOG=y
-CONFIG_NF_CONNTRACK=y
-CONFIG_NF_CONNTRACK_SECMARK=y
-CONFIG_NF_CONNTRACK_FTP=y
-CONFIG_NF_CONNTRACK_IRC=y
-CONFIG_NF_CONNTRACK_SIP=y
-CONFIG_NF_CT_NETLINK=y
-CONFIG_NETFILTER_XTABLES=y
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
-CONFIG_NETFILTER_XT_TARGET_NFLOG=y
-CONFIG_NETFILTER_XT_TARGET_SECMARK=y
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
-CONFIG_NETFILTER_XT_MATCH_POLICY=y
-CONFIG_NETFILTER_XT_MATCH_STATE=y
-# CONFIG_IP_SET is not set
-# CONFIG_IP_VS is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=y
-CONFIG_NF_CONNTRACK_IPV4=y
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_TARGET_REJECT=y
-CONFIG_IP_NF_TARGET_LOG=y
-CONFIG_IP_NF_TARGET_ULOG=y
-CONFIG_NF_NAT=y
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=y
-CONFIG_NF_NAT_FTP=y
-CONFIG_NF_NAT_IRC=y
-# CONFIG_NF_NAT_TFTP is not set
-# CONFIG_NF_NAT_AMANDA is not set
-# CONFIG_NF_NAT_PPTP is not set
-# CONFIG_NF_NAT_H323 is not set
-CONFIG_NF_NAT_SIP=y
-CONFIG_IP_NF_MANGLE=y
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=y
-CONFIG_NF_CONNTRACK_IPV6=y
-CONFIG_IP6_NF_IPTABLES=y
-CONFIG_IP6_NF_MATCH_IPV6HEADER=y
-CONFIG_IP6_NF_TARGET_LOG=y
-CONFIG_IP6_NF_FILTER=y
-CONFIG_IP6_NF_TARGET_REJECT=y
-CONFIG_IP6_NF_MANGLE=y
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_NET_DSA is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-CONFIG_LLC=y
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-# CONFIG_NET_SCH_CBQ is not set
-# CONFIG_NET_SCH_HTB is not set
-# CONFIG_NET_SCH_HFSC is not set
-# CONFIG_NET_SCH_PRIO is not set
-# CONFIG_NET_SCH_MULTIQ is not set
-# CONFIG_NET_SCH_RED is not set
-# CONFIG_NET_SCH_SFB is not set
-# CONFIG_NET_SCH_SFQ is not set
-# CONFIG_NET_SCH_TEQL is not set
-# CONFIG_NET_SCH_TBF is not set
-# CONFIG_NET_SCH_GRED is not set
-# CONFIG_NET_SCH_DSMARK is not set
-# CONFIG_NET_SCH_NETEM is not set
-# CONFIG_NET_SCH_DRR is not set
-# CONFIG_NET_SCH_MQPRIO is not set
-# CONFIG_NET_SCH_CHOKE is not set
-# CONFIG_NET_SCH_QFQ is not set
-# CONFIG_NET_SCH_INGRESS is not set
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-# CONFIG_NET_CLS_BASIC is not set
-# CONFIG_NET_CLS_TCINDEX is not set
-# CONFIG_NET_CLS_ROUTE4 is not set
-# CONFIG_NET_CLS_FW is not set
-# CONFIG_NET_CLS_U32 is not set
-# CONFIG_NET_CLS_RSVP is not set
-# CONFIG_NET_CLS_RSVP6 is not set
-# CONFIG_NET_CLS_FLOW is not set
-# CONFIG_NET_CLS_CGROUP is not set
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-# CONFIG_NET_EMATCH_CMP is not set
-# CONFIG_NET_EMATCH_NBYTE is not set
-# CONFIG_NET_EMATCH_U32 is not set
-# CONFIG_NET_EMATCH_META is not set
-# CONFIG_NET_EMATCH_TEXT is not set
-CONFIG_NET_CLS_ACT=y
-# CONFIG_NET_ACT_POLICE is not set
-# CONFIG_NET_ACT_GACT is not set
-# CONFIG_NET_ACT_MIRRED is not set
-# CONFIG_NET_ACT_IPT is not set
-# CONFIG_NET_ACT_NAT is not set
-# CONFIG_NET_ACT_PEDIT is not set
-# CONFIG_NET_ACT_SIMP is not set
-# CONFIG_NET_ACT_SKBEDIT is not set
-# CONFIG_NET_ACT_CSUM is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-# CONFIG_BATMAN_ADV is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-CONFIG_HAVE_BPF_JIT=y
-# CONFIG_BPF_JIT is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_TCPPROBE is not set
-# CONFIG_NET_DROP_MONITOR is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-# CONFIG_AX25 is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_CFG80211=y
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-# CONFIG_LIB80211 is not set
-CONFIG_MAC80211=y
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-# CONFIG_MAC80211_MESH is not set
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_WIMAX is not set
-CONFIG_RFKILL=y
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-# CONFIG_DEVTMPFS is not set
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-CONFIG_DEBUG_DEVRES=y
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-CONFIG_PNP=y
-CONFIG_PNP_DEBUG_MESSAGES=y
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_BLK_DEV_HD is not set
-# CONFIG_BLK_DEV_RBD is not set
-# CONFIG_SENSORS_LIS3LV02D is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=y
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-CONFIG_SCSI_CONSTANTS=y
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-# CONFIG_SCSI_LOWLEVEL is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-# CONFIG_SATA_AHCI_PLATFORM is not set
-# CONFIG_SATA_INIC162X is not set
-# CONFIG_SATA_ACARD_AHCI is not set
-# CONFIG_SATA_SIL24 is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-# CONFIG_PDC_ADMA is not set
-# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SX4 is not set
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-# CONFIG_SATA_MV is not set
-# CONFIG_SATA_NV is not set
-# CONFIG_SATA_PROMISE is not set
-# CONFIG_SATA_SIL is not set
-# CONFIG_SATA_SIS is not set
-# CONFIG_SATA_SVW is not set
-# CONFIG_SATA_ULI is not set
-# CONFIG_SATA_VIA is not set
-# CONFIG_SATA_VITESSE is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-# CONFIG_PATA_ALI is not set
-CONFIG_PATA_AMD=y
-# CONFIG_PATA_ARASAN_CF is not set
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_ATP867X is not set
-# CONFIG_PATA_CMD64X is not set
-# CONFIG_PATA_CS5520 is not set
-# CONFIG_PATA_CS5530 is not set
-# CONFIG_PATA_CS5536 is not set
-# CONFIG_PATA_CYPRESS is not set
-# CONFIG_PATA_EFAR is not set
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_IT8213 is not set
-# CONFIG_PATA_IT821X is not set
-# CONFIG_PATA_JMICRON is not set
-# CONFIG_PATA_MARVELL is not set
-# CONFIG_PATA_NETCELL is not set
-# CONFIG_PATA_NINJA32 is not set
-# CONFIG_PATA_NS87415 is not set
-CONFIG_PATA_OLDPIIX=y
-# CONFIG_PATA_OPTIDMA is not set
-# CONFIG_PATA_PDC2027X is not set
-# CONFIG_PATA_PDC_OLD is not set
-# CONFIG_PATA_RADISYS is not set
-# CONFIG_PATA_RDC is not set
-# CONFIG_PATA_SC1200 is not set
-CONFIG_PATA_SCH=y
-# CONFIG_PATA_SERVERWORKS is not set
-# CONFIG_PATA_SIL680 is not set
-# CONFIG_PATA_SIS is not set
-# CONFIG_PATA_TOSHIBA is not set
-# CONFIG_PATA_TRIFLEX is not set
-# CONFIG_PATA_VIA is not set
-# CONFIG_PATA_WINBOND is not set
-
-#
-# PIO-only SFF controllers
-#
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_MPIIX is not set
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_OPTI is not set
-# CONFIG_PATA_PCMCIA is not set
-# CONFIG_PATA_RZ1000 is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_PATA_ACPI is not set
-# CONFIG_ATA_GENERIC is not set
-# CONFIG_PATA_LEGACY is not set
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID10 is not set
-# CONFIG_MD_RAID456 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_MD_FAULTY is not set
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-# CONFIG_DM_CRYPT is not set
-# CONFIG_DM_SNAPSHOT is not set
-CONFIG_DM_MIRROR=y
-# CONFIG_DM_RAID is not set
-# CONFIG_DM_LOG_USERSPACE is not set
-CONFIG_DM_ZERO=y
-# CONFIG_DM_MULTIPATH is not set
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_UEVENT is not set
-# CONFIG_DM_FLAKEY is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# CONFIG_I2O is not set
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_NETDEVICES=y
-# CONFIG_IFB is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_NET_SB1000 is not set
-# CONFIG_ARCNET is not set
-CONFIG_MII=y
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_STE10XP is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_MICREL_PHY is not set
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-CONFIG_NET_VENDOR_3COM=y
-# CONFIG_VORTEX is not set
-# CONFIG_TYPHOON is not set
-# CONFIG_ETHOC is not set
-# CONFIG_DNET is not set
-CONFIG_NET_TULIP=y
-# CONFIG_DE2104X is not set
-# CONFIG_TULIP is not set
-# CONFIG_DE4X5 is not set
-# CONFIG_WINBOND_840 is not set
-# CONFIG_DM9102 is not set
-# CONFIG_ULI526X is not set
-# CONFIG_PCMCIA_XIRCOM is not set
-# CONFIG_HP100 is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_KSZ884X_PCI is not set
-# CONFIG_B44 is not set
-CONFIG_FORCEDETH=y
-CONFIG_E100=y
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-CONFIG_8139TOO=y
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
-# CONFIG_8139_OLD_RX_RESET is not set
-# CONFIG_R6040 is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SMSC9420 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_SC92031 is not set
-# CONFIG_ATL2 is not set
-CONFIG_NETDEV_1000=y
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-CONFIG_E1000=y
-# CONFIG_E1000E is not set
-# CONFIG_IP1000 is not set
-# CONFIG_IGB is not set
-# CONFIG_IGBVF is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-CONFIG_SKY2=y
-# CONFIG_SKY2_DEBUG is not set
-# CONFIG_VIA_VELOCITY is not set
-CONFIG_TIGON3=y
-# CONFIG_BNX2 is not set
-# CONFIG_CNIC is not set
-# CONFIG_QLA3XXX is not set
-# CONFIG_ATL1 is not set
-# CONFIG_ATL1E is not set
-# CONFIG_ATL1C is not set
-# CONFIG_JME is not set
-# CONFIG_STMMAC_ETH is not set
-# CONFIG_PCH_GBE is not set
-CONFIG_NETDEV_10000=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_CHELSIO_T4 is not set
-# CONFIG_CHELSIO_T4VF is not set
-# CONFIG_ENIC is not set
-# CONFIG_IXGBE is not set
-# CONFIG_IXGBEVF is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-# CONFIG_VXGE is not set
-# CONFIG_MYRI10GE is not set
-# CONFIG_NETXEN_NIC is not set
-# CONFIG_NIU is not set
-# CONFIG_MLX4_EN is not set
-# CONFIG_MLX4_CORE is not set
-# CONFIG_TEHUTI is not set
-# CONFIG_BNX2X is not set
-# CONFIG_QLCNIC is not set
-# CONFIG_QLGE is not set
-# CONFIG_BNA is not set
-# CONFIG_SFC is not set
-# CONFIG_BE2NET is not set
-CONFIG_TR=y
-# CONFIG_IBMOL is not set
-# CONFIG_3C359 is not set
-# CONFIG_TMS380TR is not set
-CONFIG_WLAN=y
-# CONFIG_PCMCIA_RAYCS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-# CONFIG_AIRO is not set
-# CONFIG_ATMEL is not set
-# CONFIG_AT76C50X_USB is not set
-# CONFIG_AIRO_CS is not set
-# CONFIG_PCMCIA_WL3501 is not set
-# CONFIG_PRISM54 is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8180 is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_ADM8211 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_MWL8K is not set
-# CONFIG_ATH_COMMON is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-# CONFIG_HOSTAP is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
-# CONFIG_IWLAGN is not set
-# CONFIG_IWL4965 is not set
-# CONFIG_IWL3945 is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_HERMES is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_RT2X00 is not set
-# CONFIG_RTL8192CE is not set
-# CONFIG_RTL8192SE is not set
-# CONFIG_RTL8192DE is not set
-# CONFIG_RTL8192CU is not set
-# CONFIG_WL1251 is not set
-# CONFIG_WL12XX_MENU is not set
-# CONFIG_ZD1211RW is not set
-# CONFIG_MWIFIEX is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_HSO is not set
-# CONFIG_USB_IPHETH is not set
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-# CONFIG_PCMCIA_PCNET is not set
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_PCMCIA_IBMTR is not set
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
-CONFIG_FDDI=y
-# CONFIG_DEFXX is not set
-# CONFIG_SKFP is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-CONFIG_NETCONSOLE=y
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-# CONFIG_VMXNET3 is not set
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=y
-CONFIG_INPUT_SPARSEKMAP=y
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_QT1070 is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_SENTELIC is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_SYNAPTICS_I2C is not set
-CONFIG_INPUT_JOYSTICK=y
-# CONFIG_JOYSTICK_ANALOG is not set
-# CONFIG_JOYSTICK_A3D is not set
-# CONFIG_JOYSTICK_ADI is not set
-# CONFIG_JOYSTICK_COBRA is not set
-# CONFIG_JOYSTICK_GF2K is not set
-# CONFIG_JOYSTICK_GRIP is not set
-# CONFIG_JOYSTICK_GRIP_MP is not set
-# CONFIG_JOYSTICK_GUILLEMOT is not set
-# CONFIG_JOYSTICK_INTERACT is not set
-# CONFIG_JOYSTICK_SIDEWINDER is not set
-# CONFIG_JOYSTICK_TMDC is not set
-# CONFIG_JOYSTICK_IFORCE is not set
-# CONFIG_JOYSTICK_WARRIOR is not set
-# CONFIG_JOYSTICK_MAGELLAN is not set
-# CONFIG_JOYSTICK_SPACEORB is not set
-# CONFIG_JOYSTICK_SPACEBALL is not set
-# CONFIG_JOYSTICK_STINGER is not set
-# CONFIG_JOYSTICK_TWIDJOY is not set
-# CONFIG_JOYSTICK_ZHENHUA is not set
-# CONFIG_JOYSTICK_AS5011 is not set
-# CONFIG_JOYSTICK_JOYDUMP is not set
-# CONFIG_JOYSTICK_XPAD is not set
-CONFIG_INPUT_TABLET=y
-# CONFIG_TABLET_USB_ACECAD is not set
-# CONFIG_TABLET_USB_AIPTEK is not set
-# CONFIG_TABLET_USB_GTCO is not set
-# CONFIG_TABLET_USB_HANWANG is not set
-# CONFIG_TABLET_USB_KBTAB is not set
-# CONFIG_TABLET_USB_WACOM is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-# CONFIG_TOUCHSCREEN_MAX11801 is not set
-# CONFIG_TOUCHSCREEN_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# CONFIG_INPUT_PCSPKR is not set
-# CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_MPU3050 is not set
-# CONFIG_INPUT_APANEL is not set
-# CONFIG_INPUT_ATLAS_BTNS is not set
-# CONFIG_INPUT_ATI_REMOTE is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_KXTJ9 is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-# CONFIG_INPUT_CM109 is not set
-# CONFIG_INPUT_UINPUT is not set
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_ADXL34X is not set
-# CONFIG_INPUT_CMA3000 is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_NONSTANDARD=y
-# CONFIG_ROCKETPORT is not set
-# CONFIG_CYCLADES is not set
-# CONFIG_MOXA_INTELLIO is not set
-# CONFIG_MOXA_SMARTIO is not set
-# CONFIG_SYNCLINK is not set
-# CONFIG_SYNCLINKMP is not set
-# CONFIG_SYNCLINK_GT is not set
-# CONFIG_NOZOMI is not set
-# CONFIG_ISI is not set
-# CONFIG_N_HDLC is not set
-# CONFIG_N_GSM is not set
-# CONFIG_TRACE_SINK is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_STALDRV is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-# CONFIG_SERIAL_8250_CS is not set
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MFD_HSU is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_HW_RANDOM_INTEL is not set
-# CONFIG_HW_RANDOM_AMD is not set
-CONFIG_HW_RANDOM_VIA=y
-CONFIG_NVRAM=y
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS is not set
-# CONFIG_MWAVE is not set
-# CONFIG_RAW_DRIVER is not set
-CONFIG_HPET=y
-# CONFIG_HPET_MMAP is not set
-# CONFIG_HANGCHECK_TIMER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-CONFIG_DEVPORT=y
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_ALGOBIT=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-CONFIG_I2C_I801=y
-# CONFIG_I2C_ISCH is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-
-#
-# ACPI drivers
-#
-# CONFIG_I2C_SCMI is not set
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_INTEL_MID is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_PXA_PCI is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-# CONFIG_I2C_EG20T is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_DIOLAN_U2C is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-
-#
-# Enable Device Drivers -> PPS to see the PTP clock options.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_MAX8903 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# CONFIG_SENSORS_ABITUGURU is not set
-# CONFIG_SENSORS_ABITUGURU3 is not set
-# CONFIG_SENSORS_AD7414 is not set
-# CONFIG_SENSORS_AD7418 is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1029 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_K8TEMP is not set
-# CONFIG_SENSORS_K10TEMP is not set
-# CONFIG_SENSORS_FAM15H_POWER is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS620 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_I5K_AMB is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_FSCHMD is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_CORETEMP is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LINEAGE is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM73 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_LM93 is not set
-# CONFIG_SENSORS_LTC4151 is not set
-# CONFIG_SENSORS_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-# CONFIG_SENSORS_LM95245 is not set
-# CONFIG_SENSORS_MAX16065 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_MAX1668 is not set
-# CONFIG_SENSORS_MAX6639 is not set
-# CONFIG_SENSORS_MAX6642 is not set
-# CONFIG_SENSORS_MAX6650 is not set
-# CONFIG_SENSORS_NTC_THERMISTOR is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_PMBUS is not set
-# CONFIG_SENSORS_SHT21 is not set
-# CONFIG_SENSORS_SIS5595 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 is not set
-# CONFIG_SENSORS_EMC6W201 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_SCH56XX_COMMON is not set
-# CONFIG_SENSORS_SCH5627 is not set
-# CONFIG_SENSORS_SCH5636 is not set
-# CONFIG_SENSORS_ADS1015 is not set
-# CONFIG_SENSORS_ADS7828 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VIA_CPUTEMP is not set
-# CONFIG_SENSORS_VIA686A is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_VT8231 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_APPLESMC is not set
-
-#
-# ACPI drivers
-#
-# CONFIG_SENSORS_ACPI_POWER is not set
-# CONFIG_SENSORS_ATK0110 is not set
-CONFIG_THERMAL=y
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_CORE is not set
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-# CONFIG_ACQUIRE_WDT is not set
-# CONFIG_ADVANTECH_WDT is not set
-# CONFIG_ALIM1535_WDT is not set
-# CONFIG_ALIM7101_WDT is not set
-# CONFIG_F71808E_WDT is not set
-# CONFIG_SP5100_TCO is not set
-# CONFIG_SC520_WDT is not set
-# CONFIG_SBC_FITPC2_WATCHDOG is not set
-# CONFIG_EUROTECH_WDT is not set
-# CONFIG_IB700_WDT is not set
-# CONFIG_IBMASR is not set
-# CONFIG_WAFER_WDT is not set
-# CONFIG_I6300ESB_WDT is not set
-# CONFIG_ITCO_WDT is not set
-# CONFIG_IT8712F_WDT is not set
-# CONFIG_IT87_WDT is not set
-# CONFIG_HP_WATCHDOG is not set
-# CONFIG_SC1200_WDT is not set
-# CONFIG_PC87413_WDT is not set
-# CONFIG_NV_TCO is not set
-# CONFIG_60XX_WDT is not set
-# CONFIG_SBC8360_WDT is not set
-# CONFIG_CPU5_WDT is not set
-# CONFIG_SMSC_SCH311X_WDT is not set
-# CONFIG_SMSC37B787_WDT is not set
-# CONFIG_W83627HF_WDT is not set
-# CONFIG_W83697HF_WDT is not set
-# CONFIG_W83697UG_WDT is not set
-# CONFIG_W83877F_WDT is not set
-# CONFIG_W83977F_WDT is not set
-# CONFIG_MACHZ_WDT is not set
-# CONFIG_SBC_EPX_C3_WATCHDOG is not set
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_MFD_CS5535 is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_VX855 is not set
-# CONFIG_MFD_WL1273_CORE is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-CONFIG_AGP=y
-CONFIG_AGP_AMD64=y
-CONFIG_AGP_INTEL=y
-# CONFIG_AGP_SIS is not set
-# CONFIG_AGP_VIA is not set
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-# CONFIG_VGA_SWITCHEROO is not set
-CONFIG_DRM=y
-CONFIG_DRM_KMS_HELPER=y
-# CONFIG_DRM_TDFX is not set
-# CONFIG_DRM_R128 is not set
-# CONFIG_DRM_RADEON is not set
-# CONFIG_DRM_I810 is not set
-CONFIG_DRM_I915=y
-CONFIG_DRM_I915_KMS=y
-# CONFIG_DRM_MGA is not set
-# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_VIA is not set
-# CONFIG_DRM_SAVAGE is not set
-# CONFIG_STUB_POULSBO is not set
-# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=y
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS is not set
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ARC is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_VESA is not set
-CONFIG_FB_EFI=y
-# CONFIG_FB_N411 is not set
-# CONFIG_FB_HGA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_LE80578 is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_VIA is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_UDL is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_PROGEAR is not set
-# CONFIG_BACKLIGHT_APPLE is not set
-# CONFIG_BACKLIGHT_SAHARA is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_HWDEP=y
-CONFIG_SND_SEQUENCER=y
-CONFIG_SND_SEQ_DUMMY=y
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=y
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-# CONFIG_SND_RAWMIDI_SEQ is not set
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_ALOOP is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-CONFIG_SND_PCI=y
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ASIHPI is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AW2 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS5530 is not set
-# CONFIG_SND_CS5535AUDIO is not set
-# CONFIG_SND_CTXFI is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_INDIGOIOX is not set
-# CONFIG_SND_INDIGODJX is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FM801 is not set
-CONFIG_SND_HDA_INTEL=y
-CONFIG_SND_HDA_PREALLOC_SIZE=64
-CONFIG_SND_HDA_HWDEP=y
-# CONFIG_SND_HDA_RECONFIG is not set
-# CONFIG_SND_HDA_INPUT_BEEP is not set
-# CONFIG_SND_HDA_INPUT_JACK is not set
-# CONFIG_SND_HDA_PATCH_LOADER is not set
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_LOLA is not set
-# CONFIG_SND_LX6464ES is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VIRTUOSO is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_YMFPCI is not set
-CONFIG_SND_USB=y
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_USX2Y is not set
-# CONFIG_SND_USB_CAIAQ is not set
-# CONFIG_SND_USB_US122L is not set
-# CONFIG_SND_USB_6FIRE is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=y
-# CONFIG_HID_ACRUX is not set
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-# CONFIG_HID_PRODIKEYS is not set
-CONFIG_HID_CYPRESS=y
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EMS_FF is not set
-CONFIG_HID_EZKEY=y
-# CONFIG_HID_HOLTEK is not set
-# CONFIG_HID_KEYTOUCH is not set
-CONFIG_HID_KYE=y
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
-CONFIG_HID_GYRATION=y
-# CONFIG_HID_TWINHAN is not set
-CONFIG_HID_KENSINGTON=y
-# CONFIG_HID_LCPOWER is not set
-CONFIG_HID_LOGITECH=y
-CONFIG_LOGITECH_FF=y
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWII_FF is not set
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-# CONFIG_HID_MULTITOUCH is not set
-CONFIG_HID_NTRIG=y
-# CONFIG_HID_ORTEK is not set
-CONFIG_HID_PANTHERLORD=y
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PETALYNX=y
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-# CONFIG_HID_SPEEDLINK is not set
-CONFIG_HID_SUNPLUS=y
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-CONFIG_HID_TOPSEED=y
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-CONFIG_USB_DEBUG=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_MON=y
-# CONFIG_USB_WUSB is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_XHCI_HCD is not set
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=y
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_WHCI_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_ACM is not set
-CONFIG_USB_PRINTER=y
-# CONFIG_USB_WDM is not set
-# CONFIG_USB_TMC is not set
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_REALTEK is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-# CONFIG_USB_STORAGE_ENE_UB6250 is not set
-# CONFIG_USB_UAS is not set
-CONFIG_USB_LIBUSUAL=y
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_YUREX is not set
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-# CONFIG_NOP_USB_XCEIV is not set
-# CONFIG_UWB is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_LM3530 is not set
-# CONFIG_LEDS_ALIX2 is not set
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_CLEVO_MAIL is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_INTEL_SS4200 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-# CONFIG_LEDS_TRIGGER_TIMER is not set
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=y
-# CONFIG_EDAC_MCE_INJ is not set
-# CONFIG_EDAC_MM_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-# CONFIG_RTC_HCTOSYS is not set
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-# CONFIG_RTC_DRV_DS1307 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_DS3232 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_ISL12022 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-# CONFIG_RTC_DRV_BQ32K is not set
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 is not set
-# CONFIG_RTC_DRV_EM3027 is not set
-# CONFIG_RTC_DRV_RV3029C2 is not set
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-# CONFIG_INTEL_MID_DMAC is not set
-# CONFIG_INTEL_IOATDMA is not set
-# CONFIG_TIMB_DMA is not set
-# CONFIG_PCH_DMA is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
-# CONFIG_STAGING is not set
-CONFIG_X86_PLATFORM_DEVICES=y
-# CONFIG_ACERHDF is not set
-# CONFIG_ASUS_LAPTOP is not set
-# CONFIG_FUJITSU_LAPTOP is not set
-# CONFIG_HP_ACCEL is not set
-# CONFIG_MSI_LAPTOP is not set
-# CONFIG_PANASONIC_LAPTOP is not set
-# CONFIG_COMPAL_LAPTOP is not set
-# CONFIG_SONY_LAPTOP is not set
-# CONFIG_IDEAPAD_LAPTOP is not set
-# CONFIG_THINKPAD_ACPI is not set
-# CONFIG_SENSORS_HDAPS is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_EEEPC_LAPTOP=y
-# CONFIG_ACPI_WMI is not set
-# CONFIG_ACPI_ASUS is not set
-# CONFIG_TOPSTAR_LAPTOP is not set
-# CONFIG_ACPI_TOSHIBA is not set
-# CONFIG_TOSHIBA_BT_RFKILL is not set
-# CONFIG_ACPI_CMPC is not set
-# CONFIG_INTEL_IPS is not set
-# CONFIG_IBM_RTL is not set
-# CONFIG_XO15_EBOOK is not set
-# CONFIG_SAMSUNG_LAPTOP is not set
-# CONFIG_INTEL_OAKTRAIL is not set
-# CONFIG_SAMSUNG_Q10 is not set
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_AMD_IOMMU=y
-CONFIG_AMD_IOMMU_STATS=y
-CONFIG_DMAR=y
-# CONFIG_DMAR_DEFAULT_ON is not set
-CONFIG_DMAR_FLOPPY_WA=y
-# CONFIG_INTR_REMAP is not set
-# CONFIG_VIRT_DRIVERS is not set
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=y
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-CONFIG_DMIID=y
-# CONFIG_DMI_SYSFS is not set
-# CONFIG_ISCSI_IBFT_FIND is not set
-# CONFIG_SIGMA is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-# CONFIG_EXT2_FS is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-# CONFIG_EXT4_FS is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_QUOTACTL_COMPAT=y
-CONFIG_AUTOFS4_FS=y
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-# CONFIG_PROC_VMCORE is not set
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-CONFIG_HUGETLBFS=y
-CONFIG_HUGETLB_PAGE=y
-# CONFIG_CONFIGFS_FS is not set
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_ECRYPT_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_LOGFS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_PSTORE is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-CONFIG_ROOT_NFS=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-# CONFIG_NFSD is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-# CONFIG_CEPH_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_SCHED_DEBUG is not set
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-CONFIG_DEBUG_STACK_USAGE=y
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_KPROBES_SANITY_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_LKDTM is not set
-# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_FTRACE_SYSCALLS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_KPROBE_EVENT=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-# CONFIG_RING_BUFFER_BENCHMARK is not set
-CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_KMEMCHECK is not set
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-CONFIG_EARLY_PRINTK_DBGP=y
-CONFIG_DEBUG_STACKOVERFLOW=y
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_NX_TEST=m
-# CONFIG_IOMMU_DEBUG is not set
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-# CONFIG_X86_DECODER_SELFTEST is not set
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-CONFIG_DEBUG_BOOT_PARAMS=y
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-
-#
-# Grsecurity
-#
-# CONFIG_GRKERNSEC is not set
-
-#
-# PaX
-#
-CONFIG_TASK_SIZE_MAX_SHIFT=47
-
-#
-# Miscellaneous hardening features
-#
-# CONFIG_PAX_MEMORY_SANITIZE is not set
-# CONFIG_PAX_MEMORY_STACKLEAK is not set
-# CONFIG_PAX_MEMORY_UDEREF is not set
-CONFIG_KEYS=y
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-CONFIG_SECURITY=y
-# CONFIG_SECURITYFS is not set
-CONFIG_SECURITY_NETWORK=y
-# CONFIG_SECURITY_NETWORK_XFRM is not set
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_INTEL_TXT is not set
-CONFIG_LSM_MMAP_MIN_ADDR=65536
-CONFIG_SECURITY_SELINUX=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
-CONFIG_SECURITY_SELINUX_DISABLE=y
-CONFIG_SECURITY_SELINUX_DEVELOP=y
-CONFIG_SECURITY_SELINUX_AVC_STATS=y
-CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
-# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
-# CONFIG_SECURITY_SMACK is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_SELINUX=y
-# CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="selinux"
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_PCRYPT is not set
-CONFIG_CRYPTO_WORKQUEUE=y
-# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_AUTHENC=y
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_CRC32C_INTEL is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-CONFIG_CRYPTO_SHA1=y
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_AES_X86_64 is not set
-# CONFIG_CRYPTO_AES_NI_INTEL is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SALSA20_X86_64 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-CONFIG_CRYPTO_HW=y
-# CONFIG_CRYPTO_DEV_PADLOCK is not set
-# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-CONFIG_HAVE_KVM=y
-CONFIG_VIRTUALIZATION=y
-# CONFIG_KVM is not set
-# CONFIG_VHOST_NET is not set
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-CONFIG_CRC_T10DIF=y
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC7 is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
-CONFIG_NLATTR=y
-CONFIG_AVERAGE=y
-# CONFIG_CORDIC is not set
index 0413759bdc62da7f166647a16a203ac5048a3c51..f515447e726d526410275ede5d7951593ec1dd57 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = kernel
-version    = 3.1.5
+version    = 3.2.12
 release    = 3
 thisapp    = linux-%{version}
 
@@ -15,9 +15,9 @@ license    = GPLv2
 summary    = The Linux kernel.
 
 description
-       The kernel package contains the Linux kernel (vmlinuz), the core of any \
-       Linux operating system. The kernel handles the basic functions \
-       of the operating system: memory allocation, process allocation, device \
+       The kernel package contains the Linux kernel (vmlinuz), the core of any
+       Linux operating system. The kernel handles the basic functions
+       of the operating system: memory allocation, process allocation, device
        input and output, etc.
 end
 
@@ -35,16 +35,19 @@ build
        export ICECC=no
 
        requires
+               asciidoc
                binutils-devel
                elfutils-devel
                gcc-plugin-devel
                gettext
-               module-init-tools
                ncurses-devel
                net-tools
                perl
                python-devel
+               xmlto
                xz-lzma-compat
+
+               /sbin/depmod
        end
 
        tools_cpupower_requires
@@ -79,8 +82,14 @@ build
        end
 
        if "%{DISTRO_ARCH}" == "armv5tel"
+               # ERROR Currently all kernel images are disabled, because they
+               # won't build with the grsecurity patch.
+
                # Build versatile kernel.
-               build_kernel_versatile = 1
+               #build_kernel_versatile = 1
+
+               # Build a kernel for Marvell Kirkwood-based devices.
+               #build_kernel_kirkwood = 1
 
                kernel_arch  = arm
                kernel_image = arch/%{kernel_arch}/boot/zImage
@@ -90,9 +99,11 @@ build
        end
 
        if "%{DISTRO_ARCH}" == "armv7hl"
-               # Currently build no kernel images.
+               # Build a kernel for TI OMAP SoCs.
+               build_kernel_omap = 1
 
                kernel_arch  = arm
+               kernel_image = arch/%{kernel_arch}/boot/zImage
 
                # ARM does not support cpupower.
                build_cpupower = 0
@@ -113,6 +124,16 @@ build
                kernels += versatile
        end
 
+       # Build ARM kirkwood kernel.
+       if "%{build_kernel_kirkwood}" == "1"
+               kernels += kirkwood
+       end
+
+       # Build ARM omap kernel.
+       if "%{build_kernel_omap}" == "1"
+               kernels += omap
+       end
+
        # Add tools' build requirements if build is requested.
        if "%{build_cpupower}" == "1"
                requires += %{tools_cpupower_requires}
@@ -136,6 +157,8 @@ build
                touch .scmversion
 
                mkdir -pv configs
+
+               cd %{DIR_SOURCE}
                configure_kernel() {
                        local flavour=${1}
                        local suffix
@@ -143,13 +166,8 @@ build
                                suffix="-${flavour}"
                        fi
 
-                       # This is the place, where the configuration files
-                       # should be dynamically generated.
-                       # For now, we just copy pregenerated ones.
-                       cp %{DIR_SOURCE}/config.%{arch}${suffix} .config
-
-                       make ARCH=%{kernel_arch} oldnoconfig
-                       mv .config configs/config.${flavour}
+                       scripts/configure --kernel-dir=%{DIR_APP} \
+                               merge %{DISTRO_ARCH} ${flavour} %{DIR_APP}/configs/config.${flavour}
                }
 
                # Generate configuration files for all kernels we are going to
@@ -274,6 +292,10 @@ build
        end
 
        install
+               # When no kernels are configured, we create a default config
+               # which enables us to install at least the header files.
+               [ -n "%{kernels}" ] || make ARCH=%{kernel_arch} defconfig
+
                # Install the header files
                make ARCH=%{kernel_arch} INSTALL_HDR_PATH=dest headers_install
                mkdir -pv %{BUILDROOT}/usr/include
@@ -290,10 +312,9 @@ build
                rm -rfv %{BUILDROOT}/lib/firmware
 
                # Install tools.
-               # XXX Man pages cannot be created because they need asciidoc.
                make -C tools/perf DESTDIR=%{BUILDROOT} \
                        HAVE_CPLUS_DEMANGLE=1 prefix=/usr perfexecdir=lib/perf-core \
-                       install #install-man
+                       install install-man
 
                # cpupower
                if [ "%{build_cpupower}" = "1" ]; then
@@ -316,9 +337,7 @@ packages
                summary = The Linux kernel %{kernel_release}.
 
                prerequires
-                       dracut
-                       grubby
-                       module-init-tools
+                       /sbin/depmod
                end
 
                provides
@@ -326,7 +345,8 @@ packages
                end
 
                requires
-                       %{prerequires}
+                       dracut
+                       grubby
                        linux-firmware
                end
 
@@ -339,8 +359,8 @@ packages
                end
 
                _posttrans
-                       /sbin/new-kernel-pkg --package %{kernel_name} --mkinitrd --dracut --depmod --update %{kernel_release} || exit $?
-                       /sbin/new-kernel-pkg --package %{kernel_name} --rpmposttrans %{kernel_release} || exit $?
+                       /sbin/new-kernel-pkg --package %{kernel_name} --mkinitrd --dracut --depmod --update %{kernel_release}
+                       /sbin/new-kernel-pkg --package %{kernel_name} --rpmposttrans %{kernel_release}
                end
 
                script posttransin
@@ -352,7 +372,7 @@ packages
                end
 
                script postin
-                       /sbin/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --install %{KVERREL}%{?-v:.%{-v*}}
+                       /sbin/new-kernel-pkg --package %{kernel_name} --install %{kernel_release}
                end
 
                script postup
@@ -427,13 +447,45 @@ packages
                end
 
                package kernel-versatile-devel
-                       kernel KERNELDEVEL
+                       template KERNELDEVEL
 
                        kernel_name = kernel-versatile
                        kernel_release = %{fullver}.versatile
                end
        end
 
+       if "%{build_kernel_kirkwood}" == "1"
+               package kernel-kirkwood
+                       template KERNEL
+
+                       kernel_name = kernel-kirkwood
+                       kernel_release = %{fullver}.kirkwood
+               end
+
+               package kernel-kirkwood-devel
+                       template KERNELDEVEL
+
+                       kernel_name = kernel-kirkwood
+                       kernel_release = %{fullver}.kirkwood
+               end
+       end
+
+       if "%{build_kernel_omap}" == "1"
+               package kernel-omap
+                       template KERNEL
+
+                       kernel_name = kernel-omap
+                       kernel_release = %{fullver}.omap
+               end
+
+               package kernel-omap-devel
+                       template KERNELDEVEL
+
+                       kernel_name = kernel-omap
+                       kernel_release = %{fullver}.omap
+               end
+       end
+
        package kernel-headers
                summary = Header files of the kernel release %{fullver}.
                desciption = %{summary}
diff --git a/kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch b/kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch
new file mode 100644 (file)
index 0000000..a36c683
--- /dev/null
@@ -0,0 +1,92 @@
+From 0b608345e114681f66ca0a3cf9d9434728da62ce Mon Sep 17 00:00:00 2001
+From: Ken Cox <ken@coxcampers.net>
+Date: Thu, 23 Jun 2011 10:36:43 -0500
+Subject: [PATCH] Support reading mac address from device tree.
+
+If CONFIG_OF is enabled, we will try to read the mac address from the device tree.  This enables us the ability to have a "static" mac address on arm boards such as the pandaboard and beagleboard which generate random mac addresses.
+---
+ drivers/net/usb/smsc75xx.c |   17 +++++++++++++++++
+ drivers/net/usb/smsc95xx.c |   18 +++++++++++++++++-
+ 2 files changed, 34 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c
+index 753ee6e..ac0a200 100644
+--- a/drivers/net/usb/smsc75xx.c
++++ b/drivers/net/usb/smsc75xx.c
+@@ -29,6 +29,7 @@
+ #include <linux/crc32.h>
+ #include <linux/usb/usbnet.h>
+ #include <linux/slab.h>
++#include <linux/of_device.h>
+ #include "smsc75xx.h"
+ #define SMSC_CHIPNAME                 "smsc75xx"
+@@ -658,6 +659,22 @@ static int smsc75xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
+ static void smsc75xx_init_mac_address(struct usbnet *dev)
+ {
++      void *address;
++#ifdef CONFIG_OF
++      struct device_node *np;
++
++      /* try the device tree */
++      np = of_find_node_by_name(NULL, "smsc75xx");
++      if (np) {
++              address = of_get_property(np, "local-mac-address", NULL);
++              if (address) {
++                      memcpy(dev->net->dev_addr, address, ETH_ALEN);
++                      netif_dbg(dev, ifup, dev->net, "MAC address read from device tree\n");
++                      return;
++              }
++      }
++#endif
++
+       /* try reading mac address from EEPROM */
+       if (smsc75xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
+                       dev->net->dev_addr) == 0) {
+diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
+index bc86f4b..c83942d 100644
+--- a/drivers/net/usb/smsc95xx.c
++++ b/drivers/net/usb/smsc95xx.c
+@@ -29,6 +29,7 @@
+ #include <linux/crc32.h>
+ #include <linux/usb/usbnet.h>
+ #include <linux/slab.h>
++#include <linux/of_device.h>
+ #include "smsc95xx.h"
+ #define SMSC_CHIPNAME                 "smsc95xx"
+@@ -639,6 +640,22 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
+ static void smsc95xx_init_mac_address(struct usbnet *dev)
+ {
++      void *address;
++#ifdef CONFIG_OF
++      struct device_node *np;
++
++      /* try the device tree */
++      np = of_find_node_by_name(NULL, "smsc95xx");
++      if (np) {
++              address = of_get_property(np, "local-mac-address", NULL);
++              if (address) {
++                      memcpy(dev->net->dev_addr, address, ETH_ALEN);
++                      netif_dbg(dev, ifup, dev->net, "MAC address read from device tree\n");
++                      return;
++              }
++      }
++#endif
++
+       /* try reading mac address from EEPROM */
+       if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
+                       dev->net->dev_addr) == 0) {
+@@ -648,7 +665,6 @@ static void smsc95xx_init_mac_address(struct usbnet *dev)
+                       return;
+               }
+       }
+-
+       /* no eeprom, or eeprom values are invalid. generate random MAC */
+       random_ether_addr(dev->net->dev_addr);
+       netif_dbg(dev, ifup, dev->net, "MAC address set to random_ether_addr\n");
+-- 
+1.7.2.3
+
similarity index 84%
rename from kernel/patches/grsecurity-2.2.2-3.1.5-201112101853.patch
rename to kernel/patches/grsecurity-2.9-3.2.12-201203221944.patch
index 67dea054b37ff74d726909bf957a1144ae082d1f..94d7e91d26bbfad01d801a1e13fcf73c2d8369bf 100644 (file)
@@ -1,8 +1,12 @@
 diff --git a/Documentation/dontdiff b/Documentation/dontdiff
-index dfa6fc6..0095943 100644
+index dfa6fc6..df93044 100644
 --- a/Documentation/dontdiff
 +++ b/Documentation/dontdiff
-@@ -5,6 +5,7 @@
+@@ -2,9 +2,11 @@
+ *.aux
+ *.bin
+ *.bz2
++*.c.[012]*.*
  *.cis
  *.cpio
  *.csp
@@ -10,7 +14,7 @@ index dfa6fc6..0095943 100644
  *.dsp
  *.dvi
  *.elf
-@@ -14,6 +15,7 @@
+@@ -14,6 +16,7 @@
  *.gcov
  *.gen.S
  *.gif
@@ -18,7 +22,7 @@ index dfa6fc6..0095943 100644
  *.grep
  *.grp
  *.gz
-@@ -48,9 +50,11 @@
+@@ -48,9 +51,11 @@
  *.tab.h
  *.tex
  *.ver
@@ -30,7 +34,7 @@ index dfa6fc6..0095943 100644
  *_vga16.c
  *~
  \#*#
-@@ -70,6 +74,7 @@ Kerntypes
+@@ -70,6 +75,7 @@ Kerntypes
  Module.markers
  Module.symvers
  PENDING
@@ -38,7 +42,7 @@ index dfa6fc6..0095943 100644
  SCCS
  System.map*
  TAGS
-@@ -93,19 +98,24 @@ bounds.h
+@@ -93,19 +99,24 @@ bounds.h
  bsetup
  btfixupprep
  build
@@ -63,7 +67,11 @@ index dfa6fc6..0095943 100644
  conmakehash
  consolemap_deftbl.c*
  cpustr.h
-@@ -119,6 +129,7 @@ dslm
+@@ -116,9 +127,11 @@ devlist.h*
+ dnotify_test
+ docproc
+ dslm
++dtc-lexer.lex.c
  elf2ecoff
  elfconfig.h*
  evergreen_reg_safe.h
@@ -71,7 +79,7 @@ index dfa6fc6..0095943 100644
  fixdep
  flask.h
  fore200e_mkfirm
-@@ -126,12 +137,15 @@ fore200e_pca_fw.c*
+@@ -126,12 +139,15 @@ fore200e_pca_fw.c*
  gconf
  gconf.glade.h
  gen-devlist
@@ -87,7 +95,7 @@ index dfa6fc6..0095943 100644
  hpet_example
  hugepage-mmap
  hugepage-shm
-@@ -146,7 +160,7 @@ int32.c
+@@ -146,7 +162,7 @@ int32.c
  int4.c
  int8.c
  kallsyms
@@ -96,15 +104,16 @@ index dfa6fc6..0095943 100644
  keywords.c
  ksym.c*
  ksym.h*
-@@ -154,7 +168,6 @@ kxgettext
+@@ -154,7 +170,7 @@ kxgettext
  lkc_defs.h
  lex.c
  lex.*.c
 -linux
++lib1funcs.S
  logo_*.c
  logo_*_clut224.c
  logo_*_mono.c
-@@ -166,14 +179,15 @@ machtypes.h
+@@ -166,14 +182,15 @@ machtypes.h
  map
  map_hugetlb
  maui_boot.h
@@ -121,7 +130,7 @@ index dfa6fc6..0095943 100644
  mkprep
  mkregtable
  mktables
-@@ -209,6 +223,7 @@ r300_reg_safe.h
+@@ -209,6 +226,7 @@ r300_reg_safe.h
  r420_reg_safe.h
  r600_reg_safe.h
  recordmcount
@@ -129,7 +138,7 @@ index dfa6fc6..0095943 100644
  relocs
  rlim_names.h
  rn50_reg_safe.h
-@@ -219,6 +234,7 @@ setup
+@@ -219,6 +237,7 @@ setup
  setup.bin
  setup.elf
  sImage
@@ -137,7 +146,7 @@ index dfa6fc6..0095943 100644
  sm_tbl*
  split-include
  syscalltab.h
-@@ -229,6 +245,7 @@ tftpboot.img
+@@ -229,6 +248,7 @@ tftpboot.img
  timeconst.h
  times.h*
  trix_boot.h
@@ -145,7 +154,7 @@ index dfa6fc6..0095943 100644
  utsrelease.h*
  vdso-syms.lds
  vdso.lds
-@@ -246,7 +263,9 @@ vmlinux
+@@ -246,7 +266,9 @@ vmlinux
  vmlinux-*
  vmlinux.aout
  vmlinux.bin.all
@@ -155,7 +164,7 @@ index dfa6fc6..0095943 100644
  vmlinuz
  voffset.h
  vsyscall.lds
-@@ -254,9 +273,11 @@ vsyscall_32.lds
+@@ -254,9 +276,11 @@ vsyscall_32.lds
  wanxlfw.inc
  uImage
  unifdef
@@ -168,10 +177,10 @@ index dfa6fc6..0095943 100644
 +zconf.lex.c
  zoffset.h
 diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
-index d6e6724..a024ce8 100644
+index 81c287f..d456d02 100644
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
-@@ -1898,6 +1898,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
+@@ -1935,6 +1935,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        the specified number of seconds.  This is to be used if
                        your oopses keep scrolling off the screen.
  
@@ -186,7 +195,7 @@ index d6e6724..a024ce8 100644
  
        pcd.            [PARIDE]
 diff --git a/Makefile b/Makefile
-index 94ab2ad..1e4a6e8 100644
+index 15e80f1..4fb87db 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -212,36 +221,47 @@ index 94ab2ad..1e4a6e8 100644
        $(Q)$(MAKE) $(build)=scripts/basic
        $(Q)rm -f .tmp_quiet_recordmcount
  
-@@ -564,6 +565,42 @@ else
+@@ -564,6 +565,53 @@ else
  KBUILD_CFLAGS += -O2
  endif
  
 +ifndef DISABLE_PAX_PLUGINS
 +ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y)
 +ifndef DISABLE_PAX_CONSTIFY_PLUGIN
-+CONSTIFY_PLUGIN := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
++CONSTIFY_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
 +endif
 +ifdef CONFIG_PAX_MEMORY_STACKLEAK
-+STACKLEAK_PLUGIN := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN
-+STACKLEAK_PLUGIN += -fplugin-arg-stackleak_plugin-track-lowest-sp=100
++STACKLEAK_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN
++STACKLEAK_PLUGIN_CFLAGS += -fplugin-arg-stackleak_plugin-track-lowest-sp=100
 +endif
 +ifdef CONFIG_KALLOCSTAT_PLUGIN
-+KALLOCSTAT_PLUGIN := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
++KALLOCSTAT_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
 +endif
 +ifdef CONFIG_PAX_KERNEXEC_PLUGIN
-+KERNEXEC_PLUGIN := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
-+KERNEXEC_PLUGIN += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD)
++KERNEXEC_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
++KERNEXEC_PLUGIN_CFLAGS += -fplugin-arg-kernexec_plugin-method=$(CONFIG_PAX_KERNEXEC_PLUGIN_METHOD) -DKERNEXEC_PLUGIN
++KERNEXEC_PLUGIN_AFLAGS := -DKERNEXEC_PLUGIN
 +endif
 +ifdef CONFIG_CHECKER_PLUGIN
 +ifeq ($(call cc-ifversion, -ge, 0406, y), y)
-+CHECKER_PLUGIN := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
++CHECKER_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
++endif
 +endif
++COLORIZE_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/colorize_plugin.so
++ifdef CONFIG_PAX_SIZE_OVERFLOW
++SIZE_OVERFLOW_PLUGIN_CFLAGS := -fplugin=$(objtree)/tools/gcc/size_overflow_plugin.so -DSIZE_OVERFLOW_PLUGIN
 +endif
-+GCC_PLUGINS := $(CONSTIFY_PLUGIN) $(STACKLEAK_PLUGIN) $(KALLOCSTAT_PLUGIN) $(KERNEXEC_PLUGIN) $(CHECKER_PLUGIN)
-+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN
++GCC_PLUGINS_CFLAGS := $(CONSTIFY_PLUGIN_CFLAGS) $(STACKLEAK_PLUGIN_CFLAGS) $(KALLOCSTAT_PLUGIN_CFLAGS)
++GCC_PLUGINS_CFLAGS += $(KERNEXEC_PLUGIN_CFLAGS) $(CHECKER_PLUGIN_CFLAGS) $(COLORIZE_PLUGIN_CFLAGS) $(SIZE_OVERFLOW_PLUGIN_CFLAGS)
++GCC_PLUGINS_AFLAGS := $(KERNEXEC_PLUGIN_AFLAGS)
++export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN SIZE_OVERFLOW_PLUGIN
++ifeq ($(KBUILD_EXTMOD),)
 +gcc-plugins:
 +      $(Q)$(MAKE) $(build)=tools/gcc
 +else
++gcc-plugins: ;
++endif
++else
 +gcc-plugins:
 +ifeq ($(call cc-ifversion, -ge, 0405, y), y)
 +      $(error Your gcc installation does not support plugins.  If the necessary headers for plugin support are missing, they should be installed.  On Debian, apt-get install gcc-<ver>-plugin-dev.  If you choose to ignore this error and lessen the improvements provided by this patch, re-run make with the DISABLE_PAX_PLUGINS=y argument.))
@@ -255,7 +275,7 @@ index 94ab2ad..1e4a6e8 100644
  include $(srctree)/arch/$(SRCARCH)/Makefile
  
  ifneq ($(CONFIG_FRAME_WARN),0)
-@@ -708,7 +745,7 @@ export mod_strip_cmd
+@@ -708,7 +756,7 @@ export mod_strip_cmd
  
  
  ifeq ($(KBUILD_EXTMOD),)
@@ -264,15 +284,16 @@ index 94ab2ad..1e4a6e8 100644
  
  vmlinux-dirs  := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
                     $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
-@@ -932,6 +969,7 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE
+@@ -932,6 +980,8 @@ vmlinux.o: $(modpost-init) $(vmlinux-main) FORCE
  
  # The actual objects are generated when descending, 
  # make sure no implicit rule kicks in
-+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS)
++$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
  $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
  
  # Handle descending into subdirectories listed in $(vmlinux-dirs)
-@@ -941,7 +979,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
+@@ -941,7 +991,7 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
  # Error messages still appears in the original language
  
  PHONY += $(vmlinux-dirs)
@@ -281,23 +302,24 @@ index 94ab2ad..1e4a6e8 100644
        $(Q)$(MAKE) $(build)=$@
  
  # Store (new) KERNELRELASE string in include/config/kernel.release
-@@ -986,6 +1024,7 @@ prepare0: archprepare FORCE
-       $(Q)$(MAKE) $(build)=. missing-syscalls
+@@ -985,6 +1035,7 @@ prepare0: archprepare FORCE
+       $(Q)$(MAKE) $(build)=.
  
  # All the preparing..
-+prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS),$(KBUILD_CFLAGS))
++prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
  prepare: prepare0
  
  # Generate some files
-@@ -1087,6 +1126,7 @@ all: modules
+@@ -1086,6 +1137,8 @@ all: modules
  #     using awk while concatenating to the final file.
  
  PHONY += modules
-+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
  modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
        $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
        @$(kecho) '  Building modules, stage 2.';
-@@ -1102,7 +1142,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
+@@ -1101,7 +1154,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
  
  # Target to prepare building external modules
  PHONY += modules_prepare
@@ -306,35 +328,37 @@ index 94ab2ad..1e4a6e8 100644
  
  # Target to install modules
  PHONY += modules_install
-@@ -1198,7 +1238,7 @@ distclean: mrproper
-       @find $(srctree) $(RCS_FIND_IGNORE) \
+@@ -1198,6 +1251,7 @@ distclean: mrproper
                \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
                -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
--              -o -name '.*.rej' -o -size 0 \
-+              -o -name '.*.rej' -o -name '*.so' -o -size 0 \
+               -o -name '.*.rej' \
++              -o -name '.*.rej' -o -name '*.so' \
                -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
                -type f -print | xargs rm -f
  
-@@ -1360,6 +1400,7 @@ PHONY += $(module-dirs) modules
+@@ -1358,6 +1412,8 @@ PHONY += $(module-dirs) modules
  $(module-dirs): crmodverdir $(objtree)/Module.symvers
        $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
  
-+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
++modules: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++modules: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
  modules: $(module-dirs)
        @$(kecho) '  Building modules, stage 2.';
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
-@@ -1486,17 +1527,19 @@ else
+@@ -1484,17 +1540,21 @@ else
          target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
  endif
  
 -%.s: %.c prepare scripts FORCE
-+%.s: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%.s: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%.s: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
 +%.s: %.c gcc-plugins prepare scripts FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
  %.i: %.c prepare scripts FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
 -%.o: %.c prepare scripts FORCE
-+%.o: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%.o: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%.o: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
 +%.o: %.c gcc-plugins prepare scripts FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
  %.lst: %.c prepare scripts FORCE
@@ -347,22 +371,71 @@ index 94ab2ad..1e4a6e8 100644
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
  %.symtypes: %.c prepare scripts FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
-@@ -1506,11 +1549,13 @@ endif
+@@ -1504,11 +1564,15 @@ endif
        $(cmd_crmodverdir)
        $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
        $(build)=$(build-dir)
 -%/: prepare scripts FORCE
-+%/: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%/: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%/: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
 +%/: gcc-plugins prepare scripts FORCE
        $(cmd_crmodverdir)
        $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
        $(build)=$(build-dir)
 -%.ko: prepare scripts FORCE
-+%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS)
++%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
++%.ko: KBUILD_AFLAGS += $(GCC_PLUGINS_AFLAGS)
 +%.ko: gcc-plugins prepare scripts FORCE
        $(cmd_crmodverdir)
        $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1)   \
        $(build)=$(build-dir) $(@:.ko=.o)
+diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h
+index 640f909..48b6597 100644
+--- a/arch/alpha/include/asm/atomic.h
++++ b/arch/alpha/include/asm/atomic.h
+@@ -250,6 +250,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+ #define atomic_dec(v) atomic_sub(1,(v))
+ #define atomic64_dec(v) atomic64_sub(1,(v))
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ #define smp_mb__before_atomic_dec()   smp_mb()
+ #define smp_mb__after_atomic_dec()    smp_mb()
+ #define smp_mb__before_atomic_inc()   smp_mb()
+diff --git a/arch/alpha/include/asm/cache.h b/arch/alpha/include/asm/cache.h
+index ad368a9..fbe0f25 100644
+--- a/arch/alpha/include/asm/cache.h
++++ b/arch/alpha/include/asm/cache.h
+@@ -4,19 +4,19 @@
+ #ifndef __ARCH_ALPHA_CACHE_H
+ #define __ARCH_ALPHA_CACHE_H
++#include <linux/const.h>
+ /* Bytes per L1 (data) cache line. */
+ #if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_EV6)
+-# define L1_CACHE_BYTES     64
+ # define L1_CACHE_SHIFT     6
+ #else
+ /* Both EV4 and EV5 are write-through, read-allocate,
+    direct-mapped, physical.
+ */
+-# define L1_CACHE_BYTES     32
+ # define L1_CACHE_SHIFT     5
+ #endif
++#define L1_CACHE_BYTES     (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define SMP_CACHE_BYTES    L1_CACHE_BYTES
+ #endif
 diff --git a/arch/alpha/include/asm/elf.h b/arch/alpha/include/asm/elf.h
 index da5449e..7418343 100644
 --- a/arch/alpha/include/asm/elf.h
@@ -612,10 +685,248 @@ index fadd5f8..904e73a 100644
                /* Allow reads even for write-only mappings */
                if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
 diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
-index 86976d0..8a57797 100644
+index 86976d0..683de93 100644
 --- a/arch/arm/include/asm/atomic.h
 +++ b/arch/arm/include/asm/atomic.h
-@@ -239,6 +239,14 @@ typedef struct {
+@@ -15,6 +15,10 @@
+ #include <linux/types.h>
+ #include <asm/system.h>
++#ifdef CONFIG_GENERIC_ATOMIC64
++#include <asm-generic/atomic64.h>
++#endif
++
+ #define ATOMIC_INIT(i)        { (i) }
+ #ifdef __KERNEL__
+@@ -25,7 +29,15 @@
+  * atomic_set() is the clrex or dummy strex done on every exception return.
+  */
+ #define atomic_read(v)        (*(volatile int *)&(v)->counter)
++static inline int atomic_read_unchecked(const atomic_unchecked_t *v)
++{
++      return v->counter;
++}
+ #define atomic_set(v,i)       (((v)->counter) = (i))
++static inline void atomic_set_unchecked(atomic_unchecked_t *v, int i)
++{
++      v->counter = i;
++}
+ #if __LINUX_ARM_ARCH__ >= 6
+@@ -40,6 +52,35 @@ static inline void atomic_add(int i, atomic_t *v)
+       int result;
+       __asm__ __volatile__("@ atomic_add\n"
++"1:   ldrex   %1, [%3]\n"
++"     adds    %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
++"     strex   %1, %0, [%3]\n"
++"     teq     %1, #0\n"
++"     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
++      : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++      : "r" (&v->counter), "Ir" (i)
++      : "cc");
++}
++
++static inline void atomic_add_unchecked(int i, atomic_unchecked_t *v)
++{
++      unsigned long tmp;
++      int result;
++
++      __asm__ __volatile__("@ atomic_add_unchecked\n"
+ "1:   ldrex   %0, [%3]\n"
+ "     add     %0, %0, %4\n"
+ "     strex   %1, %0, [%3]\n"
+@@ -58,6 +99,42 @@ static inline int atomic_add_return(int i, atomic_t *v)
+       smp_mb();
+       __asm__ __volatile__("@ atomic_add_return\n"
++"1:   ldrex   %1, [%3]\n"
++"     adds    %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"     mov     %0, %1\n"
++"2:   bkpt 0xf103\n"
++"3:\n"
++#endif
++
++"     strex   %1, %0, [%3]\n"
++"     teq     %1, #0\n"
++"     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
++      : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++      : "r" (&v->counter), "Ir" (i)
++      : "cc");
++
++      smp_mb();
++
++      return result;
++}
++
++static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t *v)
++{
++      unsigned long tmp;
++      int result;
++
++      smp_mb();
++
++      __asm__ __volatile__("@ atomic_add_return_unchecked\n"
+ "1:   ldrex   %0, [%3]\n"
+ "     add     %0, %0, %4\n"
+ "     strex   %1, %0, [%3]\n"
+@@ -78,6 +155,35 @@ static inline void atomic_sub(int i, atomic_t *v)
+       int result;
+       __asm__ __volatile__("@ atomic_sub\n"
++"1:   ldrex   %1, [%3]\n"
++"     subs    %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
++"     strex   %1, %0, [%3]\n"
++"     teq     %1, #0\n"
++"     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
++      : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++      : "r" (&v->counter), "Ir" (i)
++      : "cc");
++}
++
++static inline void atomic_sub_unchecked(int i, atomic_unchecked_t *v)
++{
++      unsigned long tmp;
++      int result;
++
++      __asm__ __volatile__("@ atomic_sub_unchecked\n"
+ "1:   ldrex   %0, [%3]\n"
+ "     sub     %0, %0, %4\n"
+ "     strex   %1, %0, [%3]\n"
+@@ -96,11 +202,25 @@ static inline int atomic_sub_return(int i, atomic_t *v)
+       smp_mb();
+       __asm__ __volatile__("@ atomic_sub_return\n"
+-"1:   ldrex   %0, [%3]\n"
+-"     sub     %0, %0, %4\n"
++"1:   ldrex   %1, [%3]\n"
++"     sub     %0, %1, %4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"     mov     %0, %1\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
+ "     strex   %1, %0, [%3]\n"
+ "     teq     %1, #0\n"
+ "     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
+       : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
+       : "r" (&v->counter), "Ir" (i)
+       : "cc");
+@@ -132,6 +252,28 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)
+       return oldval;
+ }
++static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *ptr, int old, int new)
++{
++      unsigned long oldval, res;
++
++      smp_mb();
++
++      do {
++              __asm__ __volatile__("@ atomic_cmpxchg_unchecked\n"
++              "ldrex  %1, [%3]\n"
++              "mov    %0, #0\n"
++              "teq    %1, %4\n"
++              "strexeq %0, %5, [%3]\n"
++                  : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)
++                  : "r" (&ptr->counter), "Ir" (old), "r" (new)
++                  : "cc");
++      } while (res);
++
++      smp_mb();
++
++      return oldval;
++}
++
+ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
+ {
+       unsigned long tmp, tmp2;
+@@ -207,6 +349,10 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
+ #endif /* __LINUX_ARM_ARCH__ */
+ #define atomic_xchg(v, new) (xchg(&((v)->counter), new))
++static inline int atomic_xchg_unchecked(atomic_unchecked_t *v, int new)
++{
++      return xchg(&v->counter, new);
++}
+ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+ {
+@@ -219,11 +365,27 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+ }
+ #define atomic_inc(v)         atomic_add(1, v)
++static inline void atomic_inc_unchecked(atomic_unchecked_t *v)
++{
++      atomic_add_unchecked(1, v);
++}
+ #define atomic_dec(v)         atomic_sub(1, v)
++static inline void atomic_dec_unchecked(atomic_unchecked_t *v)
++{
++      atomic_sub_unchecked(1, v);
++}
+ #define atomic_inc_and_test(v)        (atomic_add_return(1, v) == 0)
++static inline int atomic_inc_and_test_unchecked(atomic_unchecked_t *v)
++{
++      return atomic_add_return_unchecked(1, v) == 0;
++}
+ #define atomic_dec_and_test(v)        (atomic_sub_return(1, v) == 0)
+ #define atomic_inc_return(v)    (atomic_add_return(1, v))
++static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v)
++{
++      return atomic_add_return_unchecked(1, v);
++}
+ #define atomic_dec_return(v)    (atomic_sub_return(1, v))
+ #define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0)
+@@ -239,6 +401,14 @@ typedef struct {
        u64 __aligned(8) counter;
  } atomic64_t;
  
@@ -630,6 +941,355 @@ index 86976d0..8a57797 100644
  #define ATOMIC64_INIT(i) { (i) }
  
  static inline u64 atomic64_read(atomic64_t *v)
+@@ -254,6 +424,19 @@ static inline u64 atomic64_read(atomic64_t *v)
+       return result;
+ }
++static inline u64 atomic64_read_unchecked(atomic64_unchecked_t *v)
++{
++      u64 result;
++
++      __asm__ __volatile__("@ atomic64_read_unchecked\n"
++"     ldrexd  %0, %H0, [%1]"
++      : "=&r" (result)
++      : "r" (&v->counter), "Qo" (v->counter)
++      );
++
++      return result;
++}
++
+ static inline void atomic64_set(atomic64_t *v, u64 i)
+ {
+       u64 tmp;
+@@ -268,6 +451,20 @@ static inline void atomic64_set(atomic64_t *v, u64 i)
+       : "cc");
+ }
++static inline void atomic64_set_unchecked(atomic64_unchecked_t *v, u64 i)
++{
++      u64 tmp;
++
++      __asm__ __volatile__("@ atomic64_set_unchecked\n"
++"1:   ldrexd  %0, %H0, [%2]\n"
++"     strexd  %0, %3, %H3, [%2]\n"
++"     teq     %0, #0\n"
++"     bne     1b"
++      : "=&r" (tmp), "=Qo" (v->counter)
++      : "r" (&v->counter), "r" (i)
++      : "cc");
++}
++
+ static inline void atomic64_add(u64 i, atomic64_t *v)
+ {
+       u64 result;
+@@ -276,6 +473,36 @@ static inline void atomic64_add(u64 i, atomic64_t *v)
+       __asm__ __volatile__("@ atomic64_add\n"
+ "1:   ldrexd  %0, %H0, [%3]\n"
+ "     adds    %0, %0, %4\n"
++"     adcs    %H0, %H0, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
++"     strexd  %1, %0, %H0, [%3]\n"
++"     teq     %1, #0\n"
++"     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
++      : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++      : "r" (&v->counter), "r" (i)
++      : "cc");
++}
++
++static inline void atomic64_add_unchecked(u64 i, atomic64_unchecked_t *v)
++{
++      u64 result;
++      unsigned long tmp;
++
++      __asm__ __volatile__("@ atomic64_add_unchecked\n"
++"1:   ldrexd  %0, %H0, [%3]\n"
++"     adds    %0, %0, %4\n"
+ "     adc     %H0, %H0, %H4\n"
+ "     strexd  %1, %0, %H0, [%3]\n"
+ "     teq     %1, #0\n"
+@@ -287,12 +514,49 @@ static inline void atomic64_add(u64 i, atomic64_t *v)
+ static inline u64 atomic64_add_return(u64 i, atomic64_t *v)
+ {
+-      u64 result;
+-      unsigned long tmp;
++      u64 result, tmp;
+       smp_mb();
+       __asm__ __volatile__("@ atomic64_add_return\n"
++"1:   ldrexd  %1, %H1, [%3]\n"
++"     adds    %0, %1, %4\n"
++"     adcs    %H0, %H1, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"     mov     %0, %1\n"
++"     mov     %H0, %H1\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
++"     strexd  %1, %0, %H0, [%3]\n"
++"     teq     %1, #0\n"
++"     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
++      : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++      : "r" (&v->counter), "r" (i)
++      : "cc");
++
++      smp_mb();
++
++      return result;
++}
++
++static inline u64 atomic64_add_return_unchecked(u64 i, atomic64_unchecked_t *v)
++{
++      u64 result;
++      unsigned long tmp;
++
++      smp_mb();
++
++      __asm__ __volatile__("@ atomic64_add_return_unchecked\n"
+ "1:   ldrexd  %0, %H0, [%3]\n"
+ "     adds    %0, %0, %4\n"
+ "     adc     %H0, %H0, %H4\n"
+@@ -316,6 +580,36 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)
+       __asm__ __volatile__("@ atomic64_sub\n"
+ "1:   ldrexd  %0, %H0, [%3]\n"
+ "     subs    %0, %0, %4\n"
++"     sbcs    %H0, %H0, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
++"     strexd  %1, %0, %H0, [%3]\n"
++"     teq     %1, #0\n"
++"     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
++      : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
++      : "r" (&v->counter), "r" (i)
++      : "cc");
++}
++
++static inline void atomic64_sub_unchecked(u64 i, atomic64_unchecked_t *v)
++{
++      u64 result;
++      unsigned long tmp;
++
++      __asm__ __volatile__("@ atomic64_sub_unchecked\n"
++"1:   ldrexd  %0, %H0, [%3]\n"
++"     subs    %0, %0, %4\n"
+ "     sbc     %H0, %H0, %H4\n"
+ "     strexd  %1, %0, %H0, [%3]\n"
+ "     teq     %1, #0\n"
+@@ -327,18 +621,32 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)
+ static inline u64 atomic64_sub_return(u64 i, atomic64_t *v)
+ {
+-      u64 result;
+-      unsigned long tmp;
++      u64 result, tmp;
+       smp_mb();
+       __asm__ __volatile__("@ atomic64_sub_return\n"
+-"1:   ldrexd  %0, %H0, [%3]\n"
+-"     subs    %0, %0, %4\n"
+-"     sbc     %H0, %H0, %H4\n"
++"1:   ldrexd  %1, %H1, [%3]\n"
++"     subs    %0, %1, %4\n"
++"     sbc     %H0, %H1, %H4\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"     mov     %0, %1\n"
++"     mov     %H0, %H1\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
+ "     strexd  %1, %0, %H0, [%3]\n"
+ "     teq     %1, #0\n"
+ "     bne     1b"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"\n4:\n"
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
+       : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
+       : "r" (&v->counter), "r" (i)
+       : "cc");
+@@ -372,6 +680,30 @@ static inline u64 atomic64_cmpxchg(atomic64_t *ptr, u64 old, u64 new)
+       return oldval;
+ }
++static inline u64 atomic64_cmpxchg_unchecked(atomic64_unchecked_t *ptr, u64 old, u64 new)
++{
++      u64 oldval;
++      unsigned long res;
++
++      smp_mb();
++
++      do {
++              __asm__ __volatile__("@ atomic64_cmpxchg_unchecked\n"
++              "ldrexd         %1, %H1, [%3]\n"
++              "mov            %0, #0\n"
++              "teq            %1, %4\n"
++              "teqeq          %H1, %H4\n"
++              "strexdeq       %0, %5, %H5, [%3]"
++              : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)
++              : "r" (&ptr->counter), "r" (old), "r" (new)
++              : "cc");
++      } while (res);
++
++      smp_mb();
++
++      return oldval;
++}
++
+ static inline u64 atomic64_xchg(atomic64_t *ptr, u64 new)
+ {
+       u64 result;
+@@ -395,21 +727,34 @@ static inline u64 atomic64_xchg(atomic64_t *ptr, u64 new)
+ static inline u64 atomic64_dec_if_positive(atomic64_t *v)
+ {
+-      u64 result;
+-      unsigned long tmp;
++      u64 result, tmp;
+       smp_mb();
+       __asm__ __volatile__("@ atomic64_dec_if_positive\n"
+-"1:   ldrexd  %0, %H0, [%3]\n"
+-"     subs    %0, %0, #1\n"
+-"     sbc     %H0, %H0, #0\n"
++"1:   ldrexd  %1, %H1, [%3]\n"
++"     subs    %0, %1, #1\n"
++"     sbc     %H0, %H1, #0\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"     mov     %0, %1\n"
++"     mov     %H0, %H1\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
+ "     teq     %H0, #0\n"
+-"     bmi     2f\n"
++"     bmi     4f\n"
+ "     strexd  %1, %0, %H0, [%3]\n"
+ "     teq     %1, #0\n"
+ "     bne     1b\n"
+-"2:"
++"4:\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
+       : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)
+       : "r" (&v->counter)
+       : "cc");
+@@ -432,13 +777,25 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
+ "     teq     %0, %5\n"
+ "     teqeq   %H0, %H5\n"
+ "     moveq   %1, #0\n"
+-"     beq     2f\n"
++"     beq     4f\n"
+ "     adds    %0, %0, %6\n"
+ "     adc     %H0, %H0, %H6\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++"     bvc     3f\n"
++"2:   bkpt    0xf103\n"
++"3:\n"
++#endif
++
+ "     strexd  %2, %0, %H0, [%4]\n"
+ "     teq     %2, #0\n"
+ "     bne     1b\n"
+-"2:"
++"4:\n"
++
++#ifdef CONFIG_PAX_REFCOUNT
++      _ASM_EXTABLE(2b, 4b)
++#endif
++
+       : "=&r" (val), "+r" (ret), "=&r" (tmp), "+Qo" (v->counter)
+       : "r" (&v->counter), "r" (u), "r" (a)
+       : "cc");
+@@ -451,10 +808,13 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)
+ #define atomic64_add_negative(a, v)   (atomic64_add_return((a), (v)) < 0)
+ #define atomic64_inc(v)                       atomic64_add(1LL, (v))
++#define atomic64_inc_unchecked(v)     atomic64_add_unchecked(1LL, (v))
+ #define atomic64_inc_return(v)                atomic64_add_return(1LL, (v))
++#define atomic64_inc_return_unchecked(v)      atomic64_add_return_unchecked(1LL, (v))
+ #define atomic64_inc_and_test(v)      (atomic64_inc_return(v) == 0)
+ #define atomic64_sub_and_test(a, v)   (atomic64_sub_return((a), (v)) == 0)
+ #define atomic64_dec(v)                       atomic64_sub(1LL, (v))
++#define atomic64_dec_unchecked(v)     atomic64_sub_unchecked(1LL, (v))
+ #define atomic64_dec_return(v)                atomic64_sub_return(1LL, (v))
+ #define atomic64_dec_and_test(v)      (atomic64_dec_return((v)) == 0)
+ #define atomic64_inc_not_zero(v)      atomic64_add_unless((v), 1LL, 0LL)
+diff --git a/arch/arm/include/asm/cache.h b/arch/arm/include/asm/cache.h
+index 75fe66b..2255c86 100644
+--- a/arch/arm/include/asm/cache.h
++++ b/arch/arm/include/asm/cache.h
+@@ -4,8 +4,10 @@
+ #ifndef __ASMARM_CACHE_H
+ #define __ASMARM_CACHE_H
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT                CONFIG_ARM_L1_CACHE_SHIFT
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ /*
+  * Memory returned by kmalloc() may be used for DMA, so we must make
+diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
+index d5d8d5c..ad92c96 100644
+--- a/arch/arm/include/asm/cacheflush.h
++++ b/arch/arm/include/asm/cacheflush.h
+@@ -108,7 +108,7 @@ struct cpu_cache_fns {
+       void (*dma_unmap_area)(const void *, size_t, int);
+       void (*dma_flush_range)(const void *, const void *);
+-};
++} __no_const;
+ /*
+  * Select the calling method
 diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h
 index 0e9ce8d..6ef1e03 100644
 --- a/arch/arm/include/asm/elf.h
@@ -673,6 +1333,68 @@ index e51b1e8..32a3113 100644
        KM_TYPE_NR
  };
  
+diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
+index 53426c6..c7baff3 100644
+--- a/arch/arm/include/asm/outercache.h
++++ b/arch/arm/include/asm/outercache.h
+@@ -35,7 +35,7 @@ struct outer_cache_fns {
+ #endif
+       void (*set_debug)(unsigned long);
+       void (*resume)(void);
+-};
++} __no_const;
+ #ifdef CONFIG_OUTER_CACHE
+diff --git a/arch/arm/include/asm/page.h b/arch/arm/include/asm/page.h
+index ca94653..6ac0d56 100644
+--- a/arch/arm/include/asm/page.h
++++ b/arch/arm/include/asm/page.h
+@@ -123,7 +123,7 @@ struct cpu_user_fns {
+       void (*cpu_clear_user_highpage)(struct page *page, unsigned long vaddr);
+       void (*cpu_copy_user_highpage)(struct page *to, struct page *from,
+                       unsigned long vaddr, struct vm_area_struct *vma);
+-};
++} __no_const;
+ #ifdef MULTI_USER
+ extern struct cpu_user_fns cpu_user;
+diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
+index 984014b..a6d914f 100644
+--- a/arch/arm/include/asm/system.h
++++ b/arch/arm/include/asm/system.h
+@@ -90,6 +90,8 @@ void hook_ifault_code(int nr, int (*fn)(unsigned long, unsigned int,
+ #define xchg(ptr,x) \
+       ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
++#define xchg_unchecked(ptr,x) \
++      ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
+ extern asmlinkage void c_backtrace(unsigned long fp, int pmode);
+@@ -101,7 +103,7 @@ extern int __pure cpu_architecture(void);
+ extern void cpu_init(void);
+ void arm_machine_restart(char mode, const char *cmd);
+-extern void (*arm_pm_restart)(char str, const char *cmd);
++extern void (*arm_pm_restart)(char str, const char *cmd) __noreturn;
+ #define UDBG_UNDEFINED        (1 << 0)
+ #define UDBG_SYSCALL  (1 << 1)
+@@ -526,6 +528,13 @@ static inline unsigned long long __cmpxchg64_mb(volatile void *ptr,
+ #endif        /* __LINUX_ARM_ARCH__ >= 6 */
++#define _ASM_EXTABLE(from, to)                \
++"     .pushsection __ex_table,\"a\"\n"\
++"     .align  3\n"                    \
++"     .long   " #from ", " #to"\n"    \
++"     .popsection"
++
++
+ #endif /* __ASSEMBLY__ */
+ #define arch_align_stack(x) (x)
 diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
 index b293616..96310e5 100644
 --- a/arch/arm/include/asm/uaccess.h
@@ -733,10 +1455,10 @@ index b293616..96310e5 100644
                n = __copy_to_user(to, from, n);
        return n;
 diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c
-index aeef960..2966009 100644
+index 5b0bce6..becd81c 100644
 --- a/arch/arm/kernel/armksyms.c
 +++ b/arch/arm/kernel/armksyms.c
-@@ -98,8 +98,8 @@ EXPORT_SYMBOL(__strncpy_from_user);
+@@ -95,8 +95,8 @@ EXPORT_SYMBOL(__strncpy_from_user);
  #ifdef CONFIG_MMU
  EXPORT_SYMBOL(copy_page);
  
@@ -748,7 +1470,7 @@ index aeef960..2966009 100644
  
  EXPORT_SYMBOL(__get_user_1);
 diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
-index c9d11ea..5078081 100644
+index 3d0c6fb..9d326fa 100644
 --- a/arch/arm/kernel/process.c
 +++ b/arch/arm/kernel/process.c
 @@ -28,7 +28,6 @@
@@ -759,7 +1481,33 @@ index c9d11ea..5078081 100644
  #include <linux/hw_breakpoint.h>
  #include <linux/cpuidle.h>
  
-@@ -484,12 +483,6 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -92,7 +91,7 @@ static int __init hlt_setup(char *__unused)
+ __setup("nohlt", nohlt_setup);
+ __setup("hlt", hlt_setup);
+-void arm_machine_restart(char mode, const char *cmd)
++__noreturn void arm_machine_restart(char mode, const char *cmd)
+ {
+       /* Disable interrupts first */
+       local_irq_disable();
+@@ -134,7 +133,7 @@ void arm_machine_restart(char mode, const char *cmd)
+ void (*pm_power_off)(void);
+ EXPORT_SYMBOL(pm_power_off);
+-void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
++void (*arm_pm_restart)(char str, const char *cmd) __noreturn = arm_machine_restart;
+ EXPORT_SYMBOL_GPL(arm_pm_restart);
+ static void do_nothing(void *unused)
+@@ -248,6 +247,7 @@ void machine_power_off(void)
+       machine_shutdown();
+       if (pm_power_off)
+               pm_power_off();
++      BUG();
+ }
+ void machine_restart(char *cmd)
+@@ -484,12 +484,6 @@ unsigned long get_wchan(struct task_struct *p)
        return 0;
  }
  
@@ -772,20 +1520,41 @@ index c9d11ea..5078081 100644
  #ifdef CONFIG_MMU
  /*
   * The vectors page is always readable from user space for the
+diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
+index 8fc2c8f..064c150 100644
+--- a/arch/arm/kernel/setup.c
++++ b/arch/arm/kernel/setup.c
+@@ -108,13 +108,13 @@ struct processor processor __read_mostly;
+ struct cpu_tlb_fns cpu_tlb __read_mostly;
+ #endif
+ #ifdef MULTI_USER
+-struct cpu_user_fns cpu_user __read_mostly;
++struct cpu_user_fns cpu_user __read_only;
+ #endif
+ #ifdef MULTI_CACHE
+-struct cpu_cache_fns cpu_cache __read_mostly;
++struct cpu_cache_fns cpu_cache __read_only;
+ #endif
+ #ifdef CONFIG_OUTER_CACHE
+-struct outer_cache_fns outer_cache __read_mostly;
++struct outer_cache_fns outer_cache __read_only;
+ EXPORT_SYMBOL(outer_cache);
+ #endif
 diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
-index bc9f9da..c75d826 100644
+index 99a5727..a3d5bb1 100644
 --- a/arch/arm/kernel/traps.c
 +++ b/arch/arm/kernel/traps.c
-@@ -257,6 +257,8 @@ static int __die(const char *str, int err, struct thread_info *thread, struct pt
+@@ -259,6 +259,8 @@ static int __die(const char *str, int err, struct thread_info *thread, struct pt
  
- static DEFINE_SPINLOCK(die_lock);
+ static DEFINE_RAW_SPINLOCK(die_lock);
  
 +extern void gr_handle_kernel_exploit(void);
 +
  /*
   * This function is protected against re-entrancy.
   */
-@@ -284,6 +286,9 @@ void die(const char *str, struct pt_regs *regs, int err)
+@@ -288,6 +290,9 @@ void die(const char *str, struct pt_regs *regs, int err)
                panic("Fatal exception in interrupt");
        if (panic_on_oops)
                panic("Fatal exception");
@@ -822,6 +1591,18 @@ index 66a477a..bee61d3 100644
  
        .pushsection .fixup,"ax"
        .align 0
+diff --git a/arch/arm/lib/copy_page.S b/arch/arm/lib/copy_page.S
+index 6ee2f67..d1cce76 100644
+--- a/arch/arm/lib/copy_page.S
++++ b/arch/arm/lib/copy_page.S
+@@ -10,6 +10,7 @@
+  *  ASM optimised string functions
+  */
+ #include <linux/linkage.h>
++#include <linux/const.h>
+ #include <asm/assembler.h>
+ #include <asm/asm-offsets.h>
+ #include <asm/cache.h>
 diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S
 index d066df6..df28194 100644
 --- a/arch/arm/lib/copy_to_user.S
@@ -907,10 +1688,10 @@ index d0ece2a..5ae2f39 100644
                .pushsection .fixup,"ax"
                .align  0
 diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c
-index 8b9b136..70d5100 100644
+index 025f742..8432b08 100644
 --- a/arch/arm/lib/uaccess_with_memcpy.c
 +++ b/arch/arm/lib/uaccess_with_memcpy.c
-@@ -103,7 +103,7 @@ out:
+@@ -104,7 +104,7 @@ out:
  }
  
  unsigned long
@@ -919,6 +1700,19 @@ index 8b9b136..70d5100 100644
  {
        /*
         * This test is stubbed out of the main function above to keep
+diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
+index e9d5f4a..f099699 100644
+--- a/arch/arm/mach-omap2/board-n8x0.c
++++ b/arch/arm/mach-omap2/board-n8x0.c
+@@ -593,7 +593,7 @@ static int n8x0_menelaus_late_init(struct device *dev)
+ }
+ #endif
+-static struct menelaus_platform_data n8x0_menelaus_platform_data __initdata = {
++static struct menelaus_platform_data n8x0_menelaus_platform_data __initconst = {
+       .late_init = n8x0_menelaus_late_init,
+ };
 diff --git a/arch/arm/mach-ux500/mbox-db5500.c b/arch/arm/mach-ux500/mbox-db5500.c
 index 2b2d51c..0127490 100644
 --- a/arch/arm/mach-ux500/mbox-db5500.c
@@ -933,10 +1727,10 @@ index 2b2d51c..0127490 100644
  static int mbox_show(struct seq_file *s, void *data)
  {
 diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
-index 3b5ea68..42fc9af 100644
+index aa33949..d366075 100644
 --- a/arch/arm/mm/fault.c
 +++ b/arch/arm/mm/fault.c
-@@ -182,6 +182,13 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
+@@ -183,6 +183,13 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
        }
  #endif
  
@@ -950,7 +1744,7 @@ index 3b5ea68..42fc9af 100644
        tsk->thread.address = addr;
        tsk->thread.error_code = fsr;
        tsk->thread.trap_no = 14;
-@@ -383,6 +390,33 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
+@@ -384,6 +391,33 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
  }
  #endif                                        /* CONFIG_MMU */
  
@@ -984,11 +1778,32 @@ index 3b5ea68..42fc9af 100644
  /*
   * First Level Translation Fault Handler
   *
+@@ -628,6 +662,20 @@ do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs)
+       const struct fsr_info *inf = ifsr_info + fsr_fs(ifsr);
+       struct siginfo info;
++#ifdef CONFIG_PAX_REFCOUNT
++      if (fsr_fs(ifsr) == 2) {
++              unsigned int bkpt;
++
++              if (!probe_kernel_address((unsigned int *)addr, bkpt) && bkpt == 0xe12f1073) {
++                      current->thread.error_code = ifsr;
++                      current->thread.trap_no = 0;
++                      pax_report_refcount_overflow(regs);
++                      fixup_exception(regs);
++                      return;
++              }
++      }
++#endif
++
+       if (!inf->fn(addr, ifsr | FSR_LNX_PF, regs))
+               return;
 diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c
-index 74be05f..f605b8c 100644
+index 44b628e..623ee2a 100644
 --- a/arch/arm/mm/mmap.c
 +++ b/arch/arm/mm/mmap.c
-@@ -65,6 +65,10 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
+@@ -54,6 +54,10 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
        if (len > TASK_SIZE)
                return -ENOMEM;
  
@@ -999,7 +1814,7 @@ index 74be05f..f605b8c 100644
        if (addr) {
                if (do_align)
                        addr = COLOUR_ALIGN(addr, pgoff);
-@@ -72,15 +76,14 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
+@@ -61,15 +65,14 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
                        addr = PAGE_ALIGN(addr);
  
                vma = find_vma(mm, addr);
@@ -1019,7 +1834,7 @@ index 74be05f..f605b8c 100644
        }
        /* 8 bits of randomness in 20 address space bits */
        if ((current->flags & PF_RANDOMIZE) &&
-@@ -100,14 +103,14 @@ full_search:
+@@ -89,14 +92,14 @@ full_search:
                         * Start a new search - just in case we missed
                         * some holes.
                         */
@@ -1037,6 +1852,48 @@ index 74be05f..f605b8c 100644
                        /*
                         * Remember the place where we stopped the search:
                         */
+diff --git a/arch/arm/plat-samsung/include/plat/dma-ops.h b/arch/arm/plat-samsung/include/plat/dma-ops.h
+index 4c1a363..df311d0 100644
+--- a/arch/arm/plat-samsung/include/plat/dma-ops.h
++++ b/arch/arm/plat-samsung/include/plat/dma-ops.h
+@@ -41,7 +41,7 @@ struct samsung_dma_ops {
+       int (*started)(unsigned ch);
+       int (*flush)(unsigned ch);
+       int (*stop)(unsigned ch);
+-};
++} __no_const;
+ extern void *samsung_dmadev_get_ops(void);
+ extern void *s3c_dma_get_ops(void);
+diff --git a/arch/arm/plat-samsung/include/plat/ehci.h b/arch/arm/plat-samsung/include/plat/ehci.h
+index 5f28cae..3d23723 100644
+--- a/arch/arm/plat-samsung/include/plat/ehci.h
++++ b/arch/arm/plat-samsung/include/plat/ehci.h
+@@ -14,7 +14,7 @@
+ struct s5p_ehci_platdata {
+       int (*phy_init)(struct platform_device *pdev, int type);
+       int (*phy_exit)(struct platform_device *pdev, int type);
+-};
++} __no_const;
+ extern void s5p_ehci_set_platdata(struct s5p_ehci_platdata *pd);
+diff --git a/arch/avr32/include/asm/cache.h b/arch/avr32/include/asm/cache.h
+index c3a58a1..78fbf54 100644
+--- a/arch/avr32/include/asm/cache.h
++++ b/arch/avr32/include/asm/cache.h
+@@ -1,8 +1,10 @@
+ #ifndef __ASM_AVR32_CACHE_H
+ #define __ASM_AVR32_CACHE_H
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT 5
+-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+ /*
+  * Memory returned by kmalloc() may be used for DMA, so we must make
 diff --git a/arch/avr32/include/asm/elf.h b/arch/avr32/include/asm/elf.h
 index 3b3159b..425ea94 100644
 --- a/arch/avr32/include/asm/elf.h
@@ -1116,6 +1973,98 @@ index f7040a1..db9f300 100644
                if (exception_trace && printk_ratelimit())
                        printk("%s%s[%d]: segfault at %08lx pc %08lx "
                               "sp %08lx ecr %lu\n",
+diff --git a/arch/blackfin/include/asm/cache.h b/arch/blackfin/include/asm/cache.h
+index 568885a..f8008df 100644
+--- a/arch/blackfin/include/asm/cache.h
++++ b/arch/blackfin/include/asm/cache.h
+@@ -7,6 +7,7 @@
+ #ifndef __ARCH_BLACKFIN_CACHE_H
+ #define __ARCH_BLACKFIN_CACHE_H
++#include <linux/const.h>
+ #include <linux/linkage.h>    /* for asmlinkage */
+ /*
+@@ -14,7 +15,7 @@
+  * Blackfin loads 32 bytes for cache
+  */
+ #define L1_CACHE_SHIFT        5
+-#define L1_CACHE_BYTES        (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES        (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define SMP_CACHE_BYTES       L1_CACHE_BYTES
+ #define ARCH_DMA_MINALIGN     L1_CACHE_BYTES
+diff --git a/arch/cris/include/arch-v10/arch/cache.h b/arch/cris/include/arch-v10/arch/cache.h
+index aea2718..3639a60 100644
+--- a/arch/cris/include/arch-v10/arch/cache.h
++++ b/arch/cris/include/arch-v10/arch/cache.h
+@@ -1,8 +1,9 @@
+ #ifndef _ASM_ARCH_CACHE_H
+ #define _ASM_ARCH_CACHE_H
++#include <linux/const.h>
+ /* Etrax 100LX have 32-byte cache-lines. */
+-#define L1_CACHE_BYTES 32
+ #define L1_CACHE_SHIFT 5
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+ #endif /* _ASM_ARCH_CACHE_H */
+diff --git a/arch/cris/include/arch-v32/arch/cache.h b/arch/cris/include/arch-v32/arch/cache.h
+index 1de779f..336fad3 100644
+--- a/arch/cris/include/arch-v32/arch/cache.h
++++ b/arch/cris/include/arch-v32/arch/cache.h
+@@ -1,11 +1,12 @@
+ #ifndef _ASM_CRIS_ARCH_CACHE_H
+ #define _ASM_CRIS_ARCH_CACHE_H
++#include <linux/const.h>
+ #include <arch/hwregs/dma.h>
+ /* A cache-line is 32 bytes. */
+-#define L1_CACHE_BYTES 32
+ #define L1_CACHE_SHIFT 5
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define __read_mostly __attribute__((__section__(".data.read_mostly")))
+diff --git a/arch/frv/include/asm/atomic.h b/arch/frv/include/asm/atomic.h
+index 0d8a7d6..d0c9ff5 100644
+--- a/arch/frv/include/asm/atomic.h
++++ b/arch/frv/include/asm/atomic.h
+@@ -241,6 +241,16 @@ extern uint32_t __xchg_32(uint32_t i, volatile void *v);
+ #define atomic64_cmpxchg(v, old, new) (__cmpxchg_64(old, new, &(v)->counter))
+ #define atomic64_xchg(v, new)         (__xchg_64(new, &(v)->counter))
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
+ {
+       int c, old;
+diff --git a/arch/frv/include/asm/cache.h b/arch/frv/include/asm/cache.h
+index 2797163..c2a401d 100644
+--- a/arch/frv/include/asm/cache.h
++++ b/arch/frv/include/asm/cache.h
+@@ -12,10 +12,11 @@
+ #ifndef __ASM_CACHE_H
+ #define __ASM_CACHE_H
++#include <linux/const.h>
+ /* bytes per L1 cache line */
+ #define L1_CACHE_SHIFT                (CONFIG_FRV_L1_CACHE_SHIFT)
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define __cacheline_aligned   __attribute__((aligned(L1_CACHE_BYTES)))
+ #define ____cacheline_aligned __attribute__((aligned(L1_CACHE_BYTES)))
 diff --git a/arch/frv/include/asm/kmap_types.h b/arch/frv/include/asm/kmap_types.h
 index f8e16b2..c73ff79 100644
 --- a/arch/frv/include/asm/kmap_types.h
@@ -1160,6 +2109,82 @@ index 385fd30..6c3d97e 100644
                                goto success;
                        addr = vma->vm_end;
                }
+diff --git a/arch/h8300/include/asm/cache.h b/arch/h8300/include/asm/cache.h
+index c635028..6d9445a 100644
+--- a/arch/h8300/include/asm/cache.h
++++ b/arch/h8300/include/asm/cache.h
+@@ -1,8 +1,10 @@
+ #ifndef __ARCH_H8300_CACHE_H
+ #define __ARCH_H8300_CACHE_H
++#include <linux/const.h>
++
+ /* bytes per L1 cache line */
+-#define        L1_CACHE_BYTES  4
++#define        L1_CACHE_BYTES  _AC(4,UL)
+ /* m68k-elf-gcc  2.95.2 doesn't like these */
+diff --git a/arch/hexagon/include/asm/cache.h b/arch/hexagon/include/asm/cache.h
+index 0f01de2..d37d309 100644
+--- a/arch/hexagon/include/asm/cache.h
++++ b/arch/hexagon/include/asm/cache.h
+@@ -21,9 +21,11 @@
+ #ifndef __ASM_CACHE_H
+ #define __ASM_CACHE_H
++#include <linux/const.h>
++
+ /* Bytes per L1 cache line */
+-#define L1_CACHE_SHIFT                (5)
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_SHIFT                5
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define __cacheline_aligned   __aligned(L1_CACHE_BYTES)
+ #define ____cacheline_aligned __aligned(L1_CACHE_BYTES)
+diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h
+index 3fad89e..3047da5 100644
+--- a/arch/ia64/include/asm/atomic.h
++++ b/arch/ia64/include/asm/atomic.h
+@@ -209,6 +209,16 @@ atomic64_add_negative (__s64 i, atomic64_t *v)
+ #define atomic64_inc(v)                       atomic64_add(1, (v))
+ #define atomic64_dec(v)                       atomic64_sub(1, (v))
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ /* Atomic operations are already serializing */
+ #define smp_mb__before_atomic_dec()   barrier()
+ #define smp_mb__after_atomic_dec()    barrier()
+diff --git a/arch/ia64/include/asm/cache.h b/arch/ia64/include/asm/cache.h
+index 988254a..e1ee885 100644
+--- a/arch/ia64/include/asm/cache.h
++++ b/arch/ia64/include/asm/cache.h
+@@ -1,6 +1,7 @@
+ #ifndef _ASM_IA64_CACHE_H
+ #define _ASM_IA64_CACHE_H
++#include <linux/const.h>
+ /*
+  * Copyright (C) 1998-2000 Hewlett-Packard Co
+@@ -9,7 +10,7 @@
+ /* Bytes per L1 (data) cache line.  */
+ #define L1_CACHE_SHIFT                CONFIG_IA64_L1_CACHE_SHIFT
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #ifdef CONFIG_SMP
+ # define SMP_CACHE_SHIFT      L1_CACHE_SHIFT
 diff --git a/arch/ia64/include/asm/elf.h b/arch/ia64/include/asm/elf.h
 index b5298eb..67c6e62 100644
 --- a/arch/ia64/include/asm/elf.h
@@ -1475,6 +2500,22 @@ index 00cb0e2..2ad8024 100644
                vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
                down_write(&current->mm->mmap_sem);
                if (insert_vm_struct(current->mm, vma)) {
+diff --git a/arch/m32r/include/asm/cache.h b/arch/m32r/include/asm/cache.h
+index 40b3ee9..8c2c112 100644
+--- a/arch/m32r/include/asm/cache.h
++++ b/arch/m32r/include/asm/cache.h
+@@ -1,8 +1,10 @@
+ #ifndef _ASM_M32R_CACHE_H
+ #define _ASM_M32R_CACHE_H
++#include <linux/const.h>
++
+ /* L1 cache line size */
+ #define L1_CACHE_SHIFT                4
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #endif  /* _ASM_M32R_CACHE_H */
 diff --git a/arch/m32r/lib/usercopy.c b/arch/m32r/lib/usercopy.c
 index 82abd15..d95ae5d 100644
 --- a/arch/m32r/lib/usercopy.c
@@ -1499,6 +2540,90 @@ index 82abd15..d95ae5d 100644
        prefetchw(to);
        if (access_ok(VERIFY_READ, from, n))
                __copy_user_zeroing(to,from,n);
+diff --git a/arch/m68k/include/asm/cache.h b/arch/m68k/include/asm/cache.h
+index 0395c51..5f26031 100644
+--- a/arch/m68k/include/asm/cache.h
++++ b/arch/m68k/include/asm/cache.h
+@@ -4,9 +4,11 @@
+ #ifndef __ARCH_M68K_CACHE_H
+ #define __ARCH_M68K_CACHE_H
++#include <linux/const.h>
++
+ /* bytes per L1 cache line */
+ #define        L1_CACHE_SHIFT  4
+-#define        L1_CACHE_BYTES  (1<< L1_CACHE_SHIFT)
++#define        L1_CACHE_BYTES  (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define ARCH_DMA_MINALIGN     L1_CACHE_BYTES
+diff --git a/arch/microblaze/include/asm/cache.h b/arch/microblaze/include/asm/cache.h
+index 4efe96a..60e8699 100644
+--- a/arch/microblaze/include/asm/cache.h
++++ b/arch/microblaze/include/asm/cache.h
+@@ -13,11 +13,12 @@
+ #ifndef _ASM_MICROBLAZE_CACHE_H
+ #define _ASM_MICROBLAZE_CACHE_H
++#include <linux/const.h>
+ #include <asm/registers.h>
+ #define L1_CACHE_SHIFT 5
+ /* word-granular cache in microblaze */
+-#define L1_CACHE_BYTES        (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES        (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define SMP_CACHE_BYTES       L1_CACHE_BYTES
+diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h
+index 1d93f81..67794d0 100644
+--- a/arch/mips/include/asm/atomic.h
++++ b/arch/mips/include/asm/atomic.h
+@@ -21,6 +21,10 @@
+ #include <asm/war.h>
+ #include <asm/system.h>
++#ifdef CONFIG_GENERIC_ATOMIC64
++#include <asm-generic/atomic64.h>
++#endif
++
+ #define ATOMIC_INIT(i)    { (i) }
+ /*
+@@ -765,6 +769,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+  */
+ #define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0)
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ #endif /* CONFIG_64BIT */
+ /*
+diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h
+index b4db69f..8f3b093 100644
+--- a/arch/mips/include/asm/cache.h
++++ b/arch/mips/include/asm/cache.h
+@@ -9,10 +9,11 @@
+ #ifndef _ASM_CACHE_H
+ #define _ASM_CACHE_H
++#include <linux/const.h>
+ #include <kmalloc.h>
+ #define L1_CACHE_SHIFT                CONFIG_MIPS_L1_CACHE_SHIFT
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define SMP_CACHE_SHIFT               L1_CACHE_SHIFT
+ #define SMP_CACHE_BYTES               L1_CACHE_BYTES
 diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h
 index 455c0ac..ad65fbe 100644
 --- a/arch/mips/include/asm/elf.h
@@ -1586,7 +2711,7 @@ index ff44823..97f8906 100644
  
  /*
 diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
-index b30cb25..454c0a9 100644
+index c47f96e..661d418 100644
 --- a/arch/mips/kernel/process.c
 +++ b/arch/mips/kernel/process.c
 @@ -481,15 +481,3 @@ unsigned long get_wchan(struct task_struct *task)
@@ -1717,6 +2842,115 @@ index 302d779..7d35bf8 100644
 -
 -      return ret;
 -}
+diff --git a/arch/mn10300/proc-mn103e010/include/proc/cache.h b/arch/mn10300/proc-mn103e010/include/proc/cache.h
+index 967d144..db12197 100644
+--- a/arch/mn10300/proc-mn103e010/include/proc/cache.h
++++ b/arch/mn10300/proc-mn103e010/include/proc/cache.h
+@@ -11,12 +11,14 @@
+ #ifndef _ASM_PROC_CACHE_H
+ #define _ASM_PROC_CACHE_H
++#include <linux/const.h>
++
+ /* L1 cache */
+ #define L1_CACHE_NWAYS                4       /* number of ways in caches */
+ #define L1_CACHE_NENTRIES     256     /* number of entries in each way */
+-#define L1_CACHE_BYTES                16      /* bytes per entry */
+ #define L1_CACHE_SHIFT                4       /* shift for bytes per entry */
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)   /* bytes per entry */
+ #define L1_CACHE_WAYDISP      0x1000  /* displacement of one way from the next */
+ #define L1_CACHE_TAG_VALID    0x00000001      /* cache tag valid bit */
+diff --git a/arch/mn10300/proc-mn2ws0050/include/proc/cache.h b/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
+index bcb5df2..84fabd2 100644
+--- a/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
++++ b/arch/mn10300/proc-mn2ws0050/include/proc/cache.h
+@@ -16,13 +16,15 @@
+ #ifndef _ASM_PROC_CACHE_H
+ #define _ASM_PROC_CACHE_H
++#include <linux/const.h>
++
+ /*
+  * L1 cache
+  */
+ #define L1_CACHE_NWAYS                4               /* number of ways in caches */
+ #define L1_CACHE_NENTRIES     128             /* number of entries in each way */
+-#define L1_CACHE_BYTES                32              /* bytes per entry */
+ #define L1_CACHE_SHIFT                5               /* shift for bytes per entry */
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)   /* bytes per entry */
+ #define L1_CACHE_WAYDISP      0x1000          /* distance from one way to the next */
+ #define L1_CACHE_TAG_VALID    0x00000001      /* cache tag valid bit */
+diff --git a/arch/openrisc/include/asm/cache.h b/arch/openrisc/include/asm/cache.h
+index 4ce7a01..449202a 100644
+--- a/arch/openrisc/include/asm/cache.h
++++ b/arch/openrisc/include/asm/cache.h
+@@ -19,11 +19,13 @@
+ #ifndef __ASM_OPENRISC_CACHE_H
+ #define __ASM_OPENRISC_CACHE_H
++#include <linux/const.h>
++
+ /* FIXME: How can we replace these with values from the CPU...
+  * they shouldn't be hard-coded!
+  */
+-#define L1_CACHE_BYTES 16
+ #define L1_CACHE_SHIFT 4
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
+ #endif /* __ASM_OPENRISC_CACHE_H */
+diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h
+index 4054b31..a10c105 100644
+--- a/arch/parisc/include/asm/atomic.h
++++ b/arch/parisc/include/asm/atomic.h
+@@ -335,6 +335,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+ #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ #endif /* !CONFIG_64BIT */
+diff --git a/arch/parisc/include/asm/cache.h b/arch/parisc/include/asm/cache.h
+index 47f11c7..3420df2 100644
+--- a/arch/parisc/include/asm/cache.h
++++ b/arch/parisc/include/asm/cache.h
+@@ -5,6 +5,7 @@
+ #ifndef __ARCH_PARISC_CACHE_H
+ #define __ARCH_PARISC_CACHE_H
++#include <linux/const.h>
+ /*
+  * PA 2.0 processors have 64-byte cachelines; PA 1.1 processors have
+@@ -15,13 +16,13 @@
+  * just ruin performance.
+  */
+ #ifdef CONFIG_PA20
+-#define L1_CACHE_BYTES 64
+ #define L1_CACHE_SHIFT 6
+ #else
+-#define L1_CACHE_BYTES 32
+ #define L1_CACHE_SHIFT 5
+ #endif
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
++
+ #ifndef __ASSEMBLY__
+ #define SMP_CACHE_BYTES L1_CACHE_BYTES
 diff --git a/arch/parisc/include/asm/elf.h b/arch/parisc/include/asm/elf.h
 index 19f6cb1..6c78cf2 100644
 --- a/arch/parisc/include/asm/elf.h
@@ -2079,6 +3313,48 @@ index 18162ce..94de376 100644
  
        /*
         * If for any reason at all we couldn't handle the fault, make
+diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
+index 02e41b5..ec6e26c 100644
+--- a/arch/powerpc/include/asm/atomic.h
++++ b/arch/powerpc/include/asm/atomic.h
+@@ -469,6 +469,16 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
+ #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ #endif /* __powerpc64__ */
+ #endif /* __KERNEL__ */
+diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h
+index 4b50941..5605819 100644
+--- a/arch/powerpc/include/asm/cache.h
++++ b/arch/powerpc/include/asm/cache.h
+@@ -3,6 +3,7 @@
+ #ifdef __KERNEL__
++#include <linux/const.h>
+ /* bytes per L1 cache line */
+ #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
+@@ -22,7 +23,7 @@
+ #define L1_CACHE_SHIFT                7
+ #endif
+-#define       L1_CACHE_BYTES          (1 << L1_CACHE_SHIFT)
++#define       L1_CACHE_BYTES          (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define       SMP_CACHE_BYTES         L1_CACHE_BYTES
 diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h
 index 3bf9cca..e7457d0 100644
 --- a/arch/powerpc/include/asm/elf.h
@@ -2141,10 +3417,10 @@ index d4a7f64..451de1c 100644
        return (vm_flags & VM_SAO) ? __pgprot(_PAGE_SAO) : __pgprot(0);
  }
 diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h
-index 2cd664e..1d2e8a7 100644
+index dd9c4fd..a2ced87 100644
 --- a/arch/powerpc/include/asm/page.h
 +++ b/arch/powerpc/include/asm/page.h
-@@ -129,8 +129,9 @@ extern phys_addr_t kernstart_addr;
+@@ -141,8 +141,9 @@ extern phys_addr_t kernstart_addr;
   * and needs to be executable.  This means the whole heap ends
   * up being executable.
   */
@@ -2156,21 +3432,21 @@ index 2cd664e..1d2e8a7 100644
  
  #define VM_DATA_DEFAULT_FLAGS64       (VM_READ | VM_WRITE | \
                                 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
-@@ -158,6 +159,9 @@ extern phys_addr_t kernstart_addr;
+@@ -170,6 +171,9 @@ extern phys_addr_t kernstart_addr;
  #define is_kernel_addr(x)     ((x) >= PAGE_OFFSET)
  #endif
  
 +#define ktla_ktva(addr)               (addr)
 +#define ktva_ktla(addr)               (addr)
 +
- #ifndef __ASSEMBLY__
- #undef STRICT_MM_TYPECHECKS
+ /*
+  * Use the top bit of the higher-level page table entries to indicate whether
+  * the entries we point to contain hugepages.  This works because we know that
 diff --git a/arch/powerpc/include/asm/page_64.h b/arch/powerpc/include/asm/page_64.h
-index 9356262..ea96148 100644
+index fb40ede..d3ce956 100644
 --- a/arch/powerpc/include/asm/page_64.h
 +++ b/arch/powerpc/include/asm/page_64.h
-@@ -155,15 +155,18 @@ do {                                             \
+@@ -144,15 +144,18 @@ do {                                             \
   * stack by default, so in the absence of a PT_GNU_STACK program header
   * we turn execute permission off.
   */
@@ -2444,10 +3720,10 @@ index 429983c..7af363b 100644
        ld      r4,_DAR(r1)
        bl      .bad_page_fault
 diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
-index 41b02c7..05e76fb 100644
+index cf9c69b..ebc9640 100644
 --- a/arch/powerpc/kernel/exceptions-64s.S
 +++ b/arch/powerpc/kernel/exceptions-64s.S
-@@ -1014,10 +1014,10 @@ handle_page_fault:
+@@ -1004,10 +1004,10 @@ handle_page_fault:
  11:   ld      r4,_DAR(r1)
        ld      r5,_DSISR(r1)
        addi    r3,r1,STACK_FRAME_OVERHEAD
@@ -2459,6 +3735,34 @@ index 41b02c7..05e76fb 100644
        mr      r5,r3
        addi    r3,r1,STACK_FRAME_OVERHEAD
        lwz     r4,_DAR(r1)
+diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
+index 745c1e7..59d97a6 100644
+--- a/arch/powerpc/kernel/irq.c
++++ b/arch/powerpc/kernel/irq.c
+@@ -547,9 +547,6 @@ struct irq_host *irq_alloc_host(struct device_node *of_node,
+       host->ops = ops;
+       host->of_node = of_node_get(of_node);
+-      if (host->ops->match == NULL)
+-              host->ops->match = default_irq_host_match;
+-
+       raw_spin_lock_irqsave(&irq_big_lock, flags);
+       /* If it's a legacy controller, check for duplicates and
+@@ -622,7 +619,12 @@ struct irq_host *irq_find_host(struct device_node *node)
+        */
+       raw_spin_lock_irqsave(&irq_big_lock, flags);
+       list_for_each_entry(h, &irq_hosts, link)
+-              if (h->ops->match(h, node)) {
++              if (h->ops->match) {
++                      if (h->ops->match(h, node)) {
++                              found = h;
++                              break;
++                      }
++              } else if (default_irq_host_match(h, node)) {
+                       found = h;
+                       break;
+               }
 diff --git a/arch/powerpc/kernel/module_32.c b/arch/powerpc/kernel/module_32.c
 index 0b6d796..d760ddb 100644
 --- a/arch/powerpc/kernel/module_32.c
@@ -2493,10 +3797,10 @@ index 0b6d796..d760ddb 100644
        /* Find this entry, or if that fails, the next avail. entry */
        while (entry->jump[0]) {
 diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
-index 8f53954..a704ad6 100644
+index 6457574..08b28d3 100644
 --- a/arch/powerpc/kernel/process.c
 +++ b/arch/powerpc/kernel/process.c
-@@ -682,8 +682,8 @@ void show_regs(struct pt_regs * regs)
+@@ -660,8 +660,8 @@ void show_regs(struct pt_regs * regs)
         * Lookup NIP late so we have the best change of getting the
         * above info out without failing
         */
@@ -2507,7 +3811,7 @@ index 8f53954..a704ad6 100644
  #endif
        show_stack(current, (unsigned long *) regs->gpr[1]);
        if (!user_mode(regs))
-@@ -1187,10 +1187,10 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
+@@ -1165,10 +1165,10 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
                newsp = stack[0];
                ip = stack[STACK_FRAME_LR_SAVE];
                if (!firstframe || ip != lr) {
@@ -2520,7 +3824,7 @@ index 8f53954..a704ad6 100644
                                       (void *)current->ret_stack[curr_frame].ret);
                                curr_frame--;
                        }
-@@ -1210,7 +1210,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
+@@ -1188,7 +1188,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack)
                        struct pt_regs *regs = (struct pt_regs *)
                                (sp + STACK_FRAME_OVERHEAD);
                        lr = regs->link;
@@ -2529,7 +3833,7 @@ index 8f53954..a704ad6 100644
                               regs->trap, (void *)regs->nip, (void *)lr);
                        firstframe = 1;
                }
-@@ -1285,58 +1285,3 @@ void thread_info_cache_init(void)
+@@ -1263,58 +1263,3 @@ void thread_info_cache_init(void)
  }
  
  #endif /* THREAD_SHIFT < PAGE_SHIFT */
@@ -2589,7 +3893,7 @@ index 8f53954..a704ad6 100644
 -      return ret;
 -}
 diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
-index 78b76dc..7f232ef 100644
+index 836a5a1..27289a3 100644
 --- a/arch/powerpc/kernel/signal_32.c
 +++ b/arch/powerpc/kernel/signal_32.c
 @@ -859,7 +859,7 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
@@ -2602,10 +3906,10 @@ index 78b76dc..7f232ef 100644
                        goto badframe;
                regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp;
 diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c
-index e91c736..742ec06 100644
+index a50b5ec..547078a 100644
 --- a/arch/powerpc/kernel/signal_64.c
 +++ b/arch/powerpc/kernel/signal_64.c
-@@ -430,7 +430,7 @@ int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info,
+@@ -429,7 +429,7 @@ int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info,
        current->thread.fpscr.val = 0;
  
        /* Set up to return from userspace. */
@@ -2615,7 +3919,7 @@ index e91c736..742ec06 100644
        } else {
                err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]);
 diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
-index f19d977..8ac286e 100644
+index 5459d14..10f8070 100644
 --- a/arch/powerpc/kernel/traps.c
 +++ b/arch/powerpc/kernel/traps.c
 @@ -98,6 +98,8 @@ static void pmac_backlight_unblank(void)
@@ -2637,10 +3941,10 @@ index f19d977..8ac286e 100644
        do_exit(err);
  
 diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
-index 142ab10..236e61a 100644
+index 7d14bb6..1305601 100644
 --- a/arch/powerpc/kernel/vdso.c
 +++ b/arch/powerpc/kernel/vdso.c
-@@ -36,6 +36,7 @@
+@@ -35,6 +35,7 @@
  #include <asm/firmware.h>
  #include <asm/vdso.h>
  #include <asm/vdso_datapage.h>
@@ -2648,7 +3952,7 @@ index 142ab10..236e61a 100644
  
  #include "setup.h"
  
-@@ -220,7 +221,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
+@@ -219,7 +220,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
        vdso_base = VDSO32_MBASE;
  #endif
  
@@ -2657,7 +3961,7 @@ index 142ab10..236e61a 100644
  
        /* vDSO has a problem and was disabled, just don't "enable" it for the
         * process
-@@ -240,7 +241,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
+@@ -239,7 +240,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
        vdso_base = get_unmapped_area(NULL, vdso_base,
                                      (vdso_pages << PAGE_SHIFT) +
                                      ((VDSO_ALIGNMENT - 1) & PAGE_MASK),
@@ -2837,7 +4141,7 @@ index 5a783d8..c23e14b 100644
                mm->unmap_area = arch_unmap_area_topdown;
        }
 diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c
-index ba51948..23009d9 100644
+index 73709f7..6b90313 100644
 --- a/arch/powerpc/mm/slice.c
 +++ b/arch/powerpc/mm/slice.c
 @@ -98,7 +98,7 @@ static int slice_area_is_free(struct mm_struct *mm, unsigned long addr,
@@ -2906,8 +4210,45 @@ index ba51948..23009d9 100644
        /* If hint, make sure it matches our alignment restrictions */
        if (!fixed && addr) {
                addr = _ALIGN_UP(addr, 1ul << pshift);
+diff --git a/arch/s390/include/asm/atomic.h b/arch/s390/include/asm/atomic.h
+index 8517d2a..d2738d4 100644
+--- a/arch/s390/include/asm/atomic.h
++++ b/arch/s390/include/asm/atomic.h
+@@ -326,6 +326,16 @@ static inline long long atomic64_dec_if_positive(atomic64_t *v)
+ #define atomic64_dec_and_test(_v)     (atomic64_sub_return(1, _v) == 0)
+ #define atomic64_inc_not_zero(v)      atomic64_add_unless((v), 1, 0)
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ #define smp_mb__before_atomic_dec()   smp_mb()
+ #define smp_mb__after_atomic_dec()    smp_mb()
+ #define smp_mb__before_atomic_inc()   smp_mb()
+diff --git a/arch/s390/include/asm/cache.h b/arch/s390/include/asm/cache.h
+index 2a30d5a..5e5586f 100644
+--- a/arch/s390/include/asm/cache.h
++++ b/arch/s390/include/asm/cache.h
+@@ -11,8 +11,10 @@
+ #ifndef __ARCH_S390_CACHE_H
+ #define __ARCH_S390_CACHE_H
+-#define L1_CACHE_BYTES     256
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT     8
++#define L1_CACHE_BYTES     (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define NET_SKB_PAD      32
+ #define __read_mostly __attribute__((__section__(".data..read_mostly")))
 diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
-index 547f1a6..3fff354 100644
+index 547f1a6..0b22b53 100644
 --- a/arch/s390/include/asm/elf.h
 +++ b/arch/s390/include/asm/elf.h
 @@ -162,8 +162,14 @@ extern unsigned int vdso_enabled;
@@ -2921,8 +4262,8 @@ index 547f1a6..3fff354 100644
 +#ifdef CONFIG_PAX_ASLR
 +#define PAX_ELF_ET_DYN_BASE   (test_thread_flag(TIF_31BIT) ? 0x10000UL : 0x80000000UL)
 +
-+#define PAX_DELTA_MMAP_LEN    (test_thread_flag(TIF_31BIT) ? 15 : 26 )
-+#define PAX_DELTA_STACK_LEN   (test_thread_flag(TIF_31BIT) ? 15 : 26 )
++#define PAX_DELTA_MMAP_LEN    (test_thread_flag(TIF_31BIT) ? 15 : 26)
++#define PAX_DELTA_STACK_LEN   (test_thread_flag(TIF_31BIT) ? 15 : 26)
 +#endif
  
  /* This yields a mask that user programs can use to figure out what
@@ -2936,10 +4277,10 @@ index 547f1a6..3fff354 100644
 -
  #endif
 diff --git a/arch/s390/include/asm/system.h b/arch/s390/include/asm/system.h
-index 6582f69..b69906f 100644
+index ef573c1..75a1ce6 100644
 --- a/arch/s390/include/asm/system.h
 +++ b/arch/s390/include/asm/system.h
-@@ -256,7 +256,7 @@ extern void (*_machine_restart)(char *command);
+@@ -262,7 +262,7 @@ extern void (*_machine_restart)(char *command);
  extern void (*_machine_halt)(void);
  extern void (*_machine_power_off)(void);
  
@@ -3060,10 +4401,10 @@ index dfcb343..eda788a 100644
                if (r_type == R_390_GOTPC)
                        *(unsigned int *) loc = val;
 diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
-index 541a750..8739853 100644
+index 53088e2..9f44a36 100644
 --- a/arch/s390/kernel/process.c
 +++ b/arch/s390/kernel/process.c
-@@ -319,39 +319,3 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -320,39 +320,3 @@ unsigned long get_wchan(struct task_struct *p)
        }
        return 0;
  }
@@ -3103,24 +4444,11 @@ index 541a750..8739853 100644
 -              return base;
 -      return ret;
 -}
-diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
-index 7b371c3..ad06cf1 100644
---- a/arch/s390/kernel/setup.c
-+++ b/arch/s390/kernel/setup.c
-@@ -271,7 +271,7 @@ static int __init early_parse_mem(char *p)
- }
- early_param("mem", early_parse_mem);
--unsigned int user_mode = HOME_SPACE_MODE;
-+unsigned int user_mode = SECONDARY_SPACE_MODE;
- EXPORT_SYMBOL_GPL(user_mode);
- static int set_amode_and_uaccess(unsigned long user_amode,
 diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c
-index c9a9f7f..60d0315 100644
+index a0155c0..34cc491 100644
 --- a/arch/s390/mm/mmap.c
 +++ b/arch/s390/mm/mmap.c
-@@ -91,10 +91,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
+@@ -92,10 +92,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
         */
        if (mmap_is_legacy()) {
                mm->mmap_base = TASK_UNMAPPED_BASE;
@@ -3143,7 +4471,7 @@ index c9a9f7f..60d0315 100644
                mm->get_unmapped_area = arch_get_unmapped_area_topdown;
                mm->unmap_area = arch_unmap_area_topdown;
        }
-@@ -166,10 +178,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
+@@ -167,10 +179,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
         */
        if (mmap_is_legacy()) {
                mm->mmap_base = TASK_UNMAPPED_BASE;
@@ -3166,6 +4494,21 @@ index c9a9f7f..60d0315 100644
                mm->get_unmapped_area = s390_get_unmapped_area_topdown;
                mm->unmap_area = arch_unmap_area_topdown;
        }
+diff --git a/arch/score/include/asm/cache.h b/arch/score/include/asm/cache.h
+index ae3d59f..f65f075 100644
+--- a/arch/score/include/asm/cache.h
++++ b/arch/score/include/asm/cache.h
+@@ -1,7 +1,9 @@
+ #ifndef _ASM_SCORE_CACHE_H
+ #define _ASM_SCORE_CACHE_H
++#include <linux/const.h>
++
+ #define L1_CACHE_SHIFT                4
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #endif /* _ASM_SCORE_CACHE_H */
 diff --git a/arch/score/include/asm/system.h b/arch/score/include/asm/system.h
 index 589d5c7..669e274 100644
 --- a/arch/score/include/asm/system.h
@@ -3192,6 +4535,23 @@ index 25d0803..d6c8e36 100644
 -{
 -      return sp;
 -}
+diff --git a/arch/sh/include/asm/cache.h b/arch/sh/include/asm/cache.h
+index ef9e555..331bd29 100644
+--- a/arch/sh/include/asm/cache.h
++++ b/arch/sh/include/asm/cache.h
+@@ -9,10 +9,11 @@
+ #define __ASM_SH_CACHE_H
+ #ifdef __KERNEL__
++#include <linux/const.h>
+ #include <linux/init.h>
+ #include <cpu/cache.h>
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #define __read_mostly __attribute__((__section__(".data..read_mostly")))
 diff --git a/arch/sh/mm/mmap.c b/arch/sh/mm/mmap.c
 index afeb710..d1d1289 100644
 --- a/arch/sh/mm/mmap.c
@@ -3270,8 +4630,20 @@ index afeb710..d1d1289 100644
  
  bottomup:
        /*
+diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
+index f92602e..27060b2 100644
+--- a/arch/sparc/Kconfig
++++ b/arch/sparc/Kconfig
+@@ -31,6 +31,7 @@ config SPARC
+ config SPARC32
+       def_bool !64BIT
++      select GENERIC_ATOMIC64
+ config SPARC64
+       def_bool 64BIT
 diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile
-index ad1fb5d..fc5315b 100644
+index eddcfb3..b117d90 100644
 --- a/arch/sparc/Makefile
 +++ b/arch/sparc/Makefile
 @@ -75,7 +75,7 @@ drivers-$(CONFIG_OPROFILE)   += arch/sparc/oprofile/
@@ -3283,6 +4655,19 @@ index ad1fb5d..fc5315b 100644
  VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
  VMLINUX_MAIN += $(drivers-y) $(net-y)
  
+diff --git a/arch/sparc/include/asm/atomic_32.h b/arch/sparc/include/asm/atomic_32.h
+index 5c3c8b6..ba822fa 100644
+--- a/arch/sparc/include/asm/atomic_32.h
++++ b/arch/sparc/include/asm/atomic_32.h
+@@ -13,6 +13,8 @@
+ #include <linux/types.h>
++#include <asm-generic/atomic64.h>
++
+ #ifdef __KERNEL__
+ #include <asm/system.h>
 diff --git a/arch/sparc/include/asm/atomic_64.h b/arch/sparc/include/asm/atomic_64.h
 index 9f421df..b81fc12 100644
 --- a/arch/sparc/include/asm/atomic_64.h
@@ -3474,15 +4859,20 @@ index 9f421df..b81fc12 100644
  
  #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
 diff --git a/arch/sparc/include/asm/cache.h b/arch/sparc/include/asm/cache.h
-index 69358b5..17b4745 100644
+index 69358b5..9d0d492 100644
 --- a/arch/sparc/include/asm/cache.h
 +++ b/arch/sparc/include/asm/cache.h
-@@ -10,7 +10,7 @@
+@@ -7,10 +7,12 @@
+ #ifndef _SPARC_CACHE_H
+ #define _SPARC_CACHE_H
++#include <linux/const.h>
++
  #define ARCH_SLAB_MINALIGN    __alignof__(unsigned long long)
  
  #define L1_CACHE_SHIFT 5
 -#define L1_CACHE_BYTES 32
-+#define L1_CACHE_BYTES 32UL
++#define L1_CACHE_BYTES (_AC(1,UL) << L1_CACHE_SHIFT)
  
  #ifdef CONFIG_SPARC32
  #define SMP_CACHE_BYTES_SHIFT 5
@@ -3522,8 +4912,21 @@ index 7df8b7f..4946269 100644
  extern unsigned long sparc64_elf_hwcap;
  #define ELF_HWCAP     sparc64_elf_hwcap
  
+diff --git a/arch/sparc/include/asm/page_32.h b/arch/sparc/include/asm/page_32.h
+index 156707b..aefa786 100644
+--- a/arch/sparc/include/asm/page_32.h
++++ b/arch/sparc/include/asm/page_32.h
+@@ -8,6 +8,8 @@
+ #ifndef _SPARC_PAGE_H
+ #define _SPARC_PAGE_H
++#include <linux/const.h>
++
+ #define PAGE_SHIFT   12
+ #ifndef __ASSEMBLY__
 diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h
-index 5b31a8e..1d92567 100644
+index a790cc6..091ed94 100644
 --- a/arch/sparc/include/asm/pgtable_32.h
 +++ b/arch/sparc/include/asm/pgtable_32.h
 @@ -45,6 +45,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd)
@@ -3874,7 +5277,7 @@ index f793742..4d880af 100644
        } while (++count < 16);
        printk("\n");
 diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c
-index d959cd0..7b42812 100644
+index 3739a06..48b2ff0 100644
 --- a/arch/sparc/kernel/process_64.c
 +++ b/arch/sparc/kernel/process_64.c
 @@ -180,14 +180,14 @@ static void show_regwindow(struct pt_regs *regs)
@@ -3935,7 +5338,7 @@ index 42b282f..28ce9f2 100644
                addr = vmm->vm_end;
                if (flags & MAP_SHARED)
 diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc_64.c
-index 908b47a..aa9e584 100644
+index 441521a..b767073 100644
 --- a/arch/sparc/kernel/sys_sparc_64.c
 +++ b/arch/sparc/kernel/sys_sparc_64.c
 @@ -124,7 +124,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsi
@@ -4086,10 +5489,10 @@ index 908b47a..aa9e584 100644
                mm->unmap_area = arch_unmap_area_topdown;
        }
 diff --git a/arch/sparc/kernel/traps_32.c b/arch/sparc/kernel/traps_32.c
-index c0490c7..84959d1 100644
+index 591f20c..0f1b925 100644
 --- a/arch/sparc/kernel/traps_32.c
 +++ b/arch/sparc/kernel/traps_32.c
-@@ -44,6 +44,8 @@ static void instruction_dump(unsigned long *pc)
+@@ -45,6 +45,8 @@ static void instruction_dump(unsigned long *pc)
  #define __SAVE __asm__ __volatile__("save %sp, -0x40, %sp\n\t")
  #define __RESTORE __asm__ __volatile__("restore %g0, %g0, %g0\n\t")
  
@@ -4098,7 +5501,7 @@ index c0490c7..84959d1 100644
  void die_if_kernel(char *str, struct pt_regs *regs)
  {
        static int die_counter;
-@@ -76,15 +78,17 @@ void die_if_kernel(char *str, struct pt_regs *regs)
+@@ -77,15 +79,17 @@ void die_if_kernel(char *str, struct pt_regs *regs)
                      count++ < 30                              &&
                        (((unsigned long) rw) >= PAGE_OFFSET)   &&
                      !(((unsigned long) rw) & 0x7)) {
@@ -4547,7 +5950,7 @@ index 1b30bb3..b4a16c7 100644
  
  /* Atomic bit operations. */
 diff --git a/arch/sparc/mm/Makefile b/arch/sparc/mm/Makefile
-index e3cda21..a68e4cb 100644
+index 301421c..e2535d1 100644
 --- a/arch/sparc/mm/Makefile
 +++ b/arch/sparc/mm/Makefile
 @@ -2,7 +2,7 @@
@@ -4560,12 +5963,12 @@ index e3cda21..a68e4cb 100644
  obj-$(CONFIG_SPARC64)   += ultra.o tlb.o tsb.o gup.o
  obj-y                   += fault_$(BITS).o
 diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c
-index aa1c1b1..f93e28f 100644
+index 8023fd7..c8e89e9 100644
 --- a/arch/sparc/mm/fault_32.c
 +++ b/arch/sparc/mm/fault_32.c
-@@ -22,6 +22,9 @@
+@@ -21,6 +21,9 @@
+ #include <linux/perf_event.h>
  #include <linux/interrupt.h>
- #include <linux/module.h>
  #include <linux/kdebug.h>
 +#include <linux/slab.h>
 +#include <linux/pagemap.h>
@@ -4573,7 +5976,7 @@ index aa1c1b1..f93e28f 100644
  
  #include <asm/system.h>
  #include <asm/page.h>
-@@ -209,6 +212,268 @@ static unsigned long compute_si_addr(struct pt_regs *regs, int text_fault)
+@@ -208,6 +211,268 @@ static unsigned long compute_si_addr(struct pt_regs *regs, int text_fault)
        return safe_compute_effective_address(regs, insn);
  }
  
@@ -4842,7 +6245,7 @@ index aa1c1b1..f93e28f 100644
  static noinline void do_fault_siginfo(int code, int sig, struct pt_regs *regs,
                                      int text_fault)
  {
-@@ -281,6 +546,24 @@ good_area:
+@@ -280,6 +545,24 @@ good_area:
                if(!(vma->vm_flags & VM_WRITE))
                        goto bad_area;
        } else {
@@ -5379,10 +6782,10 @@ index 504c062..6fcb9c6 100644
         * load/store/atomic was a write or not, it only says that there
         * was no match.  So in such a case we (carefully) read the
 diff --git a/arch/sparc/mm/hugetlbpage.c b/arch/sparc/mm/hugetlbpage.c
-index f4e9764..5682724 100644
+index 07e1453..0a7d9e9 100644
 --- a/arch/sparc/mm/hugetlbpage.c
 +++ b/arch/sparc/mm/hugetlbpage.c
-@@ -68,7 +68,7 @@ full_search:
+@@ -67,7 +67,7 @@ full_search:
                        }
                        return -ENOMEM;
                }
@@ -5391,7 +6794,7 @@ index f4e9764..5682724 100644
                        /*
                         * Remember the place where we stopped the search:
                         */
-@@ -107,7 +107,7 @@ hugetlb_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -106,7 +106,7 @@ hugetlb_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
        /* make sure it can fit in the remaining address space */
        if (likely(addr > len)) {
                vma = find_vma(mm, addr-len);
@@ -5400,7 +6803,7 @@ index f4e9764..5682724 100644
                        /* remember the address as a hint for next time */
                        return (mm->free_area_cache = addr-len);
                }
-@@ -116,16 +116,17 @@ hugetlb_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -115,16 +115,17 @@ hugetlb_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
        if (unlikely(mm->mmap_base < len))
                goto bottomup;
  
@@ -5420,7 +6823,7 @@ index f4e9764..5682724 100644
                        /* remember the address as a hint for next time */
                        return (mm->free_area_cache = addr);
                }
-@@ -135,8 +136,8 @@ hugetlb_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -134,8 +135,8 @@ hugetlb_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
                        mm->cached_hole_size = vma->vm_start - addr;
  
                /* try just below the current vma->vm_start */
@@ -5431,7 +6834,7 @@ index f4e9764..5682724 100644
  
  bottomup:
        /*
-@@ -182,8 +183,7 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
+@@ -181,8 +182,7 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
        if (addr) {
                addr = ALIGN(addr, HPAGE_SIZE);
                vma = find_vma(mm, addr);
@@ -5497,21 +6900,80 @@ index cbef74e..c38fead 100644
        BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL));
        page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
  
+diff --git a/arch/tile/include/asm/atomic_64.h b/arch/tile/include/asm/atomic_64.h
+index 27fe667..36d474c 100644
+--- a/arch/tile/include/asm/atomic_64.h
++++ b/arch/tile/include/asm/atomic_64.h
+@@ -142,6 +142,16 @@ static inline long atomic64_add_unless(atomic64_t *v, long a, long u)
+ #define atomic64_inc_not_zero(v)      atomic64_add_unless((v), 1, 0)
++#define atomic64_read_unchecked(v)            atomic64_read(v)
++#define atomic64_set_unchecked(v, i)          atomic64_set((v), (i))
++#define atomic64_add_unchecked(a, v)          atomic64_add((a), (v))
++#define atomic64_add_return_unchecked(a, v)   atomic64_add_return((a), (v))
++#define atomic64_sub_unchecked(a, v)          atomic64_sub((a), (v))
++#define atomic64_inc_unchecked(v)             atomic64_inc(v)
++#define atomic64_inc_return_unchecked(v)      atomic64_inc_return(v)
++#define atomic64_dec_unchecked(v)             atomic64_dec(v)
++#define atomic64_cmpxchg_unchecked(v, o, n)   atomic64_cmpxchg((v), (o), (n))
++
+ /* Atomic dec and inc don't implement barrier, so provide them if needed. */
+ #define smp_mb__before_atomic_dec()   smp_mb()
+ #define smp_mb__after_atomic_dec()    smp_mb()
+diff --git a/arch/tile/include/asm/cache.h b/arch/tile/include/asm/cache.h
+index 392e533..536b092 100644
+--- a/arch/tile/include/asm/cache.h
++++ b/arch/tile/include/asm/cache.h
+@@ -15,11 +15,12 @@
+ #ifndef _ASM_TILE_CACHE_H
+ #define _ASM_TILE_CACHE_H
++#include <linux/const.h>
+ #include <arch/chip.h>
+ /* bytes per L1 data cache line */
+ #define L1_CACHE_SHIFT                CHIP_L1D_LOG_LINE_SIZE()
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ /* bytes per L2 cache line */
+ #define L2_CACHE_SHIFT                CHIP_L2_LOG_LINE_SIZE()
 diff --git a/arch/um/Makefile b/arch/um/Makefile
-index c0f712c..3a5c4c9 100644
+index 7730af6..cce5b19 100644
 --- a/arch/um/Makefile
 +++ b/arch/um/Makefile
-@@ -49,6 +49,10 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
+@@ -61,6 +61,10 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
        $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \
-       $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64
+       $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 -idirafter include
  
 +ifdef CONSTIFY_PLUGIN
 +USER_CFLAGS   += $(CONSTIFY_PLUGIN) -fplugin-arg-constify_plugin-no-constify
 +endif
 +
- include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH)
  #This will adjust *FLAGS accordingly to the platform.
+ include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
+diff --git a/arch/um/include/asm/cache.h b/arch/um/include/asm/cache.h
+index 19e1bdd..3665b77 100644
+--- a/arch/um/include/asm/cache.h
++++ b/arch/um/include/asm/cache.h
+@@ -1,6 +1,7 @@
+ #ifndef __UM_CACHE_H
+ #define __UM_CACHE_H
++#include <linux/const.h>
+ #if defined(CONFIG_UML_X86) && !defined(CONFIG_64BIT)
+ # define L1_CACHE_SHIFT               (CONFIG_X86_L1_CACHE_SHIFT)
+@@ -12,6 +13,6 @@
+ # define L1_CACHE_SHIFT               5
+ #endif
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
+ #endif
 diff --git a/arch/um/include/asm/kmap_types.h b/arch/um/include/asm/kmap_types.h
 index 6c03acd..a5e0215 100644
 --- a/arch/um/include/asm/kmap_types.h
@@ -5525,7 +6987,7 @@ index 6c03acd..a5e0215 100644
  };
  
 diff --git a/arch/um/include/asm/page.h b/arch/um/include/asm/page.h
-index 4cc9b6c..02e5029 100644
+index 7cfc3ce..cbd1a58 100644
 --- a/arch/um/include/asm/page.h
 +++ b/arch/um/include/asm/page.h
 @@ -14,6 +14,9 @@
@@ -5539,10 +7001,10 @@ index 4cc9b6c..02e5029 100644
  
  struct page;
 diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c
-index 21c1ae7..4640aaa 100644
+index c533835..84db18e 100644
 --- a/arch/um/kernel/process.c
 +++ b/arch/um/kernel/process.c
-@@ -404,22 +404,6 @@ int singlestepping(void * t)
+@@ -406,22 +406,6 @@ int singlestepping(void * t)
        return 2;
  }
  
@@ -5565,63 +7027,28 @@ index 21c1ae7..4640aaa 100644
  unsigned long get_wchan(struct task_struct *p)
  {
        unsigned long stack_page, sp, ip;
-diff --git a/arch/um/sys-i386/shared/sysdep/system.h b/arch/um/sys-i386/shared/sysdep/system.h
-index d1b93c4..ae1b7fd 100644
---- a/arch/um/sys-i386/shared/sysdep/system.h
-+++ b/arch/um/sys-i386/shared/sysdep/system.h
-@@ -17,7 +17,7 @@
- # define AT_VECTOR_SIZE_ARCH 1
- #endif
--extern unsigned long arch_align_stack(unsigned long sp);
-+#define arch_align_stack(x) ((x) & ~0xfUL)
- void default_idle(void);
-diff --git a/arch/um/sys-i386/syscalls.c b/arch/um/sys-i386/syscalls.c
-index 70ca357..728d1cc 100644
---- a/arch/um/sys-i386/syscalls.c
-+++ b/arch/um/sys-i386/syscalls.c
-@@ -11,6 +11,21 @@
- #include "asm/uaccess.h"
- #include "asm/unistd.h"
-+int i386_mmap_check(unsigned long addr, unsigned long len, unsigned long flags)
-+{
-+      unsigned long pax_task_size = TASK_SIZE;
-+
-+#ifdef CONFIG_PAX_SEGMEXEC
-+      if (current->mm->pax_flags & MF_PAX_SEGMEXEC)
-+              pax_task_size = SEGMEXEC_TASK_SIZE;
-+#endif
-+
-+      if (len > pax_task_size || addr > pax_task_size - len)
-+              return -EINVAL;
-+
-+      return 0;
-+}
+diff --git a/arch/unicore32/include/asm/cache.h b/arch/unicore32/include/asm/cache.h
+index ad8f795..2c7eec6 100644
+--- a/arch/unicore32/include/asm/cache.h
++++ b/arch/unicore32/include/asm/cache.h
+@@ -12,8 +12,10 @@
+ #ifndef __UNICORE_CACHE_H__
+ #define __UNICORE_CACHE_H__
+-#define L1_CACHE_SHIFT                (5)
+-#define L1_CACHE_BYTES                (1 << L1_CACHE_SHIFT)
++#include <linux/const.h>
 +
- /*
-  * The prototype on i386 is:
-  *
-diff --git a/arch/um/sys-x86_64/shared/sysdep/system.h b/arch/um/sys-x86_64/shared/sysdep/system.h
-index d1b93c4..ae1b7fd 100644
---- a/arch/um/sys-x86_64/shared/sysdep/system.h
-+++ b/arch/um/sys-x86_64/shared/sysdep/system.h
-@@ -17,7 +17,7 @@
- # define AT_VECTOR_SIZE_ARCH 1
- #endif
--extern unsigned long arch_align_stack(unsigned long sp);
-+#define arch_align_stack(x) ((x) & ~0xfUL)
- void default_idle(void);
++#define L1_CACHE_SHIFT                5
++#define L1_CACHE_BYTES                (_AC(1,UL) << L1_CACHE_SHIFT)
  
+ /*
+  * Memory returned by kmalloc() may be used for DMA, so we must make
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 6a47bb2..dc9a868 100644
+index efb4294..61bc18c 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
-@@ -236,7 +236,7 @@ config X86_HT
+@@ -235,7 +235,7 @@ config X86_HT
  
  config X86_32_LAZY_GS
        def_bool y
@@ -5630,7 +7057,7 @@ index 6a47bb2..dc9a868 100644
  
  config ARCH_HWEIGHT_CFLAGS
        string
-@@ -1019,7 +1019,7 @@ choice
+@@ -1022,7 +1022,7 @@ choice
  
  config NOHIGHMEM
        bool "off"
@@ -5639,7 +7066,7 @@ index 6a47bb2..dc9a868 100644
        ---help---
          Linux can use up to 64 Gigabytes of physical memory on x86 systems.
          However, the address space of 32-bit x86 processors is only 4
-@@ -1056,7 +1056,7 @@ config NOHIGHMEM
+@@ -1059,7 +1059,7 @@ config NOHIGHMEM
  
  config HIGHMEM4G
        bool "4GB"
@@ -5648,7 +7075,7 @@ index 6a47bb2..dc9a868 100644
        ---help---
          Select this if you have a 32-bit processor and between 1 and 4
          gigabytes of physical RAM.
-@@ -1110,7 +1110,7 @@ config PAGE_OFFSET
+@@ -1113,7 +1113,7 @@ config PAGE_OFFSET
        hex
        default 0xB0000000 if VMSPLIT_3G_OPT
        default 0x80000000 if VMSPLIT_2G
@@ -5657,7 +7084,7 @@ index 6a47bb2..dc9a868 100644
        default 0x40000000 if VMSPLIT_1G
        default 0xC0000000
        depends on X86_32
-@@ -1484,6 +1484,7 @@ config SECCOMP
+@@ -1496,6 +1496,7 @@ config SECCOMP
  
  config CC_STACKPROTECTOR
        bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
@@ -5665,7 +7092,7 @@ index 6a47bb2..dc9a868 100644
        ---help---
          This option turns on the -fstack-protector GCC feature. This
          feature puts, at the beginning of functions, a canary value on
-@@ -1541,6 +1542,7 @@ config KEXEC_JUMP
+@@ -1553,6 +1554,7 @@ config KEXEC_JUMP
  config PHYSICAL_START
        hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
        default "0x1000000"
@@ -5673,7 +7100,7 @@ index 6a47bb2..dc9a868 100644
        ---help---
          This gives the physical address where the kernel is loaded.
  
-@@ -1604,6 +1606,7 @@ config X86_NEED_RELOCS
+@@ -1616,6 +1618,7 @@ config X86_NEED_RELOCS
  config PHYSICAL_ALIGN
        hex "Alignment value to which kernel should be aligned" if X86_32
        default "0x1000000"
@@ -5681,7 +7108,7 @@ index 6a47bb2..dc9a868 100644
        range 0x2000 0x1000000
        ---help---
          This value puts the alignment restrictions on physical address
-@@ -1635,9 +1638,10 @@ config HOTPLUG_CPU
+@@ -1647,9 +1650,10 @@ config HOTPLUG_CPU
          Say N if you want to disable CPU hotplug.
  
  config COMPAT_VDSO
@@ -5725,7 +7152,7 @@ index e3ca7e0..b30b28a 100644
  config X86_MINIMUM_CPU_FAMILY
        int
 diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
-index c0f8a5c..6404f61 100644
+index bf56e17..05f9891 100644
 --- a/arch/x86/Kconfig.debug
 +++ b/arch/x86/Kconfig.debug
 @@ -81,7 +81,7 @@ config X86_PTDUMP
@@ -6215,7 +7642,7 @@ index 4d3ff03..e4972ff 100644
                err = check_flags();
        }
 diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
-index 93e689f..504ba09 100644
+index bdb4d45..0476680 100644
 --- a/arch/x86/boot/header.S
 +++ b/arch/x86/boot/header.S
 @@ -224,7 +224,7 @@ setup_data:                .quad 0                 # 64-bit physical pointer to
@@ -6477,6 +7904,62 @@ index be6d9e3..21fbbca 100644
        ret
 +ENDPROC(aesni_ctr_enc)
  #endif
+diff --git a/arch/x86/crypto/blowfish-x86_64-asm_64.S b/arch/x86/crypto/blowfish-x86_64-asm_64.S
+index 391d245..67f35c2 100644
+--- a/arch/x86/crypto/blowfish-x86_64-asm_64.S
++++ b/arch/x86/crypto/blowfish-x86_64-asm_64.S
+@@ -20,6 +20,8 @@
+  *
+  */
++#include <asm/alternative-asm.h>
++
+ .file "blowfish-x86_64-asm.S"
+ .text
+@@ -151,9 +153,11 @@ __blowfish_enc_blk:
+       jnz __enc_xor;
+       write_block();
++      pax_force_retaddr 0, 1
+       ret;
+ __enc_xor:
+       xor_block();
++      pax_force_retaddr 0, 1
+       ret;
+ .align 8
+@@ -188,6 +192,7 @@ blowfish_dec_blk:
+       movq %r11, %rbp;
++      pax_force_retaddr 0, 1
+       ret;
+ /**********************************************************************
+@@ -342,6 +347,7 @@ __blowfish_enc_blk_4way:
+       popq %rbx;
+       popq %rbp;
++      pax_force_retaddr 0, 1
+       ret;
+ __enc_xor4:
+@@ -349,6 +355,7 @@ __enc_xor4:
+       popq %rbx;
+       popq %rbp;
++      pax_force_retaddr 0, 1
+       ret;
+ .align 8
+@@ -386,5 +393,6 @@ blowfish_dec_blk_4way:
+       popq %rbx;
+       popq %rbp;
++      pax_force_retaddr 0, 1
+       ret;
 diff --git a/arch/x86/crypto/salsa20-x86_64-asm_64.S b/arch/x86/crypto/salsa20-x86_64-asm_64.S
 index 6214a9b..1f4fc9a 100644
 --- a/arch/x86/crypto/salsa20-x86_64-asm_64.S
@@ -6509,8 +7992,65 @@ index 6214a9b..1f4fc9a 100644
        mov     %rsi,%rdx
 +      pax_force_retaddr
        ret
+diff --git a/arch/x86/crypto/sha1_ssse3_asm.S b/arch/x86/crypto/sha1_ssse3_asm.S
+index b2c2f57..8470cab 100644
+--- a/arch/x86/crypto/sha1_ssse3_asm.S
++++ b/arch/x86/crypto/sha1_ssse3_asm.S
+@@ -28,6 +28,8 @@
+  * (at your option) any later version.
+  */
++#include <asm/alternative-asm.h>
++
+ #define CTX   %rdi    // arg1
+ #define BUF   %rsi    // arg2
+ #define CNT   %rdx    // arg3
+@@ -104,6 +106,7 @@
+       pop     %r12
+       pop     %rbp
+       pop     %rbx
++      pax_force_retaddr 0, 1
+       ret
+       .size   \name, .-\name
+diff --git a/arch/x86/crypto/twofish-x86_64-asm_64-3way.S b/arch/x86/crypto/twofish-x86_64-asm_64-3way.S
+index 5b012a2..36d5364 100644
+--- a/arch/x86/crypto/twofish-x86_64-asm_64-3way.S
++++ b/arch/x86/crypto/twofish-x86_64-asm_64-3way.S
+@@ -20,6 +20,8 @@
+  *
+  */
++#include <asm/alternative-asm.h>
++
+ .file "twofish-x86_64-asm-3way.S"
+ .text
+@@ -260,6 +262,7 @@ __twofish_enc_blk_3way:
+       popq %r13;
+       popq %r14;
+       popq %r15;
++      pax_force_retaddr 0, 1
+       ret;
+ __enc_xor3:
+@@ -271,6 +274,7 @@ __enc_xor3:
+       popq %r13;
+       popq %r14;
+       popq %r15;
++      pax_force_retaddr 0, 1
+       ret;
+ .global twofish_dec_blk_3way
+@@ -312,5 +316,6 @@ twofish_dec_blk_3way:
+       popq %r13;
+       popq %r14;
+       popq %r15;
++      pax_force_retaddr 0, 1
+       ret;
 diff --git a/arch/x86/crypto/twofish-x86_64-asm_64.S b/arch/x86/crypto/twofish-x86_64-asm_64.S
-index 573aa10..b73ad89 100644
+index 7bcf3fc..f53832f 100644
 --- a/arch/x86/crypto/twofish-x86_64-asm_64.S
 +++ b/arch/x86/crypto/twofish-x86_64-asm_64.S
 @@ -21,6 +21,7 @@
@@ -6521,7 +8061,7 @@ index 573aa10..b73ad89 100644
  
  #define a_offset      0
  #define b_offset      4
-@@ -269,6 +270,7 @@ twofish_enc_blk:
+@@ -268,6 +269,7 @@ twofish_enc_blk:
  
        popq    R1
        movq    $1,%rax
@@ -6529,14 +8069,14 @@ index 573aa10..b73ad89 100644
        ret
  
  twofish_dec_blk:
-@@ -321,4 +323,5 @@ twofish_dec_blk:
+@@ -319,4 +321,5 @@ twofish_dec_blk:
  
        popq    R1
        movq    $1,%rax
 +      pax_force_retaddr 0, 1
        ret
 diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c
-index fd84387..0b4af7d 100644
+index fd84387..887aa7e 100644
 --- a/arch/x86/ia32/ia32_aout.c
 +++ b/arch/x86/ia32/ia32_aout.c
 @@ -162,6 +162,8 @@ static int aout_core_dump(long signr, struct pt_regs *regs, struct file *file,
@@ -6548,6 +8088,34 @@ index fd84387..0b4af7d 100644
        fs = get_fs();
        set_fs(KERNEL_DS);
        has_dumped = 1;
+@@ -315,6 +317,13 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+       current->mm->free_area_cache = TASK_UNMAPPED_BASE;
+       current->mm->cached_hole_size = 0;
++      retval = setup_arg_pages(bprm, IA32_STACK_TOP, EXSTACK_DEFAULT);
++      if (retval < 0) {
++              /* Someone check-me: is this error path enough? */
++              send_sig(SIGKILL, current, 0);
++              return retval;
++      }
++
+       install_exec_creds(bprm);
+       current->flags &= ~PF_FORKNOEXEC;
+@@ -410,13 +419,6 @@ beyond_if:
+       set_brk(current->mm->start_brk, current->mm->brk);
+-      retval = setup_arg_pages(bprm, IA32_STACK_TOP, EXSTACK_DEFAULT);
+-      if (retval < 0) {
+-              /* Someone check-me: is this error path enough? */
+-              send_sig(SIGKILL, current, 0);
+-              return retval;
+-      }
+-
+       current->mm->start_stack =
+               (unsigned long)create_aout_tables((char __user *)bprm->p, bprm);
+       /* start thread */
 diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c
 index 6557769..ef6ae89 100644
 --- a/arch/x86/ia32/ia32_signal.c
@@ -6629,7 +8197,7 @@ index 6557769..ef6ae89 100644
  
        if (err)
 diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
-index 54edb207..9335b5f 100644
+index a6253ec..4ad2120 100644
 --- a/arch/x86/ia32/ia32entry.S
 +++ b/arch/x86/ia32/ia32entry.S
 @@ -13,7 +13,9 @@
@@ -6642,7 +8210,7 @@ index 54edb207..9335b5f 100644
  
  /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this.  */
  #include <linux/elf-em.h>
-@@ -95,6 +97,30 @@ ENTRY(native_irq_enable_sysexit)
+@@ -95,6 +97,32 @@ ENTRY(native_irq_enable_sysexit)
  ENDPROC(native_irq_enable_sysexit)
  #endif
  
@@ -6659,7 +8227,9 @@ index 54edb207..9335b5f 100644
 +#endif
 +#ifdef CONFIG_PAX_RANDKSTACK
 +      pushq %rax
++      pushq %r11
 +      call pax_randomize_kstack
++      popq %r11
 +      popq %rax
 +#endif
 +      .endm
@@ -6673,7 +8243,7 @@ index 54edb207..9335b5f 100644
  /*
   * 32bit SYSENTER instruction entry.
   *
-@@ -121,12 +147,6 @@ ENTRY(ia32_sysenter_target)
+@@ -121,12 +149,6 @@ ENTRY(ia32_sysenter_target)
        CFI_REGISTER    rsp,rbp
        SWAPGS_UNSAFE_STACK
        movq    PER_CPU_VAR(kernel_stack), %rsp
@@ -6686,12 +8256,13 @@ index 54edb207..9335b5f 100644
        movl    %ebp,%ebp               /* zero extension */
        pushq_cfi $__USER32_DS
        /*CFI_REL_OFFSET ss,0*/
-@@ -134,25 +154,38 @@ ENTRY(ia32_sysenter_target)
+@@ -134,25 +156,39 @@ ENTRY(ia32_sysenter_target)
        CFI_REL_OFFSET rsp,0
        pushfq_cfi
        /*CFI_REL_OFFSET rflags,0*/
 -      movl    8*3-THREAD_SIZE+TI_sysenter_return(%rsp), %r10d
 -      CFI_REGISTER rip,r10
++      orl     $X86_EFLAGS_IF,(%rsp)
 +      GET_THREAD_INFO(%r11)
 +      movl    TI_sysenter_return(%r11), %r11d
 +      CFI_REGISTER rip,r11
@@ -6731,7 +8302,7 @@ index 54edb207..9335b5f 100644
        CFI_REMEMBER_STATE
        jnz  sysenter_tracesys
        cmpq    $(IA32_NR_syscalls-1),%rax
-@@ -162,13 +195,15 @@ sysenter_do_call:
+@@ -162,13 +198,15 @@ sysenter_do_call:
  sysenter_dispatch:
        call    *ia32_sys_call_table(,%rax,8)
        movq    %rax,RAX-ARGOFFSET(%rsp)
@@ -6750,7 +8321,7 @@ index 54edb207..9335b5f 100644
        /* clear IF, that popfq doesn't enable interrupts early */
        andl  $~0x200,EFLAGS-R11(%rsp) 
        movl    RIP-R11(%rsp),%edx              /* User %eip */
-@@ -194,6 +229,9 @@ sysexit_from_sys_call:
+@@ -194,6 +232,9 @@ sysexit_from_sys_call:
        movl %eax,%esi                  /* 2nd arg: syscall number */
        movl $AUDIT_ARCH_I386,%edi      /* 1st arg: audit arch */
        call audit_syscall_entry
@@ -6760,7 +8331,7 @@ index 54edb207..9335b5f 100644
        movl RAX-ARGOFFSET(%rsp),%eax   /* reload syscall number */
        cmpq $(IA32_NR_syscalls-1),%rax
        ja ia32_badsys
-@@ -205,7 +243,7 @@ sysexit_from_sys_call:
+@@ -205,7 +246,7 @@ sysexit_from_sys_call:
        .endm
  
        .macro auditsys_exit exit
@@ -6769,7 +8340,7 @@ index 54edb207..9335b5f 100644
        jnz ia32_ret_from_sys_call
        TRACE_IRQS_ON
        sti
-@@ -215,12 +253,12 @@ sysexit_from_sys_call:
+@@ -215,12 +256,12 @@ sysexit_from_sys_call:
        movzbl %al,%edi         /* zero-extend that into %edi */
        inc %edi /* first arg, 0->1(AUDITSC_SUCCESS), 1->2(AUDITSC_FAILURE) */
        call audit_syscall_exit
@@ -6784,7 +8355,7 @@ index 54edb207..9335b5f 100644
        jz \exit
        CLEAR_RREGS -ARGOFFSET
        jmp int_with_check
-@@ -238,7 +276,7 @@ sysexit_audit:
+@@ -238,7 +279,7 @@ sysexit_audit:
  
  sysenter_tracesys:
  #ifdef CONFIG_AUDITSYSCALL
@@ -6793,7 +8364,7 @@ index 54edb207..9335b5f 100644
        jz      sysenter_auditsys
  #endif
        SAVE_REST
-@@ -246,6 +284,9 @@ sysenter_tracesys:
+@@ -246,6 +287,9 @@ sysenter_tracesys:
        movq    $-ENOSYS,RAX(%rsp)/* ptrace can change this for a bad syscall */
        movq    %rsp,%rdi        /* &pt_regs -> arg1 */
        call    syscall_trace_enter
@@ -6803,7 +8374,7 @@ index 54edb207..9335b5f 100644
        LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed it */
        RESTORE_REST
        cmpq    $(IA32_NR_syscalls-1),%rax
-@@ -277,19 +318,20 @@ ENDPROC(ia32_sysenter_target)
+@@ -277,19 +321,20 @@ ENDPROC(ia32_sysenter_target)
  ENTRY(ia32_cstar_target)
        CFI_STARTPROC32 simple
        CFI_SIGNAL_FRAME
@@ -6826,7 +8397,7 @@ index 54edb207..9335b5f 100644
        movl    %eax,%eax       /* zero extension */
        movq    %rax,ORIG_RAX-ARGOFFSET(%rsp)
        movq    %rcx,RIP-ARGOFFSET(%rsp)
-@@ -305,13 +347,19 @@ ENTRY(ia32_cstar_target)
+@@ -305,13 +350,19 @@ ENTRY(ia32_cstar_target)
        /* no need to do an access_ok check here because r8 has been
           32bit zero extended */ 
        /* hardware stack frame is complete now */      
@@ -6849,7 +8420,7 @@ index 54edb207..9335b5f 100644
        CFI_REMEMBER_STATE
        jnz   cstar_tracesys
        cmpq $IA32_NR_syscalls-1,%rax
-@@ -321,13 +369,15 @@ cstar_do_call:
+@@ -321,13 +372,15 @@ cstar_do_call:
  cstar_dispatch:
        call *ia32_sys_call_table(,%rax,8)
        movq %rax,RAX-ARGOFFSET(%rsp)
@@ -6868,7 +8439,7 @@ index 54edb207..9335b5f 100644
        RESTORE_ARGS 0,-ARG_SKIP,0,0,0
        movl RIP-ARGOFFSET(%rsp),%ecx
        CFI_REGISTER rip,rcx
-@@ -355,7 +405,7 @@ sysretl_audit:
+@@ -355,7 +408,7 @@ sysretl_audit:
  
  cstar_tracesys:
  #ifdef CONFIG_AUDITSYSCALL
@@ -6877,7 +8448,7 @@ index 54edb207..9335b5f 100644
        jz cstar_auditsys
  #endif
        xchgl %r9d,%ebp
-@@ -364,6 +414,9 @@ cstar_tracesys:
+@@ -364,6 +417,9 @@ cstar_tracesys:
        movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */
        movq %rsp,%rdi        /* &pt_regs -> arg1 */
        call syscall_trace_enter
@@ -6887,7 +8458,7 @@ index 54edb207..9335b5f 100644
        LOAD_ARGS32 ARGOFFSET, 1  /* reload args from stack in case ptrace changed it */
        RESTORE_REST
        xchgl %ebp,%r9d
-@@ -409,20 +462,21 @@ ENTRY(ia32_syscall)
+@@ -409,20 +465,21 @@ ENTRY(ia32_syscall)
        CFI_REL_OFFSET  rip,RIP-RIP
        PARAVIRT_ADJUST_EXCEPTION_FRAME
        SWAPGS
@@ -6917,7 +8488,7 @@ index 54edb207..9335b5f 100644
        jnz ia32_tracesys
        cmpq $(IA32_NR_syscalls-1),%rax
        ja ia32_badsys
-@@ -441,6 +495,9 @@ ia32_tracesys:
+@@ -441,6 +498,9 @@ ia32_tracesys:
        movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */
        movq %rsp,%rdi        /* &pt_regs -> arg1 */
        call syscall_trace_enter
@@ -6927,7 +8498,7 @@ index 54edb207..9335b5f 100644
        LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed it */
        RESTORE_REST
        cmpq $(IA32_NR_syscalls-1),%rax
-@@ -455,6 +512,7 @@ ia32_badsys:
+@@ -455,6 +515,7 @@ ia32_badsys:
  
  quiet_ni_syscall:
        movq $-ENOSYS,%rax
@@ -7007,14 +8578,27 @@ index f6f5c53..b358b28 100644
        set_fs(old_fs);
  
 diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h
-index 091508b..0ee32ec 100644
+index 091508b..7692c6f 100644
 --- a/arch/x86/include/asm/alternative-asm.h
 +++ b/arch/x86/include/asm/alternative-asm.h
+@@ -4,10 +4,10 @@
+ #ifdef CONFIG_SMP
+       .macro LOCK_PREFIX
+-1:    lock
++672:  lock
+       .section .smp_locks,"a"
+       .balign 4
+-      .long 1b - .
++      .long 672b - .
+       .previous
+       .endm
+ #else
 @@ -15,6 +15,45 @@
        .endm
  #endif
  
-+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN
++#ifdef KERNEXEC_PLUGIN
 +      .macro pax_force_retaddr_bts rip=0
 +      btsq $63,\rip(%rsp)
 +      .endm
@@ -7070,7 +8654,7 @@ index 37ad100..7d47faa 100644
        ".previous"
  
 diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
-index 9b7273c..e9fcc24 100644
+index 1a6c09a..fec2432 100644
 --- a/arch/x86/include/asm/apic.h
 +++ b/arch/x86/include/asm/apic.h
 @@ -45,7 +45,7 @@ static inline void generic_apic_probe(void)
@@ -7105,7 +8689,7 @@ index 20370c6..a2eb9b0 100644
                "popl %%ebp\n\t"
                "popl %%edi\n\t"
 diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h
-index 10572e3..2618d91 100644
+index 58cb6d4..ca9010d 100644
 --- a/arch/x86/include/asm/atomic.h
 +++ b/arch/x86/include/asm/atomic.h
 @@ -22,7 +22,18 @@
@@ -7358,54 +8942,51 @@ index 10572e3..2618d91 100644
                     : "+m" (v->counter), "=qm" (c)
                     : "ir" (i) : "memory");
        return c;
-@@ -180,6 +342,46 @@ static inline int atomic_add_return(int i, atomic_t *v)
+@@ -179,7 +341,7 @@ static inline int atomic_add_return(int i, atomic_t *v)
+               goto no_xadd;
  #endif
        /* Modern 486+ processor */
-       __i = i;
-+      asm volatile(LOCK_PREFIX "xaddl %0, %1\n"
-+
-+#ifdef CONFIG_PAX_REFCOUNT
-+                   "jno 0f\n"
-+                   "movl %0, %1\n"
-+                   "int $4\n0:\n"
-+                   _ASM_EXTABLE(0b, 0b)
-+#endif
-+
-+                   : "+r" (i), "+m" (v->counter)
-+                   : : "memory");
-+      return i + __i;
-+
-+#ifdef CONFIG_M386
-+no_xadd: /* Legacy 386 processor */
-+      local_irq_save(flags);
-+      __i = atomic_read(v);
-+      atomic_set(v, i + __i);
-+      local_irq_restore(flags);
-+      return i + __i;
-+#endif
-+}
-+
-+/**
+-      return i + xadd(&v->counter, i);
++      return i + xadd_check_overflow(&v->counter, i);
+ #ifdef CONFIG_M386
+ no_xadd: /* Legacy 386 processor */
+@@ -192,6 +354,34 @@ no_xadd: /* Legacy 386 processor */
+ }
+ /**
 + * atomic_add_return_unchecked - add integer and return
-+ * @v: pointer of type atomic_unchecked_t
 + * @i: integer value to add
++ * @v: pointer of type atomic_unchecked_t
 + *
 + * Atomically adds @i to @v and returns @i + @v
 + */
 +static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t *v)
 +{
-+      int __i;
 +#ifdef CONFIG_M386
++      int __i;
 +      unsigned long flags;
 +      if (unlikely(boot_cpu_data.x86 <= 3))
 +              goto no_xadd;
 +#endif
 +      /* Modern 486+ processor */
-+      __i = i;
-       asm volatile(LOCK_PREFIX "xaddl %0, %1"
-                    : "+r" (i), "+m" (v->counter)
-                    : : "memory");
-@@ -208,6 +410,10 @@ static inline int atomic_sub_return(int i, atomic_t *v)
++      return i + xadd(&v->counter, i);
++
++#ifdef CONFIG_M386
++no_xadd: /* Legacy 386 processor */
++      raw_local_irq_save(flags);
++      __i = atomic_read_unchecked(v);
++      atomic_set_unchecked(v, i + __i);
++      raw_local_irq_restore(flags);
++      return i + __i;
++#endif
++}
++
++/**
+  * atomic_sub_return - subtract integer and return
+  * @v: pointer of type atomic_t
+  * @i: integer value to subtract
+@@ -204,6 +394,10 @@ static inline int atomic_sub_return(int i, atomic_t *v)
  }
  
  #define atomic_inc_return(v)  (atomic_add_return(1, v))
@@ -7416,7 +8997,7 @@ index 10572e3..2618d91 100644
  #define atomic_dec_return(v)  (atomic_sub_return(1, v))
  
  static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
-@@ -215,11 +421,21 @@ static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
+@@ -211,11 +405,21 @@ static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
        return cmpxchg(&v->counter, old, new);
  }
  
@@ -7438,7 +9019,7 @@ index 10572e3..2618d91 100644
  /**
   * __atomic_add_unless - add unless the number is already a given value
   * @v: pointer of type atomic_t
-@@ -231,12 +447,25 @@ static inline int atomic_xchg(atomic_t *v, int new)
+@@ -227,12 +431,25 @@ static inline int atomic_xchg(atomic_t *v, int new)
   */
  static inline int __atomic_add_unless(atomic_t *v, int a, int u)
  {
@@ -7467,7 +9048,7 @@ index 10572e3..2618d91 100644
                if (likely(old == c))
                        break;
                c = old;
-@@ -244,6 +473,48 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+@@ -240,6 +457,48 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
        return c;
  }
  
@@ -7670,7 +9251,7 @@ index 24098aa..1e37723 100644
   * @i: integer value to subtract
   * @v: pointer to type atomic64_t
 diff --git a/arch/x86/include/asm/atomic64_64.h b/arch/x86/include/asm/atomic64_64.h
-index 017594d..d3fcf72 100644
+index 0e1cbfc..5623683 100644
 --- a/arch/x86/include/asm/atomic64_64.h
 +++ b/arch/x86/include/asm/atomic64_64.h
 @@ -18,7 +18,19 @@
@@ -7903,23 +9484,11 @@ index 017594d..d3fcf72 100644
                     : "=m" (v->counter), "=qm" (c)
                     : "er" (i), "m" (v->counter) : "memory");
        return c;
-@@ -171,7 +317,31 @@ static inline int atomic64_add_negative(long i, atomic64_t *v)
+@@ -170,6 +316,18 @@ static inline int atomic64_add_negative(long i, atomic64_t *v)
+  */
  static inline long atomic64_add_return(long i, atomic64_t *v)
  {
-       long __i = i;
--      asm volatile(LOCK_PREFIX "xaddq %0, %1;"
-+      asm volatile(LOCK_PREFIX "xaddq %0, %1\n"
-+
-+#ifdef CONFIG_PAX_REFCOUNT
-+                   "jno 0f\n"
-+                   "movq %0, %1\n"
-+                   "int $4\n0:\n"
-+                   _ASM_EXTABLE(0b, 0b)
-+#endif
-+
-+                   : "+r" (i), "+m" (v->counter)
-+                   : : "memory");
-+      return i + __i;
++      return i + xadd_check_overflow(&v->counter, i);
 +}
 +
 +/**
@@ -7931,12 +9500,10 @@ index 017594d..d3fcf72 100644
 + */
 +static inline long atomic64_add_return_unchecked(long i, atomic64_unchecked_t *v)
 +{
-+      long __i = i;
-+      asm volatile(LOCK_PREFIX "xaddq %0, %1"
-                    : "+r" (i), "+m" (v->counter)
-                    : : "memory");
-       return i + __i;
-@@ -183,6 +353,10 @@ static inline long atomic64_sub_return(long i, atomic64_t *v)
+       return i + xadd(&v->counter, i);
+ }
+@@ -179,6 +337,10 @@ static inline long atomic64_sub_return(long i, atomic64_t *v)
  }
  
  #define atomic64_inc_return(v)  (atomic64_add_return(1, (v)))
@@ -7947,7 +9514,7 @@ index 017594d..d3fcf72 100644
  #define atomic64_dec_return(v)  (atomic64_sub_return(1, (v)))
  
  static inline long atomic64_cmpxchg(atomic64_t *v, long old, long new)
-@@ -190,6 +364,11 @@ static inline long atomic64_cmpxchg(atomic64_t *v, long old, long new)
+@@ -186,6 +348,11 @@ static inline long atomic64_cmpxchg(atomic64_t *v, long old, long new)
        return cmpxchg(&v->counter, old, new);
  }
  
@@ -7959,7 +9526,7 @@ index 017594d..d3fcf72 100644
  static inline long atomic64_xchg(atomic64_t *v, long new)
  {
        return xchg(&v->counter, new);
-@@ -206,17 +385,30 @@ static inline long atomic64_xchg(atomic64_t *v, long new)
+@@ -202,17 +369,30 @@ static inline long atomic64_xchg(atomic64_t *v, long new)
   */
  static inline int atomic64_add_unless(atomic64_t *v, long a, long u)
  {
@@ -8098,11 +9665,66 @@ index 46fc474..b02b0f9 100644
                                                 len, sum, NULL, err_ptr);
  
        if (len)
+diff --git a/arch/x86/include/asm/cmpxchg.h b/arch/x86/include/asm/cmpxchg.h
+index 5d3acdf..6447a02 100644
+--- a/arch/x86/include/asm/cmpxchg.h
++++ b/arch/x86/include/asm/cmpxchg.h
+@@ -14,6 +14,8 @@ extern void __cmpxchg_wrong_size(void)
+       __compiletime_error("Bad argument size for cmpxchg");
+ extern void __xadd_wrong_size(void)
+       __compiletime_error("Bad argument size for xadd");
++extern void __xadd_check_overflow_wrong_size(void)
++      __compiletime_error("Bad argument size for xadd_check_overflow");
+ /*
+  * Constants for operation sizes. On 32-bit, the 64-bit size it set to
+@@ -195,6 +197,34 @@ extern void __xadd_wrong_size(void)
+               __ret;                                                  \
+       })
++#define __xadd_check_overflow(ptr, inc, lock)                         \
++      ({                                                              \
++              __typeof__ (*(ptr)) __ret = (inc);                      \
++              switch (sizeof(*(ptr))) {                               \
++              case __X86_CASE_L:                                      \
++                      asm volatile (lock "xaddl %0, %1\n"             \
++                                    "jno 0f\n"                        \
++                                    "mov %0,%1\n"                     \
++                                    "int $4\n0:\n"                    \
++                                    _ASM_EXTABLE(0b, 0b)              \
++                                    : "+r" (__ret), "+m" (*(ptr))     \
++                                    : : "memory", "cc");              \
++                      break;                                          \
++              case __X86_CASE_Q:                                      \
++                      asm volatile (lock "xaddq %q0, %1\n"            \
++                                    "jno 0f\n"                        \
++                                    "mov %0,%1\n"                     \
++                                    "int $4\n0:\n"                    \
++                                    _ASM_EXTABLE(0b, 0b)              \
++                                    : "+r" (__ret), "+m" (*(ptr))     \
++                                    : : "memory", "cc");              \
++                      break;                                          \
++              default:                                                \
++                      __xadd_check_overflow_wrong_size();             \
++              }                                                       \
++              __ret;                                                  \
++      })
++
+ /*
+  * xadd() adds "inc" to "*ptr" and atomically returns the previous
+  * value of "*ptr".
+@@ -207,4 +237,6 @@ extern void __xadd_wrong_size(void)
+ #define xadd_sync(ptr, inc)   __xadd((ptr), (inc), "lock; ")
+ #define xadd_local(ptr, inc)  __xadd((ptr), (inc), "")
++#define xadd_check_overflow(ptr, inc) __xadd_check_overflow((ptr), (inc), LOCK_PREFIX)
++
+ #endif        /* ASM_X86_CMPXCHG_H */
 diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
-index 88b23a4..d2e5f9f 100644
+index f3444f7..051a196 100644
 --- a/arch/x86/include/asm/cpufeature.h
 +++ b/arch/x86/include/asm/cpufeature.h
-@@ -358,7 +358,7 @@ static __always_inline __pure bool __static_cpu_has(u16 bit)
+@@ -363,7 +363,7 @@ static __always_inline __pure bool __static_cpu_has(u16 bit)
                             ".section .discard,\"aw\",@progbits\n"
                             " .byte 0xff + (4f-3f) - (2b-1b)\n" /* size check */
                             ".previous\n"
@@ -8324,10 +9946,10 @@ index 908b969..a1f4eb4 100644
  
  #define BIOS_ROM_BASE         0xffe00000
 diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h
-index f2ad216..eb24c96 100644
+index 5f962df..7289f09 100644
 --- a/arch/x86/include/asm/elf.h
 +++ b/arch/x86/include/asm/elf.h
-@@ -237,7 +237,25 @@ extern int force_personality32;
+@@ -238,7 +238,25 @@ extern int force_personality32;
     the loader.  We need to make sure that it is out of the way of the program
     that it will "exec", and that there is sufficient room for the brk.  */
  
@@ -8353,7 +9975,7 @@ index f2ad216..eb24c96 100644
  
  /* This yields a mask that user programs can use to figure out what
     instruction set this CPU supports.  This could be done in user space,
-@@ -290,9 +308,7 @@ do {                                                                       \
+@@ -291,9 +309,7 @@ do {                                                                       \
  
  #define ARCH_DLINFO                                                   \
  do {                                                                  \
@@ -8364,7 +9986,7 @@ index f2ad216..eb24c96 100644
  } while (0)
  
  #define AT_SYSINFO            32
-@@ -303,7 +319,7 @@ do {                                                                       \
+@@ -304,7 +320,7 @@ do {                                                                       \
  
  #endif /* !CONFIG_X86_32 */
  
@@ -8373,14 +9995,16 @@ index f2ad216..eb24c96 100644
  
  #define VDSO_ENTRY                                                    \
        ((unsigned long)VDSO32_SYMBOL(VDSO_CURRENT_BASE, vsyscall))
-@@ -317,7 +333,4 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm,
+@@ -318,9 +334,6 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm,
  extern int syscall32_setup_pages(struct linux_binprm *, int exstack);
  #define compat_arch_setup_additional_pages    syscall32_setup_pages
  
 -extern unsigned long arch_randomize_brk(struct mm_struct *mm);
 -#define arch_randomize_brk arch_randomize_brk
 -
- #endif /* _ASM_X86_ELF_H */
+ /*
+  * True on X86_32 or when emulating IA32 on X86_64
+  */
 diff --git a/arch/x86/include/asm/emergency-restart.h b/arch/x86/include/asm/emergency-restart.h
 index cc70c1c..d96d011 100644
 --- a/arch/x86/include/asm/emergency-restart.h
@@ -8393,6 +10017,18 @@ index cc70c1c..d96d011 100644
 +extern void machine_emergency_restart(void) __noreturn;
  
  #endif /* _ASM_X86_EMERGENCY_RESTART_H */
+diff --git a/arch/x86/include/asm/floppy.h b/arch/x86/include/asm/floppy.h
+index dbe82a5..c6d8a00 100644
+--- a/arch/x86/include/asm/floppy.h
++++ b/arch/x86/include/asm/floppy.h
+@@ -157,6 +157,7 @@ static unsigned long dma_mem_alloc(unsigned long size)
+ }
++static unsigned long vdma_mem_alloc(unsigned long size) __size_overflow(1);
+ static unsigned long vdma_mem_alloc(unsigned long size)
+ {
+       return (unsigned long)vmalloc(size);
 diff --git a/arch/x86/include/asm/futex.h b/arch/x86/include/asm/futex.h
 index d09bb03..4ea4194 100644
 --- a/arch/x86/include/asm/futex.h
@@ -8456,7 +10092,7 @@ index d09bb03..4ea4194 100644
                     : "memory"
        );
 diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h
-index 0919905..2cf38d6 100644
+index eb92a6e..b98b2f4 100644
 --- a/arch/x86/include/asm/hw_irq.h
 +++ b/arch/x86/include/asm/hw_irq.h
 @@ -136,8 +136,8 @@ extern void setup_ioapic_dest(void);
@@ -8471,7 +10107,7 @@ index 0919905..2cf38d6 100644
  /* EISA */
  extern void eisa_set_level_irq(unsigned int irq);
 diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
-index c9e09ea..73888df 100644
+index a850b4d..bae26dc 100644
 --- a/arch/x86/include/asm/i387.h
 +++ b/arch/x86/include/asm/i387.h
 @@ -92,6 +92,11 @@ static inline int fxrstor_checking(struct i387_fxsave_struct *fx)
@@ -8498,31 +10134,15 @@ index c9e09ea..73888df 100644
        /*
         * Clear the bytes not touched by the fxsave and reserved
         * for the SW usage.
-@@ -213,13 +223,8 @@ static inline void fpu_fxsave(struct fpu *fpu)
- #endif        /* CONFIG_X86_64 */
- /* We need a safe address that is cheap to find and that is already
--   in L1 during context switch. The best choices are unfortunately
--   different for UP and SMP */
--#ifdef CONFIG_SMP
--#define safe_address (__per_cpu_offset[0])
--#else
--#define safe_address (kstat_cpu(0).cpustat.user)
--#endif
-+   in L1 during context switch. */
-+#define safe_address (init_tss[smp_processor_id()].x86_tss.sp0)
+@@ -424,7 +434,7 @@ static inline bool interrupted_kernel_fpu_idle(void)
+ static inline bool interrupted_user_mode(void)
+ {
+       struct pt_regs *regs = get_irq_regs();
+-      return regs && user_mode_vm(regs);
++      return regs && user_mode(regs);
+ }
  
  /*
-  * These must be called with preempt disabled
-@@ -312,7 +317,7 @@ static inline void kernel_fpu_begin(void)
-       struct thread_info *me = current_thread_info();
-       preempt_disable();
-       if (me->status & TS_USEDFPU)
--              __save_init_fpu(me->task);
-+              __save_init_fpu(current);
-       else
-               clts();
- }
 diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
 index d8e8eef..99f81ae 100644
 --- a/arch/x86/include/asm/io.h
@@ -8582,10 +10202,10 @@ index 5478825..839e88c 100644
  #define flush_insn_slot(p)    do { } while (0)
  
 diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
-index dd51c83..66cbfac 100644
+index b4973f4..a42170a 100644
 --- a/arch/x86/include/asm/kvm_host.h
 +++ b/arch/x86/include/asm/kvm_host.h
-@@ -456,7 +456,7 @@ struct kvm_arch {
+@@ -459,7 +459,7 @@ struct kvm_arch {
        unsigned int n_requested_mmu_pages;
        unsigned int n_max_mmu_pages;
        unsigned int indirect_shadow_pages;
@@ -8594,15 +10214,45 @@ index dd51c83..66cbfac 100644
        struct hlist_head mmu_page_hash[KVM_NUM_MMU_PAGES];
        /*
         * Hash table of struct kvm_mmu_page.
-@@ -636,7 +636,7 @@ struct kvm_x86_ops {
+@@ -638,7 +638,7 @@ struct kvm_x86_ops {
+       int (*check_intercept)(struct kvm_vcpu *vcpu,
+                              struct x86_instruction_info *info,
                               enum x86_intercept_stage stage);
-       const struct trace_print_flags *exit_reasons_str;
 -};
 +} __do_const;
  
  struct kvm_arch_async_pf {
        u32 token;
+@@ -667,9 +667,9 @@ void kvm_mmu_change_mmu_pages(struct kvm *kvm, unsigned int kvm_nr_mmu_pages);
+ int load_pdptrs(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu, unsigned long cr3);
+ int emulator_write_phys(struct kvm_vcpu *vcpu, gpa_t gpa,
+-                        const void *val, int bytes);
++                        const void *val, int bytes) __size_overflow(2);
+ int kvm_pv_mmu_op(struct kvm_vcpu *vcpu, unsigned long bytes,
+-                gpa_t addr, unsigned long *ret);
++                gpa_t addr, unsigned long *ret) __size_overflow(2,3);
+ u8 kvm_get_guest_memory_type(struct kvm_vcpu *vcpu, gfn_t gfn);
+ extern bool tdp_enabled;
+@@ -730,7 +730,7 @@ void kvm_get_cs_db_l_bits(struct kvm_vcpu *vcpu, int *db, int *l);
+ int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr);
+ int kvm_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata);
+-int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data);
++int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data) __size_overflow(3);
+ unsigned long kvm_get_rflags(struct kvm_vcpu *vcpu);
+ void kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
+@@ -755,7 +755,7 @@ int fx_init(struct kvm_vcpu *vcpu);
+ void kvm_mmu_flush_tlb(struct kvm_vcpu *vcpu);
+ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
+                      const u8 *new, int bytes,
+-                     bool guest_initiated);
++                     bool guest_initiated) __size_overflow(2);
+ int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva);
+ void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu);
+ int kvm_mmu_load(struct kvm_vcpu *vcpu);
 diff --git a/arch/x86/include/asm/local.h b/arch/x86/include/asm/local.h
 index 9cdae5d..300d20f 100644
 --- a/arch/x86/include/asm/local.h
@@ -9626,10 +11276,10 @@ index 013286a..8b42f4f 100644
  #define pgprot_writecombine   pgprot_writecombine
  extern pgprot_t pgprot_writecombine(pgprot_t prot);
 diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
-index 0d1171c..36571a9 100644
+index bb3ee36..781a6b8 100644
 --- a/arch/x86/include/asm/processor.h
 +++ b/arch/x86/include/asm/processor.h
-@@ -266,7 +266,7 @@ struct tss_struct {
+@@ -268,7 +268,7 @@ struct tss_struct {
  
  } ____cacheline_aligned;
  
@@ -9638,7 +11288,7 @@ index 0d1171c..36571a9 100644
  
  /*
   * Save the original ist values for checking stack pointers during debugging
-@@ -858,11 +858,18 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -861,11 +861,18 @@ static inline void spin_lock_prefetch(const void *x)
   */
  #define TASK_SIZE             PAGE_OFFSET
  #define TASK_SIZE_MAX         TASK_SIZE
@@ -9659,7 +11309,7 @@ index 0d1171c..36571a9 100644
        .vm86_info              = NULL,                                   \
        .sysenter_cs            = __KERNEL_CS,                            \
        .io_bitmap_ptr          = NULL,                                   \
-@@ -876,7 +883,7 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -879,7 +886,7 @@ static inline void spin_lock_prefetch(const void *x)
   */
  #define INIT_TSS  {                                                     \
        .x86_tss = {                                                      \
@@ -9668,7 +11318,7 @@ index 0d1171c..36571a9 100644
                .ss0            = __KERNEL_DS,                            \
                .ss1            = __KERNEL_CS,                            \
                .io_bitmap_base = INVALID_IO_BITMAP_OFFSET,               \
-@@ -887,11 +894,7 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -890,11 +897,7 @@ static inline void spin_lock_prefetch(const void *x)
  extern unsigned long thread_saved_pc(struct task_struct *tsk);
  
  #define THREAD_SIZE_LONGS      (THREAD_SIZE/sizeof(unsigned long))
@@ -9681,7 +11331,7 @@ index 0d1171c..36571a9 100644
  
  /*
   * The below -8 is to reserve 8 bytes on top of the ring0 stack.
-@@ -906,7 +909,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -909,7 +912,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
  #define task_pt_regs(task)                                             \
  ({                                                                     \
         struct pt_regs *__regs__;                                       \
@@ -9690,7 +11340,7 @@ index 0d1171c..36571a9 100644
         __regs__ - 1;                                                   \
  })
  
-@@ -916,13 +919,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -919,13 +922,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
  /*
   * User space process size. 47bits minus one guard page.
   */
@@ -9706,7 +11356,7 @@ index 0d1171c..36571a9 100644
  
  #define TASK_SIZE             (test_thread_flag(TIF_IA32) ? \
                                        IA32_PAGE_OFFSET : TASK_SIZE_MAX)
-@@ -933,11 +936,11 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -936,11 +939,11 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
  #define STACK_TOP_MAX         TASK_SIZE_MAX
  
  #define INIT_THREAD  { \
@@ -9720,7 +11370,7 @@ index 0d1171c..36571a9 100644
  }
  
  /*
-@@ -959,6 +962,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
+@@ -962,6 +965,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
   */
  #define TASK_UNMAPPED_BASE    (PAGE_ALIGN(TASK_SIZE / 3))
  
@@ -9791,7 +11441,7 @@ index 3566454..4bdfb8c 100644
  }
  #endif
 diff --git a/arch/x86/include/asm/reboot.h b/arch/x86/include/asm/reboot.h
-index 3250e3d..20db631 100644
+index 92f29706..a79cbbb 100644
 --- a/arch/x86/include/asm/reboot.h
 +++ b/arch/x86/include/asm/reboot.h
 @@ -6,19 +6,19 @@
@@ -9821,7 +11471,7 @@ index 3250e3d..20db631 100644
  #define MRR_BIOS      0
  #define MRR_APM               1
 diff --git a/arch/x86/include/asm/rwsem.h b/arch/x86/include/asm/rwsem.h
-index df4cd32..27ae072 100644
+index 2dbe4a7..ce1db00 100644
 --- a/arch/x86/include/asm/rwsem.h
 +++ b/arch/x86/include/asm/rwsem.h
 @@ -64,6 +64,14 @@ static inline void __down_read(struct rw_semaphore *sem)
@@ -9931,23 +11581,15 @@ index df4cd32..27ae072 100644
                     : "+m" (sem->count)
                     : "er" (delta));
  }
-@@ -206,7 +262,15 @@ static inline long rwsem_atomic_update(long delta, struct rw_semaphore *sem)
+@@ -204,7 +260,7 @@ static inline void rwsem_atomic_add(long delta, struct rw_semaphore *sem)
+  */
+ static inline long rwsem_atomic_update(long delta, struct rw_semaphore *sem)
  {
-       long tmp = delta;
--      asm volatile(LOCK_PREFIX "xadd %0,%1"
-+      asm volatile(LOCK_PREFIX "xadd %0,%1\n"
-+
-+#ifdef CONFIG_PAX_REFCOUNT
-+                   "jno 0f\n"
-+                   "mov %0,%1\n"
-+                   "int $4\n0:\n"
-+                   _ASM_EXTABLE(0b, 0b)
-+#endif
-+
-                    : "+r" (tmp), "+m" (sem->count)
-                    : : "memory");
+-      return delta + xadd(&sem->count, delta);
++      return delta + xadd_check_overflow(&sem->count, delta);
+ }
  
+ #endif /* __KERNEL__ */
 diff --git a/arch/x86/include/asm/segment.h b/arch/x86/include/asm/segment.h
 index 5e64171..f58957e 100644
 --- a/arch/x86/include/asm/segment.h
@@ -10058,10 +11700,10 @@ index 73b11bc..d4a3b63 100644
  
  #endif
 diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
-index ee67edf..49c796b 100644
+index 972c260..43ab1fd 100644
 --- a/arch/x86/include/asm/spinlock.h
 +++ b/arch/x86/include/asm/spinlock.h
-@@ -248,6 +248,14 @@ static inline int arch_write_can_lock(arch_rwlock_t *lock)
+@@ -188,6 +188,14 @@ static inline int arch_write_can_lock(arch_rwlock_t *lock)
  static inline void arch_read_lock(arch_rwlock_t *rw)
  {
        asm volatile(LOCK_PREFIX READ_LOCK_SIZE(dec) " (%0)\n\t"
@@ -10076,7 +11718,7 @@ index ee67edf..49c796b 100644
                     "jns 1f\n"
                     "call __read_lock_failed\n\t"
                     "1:\n"
-@@ -257,6 +265,14 @@ static inline void arch_read_lock(arch_rwlock_t *rw)
+@@ -197,6 +205,14 @@ static inline void arch_read_lock(arch_rwlock_t *rw)
  static inline void arch_write_lock(arch_rwlock_t *rw)
  {
        asm volatile(LOCK_PREFIX WRITE_LOCK_SUB(%1) "(%0)\n\t"
@@ -10091,7 +11733,7 @@ index ee67edf..49c796b 100644
                     "jz 1f\n"
                     "call __write_lock_failed\n\t"
                     "1:\n"
-@@ -286,13 +302,29 @@ static inline int arch_write_trylock(arch_rwlock_t *lock)
+@@ -226,13 +242,29 @@ static inline int arch_write_trylock(arch_rwlock_t *lock)
  
  static inline void arch_read_unlock(arch_rwlock_t *rw)
  {
@@ -10211,8 +11853,21 @@ index cb23852..2dde194 100644
  asmlinkage long sys32_sysfs(int, u32, u32);
  
  asmlinkage long sys32_sched_rr_get_interval(compat_pid_t,
+diff --git a/arch/x86/include/asm/syscalls.h b/arch/x86/include/asm/syscalls.h
+index f1d8b44..a4de8b7 100644
+--- a/arch/x86/include/asm/syscalls.h
++++ b/arch/x86/include/asm/syscalls.h
+@@ -30,7 +30,7 @@ long sys_clone(unsigned long, unsigned long, void __user *,
+              void __user *, struct pt_regs *);
+ /* kernel/ldt.c */
+-asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
++asmlinkage int sys_modify_ldt(int, void __user *, unsigned long) __size_overflow(3);
+ /* kernel/signal.c */
+ long sys_rt_sigreturn(struct pt_regs *);
 diff --git a/arch/x86/include/asm/system.h b/arch/x86/include/asm/system.h
-index c2ff2a1..4349184 100644
+index 2d2f01c..f985723 100644
 --- a/arch/x86/include/asm/system.h
 +++ b/arch/x86/include/asm/system.h
 @@ -129,7 +129,7 @@ do {                                                                       \
@@ -10242,7 +11897,7 @@ index c2ff2a1..4349184 100644
  }
  
  static inline void native_clts(void)
-@@ -397,12 +397,12 @@ void enable_hlt(void);
+@@ -397,13 +397,13 @@ void enable_hlt(void);
  
  void cpu_idle_wait(void);
  
@@ -10251,6 +11906,7 @@ index c2ff2a1..4349184 100644
  extern void free_init_pages(char *what, unsigned long begin, unsigned long end);
  
  void default_idle(void);
+ bool set_pm_idle_to_default(void);
  
 -void stop_this_cpu(void *dummy);
 +void stop_this_cpu(void *dummy) __noreturn;
@@ -10258,7 +11914,7 @@ index c2ff2a1..4349184 100644
  /*
   * Force strict CPU ordering.
 diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
-index a1fe5c1..ee326d8 100644
+index d7ef849..6af292e 100644
 --- a/arch/x86/include/asm/thread_info.h
 +++ b/arch/x86/include/asm/thread_info.h
 @@ -10,6 +10,7 @@
@@ -10402,7 +12058,7 @@ index a1fe5c1..ee326d8 100644
  #endif
  
  #endif /* !X86_32 */
-@@ -266,5 +242,16 @@ extern void arch_task_cache_init(void);
+@@ -264,5 +240,16 @@ extern void arch_task_cache_init(void);
  extern void free_thread_info(struct thread_info *ti);
  extern int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src);
  #define arch_task_cache_init arch_task_cache_init
@@ -10643,15 +12299,38 @@ index 36361bf..324f262 100644
  
  #ifdef CONFIG_X86_WP_WORKS_OK
 diff --git a/arch/x86/include/asm/uaccess_32.h b/arch/x86/include/asm/uaccess_32.h
-index 566e803..89f1e60 100644
+index 566e803..7183d0b 100644
 --- a/arch/x86/include/asm/uaccess_32.h
 +++ b/arch/x86/include/asm/uaccess_32.h
-@@ -43,6 +43,11 @@ unsigned long __must_check __copy_from_user_ll_nocache_nozero
+@@ -11,15 +11,15 @@
+ #include <asm/page.h>
+ unsigned long __must_check __copy_to_user_ll
+-              (void __user *to, const void *from, unsigned long n);
++              (void __user *to, const void *from, unsigned long n) __size_overflow(3);
+ unsigned long __must_check __copy_from_user_ll
+-              (void *to, const void __user *from, unsigned long n);
++              (void *to, const void __user *from, unsigned long n) __size_overflow(3);
+ unsigned long __must_check __copy_from_user_ll_nozero
+-              (void *to, const void __user *from, unsigned long n);
++              (void *to, const void __user *from, unsigned long n) __size_overflow(3);
+ unsigned long __must_check __copy_from_user_ll_nocache
+-              (void *to, const void __user *from, unsigned long n);
++              (void *to, const void __user *from, unsigned long n) __size_overflow(3);
+ unsigned long __must_check __copy_from_user_ll_nocache_nozero
+-              (void *to, const void __user *from, unsigned long n);
++              (void *to, const void __user *from, unsigned long n) __size_overflow(3);
+ /**
+  * __copy_to_user_inatomic: - Copy a block of data into user space, with less checking.
+@@ -41,8 +41,13 @@ unsigned long __must_check __copy_from_user_ll_nocache_nozero
+  */
  static __always_inline unsigned long __must_check
++__copy_to_user_inatomic(void __user *to, const void *from, unsigned long n) __size_overflow(3);
++static __always_inline unsigned long __must_check
  __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
  {
-+      pax_track_stack();
-+
 +      if ((long)n < 0)
 +              return n;
 +
@@ -10667,7 +12346,12 @@ index 566e803..89f1e60 100644
        return __copy_to_user_ll(to, from, n);
  }
  
-@@ -82,12 +89,16 @@ static __always_inline unsigned long __must_check
+@@ -79,15 +86,23 @@ __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
+  * On success, this will be zero.
+  */
+ static __always_inline unsigned long __must_check
++__copy_to_user(void __user *to, const void *from, unsigned long n) __size_overflow(3);
++static __always_inline unsigned long __must_check
  __copy_to_user(void __user *to, const void *from, unsigned long n)
  {
        might_fault();
@@ -10676,6 +12360,8 @@ index 566e803..89f1e60 100644
  }
  
  static __always_inline unsigned long
++__copy_from_user_inatomic(void *to, const void __user *from, unsigned long n) __size_overflow(3);
++static __always_inline unsigned long
  __copy_from_user_inatomic(void *to, const void __user *from, unsigned long n)
  {
 +      if ((long)n < 0)
@@ -10684,20 +12370,23 @@ index 566e803..89f1e60 100644
        /* Avoid zeroing the tail if the copy fails..
         * If 'n' is constant and 1, 2, or 4, we do still zero on a failure,
         * but as the zeroing behaviour is only significant when n is not
-@@ -137,6 +148,12 @@ static __always_inline unsigned long
+@@ -134,9 +149,15 @@ __copy_from_user_inatomic(void *to, const void __user *from, unsigned long n)
+  * for explanation of why this is needed.
+  */
+ static __always_inline unsigned long
++__copy_from_user(void *to, const void __user *from, unsigned long n) __size_overflow(3);
++static __always_inline unsigned long
  __copy_from_user(void *to, const void __user *from, unsigned long n)
  {
        might_fault();
 +
-+      pax_track_stack();
-+
 +      if ((long)n < 0)
 +              return n;
 +
        if (__builtin_constant_p(n)) {
                unsigned long ret;
  
-@@ -152,6 +169,8 @@ __copy_from_user(void *to, const void __user *from, unsigned long n)
+@@ -152,13 +173,21 @@ __copy_from_user(void *to, const void __user *from, unsigned long n)
                        return ret;
                }
        }
@@ -10706,7 +12395,9 @@ index 566e803..89f1e60 100644
        return __copy_from_user_ll(to, from, n);
  }
  
-@@ -159,6 +178,10 @@ static __always_inline unsigned long __copy_from_user_nocache(void *to,
+ static __always_inline unsigned long __copy_from_user_nocache(void *to,
++                              const void __user *from, unsigned long n) __size_overflow(3);
++static __always_inline unsigned long __copy_from_user_nocache(void *to,
                                const void __user *from, unsigned long n)
  {
        might_fault();
@@ -10717,8 +12408,13 @@ index 566e803..89f1e60 100644
        if (__builtin_constant_p(n)) {
                unsigned long ret;
  
-@@ -181,15 +204,19 @@ static __always_inline unsigned long
+@@ -179,17 +208,24 @@ static __always_inline unsigned long __copy_from_user_nocache(void *to,
+ static __always_inline unsigned long
  __copy_from_user_inatomic_nocache(void *to, const void __user *from,
++                                unsigned long n) __size_overflow(3);
++static __always_inline unsigned long
++__copy_from_user_inatomic_nocache(void *to, const void __user *from,
                                  unsigned long n)
  {
 -       return __copy_from_user_ll_nocache_nozero(to, from, n);
@@ -10744,7 +12440,7 @@ index 566e803..89f1e60 100644
  
  extern void copy_from_user_overflow(void)
  #ifdef CONFIG_DEBUG_STRICT_USER_COPY_CHECKS
-@@ -199,17 +226,61 @@ extern void copy_from_user_overflow(void)
+@@ -199,17 +235,65 @@ extern void copy_from_user_overflow(void)
  #endif
  ;
  
@@ -10765,6 +12461,8 @@ index 566e803..89f1e60 100644
 + * On success, this will be zero.
 + */
 +static inline unsigned long __must_check
++copy_to_user(void __user *to, const void *from, unsigned long n) __size_overflow(3);
++static inline unsigned long __must_check
 +copy_to_user(void __user *to, const void *from, unsigned long n)
 +{
 +      int sz = __compiletime_object_size(from);
@@ -10793,6 +12491,8 @@ index 566e803..89f1e60 100644
 + * data to the requested size using zero bytes.
 + */
 +static inline unsigned long __must_check
++copy_from_user(void *to, const void __user *from, unsigned long n) __size_overflow(3);
++static inline unsigned long __must_check
 +copy_from_user(void *to, const void __user *from, unsigned long n)
  {
        int sz = __compiletime_object_size(to);
@@ -10813,8 +12513,18 @@ index 566e803..89f1e60 100644
        return n;
  }
  
+@@ -235,7 +319,7 @@ long __must_check __strncpy_from_user(char *dst,
+ #define strlen_user(str) strnlen_user(str, LONG_MAX)
+ long strnlen_user(const char __user *str, long n);
+-unsigned long __must_check clear_user(void __user *mem, unsigned long len);
+-unsigned long __must_check __clear_user(void __user *mem, unsigned long len);
++unsigned long __must_check clear_user(void __user *mem, unsigned long len) __size_overflow(2);
++unsigned long __must_check __clear_user(void __user *mem, unsigned long len) __size_overflow(2);
+ #endif /* _ASM_X86_UACCESS_32_H */
 diff --git a/arch/x86/include/asm/uaccess_64.h b/arch/x86/include/asm/uaccess_64.h
-index 1c66d30..59bd7d4 100644
+index 1c66d30..e294b5f 100644
 --- a/arch/x86/include/asm/uaccess_64.h
 +++ b/arch/x86/include/asm/uaccess_64.h
 @@ -10,6 +10,9 @@
@@ -10827,42 +12537,51 @@ index 1c66d30..59bd7d4 100644
  
  /*
   * Copy To/From Userspace
-@@ -17,12 +20,12 @@
+@@ -17,12 +20,14 @@
  
  /* Handles exceptions in both to and from, but doesn't do access_ok */
  __must_check unsigned long
 -copy_user_generic_string(void *to, const void *from, unsigned len);
-+copy_user_generic_string(void *to, const void *from, unsigned long len);
++copy_user_generic_string(void *to, const void *from, unsigned long len) __size_overflow(3);
  __must_check unsigned long
 -copy_user_generic_unrolled(void *to, const void *from, unsigned len);
-+copy_user_generic_unrolled(void *to, const void *from, unsigned long len);
++copy_user_generic_unrolled(void *to, const void *from, unsigned long len) __size_overflow(3);
  
  static __always_inline __must_check unsigned long
 -copy_user_generic(void *to, const void *from, unsigned len)
++copy_user_generic(void *to, const void *from, unsigned long len) __size_overflow(3);
++static __always_inline __must_check unsigned long
 +copy_user_generic(void *to, const void *from, unsigned long len)
  {
        unsigned ret;
  
-@@ -36,138 +39,226 @@ copy_user_generic(void *to, const void *from, unsigned len)
+@@ -32,142 +37,237 @@ copy_user_generic(void *to, const void *from, unsigned len)
+                        ASM_OUTPUT2("=a" (ret), "=D" (to), "=S" (from),
+                                    "=d" (len)),
+                        "1" (to), "2" (from), "3" (len)
+-                       : "memory", "rcx", "r8", "r9", "r10", "r11");
++                       : "memory", "rcx", "r8", "r9", "r11");
        return ret;
  }
  
 +static __always_inline __must_check unsigned long
-+__copy_to_user(void __user *to, const void *from, unsigned long len);
++__copy_to_user(void __user *to, const void *from, unsigned long len) __size_overflow(3);
 +static __always_inline __must_check unsigned long
-+__copy_from_user(void *to, const void __user *from, unsigned long len);
++__copy_from_user(void *to, const void __user *from, unsigned long len) __size_overflow(3);
  __must_check unsigned long
 -_copy_to_user(void __user *to, const void *from, unsigned len);
 -__must_check unsigned long
 -_copy_from_user(void *to, const void __user *from, unsigned len);
 -__must_check unsigned long
 -copy_in_user(void __user *to, const void __user *from, unsigned len);
-+copy_in_user(void __user *to, const void __user *from, unsigned long len);
++copy_in_user(void __user *to, const void __user *from, unsigned long len) __size_overflow(3);
  
  static inline unsigned long __must_check copy_from_user(void *to,
                                          const void __user *from,
--                                        unsigned long n)
-+                                        unsigned n)
++                                        unsigned long n) __size_overflow(3);
++static inline unsigned long __must_check copy_from_user(void *to,
++                                        const void __user *from,
+                                         unsigned long n)
  {
 -      int sz = __compiletime_object_size(to);
 -
@@ -10886,6 +12605,8 @@ index 1c66d30..59bd7d4 100644
  
  static __always_inline __must_check
 -int copy_to_user(void __user *dst, const void *src, unsigned size)
++int copy_to_user(void __user *dst, const void *src, unsigned long size) __size_overflow(3);
++static __always_inline __must_check
 +int copy_to_user(void __user *dst, const void *src, unsigned long size)
  {
        might_fault();
@@ -10898,6 +12619,8 @@ index 1c66d30..59bd7d4 100644
  
  static __always_inline __must_check
 -int __copy_from_user(void *dst, const void __user *src, unsigned size)
++unsigned long __copy_from_user(void *dst, const void __user *src, unsigned long size) __size_overflow(3);
++static __always_inline __must_check
 +unsigned long __copy_from_user(void *dst, const void __user *src, unsigned long size)
  {
 -      int ret = 0;
@@ -10908,8 +12631,6 @@ index 1c66d30..59bd7d4 100644
 -      if (!__builtin_constant_p(size))
 -              return copy_user_generic(dst, (__force void *)src, size);
 +
-+      pax_track_stack();
-+
 +      if (size > INT_MAX)
 +              return size;
 +
@@ -10988,6 +12709,8 @@ index 1c66d30..59bd7d4 100644
  
  static __always_inline __must_check
 -int __copy_to_user(void __user *dst, const void *src, unsigned size)
++unsigned long __copy_to_user(void __user *dst, const void *src, unsigned long size) __size_overflow(3);
++static __always_inline __must_check
 +unsigned long __copy_to_user(void __user *dst, const void *src, unsigned long size)
  {
 -      int ret = 0;
@@ -10998,8 +12721,6 @@ index 1c66d30..59bd7d4 100644
 -      if (!__builtin_constant_p(size))
 -              return copy_user_generic((__force void *)dst, src, size);
 +
-+      pax_track_stack();
-+
 +      if (size > INT_MAX)
 +              return size;
 +
@@ -11078,6 +12799,8 @@ index 1c66d30..59bd7d4 100644
  
  static __always_inline __must_check
 -int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
++unsigned long __copy_in_user(void __user *dst, const void __user *src, unsigned long size) __size_overflow(3);
++static __always_inline __must_check
 +unsigned long __copy_in_user(void __user *dst, const void __user *src, unsigned long size)
  {
 -      int ret = 0;
@@ -11118,7 +12841,7 @@ index 1c66d30..59bd7d4 100644
                               ret, "b", "b", "=q", 1);
                if (likely(!ret))
                        __put_user_asm(tmp, (u8 __user *)dst,
-@@ -176,7 +267,7 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
+@@ -176,7 +276,7 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
        }
        case 2: {
                u16 tmp;
@@ -11127,7 +12850,7 @@ index 1c66d30..59bd7d4 100644
                               ret, "w", "w", "=r", 2);
                if (likely(!ret))
                        __put_user_asm(tmp, (u16 __user *)dst,
-@@ -186,7 +277,7 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
+@@ -186,7 +286,7 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
  
        case 4: {
                u32 tmp;
@@ -11136,7 +12859,7 @@ index 1c66d30..59bd7d4 100644
                               ret, "l", "k", "=r", 4);
                if (likely(!ret))
                        __put_user_asm(tmp, (u32 __user *)dst,
-@@ -195,7 +286,7 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
+@@ -195,7 +295,7 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
        }
        case 8: {
                u64 tmp;
@@ -11145,7 +12868,7 @@ index 1c66d30..59bd7d4 100644
                               ret, "q", "", "=r", 8);
                if (likely(!ret))
                        __put_user_asm(tmp, (u64 __user *)dst,
-@@ -203,8 +294,16 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
+@@ -203,8 +303,16 @@ int __copy_in_user(void __user *dst, const void __user *src, unsigned size)
                return ret;
        }
        default:
@@ -11164,16 +12887,22 @@ index 1c66d30..59bd7d4 100644
        }
  }
  
-@@ -219,35 +318,74 @@ __must_check unsigned long clear_user(void __user *mem, unsigned long len);
- __must_check unsigned long __clear_user(void __user *mem, unsigned long len);
+@@ -215,39 +323,83 @@ __strncpy_from_user(char *dst, const char __user *src, long count);
+ __must_check long strnlen_user(const char __user *str, long n);
+ __must_check long __strnlen_user(const char __user *str, long n);
+ __must_check long strlen_user(const char __user *str);
+-__must_check unsigned long clear_user(void __user *mem, unsigned long len);
+-__must_check unsigned long __clear_user(void __user *mem, unsigned long len);
++__must_check unsigned long clear_user(void __user *mem, unsigned long len) __size_overflow(2);
++__must_check unsigned long __clear_user(void __user *mem, unsigned long len) __size_overflow(2);
  
  static __must_check __always_inline int
 -__copy_from_user_inatomic(void *dst, const void __user *src, unsigned size)
++__copy_from_user_inatomic(void *dst, const void __user *src, unsigned long size) __size_overflow(3);
++static __must_check __always_inline int
 +__copy_from_user_inatomic(void *dst, const void __user *src, unsigned long size)
  {
 -      return copy_user_generic(dst, (__force const void *)src, size);
-+      pax_track_stack();
-+
 +      if (size > INT_MAX)
 +              return size;
 +
@@ -11191,6 +12920,8 @@ index 1c66d30..59bd7d4 100644
 -static __must_check __always_inline int
 -__copy_to_user_inatomic(void __user *dst, const void *src, unsigned size)
 +static __must_check __always_inline unsigned long
++__copy_to_user_inatomic(void __user *dst, const void *src, unsigned long size) __size_overflow(3);
++static __must_check __always_inline unsigned long
 +__copy_to_user_inatomic(void __user *dst, const void *src, unsigned long size)
  {
 -      return copy_user_generic((__force void *)dst, src, size);
@@ -11211,10 +12942,11 @@ index 1c66d30..59bd7d4 100644
 -extern long __copy_user_nocache(void *dst, const void __user *src,
 -                              unsigned size, int zerorest);
 +extern unsigned long __copy_user_nocache(void *dst, const void __user *src,
-+                              unsigned long size, int zerorest);
++                              unsigned long size, int zerorest) __size_overflow(3);
  
 -static inline int
 -__copy_from_user_nocache(void *dst, const void __user *src, unsigned size)
++static inline unsigned long __copy_from_user_nocache(void *dst, const void __user *src, unsigned long size) __size_overflow(3);
 +static inline unsigned long __copy_from_user_nocache(void *dst, const void __user *src, unsigned long size)
  {
        might_sleep();
@@ -11234,6 +12966,8 @@ index 1c66d30..59bd7d4 100644
 -__copy_from_user_inatomic_nocache(void *dst, const void __user *src,
 -                                unsigned size)
 +static inline unsigned long __copy_from_user_inatomic_nocache(void *dst, const void __user *src,
++                                unsigned long size) __size_overflow(3);
++static inline unsigned long __copy_from_user_inatomic_nocache(void *dst, const void __user *src,
 +                                unsigned long size)
  {
 +      if (size > INT_MAX)
@@ -11250,7 +12984,7 @@ index 1c66d30..59bd7d4 100644
 -unsigned long
 -copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest);
 +extern unsigned long
-+copy_user_handle_tail(char __user *to, char __user *from, unsigned long len, unsigned zerorest);
++copy_user_handle_tail(char __user *to, char __user *from, unsigned long len, unsigned zerorest) __size_overflow(3);
  
  #endif /* _ASM_X86_UACCESS_64_H */
 diff --git a/arch/x86/include/asm/vdso.h b/arch/x86/include/asm/vdso.h
@@ -11267,7 +13001,7 @@ index bb05228..d763d5b 100644
  #endif
  
 diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
-index d3d8590..d296b5f 100644
+index 1971e65..1e3559b 100644
 --- a/arch/x86/include/asm/x86_init.h
 +++ b/arch/x86/include/asm/x86_init.h
 @@ -28,7 +28,7 @@ struct x86_init_mpparse {
@@ -11369,16 +13103,16 @@ index d3d8590..d296b5f 100644
  
  /**
   * struct x86_platform_ops - platform specific runtime functions
-@@ -166,7 +166,7 @@ struct x86_platform_ops {
-       bool (*is_untracked_pat_range)(u64 start, u64 end);
+@@ -169,7 +169,7 @@ struct x86_platform_ops {
        void (*nmi_init)(void);
+       unsigned char (*get_nmi_reason)(void);
        int (*i8042_detect)(void);
 -};
 +} __no_const;
  
  struct pci_dev;
  
-@@ -174,7 +174,7 @@ struct x86_msi_ops {
+@@ -177,7 +177,7 @@ struct x86_msi_ops {
        int (*setup_msi_irqs)(struct pci_dev *dev, int nvec, int type);
        void (*teardown_msi_irq)(unsigned int irq);
        void (*teardown_msi_irqs)(struct pci_dev *dev);
@@ -11494,7 +13228,7 @@ index 13ab720..95d5442 100644
  bogus_magic:
        jmp     bogus_magic
 diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
-index c638228..16dfa8d 100644
+index 1f84794..e23f862 100644
 --- a/arch/x86/kernel/alternative.c
 +++ b/arch/x86/kernel/alternative.c
 @@ -276,6 +276,13 @@ void __init_or_module apply_alternatives(struct alt_instr *start,
@@ -11631,7 +13365,7 @@ index c638228..16dfa8d 100644
  }
  
 diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
-index 52fa563..5de9d9c 100644
+index f98d84c..e402a69 100644
 --- a/arch/x86/kernel/apic/apic.c
 +++ b/arch/x86/kernel/apic/apic.c
 @@ -174,7 +174,7 @@ int first_system_vector = 0xfe;
@@ -11643,7 +13377,7 @@ index 52fa563..5de9d9c 100644
  
  int pic_mode;
  
-@@ -1835,7 +1835,7 @@ void smp_error_interrupt(struct pt_regs *regs)
+@@ -1853,7 +1853,7 @@ void smp_error_interrupt(struct pt_regs *regs)
        apic_write(APIC_ESR, 0);
        v1 = apic_read(APIC_ESR);
        ack_APIC_irq();
@@ -11652,20 +13386,11 @@ index 52fa563..5de9d9c 100644
  
        apic_printk(APIC_DEBUG, KERN_DEBUG "APIC error on CPU%d: %02x(%02x)",
                    smp_processor_id(), v0 , v1);
-@@ -2209,6 +2209,8 @@ static int __cpuinit apic_cluster_num(void)
-       u16 *bios_cpu_apicid;
-       DECLARE_BITMAP(clustermap, NUM_APIC_CLUSTERS);
-+      pax_track_stack();
-+
-       bios_cpu_apicid = early_per_cpu_ptr(x86_bios_cpu_apicid);
-       bitmap_zero(clustermap, NUM_APIC_CLUSTERS);
 diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index 8eb863e..32e6934 100644
+index 6d939d7..0697fcc 100644
 --- a/arch/x86/kernel/apic/io_apic.c
 +++ b/arch/x86/kernel/apic/io_apic.c
-@@ -1028,7 +1028,7 @@ int IO_APIC_get_PCI_irq_vector(int bus, int slot, int pin,
+@@ -1096,7 +1096,7 @@ int IO_APIC_get_PCI_irq_vector(int bus, int slot, int pin,
  }
  EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
  
@@ -11674,7 +13399,7 @@ index 8eb863e..32e6934 100644
  {
        /* Used to the online set of cpus does not change
         * during assign_irq_vector.
-@@ -1036,7 +1036,7 @@ void lock_vector_lock(void)
+@@ -1104,7 +1104,7 @@ void lock_vector_lock(void)
        raw_spin_lock(&vector_lock);
  }
  
@@ -11683,16 +13408,16 @@ index 8eb863e..32e6934 100644
  {
        raw_spin_unlock(&vector_lock);
  }
-@@ -2405,7 +2405,7 @@ static void ack_apic_edge(struct irq_data *data)
+@@ -2510,7 +2510,7 @@ static void ack_apic_edge(struct irq_data *data)
        ack_APIC_irq();
  }
  
 -atomic_t irq_mis_count;
 +atomic_unchecked_t irq_mis_count;
  
- /*
-  * IO-APIC versions below 0x20 don't support EOI register.
-@@ -2513,7 +2513,7 @@ static void ack_apic_level(struct irq_data *data)
+ static void ack_apic_level(struct irq_data *data)
+ {
+@@ -2576,7 +2576,7 @@ static void ack_apic_level(struct irq_data *data)
         * at the cpu.
         */
        if (!(v & (1 << (i & 0x1f)))) {
@@ -11702,10 +13427,10 @@ index 8eb863e..32e6934 100644
                eoi_ioapic_irq(irq, cfg);
        }
 diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
-index 0371c48..54cdf63 100644
+index a46bd38..6b906d7 100644
 --- a/arch/x86/kernel/apm_32.c
 +++ b/arch/x86/kernel/apm_32.c
-@@ -413,7 +413,7 @@ static DEFINE_MUTEX(apm_mutex);
+@@ -411,7 +411,7 @@ static DEFINE_MUTEX(apm_mutex);
   * This is for buggy BIOS's that refer to (real mode) segment 0x40
   * even though they are called in protected mode.
   */
@@ -11714,7 +13439,7 @@ index 0371c48..54cdf63 100644
                        (unsigned long)__va(0x400UL), PAGE_SIZE - 0x400 - 1);
  
  static const char driver_version[] = "1.16ac";        /* no spaces */
-@@ -591,7 +591,10 @@ static long __apm_bios_call(void *_call)
+@@ -589,7 +589,10 @@ static long __apm_bios_call(void *_call)
        BUG_ON(cpu != 0);
        gdt = get_cpu_gdt_table(cpu);
        save_desc_40 = gdt[0x40 / 8];
@@ -11725,7 +13450,7 @@ index 0371c48..54cdf63 100644
  
        apm_irq_save(flags);
        APM_DO_SAVE_SEGS;
-@@ -600,7 +603,11 @@ static long __apm_bios_call(void *_call)
+@@ -598,7 +601,11 @@ static long __apm_bios_call(void *_call)
                          &call->esi);
        APM_DO_RESTORE_SEGS;
        apm_irq_restore(flags);
@@ -11737,7 +13462,7 @@ index 0371c48..54cdf63 100644
        put_cpu();
  
        return call->eax & 0xff;
-@@ -667,7 +674,10 @@ static long __apm_bios_call_simple(void *_call)
+@@ -665,7 +672,10 @@ static long __apm_bios_call_simple(void *_call)
        BUG_ON(cpu != 0);
        gdt = get_cpu_gdt_table(cpu);
        save_desc_40 = gdt[0x40 / 8];
@@ -11748,7 +13473,7 @@ index 0371c48..54cdf63 100644
  
        apm_irq_save(flags);
        APM_DO_SAVE_SEGS;
-@@ -675,7 +685,11 @@ static long __apm_bios_call_simple(void *_call)
+@@ -673,7 +683,11 @@ static long __apm_bios_call_simple(void *_call)
                                         &call->eax);
        APM_DO_RESTORE_SEGS;
        apm_irq_restore(flags);
@@ -11760,7 +13485,7 @@ index 0371c48..54cdf63 100644
        put_cpu();
        return error;
  }
-@@ -2349,12 +2363,15 @@ static int __init apm_init(void)
+@@ -2347,12 +2361,15 @@ static int __init apm_init(void)
         * code to that CPU.
         */
        gdt = get_cpu_gdt_table(0);
@@ -11829,7 +13554,7 @@ index e72a119..6e2955d 100644
        BLANK();
  
 diff --git a/arch/x86/kernel/cpu/Makefile b/arch/x86/kernel/cpu/Makefile
-index 6042981..e638266 100644
+index 25f24dc..4094a7f 100644
 --- a/arch/x86/kernel/cpu/Makefile
 +++ b/arch/x86/kernel/cpu/Makefile
 @@ -8,10 +8,6 @@ CFLAGS_REMOVE_common.o = -pg
@@ -11844,10 +13569,10 @@ index 6042981..e638266 100644
  obj-y                 += proc.o capflags.o powerflags.o common.o
  obj-y                 += vmware.o hypervisor.o sched.o mshyperv.o
 diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
-index b13ed39..603286c 100644
+index 0bab2b1..d0a1bf8 100644
 --- a/arch/x86/kernel/cpu/amd.c
 +++ b/arch/x86/kernel/cpu/amd.c
-@@ -647,7 +647,7 @@ static unsigned int __cpuinit amd_size_cache(struct cpuinfo_x86 *c,
+@@ -664,7 +664,7 @@ static unsigned int __cpuinit amd_size_cache(struct cpuinfo_x86 *c,
                                                        unsigned int size)
  {
        /* AMD errata T13 (order #21922) */
@@ -11857,10 +13582,10 @@ index b13ed39..603286c 100644
                if (c->x86_model == 3 && c->x86_mask == 0)
                        size = 64;
 diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
-index 6218439..0f1addc 100644
+index aa003b1..47ea638 100644
 --- a/arch/x86/kernel/cpu/common.c
 +++ b/arch/x86/kernel/cpu/common.c
-@@ -83,60 +83,6 @@ static const struct cpu_dev __cpuinitconst default_cpu = {
+@@ -84,60 +84,6 @@ static const struct cpu_dev __cpuinitconst default_cpu = {
  
  static const struct cpu_dev *this_cpu __cpuinitdata = &default_cpu;
  
@@ -11921,7 +13646,7 @@ index 6218439..0f1addc 100644
  static int __init x86_xsave_setup(char *s)
  {
        setup_clear_cpu_cap(X86_FEATURE_XSAVE);
-@@ -371,7 +317,7 @@ void switch_to_new_gdt(int cpu)
+@@ -372,7 +318,7 @@ void switch_to_new_gdt(int cpu)
  {
        struct desc_ptr gdt_descr;
  
@@ -11930,18 +13655,18 @@ index 6218439..0f1addc 100644
        gdt_descr.size = GDT_SIZE - 1;
        load_gdt(&gdt_descr);
        /* Reload the per-cpu base */
-@@ -840,6 +786,10 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
+@@ -844,6 +790,10 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
        /* Filter out anything that depends on CPUID levels we don't have */
        filter_cpuid_features(c, true);
  
-+#if defined(CONFIG_PAX_SEGMEXEC) || defined(CONFIG_PAX_KERNEXEC) || (defined(CONFIG_PAX_MEMORY_UDEREF) && defined(CONFIG_X86_32))
++#if defined(CONFIG_X86_32) && (defined(CONFIG_PAX_SEGMEXEC) || defined(CONFIG_PAX_KERNEXEC) || defined(CONFIG_PAX_MEMORY_UDEREF))
 +      setup_clear_cpu_cap(X86_FEATURE_SEP);
 +#endif
 +
        /* If the model name is still unset, do table lookup. */
        if (!c->x86_model_id[0]) {
                const char *p;
-@@ -1019,6 +969,9 @@ static __init int setup_disablecpuid(char *arg)
+@@ -1024,6 +974,9 @@ static __init int setup_disablecpuid(char *arg)
  }
  __setup("clearcpuid=", setup_disablecpuid);
  
@@ -11951,7 +13676,7 @@ index 6218439..0f1addc 100644
  #ifdef CONFIG_X86_64
  struct desc_ptr idt_descr = { NR_VECTORS * 16 - 1, (unsigned long) idt_table };
  
-@@ -1034,7 +987,7 @@ DEFINE_PER_CPU(struct task_struct *, current_task) ____cacheline_aligned =
+@@ -1039,7 +992,7 @@ DEFINE_PER_CPU(struct task_struct *, current_task) ____cacheline_aligned =
  EXPORT_PER_CPU_SYMBOL(current_task);
  
  DEFINE_PER_CPU(unsigned long, kernel_stack) =
@@ -11960,7 +13685,7 @@ index 6218439..0f1addc 100644
  EXPORT_PER_CPU_SYMBOL(kernel_stack);
  
  DEFINE_PER_CPU(char *, irq_stack_ptr) =
-@@ -1099,7 +1052,7 @@ struct pt_regs * __cpuinit idle_regs(struct pt_regs *regs)
+@@ -1104,7 +1057,7 @@ struct pt_regs * __cpuinit idle_regs(struct pt_regs *regs)
  {
        memset(regs, 0, sizeof(struct pt_regs));
        regs->fs = __KERNEL_PERCPU;
@@ -11969,7 +13694,7 @@ index 6218439..0f1addc 100644
  
        return regs;
  }
-@@ -1154,7 +1107,7 @@ void __cpuinit cpu_init(void)
+@@ -1159,7 +1112,7 @@ void __cpuinit cpu_init(void)
        int i;
  
        cpu = stack_smp_processor_id();
@@ -11978,7 +13703,7 @@ index 6218439..0f1addc 100644
        oist = &per_cpu(orig_ist, cpu);
  
  #ifdef CONFIG_NUMA
-@@ -1180,7 +1133,7 @@ void __cpuinit cpu_init(void)
+@@ -1185,7 +1138,7 @@ void __cpuinit cpu_init(void)
        switch_to_new_gdt(cpu);
        loadsegment(fs, 0);
  
@@ -11987,7 +13712,7 @@ index 6218439..0f1addc 100644
  
        memset(me->thread.tls_array, 0, GDT_ENTRY_TLS_ENTRIES * 8);
        syscall_init();
-@@ -1189,7 +1142,6 @@ void __cpuinit cpu_init(void)
+@@ -1194,7 +1147,6 @@ void __cpuinit cpu_init(void)
        wrmsrl(MSR_KERNEL_GS_BASE, 0);
        barrier();
  
@@ -11995,7 +13720,7 @@ index 6218439..0f1addc 100644
        if (cpu != 0)
                enable_x2apic();
  
-@@ -1243,7 +1195,7 @@ void __cpuinit cpu_init(void)
+@@ -1248,7 +1200,7 @@ void __cpuinit cpu_init(void)
  {
        int cpu = smp_processor_id();
        struct task_struct *curr = current;
@@ -12005,10 +13730,10 @@ index 6218439..0f1addc 100644
  
        if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) {
 diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
-index ed6086e..a1dcf29 100644
+index 5231312..a78a987 100644
 --- a/arch/x86/kernel/cpu/intel.c
 +++ b/arch/x86/kernel/cpu/intel.c
-@@ -172,7 +172,7 @@ static void __cpuinit trap_init_f00f_bug(void)
+@@ -174,7 +174,7 @@ static void __cpuinit trap_init_f00f_bug(void)
         * Update the IDT descriptor and reload the IDT so that
         * it uses the read-only mapped virtual address.
         */
@@ -12018,22 +13743,20 @@ index ed6086e..a1dcf29 100644
  }
  #endif
 diff --git a/arch/x86/kernel/cpu/mcheck/mce-inject.c b/arch/x86/kernel/cpu/mcheck/mce-inject.c
-index 0ed633c..82cef2a 100644
+index 319882e..993534e 100644
 --- a/arch/x86/kernel/cpu/mcheck/mce-inject.c
 +++ b/arch/x86/kernel/cpu/mcheck/mce-inject.c
-@@ -215,7 +215,9 @@ static int inject_init(void)
-       if (!alloc_cpumask_var(&mce_inject_cpumask, GFP_KERNEL))
-               return -ENOMEM;
-       printk(KERN_INFO "Machine check injector initialized\n");
--      mce_chrdev_ops.write = mce_write;
-+      pax_open_kernel();
-+      *(void **)&mce_chrdev_ops.write = mce_write;
-+      pax_close_kernel();
-       register_die_notifier(&mce_raise_nb);
-       return 0;
- }
+@@ -173,6 +173,8 @@ static void raise_mce(struct mce *m)
+ /* Error injection interface */
+ static ssize_t mce_write(struct file *filp, const char __user *ubuf,
++                       size_t usize, loff_t *off) __size_overflow(3);
++static ssize_t mce_write(struct file *filp, const char __user *ubuf,
+                        size_t usize, loff_t *off)
+ {
+       struct mce m;
 diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
-index 08363b0..ee26113 100644
+index 2af127d..8ff7ac0 100644
 --- a/arch/x86/kernel/cpu/mcheck/mce.c
 +++ b/arch/x86/kernel/cpu/mcheck/mce.c
 @@ -42,6 +42,7 @@
@@ -12044,7 +13767,7 @@ index 08363b0..ee26113 100644
  
  #include "mce-internal.h"
  
-@@ -205,7 +206,7 @@ static void print_mce(struct mce *m)
+@@ -202,7 +203,7 @@ static void print_mce(struct mce *m)
                        !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "",
                                m->cs, m->ip);
  
@@ -12053,7 +13776,7 @@ index 08363b0..ee26113 100644
                        print_symbol("{%s}", m->ip);
                pr_cont("\n");
        }
-@@ -233,10 +234,10 @@ static void print_mce(struct mce *m)
+@@ -235,10 +236,10 @@ static void print_mce(struct mce *m)
  
  #define PANIC_TIMEOUT 5 /* 5 seconds */
  
@@ -12066,7 +13789,7 @@ index 08363b0..ee26113 100644
  
  /* Panic in progress. Enable interrupts and wait for final IPI */
  static void wait_for_panic(void)
-@@ -260,7 +261,7 @@ static void mce_panic(char *msg, struct mce *final, char *exp)
+@@ -262,7 +263,7 @@ static void mce_panic(char *msg, struct mce *final, char *exp)
                /*
                 * Make sure only one CPU runs in machine check panic
                 */
@@ -12075,7 +13798,7 @@ index 08363b0..ee26113 100644
                        wait_for_panic();
                barrier();
  
-@@ -268,7 +269,7 @@ static void mce_panic(char *msg, struct mce *final, char *exp)
+@@ -270,7 +271,7 @@ static void mce_panic(char *msg, struct mce *final, char *exp)
                console_verbose();
        } else {
                /* Don't log too much for fake panic */
@@ -12093,7 +13816,7 @@ index 08363b0..ee26113 100644
                wait_for_panic();
        if (!monarch_timeout)
                goto out;
-@@ -1392,7 +1393,7 @@ static void unexpected_machine_check(struct pt_regs *regs, long error_code)
+@@ -1398,7 +1399,7 @@ static void unexpected_machine_check(struct pt_regs *regs, long error_code)
  }
  
  /* Call the installed machine check handler for this CPU setup. */
@@ -12102,7 +13825,7 @@ index 08363b0..ee26113 100644
                                                unexpected_machine_check;
  
  /*
-@@ -1415,7 +1416,9 @@ void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c)
+@@ -1421,7 +1422,9 @@ void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c)
                return;
        }
  
@@ -12112,7 +13835,7 @@ index 08363b0..ee26113 100644
  
        __mcheck_cpu_init_generic();
        __mcheck_cpu_init_vendor(c);
-@@ -1429,7 +1432,7 @@ void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c)
+@@ -1435,7 +1438,7 @@ void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c)
   */
  
  static DEFINE_SPINLOCK(mce_chrdev_state_lock);
@@ -12121,7 +13844,7 @@ index 08363b0..ee26113 100644
  static int mce_chrdev_open_exclu;     /* already open exclusive? */
  
  static int mce_chrdev_open(struct inode *inode, struct file *file)
-@@ -1437,7 +1440,7 @@ static int mce_chrdev_open(struct inode *inode, struct file *file)
+@@ -1443,7 +1446,7 @@ static int mce_chrdev_open(struct inode *inode, struct file *file)
        spin_lock(&mce_chrdev_state_lock);
  
        if (mce_chrdev_open_exclu ||
@@ -12130,7 +13853,7 @@ index 08363b0..ee26113 100644
                spin_unlock(&mce_chrdev_state_lock);
  
                return -EBUSY;
-@@ -1445,7 +1448,7 @@ static int mce_chrdev_open(struct inode *inode, struct file *file)
+@@ -1451,7 +1454,7 @@ static int mce_chrdev_open(struct inode *inode, struct file *file)
  
        if (file->f_flags & O_EXCL)
                mce_chrdev_open_exclu = 1;
@@ -12139,7 +13862,7 @@ index 08363b0..ee26113 100644
  
        spin_unlock(&mce_chrdev_state_lock);
  
-@@ -1456,7 +1459,7 @@ static int mce_chrdev_release(struct inode *inode, struct file *file)
+@@ -1462,7 +1465,7 @@ static int mce_chrdev_release(struct inode *inode, struct file *file)
  {
        spin_lock(&mce_chrdev_state_lock);
  
@@ -12148,7 +13871,7 @@ index 08363b0..ee26113 100644
        mce_chrdev_open_exclu = 0;
  
        spin_unlock(&mce_chrdev_state_lock);
-@@ -2147,7 +2150,7 @@ struct dentry *mce_get_debugfs_dir(void)
+@@ -2171,7 +2174,7 @@ struct dentry *mce_get_debugfs_dir(void)
  static void mce_reset(void)
  {
        cpu_missing = 0;
@@ -12158,10 +13881,18 @@ index 08363b0..ee26113 100644
        atomic_set(&mce_callin, 0);
        atomic_set(&global_nwo, 0);
 diff --git a/arch/x86/kernel/cpu/mcheck/p5.c b/arch/x86/kernel/cpu/mcheck/p5.c
-index 5c0e653..1e82c7c 100644
+index 5c0e653..0882b0a 100644
 --- a/arch/x86/kernel/cpu/mcheck/p5.c
 +++ b/arch/x86/kernel/cpu/mcheck/p5.c
-@@ -50,7 +50,9 @@ void intel_p5_mcheck_init(struct cpuinfo_x86 *c)
+@@ -12,6 +12,7 @@
+ #include <asm/system.h>
+ #include <asm/mce.h>
+ #include <asm/msr.h>
++#include <asm/pgtable.h>
+ /* By default disabled */
+ int mce_p5_enabled __read_mostly;
+@@ -50,7 +51,9 @@ void intel_p5_mcheck_init(struct cpuinfo_x86 *c)
        if (!cpu_has(c, X86_FEATURE_MCE))
                return;
  
@@ -12172,10 +13903,18 @@ index 5c0e653..1e82c7c 100644
        wmb();
  
 diff --git a/arch/x86/kernel/cpu/mcheck/winchip.c b/arch/x86/kernel/cpu/mcheck/winchip.c
-index 54060f5..e6ba93d 100644
+index 54060f5..c1a7577 100644
 --- a/arch/x86/kernel/cpu/mcheck/winchip.c
 +++ b/arch/x86/kernel/cpu/mcheck/winchip.c
-@@ -24,7 +24,9 @@ void winchip_mcheck_init(struct cpuinfo_x86 *c)
+@@ -11,6 +11,7 @@
+ #include <asm/system.h>
+ #include <asm/mce.h>
+ #include <asm/msr.h>
++#include <asm/pgtable.h>
+ /* Machine check handler for WinChip C6: */
+ static void winchip_machine_check(struct pt_regs *regs, long error_code)
+@@ -24,7 +25,9 @@ void winchip_mcheck_init(struct cpuinfo_x86 *c)
  {
        u32 lo, hi;
  
@@ -12185,6 +13924,19 @@ index 54060f5..e6ba93d 100644
        /* Make sure the vector pointer is visible before we enable MCEs: */
        wmb();
  
+diff --git a/arch/x86/kernel/cpu/mtrr/if.c b/arch/x86/kernel/cpu/mtrr/if.c
+index 7928963..1b16001 100644
+--- a/arch/x86/kernel/cpu/mtrr/if.c
++++ b/arch/x86/kernel/cpu/mtrr/if.c
+@@ -91,6 +91,8 @@ mtrr_file_del(unsigned long base, unsigned long size,
+  *    "base=%Lx size=%Lx type=%s" or "disable=%d"
+  */
+ static ssize_t
++mtrr_write(struct file *file, const char __user *buf, size_t len, loff_t * ppos) __size_overflow(3);
++static ssize_t
+ mtrr_write(struct file *file, const char __user *buf, size_t len, loff_t * ppos)
+ {
+       int i, err;
 diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
 index 6b96110..0da73eb 100644
 --- a/arch/x86/kernel/cpu/mtrr/main.c
@@ -12212,19 +13964,10 @@ index df5e41f..816c719 100644
  extern int generic_get_free_region(unsigned long base, unsigned long size,
                                   int replace_reg);
 diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
-index cfa62ec..9250dd7 100644
+index 2bda212..78cc605 100644
 --- a/arch/x86/kernel/cpu/perf_event.c
 +++ b/arch/x86/kernel/cpu/perf_event.c
-@@ -795,6 +795,8 @@ static int x86_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign)
-       int i, j, w, wmax, num = 0;
-       struct hw_perf_event *hwc;
-+      pax_track_stack();
-+
-       bitmap_zero(used_mask, X86_PMC_IDX_MAX);
-       for (i = 0; i < n; i++) {
-@@ -1919,7 +1921,7 @@ perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs)
+@@ -1529,7 +1529,7 @@ perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs)
                        break;
  
                perf_callchain_store(entry, frame.return_address);
@@ -12234,13 +13977,16 @@ index cfa62ec..9250dd7 100644
  }
  
 diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
-index 764c7c2..c5d9c7b 100644
+index 13ad899..f642b9a 100644
 --- a/arch/x86/kernel/crash.c
 +++ b/arch/x86/kernel/crash.c
-@@ -42,7 +42,7 @@ static void kdump_nmi_callback(int cpu, struct die_args *args)
-       regs = args->regs;
+@@ -36,10 +36,8 @@ static void kdump_nmi_callback(int cpu, struct pt_regs *regs)
+ {
  #ifdef CONFIG_X86_32
+       struct pt_regs fixed_regs;
+-#endif
+-#ifdef CONFIG_X86_32
 -      if (!user_mode_vm(regs)) {
 +      if (!user_mode(regs)) {
                crash_fixup_ss_esp(&fixed_regs, regs);
@@ -12429,7 +14175,7 @@ index 1aae78f..aab3a3d 100644
  
        if (__die(str, regs, err))
 diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c
-index 3b97a80..667ce7a 100644
+index c99f9ed..2a15d80 100644
 --- a/arch/x86/kernel/dumpstack_32.c
 +++ b/arch/x86/kernel/dumpstack_32.c
 @@ -38,15 +38,13 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs,
@@ -12479,14 +14225,14 @@ index 3b97a80..667ce7a 100644
                }
                for (i = 0; i < code_len; i++, ip++) {
 @@ -119,7 +118,7 @@ void show_registers(struct pt_regs *regs)
-                               printk(" Bad EIP value.");
+                               printk(KERN_CONT " Bad EIP value.");
                                break;
                        }
 -                      if (ip == (u8 *)regs->ip)
 +                      if (ip == (u8 *)regs->ip + cs_base)
-                               printk("<%02x> ", c);
+                               printk(KERN_CONT "<%02x> ", c);
                        else
-                               printk("%02x ", c);
+                               printk(KERN_CONT "%02x ", c);
 @@ -132,6 +131,7 @@ int is_valid_bugaddr(unsigned long ip)
  {
        unsigned short ud2;
@@ -12512,7 +14258,7 @@ index 3b97a80..667ce7a 100644
 +EXPORT_SYMBOL(pax_check_alloca);
 +#endif
 diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c
-index 19853ad..508ca79 100644
+index 6d728d9..279514e 100644
 --- a/arch/x86/kernel/dumpstack_64.c
 +++ b/arch/x86/kernel/dumpstack_64.c
 @@ -119,9 +119,9 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs,
@@ -12618,7 +14364,7 @@ index 19853ad..508ca79 100644
 +EXPORT_SYMBOL(pax_check_alloca);
 +#endif
 diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c
-index cd28a35..2601699 100644
+index cd28a35..c72ed9a 100644
 --- a/arch/x86/kernel/early_printk.c
 +++ b/arch/x86/kernel/early_printk.c
 @@ -7,6 +7,7 @@
@@ -12629,15 +14375,6 @@ index cd28a35..2601699 100644
  #include <asm/io.h>
  #include <asm/processor.h>
  #include <asm/fcntl.h>
-@@ -179,6 +180,8 @@ asmlinkage void early_printk(const char *fmt, ...)
-       int n;
-       va_list ap;
-+      pax_track_stack();
-+
-       va_start(ap, fmt);
-       n = vscnprintf(buf, sizeof(buf), fmt, ap);
-       early_console->write(early_console, buf, n);
 diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
 index f3f6f53..0841b66 100644
 --- a/arch/x86/kernel/entry_32.S
@@ -13420,7 +15157,7 @@ index f3f6f53..0841b66 100644
  
  /*
 diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
-index 6419bb0..00440bf 100644
+index faf8d5e..4f16a68 100644
 --- a/arch/x86/kernel/entry_64.S
 +++ b/arch/x86/kernel/entry_64.S
 @@ -55,6 +55,8 @@
@@ -13604,9 +15341,9 @@ index 6419bb0..00440bf 100644
 +      call pax_exit_kernel_user
 +#endif
 +#ifdef CONFIG_PAX_RANDKSTACK
-+      push %rax
++      pushq %rax
 +      call pax_randomize_kstack
-+      pop %rax
++      popq %rax
 +#endif
 +      .endm
 +
@@ -13799,7 +15536,7 @@ index 6419bb0..00440bf 100644
        je 1f
        SWAPGS
        /*
-@@ -350,9 +634,10 @@ ENTRY(save_rest)
+@@ -355,9 +639,10 @@ ENTRY(save_rest)
        movq_cfi r15, R15+16
        movq %r11, 8(%rsp)      /* return address */
        FIXUP_TOP_OF_STACK %r11, 16
@@ -13811,7 +15548,7 @@ index 6419bb0..00440bf 100644
  
  /* save complete stack frame */
        .pushsection .kprobes.text, "ax"
-@@ -381,9 +666,10 @@ ENTRY(save_paranoid)
+@@ -386,9 +671,10 @@ ENTRY(save_paranoid)
        js 1f   /* negative -> in kernel */
        SWAPGS
        xorl %ebx,%ebx
@@ -13824,7 +15561,7 @@ index 6419bb0..00440bf 100644
        .popsection
  
  /*
-@@ -405,7 +691,7 @@ ENTRY(ret_from_fork)
+@@ -410,7 +696,7 @@ ENTRY(ret_from_fork)
  
        RESTORE_REST
  
@@ -13833,7 +15570,7 @@ index 6419bb0..00440bf 100644
        je   int_ret_from_sys_call
  
        testl $_TIF_IA32, TI_flags(%rcx)        # 32-bit compat task needs IRET
-@@ -415,7 +701,7 @@ ENTRY(ret_from_fork)
+@@ -420,7 +706,7 @@ ENTRY(ret_from_fork)
        jmp ret_from_sys_call                   # go to the SYSRET fastpath
  
        CFI_ENDPROC
@@ -13842,7 +15579,7 @@ index 6419bb0..00440bf 100644
  
  /*
   * System call entry. Up to 6 arguments in registers are supported.
-@@ -451,7 +737,7 @@ END(ret_from_fork)
+@@ -456,7 +742,7 @@ END(ret_from_fork)
  ENTRY(system_call)
        CFI_STARTPROC   simple
        CFI_SIGNAL_FRAME
@@ -13851,7 +15588,7 @@ index 6419bb0..00440bf 100644
        CFI_REGISTER    rip,rcx
        /*CFI_REGISTER  rflags,r11*/
        SWAPGS_UNSAFE_STACK
-@@ -464,12 +750,13 @@ ENTRY(system_call_after_swapgs)
+@@ -469,12 +755,13 @@ ENTRY(system_call_after_swapgs)
  
        movq    %rsp,PER_CPU_VAR(old_rsp)
        movq    PER_CPU_VAR(kernel_stack),%rsp
@@ -13866,7 +15603,7 @@ index 6419bb0..00440bf 100644
        movq  %rax,ORIG_RAX-ARGOFFSET(%rsp)
        movq  %rcx,RIP-ARGOFFSET(%rsp)
        CFI_REL_OFFSET rip,RIP-ARGOFFSET
-@@ -479,7 +766,7 @@ ENTRY(system_call_after_swapgs)
+@@ -484,7 +771,7 @@ ENTRY(system_call_after_swapgs)
  system_call_fastpath:
        cmpq $__NR_syscall_max,%rax
        ja badsys
@@ -13875,7 +15612,7 @@ index 6419bb0..00440bf 100644
        call *sys_call_table(,%rax,8)  # XXX:    rip relative
        movq %rax,RAX-ARGOFFSET(%rsp)
  /*
-@@ -498,6 +785,8 @@ sysret_check:
+@@ -503,6 +790,8 @@ sysret_check:
        andl %edi,%edx
        jnz  sysret_careful
        CFI_REMEMBER_STATE
@@ -13884,7 +15621,7 @@ index 6419bb0..00440bf 100644
        /*
         * sysretq will re-enable interrupts:
         */
-@@ -549,14 +838,18 @@ badsys:
+@@ -554,14 +843,18 @@ badsys:
         * jump back to the normal fast path.
         */
  auditsys:
@@ -13904,7 +15641,7 @@ index 6419bb0..00440bf 100644
        jmp system_call_fastpath
  
        /*
-@@ -586,16 +879,20 @@ tracesys:
+@@ -591,16 +884,20 @@ tracesys:
        FIXUP_TOP_OF_STACK %rdi
        movq %rsp,%rdi
        call syscall_trace_enter
@@ -13926,7 +15663,7 @@ index 6419bb0..00440bf 100644
        call *sys_call_table(,%rax,8)
        movq %rax,RAX-ARGOFFSET(%rsp)
        /* Use IRET because user could have changed frame */
-@@ -607,7 +904,7 @@ tracesys:
+@@ -612,7 +909,7 @@ tracesys:
  GLOBAL(int_ret_from_sys_call)
        DISABLE_INTERRUPTS(CLBR_NONE)
        TRACE_IRQS_OFF
@@ -13935,7 +15672,15 @@ index 6419bb0..00440bf 100644
        je retint_restore_args
        movl $_TIF_ALLWORK_MASK,%edi
        /* edi: mask to check */
-@@ -664,7 +961,7 @@ int_restore_rest:
+@@ -623,6 +920,7 @@ GLOBAL(int_with_check)
+       andl %edi,%edx
+       jnz   int_careful
+       andl    $~TS_COMPAT,TI_status(%rcx)
++      pax_erase_kstack
+       jmp   retint_swapgs
+       /* Either reschedule or signal or syscall exit tracking needed. */
+@@ -669,7 +967,7 @@ int_restore_rest:
        TRACE_IRQS_OFF
        jmp int_with_check
        CFI_ENDPROC
@@ -13944,7 +15689,7 @@ index 6419bb0..00440bf 100644
  
  /*
   * Certain special system calls that need to save a complete full stack frame.
-@@ -680,7 +977,7 @@ ENTRY(\label)
+@@ -685,7 +983,7 @@ ENTRY(\label)
        call \func
        jmp ptregscall_common
        CFI_ENDPROC
@@ -13953,7 +15698,7 @@ index 6419bb0..00440bf 100644
        .endm
  
        PTREGSCALL stub_clone, sys_clone, %r8
-@@ -698,9 +995,10 @@ ENTRY(ptregscall_common)
+@@ -703,9 +1001,10 @@ ENTRY(ptregscall_common)
        movq_cfi_restore R12+8, r12
        movq_cfi_restore RBP+8, rbp
        movq_cfi_restore RBX+8, rbx
@@ -13965,7 +15710,7 @@ index 6419bb0..00440bf 100644
  
  ENTRY(stub_execve)
        CFI_STARTPROC
-@@ -715,7 +1013,7 @@ ENTRY(stub_execve)
+@@ -720,7 +1019,7 @@ ENTRY(stub_execve)
        RESTORE_REST
        jmp int_ret_from_sys_call
        CFI_ENDPROC
@@ -13974,7 +15719,7 @@ index 6419bb0..00440bf 100644
  
  /*
   * sigreturn is special because it needs to restore all registers on return.
-@@ -733,7 +1031,7 @@ ENTRY(stub_rt_sigreturn)
+@@ -738,7 +1037,7 @@ ENTRY(stub_rt_sigreturn)
        RESTORE_REST
        jmp int_ret_from_sys_call
        CFI_ENDPROC
@@ -13983,7 +15728,7 @@ index 6419bb0..00440bf 100644
  
  /*
   * Build the entry stubs and pointer table with some assembler magic.
-@@ -768,7 +1066,7 @@ vector=vector+1
+@@ -773,7 +1072,7 @@ vector=vector+1
  2:    jmp common_interrupt
  .endr
        CFI_ENDPROC
@@ -13992,10 +15737,10 @@ index 6419bb0..00440bf 100644
  
  .previous
  END(interrupt)
-@@ -789,6 +1087,16 @@ END(interrupt)
+@@ -793,6 +1092,16 @@ END(interrupt)
+       subq $ORIG_RAX-RBP, %rsp
        CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP
        SAVE_ARGS_IRQ
-       PARTIAL_FRAME 0
 +#ifdef CONFIG_PAX_MEMORY_UDEREF
 +      testb $3, CS(%rdi)
 +      jnz 1f
@@ -14009,7 +15754,7 @@ index 6419bb0..00440bf 100644
        call \func
        .endm
  
-@@ -820,7 +1128,7 @@ ret_from_intr:
+@@ -824,7 +1133,7 @@ ret_from_intr:
  
  exit_intr:
        GET_THREAD_INFO(%rcx)
@@ -14018,12 +15763,11 @@ index 6419bb0..00440bf 100644
        je retint_kernel
  
        /* Interrupt came from user space */
-@@ -842,12 +1150,16 @@ retint_swapgs:          /* return to user-space */
+@@ -846,12 +1155,15 @@ retint_swapgs:          /* return to user-space */
         * The iretq could re-enable interrupts:
         */
        DISABLE_INTERRUPTS(CLBR_ANY)
 +      pax_exit_kernel_user
-+      pax_erase_kstack
        TRACE_IRQS_IRETQ
        SWAPGS
        jmp restore_args
@@ -14035,7 +15779,7 @@ index 6419bb0..00440bf 100644
        /*
         * The iretq could re-enable interrupts:
         */
-@@ -936,7 +1248,7 @@ ENTRY(retint_kernel)
+@@ -940,7 +1252,7 @@ ENTRY(retint_kernel)
  #endif
  
        CFI_ENDPROC
@@ -14044,7 +15788,7 @@ index 6419bb0..00440bf 100644
  /*
   * End of kprobes section
   */
-@@ -952,7 +1264,7 @@ ENTRY(\sym)
+@@ -956,7 +1268,7 @@ ENTRY(\sym)
        interrupt \do_sym
        jmp ret_from_intr
        CFI_ENDPROC
@@ -14053,7 +15797,7 @@ index 6419bb0..00440bf 100644
  .endm
  
  #ifdef CONFIG_SMP
-@@ -1017,12 +1329,22 @@ ENTRY(\sym)
+@@ -1021,12 +1333,22 @@ ENTRY(\sym)
        CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
        call error_entry
        DEFAULT_FRAME 0
@@ -14077,7 +15821,7 @@ index 6419bb0..00440bf 100644
  .endm
  
  .macro paranoidzeroentry sym do_sym
-@@ -1034,15 +1356,25 @@ ENTRY(\sym)
+@@ -1038,15 +1360,25 @@ ENTRY(\sym)
        CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
        call save_paranoid
        TRACE_IRQS_OFF
@@ -14105,7 +15849,7 @@ index 6419bb0..00440bf 100644
  .macro paranoidzeroentry_ist sym do_sym ist
  ENTRY(\sym)
        INTR_FRAME
-@@ -1052,14 +1384,30 @@ ENTRY(\sym)
+@@ -1056,14 +1388,30 @@ ENTRY(\sym)
        CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
        call save_paranoid
        TRACE_IRQS_OFF
@@ -14137,7 +15881,7 @@ index 6419bb0..00440bf 100644
  .endm
  
  .macro errorentry sym do_sym
-@@ -1070,13 +1418,23 @@ ENTRY(\sym)
+@@ -1074,13 +1422,23 @@ ENTRY(\sym)
        CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
        call error_entry
        DEFAULT_FRAME 0
@@ -14162,7 +15906,7 @@ index 6419bb0..00440bf 100644
  .endm
  
        /* error code is on the stack already */
-@@ -1089,13 +1447,23 @@ ENTRY(\sym)
+@@ -1093,13 +1451,23 @@ ENTRY(\sym)
        call save_paranoid
        DEFAULT_FRAME 0
        TRACE_IRQS_OFF
@@ -14187,7 +15931,7 @@ index 6419bb0..00440bf 100644
  .endm
  
  zeroentry divide_error do_divide_error
-@@ -1125,9 +1493,10 @@ gs_change:
+@@ -1129,9 +1497,10 @@ gs_change:
  2:    mfence          /* workaround */
        SWAPGS
        popfq_cfi
@@ -14199,7 +15943,7 @@ index 6419bb0..00440bf 100644
  
        .section __ex_table,"a"
        .align 8
-@@ -1149,13 +1518,14 @@ ENTRY(kernel_thread_helper)
+@@ -1153,13 +1522,14 @@ ENTRY(kernel_thread_helper)
         * Here we are in the child and the registers are set as they were
         * at kernel_thread() invocation in the parent.
         */
@@ -14215,7 +15959,7 @@ index 6419bb0..00440bf 100644
  
  /*
   * execve(). This function needs to use IRET, not SYSRET, to set up all state properly.
-@@ -1182,11 +1552,11 @@ ENTRY(kernel_execve)
+@@ -1186,11 +1556,11 @@ ENTRY(kernel_execve)
        RESTORE_REST
        testq %rax,%rax
        je int_ret_from_sys_call
@@ -14229,7 +15973,7 @@ index 6419bb0..00440bf 100644
  
  /* Call softirq on interrupt stack. Interrupts are off. */
  ENTRY(call_softirq)
-@@ -1204,9 +1574,10 @@ ENTRY(call_softirq)
+@@ -1208,9 +1578,10 @@ ENTRY(call_softirq)
        CFI_DEF_CFA_REGISTER    rsp
        CFI_ADJUST_CFA_OFFSET   -8
        decl PER_CPU_VAR(irq_count)
@@ -14241,7 +15985,7 @@ index 6419bb0..00440bf 100644
  
  #ifdef CONFIG_XEN
  zeroentry xen_hypervisor_callback xen_do_hypervisor_callback
-@@ -1244,7 +1615,7 @@ ENTRY(xen_do_hypervisor_callback)   # do_hypervisor_callback(struct *pt_regs)
+@@ -1248,7 +1619,7 @@ ENTRY(xen_do_hypervisor_callback)   # do_hypervisor_callback(struct *pt_regs)
        decl PER_CPU_VAR(irq_count)
        jmp  error_exit
        CFI_ENDPROC
@@ -14250,7 +15994,7 @@ index 6419bb0..00440bf 100644
  
  /*
   * Hypervisor uses this for application faults while it executes.
-@@ -1303,7 +1674,7 @@ ENTRY(xen_failsafe_callback)
+@@ -1307,7 +1678,7 @@ ENTRY(xen_failsafe_callback)
        SAVE_ALL
        jmp error_exit
        CFI_ENDPROC
@@ -14259,7 +16003,7 @@ index 6419bb0..00440bf 100644
  
  apicinterrupt XEN_HVM_EVTCHN_CALLBACK \
        xen_hvm_callback_vector xen_evtchn_do_upcall
-@@ -1352,16 +1723,31 @@ ENTRY(paranoid_exit)
+@@ -1356,16 +1727,31 @@ ENTRY(paranoid_exit)
        TRACE_IRQS_OFF
        testl %ebx,%ebx                         /* swapgs needed? */
        jnz paranoid_restore
@@ -14292,7 +16036,7 @@ index 6419bb0..00440bf 100644
        jmp irq_return
  paranoid_userspace:
        GET_THREAD_INFO(%rcx)
-@@ -1390,7 +1776,7 @@ paranoid_schedule:
+@@ -1394,7 +1780,7 @@ paranoid_schedule:
        TRACE_IRQS_OFF
        jmp paranoid_userspace
        CFI_ENDPROC
@@ -14301,7 +16045,7 @@ index 6419bb0..00440bf 100644
  
  /*
   * Exception entry point. This expects an error code/orig_rax on the stack.
-@@ -1417,12 +1803,13 @@ ENTRY(error_entry)
+@@ -1421,12 +1807,13 @@ ENTRY(error_entry)
        movq_cfi r14, R14+8
        movq_cfi r15, R15+8
        xorl %ebx,%ebx
@@ -14316,7 +16060,7 @@ index 6419bb0..00440bf 100644
        ret
  
  /*
-@@ -1449,7 +1836,7 @@ bstep_iret:
+@@ -1453,7 +1840,7 @@ bstep_iret:
        movq %rcx,RIP+8(%rsp)
        jmp error_swapgs
        CFI_ENDPROC
@@ -14325,7 +16069,7 @@ index 6419bb0..00440bf 100644
  
  
  /* ebx:       no swapgs flag (1: don't need swapgs, 0: need it) */
-@@ -1469,7 +1856,7 @@ ENTRY(error_exit)
+@@ -1473,7 +1860,7 @@ ENTRY(error_exit)
        jnz retint_careful
        jmp retint_swapgs
        CFI_ENDPROC
@@ -14334,7 +16078,7 @@ index 6419bb0..00440bf 100644
  
  
        /* runs on exception stack */
-@@ -1481,6 +1868,16 @@ ENTRY(nmi)
+@@ -1485,6 +1872,16 @@ ENTRY(nmi)
        CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
        call save_paranoid
        DEFAULT_FRAME 0
@@ -14351,7 +16095,7 @@ index 6419bb0..00440bf 100644
        /* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */
        movq %rsp,%rdi
        movq $-1,%rsi
-@@ -1491,12 +1888,28 @@ ENTRY(nmi)
+@@ -1495,12 +1892,28 @@ ENTRY(nmi)
        DISABLE_INTERRUPTS(CLBR_NONE)
        testl %ebx,%ebx                         /* swapgs needed? */
        jnz nmi_restore
@@ -14381,7 +16125,7 @@ index 6419bb0..00440bf 100644
        jmp irq_return
  nmi_userspace:
        GET_THREAD_INFO(%rcx)
-@@ -1525,14 +1938,14 @@ nmi_schedule:
+@@ -1529,14 +1942,14 @@ nmi_schedule:
        jmp paranoid_exit
        CFI_ENDPROC
  #endif
@@ -15236,6 +16980,79 @@ index 9c3bd4a..e1d9b35 100644
 +#ifdef CONFIG_PAX_KERNEXEC
 +EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR);
 +#endif
+diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
+index 739d859..d1d6be7 100644
+--- a/arch/x86/kernel/i387.c
++++ b/arch/x86/kernel/i387.c
+@@ -188,6 +188,9 @@ int xfpregs_active(struct task_struct *target, const struct user_regset *regset)
+ int xfpregs_get(struct task_struct *target, const struct user_regset *regset,
+               unsigned int pos, unsigned int count,
++              void *kbuf, void __user *ubuf) __size_overflow(4);
++int xfpregs_get(struct task_struct *target, const struct user_regset *regset,
++              unsigned int pos, unsigned int count,
+               void *kbuf, void __user *ubuf)
+ {
+       int ret;
+@@ -207,6 +210,9 @@ int xfpregs_get(struct task_struct *target, const struct user_regset *regset,
+ int xfpregs_set(struct task_struct *target, const struct user_regset *regset,
+               unsigned int pos, unsigned int count,
++              const void *kbuf, const void __user *ubuf) __size_overflow(4);
++int xfpregs_set(struct task_struct *target, const struct user_regset *regset,
++              unsigned int pos, unsigned int count,
+               const void *kbuf, const void __user *ubuf)
+ {
+       int ret;
+@@ -240,6 +246,9 @@ int xfpregs_set(struct task_struct *target, const struct user_regset *regset,
+ int xstateregs_get(struct task_struct *target, const struct user_regset *regset,
+               unsigned int pos, unsigned int count,
++              void *kbuf, void __user *ubuf) __size_overflow(4);
++int xstateregs_get(struct task_struct *target, const struct user_regset *regset,
++              unsigned int pos, unsigned int count,
+               void *kbuf, void __user *ubuf)
+ {
+       int ret;
+@@ -269,6 +278,9 @@ int xstateregs_get(struct task_struct *target, const struct user_regset *regset,
+ int xstateregs_set(struct task_struct *target, const struct user_regset *regset,
+                 unsigned int pos, unsigned int count,
++                const void *kbuf, const void __user *ubuf) __size_overflow(4);
++int xstateregs_set(struct task_struct *target, const struct user_regset *regset,
++                unsigned int pos, unsigned int count,
+                 const void *kbuf, const void __user *ubuf)
+ {
+       int ret;
+@@ -439,6 +451,9 @@ static void convert_to_fxsr(struct task_struct *tsk,
+ int fpregs_get(struct task_struct *target, const struct user_regset *regset,
+              unsigned int pos, unsigned int count,
++             void *kbuf, void __user *ubuf) __size_overflow(3,4);
++int fpregs_get(struct task_struct *target, const struct user_regset *regset,
++             unsigned int pos, unsigned int count,
+              void *kbuf, void __user *ubuf)
+ {
+       struct user_i387_ia32_struct env;
+@@ -471,6 +486,9 @@ int fpregs_get(struct task_struct *target, const struct user_regset *regset,
+ int fpregs_set(struct task_struct *target, const struct user_regset *regset,
+              unsigned int pos, unsigned int count,
++             const void *kbuf, const void __user *ubuf) __size_overflow(3,4);
++int fpregs_set(struct task_struct *target, const struct user_regset *regset,
++             unsigned int pos, unsigned int count,
+              const void *kbuf, const void __user *ubuf)
+ {
+       struct user_i387_ia32_struct env;
+@@ -619,6 +637,8 @@ static inline int restore_i387_fsave(struct _fpstate_ia32 __user *buf)
+ }
+ static int restore_i387_fxsave(struct _fpstate_ia32 __user *buf,
++                             unsigned int size) __size_overflow(2);
++static int restore_i387_fxsave(struct _fpstate_ia32 __user *buf,
+                              unsigned int size)
+ {
+       struct task_struct *tsk = current;
 diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c
 index 6104852..6114160 100644
 --- a/arch/x86/kernel/i8259.c
@@ -15319,10 +17136,10 @@ index 8c96897..be66bfa 100644
                        return -EPERM;
        }
 diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
-index 6c0802e..bea25ae 100644
+index 429e0c9..17b3ece 100644
 --- a/arch/x86/kernel/irq.c
 +++ b/arch/x86/kernel/irq.c
-@@ -17,7 +17,7 @@
+@@ -18,7 +18,7 @@
  #include <asm/mce.h>
  #include <asm/hw_irq.h>
  
@@ -15331,7 +17148,7 @@ index 6c0802e..bea25ae 100644
  
  /* Function pointer for generic interrupt vector handling */
  void (*x86_platform_ipi_callback)(void) = NULL;
-@@ -116,9 +116,9 @@ int arch_show_interrupts(struct seq_file *p, int prec)
+@@ -117,9 +117,9 @@ int arch_show_interrupts(struct seq_file *p, int prec)
                seq_printf(p, "%10u ", per_cpu(mce_poll_count, j));
        seq_printf(p, "  Machine check polls\n");
  #endif
@@ -15343,7 +17160,7 @@ index 6c0802e..bea25ae 100644
  #endif
        return 0;
  }
-@@ -158,10 +158,10 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
+@@ -159,10 +159,10 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
  
  u64 arch_irq_stat(void)
  {
@@ -15499,8 +17316,21 @@ index 7209070..cbcd71a 100644
                /*
                 * Shouldn't happen, we returned above if in_interrupt():
                 */
+diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c
+index 69bca46..0bac999 100644
+--- a/arch/x86/kernel/irq_64.c
++++ b/arch/x86/kernel/irq_64.c
+@@ -38,7 +38,7 @@ static inline void stack_overflow_check(struct pt_regs *regs)
+ #ifdef CONFIG_DEBUG_STACKOVERFLOW
+       u64 curbase = (u64)task_stack_page(current);
+-      if (user_mode_vm(regs))
++      if (user_mode(regs))
+               return;
+       WARN_ONCE(regs->sp >= curbase &&
 diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
-index 00354d4..187ae44 100644
+index faba577..93b9e71 100644
 --- a/arch/x86/kernel/kgdb.c
 +++ b/arch/x86/kernel/kgdb.c
 @@ -124,11 +124,11 @@ char *dbg_get_reg(int regno, void *mem, struct pt_regs *regs)
@@ -15532,9 +17362,9 @@ index 00354d4..187ae44 100644
                                   raw_smp_processor_id());
                }
  
-@@ -534,7 +534,7 @@ static int __kgdb_notify(struct die_args *args, unsigned long cmd)
-               return NOTIFY_DONE;
+@@ -543,7 +543,7 @@ static int __kgdb_notify(struct die_args *args, unsigned long cmd)
  
+       switch (cmd) {
        case DIE_DEBUG:
 -              if (atomic_read(&kgdb_cpu_doing_single_step) != -1) {
 +              if (atomic_read_unchecked(&kgdb_cpu_doing_single_step) != -1) {
@@ -15542,10 +17372,10 @@ index 00354d4..187ae44 100644
                                return single_step_cont(regs, args);
                        break;
 diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
-index 794bc95..c6e29e9 100644
+index 7da647d..56fe348 100644
 --- a/arch/x86/kernel/kprobes.c
 +++ b/arch/x86/kernel/kprobes.c
-@@ -117,8 +117,11 @@ static void __kprobes __synthesize_relative_insn(void *from, void *to, u8 op)
+@@ -118,8 +118,11 @@ static void __kprobes __synthesize_relative_insn(void *from, void *to, u8 op)
        } __attribute__((packed)) *insn;
  
        insn = (struct __arch_relative_insn *)from;
@@ -15557,7 +17387,7 @@ index 794bc95..c6e29e9 100644
  }
  
  /* Insert a jump instruction at address 'from', which jumps to address 'to'.*/
-@@ -155,7 +158,7 @@ static int __kprobes can_boost(kprobe_opcode_t *opcodes)
+@@ -156,7 +159,7 @@ static int __kprobes can_boost(kprobe_opcode_t *opcodes)
        kprobe_opcode_t opcode;
        kprobe_opcode_t *orig_opcodes = opcodes;
  
@@ -15566,7 +17396,7 @@ index 794bc95..c6e29e9 100644
                return 0;       /* Page fault may occur on this address. */
  
  retry:
-@@ -316,7 +319,9 @@ static int __kprobes __copy_instruction(u8 *dest, u8 *src, int recover)
+@@ -317,7 +320,9 @@ static int __kprobes __copy_instruction(u8 *dest, u8 *src, int recover)
                }
        }
        insn_get_length(&insn);
@@ -15576,7 +17406,7 @@ index 794bc95..c6e29e9 100644
  
  #ifdef CONFIG_X86_64
        if (insn_rip_relative(&insn)) {
-@@ -340,7 +345,9 @@ static int __kprobes __copy_instruction(u8 *dest, u8 *src, int recover)
+@@ -341,7 +346,9 @@ static int __kprobes __copy_instruction(u8 *dest, u8 *src, int recover)
                          (u8 *) dest;
                BUG_ON((s64) (s32) newdisp != newdisp); /* Sanity check.  */
                disp = (u8 *) dest + insn_offset_displacement(&insn);
@@ -15586,7 +17416,7 @@ index 794bc95..c6e29e9 100644
        }
  #endif
        return insn.length;
-@@ -354,12 +361,12 @@ static void __kprobes arch_copy_kprobe(struct kprobe *p)
+@@ -355,12 +362,12 @@ static void __kprobes arch_copy_kprobe(struct kprobe *p)
         */
        __copy_instruction(p->ainsn.insn, p->addr, 0);
  
@@ -15601,7 +17431,7 @@ index 794bc95..c6e29e9 100644
  }
  
  int __kprobes arch_prepare_kprobe(struct kprobe *p)
-@@ -476,7 +483,7 @@ static void __kprobes setup_singlestep(struct kprobe *p, struct pt_regs *regs,
+@@ -477,7 +484,7 @@ static void __kprobes setup_singlestep(struct kprobe *p, struct pt_regs *regs,
                 * nor set current_kprobe, because it doesn't use single
                 * stepping.
                 */
@@ -15610,7 +17440,7 @@ index 794bc95..c6e29e9 100644
                preempt_enable_no_resched();
                return;
        }
-@@ -495,7 +502,7 @@ static void __kprobes setup_singlestep(struct kprobe *p, struct pt_regs *regs,
+@@ -496,7 +503,7 @@ static void __kprobes setup_singlestep(struct kprobe *p, struct pt_regs *regs,
        if (p->opcode == BREAKPOINT_INSTRUCTION)
                regs->ip = (unsigned long)p->addr;
        else
@@ -15619,7 +17449,7 @@ index 794bc95..c6e29e9 100644
  }
  
  /*
-@@ -574,7 +581,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
+@@ -575,7 +582,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
                                setup_singlestep(p, regs, kcb, 0);
                        return 1;
                }
@@ -15628,17 +17458,17 @@ index 794bc95..c6e29e9 100644
                /*
                 * The breakpoint instruction was removed right
                 * after we hit it.  Another cpu has removed
-@@ -682,6 +689,9 @@ static void __used __kprobes kretprobe_trampoline_holder(void)
+@@ -683,6 +690,9 @@ static void __used __kprobes kretprobe_trampoline_holder(void)
                        "       movq %rax, 152(%rsp)\n"
                        RESTORE_REGS_STRING
                        "       popfq\n"
-+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN
++#ifdef KERNEXEC_PLUGIN
 +                      "       btsq $63,(%rsp)\n"
 +#endif
  #else
                        "       pushf\n"
                        SAVE_REGS_STRING
-@@ -819,7 +829,7 @@ static void __kprobes resume_execution(struct kprobe *p,
+@@ -820,7 +830,7 @@ static void __kprobes resume_execution(struct kprobe *p,
                struct pt_regs *regs, struct kprobe_ctlblk *kcb)
  {
        unsigned long *tos = stack_addr(regs);
@@ -15647,7 +17477,7 @@ index 794bc95..c6e29e9 100644
        unsigned long orig_ip = (unsigned long)p->addr;
        kprobe_opcode_t *insn = p->ainsn.insn;
  
-@@ -1001,7 +1011,7 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self,
+@@ -1002,7 +1012,7 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self,
        struct die_args *args = data;
        int ret = NOTIFY_DONE;
  
@@ -15656,7 +17486,7 @@ index 794bc95..c6e29e9 100644
                return ret;
  
        switch (val) {
-@@ -1383,7 +1393,7 @@ int __kprobes arch_prepare_optimized_kprobe(struct optimized_kprobe *op)
+@@ -1384,7 +1394,7 @@ int __kprobes arch_prepare_optimized_kprobe(struct optimized_kprobe *op)
         * Verify if the address gap is in 2GB range, because this uses
         * a relative jump.
         */
@@ -15665,7 +17495,7 @@ index 794bc95..c6e29e9 100644
        if (abs(rel) > 0x7fffffff)
                return -ERANGE;
  
-@@ -1404,11 +1414,11 @@ int __kprobes arch_prepare_optimized_kprobe(struct optimized_kprobe *op)
+@@ -1405,11 +1415,11 @@ int __kprobes arch_prepare_optimized_kprobe(struct optimized_kprobe *op)
        synthesize_set_arg1(buf + TMPL_MOVE_IDX, (unsigned long)op);
  
        /* Set probe function call */
@@ -15679,7 +17509,7 @@ index 794bc95..c6e29e9 100644
  
        flush_icache_range((unsigned long) buf,
                           (unsigned long) buf + TMPL_END_IDX +
-@@ -1430,7 +1440,7 @@ static void __kprobes setup_optimize_kprobe(struct text_poke_param *tprm,
+@@ -1431,7 +1441,7 @@ static void __kprobes setup_optimize_kprobe(struct text_poke_param *tprm,
                        ((long)op->kp.addr + RELATIVEJUMP_SIZE));
  
        /* Backup instructions which will be replaced by jump address */
@@ -15701,7 +17531,7 @@ index a9c2116..a52d4fc 100644
  #endif
                pv_mmu_ops.flush_tlb_user = kvm_flush_tlb;
 diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
-index ea69726..604d066 100644
+index ea69726..8b497c9 100644
 --- a/arch/x86/kernel/ldt.c
 +++ b/arch/x86/kernel/ldt.c
 @@ -67,13 +67,13 @@ static int alloc_ldt(mm_context_t *pc, int mincount, int reload)
@@ -15754,7 +17584,15 @@ index ea69726..604d066 100644
        return retval;
  }
  
-@@ -230,6 +248,13 @@ static int write_ldt(void __user *ptr, unsigned long bytecount, int oldmode)
+@@ -141,6 +159,7 @@ void destroy_context(struct mm_struct *mm)
+       }
+ }
++static int read_ldt(void __user *ptr, unsigned long bytecount) __size_overflow(2);
+ static int read_ldt(void __user *ptr, unsigned long bytecount)
+ {
+       int err;
+@@ -230,6 +249,13 @@ static int write_ldt(void __user *ptr, unsigned long bytecount, int oldmode)
                }
        }
  
@@ -15800,11 +17638,14 @@ index a3fa43b..8966f4c 100644
        relocate_kernel_ptr = control_page;
        page_list[PA_CONTROL_PAGE] = __pa(control_page);
 diff --git a/arch/x86/kernel/microcode_intel.c b/arch/x86/kernel/microcode_intel.c
-index 1a1b606..5c89b55 100644
+index 3ca42d0..79d24cd 100644
 --- a/arch/x86/kernel/microcode_intel.c
 +++ b/arch/x86/kernel/microcode_intel.c
-@@ -440,13 +440,13 @@ static enum ucode_state request_microcode_fw(int cpu, struct device *device)
+@@ -434,15 +434,16 @@ static enum ucode_state request_microcode_fw(int cpu, struct device *device)
+       return ret;
+ }
  
++static int get_ucode_user(void *to, const void *from, size_t n) __size_overflow(3);
  static int get_ucode_user(void *to, const void *from, size_t n)
  {
 -      return copy_from_user(to, from, n);
@@ -15820,7 +17661,7 @@ index 1a1b606..5c89b55 100644
  
  static void microcode_fini_cpu(int cpu)
 diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
-index 925179f..85bec6c 100644
+index 925179f..267ac7a 100644
 --- a/arch/x86/kernel/module.c
 +++ b/arch/x86/kernel/module.c
 @@ -36,15 +36,60 @@
@@ -15830,7 +17671,8 @@ index 925179f..85bec6c 100644
 -void *module_alloc(unsigned long size)
 +static inline void *__module_alloc(unsigned long size, pgprot_t prot)
  {
-       if (PAGE_ALIGN(size) > MODULES_LEN)
+-      if (PAGE_ALIGN(size) > MODULES_LEN)
++      if (size == 0 || PAGE_ALIGN(size) > MODULES_LEN)
                return NULL;
        return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END,
 -                              GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC,
@@ -15955,6 +17797,28 @@ index 925179f..85bec6c 100644
  #if 0
                        if ((s64)val != *(s32 *)loc)
                                goto overflow;
+diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
+index e88f37b..1353db6 100644
+--- a/arch/x86/kernel/nmi.c
++++ b/arch/x86/kernel/nmi.c
+@@ -408,6 +408,17 @@ static notrace __kprobes void default_do_nmi(struct pt_regs *regs)
+ dotraplinkage notrace __kprobes void
+ do_nmi(struct pt_regs *regs, long error_code)
+ {
++
++#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_KERNEXEC)
++      if (!user_mode(regs)) {
++              unsigned long cs = regs->cs & 0xFFFF;
++              unsigned long ip = ktva_ktla(regs->ip);
++
++              if ((cs == __KERNEL_CS || cs == __KERNEXEC_KERNEL_CS) && ip <= (unsigned long)_etext)
++                      regs->ip = ip;
++      }
++#endif
++
+       nmi_enter();
+       inc_irq_stat(__nmi_count);
 diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
 index 676b8c7..870ba04 100644
 --- a/arch/x86/kernel/paravirt-spinlocks.c
@@ -15969,7 +17833,7 @@ index 676b8c7..870ba04 100644
        .spin_is_locked = __ticket_spin_is_locked,
        .spin_is_contended = __ticket_spin_is_contended,
 diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
-index d90272e..2d54e8e 100644
+index d90272e..6bb013b 100644
 --- a/arch/x86/kernel/paravirt.c
 +++ b/arch/x86/kernel/paravirt.c
 @@ -53,6 +53,9 @@ u64 _paravirt_ident_64(u64 x)
@@ -15982,17 +17846,7 @@ index d90272e..2d54e8e 100644
  
  void __init default_banner(void)
  {
-@@ -133,6 +136,9 @@ static void *get_call_destination(u8 type)
-               .pv_lock_ops = pv_lock_ops,
- #endif
-       };
-+
-+      pax_track_stack();
-+
-       return *((void **)&tmpl + type);
- }
-@@ -145,15 +151,19 @@ unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf,
+@@ -145,15 +148,19 @@ unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf,
        if (opfunc == NULL)
                /* If there's no function, patch it with a ud2a (BUG) */
                ret = paravirt_patch_insns(insnbuf, len, ud2a, ud2a+sizeof(ud2a));
@@ -16015,7 +17869,7 @@ index d90272e..2d54e8e 100644
  
        else if (type == PARAVIRT_PATCH(pv_cpu_ops.iret) ||
                 type == PARAVIRT_PATCH(pv_cpu_ops.irq_enable_sysexit) ||
-@@ -178,7 +188,7 @@ unsigned paravirt_patch_insns(void *insnbuf, unsigned len,
+@@ -178,7 +185,7 @@ unsigned paravirt_patch_insns(void *insnbuf, unsigned len,
        if (insn_len > len || start == NULL)
                insn_len = len;
        else
@@ -16024,7 +17878,7 @@ index d90272e..2d54e8e 100644
  
        return insn_len;
  }
-@@ -302,7 +312,7 @@ void arch_flush_lazy_mmu_mode(void)
+@@ -302,7 +309,7 @@ void arch_flush_lazy_mmu_mode(void)
        preempt_enable();
  }
  
@@ -16033,7 +17887,7 @@ index d90272e..2d54e8e 100644
        .name = "bare hardware",
        .paravirt_enabled = 0,
        .kernel_rpl = 0,
-@@ -313,16 +323,16 @@ struct pv_info pv_info = {
+@@ -313,16 +320,16 @@ struct pv_info pv_info = {
  #endif
  };
  
@@ -16053,7 +17907,7 @@ index d90272e..2d54e8e 100644
        .save_fl = __PV_IS_CALLEE_SAVE(native_save_fl),
        .restore_fl = __PV_IS_CALLEE_SAVE(native_restore_fl),
        .irq_disable = __PV_IS_CALLEE_SAVE(native_irq_disable),
-@@ -334,7 +344,7 @@ struct pv_irq_ops pv_irq_ops = {
+@@ -334,7 +341,7 @@ struct pv_irq_ops pv_irq_ops = {
  #endif
  };
  
@@ -16062,7 +17916,7 @@ index d90272e..2d54e8e 100644
        .cpuid = native_cpuid,
        .get_debugreg = native_get_debugreg,
        .set_debugreg = native_set_debugreg,
-@@ -395,21 +405,26 @@ struct pv_cpu_ops pv_cpu_ops = {
+@@ -395,21 +402,26 @@ struct pv_cpu_ops pv_cpu_ops = {
        .end_context_switch = paravirt_nop,
  };
  
@@ -16092,7 +17946,7 @@ index d90272e..2d54e8e 100644
  
        .read_cr2 = native_read_cr2,
        .write_cr2 = native_write_cr2,
-@@ -459,6 +474,7 @@ struct pv_mmu_ops pv_mmu_ops = {
+@@ -459,6 +471,7 @@ struct pv_mmu_ops pv_mmu_ops = {
        .make_pud = PTE_IDENT,
  
        .set_pgd = native_set_pgd,
@@ -16100,7 +17954,7 @@ index d90272e..2d54e8e 100644
  #endif
  #endif /* PAGETABLE_LEVELS >= 3 */
  
-@@ -478,6 +494,12 @@ struct pv_mmu_ops pv_mmu_ops = {
+@@ -478,6 +491,12 @@ struct pv_mmu_ops pv_mmu_ops = {
        },
  
        .set_fixmap = native_set_fixmap,
@@ -16114,7 +17968,7 @@ index d90272e..2d54e8e 100644
  
  EXPORT_SYMBOL_GPL(pv_time_ops);
 diff --git a/arch/x86/kernel/pci-iommu_table.c b/arch/x86/kernel/pci-iommu_table.c
-index 35ccf75..67e7d4d 100644
+index 35ccf75..7a15747 100644
 --- a/arch/x86/kernel/pci-iommu_table.c
 +++ b/arch/x86/kernel/pci-iommu_table.c
 @@ -2,7 +2,7 @@
@@ -16126,17 +17980,8 @@ index 35ccf75..67e7d4d 100644
  
  #define DEBUG 1
  
-@@ -51,6 +51,8 @@ void __init check_iommu_entries(struct iommu_table_entry *start,
- {
-       struct iommu_table_entry *p, *q, *x;
-+      pax_track_stack();
-+
-       /* Simple cyclic dependency checker. */
-       for (p = start; p < finish; p++) {
-               q = find_dependents_of(start, finish, p);
 diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
-index e7e3b01..43c5af3 100644
+index ee5d4fb..426649b 100644
 --- a/arch/x86/kernel/process.c
 +++ b/arch/x86/kernel/process.c
 @@ -48,16 +48,33 @@ void free_thread_xstate(struct task_struct *tsk)
@@ -16144,7 +17989,7 @@ index e7e3b01..43c5af3 100644
  void free_thread_info(struct thread_info *ti)
  {
 -      free_thread_xstate(ti->task);
-       free_pages((unsigned long)ti, get_order(THREAD_SIZE));
+       free_pages((unsigned long)ti, THREAD_ORDER);
  }
  
 +static struct kmem_cache *task_struct_cachep;
@@ -16219,16 +18064,16 @@ index e7e3b01..43c5af3 100644
  #else
        regs.ss = __KERNEL_DS;
  #endif
-@@ -403,7 +423,7 @@ void default_idle(void)
- EXPORT_SYMBOL(default_idle);
- #endif
+@@ -411,7 +431,7 @@ bool set_pm_idle_to_default(void)
  
+       return ret;
+ }
 -void stop_this_cpu(void *dummy)
 +__noreturn void stop_this_cpu(void *dummy)
  {
        local_irq_disable();
        /*
-@@ -645,16 +665,37 @@ static int __init idle_setup(char *str)
+@@ -653,16 +673,37 @@ static int __init idle_setup(char *str)
  }
  early_param("idle", idle_setup);
  
@@ -16277,10 +18122,10 @@ index e7e3b01..43c5af3 100644
 +}
 +#endif
 diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
-index 7a3b651..5a946f6 100644
+index 8598296..bfadef0 100644
 --- a/arch/x86/kernel/process_32.c
 +++ b/arch/x86/kernel/process_32.c
-@@ -66,6 +66,7 @@ asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
+@@ -67,6 +67,7 @@ asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
  unsigned long thread_saved_pc(struct task_struct *tsk)
  {
        return ((unsigned long *)tsk->thread.sp)[3];
@@ -16288,7 +18133,7 @@ index 7a3b651..5a946f6 100644
  }
  
  #ifndef CONFIG_SMP
-@@ -128,15 +129,14 @@ void __show_regs(struct pt_regs *regs, int all)
+@@ -130,15 +131,14 @@ void __show_regs(struct pt_regs *regs, int all)
        unsigned long sp;
        unsigned short ss, gs;
  
@@ -16306,7 +18151,7 @@ index 7a3b651..5a946f6 100644
  
        show_regs_common();
  
-@@ -198,13 +198,14 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
+@@ -200,13 +200,14 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
        struct task_struct *tsk;
        int err;
  
@@ -16322,16 +18167,16 @@ index 7a3b651..5a946f6 100644
  
        p->thread.ip = (unsigned long) ret_from_fork;
  
-@@ -294,7 +295,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -296,7 +297,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
        struct thread_struct *prev = &prev_p->thread,
                                 *next = &next_p->thread;
        int cpu = smp_processor_id();
 -      struct tss_struct *tss = &per_cpu(init_tss, cpu);
 +      struct tss_struct *tss = init_tss + cpu;
-       bool preload_fpu;
+       fpu_switch_t fpu;
  
        /* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
-@@ -329,6 +330,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -320,6 +321,10 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
         */
        lazy_save_gs(prev->gs);
  
@@ -16342,35 +18187,35 @@ index 7a3b651..5a946f6 100644
        /*
         * Load the per-thread Thread-Local Storage descriptor.
         */
-@@ -364,6 +369,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -350,6 +355,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
         */
        arch_end_context_switch(next_p);
  
 +      percpu_write(current_task, next_p);
 +      percpu_write(current_tinfo, &next_p->tinfo);
 +
-       if (preload_fpu)
-               __math_state_restore();
+       /*
+        * Restore %gs if needed (which is common)
+        */
+@@ -358,8 +366,6 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
  
-@@ -373,8 +381,6 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
-       if (prev->gs | next->gs)
-               lazy_load_gs(next->gs);
+       switch_fpu_finish(next_p, fpu);
  
 -      percpu_write(current_task, next_p);
 -
        return prev_p;
  }
  
-@@ -404,4 +410,3 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -389,4 +395,3 @@ unsigned long get_wchan(struct task_struct *p)
        } while (count++ < 16);
        return 0;
  }
 -
 diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
-index f693e44..3c979b2 100644
+index 6a364a6..b147d11 100644
 --- a/arch/x86/kernel/process_64.c
 +++ b/arch/x86/kernel/process_64.c
-@@ -88,7 +88,7 @@ static void __exit_idle(void)
+@@ -89,7 +89,7 @@ static void __exit_idle(void)
  void exit_idle(void)
  {
        /* idle loop has pid 0 */
@@ -16379,7 +18224,7 @@ index f693e44..3c979b2 100644
                return;
        __exit_idle();
  }
-@@ -262,8 +262,7 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
+@@ -264,8 +264,7 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
        struct pt_regs *childregs;
        struct task_struct *me = current;
  
@@ -16389,7 +18234,7 @@ index f693e44..3c979b2 100644
        *childregs = *regs;
  
        childregs->ax = 0;
-@@ -275,6 +274,7 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
+@@ -277,6 +276,7 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
        p->thread.sp = (unsigned long) childregs;
        p->thread.sp0 = (unsigned long) (childregs+1);
        p->thread.usersp = me->thread.usersp;
@@ -16397,16 +18242,16 @@ index f693e44..3c979b2 100644
  
        set_tsk_thread_flag(p, TIF_FORK);
  
-@@ -377,7 +377,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -379,7 +379,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
        struct thread_struct *prev = &prev_p->thread;
        struct thread_struct *next = &next_p->thread;
        int cpu = smp_processor_id();
 -      struct tss_struct *tss = &per_cpu(init_tss, cpu);
 +      struct tss_struct *tss = init_tss + cpu;
        unsigned fsindex, gsindex;
-       bool preload_fpu;
+       fpu_switch_t fpu;
  
-@@ -473,10 +473,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
+@@ -461,10 +461,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
        prev->usersp = percpu_read(old_rsp);
        percpu_write(old_rsp, next->usersp);
        percpu_write(current_task, next_p);
@@ -16419,7 +18264,7 @@ index f693e44..3c979b2 100644
  
        /*
         * Now maybe reload the debug registers and handle I/O bitmaps
-@@ -538,12 +537,11 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -519,12 +518,11 @@ unsigned long get_wchan(struct task_struct *p)
        if (!p || p == current || p->state == TASK_RUNNING)
                return 0;
        stack = (unsigned long)task_stack_page(p);
@@ -16435,10 +18280,21 @@ index f693e44..3c979b2 100644
                ip = *(u64 *)(fp+8);
                if (!in_sched_functions(ip))
 diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
-index 8252879..d3219e0 100644
+index 8252879..f367ec9 100644
 --- a/arch/x86/kernel/ptrace.c
 +++ b/arch/x86/kernel/ptrace.c
-@@ -822,7 +822,7 @@ long arch_ptrace(struct task_struct *child, long request,
+@@ -791,6 +791,10 @@ static int ioperm_active(struct task_struct *target,
+ static int ioperm_get(struct task_struct *target,
+                     const struct user_regset *regset,
+                     unsigned int pos, unsigned int count,
++                    void *kbuf, void __user *ubuf) __size_overflow(3,4);
++static int ioperm_get(struct task_struct *target,
++                    const struct user_regset *regset,
++                    unsigned int pos, unsigned int count,
+                     void *kbuf, void __user *ubuf)
+ {
+       if (!target->thread.io_bitmap_ptr)
+@@ -822,7 +826,7 @@ long arch_ptrace(struct task_struct *child, long request,
                 unsigned long addr, unsigned long data)
  {
        int ret;
@@ -16447,7 +18303,7 @@ index 8252879..d3219e0 100644
  
        switch (request) {
        /* read the word at location addr in the USER area. */
-@@ -907,14 +907,14 @@ long arch_ptrace(struct task_struct *child, long request,
+@@ -907,14 +911,14 @@ long arch_ptrace(struct task_struct *child, long request,
                if ((int) addr < 0)
                        return -EIO;
                ret = do_get_thread_area(child, addr,
@@ -16464,7 +18320,7 @@ index 8252879..d3219e0 100644
                break;
  #endif
  
-@@ -1331,7 +1331,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
+@@ -1331,7 +1335,7 @@ static void fill_sigtrap_info(struct task_struct *tsk,
        memset(info, 0, sizeof(*info));
        info->si_signo = SIGTRAP;
        info->si_code = si_code;
@@ -16506,7 +18362,7 @@ index 42eb330..139955c 100644
  
        return ret;
 diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
-index d4a705f..ef8f1a9 100644
+index 37a458b..e63d183 100644
 --- a/arch/x86/kernel/reboot.c
 +++ b/arch/x86/kernel/reboot.c
 @@ -35,7 +35,7 @@ void (*pm_power_off)(void);
@@ -16589,7 +18445,7 @@ index d4a705f..ef8f1a9 100644
  }
  #ifdef CONFIG_APM_MODULE
  EXPORT_SYMBOL(machine_real_restart);
-@@ -532,7 +562,7 @@ void __attribute__((weak)) mach_reboot_fixups(void)
+@@ -540,7 +570,7 @@ void __attribute__((weak)) mach_reboot_fixups(void)
   * try to force a triple fault and then cycle between hitting the keyboard
   * controller and doing that
   */
@@ -16598,7 +18454,7 @@ index d4a705f..ef8f1a9 100644
  {
        int i;
        int attempt = 0;
-@@ -656,13 +686,13 @@ void native_machine_shutdown(void)
+@@ -664,13 +694,13 @@ void native_machine_shutdown(void)
  #endif
  }
  
@@ -16614,7 +18470,7 @@ index d4a705f..ef8f1a9 100644
  {
        printk("machine restart\n");
  
-@@ -671,7 +701,7 @@ static void native_machine_restart(char *__unused)
+@@ -679,7 +709,7 @@ static void native_machine_restart(char *__unused)
        __machine_emergency_restart(0);
  }
  
@@ -16623,7 +18479,7 @@ index d4a705f..ef8f1a9 100644
  {
        /* stop other cpus and apics */
        machine_shutdown();
-@@ -682,7 +712,7 @@ static void native_machine_halt(void)
+@@ -690,7 +720,7 @@ static void native_machine_halt(void)
        stop_this_cpu(NULL);
  }
  
@@ -16632,7 +18488,7 @@ index d4a705f..ef8f1a9 100644
  {
        if (pm_power_off) {
                if (!reboot_force)
-@@ -691,6 +721,7 @@ static void native_machine_power_off(void)
+@@ -699,6 +729,7 @@ static void native_machine_power_off(void)
        }
        /* a fallback in case there is no PM info available */
        tboot_shutdown(TB_SHUTDOWN_HALT);
@@ -16669,7 +18525,7 @@ index 7a6f3b3..bed145d7 100644
  
  1:
 diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index afaf384..1a101fe 100644
+index cf0ef98..e3f780b 100644
 --- a/arch/x86/kernel/setup.c
 +++ b/arch/x86/kernel/setup.c
 @@ -447,7 +447,7 @@ static void __init parse_setup_data(void)
@@ -16711,7 +18567,7 @@ index afaf384..1a101fe 100644
        bss_resource.start = virt_to_phys(&__bss_start);
        bss_resource.end = virt_to_phys(&__bss_stop)-1;
 diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c
-index 71f4727..16dc9f7 100644
+index 71f4727..217419b 100644
 --- a/arch/x86/kernel/setup_percpu.c
 +++ b/arch/x86/kernel/setup_percpu.c
 @@ -21,19 +21,17 @@
@@ -16738,7 +18594,25 @@ index 71f4727..16dc9f7 100644
        [0 ... NR_CPUS-1] = BOOT_PERCPU_OFFSET,
  };
  EXPORT_SYMBOL(__per_cpu_offset);
-@@ -155,10 +153,10 @@ static inline void setup_percpu_segment(int cpu)
+@@ -96,6 +94,8 @@ static bool __init pcpu_need_numa(void)
+  * Pointer to the allocated area on success, NULL on failure.
+  */
+ static void * __init pcpu_alloc_bootmem(unsigned int cpu, unsigned long size,
++                                      unsigned long align) __size_overflow(2);
++static void * __init pcpu_alloc_bootmem(unsigned int cpu, unsigned long size,
+                                       unsigned long align)
+ {
+       const unsigned long goal = __pa(MAX_DMA_ADDRESS);
+@@ -124,6 +124,8 @@ static void * __init pcpu_alloc_bootmem(unsigned int cpu, unsigned long size,
+ /*
+  * Helpers for first chunk memory allocation
+  */
++static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align) __size_overflow(2);
++
+ static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align)
+ {
+       return pcpu_alloc_bootmem(cpu, size, align);
+@@ -155,10 +157,10 @@ static inline void setup_percpu_segment(int cpu)
  {
  #ifdef CONFIG_X86_32
        struct desc_struct gdt;
@@ -16752,7 +18626,7 @@ index 71f4727..16dc9f7 100644
        write_gdt_entry(get_cpu_gdt_table(cpu),
                        GDT_ENTRY_PERCPU, &gdt, DESCTYPE_S);
  #endif
-@@ -207,6 +205,11 @@ void __init setup_per_cpu_areas(void)
+@@ -207,6 +209,11 @@ void __init setup_per_cpu_areas(void)
        /* alrighty, percpu areas up and running */
        delta = (unsigned long)pcpu_base_addr - (unsigned long)__per_cpu_start;
        for_each_possible_cpu(cpu) {
@@ -16764,7 +18638,7 @@ index 71f4727..16dc9f7 100644
                per_cpu_offset(cpu) = delta + pcpu_unit_offsets[cpu];
                per_cpu(this_cpu_off, cpu) = per_cpu_offset(cpu);
                per_cpu(cpu_number, cpu) = cpu;
-@@ -247,6 +250,12 @@ void __init setup_per_cpu_areas(void)
+@@ -247,6 +254,12 @@ void __init setup_per_cpu_areas(void)
                 */
                set_cpu_numa_node(cpu, early_cpu_to_node(cpu));
  #endif
@@ -16778,7 +18652,7 @@ index 71f4727..16dc9f7 100644
                 * Up to this point, the boot CPU has been using .init.data
                 * area.  Reload any changed state for the boot CPU.
 diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
-index 54ddaeb2..a6aa4d2 100644
+index 54ddaeb2..22c3bdc 100644
 --- a/arch/x86/kernel/signal.c
 +++ b/arch/x86/kernel/signal.c
 @@ -198,7 +198,7 @@ static unsigned long align_sigframe(unsigned long sp)
@@ -16846,16 +18720,7 @@ index 54ddaeb2..a6aa4d2 100644
        } put_user_catch(err);
  
        if (err)
-@@ -762,6 +765,8 @@ static void do_signal(struct pt_regs *regs)
-       siginfo_t info;
-       int signr;
-+      pax_track_stack();
-+
-       /*
-        * We want the common case to go fast, which is why we may in certain
-        * cases get here from kernel mode. Just return without doing anything
-@@ -769,7 +774,7 @@ static void do_signal(struct pt_regs *regs)
+@@ -769,7 +772,7 @@ static void do_signal(struct pt_regs *regs)
         * X86_32: vm86 regs switched out by assembly code before reaching
         * here, so testing against kernel CS suffices.
         */
@@ -17184,10 +19049,10 @@ index 0b0cb5f..db6b9ed 100644
 +      return addr;
  }
 diff --git a/arch/x86/kernel/sys_x86_64.c b/arch/x86/kernel/sys_x86_64.c
-index ff14a50..35626c3 100644
+index 0514890..3dbebce 100644
 --- a/arch/x86/kernel/sys_x86_64.c
 +++ b/arch/x86/kernel/sys_x86_64.c
-@@ -32,8 +32,8 @@ out:
+@@ -95,8 +95,8 @@ out:
        return error;
  }
  
@@ -17198,7 +19063,7 @@ index ff14a50..35626c3 100644
  {
        if (!test_thread_flag(TIF_IA32) && (flags & MAP_32BIT)) {
                unsigned long new_begin;
-@@ -52,7 +52,7 @@ static void find_start_end(unsigned long flags, unsigned long *begin,
+@@ -115,7 +115,7 @@ static void find_start_end(unsigned long flags, unsigned long *begin,
                                *begin = new_begin;
                }
        } else {
@@ -17207,7 +19072,7 @@ index ff14a50..35626c3 100644
                *end = TASK_SIZE;
        }
  }
-@@ -69,16 +69,19 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
+@@ -132,16 +132,19 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
        if (flags & MAP_FIXED)
                return addr;
  
@@ -17230,7 +19095,7 @@ index ff14a50..35626c3 100644
                        return addr;
        }
        if (((flags & MAP_32BIT) || test_thread_flag(TIF_IA32))
-@@ -106,7 +109,7 @@ full_search:
+@@ -172,7 +175,7 @@ full_search:
                        }
                        return -ENOMEM;
                }
@@ -17239,7 +19104,7 @@ index ff14a50..35626c3 100644
                        /*
                         * Remember the place where we stopped the search:
                         */
-@@ -128,7 +131,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -195,7 +198,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
  {
        struct vm_area_struct *vma;
        struct mm_struct *mm = current->mm;
@@ -17248,7 +19113,7 @@ index ff14a50..35626c3 100644
  
        /* requested length too big for entire address space */
        if (len > TASK_SIZE)
-@@ -141,13 +144,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -208,13 +211,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
        if (!test_thread_flag(TIF_IA32) && (flags & MAP_32BIT))
                goto bottomup;
  
@@ -17271,16 +19136,16 @@ index ff14a50..35626c3 100644
        }
  
        /* check if free_area_cache is useful for us */
-@@ -162,7 +170,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
-       /* make sure it can fit in the remaining address space */
-       if (addr > len) {
-               vma = find_vma(mm, addr-len);
--              if (!vma || addr <= vma->vm_start)
-+              if (check_heap_stack_gap(vma, addr - len, len))
+@@ -232,7 +240,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+                                                   ALIGN_TOPDOWN);
+               vma = find_vma(mm, tmp_addr);
+-              if (!vma || tmp_addr + len <= vma->vm_start)
++              if (check_heap_stack_gap(vma, tmp_addr, len))
                        /* remember the address as a hint for next time */
-                       return mm->free_area_cache = addr-len;
+                       return mm->free_area_cache = tmp_addr;
        }
-@@ -179,7 +187,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -251,7 +259,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
                 * return with success:
                 */
                vma = find_vma(mm, addr);
@@ -17289,7 +19154,7 @@ index ff14a50..35626c3 100644
                        /* remember the address as a hint for next time */
                        return mm->free_area_cache = addr;
  
-@@ -188,8 +196,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -260,8 +268,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
                        mm->cached_hole_size = vma->vm_start - addr;
  
                /* try just below the current vma->vm_start */
@@ -17300,7 +19165,7 @@ index ff14a50..35626c3 100644
  
  bottomup:
        /*
-@@ -198,13 +206,21 @@ bottomup:
+@@ -270,13 +278,21 @@ bottomup:
         * can happen with large stack limits and large mmap()
         * allocations.
         */
@@ -17325,7 +19190,7 @@ index ff14a50..35626c3 100644
  
        return addr;
 diff --git a/arch/x86/kernel/syscall_table_32.S b/arch/x86/kernel/syscall_table_32.S
-index bc19be3..0f5fbf7 100644
+index 9a0e312..e6f66f2 100644
 --- a/arch/x86/kernel/syscall_table_32.S
 +++ b/arch/x86/kernel/syscall_table_32.S
 @@ -1,3 +1,4 @@
@@ -17334,10 +19199,10 @@ index bc19be3..0f5fbf7 100644
        .long sys_restart_syscall       /* 0 - old "setup()" system call, used for restarting */
        .long sys_exit
 diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c
-index e07a2fc..db0369d 100644
+index e2410e2..4fe3fbc 100644
 --- a/arch/x86/kernel/tboot.c
 +++ b/arch/x86/kernel/tboot.c
-@@ -218,7 +218,7 @@ static int tboot_setup_sleep(void)
+@@ -219,7 +219,7 @@ static int tboot_setup_sleep(void)
  
  void tboot_shutdown(u32 shutdown_type)
  {
@@ -17346,7 +19211,7 @@ index e07a2fc..db0369d 100644
  
        if (!tboot_enabled())
                return;
-@@ -240,7 +240,7 @@ void tboot_shutdown(u32 shutdown_type)
+@@ -241,7 +241,7 @@ void tboot_shutdown(u32 shutdown_type)
  
        switch_to_tboot_pt();
  
@@ -17355,7 +19220,7 @@ index e07a2fc..db0369d 100644
        shutdown();
  
        /* should not reach here */
-@@ -297,7 +297,7 @@ void tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control)
+@@ -298,7 +298,7 @@ void tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control)
        tboot_shutdown(acpi_shutdown_map[sleep_state]);
  }
  
@@ -17364,7 +19229,7 @@ index e07a2fc..db0369d 100644
  
  static int tboot_wait_for_aps(int num_aps)
  {
-@@ -321,9 +321,9 @@ static int __cpuinit tboot_cpu_callback(struct notifier_block *nfb,
+@@ -322,9 +322,9 @@ static int __cpuinit tboot_cpu_callback(struct notifier_block *nfb,
  {
        switch (action) {
        case CPU_DYING:
@@ -17376,7 +19241,7 @@ index e07a2fc..db0369d 100644
                                return NOTIFY_BAD;
                break;
        }
-@@ -342,7 +342,7 @@ static __init int tboot_late_init(void)
+@@ -343,7 +343,7 @@ static __init int tboot_late_init(void)
  
        tboot_create_trampoline();
  
@@ -17386,10 +19251,10 @@ index e07a2fc..db0369d 100644
        return 0;
  }
 diff --git a/arch/x86/kernel/time.c b/arch/x86/kernel/time.c
-index 5a64d05..804587b 100644
+index dd5fbf4..b7f2232 100644
 --- a/arch/x86/kernel/time.c
 +++ b/arch/x86/kernel/time.c
-@@ -30,9 +30,9 @@ unsigned long profile_pc(struct pt_regs *regs)
+@@ -31,9 +31,9 @@ unsigned long profile_pc(struct pt_regs *regs)
  {
        unsigned long pc = instruction_pointer(regs);
  
@@ -17401,7 +19266,7 @@ index 5a64d05..804587b 100644
  #else
                unsigned long *sp =
                        (unsigned long *)kernel_stack_pointer(regs);
-@@ -41,11 +41,17 @@ unsigned long profile_pc(struct pt_regs *regs)
+@@ -42,11 +42,17 @@ unsigned long profile_pc(struct pt_regs *regs)
                 * or above a saved flags. Eflags has bits 22-31 zero,
                 * kernel addresses don't.
                 */
@@ -17435,6 +19300,18 @@ index 6bb7b85..dd853e1 100644
        set_tls_desc(p, idx, &info, 1);
  
        return 0;
+diff --git a/arch/x86/kernel/tls.h b/arch/x86/kernel/tls.h
+index 2f083a2..7d3fecc 100644
+--- a/arch/x86/kernel/tls.h
++++ b/arch/x86/kernel/tls.h
+@@ -16,6 +16,6 @@
+ extern user_regset_active_fn regset_tls_active;
+ extern user_regset_get_fn regset_tls_get;
+-extern user_regset_set_fn regset_tls_set;
++extern user_regset_set_fn regset_tls_set __size_overflow(4);
+ #endif        /* _ARCH_X86_KERNEL_TLS_H */
 diff --git a/arch/x86/kernel/trampoline_32.S b/arch/x86/kernel/trampoline_32.S
 index 451c0a7..e57f551 100644
 --- a/arch/x86/kernel/trampoline_32.S
@@ -17484,7 +19361,7 @@ index 09ff517..df19fbff 100644
        .short 0
        .quad   0x00cf9b000000ffff      # __KERNEL32_CS
 diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
-index 6913369..7e7dff6 100644
+index 31d9d0f..e244dd9 100644
 --- a/arch/x86/kernel/traps.c
 +++ b/arch/x86/kernel/traps.c
 @@ -70,12 +70,6 @@ asmlinkage int system_call(void);
@@ -17500,7 +19377,7 @@ index 6913369..7e7dff6 100644
  #endif
  
  DECLARE_BITMAP(used_vectors, NR_VECTORS);
-@@ -117,13 +111,13 @@ static inline void preempt_conditional_cli(struct pt_regs *regs)
+@@ -108,13 +102,13 @@ static inline void preempt_conditional_cli(struct pt_regs *regs)
  }
  
  static void __kprobes
@@ -17516,7 +19393,7 @@ index 6913369..7e7dff6 100644
                /*
                 * traps 0, 1, 3, 4, and 5 should be forwarded to vm86.
                 * On nmi (interrupt 2), do_trap should not be called.
-@@ -134,7 +128,7 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
+@@ -125,7 +119,7 @@ do_trap(int trapnr, int signr, char *str, struct pt_regs *regs,
        }
  #endif
  
@@ -17525,7 +19402,7 @@ index 6913369..7e7dff6 100644
                goto kernel_trap;
  
  #ifdef CONFIG_X86_32
-@@ -157,7 +151,7 @@ trap_signal:
+@@ -148,7 +142,7 @@ trap_signal:
            printk_ratelimit()) {
                printk(KERN_INFO
                       "%s[%d] trap %s ip:%lx sp:%lx error:%lx",
@@ -17534,7 +19411,7 @@ index 6913369..7e7dff6 100644
                       regs->ip, regs->sp, error_code);
                print_vma_addr(" in ", regs->ip);
                printk("\n");
-@@ -174,8 +168,20 @@ kernel_trap:
+@@ -165,8 +159,20 @@ kernel_trap:
        if (!fixup_exception(regs)) {
                tsk->thread.error_code = error_code;
                tsk->thread.trap_no = trapnr;
@@ -17555,7 +19432,7 @@ index 6913369..7e7dff6 100644
        return;
  
  #ifdef CONFIG_X86_32
-@@ -264,14 +270,30 @@ do_general_protection(struct pt_regs *regs, long error_code)
+@@ -255,14 +261,30 @@ do_general_protection(struct pt_regs *regs, long error_code)
        conditional_sti(regs);
  
  #ifdef CONFIG_X86_32
@@ -17588,7 +19465,7 @@ index 6913369..7e7dff6 100644
        tsk->thread.error_code = error_code;
        tsk->thread.trap_no = 13;
  
-@@ -304,6 +326,13 @@ gp_in_kernel:
+@@ -295,6 +317,13 @@ gp_in_kernel:
        if (notify_die(DIE_GPF, "general protection fault", regs,
                                error_code, 13, SIGSEGV) == NOTIFY_STOP)
                return;
@@ -17602,25 +19479,7 @@ index 6913369..7e7dff6 100644
        die("general protection fault", regs, error_code);
  }
  
-@@ -433,6 +462,17 @@ static notrace __kprobes void default_do_nmi(struct pt_regs *regs)
- dotraplinkage notrace __kprobes void
- do_nmi(struct pt_regs *regs, long error_code)
- {
-+
-+#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_KERNEXEC)
-+      if (!user_mode(regs)) {
-+              unsigned long cs = regs->cs & 0xFFFF;
-+              unsigned long ip = ktva_ktla(regs->ip);
-+
-+              if ((cs == __KERNEL_CS || cs == __KERNEXEC_KERNEL_CS) && ip <= (unsigned long)_etext)
-+                      regs->ip = ip;
-+      }
-+#endif
-+
-       nmi_enter();
-       inc_irq_stat(__nmi_count);
-@@ -569,7 +609,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code)
+@@ -414,7 +443,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code)
        /* It's safe to allow irq's after DR6 has been saved */
        preempt_conditional_sti(regs);
  
@@ -17629,7 +19488,7 @@ index 6913369..7e7dff6 100644
                handle_vm86_trap((struct kernel_vm86_regs *) regs,
                                error_code, 1);
                preempt_conditional_cli(regs);
-@@ -583,7 +623,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code)
+@@ -428,7 +457,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code)
         * We already checked v86 mode above, so we can check for kernel mode
         * by just checking the CPL of CS.
         */
@@ -17638,7 +19497,7 @@ index 6913369..7e7dff6 100644
                tsk->thread.debugreg6 &= ~DR_STEP;
                set_tsk_thread_flag(tsk, TIF_SINGLESTEP);
                regs->flags &= ~X86_EFLAGS_TF;
-@@ -612,7 +652,7 @@ void math_error(struct pt_regs *regs, int error_code, int trapnr)
+@@ -457,7 +486,7 @@ void math_error(struct pt_regs *regs, int error_code, int trapnr)
                return;
        conditional_sti(regs);
  
@@ -17647,25 +19506,17 @@ index 6913369..7e7dff6 100644
        {
                if (!fixup_exception(regs)) {
                        task->thread.error_code = error_code;
-@@ -723,7 +763,7 @@ asmlinkage void __attribute__((weak)) smp_threshold_interrupt(void)
- void __math_state_restore(void)
- {
-       struct thread_info *thread = current_thread_info();
--      struct task_struct *tsk = thread->task;
-+      struct task_struct *tsk = current;
-       /*
-        * Paranoid restore. send a SIGSEGV if we fail to restore the state.
-@@ -750,8 +790,7 @@ void __math_state_restore(void)
-  */
- asmlinkage void math_state_restore(void)
+@@ -569,8 +598,8 @@ asmlinkage void __attribute__((weak)) smp_threshold_interrupt(void)
+ void __math_state_restore(struct task_struct *tsk)
  {
--      struct thread_info *thread = current_thread_info();
--      struct task_struct *tsk = thread->task;
-+      struct task_struct *tsk = current;
+       /* We need a safe address that is cheap to find and that is already
+-         in L1. We've just brought in "tsk->thread.has_fpu", so use that */
+-#define safe_address (tsk->thread.has_fpu)
++         in L1. */
++#define safe_address (init_tss[smp_processor_id()].x86_tss.sp0)
  
-       if (!tsk_used_math(tsk)) {
-               local_irq_enable();
+       /* AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception
+          is pending.  Clear the x87 state here by setting it to fixed
 diff --git a/arch/x86/kernel/verify_cpu.S b/arch/x86/kernel/verify_cpu.S
 index b9242ba..50c5edd 100644
 --- a/arch/x86/kernel/verify_cpu.S
@@ -18011,10 +19862,10 @@ index 0f703f1..9e15f64 100644
  
  #ifdef CONFIG_SMP
 diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c
-index b56c65de..561a55b 100644
+index e4d4a22..47ee71f 100644
 --- a/arch/x86/kernel/vsyscall_64.c
 +++ b/arch/x86/kernel/vsyscall_64.c
-@@ -56,15 +56,13 @@ DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
+@@ -57,15 +57,13 @@ DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
        .lock = __SEQLOCK_UNLOCKED(__vsyscall_gtod_data.lock),
  };
  
@@ -18031,7 +19882,7 @@ index b56c65de..561a55b 100644
                else if (!strcmp("none", str))
                        vsyscall_mode = NONE;
                else
-@@ -177,7 +175,7 @@ bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
+@@ -178,7 +176,7 @@ bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
  
        tsk = current;
        if (seccomp_mode(&tsk->seccomp))
@@ -18040,7 +19891,7 @@ index b56c65de..561a55b 100644
  
        switch (vsyscall_nr) {
        case 0:
-@@ -219,8 +217,7 @@ bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
+@@ -220,8 +218,7 @@ bool emulate_vsyscall(struct pt_regs *regs, unsigned long address)
        return true;
  
  sigsegv:
@@ -18050,7 +19901,7 @@ index b56c65de..561a55b 100644
  }
  
  /*
-@@ -273,10 +270,7 @@ void __init map_vsyscall(void)
+@@ -274,10 +271,7 @@ void __init map_vsyscall(void)
        extern char __vvar_page;
        unsigned long physaddr_vvar_page = __pa_symbol(&__vvar_page);
  
@@ -18076,7 +19927,7 @@ index 9796c2f..f686fbf 100644
  EXPORT_SYMBOL(copy_page);
  EXPORT_SYMBOL(clear_page);
 diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c
-index a391134..d0b63b6e 100644
+index 7110911..e8cdee5 100644
 --- a/arch/x86/kernel/xsave.c
 +++ b/arch/x86/kernel/xsave.c
 @@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_struct __user *buf,
@@ -18088,7 +19939,7 @@ index a391134..d0b63b6e 100644
                                            fx_sw_user->extended_size -
                                            FP_XSTATE_MAGIC2_SIZE));
        if (err)
-@@ -267,7 +267,7 @@ fx_only:
+@@ -266,7 +266,7 @@ fx_only:
         * the other extended state.
         */
        xrstor_state(init_xstate_buf, pcntxt_mask & ~XSTATE_FPSSE);
@@ -18097,7 +19948,7 @@ index a391134..d0b63b6e 100644
  }
  
  /*
-@@ -299,7 +299,7 @@ int restore_i387_xstate(void __user *buf)
+@@ -295,7 +295,7 @@ int restore_i387_xstate(void __user *buf)
        if (use_xsave())
                err = restore_user_xstate(buf);
        else
@@ -18107,45 +19958,36 @@ index a391134..d0b63b6e 100644
        if (unlikely(err)) {
                /*
 diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
-index 8b4cc5f..f086b5b 100644
+index f1e3be18..588efc8 100644
 --- a/arch/x86/kvm/emulate.c
 +++ b/arch/x86/kvm/emulate.c
-@@ -96,7 +96,7 @@
- #define Src2ImmByte (2<<29)
- #define Src2One     (3<<29)
- #define Src2Imm     (4<<29)
--#define Src2Mask    (7<<29)
-+#define Src2Mask    (7U<<29)
- #define X2(x...) x, x
- #define X3(x...) X2(x), x
-@@ -207,6 +207,7 @@ struct gprefix {
- #define ____emulate_2op(_op, _src, _dst, _eflags, _x, _y, _suffix, _dsttype) \
+@@ -249,6 +249,7 @@ struct gprefix {
+ #define ____emulate_2op(ctxt, _op, _x, _y, _suffix, _dsttype) \
        do {                                                            \
 +              unsigned long _tmp;                                     \
                __asm__ __volatile__ (                                  \
                        _PRE_EFLAGS("0", "4", "2")                      \
                        _op _suffix " %"_x"3,%1; "                      \
-@@ -220,8 +221,6 @@ struct gprefix {
+@@ -263,8 +264,6 @@ struct gprefix {
  /* Raw emulation: instruction has two explicit operands. */
- #define __emulate_2op_nobyte(_op,_src,_dst,_eflags,_wx,_wy,_lx,_ly,_qx,_qy) \
+ #define __emulate_2op_nobyte(ctxt,_op,_wx,_wy,_lx,_ly,_qx,_qy)                \
        do {                                                            \
 -              unsigned long _tmp;                                     \
 -                                                                      \
-               switch ((_dst).bytes) {                                 \
+               switch ((ctxt)->dst.bytes) {                            \
                case 2:                                                 \
-                       ____emulate_2op(_op,_src,_dst,_eflags,_wx,_wy,"w",u16);\
-@@ -237,7 +236,6 @@ struct gprefix {
+                       ____emulate_2op(ctxt,_op,_wx,_wy,"w",u16);      \
+@@ -280,7 +279,6 @@ struct gprefix {
  
- #define __emulate_2op(_op,_src,_dst,_eflags,_bx,_by,_wx,_wy,_lx,_ly,_qx,_qy) \
+ #define __emulate_2op(ctxt,_op,_bx,_by,_wx,_wy,_lx,_ly,_qx,_qy)                    \
        do {                                                                 \
 -              unsigned long _tmp;                                          \
-               switch ((_dst).bytes) {                                      \
+               switch ((ctxt)->dst.bytes) {                                 \
                case 1:                                                      \
-                       ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b",u8); \
+                       ____emulate_2op(ctxt,_op,_bx,_by,"b",u8);            \
 diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
-index 57dcbd4..79aba9b 100644
+index 54abb40..a192606 100644
 --- a/arch/x86/kvm/lapic.c
 +++ b/arch/x86/kvm/lapic.c
 @@ -53,7 +53,7 @@
@@ -18158,10 +20000,10 @@ index 57dcbd4..79aba9b 100644
  #define APIC_LVT_NUM                  6
  /* 14 is the version for Xeon and Pentium 8.4.8*/
 diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
-index 8e8da79..13bc641 100644
+index f1b36cf..af8a124 100644
 --- a/arch/x86/kvm/mmu.c
 +++ b/arch/x86/kvm/mmu.c
-@@ -3552,7 +3552,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
+@@ -3555,7 +3555,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
  
        pgprintk("%s: gpa %llx bytes %d\n", __func__, gpa, bytes);
  
@@ -18170,7 +20012,7 @@ index 8e8da79..13bc641 100644
  
        /*
         * Assume that the pte write on a page table of the same type
-@@ -3584,7 +3584,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
+@@ -3587,7 +3587,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
        }
  
        spin_lock(&vcpu->kvm->mmu_lock);
@@ -18180,7 +20022,7 @@ index 8e8da79..13bc641 100644
        kvm_mmu_free_some_pages(vcpu);
        ++vcpu->kvm->stat.mmu_pte_write;
 diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
-index 507e2b8..fc55f89 100644
+index 9299410..ade2f9b 100644
 --- a/arch/x86/kvm/paging_tmpl.h
 +++ b/arch/x86/kvm/paging_tmpl.h
 @@ -197,7 +197,7 @@ retry_walk:
@@ -18192,16 +20034,7 @@ index 507e2b8..fc55f89 100644
                if (unlikely(__copy_from_user(&pte, ptep_user, sizeof(pte))))
                        goto error;
  
-@@ -575,6 +575,8 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, u32 error_code,
-       unsigned long mmu_seq;
-       bool map_writable;
-+      pax_track_stack();
-+
-       pgprintk("%s: addr %lx err %x\n", __func__, addr, error_code);
-       if (unlikely(error_code & PFERR_RSVD_MASK))
-@@ -701,7 +703,7 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva)
+@@ -705,7 +705,7 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva)
        if (need_flush)
                kvm_flush_remote_tlbs(vcpu->kvm);
  
@@ -18211,10 +20044,18 @@ index 507e2b8..fc55f89 100644
        spin_unlock(&vcpu->kvm->mmu_lock);
  
 diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
-index 475d1c9..33658ff 100644
+index 94a4672..1700ed1 100644
 --- a/arch/x86/kvm/svm.c
 +++ b/arch/x86/kvm/svm.c
-@@ -3381,7 +3381,11 @@ static void reload_tss(struct kvm_vcpu *vcpu)
+@@ -3037,6 +3037,7 @@ static int svm_set_vm_cr(struct kvm_vcpu *vcpu, u64 data)
+       return 0;
+ }
++static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data) __size_overflow(3);
+ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data)
+ {
+       struct vcpu_svm *svm = to_svm(vcpu);
+@@ -3405,7 +3406,11 @@ static void reload_tss(struct kvm_vcpu *vcpu)
        int cpu = raw_smp_processor_id();
  
        struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
@@ -18226,7 +20067,7 @@ index 475d1c9..33658ff 100644
        load_TR_desc();
  }
  
-@@ -3759,6 +3763,10 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
+@@ -3783,6 +3788,10 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
  #endif
  #endif
  
@@ -18238,10 +20079,10 @@ index 475d1c9..33658ff 100644
  
        local_irq_disable();
 diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
-index e65a158..656dc24 100644
+index 4ea7678..c715f2f 100644
 --- a/arch/x86/kvm/vmx.c
 +++ b/arch/x86/kvm/vmx.c
-@@ -1251,7 +1251,11 @@ static void reload_tss(void)
+@@ -1305,7 +1305,11 @@ static void reload_tss(void)
        struct desc_struct *descs;
  
        descs = (void *)gdt->address;
@@ -18253,7 +20094,15 @@ index e65a158..656dc24 100644
        load_TR_desc();
  }
  
-@@ -2520,8 +2524,11 @@ static __init int hardware_setup(void)
+@@ -2163,6 +2167,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
+  * Returns 0 on success, non-0 otherwise.
+  * Assumes vcpu_load() was already called.
+  */
++static int vmx_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data) __size_overflow(3);
+ static int vmx_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data)
+ {
+       struct vcpu_vmx *vmx = to_vmx(vcpu);
+@@ -2633,8 +2638,11 @@ static __init int hardware_setup(void)
        if (!cpu_has_vmx_flexpriority())
                flexpriority_enabled = 0;
  
@@ -18267,7 +20116,7 @@ index e65a158..656dc24 100644
  
        if (enable_ept && !cpu_has_vmx_ept_2m_page())
                kvm_disable_largepages();
-@@ -3535,7 +3542,7 @@ static void vmx_set_constant_host_state(void)
+@@ -3648,7 +3656,7 @@ static void vmx_set_constant_host_state(void)
        vmcs_writel(HOST_IDTR_BASE, dt.address);   /* 22.2.4 */
  
        asm("mov $.Lkvm_vmx_return, %0" : "=r"(tmpl));
@@ -18276,7 +20125,7 @@ index e65a158..656dc24 100644
  
        rdmsr(MSR_IA32_SYSENTER_CS, low32, high32);
        vmcs_write32(HOST_IA32_SYSENTER_CS, low32);
-@@ -6021,6 +6028,12 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
+@@ -6169,6 +6177,12 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
                "jmp .Lkvm_vmx_return \n\t"
                ".Llaunched: " __ex(ASM_VMX_VMRESUME) "\n\t"
                ".Lkvm_vmx_return: "
@@ -18289,7 +20138,7 @@ index e65a158..656dc24 100644
                /* Save guest registers, load host registers, keep flags */
                "mov %0, %c[wordsize](%%"R"sp) \n\t"
                "pop %0 \n\t"
-@@ -6069,6 +6082,11 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
+@@ -6217,6 +6231,11 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
  #endif
                [cr2]"i"(offsetof(struct vcpu_vmx, vcpu.arch.cr2)),
                [wordsize]"i"(sizeof(ulong))
@@ -18301,7 +20150,7 @@ index e65a158..656dc24 100644
              : "cc", "memory"
                , R"ax", R"bx", R"di", R"si"
  #ifdef CONFIG_X86_64
-@@ -6097,7 +6115,16 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
+@@ -6245,7 +6264,16 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
                }
        }
  
@@ -18320,10 +20169,18 @@ index e65a158..656dc24 100644
  
        vmx->exit_reason = vmcs_read32(VM_EXIT_REASON);
 diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
-index 84a28ea..9326501 100644
+index 4c938da..6cd8090 100644
 --- a/arch/x86/kvm/x86.c
 +++ b/arch/x86/kvm/x86.c
-@@ -1334,8 +1334,8 @@ static int xen_hvm_config(struct kvm_vcpu *vcpu, u64 data)
+@@ -907,6 +907,7 @@ static int do_set_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
+       return kvm_set_msr(vcpu, index, *data);
+ }
++static void kvm_write_wall_clock(struct kvm *kvm, gpa_t wall_clock) __size_overflow(2);
+ static void kvm_write_wall_clock(struct kvm *kvm, gpa_t wall_clock)
+ {
+       int version;
+@@ -1345,8 +1346,8 @@ static int xen_hvm_config(struct kvm_vcpu *vcpu, u64 data)
  {
        struct kvm *kvm = vcpu->kvm;
        int lm = is_long_mode(vcpu);
@@ -18334,7 +20191,7 @@ index 84a28ea..9326501 100644
        u8 blob_size = lm ? kvm->arch.xen_hvm_config.blob_size_64
                : kvm->arch.xen_hvm_config.blob_size_32;
        u32 page_num = data & ~PAGE_MASK;
-@@ -2137,6 +2137,8 @@ long kvm_arch_dev_ioctl(struct file *filp,
+@@ -2165,6 +2166,8 @@ long kvm_arch_dev_ioctl(struct file *filp,
                if (n < msr_list.nmsrs)
                        goto out;
                r = -EFAULT;
@@ -18343,7 +20200,7 @@ index 84a28ea..9326501 100644
                if (copy_to_user(user_msr_list->indices, &msrs_to_save,
                                 num_msrs_to_save * sizeof(u32)))
                        goto out;
-@@ -2312,15 +2314,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu,
+@@ -2340,15 +2343,20 @@ static int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu,
                                     struct kvm_cpuid2 *cpuid,
                                     struct kvm_cpuid_entry2 __user *entries)
  {
@@ -18367,7 +20224,7 @@ index 84a28ea..9326501 100644
        vcpu->arch.cpuid_nent = cpuid->nent;
        kvm_apic_set_version(vcpu);
        kvm_x86_ops->cpuid_update(vcpu);
-@@ -2335,15 +2342,19 @@ static int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu,
+@@ -2363,15 +2371,19 @@ static int kvm_vcpu_ioctl_get_cpuid2(struct kvm_vcpu *vcpu,
                                     struct kvm_cpuid2 *cpuid,
                                     struct kvm_cpuid_entry2 __user *entries)
  {
@@ -18390,7 +20247,7 @@ index 84a28ea..9326501 100644
        return 0;
  
  out:
-@@ -2718,7 +2729,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu,
+@@ -2746,7 +2758,7 @@ static int kvm_vcpu_ioctl_set_lapic(struct kvm_vcpu *vcpu,
  static int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu,
                                    struct kvm_interrupt *irq)
  {
@@ -18399,7 +20256,67 @@ index 84a28ea..9326501 100644
                return -EINVAL;
        if (irqchip_in_kernel(vcpu->kvm))
                return -ENXIO;
-@@ -5089,7 +5100,7 @@ static void kvm_set_mmio_spte_mask(void)
+@@ -3949,6 +3961,9 @@ gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva,
+ static int kvm_read_guest_virt_helper(gva_t addr, void *val, unsigned int bytes,
+                                     struct kvm_vcpu *vcpu, u32 access,
++                                    struct x86_exception *exception) __size_overflow(1,3);
++static int kvm_read_guest_virt_helper(gva_t addr, void *val, unsigned int bytes,
++                                    struct kvm_vcpu *vcpu, u32 access,
+                                     struct x86_exception *exception)
+ {
+       void *data = val;
+@@ -3980,6 +3995,9 @@ out:
+ /* used for instruction fetching */
+ static int kvm_fetch_guest_virt(struct x86_emulate_ctxt *ctxt,
+                               gva_t addr, void *val, unsigned int bytes,
++                              struct x86_exception *exception) __size_overflow(2,4);
++static int kvm_fetch_guest_virt(struct x86_emulate_ctxt *ctxt,
++                              gva_t addr, void *val, unsigned int bytes,
+                               struct x86_exception *exception)
+ {
+       struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
+@@ -4004,6 +4022,9 @@ EXPORT_SYMBOL_GPL(kvm_read_guest_virt);
+ static int kvm_read_guest_virt_system(struct x86_emulate_ctxt *ctxt,
+                                     gva_t addr, void *val, unsigned int bytes,
++                                    struct x86_exception *exception) __size_overflow(2,4);
++static int kvm_read_guest_virt_system(struct x86_emulate_ctxt *ctxt,
++                                    gva_t addr, void *val, unsigned int bytes,
+                                     struct x86_exception *exception)
+ {
+       struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
+@@ -4117,12 +4138,16 @@ static int read_prepare(struct kvm_vcpu *vcpu, void *val, int bytes)
+ }
+ static int read_emulate(struct kvm_vcpu *vcpu, gpa_t gpa,
++                      void *val, int bytes) __size_overflow(2);
++static int read_emulate(struct kvm_vcpu *vcpu, gpa_t gpa,
+                       void *val, int bytes)
+ {
+       return !kvm_read_guest(vcpu->kvm, gpa, val, bytes);
+ }
+ static int write_emulate(struct kvm_vcpu *vcpu, gpa_t gpa,
++                       void *val, int bytes) __size_overflow(2);
++static int write_emulate(struct kvm_vcpu *vcpu, gpa_t gpa,
+                        void *val, int bytes)
+ {
+       return emulator_write_phys(vcpu, gpa, val, bytes);
+@@ -4273,6 +4298,12 @@ static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt,
+                                    const void *old,
+                                    const void *new,
+                                    unsigned int bytes,
++                                   struct x86_exception *exception) __size_overflow(5);
++static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt,
++                                   unsigned long addr,
++                                   const void *old,
++                                   const void *new,
++                                   unsigned int bytes,
+                                    struct x86_exception *exception)
+ {
+       struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
+@@ -5162,7 +5193,7 @@ static void kvm_set_mmio_spte_mask(void)
        kvm_mmu_set_mmio_spte_mask(mask);
  }
  
@@ -18408,11 +20325,28 @@ index 84a28ea..9326501 100644
  {
        int r;
        struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;
+diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
+index d36fe23..a4b189f 100644
+--- a/arch/x86/kvm/x86.h
++++ b/arch/x86/kvm/x86.h
+@@ -119,10 +119,10 @@ void kvm_write_tsc(struct kvm_vcpu *vcpu, u64 data);
+ int kvm_read_guest_virt(struct x86_emulate_ctxt *ctxt,
+       gva_t addr, void *val, unsigned int bytes,
+-      struct x86_exception *exception);
++      struct x86_exception *exception) __size_overflow(2,4);
+ int kvm_write_guest_virt_system(struct x86_emulate_ctxt *ctxt,
+       gva_t addr, void *val, unsigned int bytes,
+-      struct x86_exception *exception);
++      struct x86_exception *exception) __size_overflow(2,4);
+ #endif
 diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
-index 13ee258..b9632f6 100644
+index cf4603b..7cdde38 100644
 --- a/arch/x86/lguest/boot.c
 +++ b/arch/x86/lguest/boot.c
-@@ -1184,9 +1184,10 @@ static __init int early_put_chars(u32 vtermno, const char *buf, int count)
+@@ -1195,9 +1195,10 @@ static __init int early_put_chars(u32 vtermno, const char *buf, int count)
   * Rebooting also tells the Host we're finished, but the RESTART flag tells the
   * Launcher to reboot us.
   */
@@ -19727,7 +21661,7 @@ index 51f1504..ddac4c1 100644
        CFI_ENDPROC
  END(bad_get_user)
 diff --git a/arch/x86/lib/insn.c b/arch/x86/lib/insn.c
-index 9f33b98..dfc7678 100644
+index 374562e..a75830b 100644
 --- a/arch/x86/lib/insn.c
 +++ b/arch/x86/lib/insn.c
 @@ -21,6 +21,11 @@
@@ -19740,9 +21674,9 @@ index 9f33b98..dfc7678 100644
 +#define ktla_ktva(addr) addr
 +#endif
  
- #define get_next(t, insn)     \
-       ({t r; r = *(t*)insn->next_byte; insn->next_byte += sizeof(t); r; })
-@@ -40,8 +45,8 @@
+ /* Verify next sizeof(t) bytes can be on the same instruction */
+ #define validate_next(t, insn, n)     \
+@@ -49,8 +54,8 @@
  void insn_init(struct insn *insn, const void *kaddr, int x86_64)
  {
        memset(insn, 0, sizeof(*insn));
@@ -20681,7 +22615,7 @@ index a63efd6..ccecad8 100644
        ret
        CFI_ENDPROC
 diff --git a/arch/x86/lib/usercopy_32.c b/arch/x86/lib/usercopy_32.c
-index e218d5d..35679b4 100644
+index e218d5d..a99a1eb 100644
 --- a/arch/x86/lib/usercopy_32.c
 +++ b/arch/x86/lib/usercopy_32.c
 @@ -43,7 +43,7 @@ do {                                                                    \
@@ -20784,7 +22718,7 @@ index e218d5d..35679b4 100644
                       "       addl $-64, %0\n"
                       "       addl $64, %4\n"
                       "       addl $64, %3\n"
-@@ -278,10 +282,119 @@ __copy_user_intel(void __user *to, const void *from, unsigned long size)
+@@ -278,10 +282,12 @@ __copy_user_intel(void __user *to, const void *from, unsigned long size)
                       "       shrl  $2, %0\n"
                       "       andl  $3, %%eax\n"
                       "       cld\n"
@@ -20794,58 +22728,13 @@ index e218d5d..35679b4 100644
                       "37:    rep; movsb\n"
                       "100:\n"
 +                     __COPYUSER_RESTORE_ES
-+                     ".section .fixup,\"ax\"\n"
-+                     "101:   lea 0(%%eax,%0,4),%0\n"
-+                     "       jmp 100b\n"
-+                     ".previous\n"
-+                     ".section __ex_table,\"a\"\n"
-+                     "       .align 4\n"
-+                     "       .long 1b,100b\n"
-+                     "       .long 2b,100b\n"
-+                     "       .long 3b,100b\n"
-+                     "       .long 4b,100b\n"
-+                     "       .long 5b,100b\n"
-+                     "       .long 6b,100b\n"
-+                     "       .long 7b,100b\n"
-+                     "       .long 8b,100b\n"
-+                     "       .long 9b,100b\n"
-+                     "       .long 10b,100b\n"
-+                     "       .long 11b,100b\n"
-+                     "       .long 12b,100b\n"
-+                     "       .long 13b,100b\n"
-+                     "       .long 14b,100b\n"
-+                     "       .long 15b,100b\n"
-+                     "       .long 16b,100b\n"
-+                     "       .long 17b,100b\n"
-+                     "       .long 18b,100b\n"
-+                     "       .long 19b,100b\n"
-+                     "       .long 20b,100b\n"
-+                     "       .long 21b,100b\n"
-+                     "       .long 22b,100b\n"
-+                     "       .long 23b,100b\n"
-+                     "       .long 24b,100b\n"
-+                     "       .long 25b,100b\n"
-+                     "       .long 26b,100b\n"
-+                     "       .long 27b,100b\n"
-+                     "       .long 28b,100b\n"
-+                     "       .long 29b,100b\n"
-+                     "       .long 30b,100b\n"
-+                     "       .long 31b,100b\n"
-+                     "       .long 32b,100b\n"
-+                     "       .long 33b,100b\n"
-+                     "       .long 34b,100b\n"
-+                     "       .long 35b,100b\n"
-+                     "       .long 36b,100b\n"
-+                     "       .long 37b,100b\n"
-+                     "       .long 99b,101b\n"
-+                     ".previous"
-+                     : "=&c"(size), "=&D" (d0), "=&S" (d1)
-+                     :  "1"(to), "2"(from), "0"(size)
-+                     : "eax", "edx", "memory");
-+      return size;
-+}
-+
-+static unsigned long
+                      ".section .fixup,\"ax\"\n"
+                      "101:   lea 0(%%eax,%0,4),%0\n"
+                      "       jmp 100b\n"
+@@ -334,46 +340,155 @@ __copy_user_intel(void __user *to, const void *from, unsigned long size)
+ }
+ static unsigned long
 +__generic_copy_from_user_intel(void *to, const void __user *from, unsigned long size)
 +{
 +      int d0, d1;
@@ -20901,10 +22790,62 @@ index e218d5d..35679b4 100644
 +                     "36:    movl %%eax, %0\n"
 +                     "37:    rep; "__copyuser_seg" movsb\n"
 +                     "100:\n"
-                      ".section .fixup,\"ax\"\n"
-                      "101:   lea 0(%%eax,%0,4),%0\n"
-                      "       jmp 100b\n"
-@@ -339,41 +452,41 @@ __copy_user_zeroing_intel(void *to, const void __user *from, unsigned long size)
++                     ".section .fixup,\"ax\"\n"
++                     "101:   lea 0(%%eax,%0,4),%0\n"
++                     "       jmp 100b\n"
++                     ".previous\n"
++                     ".section __ex_table,\"a\"\n"
++                     "       .align 4\n"
++                     "       .long 1b,100b\n"
++                     "       .long 2b,100b\n"
++                     "       .long 3b,100b\n"
++                     "       .long 4b,100b\n"
++                     "       .long 5b,100b\n"
++                     "       .long 6b,100b\n"
++                     "       .long 7b,100b\n"
++                     "       .long 8b,100b\n"
++                     "       .long 9b,100b\n"
++                     "       .long 10b,100b\n"
++                     "       .long 11b,100b\n"
++                     "       .long 12b,100b\n"
++                     "       .long 13b,100b\n"
++                     "       .long 14b,100b\n"
++                     "       .long 15b,100b\n"
++                     "       .long 16b,100b\n"
++                     "       .long 17b,100b\n"
++                     "       .long 18b,100b\n"
++                     "       .long 19b,100b\n"
++                     "       .long 20b,100b\n"
++                     "       .long 21b,100b\n"
++                     "       .long 22b,100b\n"
++                     "       .long 23b,100b\n"
++                     "       .long 24b,100b\n"
++                     "       .long 25b,100b\n"
++                     "       .long 26b,100b\n"
++                     "       .long 27b,100b\n"
++                     "       .long 28b,100b\n"
++                     "       .long 29b,100b\n"
++                     "       .long 30b,100b\n"
++                     "       .long 31b,100b\n"
++                     "       .long 32b,100b\n"
++                     "       .long 33b,100b\n"
++                     "       .long 34b,100b\n"
++                     "       .long 35b,100b\n"
++                     "       .long 36b,100b\n"
++                     "       .long 37b,100b\n"
++                     "       .long 99b,101b\n"
++                     ".previous"
++                     : "=&c"(size), "=&D" (d0), "=&S" (d1)
++                     :  "1"(to), "2"(from), "0"(size)
++                     : "eax", "edx", "memory");
++      return size;
++}
++
++static unsigned long
++__copy_user_zeroing_intel(void *to, const void __user *from, unsigned long size) __size_overflow(3);
++static unsigned long
+ __copy_user_zeroing_intel(void *to, const void __user *from, unsigned long size)
+ {
        int d0, d1;
        __asm__ __volatile__(
                       "        .align 2,0x90\n"
@@ -20964,7 +22905,7 @@ index e218d5d..35679b4 100644
                       "        movl %%eax, 56(%3)\n"
                       "        movl %%edx, 60(%3)\n"
                       "        addl $-64, %0\n"
-@@ -385,9 +498,9 @@ __copy_user_zeroing_intel(void *to, const void __user *from, unsigned long size)
+@@ -385,9 +500,9 @@ __copy_user_zeroing_intel(void *to, const void __user *from, unsigned long size)
                       "        shrl  $2, %0\n"
                       "        andl $3, %%eax\n"
                       "        cld\n"
@@ -20976,7 +22917,15 @@ index e218d5d..35679b4 100644
                       "8:\n"
                       ".section .fixup,\"ax\"\n"
                       "9:      lea 0(%%eax,%0,4),%0\n"
-@@ -440,41 +553,41 @@ static unsigned long __copy_user_zeroing_intel_nocache(void *to,
+@@ -434,47 +549,49 @@ __copy_user_zeroing_intel(void *to, const void __user *from, unsigned long size)
+  */
+ static unsigned long __copy_user_zeroing_intel_nocache(void *to,
++                              const void __user *from, unsigned long size) __size_overflow(3);
++static unsigned long __copy_user_zeroing_intel_nocache(void *to,
+                               const void __user *from, unsigned long size)
+ {
+       int d0, d1;
  
        __asm__ __volatile__(
               "        .align 2,0x90\n"
@@ -21036,7 +22985,7 @@ index e218d5d..35679b4 100644
               "        movnti %%eax, 56(%3)\n"
               "        movnti %%edx, 60(%3)\n"
               "        addl $-64, %0\n"
-@@ -487,9 +600,9 @@ static unsigned long __copy_user_zeroing_intel_nocache(void *to,
+@@ -487,9 +604,9 @@ static unsigned long __copy_user_zeroing_intel_nocache(void *to,
               "        shrl  $2, %0\n"
               "        andl $3, %%eax\n"
               "        cld\n"
@@ -21048,7 +22997,15 @@ index e218d5d..35679b4 100644
               "8:\n"
               ".section .fixup,\"ax\"\n"
               "9:      lea 0(%%eax,%0,4),%0\n"
-@@ -537,41 +650,41 @@ static unsigned long __copy_user_intel_nocache(void *to,
+@@ -531,47 +648,49 @@ static unsigned long __copy_user_zeroing_intel_nocache(void *to,
+ }
+ static unsigned long __copy_user_intel_nocache(void *to,
++                              const void __user *from, unsigned long size) __size_overflow(3);
++static unsigned long __copy_user_intel_nocache(void *to,
+                               const void __user *from, unsigned long size)
+ {
+       int d0, d1;
  
        __asm__ __volatile__(
               "        .align 2,0x90\n"
@@ -21108,7 +23065,7 @@ index e218d5d..35679b4 100644
               "        movnti %%eax, 56(%3)\n"
               "        movnti %%edx, 60(%3)\n"
               "        addl $-64, %0\n"
-@@ -584,9 +697,9 @@ static unsigned long __copy_user_intel_nocache(void *to,
+@@ -584,9 +703,9 @@ static unsigned long __copy_user_intel_nocache(void *to,
               "        shrl  $2, %0\n"
               "        andl $3, %%eax\n"
               "        cld\n"
@@ -21120,7 +23077,7 @@ index e218d5d..35679b4 100644
               "8:\n"
               ".section .fixup,\"ax\"\n"
               "9:      lea 0(%%eax,%0,4),%0\n"
-@@ -629,32 +742,36 @@ static unsigned long __copy_user_intel_nocache(void *to,
+@@ -629,32 +748,36 @@ static unsigned long __copy_user_intel_nocache(void *to,
   */
  unsigned long __copy_user_zeroing_intel(void *to, const void __user *from,
                                        unsigned long size);
@@ -21162,7 +23119,7 @@ index e218d5d..35679b4 100644
                ".section .fixup,\"ax\"\n"                              \
                "5:     addl %3,%0\n"                                   \
                "       jmp 2b\n"                                       \
-@@ -682,14 +799,14 @@ do {                                                                     \
+@@ -682,14 +805,14 @@ do {                                                                     \
                "       negl %0\n"                                      \
                "       andl $7,%0\n"                                   \
                "       subl %0,%3\n"                                   \
@@ -21180,7 +23137,7 @@ index e218d5d..35679b4 100644
                "2:\n"                                                  \
                ".section .fixup,\"ax\"\n"                              \
                "5:     addl %3,%0\n"                                   \
-@@ -775,9 +892,9 @@ survive:
+@@ -775,9 +898,9 @@ survive:
        }
  #endif
        if (movsl_is_ok(to, from, n))
@@ -21192,7 +23149,7 @@ index e218d5d..35679b4 100644
        return n;
  }
  EXPORT_SYMBOL(__copy_to_user_ll);
-@@ -797,10 +914,9 @@ unsigned long __copy_from_user_ll_nozero(void *to, const void __user *from,
+@@ -797,10 +920,9 @@ unsigned long __copy_from_user_ll_nozero(void *to, const void __user *from,
                                         unsigned long n)
  {
        if (movsl_is_ok(to, from, n))
@@ -21205,7 +23162,7 @@ index e218d5d..35679b4 100644
        return n;
  }
  EXPORT_SYMBOL(__copy_from_user_ll_nozero);
-@@ -827,65 +943,50 @@ unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *fr
+@@ -827,65 +949,50 @@ unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *fr
        if (n > 64 && cpu_has_xmm2)
                n = __copy_user_intel_nocache(to, from, n);
        else
@@ -21386,7 +23343,7 @@ index d0474ad..36e9257 100644
                extern u32 pnp_bios_is_utter_crap;
                pnp_bios_is_utter_crap = 1;
 diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
-index 0d17c8c..4f4764f 100644
+index 5db0490..2ddce45 100644
 --- a/arch/x86/mm/fault.c
 +++ b/arch/x86/mm/fault.c
 @@ -13,11 +13,18 @@
@@ -21399,7 +23356,7 @@ index 0d17c8c..4f4764f 100644
  #include <asm/traps.h>                        /* dotraplinkage, ...           */
  #include <asm/pgalloc.h>              /* pgd_*(), ...                 */
  #include <asm/kmemcheck.h>            /* kmemcheck_*(), ...           */
- #include <asm/vsyscall.h>
+ #include <asm/fixmap.h>                       /* VSYSCALL_START               */
 +#include <asm/tlbflush.h>
 +
 +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
@@ -21490,7 +23447,7 @@ index 0d17c8c..4f4764f 100644
                spin_lock(&pgd_lock);
 +
 +#ifdef CONFIG_PAX_PER_CPU_PGD
-+              for (cpu = 0; cpu < NR_CPUS; ++cpu) {
++              for (cpu = 0; cpu < nr_cpu_ids; ++cpu) {
 +                      pgd_t *pgd = get_cpu_pgd(cpu);
 +                      pmd_t *ret;
 +#else
@@ -21541,7 +23498,7 @@ index 0d17c8c..4f4764f 100644
        pgd_ref = pgd_offset_k(address);
        if (pgd_none(*pgd_ref))
                return -1;
-@@ -534,7 +604,7 @@ static int is_errata93(struct pt_regs *regs, unsigned long address)
+@@ -540,7 +610,7 @@ static int is_errata93(struct pt_regs *regs, unsigned long address)
  static int is_errata100(struct pt_regs *regs, unsigned long address)
  {
  #ifdef CONFIG_X86_64
@@ -21550,7 +23507,7 @@ index 0d17c8c..4f4764f 100644
                return 1;
  #endif
        return 0;
-@@ -561,7 +631,7 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
+@@ -567,7 +637,7 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
  }
  
  static const char nx_warning[] = KERN_CRIT
@@ -21559,7 +23516,7 @@ index 0d17c8c..4f4764f 100644
  
  static void
  show_fault_oops(struct pt_regs *regs, unsigned long error_code,
-@@ -570,15 +640,26 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
+@@ -576,15 +646,26 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
        if (!oops_may_print())
                return;
  
@@ -21588,7 +23545,7 @@ index 0d17c8c..4f4764f 100644
        printk(KERN_ALERT "BUG: unable to handle kernel ");
        if (address < PAGE_SIZE)
                printk(KERN_CONT "NULL pointer dereference");
-@@ -733,6 +814,21 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
+@@ -739,6 +820,21 @@ __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code,
                }
  #endif
  
@@ -21610,7 +23567,7 @@ index 0d17c8c..4f4764f 100644
                if (unlikely(show_unhandled_signals))
                        show_signal_msg(regs, error_code, address, tsk);
  
-@@ -829,7 +925,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
+@@ -835,7 +931,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
        if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) {
                printk(KERN_ERR
        "MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n",
@@ -21619,7 +23576,7 @@ index 0d17c8c..4f4764f 100644
                code = BUS_MCEERR_AR;
        }
  #endif
-@@ -884,6 +980,99 @@ static int spurious_fault_check(unsigned long error_code, pte_t *pte)
+@@ -890,6 +986,99 @@ static int spurious_fault_check(unsigned long error_code, pte_t *pte)
        return 1;
  }
  
@@ -21719,7 +23676,7 @@ index 0d17c8c..4f4764f 100644
  /*
   * Handle a spurious fault caused by a stale TLB entry.
   *
-@@ -956,6 +1145,9 @@ int show_unhandled_signals = 1;
+@@ -962,6 +1151,9 @@ int show_unhandled_signals = 1;
  static inline int
  access_error(unsigned long error_code, struct vm_area_struct *vma)
  {
@@ -21729,7 +23686,7 @@ index 0d17c8c..4f4764f 100644
        if (error_code & PF_WRITE) {
                /* write, present and write, not present: */
                if (unlikely(!(vma->vm_flags & VM_WRITE)))
-@@ -989,18 +1181,32 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -995,18 +1187,32 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
  {
        struct vm_area_struct *vma;
        struct task_struct *tsk;
@@ -21767,7 +23724,7 @@ index 0d17c8c..4f4764f 100644
  
        /*
         * Detect and handle instructions that would cause a page fault for
-@@ -1061,7 +1267,7 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1067,7 +1273,7 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
         * User-mode registers count as a user access even for any
         * potential system fault or CPU buglet:
         */
@@ -21776,7 +23733,7 @@ index 0d17c8c..4f4764f 100644
                local_irq_enable();
                error_code |= PF_USER;
        } else {
-@@ -1116,6 +1322,11 @@ retry:
+@@ -1122,6 +1328,11 @@ retry:
                might_sleep();
        }
  
@@ -21788,7 +23745,7 @@ index 0d17c8c..4f4764f 100644
        vma = find_vma(mm, address);
        if (unlikely(!vma)) {
                bad_area(regs, error_code, address);
-@@ -1127,18 +1338,24 @@ retry:
+@@ -1133,18 +1344,24 @@ retry:
                bad_area(regs, error_code, address);
                return;
        }
@@ -21824,7 +23781,7 @@ index 0d17c8c..4f4764f 100644
        if (unlikely(expand_stack(vma, address))) {
                bad_area(regs, error_code, address);
                return;
-@@ -1193,3 +1410,240 @@ good_area:
+@@ -1199,3 +1416,292 @@ good_area:
  
        up_read(&mm->mmap_sem);
  }
@@ -21865,6 +23822,30 @@ index 0d17c8c..4f4764f 100644
 +{
 +      int err;
 +
++      do { /* PaX: libffi trampoline emulation */
++              unsigned char mov, jmp;
++              unsigned int addr1, addr2;
++
++#ifdef CONFIG_X86_64
++              if ((regs->ip + 9) >> 32)
++                      break;
++#endif
++
++              err = get_user(mov, (unsigned char __user *)regs->ip);
++              err |= get_user(addr1, (unsigned int __user *)(regs->ip + 1));
++              err |= get_user(jmp, (unsigned char __user *)(regs->ip + 5));
++              err |= get_user(addr2, (unsigned int __user *)(regs->ip + 6));
++
++              if (err)
++                      break;
++
++              if (mov == 0xB8 && jmp == 0xE9) {
++                      regs->ax = addr1;
++                      regs->ip = (unsigned int)(regs->ip + addr2 + 10);
++                      return 2;
++              }
++      } while (0);
++
 +      do { /* PaX: gcc trampoline emulation #1 */
 +              unsigned char mov1, mov2;
 +              unsigned short jmp;
@@ -21924,6 +23905,34 @@ index 0d17c8c..4f4764f 100644
 +{
 +      int err;
 +
++      do { /* PaX: libffi trampoline emulation */
++              unsigned short mov1, mov2, jmp1;
++              unsigned char stcclc, jmp2;
++              unsigned long addr1, addr2;
++
++              err = get_user(mov1, (unsigned short __user *)regs->ip);
++              err |= get_user(addr1, (unsigned long __user *)(regs->ip + 2));
++              err |= get_user(mov2, (unsigned short __user *)(regs->ip + 10));
++              err |= get_user(addr2, (unsigned long __user *)(regs->ip + 12));
++              err |= get_user(stcclc, (unsigned char __user *)(regs->ip + 20));
++              err |= get_user(jmp1, (unsigned short __user *)(regs->ip + 21));
++              err |= get_user(jmp2, (unsigned char __user *)(regs->ip + 23));
++
++              if (err)
++                      break;
++
++              if (mov1 == 0xBB49 && mov2 == 0xBA49 && (stcclc == 0xF8 || stcclc == 0xF9) && jmp1 == 0xFF49 && jmp2 == 0xE3) {
++                      regs->r11 = addr1;
++                      regs->r10 = addr2;
++                      if (stcclc == 0xF8)
++                              regs->flags &= ~X86_EFLAGS_CF;
++                      else
++                              regs->flags |= X86_EFLAGS_CF;
++                      regs->ip = addr1;
++                      return 2;
++              }
++      } while (0);
++
 +      do { /* PaX: gcc trampoline emulation #1 */
 +              unsigned short mov1, mov2, jmp1;
 +              unsigned char jmp2;
@@ -22066,19 +24075,10 @@ index 0d17c8c..4f4764f 100644
 +      return ret ? -EFAULT : 0;
 +}
 diff --git a/arch/x86/mm/gup.c b/arch/x86/mm/gup.c
-index ea30585..7d26398 100644
+index dd74e46..7d26398 100644
 --- a/arch/x86/mm/gup.c
 +++ b/arch/x86/mm/gup.c
-@@ -201,6 +201,8 @@ static noinline int gup_huge_pud(pud_t pud, unsigned long addr,
-       do {
-               VM_BUG_ON(compound_head(page) != head);
-               pages[*nr] = page;
-+              if (PageTail(page))
-+                      get_huge_page_tail(page);
-               (*nr)++;
-               page++;
-               refs++;
-@@ -253,7 +255,7 @@ int __get_user_pages_fast(unsigned long start, int nr_pages, int write,
+@@ -255,7 +255,7 @@ int __get_user_pages_fast(unsigned long start, int nr_pages, int write,
        addr = start;
        len = (unsigned long) nr_pages << PAGE_SHIFT;
        end = start + len;
@@ -22315,10 +24315,18 @@ index f581a18..29efd37 100644
        }
        if (mm->get_unmapped_area == arch_get_unmapped_area)
 diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
-index 87488b9..7129f32 100644
+index 87488b9..399f416 100644
 --- a/arch/x86/mm/init.c
 +++ b/arch/x86/mm/init.c
-@@ -31,7 +31,7 @@ int direct_gbpages
+@@ -15,6 +15,7 @@
+ #include <asm/tlbflush.h>
+ #include <asm/tlb.h>
+ #include <asm/proto.h>
++#include <asm/desc.h>
+ unsigned long __initdata pgt_buf_start;
+ unsigned long __meminitdata pgt_buf_end;
+@@ -31,7 +32,7 @@ int direct_gbpages
  static void __init find_early_table_space(unsigned long end, int use_pse,
                                          int use_gbpages)
  {
@@ -22327,7 +24335,7 @@ index 87488b9..7129f32 100644
        phys_addr_t base;
  
        puds = (end + PUD_SIZE - 1) >> PUD_SHIFT;
-@@ -312,8 +312,29 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+@@ -312,8 +313,29 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
   */
  int devmem_is_allowed(unsigned long pagenr)
  {
@@ -22358,7 +24366,7 @@ index 87488b9..7129f32 100644
        if (iomem_is_exclusive(pagenr << PAGE_SHIFT))
                return 0;
        if (!page_is_ram(pagenr))
-@@ -372,6 +393,86 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
+@@ -372,6 +394,86 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
  
  void free_initmem(void)
  {
@@ -22374,7 +24382,7 @@ index 87488b9..7129f32 100644
 +      limit = (limit - 1UL) >> PAGE_SHIFT;
 +
 +      memset(__LOAD_PHYSICAL_ADDR + PAGE_OFFSET, POISON_FREE_INITMEM, PAGE_SIZE);
-+      for (cpu = 0; cpu < NR_CPUS; cpu++) {
++      for (cpu = 0; cpu < nr_cpu_ids; cpu++) {
 +              pack_descriptor(&d, get_desc_base(&get_cpu_gdt_table(cpu)[GDT_ENTRY_KERNEL_CS]), limit, 0x9B, 0xC);
 +              write_gdt_entry(get_cpu_gdt_table(cpu), GDT_ENTRY_KERNEL_CS, &d, DESCTYPE_S);
 +      }
@@ -22724,7 +24732,7 @@ index 29f7c6d..b46b35b 100644
        printk(KERN_INFO "Write protecting the kernel text: %luk\n",
                size >> 10);
 diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
-index bbaaa00..16dffad 100644
+index bbaaa00..796fa65 100644
 --- a/arch/x86/mm/init_64.c
 +++ b/arch/x86/mm/init_64.c
 @@ -75,7 +75,7 @@ early_param("gbpages", parse_direct_gbpages_on);
@@ -22753,7 +24761,7 @@ index bbaaa00..16dffad 100644
                spin_lock(&pgd_lock);
 +
 +#ifdef CONFIG_PAX_PER_CPU_PGD
-+              for (cpu = 0; cpu < NR_CPUS; ++cpu) {
++              for (cpu = 0; cpu < nr_cpu_ids; ++cpu) {
 +                      pgd_t *pgd = pgd_offset_cpu(cpu, address);
 +#else
                list_for_each_entry(page, &pgd_list, lru) {
@@ -22873,7 +24881,7 @@ index 7b179b4..6bd1777 100644
  
        return (void *)vaddr;
 diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
-index be1ef57..9680edc 100644
+index be1ef57..55f0160 100644
 --- a/arch/x86/mm/ioremap.c
 +++ b/arch/x86/mm/ioremap.c
 @@ -97,7 +97,7 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
@@ -22885,7 +24893,17 @@ index be1ef57..9680edc 100644
                        return NULL;
                WARN_ON_ONCE(is_ram);
        }
-@@ -344,7 +344,7 @@ static int __init early_ioremap_debug_setup(char *str)
+@@ -315,6 +315,9 @@ void *xlate_dev_mem_ptr(unsigned long phys)
+       /* If page is RAM, we can use __va. Otherwise ioremap and unmap. */
+       if (page_is_ram(start >> PAGE_SHIFT))
++#ifdef CONFIG_HIGHMEM
++      if ((start >> PAGE_SHIFT) < max_low_pfn)
++#endif
+               return __va(phys);
+       addr = (void __force *)ioremap_cache(start, PAGE_SIZE);
+@@ -344,7 +347,7 @@ static int __init early_ioremap_debug_setup(char *str)
  early_param("early_ioremap_debug", early_ioremap_debug_setup);
  
  static __initdata int after_paging_init;
@@ -22894,7 +24912,7 @@ index be1ef57..9680edc 100644
  
  static inline pmd_t * __init early_ioremap_pmd(unsigned long addr)
  {
-@@ -381,8 +381,7 @@ void __init early_ioremap_init(void)
+@@ -381,8 +384,7 @@ void __init early_ioremap_init(void)
                slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i);
  
        pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN));
@@ -22921,19 +24939,19 @@ index d87dd6d..bf3fa66 100644
  
        pte = kmemcheck_pte_lookup(address);
 diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c
-index 1dab519..60a7e5f 100644
+index 845df68..1d8d29f 100644
 --- a/arch/x86/mm/mmap.c
 +++ b/arch/x86/mm/mmap.c
-@@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size(void)
+@@ -52,7 +52,7 @@ static unsigned int stack_maxrandom_size(void)
   * Leave an at least ~128 MB hole with possible stack randomization.
   */
  #define MIN_GAP (128*1024*1024UL + stack_maxrandom_size())
 -#define MAX_GAP (TASK_SIZE/6*5)
 +#define MAX_GAP (pax_task_size/6*5)
  
- /*
-  * True on X86_32 or when emulating IA32 on X86_64
-@@ -94,27 +94,40 @@ static unsigned long mmap_rnd(void)
+ static int mmap_is_legacy(void)
+ {
+@@ -82,27 +82,40 @@ static unsigned long mmap_rnd(void)
        return rnd << PAGE_SHIFT;
  }
  
@@ -22979,7 +24997,7 @@ index 1dab519..60a7e5f 100644
                return TASK_UNMAPPED_BASE + mmap_rnd();
  }
  
-@@ -125,11 +138,23 @@ static unsigned long mmap_legacy_base(void)
+@@ -113,11 +126,23 @@ static unsigned long mmap_legacy_base(void)
  void arch_pick_mmap_layout(struct mm_struct *mm)
  {
        if (mmap_is_legacy()) {
@@ -23006,10 +25024,10 @@ index 1dab519..60a7e5f 100644
                mm->unmap_area = arch_unmap_area_topdown;
        }
 diff --git a/arch/x86/mm/mmio-mod.c b/arch/x86/mm/mmio-mod.c
-index 67421f3..8d6b107 100644
+index de54b9b..799051e 100644
 --- a/arch/x86/mm/mmio-mod.c
 +++ b/arch/x86/mm/mmio-mod.c
-@@ -195,7 +195,7 @@ static void pre(struct kmmio_probe *p, struct pt_regs *regs,
+@@ -194,7 +194,7 @@ static void pre(struct kmmio_probe *p, struct pt_regs *regs,
                break;
        default:
                {
@@ -23018,7 +25036,7 @@ index 67421f3..8d6b107 100644
                        my_trace->opcode = MMIO_UNKNOWN_OP;
                        my_trace->width = 0;
                        my_trace->value = (*ip) << 16 | *(ip + 1) << 8 |
-@@ -235,7 +235,7 @@ static void post(struct kmmio_probe *p, unsigned long condition,
+@@ -234,7 +234,7 @@ static void post(struct kmmio_probe *p, unsigned long condition,
  static void ioremap_trace_core(resource_size_t offset, unsigned long size,
                                                        void __iomem *addr)
  {
@@ -23027,7 +25045,7 @@ index 67421f3..8d6b107 100644
        struct remap_trace *trace = kmalloc(sizeof(*trace), GFP_KERNEL);
        /* These are page-unaligned. */
        struct mmiotrace_map map = {
-@@ -259,7 +259,7 @@ static void ioremap_trace_core(resource_size_t offset, unsigned long size,
+@@ -258,7 +258,7 @@ static void ioremap_trace_core(resource_size_t offset, unsigned long size,
                        .private = trace
                },
                .phys = offset,
@@ -23050,7 +25068,7 @@ index b008656..773eac2 100644
  
  struct split_state {
 diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
-index f9e5267..6f6e27f 100644
+index f9e5267..77b1a40 100644
 --- a/arch/x86/mm/pageattr.c
 +++ b/arch/x86/mm/pageattr.c
 @@ -261,7 +261,7 @@ static inline pgprot_t static_protections(pgprot_t prot, unsigned long address,
@@ -23114,7 +25132,7 @@ index f9e5267..6f6e27f 100644
 +#endif
  
 +#ifdef CONFIG_PAX_PER_CPU_PGD
-+              for (cpu = 0; cpu < NR_CPUS; ++cpu) {
++              for (cpu = 0; cpu < nr_cpu_ids; ++cpu) {
 +                      pgd_t *pgd = get_cpu_pgd(cpu);
 +#else
                list_for_each_entry(page, &pgd_list, lru) {
@@ -23238,7 +25256,7 @@ index 9f0614d..92ae64a 100644
        p += get_opcode(p, &opcode);
        for (i = 0; i < ARRAY_SIZE(imm_wop); i++)
 diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
-index 8573b83..6372501 100644
+index 8573b83..c3b1a30 100644
 --- a/arch/x86/mm/pgtable.c
 +++ b/arch/x86/mm/pgtable.c
 @@ -84,10 +84,52 @@ static inline void pgd_list_del(pgd_t *pgd)
@@ -23277,7 +25295,7 @@ index 8573b83..6372501 100644
 +#define paravirt_release_pxd(pfn)     paravirt_release_pud(pfn)
 +#define pxd_free(mm, pud)             pud_free((mm), (pud))
 +#define pyd_populate(mm, pgd, pud)    pgd_populate((mm), (pgd), (pud))
-+#define pyd_offset(mm ,address)               pgd_offset((mm), (address))
++#define pyd_offset(mmaddress)               pgd_offset((mm), (address))
 +#define PYD_SIZE                      PGDIR_SIZE
 +#else
 +#define pxd_t                         pmd_t
@@ -23285,7 +25303,7 @@ index 8573b83..6372501 100644
 +#define paravirt_release_pxd(pfn)     paravirt_release_pmd(pfn)
 +#define pxd_free(mm, pud)             pmd_free((mm), (pud))
 +#define pyd_populate(mm, pgd, pud)    pud_populate((mm), (pgd), (pud))
-+#define pyd_offset(mm ,address)               pud_offset((mm), (address))
++#define pyd_offset(mmaddress)               pud_offset((mm), (address))
 +#define PYD_SIZE                      PUD_SIZE
 +#endif
 +
@@ -23635,7 +25653,7 @@ index 6687022..ceabcfa 100644
 +      pax_force_retaddr
        ret
 diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
-index bfab3fa..05aac3a 100644
+index 7c1b765..8c072c6 100644
 --- a/arch/x86/net/bpf_jit_comp.c
 +++ b/arch/x86/net/bpf_jit_comp.c
 @@ -117,6 +117,10 @@ static inline void bpf_flush_icache(void *start, void *end)
@@ -23660,7 +25678,23 @@ index bfab3fa..05aac3a 100644
        /* Before first pass, make a rough estimation of addrs[]
         * each bpf instruction is translated to less than 64 bytes
         */
-@@ -585,11 +593,12 @@ cond_branch:                     f_offset = addrs[i + filter[i].jf] - addrs[i];
+@@ -476,7 +484,7 @@ void bpf_jit_compile(struct sk_filter *fp)
+                               func = sk_load_word;
+ common_load:                  seen |= SEEN_DATAREF;
+                               if ((int)K < 0)
+-                                      goto out;
++                                      goto error;
+                               t_offset = func - (image + addrs[i]);
+                               EMIT1_off32(0xbe, K); /* mov imm32,%esi */
+                               EMIT1_off32(0xe8, t_offset); /* call */
+@@ -586,17 +594,18 @@ cond_branch:                     f_offset = addrs[i + filter[i].jf] - addrs[i];
+                               break;
+                       default:
+                               /* hmm, too complex filter, give up with jit compiler */
+-                              goto out;
++                              goto error;
+                       }
+                       ilen = prog - temp;
                        if (image) {
                                if (unlikely(proglen + ilen > oldproglen)) {
                                        pr_err("bpb_jit_compile fatal error\n");
@@ -23668,7 +25702,7 @@ index bfab3fa..05aac3a 100644
 -                                      module_free(NULL, image);
 -                                      return;
 +                                      module_free_exec(NULL, image);
-+                                      goto out;
++                                      goto error;
                                }
 +                              pax_open_kernel();
                                memcpy(image + proglen, temp, ilen);
@@ -23676,28 +25710,38 @@ index bfab3fa..05aac3a 100644
                        }
                        proglen += ilen;
                        addrs[i] = proglen;
-@@ -609,7 +618,7 @@ cond_branch:                       f_offset = addrs[i + filter[i].jf] - addrs[i];
+@@ -617,11 +626,9 @@ cond_branch:                      f_offset = addrs[i + filter[i].jf] - addrs[i];
                        break;
                }
                if (proglen == oldproglen) {
 -                      image = module_alloc(max_t(unsigned int,
-+                      image = module_alloc_exec(max_t(unsigned int,
-                                                  proglen,
-                                                  sizeof(struct work_struct)));
+-                                                 proglen,
+-                                                 sizeof(struct work_struct)));
++                      image = module_alloc_exec(proglen);
                        if (!image)
-@@ -631,24 +640,27 @@ cond_branch:                     f_offset = addrs[i + filter[i].jf] - addrs[i];
-               fp->bpf_func = (void *)image;
+-                              goto out;
++                              goto error;
+               }
+               oldproglen = proglen;
        }
+@@ -637,7 +644,10 @@ cond_branch:                      f_offset = addrs[i + filter[i].jf] - addrs[i];
+               bpf_flush_icache(image, image + proglen);
+               fp->bpf_func = (void *)image;
+-      }
++      } else
++error:
++              kfree(fp->work);
++
  out:
-+      kfree(fp->work);
        kfree(addrs);
        return;
- }
+@@ -645,18 +655,20 @@ out:
  
  static void jit_free_defer(struct work_struct *arg)
  {
 -      module_free(NULL, arg);
-+      module_free_exec(NULL, ((struct bpf_jit_work*)arg)->image);
++      module_free_exec(NULL, ((struct bpf_jit_work *)arg)->image);
 +      kfree(arg);
  }
  
@@ -23768,7 +25812,7 @@ index cb29191..036766d 100644
        return 1;
  }
 diff --git a/arch/x86/pci/pcbios.c b/arch/x86/pci/pcbios.c
-index f685535..2b76a81 100644
+index db0e9a5..0372c14 100644
 --- a/arch/x86/pci/pcbios.c
 +++ b/arch/x86/pci/pcbios.c
 @@ -79,50 +79,93 @@ union bios32 {
@@ -23849,7 +25893,7 @@ index f685535..2b76a81 100644
 +                      flags |= 8;
 +              }
 +
-+              for (cpu = 0; cpu < NR_CPUS; cpu++) {
++              for (cpu = 0; cpu < nr_cpu_ids; cpu++) {
 +                      gdt = get_cpu_gdt_table(cpu);
 +                      pack_descriptor(&d, address, length, 0x9b, flags);
 +                      write_gdt_entry(gdt, GDT_ENTRY_PCIBIOS_CS, &d, DESCTYPE_S);
@@ -24076,21 +26120,11 @@ index f685535..2b76a81 100644
  }
  EXPORT_SYMBOL(pcibios_set_irq_routing);
 diff --git a/arch/x86/platform/efi/efi_32.c b/arch/x86/platform/efi/efi_32.c
-index 5cab48e..b025f9b 100644
+index 40e4469..1ab536e 100644
 --- a/arch/x86/platform/efi/efi_32.c
 +++ b/arch/x86/platform/efi/efi_32.c
-@@ -38,70 +38,56 @@
-  */
- static unsigned long efi_rt_eflags;
--static pgd_t efi_bak_pg_dir_pointer[2];
-+static pgd_t __initdata efi_bak_pg_dir_pointer[KERNEL_PGD_PTRS];
--void efi_call_phys_prelog(void)
-+void __init efi_call_phys_prelog(void)
+@@ -44,11 +44,22 @@ void efi_call_phys_prelog(void)
  {
--      unsigned long cr4;
--      unsigned long temp;
        struct desc_ptr gdt_descr;
  
 +#ifdef CONFIG_PAX_KERNEXEC
@@ -24099,36 +26133,7 @@ index 5cab48e..b025f9b 100644
 +
        local_irq_save(efi_rt_eflags);
  
--      /*
--       * If I don't have PAE, I should just duplicate two entries in page
--       * directory. If I have PAE, I just need to duplicate one entry in
--       * page directory.
--       */
--      cr4 = read_cr4_safe();
--
--      if (cr4 & X86_CR4_PAE) {
--              efi_bak_pg_dir_pointer[0].pgd =
--                  swapper_pg_dir[pgd_index(0)].pgd;
--              swapper_pg_dir[0].pgd =
--                  swapper_pg_dir[pgd_index(PAGE_OFFSET)].pgd;
--      } else {
--              efi_bak_pg_dir_pointer[0].pgd =
--                  swapper_pg_dir[pgd_index(0)].pgd;
--              efi_bak_pg_dir_pointer[1].pgd =
--                  swapper_pg_dir[pgd_index(0x400000)].pgd;
--              swapper_pg_dir[pgd_index(0)].pgd =
--                  swapper_pg_dir[pgd_index(PAGE_OFFSET)].pgd;
--              temp = PAGE_OFFSET + 0x400000;
--              swapper_pg_dir[pgd_index(0x400000)].pgd =
--                  swapper_pg_dir[pgd_index(temp)].pgd;
--      }
-+      clone_pgd_range(efi_bak_pg_dir_pointer, swapper_pg_dir, KERNEL_PGD_PTRS);
-+      clone_pgd_range(swapper_pg_dir, swapper_pg_dir + KERNEL_PGD_BOUNDARY,
-+                      min_t(unsigned long, KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY));
-       /*
-        * After the lock is released, the original page table is restored.
-        */
+       load_cr3(initial_page_table);
        __flush_tlb_all();
  
 +#ifdef CONFIG_PAX_KERNEXEC
@@ -24141,12 +26146,8 @@ index 5cab48e..b025f9b 100644
        gdt_descr.address = __pa(get_cpu_gdt_table(0));
        gdt_descr.size = GDT_SIZE - 1;
        load_gdt(&gdt_descr);
- }
--void efi_call_phys_epilog(void)
-+void __init efi_call_phys_epilog(void)
+@@ -58,6 +69,14 @@ void efi_call_phys_epilog(void)
  {
--      unsigned long cr4;
        struct desc_ptr gdt_descr;
  
 +#ifdef CONFIG_PAX_KERNEXEC
@@ -24160,22 +26161,6 @@ index 5cab48e..b025f9b 100644
        gdt_descr.address = (unsigned long)get_cpu_gdt_table(0);
        gdt_descr.size = GDT_SIZE - 1;
        load_gdt(&gdt_descr);
--      cr4 = read_cr4_safe();
--
--      if (cr4 & X86_CR4_PAE) {
--              swapper_pg_dir[pgd_index(0)].pgd =
--                  efi_bak_pg_dir_pointer[0].pgd;
--      } else {
--              swapper_pg_dir[pgd_index(0)].pgd =
--                  efi_bak_pg_dir_pointer[0].pgd;
--              swapper_pg_dir[pgd_index(0x400000)].pgd =
--                  efi_bak_pg_dir_pointer[1].pgd;
--      }
-+      clone_pgd_range(swapper_pg_dir, efi_bak_pg_dir_pointer, KERNEL_PGD_PTRS);
-       /*
-        * After the lock is released, the original page table is restored.
 diff --git a/arch/x86/platform/efi/efi_stub_32.S b/arch/x86/platform/efi/efi_stub_32.S
 index fbe66e6..c5c0dd2 100644
 --- a/arch/x86/platform/efi/efi_stub_32.S
@@ -24356,46 +26341,59 @@ index 4c07cca..2c8427d 100644
        ret
  ENDPROC(efi_call6)
 diff --git a/arch/x86/platform/mrst/mrst.c b/arch/x86/platform/mrst/mrst.c
-index fe73276..70fe25a 100644
+index ad4ec1c..686479e 100644
 --- a/arch/x86/platform/mrst/mrst.c
 +++ b/arch/x86/platform/mrst/mrst.c
-@@ -239,14 +239,16 @@ static int mrst_i8042_detect(void)
- }
+@@ -76,18 +76,20 @@ struct sfi_rtc_table_entry sfi_mrtc_array[SFI_MRTC_MAX];
+ EXPORT_SYMBOL_GPL(sfi_mrtc_array);
+ int sfi_mrtc_num;
  
- /* Reboot and power off are handled by the SCU on a MID device */
 -static void mrst_power_off(void)
 +static __noreturn void mrst_power_off(void)
  {
-       intel_scu_ipc_simple_command(0xf1, 1);
+       if (__mrst_cpu_chip == MRST_CPU_CHIP_LINCROFT)
+               intel_scu_ipc_simple_command(IPCMSG_COLD_RESET, 1);
 +      BUG();
  }
  
 -static void mrst_reboot(void)
 +static __noreturn void mrst_reboot(void)
  {
-       intel_scu_ipc_simple_command(0xf1, 0);
+       if (__mrst_cpu_chip == MRST_CPU_CHIP_LINCROFT)
+               intel_scu_ipc_simple_command(IPCMSG_COLD_RESET, 0);
+       else
+               intel_scu_ipc_simple_command(IPCMSG_COLD_BOOT, 0);
 +      BUG();
  }
  
- /*
+ /* parse all the mtimer info to a static mtimer array */
 diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c
-index 5b55219..b326540 100644
+index 81aee5a..9ad9aae 100644
 --- a/arch/x86/platform/uv/tlb_uv.c
 +++ b/arch/x86/platform/uv/tlb_uv.c
-@@ -377,6 +377,8 @@ static void reset_with_ipi(struct pnmask *distribution, struct bau_control *bcp)
-       struct bau_control *smaster = bcp->socket_master;
-       struct reset_args reset_args;
-+      pax_track_stack();
-+
-       reset_args.sender = sender;
-       cpus_clear(*mask);
-       /* find a single cpu for each uvhub in this distribution mask */
+@@ -1433,6 +1433,8 @@ static ssize_t tunables_read(struct file *file, char __user *userbuf,
+  *  0: display meaning of the statistics
+  */
+ static ssize_t ptc_proc_write(struct file *file, const char __user *user,
++                              size_t count, loff_t *data) __size_overflow(3);
++static ssize_t ptc_proc_write(struct file *file, const char __user *user,
+                               size_t count, loff_t *data)
+ {
+       int cpu;
+@@ -1548,6 +1550,8 @@ static int parse_tunables_write(struct bau_control *bcp, char *instr,
+  * Handle a write to debugfs. (/sys/kernel/debug/sgi_uv/bau_tunables)
+  */
+ static ssize_t tunables_write(struct file *file, const char __user *user,
++                              size_t count, loff_t *data) __size_overflow(3);
++static ssize_t tunables_write(struct file *file, const char __user *user,
+                               size_t count, loff_t *data)
+ {
+       int cpu;
 diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
-index 87bb35e..eff2da8 100644
+index f10c0af..3ec1f95 100644
 --- a/arch/x86/power/cpu.c
 +++ b/arch/x86/power/cpu.c
-@@ -130,7 +130,7 @@ static void do_fpu_end(void)
+@@ -131,7 +131,7 @@ static void do_fpu_end(void)
  static void fix_processor_context(void)
  {
        int cpu = smp_processor_id();
@@ -24404,7 +26402,7 @@ index 87bb35e..eff2da8 100644
  
        set_tss_desc(cpu, t);   /*
                                 * This just modifies memory; should not be
-@@ -140,7 +140,9 @@ static void fix_processor_context(void)
+@@ -141,7 +141,9 @@ static void fix_processor_context(void)
                                 */
  
  #ifdef CONFIG_X86_64
@@ -24514,7 +26512,7 @@ index 468d591..8e80a0a 100644
        return NULL;
  }
 diff --git a/arch/x86/vdso/vma.c b/arch/x86/vdso/vma.c
-index 316fbca..4638633 100644
+index 153407c..611cba9 100644
 --- a/arch/x86/vdso/vma.c
 +++ b/arch/x86/vdso/vma.c
 @@ -16,8 +16,6 @@
@@ -24526,7 +26524,15 @@ index 316fbca..4638633 100644
  extern char vdso_start[], vdso_end[];
  extern unsigned short vdso_sync_cpuid;
  
-@@ -97,13 +95,15 @@ static unsigned long vdso_addr(unsigned long start, unsigned len)
+@@ -96,7 +94,6 @@ static unsigned long vdso_addr(unsigned long start, unsigned len)
+        * unaligned here as a result of stack start randomization.
+        */
+       addr = PAGE_ALIGN(addr);
+-      addr = align_addr(addr, NULL, ALIGN_VDSO);
+       return addr;
+ }
+@@ -106,40 +103,35 @@ static unsigned long vdso_addr(unsigned long start, unsigned len)
  int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
  {
        struct mm_struct *mm = current->mm;
@@ -24544,9 +26550,10 @@ index 316fbca..4638633 100644
 +#endif
 +
        addr = vdso_addr(mm->start_stack, vdso_size);
++      addr = align_addr(addr, NULL, ALIGN_VDSO);
        addr = get_unmapped_area(NULL, addr, vdso_size, 0, 0);
        if (IS_ERR_VALUE(addr)) {
-@@ -111,26 +111,18 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
+               ret = addr;
                goto up_fail;
        }
  
@@ -24578,7 +26585,7 @@ index 316fbca..4638633 100644
 -}
 -__setup("vdso=", vdso_setup);
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 46c8069..6330d3c 100644
+index 1f92865..c843b20 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -85,8 +85,6 @@ EXPORT_SYMBOL_GPL(xen_start_info);
@@ -24590,7 +26597,7 @@ index 46c8069..6330d3c 100644
  RESERVE_BRK(shared_info_page_brk, PAGE_SIZE);
  __read_mostly int xen_have_vector_callback;
  EXPORT_SYMBOL_GPL(xen_have_vector_callback);
-@@ -1028,7 +1026,7 @@ static const struct pv_apic_ops xen_apic_ops __initconst = {
+@@ -1029,7 +1027,7 @@ static const struct pv_apic_ops xen_apic_ops __initconst = {
  #endif
  };
  
@@ -24599,7 +26606,7 @@ index 46c8069..6330d3c 100644
  {
        struct sched_shutdown r = { .reason = reason };
  
-@@ -1036,17 +1034,17 @@ static void xen_reboot(int reason)
+@@ -1037,17 +1035,17 @@ static void xen_reboot(int reason)
                BUG();
  }
  
@@ -24620,7 +26627,7 @@ index 46c8069..6330d3c 100644
  {
        xen_reboot(SHUTDOWN_poweroff);
  }
-@@ -1152,7 +1150,17 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1153,7 +1151,17 @@ asmlinkage void __init xen_start_kernel(void)
        __userpte_alloc_gfp &= ~__GFP_HIGHMEM;
  
        /* Work out if we support NX */
@@ -24639,7 +26646,7 @@ index 46c8069..6330d3c 100644
  
        xen_setup_features();
  
-@@ -1183,13 +1191,6 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1184,13 +1192,6 @@ asmlinkage void __init xen_start_kernel(void)
  
        machine_ops = xen_machine_ops;
  
@@ -24654,10 +26661,10 @@ index 46c8069..6330d3c 100644
  
  #ifdef CONFIG_ACPI_NUMA
 diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
-index 3dd53f9..5aa5df3 100644
+index 87f6673..e2555a6 100644
 --- a/arch/x86/xen/mmu.c
 +++ b/arch/x86/xen/mmu.c
-@@ -1768,6 +1768,9 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
+@@ -1733,6 +1733,9 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
        convert_pfn_mfn(init_level4_pgt);
        convert_pfn_mfn(level3_ident_pgt);
        convert_pfn_mfn(level3_kernel_pgt);
@@ -24667,7 +26674,7 @@ index 3dd53f9..5aa5df3 100644
  
        l3 = m2v(pgd[pgd_index(__START_KERNEL_map)].pgd);
        l2 = m2v(l3[pud_index(__START_KERNEL_map)].pud);
-@@ -1786,7 +1789,11 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
+@@ -1751,7 +1754,11 @@ pgd_t * __init xen_setup_kernel_pagetable(pgd_t *pgd,
        set_page_prot(init_level4_pgt, PAGE_KERNEL_RO);
        set_page_prot(level3_ident_pgt, PAGE_KERNEL_RO);
        set_page_prot(level3_kernel_pgt, PAGE_KERNEL_RO);
@@ -24679,7 +26686,7 @@ index 3dd53f9..5aa5df3 100644
        set_page_prot(level2_kernel_pgt, PAGE_KERNEL_RO);
        set_page_prot(level2_fixmap_pgt, PAGE_KERNEL_RO);
  
-@@ -2000,6 +2007,7 @@ static void __init xen_post_allocator_init(void)
+@@ -1962,6 +1969,7 @@ static void __init xen_post_allocator_init(void)
        pv_mmu_ops.set_pud = xen_set_pud;
  #if PAGETABLE_LEVELS == 4
        pv_mmu_ops.set_pgd = xen_set_pgd;
@@ -24687,7 +26694,7 @@ index 3dd53f9..5aa5df3 100644
  #endif
  
        /* This will work as long as patching hasn't happened yet
-@@ -2081,6 +2089,7 @@ static const struct pv_mmu_ops xen_mmu_ops __initconst = {
+@@ -2043,6 +2051,7 @@ static const struct pv_mmu_ops xen_mmu_ops __initconst = {
        .pud_val = PV_CALLEE_SAVE(xen_pud_val),
        .make_pud = PV_CALLEE_SAVE(xen_make_pud),
        .set_pgd = xen_set_pgd_hyper,
@@ -24803,6 +26810,67 @@ index b095739..8c17bcd 100644
  struct trap_info;
  void xen_copy_trap_info(struct trap_info *traps);
  
+diff --git a/arch/xtensa/variants/dc232b/include/variant/core.h b/arch/xtensa/variants/dc232b/include/variant/core.h
+index 525bd3d..ef888b1 100644
+--- a/arch/xtensa/variants/dc232b/include/variant/core.h
++++ b/arch/xtensa/variants/dc232b/include/variant/core.h
+@@ -119,9 +119,9 @@
+   ----------------------------------------------------------------------*/
+ #define XCHAL_ICACHE_LINESIZE         32      /* I-cache line size in bytes */
+-#define XCHAL_DCACHE_LINESIZE         32      /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_LINEWIDTH                5       /* log2(I line size in bytes) */
+ #define XCHAL_DCACHE_LINEWIDTH                5       /* log2(D line size in bytes) */
++#define XCHAL_DCACHE_LINESIZE         (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH)   /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_SIZE             16384   /* I-cache size in bytes or 0 */
+ #define XCHAL_DCACHE_SIZE             16384   /* D-cache size in bytes or 0 */
+diff --git a/arch/xtensa/variants/fsf/include/variant/core.h b/arch/xtensa/variants/fsf/include/variant/core.h
+index 2f33760..835e50a 100644
+--- a/arch/xtensa/variants/fsf/include/variant/core.h
++++ b/arch/xtensa/variants/fsf/include/variant/core.h
+@@ -11,6 +11,7 @@
+ #ifndef _XTENSA_CORE_H
+ #define _XTENSA_CORE_H
++#include <linux/const.h>
+ /****************************************************************************
+           Parameters Useful for Any Code, USER or PRIVILEGED
+@@ -112,9 +113,9 @@
+   ----------------------------------------------------------------------*/
+ #define XCHAL_ICACHE_LINESIZE         16      /* I-cache line size in bytes */
+-#define XCHAL_DCACHE_LINESIZE         16      /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_LINEWIDTH                4       /* log2(I line size in bytes) */
+ #define XCHAL_DCACHE_LINEWIDTH                4       /* log2(D line size in bytes) */
++#define XCHAL_DCACHE_LINESIZE         (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH) /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_SIZE             8192    /* I-cache size in bytes or 0 */
+ #define XCHAL_DCACHE_SIZE             8192    /* D-cache size in bytes or 0 */
+diff --git a/arch/xtensa/variants/s6000/include/variant/core.h b/arch/xtensa/variants/s6000/include/variant/core.h
+index af00795..2bb8105 100644
+--- a/arch/xtensa/variants/s6000/include/variant/core.h
++++ b/arch/xtensa/variants/s6000/include/variant/core.h
+@@ -11,6 +11,7 @@
+ #ifndef _XTENSA_CORE_CONFIGURATION_H
+ #define _XTENSA_CORE_CONFIGURATION_H
++#include <linux/const.h>
+ /****************************************************************************
+           Parameters Useful for Any Code, USER or PRIVILEGED
+@@ -118,9 +119,9 @@
+   ----------------------------------------------------------------------*/
+ #define XCHAL_ICACHE_LINESIZE         16      /* I-cache line size in bytes */
+-#define XCHAL_DCACHE_LINESIZE         16      /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_LINEWIDTH                4       /* log2(I line size in bytes) */
+ #define XCHAL_DCACHE_LINEWIDTH                4       /* log2(D line size in bytes) */
++#define XCHAL_DCACHE_LINESIZE         (_AC(1,UL) << XCHAL_DCACHE_LINEWIDTH)   /* D-cache line size in bytes */
+ #define XCHAL_ICACHE_SIZE             32768   /* I-cache size in bytes or 0 */
+ #define XCHAL_DCACHE_SIZE             32768   /* D-cache size in bytes or 0 */
 diff --git a/block/blk-iopoll.c b/block/blk-iopoll.c
 index 58916af..9cb880b 100644
 --- a/block/blk-iopoll.c
@@ -24817,7 +26885,7 @@ index 58916af..9cb880b 100644
        struct list_head *list = &__get_cpu_var(blk_cpu_iopoll);
        int rearm = 0, budget = blk_iopoll_budget;
 diff --git a/block/blk-map.c b/block/blk-map.c
-index 164cd00..6d96fc1 100644
+index 623e1cd..ca1e109 100644
 --- a/block/blk-map.c
 +++ b/block/blk-map.c
 @@ -302,7 +302,7 @@ int blk_rq_map_kern(struct request_queue *q, struct request *rq, void *kbuf,
@@ -24843,7 +26911,7 @@ index 1366a89..e17f54b 100644
        struct list_head *cpu_list, local_list;
  
 diff --git a/block/bsg.c b/block/bsg.c
-index 702f131..37808bf 100644
+index c0ab25c..9d49f8f 100644
 --- a/block/bsg.c
 +++ b/block/bsg.c
 @@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct request_queue *q, struct request *rq,
@@ -24887,10 +26955,10 @@ index 7b72502..646105c 100644
                        err = -EFAULT;
                        goto out;
 diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
-index 4f4230b..0feae9a 100644
+index 688be8a..8a37d98 100644
 --- a/block/scsi_ioctl.c
 +++ b/block/scsi_ioctl.c
-@@ -222,8 +222,20 @@ EXPORT_SYMBOL(blk_verify_command);
+@@ -223,8 +223,20 @@ EXPORT_SYMBOL(blk_verify_command);
  static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq,
                             struct sg_io_hdr *hdr, fmode_t mode)
  {
@@ -24912,7 +26980,7 @@ index 4f4230b..0feae9a 100644
        if (blk_verify_command(rq->cmd, mode & FMODE_WRITE))
                return -EPERM;
  
-@@ -432,6 +444,8 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk *disk, fmode_t mode,
+@@ -433,6 +445,8 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk *disk, fmode_t mode,
        int err;
        unsigned int in_len, out_len, bytes, opcode, cmdlen;
        char *buffer = NULL, sense[SCSI_SENSE_BUFFERSIZE];
@@ -24921,7 +26989,7 @@ index 4f4230b..0feae9a 100644
  
        if (!sic)
                return -EINVAL;
-@@ -465,9 +479,18 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk *disk, fmode_t mode,
+@@ -466,9 +480,18 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk *disk, fmode_t mode,
         */
        err = -EFAULT;
        rq->cmd_len = cmdlen;
@@ -24941,6 +27009,91 @@ index 4f4230b..0feae9a 100644
        if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len))
                goto error;
  
+diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c
+index a0f768c..1da9c73 100644
+--- a/crypto/ablkcipher.c
++++ b/crypto/ablkcipher.c
+@@ -307,6 +307,8 @@ int ablkcipher_walk_phys(struct ablkcipher_request *req,
+ EXPORT_SYMBOL_GPL(ablkcipher_walk_phys);
+ static int setkey_unaligned(struct crypto_ablkcipher *tfm, const u8 *key,
++                          unsigned int keylen) __size_overflow(3);
++static int setkey_unaligned(struct crypto_ablkcipher *tfm, const u8 *key,
+                           unsigned int keylen)
+ {
+       struct ablkcipher_alg *cipher = crypto_ablkcipher_alg(tfm);
+@@ -329,6 +331,8 @@ static int setkey_unaligned(struct crypto_ablkcipher *tfm, const u8 *key,
+ }
+ static int setkey(struct crypto_ablkcipher *tfm, const u8 *key,
++                unsigned int keylen) __size_overflow(3);
++static int setkey(struct crypto_ablkcipher *tfm, const u8 *key,
+                 unsigned int keylen)
+ {
+       struct ablkcipher_alg *cipher = crypto_ablkcipher_alg(tfm);
+diff --git a/crypto/aead.c b/crypto/aead.c
+index 04add3dc..983032f 100644
+--- a/crypto/aead.c
++++ b/crypto/aead.c
+@@ -27,6 +27,8 @@
+ #include "internal.h"
+ static int setkey_unaligned(struct crypto_aead *tfm, const u8 *key,
++                          unsigned int keylen) __size_overflow(3);
++static int setkey_unaligned(struct crypto_aead *tfm, const u8 *key,
+                           unsigned int keylen)
+ {
+       struct aead_alg *aead = crypto_aead_alg(tfm);
+@@ -48,6 +50,7 @@ static int setkey_unaligned(struct crypto_aead *tfm, const u8 *key,
+       return ret;
+ }
++static int setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen) __size_overflow(3);
+ static int setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen)
+ {
+       struct aead_alg *aead = crypto_aead_alg(tfm);
+diff --git a/crypto/blkcipher.c b/crypto/blkcipher.c
+index 1e61d1a..cf06b86 100644
+--- a/crypto/blkcipher.c
++++ b/crypto/blkcipher.c
+@@ -359,6 +359,8 @@ int blkcipher_walk_virt_block(struct blkcipher_desc *desc,
+ EXPORT_SYMBOL_GPL(blkcipher_walk_virt_block);
+ static int setkey_unaligned(struct crypto_tfm *tfm, const u8 *key,
++                          unsigned int keylen) __size_overflow(3);
++static int setkey_unaligned(struct crypto_tfm *tfm, const u8 *key,
+                           unsigned int keylen)
+ {
+       struct blkcipher_alg *cipher = &tfm->__crt_alg->cra_blkcipher;
+@@ -380,6 +382,7 @@ static int setkey_unaligned(struct crypto_tfm *tfm, const u8 *key,
+       return ret;
+ }
++static int setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen) __size_overflow(3);
+ static int setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen)
+ {
+       struct blkcipher_alg *cipher = &tfm->__crt_alg->cra_blkcipher;
+diff --git a/crypto/cipher.c b/crypto/cipher.c
+index 39541e0..802d956 100644
+--- a/crypto/cipher.c
++++ b/crypto/cipher.c
+@@ -21,6 +21,8 @@
+ #include "internal.h"
+ static int setkey_unaligned(struct crypto_tfm *tfm, const u8 *key,
++                          unsigned int keylen) __size_overflow(3);
++static int setkey_unaligned(struct crypto_tfm *tfm, const u8 *key,
+                           unsigned int keylen)
+ {
+       struct cipher_alg *cia = &tfm->__crt_alg->cra_cipher;
+@@ -43,6 +45,7 @@ static int setkey_unaligned(struct crypto_tfm *tfm, const u8 *key,
+ }
++static int setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen) __size_overflow(3);
+ static int setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen)
+ {
+       struct cipher_alg *cia = &tfm->__crt_alg->cra_cipher;
 diff --git a/crypto/cryptd.c b/crypto/cryptd.c
 index 671d4d6..5f24030 100644
 --- a/crypto/cryptd.c
@@ -24963,19 +27116,6 @@ index 671d4d6..5f24030 100644
  
  static void cryptd_queue_worker(struct work_struct *work);
  
-diff --git a/crypto/serpent.c b/crypto/serpent.c
-index b651a55..a9ddd79b 100644
---- a/crypto/serpent.c
-+++ b/crypto/serpent.c
-@@ -224,6 +224,8 @@ static int serpent_setkey(struct crypto_tfm *tfm, const u8 *key,
-       u32 r0,r1,r2,r3,r4;
-       int i;
-+      pax_track_stack();
-+
-       /* Copy key, add padding */
-       for (i = 0; i < keylen; ++i)
 diff --git a/drivers/acpi/apei/cper.c b/drivers/acpi/apei/cper.c
 index 5d41894..22021e4 100644
 --- a/drivers/acpi/apei/cper.c
@@ -24997,19 +27137,33 @@ index 5d41894..22021e4 100644
  }
  EXPORT_SYMBOL_GPL(cper_next_record_id);
  
+diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
+index 7711d94..8622811 100644
+--- a/drivers/acpi/battery.c
++++ b/drivers/acpi/battery.c
+@@ -787,6 +787,9 @@ static int acpi_battery_print_alarm(struct seq_file *seq, int result)
+ static ssize_t acpi_battery_write_alarm(struct file *file,
+                                       const char __user * buffer,
++                                      size_t count, loff_t * ppos) __size_overflow(3);
++static ssize_t acpi_battery_write_alarm(struct file *file,
++                                      const char __user * buffer,
+                                       size_t count, loff_t * ppos)
+ {
+       int result = 0;
 diff --git a/drivers/acpi/ec_sys.c b/drivers/acpi/ec_sys.c
-index 22f918b..9fafb84 100644
+index 6c47ae9..abfdd63 100644
 --- a/drivers/acpi/ec_sys.c
 +++ b/drivers/acpi/ec_sys.c
-@@ -11,6 +11,7 @@
- #include <linux/kernel.h>
+@@ -12,6 +12,7 @@
  #include <linux/acpi.h>
  #include <linux/debugfs.h>
-+#include <asm/uaccess.h>
+ #include <linux/module.h>
++#include <linux/uaccess.h>
  #include "internal.h"
  
  MODULE_AUTHOR("Thomas Renninger <trenn@suse.de>");
-@@ -39,7 +40,7 @@ static ssize_t acpi_ec_read_io(struct file *f, char __user *buf,
+@@ -40,7 +41,7 @@ static ssize_t acpi_ec_read_io(struct file *f, char __user *buf,
         * struct acpi_ec *ec = ((struct seq_file *)f->private_data)->private;
         */
        unsigned int size = EC_SPACE_SIZE;
@@ -25018,7 +27172,7 @@ index 22f918b..9fafb84 100644
        loff_t init_off = *off;
        int err = 0;
  
-@@ -52,9 +53,11 @@ static ssize_t acpi_ec_read_io(struct file *f, char __user *buf,
+@@ -53,9 +54,11 @@ static ssize_t acpi_ec_read_io(struct file *f, char __user *buf,
                size = count;
  
        while (size) {
@@ -25031,7 +27185,7 @@ index 22f918b..9fafb84 100644
                *off += 1;
                size--;
        }
-@@ -70,7 +73,6 @@ static ssize_t acpi_ec_write_io(struct file *f, const char __user *buf,
+@@ -71,7 +74,6 @@ static ssize_t acpi_ec_write_io(struct file *f, const char __user *buf,
  
        unsigned int size = count;
        loff_t init_off = *off;
@@ -25039,7 +27193,7 @@ index 22f918b..9fafb84 100644
        int err = 0;
  
        if (*off >= EC_SPACE_SIZE)
-@@ -81,7 +83,9 @@ static ssize_t acpi_ec_write_io(struct file *f, const char __user *buf,
+@@ -82,7 +84,9 @@ static ssize_t acpi_ec_write_io(struct file *f, const char __user *buf,
        }
  
        while (size) {
@@ -25051,10 +27205,10 @@ index 22f918b..9fafb84 100644
                if (err)
                        return err;
 diff --git a/drivers/acpi/proc.c b/drivers/acpi/proc.c
-index f5f9869..da87aeb 100644
+index 251c7b62..000462d 100644
 --- a/drivers/acpi/proc.c
 +++ b/drivers/acpi/proc.c
-@@ -342,19 +342,13 @@ acpi_system_write_wakeup_device(struct file *file,
+@@ -343,19 +343,13 @@ acpi_system_write_wakeup_device(struct file *file,
                                size_t count, loff_t * ppos)
  {
        struct list_head *node, *next;
@@ -25079,7 +27233,7 @@ index f5f9869..da87aeb 100644
  
        mutex_lock(&acpi_device_lock);
        list_for_each_safe(node, next, &acpi_wakeup_device_list) {
-@@ -363,7 +357,7 @@ acpi_system_write_wakeup_device(struct file *file,
+@@ -364,7 +358,7 @@ acpi_system_write_wakeup_device(struct file *file,
                if (!dev->wakeup.flags.valid)
                        continue;
  
@@ -25089,7 +27243,7 @@ index f5f9869..da87aeb 100644
                                bool enable = !device_may_wakeup(&dev->dev);
                                device_set_wakeup_enable(&dev->dev, enable);
 diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
-index a4e0f1b..9793b28 100644
+index 9d7bc9f..a6fc091 100644
 --- a/drivers/acpi/processor_driver.c
 +++ b/drivers/acpi/processor_driver.c
 @@ -473,7 +473,7 @@ static int __cpuinit acpi_processor_add(struct acpi_device *device)
@@ -25101,8 +27255,22 @@ index a4e0f1b..9793b28 100644
  
        /*
         * Buggy BIOS check
+diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c
+index 6e36d0c..f319944 100644
+--- a/drivers/acpi/sbs.c
++++ b/drivers/acpi/sbs.c
+@@ -655,6 +655,9 @@ static int acpi_battery_read_alarm(struct seq_file *seq, void *offset)
+ static ssize_t
+ acpi_battery_write_alarm(struct file *file, const char __user * buffer,
++                       size_t count, loff_t * ppos) __size_overflow(3);
++static ssize_t
++acpi_battery_write_alarm(struct file *file, const char __user * buffer,
+                        size_t count, loff_t * ppos)
+ {
+       struct seq_file *seq = file->private_data;
 diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
-index 4a3a5ae..cbee192 100644
+index c04ad68..0b99473 100644
 --- a/drivers/ata/libata-core.c
 +++ b/drivers/ata/libata-core.c
 @@ -4733,7 +4733,7 @@ void ata_qc_free(struct ata_queued_cmd *qc)
@@ -25142,21 +27310,8 @@ index 4a3a5ae..cbee192 100644
        spin_unlock(&lock);
  }
  
-diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
-index ed16fbe..fc92cb8 100644
---- a/drivers/ata/libata-eh.c
-+++ b/drivers/ata/libata-eh.c
-@@ -2515,6 +2515,8 @@ void ata_eh_report(struct ata_port *ap)
- {
-       struct ata_link *link;
-+      pax_track_stack();
-+
-       ata_for_each_link(link, ap, HOST_FIRST)
-               ata_eh_link_report(link);
- }
 diff --git a/drivers/ata/pata_arasan_cf.c b/drivers/ata/pata_arasan_cf.c
-index 719bb73..79ce858 100644
+index e8574bb..f9f6a72 100644
 --- a/drivers/ata/pata_arasan_cf.c
 +++ b/drivers/ata/pata_arasan_cf.c
 @@ -862,7 +862,9 @@ static int __devinit arasan_cf_probe(struct platform_device *pdev)
@@ -25277,7 +27432,7 @@ index b22d71c..d6e1049 100644
        if (vcc->pop) vcc->pop(vcc,skb);
        else dev_kfree_skb(skb);
 diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
-index 9307141..d8521bf 100644
+index 956e9ac..133516d 100644
 --- a/drivers/atm/eni.c
 +++ b/drivers/atm/eni.c
 @@ -526,7 +526,7 @@ static int rx_aal0(struct atm_vcc *vcc)
@@ -25316,7 +27471,7 @@ index 9307141..d8521bf 100644
        }
        wake_up(&eni_dev->rx_wait);
  }
-@@ -1228,7 +1228,7 @@ static void dequeue_tx(struct atm_dev *dev)
+@@ -1229,7 +1229,7 @@ static void dequeue_tx(struct atm_dev *dev)
                    PCI_DMA_TODEVICE);
                if (vcc->pop) vcc->pop(vcc,skb);
                else dev_kfree_skb_irq(skb);
@@ -25325,7 +27480,7 @@ index 9307141..d8521bf 100644
                wake_up(&eni_dev->tx_wait);
  dma_complete++;
        }
-@@ -1568,7 +1568,7 @@ tx_complete++;
+@@ -1569,7 +1569,7 @@ tx_complete++;
  /*--------------------------------- entries ---------------------------------*/
  
  
@@ -25335,7 +27490,7 @@ index 9307141..d8521bf 100644
      "UTP", "05?", "06?", "07?", /*  4- 7 */
      "TAXI","09?", "10?", "11?", /*  8-11 */
 diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
-index 5072f8a..fa52520 100644
+index 5072f8a..fa52520d 100644
 --- a/drivers/atm/firestream.c
 +++ b/drivers/atm/firestream.c
 @@ -750,7 +750,7 @@ static void process_txdone_queue (struct fs_dev *dev, struct queue *q)
@@ -25539,7 +27694,7 @@ index b812103..e391a49 100644
        // free the skb
        hrz_kfree_skb (skb);
 diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c
-index db06f34..dcebb61 100644
+index 1c05212..c28e200 100644
 --- a/drivers/atm/idt77252.c
 +++ b/drivers/atm/idt77252.c
 @@ -812,7 +812,7 @@ drain_scq(struct idt77252_dev *card, struct vc_map *vc)
@@ -25697,10 +27852,10 @@ index db06f34..dcebb61 100644
        }
        atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
 diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
-index cb90f7a..bd33566 100644
+index 3d0c2b0..45441fa 100644
 --- a/drivers/atm/iphase.c
 +++ b/drivers/atm/iphase.c
-@@ -1121,7 +1121,7 @@ static int rx_pkt(struct atm_dev *dev)
+@@ -1146,7 +1146,7 @@ static int rx_pkt(struct atm_dev *dev)
        status = (u_short) (buf_desc_ptr->desc_mode);  
        if (status & (RX_CER | RX_PTE | RX_OFL))  
        {  
@@ -25709,7 +27864,7 @@ index cb90f7a..bd33566 100644
                IF_ERR(printk("IA: bad packet, dropping it");)  
                  if (status & RX_CER) { 
                      IF_ERR(printk(" cause: packet CRC error\n");)
-@@ -1144,7 +1144,7 @@ static int rx_pkt(struct atm_dev *dev)
+@@ -1169,7 +1169,7 @@ static int rx_pkt(struct atm_dev *dev)
        len = dma_addr - buf_addr;  
          if (len > iadev->rx_buf_sz) {
             printk("Over %d bytes sdu received, dropped!!!\n", iadev->rx_buf_sz);
@@ -25718,7 +27873,7 @@ index cb90f7a..bd33566 100644
           goto out_free_desc;
          }
                  
-@@ -1294,7 +1294,7 @@ static void rx_dle_intr(struct atm_dev *dev)
+@@ -1319,7 +1319,7 @@ static void rx_dle_intr(struct atm_dev *dev)
            ia_vcc = INPH_IA_VCC(vcc);
            if (ia_vcc == NULL)
            {
@@ -25727,7 +27882,7 @@ index cb90f7a..bd33566 100644
               dev_kfree_skb_any(skb);
               atm_return(vcc, atm_guess_pdu2truesize(len));
               goto INCR_DLE;
-@@ -1306,7 +1306,7 @@ static void rx_dle_intr(struct atm_dev *dev)
+@@ -1331,7 +1331,7 @@ static void rx_dle_intr(struct atm_dev *dev)
            if ((length > iadev->rx_buf_sz) || (length > 
                                (skb->len - sizeof(struct cpcs_trailer))))
            {
@@ -25736,7 +27891,7 @@ index cb90f7a..bd33566 100644
               IF_ERR(printk("rx_dle_intr: Bad  AAL5 trailer %d (skb len %d)", 
                                                              length, skb->len);)
               dev_kfree_skb_any(skb);
-@@ -1322,7 +1322,7 @@ static void rx_dle_intr(struct atm_dev *dev)
+@@ -1347,7 +1347,7 @@ static void rx_dle_intr(struct atm_dev *dev)
  
          IF_RX(printk("rx_dle_intr: skb push");)  
          vcc->push(vcc,skb);  
@@ -25745,7 +27900,7 @@ index cb90f7a..bd33566 100644
            iadev->rx_pkt_cnt++;
        }  
  INCR_DLE:
-@@ -2802,15 +2802,15 @@ static int ia_ioctl(struct atm_dev *dev, unsigned int cmd, void __user *arg)
+@@ -2827,15 +2827,15 @@ static int ia_ioctl(struct atm_dev *dev, unsigned int cmd, void __user *arg)
           {
               struct k_sonet_stats *stats;
               stats = &PRIV(_ia_dev[board])->sonet_stats;
@@ -25770,7 +27925,7 @@ index cb90f7a..bd33566 100644
           }
              ia_cmds.status = 0;
              break;
-@@ -2915,7 +2915,7 @@ static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb) {
+@@ -2940,7 +2940,7 @@ static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb) {
        if ((desc == 0) || (desc > iadev->num_tx_desc))  
        {  
                IF_ERR(printk(DEV_LABEL "invalid desc for send: %d\n", desc);) 
@@ -25779,7 +27934,7 @@ index cb90f7a..bd33566 100644
                if (vcc->pop)   
                    vcc->pop(vcc, skb);   
                else  
-@@ -3020,14 +3020,14 @@ static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb) {
+@@ -3045,14 +3045,14 @@ static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb) {
          ATM_DESC(skb) = vcc->vci;
          skb_queue_tail(&iadev->tx_dma_q, skb);
  
@@ -25797,7 +27952,7 @@ index cb90f7a..bd33566 100644
               vcc->tx_quota =  vcc->tx_quota * 3 / 4;
              printk("Tx1:  vcc->tx_quota = %d \n", (u32)vcc->tx_quota );
 diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c
-index e828c54..ae83976 100644
+index f556969..0da15eb 100644
 --- a/drivers/atm/lanai.c
 +++ b/drivers/atm/lanai.c
 @@ -1303,7 +1303,7 @@ static void lanai_send_one_aal5(struct lanai_dev *lanai,
@@ -25818,7 +27973,7 @@ index e828c54..ae83976 100644
      out:
        lvcc->rx.buf.ptr = end;
        cardvcc_write(lvcc, endptr, vcc_rxreadptr);
-@@ -1668,7 +1668,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
+@@ -1667,7 +1667,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
                DPRINTK("(itf %d) got RX service entry 0x%X for non-AAL5 "
                    "vcc %d\n", lanai->number, (unsigned int) s, vci);
                lanai->stats.service_rxnotaal5++;
@@ -25827,7 +27982,7 @@ index e828c54..ae83976 100644
                return 0;
        }
        if (likely(!(s & (SERVICE_TRASH | SERVICE_STREAM | SERVICE_CRCERR)))) {
-@@ -1680,7 +1680,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
+@@ -1679,7 +1679,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
                int bytes;
                read_unlock(&vcc_sklist_lock);
                DPRINTK("got trashed rx pdu on vci %d\n", vci);
@@ -25836,7 +27991,7 @@ index e828c54..ae83976 100644
                lvcc->stats.x.aal5.service_trash++;
                bytes = (SERVICE_GET_END(s) * 16) -
                    (((unsigned long) lvcc->rx.buf.ptr) -
-@@ -1692,7 +1692,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
+@@ -1691,7 +1691,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
        }
        if (s & SERVICE_STREAM) {
                read_unlock(&vcc_sklist_lock);
@@ -25845,7 +28000,7 @@ index e828c54..ae83976 100644
                lvcc->stats.x.aal5.service_stream++;
                printk(KERN_ERR DEV_LABEL "(itf %d): Got AAL5 stream "
                    "PDU on VCI %d!\n", lanai->number, vci);
-@@ -1700,7 +1700,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
+@@ -1699,7 +1699,7 @@ static int handle_service(struct lanai_dev *lanai, u32 s)
                return 0;
        }
        DPRINTK("got rx crc error on vci %d\n", vci);
@@ -26060,7 +28215,7 @@ index 1c70c45..300718d 100644
                }
  
 diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index 5d1d076..4f31f42 100644
+index 5d1d076..12fbca4 100644
 --- a/drivers/atm/solos-pci.c
 +++ b/drivers/atm/solos-pci.c
 @@ -714,7 +714,7 @@ void solos_bh(unsigned long card_arg)
@@ -26072,16 +28227,7 @@ index 5d1d076..4f31f42 100644
                                break;
  
                        case PKT_STATUS:
-@@ -899,6 +899,8 @@ static int print_buffer(struct sk_buff *buf)
-       char msg[500];
-       char item[10];
-+      pax_track_stack();
-+
-       len = buf->len;
-       for (i = 0; i < len; i++){
-               if(i % 8 == 0)
-@@ -1008,7 +1010,7 @@ static uint32_t fpga_tx(struct solos_card *card)
+@@ -1008,7 +1008,7 @@ static uint32_t fpga_tx(struct solos_card *card)
                        vcc = SKB_CB(oldskb)->vcc;
  
                        if (vcc) {
@@ -26198,10 +28344,10 @@ index a4760e0..51283cf 100644
                printk(KERN_INFO "devtmpfs: error mounting %i\n", err);
        else
 diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c
-index 84f7c7d..37cfd87 100644
+index caf995f..6f76697 100644
 --- a/drivers/base/power/wakeup.c
 +++ b/drivers/base/power/wakeup.c
-@@ -29,14 +29,14 @@ bool events_check_enabled;
+@@ -30,14 +30,14 @@ bool events_check_enabled;
   * They need to be modified together atomically, so it's better to use one
   * atomic variable to hold them both.
   */
@@ -26218,7 +28364,7 @@ index 84f7c7d..37cfd87 100644
  
        *cnt = (comb >> IN_PROGRESS_BITS);
        *inpr = comb & MAX_IN_PROGRESS;
-@@ -350,7 +350,7 @@ static void wakeup_source_activate(struct wakeup_source *ws)
+@@ -353,7 +353,7 @@ static void wakeup_source_activate(struct wakeup_source *ws)
        ws->last_time = ktime_get();
  
        /* Increment the counter of events in progress. */
@@ -26227,7 +28373,7 @@ index 84f7c7d..37cfd87 100644
  }
  
  /**
-@@ -440,7 +440,7 @@ static void wakeup_source_deactivate(struct wakeup_source *ws)
+@@ -443,7 +443,7 @@ static void wakeup_source_deactivate(struct wakeup_source *ws)
         * Increment the counter of registered wakeup events and decrement the
         * couter of wakeup events in progress simultaneously.
         */
@@ -26236,24 +28382,11 @@ index 84f7c7d..37cfd87 100644
  }
  
  /**
-diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
-index e086fbb..398e1fe 100644
---- a/drivers/block/DAC960.c
-+++ b/drivers/block/DAC960.c
-@@ -1980,6 +1980,8 @@ static bool DAC960_V1_ReadDeviceConfiguration(DAC960_Controller_T
-   unsigned long flags;
-   int Channel, TargetID;
-+  pax_track_stack();
-+
-   if (!init_dma_loaf(Controller->PCIDevice, &local_dma, 
-               DAC960_V1_MaxChannels*(sizeof(DAC960_V1_DCDB_T) +
-                       sizeof(DAC960_SCSI_Inquiry_T) +
 diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
-index c2f9b3e..5911988 100644
+index b0f553b..77b928b 100644
 --- a/drivers/block/cciss.c
 +++ b/drivers/block/cciss.c
-@@ -1179,6 +1179,8 @@ static int cciss_ioctl32_passthru(struct block_device *bdev, fmode_t mode,
+@@ -1198,6 +1198,8 @@ static int cciss_ioctl32_passthru(struct block_device *bdev, fmode_t mode,
        int err;
        u32 cp;
  
@@ -26262,7 +28395,7 @@ index c2f9b3e..5911988 100644
        err = 0;
        err |=
            copy_from_user(&arg64.LUN_info, &arg32->LUN_info,
-@@ -2986,7 +2988,7 @@ static void start_io(ctlr_info_t *h)
+@@ -3007,7 +3009,7 @@ static void start_io(ctlr_info_t *h)
        while (!list_empty(&h->reqQ)) {
                c = list_entry(h->reqQ.next, CommandList_struct, list);
                /* can't do anything if fifo is full */
@@ -26271,7 +28404,7 @@ index c2f9b3e..5911988 100644
                        dev_warn(&h->pdev->dev, "fifo full\n");
                        break;
                }
-@@ -2996,7 +2998,7 @@ static void start_io(ctlr_info_t *h)
+@@ -3017,7 +3019,7 @@ static void start_io(ctlr_info_t *h)
                h->Qdepth--;
  
                /* Tell the controller execute command */
@@ -26280,7 +28413,7 @@ index c2f9b3e..5911988 100644
  
                /* Put job onto the completed Q */
                addQ(&h->cmpQ, c);
-@@ -3422,17 +3424,17 @@ startio:
+@@ -3443,17 +3445,17 @@ startio:
  
  static inline unsigned long get_next_completion(ctlr_info_t *h)
  {
@@ -26301,7 +28434,7 @@ index c2f9b3e..5911988 100644
                (h->interrupts_enabled == 0));
  }
  
-@@ -3465,7 +3467,7 @@ static inline u32 next_command(ctlr_info_t *h)
+@@ -3486,7 +3488,7 @@ static inline u32 next_command(ctlr_info_t *h)
        u32 a;
  
        if (unlikely(!(h->transMethod & CFGTBL_Trans_Performant)))
@@ -26310,7 +28443,7 @@ index c2f9b3e..5911988 100644
  
        if ((*(h->reply_pool_head) & 1) == (h->reply_pool_wraparound)) {
                a = *(h->reply_pool_head); /* Next cmd in ring buffer */
-@@ -4020,7 +4022,7 @@ static void __devinit cciss_put_controller_into_performant_mode(ctlr_info_t *h)
+@@ -4044,7 +4046,7 @@ static void __devinit cciss_put_controller_into_performant_mode(ctlr_info_t *h)
                trans_support & CFGTBL_Trans_use_short_tags);
  
        /* Change the access methods to the performant access methods */
@@ -26319,7 +28452,7 @@ index c2f9b3e..5911988 100644
        h->transMethod = CFGTBL_Trans_Performant;
  
        return;
-@@ -4292,7 +4294,7 @@ static int __devinit cciss_pci_init(ctlr_info_t *h)
+@@ -4316,7 +4318,7 @@ static int __devinit cciss_pci_init(ctlr_info_t *h)
        if (prod_index < 0)
                return -ENODEV;
        h->product_name = products[prod_index].product_name;
@@ -26328,7 +28461,7 @@ index c2f9b3e..5911988 100644
  
        if (cciss_board_disabled(h)) {
                dev_warn(&h->pdev->dev, "controller appears to be disabled\n");
-@@ -5009,7 +5011,7 @@ reinit_after_soft_reset:
+@@ -5041,7 +5043,7 @@ reinit_after_soft_reset:
        }
  
        /* make sure the board interrupts are off */
@@ -26337,16 +28470,16 @@ index c2f9b3e..5911988 100644
        rc = cciss_request_irq(h, do_cciss_msix_intr, do_cciss_intx);
        if (rc)
                goto clean2;
-@@ -5061,7 +5063,7 @@ reinit_after_soft_reset:
+@@ -5093,7 +5095,7 @@ reinit_after_soft_reset:
                 * fake ones to scoop up any residual completions.
                 */
                spin_lock_irqsave(&h->lock, flags);
 -              h->access.set_intr_mask(h, CCISS_INTR_OFF);
 +              h->access->set_intr_mask(h, CCISS_INTR_OFF);
                spin_unlock_irqrestore(&h->lock, flags);
-               free_irq(h->intr[PERF_MODE_INT], h);
+               free_irq(h->intr[h->intr_mode], h);
                rc = cciss_request_irq(h, cciss_msix_discard_completions,
-@@ -5081,9 +5083,9 @@ reinit_after_soft_reset:
+@@ -5113,9 +5115,9 @@ reinit_after_soft_reset:
                dev_info(&h->pdev->dev, "Board READY.\n");
                dev_info(&h->pdev->dev,
                        "Waiting for stale completions to drain.\n");
@@ -26358,7 +28491,7 @@ index c2f9b3e..5911988 100644
  
                rc = controller_reset_failed(h->cfgtable);
                if (rc)
-@@ -5106,7 +5108,7 @@ reinit_after_soft_reset:
+@@ -5138,7 +5140,7 @@ reinit_after_soft_reset:
        cciss_scsi_setup(h);
  
        /* Turn the interrupts on so we can service requests */
@@ -26367,20 +28500,20 @@ index c2f9b3e..5911988 100644
  
        /* Get the firmware version */
        inq_buff = kzalloc(sizeof(InquiryData_struct), GFP_KERNEL);
-@@ -5178,7 +5180,7 @@ static void cciss_shutdown(struct pci_dev *pdev)
+@@ -5211,7 +5213,7 @@ static void cciss_shutdown(struct pci_dev *pdev)
        kfree(flush_buf);
        if (return_code != IO_OK)
                dev_warn(&h->pdev->dev, "Error flushing cache\n");
 -      h->access.set_intr_mask(h, CCISS_INTR_OFF);
 +      h->access->set_intr_mask(h, CCISS_INTR_OFF);
-       free_irq(h->intr[PERF_MODE_INT], h);
+       free_irq(h->intr[h->intr_mode], h);
  }
  
 diff --git a/drivers/block/cciss.h b/drivers/block/cciss.h
-index c049548..a09cb6e 100644
+index 7fda30e..eb5dfe0 100644
 --- a/drivers/block/cciss.h
 +++ b/drivers/block/cciss.h
-@@ -100,7 +100,7 @@ struct ctlr_info
+@@ -101,7 +101,7 @@ struct ctlr_info
        /* information about each logical volume */
        drive_info_struct *drv[CISS_MAX_LUN];
  
@@ -26390,7 +28523,7 @@ index c049548..a09cb6e 100644
        /* queue and queue Info */ 
        struct list_head reqQ;
 diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
-index b2fceb5..87fec83 100644
+index 9125bbe..eede5c8 100644
 --- a/drivers/block/cpqarray.c
 +++ b/drivers/block/cpqarray.c
 @@ -404,7 +404,7 @@ static int __devinit cpqarray_register_ctlr( int i, struct pci_dev *pdev)
@@ -26429,16 +28562,7 @@ index b2fceb5..87fec83 100644
                hba[ctlr]->ctlr = ctlr;
                hba[ctlr]->board_id = board_id;
                hba[ctlr]->pci_dev = NULL; /* not PCI */
-@@ -911,6 +911,8 @@ static void do_ida_request(struct request_queue *q)
-       struct scatterlist tmp_sg[SG_MAX];
-       int i, dir, seg;
-+      pax_track_stack();
-+
- queue_next:
-       creq = blk_peek_request(q);
-       if (!creq)
-@@ -980,7 +982,7 @@ static void start_io(ctlr_info_t *h)
+@@ -980,7 +980,7 @@ static void start_io(ctlr_info_t *h)
  
        while((c = h->reqQ) != NULL) {
                /* Can't do anything if we're busy */
@@ -26447,7 +28571,7 @@ index b2fceb5..87fec83 100644
                        return;
  
                /* Get the first entry from the request Q */
-@@ -988,7 +990,7 @@ static void start_io(ctlr_info_t *h)
+@@ -988,7 +988,7 @@ static void start_io(ctlr_info_t *h)
                h->Qdepth--;
        
                /* Tell the controller to do our bidding */
@@ -26456,7 +28580,7 @@ index b2fceb5..87fec83 100644
  
                /* Get onto the completion Q */
                addQ(&h->cmpQ, c);
-@@ -1050,7 +1052,7 @@ static irqreturn_t do_ida_intr(int irq, void *dev_id)
+@@ -1050,7 +1050,7 @@ static irqreturn_t do_ida_intr(int irq, void *dev_id)
        unsigned long flags;
        __u32 a,a1;
  
@@ -26465,7 +28589,7 @@ index b2fceb5..87fec83 100644
        /* Is this interrupt for us? */
        if (istat == 0)
                return IRQ_NONE;
-@@ -1061,7 +1063,7 @@ static irqreturn_t do_ida_intr(int irq, void *dev_id)
+@@ -1061,7 +1061,7 @@ static irqreturn_t do_ida_intr(int irq, void *dev_id)
         */
        spin_lock_irqsave(IDA_LOCK(h->ctlr), flags);
        if (istat & FIFO_NOT_EMPTY) {
@@ -26474,7 +28598,7 @@ index b2fceb5..87fec83 100644
                        a1 = a; a &= ~3;
                        if ((c = h->cmpQ) == NULL)
                        {  
-@@ -1449,11 +1451,11 @@ static int sendcmd(
+@@ -1449,11 +1449,11 @@ static int sendcmd(
        /*
         * Disable interrupt
         */
@@ -26488,7 +28612,7 @@ index b2fceb5..87fec83 100644
                if (temp != 0) {
                        break;
                }
-@@ -1466,7 +1468,7 @@ DBG(
+@@ -1466,7 +1466,7 @@ DBG(
        /*
         * Send the cmd
         */
@@ -26497,7 +28621,7 @@ index b2fceb5..87fec83 100644
        complete = pollcomplete(ctlr);
        
        pci_unmap_single(info_p->pci_dev, (dma_addr_t) c->req.sg[0].addr, 
-@@ -1549,9 +1551,9 @@ static int revalidate_allvol(ctlr_info_t *host)
+@@ -1549,9 +1549,9 @@ static int revalidate_allvol(ctlr_info_t *host)
         * we check the new geometry.  Then turn interrupts back on when
         * we're done.
         */
@@ -26509,7 +28633,7 @@ index b2fceb5..87fec83 100644
  
        for(i=0; i<NWD; i++) {
                struct gendisk *disk = ida_gendisk[ctlr][i];
-@@ -1591,7 +1593,7 @@ static int pollcomplete(int ctlr)
+@@ -1591,7 +1591,7 @@ static int pollcomplete(int ctlr)
        /* Wait (up to 2 seconds) for a command to complete */
  
        for (i = 200000; i > 0; i--) {
@@ -26532,10 +28656,10 @@ index be73e9d..7fbf140 100644
        cmdlist_t *reqQ;
        cmdlist_t *cmpQ;
 diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
-index ef2ceed..c9cb18e 100644
+index 9cf2035..bffca95 100644
 --- a/drivers/block/drbd/drbd_int.h
 +++ b/drivers/block/drbd/drbd_int.h
-@@ -737,7 +737,7 @@ struct drbd_request;
+@@ -736,7 +736,7 @@ struct drbd_request;
  struct drbd_epoch {
        struct list_head list;
        unsigned int barrier_nr;
@@ -26544,7 +28668,7 @@ index ef2ceed..c9cb18e 100644
        atomic_t active;     /* increased on every req. added, and dec on every finished. */
        unsigned long flags;
  };
-@@ -1109,7 +1109,7 @@ struct drbd_conf {
+@@ -1108,7 +1108,7 @@ struct drbd_conf {
        void *int_dig_in;
        void *int_dig_vv;
        wait_queue_head_t seq_wait;
@@ -26553,7 +28677,7 @@ index ef2ceed..c9cb18e 100644
        unsigned int peer_seq;
        spinlock_t peer_seq_lock;
        unsigned int minor;
-@@ -1618,30 +1618,30 @@ static inline int drbd_setsockopt(struct socket *sock, int level, int optname,
+@@ -1617,30 +1617,30 @@ static inline int drbd_setsockopt(struct socket *sock, int level, int optname,
  
  static inline void drbd_tcp_cork(struct socket *sock)
  {
@@ -26635,7 +28759,7 @@ index 0358e55..bc33689 100644
        mdev->bm_writ_cnt  =
        mdev->read_cnt     =
 diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c
-index 0feab26..5d9b3dd 100644
+index af2a250..219c74b 100644
 --- a/drivers/block/drbd/drbd_nl.c
 +++ b/drivers/block/drbd/drbd_nl.c
 @@ -2359,7 +2359,7 @@ static void drbd_connector_callback(struct cn_msg *req, struct netlink_skb_parms
@@ -26773,10 +28897,10 @@ index 43beaca..4a5b1dd 100644
  }
  
 diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 4720c7a..2c49af1 100644
+index 1e888c9..05cf1b0 100644
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
-@@ -283,7 +283,7 @@ static int __do_lo_send_write(struct file *file,
+@@ -227,7 +227,7 @@ static int __do_lo_send_write(struct file *file,
        mm_segment_t old_fs = get_fs();
  
        set_fs(get_ds());
@@ -26785,30 +28909,8 @@ index 4720c7a..2c49af1 100644
        set_fs(old_fs);
        if (likely(bw == len))
                return 0;
-diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
-index f533f33..6177bcb 100644
---- a/drivers/block/nbd.c
-+++ b/drivers/block/nbd.c
-@@ -157,6 +157,8 @@ static int sock_xmit(struct nbd_device *lo, int send, void *buf, int size,
-       struct kvec iov;
-       sigset_t blocked, oldset;
-+      pax_track_stack();
-+
-       if (unlikely(!sock)) {
-               printk(KERN_ERR "%s: Attempted %s on closed socket in sock_xmit\n",
-                      lo->disk->disk_name, (send ? "send" : "recv"));
-@@ -572,6 +574,8 @@ static void do_nbd_request(struct request_queue *q)
- static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *lo,
-                      unsigned int cmd, unsigned long arg)
- {
-+      pax_track_stack();
-+
-       switch (cmd) {
-       case NBD_DISCONNECT: {
-               struct request sreq;
 diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
-index 423fd56..06d3be0 100644
+index 4364303..9adf4ee 100644
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
 @@ -8,7 +8,8 @@ source "drivers/tty/Kconfig"
@@ -26913,7 +29015,7 @@ index 0833896..cccce52 100644
  {
        struct hpet_timer __iomem *timer;
 diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
-index 58c0e63..25aed94 100644
+index 58c0e63..46c16bf 100644
 --- a/drivers/char/ipmi/ipmi_msghandler.c
 +++ b/drivers/char/ipmi/ipmi_msghandler.c
 @@ -415,7 +415,7 @@ struct ipmi_smi {
@@ -26946,15 +29048,6 @@ index 58c0e63..25aed94 100644
  
        intf->proc_dir = NULL;
  
-@@ -4220,6 +4220,8 @@ static void send_panic_events(char *str)
-       struct ipmi_smi_msg               smi_msg;
-       struct ipmi_recv_msg              recv_msg;
-+      pax_track_stack();
-+
-       si = (struct ipmi_system_interface_addr *) &addr;
-       si->addr_type = IPMI_SYSTEM_INTERFACE_ADDR_TYPE;
-       si->channel = IPMI_BMC_CHANNEL;
 diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
 index 9397ab4..d01bee1 100644
 --- a/drivers/char/ipmi/ipmi_si_intf.c
@@ -27003,7 +29096,7 @@ index 1aeaaba..e018570 100644
         .part_num = MBCS_PART_NUM,
         .mfg_num = MBCS_MFG_NUM,
 diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 8fc04b4..cebdeec 100644
+index 1451790..f705c30 100644
 --- a/drivers/char/mem.c
 +++ b/drivers/char/mem.c
 @@ -18,6 +18,7 @@
@@ -27014,7 +29107,7 @@ index 8fc04b4..cebdeec 100644
  #include <linux/ptrace.h>
  #include <linux/device.h>
  #include <linux/highmem.h>
-@@ -34,6 +35,10 @@
+@@ -35,6 +36,10 @@
  # include <linux/efi.h>
  #endif
  
@@ -27025,7 +29118,7 @@ index 8fc04b4..cebdeec 100644
  static inline unsigned long size_inside_page(unsigned long start,
                                             unsigned long size)
  {
-@@ -65,9 +70,13 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size)
+@@ -66,9 +71,13 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size)
  
        while (cursor < to) {
                if (!devmem_is_allowed(pfn)) {
@@ -27039,7 +29132,7 @@ index 8fc04b4..cebdeec 100644
                        return 0;
                }
                cursor += PAGE_SIZE;
-@@ -75,6 +84,11 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size)
+@@ -76,6 +85,11 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size)
        }
        return 1;
  }
@@ -27051,7 +29144,7 @@ index 8fc04b4..cebdeec 100644
  #else
  static inline int range_is_allowed(unsigned long pfn, unsigned long size)
  {
-@@ -117,6 +131,7 @@ static ssize_t read_mem(struct file *file, char __user *buf,
+@@ -118,6 +132,7 @@ static ssize_t read_mem(struct file *file, char __user *buf,
  
        while (count > 0) {
                unsigned long remaining;
@@ -27059,7 +29152,7 @@ index 8fc04b4..cebdeec 100644
  
                sz = size_inside_page(p, count);
  
-@@ -132,7 +147,23 @@ static ssize_t read_mem(struct file *file, char __user *buf,
+@@ -133,7 +148,23 @@ static ssize_t read_mem(struct file *file, char __user *buf,
                if (!ptr)
                        return -EFAULT;
  
@@ -27084,7 +29177,7 @@ index 8fc04b4..cebdeec 100644
                unxlate_dev_mem_ptr(p, ptr);
                if (remaining)
                        return -EFAULT;
-@@ -395,9 +426,8 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
+@@ -396,9 +427,8 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
                         size_t count, loff_t *ppos)
  {
        unsigned long p = *ppos;
@@ -27095,7 +29188,7 @@ index 8fc04b4..cebdeec 100644
  
        read = 0;
        if (p < (unsigned long) high_memory) {
-@@ -419,6 +449,8 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
+@@ -420,6 +450,8 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
                }
  #endif
                while (low_count > 0) {
@@ -27104,7 +29197,7 @@ index 8fc04b4..cebdeec 100644
                        sz = size_inside_page(p, low_count);
  
                        /*
-@@ -428,7 +460,22 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
+@@ -429,7 +461,22 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
                         */
                        kbuf = xlate_dev_kmem_ptr((char *)p);
  
@@ -27128,7 +29221,7 @@ index 8fc04b4..cebdeec 100644
                                return -EFAULT;
                        buf += sz;
                        p += sz;
-@@ -866,6 +913,9 @@ static const struct memdev {
+@@ -867,6 +914,9 @@ static const struct memdev {
  #ifdef CONFIG_CRASH_DUMP
        [12] = { "oldmem", 0, &oldmem_fops, NULL },
  #endif
@@ -27152,7 +29245,7 @@ index da3cfee..a5a6606 100644
  
        *ppos = i;
 diff --git a/drivers/char/random.c b/drivers/char/random.c
-index c35a785..6d82202 100644
+index 6035ab8..bdfe4fd 100644
 --- a/drivers/char/random.c
 +++ b/drivers/char/random.c
 @@ -261,8 +261,13 @@
@@ -27196,7 +29289,7 @@ index c35a785..6d82202 100644
                        ret = -EFAULT;
                        break;
                }
-@@ -1214,7 +1226,7 @@ EXPORT_SYMBOL(generate_random_uuid);
+@@ -1228,7 +1240,7 @@ EXPORT_SYMBOL(generate_random_uuid);
  #include <linux/sysctl.h>
  
  static int min_read_thresh = 8, min_write_thresh;
@@ -27248,7 +29341,7 @@ index 1ee8ce7..b778bef 100644
  
        return 0;
 diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
-index 9ca5c02..7ce352c 100644
+index 361a1df..2471eee 100644
 --- a/drivers/char/tpm/tpm.c
 +++ b/drivers/char/tpm/tpm.c
 @@ -414,7 +414,7 @@ static ssize_t tpm_transmit(struct tpm_chip *chip, const char *buf,
@@ -27260,15 +29353,6 @@ index 9ca5c02..7ce352c 100644
                        dev_err(chip->dev, "Operation Canceled\n");
                        rc = -ECANCELED;
                        goto out;
-@@ -862,6 +862,8 @@ ssize_t tpm_show_pubek(struct device *dev, struct device_attribute *attr,
-       struct tpm_chip *chip = dev_get_drvdata(dev);
-+      pax_track_stack();
-+
-       tpm_cmd.header.in = tpm_readpubek_header;
-       err = transmit_cmd(chip, &tpm_cmd, READ_PUBEK_RESULT_SIZE,
-                       "attempting to read the PUBEK");
 diff --git a/drivers/char/tpm/tpm_bios.c b/drivers/char/tpm/tpm_bios.c
 index 0636520..169c1d0 100644
 --- a/drivers/char/tpm/tpm_bios.c
@@ -27317,10 +29401,10 @@ index 0636520..169c1d0 100644
        acpi_os_unmap_memory(virt, len);
        return 0;
 diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
-index fb68b12..0f6c6ca 100644
+index 8e3c46d..c139b99 100644
 --- a/drivers/char/virtio_console.c
 +++ b/drivers/char/virtio_console.c
-@@ -555,7 +555,7 @@ static ssize_t fill_readbuf(struct port *port, char *out_buf, size_t out_count,
+@@ -563,7 +563,7 @@ static ssize_t fill_readbuf(struct port *port, char *out_buf, size_t out_count,
        if (to_user) {
                ssize_t ret;
  
@@ -27329,7 +29413,7 @@ index fb68b12..0f6c6ca 100644
                if (ret)
                        return -EFAULT;
        } else {
-@@ -654,7 +654,7 @@ static ssize_t port_fops_read(struct file *filp, char __user *ubuf,
+@@ -662,7 +662,7 @@ static ssize_t port_fops_read(struct file *filp, char __user *ubuf,
        if (!port_has_data(port) && !port->host_connected)
                return 0;
  
@@ -27338,37 +29422,24 @@ index fb68b12..0f6c6ca 100644
  }
  
  static ssize_t port_fops_write(struct file *filp, const char __user *ubuf,
-diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c
-index a84250a..68c725e 100644
---- a/drivers/crypto/hifn_795x.c
-+++ b/drivers/crypto/hifn_795x.c
-@@ -1655,6 +1655,8 @@ static int hifn_test(struct hifn_device *dev, int encdec, u8 snum)
-               0xCA, 0x34, 0x2B, 0x2E};
-       struct scatterlist sg;
-+      pax_track_stack();
-+
-       memset(src, 0, sizeof(src));
-       memset(ctx.key, 0, sizeof(ctx.key));
-diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c
-index db33d30..7823369 100644
---- a/drivers/crypto/padlock-aes.c
-+++ b/drivers/crypto/padlock-aes.c
-@@ -109,6 +109,8 @@ static int aes_set_key(struct crypto_tfm *tfm, const u8 *in_key,
-       struct crypto_aes_ctx gen_aes;
-       int cpu;
+diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
+index eb1d864..39ee5a7 100644
+--- a/drivers/dma/dmatest.c
++++ b/drivers/dma/dmatest.c
+@@ -591,7 +591,7 @@ static int dmatest_add_channel(struct dma_chan *chan)
+       }
+       if (dma_has_cap(DMA_PQ, dma_dev->cap_mask)) {
+               cnt = dmatest_add_threads(dtc, DMA_PQ);
+-              thread_count += cnt > 0 ?: 0;
++              thread_count += cnt > 0 ? cnt : 0;
+       }
  
-+      pax_track_stack();
-+
-       if (key_len % 8) {
-               *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
-               return -EINVAL;
+       pr_info("dmatest: Started %u threads using %s\n",
 diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
-index 9a8bebc..b1e4989 100644
+index c9eee6d..f9d5280 100644
 --- a/drivers/edac/amd64_edac.c
 +++ b/drivers/edac/amd64_edac.c
-@@ -2670,7 +2670,7 @@ static void __devexit amd64_remove_one_instance(struct pci_dev *pdev)
+@@ -2685,7 +2685,7 @@ static void __devexit amd64_remove_one_instance(struct pci_dev *pdev)
   * PCI core identifies what devices are on a system during boot, and then
   * inquiry this table to see if this driver is for a given device found.
   */
@@ -27569,10 +29640,10 @@ index 74d6ec34..baff517 100644
        {0,}                    /* 0 terminated list. */
  };
 diff --git a/drivers/edac/i7300_edac.c b/drivers/edac/i7300_edac.c
-index a76fe83..15479e6 100644
+index 6104dba..e7ea8e1 100644
 --- a/drivers/edac/i7300_edac.c
 +++ b/drivers/edac/i7300_edac.c
-@@ -1191,7 +1191,7 @@ static void __devexit i7300_remove_one(struct pci_dev *pdev)
+@@ -1192,7 +1192,7 @@ static void __devexit i7300_remove_one(struct pci_dev *pdev)
   *
   * Has only 8086:360c PCI ID
   */
@@ -27582,10 +29653,10 @@ index a76fe83..15479e6 100644
        {0,}                    /* 0 terminated list. */
  };
 diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
-index f6cf448..3f612e9 100644
+index 70ad892..178943c 100644
 --- a/drivers/edac/i7core_edac.c
 +++ b/drivers/edac/i7core_edac.c
-@@ -359,7 +359,7 @@ static const struct pci_id_table pci_dev_table[] = {
+@@ -391,7 +391,7 @@ static const struct pci_id_table pci_dev_table[] = {
  /*
   *    pci_device_id   table for which devices we are looking for
   */
@@ -27647,7 +29718,7 @@ index a5da732..983363b 100644
                PCI_VEND_DEV(INTEL, 82975_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
                I82975X
 diff --git a/drivers/edac/mce_amd.h b/drivers/edac/mce_amd.h
-index 795a320..3bbc3d3 100644
+index 0106747..0b40417 100644
 --- a/drivers/edac/mce_amd.h
 +++ b/drivers/edac/mce_amd.h
 @@ -83,7 +83,7 @@ struct amd_decoder_ops {
@@ -27658,7 +29729,7 @@ index 795a320..3bbc3d3 100644
 +} __no_const;
  
  void amd_report_gart_errors(bool);
- void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32));
+ void amd_register_ecc_decoder(void (*f)(int, struct mce *));
 diff --git a/drivers/edac/r82600_edac.c b/drivers/edac/r82600_edac.c
 index b153674..ad2ba9b 100644
 --- a/drivers/edac/r82600_edac.c
@@ -27672,6 +29743,19 @@ index b153674..ad2ba9b 100644
        {
         PCI_DEVICE(PCI_VENDOR_ID_RADISYS, R82600_BRIDGE_ID)
         },
+diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
+index 7a402bf..af0b211 100644
+--- a/drivers/edac/sb_edac.c
++++ b/drivers/edac/sb_edac.c
+@@ -367,7 +367,7 @@ static const struct pci_id_table pci_dev_descr_sbridge_table[] = {
+ /*
+  *    pci_device_id   table for which devices we are looking for
+  */
+-static const struct pci_device_id sbridge_pci_tbl[] __devinitdata = {
++static const struct pci_device_id sbridge_pci_tbl[] __devinitconst = {
+       {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TA)},
+       {0,}                    /* 0 terminated list. */
+ };
 diff --git a/drivers/edac/x38_edac.c b/drivers/edac/x38_edac.c
 index b6f47de..c5acf3a 100644
 --- a/drivers/edac/x38_edac.c
@@ -27713,7 +29797,7 @@ index 4799393..37bd3ab 100644
  
        r  = kmalloc(sizeof(*r), GFP_KERNEL);
 diff --git a/drivers/firewire/core-transaction.c b/drivers/firewire/core-transaction.c
-index 334b82a..ea5261d 100644
+index 855ab3f..11f4bbd 100644
 --- a/drivers/firewire/core-transaction.c
 +++ b/drivers/firewire/core-transaction.c
 @@ -37,6 +37,7 @@
@@ -27724,15 +29808,6 @@ index 334b82a..ea5261d 100644
  
  #include <asm/byteorder.h>
  
-@@ -422,6 +423,8 @@ int fw_run_transaction(struct fw_card *card, int tcode, int destination_id,
-       struct transaction_callback_data d;
-       struct fw_transaction t;
-+      pax_track_stack();
-+
-       init_timer_on_stack(&t.split_timeout_timer);
-       init_completion(&d.done);
-       d.payload = payload;
 diff --git a/drivers/firewire/core.h b/drivers/firewire/core.h
 index b45be57..5fad18b 100644
 --- a/drivers/firewire/core.h
@@ -27746,7 +29821,7 @@ index b45be57..5fad18b 100644
  void fw_card_initialize(struct fw_card *card,
                const struct fw_card_driver *driver, struct device *device);
 diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
-index bcb1126..2cc2121 100644
+index 153980b..4b4d046 100644
 --- a/drivers/firmware/dmi_scan.c
 +++ b/drivers/firmware/dmi_scan.c
 @@ -449,11 +449,6 @@ void __init dmi_scan_machine(void)
@@ -27761,7 +29836,7 @@ index bcb1126..2cc2121 100644
                p = dmi_ioremap(0xF0000, 0x10000);
                if (p == NULL)
                        goto error;
-@@ -725,7 +720,7 @@ int dmi_walk(void (*decode)(const struct dmi_header *, void *),
+@@ -723,7 +718,7 @@ int dmi_walk(void (*decode)(const struct dmi_header *, void *),
        if (buf == NULL)
                return -1;
  
@@ -27784,10 +29859,10 @@ index 98723cb..10ca85b 100644
        return -EINVAL;
  }
 diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
-index 2410c40..2d03563 100644
+index 8323fc3..5c1d755 100644
 --- a/drivers/gpu/drm/drm_crtc.c
 +++ b/drivers/gpu/drm/drm_crtc.c
-@@ -1374,7 +1374,7 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
+@@ -1379,7 +1379,7 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
         */
        if ((out_resp->count_modes >= mode_count) && mode_count) {
                copied = 0;
@@ -27796,7 +29871,7 @@ index 2410c40..2d03563 100644
                list_for_each_entry(mode, &connector->modes, head) {
                        drm_crtc_convert_to_umode(&u_mode, mode);
                        if (copy_to_user(mode_ptr + copied,
-@@ -1389,8 +1389,8 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
+@@ -1394,8 +1394,8 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
  
        if ((out_resp->count_props >= props_count) && props_count) {
                copied = 0;
@@ -27807,7 +29882,7 @@ index 2410c40..2d03563 100644
                for (i = 0; i < DRM_CONNECTOR_MAX_PROPERTY; i++) {
                        if (connector->property_ids[i] != 0) {
                                if (put_user(connector->property_ids[i],
-@@ -1412,7 +1412,7 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
+@@ -1417,7 +1417,7 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
  
        if ((out_resp->count_encoders >= encoders_count) && encoders_count) {
                copied = 0;
@@ -27816,7 +29891,7 @@ index 2410c40..2d03563 100644
                for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) {
                        if (connector->encoder_ids[i] != 0) {
                                if (put_user(connector->encoder_ids[i],
-@@ -1571,7 +1571,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
+@@ -1576,7 +1576,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
                }
  
                for (i = 0; i < crtc_req->count_connectors; i++) {
@@ -27825,7 +29900,7 @@ index 2410c40..2d03563 100644
                        if (get_user(out_id, &set_connectors_ptr[i])) {
                                ret = -EFAULT;
                                goto out;
-@@ -1852,7 +1852,7 @@ int drm_mode_dirtyfb_ioctl(struct drm_device *dev,
+@@ -1857,7 +1857,7 @@ int drm_mode_dirtyfb_ioctl(struct drm_device *dev,
        fb = obj_to_fb(obj);
  
        num_clips = r->num_clips;
@@ -27834,7 +29909,7 @@ index 2410c40..2d03563 100644
  
        if (!num_clips != !clips_ptr) {
                ret = -EINVAL;
-@@ -2276,7 +2276,7 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev,
+@@ -2283,7 +2283,7 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev,
        out_resp->flags = property->flags;
  
        if ((out_resp->count_values >= value_count) && value_count) {
@@ -27843,7 +29918,7 @@ index 2410c40..2d03563 100644
                for (i = 0; i < value_count; i++) {
                        if (copy_to_user(values_ptr + i, &property->values[i], sizeof(uint64_t))) {
                                ret = -EFAULT;
-@@ -2289,7 +2289,7 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev,
+@@ -2296,7 +2296,7 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev,
        if (property->flags & DRM_MODE_PROP_ENUM) {
                if ((out_resp->count_enum_blobs >= enum_count) && enum_count) {
                        copied = 0;
@@ -27852,7 +29927,7 @@ index 2410c40..2d03563 100644
                        list_for_each_entry(prop_enum, &property->enum_blob_list, head) {
  
                                if (copy_to_user(&enum_ptr[copied].value, &prop_enum->value, sizeof(uint64_t))) {
-@@ -2312,7 +2312,7 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev,
+@@ -2319,7 +2319,7 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev,
                if ((out_resp->count_enum_blobs >= blob_count) && blob_count) {
                        copied = 0;
                        blob_id_ptr = (uint32_t *)(unsigned long)out_resp->enum_blob_ptr;
@@ -27861,7 +29936,7 @@ index 2410c40..2d03563 100644
  
                        list_for_each_entry(prop_blob, &property->enum_blob_list, head) {
                                if (put_user(prop_blob->base.id, blob_id_ptr + copied)) {
-@@ -2373,7 +2373,7 @@ int drm_mode_getblob_ioctl(struct drm_device *dev,
+@@ -2380,7 +2380,7 @@ int drm_mode_getblob_ioctl(struct drm_device *dev,
        struct drm_mode_get_blob *out_resp = data;
        struct drm_property_blob *blob;
        int ret = 0;
@@ -27870,7 +29945,7 @@ index 2410c40..2d03563 100644
  
        if (!drm_core_check_feature(dev, DRIVER_MODESET))
                return -EINVAL;
-@@ -2387,7 +2387,7 @@ int drm_mode_getblob_ioctl(struct drm_device *dev,
+@@ -2394,7 +2394,7 @@ int drm_mode_getblob_ioctl(struct drm_device *dev,
        blob = obj_to_blob(obj);
  
        if (out_resp->length == blob->length) {
@@ -27880,10 +29955,10 @@ index 2410c40..2d03563 100644
                        ret = -EFAULT;
                        goto done;
 diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
-index f88a9b2..8f4078f 100644
+index d2619d7..bd6bd00 100644
 --- a/drivers/gpu/drm/drm_crtc_helper.c
 +++ b/drivers/gpu/drm/drm_crtc_helper.c
-@@ -276,7 +276,7 @@ static bool drm_encoder_crtc_ok(struct drm_encoder *encoder,
+@@ -279,7 +279,7 @@ static bool drm_encoder_crtc_ok(struct drm_encoder *encoder,
        struct drm_crtc *tmp;
        int crtc_mask = 1;
  
@@ -27892,20 +29967,11 @@ index f88a9b2..8f4078f 100644
  
        dev = crtc->dev;
  
-@@ -343,6 +343,8 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
-       struct drm_encoder *encoder;
-       bool ret = true;
-+      pax_track_stack();
-+
-       crtc->enabled = drm_helper_crtc_in_use(crtc);
-       if (!crtc->enabled)
-               return true;
 diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
-index 93a112d..c8b065d 100644
+index 40c187c..5746164 100644
 --- a/drivers/gpu/drm/drm_drv.c
 +++ b/drivers/gpu/drm/drm_drv.c
-@@ -307,7 +307,7 @@ module_exit(drm_core_exit);
+@@ -308,7 +308,7 @@ module_exit(drm_core_exit);
  /**
   * Copy and IOCTL return string to user space
   */
@@ -27914,7 +29980,7 @@ index 93a112d..c8b065d 100644
  {
        int len;
  
-@@ -386,7 +386,7 @@ long drm_ioctl(struct file *filp,
+@@ -387,7 +387,7 @@ long drm_ioctl(struct file *filp,
  
        dev = file_priv->minor->dev;
        atomic_inc(&dev->ioctl_count);
@@ -27924,10 +29990,10 @@ index 93a112d..c8b065d 100644
  
        DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n",
 diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
-index 2ec7d48..be14bb1 100644
+index 828bf65..cdaa0e9 100644
 --- a/drivers/gpu/drm/drm_fops.c
 +++ b/drivers/gpu/drm/drm_fops.c
-@@ -70,7 +70,7 @@ static int drm_setup(struct drm_device * dev)
+@@ -71,7 +71,7 @@ static int drm_setup(struct drm_device * dev)
        }
  
        for (i = 0; i < ARRAY_SIZE(dev->counts); i++)
@@ -27936,7 +30002,7 @@ index 2ec7d48..be14bb1 100644
  
        dev->sigdata.lock = NULL;
  
-@@ -134,8 +134,8 @@ int drm_open(struct inode *inode, struct file *filp)
+@@ -135,8 +135,8 @@ int drm_open(struct inode *inode, struct file *filp)
  
        retcode = drm_open_helper(inode, filp, dev);
        if (!retcode) {
@@ -27947,7 +30013,7 @@ index 2ec7d48..be14bb1 100644
                        retcode = drm_setup(dev);
        }
        if (!retcode) {
-@@ -472,7 +472,7 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -473,7 +473,7 @@ int drm_release(struct inode *inode, struct file *filp)
  
        mutex_lock(&drm_global_mutex);
  
@@ -27956,16 +30022,16 @@ index 2ec7d48..be14bb1 100644
  
        if (dev->driver->preclose)
                dev->driver->preclose(dev, file_priv);
-@@ -484,7 +484,7 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -485,7 +485,7 @@ int drm_release(struct inode *inode, struct file *filp)
        DRM_DEBUG("pid = %d, device = 0x%lx, open_count = %d\n",
                  task_pid_nr(current),
                  (long)old_encode_dev(file_priv->minor->device),
 -                dev->open_count);
 +                local_read(&dev->open_count));
  
-       /* if the master has gone away we can't do anything with the lock */
-       if (file_priv->minor->master)
-@@ -565,8 +565,8 @@ int drm_release(struct inode *inode, struct file *filp)
+       /* Release any auth tokens that might point to this file_priv,
+          (do that under the drm_global_mutex) */
+@@ -571,8 +571,8 @@ int drm_release(struct inode *inode, struct file *filp)
         * End inline drm_release
         */
  
@@ -28082,10 +30148,10 @@ index ab1162d..42587b2 100644
  #if defined(__i386__)
                pgprot = pgprot_val(vma->vm_page_prot);
 diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c
-index 4a058c7..b42cd92 100644
+index ddd70db..40321e6 100644
 --- a/drivers/gpu/drm/drm_ioc32.c
 +++ b/drivers/gpu/drm/drm_ioc32.c
-@@ -455,7 +455,7 @@ static int compat_drm_infobufs(struct file *file, unsigned int cmd,
+@@ -456,7 +456,7 @@ static int compat_drm_infobufs(struct file *file, unsigned int cmd,
        request = compat_alloc_user_space(nbytes);
        if (!access_ok(VERIFY_WRITE, request, nbytes))
                return -EFAULT;
@@ -28094,7 +30160,7 @@ index 4a058c7..b42cd92 100644
  
        if (__put_user(count, &request->count)
            || __put_user(list, &request->list))
-@@ -516,7 +516,7 @@ static int compat_drm_mapbufs(struct file *file, unsigned int cmd,
+@@ -517,7 +517,7 @@ static int compat_drm_mapbufs(struct file *file, unsigned int cmd,
        request = compat_alloc_user_space(nbytes);
        if (!access_ok(VERIFY_WRITE, request, nbytes))
                return -EFAULT;
@@ -28180,10 +30246,10 @@ index c9339f4..f5e1b9d 100644
        int front_offset;
  } drm_i810_private_t;
 diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 3c395a5..02889c2 100644
+index b2e3c97..58cf079 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
-@@ -497,7 +497,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
+@@ -499,7 +499,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data)
                           I915_READ(GTIMR));
        }
        seq_printf(m, "Interrupts received: %d\n",
@@ -28192,7 +30258,7 @@ index 3c395a5..02889c2 100644
        for (i = 0; i < I915_NUM_RINGS; i++) {
                if (IS_GEN6(dev) || IS_GEN7(dev)) {
                        seq_printf(m, "Graphics Interrupt mask (%s):    %08x\n",
-@@ -1185,7 +1185,7 @@ static int i915_opregion(struct seq_file *m, void *unused)
+@@ -1232,7 +1232,7 @@ static int i915_opregion(struct seq_file *m, void *unused)
                return ret;
  
        if (opregion->header)
@@ -28202,10 +30268,10 @@ index 3c395a5..02889c2 100644
        mutex_unlock(&dev->struct_mutex);
  
 diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 8a3942c..1b73bf1 100644
+index c4da951..3c59c5c 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1171,7 +1171,7 @@ static bool i915_switcheroo_can_switch(struct pci_dev *pdev)
+@@ -1172,7 +1172,7 @@ static bool i915_switcheroo_can_switch(struct pci_dev *pdev)
        bool can_switch;
  
        spin_lock(&dev->count_lock);
@@ -28215,10 +30281,10 @@ index 8a3942c..1b73bf1 100644
        return can_switch;
  }
 diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 7916bd9..7c17a0f 100644
+index ae294a0..1755461 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -222,7 +222,7 @@ struct drm_i915_display_funcs {
+@@ -229,7 +229,7 @@ struct drm_i915_display_funcs {
        /* render clock increase/decrease */
        /* display clock increase/decrease */
        /* pll clock increase/decrease */
@@ -28227,7 +30293,7 @@ index 7916bd9..7c17a0f 100644
  
  struct intel_device_info {
        u8 gen;
-@@ -305,7 +305,7 @@ typedef struct drm_i915_private {
+@@ -318,7 +318,7 @@ typedef struct drm_i915_private {
        int current_page;
        int page_flipping;
  
@@ -28236,7 +30302,7 @@ index 7916bd9..7c17a0f 100644
  
        /* protects the irq masks */
        spinlock_t irq_lock;
-@@ -882,7 +882,7 @@ struct drm_i915_gem_object {
+@@ -893,7 +893,7 @@ struct drm_i915_gem_object {
         * will be page flipped away on the next vblank.  When it
         * reaches 0, dev_priv->pending_flip_queue will be woken up.
         */
@@ -28245,7 +30311,7 @@ index 7916bd9..7c17a0f 100644
  };
  
  #define to_intel_bo(x) container_of(x, struct drm_i915_gem_object, base)
-@@ -1262,7 +1262,7 @@ extern int intel_setup_gmbus(struct drm_device *dev);
+@@ -1273,7 +1273,7 @@ extern int intel_setup_gmbus(struct drm_device *dev);
  extern void intel_teardown_gmbus(struct drm_device *dev);
  extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed);
  extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
@@ -28255,10 +30321,10 @@ index 7916bd9..7c17a0f 100644
        return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
  }
 diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index 4934cf8..1da9c84 100644
+index b9da890..cad1d98 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-@@ -188,7 +188,7 @@ i915_gem_object_set_to_gpu_domain(struct drm_i915_gem_object *obj,
+@@ -189,7 +189,7 @@ i915_gem_object_set_to_gpu_domain(struct drm_i915_gem_object *obj,
                i915_gem_clflush_object(obj);
  
        if (obj->base.pending_write_domain)
@@ -28267,7 +30333,7 @@ index 4934cf8..1da9c84 100644
  
        /* The actual obj->write_domain will be updated with
         * pending_write_domain after we emit the accumulated flush for all
-@@ -864,9 +864,9 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec)
+@@ -882,9 +882,9 @@ i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec)
  
  static int
  validate_exec_list(struct drm_i915_gem_exec_object2 *exec,
@@ -28280,7 +30346,7 @@ index 4934cf8..1da9c84 100644
        for (i = 0; i < count; i++) {
                char __user *ptr = (char __user *)(uintptr_t)exec[i].relocs_ptr;
 diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index 73248d0..f7bac29 100644
+index d47a53b..61154c2 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -475,7 +475,7 @@ static irqreturn_t ivybridge_irq_handler(DRM_IRQ_ARGS)
@@ -28292,7 +30358,7 @@ index 73248d0..f7bac29 100644
  
        /* disable master interrupt before clearing iir  */
        de_ier = I915_READ(DEIER);
-@@ -565,7 +565,7 @@ static irqreturn_t ironlake_irq_handler(DRM_IRQ_ARGS)
+@@ -566,7 +566,7 @@ static irqreturn_t ironlake_irq_handler(DRM_IRQ_ARGS)
        struct drm_i915_master_private *master_priv;
        u32 bsd_usr_interrupt = GT_BSD_USER_INTERRUPT;
  
@@ -28301,7 +30367,7 @@ index 73248d0..f7bac29 100644
  
        if (IS_GEN6(dev))
                bsd_usr_interrupt = GT_GEN6_BSD_USER_INTERRUPT;
-@@ -1229,7 +1229,7 @@ static irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
+@@ -1231,7 +1231,7 @@ static irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
        int ret = IRQ_NONE, pipe;
        bool blc_event = false;
  
@@ -28310,7 +30376,7 @@ index 73248d0..f7bac29 100644
  
        iir = I915_READ(IIR);
  
-@@ -1741,7 +1741,7 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
+@@ -1750,7 +1750,7 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
  {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
  
@@ -28319,7 +30385,7 @@ index 73248d0..f7bac29 100644
  
        INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
        INIT_WORK(&dev_priv->error_work, i915_error_work_func);
-@@ -1905,7 +1905,7 @@ static void i915_driver_irq_preinstall(struct drm_device * dev)
+@@ -1938,7 +1938,7 @@ static void i915_driver_irq_preinstall(struct drm_device * dev)
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
        int pipe;
  
@@ -28329,10 +30395,10 @@ index 73248d0..f7bac29 100644
        INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
        INIT_WORK(&dev_priv->error_work, i915_error_work_func);
 diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 07e7cf3..c75f312 100644
+index 9ec9755..6d1cf2d 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -2205,7 +2205,7 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
+@@ -2230,7 +2230,7 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
  
                wait_event(dev_priv->pending_flip_queue,
                           atomic_read(&dev_priv->mm.wedged) ||
@@ -28341,7 +30407,7 @@ index 07e7cf3..c75f312 100644
  
                /* Big Hammer, we also need to ensure that any pending
                 * MI_WAIT_FOR_EVENT inside a user batch buffer on the
-@@ -2826,7 +2826,7 @@ static void intel_crtc_wait_for_pending_flips(struct drm_crtc *crtc)
+@@ -2851,7 +2851,7 @@ static void intel_crtc_wait_for_pending_flips(struct drm_crtc *crtc)
        obj = to_intel_framebuffer(crtc->fb)->obj;
        dev_priv = crtc->dev->dev_private;
        wait_event(dev_priv->pending_flip_queue,
@@ -28350,7 +30416,7 @@ index 07e7cf3..c75f312 100644
  }
  
  static bool intel_crtc_driving_pch(struct drm_crtc *crtc)
-@@ -6676,7 +6676,7 @@ static void do_intel_finish_page_flip(struct drm_device *dev,
+@@ -6952,7 +6952,7 @@ static void do_intel_finish_page_flip(struct drm_device *dev,
  
        atomic_clear_mask(1 << intel_crtc->plane,
                          &obj->pending_flip.counter);
@@ -28359,7 +30425,7 @@ index 07e7cf3..c75f312 100644
                wake_up(&dev_priv->pending_flip_queue);
  
        schedule_work(&work->work);
-@@ -6965,7 +6965,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+@@ -7242,7 +7242,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
        /* Block clients from rendering to the new back buffer until
         * the flip occurs and the object is no longer visible.
         */
@@ -28368,15 +30434,15 @@ index 07e7cf3..c75f312 100644
  
        ret = dev_priv->display.queue_flip(dev, crtc, fb, obj);
        if (ret)
-@@ -6979,7 +6979,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+@@ -7256,7 +7256,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
        return 0;
  
  cleanup_pending:
 -      atomic_sub(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip);
 +      atomic_sub_unchecked(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip);
- cleanup_objs:
        drm_gem_object_unreference(&work->old_fb_obj->base);
        drm_gem_object_unreference(&obj->base);
+       mutex_unlock(&dev->struct_mutex);
 diff --git a/drivers/gpu/drm/mga/mga_drv.h b/drivers/gpu/drm/mga/mga_drv.h
 index 54558a0..2d97005 100644
 --- a/drivers/gpu/drm/mga/mga_drv.h
@@ -28434,7 +30500,7 @@ index 2581202..f230a8d9 100644
  
        *sequence = cur_fence;
 diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
-index b311fab..dc11d6a 100644
+index 5fc201b..7b032b9 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
 @@ -201,7 +201,7 @@ struct methods {
@@ -28446,7 +30512,7 @@ index b311fab..dc11d6a 100644
  
  static struct methods shadow_methods[] = {
        { "PRAMIN", load_vbios_pramin, true },
-@@ -5489,7 +5489,7 @@ parse_bit_displayport_tbl_entry(struct drm_device *dev, struct nvbios *bios,
+@@ -5474,7 +5474,7 @@ parse_bit_U_tbl_entry(struct drm_device *dev, struct nvbios *bios,
  struct bit_table {
        const char id;
        int (* const parse_fn)(struct drm_device *, struct nvbios *, struct bit_entry *);
@@ -28456,7 +30522,7 @@ index b311fab..dc11d6a 100644
  #define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry })
  
 diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
-index d7d51de..7c6a7f1 100644
+index 4c0be3a..5757582 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h
 +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
 @@ -238,7 +238,7 @@ struct nouveau_channel {
@@ -28493,7 +30559,7 @@ index d7d51de..7c6a7f1 100644
  
  struct nouveau_fb_engine {
        int num_tiles;
-@@ -513,7 +513,7 @@ struct nouveau_vram_engine {
+@@ -558,7 +558,7 @@ struct nouveau_vram_engine {
        void (*put)(struct drm_device *, struct nouveau_mem **);
  
        bool (*flags_valid)(struct drm_device *, u32 tile_flags);
@@ -28502,7 +30568,7 @@ index d7d51de..7c6a7f1 100644
  
  struct nouveau_engine {
        struct nouveau_instmem_engine instmem;
-@@ -660,7 +660,7 @@ struct drm_nouveau_private {
+@@ -706,7 +706,7 @@ struct drm_nouveau_private {
                struct drm_global_reference mem_global_ref;
                struct ttm_bo_global_ref bo_global_ref;
                struct ttm_bo_device bdev;
@@ -28512,7 +30578,7 @@ index d7d51de..7c6a7f1 100644
  
        struct {
 diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c
-index ae22dfa..4f09960 100644
+index 2f6daae..c9d7b9e 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_fence.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_fence.c
 @@ -85,7 +85,7 @@ nouveau_fence_update(struct nouveau_channel *chan)
@@ -28534,7 +30600,7 @@ index ae22dfa..4f09960 100644
  }
  
 diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
-index 5f0bc57..eb9fac8 100644
+index 7ce3fde..cb3ea04 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_gem.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
 @@ -314,7 +314,7 @@ validate_init(struct nouveau_channel *chan, struct drm_file *file_priv,
@@ -28547,10 +30613,10 @@ index 5f0bc57..eb9fac8 100644
        if (++trycnt > 100000) {
                NV_ERROR(dev, "%s failed and gave up.\n", __func__);
 diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
-index 10656e4..59bf2a4 100644
+index d8831ab..0ba8356 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_state.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_state.c
-@@ -496,7 +496,7 @@ static bool nouveau_switcheroo_can_switch(struct pci_dev *pdev)
+@@ -542,7 +542,7 @@ static bool nouveau_switcheroo_can_switch(struct pci_dev *pdev)
        bool can_switch;
  
        spin_lock(&dev->count_lock);
@@ -28573,10 +30639,10 @@ index dbdea8e..cd6eeeb 100644
  }
  
 diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c
-index 570e190..084a31a 100644
+index bcac90b..53bfc76 100644
 --- a/drivers/gpu/drm/r128/r128_cce.c
 +++ b/drivers/gpu/drm/r128/r128_cce.c
-@@ -377,7 +377,7 @@ static int r128_do_init_cce(struct drm_device *dev, drm_r128_init_t *init)
+@@ -378,7 +378,7 @@ static int r128_do_init_cce(struct drm_device *dev, drm_r128_init_t *init)
  
        /* GH: Simple idle check.
         */
@@ -28645,19 +30711,6 @@ index a9e33ce..09edd4b 100644
  }
  
  #endif
-diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
-index 14cc88a..cc7b3a5 100644
---- a/drivers/gpu/drm/radeon/atom.c
-+++ b/drivers/gpu/drm/radeon/atom.c
-@@ -1254,6 +1254,8 @@ struct atom_context *atom_parse(struct card_info *card, void *bios)
-       char name[512];
-       int i;
-+      pax_track_stack();
-+
-       if (!ctx)
-               return NULL;
 diff --git a/drivers/gpu/drm/radeon/mkregtable.c b/drivers/gpu/drm/radeon/mkregtable.c
 index 5a82b6b..9e69c73 100644
 --- a/drivers/gpu/drm/radeon/mkregtable.c
@@ -28679,8 +30732,20 @@ index 5a82b6b..9e69c73 100644
  
        if (regcomp
            (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
+diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
+index cb1acff..8861bc5 100644
+--- a/drivers/gpu/drm/radeon/r600_cs.c
++++ b/drivers/gpu/drm/radeon/r600_cs.c
+@@ -1304,6 +1304,7 @@ static int r600_check_texture_resource(struct radeon_cs_parser *p,  u32 idx,
+       h0 = G_038004_TEX_HEIGHT(word1) + 1;
+       d0 = G_038004_TEX_DEPTH(word1);
+       nfaces = 1;
++      array = 0;
+       switch (G_038000_DIM(word0)) {
+       case V_038000_SQ_TEX_DIM_1D:
+       case V_038000_SQ_TEX_DIM_2D:
 diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
-index 184628c..30e1725 100644
+index 8227e76..ce0b195 100644
 --- a/drivers/gpu/drm/radeon/radeon.h
 +++ b/drivers/gpu/drm/radeon/radeon.h
 @@ -192,7 +192,7 @@ extern int sumo_get_temp(struct radeon_device *rdev);
@@ -28692,7 +30757,16 @@ index 184628c..30e1725 100644
        uint32_t                        last_seq;
        unsigned long                   last_jiffies;
        unsigned long                   last_timeout;
-@@ -962,7 +962,7 @@ struct radeon_asic {
+@@ -530,7 +530,7 @@ struct r600_blit_cp_primitives {
+                            int x2, int y2);
+       void (*draw_auto)(struct radeon_device *rdev);
+       void (*set_default_state)(struct radeon_device *rdev);
+-};
++} __no_const;
+ struct r600_blit {
+       struct mutex            mutex;
+@@ -954,7 +954,7 @@ struct radeon_asic {
        void (*pre_page_flip)(struct radeon_device *rdev, int crtc);
        u32 (*page_flip)(struct radeon_device *rdev, int crtc, u64 crtc_base);
        void (*post_page_flip)(struct radeon_device *rdev, int crtc);
@@ -28701,24 +30775,11 @@ index 184628c..30e1725 100644
  
  /*
   * Asic structures
-diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
-index 285acc4..f4d909f 100644
---- a/drivers/gpu/drm/radeon/radeon_atombios.c
-+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
-@@ -569,6 +569,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
-       struct radeon_gpio_rec gpio;
-       struct radeon_hpd hpd;
-+      pax_track_stack();
-+
-       if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset))
-               return false;
 diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
-index b51e157..8f14fb9 100644
+index 9231564..78b00fd 100644
 --- a/drivers/gpu/drm/radeon/radeon_device.c
 +++ b/drivers/gpu/drm/radeon/radeon_device.c
-@@ -684,7 +684,7 @@ static bool radeon_switcheroo_can_switch(struct pci_dev *pdev)
+@@ -687,7 +687,7 @@ static bool radeon_switcheroo_can_switch(struct pci_dev *pdev)
        bool can_switch;
  
        spin_lock(&dev->count_lock);
@@ -28727,19 +30788,6 @@ index b51e157..8f14fb9 100644
        spin_unlock(&dev->count_lock);
        return can_switch;
  }
-diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
-index 6adb3e5..b91553e2 100644
---- a/drivers/gpu/drm/radeon/radeon_display.c
-+++ b/drivers/gpu/drm/radeon/radeon_display.c
-@@ -925,6 +925,8 @@ void radeon_compute_pll_legacy(struct radeon_pll *pll,
-       uint32_t post_div;
-       u32 pll_out_min, pll_out_max;
-+      pax_track_stack();
-+
-       DRM_DEBUG_KMS("PLL freq %llu %u %u\n", freq, pll->min_ref_div, pll->max_ref_div);
-       freq = freq * 1000;
 diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h
 index a1b59ca..86f2d44 100644
 --- a/drivers/gpu/drm/radeon/radeon_drv.h
@@ -28754,7 +30802,7 @@ index a1b59ca..86f2d44 100644
        uint32_t irq_enable_reg;
        uint32_t r500_disp_irq_reg;
 diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
-index 7fd4e3e..9748ab5 100644
+index 76ec0e9..6feb1a3 100644
 --- a/drivers/gpu/drm/radeon/radeon_fence.c
 +++ b/drivers/gpu/drm/radeon/radeon_fence.c
 @@ -78,7 +78,7 @@ int radeon_fence_emit(struct radeon_device *rdev, struct radeon_fence *fence)
@@ -28789,7 +30837,7 @@ index 48b7cea..342236f 100644
                return -EFAULT;
  
 diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c
-index 465746b..cb2b055 100644
+index 00da384..32f972d 100644
 --- a/drivers/gpu/drm/radeon/radeon_irq.c
 +++ b/drivers/gpu/drm/radeon/radeon_irq.c
 @@ -225,8 +225,8 @@ static int radeon_emit_irq(struct drm_device * dev)
@@ -28813,7 +30861,7 @@ index 465746b..cb2b055 100644
  
        dev->max_vblank_count = 0x001fffff;
 diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c
-index 92e7ea7..147ffad 100644
+index e8422ae..d22d4a8 100644
 --- a/drivers/gpu/drm/radeon/radeon_state.c
 +++ b/drivers/gpu/drm/radeon/radeon_state.c
 @@ -2168,7 +2168,7 @@ static int radeon_cp_clear(struct drm_device *dev, void *data, struct drm_file *
@@ -28981,58 +31029,32 @@ index d391f48..10c8ca3 100644
        case VIA_IRQ_ABSOLUTE:
                break;
 diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
-index 10fc01f..b4e9822 100644
+index dc27970..f18b008 100644
 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
 +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
-@@ -240,7 +240,7 @@ struct vmw_private {
+@@ -260,7 +260,7 @@ struct vmw_private {
         * Fencing and IRQs.
         */
  
--      atomic_t fence_seq;
-+      atomic_unchecked_t fence_seq;
+-      atomic_t marker_seq;
++      atomic_unchecked_t marker_seq;
        wait_queue_head_t fence_queue;
        wait_queue_head_t fifo_queue;
-       atomic_t fence_queue_waiters;
-diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
-index 41b95ed..69ea504 100644
---- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
-+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
-@@ -610,7 +610,7 @@ int vmw_execbuf_ioctl(struct drm_device *dev, void *data,
-       struct drm_vmw_fence_rep fence_rep;
-       struct drm_vmw_fence_rep __user *user_fence_rep;
-       int ret;
--      void *user_cmd;
-+      void __user *user_cmd;
-       void *cmd;
-       uint32_t sequence;
-       struct vmw_sw_context *sw_context = &dev_priv->ctx;
-diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
-index 61eacc1..ee38ce8 100644
---- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
-+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
-@@ -151,7 +151,7 @@ int vmw_wait_lag(struct vmw_private *dev_priv,
-       while (!vmw_lag_lt(queue, us)) {
-               spin_lock(&queue->lock);
-               if (list_empty(&queue->head))
--                      sequence = atomic_read(&dev_priv->fence_seq);
-+                      sequence = atomic_read_unchecked(&dev_priv->fence_seq);
-               else {
-                       fence = list_first_entry(&queue->head,
-                                                struct vmw_fence, head);
+       int fence_queue_waiters; /* Protected by hw_mutex */
 diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
-index 635c0ff..2641bbb 100644
+index a0c2f12..68ae6cb 100644
 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
 +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
 @@ -137,7 +137,7 @@ int vmw_fifo_init(struct vmw_private *dev_priv, struct vmw_fifo_state *fifo)
                 (unsigned int) min,
                 (unsigned int) fifo->capabilities);
  
--      atomic_set(&dev_priv->fence_seq, dev_priv->last_read_sequence);
-+      atomic_set_unchecked(&dev_priv->fence_seq, dev_priv->last_read_sequence);
-       iowrite32(dev_priv->last_read_sequence, fifo_mem + SVGA_FIFO_FENCE);
-       vmw_fence_queue_init(&fifo->fence_queue);
+-      atomic_set(&dev_priv->marker_seq, dev_priv->last_read_seqno);
++      atomic_set_unchecked(&dev_priv->marker_seq, dev_priv->last_read_seqno);
+       iowrite32(dev_priv->last_read_seqno, fifo_mem + SVGA_FIFO_FENCE);
+       vmw_marker_queue_init(&fifo->marker_queue);
        return vmw_fifo_send_fence(dev_priv, &dummy);
-@@ -356,7 +356,7 @@ void *vmw_fifo_reserve(struct vmw_private *dev_priv, uint32_t bytes)
+@@ -355,7 +355,7 @@ void *vmw_fifo_reserve(struct vmw_private *dev_priv, uint32_t bytes)
                                if (reserveable)
                                        iowrite32(bytes, fifo_mem +
                                                  SVGA_FIFO_RESERVED);
@@ -29041,82 +31063,64 @@ index 635c0ff..2641bbb 100644
                        } else {
                                need_bounce = true;
                        }
-@@ -476,7 +476,7 @@ int vmw_fifo_send_fence(struct vmw_private *dev_priv, uint32_t *sequence)
+@@ -475,7 +475,7 @@ int vmw_fifo_send_fence(struct vmw_private *dev_priv, uint32_t *seqno)
  
        fm = vmw_fifo_reserve(dev_priv, bytes);
        if (unlikely(fm == NULL)) {
--              *sequence = atomic_read(&dev_priv->fence_seq);
-+              *sequence = atomic_read_unchecked(&dev_priv->fence_seq);
+-              *seqno = atomic_read(&dev_priv->marker_seq);
++              *seqno = atomic_read_unchecked(&dev_priv->marker_seq);
                ret = -ENOMEM;
-               (void)vmw_fallback_wait(dev_priv, false, true, *sequence,
+               (void)vmw_fallback_wait(dev_priv, false, true, *seqno,
                                        false, 3*HZ);
-@@ -484,7 +484,7 @@ int vmw_fifo_send_fence(struct vmw_private *dev_priv, uint32_t *sequence)
+@@ -483,7 +483,7 @@ int vmw_fifo_send_fence(struct vmw_private *dev_priv, uint32_t *seqno)
        }
  
        do {
--              *sequence = atomic_add_return(1, &dev_priv->fence_seq);
-+              *sequence = atomic_add_return_unchecked(1, &dev_priv->fence_seq);
-       } while (*sequence == 0);
+-              *seqno = atomic_add_return(1, &dev_priv->marker_seq);
++              *seqno = atomic_add_return_unchecked(1, &dev_priv->marker_seq);
+       } while (*seqno == 0);
  
        if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) {
 diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
-index e92298a..f68f2d6 100644
+index cabc95f..14b3d77 100644
 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
 +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
-@@ -100,7 +100,7 @@ bool vmw_fence_signaled(struct vmw_private *dev_priv,
+@@ -107,7 +107,7 @@ bool vmw_seqno_passed(struct vmw_private *dev_priv,
         * emitted. Then the fence is stale and signaled.
         */
  
--      ret = ((atomic_read(&dev_priv->fence_seq) - sequence)
-+      ret = ((atomic_read_unchecked(&dev_priv->fence_seq) - sequence)
+-      ret = ((atomic_read(&dev_priv->marker_seq) - seqno)
++      ret = ((atomic_read_unchecked(&dev_priv->marker_seq) - seqno)
               > VMW_FENCE_WRAP);
  
        return ret;
-@@ -131,7 +131,7 @@ int vmw_fallback_wait(struct vmw_private *dev_priv,
+@@ -138,7 +138,7 @@ int vmw_fallback_wait(struct vmw_private *dev_priv,
  
        if (fifo_idle)
                down_read(&fifo_state->rwsem);
--      signal_seq = atomic_read(&dev_priv->fence_seq);
-+      signal_seq = atomic_read_unchecked(&dev_priv->fence_seq);
+-      signal_seq = atomic_read(&dev_priv->marker_seq);
++      signal_seq = atomic_read_unchecked(&dev_priv->marker_seq);
        ret = 0;
  
        for (;;) {
-diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
-index c72f1c0..18376f1 100644
---- a/drivers/gpu/vga/vgaarb.c
-+++ b/drivers/gpu/vga/vgaarb.c
-@@ -993,14 +993,20 @@ static ssize_t vga_arb_write(struct file *file, const char __user * buf,
-                               uc = &priv->cards[i];
-               }
--              if (!uc)
--                      return -EINVAL;
-+              if (!uc) {
-+                      ret_val = -EINVAL;
-+                      goto done;
-+              }
--              if (io_state & VGA_RSRC_LEGACY_IO && uc->io_cnt == 0)
--                      return -EINVAL;
-+              if (io_state & VGA_RSRC_LEGACY_IO && uc->io_cnt == 0) {
-+                      ret_val = -EINVAL;
-+                      goto done;
-+              }
--              if (io_state & VGA_RSRC_LEGACY_MEM && uc->mem_cnt == 0)
--                      return -EINVAL;
-+              if (io_state & VGA_RSRC_LEGACY_MEM && uc->mem_cnt == 0) {
-+                      ret_val = -EINVAL;
-+                      goto done;
-+              }
-               vga_put(pdev, io_state);
+diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_marker.c b/drivers/gpu/drm/vmwgfx/vmwgfx_marker.c
+index 8a8725c..afed796 100644
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_marker.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_marker.c
+@@ -151,7 +151,7 @@ int vmw_wait_lag(struct vmw_private *dev_priv,
+       while (!vmw_lag_lt(queue, us)) {
+               spin_lock(&queue->lock);
+               if (list_empty(&queue->head))
+-                      seqno = atomic_read(&dev_priv->marker_seq);
++                      seqno = atomic_read_unchecked(&dev_priv->marker_seq);
+               else {
+                       marker = list_first_entry(&queue->head,
+                                                struct vmw_marker, head);
 diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
-index f26ae31..721fe1b 100644
+index bb656d8..4169fca 100644
 --- a/drivers/hid/hid-core.c
 +++ b/drivers/hid/hid-core.c
-@@ -1951,7 +1951,7 @@ static bool hid_ignore(struct hid_device *hdev)
+@@ -2012,7 +2012,7 @@ static bool hid_ignore(struct hid_device *hdev)
  
  int hid_add_device(struct hid_device *hdev)
  {
@@ -29125,7 +31129,7 @@ index f26ae31..721fe1b 100644
        int ret;
  
        if (WARN_ON(hdev->status & HID_STAT_ADDED))
-@@ -1966,7 +1966,7 @@ int hid_add_device(struct hid_device *hdev)
+@@ -2027,7 +2027,7 @@ int hid_add_device(struct hid_device *hdev)
        /* XXX hack, any other cleaner solution after the driver core
         * is converted to allow more than 20 bytes as the device name? */
        dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus,
@@ -29135,7 +31139,7 @@ index f26ae31..721fe1b 100644
        hid_debug_register(hdev, dev_name(&hdev->dev));
        ret = device_add(&hdev->dev);
 diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
-index 7c1188b..5a64357 100644
+index 4ef02b2..8a96831 100644
 --- a/drivers/hid/usbhid/hiddev.c
 +++ b/drivers/hid/usbhid/hiddev.c
 @@ -624,7 +624,7 @@ static long hiddev_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
@@ -29147,6 +31151,64 @@ index 7c1188b..5a64357 100644
                        break;
  
                for (i = 0; i < hid->maxcollection; i++)
+diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
+index 4065374..10ed7dc 100644
+--- a/drivers/hv/channel.c
++++ b/drivers/hv/channel.c
+@@ -400,8 +400,8 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
+       int ret = 0;
+       int t;
+-      next_gpadl_handle = atomic_read(&vmbus_connection.next_gpadl_handle);
+-      atomic_inc(&vmbus_connection.next_gpadl_handle);
++      next_gpadl_handle = atomic_read_unchecked(&vmbus_connection.next_gpadl_handle);
++      atomic_inc_unchecked(&vmbus_connection.next_gpadl_handle);
+       ret = create_gpadl_header(kbuffer, size, &msginfo, &msgcount);
+       if (ret)
+diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
+index 0fb100e..baf87e5 100644
+--- a/drivers/hv/hv.c
++++ b/drivers/hv/hv.c
+@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, void *input, void *output)
+       u64 output_address = (output) ? virt_to_phys(output) : 0;
+       u32 output_address_hi = output_address >> 32;
+       u32 output_address_lo = output_address & 0xFFFFFFFF;
+-      void *hypercall_page = hv_context.hypercall_page;
++      void *hypercall_page = ktva_ktla(hv_context.hypercall_page);
+       __asm__ __volatile__ ("call *%8" : "=d"(hv_status_hi),
+                             "=a"(hv_status_lo) : "d" (control_hi),
+diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
+index 0aee112..b72d21f 100644
+--- a/drivers/hv/hyperv_vmbus.h
++++ b/drivers/hv/hyperv_vmbus.h
+@@ -556,7 +556,7 @@ enum vmbus_connect_state {
+ struct vmbus_connection {
+       enum vmbus_connect_state conn_state;
+-      atomic_t next_gpadl_handle;
++      atomic_unchecked_t next_gpadl_handle;
+       /*
+        * Represents channel interrupts. Each bit position represents a
+diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
+index d2d0a2a..90b8f4d 100644
+--- a/drivers/hv/vmbus_drv.c
++++ b/drivers/hv/vmbus_drv.c
+@@ -663,10 +663,10 @@ int vmbus_device_register(struct hv_device *child_device_obj)
+ {
+       int ret = 0;
+-      static atomic_t device_num = ATOMIC_INIT(0);
++      static atomic_unchecked_t device_num = ATOMIC_INIT(0);
+       dev_set_name(&child_device_obj->device, "vmbus_0_%d",
+-                   atomic_inc_return(&device_num));
++                   atomic_inc_return_unchecked(&device_num));
+       child_device_obj->device.bus = &hv_bus;
+       child_device_obj->device.parent = &hv_acpi_dev->dev;
 diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
 index 66f6729..2d6de0a 100644
 --- a/drivers/hwmon/acpi_power_meter.c
@@ -29161,7 +31223,7 @@ index 66f6729..2d6de0a 100644
        mutex_lock(&resource->lock);
        resource->trip[attr->index - 7] = temp;
 diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c
-index fe4104c..346febb 100644
+index 5357925..6cf0418 100644
 --- a/drivers/hwmon/sht15.c
 +++ b/drivers/hwmon/sht15.c
 @@ -166,7 +166,7 @@ struct sht15_data {
@@ -29356,7 +31418,7 @@ index 5059faf..18d4c85 100644
        .port_ops       = &cs5535_port_ops,
        .host_flags     = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE,
 diff --git a/drivers/ide/cy82c693.c b/drivers/ide/cy82c693.c
-index 67cbcfa..37ea151 100644
+index 847553f..3ffb49d 100644
 --- a/drivers/ide/cy82c693.c
 +++ b/drivers/ide/cy82c693.c
 @@ -163,7 +163,7 @@ static const struct ide_port_ops cy82c693_port_ops = {
@@ -29481,10 +31543,10 @@ index 58c51cd..4aec3b8 100644
                .name           = DRV_NAME,
                .init_chipset   = init_chipset_hpt366,
 diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
-index 04b0956..f5b47dc 100644
+index 8126824..55a2798 100644
 --- a/drivers/ide/ide-cd.c
 +++ b/drivers/ide/ide-cd.c
-@@ -769,7 +769,7 @@ static void cdrom_do_block_pc(ide_drive_t *drive, struct request *rq)
+@@ -768,7 +768,7 @@ static void cdrom_do_block_pc(ide_drive_t *drive, struct request *rq)
                alignment = queue_dma_alignment(q) | q->dma_pad_mask;
                if ((unsigned long)buf & alignment
                    || blk_rq_bytes(rq) & q->dma_pad_mask
@@ -29493,19 +31555,6 @@ index 04b0956..f5b47dc 100644
                        drive->dma = 0;
        }
  }
-diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
-index 61fdf54..2834ea6 100644
---- a/drivers/ide/ide-floppy.c
-+++ b/drivers/ide/ide-floppy.c
-@@ -379,6 +379,8 @@ static int ide_floppy_get_capacity(ide_drive_t *drive)
-       u8 pc_buf[256], header_len, desc_cnt;
-       int i, rc = 1, blocks, length;
-+      pax_track_stack();
-+
-       ide_debug_log(IDE_DBG_FUNC, "enter");
-       drive->bios_cyl = 0;
 diff --git a/drivers/ide/ide-pci-generic.c b/drivers/ide/ide-pci-generic.c
 index a743e68..1cfd674 100644
 --- a/drivers/ide/ide-pci-generic.c
@@ -29624,7 +31673,7 @@ index 3a35ec6..5634510 100644
                .name           = DRV_NAME,
                .init_chipset   = init_chipset_pdc202xx,
 diff --git a/drivers/ide/piix.c b/drivers/ide/piix.c
-index b59d04c..368c2a7 100644
+index 1892e81..fe0fd60 100644
 --- a/drivers/ide/piix.c
 +++ b/drivers/ide/piix.c
 @@ -344,7 +344,7 @@ static const struct ide_port_ops ich_port_ops = {
@@ -29688,19 +31737,6 @@ index 35fb8da..24d72ef 100644
        {       /* 0: OSB4 */
                .name           = DRV_NAME,
                .init_chipset   = init_chipset_svwks,
-diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
-index ab3db61..afed580 100644
---- a/drivers/ide/setup-pci.c
-+++ b/drivers/ide/setup-pci.c
-@@ -542,6 +542,8 @@ int ide_pci_init_two(struct pci_dev *dev1, struct pci_dev *dev2,
-       int ret, i, n_ports = dev2 ? 4 : 2;
-       struct ide_hw hw[4], *hws[] = { NULL, NULL, NULL, NULL };
-+      pax_track_stack();
-+
-       for (i = 0; i < n_ports / 2; i++) {
-               ret = ide_setup_pci_controller(pdev[i], d, !i);
-               if (ret < 0)
 diff --git a/drivers/ide/siimage.c b/drivers/ide/siimage.c
 index ddeda44..46f7e30 100644
 --- a/drivers/ide/siimage.c
@@ -29754,10 +31790,10 @@ index 864ffe0..863a5e9 100644
        .enablebits     = { {0x41, 0x80, 0x80}, {0x43, 0x80, 0x80} },
        .port_ops       = &slc90e66_port_ops,
 diff --git a/drivers/ide/tc86c001.c b/drivers/ide/tc86c001.c
-index e444d24..ba577de 100644
+index 4799d5c..1794678 100644
 --- a/drivers/ide/tc86c001.c
 +++ b/drivers/ide/tc86c001.c
-@@ -191,7 +191,7 @@ static const struct ide_dma_ops tc86c001_dma_ops = {
+@@ -192,7 +192,7 @@ static const struct ide_dma_ops tc86c001_dma_ops = {
        .dma_sff_read_status    = ide_dma_sff_read_status,
  };
  
@@ -29767,7 +31803,7 @@ index e444d24..ba577de 100644
        .init_hwif      = init_hwif_tc86c001,
        .port_ops       = &tc86c001_port_ops,
 diff --git a/drivers/ide/triflex.c b/drivers/ide/triflex.c
-index e53a1b7..d11aff7 100644
+index 281c914..55ce1b8 100644
 --- a/drivers/ide/triflex.c
 +++ b/drivers/ide/triflex.c
 @@ -92,7 +92,7 @@ static const struct ide_port_ops triflex_port_ops = {
@@ -29805,11 +31841,24 @@ index f46f49c..eb77678 100644
        .name           = DRV_NAME,
        .init_chipset   = init_chipset_via82cxxx,
        .enablebits     = { { 0x40, 0x02, 0x02 }, { 0x40, 0x01, 0x01 } },
+diff --git a/drivers/ieee802154/fakehard.c b/drivers/ieee802154/fakehard.c
+index eb0e2cc..14241c7 100644
+--- a/drivers/ieee802154/fakehard.c
++++ b/drivers/ieee802154/fakehard.c
+@@ -386,7 +386,7 @@ static int __devinit ieee802154fake_probe(struct platform_device *pdev)
+       phy->transmit_power = 0xbf;
+       dev->netdev_ops = &fake_ops;
+-      dev->ml_priv = &fake_mlme;
++      dev->ml_priv = (void *)&fake_mlme;
+       priv = netdev_priv(dev);
+       priv->phy = phy;
 diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
-index fc0f2bd..ac2f8a5 100644
+index 8b72f39..55df4c8 100644
 --- a/drivers/infiniband/core/cm.c
 +++ b/drivers/infiniband/core/cm.c
-@@ -113,7 +113,7 @@ static char const counter_group_names[CM_COUNTER_GROUPS]
+@@ -114,7 +114,7 @@ static char const counter_group_names[CM_COUNTER_GROUPS]
  
  struct cm_counter_group {
        struct kobject obj;
@@ -29818,7 +31867,7 @@ index fc0f2bd..ac2f8a5 100644
  };
  
  struct cm_counter_attribute {
-@@ -1387,7 +1387,7 @@ static void cm_dup_req_handler(struct cm_work *work,
+@@ -1394,7 +1394,7 @@ static void cm_dup_req_handler(struct cm_work *work,
        struct ib_mad_send_buf *msg = NULL;
        int ret;
  
@@ -29827,7 +31876,7 @@ index fc0f2bd..ac2f8a5 100644
                        counter[CM_REQ_COUNTER]);
  
        /* Quick state check to discard duplicate REQs. */
-@@ -1765,7 +1765,7 @@ static void cm_dup_rep_handler(struct cm_work *work)
+@@ -1778,7 +1778,7 @@ static void cm_dup_rep_handler(struct cm_work *work)
        if (!cm_id_priv)
                return;
  
@@ -29836,7 +31885,7 @@ index fc0f2bd..ac2f8a5 100644
                        counter[CM_REP_COUNTER]);
        ret = cm_alloc_response_msg(work->port, work->mad_recv_wc, &msg);
        if (ret)
-@@ -1932,7 +1932,7 @@ static int cm_rtu_handler(struct cm_work *work)
+@@ -1945,7 +1945,7 @@ static int cm_rtu_handler(struct cm_work *work)
        if (cm_id_priv->id.state != IB_CM_REP_SENT &&
            cm_id_priv->id.state != IB_CM_MRA_REP_RCVD) {
                spin_unlock_irq(&cm_id_priv->lock);
@@ -29845,7 +31894,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_RTU_COUNTER]);
                goto out;
        }
-@@ -2115,7 +2115,7 @@ static int cm_dreq_handler(struct cm_work *work)
+@@ -2128,7 +2128,7 @@ static int cm_dreq_handler(struct cm_work *work)
        cm_id_priv = cm_acquire_id(dreq_msg->remote_comm_id,
                                   dreq_msg->local_comm_id);
        if (!cm_id_priv) {
@@ -29854,7 +31903,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_DREQ_COUNTER]);
                cm_issue_drep(work->port, work->mad_recv_wc);
                return -EINVAL;
-@@ -2140,7 +2140,7 @@ static int cm_dreq_handler(struct cm_work *work)
+@@ -2153,7 +2153,7 @@ static int cm_dreq_handler(struct cm_work *work)
        case IB_CM_MRA_REP_RCVD:
                break;
        case IB_CM_TIMEWAIT:
@@ -29863,7 +31912,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_DREQ_COUNTER]);
                if (cm_alloc_response_msg(work->port, work->mad_recv_wc, &msg))
                        goto unlock;
-@@ -2154,7 +2154,7 @@ static int cm_dreq_handler(struct cm_work *work)
+@@ -2167,7 +2167,7 @@ static int cm_dreq_handler(struct cm_work *work)
                        cm_free_msg(msg);
                goto deref;
        case IB_CM_DREQ_RCVD:
@@ -29872,7 +31921,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_DREQ_COUNTER]);
                goto unlock;
        default:
-@@ -2521,7 +2521,7 @@ static int cm_mra_handler(struct cm_work *work)
+@@ -2534,7 +2534,7 @@ static int cm_mra_handler(struct cm_work *work)
                    ib_modify_mad(cm_id_priv->av.port->mad_agent,
                                  cm_id_priv->msg, timeout)) {
                        if (cm_id_priv->id.lap_state == IB_CM_MRA_LAP_RCVD)
@@ -29881,7 +31930,7 @@ index fc0f2bd..ac2f8a5 100644
                                                counter_group[CM_RECV_DUPLICATES].
                                                counter[CM_MRA_COUNTER]);
                        goto out;
-@@ -2530,7 +2530,7 @@ static int cm_mra_handler(struct cm_work *work)
+@@ -2543,7 +2543,7 @@ static int cm_mra_handler(struct cm_work *work)
                break;
        case IB_CM_MRA_REQ_RCVD:
        case IB_CM_MRA_REP_RCVD:
@@ -29890,7 +31939,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_MRA_COUNTER]);
                /* fall through */
        default:
-@@ -2692,7 +2692,7 @@ static int cm_lap_handler(struct cm_work *work)
+@@ -2705,7 +2705,7 @@ static int cm_lap_handler(struct cm_work *work)
        case IB_CM_LAP_IDLE:
                break;
        case IB_CM_MRA_LAP_SENT:
@@ -29899,7 +31948,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_LAP_COUNTER]);
                if (cm_alloc_response_msg(work->port, work->mad_recv_wc, &msg))
                        goto unlock;
-@@ -2708,7 +2708,7 @@ static int cm_lap_handler(struct cm_work *work)
+@@ -2721,7 +2721,7 @@ static int cm_lap_handler(struct cm_work *work)
                        cm_free_msg(msg);
                goto deref;
        case IB_CM_LAP_RCVD:
@@ -29908,7 +31957,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_LAP_COUNTER]);
                goto unlock;
        default:
-@@ -2992,7 +2992,7 @@ static int cm_sidr_req_handler(struct cm_work *work)
+@@ -3005,7 +3005,7 @@ static int cm_sidr_req_handler(struct cm_work *work)
        cur_cm_id_priv = cm_insert_remote_sidr(cm_id_priv);
        if (cur_cm_id_priv) {
                spin_unlock_irq(&cm.lock);
@@ -29917,7 +31966,7 @@ index fc0f2bd..ac2f8a5 100644
                                counter[CM_SIDR_REQ_COUNTER]);
                goto out; /* Duplicate message. */
        }
-@@ -3204,10 +3204,10 @@ static void cm_send_handler(struct ib_mad_agent *mad_agent,
+@@ -3217,10 +3217,10 @@ static void cm_send_handler(struct ib_mad_agent *mad_agent,
        if (!msg->context[0] && (attr_index != CM_REJ_COUNTER))
                msg->retries = 1;
  
@@ -29930,7 +31979,7 @@ index fc0f2bd..ac2f8a5 100644
                                &port->counter_group[CM_XMIT_RETRIES].
                                counter[attr_index]);
  
-@@ -3417,7 +3417,7 @@ static void cm_recv_handler(struct ib_mad_agent *mad_agent,
+@@ -3430,7 +3430,7 @@ static void cm_recv_handler(struct ib_mad_agent *mad_agent,
        }
  
        attr_id = be16_to_cpu(mad_recv_wc->recv_buf.mad->mad_hdr.attr_id);
@@ -29939,7 +31988,7 @@ index fc0f2bd..ac2f8a5 100644
                        counter[attr_id - CM_ATTR_ID_OFFSET]);
  
        work = kmalloc(sizeof *work + sizeof(struct ib_sa_path_rec) * paths,
-@@ -3615,7 +3615,7 @@ static ssize_t cm_show_counter(struct kobject *obj, struct attribute *attr,
+@@ -3635,7 +3635,7 @@ static ssize_t cm_show_counter(struct kobject *obj, struct attribute *attr,
        cm_attr = container_of(attr, struct cm_counter_attribute, attr);
  
        return sprintf(buf, "%ld\n",
@@ -29949,10 +31998,10 @@ index fc0f2bd..ac2f8a5 100644
  
  static const struct sysfs_ops cm_counter_ops = {
 diff --git a/drivers/infiniband/core/fmr_pool.c b/drivers/infiniband/core/fmr_pool.c
-index 4507043..14ad522 100644
+index 176c8f9..2627b62 100644
 --- a/drivers/infiniband/core/fmr_pool.c
 +++ b/drivers/infiniband/core/fmr_pool.c
-@@ -97,8 +97,8 @@ struct ib_fmr_pool {
+@@ -98,8 +98,8 @@ struct ib_fmr_pool {
  
        struct task_struct       *thread;
  
@@ -29963,7 +32012,7 @@ index 4507043..14ad522 100644
  
        wait_queue_head_t         force_wait;
  };
-@@ -179,10 +179,10 @@ static int ib_fmr_cleanup_thread(void *pool_ptr)
+@@ -180,10 +180,10 @@ static int ib_fmr_cleanup_thread(void *pool_ptr)
        struct ib_fmr_pool *pool = pool_ptr;
  
        do {
@@ -29976,7 +32025,7 @@ index 4507043..14ad522 100644
                        wake_up_interruptible(&pool->force_wait);
  
                        if (pool->flush_function)
-@@ -190,7 +190,7 @@ static int ib_fmr_cleanup_thread(void *pool_ptr)
+@@ -191,7 +191,7 @@ static int ib_fmr_cleanup_thread(void *pool_ptr)
                }
  
                set_current_state(TASK_INTERRUPTIBLE);
@@ -29985,7 +32034,7 @@ index 4507043..14ad522 100644
                    !kthread_should_stop())
                        schedule();
                __set_current_state(TASK_RUNNING);
-@@ -282,8 +282,8 @@ struct ib_fmr_pool *ib_create_fmr_pool(struct ib_pd             *pd,
+@@ -283,8 +283,8 @@ struct ib_fmr_pool *ib_create_fmr_pool(struct ib_pd             *pd,
        pool->dirty_watermark = params->dirty_watermark;
        pool->dirty_len       = 0;
        spin_lock_init(&pool->pool_lock);
@@ -29996,7 +32045,7 @@ index 4507043..14ad522 100644
        init_waitqueue_head(&pool->force_wait);
  
        pool->thread = kthread_run(ib_fmr_cleanup_thread,
-@@ -411,11 +411,11 @@ int ib_flush_fmr_pool(struct ib_fmr_pool *pool)
+@@ -412,11 +412,11 @@ int ib_flush_fmr_pool(struct ib_fmr_pool *pool)
        }
        spin_unlock_irq(&pool->pool_lock);
  
@@ -30010,7 +32059,7 @@ index 4507043..14ad522 100644
                return -EINTR;
  
        return 0;
-@@ -525,7 +525,7 @@ int ib_fmr_pool_unmap(struct ib_pool_fmr *fmr)
+@@ -526,7 +526,7 @@ int ib_fmr_pool_unmap(struct ib_pool_fmr *fmr)
                } else {
                        list_add_tail(&fmr->list, &pool->dirty_list);
                        if (++pool->dirty_len >= pool->dirty_watermark) {
@@ -30042,18 +32091,18 @@ index 40c8353..946b0e4 100644
        PDBG("%s stag_state 0x%0x type 0x%0x pdid 0x%0x, stag_idx 0x%x\n",
             __func__, stag_state, type, pdid, stag_idx);
 diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c
-index 31ae1b1..2f5b038 100644
+index 31ae1b1..641d285 100644
 --- a/drivers/infiniband/hw/ipath/ipath_fs.c
 +++ b/drivers/infiniband/hw/ipath/ipath_fs.c
-@@ -113,6 +113,8 @@ static ssize_t atomic_counters_read(struct file *file, char __user *buf,
-       struct infinipath_counters counters;
-       struct ipath_devdata *dd;
-+      pax_track_stack();
-+
-       dd = file->f_path.dentry->d_inode->i_private;
-       dd->ipath_f_read_counters(dd, &counters);
+@@ -126,6 +126,8 @@ static const struct file_operations atomic_counters_ops = {
+ };
  
+ static ssize_t flash_read(struct file *file, char __user *buf,
++                        size_t count, loff_t *ppos) __size_overflow(3);
++static ssize_t flash_read(struct file *file, char __user *buf,
+                         size_t count, loff_t *ppos)
+ {
+       struct ipath_devdata *dd;
 diff --git a/drivers/infiniband/hw/ipath/ipath_rc.c b/drivers/infiniband/hw/ipath/ipath_rc.c
 index 79b3dbc..96e5fcc 100644
 --- a/drivers/infiniband/hw/ipath/ipath_rc.c
@@ -30109,7 +32158,7 @@ index 1f95bba..9530f87 100644
                                      sdata, wqe->wr.wr.atomic.swap);
                goto send_comp;
 diff --git a/drivers/infiniband/hw/nes/nes.c b/drivers/infiniband/hw/nes/nes.c
-index 2d668c6..3312bb7 100644
+index 5965b3d..16817fb 100644
 --- a/drivers/infiniband/hw/nes/nes.c
 +++ b/drivers/infiniband/hw/nes/nes.c
 @@ -103,7 +103,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limit max read request size to 256 Bytes");
@@ -30121,7 +32170,7 @@ index 2d668c6..3312bb7 100644
  
  static unsigned int ee_flsh_adapter;
  static unsigned int sysfs_nonidx_addr;
-@@ -275,7 +275,7 @@ static void nes_cqp_rem_ref_callback(struct nes_device *nesdev, struct nes_cqp_r
+@@ -272,7 +272,7 @@ static void nes_cqp_rem_ref_callback(struct nes_device *nesdev, struct nes_cqp_r
        struct nes_qp *nesqp = cqp_request->cqp_callback_pointer;
        struct nes_adapter *nesadapter = nesdev->nesadapter;
  
@@ -30131,10 +32180,10 @@ index 2d668c6..3312bb7 100644
        /* Free the control structures */
  
 diff --git a/drivers/infiniband/hw/nes/nes.h b/drivers/infiniband/hw/nes/nes.h
-index 6fe7987..68637b5 100644
+index 568b4f1..5ea3eff 100644
 --- a/drivers/infiniband/hw/nes/nes.h
 +++ b/drivers/infiniband/hw/nes/nes.h
-@@ -175,17 +175,17 @@ extern unsigned int nes_debug_level;
+@@ -178,17 +178,17 @@ extern unsigned int nes_debug_level;
  extern unsigned int wqm_quanta;
  extern struct list_head nes_adapter_list;
  
@@ -30163,7 +32212,7 @@ index 6fe7987..68637b5 100644
  extern u32 mh_detected;
  extern u32 mh_pauses_sent;
  extern u32 cm_packets_sent;
-@@ -194,14 +194,14 @@ extern u32 cm_packets_created;
+@@ -197,16 +197,16 @@ extern u32 cm_packets_created;
  extern u32 cm_packets_received;
  extern u32 cm_packets_dropped;
  extern u32 cm_packets_retrans;
@@ -30177,16 +32226,20 @@ index 6fe7987..68637b5 100644
 -extern atomic_t cm_nodes_destroyed;
 -extern atomic_t cm_accel_dropped_pkts;
 -extern atomic_t cm_resets_recvd;
+-extern atomic_t pau_qps_created;
+-extern atomic_t pau_qps_destroyed;
 +extern atomic_unchecked_t cm_loopbacks;
 +extern atomic_unchecked_t cm_nodes_created;
 +extern atomic_unchecked_t cm_nodes_destroyed;
 +extern atomic_unchecked_t cm_accel_dropped_pkts;
 +extern atomic_unchecked_t cm_resets_recvd;
++extern atomic_unchecked_t pau_qps_created;
++extern atomic_unchecked_t pau_qps_destroyed;
  
  extern u32 int_mod_timer_init;
  extern u32 int_mod_cq_depth_256;
 diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
-index a237547..28a9819 100644
+index 0a52d72..0642f36 100644
 --- a/drivers/infiniband/hw/nes/nes_cm.c
 +++ b/drivers/infiniband/hw/nes/nes_cm.c
 @@ -68,14 +68,14 @@ u32 cm_packets_dropped;
@@ -30209,9 +32262,9 @@ index a237547..28a9819 100644
 +atomic_unchecked_t cm_accel_dropped_pkts;
 +atomic_unchecked_t cm_resets_recvd;
  
- static inline int mini_cm_accelerated(struct nes_cm_core *,
      struct nes_cm_node *);
-@@ -151,13 +151,13 @@ static struct nes_cm_ops nes_cm_api = {
+ static inline int mini_cm_accelerated(struct nes_cm_core *, struct nes_cm_node *);
static struct nes_cm_listener *mini_cm_listen(struct nes_cm_core *, struct nes_vnic *, struct nes_cm_info *);
+@@ -148,13 +148,13 @@ static struct nes_cm_ops nes_cm_api = {
  
  static struct nes_cm_core *g_cm_core;
  
@@ -30230,9 +32283,9 @@ index a237547..28a9819 100644
 +atomic_unchecked_t cm_connect_reqs;
 +atomic_unchecked_t cm_rejects;
  
- /**
-@@ -1045,7 +1045,7 @@ static int mini_cm_dec_refcnt_listen(struct nes_cm_core *cm_core,
+ int nes_add_ref_cm_node(struct nes_cm_node *cm_node)
+ {
+@@ -1271,7 +1271,7 @@ static int mini_cm_dec_refcnt_listen(struct nes_cm_core *cm_core,
                kfree(listener);
                listener = NULL;
                ret = 0;
@@ -30241,7 +32294,7 @@ index a237547..28a9819 100644
        } else {
                spin_unlock_irqrestore(&cm_core->listen_list_lock, flags);
        }
-@@ -1242,7 +1242,7 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,
+@@ -1473,7 +1473,7 @@ static struct nes_cm_node *make_cm_node(struct nes_cm_core *cm_core,
                  cm_node->rem_mac);
  
        add_hte_node(cm_core, cm_node);
@@ -30250,7 +32303,7 @@ index a237547..28a9819 100644
  
        return cm_node;
  }
-@@ -1300,7 +1300,7 @@ static int rem_ref_cm_node(struct nes_cm_core *cm_core,
+@@ -1531,7 +1531,7 @@ static int rem_ref_cm_node(struct nes_cm_core *cm_core,
        }
  
        atomic_dec(&cm_core->node_cnt);
@@ -30259,7 +32312,7 @@ index a237547..28a9819 100644
        nesqp = cm_node->nesqp;
        if (nesqp) {
                nesqp->cm_node = NULL;
-@@ -1367,7 +1367,7 @@ static int process_options(struct nes_cm_node *cm_node, u8 *optionsloc,
+@@ -1595,7 +1595,7 @@ static int process_options(struct nes_cm_node *cm_node, u8 *optionsloc,
  
  static void drop_packet(struct sk_buff *skb)
  {
@@ -30268,7 +32321,7 @@ index a237547..28a9819 100644
        dev_kfree_skb_any(skb);
  }
  
-@@ -1430,7 +1430,7 @@ static void handle_rst_pkt(struct nes_cm_node *cm_node, struct sk_buff *skb,
+@@ -1658,7 +1658,7 @@ static void handle_rst_pkt(struct nes_cm_node *cm_node, struct sk_buff *skb,
  {
  
        int     reset = 0;      /* whether to send reset in case of err.. */
@@ -30277,7 +32330,7 @@ index a237547..28a9819 100644
        nes_debug(NES_DBG_CM, "Received Reset, cm_node = %p, state = %u."
                        " refcnt=%d\n", cm_node, cm_node->state,
                        atomic_read(&cm_node->ref_count));
-@@ -2059,7 +2059,7 @@ static struct nes_cm_node *mini_cm_connect(struct nes_cm_core *cm_core,
+@@ -2299,7 +2299,7 @@ static struct nes_cm_node *mini_cm_connect(struct nes_cm_core *cm_core,
                                rem_ref_cm_node(cm_node->cm_core, cm_node);
                                return NULL;
                        }
@@ -30286,16 +32339,16 @@ index a237547..28a9819 100644
                        loopbackremotenode->loopbackpartner = cm_node;
                        loopbackremotenode->tcp_cntxt.rcv_wscale =
                                NES_CM_DEFAULT_RCV_WND_SCALE;
-@@ -2334,7 +2334,7 @@ static int mini_cm_recv_pkt(struct nes_cm_core *cm_core,
-                       add_ref_cm_node(cm_node);
-               } else if (cm_node->state == NES_CM_STATE_TSA) {
-                       rem_ref_cm_node(cm_core, cm_node);
--                      atomic_inc(&cm_accel_dropped_pkts);
-+                      atomic_inc_unchecked(&cm_accel_dropped_pkts);
-                       dev_kfree_skb_any(skb);
+@@ -2574,7 +2574,7 @@ static int mini_cm_recv_pkt(struct nes_cm_core *cm_core,
+                               nes_queue_mgt_skbs(skb, nesvnic, cm_node->nesqp);
+                       else {
+                               rem_ref_cm_node(cm_core, cm_node);
+-                              atomic_inc(&cm_accel_dropped_pkts);
++                              atomic_inc_unchecked(&cm_accel_dropped_pkts);
+                               dev_kfree_skb_any(skb);
+                       }
                        break;
-               }
-@@ -2640,7 +2640,7 @@ static int nes_cm_disconn_true(struct nes_qp *nesqp)
+@@ -2880,7 +2880,7 @@ static int nes_cm_disconn_true(struct nes_qp *nesqp)
  
        if ((cm_id) && (cm_id->event_handler)) {
                if (issue_disconn) {
@@ -30304,7 +32357,7 @@ index a237547..28a9819 100644
                        cm_event.event = IW_CM_EVENT_DISCONNECT;
                        cm_event.status = disconn_status;
                        cm_event.local_addr = cm_id->local_addr;
-@@ -2662,7 +2662,7 @@ static int nes_cm_disconn_true(struct nes_qp *nesqp)
+@@ -2902,7 +2902,7 @@ static int nes_cm_disconn_true(struct nes_qp *nesqp)
                }
  
                if (issue_close) {
@@ -30313,7 +32366,7 @@ index a237547..28a9819 100644
                        nes_disconnect(nesqp, 1);
  
                        cm_id->provider_data = nesqp;
-@@ -2793,7 +2793,7 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
+@@ -3038,7 +3038,7 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
  
        nes_debug(NES_DBG_CM, "QP%u, cm_node=%p, jiffies = %lu listener = %p\n",
                nesqp->hwqp.qp_id, cm_node, jiffies, cm_node->listener);
@@ -30322,25 +32375,25 @@ index a237547..28a9819 100644
  
        nes_debug(NES_DBG_CM, "netdev refcnt = %u.\n",
                        netdev_refcnt_read(nesvnic->netdev));
-@@ -3003,7 +3003,7 @@ int nes_reject(struct iw_cm_id *cm_id, const void *pdata, u8 pdata_len)
+@@ -3240,7 +3240,7 @@ int nes_reject(struct iw_cm_id *cm_id, const void *pdata, u8 pdata_len)
        struct nes_cm_core *cm_core;
+       u8 *start_buff;
  
 -      atomic_inc(&cm_rejects);
 +      atomic_inc_unchecked(&cm_rejects);
-       cm_node = (struct nes_cm_node *) cm_id->provider_data;
+       cm_node = (struct nes_cm_node *)cm_id->provider_data;
        loopback = cm_node->loopbackpartner;
        cm_core = cm_node->cm_core;
-@@ -3069,7 +3069,7 @@ int nes_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
-               ntohl(cm_id->local_addr.sin_addr.s_addr),
-               ntohs(cm_id->local_addr.sin_port));
+@@ -3300,7 +3300,7 @@ int nes_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
+                 ntohl(cm_id->local_addr.sin_addr.s_addr),
+                 ntohs(cm_id->local_addr.sin_port));
  
 -      atomic_inc(&cm_connects);
 +      atomic_inc_unchecked(&cm_connects);
        nesqp->active_conn = 1;
  
        /* cache the cm_id in the qp */
-@@ -3175,7 +3175,7 @@ int nes_create_listen(struct iw_cm_id *cm_id, int backlog)
+@@ -3406,7 +3406,7 @@ int nes_create_listen(struct iw_cm_id *cm_id, int backlog)
                        g_cm_core->api->stop_listener(g_cm_core, (void *)cm_node);
                        return err;
                }
@@ -30349,16 +32402,16 @@ index a237547..28a9819 100644
        }
  
        cm_id->add_ref(cm_id);
-@@ -3280,7 +3280,7 @@ static void cm_event_connected(struct nes_cm_event *event)
-       if (nesqp->destroyed) {
+@@ -3507,7 +3507,7 @@ static void cm_event_connected(struct nes_cm_event *event)
+       if (nesqp->destroyed)
                return;
-       }
 -      atomic_inc(&cm_connecteds);
 +      atomic_inc_unchecked(&cm_connecteds);
        nes_debug(NES_DBG_CM, "QP%u attempting to connect to  0x%08X:0x%04X on"
-                       " local port 0x%04X. jiffies = %lu.\n",
-                       nesqp->hwqp.qp_id,
-@@ -3495,7 +3495,7 @@ static void cm_event_reset(struct nes_cm_event *event)
+                 " local port 0x%04X. jiffies = %lu.\n",
+                 nesqp->hwqp.qp_id,
+@@ -3694,7 +3694,7 @@ static void cm_event_reset(struct nes_cm_event *event)
  
        cm_id->add_ref(cm_id);
        ret = cm_id->event_handler(cm_id, &cm_event);
@@ -30367,29 +32420,62 @@ index a237547..28a9819 100644
        cm_event.event = IW_CM_EVENT_CLOSE;
        cm_event.status = 0;
        cm_event.provider_data = cm_id->provider_data;
-@@ -3531,7 +3531,7 @@ static void cm_event_mpa_req(struct nes_cm_event *event)
+@@ -3730,7 +3730,7 @@ static void cm_event_mpa_req(struct nes_cm_event *event)
                return;
        cm_id = cm_node->cm_id;
  
 -      atomic_inc(&cm_connect_reqs);
 +      atomic_inc_unchecked(&cm_connect_reqs);
        nes_debug(NES_DBG_CM, "cm_node = %p - cm_id = %p, jiffies = %lu\n",
-                       cm_node, cm_id, jiffies);
+                 cm_node, cm_id, jiffies);
  
-@@ -3569,7 +3569,7 @@ static void cm_event_mpa_reject(struct nes_cm_event *event)
+@@ -3770,7 +3770,7 @@ static void cm_event_mpa_reject(struct nes_cm_event *event)
                return;
        cm_id = cm_node->cm_id;
  
 -      atomic_inc(&cm_connect_reqs);
 +      atomic_inc_unchecked(&cm_connect_reqs);
        nes_debug(NES_DBG_CM, "cm_node = %p - cm_id = %p, jiffies = %lu\n",
-                       cm_node, cm_id, jiffies);
+                 cm_node, cm_id, jiffies);
+diff --git a/drivers/infiniband/hw/nes/nes_mgt.c b/drivers/infiniband/hw/nes/nes_mgt.c
+index b3b2a24..7bfaf1e 100644
+--- a/drivers/infiniband/hw/nes/nes_mgt.c
++++ b/drivers/infiniband/hw/nes/nes_mgt.c
+@@ -40,8 +40,8 @@
+ #include "nes.h"
+ #include "nes_mgt.h"
+-atomic_t pau_qps_created;
+-atomic_t pau_qps_destroyed;
++atomic_unchecked_t pau_qps_created;
++atomic_unchecked_t pau_qps_destroyed;
+ static void nes_replenish_mgt_rq(struct nes_vnic_mgt *mgtvnic)
+ {
+@@ -621,7 +621,7 @@ void nes_destroy_pau_qp(struct nes_device *nesdev, struct nes_qp *nesqp)
+ {
+       struct sk_buff *skb;
+       unsigned long flags;
+-      atomic_inc(&pau_qps_destroyed);
++      atomic_inc_unchecked(&pau_qps_destroyed);
+       /* Free packets that have not yet been forwarded */
+       /* Lock is acquired by skb_dequeue when removing the skb */
+@@ -812,7 +812,7 @@ static void nes_mgt_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *
+                                       cq->cq_vbase[head].cqe_words[NES_NIC_CQE_HASH_RCVNXT]);
+                               skb_queue_head_init(&nesqp->pau_list);
+                               spin_lock_init(&nesqp->pau_lock);
+-                              atomic_inc(&pau_qps_created);
++                              atomic_inc_unchecked(&pau_qps_created);
+                               nes_change_quad_hash(nesdev, mgtvnic->nesvnic, nesqp);
+                       }
  
 diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
-index 9d7ffeb..a95dd7d 100644
+index c00d2f3..8834298 100644
 --- a/drivers/infiniband/hw/nes/nes_nic.c
 +++ b/drivers/infiniband/hw/nes/nes_nic.c
-@@ -1274,31 +1274,31 @@ static void nes_netdev_get_ethtool_stats(struct net_device *netdev,
+@@ -1277,39 +1277,39 @@ static void nes_netdev_get_ethtool_stats(struct net_device *netdev,
        target_stat_values[++index] = mh_detected;
        target_stat_values[++index] = mh_pauses_sent;
        target_stat_values[++index] = nesvnic->endnode_ipv4_tcp_retransmits;
@@ -30439,8 +32525,18 @@ index 9d7ffeb..a95dd7d 100644
        target_stat_values[++index] = nesadapter->free_4kpbl;
        target_stat_values[++index] = nesadapter->free_256pbl;
        target_stat_values[++index] = int_mod_timer_init;
+       target_stat_values[++index] = nesvnic->lro_mgr.stats.aggregated;
+       target_stat_values[++index] = nesvnic->lro_mgr.stats.flushed;
+       target_stat_values[++index] = nesvnic->lro_mgr.stats.no_desc;
+-      target_stat_values[++index] = atomic_read(&pau_qps_created);
+-      target_stat_values[++index] = atomic_read(&pau_qps_destroyed);
++      target_stat_values[++index] = atomic_read_unchecked(&pau_qps_created);
++      target_stat_values[++index] = atomic_read_unchecked(&pau_qps_destroyed);
+ }
+ /**
 diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c
-index 9f2f7d4..6d2fee2 100644
+index 5095bc4..41e8fff 100644
 --- a/drivers/infiniband/hw/nes/nes_verbs.c
 +++ b/drivers/infiniband/hw/nes/nes_verbs.c
 @@ -46,9 +46,9 @@
@@ -30467,7 +32563,7 @@ index 9f2f7d4..6d2fee2 100644
                        if (nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) {
 @@ -1460,7 +1460,7 @@ static int nes_destroy_qp(struct ib_qp *ibqp)
        struct iw_cm_event cm_event;
-       int ret;
+       int ret = 0;
  
 -      atomic_inc(&sw_qps_destroyed);
 +      atomic_inc_unchecked(&sw_qps_destroyed);
@@ -30475,7 +32571,7 @@ index 9f2f7d4..6d2fee2 100644
  
        /* Blow away the connection if it exists. */
 diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h
-index c9624ea..e025b66 100644
+index b881bdc..c2e360c 100644
 --- a/drivers/infiniband/hw/qib/qib.h
 +++ b/drivers/infiniband/hw/qib/qib.h
 @@ -51,6 +51,7 @@
@@ -30486,6 +32582,19 @@ index c9624ea..e025b66 100644
  
  #include "qib_common.h"
  #include "qib_verbs.h"
+diff --git a/drivers/infiniband/hw/qib/qib_fs.c b/drivers/infiniband/hw/qib/qib_fs.c
+index df7fa25..0c854f0 100644
+--- a/drivers/infiniband/hw/qib/qib_fs.c
++++ b/drivers/infiniband/hw/qib/qib_fs.c
+@@ -267,6 +267,8 @@ static const struct file_operations qsfp_ops[] = {
+ };
+ static ssize_t flash_read(struct file *file, char __user *buf,
++                        size_t count, loff_t *ppos) __size_overflow(3);
++static ssize_t flash_read(struct file *file, char __user *buf,
+                         size_t count, loff_t *ppos)
+ {
+       struct qib_devdata *dd;
 diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c
 index c351aa4..e6967c2 100644
 --- a/drivers/input/gameport/gameport.c
@@ -30530,7 +32639,7 @@ index da38d97..2aa0b79 100644
        error = device_add(&dev->dev);
        if (error)
 diff --git a/drivers/input/joystick/sidewinder.c b/drivers/input/joystick/sidewinder.c
-index b8d8611..15f8d2c 100644
+index b8d8611..7a4a04b 100644
 --- a/drivers/input/joystick/sidewinder.c
 +++ b/drivers/input/joystick/sidewinder.c
 @@ -30,6 +30,7 @@
@@ -30541,15 +32650,6 @@ index b8d8611..15f8d2c 100644
  #include <linux/init.h>
  #include <linux/input.h>
  #include <linux/gameport.h>
-@@ -428,6 +429,8 @@ static int sw_read(struct sw *sw)
-       unsigned char buf[SW_LENGTH];
-       int i;
-+      pax_track_stack();
-+
-       i = sw_read_packet(sw->gameport, buf, sw->length, 0);
-       if (sw->type == SW_ID_3DP && sw->length == 66 && i != 66) {             /* Broken packet, try to fix */
 diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
 index d728875..844c89b 100644
 --- a/drivers/input/joystick/xpad.c
@@ -30683,10 +32783,10 @@ index 212efaf..f187c6b 100644
        struct tasklet_struct if_wake_tasklet;
        unsigned control_state;
 diff --git a/drivers/isdn/gigaset/interface.c b/drivers/isdn/gigaset/interface.c
-index e35058b..5898a8b 100644
+index ee0a549..a7c9798 100644
 --- a/drivers/isdn/gigaset/interface.c
 +++ b/drivers/isdn/gigaset/interface.c
-@@ -162,9 +162,7 @@ static int if_open(struct tty_struct *tty, struct file *filp)
+@@ -163,9 +163,7 @@ static int if_open(struct tty_struct *tty, struct file *filp)
        }
        tty->driver_data = cs;
  
@@ -30697,7 +32797,7 @@ index e35058b..5898a8b 100644
                spin_lock_irqsave(&cs->lock, flags);
                cs->tty = tty;
                spin_unlock_irqrestore(&cs->lock, flags);
-@@ -192,10 +190,10 @@ static void if_close(struct tty_struct *tty, struct file *filp)
+@@ -193,10 +191,10 @@ static void if_close(struct tty_struct *tty, struct file *filp)
  
        if (!cs->connected)
                gig_dbg(DEBUG_IF, "not connected");     /* nothing to do */
@@ -30710,7 +32810,7 @@ index e35058b..5898a8b 100644
                        spin_lock_irqsave(&cs->lock, flags);
                        cs->tty = NULL;
                        spin_unlock_irqrestore(&cs->lock, flags);
-@@ -230,7 +228,7 @@ static int if_ioctl(struct tty_struct *tty,
+@@ -231,7 +229,7 @@ static int if_ioctl(struct tty_struct *tty,
        if (!cs->connected) {
                gig_dbg(DEBUG_IF, "not connected");
                retval = -ENODEV;
@@ -30719,7 +32819,7 @@ index e35058b..5898a8b 100644
                dev_warn(cs->dev, "%s: device not opened\n", __func__);
        else {
                retval = 0;
-@@ -360,7 +358,7 @@ static int if_write(struct tty_struct *tty, const unsigned char *buf, int count)
+@@ -361,7 +359,7 @@ static int if_write(struct tty_struct *tty, const unsigned char *buf, int count)
                retval = -ENODEV;
                goto done;
        }
@@ -30728,7 +32828,7 @@ index e35058b..5898a8b 100644
                dev_warn(cs->dev, "%s: device not opened\n", __func__);
                retval = -ENODEV;
                goto done;
-@@ -413,7 +411,7 @@ static int if_write_room(struct tty_struct *tty)
+@@ -414,7 +412,7 @@ static int if_write_room(struct tty_struct *tty)
        if (!cs->connected) {
                gig_dbg(DEBUG_IF, "not connected");
                retval = -ENODEV;
@@ -30737,7 +32837,7 @@ index e35058b..5898a8b 100644
                dev_warn(cs->dev, "%s: device not opened\n", __func__);
        else if (cs->mstate != MS_LOCKED) {
                dev_warn(cs->dev, "can't write to unlocked device\n");
-@@ -443,7 +441,7 @@ static int if_chars_in_buffer(struct tty_struct *tty)
+@@ -444,7 +442,7 @@ static int if_chars_in_buffer(struct tty_struct *tty)
  
        if (!cs->connected)
                gig_dbg(DEBUG_IF, "not connected");
@@ -30746,7 +32846,7 @@ index e35058b..5898a8b 100644
                dev_warn(cs->dev, "%s: device not opened\n", __func__);
        else if (cs->mstate != MS_LOCKED)
                dev_warn(cs->dev, "can't write to unlocked device\n");
-@@ -471,7 +469,7 @@ static void if_throttle(struct tty_struct *tty)
+@@ -472,7 +470,7 @@ static void if_throttle(struct tty_struct *tty)
  
        if (!cs->connected)
                gig_dbg(DEBUG_IF, "not connected");     /* nothing to do */
@@ -30755,7 +32855,7 @@ index e35058b..5898a8b 100644
                dev_warn(cs->dev, "%s: device not opened\n", __func__);
        else
                gig_dbg(DEBUG_IF, "%s: not implemented\n", __func__);
-@@ -495,7 +493,7 @@ static void if_unthrottle(struct tty_struct *tty)
+@@ -496,7 +494,7 @@ static void if_unthrottle(struct tty_struct *tty)
  
        if (!cs->connected)
                gig_dbg(DEBUG_IF, "not connected");     /* nothing to do */
@@ -30764,7 +32864,7 @@ index e35058b..5898a8b 100644
                dev_warn(cs->dev, "%s: device not opened\n", __func__);
        else
                gig_dbg(DEBUG_IF, "%s: not implemented\n", __func__);
-@@ -526,7 +524,7 @@ static void if_set_termios(struct tty_struct *tty, struct ktermios *old)
+@@ -527,7 +525,7 @@ static void if_set_termios(struct tty_struct *tty, struct ktermios *old)
                goto out;
        }
  
@@ -30795,57 +32895,6 @@ index 2a57da59..e7a12ed 100644
                                return -EFAULT;
                } else {
                        memcpy(buf, dp, left);
-diff --git a/drivers/isdn/hardware/eicon/capidtmf.c b/drivers/isdn/hardware/eicon/capidtmf.c
-index f130724..c373c68 100644
---- a/drivers/isdn/hardware/eicon/capidtmf.c
-+++ b/drivers/isdn/hardware/eicon/capidtmf.c
-@@ -498,6 +498,7 @@ void capidtmf_recv_block (t_capidtmf_state   *p_state, byte   *buffer, word leng
-   byte goertzel_result_buffer[CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT];
-     short windowed_sample_buffer[CAPIDTMF_RECV_WINDOWED_SAMPLES];
-+  pax_track_stack();
-   if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE)
-   {
-diff --git a/drivers/isdn/hardware/eicon/capifunc.c b/drivers/isdn/hardware/eicon/capifunc.c
-index 4d425c6..a9be6c4 100644
---- a/drivers/isdn/hardware/eicon/capifunc.c
-+++ b/drivers/isdn/hardware/eicon/capifunc.c
-@@ -1055,6 +1055,8 @@ static int divacapi_connect_didd(void)
-       IDI_SYNC_REQ req;
-       DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
-+      pax_track_stack();
-+
-       DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
-       for (x = 0; x < MAX_DESCRIPTORS; x++) {
-diff --git a/drivers/isdn/hardware/eicon/diddfunc.c b/drivers/isdn/hardware/eicon/diddfunc.c
-index 3029234..ef0d9e2 100644
---- a/drivers/isdn/hardware/eicon/diddfunc.c
-+++ b/drivers/isdn/hardware/eicon/diddfunc.c
-@@ -54,6 +54,8 @@ static int DIVA_INIT_FUNCTION connect_didd(void)
-       IDI_SYNC_REQ req;
-       DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
-+      pax_track_stack();
-+
-       DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
-       for (x = 0; x < MAX_DESCRIPTORS; x++) {
-diff --git a/drivers/isdn/hardware/eicon/divasfunc.c b/drivers/isdn/hardware/eicon/divasfunc.c
-index 0bbee78..a0d0a01 100644
---- a/drivers/isdn/hardware/eicon/divasfunc.c
-+++ b/drivers/isdn/hardware/eicon/divasfunc.c
-@@ -160,6 +160,8 @@ static int DIVA_INIT_FUNCTION connect_didd(void)
-       IDI_SYNC_REQ req;
-       DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
-+      pax_track_stack();
-+
-       DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
-       for (x = 0; x < MAX_DESCRIPTORS; x++) {
 diff --git a/drivers/isdn/hardware/eicon/divasync.h b/drivers/isdn/hardware/eicon/divasync.h
 index 85784a7..a19ca98 100644
 --- a/drivers/isdn/hardware/eicon/divasync.h
@@ -30859,72 +32908,6 @@ index 85784a7..a19ca98 100644
  typedef struct _diva_didd_read_adapter_array {
   void   * buffer;
   dword length;
-diff --git a/drivers/isdn/hardware/eicon/idifunc.c b/drivers/isdn/hardware/eicon/idifunc.c
-index db87d51..7d09acf 100644
---- a/drivers/isdn/hardware/eicon/idifunc.c
-+++ b/drivers/isdn/hardware/eicon/idifunc.c
-@@ -188,6 +188,8 @@ static int DIVA_INIT_FUNCTION connect_didd(void)
-       IDI_SYNC_REQ req;
-       DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
-+      pax_track_stack();
-+
-       DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
-       for (x = 0; x < MAX_DESCRIPTORS; x++) {
-diff --git a/drivers/isdn/hardware/eicon/message.c b/drivers/isdn/hardware/eicon/message.c
-index a339598..b6a8bfc 100644
---- a/drivers/isdn/hardware/eicon/message.c
-+++ b/drivers/isdn/hardware/eicon/message.c
-@@ -4886,6 +4886,8 @@ static void sig_ind(PLCI *plci)
-   dword d;
-   word w;
-+  pax_track_stack();
-+
-   a = plci->adapter;
-   Id = ((word)plci->Id<<8)|a->Id;
-   PUT_WORD(&SS_Ind[4],0x0000);
-@@ -7480,6 +7482,8 @@ static word add_b1(PLCI *plci, API_PARSE *bp, word b_channel_info,
-   word j, n, w;
-   dword d;
-+  pax_track_stack();
-+
-   for(i=0;i<8;i++) bp_parms[i].length = 0;
-   for(i=0;i<2;i++) global_config[i].length = 0;
-@@ -7954,6 +7958,8 @@ static word add_b23(PLCI *plci, API_PARSE *bp)
-   const byte llc3[] = {4,3,2,2,6,6,0};
-   const byte header[] = {0,2,3,3,0,0,0};
-+  pax_track_stack();
-+
-   for(i=0;i<8;i++) bp_parms[i].length = 0;
-   for(i=0;i<6;i++) b2_config_parms[i].length = 0;
-   for(i=0;i<5;i++) b3_config_parms[i].length = 0;
-@@ -14741,6 +14747,8 @@ static void group_optimization(DIVA_CAPI_ADAPTER   * a, PLCI   * plci)
-   word appl_number_group_type[MAX_APPL];
-   PLCI   *auxplci;
-+  pax_track_stack();
-+
-   set_group_ind_mask (plci); /* all APPLs within this inc. call are allowed to dial in */
-   if(!a->group_optimization_enabled)
-diff --git a/drivers/isdn/hardware/eicon/mntfunc.c b/drivers/isdn/hardware/eicon/mntfunc.c
-index a564b75..f3cf8b5 100644
---- a/drivers/isdn/hardware/eicon/mntfunc.c
-+++ b/drivers/isdn/hardware/eicon/mntfunc.c
-@@ -79,6 +79,8 @@ static int DIVA_INIT_FUNCTION connect_didd(void)
-       IDI_SYNC_REQ req;
-       DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
-+      pax_track_stack();
-+
-       DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
-       for (x = 0; x < MAX_DESCRIPTORS; x++) {
 diff --git a/drivers/isdn/hardware/eicon/xdi_adapter.h b/drivers/isdn/hardware/eicon/xdi_adapter.h
 index a3bd163..8956575 100644
 --- a/drivers/isdn/hardware/eicon/xdi_adapter.h
@@ -30938,19 +32921,19 @@ index a3bd163..8956575 100644
  
  typedef struct _diva_os_xdi_adapter {
        struct list_head link;
-diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c
-index 6ed82ad..b05ac05 100644
---- a/drivers/isdn/i4l/isdn_common.c
-+++ b/drivers/isdn/i4l/isdn_common.c
-@@ -1286,6 +1286,8 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
-       } iocpar;
-       void __user *argp = (void __user *)arg;
-+      pax_track_stack();
-+
- #define name  iocpar.name
- #define bname iocpar.bname
- #define iocts iocpar.iocts
+diff --git a/drivers/isdn/i4l/isdn_net.c b/drivers/isdn/i4l/isdn_net.c
+index 2339d73..802ab87a 100644
+--- a/drivers/isdn/i4l/isdn_net.c
++++ b/drivers/isdn/i4l/isdn_net.c
+@@ -1901,7 +1901,7 @@ static int isdn_net_header(struct sk_buff *skb, struct net_device *dev,
+ {
+       isdn_net_local *lp = netdev_priv(dev);
+       unsigned char *p;
+-      ushort len = 0;
++      int len = 0;
+       switch (lp->p_encap) {
+               case ISDN_NET_ENCAP_ETHER:
 diff --git a/drivers/isdn/icn/icn.c b/drivers/isdn/icn/icn.c
 index 1f355bb..43f1fea 100644
 --- a/drivers/isdn/icn/icn.c
@@ -30965,7 +32948,7 @@ index 1f355bb..43f1fea 100644
                } else
                        memcpy(msg, buf, count);
 diff --git a/drivers/lguest/core.c b/drivers/lguest/core.c
-index 2535933..09a8e86 100644
+index b5fdcb7..5b6c59f 100644
 --- a/drivers/lguest/core.c
 +++ b/drivers/lguest/core.c
 @@ -92,9 +92,17 @@ static __init int map_switcher(void)
@@ -30995,6 +32978,18 @@ index 2535933..09a8e86 100644
               end_switcher_text - start_switcher_text);
  
        printk(KERN_INFO "lguest: mapped switcher at %p\n",
+diff --git a/drivers/lguest/lguest_user.c b/drivers/lguest/lguest_user.c
+index ff4a0bc..f5fdd9c 100644
+--- a/drivers/lguest/lguest_user.c
++++ b/drivers/lguest/lguest_user.c
+@@ -198,6 +198,7 @@ static int user_send_irq(struct lg_cpu *cpu, const unsigned long __user *input)
+  * Once our Guest is initialized, the Launcher makes it run by reading
+  * from /dev/lguest.
+  */
++static ssize_t read(struct file *file, char __user *user, size_t size,loff_t*o) __size_overflow(3);
+ static ssize_t read(struct file *file, char __user *user, size_t size,loff_t*o)
+ {
+       struct lguest *lg = file->private_data;
 diff --git a/drivers/lguest/x86/core.c b/drivers/lguest/x86/core.c
 index 65af42f..530c87a 100644
 --- a/drivers/lguest/x86/core.c
@@ -31116,10 +33111,10 @@ index 4daf9e5..b8d1d0f 100644
        .device         = PCI_ANY_ID,
        .subvendor      = PCI_ANY_ID,
 diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
-index 2e9a3ca..c2fb229 100644
+index 1ce84ed..0fdd40a 100644
 --- a/drivers/md/dm-ioctl.c
 +++ b/drivers/md/dm-ioctl.c
-@@ -1578,7 +1578,7 @@ static int validate_params(uint cmd, struct dm_ioctl *param)
+@@ -1589,7 +1589,7 @@ static int validate_params(uint cmd, struct dm_ioctl *param)
            cmd == DM_LIST_VERSIONS_CMD)
                return 0;
  
@@ -31247,10 +33242,10 @@ index 3d80cf0..b77cc47 100644
                                schedule_work(&sc->trigger_event);
                }
 diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
-index bc04518..7a83b81 100644
+index 8e91321..fd17aef 100644
 --- a/drivers/md/dm-table.c
 +++ b/drivers/md/dm-table.c
-@@ -389,7 +389,7 @@ static int device_area_is_invalid(struct dm_target *ti, struct dm_dev *dev,
+@@ -391,7 +391,7 @@ static int device_area_is_invalid(struct dm_target *ti, struct dm_dev *dev,
        if (!dev_size)
                return 0;
  
@@ -31259,11 +33254,33 @@ index bc04518..7a83b81 100644
                DMWARN("%s: %s too small for target: "
                       "start=%llu, len=%llu, dev_size=%llu",
                       dm_device_name(ti->table->md), bdevname(bdev, b),
+diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
+index 237571a..fb6d19b 100644
+--- a/drivers/md/dm-thin-metadata.c
++++ b/drivers/md/dm-thin-metadata.c
+@@ -432,7 +432,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
+       pmd->info.tm = tm;
+       pmd->info.levels = 2;
+-      pmd->info.value_type.context = pmd->data_sm;
++      pmd->info.value_type.context = (dm_space_map_no_const *)pmd->data_sm;
+       pmd->info.value_type.size = sizeof(__le64);
+       pmd->info.value_type.inc = data_block_inc;
+       pmd->info.value_type.dec = data_block_dec;
+@@ -451,7 +451,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
+       pmd->bl_info.tm = tm;
+       pmd->bl_info.levels = 1;
+-      pmd->bl_info.value_type.context = pmd->data_sm;
++      pmd->bl_info.value_type.context = (dm_space_map_no_const *)pmd->data_sm;
+       pmd->bl_info.value_type.size = sizeof(__le64);
+       pmd->bl_info.value_type.inc = data_block_inc;
+       pmd->bl_info.value_type.dec = data_block_dec;
 diff --git a/drivers/md/dm.c b/drivers/md/dm.c
-index 52b39f3..83a8b6b 100644
+index 4720f68..78d1df7 100644
 --- a/drivers/md/dm.c
 +++ b/drivers/md/dm.c
-@@ -165,9 +165,9 @@ struct mapped_device {
+@@ -177,9 +177,9 @@ struct mapped_device {
        /*
         * Event handling.
         */
@@ -31275,7 +33292,7 @@ index 52b39f3..83a8b6b 100644
        struct list_head uevent_list;
        spinlock_t uevent_lock; /* Protect access to uevent_list */
  
-@@ -1843,8 +1843,8 @@ static struct mapped_device *alloc_dev(int minor)
+@@ -1845,8 +1845,8 @@ static struct mapped_device *alloc_dev(int minor)
        rwlock_init(&md->map_lock);
        atomic_set(&md->holders, 1);
        atomic_set(&md->open_count, 0);
@@ -31286,7 +33303,7 @@ index 52b39f3..83a8b6b 100644
        INIT_LIST_HEAD(&md->uevent_list);
        spin_lock_init(&md->uevent_lock);
  
-@@ -1978,7 +1978,7 @@ static void event_callback(void *context)
+@@ -1980,7 +1980,7 @@ static void event_callback(void *context)
  
        dm_send_uevents(&uevents, &disk_to_dev(md->disk)->kobj);
  
@@ -31295,7 +33312,7 @@ index 52b39f3..83a8b6b 100644
        wake_up(&md->eventq);
  }
  
-@@ -2614,18 +2614,18 @@ int dm_kobject_uevent(struct mapped_device *md, enum kobject_action action,
+@@ -2622,18 +2622,18 @@ int dm_kobject_uevent(struct mapped_device *md, enum kobject_action action,
  
  uint32_t dm_next_uevent_seq(struct mapped_device *md)
  {
@@ -31318,32 +33335,32 @@ index 52b39f3..83a8b6b 100644
  
  void dm_uevent_add(struct mapped_device *md, struct list_head *elist)
 diff --git a/drivers/md/md.c b/drivers/md/md.c
-index 5c95ccb..217fa57 100644
+index f47f1f8..b7f559e 100644
 --- a/drivers/md/md.c
 +++ b/drivers/md/md.c
-@@ -280,10 +280,10 @@ EXPORT_SYMBOL_GPL(md_trim_bio);
+@@ -278,10 +278,10 @@ EXPORT_SYMBOL_GPL(md_trim_bio);
   *  start build, activate spare
   */
  static DECLARE_WAIT_QUEUE_HEAD(md_event_waiters);
 -static atomic_t md_event_count;
 +static atomic_unchecked_t md_event_count;
- void md_new_event(mddev_t *mddev)
+ void md_new_event(struct mddev *mddev)
  {
 -      atomic_inc(&md_event_count);
 +      atomic_inc_unchecked(&md_event_count);
        wake_up(&md_event_waiters);
  }
  EXPORT_SYMBOL_GPL(md_new_event);
-@@ -293,7 +293,7 @@ EXPORT_SYMBOL_GPL(md_new_event);
+@@ -291,7 +291,7 @@ EXPORT_SYMBOL_GPL(md_new_event);
   */
- static void md_new_event_inintr(mddev_t *mddev)
+ static void md_new_event_inintr(struct mddev *mddev)
  {
 -      atomic_inc(&md_event_count);
 +      atomic_inc_unchecked(&md_event_count);
        wake_up(&md_event_waiters);
  }
  
-@@ -1531,7 +1531,7 @@ static int super_1_load(mdk_rdev_t *rdev, mdk_rdev_t *refdev, int minor_version)
+@@ -1525,7 +1525,7 @@ static int super_1_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor_
  
        rdev->preferred_minor = 0xffff;
        rdev->data_offset = le64_to_cpu(sb->data_offset);
@@ -31352,7 +33369,7 @@ index 5c95ccb..217fa57 100644
  
        rdev->sb_size = le32_to_cpu(sb->max_dev) * 2 + 256;
        bmask = queue_logical_block_size(rdev->bdev->bd_disk->queue)-1;
-@@ -1748,7 +1748,7 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev)
+@@ -1742,7 +1742,7 @@ static void super_1_sync(struct mddev *mddev, struct md_rdev *rdev)
        else
                sb->resync_offset = cpu_to_le64(0);
  
@@ -31361,16 +33378,16 @@ index 5c95ccb..217fa57 100644
  
        sb->raid_disks = cpu_to_le32(mddev->raid_disks);
        sb->size = cpu_to_le64(mddev->dev_sectors);
-@@ -2643,7 +2643,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_show, state_store);
+@@ -2639,7 +2639,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_show, state_store);
  static ssize_t
- errors_show(mdk_rdev_t *rdev, char *page)
+ errors_show(struct md_rdev *rdev, char *page)
  {
 -      return sprintf(page, "%d\n", atomic_read(&rdev->corrected_errors));
 +      return sprintf(page, "%d\n", atomic_read_unchecked(&rdev->corrected_errors));
  }
  
  static ssize_t
-@@ -2652,7 +2652,7 @@ errors_store(mdk_rdev_t *rdev, const char *buf, size_t len)
+@@ -2648,7 +2648,7 @@ errors_store(struct md_rdev *rdev, const char *buf, size_t len)
        char *e;
        unsigned long n = simple_strtoul(buf, &e, 10);
        if (*buf && (*e == 0 || *e == '\n')) {
@@ -31379,7 +33396,7 @@ index 5c95ccb..217fa57 100644
                return len;
        }
        return -EINVAL;
-@@ -3042,8 +3042,8 @@ int md_rdev_init(mdk_rdev_t *rdev)
+@@ -3039,8 +3039,8 @@ int md_rdev_init(struct md_rdev *rdev)
        rdev->sb_loaded = 0;
        rdev->bb_page = NULL;
        atomic_set(&rdev->nr_pending, 0);
@@ -31390,7 +33407,7 @@ index 5c95ccb..217fa57 100644
  
        INIT_LIST_HEAD(&rdev->same_set);
        init_waitqueue_head(&rdev->blocked_wait);
-@@ -6667,7 +6667,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
+@@ -6683,7 +6683,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
  
                spin_unlock(&pers_lock);
                seq_printf(seq, "\n");
@@ -31399,7 +33416,7 @@ index 5c95ccb..217fa57 100644
                return 0;
        }
        if (v == (void*)2) {
-@@ -6756,7 +6756,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
+@@ -6772,7 +6772,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
                                chunk_kb ? "KB" : "B");
                        if (bitmap->file) {
                                seq_printf(seq, ", file: ");
@@ -31408,7 +33425,7 @@ index 5c95ccb..217fa57 100644
                        }
  
                        seq_printf(seq, "\n");
-@@ -6787,7 +6787,7 @@ static int md_seq_open(struct inode *inode, struct file *file)
+@@ -6803,7 +6803,7 @@ static int md_seq_open(struct inode *inode, struct file *file)
                return error;
  
        seq = file->private_data;
@@ -31417,7 +33434,7 @@ index 5c95ccb..217fa57 100644
        return error;
  }
  
-@@ -6801,7 +6801,7 @@ static unsigned int mdstat_poll(struct file *filp, poll_table *wait)
+@@ -6817,7 +6817,7 @@ static unsigned int mdstat_poll(struct file *filp, poll_table *wait)
        /* always allow read */
        mask = POLLIN | POLLRDNORM;
  
@@ -31426,7 +33443,7 @@ index 5c95ccb..217fa57 100644
                mask |= POLLERR | POLLPRI;
        return mask;
  }
-@@ -6845,7 +6845,7 @@ static int is_mddev_idle(mddev_t *mddev, int init)
+@@ -6861,7 +6861,7 @@ static int is_mddev_idle(struct mddev *mddev, int init)
                struct gendisk *disk = rdev->bdev->bd_contains->bd_disk;
                curr_events = (int)part_stat_read(&disk->part0, sectors[0]) +
                              (int)part_stat_read(&disk->part0, sectors[1]) -
@@ -31436,10 +33453,10 @@ index 5c95ccb..217fa57 100644
                 * as sync_io is counted when a request starts, and
                 * disk_stats is counted when it completes.
 diff --git a/drivers/md/md.h b/drivers/md/md.h
-index 0a309dc..7e01d7f 100644
+index cf742d9..7c7c745 100644
 --- a/drivers/md/md.h
 +++ b/drivers/md/md.h
-@@ -124,13 +124,13 @@ struct mdk_rdev_s
+@@ -120,13 +120,13 @@ struct md_rdev {
                                         * only maintained for arrays that
                                         * support hot removal
                                         */
@@ -31455,7 +33472,7 @@ index 0a309dc..7e01d7f 100644
                                           * for reporting to userspace and storing
                                           * in superblock.
                                           */
-@@ -415,7 +415,7 @@ static inline void rdev_dec_pending(mdk_rdev_t *rdev, mddev_t *mddev)
+@@ -410,7 +410,7 @@ static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev)
  
  static inline void md_sync_acct(struct block_device *bdev, unsigned long nr_sectors)
  {
@@ -31463,12 +33480,63 @@ index 0a309dc..7e01d7f 100644
 +      atomic_add_unchecked(nr_sectors, &bdev->bd_contains->bd_disk->sync_io);
  }
  
- struct mdk_personality
+ struct md_personality
+diff --git a/drivers/md/persistent-data/dm-space-map-checker.c b/drivers/md/persistent-data/dm-space-map-checker.c
+index 50ed53b..4f29d7d 100644
+--- a/drivers/md/persistent-data/dm-space-map-checker.c
++++ b/drivers/md/persistent-data/dm-space-map-checker.c
+@@ -159,7 +159,7 @@ static void ca_destroy(struct count_array *ca)
+ /*----------------------------------------------------------------*/
+ struct sm_checker {
+-      struct dm_space_map sm;
++      dm_space_map_no_const sm;
+       struct count_array old_counts;
+       struct count_array counts;
+diff --git a/drivers/md/persistent-data/dm-space-map-disk.c b/drivers/md/persistent-data/dm-space-map-disk.c
+index fc469ba..2d91555 100644
+--- a/drivers/md/persistent-data/dm-space-map-disk.c
++++ b/drivers/md/persistent-data/dm-space-map-disk.c
+@@ -23,7 +23,7 @@
+  * Space map interface.
+  */
+ struct sm_disk {
+-      struct dm_space_map sm;
++      dm_space_map_no_const sm;
+       struct ll_disk ll;
+       struct ll_disk old_ll;
+diff --git a/drivers/md/persistent-data/dm-space-map-metadata.c b/drivers/md/persistent-data/dm-space-map-metadata.c
+index e89ae5e..062e4c2 100644
+--- a/drivers/md/persistent-data/dm-space-map-metadata.c
++++ b/drivers/md/persistent-data/dm-space-map-metadata.c
+@@ -43,7 +43,7 @@ struct block_op {
+ };
+ struct sm_metadata {
+-      struct dm_space_map sm;
++      dm_space_map_no_const sm;
+       struct ll_disk ll;
+       struct ll_disk old_ll;
+diff --git a/drivers/md/persistent-data/dm-space-map.h b/drivers/md/persistent-data/dm-space-map.h
+index 1cbfc6b..56e1dbb 100644
+--- a/drivers/md/persistent-data/dm-space-map.h
++++ b/drivers/md/persistent-data/dm-space-map.h
+@@ -60,6 +60,7 @@ struct dm_space_map {
+       int (*root_size)(struct dm_space_map *sm, size_t *result);
+       int (*copy_root)(struct dm_space_map *sm, void *copy_to_here_le, size_t len);
+ };
++typedef struct dm_space_map __no_const dm_space_map_no_const;
+ /*----------------------------------------------------------------*/
 diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
-index d9587df..83a0dc3 100644
+index 7d9e071..015b1d5 100644
 --- a/drivers/md/raid1.c
 +++ b/drivers/md/raid1.c
-@@ -1541,7 +1541,7 @@ static int fix_sync_read_error(r1bio_t *r1_bio)
+@@ -1568,7 +1568,7 @@ static int fix_sync_read_error(struct r1bio *r1_bio)
                        if (r1_sync_page_io(rdev, sect, s,
                                            bio->bi_io_vec[idx].bv_page,
                                            READ) != 0)
@@ -31477,7 +33545,7 @@ index d9587df..83a0dc3 100644
                }
                sectors -= s;
                sect += s;
-@@ -1754,7 +1754,7 @@ static void fix_read_error(conf_t *conf, int read_disk,
+@@ -1781,7 +1781,7 @@ static void fix_read_error(struct r1conf *conf, int read_disk,
                            test_bit(In_sync, &rdev->flags)) {
                                if (r1_sync_page_io(rdev, sect, s,
                                                    conf->tmppage, READ)) {
@@ -31487,10 +33555,10 @@ index d9587df..83a0dc3 100644
                                               "md/raid1:%s: read error corrected "
                                               "(%d sectors at %llu on %s)\n",
 diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
-index 1d44228..98db57d 100644
+index 685ddf3..955b087 100644
 --- a/drivers/md/raid10.c
 +++ b/drivers/md/raid10.c
-@@ -1423,7 +1423,7 @@ static void end_sync_read(struct bio *bio, int error)
+@@ -1440,7 +1440,7 @@ static void end_sync_read(struct bio *bio, int error)
                /* The write handler will notice the lack of
                 * R10BIO_Uptodate and record any errors etc
                 */
@@ -31499,7 +33567,7 @@ index 1d44228..98db57d 100644
                           &conf->mirrors[d].rdev->corrected_errors);
  
        /* for reconstruct, we always reschedule after a read.
-@@ -1723,7 +1723,7 @@ static void check_decay_read_errors(mddev_t *mddev, mdk_rdev_t *rdev)
+@@ -1740,7 +1740,7 @@ static void check_decay_read_errors(struct mddev *mddev, struct md_rdev *rdev)
  {
        struct timespec cur_time_mon;
        unsigned long hours_since_last;
@@ -31508,7 +33576,7 @@ index 1d44228..98db57d 100644
  
        ktime_get_ts(&cur_time_mon);
  
-@@ -1745,9 +1745,9 @@ static void check_decay_read_errors(mddev_t *mddev, mdk_rdev_t *rdev)
+@@ -1762,9 +1762,9 @@ static void check_decay_read_errors(struct mddev *mddev, struct md_rdev *rdev)
         * overflowing the shift of read_errors by hours_since_last.
         */
        if (hours_since_last >= 8 * sizeof(read_errors))
@@ -31519,8 +33587,8 @@ index 1d44228..98db57d 100644
 +              atomic_set_unchecked(&rdev->read_errors, read_errors >> hours_since_last);
  }
  
- static int r10_sync_page_io(mdk_rdev_t *rdev, sector_t sector,
-@@ -1797,8 +1797,8 @@ static void fix_read_error(conf_t *conf, mddev_t *mddev, r10bio_t *r10_bio)
+ static int r10_sync_page_io(struct md_rdev *rdev, sector_t sector,
+@@ -1814,8 +1814,8 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
                return;
  
        check_decay_read_errors(mddev, rdev);
@@ -31531,7 +33599,7 @@ index 1d44228..98db57d 100644
                char b[BDEVNAME_SIZE];
                bdevname(rdev->bdev, b);
  
-@@ -1806,7 +1806,7 @@ static void fix_read_error(conf_t *conf, mddev_t *mddev, r10bio_t *r10_bio)
+@@ -1823,7 +1823,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
                       "md/raid10:%s: %s: Raid device exceeded "
                       "read_error threshold [cur %d:max %d]\n",
                       mdname(mddev), b,
@@ -31540,7 +33608,7 @@ index 1d44228..98db57d 100644
                printk(KERN_NOTICE
                       "md/raid10:%s: %s: Failing raid device\n",
                       mdname(mddev), b);
-@@ -1951,7 +1951,7 @@ static void fix_read_error(conf_t *conf, mddev_t *mddev, r10bio_t *r10_bio)
+@@ -1968,7 +1968,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
                                       (unsigned long long)(
                                               sect + rdev->data_offset),
                                       bdevname(rdev->bdev, b));
@@ -31550,10 +33618,10 @@ index 1d44228..98db57d 100644
  
                        rdev_dec_pending(rdev, mddev);
 diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
-index b6200c3..02e8702 100644
+index 858fdbb..b2dac95 100644
 --- a/drivers/md/raid5.c
 +++ b/drivers/md/raid5.c
-@@ -1616,19 +1616,19 @@ static void raid5_end_read_request(struct bio * bi, int error)
+@@ -1610,19 +1610,19 @@ static void raid5_end_read_request(struct bio * bi, int error)
                                (unsigned long long)(sh->sector
                                                     + rdev->data_offset),
                                bdevname(rdev->bdev, b));
@@ -31577,7 +33645,7 @@ index b6200c3..02e8702 100644
                if (conf->mddev->degraded >= conf->max_degraded)
                        printk_ratelimited(
                                KERN_WARNING
-@@ -1648,7 +1648,7 @@ static void raid5_end_read_request(struct bio * bi, int error)
+@@ -1642,7 +1642,7 @@ static void raid5_end_read_request(struct bio * bi, int error)
                                (unsigned long long)(sh->sector
                                                     + rdev->data_offset),
                                bdn);
@@ -31586,32 +33654,11 @@ index b6200c3..02e8702 100644
                         > conf->max_nr_stripes)
                        printk(KERN_WARNING
                               "md/raid:%s: Too many read errors, failing device %s.\n",
-@@ -1978,6 +1978,7 @@ static sector_t compute_blocknr(struct stripe_head *sh, int i, int previous)
-       sector_t r_sector;
-       struct stripe_head sh2;
-+      pax_track_stack();
-       chunk_offset = sector_div(new_sector, sectors_per_chunk);
-       stripe = new_sector;
-diff --git a/drivers/media/common/saa7146_hlp.c b/drivers/media/common/saa7146_hlp.c
-index 1d1d8d2..6c6837a 100644
---- a/drivers/media/common/saa7146_hlp.c
-+++ b/drivers/media/common/saa7146_hlp.c
-@@ -353,6 +353,8 @@ static void calculate_clipping_registers_rect(struct saa7146_dev *dev, struct sa
-       int x[32], y[32], w[32], h[32];
-+      pax_track_stack();
-+
-       /* clear out memory */
-       memset(&line_list[0],  0x00, sizeof(u32)*32);
-       memset(&pixel_list[0], 0x00, sizeof(u32)*32);
 diff --git a/drivers/media/dvb/ddbridge/ddbridge-core.c b/drivers/media/dvb/ddbridge/ddbridge-core.c
-index 573d540..16f78f3 100644
+index ba9a643..e474ab5 100644
 --- a/drivers/media/dvb/ddbridge/ddbridge-core.c
 +++ b/drivers/media/dvb/ddbridge/ddbridge-core.c
-@@ -1675,7 +1675,7 @@ static struct ddb_info ddb_v6 = {
+@@ -1678,7 +1678,7 @@ static struct ddb_info ddb_v6 = {
        .subvendor   = _subvend, .subdevice = _subdev, \
        .driver_data = (unsigned long)&_driverdata }
  
@@ -31620,28 +33667,6 @@ index 573d540..16f78f3 100644
        DDB_ID(DDVID, 0x0002, DDVID, 0x0001, ddb_octopus),
        DDB_ID(DDVID, 0x0003, DDVID, 0x0001, ddb_octopus),
        DDB_ID(DDVID, 0x0003, DDVID, 0x0002, ddb_octopus_le),
-diff --git a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
-index 7ea517b..252fe54 100644
---- a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
-+++ b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
-@@ -590,6 +590,8 @@ static int dvb_ca_en50221_read_data(struct dvb_ca_private *ca, int slot, u8 * eb
-       u8 buf[HOST_LINK_BUF_SIZE];
-       int i;
-+      pax_track_stack();
-+
-       dprintk("%s\n", __func__);
-       /* check if we have space for a link buf in the rx_buffer */
-@@ -1285,6 +1287,8 @@ static ssize_t dvb_ca_en50221_io_write(struct file *file,
-       unsigned long timeout;
-       int written;
-+      pax_track_stack();
-+
-       dprintk("%s\n", __func__);
-       /* Incoming packet has a 2 byte header. hdr[0] = slot_id, hdr[1] = connection_id */
 diff --git a/drivers/media/dvb/dvb-core/dvb_demux.h b/drivers/media/dvb/dvb-core/dvb_demux.h
 index a7d876f..8c21b61 100644
 --- a/drivers/media/dvb/dvb-core/dvb_demux.h
@@ -31669,10 +33694,10 @@ index f732877..d38c35a 100644
        int minor;
        int id;
 diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
-index acb5fb2..2413f1d 100644
+index 9f2a02c..5920f88 100644
 --- a/drivers/media/dvb/dvb-usb/cxusb.c
 +++ b/drivers/media/dvb/dvb-usb/cxusb.c
-@@ -1059,7 +1059,7 @@ static struct dib0070_config dib7070p_dib0070_config = {
+@@ -1069,7 +1069,7 @@ static struct dib0070_config dib7070p_dib0070_config = {
  struct dib0700_adapter_state {
        int (*set_param_save) (struct dvb_frontend *,
                               struct dvb_frontend_parameters *);
@@ -31681,21 +33706,8 @@ index acb5fb2..2413f1d 100644
  
  static int dib7070_set_param_override(struct dvb_frontend *fe,
                                      struct dvb_frontend_parameters *fep)
-diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c
-index a224e94..503b76a 100644
---- a/drivers/media/dvb/dvb-usb/dib0700_core.c
-+++ b/drivers/media/dvb/dvb-usb/dib0700_core.c
-@@ -478,6 +478,8 @@ int dib0700_download_firmware(struct usb_device *udev, const struct firmware *fw
-       if (!buf)
-               return -ENOMEM;
-+      pax_track_stack();
-+
-       while ((ret = dvb_usb_get_hexline(fw, &hx, &pos)) > 0) {
-               deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n",
-                               hx.addr, hx.len, hx.chk);
 diff --git a/drivers/media/dvb/dvb-usb/dw2102.c b/drivers/media/dvb/dvb-usb/dw2102.c
-index 058b231..183d2b3 100644
+index f103ec1..5e8968b 100644
 --- a/drivers/media/dvb/dvb-usb/dw2102.c
 +++ b/drivers/media/dvb/dvb-usb/dw2102.c
 @@ -95,7 +95,7 @@ struct su3000_state {
@@ -31707,29 +33719,8 @@ index 058b231..183d2b3 100644
  
  /* debug */
  static int dvb_usb_dw2102_debug;
-diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c
-index 37b1469..28a6f6f 100644
---- a/drivers/media/dvb/dvb-usb/lmedm04.c
-+++ b/drivers/media/dvb/dvb-usb/lmedm04.c
-@@ -742,6 +742,7 @@ static int lme2510_download_firmware(struct usb_device *dev,
-       usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
-                       0x06, 0x80, 0x0200, 0x00, data, 0x0109, 1000);
-+      pax_track_stack();
-       data[0] = 0x8a;
-       len_in = 1;
-@@ -764,6 +765,8 @@ static void lme_coldreset(struct usb_device *dev)
-       int ret = 0, len_in;
-       u8 data[512] = {0};
-+      pax_track_stack();
-+
-       data[0] = 0x0a;
-       len_in = 1;
-       info("FRM Firmware Cold Reset");
 diff --git a/drivers/media/dvb/frontends/dib3000.h b/drivers/media/dvb/frontends/dib3000.h
-index ba91735..4261d84 100644
+index 404f63a..4796533 100644
 --- a/drivers/media/dvb/frontends/dib3000.h
 +++ b/drivers/media/dvb/frontends/dib3000.h
 @@ -39,7 +39,7 @@ struct dib_fe_xfer_ops
@@ -31741,32 +33732,19 @@ index ba91735..4261d84 100644
  
  #if defined(CONFIG_DVB_DIB3000MB) || (defined(CONFIG_DVB_DIB3000MB_MODULE) && defined(MODULE))
  extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
-diff --git a/drivers/media/dvb/frontends/mb86a16.c b/drivers/media/dvb/frontends/mb86a16.c
-index c283112..7f367a7 100644
---- a/drivers/media/dvb/frontends/mb86a16.c
-+++ b/drivers/media/dvb/frontends/mb86a16.c
-@@ -1060,6 +1060,8 @@ static int mb86a16_set_fe(struct mb86a16_state *state)
-       int ret = -1;
-       int sync;
-+      pax_track_stack();
-+
-       dprintk(verbose, MB86A16_INFO, 1, "freq=%d Mhz, symbrt=%d Ksps", state->frequency, state->srate);
-       fcp = 3000;
-diff --git a/drivers/media/dvb/frontends/or51211.c b/drivers/media/dvb/frontends/or51211.c
-index c709ce6..b3fe620 100644
---- a/drivers/media/dvb/frontends/or51211.c
-+++ b/drivers/media/dvb/frontends/or51211.c
-@@ -113,6 +113,8 @@ static int or51211_load_firmware (struct dvb_frontend* fe,
-       u8 tudata[585];
-       int i;
-+      pax_track_stack();
-+
-       dprintk("Firmware is %zd bytes\n",fw->size);
+diff --git a/drivers/media/dvb/frontends/ds3000.c b/drivers/media/dvb/frontends/ds3000.c
+index 90bf573..e8463da 100644
+--- a/drivers/media/dvb/frontends/ds3000.c
++++ b/drivers/media/dvb/frontends/ds3000.c
+@@ -1210,7 +1210,7 @@ static int ds3000_set_frontend(struct dvb_frontend *fe,
+       for (i = 0; i < 30 ; i++) {
+               ds3000_read_status(fe, &status);
+-              if (status && FE_HAS_LOCK)
++              if (status & FE_HAS_LOCK)
+                       break;
  
-       /* Get eprom data */
+               msleep(10);
 diff --git a/drivers/media/dvb/ngene/ngene-cards.c b/drivers/media/dvb/ngene/ngene-cards.c
 index 0564192..75b16f5 100644
 --- a/drivers/media/dvb/ngene/ngene-cards.c
@@ -31793,6 +33771,19 @@ index 16a089f..ab1667d 100644
        mutex_lock(&dev->lock);
        if (dev->rdsstat == 0) {
                dev->rdsstat = 1;
+diff --git a/drivers/media/rc/redrat3.c b/drivers/media/rc/redrat3.c
+index 61287fc..8b08712 100644
+--- a/drivers/media/rc/redrat3.c
++++ b/drivers/media/rc/redrat3.c
+@@ -905,7 +905,7 @@ static int redrat3_set_tx_carrier(struct rc_dev *dev, u32 carrier)
+       return carrier;
+ }
+-static int redrat3_transmit_ir(struct rc_dev *rcdev, int *txbuf, u32 n)
++static int redrat3_transmit_ir(struct rc_dev *rcdev, unsigned *txbuf, u32 n)
+ {
+       struct redrat3_dev *rr3 = rcdev->priv;
+       struct device *dev = rr3->dev;
 diff --git a/drivers/media/video/au0828/au0828.h b/drivers/media/video/au0828/au0828.h
 index 9cde353..8c6a1c3 100644
 --- a/drivers/media/video/au0828/au0828.h
@@ -31806,32 +33797,6 @@ index 9cde353..8c6a1c3 100644
        struct i2c_client               i2c_client;
        u32                             i2c_rc;
  
-diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
-index 9e2f870..22e3a08 100644
---- a/drivers/media/video/cx18/cx18-driver.c
-+++ b/drivers/media/video/cx18/cx18-driver.c
-@@ -327,6 +327,8 @@ void cx18_read_eeprom(struct cx18 *cx, struct tveeprom *tv)
-       struct i2c_client c;
-       u8 eedata[256];
-+      pax_track_stack();
-+
-       memset(&c, 0, sizeof(c));
-       strlcpy(c.name, "cx18 tveeprom tmp", sizeof(c.name));
-       c.adapter = &cx->i2c_adap[0];
-diff --git a/drivers/media/video/cx23885/cx23885-input.c b/drivers/media/video/cx23885/cx23885-input.c
-index ce765e3..f9e1b04 100644
---- a/drivers/media/video/cx23885/cx23885-input.c
-+++ b/drivers/media/video/cx23885/cx23885-input.c
-@@ -53,6 +53,8 @@ static void cx23885_input_process_measurements(struct cx23885_dev *dev,
-       bool handle = false;
-       struct ir_raw_event ir_core_event[64];
-+      pax_track_stack();
-+
-       do {
-               num = 0;
-               v4l2_subdev_call(dev->sd_ir, ir, rx_read, (u8 *) ir_core_event,
 diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
 index 68d1240..46b32eb 100644
 --- a/drivers/media/video/cx88/cx88-alsa.c
@@ -31845,19 +33810,42 @@ index 68d1240..46b32eb 100644
        {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
        {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
        {0, }
-diff --git a/drivers/media/video/pvrusb2/pvrusb2-eeprom.c b/drivers/media/video/pvrusb2/pvrusb2-eeprom.c
-index 9515f3a..c9ecb85 100644
---- a/drivers/media/video/pvrusb2/pvrusb2-eeprom.c
-+++ b/drivers/media/video/pvrusb2/pvrusb2-eeprom.c
-@@ -120,6 +120,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw *hdw)
-       u8 *eeprom;
      struct tveeprom tvdata;
+diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
+index ee0d0b3..63f6b78 100644
+--- a/drivers/media/video/omap/omap_vout.c
++++ b/drivers/media/video/omap/omap_vout.c
+@@ -64,7 +64,6 @@ enum omap_vout_channels {
+       OMAP_VIDEO2,
};
  
-+      pax_track_stack();
-+
-       memset(&tvdata,0,sizeof(tvdata));
+-static struct videobuf_queue_ops video_vbq_ops;
+ /* Variables configurable through module params*/
+ static u32 video1_numbuffers = 3;
+ static u32 video2_numbuffers = 3;
+@@ -999,6 +998,12 @@ static int omap_vout_open(struct file *file)
+ {
+       struct videobuf_queue *q;
+       struct omap_vout_device *vout = NULL;
++      static struct videobuf_queue_ops video_vbq_ops = {
++              .buf_setup = omap_vout_buffer_setup,
++              .buf_prepare = omap_vout_buffer_prepare,
++              .buf_release = omap_vout_buffer_release,
++              .buf_queue = omap_vout_buffer_queue,
++      };
+       vout = video_drvdata(file);
+       v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev, "Entering %s\n", __func__);
+@@ -1016,10 +1021,6 @@ static int omap_vout_open(struct file *file)
+       vout->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
  
-       eeprom = pvr2_eeprom_fetch(hdw);
+       q = &vout->vbq;
+-      video_vbq_ops.buf_setup = omap_vout_buffer_setup;
+-      video_vbq_ops.buf_prepare = omap_vout_buffer_prepare;
+-      video_vbq_ops.buf_release = omap_vout_buffer_release;
+-      video_vbq_ops.buf_queue = omap_vout_buffer_queue;
+       spin_lock_init(&vout->vbq_lock);
+       videobuf_queue_dma_contig_init(q, &video_vbq_ops, q->dev,
 diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
 index 305e6aa..0143317 100644
 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
@@ -31871,46 +33859,37 @@ index 305e6aa..0143317 100644
        pvr2_i2c_func i2c_func[PVR2_I2C_FUNC_CNT];
        int i2c_cx25840_hack_state;
        int i2c_linked;
-diff --git a/drivers/media/video/saa7134/saa6752hs.c b/drivers/media/video/saa7134/saa6752hs.c
-index f9f29cc..5a2e330 100644
---- a/drivers/media/video/saa7134/saa6752hs.c
-+++ b/drivers/media/video/saa7134/saa6752hs.c
-@@ -682,6 +682,8 @@ static int saa6752hs_init(struct v4l2_subdev *sd, u32 leading_null_bytes)
-       unsigned char localPAT[256];
-       unsigned char localPMT[256];
-+      pax_track_stack();
-+
-       /* Set video format - must be done first as it resets other settings */
-       set_reg8(client, 0x41, h->video_format);
-diff --git a/drivers/media/video/saa7164/saa7164-cmd.c b/drivers/media/video/saa7164/saa7164-cmd.c
-index 62fac7f..f29e0b9 100644
---- a/drivers/media/video/saa7164/saa7164-cmd.c
-+++ b/drivers/media/video/saa7164/saa7164-cmd.c
-@@ -88,6 +88,8 @@ int saa7164_irq_dequeue(struct saa7164_dev *dev)
-       u8 tmp[512];
-       dprintk(DBGLVL_CMD, "%s()\n", __func__);
-+      pax_track_stack();
-+
-       /* While any outstand message on the bus exists... */
-       do {
-@@ -141,6 +143,8 @@ int saa7164_cmd_dequeue(struct saa7164_dev *dev)
-       u8 tmp[512];
-       dprintk(DBGLVL_CMD, "%s()\n", __func__);
+diff --git a/drivers/media/video/saa7164/saa7164-encoder.c b/drivers/media/video/saa7164/saa7164-encoder.c
+index 2fd38a0..ddec3c4 100644
+--- a/drivers/media/video/saa7164/saa7164-encoder.c
++++ b/drivers/media/video/saa7164/saa7164-encoder.c
+@@ -1136,6 +1136,8 @@ struct saa7164_user_buffer *saa7164_enc_next_buf(struct saa7164_port *port)
+ }
  
-+      pax_track_stack();
-+
-       while (loop) {
+ static ssize_t fops_read(struct file *file, char __user *buffer,
++      size_t count, loff_t *pos) __size_overflow(3);
++static ssize_t fops_read(struct file *file, char __user *buffer,
+       size_t count, loff_t *pos)
+ {
+       struct saa7164_encoder_fh *fh = file->private_data;
+diff --git a/drivers/media/video/saa7164/saa7164-vbi.c b/drivers/media/video/saa7164/saa7164-vbi.c
+index e2e0341..b80056c 100644
+--- a/drivers/media/video/saa7164/saa7164-vbi.c
++++ b/drivers/media/video/saa7164/saa7164-vbi.c
+@@ -1081,6 +1081,8 @@ struct saa7164_user_buffer *saa7164_vbi_next_buf(struct saa7164_port *port)
+ }
  
-               struct tmComResInfo tRsp = { 0, 0, 0, 0, 0, 0 };
+ static ssize_t fops_read(struct file *file, char __user *buffer,
++      size_t count, loff_t *pos) __size_overflow(3);
++static ssize_t fops_read(struct file *file, char __user *buffer,
+       size_t count, loff_t *pos)
+ {
+       struct saa7164_vbi_fh *fh = file->private_data;
 diff --git a/drivers/media/video/timblogiw.c b/drivers/media/video/timblogiw.c
-index 84cd1b6..f741e07 100644
+index a0895bf..b7ebb1b 100644
 --- a/drivers/media/video/timblogiw.c
 +++ b/drivers/media/video/timblogiw.c
-@@ -744,7 +744,7 @@ static int timblogiw_mmap(struct file *file, struct vm_area_struct *vma)
+@@ -745,7 +745,7 @@ static int timblogiw_mmap(struct file *file, struct vm_area_struct *vma)
  
  /* Platform device functions */
  
@@ -31919,7 +33898,7 @@ index 84cd1b6..f741e07 100644
        .vidioc_querycap                = timblogiw_querycap,
        .vidioc_enum_fmt_vid_cap        = timblogiw_enum_fmt,
        .vidioc_g_fmt_vid_cap           = timblogiw_g_fmt,
-@@ -766,7 +766,7 @@ static __devinitconst struct v4l2_ioctl_ops timblogiw_ioctl_ops = {
+@@ -767,7 +767,7 @@ static __devinitconst struct v4l2_ioctl_ops timblogiw_ioctl_ops = {
        .vidioc_enum_framesizes         = timblogiw_enum_framesizes,
  };
  
@@ -31928,37 +33907,11 @@ index 84cd1b6..f741e07 100644
        .owner          = THIS_MODULE,
        .open           = timblogiw_open,
        .release        = timblogiw_close,
-diff --git a/drivers/media/video/usbvision/usbvision-core.c b/drivers/media/video/usbvision/usbvision-core.c
-index f344411..6ae9974 100644
---- a/drivers/media/video/usbvision/usbvision-core.c
-+++ b/drivers/media/video/usbvision/usbvision-core.c
-@@ -707,6 +707,8 @@ static enum parse_state usbvision_parse_compress(struct usb_usbvision *usbvision
-       unsigned char rv, gv, bv;
-       static unsigned char *Y, *U, *V;
-+      pax_track_stack();
-+
-       frame = usbvision->cur_frame;
-       image_size = frame->frmwidth * frame->frmheight;
-       if ((frame->v4l2_format.format == V4L2_PIX_FMT_YUV422P) ||
-diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
-index f300dea..04834ba 100644
---- a/drivers/media/video/videobuf-dma-sg.c
-+++ b/drivers/media/video/videobuf-dma-sg.c
-@@ -607,6 +607,8 @@ void *videobuf_sg_alloc(size_t size)
- {
-       struct videobuf_queue q;
-+      pax_track_stack();
-+
-       /* Required to make generic handler to call __videobuf_alloc */
-       q.int_ops = &sg_ops;
 diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
-index 7956a10..f39232f 100644
+index e9c6a60..daf6a33 100644
 --- a/drivers/message/fusion/mptbase.c
 +++ b/drivers/message/fusion/mptbase.c
-@@ -6681,8 +6681,13 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v)
+@@ -6753,8 +6753,13 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v)
        seq_printf(m, "  MaxChainDepth = 0x%02x frames\n", ioc->facts.MaxChainDepth);
        seq_printf(m, "  MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize);
  
@@ -31973,10 +33926,10 @@ index 7956a10..f39232f 100644
         *  Rounding UP to nearest 4-kB boundary here...
         */
 diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
-index 7596aec..f7ae9aa 100644
+index 9d95042..b808101 100644
 --- a/drivers/message/fusion/mptsas.c
 +++ b/drivers/message/fusion/mptsas.c
-@@ -439,6 +439,23 @@ mptsas_is_end_device(struct mptsas_devinfo * attached)
+@@ -446,6 +446,23 @@ mptsas_is_end_device(struct mptsas_devinfo * attached)
                return 0;
  }
  
@@ -32000,7 +33953,7 @@ index 7596aec..f7ae9aa 100644
  /* no mutex */
  static void
  mptsas_port_delete(MPT_ADAPTER *ioc, struct mptsas_portinfo_details * port_details)
-@@ -477,23 +494,6 @@ mptsas_get_rphy(struct mptsas_phyinfo *phy_info)
+@@ -484,23 +501,6 @@ mptsas_get_rphy(struct mptsas_phyinfo *phy_info)
                return NULL;
  }
  
@@ -32025,10 +33978,10 @@ index 7596aec..f7ae9aa 100644
  mptsas_get_port(struct mptsas_phyinfo *phy_info)
  {
 diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
-index ce61a57..3da8862 100644
+index 0c3ced7..1fe34ec 100644
 --- a/drivers/message/fusion/mptscsih.c
 +++ b/drivers/message/fusion/mptscsih.c
-@@ -1268,15 +1268,16 @@ mptscsih_info(struct Scsi_Host *SChost)
+@@ -1270,15 +1270,16 @@ mptscsih_info(struct Scsi_Host *SChost)
  
        h = shost_priv(SChost);
  
@@ -32053,19 +34006,6 @@ index ce61a57..3da8862 100644
  
        return h->info_kbuf;
  }
-diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c
-index 098de2b..fbb922c 100644
---- a/drivers/message/i2o/i2o_config.c
-+++ b/drivers/message/i2o/i2o_config.c
-@@ -781,6 +781,8 @@ static int i2o_cfg_passthru(unsigned long arg)
-       struct i2o_message *msg;
-       unsigned int iop;
-+      pax_track_stack();
-+
-       if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg))
-               return -EFAULT;
 diff --git a/drivers/message/i2o/i2o_proc.c b/drivers/message/i2o/i2o_proc.c
 index 07dbeaf..5533142 100644
 --- a/drivers/message/i2o/i2o_proc.c
@@ -32183,24 +34123,11 @@ index a8c08f3..155fe3d 100644
        INIT_LIST_HEAD(&c->context_list);
  #endif
  
-diff --git a/drivers/mfd/ab3100-core.c b/drivers/mfd/ab3100-core.c
-index a20e1c4..4f57255 100644
---- a/drivers/mfd/ab3100-core.c
-+++ b/drivers/mfd/ab3100-core.c
-@@ -809,7 +809,7 @@ struct ab_family_id {
-       char    *name;
- };
--static const struct ab_family_id ids[] __devinitdata = {
-+static const struct ab_family_id ids[] __devinitconst = {
-       /* AB3100 */
-       {
-               .id = 0xc0,
 diff --git a/drivers/mfd/abx500-core.c b/drivers/mfd/abx500-core.c
-index f12720d..3c251fd 100644
+index 7ce65f4..e66e9bc 100644
 --- a/drivers/mfd/abx500-core.c
 +++ b/drivers/mfd/abx500-core.c
-@@ -14,7 +14,7 @@ static LIST_HEAD(abx500_list);
+@@ -15,7 +15,7 @@ static LIST_HEAD(abx500_list);
  
  struct abx500_device_entry {
        struct list_head list;
@@ -32221,64 +34148,51 @@ index 5c2a06a..8fa077c 100644
  #include <linux/init.h>
  #include <linux/pci.h>
  #include <linux/interrupt.h>
-diff --git a/drivers/mfd/wm8350-i2c.c b/drivers/mfd/wm8350-i2c.c
-index 5fe5de1..af64f53 100644
---- a/drivers/mfd/wm8350-i2c.c
-+++ b/drivers/mfd/wm8350-i2c.c
-@@ -44,6 +44,8 @@ static int wm8350_i2c_write_device(struct wm8350 *wm8350, char reg,
-       u8 msg[(WM8350_MAX_REGISTER << 1) + 1];
-       int ret;
-+      pax_track_stack();
-+
-       if (bytes > ((WM8350_MAX_REGISTER << 1) + 1))
-               return -EINVAL;
 diff --git a/drivers/misc/lis3lv02d/lis3lv02d.c b/drivers/misc/lis3lv02d/lis3lv02d.c
-index 8b51cd6..f628f8d 100644
+index 29d12a7..f900ba4 100644
 --- a/drivers/misc/lis3lv02d/lis3lv02d.c
 +++ b/drivers/misc/lis3lv02d/lis3lv02d.c
-@@ -437,7 +437,7 @@ static irqreturn_t lis302dl_interrupt(int irq, void *dummy)
+@@ -464,7 +464,7 @@ static irqreturn_t lis302dl_interrupt(int irq, void *data)
         * the lid is closed. This leads to interrupts as soon as a little move
         * is done.
         */
--      atomic_inc(&lis3_dev.count);
-+      atomic_inc_unchecked(&lis3_dev.count);
+-      atomic_inc(&lis3->count);
++      atomic_inc_unchecked(&lis3->count);
  
-       wake_up_interruptible(&lis3_dev.misc_wait);
-       kill_fasync(&lis3_dev.async_queue, SIGIO, POLL_IN);
-@@ -520,7 +520,7 @@ static int lis3lv02d_misc_open(struct inode *inode, struct file *file)
-       if (lis3_dev.pm_dev)
-               pm_runtime_get_sync(lis3_dev.pm_dev);
+       wake_up_interruptible(&lis3->misc_wait);
+       kill_fasync(&lis3->async_queue, SIGIO, POLL_IN);
+@@ -550,7 +550,7 @@ static int lis3lv02d_misc_open(struct inode *inode, struct file *file)
+       if (lis3->pm_dev)
+               pm_runtime_get_sync(lis3->pm_dev);
  
--      atomic_set(&lis3_dev.count, 0);
-+      atomic_set_unchecked(&lis3_dev.count, 0);
+-      atomic_set(&lis3->count, 0);
++      atomic_set_unchecked(&lis3->count, 0);
        return 0;
  }
  
-@@ -547,7 +547,7 @@ static ssize_t lis3lv02d_misc_read(struct file *file, char __user *buf,
-       add_wait_queue(&lis3_dev.misc_wait, &wait);
+@@ -583,7 +583,7 @@ static ssize_t lis3lv02d_misc_read(struct file *file, char __user *buf,
+       add_wait_queue(&lis3->misc_wait, &wait);
        while (true) {
                set_current_state(TASK_INTERRUPTIBLE);
--              data = atomic_xchg(&lis3_dev.count, 0);
-+              data = atomic_xchg_unchecked(&lis3_dev.count, 0);
+-              data = atomic_xchg(&lis3->count, 0);
++              data = atomic_xchg_unchecked(&lis3->count, 0);
                if (data)
                        break;
  
-@@ -585,7 +585,7 @@ out:
- static unsigned int lis3lv02d_misc_poll(struct file *file, poll_table *wait)
- {
-       poll_wait(file, &lis3_dev.misc_wait, wait);
--      if (atomic_read(&lis3_dev.count))
-+      if (atomic_read_unchecked(&lis3_dev.count))
+@@ -624,7 +624,7 @@ static unsigned int lis3lv02d_misc_poll(struct file *file, poll_table *wait)
+                                             struct lis3lv02d, miscdev);
+       poll_wait(file, &lis3->misc_wait, wait);
+-      if (atomic_read(&lis3->count))
++      if (atomic_read_unchecked(&lis3->count))
                return POLLIN | POLLRDNORM;
        return 0;
  }
 diff --git a/drivers/misc/lis3lv02d/lis3lv02d.h b/drivers/misc/lis3lv02d/lis3lv02d.h
-index a193958..4d7ecd2 100644
+index 2b1482a..5d33616 100644
 --- a/drivers/misc/lis3lv02d/lis3lv02d.h
 +++ b/drivers/misc/lis3lv02d/lis3lv02d.h
-@@ -265,7 +265,7 @@ struct lis3lv02d {
+@@ -266,7 +266,7 @@ struct lis3lv02d {
        struct input_polled_dev *idev;     /* input device */
        struct platform_device  *pdev;     /* platform device */
        struct regulator_bulk_data regulators[2];
@@ -32558,10 +34472,10 @@ index 8d082b4..aa749ae 100644
  /*
   * Timer function to enforce the timelimit on the partition disengage.
 diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
-index 26c5286..292d261 100644
+index 6878a94..fe5c5f1 100644
 --- a/drivers/mmc/host/sdhci-pci.c
 +++ b/drivers/mmc/host/sdhci-pci.c
-@@ -542,7 +542,7 @@ static const struct sdhci_pci_fixes sdhci_via = {
+@@ -673,7 +673,7 @@ static const struct sdhci_pci_fixes sdhci_via = {
        .probe          = via_probe,
  };
  
@@ -32570,91 +34484,11 @@ index 26c5286..292d261 100644
        {
                .vendor         = PCI_VENDOR_ID_RICOH,
                .device         = PCI_DEVICE_ID_RICOH_R5C822,
-diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
-index e1e122f..d99a6ea 100644
---- a/drivers/mtd/chips/cfi_cmdset_0001.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -757,6 +757,8 @@ static int chip_ready (struct map_info *map, struct flchip *chip, unsigned long
-       struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
-       unsigned long timeo = jiffies + HZ;
-+      pax_track_stack();
-+
-       /* Prevent setting state FL_SYNCING for chip in suspended state. */
-       if (mode == FL_SYNCING && chip->oldstate != FL_READY)
-               goto sleep;
-@@ -1653,6 +1655,8 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
-       unsigned long initial_adr;
-       int initial_len = len;
-+      pax_track_stack();
-+
-       wbufsize = cfi_interleave(cfi) << cfi->cfiq->MaxBufWriteSize;
-       adr += chip->start;
-       initial_adr = adr;
-@@ -1871,6 +1875,8 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
-       int retries = 3;
-       int ret;
-+      pax_track_stack();
-+
-       adr += chip->start;
-  retry:
-diff --git a/drivers/mtd/chips/cfi_cmdset_0020.c b/drivers/mtd/chips/cfi_cmdset_0020.c
-index 179814a..abe9d60 100644
---- a/drivers/mtd/chips/cfi_cmdset_0020.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0020.c
-@@ -255,6 +255,8 @@ static inline int do_read_onechip(struct map_info *map, struct flchip *chip, lof
-       unsigned long cmd_addr;
-       struct cfi_private *cfi = map->fldrv_priv;
-+      pax_track_stack();
-+
-       adr += chip->start;
-       /* Ensure cmd read/writes are aligned. */
-@@ -429,6 +431,8 @@ static inline int do_write_buffer(struct map_info *map, struct flchip *chip,
-       DECLARE_WAITQUEUE(wait, current);
-       int wbufsize, z;
-+      pax_track_stack();
-+
-         /* M58LW064A requires bus alignment for buffer wriets -- saw */
-         if (adr & (map_bankwidth(map)-1))
-             return -EINVAL;
-@@ -743,6 +747,8 @@ static inline int do_erase_oneblock(struct map_info *map, struct flchip *chip, u
-       DECLARE_WAITQUEUE(wait, current);
-       int ret = 0;
-+      pax_track_stack();
-+
-       adr += chip->start;
-       /* Let's determine this according to the interleave only once */
-@@ -1048,6 +1054,8 @@ static inline int do_lock_oneblock(struct map_info *map, struct flchip *chip, un
-       unsigned long timeo = jiffies + HZ;
-       DECLARE_WAITQUEUE(wait, current);
-+      pax_track_stack();
-+
-       adr += chip->start;
-       /* Let's determine this according to the interleave only once */
-@@ -1197,6 +1205,8 @@ static inline int do_unlock_oneblock(struct map_info *map, struct flchip *chip,
-       unsigned long timeo = jiffies + HZ;
-       DECLARE_WAITQUEUE(wait, current);
-+      pax_track_stack();
-+
-       adr += chip->start;
-       /* Let's determine this according to the interleave only once */
 diff --git a/drivers/mtd/devices/doc2000.c b/drivers/mtd/devices/doc2000.c
-index f7fbf60..9866457 100644
+index e9fad91..0a7a16a 100644
 --- a/drivers/mtd/devices/doc2000.c
 +++ b/drivers/mtd/devices/doc2000.c
-@@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -773,7 +773,7 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,
  
                /* The ECC will not be calculated correctly if less than 512 is written */
  /* DBB-
@@ -32664,10 +34498,10 @@ index f7fbf60..9866457 100644
                               "ECC needs a full sector write (adr: %lx size %lx)\n",
                               (long) to, (long) len);
 diff --git a/drivers/mtd/devices/doc2001.c b/drivers/mtd/devices/doc2001.c
-index 241192f..d0c35a3 100644
+index a3f7a27..234016e 100644
 --- a/drivers/mtd/devices/doc2001.c
 +++ b/drivers/mtd/devices/doc2001.c
-@@ -393,7 +393,7 @@ static int doc_read (struct mtd_info *mtd, loff_t from, size_t len,
+@@ -392,7 +392,7 @@ static int doc_read (struct mtd_info *mtd, loff_t from, size_t len,
        struct Nand *mychip = &this->chips[from >> (this->chipshift)];
  
        /* Don't allow read past end of device */
@@ -32676,73 +34510,8 @@ index 241192f..d0c35a3 100644
                return -EINVAL;
  
        /* Don't allow a single read to cross a 512-byte block boundary */
-diff --git a/drivers/mtd/ftl.c b/drivers/mtd/ftl.c
-index 037b399..225a71d 100644
---- a/drivers/mtd/ftl.c
-+++ b/drivers/mtd/ftl.c
-@@ -474,6 +474,8 @@ static int copy_erase_unit(partition_t *part, uint16_t srcunit,
-     loff_t offset;
-     uint16_t srcunitswap = cpu_to_le16(srcunit);
-+    pax_track_stack();
-+
-     eun = &part->EUNInfo[srcunit];
-     xfer = &part->XferInfo[xferunit];
-     DEBUG(2, "ftl_cs: copying block 0x%x to 0x%x\n",
-diff --git a/drivers/mtd/inftlcore.c b/drivers/mtd/inftlcore.c
-index d7592e6..31c505c 100644
---- a/drivers/mtd/inftlcore.c
-+++ b/drivers/mtd/inftlcore.c
-@@ -259,6 +259,8 @@ static u16 INFTL_foldchain(struct INFTLrecord *inftl, unsigned thisVUC, unsigned
-       struct inftl_oob oob;
-       size_t retlen;
-+      pax_track_stack();
-+
-       DEBUG(MTD_DEBUG_LEVEL3, "INFTL: INFTL_foldchain(inftl=%p,thisVUC=%d,"
-               "pending=%d)\n", inftl, thisVUC, pendingblock);
-diff --git a/drivers/mtd/inftlmount.c b/drivers/mtd/inftlmount.c
-index 104052e..6232be5 100644
---- a/drivers/mtd/inftlmount.c
-+++ b/drivers/mtd/inftlmount.c
-@@ -53,6 +53,8 @@ static int find_boot_record(struct INFTLrecord *inftl)
-       struct INFTLPartition *ip;
-       size_t retlen;
-+      pax_track_stack();
-+
-       DEBUG(MTD_DEBUG_LEVEL3, "INFTL: find_boot_record(inftl=%p)\n", inftl);
-         /*
-diff --git a/drivers/mtd/lpddr/qinfo_probe.c b/drivers/mtd/lpddr/qinfo_probe.c
-index dbfe17b..c7b0918 100644
---- a/drivers/mtd/lpddr/qinfo_probe.c
-+++ b/drivers/mtd/lpddr/qinfo_probe.c
-@@ -106,6 +106,8 @@ static int lpddr_pfow_present(struct map_info *map, struct lpddr_private *lpddr)
- {
-       map_word pfow_val[4];
-+      pax_track_stack();
-+
-       /* Check identification string */
-       pfow_val[0] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_P);
-       pfow_val[1] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_F);
-diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
-index 49e20a4..60fbfa5 100644
---- a/drivers/mtd/mtdchar.c
-+++ b/drivers/mtd/mtdchar.c
-@@ -554,6 +554,8 @@ static int mtd_ioctl(struct file *file, u_int cmd, u_long arg)
-       u_long size;
-       struct mtd_info_user info;
-+      pax_track_stack();
-+
-       DEBUG(MTD_DEBUG_LEVEL0, "MTD_ioctl\n");
-       size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT;
 diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
-index d527621..2491fab 100644
+index 3984d48..28aa897 100644
 --- a/drivers/mtd/nand/denali.c
 +++ b/drivers/mtd/nand/denali.c
 @@ -26,6 +26,7 @@
@@ -32753,21 +34522,8 @@ index d527621..2491fab 100644
  
  #include "denali.h"
  
-diff --git a/drivers/mtd/nftlcore.c b/drivers/mtd/nftlcore.c
-index b155666..611b801 100644
---- a/drivers/mtd/nftlcore.c
-+++ b/drivers/mtd/nftlcore.c
-@@ -264,6 +264,8 @@ static u16 NFTL_foldchain (struct NFTLrecord *nftl, unsigned thisVUC, unsigned p
-       int inplace = 1;
-       size_t retlen;
-+      pax_track_stack();
-+
-       memset(BlockMap, 0xff, sizeof(BlockMap));
-       memset(BlockFreeFound, 0, sizeof(BlockFreeFound));
 diff --git a/drivers/mtd/nftlmount.c b/drivers/mtd/nftlmount.c
-index e3cd1ff..0ea79a3 100644
+index ac40925..483b753 100644
 --- a/drivers/mtd/nftlmount.c
 +++ b/drivers/mtd/nftlmount.c
 @@ -24,6 +24,7 @@
@@ -32778,17 +34534,8 @@ index e3cd1ff..0ea79a3 100644
  #include <linux/mtd/mtd.h>
  #include <linux/mtd/nand.h>
  #include <linux/mtd/nftl.h>
-@@ -45,6 +46,8 @@ static int find_boot_record(struct NFTLrecord *nftl)
-       struct mtd_info *mtd = nftl->mbd.mtd;
-       unsigned int i;
-+      pax_track_stack();
-+
-         /* Assume logical EraseSize == physical erasesize for starting the scan.
-          We'll sort it out later if we find a MediaHeader which says otherwise */
-       /* Actually, we won't.  The new DiskOnChip driver has already scanned
 diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
-index 6c3fb5a..c542a81 100644
+index 6c3fb5a..5b2eeb0 100644
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
 @@ -1311,7 +1311,7 @@ module_exit(ubi_exit);
@@ -32820,7 +34567,7 @@ index 6c3fb5a..c542a81 100644
        }
  
 -      return result;
-+      if ((intoverflow_t)result*scale >= INT_MAX) {
++      if (result*scale >= INT_MAX) {
 +              printk(KERN_ERR "UBI error: incorrect bytes count: \"%s\"\n",
 +                     str);
 +              return -EINVAL;
@@ -32830,10 +34577,23 @@ index 6c3fb5a..c542a81 100644
  }
  
  /**
-diff --git a/drivers/net/atlx/atl2.c b/drivers/net/atlx/atl2.c
-index d4f7dda..d627d46 100644
---- a/drivers/net/atlx/atl2.c
-+++ b/drivers/net/atlx/atl2.c
+diff --git a/drivers/mtd/ubi/debug.c b/drivers/mtd/ubi/debug.c
+index ab80c0d..aec8580 100644
+--- a/drivers/mtd/ubi/debug.c
++++ b/drivers/mtd/ubi/debug.c
+@@ -338,6 +338,8 @@ out:
+ /* Write an UBI debugfs file */
+ static ssize_t dfs_file_write(struct file *file, const char __user *user_buf,
++                            size_t count, loff_t *ppos) __size_overflow(3);
++static ssize_t dfs_file_write(struct file *file, const char __user *user_buf,
+                             size_t count, loff_t *ppos)
+ {
+       unsigned long ubi_num = (unsigned long)file->private_data;
+diff --git a/drivers/net/ethernet/atheros/atlx/atl2.c b/drivers/net/ethernet/atheros/atlx/atl2.c
+index 1feae59..c2a61d2 100644
+--- a/drivers/net/ethernet/atheros/atlx/atl2.c
++++ b/drivers/net/ethernet/atheros/atlx/atl2.c
 @@ -2857,7 +2857,7 @@ static void atl2_force_ps(struct atl2_hw *hw)
   */
  
@@ -32843,149 +34603,10 @@ index d4f7dda..d627d46 100644
      MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \
      MODULE_PARM_DESC(X, desc);
  #else
-diff --git a/drivers/net/bna/bfa_ioc_ct.c b/drivers/net/bna/bfa_ioc_ct.c
-index 87aecdf..ec23470 100644
---- a/drivers/net/bna/bfa_ioc_ct.c
-+++ b/drivers/net/bna/bfa_ioc_ct.c
-@@ -48,7 +48,21 @@ static void bfa_ioc_ct_sync_ack(struct bfa_ioc *ioc);
- static bool bfa_ioc_ct_sync_complete(struct bfa_ioc *ioc);
- static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb, bool fcmode);
--static struct bfa_ioc_hwif nw_hwif_ct;
-+static struct bfa_ioc_hwif nw_hwif_ct = {
-+      .ioc_pll_init = bfa_ioc_ct_pll_init,
-+      .ioc_firmware_lock = bfa_ioc_ct_firmware_lock,
-+      .ioc_firmware_unlock = bfa_ioc_ct_firmware_unlock,
-+      .ioc_reg_init = bfa_ioc_ct_reg_init,
-+      .ioc_map_port = bfa_ioc_ct_map_port,
-+      .ioc_isr_mode_set = bfa_ioc_ct_isr_mode_set,
-+      .ioc_notify_fail = bfa_ioc_ct_notify_fail,
-+      .ioc_ownership_reset = bfa_ioc_ct_ownership_reset,
-+      .ioc_sync_start = bfa_ioc_ct_sync_start,
-+      .ioc_sync_join = bfa_ioc_ct_sync_join,
-+      .ioc_sync_leave = bfa_ioc_ct_sync_leave,
-+      .ioc_sync_ack = bfa_ioc_ct_sync_ack,
-+      .ioc_sync_complete = bfa_ioc_ct_sync_complete
-+};
- /**
-  * Called from bfa_ioc_attach() to map asic specific calls.
-@@ -56,20 +70,6 @@ static struct bfa_ioc_hwif nw_hwif_ct;
- void
- bfa_nw_ioc_set_ct_hwif(struct bfa_ioc *ioc)
- {
--      nw_hwif_ct.ioc_pll_init = bfa_ioc_ct_pll_init;
--      nw_hwif_ct.ioc_firmware_lock = bfa_ioc_ct_firmware_lock;
--      nw_hwif_ct.ioc_firmware_unlock = bfa_ioc_ct_firmware_unlock;
--      nw_hwif_ct.ioc_reg_init = bfa_ioc_ct_reg_init;
--      nw_hwif_ct.ioc_map_port = bfa_ioc_ct_map_port;
--      nw_hwif_ct.ioc_isr_mode_set = bfa_ioc_ct_isr_mode_set;
--      nw_hwif_ct.ioc_notify_fail = bfa_ioc_ct_notify_fail;
--      nw_hwif_ct.ioc_ownership_reset = bfa_ioc_ct_ownership_reset;
--      nw_hwif_ct.ioc_sync_start = bfa_ioc_ct_sync_start;
--      nw_hwif_ct.ioc_sync_join = bfa_ioc_ct_sync_join;
--      nw_hwif_ct.ioc_sync_leave = bfa_ioc_ct_sync_leave;
--      nw_hwif_ct.ioc_sync_ack = bfa_ioc_ct_sync_ack;
--      nw_hwif_ct.ioc_sync_complete = bfa_ioc_ct_sync_complete;
--
-       ioc->ioc_hwif = &nw_hwif_ct;
- }
-diff --git a/drivers/net/bna/bnad.c b/drivers/net/bna/bnad.c
-index 8e35b25..c39f205 100644
---- a/drivers/net/bna/bnad.c
-+++ b/drivers/net/bna/bnad.c
-@@ -1673,7 +1673,14 @@ bnad_setup_tx(struct bnad *bnad, uint tx_id)
-       struct bna_intr_info *intr_info =
-                       &res_info[BNA_TX_RES_INTR_T_TXCMPL].res_u.intr_info;
-       struct bna_tx_config *tx_config = &bnad->tx_config[tx_id];
--      struct bna_tx_event_cbfn tx_cbfn;
-+      static struct bna_tx_event_cbfn tx_cbfn = {
-+              /* Initialize the tx event handlers */
-+              .tcb_setup_cbfn = bnad_cb_tcb_setup,
-+              .tcb_destroy_cbfn = bnad_cb_tcb_destroy,
-+              .tx_stall_cbfn = bnad_cb_tx_stall,
-+              .tx_resume_cbfn = bnad_cb_tx_resume,
-+              .tx_cleanup_cbfn = bnad_cb_tx_cleanup
-+      };
-       struct bna_tx *tx;
-       unsigned long flags;
-@@ -1682,13 +1689,6 @@ bnad_setup_tx(struct bnad *bnad, uint tx_id)
-       tx_config->txq_depth = bnad->txq_depth;
-       tx_config->tx_type = BNA_TX_T_REGULAR;
--      /* Initialize the tx event handlers */
--      tx_cbfn.tcb_setup_cbfn = bnad_cb_tcb_setup;
--      tx_cbfn.tcb_destroy_cbfn = bnad_cb_tcb_destroy;
--      tx_cbfn.tx_stall_cbfn = bnad_cb_tx_stall;
--      tx_cbfn.tx_resume_cbfn = bnad_cb_tx_resume;
--      tx_cbfn.tx_cleanup_cbfn = bnad_cb_tx_cleanup;
--
-       /* Get BNA's resource requirement for one tx object */
-       spin_lock_irqsave(&bnad->bna_lock, flags);
-       bna_tx_res_req(bnad->num_txq_per_tx,
-@@ -1819,21 +1819,21 @@ bnad_setup_rx(struct bnad *bnad, uint rx_id)
-       struct bna_intr_info *intr_info =
-                       &res_info[BNA_RX_RES_T_INTR].res_u.intr_info;
-       struct bna_rx_config *rx_config = &bnad->rx_config[rx_id];
--      struct bna_rx_event_cbfn rx_cbfn;
-+      static struct bna_rx_event_cbfn rx_cbfn = {
-+              /* Initialize the Rx event handlers */
-+              .rcb_setup_cbfn = bnad_cb_rcb_setup,
-+              .rcb_destroy_cbfn = bnad_cb_rcb_destroy,
-+              .ccb_setup_cbfn = bnad_cb_ccb_setup,
-+              .ccb_destroy_cbfn = bnad_cb_ccb_destroy,
-+              .rx_cleanup_cbfn = bnad_cb_rx_cleanup,
-+              .rx_post_cbfn = bnad_cb_rx_post
-+      };
-       struct bna_rx *rx;
-       unsigned long flags;
-       /* Initialize the Rx object configuration */
-       bnad_init_rx_config(bnad, rx_config);
--      /* Initialize the Rx event handlers */
--      rx_cbfn.rcb_setup_cbfn = bnad_cb_rcb_setup;
--      rx_cbfn.rcb_destroy_cbfn = bnad_cb_rcb_destroy;
--      rx_cbfn.ccb_setup_cbfn = bnad_cb_ccb_setup;
--      rx_cbfn.ccb_destroy_cbfn = bnad_cb_ccb_destroy;
--      rx_cbfn.rx_cleanup_cbfn = bnad_cb_rx_cleanup;
--      rx_cbfn.rx_post_cbfn = bnad_cb_rx_post;
--
-       /* Get BNA's resource requirement for one Rx object */
-       spin_lock_irqsave(&bnad->bna_lock, flags);
-       bna_rx_res_req(rx_config, res_info);
-diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
-index 4b2b570..31033f4 100644
---- a/drivers/net/bnx2.c
-+++ b/drivers/net/bnx2.c
-@@ -5877,6 +5877,8 @@ bnx2_test_nvram(struct bnx2 *bp)
-       int rc = 0;
-       u32 magic, csum;
-+      pax_track_stack();
-+
-       if ((rc = bnx2_nvram_read(bp, 0, data, 4)) != 0)
-               goto test_nvram_done;
-diff --git a/drivers/net/bnx2x/bnx2x_ethtool.c b/drivers/net/bnx2x/bnx2x_ethtool.c
-index cf3e479..5dc0ecc 100644
---- a/drivers/net/bnx2x/bnx2x_ethtool.c
-+++ b/drivers/net/bnx2x/bnx2x_ethtool.c
-@@ -1943,6 +1943,8 @@ static int bnx2x_test_nvram(struct bnx2x *bp)
-       int i, rc;
-       u32 magic, crc;
-+      pax_track_stack();
-+
-       if (BP_NOMCP(bp))
-               return 0;
-diff --git a/drivers/net/bnx2x/bnx2x_sp.h b/drivers/net/bnx2x/bnx2x_sp.h
+diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h
 index 9a517c2..a50cfcb 100644
---- a/drivers/net/bnx2x/bnx2x_sp.h
-+++ b/drivers/net/bnx2x/bnx2x_sp.h
+--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h
++++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h
 @@ -449,7 +449,7 @@ struct bnx2x_rx_mode_obj {
  
        int (*wait_comp)(struct bnx2x *bp,
@@ -32995,10 +34616,22 @@ index 9a517c2..a50cfcb 100644
  
  /********************** Set multicast group ***********************************/
  
-diff --git a/drivers/net/cxgb3/l2t.h b/drivers/net/cxgb3/l2t.h
+diff --git a/drivers/net/ethernet/broadcom/tg3.h b/drivers/net/ethernet/broadcom/tg3.h
+index 94b4bd0..73c02de 100644
+--- a/drivers/net/ethernet/broadcom/tg3.h
++++ b/drivers/net/ethernet/broadcom/tg3.h
+@@ -134,6 +134,7 @@
+ #define  CHIPREV_ID_5750_A0            0x4000
+ #define  CHIPREV_ID_5750_A1            0x4001
+ #define  CHIPREV_ID_5750_A3            0x4003
++#define  CHIPREV_ID_5750_C1            0x4201
+ #define  CHIPREV_ID_5750_C2            0x4202
+ #define  CHIPREV_ID_5752_A0_HW                 0x5000
+ #define  CHIPREV_ID_5752_A0            0x6000
+diff --git a/drivers/net/ethernet/chelsio/cxgb3/l2t.h b/drivers/net/ethernet/chelsio/cxgb3/l2t.h
 index c5f5479..2e8c260 100644
---- a/drivers/net/cxgb3/l2t.h
-+++ b/drivers/net/cxgb3/l2t.h
+--- a/drivers/net/ethernet/chelsio/cxgb3/l2t.h
++++ b/drivers/net/ethernet/chelsio/cxgb3/l2t.h
 @@ -87,7 +87,7 @@ typedef void (*arp_failure_handler_func)(struct t3cdev * dev,
   */
  struct l2t_skb_cb {
@@ -33008,62 +34641,190 @@ index c5f5479..2e8c260 100644
  
  #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb)
  
-diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c
-index b4efa29..c5f2703 100644
---- a/drivers/net/cxgb4/cxgb4_main.c
-+++ b/drivers/net/cxgb4/cxgb4_main.c
-@@ -3396,6 +3396,8 @@ static int __devinit enable_msix(struct adapter *adap)
-       unsigned int nchan = adap->params.nports;
-       struct msix_entry entries[MAX_INGQ + 1];
+diff --git a/drivers/net/ethernet/chelsio/cxgb3/sge.c b/drivers/net/ethernet/chelsio/cxgb3/sge.c
+index cfb60e1..9c76da7 100644
+--- a/drivers/net/ethernet/chelsio/cxgb3/sge.c
++++ b/drivers/net/ethernet/chelsio/cxgb3/sge.c
+@@ -611,6 +611,8 @@ static void recycle_rx_buf(struct adapter *adap, struct sge_fl *q,
+  *    of the SW ring.
+  */
+ static void *alloc_ring(struct pci_dev *pdev, size_t nelem, size_t elem_size,
++                      size_t sw_size, dma_addr_t * phys, void *metadata) __size_overflow(2,4);
++static void *alloc_ring(struct pci_dev *pdev, size_t nelem, size_t elem_size,
+                       size_t sw_size, dma_addr_t * phys, void *metadata)
+ {
+       size_t len = nelem * elem_size;
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c
+index 140254c..5b8a0a6 100644
+--- a/drivers/net/ethernet/chelsio/cxgb4/sge.c
++++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c
+@@ -593,6 +593,9 @@ static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl)
+  */
+ static void *alloc_ring(struct device *dev, size_t nelem, size_t elem_size,
+                       size_t sw_size, dma_addr_t *phys, void *metadata,
++                      size_t stat_size, int node) __size_overflow(2,4);
++static void *alloc_ring(struct device *dev, size_t nelem, size_t elem_size,
++                      size_t sw_size, dma_addr_t *phys, void *metadata,
+                       size_t stat_size, int node)
+ {
+       size_t len = nelem * elem_size + stat_size;
+diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
+index 8d5d55a..a3c3474 100644
+--- a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
++++ b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
+@@ -730,6 +730,9 @@ static inline void __refill_fl(struct adapter *adapter, struct sge_fl *fl)
+  */
+ static void *alloc_ring(struct device *dev, size_t nelem, size_t hwsize,
+                       size_t swsize, dma_addr_t *busaddrp, void *swringp,
++                      size_t stat_size) __size_overflow(2,4);
++static void *alloc_ring(struct device *dev, size_t nelem, size_t hwsize,
++                      size_t swsize, dma_addr_t *busaddrp, void *swringp,
+                       size_t stat_size)
+ {
+       /*
+diff --git a/drivers/net/ethernet/dec/tulip/de4x5.c b/drivers/net/ethernet/dec/tulip/de4x5.c
+index 871bcaa..4043505 100644
+--- a/drivers/net/ethernet/dec/tulip/de4x5.c
++++ b/drivers/net/ethernet/dec/tulip/de4x5.c
+@@ -5397,7 +5397,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+       for (i=0; i<ETH_ALEN; i++) {
+           tmp.addr[i] = dev->dev_addr[i];
+       }
+-      if (copy_to_user(ioc->data, tmp.addr, ioc->len)) return -EFAULT;
++      if (ioc->len > sizeof tmp.addr || copy_to_user(ioc->data, tmp.addr, ioc->len)) return -EFAULT;
+       break;
  
-+      pax_track_stack();
-+
-       for (i = 0; i < ARRAY_SIZE(entries); ++i)
-               entries[i].entry = i;
+     case DE4X5_SET_HWADDR:           /* Set the hardware address */
+@@ -5437,7 +5437,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+       spin_lock_irqsave(&lp->lock, flags);
+       memcpy(&statbuf, &lp->pktStats, ioc->len);
+       spin_unlock_irqrestore(&lp->lock, flags);
+-      if (copy_to_user(ioc->data, &statbuf, ioc->len))
++      if (ioc->len > sizeof statbuf || copy_to_user(ioc->data, &statbuf, ioc->len))
+               return -EFAULT;
+       break;
+     }
+diff --git a/drivers/net/ethernet/dec/tulip/eeprom.c b/drivers/net/ethernet/dec/tulip/eeprom.c
+index 14d5b61..1398636 100644
+--- a/drivers/net/ethernet/dec/tulip/eeprom.c
++++ b/drivers/net/ethernet/dec/tulip/eeprom.c
+@@ -79,7 +79,7 @@ static struct eeprom_fixup eeprom_fixups[] __devinitdata = {
+   {NULL}};
  
-diff --git a/drivers/net/cxgb4/t4_hw.c b/drivers/net/cxgb4/t4_hw.c
-index d1ec111..12735bc 100644
---- a/drivers/net/cxgb4/t4_hw.c
-+++ b/drivers/net/cxgb4/t4_hw.c
-@@ -362,6 +362,8 @@ static int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
-       u8 vpd[VPD_LEN], csum;
-       unsigned int vpdr_len, kw_offset, id_len;
  
-+      pax_track_stack();
-+
-       ret = pci_read_vpd(adapter->pdev, VPD_BASE, sizeof(vpd), vpd);
-       if (ret < 0)
-               return ret;
-diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c
-index 536b3a5..e6f8dcc 100644
---- a/drivers/net/e1000e/82571.c
-+++ b/drivers/net/e1000e/82571.c
-@@ -239,7 +239,7 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
+-static const char *block_name[] __devinitdata = {
++static const char *block_name[] __devinitconst = {
+       "21140 non-MII",
+       "21140 MII PHY",
+       "21142 Serial PHY",
+diff --git a/drivers/net/ethernet/dec/tulip/winbond-840.c b/drivers/net/ethernet/dec/tulip/winbond-840.c
+index 4d01219..b58d26d 100644
+--- a/drivers/net/ethernet/dec/tulip/winbond-840.c
++++ b/drivers/net/ethernet/dec/tulip/winbond-840.c
+@@ -236,7 +236,7 @@ struct pci_id_info {
+         int drv_flags;                /* Driver use, intended as capability flags. */
+ };
+-static const struct pci_id_info pci_id_tbl[] __devinitdata = {
++static const struct pci_id_info pci_id_tbl[] __devinitconst = {
+       {                               /* Sometime a Level-One switch card. */
+         "Winbond W89c840",    CanHaveMII | HasBrokenTx | FDXOnNoMII},
+       { "Winbond W89c840",    CanHaveMII | HasBrokenTx},
+diff --git a/drivers/net/ethernet/dlink/sundance.c b/drivers/net/ethernet/dlink/sundance.c
+index dcd7f7a..ecb7fb3 100644
+--- a/drivers/net/ethernet/dlink/sundance.c
++++ b/drivers/net/ethernet/dlink/sundance.c
+@@ -218,7 +218,7 @@ enum {
+ struct pci_id_info {
+         const char *name;
+ };
+-static const struct pci_id_info pci_id_tbl[] __devinitdata = {
++static const struct pci_id_info pci_id_tbl[] __devinitconst = {
+       {"D-Link DFE-550TX FAST Ethernet Adapter"},
+       {"D-Link DFE-550FX 100Mbps Fiber-optics Adapter"},
+       {"D-Link DFE-580TX 4 port Server Adapter"},
+diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
+index bf266a0..e024af7 100644
+--- a/drivers/net/ethernet/emulex/benet/be_main.c
++++ b/drivers/net/ethernet/emulex/benet/be_main.c
+@@ -397,7 +397,7 @@ static void accumulate_16bit_val(u32 *acc, u16 val)
+       if (wrapped)
+               newacc += 65536;
+-      ACCESS_ONCE(*acc) = newacc;
++      ACCESS_ONCE_RW(*acc) = newacc;
+ }
+ void be_parse_stats(struct be_adapter *adapter)
+diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
+index fb5579a..debdffa 100644
+--- a/drivers/net/ethernet/faraday/ftgmac100.c
++++ b/drivers/net/ethernet/faraday/ftgmac100.c
+@@ -30,6 +30,8 @@
+ #include <linux/netdevice.h>
+ #include <linux/phy.h>
+ #include <linux/platform_device.h>
++#include <linux/interrupt.h>
++#include <linux/irqreturn.h>
+ #include <net/ip.h>
+ #include "ftgmac100.h"
+diff --git a/drivers/net/ethernet/faraday/ftmac100.c b/drivers/net/ethernet/faraday/ftmac100.c
+index a127cb2..0d043cd 100644
+--- a/drivers/net/ethernet/faraday/ftmac100.c
++++ b/drivers/net/ethernet/faraday/ftmac100.c
+@@ -30,6 +30,8 @@
+ #include <linux/module.h>
+ #include <linux/netdevice.h>
+ #include <linux/platform_device.h>
++#include <linux/interrupt.h>
++#include <linux/irqreturn.h>
+ #include "ftmac100.h"
+diff --git a/drivers/net/ethernet/fealnx.c b/drivers/net/ethernet/fealnx.c
+index 61d2bdd..7f1154a 100644
+--- a/drivers/net/ethernet/fealnx.c
++++ b/drivers/net/ethernet/fealnx.c
+@@ -150,7 +150,7 @@ struct chip_info {
+       int flags;
+ };
+-static const struct chip_info skel_netdrv_tbl[] __devinitdata = {
++static const struct chip_info skel_netdrv_tbl[] __devinitconst = {
+       { "100/10M Ethernet PCI Adapter",       HAS_MII_XCVR },
+       { "100/10M Ethernet PCI Adapter",       HAS_CHIP_XCVR },
+       { "1000/100/10M Ethernet PCI Adapter",  HAS_MII_XCVR },
+diff --git a/drivers/net/ethernet/intel/e1000e/80003es2lan.c b/drivers/net/ethernet/intel/e1000e/80003es2lan.c
+index e1159e5..e18684d 100644
+--- a/drivers/net/ethernet/intel/e1000e/80003es2lan.c
++++ b/drivers/net/ethernet/intel/e1000e/80003es2lan.c
+@@ -205,7 +205,7 @@ static s32 e1000_init_mac_params_80003es2lan(struct e1000_adapter *adapter)
  {
        struct e1000_hw *hw = &adapter->hw;
        struct e1000_mac_info *mac = &hw->mac;
 -      struct e1000_mac_operations *func = &mac->ops;
 +      e1000_mac_operations_no_const *func = &mac->ops;
-       u32 swsm = 0;
-       u32 swsm2 = 0;
-       bool force_clear_smbi = false;
-diff --git a/drivers/net/e1000e/es2lan.c b/drivers/net/e1000e/es2lan.c
-index e4f4225..24da2ea 100644
---- a/drivers/net/e1000e/es2lan.c
-+++ b/drivers/net/e1000e/es2lan.c
-@@ -205,7 +205,7 @@ static s32 e1000_init_mac_params_80003es2lan(struct e1000_adapter *adapter)
+       /* Set media type */
+       switch (adapter->pdev->device) {
+diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
+index a3e65fd..f451444 100644
+--- a/drivers/net/ethernet/intel/e1000e/82571.c
++++ b/drivers/net/ethernet/intel/e1000e/82571.c
+@@ -239,7 +239,7 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
  {
        struct e1000_hw *hw = &adapter->hw;
        struct e1000_mac_info *mac = &hw->mac;
 -      struct e1000_mac_operations *func = &mac->ops;
 +      e1000_mac_operations_no_const *func = &mac->ops;
-       /* Set media type */
-       switch (adapter->pdev->device) {
-diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
+       u32 swsm = 0;
+       u32 swsm2 = 0;
+       bool force_clear_smbi = false;
+diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h
 index 2967039..ca8c40c 100644
---- a/drivers/net/e1000e/hw.h
-+++ b/drivers/net/e1000e/hw.h
+--- a/drivers/net/ethernet/intel/e1000e/hw.h
++++ b/drivers/net/ethernet/intel/e1000e/hw.h
 @@ -778,6 +778,7 @@ struct e1000_mac_operations {
        void (*write_vfta)(struct e1000_hw *, u32, u32);
        s32  (*read_mac_addr)(struct e1000_hw *);
@@ -33110,36 +34871,10 @@ index 2967039..ca8c40c 100644
  
        enum e1000_nvm_type type;
        enum e1000_nvm_override override;
-diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c
-index fa8677c..196356f 100644
---- a/drivers/net/fealnx.c
-+++ b/drivers/net/fealnx.c
-@@ -150,7 +150,7 @@ struct chip_info {
-       int flags;
- };
--static const struct chip_info skel_netdrv_tbl[] __devinitdata = {
-+static const struct chip_info skel_netdrv_tbl[] __devinitconst = {
-       { "100/10M Ethernet PCI Adapter",       HAS_MII_XCVR },
-       { "100/10M Ethernet PCI Adapter",       HAS_CHIP_XCVR },
-       { "1000/100/10M Ethernet PCI Adapter",  HAS_MII_XCVR },
-diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c
-index 2a5a34d..be871cc 100644
---- a/drivers/net/hamradio/6pack.c
-+++ b/drivers/net/hamradio/6pack.c
-@@ -463,6 +463,8 @@ static void sixpack_receive_buf(struct tty_struct *tty,
-       unsigned char buf[512];
-       int count1;
-+      pax_track_stack();
-+
-       if (!count)
-               return;
-diff --git a/drivers/net/igb/e1000_hw.h b/drivers/net/igb/e1000_hw.h
+diff --git a/drivers/net/ethernet/intel/igb/e1000_hw.h b/drivers/net/ethernet/intel/igb/e1000_hw.h
 index 4519a13..f97fcd0 100644
---- a/drivers/net/igb/e1000_hw.h
-+++ b/drivers/net/igb/e1000_hw.h
+--- a/drivers/net/ethernet/intel/igb/e1000_hw.h
++++ b/drivers/net/ethernet/intel/igb/e1000_hw.h
 @@ -314,6 +314,7 @@ struct e1000_mac_operations {
        s32  (*read_mac_addr)(struct e1000_hw *);
        s32  (*get_speed_and_duplex)(struct e1000_hw *, u16 *, u16 *);
@@ -33208,10 +34943,10 @@ index 4519a13..f97fcd0 100644
        struct e1000_mbx_stats stats;
        u32 timeout;
        u32 usec_delay;
-diff --git a/drivers/net/igbvf/vf.h b/drivers/net/igbvf/vf.h
+diff --git a/drivers/net/ethernet/intel/igbvf/vf.h b/drivers/net/ethernet/intel/igbvf/vf.h
 index d7ed58f..64cde36 100644
---- a/drivers/net/igbvf/vf.h
-+++ b/drivers/net/igbvf/vf.h
+--- a/drivers/net/ethernet/intel/igbvf/vf.h
++++ b/drivers/net/ethernet/intel/igbvf/vf.h
 @@ -189,9 +189,10 @@ struct e1000_mac_operations {
        s32  (*read_mac_addr)(struct e1000_hw *);
        s32  (*set_vfta)(struct e1000_hw *, u16, bool);
@@ -33241,38 +34976,11 @@ index d7ed58f..64cde36 100644
        struct e1000_mbx_stats stats;
        u32 timeout;
        u32 usec_delay;
-diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
-index 6a130eb..1aeb9e4 100644
---- a/drivers/net/ixgb/ixgb_main.c
-+++ b/drivers/net/ixgb/ixgb_main.c
-@@ -1070,6 +1070,8 @@ ixgb_set_multi(struct net_device *netdev)
-       u32 rctl;
-       int i;
-+      pax_track_stack();
-+
-       /* Check for Promiscuous and All Multicast modes */
-       rctl = IXGB_READ_REG(hw, RCTL);
-diff --git a/drivers/net/ixgb/ixgb_param.c b/drivers/net/ixgb/ixgb_param.c
-index dd7fbeb..44b9bbf 100644
---- a/drivers/net/ixgb/ixgb_param.c
-+++ b/drivers/net/ixgb/ixgb_param.c
-@@ -261,6 +261,9 @@ void __devinit
- ixgb_check_options(struct ixgb_adapter *adapter)
- {
-       int bd = adapter->bd_number;
-+
-+      pax_track_stack();
-+
-       if (bd >= IXGB_MAX_NIC) {
-               pr_notice("Warning: no configuration for board #%i\n", bd);
-               pr_notice("Using defaults for all values\n");
-diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
-index e0d970e..1cfdea5 100644
---- a/drivers/net/ixgbe/ixgbe_type.h
-+++ b/drivers/net/ixgbe/ixgbe_type.h
-@@ -2642,6 +2642,7 @@ struct ixgbe_eeprom_operations {
+diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
+index 6c5cca8..de8ef63 100644
+--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
++++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
+@@ -2708,6 +2708,7 @@ struct ixgbe_eeprom_operations {
        s32 (*update_checksum)(struct ixgbe_hw *);
        u16 (*calc_checksum)(struct ixgbe_hw *);
  };
@@ -33280,7 +34988,7 @@ index e0d970e..1cfdea5 100644
  
  struct ixgbe_mac_operations {
        s32 (*init_hw)(struct ixgbe_hw *);
-@@ -2703,6 +2704,7 @@ struct ixgbe_mac_operations {
+@@ -2769,6 +2770,7 @@ struct ixgbe_mac_operations {
        /* Manageability interface */
        s32 (*set_fw_drv_ver)(struct ixgbe_hw *, u8, u8, u8, u8);
  };
@@ -33288,7 +34996,7 @@ index e0d970e..1cfdea5 100644
  
  struct ixgbe_phy_operations {
        s32 (*identify)(struct ixgbe_hw *);
-@@ -2722,9 +2724,10 @@ struct ixgbe_phy_operations {
+@@ -2788,9 +2790,10 @@ struct ixgbe_phy_operations {
        s32 (*write_i2c_eeprom)(struct ixgbe_hw *, u8, u8);
        s32 (*check_overtemp)(struct ixgbe_hw *);
  };
@@ -33300,7 +35008,7 @@ index e0d970e..1cfdea5 100644
        enum ixgbe_eeprom_type          type;
        u32                             semaphore_delay;
        u16                             word_size;
-@@ -2734,7 +2737,7 @@ struct ixgbe_eeprom_info {
+@@ -2800,7 +2803,7 @@ struct ixgbe_eeprom_info {
  
  #define IXGBE_FLAGS_DOUBLE_RESET_REQUIRED     0x01
  struct ixgbe_mac_info {
@@ -33309,7 +35017,7 @@ index e0d970e..1cfdea5 100644
        enum ixgbe_mac_type             type;
        u8                              addr[IXGBE_ETH_LENGTH_OF_ADDRESS];
        u8                              perm_addr[IXGBE_ETH_LENGTH_OF_ADDRESS];
-@@ -2762,7 +2765,7 @@ struct ixgbe_mac_info {
+@@ -2828,7 +2831,7 @@ struct ixgbe_mac_info {
  };
  
  struct ixgbe_phy_info {
@@ -33318,7 +35026,7 @@ index e0d970e..1cfdea5 100644
        struct mdio_if_info             mdio;
        enum ixgbe_phy_type             type;
        u32                             id;
-@@ -2790,6 +2793,7 @@ struct ixgbe_mbx_operations {
+@@ -2856,6 +2859,7 @@ struct ixgbe_mbx_operations {
        s32 (*check_for_ack)(struct ixgbe_hw *, u16);
        s32 (*check_for_rst)(struct ixgbe_hw *, u16);
  };
@@ -33326,7 +35034,7 @@ index e0d970e..1cfdea5 100644
  
  struct ixgbe_mbx_stats {
        u32 msgs_tx;
-@@ -2801,7 +2805,7 @@ struct ixgbe_mbx_stats {
+@@ -2867,7 +2871,7 @@ struct ixgbe_mbx_stats {
  };
  
  struct ixgbe_mbx_info {
@@ -33335,10 +35043,10 @@ index e0d970e..1cfdea5 100644
        struct ixgbe_mbx_stats stats;
        u32 timeout;
        u32 usec_delay;
-diff --git a/drivers/net/ixgbevf/vf.h b/drivers/net/ixgbevf/vf.h
+diff --git a/drivers/net/ethernet/intel/ixgbevf/vf.h b/drivers/net/ethernet/intel/ixgbevf/vf.h
 index 10306b4..28df758 100644
---- a/drivers/net/ixgbevf/vf.h
-+++ b/drivers/net/ixgbevf/vf.h
+--- a/drivers/net/ethernet/intel/ixgbevf/vf.h
++++ b/drivers/net/ethernet/intel/ixgbevf/vf.h
 @@ -70,6 +70,7 @@ struct ixgbe_mac_operations {
        s32 (*clear_vfta)(struct ixgbe_hw *);
        s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool);
@@ -33373,23 +35081,10 @@ index 10306b4..28df758 100644
        struct ixgbe_mbx_stats stats;
        u32 timeout;
        u32 udelay;
-diff --git a/drivers/net/ksz884x.c b/drivers/net/ksz884x.c
-index 27418d3..adf15bb 100644
---- a/drivers/net/ksz884x.c
-+++ b/drivers/net/ksz884x.c
-@@ -6533,6 +6533,8 @@ static void netdev_get_ethtool_stats(struct net_device *dev,
-       int rc;
-       u64 counter[TOTAL_PORT_COUNTER_NUM];
-+      pax_track_stack();
-+
-       mutex_lock(&hw_priv->lock);
-       n = SWITCH_PORT_NUM;
-       for (i = 0, p = port->first_port; i < port->mib_port_cnt; i++, p++) {
-diff --git a/drivers/net/mlx4/main.c b/drivers/net/mlx4/main.c
-index f0ee35d..3831c8a 100644
---- a/drivers/net/mlx4/main.c
-+++ b/drivers/net/mlx4/main.c
+diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c
+index 94bbc85..78c12e6 100644
+--- a/drivers/net/ethernet/mellanox/mlx4/main.c
++++ b/drivers/net/ethernet/mellanox/mlx4/main.c
 @@ -40,6 +40,7 @@
  #include <linux/dma-mapping.h>
  #include <linux/slab.h>
@@ -33398,649 +35093,89 @@ index f0ee35d..3831c8a 100644
  
  #include <linux/mlx4/device.h>
  #include <linux/mlx4/doorbell.h>
-@@ -762,6 +763,8 @@ static int mlx4_init_hca(struct mlx4_dev *dev)
-       u64 icm_size;
-       int err;
-+      pax_track_stack();
-+
-       err = mlx4_QUERY_FW(dev);
-       if (err) {
-               if (err == -EACCES)
-diff --git a/drivers/net/niu.c b/drivers/net/niu.c
-index ed47585..5e5be8f 100644
---- a/drivers/net/niu.c
-+++ b/drivers/net/niu.c
-@@ -9061,6 +9061,8 @@ static void __devinit niu_try_msix(struct niu *np, u8 *ldg_num_map)
-       int i, num_irqs, err;
-       u8 first_ldg;
-+      pax_track_stack();
-+
-       first_ldg = (NIU_NUM_LDG / parent->num_ports) * np->port;
-       for (i = 0; i < (NIU_NUM_LDG / parent->num_ports); i++)
-               ldg_num_map[i] = first_ldg + i;
-diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
-index 80b6f36..5cd8938 100644
---- a/drivers/net/pcnet32.c
-+++ b/drivers/net/pcnet32.c
-@@ -270,7 +270,7 @@ struct pcnet32_private {
-       struct sk_buff          **rx_skbuff;
-       dma_addr_t              *tx_dma_addr;
-       dma_addr_t              *rx_dma_addr;
--      struct pcnet32_access   a;
-+      struct pcnet32_access   *a;
-       spinlock_t              lock;           /* Guard lock */
-       unsigned int            cur_rx, cur_tx; /* The next free ring entry */
-       unsigned int            rx_ring_size;   /* current rx ring size */
-@@ -460,9 +460,9 @@ static void pcnet32_netif_start(struct net_device *dev)
-       u16 val;
-       netif_wake_queue(dev);
--      val = lp->a.read_csr(ioaddr, CSR3);
-+      val = lp->a->read_csr(ioaddr, CSR3);
-       val &= 0x00ff;
--      lp->a.write_csr(ioaddr, CSR3, val);
-+      lp->a->write_csr(ioaddr, CSR3, val);
-       napi_enable(&lp->napi);
- }
-@@ -730,7 +730,7 @@ static u32 pcnet32_get_link(struct net_device *dev)
-               r = mii_link_ok(&lp->mii_if);
-       } else if (lp->chip_version >= PCNET32_79C970A) {
-               ulong ioaddr = dev->base_addr;  /* card base I/O address */
--              r = (lp->a.read_bcr(ioaddr, 4) != 0xc0);
-+              r = (lp->a->read_bcr(ioaddr, 4) != 0xc0);
-       } else {        /* can not detect link on really old chips */
-               r = 1;
-       }
-@@ -792,7 +792,7 @@ static int pcnet32_set_ringparam(struct net_device *dev,
-               pcnet32_netif_stop(dev);
-       spin_lock_irqsave(&lp->lock, flags);
--      lp->a.write_csr(ioaddr, CSR0, CSR0_STOP);       /* stop the chip */
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);      /* stop the chip */
-       size = min(ering->tx_pending, (unsigned int)TX_MAX_RING_SIZE);
-@@ -868,7 +868,7 @@ static void pcnet32_ethtool_test(struct net_device *dev,
- static int pcnet32_loopback_test(struct net_device *dev, uint64_t * data1)
- {
-       struct pcnet32_private *lp = netdev_priv(dev);
--      struct pcnet32_access *a = &lp->a;      /* access to registers */
-+      struct pcnet32_access *a = lp->a;       /* access to registers */
-       ulong ioaddr = dev->base_addr;  /* card base I/O address */
-       struct sk_buff *skb;    /* sk buff */
-       int x, i;               /* counters */
-@@ -888,21 +888,21 @@ static int pcnet32_loopback_test(struct net_device *dev, uint64_t * data1)
-               pcnet32_netif_stop(dev);
-       spin_lock_irqsave(&lp->lock, flags);
--      lp->a.write_csr(ioaddr, CSR0, CSR0_STOP);       /* stop the chip */
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);      /* stop the chip */
-       numbuffs = min(numbuffs, (int)min(lp->rx_ring_size, lp->tx_ring_size));
-       /* Reset the PCNET32 */
--      lp->a.reset(ioaddr);
--      lp->a.write_csr(ioaddr, CSR4, 0x0915);  /* auto tx pad */
-+      lp->a->reset(ioaddr);
-+      lp->a->write_csr(ioaddr, CSR4, 0x0915); /* auto tx pad */
-       /* switch pcnet32 to 32bit mode */
--      lp->a.write_bcr(ioaddr, 20, 2);
-+      lp->a->write_bcr(ioaddr, 20, 2);
-       /* purge & init rings but don't actually restart */
-       pcnet32_restart(dev, 0x0000);
--      lp->a.write_csr(ioaddr, CSR0, CSR0_STOP);       /* Set STOP bit */
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);      /* Set STOP bit */
-       /* Initialize Transmit buffers. */
-       size = data_len + 15;
-@@ -947,10 +947,10 @@ static int pcnet32_loopback_test(struct net_device *dev, uint64_t * data1)
+diff --git a/drivers/net/ethernet/neterion/vxge/vxge-config.h b/drivers/net/ethernet/neterion/vxge/vxge-config.h
+index 5046a64..71ca936 100644
+--- a/drivers/net/ethernet/neterion/vxge/vxge-config.h
++++ b/drivers/net/ethernet/neterion/vxge/vxge-config.h
+@@ -514,7 +514,7 @@ struct vxge_hw_uld_cbs {
+       void (*link_down)(struct __vxge_hw_device *devh);
+       void (*crit_err)(struct __vxge_hw_device *devh,
+                       enum vxge_hw_event type, u64 ext_data);
+-};
++} __no_const;
  
-       /* set int loopback in CSR15 */
-       x = a->read_csr(ioaddr, CSR15) & 0xfffc;
--      lp->a.write_csr(ioaddr, CSR15, x | 0x0044);
-+      lp->a->write_csr(ioaddr, CSR15, x | 0x0044);
+ /*
+  * struct __vxge_hw_blockpool_entry - Block private data structure
+diff --git a/drivers/net/ethernet/neterion/vxge/vxge-traffic.h b/drivers/net/ethernet/neterion/vxge/vxge-traffic.h
+index 4a518a3..936b334 100644
+--- a/drivers/net/ethernet/neterion/vxge/vxge-traffic.h
++++ b/drivers/net/ethernet/neterion/vxge/vxge-traffic.h
+@@ -2088,7 +2088,7 @@ struct vxge_hw_mempool_cbs {
+                       struct vxge_hw_mempool_dma      *dma_object,
+                       u32                     index,
+                       u32                     is_last);
+-};
++} __no_const;
  
-       teststatus = cpu_to_le16(0x8000);
--      lp->a.write_csr(ioaddr, CSR0, CSR0_START);      /* Set STRT bit */
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_START);     /* Set STRT bit */
+ #define VXGE_HW_VIRTUAL_PATH_HANDLE(vpath)                            \
+               ((struct __vxge_hw_vpath_handle *)(vpath)->vpath_handles.next)
+diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
+index 0cf2351..56c4cef 100644
+--- a/drivers/net/ethernet/realtek/r8169.c
++++ b/drivers/net/ethernet/realtek/r8169.c
+@@ -698,17 +698,17 @@ struct rtl8169_private {
+       struct mdio_ops {
+               void (*write)(void __iomem *, int, int);
+               int (*read)(void __iomem *, int);
+-      } mdio_ops;
++      } __no_const mdio_ops;
  
-       /* Check status of descriptors */
-       for (x = 0; x < numbuffs; x++) {
-@@ -969,7 +969,7 @@ static int pcnet32_loopback_test(struct net_device *dev, uint64_t * data1)
-               }
-       }
+       struct pll_power_ops {
+               void (*down)(struct rtl8169_private *);
+               void (*up)(struct rtl8169_private *);
+-      } pll_power_ops;
++      } __no_const pll_power_ops;
  
--      lp->a.write_csr(ioaddr, CSR0, CSR0_STOP);       /* Set STOP bit */
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);      /* Set STOP bit */
-       wmb();
-       if (netif_msg_hw(lp) && netif_msg_pktdata(lp)) {
-               netdev_printk(KERN_DEBUG, dev, "RX loopback packets:\n");
-@@ -1015,7 +1015,7 @@ clean_up:
-               pcnet32_restart(dev, CSR0_NORMAL);
-       } else {
-               pcnet32_purge_rx_ring(dev);
--              lp->a.write_bcr(ioaddr, 20, 4); /* return to 16bit mode */
-+              lp->a->write_bcr(ioaddr, 20, 4);        /* return to 16bit mode */
-       }
-       spin_unlock_irqrestore(&lp->lock, flags);
+       struct jumbo_ops {
+               void (*enable)(struct rtl8169_private *);
+               void (*disable)(struct rtl8169_private *);
+-      } jumbo_ops;
++      } __no_const jumbo_ops;
  
-@@ -1026,7 +1026,7 @@ static int pcnet32_set_phys_id(struct net_device *dev,
-                              enum ethtool_phys_id_state state)
- {
-       struct pcnet32_private *lp = netdev_priv(dev);
--      struct pcnet32_access *a = &lp->a;
-+      struct pcnet32_access *a = lp->a;
-       ulong ioaddr = dev->base_addr;
-       unsigned long flags;
-       int i;
-@@ -1067,7 +1067,7 @@ static int pcnet32_suspend(struct net_device *dev, unsigned long *flags,
+       int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv);
+       int (*get_settings)(struct net_device *, struct ethtool_cmd *);
+diff --git a/drivers/net/ethernet/sis/sis190.c b/drivers/net/ethernet/sis/sis190.c
+index 1b4658c..a30dabb 100644
+--- a/drivers/net/ethernet/sis/sis190.c
++++ b/drivers/net/ethernet/sis/sis190.c
+@@ -1624,7 +1624,7 @@ static int __devinit sis190_get_mac_addr_from_eeprom(struct pci_dev *pdev,
+ static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev,
+                                                 struct net_device *dev)
  {
-       int csr5;
-       struct pcnet32_private *lp = netdev_priv(dev);
--      struct pcnet32_access *a = &lp->a;
-+      struct pcnet32_access *a = lp->a;
-       ulong ioaddr = dev->base_addr;
-       int ticks;
-@@ -1324,8 +1324,8 @@ static int pcnet32_poll(struct napi_struct *napi, int budget)
-       spin_lock_irqsave(&lp->lock, flags);
-       if (pcnet32_tx(dev)) {
-               /* reset the chip to clear the error condition, then restart */
--              lp->a.reset(ioaddr);
--              lp->a.write_csr(ioaddr, CSR4, 0x0915);  /* auto tx pad */
-+              lp->a->reset(ioaddr);
-+              lp->a->write_csr(ioaddr, CSR4, 0x0915); /* auto tx pad */
-               pcnet32_restart(dev, CSR0_START);
-               netif_wake_queue(dev);
-       }
-@@ -1337,12 +1337,12 @@ static int pcnet32_poll(struct napi_struct *napi, int budget)
-               __napi_complete(napi);
-               /* clear interrupt masks */
--              val = lp->a.read_csr(ioaddr, CSR3);
-+              val = lp->a->read_csr(ioaddr, CSR3);
-               val &= 0x00ff;
--              lp->a.write_csr(ioaddr, CSR3, val);
-+              lp->a->write_csr(ioaddr, CSR3, val);
-               /* Set interrupt enable. */
--              lp->a.write_csr(ioaddr, CSR0, CSR0_INTEN);
-+              lp->a->write_csr(ioaddr, CSR0, CSR0_INTEN);
-               spin_unlock_irqrestore(&lp->lock, flags);
-       }
-@@ -1365,7 +1365,7 @@ static void pcnet32_get_regs(struct net_device *dev, struct ethtool_regs *regs,
-       int i, csr0;
-       u16 *buff = ptr;
-       struct pcnet32_private *lp = netdev_priv(dev);
--      struct pcnet32_access *a = &lp->a;
-+      struct pcnet32_access *a = lp->a;
-       ulong ioaddr = dev->base_addr;
-       unsigned long flags;
-@@ -1401,9 +1401,9 @@ static void pcnet32_get_regs(struct net_device *dev, struct ethtool_regs *regs,
-               for (j = 0; j < PCNET32_MAX_PHYS; j++) {
-                       if (lp->phymask & (1 << j)) {
-                               for (i = 0; i < PCNET32_REGS_PER_PHY; i++) {
--                                      lp->a.write_bcr(ioaddr, 33,
-+                                      lp->a->write_bcr(ioaddr, 33,
-                                                       (j << 5) | i);
--                                      *buff++ = lp->a.read_bcr(ioaddr, 34);
-+                                      *buff++ = lp->a->read_bcr(ioaddr, 34);
-                               }
-                       }
-               }
-@@ -1785,7 +1785,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
-           ((cards_found >= MAX_UNITS) || full_duplex[cards_found]))
-               lp->options |= PCNET32_PORT_FD;
--      lp->a = *a;
-+      lp->a = a;
-       /* prior to register_netdev, dev->name is not yet correct */
-       if (pcnet32_alloc_ring(dev, pci_name(lp->pci_dev))) {
-@@ -1844,7 +1844,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
-       if (lp->mii) {
-               /* lp->phycount and lp->phymask are set to 0 by memset above */
--              lp->mii_if.phy_id = ((lp->a.read_bcr(ioaddr, 33)) >> 5) & 0x1f;
-+              lp->mii_if.phy_id = ((lp->a->read_bcr(ioaddr, 33)) >> 5) & 0x1f;
-               /* scan for PHYs */
-               for (i = 0; i < PCNET32_MAX_PHYS; i++) {
-                       unsigned short id1, id2;
-@@ -1864,7 +1864,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
-                               pr_info("Found PHY %04x:%04x at address %d\n",
-                                       id1, id2, i);
-               }
--              lp->a.write_bcr(ioaddr, 33, (lp->mii_if.phy_id) << 5);
-+              lp->a->write_bcr(ioaddr, 33, (lp->mii_if.phy_id) << 5);
-               if (lp->phycount > 1)
-                       lp->options |= PCNET32_PORT_MII;
-       }
-@@ -2020,10 +2020,10 @@ static int pcnet32_open(struct net_device *dev)
-       }
-       /* Reset the PCNET32 */
--      lp->a.reset(ioaddr);
-+      lp->a->reset(ioaddr);
-       /* switch pcnet32 to 32bit mode */
--      lp->a.write_bcr(ioaddr, 20, 2);
-+      lp->a->write_bcr(ioaddr, 20, 2);
-       netif_printk(lp, ifup, KERN_DEBUG, dev,
-                    "%s() irq %d tx/rx rings %#x/%#x init %#x\n",
-@@ -2032,14 +2032,14 @@ static int pcnet32_open(struct net_device *dev)
-                    (u32) (lp->init_dma_addr));
-       /* set/reset autoselect bit */
--      val = lp->a.read_bcr(ioaddr, 2) & ~2;
-+      val = lp->a->read_bcr(ioaddr, 2) & ~2;
-       if (lp->options & PCNET32_PORT_ASEL)
-               val |= 2;
--      lp->a.write_bcr(ioaddr, 2, val);
-+      lp->a->write_bcr(ioaddr, 2, val);
-       /* handle full duplex setting */
-       if (lp->mii_if.full_duplex) {
--              val = lp->a.read_bcr(ioaddr, 9) & ~3;
-+              val = lp->a->read_bcr(ioaddr, 9) & ~3;
-               if (lp->options & PCNET32_PORT_FD) {
-                       val |= 1;
-                       if (lp->options == (PCNET32_PORT_FD | PCNET32_PORT_AUI))
-@@ -2049,14 +2049,14 @@ static int pcnet32_open(struct net_device *dev)
-                       if (lp->chip_version == 0x2627)
-                               val |= 3;
-               }
--              lp->a.write_bcr(ioaddr, 9, val);
-+              lp->a->write_bcr(ioaddr, 9, val);
-       }
-       /* set/reset GPSI bit in test register */
--      val = lp->a.read_csr(ioaddr, 124) & ~0x10;
-+      val = lp->a->read_csr(ioaddr, 124) & ~0x10;
-       if ((lp->options & PCNET32_PORT_PORTSEL) == PCNET32_PORT_GPSI)
-               val |= 0x10;
--      lp->a.write_csr(ioaddr, 124, val);
-+      lp->a->write_csr(ioaddr, 124, val);
-       /* Allied Telesyn AT 2700/2701 FX are 100Mbit only and do not negotiate */
-       if (pdev && pdev->subsystem_vendor == PCI_VENDOR_ID_AT &&
-@@ -2075,24 +2075,24 @@ static int pcnet32_open(struct net_device *dev)
-                * duplex, and/or enable auto negotiation, and clear DANAS
-                */
-               if (lp->mii && !(lp->options & PCNET32_PORT_ASEL)) {
--                      lp->a.write_bcr(ioaddr, 32,
--                                      lp->a.read_bcr(ioaddr, 32) | 0x0080);
-+                      lp->a->write_bcr(ioaddr, 32,
-+                                      lp->a->read_bcr(ioaddr, 32) | 0x0080);
-                       /* disable Auto Negotiation, set 10Mpbs, HD */
--                      val = lp->a.read_bcr(ioaddr, 32) & ~0xb8;
-+                      val = lp->a->read_bcr(ioaddr, 32) & ~0xb8;
-                       if (lp->options & PCNET32_PORT_FD)
-                               val |= 0x10;
-                       if (lp->options & PCNET32_PORT_100)
-                               val |= 0x08;
--                      lp->a.write_bcr(ioaddr, 32, val);
-+                      lp->a->write_bcr(ioaddr, 32, val);
-               } else {
-                       if (lp->options & PCNET32_PORT_ASEL) {
--                              lp->a.write_bcr(ioaddr, 32,
--                                              lp->a.read_bcr(ioaddr,
-+                              lp->a->write_bcr(ioaddr, 32,
-+                                              lp->a->read_bcr(ioaddr,
-                                                              32) | 0x0080);
-                               /* enable auto negotiate, setup, disable fd */
--                              val = lp->a.read_bcr(ioaddr, 32) & ~0x98;
-+                              val = lp->a->read_bcr(ioaddr, 32) & ~0x98;
-                               val |= 0x20;
--                              lp->a.write_bcr(ioaddr, 32, val);
-+                              lp->a->write_bcr(ioaddr, 32, val);
-                       }
-               }
-       } else {
-@@ -2105,10 +2105,10 @@ static int pcnet32_open(struct net_device *dev)
-                * There is really no good other way to handle multiple PHYs
-                * other than turning off all automatics
-                */
--              val = lp->a.read_bcr(ioaddr, 2);
--              lp->a.write_bcr(ioaddr, 2, val & ~2);
--              val = lp->a.read_bcr(ioaddr, 32);
--              lp->a.write_bcr(ioaddr, 32, val & ~(1 << 7));   /* stop MII manager */
-+              val = lp->a->read_bcr(ioaddr, 2);
-+              lp->a->write_bcr(ioaddr, 2, val & ~2);
-+              val = lp->a->read_bcr(ioaddr, 32);
-+              lp->a->write_bcr(ioaddr, 32, val & ~(1 << 7));  /* stop MII manager */
-               if (!(lp->options & PCNET32_PORT_ASEL)) {
-                       /* setup ecmd */
-@@ -2118,7 +2118,7 @@ static int pcnet32_open(struct net_device *dev)
-                       ethtool_cmd_speed_set(&ecmd,
-                                             (lp->options & PCNET32_PORT_100) ?
-                                             SPEED_100 : SPEED_10);
--                      bcr9 = lp->a.read_bcr(ioaddr, 9);
-+                      bcr9 = lp->a->read_bcr(ioaddr, 9);
-                       if (lp->options & PCNET32_PORT_FD) {
-                               ecmd.duplex = DUPLEX_FULL;
-@@ -2127,7 +2127,7 @@ static int pcnet32_open(struct net_device *dev)
-                               ecmd.duplex = DUPLEX_HALF;
-                               bcr9 |= ~(1 << 0);
-                       }
--                      lp->a.write_bcr(ioaddr, 9, bcr9);
-+                      lp->a->write_bcr(ioaddr, 9, bcr9);
-               }
-               for (i = 0; i < PCNET32_MAX_PHYS; i++) {
-@@ -2158,9 +2158,9 @@ static int pcnet32_open(struct net_device *dev)
- #ifdef DO_DXSUFLO
-       if (lp->dxsuflo) {      /* Disable transmit stop on underflow */
--              val = lp->a.read_csr(ioaddr, CSR3);
-+              val = lp->a->read_csr(ioaddr, CSR3);
-               val |= 0x40;
--              lp->a.write_csr(ioaddr, CSR3, val);
-+              lp->a->write_csr(ioaddr, CSR3, val);
-       }
- #endif
-@@ -2176,11 +2176,11 @@ static int pcnet32_open(struct net_device *dev)
-       napi_enable(&lp->napi);
-       /* Re-initialize the PCNET32, and start it when done. */
--      lp->a.write_csr(ioaddr, 1, (lp->init_dma_addr & 0xffff));
--      lp->a.write_csr(ioaddr, 2, (lp->init_dma_addr >> 16));
-+      lp->a->write_csr(ioaddr, 1, (lp->init_dma_addr & 0xffff));
-+      lp->a->write_csr(ioaddr, 2, (lp->init_dma_addr >> 16));
--      lp->a.write_csr(ioaddr, CSR4, 0x0915);  /* auto tx pad */
--      lp->a.write_csr(ioaddr, CSR0, CSR0_INIT);
-+      lp->a->write_csr(ioaddr, CSR4, 0x0915); /* auto tx pad */
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_INIT);
-       netif_start_queue(dev);
-@@ -2192,19 +2192,19 @@ static int pcnet32_open(struct net_device *dev)
-       i = 0;
-       while (i++ < 100)
--              if (lp->a.read_csr(ioaddr, CSR0) & CSR0_IDON)
-+              if (lp->a->read_csr(ioaddr, CSR0) & CSR0_IDON)
-                       break;
-       /*
-        * We used to clear the InitDone bit, 0x0100, here but Mark Stockton
-        * reports that doing so triggers a bug in the '974.
-        */
--      lp->a.write_csr(ioaddr, CSR0, CSR0_NORMAL);
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_NORMAL);
-       netif_printk(lp, ifup, KERN_DEBUG, dev,
-                    "pcnet32 open after %d ticks, init block %#x csr0 %4.4x\n",
-                    i,
-                    (u32) (lp->init_dma_addr),
--                   lp->a.read_csr(ioaddr, CSR0));
-+                   lp->a->read_csr(ioaddr, CSR0));
-       spin_unlock_irqrestore(&lp->lock, flags);
-@@ -2218,7 +2218,7 @@ err_free_ring:
-        * Switch back to 16bit mode to avoid problems with dumb
-        * DOS packet driver after a warm reboot
-        */
--      lp->a.write_bcr(ioaddr, 20, 4);
-+      lp->a->write_bcr(ioaddr, 20, 4);
- err_free_irq:
-       spin_unlock_irqrestore(&lp->lock, flags);
-@@ -2323,7 +2323,7 @@ static void pcnet32_restart(struct net_device *dev, unsigned int csr0_bits)
-       /* wait for stop */
-       for (i = 0; i < 100; i++)
--              if (lp->a.read_csr(ioaddr, CSR0) & CSR0_STOP)
-+              if (lp->a->read_csr(ioaddr, CSR0) & CSR0_STOP)
-                       break;
-       if (i >= 100)
-@@ -2335,13 +2335,13 @@ static void pcnet32_restart(struct net_device *dev, unsigned int csr0_bits)
-               return;
-       /* ReInit Ring */
--      lp->a.write_csr(ioaddr, CSR0, CSR0_INIT);
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_INIT);
-       i = 0;
-       while (i++ < 1000)
--              if (lp->a.read_csr(ioaddr, CSR0) & CSR0_IDON)
-+              if (lp->a->read_csr(ioaddr, CSR0) & CSR0_IDON)
-                       break;
--      lp->a.write_csr(ioaddr, CSR0, csr0_bits);
-+      lp->a->write_csr(ioaddr, CSR0, csr0_bits);
- }
- static void pcnet32_tx_timeout(struct net_device *dev)
-@@ -2353,8 +2353,8 @@ static void pcnet32_tx_timeout(struct net_device *dev)
-       /* Transmitter timeout, serious problems. */
-       if (pcnet32_debug & NETIF_MSG_DRV)
-               pr_err("%s: transmit timed out, status %4.4x, resetting\n",
--                     dev->name, lp->a.read_csr(ioaddr, CSR0));
--      lp->a.write_csr(ioaddr, CSR0, CSR0_STOP);
-+                     dev->name, lp->a->read_csr(ioaddr, CSR0));
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);
-       dev->stats.tx_errors++;
-       if (netif_msg_tx_err(lp)) {
-               int i;
-@@ -2397,7 +2397,7 @@ static netdev_tx_t pcnet32_start_xmit(struct sk_buff *skb,
-       netif_printk(lp, tx_queued, KERN_DEBUG, dev,
-                    "%s() called, csr0 %4.4x\n",
--                   __func__, lp->a.read_csr(ioaddr, CSR0));
-+                   __func__, lp->a->read_csr(ioaddr, CSR0));
-       /* Default status -- will not enable Successful-TxDone
-        * interrupt when that option is available to us.
-@@ -2427,7 +2427,7 @@ static netdev_tx_t pcnet32_start_xmit(struct sk_buff *skb,
-       dev->stats.tx_bytes += skb->len;
-       /* Trigger an immediate send poll. */
--      lp->a.write_csr(ioaddr, CSR0, CSR0_INTEN | CSR0_TXPOLL);
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_INTEN | CSR0_TXPOLL);
-       if (lp->tx_ring[(entry + 1) & lp->tx_mod_mask].base != 0) {
-               lp->tx_full = 1;
-@@ -2452,16 +2452,16 @@ pcnet32_interrupt(int irq, void *dev_id)
-       spin_lock(&lp->lock);
--      csr0 = lp->a.read_csr(ioaddr, CSR0);
-+      csr0 = lp->a->read_csr(ioaddr, CSR0);
-       while ((csr0 & 0x8f00) && --boguscnt >= 0) {
-               if (csr0 == 0xffff)
-                       break;  /* PCMCIA remove happened */
-               /* Acknowledge all of the current interrupt sources ASAP. */
--              lp->a.write_csr(ioaddr, CSR0, csr0 & ~0x004f);
-+              lp->a->write_csr(ioaddr, CSR0, csr0 & ~0x004f);
-               netif_printk(lp, intr, KERN_DEBUG, dev,
-                            "interrupt  csr0=%#2.2x new csr=%#2.2x\n",
--                           csr0, lp->a.read_csr(ioaddr, CSR0));
-+                           csr0, lp->a->read_csr(ioaddr, CSR0));
-               /* Log misc errors. */
-               if (csr0 & 0x4000)
-@@ -2488,19 +2488,19 @@ pcnet32_interrupt(int irq, void *dev_id)
-               if (napi_schedule_prep(&lp->napi)) {
-                       u16 val;
-                       /* set interrupt masks */
--                      val = lp->a.read_csr(ioaddr, CSR3);
-+                      val = lp->a->read_csr(ioaddr, CSR3);
-                       val |= 0x5f00;
--                      lp->a.write_csr(ioaddr, CSR3, val);
-+                      lp->a->write_csr(ioaddr, CSR3, val);
-                       __napi_schedule(&lp->napi);
-                       break;
-               }
--              csr0 = lp->a.read_csr(ioaddr, CSR0);
-+              csr0 = lp->a->read_csr(ioaddr, CSR0);
-       }
-       netif_printk(lp, intr, KERN_DEBUG, dev,
-                    "exiting interrupt, csr0=%#4.4x\n",
--                   lp->a.read_csr(ioaddr, CSR0));
-+                   lp->a->read_csr(ioaddr, CSR0));
-       spin_unlock(&lp->lock);
-@@ -2520,20 +2520,20 @@ static int pcnet32_close(struct net_device *dev)
-       spin_lock_irqsave(&lp->lock, flags);
--      dev->stats.rx_missed_errors = lp->a.read_csr(ioaddr, 112);
-+      dev->stats.rx_missed_errors = lp->a->read_csr(ioaddr, 112);
-       netif_printk(lp, ifdown, KERN_DEBUG, dev,
-                    "Shutting down ethercard, status was %2.2x\n",
--                   lp->a.read_csr(ioaddr, CSR0));
-+                   lp->a->read_csr(ioaddr, CSR0));
-       /* We stop the PCNET32 here -- it occasionally polls memory if we don't. */
--      lp->a.write_csr(ioaddr, CSR0, CSR0_STOP);
-+      lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);
-       /*
-        * Switch back to 16bit mode to avoid problems with dumb
-        * DOS packet driver after a warm reboot
-        */
--      lp->a.write_bcr(ioaddr, 20, 4);
-+      lp->a->write_bcr(ioaddr, 20, 4);
-       spin_unlock_irqrestore(&lp->lock, flags);
-@@ -2556,7 +2556,7 @@ static struct net_device_stats *pcnet32_get_stats(struct net_device *dev)
-       unsigned long flags;
-       spin_lock_irqsave(&lp->lock, flags);
--      dev->stats.rx_missed_errors = lp->a.read_csr(ioaddr, 112);
-+      dev->stats.rx_missed_errors = lp->a->read_csr(ioaddr, 112);
-       spin_unlock_irqrestore(&lp->lock, flags);
-       return &dev->stats;
-@@ -2577,10 +2577,10 @@ static void pcnet32_load_multicast(struct net_device *dev)
-       if (dev->flags & IFF_ALLMULTI) {
-               ib->filter[0] = cpu_to_le32(~0U);
-               ib->filter[1] = cpu_to_le32(~0U);
--              lp->a.write_csr(ioaddr, PCNET32_MC_FILTER, 0xffff);
--              lp->a.write_csr(ioaddr, PCNET32_MC_FILTER+1, 0xffff);
--              lp->a.write_csr(ioaddr, PCNET32_MC_FILTER+2, 0xffff);
--              lp->a.write_csr(ioaddr, PCNET32_MC_FILTER+3, 0xffff);
-+              lp->a->write_csr(ioaddr, PCNET32_MC_FILTER, 0xffff);
-+              lp->a->write_csr(ioaddr, PCNET32_MC_FILTER+1, 0xffff);
-+              lp->a->write_csr(ioaddr, PCNET32_MC_FILTER+2, 0xffff);
-+              lp->a->write_csr(ioaddr, PCNET32_MC_FILTER+3, 0xffff);
-               return;
-       }
-       /* clear the multicast filter */
-@@ -2594,7 +2594,7 @@ static void pcnet32_load_multicast(struct net_device *dev)
-               mcast_table[crc >> 4] |= cpu_to_le16(1 << (crc & 0xf));
-       }
-       for (i = 0; i < 4; i++)
--              lp->a.write_csr(ioaddr, PCNET32_MC_FILTER + i,
-+              lp->a->write_csr(ioaddr, PCNET32_MC_FILTER + i,
-                               le16_to_cpu(mcast_table[i]));
- }
-@@ -2609,28 +2609,28 @@ static void pcnet32_set_multicast_list(struct net_device *dev)
-       spin_lock_irqsave(&lp->lock, flags);
-       suspended = pcnet32_suspend(dev, &flags, 0);
--      csr15 = lp->a.read_csr(ioaddr, CSR15);
-+      csr15 = lp->a->read_csr(ioaddr, CSR15);
-       if (dev->flags & IFF_PROMISC) {
-               /* Log any net taps. */
-               netif_info(lp, hw, dev, "Promiscuous mode enabled\n");
-               lp->init_block->mode =
-                   cpu_to_le16(0x8000 | (lp->options & PCNET32_PORT_PORTSEL) <<
-                               7);
--              lp->a.write_csr(ioaddr, CSR15, csr15 | 0x8000);
-+              lp->a->write_csr(ioaddr, CSR15, csr15 | 0x8000);
-       } else {
-               lp->init_block->mode =
-                   cpu_to_le16((lp->options & PCNET32_PORT_PORTSEL) << 7);
--              lp->a.write_csr(ioaddr, CSR15, csr15 & 0x7fff);
-+              lp->a->write_csr(ioaddr, CSR15, csr15 & 0x7fff);
-               pcnet32_load_multicast(dev);
-       }
-       if (suspended) {
-               int csr5;
-               /* clear SUSPEND (SPND) - CSR5 bit 0 */
--              csr5 = lp->a.read_csr(ioaddr, CSR5);
--              lp->a.write_csr(ioaddr, CSR5, csr5 & (~CSR5_SUSPEND));
-+              csr5 = lp->a->read_csr(ioaddr, CSR5);
-+              lp->a->write_csr(ioaddr, CSR5, csr5 & (~CSR5_SUSPEND));
-       } else {
--              lp->a.write_csr(ioaddr, CSR0, CSR0_STOP);
-+              lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);
-               pcnet32_restart(dev, CSR0_NORMAL);
-               netif_wake_queue(dev);
-       }
-@@ -2648,8 +2648,8 @@ static int mdio_read(struct net_device *dev, int phy_id, int reg_num)
-       if (!lp->mii)
-               return 0;
--      lp->a.write_bcr(ioaddr, 33, ((phy_id & 0x1f) << 5) | (reg_num & 0x1f));
--      val_out = lp->a.read_bcr(ioaddr, 34);
-+      lp->a->write_bcr(ioaddr, 33, ((phy_id & 0x1f) << 5) | (reg_num & 0x1f));
-+      val_out = lp->a->read_bcr(ioaddr, 34);
+-      static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 };
++      static const u16 __devinitconst ids[] = { 0x0965, 0x0966, 0x0968 };
+       struct sis190_private *tp = netdev_priv(dev);
+       struct pci_dev *isa_bridge;
+       u8 reg, tmp8;
+diff --git a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
+index 41e6b33..8e89b0f 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
++++ b/drivers/net/ethernet/stmicro/stmmac/mmc_core.c
+@@ -139,8 +139,8 @@ void dwmac_mmc_ctrl(void __iomem *ioaddr, unsigned int mode)
  
-       return val_out;
- }
-@@ -2663,8 +2663,8 @@ static void mdio_write(struct net_device *dev, int phy_id, int reg_num, int val)
-       if (!lp->mii)
-               return;
+       writel(value, ioaddr + MMC_CNTRL);
  
--      lp->a.write_bcr(ioaddr, 33, ((phy_id & 0x1f) << 5) | (reg_num & 0x1f));
--      lp->a.write_bcr(ioaddr, 34, val);
-+      lp->a->write_bcr(ioaddr, 33, ((phy_id & 0x1f) << 5) | (reg_num & 0x1f));
-+      lp->a->write_bcr(ioaddr, 34, val);
+-      pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n",
+-               MMC_CNTRL, value);
++//    pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n",
++//             MMC_CNTRL, value);
  }
  
- static int pcnet32_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
-@@ -2741,7 +2741,7 @@ static void pcnet32_check_media(struct net_device *dev, int verbose)
-               curr_link = mii_link_ok(&lp->mii_if);
-       } else {
-               ulong ioaddr = dev->base_addr;  /* card base I/O address */
--              curr_link = (lp->a.read_bcr(ioaddr, 4) != 0xc0);
-+              curr_link = (lp->a->read_bcr(ioaddr, 4) != 0xc0);
-       }
-       if (!curr_link) {
-               if (prev_link || verbose) {
-@@ -2764,13 +2764,13 @@ static void pcnet32_check_media(struct net_device *dev, int verbose)
-                                           (ecmd.duplex == DUPLEX_FULL)
-                                           ? "full" : "half");
-                       }
--                      bcr9 = lp->a.read_bcr(dev->base_addr, 9);
-+                      bcr9 = lp->a->read_bcr(dev->base_addr, 9);
-                       if ((bcr9 & (1 << 0)) != lp->mii_if.full_duplex) {
-                               if (lp->mii_if.full_duplex)
-                                       bcr9 |= (1 << 0);
-                               else
-                                       bcr9 &= ~(1 << 0);
--                              lp->a.write_bcr(dev->base_addr, 9, bcr9);
-+                              lp->a->write_bcr(dev->base_addr, 9, bcr9);
-                       }
-               } else {
-                       netif_info(lp, link, dev, "link up\n");
-diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c
-index edfa15d..002bfa9 100644
---- a/drivers/net/ppp_generic.c
-+++ b/drivers/net/ppp_generic.c
+ /* To mask all all interrupts.*/
+diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
+index 486b404..0d6677d 100644
+--- a/drivers/net/ppp/ppp_generic.c
++++ b/drivers/net/ppp/ppp_generic.c
 @@ -987,7 +987,6 @@ ppp_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
        void __user *addr = (void __user *) ifr->ifr_ifru.ifru_data;
        struct ppp_stats stats;
@@ -34059,63 +35194,6 @@ index edfa15d..002bfa9 100644
                        break;
                err = 0;
                break;
-diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
-index 6d657ca..d1be94b 100644
---- a/drivers/net/r8169.c
-+++ b/drivers/net/r8169.c
-@@ -663,12 +663,12 @@ struct rtl8169_private {
-       struct mdio_ops {
-               void (*write)(void __iomem *, int, int);
-               int (*read)(void __iomem *, int);
--      } mdio_ops;
-+      } __no_const mdio_ops;
-       struct pll_power_ops {
-               void (*down)(struct rtl8169_private *);
-               void (*up)(struct rtl8169_private *);
--      } pll_power_ops;
-+      } __no_const pll_power_ops;
-       int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv);
-       int (*get_settings)(struct net_device *, struct ethtool_cmd *);
-diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
-index 3c0f131..17f8b02 100644
---- a/drivers/net/sis190.c
-+++ b/drivers/net/sis190.c
-@@ -1624,7 +1624,7 @@ static int __devinit sis190_get_mac_addr_from_eeprom(struct pci_dev *pdev,
- static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev,
-                                                 struct net_device *dev)
- {
--      static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 };
-+      static const u16 __devinitconst ids[] = { 0x0965, 0x0966, 0x0968 };
-       struct sis190_private *tp = netdev_priv(dev);
-       struct pci_dev *isa_bridge;
-       u8 reg, tmp8;
-diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
-index 4793df8..44c9849 100644
---- a/drivers/net/sundance.c
-+++ b/drivers/net/sundance.c
-@@ -218,7 +218,7 @@ enum {
- struct pci_id_info {
-         const char *name;
- };
--static const struct pci_id_info pci_id_tbl[] __devinitdata = {
-+static const struct pci_id_info pci_id_tbl[] __devinitconst = {
-       {"D-Link DFE-550TX FAST Ethernet Adapter"},
-       {"D-Link DFE-550FX 100Mbps Fiber-optics Adapter"},
-       {"D-Link DFE-580TX 4 port Server Adapter"},
-diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
-index 2ea456d..3ad9523 100644
---- a/drivers/net/tg3.h
-+++ b/drivers/net/tg3.h
-@@ -134,6 +134,7 @@
- #define  CHIPREV_ID_5750_A0            0x4000
- #define  CHIPREV_ID_5750_A1            0x4001
- #define  CHIPREV_ID_5750_A3            0x4003
-+#define  CHIPREV_ID_5750_C1            0x4201
- #define  CHIPREV_ID_5750_C2            0x4202
- #define  CHIPREV_ID_5752_A0_HW                 0x5000
- #define  CHIPREV_ID_5752_A0            0x6000
 diff --git a/drivers/net/tokenring/abyss.c b/drivers/net/tokenring/abyss.c
 index 515f122..41dd273 100644
 --- a/drivers/net/tokenring/abyss.c
@@ -34193,67 +35271,60 @@ index 46db5c5..37c1536 100644
  
        err = platform_driver_register(&sk_isa_driver);
        if (err)
-diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
-index ce90efc..2676f89 100644
---- a/drivers/net/tulip/de2104x.c
-+++ b/drivers/net/tulip/de2104x.c
-@@ -1795,6 +1795,8 @@ static void __devinit de21041_get_srom_info (struct de_private *de)
-       struct de_srom_info_leaf *il;
-       void *bufp;
-+      pax_track_stack();
-+
-       /* download entire eeprom */
-       for (i = 0; i < DE_EEPROM_WORDS; i++)
-               ((__le16 *)ee_data)[i] =
-diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
-index 959b410..c97fac2 100644
---- a/drivers/net/tulip/de4x5.c
-+++ b/drivers/net/tulip/de4x5.c
-@@ -5397,7 +5397,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
-       for (i=0; i<ETH_ALEN; i++) {
-           tmp.addr[i] = dev->dev_addr[i];
-       }
--      if (copy_to_user(ioc->data, tmp.addr, ioc->len)) return -EFAULT;
-+      if (ioc->len > sizeof tmp.addr || copy_to_user(ioc->data, tmp.addr, ioc->len)) return -EFAULT;
-       break;
+diff --git a/drivers/net/tun.c b/drivers/net/tun.c
+index 7bea9c6..7ef073c 100644
+--- a/drivers/net/tun.c
++++ b/drivers/net/tun.c
+@@ -359,7 +359,7 @@ static void tun_free_netdev(struct net_device *dev)
+ {
+       struct tun_struct *tun = netdev_priv(dev);
  
-     case DE4X5_SET_HWADDR:           /* Set the hardware address */
-@@ -5437,7 +5437,7 @@ de4x5_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
-       spin_lock_irqsave(&lp->lock, flags);
-       memcpy(&statbuf, &lp->pktStats, ioc->len);
-       spin_unlock_irqrestore(&lp->lock, flags);
--      if (copy_to_user(ioc->data, &statbuf, ioc->len))
-+      if (ioc->len > sizeof statbuf || copy_to_user(ioc->data, &statbuf, ioc->len))
-               return -EFAULT;
-       break;
-     }
-diff --git a/drivers/net/tulip/eeprom.c b/drivers/net/tulip/eeprom.c
-index fa5eee9..e074432 100644
---- a/drivers/net/tulip/eeprom.c
-+++ b/drivers/net/tulip/eeprom.c
-@@ -81,7 +81,7 @@ static struct eeprom_fixup eeprom_fixups[] __devinitdata = {
-   {NULL}};
+-      sock_put(tun->socket.sk);
++      sk_release_kernel(tun->socket.sk);
+ }
  
+ /* Net device open. */
+@@ -979,10 +979,18 @@ static int tun_recvmsg(struct kiocb *iocb, struct socket *sock,
+       return ret;
+ }
  
--static const char *block_name[] __devinitdata = {
-+static const char *block_name[] __devinitconst = {
-       "21140 non-MII",
-       "21140 MII PHY",
-       "21142 Serial PHY",
-diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c
-index 862eadf..3eee1e6 100644
---- a/drivers/net/tulip/winbond-840.c
-+++ b/drivers/net/tulip/winbond-840.c
-@@ -236,7 +236,7 @@ struct pci_id_info {
-         int drv_flags;                /* Driver use, intended as capability flags. */
++static int tun_release(struct socket *sock)
++{
++      if (sock->sk)
++              sock_put(sock->sk);
++      return 0;
++}
++
+ /* Ops structure to mimic raw sockets with tun */
+ static const struct proto_ops tun_socket_ops = {
+       .sendmsg = tun_sendmsg,
+       .recvmsg = tun_recvmsg,
++      .release = tun_release,
  };
  
--static const struct pci_id_info pci_id_tbl[] __devinitdata = {
-+static const struct pci_id_info pci_id_tbl[] __devinitconst = {
-       {                               /* Sometime a Level-One switch card. */
-         "Winbond W89c840",    CanHaveMII | HasBrokenTx | FDXOnNoMII},
-       { "Winbond W89c840",    CanHaveMII | HasBrokenTx},
+ static struct proto tun_proto = {
+@@ -1109,10 +1117,11 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
+               tun->vnet_hdr_sz = sizeof(struct virtio_net_hdr);
+               err = -ENOMEM;
+-              sk = sk_alloc(net, AF_UNSPEC, GFP_KERNEL, &tun_proto);
++              sk = sk_alloc(&init_net, AF_UNSPEC, GFP_KERNEL, &tun_proto);
+               if (!sk)
+                       goto err_free_dev;
++              sk_change_net(sk, net);
+               tun->socket.wq = &tun->wq;
+               init_waitqueue_head(&tun->wq.wait);
+               tun->socket.ops = &tun_socket_ops;
+@@ -1173,7 +1182,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
+       return 0;
+  err_free_sk:
+-      sock_put(sk);
++      tun_free_netdev(dev);
+  err_free_dev:
+       free_netdev(dev);
+  failed:
 diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
 index 304fe78..db112fa 100644
 --- a/drivers/net/usb/hso.c
@@ -34355,7 +35426,7 @@ index 304fe78..db112fa 100644
                                    hso_start_serial_device(serial_table[i], GFP_NOIO);
                                hso_kick_transmit(dev2ser(serial_table[i]));
 diff --git a/drivers/net/vmxnet3/vmxnet3_ethtool.c b/drivers/net/vmxnet3/vmxnet3_ethtool.c
-index 27400ed..c796e05 100644
+index e662cbc..8d4a102 100644
 --- a/drivers/net/vmxnet3/vmxnet3_ethtool.c
 +++ b/drivers/net/vmxnet3/vmxnet3_ethtool.c
 @@ -601,8 +601,7 @@ vmxnet3_set_rss_indir(struct net_device *netdev,
@@ -34368,159 +35439,11 @@ index 27400ed..c796e05 100644
                        return -EINVAL;
        }
  
-diff --git a/drivers/net/vxge/vxge-config.h b/drivers/net/vxge/vxge-config.h
-index dd36258..e47fd31 100644
---- a/drivers/net/vxge/vxge-config.h
-+++ b/drivers/net/vxge/vxge-config.h
-@@ -514,7 +514,7 @@ struct vxge_hw_uld_cbs {
-       void (*link_down)(struct __vxge_hw_device *devh);
-       void (*crit_err)(struct __vxge_hw_device *devh,
-                       enum vxge_hw_event type, u64 ext_data);
--};
-+} __no_const;
- /*
-  * struct __vxge_hw_blockpool_entry - Block private data structure
-diff --git a/drivers/net/vxge/vxge-main.c b/drivers/net/vxge/vxge-main.c
-index 178348a2..18bb433 100644
---- a/drivers/net/vxge/vxge-main.c
-+++ b/drivers/net/vxge/vxge-main.c
-@@ -100,6 +100,8 @@ static inline void VXGE_COMPLETE_VPATH_TX(struct vxge_fifo *fifo)
-       struct sk_buff *completed[NR_SKB_COMPLETED];
-       int more;
-+      pax_track_stack();
-+
-       do {
-               more = 0;
-               skb_ptr = completed;
-@@ -1915,6 +1917,8 @@ static enum vxge_hw_status vxge_rth_configure(struct vxgedev *vdev)
-       u8 mtable[256] = {0}; /* CPU to vpath mapping  */
-       int index;
-+      pax_track_stack();
-+
-       /*
-        * Filling
-        *      - itable with bucket numbers
-diff --git a/drivers/net/vxge/vxge-traffic.h b/drivers/net/vxge/vxge-traffic.h
-index 4a518a3..936b334 100644
---- a/drivers/net/vxge/vxge-traffic.h
-+++ b/drivers/net/vxge/vxge-traffic.h
-@@ -2088,7 +2088,7 @@ struct vxge_hw_mempool_cbs {
-                       struct vxge_hw_mempool_dma      *dma_object,
-                       u32                     index,
-                       u32                     is_last);
--};
-+} __no_const;
- #define VXGE_HW_VIRTUAL_PATH_HANDLE(vpath)                            \
-               ((struct __vxge_hw_vpath_handle *)(vpath)->vpath_handles.next)
-diff --git a/drivers/net/wan/hdlc_x25.c b/drivers/net/wan/hdlc_x25.c
-index 56aeb01..547f71f 100644
---- a/drivers/net/wan/hdlc_x25.c
-+++ b/drivers/net/wan/hdlc_x25.c
-@@ -134,16 +134,16 @@ static netdev_tx_t x25_xmit(struct sk_buff *skb, struct net_device *dev)
- static int x25_open(struct net_device *dev)
- {
--      struct lapb_register_struct cb;
-+      static struct lapb_register_struct cb = {
-+              .connect_confirmation = x25_connected,
-+              .connect_indication = x25_connected,
-+              .disconnect_confirmation = x25_disconnected,
-+              .disconnect_indication = x25_disconnected,
-+              .data_indication = x25_data_indication,
-+              .data_transmit = x25_data_transmit
-+      };
-       int result;
--      cb.connect_confirmation = x25_connected;
--      cb.connect_indication = x25_connected;
--      cb.disconnect_confirmation = x25_disconnected;
--      cb.disconnect_indication = x25_disconnected;
--      cb.data_indication = x25_data_indication;
--      cb.data_transmit = x25_data_transmit;
--
-       result = lapb_register(dev, &cb);
-       if (result != LAPB_OK)
-               return result;
-diff --git a/drivers/net/wimax/i2400m/usb-fw.c b/drivers/net/wimax/i2400m/usb-fw.c
-index 1fda46c..f2858f2 100644
---- a/drivers/net/wimax/i2400m/usb-fw.c
-+++ b/drivers/net/wimax/i2400m/usb-fw.c
-@@ -287,6 +287,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(struct i2400m *i2400m,
-       int do_autopm = 1;
-       DECLARE_COMPLETION_ONSTACK(notif_completion);
-+      pax_track_stack();
-+
-       d_fnstart(8, dev, "(i2400m %p ack %p size %zu)\n",
-                 i2400m, ack, ack_size);
-       BUG_ON(_ack == i2400m->bm_ack_buf);
-diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
-index e1b3e3c..e413f18 100644
---- a/drivers/net/wireless/airo.c
-+++ b/drivers/net/wireless/airo.c
-@@ -3003,6 +3003,8 @@ static void airo_process_scan_results (struct airo_info *ai) {
-       BSSListElement * loop_net;
-       BSSListElement * tmp_net;
-+      pax_track_stack();
-+
-       /* Blow away current list of scan results */
-       list_for_each_entry_safe (loop_net, tmp_net, &ai->network_list, list) {
-               list_move_tail (&loop_net->list, &ai->network_free_list);
-@@ -3794,6 +3796,8 @@ static u16 setup_card(struct airo_info *ai, u8 *mac, int lock)
-       WepKeyRid wkr;
-       int rc;
-+      pax_track_stack();
-+
-       memset( &mySsid, 0, sizeof( mySsid ) );
-       kfree (ai->flash);
-       ai->flash = NULL;
-@@ -4753,6 +4757,8 @@ static int proc_stats_rid_open( struct inode *inode,
-       __le32 *vals = stats.vals;
-       int len;
-+      pax_track_stack();
-+
-       if ((file->private_data = kzalloc(sizeof(struct proc_data ), GFP_KERNEL)) == NULL)
-               return -ENOMEM;
-       data = file->private_data;
-@@ -5476,6 +5482,8 @@ static int proc_BSSList_open( struct inode *inode, struct file *file ) {
-       /* If doLoseSync is not 1, we won't do a Lose Sync */
-       int doLoseSync = -1;
-+      pax_track_stack();
-+
-       if ((file->private_data = kzalloc(sizeof(struct proc_data ), GFP_KERNEL)) == NULL)
-               return -ENOMEM;
-       data = file->private_data;
-@@ -7181,6 +7189,8 @@ static int airo_get_aplist(struct net_device *dev,
-       int i;
-       int loseSync = capable(CAP_NET_ADMIN) ? 1: -1;
-+      pax_track_stack();
-+
-       qual = kmalloc(IW_MAX_AP * sizeof(*qual), GFP_KERNEL);
-       if (!qual)
-               return -ENOMEM;
-@@ -7741,6 +7751,8 @@ static void airo_read_wireless_stats(struct airo_info *local)
-       CapabilityRid cap_rid;
-       __le32 *vals = stats_rid.vals;
-+      pax_track_stack();
-+
-       /* Get stats out of the card */
-       clear_bit(JOB_WSTATS, &local->jobs);
-       if (local->power.event) {
 diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
-index 17c4b56..00d836f 100644
+index 0f9ee46..e2d6e65 100644
 --- a/drivers/net/wireless/ath/ath.h
 +++ b/drivers/net/wireless/ath/ath.h
-@@ -121,6 +121,7 @@ struct ath_ops {
+@@ -119,6 +119,7 @@ struct ath_ops {
        void (*write_flush) (void *);
        u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr);
  };
@@ -34529,174 +35452,255 @@ index 17c4b56..00d836f 100644
  struct ath_common;
  struct ath_bus_ops;
 diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c
-index ccca724..7afbadc 100644
+index 8c5ce8b..abf101b 100644
 --- a/drivers/net/wireless/ath/ath5k/debug.c
 +++ b/drivers/net/wireless/ath/ath5k/debug.c
-@@ -203,6 +203,8 @@ static ssize_t read_file_beacon(struct file *file, char __user *user_buf,
-       unsigned int v;
-       u64 tsf;
-+      pax_track_stack();
-+
-       v = ath5k_hw_reg_read(ah, AR5K_BEACON);
-       len += snprintf(buf + len, sizeof(buf) - len,
-               "%-24s0x%08x\tintval: %d\tTIM: 0x%x\n",
-@@ -321,6 +323,8 @@ static ssize_t read_file_debug(struct file *file, char __user *user_buf,
-       unsigned int len = 0;
-       unsigned int i;
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len,
-               "DEBUG LEVEL: 0x%08x\n\n", ah->debug.level);
-@@ -492,6 +496,8 @@ static ssize_t read_file_misc(struct file *file, char __user *user_buf,
-       unsigned int len = 0;
-       u32 filt = ath5k_hw_get_rx_filter(ah);
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len, "bssid-mask: %pM\n",
-                       ah->bssidmask);
-       len += snprintf(buf + len, sizeof(buf) - len, "filter-flags: 0x%x ",
-@@ -548,6 +554,8 @@ static ssize_t read_file_frameerrors(struct file *file, char __user *user_buf,
-       unsigned int len = 0;
-       int i;
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len,
-                       "RX\n---------------------\n");
-       len += snprintf(buf + len, sizeof(buf) - len, "CRC\t%u\t(%u%%)\n",
-@@ -665,6 +673,8 @@ static ssize_t read_file_ani(struct file *file, char __user *user_buf,
-       char buf[700];
-       unsigned int len = 0;
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len,
-                       "HW has PHY error counters:\t%s\n",
-                       ah->ah_capabilities.cap_has_phyerr_counters ?
-@@ -829,6 +839,8 @@ static ssize_t read_file_queue(struct file *file, char __user *user_buf,
-       struct ath5k_buf *bf, *bf0;
-       int i, n;
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len,
-                       "available txbuffers: %d\n", ah->txbuf_len);
-diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
-index 7c2aaad..ad14dee 100644
---- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
-+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
-@@ -758,6 +758,8 @@ static void ar9003_hw_tx_iq_cal_post_proc(struct ath_hw *ah)
-       int i, im, j;
-       int nmeasurement;
-+      pax_track_stack();
-+
-       for (i = 0; i < AR9300_MAX_CHAINS; i++) {
-               if (ah->txchainmask & (1 << i))
-                       num_chains++;
-diff --git a/drivers/net/wireless/ath/ath9k/ar9003_paprd.c b/drivers/net/wireless/ath/ath9k/ar9003_paprd.c
-index f80d1d6..08b773d 100644
---- a/drivers/net/wireless/ath/ath9k/ar9003_paprd.c
-+++ b/drivers/net/wireless/ath/ath9k/ar9003_paprd.c
-@@ -406,6 +406,8 @@ static bool create_pa_curve(u32 *data_L, u32 *data_U, u32 *pa_table, u16 *gain)
-       int theta_low_bin = 0;
-       int i;
+@@ -343,6 +343,9 @@ static ssize_t read_file_debug(struct file *file, char __user *user_buf,
+ static ssize_t write_file_debug(struct file *file,
+                                const char __user *userbuf,
++                               size_t count, loff_t *ppos) __size_overflow(3);
++static ssize_t write_file_debug(struct file *file,
++                               const char __user *userbuf,
+                                size_t count, loff_t *ppos)
+ {
+       struct ath5k_hw *ah = file->private_data;
+diff --git a/drivers/net/wireless/ath/ath9k/ar9002_mac.c b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
+index b592016..fe47870 100644
+--- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c
++++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
+@@ -183,8 +183,8 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
+       ads->ds_txstatus6 = ads->ds_txstatus7 = 0;
+       ads->ds_txstatus8 = ads->ds_txstatus9 = 0;
+-      ACCESS_ONCE(ads->ds_link) = i->link;
+-      ACCESS_ONCE(ads->ds_data) = i->buf_addr[0];
++      ACCESS_ONCE_RW(ads->ds_link) = i->link;
++      ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0];
+       ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore);
+       ctl6 = SM(i->keytype, AR_EncrType);
+@@ -198,26 +198,26 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
+       if ((i->is_first || i->is_last) &&
+           i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) {
+-              ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0)
++              ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0)
+                       | set11nTries(i->rates, 1)
+                       | set11nTries(i->rates, 2)
+                       | set11nTries(i->rates, 3)
+                       | (i->dur_update ? AR_DurUpdateEna : 0)
+                       | SM(0, AR_BurstDur);
+-              ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0)
++              ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0)
+                       | set11nRate(i->rates, 1)
+                       | set11nRate(i->rates, 2)
+                       | set11nRate(i->rates, 3);
+       } else {
+-              ACCESS_ONCE(ads->ds_ctl2) = 0;
+-              ACCESS_ONCE(ads->ds_ctl3) = 0;
++              ACCESS_ONCE_RW(ads->ds_ctl2) = 0;
++              ACCESS_ONCE_RW(ads->ds_ctl3) = 0;
+       }
+       if (!i->is_first) {
+-              ACCESS_ONCE(ads->ds_ctl0) = 0;
+-              ACCESS_ONCE(ads->ds_ctl1) = ctl1;
+-              ACCESS_ONCE(ads->ds_ctl6) = ctl6;
++              ACCESS_ONCE_RW(ads->ds_ctl0) = 0;
++              ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
++              ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
+               return;
+       }
  
-+      pax_track_stack();
-+
-       /* disregard any bin that contains <= 16 samples */
-       thresh_accum_cnt = 16;
-       scale_factor = 5;
-diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c
-index d1eb896..8b67cd4 100644
---- a/drivers/net/wireless/ath/ath9k/debug.c
-+++ b/drivers/net/wireless/ath/ath9k/debug.c
-@@ -387,6 +387,8 @@ static ssize_t read_file_interrupt(struct file *file, char __user *user_buf,
-       char buf[512];
-       unsigned int len = 0;
+@@ -242,7 +242,7 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
+               break;
+       }
  
-+      pax_track_stack();
-+
-       if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) {
-               len += snprintf(buf + len, sizeof(buf) - len,
-                       "%8s: %10u\n", "RXLP", sc->debug.stats.istats.rxlp);
-@@ -477,6 +479,8 @@ static ssize_t read_file_wiphy(struct file *file, char __user *user_buf,
-       u8 addr[ETH_ALEN];
-       u32 tmp;
+-      ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
++      ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
+               | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
+               | SM(i->txpower, AR_XmitPower)
+               | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
+@@ -252,19 +252,19 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
+               | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable :
+                  (i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0));
  
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len,
-                       "%s (chan=%d  center-freq: %d MHz  channel-type: %d (%s))\n",
-                       wiphy_name(sc->hw->wiphy),
-diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
-index d3ff33c..309398e 100644
---- a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
-+++ b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
-@@ -31,6 +31,8 @@ static ssize_t read_file_tgt_int_stats(struct file *file, char __user *user_buf,
-       unsigned int len = 0;
-       int ret = 0;
+-      ACCESS_ONCE(ads->ds_ctl1) = ctl1;
+-      ACCESS_ONCE(ads->ds_ctl6) = ctl6;
++      ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
++      ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
  
-+      pax_track_stack();
-+
-       memset(&cmd_rsp, 0, sizeof(cmd_rsp));
+       if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST)
+               return;
  
-       ath9k_htc_ps_wakeup(priv);
-@@ -89,6 +91,8 @@ static ssize_t read_file_tgt_tx_stats(struct file *file, char __user *user_buf,
-       unsigned int len = 0;
-       int ret = 0;
+-      ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
++      ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
+               | set11nPktDurRTSCTS(i->rates, 1);
+-      ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
++      ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
+               | set11nPktDurRTSCTS(i->rates, 3);
+-      ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
++      ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
+               | set11nRateFlags(i->rates, 1)
+               | set11nRateFlags(i->rates, 2)
+               | set11nRateFlags(i->rates, 3)
+diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+index f5ae3c6..7936af3 100644
+--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+@@ -35,47 +35,47 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
+             (i->qcu << AR_TxQcuNum_S) | 0x17;
+       checksum += val;
+-      ACCESS_ONCE(ads->info) = val;
++      ACCESS_ONCE_RW(ads->info) = val;
+       checksum += i->link;
+-      ACCESS_ONCE(ads->link) = i->link;
++      ACCESS_ONCE_RW(ads->link) = i->link;
+       checksum += i->buf_addr[0];
+-      ACCESS_ONCE(ads->data0) = i->buf_addr[0];
++      ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0];
+       checksum += i->buf_addr[1];
+-      ACCESS_ONCE(ads->data1) = i->buf_addr[1];
++      ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1];
+       checksum += i->buf_addr[2];
+-      ACCESS_ONCE(ads->data2) = i->buf_addr[2];
++      ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2];
+       checksum += i->buf_addr[3];
+-      ACCESS_ONCE(ads->data3) = i->buf_addr[3];
++      ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3];
+       checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen);
+-      ACCESS_ONCE(ads->ctl3) = val;
++      ACCESS_ONCE_RW(ads->ctl3) = val;
+       checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen);
+-      ACCESS_ONCE(ads->ctl5) = val;
++      ACCESS_ONCE_RW(ads->ctl5) = val;
+       checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen);
+-      ACCESS_ONCE(ads->ctl7) = val;
++      ACCESS_ONCE_RW(ads->ctl7) = val;
+       checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen);
+-      ACCESS_ONCE(ads->ctl9) = val;
++      ACCESS_ONCE_RW(ads->ctl9) = val;
+       checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff);
+-      ACCESS_ONCE(ads->ctl10) = checksum;
++      ACCESS_ONCE_RW(ads->ctl10) = checksum;
+       if (i->is_first || i->is_last) {
+-              ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0)
++              ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0)
+                       | set11nTries(i->rates, 1)
+                       | set11nTries(i->rates, 2)
+                       | set11nTries(i->rates, 3)
+                       | (i->dur_update ? AR_DurUpdateEna : 0)
+                       | SM(0, AR_BurstDur);
+-              ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0)
++              ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0)
+                       | set11nRate(i->rates, 1)
+                       | set11nRate(i->rates, 2)
+                       | set11nRate(i->rates, 3);
+       } else {
+-              ACCESS_ONCE(ads->ctl13) = 0;
+-              ACCESS_ONCE(ads->ctl14) = 0;
++              ACCESS_ONCE_RW(ads->ctl13) = 0;
++              ACCESS_ONCE_RW(ads->ctl14) = 0;
+       }
+       ads->ctl20 = 0;
+@@ -84,17 +84,17 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
+       ctl17 = SM(i->keytype, AR_EncrType);
+       if (!i->is_first) {
+-              ACCESS_ONCE(ads->ctl11) = 0;
+-              ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
+-              ACCESS_ONCE(ads->ctl15) = 0;
+-              ACCESS_ONCE(ads->ctl16) = 0;
+-              ACCESS_ONCE(ads->ctl17) = ctl17;
+-              ACCESS_ONCE(ads->ctl18) = 0;
+-              ACCESS_ONCE(ads->ctl19) = 0;
++              ACCESS_ONCE_RW(ads->ctl11) = 0;
++              ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
++              ACCESS_ONCE_RW(ads->ctl15) = 0;
++              ACCESS_ONCE_RW(ads->ctl16) = 0;
++              ACCESS_ONCE_RW(ads->ctl17) = ctl17;
++              ACCESS_ONCE_RW(ads->ctl18) = 0;
++              ACCESS_ONCE_RW(ads->ctl19) = 0;
+               return;
+       }
  
-+      pax_track_stack();
-+
-       memset(&cmd_rsp, 0, sizeof(cmd_rsp));
+-      ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen)
++      ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen)
+               | (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
+               | SM(i->txpower, AR_XmitPower)
+               | (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
+@@ -130,22 +130,22 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
+       val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S;
+       ctl12 |= SM(val, AR_PAPRDChainMask);
  
-       ath9k_htc_ps_wakeup(priv);
-@@ -159,6 +163,8 @@ static ssize_t read_file_tgt_rx_stats(struct file *file, char __user *user_buf,
-       unsigned int len = 0;
-       int ret = 0;
+-      ACCESS_ONCE(ads->ctl12) = ctl12;
+-      ACCESS_ONCE(ads->ctl17) = ctl17;
++      ACCESS_ONCE_RW(ads->ctl12) = ctl12;
++      ACCESS_ONCE_RW(ads->ctl17) = ctl17;
  
-+      pax_track_stack();
-+
-       memset(&cmd_rsp, 0, sizeof(cmd_rsp));
+-      ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
++      ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
+               | set11nPktDurRTSCTS(i->rates, 1);
  
-       ath9k_htc_ps_wakeup(priv);
-@@ -203,6 +209,8 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
-       char buf[512];
-       unsigned int len = 0;
+-      ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
++      ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
+               | set11nPktDurRTSCTS(i->rates, 3);
  
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len,
-                       "%20s : %10u\n", "Buffers queued",
-                       priv->debug.tx_stats.buf_queued);
-@@ -376,6 +384,8 @@ static ssize_t read_file_slot(struct file *file, char __user *user_buf,
-       char buf[512];
-       unsigned int len = 0;
+-      ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0)
++      ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0)
+               | set11nRateFlags(i->rates, 1)
+               | set11nRateFlags(i->rates, 2)
+               | set11nRateFlags(i->rates, 3)
+               | SM(i->rtscts_rate, AR_RTSCTSRate);
  
-+      pax_track_stack();
-+
-       spin_lock_bh(&priv->tx.tx_lock);
+-      ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding;
++      ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding;
+ }
  
-       len += snprintf(buf + len, sizeof(buf) - len, "TX slot bitmap : ");
-@@ -411,6 +421,8 @@ static ssize_t read_file_queue(struct file *file, char __user *user_buf,
-       char buf[512];
-       unsigned int len = 0;
+ static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads)
+diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c
+index 2741203..837a960 100644
+--- a/drivers/net/wireless/ath/ath9k/debug.c
++++ b/drivers/net/wireless/ath/ath9k/debug.c
+@@ -60,6 +60,8 @@ static ssize_t read_file_debug(struct file *file, char __user *user_buf,
+ }
  
-+      pax_track_stack();
-+
-       len += snprintf(buf + len, sizeof(buf) - len, "%20s : %10u\n",
-                       "Mgmt endpoint", skb_queue_len(&priv->tx.mgmt_ep_queue));
+ static ssize_t write_file_debug(struct file *file, const char __user *user_buf,
++                           size_t count, loff_t *ppos) __size_overflow(3);
++static ssize_t write_file_debug(struct file *file, const char __user *user_buf,
+                            size_t count, loff_t *ppos)
+ {
+       struct ath_softc *sc = file->private_data;
+diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
+index d3ff33c..c98bcda 100644
+--- a/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
++++ b/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
+@@ -464,6 +464,8 @@ static ssize_t read_file_debug(struct file *file, char __user *user_buf,
+ }
  
+ static ssize_t write_file_debug(struct file *file, const char __user *user_buf,
++                              size_t count, loff_t *ppos) __size_overflow(3);
++static ssize_t write_file_debug(struct file *file, const char __user *user_buf,
+                               size_t count, loff_t *ppos)
+ {
+       struct ath9k_htc_priv *priv = file->private_data;
 diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
-index c798890..c19a8fb 100644
+index 1bd8edf..10c6d30 100644
 --- a/drivers/net/wireless/ath/ath9k/hw.h
 +++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -588,7 +588,7 @@ struct ath_hw_private_ops {
+@@ -605,7 +605,7 @@ struct ath_hw_private_ops {
  
        /* ANI */
        void (*ani_cache_ini_regs)(struct ath_hw *ah);
@@ -34705,7 +35709,7 @@ index c798890..c19a8fb 100644
  
  /**
   * struct ath_hw_ops - callbacks used by hardware code and driver code
-@@ -639,7 +639,7 @@ struct ath_hw_ops {
+@@ -635,7 +635,7 @@ struct ath_hw_ops {
        void (*antdiv_comb_conf_set)(struct ath_hw *ah,
                        struct ath_hw_antcomb_conf *antconf);
  
@@ -34714,8 +35718,8 @@ index c798890..c19a8fb 100644
  
  struct ath_nf_limits {
        s16 max;
-@@ -652,7 +652,7 @@ struct ath_nf_limits {
- #define AH_UNPLUGGED    0x2 /* The card has been physically removed. */
+@@ -655,7 +655,7 @@ enum ath_cal_list {
+ #define AH_FASTCC       0x4
  
  struct ath_hw {
 -      struct ath_ops reg_ops;
@@ -34723,46 +35727,24 @@ index c798890..c19a8fb 100644
  
        struct ieee80211_hw *hw;
        struct ath_common common;
-diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c
-index ef9ad79..f5f8d80 100644
---- a/drivers/net/wireless/ipw2x00/ipw2100.c
-+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
-@@ -2102,6 +2102,8 @@ static int ipw2100_set_essid(struct ipw2100_priv *priv, char *essid,
-       int err;
-       DECLARE_SSID_BUF(ssid);
-+      pax_track_stack();
-+
-       IPW_DEBUG_HC("SSID: '%s'\n", print_ssid(ssid, essid, ssid_len));
-       if (ssid_len)
-@@ -5451,6 +5453,8 @@ static int ipw2100_set_key(struct ipw2100_priv *priv,
-       struct ipw2100_wep_key *wep_key = (void *)cmd.host_command_parameters;
-       int err;
-+      pax_track_stack();
-+
-       IPW_DEBUG_HC("WEP_KEY_INFO: index = %d, len = %d/%d\n",
-                    idx, keylen, len);
-diff --git a/drivers/net/wireless/ipw2x00/libipw_rx.c b/drivers/net/wireless/ipw2x00/libipw_rx.c
-index 32a9966..de69787 100644
---- a/drivers/net/wireless/ipw2x00/libipw_rx.c
-+++ b/drivers/net/wireless/ipw2x00/libipw_rx.c
-@@ -1565,6 +1565,8 @@ static void libipw_process_probe_response(struct libipw_device
-       unsigned long flags;
-       DECLARE_SSID_BUF(ssid);
+diff --git a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
+index bea8524..c677c06 100644
+--- a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
++++ b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
+@@ -547,7 +547,7 @@ struct phy_func_ptr {
+       void (*carrsuppr)(struct brcms_phy *);
+       s32 (*rxsigpwr)(struct brcms_phy *, s32);
+       void (*detach)(struct brcms_phy *);
+-};
++} __no_const;
  
-+      pax_track_stack();
-+
-       LIBIPW_DEBUG_SCAN("'%s' (%pM"
-                    "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n",
-                    print_ssid(ssid, info_element->data, info_element->len),
+ struct brcms_phy {
+       struct brcms_phy_pub pubpi_ro;
 diff --git a/drivers/net/wireless/iwlegacy/iwl3945-base.c b/drivers/net/wireless/iwlegacy/iwl3945-base.c
-index 66ee1562..b90412b 100644
+index 05f2ad1..ae00eea 100644
 --- a/drivers/net/wireless/iwlegacy/iwl3945-base.c
 +++ b/drivers/net/wireless/iwlegacy/iwl3945-base.c
-@@ -3687,7 +3687,9 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
+@@ -3685,7 +3685,9 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
         */
        if (iwl3945_mod_params.disable_hw_scan) {
                IWL_DEBUG_INFO(priv, "Disabling hw_scan\n");
@@ -34773,83 +35755,26 @@ index 66ee1562..b90412b 100644
        }
  
        IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n");
-diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
-index 3789ff4..22ab151 100644
---- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
-+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
-@@ -920,6 +920,8 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
-       struct iwl_station_priv *sta_priv = (void *)sta->drv_priv;
-       struct iwl_rxon_context *ctx = sta_priv->common.ctx;
-+      pax_track_stack();
-+
-       IWL_DEBUG_RATE_LIMIT(priv, "get frame ack response, update rate scale window\n");
-       /* Treat uninitialized rate scaling data same as non-existing. */
-@@ -2931,6 +2933,8 @@ static void rs_fill_link_cmd(struct iwl_priv *priv,
-               container_of(lq_sta, struct iwl_station_priv, lq_sta);
-       struct iwl_link_quality_cmd *lq_cmd = &lq_sta->lq;
-+      pax_track_stack();
-+
-       /* Override starting rate (index 0) if needed for debug purposes */
-       rs_dbgfs_set_mcs(lq_sta, &new_rate, index);
 diff --git a/drivers/net/wireless/iwlwifi/iwl-debug.h b/drivers/net/wireless/iwlwifi/iwl-debug.h
-index f9a407e..a6f2bb7 100644
+index 69a77e2..552b42c 100644
 --- a/drivers/net/wireless/iwlwifi/iwl-debug.h
 +++ b/drivers/net/wireless/iwlwifi/iwl-debug.h
-@@ -68,8 +68,8 @@ do {                                                                 \
+@@ -71,8 +71,8 @@ do {                                                                 \
  } while (0)
  
  #else
--#define IWL_DEBUG(__priv, level, fmt, args...)
--#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...)
-+#define IWL_DEBUG(__priv, level, fmt, args...) do {} while (0)
-+#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...) do {} while (0)
- static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
-                                     const void *p, u32 len)
- {}
-diff --git a/drivers/net/wireless/iwlwifi/iwl-debugfs.c b/drivers/net/wireless/iwlwifi/iwl-debugfs.c
-index ec1485b..900c3bd 100644
---- a/drivers/net/wireless/iwlwifi/iwl-debugfs.c
-+++ b/drivers/net/wireless/iwlwifi/iwl-debugfs.c
-@@ -561,6 +561,8 @@ static ssize_t iwl_dbgfs_status_read(struct file *file,
-       int pos = 0;
-       const size_t bufsz = sizeof(buf);
-+      pax_track_stack();
-+
-       pos += scnprintf(buf + pos, bufsz - pos, "STATUS_HCMD_ACTIVE:\t %d\n",
-               test_bit(STATUS_HCMD_ACTIVE, &priv->status));
-       pos += scnprintf(buf + pos, bufsz - pos, "STATUS_INT_ENABLED:\t %d\n",
-@@ -693,6 +695,8 @@ static ssize_t iwl_dbgfs_qos_read(struct file *file, char __user *user_buf,
-       char buf[256 * NUM_IWL_RXON_CTX];
-       const size_t bufsz = sizeof(buf);
-+      pax_track_stack();
-+
-       for_each_context(priv, ctx) {
-               pos += scnprintf(buf + pos, bufsz - pos, "context %d:\n",
-                                ctx->ctxid);
-diff --git a/drivers/net/wireless/iwmc3200wifi/debugfs.c b/drivers/net/wireless/iwmc3200wifi/debugfs.c
-index 0a0cc96..fd49ad8 100644
---- a/drivers/net/wireless/iwmc3200wifi/debugfs.c
-+++ b/drivers/net/wireless/iwmc3200wifi/debugfs.c
-@@ -327,6 +327,8 @@ static ssize_t iwm_debugfs_fw_err_read(struct file *filp,
-       int buf_len = 512;
-       size_t len = 0;
-+      pax_track_stack();
-+
-       if (*ppos != 0)
-               return 0;
-       if (count < sizeof(buf))
+-#define IWL_DEBUG(m, level, fmt, args...)
+-#define IWL_DEBUG_LIMIT(m, level, fmt, args...)
++#define IWL_DEBUG(m, level, fmt, args...) do {} while (0)
++#define IWL_DEBUG_LIMIT(m, level, fmt, args...) do {} while (0)
+ #define iwl_print_hex_dump(m, level, p, len)
+ #endif                                /* CONFIG_IWLWIFI_DEBUG */
 diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
-index 031cd89..bdc8435 100644
+index 523ad55..f8c5dc5 100644
 --- a/drivers/net/wireless/mac80211_hwsim.c
 +++ b/drivers/net/wireless/mac80211_hwsim.c
-@@ -1670,9 +1670,11 @@ static int __init init_mac80211_hwsim(void)
+@@ -1678,9 +1678,11 @@ static int __init init_mac80211_hwsim(void)
                return -EINVAL;
  
        if (fake_hw_scan) {
@@ -34865,23 +35790,23 @@ index 031cd89..bdc8435 100644
  
        spin_lock_init(&hwsim_radio_lock);
 diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
-index 2215c3c..64e6a47 100644
+index 30f138b..c904585 100644
 --- a/drivers/net/wireless/mwifiex/main.h
 +++ b/drivers/net/wireless/mwifiex/main.h
-@@ -560,7 +560,7 @@ struct mwifiex_if_ops {
-       void (*update_mp_end_port) (struct mwifiex_adapter *, u16);
+@@ -543,7 +543,7 @@ struct mwifiex_if_ops {
        void (*cleanup_mpa_buf) (struct mwifiex_adapter *);
+       int (*cmdrsp_complete) (struct mwifiex_adapter *, struct sk_buff *);
+       int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *);
 -};
 +} __no_const;
  
  struct mwifiex_adapter {
-       struct mwifiex_private *priv[MWIFIEX_MAX_BSS_NUM];
+       u8 iface_type;
 diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
-index 29f9389..f6d2ce0 100644
+index 0c13840..a5c3ed6 100644
 --- a/drivers/net/wireless/rndis_wlan.c
 +++ b/drivers/net/wireless/rndis_wlan.c
-@@ -1277,7 +1277,7 @@ static int set_rts_threshold(struct usbnet *usbdev, u32 rts_threshold)
+@@ -1275,7 +1275,7 @@ static int set_rts_threshold(struct usbnet *usbdev, u32 rts_threshold)
  
        netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold);
  
@@ -34890,19 +35815,6 @@ index 29f9389..f6d2ce0 100644
                rts_threshold = 2347;
  
        tmp = cpu_to_le32(rts_threshold);
-diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c b/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c
-index 3b11642..d6bb049 100644
---- a/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c
-+++ b/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c
-@@ -837,6 +837,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
-       u8 rfpath;
-       u8 num_total_rfpath = rtlphy->num_total_rfpath;
-+      pax_track_stack();
-+
-       precommoncmdcnt = 0;
-       _rtl92c_phy_set_sw_chnl_cmdarray(precommoncmd, precommoncmdcnt++,
-                                        MAX_PRECMD_CNT,
 diff --git a/drivers/net/wireless/wl1251/wl1251.h b/drivers/net/wireless/wl1251/wl1251.h
 index a77f1bb..c608b2b 100644
 --- a/drivers/net/wireless/wl1251/wl1251.h
@@ -34916,19 +35828,6 @@ index a77f1bb..c608b2b 100644
  
  struct wl1251 {
        struct ieee80211_hw *hw;
-diff --git a/drivers/net/wireless/wl12xx/spi.c b/drivers/net/wireless/wl12xx/spi.c
-index e0b3736..4b466e6 100644
---- a/drivers/net/wireless/wl12xx/spi.c
-+++ b/drivers/net/wireless/wl12xx/spi.c
-@@ -281,6 +281,8 @@ static void wl1271_spi_raw_write(struct wl1271 *wl, int addr, void *buf,
-       u32 chunk_len;
-       int i;
-+      pax_track_stack();
-+
-       WARN_ON(len > WL1271_AGGR_BUFFER_SIZE);
-       spi_message_init(&m);
 diff --git a/drivers/oprofile/buffer_sync.c b/drivers/oprofile/buffer_sync.c
 index f34b5b2..b5abb9f 100644
 --- a/drivers/oprofile/buffer_sync.c
@@ -34969,7 +35868,7 @@ index f34b5b2..b5abb9f 100644
        }
        release_mm(mm);
 diff --git a/drivers/oprofile/event_buffer.c b/drivers/oprofile/event_buffer.c
-index dd87e86..bc0148c 100644
+index c0cc4e7..44d4e54 100644
 --- a/drivers/oprofile/event_buffer.c
 +++ b/drivers/oprofile/event_buffer.c
 @@ -53,7 +53,7 @@ void add_event_entry(unsigned long value)
@@ -34994,6 +35893,42 @@ index f8c752e..28bf4fc 100644
        start_switch_worker();
  }
  
+diff --git a/drivers/oprofile/oprofile_files.c b/drivers/oprofile/oprofile_files.c
+index 84a208d..f07d177 100644
+--- a/drivers/oprofile/oprofile_files.c
++++ b/drivers/oprofile/oprofile_files.c
+@@ -36,6 +36,8 @@ static ssize_t timeout_read(struct file *file, char __user *buf,
+ static ssize_t timeout_write(struct file *file, char const __user *buf,
++              size_t count, loff_t *offset) __size_overflow(3);
++static ssize_t timeout_write(struct file *file, char const __user *buf,
+               size_t count, loff_t *offset)
+ {
+       unsigned long val;
+@@ -72,6 +74,7 @@ static ssize_t depth_read(struct file *file, char __user *buf, size_t count, lof
+ }
++static ssize_t depth_write(struct file *file, char const __user *buf, size_t count, loff_t *offset) __size_overflow(3);
+ static ssize_t depth_write(struct file *file, char const __user *buf, size_t count, loff_t *offset)
+ {
+       unsigned long val;
+@@ -126,12 +129,14 @@ static const struct file_operations cpu_type_fops = {
+ };
++static ssize_t enable_read(struct file *file, char __user *buf, size_t count, loff_t *offset) __size_overflow(3);
+ static ssize_t enable_read(struct file *file, char __user *buf, size_t count, loff_t *offset)
+ {
+       return oprofilefs_ulong_to_user(oprofile_started, buf, count, offset);
+ }
++static ssize_t enable_write(struct file *file, char const __user *buf, size_t count, loff_t *offset) __size_overflow(3);
+ static ssize_t enable_write(struct file *file, char const __user *buf, size_t count, loff_t *offset)
+ {
+       unsigned long val;
 diff --git a/drivers/oprofile/oprofile_stats.c b/drivers/oprofile/oprofile_stats.c
 index 917d28e..d62d981 100644
 --- a/drivers/oprofile/oprofile_stats.c
@@ -35037,10 +35972,18 @@ index 38b6fc0..b5cbfce 100644
  
  extern struct oprofile_stat_struct oprofile_stats;
 diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c
-index e9ff6f7..28e259a 100644
+index 2f0aa0f..d5246c3 100644
 --- a/drivers/oprofile/oprofilefs.c
 +++ b/drivers/oprofile/oprofilefs.c
-@@ -186,7 +186,7 @@ static const struct file_operations atomic_ro_fops = {
+@@ -97,6 +97,7 @@ static ssize_t ulong_read_file(struct file *file, char __user *buf, size_t count
+ }
++static ssize_t ulong_write_file(struct file *file, char const __user *buf, size_t count, loff_t *offset) __size_overflow(3);
+ static ssize_t ulong_write_file(struct file *file, char const __user *buf, size_t count, loff_t *offset)
+ {
+       unsigned long value;
+@@ -193,7 +194,7 @@ static const struct file_operations atomic_ro_fops = {
  
  
  int oprofilefs_create_ro_atomic(struct super_block *sb, struct dentry *root,
@@ -35103,7 +36046,7 @@ index 76ba8a1..20ca857 100644
  
        /* initialize our int15 lock */
 diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
-index cbfbab1..6a9fced 100644
+index 24f049e..051f66e 100644
 --- a/drivers/pci/pcie/aspm.c
 +++ b/drivers/pci/pcie/aspm.c
 @@ -27,9 +27,9 @@
@@ -35120,7 +36063,7 @@ index cbfbab1..6a9fced 100644
  #define ASPM_STATE_ALL                (ASPM_STATE_L0S | ASPM_STATE_L1)
  
 diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
-index 6ab6bd3..72bdc69 100644
+index dfee1b3..a454fb6 100644
 --- a/drivers/pci/probe.c
 +++ b/drivers/pci/probe.c
 @@ -136,7 +136,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
@@ -35153,57 +36096,21 @@ index 27911b5..5b6db88 100644
        proc_create("devices", 0, proc_bus_pci_dir,
                    &proc_bus_pci_dev_operations);
        proc_initialized = 1;
-diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
-index 90832a9..419089a 100644
---- a/drivers/pci/xen-pcifront.c
-+++ b/drivers/pci/xen-pcifront.c
-@@ -187,6 +187,8 @@ static int pcifront_bus_read(struct pci_bus *bus, unsigned int devfn,
-       struct pcifront_sd *sd = bus->sysdata;
-       struct pcifront_device *pdev = pcifront_get_pdev(sd);
-+      pax_track_stack();
-+
-       if (verbose_request)
-               dev_info(&pdev->xdev->dev,
-                        "read dev=%04x:%02x:%02x.%01x - offset %x size %d\n",
-@@ -226,6 +228,8 @@ static int pcifront_bus_write(struct pci_bus *bus, unsigned int devfn,
-       struct pcifront_sd *sd = bus->sysdata;
-       struct pcifront_device *pdev = pcifront_get_pdev(sd);
-+      pax_track_stack();
-+
-       if (verbose_request)
-               dev_info(&pdev->xdev->dev,
-                        "write dev=%04x:%02x:%02x.%01x - "
-@@ -258,6 +262,8 @@ static int pci_frontend_enable_msix(struct pci_dev *dev,
-       struct pcifront_device *pdev = pcifront_get_pdev(sd);
-       struct msi_desc *entry;
-+      pax_track_stack();
-+
-       if (nvec > SH_INFO_MAX_VEC) {
-               dev_err(&dev->dev, "too much vector for pci frontend: %x."
-                                  " Increase SH_INFO_MAX_VEC.\n", nvec);
-@@ -309,6 +315,8 @@ static void pci_frontend_disable_msix(struct pci_dev *dev)
-       struct pcifront_sd *sd = dev->bus->sysdata;
-       struct pcifront_device *pdev = pcifront_get_pdev(sd);
-+      pax_track_stack();
-+
-       err = do_pci_op(pdev, &op);
-       /* What should do for error ? */
-@@ -328,6 +336,8 @@ static int pci_frontend_enable_msi(struct pci_dev *dev, int vector[])
-       struct pcifront_sd *sd = dev->bus->sysdata;
-       struct pcifront_device *pdev = pcifront_get_pdev(sd);
-+      pax_track_stack();
-+
-       err = do_pci_op(pdev, &op);
-       if (likely(!err)) {
-               vector[0] = op.value;
+diff --git a/drivers/platform/x86/asus_acpi.c b/drivers/platform/x86/asus_acpi.c
+index d9312b3..59f63f2 100644
+--- a/drivers/platform/x86/asus_acpi.c
++++ b/drivers/platform/x86/asus_acpi.c
+@@ -887,6 +887,8 @@ static int lcd_proc_open(struct inode *inode, struct file *file)
+ }
+ static ssize_t lcd_proc_write(struct file *file, const char __user *buffer,
++             size_t count, loff_t *pos) __size_overflow(3);
++static ssize_t lcd_proc_write(struct file *file, const char __user *buffer,
+              size_t count, loff_t *pos)
+ {
+       int rv, value;
 diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
-index 7bd829f..a3237ad 100644
+index 7b82868..b9344c9 100644
 --- a/drivers/platform/x86/thinkpad_acpi.c
 +++ b/drivers/platform/x86/thinkpad_acpi.c
 @@ -2094,7 +2094,7 @@ static int hotkey_mask_get(void)
@@ -35334,6 +36241,19 @@ index 7bd829f..a3237ad 100644
  
  /*
   * Polling driver
+diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
+index dcdc1f4..85cee16 100644
+--- a/drivers/platform/x86/toshiba_acpi.c
++++ b/drivers/platform/x86/toshiba_acpi.c
+@@ -517,6 +517,8 @@ static int set_lcd_status(struct backlight_device *bd)
+ }
+ static ssize_t lcd_proc_write(struct file *file, const char __user *buf,
++                            size_t count, loff_t *pos) __size_overflow(3);
++static ssize_t lcd_proc_write(struct file *file, const char __user *buf,
+                             size_t count, loff_t *pos)
+ {
+       struct toshiba_acpi_dev *dev = PDE(file->f_path.dentry->d_inode)->data;
 diff --git a/drivers/pnp/pnpbios/bioscalls.c b/drivers/pnp/pnpbios/bioscalls.c
 index b859d16..5cc6b1a 100644
 --- a/drivers/pnp/pnpbios/bioscalls.c
@@ -35447,10 +36367,10 @@ index 33f5d9a..d957d3f 100644
  
        /*
 diff --git a/drivers/regulator/mc13892-regulator.c b/drivers/regulator/mc13892-regulator.c
-index 3285d41..ab7c22a 100644
+index 023d17d..74ef35b 100644
 --- a/drivers/regulator/mc13892-regulator.c
 +++ b/drivers/regulator/mc13892-regulator.c
-@@ -564,10 +564,12 @@ static int __devinit mc13892_regulator_probe(struct platform_device *pdev)
+@@ -565,10 +565,12 @@ static int __devinit mc13892_regulator_probe(struct platform_device *pdev)
        }
        mc13xxx_unlock(mc13892);
  
@@ -35486,19 +36406,6 @@ index cace6d3..f623fda 100644
                return rtc_set_time(rtc, &tm);
  
        case RTC_PIE_ON:
-diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c
-index f66c33b..7ae5823 100644
---- a/drivers/scsi/BusLogic.c
-+++ b/drivers/scsi/BusLogic.c
-@@ -962,6 +962,8 @@ static int __init BusLogic_InitializeFlashPointProbeInfo(struct BusLogic_HostAda
- static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_HostAdapter
-                                                   *PrototypeHostAdapter)
- {
-+      pax_track_stack();
-+
-       /*
-          If a PCI BIOS is present, interrogate it for MultiMaster and FlashPoint
-          Host Adapters; otherwise, default to the standard ISA MultiMaster probe.
 diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
 index ffb5878..e6d785c 100644
 --- a/drivers/scsi/aacraid/aacraid.h
@@ -35512,20 +36419,8 @@ index ffb5878..e6d785c 100644
  
  /*
   *    Define which interrupt handler needs to be installed
-diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c
-index 8a0b330..b4286de 100644
---- a/drivers/scsi/aacraid/commctrl.c
-+++ b/drivers/scsi/aacraid/commctrl.c
-@@ -482,6 +482,7 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
-       u32 actual_fibsize64, actual_fibsize = 0;
-       int i;
-+      pax_track_stack();
-       if (dev->in_reset) {
-               dprintk((KERN_DEBUG"aacraid: send raw srb -EBUSY\n"));
 diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
-index c7b6fed..4db0569 100644
+index 705e13e..91c873c 100644
 --- a/drivers/scsi/aacraid/linit.c
 +++ b/drivers/scsi/aacraid/linit.c
 @@ -93,7 +93,7 @@ static DECLARE_PCI_DEVICE_TABLE(aac_pci_tbl) = {
@@ -35564,9 +36459,18 @@ index a796de9..1ef20e1 100644
  
  struct bfa_faa_cbfn_s {
 diff --git a/drivers/scsi/bfa/bfa_fcpim.c b/drivers/scsi/bfa/bfa_fcpim.c
-index e07bd47..dbd260a 100644
+index e07bd47..cd1bbbb 100644
 --- a/drivers/scsi/bfa/bfa_fcpim.c
 +++ b/drivers/scsi/bfa/bfa_fcpim.c
+@@ -4121,7 +4121,7 @@ bfa_fcp_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
+       bfa_iotag_attach(fcp);
+-      fcp->itn_arr = (struct bfa_itn_s *) bfa_mem_kva_curp(fcp);
++      fcp->itn_arr = (bfa_itn_s_no_const *) bfa_mem_kva_curp(fcp);
+       bfa_mem_kva_curp(fcp) = (u8 *)fcp->itn_arr +
+                       (fcp->num_itns * sizeof(struct bfa_itn_s));
+       memset(fcp->itn_arr, 0,
 @@ -4179,7 +4179,7 @@ bfa_itn_create(struct bfa_s *bfa, struct bfa_rport_s *rport,
                void (*isr)(struct bfa_s *bfa, struct bfi_msg_s *m))
  {
@@ -35597,41 +36501,6 @@ index 1080bcb..a3b39e3 100644
        int                     num_ioim_reqs;
        int                     num_fwtio_reqs;
        int                     num_itns;
-diff --git a/drivers/scsi/bfa/bfa_fcs_lport.c b/drivers/scsi/bfa/bfa_fcs_lport.c
-index d4f951f..197c350 100644
---- a/drivers/scsi/bfa/bfa_fcs_lport.c
-+++ b/drivers/scsi/bfa/bfa_fcs_lport.c
-@@ -1700,6 +1700,8 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
-       u16        len, count;
-       u16     templen;
-+      pax_track_stack();
-+
-       /*
-        * get hba attributes
-        */
-@@ -1977,6 +1979,8 @@ bfa_fcs_lport_fdmi_build_portattr_block(struct bfa_fcs_lport_fdmi_s *fdmi,
-       u8      count = 0;
-       u16     templen;
-+      pax_track_stack();
-+
-       /*
-        * get port attributes
-        */
-diff --git a/drivers/scsi/bfa/bfa_fcs_rport.c b/drivers/scsi/bfa/bfa_fcs_rport.c
-index 52628d5..f89d033 100644
---- a/drivers/scsi/bfa/bfa_fcs_rport.c
-+++ b/drivers/scsi/bfa/bfa_fcs_rport.c
-@@ -1871,6 +1871,8 @@ bfa_fcs_rport_process_rpsc(struct bfa_fcs_rport_s *rport,
-       struct fc_rpsc_speed_info_s speeds;
-       struct bfa_port_attr_s pport_attr;
-+      pax_track_stack();
-+
-       bfa_trc(port->fcs, rx_fchs->s_id);
-       bfa_trc(port->fcs, rx_fchs->d_id);
 diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h
 index 546d46b..642fa5b 100644
 --- a/drivers/scsi/bfa/bfa_ioc.h
@@ -35654,131 +36523,6 @@ index 546d46b..642fa5b 100644
  
  /*
   * Queue element to wait for room in request queue. FIFO order is
-diff --git a/drivers/scsi/bfa/bfad.c b/drivers/scsi/bfa/bfad.c
-index 66fb725..0fe05ab 100644
---- a/drivers/scsi/bfa/bfad.c
-+++ b/drivers/scsi/bfa/bfad.c
-@@ -1019,6 +1019,8 @@ bfad_start_ops(struct bfad_s *bfad) {
-       struct bfad_vport_s *vport, *vport_new;
-       struct bfa_fcs_driver_info_s driver_info;
-+      pax_track_stack();
-+
-       /* Limit min/max. xfer size to [64k-32MB] */
-       if (max_xfer_size < BFAD_MIN_SECTORS >> 1)
-               max_xfer_size = BFAD_MIN_SECTORS >> 1;
-diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
-index b4f6c9a..0eb1938 100644
---- a/drivers/scsi/dpt_i2o.c
-+++ b/drivers/scsi/dpt_i2o.c
-@@ -1811,6 +1811,8 @@ static int adpt_i2o_passthru(adpt_hba* pHba, u32 __user *arg)
-       dma_addr_t addr;
-       ulong flags = 0;
-+      pax_track_stack();
-+
-       memset(&msg, 0, MAX_MESSAGE_SIZE*4);
-       // get user msg size in u32s 
-       if(get_user(size, &user_msg[0])){
-@@ -2317,6 +2319,8 @@ static s32 adpt_scsi_to_i2o(adpt_hba* pHba, struct scsi_cmnd* cmd, struct adpt_d
-       s32 rcode;
-       dma_addr_t addr;
-+      pax_track_stack();
-+
-       memset(msg, 0 , sizeof(msg));
-       len = scsi_bufflen(cmd);
-       direction = 0x00000000; 
-diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
-index 94de889..ca4f0cf 100644
---- a/drivers/scsi/eata.c
-+++ b/drivers/scsi/eata.c
-@@ -1087,6 +1087,8 @@ static int port_detect(unsigned long port_base, unsigned int j,
-       struct hostdata *ha;
-       char name[16];
-+      pax_track_stack();
-+
-       sprintf(name, "%s%d", driver_name, j);
-       if (!request_region(port_base, REGION_SIZE, driver_name)) {
-diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c
-index c74c4b8..c41ca3f 100644
---- a/drivers/scsi/fcoe/fcoe_ctlr.c
-+++ b/drivers/scsi/fcoe/fcoe_ctlr.c
-@@ -2503,6 +2503,8 @@ static int fcoe_ctlr_vn_recv(struct fcoe_ctlr *fip, struct sk_buff *skb)
-       } buf;
-       int rc;
-+      pax_track_stack();
-+
-       fiph = (struct fip_header *)skb->data;
-       sub = fiph->fip_subcode;
-diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
-index 3242bca..45a83e7 100644
---- a/drivers/scsi/gdth.c
-+++ b/drivers/scsi/gdth.c
-@@ -4107,6 +4107,8 @@ static int ioc_lockdrv(void __user *arg)
-     unsigned long flags;
-     gdth_ha_str *ha;
-+    pax_track_stack();
-+
-     if (copy_from_user(&ldrv, arg, sizeof(gdth_ioctl_lockdrv)))
-         return -EFAULT;
-     ha = gdth_find_ha(ldrv.ionode);
-@@ -4139,6 +4141,8 @@ static int ioc_resetdrv(void __user *arg, char *cmnd)
-     gdth_ha_str *ha;
-     int rval;
-+    pax_track_stack();
-+
-     if (copy_from_user(&res, arg, sizeof(gdth_ioctl_reset)) ||
-         res.number >= MAX_HDRIVES)
-         return -EFAULT;
-@@ -4174,6 +4178,8 @@ static int ioc_general(void __user *arg, char *cmnd)
-     gdth_ha_str *ha;
-     int rval;
-+    pax_track_stack();
-+
-     if (copy_from_user(&gen, arg, sizeof(gdth_ioctl_general)))
-         return -EFAULT;
-     ha = gdth_find_ha(gen.ionode);
-@@ -4642,6 +4648,9 @@ static void gdth_flush(gdth_ha_str *ha)
-     int             i;
-     gdth_cmd_str    gdtcmd;
-     char            cmnd[MAX_COMMAND_SIZE];   
-+
-+    pax_track_stack();
-+
-     memset(cmnd, 0xff, MAX_COMMAND_SIZE);
-     TRACE2(("gdth_flush() hanum %d\n", ha->hanum));
-diff --git a/drivers/scsi/gdth_proc.c b/drivers/scsi/gdth_proc.c
-index 6527543..81e4fe2 100644
---- a/drivers/scsi/gdth_proc.c
-+++ b/drivers/scsi/gdth_proc.c
-@@ -47,6 +47,9 @@ static int gdth_set_asc_info(struct Scsi_Host *host, char *buffer,
-     u64         paddr;
-     char            cmnd[MAX_COMMAND_SIZE];
-+
-+    pax_track_stack();
-+
-     memset(cmnd, 0xff, 12);
-     memset(&gdtcmd, 0, sizeof(gdth_cmd_str));
-@@ -175,6 +178,8 @@ static int gdth_get_info(char *buffer,char **start,off_t offset,int length,
-     gdth_hget_str *phg;
-     char cmnd[MAX_COMMAND_SIZE];
-+    pax_track_stack();
-+
-     gdtcmd = kmalloc(sizeof(*gdtcmd), GFP_KERNEL);
-     estr = kmalloc(sizeof(*estr), GFP_KERNEL);
-     if (!gdtcmd || !estr)
 diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
 index 351dc0b..951dc32 100644
 --- a/drivers/scsi/hosts.c
@@ -35802,10 +36546,10 @@ index 351dc0b..951dc32 100644
  
        /* These three are default values which can be overridden */
 diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
-index 418ce83..7ee1225 100644
+index 865d452..e9b7fa7 100644
 --- a/drivers/scsi/hpsa.c
 +++ b/drivers/scsi/hpsa.c
-@@ -499,7 +499,7 @@ static inline u32 next_command(struct ctlr_info *h)
+@@ -505,7 +505,7 @@ static inline u32 next_command(struct ctlr_info *h)
        u32 a;
  
        if (unlikely(!(h->transMethod & CFGTBL_Trans_Performant)))
@@ -35814,7 +36558,7 @@ index 418ce83..7ee1225 100644
  
        if ((*(h->reply_pool_head) & 1) == (h->reply_pool_wraparound)) {
                a = *(h->reply_pool_head); /* Next cmd in ring buffer */
-@@ -2956,7 +2956,7 @@ static void start_io(struct ctlr_info *h)
+@@ -2989,7 +2989,7 @@ static void start_io(struct ctlr_info *h)
        while (!list_empty(&h->reqQ)) {
                c = list_entry(h->reqQ.next, struct CommandList, list);
                /* can't do anything if fifo is full */
@@ -35823,7 +36567,7 @@ index 418ce83..7ee1225 100644
                        dev_warn(&h->pdev->dev, "fifo full\n");
                        break;
                }
-@@ -2966,7 +2966,7 @@ static void start_io(struct ctlr_info *h)
+@@ -2999,7 +2999,7 @@ static void start_io(struct ctlr_info *h)
                h->Qdepth--;
  
                /* Tell the controller execute command */
@@ -35832,7 +36576,7 @@ index 418ce83..7ee1225 100644
  
                /* Put job onto the completed Q */
                addQ(&h->cmpQ, c);
-@@ -2975,17 +2975,17 @@ static void start_io(struct ctlr_info *h)
+@@ -3008,17 +3008,17 @@ static void start_io(struct ctlr_info *h)
  
  static inline unsigned long get_next_completion(struct ctlr_info *h)
  {
@@ -35853,7 +36597,7 @@ index 418ce83..7ee1225 100644
                (h->interrupts_enabled == 0);
  }
  
-@@ -3882,7 +3882,7 @@ static int __devinit hpsa_pci_init(struct ctlr_info *h)
+@@ -3917,7 +3917,7 @@ static int __devinit hpsa_pci_init(struct ctlr_info *h)
        if (prod_index < 0)
                return -ENODEV;
        h->product_name = products[prod_index].product_name;
@@ -35862,7 +36606,16 @@ index 418ce83..7ee1225 100644
  
        if (hpsa_board_disabled(h->pdev)) {
                dev_warn(&h->pdev->dev, "controller appears to be disabled\n");
-@@ -4163,7 +4163,7 @@ reinit_after_soft_reset:
+@@ -4162,7 +4162,7 @@ static void controller_lockup_detected(struct ctlr_info *h)
+       assert_spin_locked(&lockup_detector_lock);
+       remove_ctlr_from_lockup_detector_list(h);
+-      h->access.set_intr_mask(h, HPSA_INTR_OFF);
++      h->access->set_intr_mask(h, HPSA_INTR_OFF);
+       spin_lock_irqsave(&h->lock, flags);
+       h->lockup_detected = readl(h->vaddr + SA5_SCRATCHPAD_OFFSET);
+       spin_unlock_irqrestore(&h->lock, flags);
+@@ -4340,7 +4340,7 @@ reinit_after_soft_reset:
        }
  
        /* make sure the board interrupts are off */
@@ -35871,7 +36624,7 @@ index 418ce83..7ee1225 100644
  
        if (hpsa_request_irq(h, do_hpsa_intr_msi, do_hpsa_intr_intx))
                goto clean2;
-@@ -4197,7 +4197,7 @@ reinit_after_soft_reset:
+@@ -4374,7 +4374,7 @@ reinit_after_soft_reset:
                 * fake ones to scoop up any residual completions.
                 */
                spin_lock_irqsave(&h->lock, flags);
@@ -35880,7 +36633,7 @@ index 418ce83..7ee1225 100644
                spin_unlock_irqrestore(&h->lock, flags);
                free_irq(h->intr[h->intr_mode], h);
                rc = hpsa_request_irq(h, hpsa_msix_discard_completions,
-@@ -4216,9 +4216,9 @@ reinit_after_soft_reset:
+@@ -4393,9 +4393,9 @@ reinit_after_soft_reset:
                dev_info(&h->pdev->dev, "Board READY.\n");
                dev_info(&h->pdev->dev,
                        "Waiting for stale completions to drain.\n");
@@ -35892,7 +36645,7 @@ index 418ce83..7ee1225 100644
  
                rc = controller_reset_failed(h->cfgtable);
                if (rc)
-@@ -4239,7 +4239,7 @@ reinit_after_soft_reset:
+@@ -4416,7 +4416,7 @@ reinit_after_soft_reset:
        }
  
        /* Turn the interrupts on so we can service requests */
@@ -35901,7 +36654,7 @@ index 418ce83..7ee1225 100644
  
        hpsa_hba_inquiry(h);
        hpsa_register_scsi(h);  /* hook ourselves into SCSI subsystem */
-@@ -4292,7 +4292,7 @@ static void hpsa_shutdown(struct pci_dev *pdev)
+@@ -4468,7 +4468,7 @@ static void hpsa_shutdown(struct pci_dev *pdev)
         * To write all data in the battery backed cache to disks
         */
        hpsa_flush_cache(h);
@@ -35910,7 +36663,7 @@ index 418ce83..7ee1225 100644
        free_irq(h->intr[h->intr_mode], h);
  #ifdef CONFIG_PCI_MSI
        if (h->msix_vector)
-@@ -4455,7 +4455,7 @@ static __devinit void hpsa_enter_performant_mode(struct ctlr_info *h,
+@@ -4632,7 +4632,7 @@ static __devinit void hpsa_enter_performant_mode(struct ctlr_info *h,
                return;
        }
        /* Change the access methods to the performant access methods */
@@ -35920,7 +36673,7 @@ index 418ce83..7ee1225 100644
  }
  
 diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h
-index 7f53cea..a8c7188 100644
+index 91edafb..a9b88ec 100644
 --- a/drivers/scsi/hpsa.h
 +++ b/drivers/scsi/hpsa.h
 @@ -73,7 +73,7 @@ struct ctlr_info {
@@ -35946,7 +36699,7 @@ index f2df059..a3a9930 100644
  typedef struct ips_ha {
     uint8_t            ha_id[IPS_MAX_CHANNELS+1];
 diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
-index d261e98..1e00f35 100644
+index 9de9db2..1e09660 100644
 --- a/drivers/scsi/libfc/fc_exch.c
 +++ b/drivers/scsi/libfc/fc_exch.c
 @@ -105,12 +105,12 @@ struct fc_exch_mgr {
@@ -35968,7 +36721,7 @@ index d261e98..1e00f35 100644
        } stats;
  };
  
-@@ -718,7 +718,7 @@ static struct fc_exch *fc_exch_em_alloc(struct fc_lport *lport,
+@@ -719,7 +719,7 @@ static struct fc_exch *fc_exch_em_alloc(struct fc_lport *lport,
        /* allocate memory for exchange */
        ep = mempool_alloc(mp->ep_pool, GFP_ATOMIC);
        if (!ep) {
@@ -35977,7 +36730,7 @@ index d261e98..1e00f35 100644
                goto out;
        }
        memset(ep, 0, sizeof(*ep));
-@@ -779,7 +779,7 @@ out:
+@@ -780,7 +780,7 @@ out:
        return ep;
  err:
        spin_unlock_bh(&pool->lock);
@@ -35986,7 +36739,7 @@ index d261e98..1e00f35 100644
        mempool_free(ep, mp->ep_pool);
        return NULL;
  }
-@@ -922,7 +922,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
+@@ -923,7 +923,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
                xid = ntohs(fh->fh_ox_id);      /* we originated exch */
                ep = fc_exch_find(mp, xid);
                if (!ep) {
@@ -35995,7 +36748,7 @@ index d261e98..1e00f35 100644
                        reject = FC_RJT_OX_ID;
                        goto out;
                }
-@@ -952,7 +952,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
+@@ -953,7 +953,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
                ep = fc_exch_find(mp, xid);
                if ((f_ctl & FC_FC_FIRST_SEQ) && fc_sof_is_init(fr_sof(fp))) {
                        if (ep) {
@@ -36004,7 +36757,7 @@ index d261e98..1e00f35 100644
                                reject = FC_RJT_RX_ID;
                                goto rel;
                        }
-@@ -963,7 +963,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
+@@ -964,7 +964,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
                        }
                        xid = ep->xid;  /* get our XID */
                } else if (!ep) {
@@ -36013,7 +36766,7 @@ index d261e98..1e00f35 100644
                        reject = FC_RJT_RX_ID;  /* XID not found */
                        goto out;
                }
-@@ -980,7 +980,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
+@@ -981,7 +981,7 @@ static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_lport *lport,
        } else {
                sp = &ep->seq;
                if (sp->id != fh->fh_seq_id) {
@@ -36022,7 +36775,7 @@ index d261e98..1e00f35 100644
                        if (f_ctl & FC_FC_END_SEQ) {
                                /*
                                 * Update sequence_id based on incoming last
-@@ -1430,22 +1430,22 @@ static void fc_exch_recv_seq_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
+@@ -1431,22 +1431,22 @@ static void fc_exch_recv_seq_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
  
        ep = fc_exch_find(mp, ntohs(fh->fh_ox_id));
        if (!ep) {
@@ -36049,7 +36802,7 @@ index d261e98..1e00f35 100644
                goto rel;
        }
        sof = fr_sof(fp);
-@@ -1454,7 +1454,7 @@ static void fc_exch_recv_seq_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
+@@ -1455,7 +1455,7 @@ static void fc_exch_recv_seq_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
                sp->ssb_stat |= SSB_ST_RESP;
                sp->id = fh->fh_seq_id;
        } else if (sp->id != fh->fh_seq_id) {
@@ -36058,7 +36811,7 @@ index d261e98..1e00f35 100644
                goto rel;
        }
  
-@@ -1518,9 +1518,9 @@ static void fc_exch_recv_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
+@@ -1519,9 +1519,9 @@ static void fc_exch_recv_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
        sp = fc_seq_lookup_orig(mp, fp);        /* doesn't hold sequence */
  
        if (!sp)
@@ -36084,7 +36837,7 @@ index db9238f..4378ed2 100644
        .qc_issue               = sas_ata_qc_issue,
        .qc_fill_rtf            = sas_ata_qc_fill_rtf,
 diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h
-index c088a36..01c73b0 100644
+index bb4c8e0..f33d849 100644
 --- a/drivers/scsi/lpfc/lpfc.h
 +++ b/drivers/scsi/lpfc/lpfc.h
 @@ -425,7 +425,7 @@ struct lpfc_vport {
@@ -36107,8 +36860,8 @@ index c088a36..01c73b0 100644
        unsigned long last_rsrc_error_time;
        unsigned long last_ramp_down_time;
        unsigned long last_ramp_up_time;
-@@ -850,7 +850,7 @@ struct lpfc_hba {
-       struct dentry *debug_dumpDif;    /* BlockGuard BPL*/
+@@ -866,7 +866,7 @@ struct lpfc_hba {
        struct dentry *debug_slow_ring_trc;
        struct lpfc_debugfs_trc *slow_ring_trc;
 -      atomic_t slow_ring_trc_cnt;
@@ -36117,10 +36870,10 @@ index c088a36..01c73b0 100644
        struct dentry *idiag_root;
        struct dentry *idiag_pci_cfg;
 diff --git a/drivers/scsi/lpfc/lpfc_debugfs.c b/drivers/scsi/lpfc/lpfc_debugfs.c
-index a0424dd..2499b6b 100644
+index 2838259..a07cfb5 100644
 --- a/drivers/scsi/lpfc/lpfc_debugfs.c
 +++ b/drivers/scsi/lpfc/lpfc_debugfs.c
-@@ -105,7 +105,7 @@ MODULE_PARM_DESC(lpfc_debugfs_mask_disc_trc,
+@@ -106,7 +106,7 @@ MODULE_PARM_DESC(lpfc_debugfs_mask_disc_trc,
  
  #include <linux/debugfs.h>
  
@@ -36129,7 +36882,7 @@ index a0424dd..2499b6b 100644
  static unsigned long lpfc_debugfs_start_time = 0L;
  
  /* iDiag */
-@@ -146,7 +146,7 @@ lpfc_debugfs_disc_trc_data(struct lpfc_vport *vport, char *buf, int size)
+@@ -147,7 +147,7 @@ lpfc_debugfs_disc_trc_data(struct lpfc_vport *vport, char *buf, int size)
        lpfc_debugfs_enable = 0;
  
        len = 0;
@@ -36138,7 +36891,7 @@ index a0424dd..2499b6b 100644
                (lpfc_debugfs_max_disc_trc - 1);
        for (i = index; i < lpfc_debugfs_max_disc_trc; i++) {
                dtp = vport->disc_trc + i;
-@@ -212,7 +212,7 @@ lpfc_debugfs_slow_ring_trc_data(struct lpfc_hba *phba, char *buf, int size)
+@@ -213,7 +213,7 @@ lpfc_debugfs_slow_ring_trc_data(struct lpfc_hba *phba, char *buf, int size)
        lpfc_debugfs_enable = 0;
  
        len = 0;
@@ -36147,7 +36900,7 @@ index a0424dd..2499b6b 100644
                (lpfc_debugfs_max_slow_ring_trc - 1);
        for (i = index; i < lpfc_debugfs_max_slow_ring_trc; i++) {
                dtp = phba->slow_ring_trc + i;
-@@ -635,14 +635,14 @@ lpfc_debugfs_disc_trc(struct lpfc_vport *vport, int mask, char *fmt,
+@@ -636,14 +636,14 @@ lpfc_debugfs_disc_trc(struct lpfc_vport *vport, int mask, char *fmt,
                !vport || !vport->disc_trc)
                return;
  
@@ -36164,7 +36917,7 @@ index a0424dd..2499b6b 100644
        dtp->jif = jiffies;
  #endif
        return;
-@@ -673,14 +673,14 @@ lpfc_debugfs_slow_ring_trc(struct lpfc_hba *phba, char *fmt,
+@@ -674,14 +674,14 @@ lpfc_debugfs_slow_ring_trc(struct lpfc_hba *phba, char *fmt,
                !phba || !phba->slow_ring_trc)
                return;
  
@@ -36181,7 +36934,7 @@ index a0424dd..2499b6b 100644
        dtp->jif = jiffies;
  #endif
        return;
-@@ -3828,7 +3828,7 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
+@@ -3986,7 +3986,7 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
                                                 "slow_ring buffer\n");
                                goto debug_failed;
                        }
@@ -36190,7 +36943,7 @@ index a0424dd..2499b6b 100644
                        memset(phba->slow_ring_trc, 0,
                                (sizeof(struct lpfc_debugfs_trc) *
                                lpfc_debugfs_max_slow_ring_trc));
-@@ -3874,7 +3874,7 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
+@@ -4032,7 +4032,7 @@ lpfc_debugfs_initialize(struct lpfc_vport *vport)
                                 "buffer\n");
                goto debug_failed;
        }
@@ -36200,10 +36953,10 @@ index a0424dd..2499b6b 100644
        snprintf(name, sizeof(name), "discovery_trace");
        vport->debug_disc_trc =
 diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
-index a3c8200..31e562e 100644
+index 55bc4fc..a2a109c 100644
 --- a/drivers/scsi/lpfc/lpfc_init.c
 +++ b/drivers/scsi/lpfc/lpfc_init.c
-@@ -9969,8 +9969,10 @@ lpfc_init(void)
+@@ -10027,8 +10027,10 @@ lpfc_init(void)
        printk(LPFC_COPYRIGHT "\n");
  
        if (lpfc_enable_npiv) {
@@ -36217,10 +36970,10 @@ index a3c8200..31e562e 100644
        lpfc_transport_template =
                                fc_attach_transport(&lpfc_transport_functions);
 diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
-index eadd241..26c8e0f 100644
+index 2e1e54e..1af0a0d 100644
 --- a/drivers/scsi/lpfc/lpfc_scsi.c
 +++ b/drivers/scsi/lpfc/lpfc_scsi.c
-@@ -297,7 +297,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hba *phba)
+@@ -305,7 +305,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hba *phba)
        uint32_t evt_posted;
  
        spin_lock_irqsave(&phba->hbalock, flags);
@@ -36229,7 +36982,7 @@ index eadd241..26c8e0f 100644
        phba->last_rsrc_error_time = jiffies;
  
        if ((phba->last_ramp_down_time + QUEUE_RAMP_DOWN_INTERVAL) > jiffies) {
-@@ -338,7 +338,7 @@ lpfc_rampup_queue_depth(struct lpfc_vport  *vport,
+@@ -346,7 +346,7 @@ lpfc_rampup_queue_depth(struct lpfc_vport  *vport,
        unsigned long flags;
        struct lpfc_hba *phba = vport->phba;
        uint32_t evt_posted;
@@ -36238,7 +36991,7 @@ index eadd241..26c8e0f 100644
  
        if (vport->cfg_lun_queue_depth <= queue_depth)
                return;
-@@ -382,8 +382,8 @@ lpfc_ramp_down_queue_handler(struct lpfc_hba *phba)
+@@ -390,8 +390,8 @@ lpfc_ramp_down_queue_handler(struct lpfc_hba *phba)
        unsigned long num_rsrc_err, num_cmd_success;
        int i;
  
@@ -36249,7 +37002,7 @@ index eadd241..26c8e0f 100644
  
        vports = lpfc_create_vport_work_array(phba);
        if (vports != NULL)
-@@ -403,8 +403,8 @@ lpfc_ramp_down_queue_handler(struct lpfc_hba *phba)
+@@ -411,8 +411,8 @@ lpfc_ramp_down_queue_handler(struct lpfc_hba *phba)
                        }
                }
        lpfc_destroy_vport_work_array(phba, vports);
@@ -36260,7 +37013,7 @@ index eadd241..26c8e0f 100644
  }
  
  /**
-@@ -438,8 +438,8 @@ lpfc_ramp_up_queue_handler(struct lpfc_hba *phba)
+@@ -446,8 +446,8 @@ lpfc_ramp_up_queue_handler(struct lpfc_hba *phba)
                        }
                }
        lpfc_destroy_vport_work_array(phba, vports);
@@ -36271,37 +37024,11 @@ index eadd241..26c8e0f 100644
  }
  
  /**
-diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
-index 2e6619e..fa64494 100644
---- a/drivers/scsi/megaraid/megaraid_mbox.c
-+++ b/drivers/scsi/megaraid/megaraid_mbox.c
-@@ -3503,6 +3503,8 @@ megaraid_cmm_register(adapter_t *adapter)
-       int             rval;
-       int             i;
-+      pax_track_stack();
-+
-       // Allocate memory for the base list of scb for management module.
-       adapter->uscb_list = kcalloc(MBOX_MAX_USER_CMDS, sizeof(scb_t), GFP_KERNEL);
-diff --git a/drivers/scsi/osd/osd_initiator.c b/drivers/scsi/osd/osd_initiator.c
-index 86afb13f..c912398 100644
---- a/drivers/scsi/osd/osd_initiator.c
-+++ b/drivers/scsi/osd/osd_initiator.c
-@@ -97,6 +97,8 @@ static int _osd_get_print_system_info(struct osd_dev *od,
-       int nelem = ARRAY_SIZE(get_attrs), a = 0;
-       int ret;
-+      pax_track_stack();
-+
-       or = osd_start_request(od, GFP_KERNEL);
-       if (!or)
-               return -ENOMEM;
 diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
-index d079f9a..d26072c 100644
+index 5163edb..7b142bc 100644
 --- a/drivers/scsi/pmcraid.c
 +++ b/drivers/scsi/pmcraid.c
-@@ -201,8 +201,8 @@ static int pmcraid_slave_alloc(struct scsi_device *scsi_dev)
+@@ -200,8 +200,8 @@ static int pmcraid_slave_alloc(struct scsi_device *scsi_dev)
                res->scsi_dev = scsi_dev;
                scsi_dev->hostdata = res;
                res->change_detected = 0;
@@ -36312,7 +37039,7 @@ index d079f9a..d26072c 100644
                rc = 0;
        }
        spin_unlock_irqrestore(&pinstance->resource_lock, lock_flags);
-@@ -2677,9 +2677,9 @@ static int pmcraid_error_handler(struct pmcraid_cmd *cmd)
+@@ -2676,9 +2676,9 @@ static int pmcraid_error_handler(struct pmcraid_cmd *cmd)
  
        /* If this was a SCSI read/write command keep count of errors */
        if (SCSI_CMD_TYPE(scsi_cmd->cmnd[0]) == SCSI_READ_CMD)
@@ -36324,7 +37051,7 @@ index d079f9a..d26072c 100644
  
        if (!RES_IS_GSCSI(res->cfg_entry) &&
                masked_ioasc != PMCRAID_IOASC_HW_DEVICE_BUS_STATUS_ERROR) {
-@@ -3535,7 +3535,7 @@ static int pmcraid_queuecommand_lck(
+@@ -3534,7 +3534,7 @@ static int pmcraid_queuecommand_lck(
         * block of scsi_cmd which is re-used (e.g. cancel/abort), which uses
         * hrrq_id assigned here in queuecommand
         */
@@ -36333,7 +37060,7 @@ index d079f9a..d26072c 100644
                          pinstance->num_hrrq;
        cmd->cmd_done = pmcraid_io_done;
  
-@@ -3860,7 +3860,7 @@ static long pmcraid_ioctl_passthrough(
+@@ -3859,7 +3859,7 @@ static long pmcraid_ioctl_passthrough(
         * block of scsi_cmd which is re-used (e.g. cancel/abort), which uses
         * hrrq_id assigned here in queuecommand
         */
@@ -36342,7 +37069,7 @@ index d079f9a..d26072c 100644
                          pinstance->num_hrrq;
  
        if (request_size) {
-@@ -4498,7 +4498,7 @@ static void pmcraid_worker_function(struct work_struct *workp)
+@@ -4497,7 +4497,7 @@ static void pmcraid_worker_function(struct work_struct *workp)
  
        pinstance = container_of(workp, struct pmcraid_instance, worker_q);
        /* add resources only after host is added into system */
@@ -36351,7 +37078,7 @@ index d079f9a..d26072c 100644
                return;
  
        fw_version = be16_to_cpu(pinstance->inq_data->fw_version);
-@@ -5332,8 +5332,8 @@ static int __devinit pmcraid_init_instance(
+@@ -5331,8 +5331,8 @@ static int __devinit pmcraid_init_instance(
        init_waitqueue_head(&pinstance->reset_wait_q);
  
        atomic_set(&pinstance->outstanding_cmds, 0);
@@ -36362,7 +37089,7 @@ index d079f9a..d26072c 100644
  
        INIT_LIST_HEAD(&pinstance->free_res_q);
        INIT_LIST_HEAD(&pinstance->used_res_q);
-@@ -6048,7 +6048,7 @@ static int __devinit pmcraid_probe(
+@@ -6047,7 +6047,7 @@ static int __devinit pmcraid_probe(
        /* Schedule worker thread to handle CCN and take care of adding and
         * removing devices to OS
         */
@@ -36372,10 +37099,10 @@ index d079f9a..d26072c 100644
        return rc;
  
 diff --git a/drivers/scsi/pmcraid.h b/drivers/scsi/pmcraid.h
-index f920baf..4417389 100644
+index ca496c7..9c791d5 100644
 --- a/drivers/scsi/pmcraid.h
 +++ b/drivers/scsi/pmcraid.h
-@@ -749,7 +749,7 @@ struct pmcraid_instance {
+@@ -748,7 +748,7 @@ struct pmcraid_instance {
        struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS];
  
        /* Message id as filled in last fired IOARCB, used to identify HRRQ */
@@ -36384,7 +37111,7 @@ index f920baf..4417389 100644
  
        /* configuration table */
        struct pmcraid_config_table *cfg_table;
-@@ -778,7 +778,7 @@ struct pmcraid_instance {
+@@ -777,7 +777,7 @@ struct pmcraid_instance {
        atomic_t outstanding_cmds;
  
        /* should add/delete resources to mid-layer now ?*/
@@ -36393,7 +37120,7 @@ index f920baf..4417389 100644
  
  
  
-@@ -814,8 +814,8 @@ struct pmcraid_resource_entry {
+@@ -813,8 +813,8 @@ struct pmcraid_resource_entry {
                struct pmcraid_config_table_entry_ext cfg_entry_ext;
        };
        struct scsi_device *scsi_dev;   /* Link scsi_device structure */
@@ -36405,7 +37132,7 @@ index f920baf..4417389 100644
        /* To indicate add/delete/modify during CCN */
        u8 change_detected;
 diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
-index a03eaf4..a6b3fd9 100644
+index fcf052c..a8025a4 100644
 --- a/drivers/scsi/qla2xxx/qla_def.h
 +++ b/drivers/scsi/qla2xxx/qla_def.h
 @@ -2244,7 +2244,7 @@ struct isp_operations {
@@ -36418,60 +37145,46 @@ index a03eaf4..a6b3fd9 100644
  /* MSI-X Support *************************************************************/
  
 diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h
-index 473c5c8..4e2f24a 100644
+index fd5edc6..4906148 100644
 --- a/drivers/scsi/qla4xxx/ql4_def.h
 +++ b/drivers/scsi/qla4xxx/ql4_def.h
-@@ -256,7 +256,7 @@ struct ddb_entry {
-       atomic_t retry_relogin_timer; /* Min Time between relogins
-                                      * (4000 only) */
-       atomic_t relogin_timer; /* Max Time to wait for relogin to complete */
--      atomic_t relogin_retry_count; /* Num of times relogin has been
-+      atomic_unchecked_t relogin_retry_count; /* Num of times relogin has been
-                                      * retried */
-       uint16_t port;
-diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c
-index 42ed5db..0262f9e 100644
---- a/drivers/scsi/qla4xxx/ql4_init.c
-+++ b/drivers/scsi/qla4xxx/ql4_init.c
-@@ -680,7 +680,7 @@ static struct ddb_entry * qla4xxx_alloc_ddb(struct scsi_qla_host *ha,
-       ddb_entry->fw_ddb_index = fw_ddb_index;
+@@ -258,7 +258,7 @@ struct ddb_entry {
+                                          * (4000 only) */
+       atomic_t relogin_timer;           /* Max Time to wait for
+                                          * relogin to complete */
+-      atomic_t relogin_retry_count;     /* Num of times relogin has been
++      atomic_unchecked_t relogin_retry_count;   /* Num of times relogin has been
+                                          * retried */
+       uint32_t default_time2wait;       /* Default Min time between
+                                          * relogins (+aens) */
+diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
+index 4169c8b..a8b896b 100644
+--- a/drivers/scsi/qla4xxx/ql4_os.c
++++ b/drivers/scsi/qla4xxx/ql4_os.c
+@@ -2104,12 +2104,12 @@ void qla4xxx_check_relogin_flash_ddb(struct iscsi_cls_session *cls_sess)
+                */
+               if (!iscsi_is_session_online(cls_sess)) {
+                       /* Reset retry relogin timer */
+-                      atomic_inc(&ddb_entry->relogin_retry_count);
++                      atomic_inc_unchecked(&ddb_entry->relogin_retry_count);
+                       DEBUG2(ql4_printk(KERN_INFO, ha,
+                               "%s: index[%d] relogin timed out-retrying"
+                               " relogin (%d), retry (%d)\n", __func__,
+                               ddb_entry->fw_ddb_index,
+-                              atomic_read(&ddb_entry->relogin_retry_count),
++                              atomic_read_unchecked(&ddb_entry->relogin_retry_count),
+                               ddb_entry->default_time2wait + 4));
+                       set_bit(DPC_RELOGIN_DEVICE, &ha->dpc_flags);
+                       atomic_set(&ddb_entry->retry_relogin_timer,
+@@ -3835,7 +3835,7 @@ static void qla4xxx_setup_flash_ddb_entry(struct scsi_qla_host *ha,
        atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
        atomic_set(&ddb_entry->relogin_timer, 0);
 -      atomic_set(&ddb_entry->relogin_retry_count, 0);
 +      atomic_set_unchecked(&ddb_entry->relogin_retry_count, 0);
-       atomic_set(&ddb_entry->state, DDB_STATE_ONLINE);
-       list_add_tail(&ddb_entry->list, &ha->ddb_list);
-       ha->fw_ddb_index_map[fw_ddb_index] = ddb_entry;
-@@ -1433,7 +1433,7 @@ int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index,
-       if ((ddb_entry->fw_ddb_device_state == DDB_DS_SESSION_ACTIVE) &&
-          (atomic_read(&ddb_entry->state) != DDB_STATE_ONLINE)) {
-               atomic_set(&ddb_entry->state, DDB_STATE_ONLINE);
--              atomic_set(&ddb_entry->relogin_retry_count, 0);
-+              atomic_set_unchecked(&ddb_entry->relogin_retry_count, 0);
-               atomic_set(&ddb_entry->relogin_timer, 0);
-               clear_bit(DF_RELOGIN, &ddb_entry->flags);
-               iscsi_unblock_session(ddb_entry->sess);
-diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
-index f2364ec..44c42b1 100644
---- a/drivers/scsi/qla4xxx/ql4_os.c
-+++ b/drivers/scsi/qla4xxx/ql4_os.c
-@@ -811,13 +811,13 @@ static void qla4xxx_timer(struct scsi_qla_host *ha)
-                           ddb_entry->fw_ddb_device_state ==
-                           DDB_DS_SESSION_FAILED) {
-                               /* Reset retry relogin timer */
--                              atomic_inc(&ddb_entry->relogin_retry_count);
-+                              atomic_inc_unchecked(&ddb_entry->relogin_retry_count);
-                               DEBUG2(printk("scsi%ld: ddb [%d] relogin"
-                                             " timed out-retrying"
-                                             " relogin (%d)\n",
-                                             ha->host_no,
-                                             ddb_entry->fw_ddb_index,
--                                            atomic_read(&ddb_entry->
-+                                            atomic_read_unchecked(&ddb_entry->
-                                                         relogin_retry_count))
-                                       );
-                               start_dpc++;
+       ddb_entry->default_relogin_timeout =
+               le16_to_cpu(ddb_entry->fw_ddb_entry.def_timeout);
 diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
 index 2aeb2e9..46e3925 100644
 --- a/drivers/scsi/scsi.c
@@ -36485,33 +37198,11 @@ index 2aeb2e9..46e3925 100644
  
        /* check if the device is still usable */
        if (unlikely(cmd->device->sdev_state == SDEV_DEL)) {
-diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
-index 6888b2c..45befa1 100644
---- a/drivers/scsi/scsi_debug.c
-+++ b/drivers/scsi/scsi_debug.c
-@@ -1493,6 +1493,8 @@ static int resp_mode_select(struct scsi_cmnd * scp, int mselect6,
-       unsigned char arr[SDEBUG_MAX_MSELECT_SZ];
-       unsigned char *cmd = (unsigned char *)scp->cmnd;
-+      pax_track_stack();
-+
-       if ((errsts = check_readiness(scp, 1, devip)))
-               return errsts;
-       memset(arr, 0, sizeof(arr));
-@@ -1590,6 +1592,8 @@ static int resp_log_sense(struct scsi_cmnd * scp,
-       unsigned char arr[SDEBUG_MAX_LSENSE_SZ];
-       unsigned char *cmd = (unsigned char *)scp->cmnd;
-+      pax_track_stack();
-+
-       if ((errsts = check_readiness(scp, 1, devip)))
-               return errsts;
-       memset(arr, 0, sizeof(arr));
 diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
-index 6d219e4..eb3ded3 100644
+index f85cfa6..a57c9e8 100644
 --- a/drivers/scsi/scsi_lib.c
 +++ b/drivers/scsi/scsi_lib.c
-@@ -1415,7 +1415,7 @@ static void scsi_kill_request(struct request *req, struct request_queue *q)
+@@ -1416,7 +1416,7 @@ static void scsi_kill_request(struct request *req, struct request_queue *q)
        shost = sdev->host;
        scsi_init_cmd_errh(cmd);
        cmd->result = DID_NO_CONNECT << 16;
@@ -36520,7 +37211,7 @@ index 6d219e4..eb3ded3 100644
  
        /*
         * SCSI request completion path will do scsi_device_unbusy(),
-@@ -1441,9 +1441,9 @@ static void scsi_softirq_done(struct request *rq)
+@@ -1442,9 +1442,9 @@ static void scsi_softirq_done(struct request *rq)
  
        INIT_LIST_HEAD(&cmd->eh_entry);
  
@@ -36533,10 +37224,10 @@ index 6d219e4..eb3ded3 100644
        disposition = scsi_decide_disposition(cmd);
        if (disposition != SUCCESS &&
 diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
-index e0bd3f7..816b8a6 100644
+index 04c2a27..9d8bd66 100644
 --- a/drivers/scsi/scsi_sysfs.c
 +++ b/drivers/scsi/scsi_sysfs.c
-@@ -622,7 +622,7 @@ show_iostat_##field(struct device *dev, struct device_attribute *attr,     \
+@@ -660,7 +660,7 @@ show_iostat_##field(struct device *dev, struct device_attribute *attr,     \
                    char *buf)                                          \
  {                                                                     \
        struct scsi_device *sdev = to_scsi_device(dev);                 \
@@ -36599,28 +37290,28 @@ index 1b21491..1b7f60e 100644
        /*
         * Check for overflow; dev_loss_tmo is u32
 diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
-index 3fd16d7..ba0871f 100644
+index 96029e6..4d77fa0 100644
 --- a/drivers/scsi/scsi_transport_iscsi.c
 +++ b/drivers/scsi/scsi_transport_iscsi.c
-@@ -83,7 +83,7 @@ struct iscsi_internal {
-       struct device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1];
+@@ -79,7 +79,7 @@ struct iscsi_internal {
+       struct transport_container session_cont;
  };
  
 -static atomic_t iscsi_session_nr; /* sysfs session id for next new session */
 +static atomic_unchecked_t iscsi_session_nr; /* sysfs session id for next new session */
  static struct workqueue_struct *iscsi_eh_timer_workq;
  
- /*
-@@ -761,7 +761,7 @@ int iscsi_add_session(struct iscsi_cls_session *session, unsigned int target_id)
+ static DEFINE_IDA(iscsi_sess_ida);
+@@ -1062,7 +1062,7 @@ int iscsi_add_session(struct iscsi_cls_session *session, unsigned int target_id)
        int err;
  
        ihost = shost->shost_data;
 -      session->sid = atomic_add_return(1, &iscsi_session_nr);
 +      session->sid = atomic_add_return_unchecked(1, &iscsi_session_nr);
  
-       if (id == ISCSI_MAX_TARGET) {
-               for (id = 0; id < ISCSI_MAX_TARGET; id++) {
-@@ -2200,7 +2200,7 @@ static __init int iscsi_transport_init(void)
+       if (target_id == ISCSI_MAX_TARGET) {
+               id = ida_simple_get(&iscsi_sess_ida, 0, 0, GFP_KERNEL);
+@@ -2663,7 +2663,7 @@ static __init int iscsi_transport_init(void)
        printk(KERN_INFO "Loading iSCSI transport class v%s.\n",
                ISCSI_TRANSPORT_VERSION);
  
@@ -36661,10 +37352,10 @@ index 21a045e..ec89e03 100644
  
        transport_setup_device(&rport->dev);
 diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
-index 909ed9e..1ae290a 100644
+index 441a1c5..07cece7 100644
 --- a/drivers/scsi/sg.c
 +++ b/drivers/scsi/sg.c
-@@ -1075,7 +1075,7 @@ sg_ioctl(struct file *filp, unsigned int cmd_in, unsigned long arg)
+@@ -1077,7 +1077,7 @@ sg_ioctl(struct file *filp, unsigned int cmd_in, unsigned long arg)
                                       sdp->disk->disk_name,
                                       MKDEV(SCSI_GENERIC_MAJOR, sdp->index),
                                       NULL,
@@ -36673,7 +37364,7 @@ index 909ed9e..1ae290a 100644
        case BLKTRACESTART:
                return blk_trace_startstop(sdp->device->request_queue, 1);
        case BLKTRACESTOP:
-@@ -2310,7 +2310,7 @@ struct sg_proc_leaf {
+@@ -2312,7 +2312,7 @@ struct sg_proc_leaf {
        const struct file_operations * fops;
  };
  
@@ -36682,7 +37373,7 @@ index 909ed9e..1ae290a 100644
        {"allow_dio", &adio_fops},
        {"debug", &debug_fops},
        {"def_reserved_size", &dressz_fops},
-@@ -2325,7 +2325,7 @@ sg_proc_init(void)
+@@ -2327,7 +2327,7 @@ sg_proc_init(void)
  {
        int k, mask;
        int num_leaves = ARRAY_SIZE(sg_proc_leaf_arr);
@@ -36691,37 +37382,11 @@ index 909ed9e..1ae290a 100644
  
        sg_proc_sgp = proc_mkdir(sg_proc_sg_dirname, NULL);
        if (!sg_proc_sgp)
-diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
-index b4543f5..e1b34b8 100644
---- a/drivers/scsi/sym53c8xx_2/sym_glue.c
-+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
-@@ -1756,6 +1756,8 @@ static int __devinit sym2_probe(struct pci_dev *pdev,
-       int do_iounmap = 0;
-       int do_disable_device = 1;
-+      pax_track_stack();
-+
-       memset(&sym_dev, 0, sizeof(sym_dev));
-       memset(&nvram, 0, sizeof(nvram));
-       sym_dev.pdev = pdev;
-diff --git a/drivers/scsi/vmw_pvscsi.c b/drivers/scsi/vmw_pvscsi.c
-index a18996d..fe993cb 100644
---- a/drivers/scsi/vmw_pvscsi.c
-+++ b/drivers/scsi/vmw_pvscsi.c
-@@ -447,6 +447,8 @@ static void pvscsi_setup_all_rings(const struct pvscsi_adapter *adapter)
-       dma_addr_t base;
-       unsigned i;
-+      pax_track_stack();
-+
-       cmd.ringsStatePPN   = adapter->ringStatePA >> PAGE_SHIFT;
-       cmd.reqRingNumPages = adapter->req_pages;
-       cmd.cmpRingNumPages = adapter->cmp_pages;
 diff --git a/drivers/spi/spi-dw-pci.c b/drivers/spi/spi-dw-pci.c
-index c5f37f0..898d202 100644
+index f64250e..1ee3049 100644
 --- a/drivers/spi/spi-dw-pci.c
 +++ b/drivers/spi/spi-dw-pci.c
-@@ -148,7 +148,7 @@ static int spi_resume(struct pci_dev *pdev)
+@@ -149,7 +149,7 @@ static int spi_resume(struct pci_dev *pdev)
  #define spi_resume    NULL
  #endif
  
@@ -36731,10 +37396,10 @@ index c5f37f0..898d202 100644
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0800) },
        {},
 diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
-index 4d1b9f5..8408fe3 100644
+index 77eae99..b7cdcc9 100644
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -1023,7 +1023,7 @@ int spi_bus_unlock(struct spi_master *master)
+@@ -1024,7 +1024,7 @@ int spi_bus_unlock(struct spi_master *master)
  EXPORT_SYMBOL_GPL(spi_bus_unlock);
  
  /* portable code must never pass more than 32 bytes */
@@ -36743,216 +37408,33 @@ index 4d1b9f5..8408fe3 100644
  
  static u8     *buf;
  
-diff --git a/drivers/staging/ath6kl/os/linux/ar6000_drv.c b/drivers/staging/ath6kl/os/linux/ar6000_drv.c
-index 32ee39a..3004c3d 100644
---- a/drivers/staging/ath6kl/os/linux/ar6000_drv.c
-+++ b/drivers/staging/ath6kl/os/linux/ar6000_drv.c
-@@ -362,7 +362,7 @@ static struct ar_cookie s_ar_cookie_mem[MAX_COOKIE_NUM];
-         (((ar)->arTargetType == TARGET_TYPE_AR6003) ? AR6003_HOST_INTEREST_ITEM_ADDRESS(item) : 0))
--static struct net_device_ops ar6000_netdev_ops = {
-+static net_device_ops_no_const ar6000_netdev_ops = {
-     .ndo_init               = NULL,
-     .ndo_open               = ar6000_open,
-     .ndo_stop               = ar6000_close,
-diff --git a/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h b/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h
-index 39e0873..0925710 100644
---- a/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h
-+++ b/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h
-@@ -30,7 +30,7 @@ typedef bool (*ar6k_pal_recv_pkt_t)(void *pHciPalInfo, void *skb);
- typedef struct ar6k_pal_config_s
- {
-       ar6k_pal_recv_pkt_t fpar6k_pal_recv_pkt;
--}ar6k_pal_config_t;
-+} __no_const ar6k_pal_config_t;
- void register_pal_cb(ar6k_pal_config_t *palConfig_p);
- #endif /* _AR6K_PAL_H_ */
-diff --git a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
-index 05dada9..96171c6 100644
---- a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
-+++ b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
-@@ -451,14 +451,14 @@ static void brcmf_op_if(struct brcmf_if *ifp)
-                       free_netdev(ifp->net);
-               }
-               /* Allocate etherdev, including space for private structure */
--              ifp->net = alloc_etherdev(sizeof(drvr_priv));
-+              ifp->net = alloc_etherdev(sizeof(*drvr_priv));
-               if (!ifp->net) {
-                       BRCMF_ERROR(("%s: OOM - alloc_etherdev\n", __func__));
-                       ret = -ENOMEM;
-               }
-               if (ret == 0) {
-                       strcpy(ifp->net->name, ifp->name);
--                      memcpy(netdev_priv(ifp->net), &drvr_priv, sizeof(drvr_priv));
-+                      memcpy(netdev_priv(ifp->net), &drvr_priv, sizeof(*drvr_priv));
-                       err = brcmf_net_attach(&drvr_priv->pub, ifp->idx);
-                       if (err != 0) {
-                               BRCMF_ERROR(("%s: brcmf_net_attach failed, "
-@@ -1279,7 +1279,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_bus *bus, uint bus_hdrlen)
-       BRCMF_TRACE(("%s: Enter\n", __func__));
-       /* Allocate etherdev, including space for private structure */
--      net = alloc_etherdev(sizeof(drvr_priv));
-+      net = alloc_etherdev(sizeof(*drvr_priv));
-       if (!net) {
-               BRCMF_ERROR(("%s: OOM - alloc_etherdev\n", __func__));
-               goto fail;
-@@ -1295,7 +1295,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_bus *bus, uint bus_hdrlen)
-       /*
-        * Save the brcmf_info into the priv
-        */
--      memcpy(netdev_priv(net), &drvr_priv, sizeof(drvr_priv));
-+      memcpy(netdev_priv(net), &drvr_priv, sizeof(*drvr_priv));
-       /* Set network interface name if it was provided as module parameter */
-       if (iface_name[0]) {
-@@ -1352,7 +1352,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_bus *bus, uint bus_hdrlen)
-       /*
-        * Save the brcmf_info into the priv
-        */
--      memcpy(netdev_priv(net), &drvr_priv, sizeof(drvr_priv));
-+      memcpy(netdev_priv(net), &drvr_priv, sizeof(*drvr_priv));
- #if defined(CONFIG_PM_SLEEP)
-       atomic_set(&brcmf_mmc_suspend, false);
-diff --git a/drivers/staging/brcm80211/brcmfmac/sdio_host.h b/drivers/staging/brcm80211/brcmfmac/sdio_host.h
-index d345472..cedb19e 100644
---- a/drivers/staging/brcm80211/brcmfmac/sdio_host.h
-+++ b/drivers/staging/brcm80211/brcmfmac/sdio_host.h
-@@ -263,7 +263,7 @@ struct brcmf_sdioh_driver {
-                        u16 func, uint bustype, u32 regsva, void *param);
-       /* detach from device */
-       void (*detach) (void *ch);
--};
-+} __no_const;
- struct sdioh_info;
-diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h b/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h
-index a01b01c..b3f721c 100644
---- a/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h
-+++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_int.h
-@@ -591,7 +591,7 @@ struct phy_func_ptr {
-       initfn_t carrsuppr;
-       rxsigpwrfn_t rxsigpwr;
-       detachfn_t detach;
--};
-+} __no_const;
- struct brcms_phy {
-       struct brcms_phy_pub pubpi_ro;
-diff --git a/drivers/staging/et131x/et1310_tx.c b/drivers/staging/et131x/et1310_tx.c
-index 8fb3051..a8b6c67 100644
---- a/drivers/staging/et131x/et1310_tx.c
-+++ b/drivers/staging/et131x/et1310_tx.c
-@@ -635,11 +635,11 @@ inline void et131x_free_send_packet(struct et131x_adapter *etdev,
-       struct net_device_stats *stats = &etdev->net_stats;
-       if (tcb->flags & fMP_DEST_BROAD)
--              atomic_inc(&etdev->stats.brdcstxmt);
-+              atomic_inc_unchecked(&etdev->stats.brdcstxmt);
-       else if (tcb->flags & fMP_DEST_MULTI)
--              atomic_inc(&etdev->stats.multixmt);
-+              atomic_inc_unchecked(&etdev->stats.multixmt);
-       else
--              atomic_inc(&etdev->stats.unixmt);
-+              atomic_inc_unchecked(&etdev->stats.unixmt);
-       if (tcb->skb) {
-               stats->tx_bytes += tcb->skb->len;
-diff --git a/drivers/staging/et131x/et131x_adapter.h b/drivers/staging/et131x/et131x_adapter.h
-index 408c50b..fd65e9f 100644
---- a/drivers/staging/et131x/et131x_adapter.h
-+++ b/drivers/staging/et131x/et131x_adapter.h
-@@ -106,11 +106,11 @@ struct ce_stats {
-        * operations
-        */
-       u32 unircv;     /* # multicast packets received */
--      atomic_t unixmt;        /* # multicast packets for Tx */
-+      atomic_unchecked_t unixmt;      /* # multicast packets for Tx */
-       u32 multircv;   /* # multicast packets received */
--      atomic_t multixmt;      /* # multicast packets for Tx */
-+      atomic_unchecked_t multixmt;    /* # multicast packets for Tx */
-       u32 brdcstrcv;  /* # broadcast packets received */
--      atomic_t brdcstxmt;     /* # broadcast packets for Tx */
-+      atomic_unchecked_t brdcstxmt;   /* # broadcast packets for Tx */
-       u32 norcvbuf;   /* # Rx packets discarded */
-       u32 noxmtbuf;   /* # Tx packets discarded */
-diff --git a/drivers/staging/hv/channel.c b/drivers/staging/hv/channel.c
-index 455f47a..86205ff 100644
---- a/drivers/staging/hv/channel.c
-+++ b/drivers/staging/hv/channel.c
-@@ -447,8 +447,8 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
-       int ret = 0;
-       int t;
--      next_gpadl_handle = atomic_read(&vmbus_connection.next_gpadl_handle);
--      atomic_inc(&vmbus_connection.next_gpadl_handle);
-+      next_gpadl_handle = atomic_read_unchecked(&vmbus_connection.next_gpadl_handle);
-+      atomic_inc_unchecked(&vmbus_connection.next_gpadl_handle);
-       ret = create_gpadl_header(kbuffer, size, &msginfo, &msgcount);
-       if (ret)
-diff --git a/drivers/staging/hv/hv.c b/drivers/staging/hv/hv.c
-index 824f816..a800af7 100644
---- a/drivers/staging/hv/hv.c
-+++ b/drivers/staging/hv/hv.c
-@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, void *input, void *output)
-       u64 output_address = (output) ? virt_to_phys(output) : 0;
-       u32 output_address_hi = output_address >> 32;
-       u32 output_address_lo = output_address & 0xFFFFFFFF;
--      volatile void *hypercall_page = hv_context.hypercall_page;
-+      volatile void *hypercall_page = ktva_ktla(hv_context.hypercall_page);
-       __asm__ __volatile__ ("call *%8" : "=d"(hv_status_hi),
-                             "=a"(hv_status_lo) : "d" (control_hi),
-diff --git a/drivers/staging/hv/hv_mouse.c b/drivers/staging/hv/hv_mouse.c
-index d957fc2..43cedd9 100644
---- a/drivers/staging/hv/hv_mouse.c
-+++ b/drivers/staging/hv/hv_mouse.c
-@@ -878,8 +878,10 @@ static void reportdesc_callback(struct hv_device *dev, void *packet, u32 len)
-       if (hid_dev) {
-               DPRINT_INFO(INPUTVSC_DRV, "hid_device created");
--              hid_dev->ll_driver->open  = mousevsc_hid_open;
--              hid_dev->ll_driver->close = mousevsc_hid_close;
-+              pax_open_kernel();
-+              *(void **)&hid_dev->ll_driver->open  = mousevsc_hid_open;
-+              *(void **)&hid_dev->ll_driver->close = mousevsc_hid_close;
-+              pax_close_kernel();
-               hid_dev->bus = BUS_VIRTUAL;
-               hid_dev->vendor = input_device_ctx->device_info.vendor;
-diff --git a/drivers/staging/hv/hyperv_vmbus.h b/drivers/staging/hv/hyperv_vmbus.h
-index 349ad80..3f75719 100644
---- a/drivers/staging/hv/hyperv_vmbus.h
-+++ b/drivers/staging/hv/hyperv_vmbus.h
-@@ -559,7 +559,7 @@ enum vmbus_connect_state {
- struct vmbus_connection {
-       enum vmbus_connect_state conn_state;
--      atomic_t next_gpadl_handle;
-+      atomic_unchecked_t next_gpadl_handle;
-       /*
-        * Represents channel interrupts. Each bit position represents a
+diff --git a/drivers/staging/gma500/power.c b/drivers/staging/gma500/power.c
+index 436fe97..4082570 100644
+--- a/drivers/staging/gma500/power.c
++++ b/drivers/staging/gma500/power.c
+@@ -266,7 +266,7 @@ bool gma_power_begin(struct drm_device *dev, bool force_on)
+       ret = gma_resume_pci(dev->pdev);
+       if (ret == 0) {
+               /* FIXME: we want to defer this for Medfield/Oaktrail */
+-              gma_resume_display(dev);
++              gma_resume_display(dev->pdev);
+               psb_irq_preinstall(dev);
+               psb_irq_postinstall(dev);
+               pm_runtime_get(&dev->pdev->dev);
 diff --git a/drivers/staging/hv/rndis_filter.c b/drivers/staging/hv/rndis_filter.c
-index dbb5201..d6047c6 100644
+index bafccb3..e3ac78d 100644
 --- a/drivers/staging/hv/rndis_filter.c
 +++ b/drivers/staging/hv/rndis_filter.c
-@@ -43,7 +43,7 @@ struct rndis_device {
+@@ -42,7 +42,7 @@ struct rndis_device {
  
        enum rndis_device_state state;
-       u32 link_stat;
+       bool link_state;
 -      atomic_t new_req_id;
 +      atomic_unchecked_t new_req_id;
  
        spinlock_t request_lock;
        struct list_head req_list;
-@@ -117,7 +117,7 @@ static struct rndis_request *get_rndis_request(struct rndis_device *dev,
+@@ -116,7 +116,7 @@ static struct rndis_request *get_rndis_request(struct rndis_device *dev,
         * template
         */
        set = &rndis_msg->msg.set_req;
@@ -36961,7 +37443,7 @@ index dbb5201..d6047c6 100644
  
        /* Add to the request list */
        spin_lock_irqsave(&dev->request_lock, flags);
-@@ -622,7 +622,7 @@ static void rndis_filter_halt_device(struct rndis_device *dev)
+@@ -646,7 +646,7 @@ static void rndis_filter_halt_device(struct rndis_device *dev)
  
        /* Setup the rndis set */
        halt = &request->request_msg.msg.halt_req;
@@ -36970,59 +37452,19 @@ index dbb5201..d6047c6 100644
  
        /* Ignore return since this msg is optional. */
        rndis_filter_send_request(dev, request);
-diff --git a/drivers/staging/hv/vmbus_drv.c b/drivers/staging/hv/vmbus_drv.c
-index 1c949f5..7a8b104 100644
---- a/drivers/staging/hv/vmbus_drv.c
-+++ b/drivers/staging/hv/vmbus_drv.c
-@@ -660,11 +660,11 @@ int vmbus_child_device_register(struct hv_device *child_device_obj)
- {
-       int ret = 0;
--      static atomic_t device_num = ATOMIC_INIT(0);
-+      static atomic_unchecked_t device_num = ATOMIC_INIT(0);
-       /* Set the device name. Otherwise, device_register() will fail. */
-       dev_set_name(&child_device_obj->device, "vmbus_0_%d",
--                   atomic_inc_return(&device_num));
-+                   atomic_inc_return_unchecked(&device_num));
-       /* The new device belongs to this bus */
-       child_device_obj->device.bus = &hv_bus; /* device->dev.bus; */
-diff --git a/drivers/staging/iio/ring_generic.h b/drivers/staging/iio/ring_generic.h
-index 3f26f71..fb5c787 100644
---- a/drivers/staging/iio/ring_generic.h
-+++ b/drivers/staging/iio/ring_generic.h
-@@ -62,7 +62,7 @@ struct iio_ring_access_funcs {
-       int (*is_enabled)(struct iio_ring_buffer *ring);
-       int (*enable)(struct iio_ring_buffer *ring);
+diff --git a/drivers/staging/iio/buffer_generic.h b/drivers/staging/iio/buffer_generic.h
+index 9e8f010..af9efb56 100644
+--- a/drivers/staging/iio/buffer_generic.h
++++ b/drivers/staging/iio/buffer_generic.h
+@@ -64,7 +64,7 @@ struct iio_buffer_access_funcs {
+       int (*is_enabled)(struct iio_buffer *buffer);
+       int (*enable)(struct iio_buffer *buffer);
 -};
 +} __no_const;
  
- struct iio_ring_setup_ops {
-       int                             (*preenable)(struct iio_dev *);
-diff --git a/drivers/staging/mei/interface.c b/drivers/staging/mei/interface.c
-index cfec92d..a65dacf 100644
---- a/drivers/staging/mei/interface.c
-+++ b/drivers/staging/mei/interface.c
-@@ -332,7 +332,7 @@ int mei_send_flow_control(struct mei_device *dev, struct mei_cl *cl)
-       mei_hdr->reserved = 0;
-       mei_flow_control = (struct hbm_flow_control *) &dev->wr_msg_buf[1];
--      memset(mei_flow_control, 0, sizeof(mei_flow_control));
-+      memset(mei_flow_control, 0, sizeof(*mei_flow_control));
-       mei_flow_control->host_addr = cl->host_client_id;
-       mei_flow_control->me_addr = cl->me_client_id;
-       mei_flow_control->cmd.cmd = MEI_FLOW_CONTROL_CMD;
-@@ -396,7 +396,7 @@ int mei_disconnect(struct mei_device *dev, struct mei_cl *cl)
-       mei_cli_disconnect =
-           (struct hbm_client_disconnect_request *) &dev->wr_msg_buf[1];
--      memset(mei_cli_disconnect, 0, sizeof(mei_cli_disconnect));
-+      memset(mei_cli_disconnect, 0, sizeof(*mei_cli_disconnect));
-       mei_cli_disconnect->host_addr = cl->host_client_id;
-       mei_cli_disconnect->me_addr = cl->me_client_id;
-       mei_cli_disconnect->cmd.cmd = CLIENT_DISCONNECT_REQ_CMD;
+ /**
+  * struct iio_buffer_setup_ops - buffer setup related callbacks
 diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c
 index 8b307b4..a97ac91 100644
 --- a/drivers/staging/octeon/ethernet-rx.c
@@ -37056,7 +37498,7 @@ index 8b307b4..a97ac91 100644
                                dev_kfree_skb_irq(skb);
                        }
 diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c
-index a8f780e..aef1098 100644
+index 076f866..2308070 100644
 --- a/drivers/staging/octeon/ethernet.c
 +++ b/drivers/staging/octeon/ethernet.c
 @@ -258,11 +258,11 @@ static struct net_device_stats *cvm_oct_common_get_stats(struct net_device *dev)
@@ -37076,7 +37518,7 @@ index a8f780e..aef1098 100644
        }
  
 diff --git a/drivers/staging/pohmelfs/inode.c b/drivers/staging/pohmelfs/inode.c
-index f3c6060..56bf826 100644
+index 7a19555..466456d 100644
 --- a/drivers/staging/pohmelfs/inode.c
 +++ b/drivers/staging/pohmelfs/inode.c
 @@ -1861,7 +1861,7 @@ static int pohmelfs_fill_super(struct super_block *sb, void *data, int silent)
@@ -37132,7 +37574,7 @@ index 985b6b7..7699e05 100644
        unsigned int            crypto_attached_size;
        unsigned int            crypto_align_size;
 diff --git a/drivers/staging/pohmelfs/trans.c b/drivers/staging/pohmelfs/trans.c
-index 36a2535..0591bf4 100644
+index 06c1a74..866eebc 100644
 --- a/drivers/staging/pohmelfs/trans.c
 +++ b/drivers/staging/pohmelfs/trans.c
 @@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_trans *t, struct pohmelfs_sb *psb)
@@ -37144,11 +37586,37 @@ index 36a2535..0591bf4 100644
  
        cmd->size = t->iovec.iov_len - sizeof(struct netfs_cmd) +
                t->attached_size + t->attached_pages * sizeof(struct netfs_cmd);
+diff --git a/drivers/staging/rtl8192e/rtllib_module.c b/drivers/staging/rtl8192e/rtllib_module.c
+index c36a140..dd27fda 100644
+--- a/drivers/staging/rtl8192e/rtllib_module.c
++++ b/drivers/staging/rtl8192e/rtllib_module.c
+@@ -228,6 +228,8 @@ static int show_debug_level(char *page, char **start, off_t offset,
+ }
+ static int store_debug_level(struct file *file, const char __user *buffer,
++                           unsigned long count, void *data) __size_overflow(3);
++static int store_debug_level(struct file *file, const char __user *buffer,
+                            unsigned long count, void *data)
+ {
+       char buf[] = "0x00000000";
+diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
+index e3d47bc..85f4d0d 100644
+--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
++++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c
+@@ -250,6 +250,8 @@ static int show_debug_level(char *page, char **start, off_t offset,
+ }
+ static int store_debug_level(struct file *file, const char *buffer,
++                           unsigned long count, void *data) __size_overflow(3);
++static int store_debug_level(struct file *file, const char *buffer,
+                            unsigned long count, void *data)
+ {
+       char buf[] = "0x00000000";
 diff --git a/drivers/staging/rtl8712/rtl871x_io.h b/drivers/staging/rtl8712/rtl871x_io.h
-index b70cb2b..4db41a7 100644
+index 86308a0..feaa925 100644
 --- a/drivers/staging/rtl8712/rtl871x_io.h
 +++ b/drivers/staging/rtl8712/rtl871x_io.h
-@@ -83,7 +83,7 @@ struct       _io_ops {
+@@ -108,7 +108,7 @@ struct     _io_ops {
                          u8 *pmem);
        u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
                           u8 *pmem);
@@ -37184,10 +37652,10 @@ index be21617..0954e45 100644
  
  #if 0
 diff --git a/drivers/staging/usbip/vhci.h b/drivers/staging/usbip/vhci.h
-index 71a586e..4d8a91a 100644
+index 88b3298..3783eee 100644
 --- a/drivers/staging/usbip/vhci.h
 +++ b/drivers/staging/usbip/vhci.h
-@@ -85,7 +85,7 @@ struct vhci_hcd {
+@@ -88,7 +88,7 @@ struct vhci_hcd {
        unsigned resuming:1;
        unsigned long re_timeout;
  
@@ -37356,10 +37824,10 @@ index ed147c4..94fc3c6 100644
  
  /* core tmem accessor functions */
 diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
-index 26a5d8b..74434f8 100644
+index 03d3528..6bbe82f 100644
 --- a/drivers/target/iscsi/iscsi_target.c
 +++ b/drivers/target/iscsi/iscsi_target.c
-@@ -1368,7 +1368,7 @@ static int iscsit_handle_data_out(struct iscsi_conn *conn, unsigned char *buf)
+@@ -1364,7 +1364,7 @@ static int iscsit_handle_data_out(struct iscsi_conn *conn, unsigned char *buf)
                 * outstanding_r2ts reaches zero, go ahead and send the delayed
                 * TASK_ABORTED status.
                 */
@@ -37368,90 +37836,11 @@ index 26a5d8b..74434f8 100644
                        if (hdr->flags & ISCSI_FLAG_CMD_FINAL)
                                if (--cmd->outstanding_r2ts < 1) {
                                        iscsit_stop_dataout_timer(cmd);
-diff --git a/drivers/target/target_core_alua.c b/drivers/target/target_core_alua.c
-index 8badcb4..94c9ac6 100644
---- a/drivers/target/target_core_alua.c
-+++ b/drivers/target/target_core_alua.c
-@@ -723,6 +723,8 @@ static int core_alua_update_tpg_primary_metadata(
-       char path[ALUA_METADATA_PATH_LEN];
-       int len;
-+      pax_track_stack();
-+
-       memset(path, 0, ALUA_METADATA_PATH_LEN);
-       len = snprintf(md_buf, tg_pt_gp->tg_pt_gp_md_buf_len,
-@@ -986,6 +988,8 @@ static int core_alua_update_tpg_secondary_metadata(
-       char path[ALUA_METADATA_PATH_LEN], wwn[ALUA_SECONDARY_METADATA_WWN_LEN];
-       int len;
-+      pax_track_stack();
-+
-       memset(path, 0, ALUA_METADATA_PATH_LEN);
-       memset(wwn, 0, ALUA_SECONDARY_METADATA_WWN_LEN);
-diff --git a/drivers/target/target_core_cdb.c b/drivers/target/target_core_cdb.c
-index f04d4ef..7de212b 100644
---- a/drivers/target/target_core_cdb.c
-+++ b/drivers/target/target_core_cdb.c
-@@ -933,6 +933,8 @@ target_emulate_modesense(struct se_cmd *cmd, int ten)
-       int length = 0;
-       unsigned char buf[SE_MODE_PAGE_BUF];
-+      pax_track_stack();
-+
-       memset(buf, 0, SE_MODE_PAGE_BUF);
-       switch (cdb[2] & 0x3f) {
-diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
-index b2575d8..b6b28fd 100644
---- a/drivers/target/target_core_configfs.c
-+++ b/drivers/target/target_core_configfs.c
-@@ -1267,6 +1267,8 @@ static ssize_t target_core_dev_pr_show_attr_res_pr_registered_i_pts(
-       ssize_t len = 0;
-       int reg_count = 0, prf_isid;
-+      pax_track_stack();
-+
-       if (!su_dev->se_dev_ptr)
-               return -ENODEV;
-diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
-index 7fd3a16..bc2fb3e 100644
---- a/drivers/target/target_core_pr.c
-+++ b/drivers/target/target_core_pr.c
-@@ -918,6 +918,8 @@ static int __core_scsi3_check_aptpl_registration(
-       unsigned char t_port[PR_APTPL_MAX_TPORT_LEN];
-       u16 tpgt;
-+      pax_track_stack();
-+
-       memset(i_port, 0, PR_APTPL_MAX_IPORT_LEN);
-       memset(t_port, 0, PR_APTPL_MAX_TPORT_LEN);
-       /*
-@@ -1867,6 +1869,8 @@ static int __core_scsi3_update_aptpl_buf(
-       ssize_t len = 0;
-       int reg_count = 0;
-+      pax_track_stack();
-+
-       memset(buf, 0, pr_aptpl_buf_len);
-       /*
-        * Called to clear metadata once APTPL has been deactivated.
-@@ -1989,6 +1993,8 @@ static int __core_scsi3_write_aptpl_to_file(
-       char path[512];
-       int ret;
-+      pax_track_stack();
-+
-       memset(iov, 0, sizeof(struct iovec));
-       memset(path, 0, 512);
 diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c
-index 5c1b8c5..0cb7d0e 100644
+index 6845228..df77141 100644
 --- a/drivers/target/target_core_tmr.c
 +++ b/drivers/target/target_core_tmr.c
-@@ -255,7 +255,7 @@ static void core_tmr_drain_task_list(
+@@ -250,7 +250,7 @@ static void core_tmr_drain_task_list(
                        cmd->se_tfo->get_task_tag(cmd), cmd->pr_res_key,
                        cmd->t_task_list_num,
                        atomic_read(&cmd->t_task_cdbs_left),
@@ -37460,7 +37849,7 @@ index 5c1b8c5..0cb7d0e 100644
                        atomic_read(&cmd->t_transport_active),
                        atomic_read(&cmd->t_transport_stop),
                        atomic_read(&cmd->t_transport_sent));
-@@ -291,7 +291,7 @@ static void core_tmr_drain_task_list(
+@@ -281,7 +281,7 @@ static void core_tmr_drain_task_list(
                        pr_debug("LUN_RESET: got t_transport_active = 1 for"
                                " task: %p, t_fe_count: %d dev: %p\n", task,
                                fe_count, dev);
@@ -37469,7 +37858,7 @@ index 5c1b8c5..0cb7d0e 100644
                        spin_unlock_irqrestore(&cmd->t_state_lock, flags);
  
                        core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count);
-@@ -299,7 +299,7 @@ static void core_tmr_drain_task_list(
+@@ -289,7 +289,7 @@ static void core_tmr_drain_task_list(
                }
                pr_debug("LUN_RESET: Got t_transport_active = 0 for task: %p,"
                        " t_fe_count: %d dev: %p\n", task, fe_count, dev);
@@ -37479,10 +37868,10 @@ index 5c1b8c5..0cb7d0e 100644
  
                core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count);
 diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
-index 013c100..8fd2e57 100644
+index cdb774b..8753593 100644
 --- a/drivers/target/target_core_transport.c
 +++ b/drivers/target/target_core_transport.c
-@@ -1445,7 +1445,7 @@ struct se_device *transport_add_device_to_core_hba(
+@@ -1343,7 +1343,7 @@ struct se_device *transport_add_device_to_core_hba(
  
        dev->queue_depth        = dev_limits->queue_depth;
        atomic_set(&dev->depth_left, dev->queue_depth);
@@ -37491,7 +37880,7 @@ index 013c100..8fd2e57 100644
  
        se_dev_set_default_attribs(dev, dev_limits);
  
-@@ -1633,7 +1633,7 @@ static int transport_check_alloc_task_attr(struct se_cmd *cmd)
+@@ -1530,7 +1530,7 @@ static int transport_check_alloc_task_attr(struct se_cmd *cmd)
         * Used to determine when ORDERED commands should go from
         * Dormant to Active status.
         */
@@ -37500,7 +37889,7 @@ index 013c100..8fd2e57 100644
        smp_mb__after_atomic_inc();
        pr_debug("Allocated se_ordered_id: %u for Task Attr: 0x%02x on %s\n",
                        cmd->se_ordered_id, cmd->sam_task_attr,
-@@ -1960,7 +1960,7 @@ static void transport_generic_request_failure(
+@@ -1800,7 +1800,7 @@ static void transport_generic_request_failure(struct se_cmd *cmd)
                " t_transport_active: %d t_transport_stop: %d"
                " t_transport_sent: %d\n", cmd->t_task_list_num,
                atomic_read(&cmd->t_task_cdbs_left),
@@ -37509,28 +37898,28 @@ index 013c100..8fd2e57 100644
                atomic_read(&cmd->t_task_cdbs_ex_left),
                atomic_read(&cmd->t_transport_active),
                atomic_read(&cmd->t_transport_stop),
-@@ -2460,9 +2460,9 @@ check_depth:
+@@ -2089,9 +2089,9 @@ check_depth:
        spin_lock_irqsave(&cmd->t_state_lock, flags);
-       atomic_set(&task->task_active, 1);
-       atomic_set(&task->task_sent, 1);
+       task->task_flags |= (TF_ACTIVE | TF_SENT);
 -      atomic_inc(&cmd->t_task_cdbs_sent);
 +      atomic_inc_unchecked(&cmd->t_task_cdbs_sent);
  
 -      if (atomic_read(&cmd->t_task_cdbs_sent) ==
 +      if (atomic_read_unchecked(&cmd->t_task_cdbs_sent) ==
            cmd->t_task_list_num)
-               atomic_set(&cmd->transport_sent, 1);
+               atomic_set(&cmd->t_transport_sent, 1);
  
-@@ -4665,7 +4665,7 @@ static void transport_generic_wait_for_tasks(
+@@ -4297,7 +4297,7 @@ bool transport_wait_for_tasks(struct se_cmd *cmd)
                atomic_set(&cmd->transport_lun_stop, 0);
        }
        if (!atomic_read(&cmd->t_transport_active) ||
--           atomic_read(&cmd->t_transport_aborted))
-+           atomic_read_unchecked(&cmd->t_transport_aborted))
-               goto remove;
-       atomic_set(&cmd->t_transport_stop, 1);
-@@ -4900,7 +4900,7 @@ int transport_check_aborted_status(struct se_cmd *cmd, int send_status)
+-           atomic_read(&cmd->t_transport_aborted)) {
++           atomic_read_unchecked(&cmd->t_transport_aborted)) {
+               spin_unlock_irqrestore(&cmd->t_state_lock, flags);
+               return false;
+       }
+@@ -4546,7 +4546,7 @@ int transport_check_aborted_status(struct se_cmd *cmd, int send_status)
  {
        int ret = 0;
  
@@ -37539,39 +37928,17 @@ index 013c100..8fd2e57 100644
                if (!send_status ||
                     (cmd->se_cmd_flags & SCF_SENT_DELAYED_TAS))
                        return 1;
-@@ -4937,7 +4937,7 @@ void transport_send_task_abort(struct se_cmd *cmd)
+@@ -4583,7 +4583,7 @@ void transport_send_task_abort(struct se_cmd *cmd)
         */
        if (cmd->data_direction == DMA_TO_DEVICE) {
                if (cmd->se_tfo->write_pending_status(cmd) != 0) {
 -                      atomic_inc(&cmd->t_transport_aborted);
 +                      atomic_inc_unchecked(&cmd->t_transport_aborted);
                        smp_mb__after_atomic_inc();
-                       cmd->scsi_status = SAM_STAT_TASK_ABORTED;
-                       transport_new_cmd_failure(cmd);
-@@ -5051,7 +5051,7 @@ static void transport_processing_shutdown(struct se_device *dev)
-                       cmd->se_tfo->get_task_tag(cmd),
-                       cmd->t_task_list_num,
-                       atomic_read(&cmd->t_task_cdbs_left),
--                      atomic_read(&cmd->t_task_cdbs_sent),
-+                      atomic_read_unchecked(&cmd->t_task_cdbs_sent),
-                       atomic_read(&cmd->t_transport_active),
-                       atomic_read(&cmd->t_transport_stop),
-                       atomic_read(&cmd->t_transport_sent));
-diff --git a/drivers/telephony/ixj.c b/drivers/telephony/ixj.c
-index d5f923b..9c78228 100644
---- a/drivers/telephony/ixj.c
-+++ b/drivers/telephony/ixj.c
-@@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j)
-       bool mContinue;
-       char *pIn, *pOut;
-+      pax_track_stack();
-+
-       if (!SCI_Prepare(j))
-               return 0;
+               }
+       }
 diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c
-index 4c8b665..1d931eb 100644
+index b9040be..e3f5aab 100644
 --- a/drivers/tty/hvc/hvcs.c
 +++ b/drivers/tty/hvc/hvcs.c
 @@ -83,6 +83,7 @@
@@ -37803,10 +38170,10 @@ index ef92869..f4ebd88 100644
                        ipwireless_disassociate_network_ttys(network,
                                                             ttyj->channel_idx);
 diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
-index 8a50e4e..7d9ca3d 100644
+index fc7bbba..9527e93 100644
 --- a/drivers/tty/n_gsm.c
 +++ b/drivers/tty/n_gsm.c
-@@ -1625,7 +1625,7 @@ static struct gsm_dlci *gsm_dlci_alloc(struct gsm_mux *gsm, int addr)
+@@ -1629,7 +1629,7 @@ static struct gsm_dlci *gsm_dlci_alloc(struct gsm_mux *gsm, int addr)
        kref_init(&dlci->ref);
        mutex_init(&dlci->mutex);
        dlci->fifo = &dlci->_fifo;
@@ -37844,24 +38211,11 @@ index e18604b..a7d5a11 100644
  
        cdev_init(&ptmx_cdev, &ptmx_fops);
        if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
-diff --git a/drivers/tty/rocket.c b/drivers/tty/rocket.c
-index 6a1241c..d04ab0d 100644
---- a/drivers/tty/rocket.c
-+++ b/drivers/tty/rocket.c
-@@ -1277,6 +1277,8 @@ static int get_ports(struct r_port *info, struct rocket_ports __user *retports)
-       struct rocket_ports tmp;
-       int board;
-+      pax_track_stack();
-+
-       if (!retports)
-               return -EFAULT;
-       memset(&tmp, 0, sizeof (tmp));
 diff --git a/drivers/tty/serial/kgdboc.c b/drivers/tty/serial/kgdboc.c
-index 87e7e6c..89744e0 100644
+index 2b42a01..32a2ed3 100644
 --- a/drivers/tty/serial/kgdboc.c
 +++ b/drivers/tty/serial/kgdboc.c
-@@ -23,8 +23,9 @@
+@@ -24,8 +24,9 @@
  #define MAX_CONFIG_LEN                40
  
  static struct kgdb_io         kgdboc_io_ops;
@@ -37872,7 +38226,7 @@ index 87e7e6c..89744e0 100644
  static int configured         = -1;
  
  static char config[MAX_CONFIG_LEN];
-@@ -147,6 +148,8 @@ static void cleanup_kgdboc(void)
+@@ -148,6 +149,8 @@ static void cleanup_kgdboc(void)
        kgdboc_unregister_kbd();
        if (configured == 1)
                kgdb_unregister_io_module(&kgdboc_io_ops);
@@ -37881,7 +38235,7 @@ index 87e7e6c..89744e0 100644
  }
  
  static int configure_kgdboc(void)
-@@ -156,13 +159,13 @@ static int configure_kgdboc(void)
+@@ -157,13 +160,13 @@ static int configure_kgdboc(void)
        int err;
        char *cptr = config;
        struct console *cons;
@@ -37896,7 +38250,7 @@ index 87e7e6c..89744e0 100644
        kgdb_tty_driver = NULL;
  
        kgdboc_use_kms = 0;
-@@ -183,7 +186,7 @@ static int configure_kgdboc(void)
+@@ -184,7 +187,7 @@ static int configure_kgdboc(void)
                int idx;
                if (cons->device && cons->device(cons, &idx) == p &&
                    idx == tty_line) {
@@ -37905,7 +38259,7 @@ index 87e7e6c..89744e0 100644
                        break;
                }
                cons = cons->next;
-@@ -193,12 +196,16 @@ static int configure_kgdboc(void)
+@@ -194,12 +197,16 @@ static int configure_kgdboc(void)
        kgdb_tty_line = tty_line;
  
  do_register:
@@ -37925,7 +38279,7 @@ index 87e7e6c..89744e0 100644
        return 0;
  
  noconfig:
-@@ -212,7 +219,7 @@ noconfig:
+@@ -213,7 +220,7 @@ noconfig:
  static int __init init_kgdboc(void)
  {
        /* Already configured? */
@@ -37934,7 +38288,7 @@ index 87e7e6c..89744e0 100644
                return 0;
  
        return configure_kgdboc();
-@@ -261,7 +268,7 @@ static int param_set_kgdboc_var(const char *kmessage, struct kernel_param *kp)
+@@ -262,7 +269,7 @@ static int param_set_kgdboc_var(const char *kmessage, struct kernel_param *kp)
        if (config[len - 1] == '\n')
                config[len - 1] = '\0';
  
@@ -37943,7 +38297,7 @@ index 87e7e6c..89744e0 100644
                cleanup_kgdboc();
  
        /* Go and configure with the new params. */
-@@ -301,6 +308,15 @@ static struct kgdb_io kgdboc_io_ops = {
+@@ -302,6 +309,15 @@ static struct kgdb_io kgdboc_io_ops = {
        .post_exception         = kgdboc_post_exp_handler,
  };
  
@@ -37959,37 +38313,11 @@ index 87e7e6c..89744e0 100644
  #ifdef CONFIG_KGDB_SERIAL_CONSOLE
  /* This is only available if kgdboc is a built in for early debugging */
  static int __init kgdboc_early_init(char *opt)
-diff --git a/drivers/tty/serial/mfd.c b/drivers/tty/serial/mfd.c
-index cab52f4..29fc6aa 100644
---- a/drivers/tty/serial/mfd.c
-+++ b/drivers/tty/serial/mfd.c
-@@ -1423,7 +1423,7 @@ static void serial_hsu_remove(struct pci_dev *pdev)
- }
- /* First 3 are UART ports, and the 4th is the DMA */
--static const struct pci_device_id pci_ids[] __devinitdata = {
-+static const struct pci_device_id pci_ids[] __devinitconst = {
-       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081B) },
-       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081C) },
-       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081D) },
-diff --git a/drivers/tty/serial/mrst_max3110.c b/drivers/tty/serial/mrst_max3110.c
-index 23bc743..d425c07 100644
---- a/drivers/tty/serial/mrst_max3110.c
-+++ b/drivers/tty/serial/mrst_max3110.c
-@@ -393,6 +393,8 @@ static void max3110_con_receive(struct uart_max3110 *max)
-       int loop = 1, num, total = 0;
-       u8 recv_buf[512], *pbuf;
-+      pax_track_stack();
-+
-       pbuf = recv_buf;
-       do {
-               num = max3110_read_multi(max, pbuf);
 diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
-index 1a890e2..1d8139c 100644
+index 05085be..67eadb0 100644
 --- a/drivers/tty/tty_io.c
 +++ b/drivers/tty/tty_io.c
-@@ -3238,7 +3238,7 @@ EXPORT_SYMBOL_GPL(get_current_tty);
+@@ -3240,7 +3240,7 @@ EXPORT_SYMBOL_GPL(get_current_tty);
  
  void tty_default_fops(struct file_operations *fops)
  {
@@ -37999,7 +38327,7 @@ index 1a890e2..1d8139c 100644
  
  /*
 diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
-index a76c808..ecbc743 100644
+index 8e0924f..4204eb4 100644
 --- a/drivers/tty/tty_ldisc.c
 +++ b/drivers/tty/tty_ldisc.c
 @@ -75,7 +75,7 @@ static void put_ldisc(struct tty_ldisc *ld)
@@ -38048,10 +38376,10 @@ index a76c808..ecbc743 100644
        spin_unlock_irqrestore(&tty_ldisc_lock, flags);
  }
 diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
-index 3761ccf..2c613b3 100644
+index a605549..6bd3c96 100644
 --- a/drivers/tty/vt/keyboard.c
 +++ b/drivers/tty/vt/keyboard.c
-@@ -656,6 +656,16 @@ static void k_spec(struct vc_data *vc, unsigned char value, char up_flag)
+@@ -657,6 +657,16 @@ static void k_spec(struct vc_data *vc, unsigned char value, char up_flag)
             kbd->kbdmode == VC_OFF) &&
             value != KVAL(K_SAK))
                return;         /* SAK is allowed even in raw mode */
@@ -38068,21 +38396,8 @@ index 3761ccf..2c613b3 100644
        fn_handler[value](vc);
  }
  
-diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
-index b3915b7..e716839 100644
---- a/drivers/tty/vt/vt.c
-+++ b/drivers/tty/vt/vt.c
-@@ -259,7 +259,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier);
- static void notify_write(struct vc_data *vc, unsigned int unicode)
- {
--      struct vt_notifier_param param = { .vc = vc, unicode = unicode };
-+      struct vt_notifier_param param = { .vc = vc, .c = unicode };
-       atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, &param);
- }
 diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c
-index 5e096f4..0da1363 100644
+index 65447c5..0526f0a 100644
 --- a/drivers/tty/vt/vt_ioctl.c
 +++ b/drivers/tty/vt/vt_ioctl.c
 @@ -207,9 +207,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __user *user_kbe, int perm, struct kbd_str
@@ -38126,7 +38441,7 @@ index 5e096f4..0da1363 100644
                        ret = -EPERM;
                        goto reterr;
 diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
-index d2efe82..9440ab6 100644
+index a783d53..cb30d94 100644
 --- a/drivers/uio/uio.c
 +++ b/drivers/uio/uio.c
 @@ -25,6 +25,7 @@
@@ -38211,7 +38526,7 @@ index d2efe82..9440ab6 100644
  }
  
  static int uio_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
-@@ -823,7 +824,7 @@ int __uio_register_device(struct module *owner,
+@@ -821,7 +822,7 @@ int __uio_register_device(struct module *owner,
        idev->owner = owner;
        idev->info = info;
        init_waitqueue_head(&idev->wait);
@@ -38317,7 +38632,7 @@ index d3448ca..d2864ca 100644
        if (!left--) {
                if (instance->disconnected)
 diff --git a/drivers/usb/core/devices.c b/drivers/usb/core/devices.c
-index 0149c09..f108812 100644
+index d956965..4179a77 100644
 --- a/drivers/usb/core/devices.c
 +++ b/drivers/usb/core/devices.c
 @@ -126,7 +126,7 @@ static const char format_endpt[] =
@@ -38347,21 +38662,6 @@ index 0149c09..f108812 100644
        if (file->f_version != event_count) {
                file->f_version = event_count;
                return POLLIN | POLLRDNORM;
-diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
-index 0b5ec23..0da3d76 100644
---- a/drivers/usb/core/message.c
-+++ b/drivers/usb/core/message.c
-@@ -869,8 +869,8 @@ char *usb_cache_string(struct usb_device *udev, int index)
-       buf = kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO);
-       if (buf) {
-               len = usb_string(udev, index, buf, MAX_USB_STRING_SIZE);
--              if (len > 0) {
--                      smallbuf = kmalloc(++len, GFP_NOIO);
-+              if (len++ > 0) {
-+                      smallbuf = kmalloc(len, GFP_NOIO);
-                       if (!smallbuf)
-                               return buf;
-                       memcpy(smallbuf, buf, len);
 diff --git a/drivers/usb/early/ehci-dbgp.c b/drivers/usb/early/ehci-dbgp.c
 index 1fc8f12..20647c1 100644
 --- a/drivers/usb/early/ehci-dbgp.c
@@ -38403,19 +38703,6 @@ index 1fc8f12..20647c1 100644
  
        return 0;
  }
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index d718033..6075579 100644
---- a/drivers/usb/host/xhci-mem.c
-+++ b/drivers/usb/host/xhci-mem.c
-@@ -1685,6 +1685,8 @@ static int xhci_check_trb_in_td_math(struct xhci_hcd *xhci, gfp_t mem_flags)
-       unsigned int num_tests;
-       int i, ret;
-+      pax_track_stack();
-+
-       num_tests = ARRAY_SIZE(simple_test_vector);
-       for (i = 0; i < num_tests; i++) {
-               ret = xhci_test_trb_in_td(xhci,
 diff --git a/drivers/usb/wusbcore/wa-hc.h b/drivers/usb/wusbcore/wa-hc.h
 index d6bea3e..60b250e 100644
 --- a/drivers/usb/wusbcore/wa-hc.h
@@ -38439,10 +38726,10 @@ index d6bea3e..60b250e 100644
  
  /**
 diff --git a/drivers/usb/wusbcore/wa-xfer.c b/drivers/usb/wusbcore/wa-xfer.c
-index 4193345..49ae93d 100644
+index 57c01ab..8a05959 100644
 --- a/drivers/usb/wusbcore/wa-xfer.c
 +++ b/drivers/usb/wusbcore/wa-xfer.c
-@@ -295,7 +295,7 @@ out:
+@@ -296,7 +296,7 @@ out:
   */
  static void wa_xfer_id_init(struct wa_xfer *xfer)
  {
@@ -38477,6 +38764,19 @@ index b0b2ac3..89a4399 100644
        "AGP",
        "PCI",
        "PRO AGP",
+diff --git a/drivers/video/backlight/s6e63m0.c b/drivers/video/backlight/s6e63m0.c
+index e132157..516db70 100644
+--- a/drivers/video/backlight/s6e63m0.c
++++ b/drivers/video/backlight/s6e63m0.c
+@@ -690,7 +690,7 @@ static ssize_t s6e63m0_sysfs_store_gamma_mode(struct device *dev,
+       struct backlight_device *bd = NULL;
+       int brightness, rc;
+-      rc = strict_strtoul(buf, 0, (unsigned long *)&lcd->gamma_mode);
++      rc = kstrtouint(buf, 0, &lcd->gamma_mode);
+       if (rc < 0)
+               return rc;
 diff --git a/drivers/video/fbcmap.c b/drivers/video/fbcmap.c
 index 5c3960d..15cf8fc 100644
 --- a/drivers/video/fbcmap.c
@@ -38492,7 +38792,7 @@ index 5c3960d..15cf8fc 100644
                goto out1;
        }
 diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
-index ad93629..ca6a218 100644
+index ad93629..e020fc3 100644
 --- a/drivers/video/fbmem.c
 +++ b/drivers/video/fbmem.c
 @@ -428,7 +428,7 @@ static void fb_do_show_logo(struct fb_info *info, struct fb_image *image,
@@ -38513,25 +38813,7 @@ index ad93629..ca6a218 100644
                        info->fbops->fb_imageblit(info, image);
                        image->dy -= image->height + 8;
                }
-@@ -939,6 +939,8 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
-       int flags = info->flags;
-       int ret = 0;
-+      pax_track_stack();
-+
-       if (var->activate & FB_ACTIVATE_INV_MODE) {
-               struct fb_videomode mode1, mode2;
-@@ -1064,6 +1066,8 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
-       void __user *argp = (void __user *)arg;
-       long ret = 0;
-+      pax_track_stack();
-+
-       switch (cmd) {
-       case FBIOGET_VSCREENINFO:
-               if (!lock_fb_info(info))
-@@ -1143,7 +1147,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
+@@ -1143,7 +1143,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
                        return -EFAULT;
                if (con2fb.console < 1 || con2fb.console > MAX_NR_CONSOLES)
                        return -EINVAL;
@@ -38554,7 +38836,7 @@ index 5a5d092..265c5ed 100644
        { NULL, 60, 640, 480, 39682,  48, 16, 33, 10, 96, 2,
          0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
 diff --git a/drivers/video/gxt4500.c b/drivers/video/gxt4500.c
-index 896e53d..4d87d0b 100644
+index 0fad23f..0e9afa4 100644
 --- a/drivers/video/gxt4500.c
 +++ b/drivers/video/gxt4500.c
 @@ -156,7 +156,7 @@ struct gxt4500_par {
@@ -41343,10 +41625,10 @@ index 3c14e43..eafa544 100644
 +4 4 4  4 4 4  4 4 4  4 4 4  4 4 4  4 4 4
 +4 4 4  4 4 4
 diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c
-index 087fc99..f85ed76 100644
+index 3473e75..c930142 100644
 --- a/drivers/video/udlfb.c
 +++ b/drivers/video/udlfb.c
-@@ -585,11 +585,11 @@ int dlfb_handle_damage(struct dlfb_data *dev, int x, int y,
+@@ -619,11 +619,11 @@ int dlfb_handle_damage(struct dlfb_data *dev, int x, int y,
                dlfb_urb_completion(urb);
  
  error:
@@ -41362,7 +41644,7 @@ index 087fc99..f85ed76 100644
                    >> 10)), /* Kcycles */
                   &dev->cpu_kcycles_used);
  
-@@ -710,11 +710,11 @@ static void dlfb_dpy_deferred_io(struct fb_info *info,
+@@ -744,11 +744,11 @@ static void dlfb_dpy_deferred_io(struct fb_info *info,
                dlfb_urb_completion(urb);
  
  error:
@@ -41378,7 +41660,7 @@ index 087fc99..f85ed76 100644
                    >> 10)), /* Kcycles */
                   &dev->cpu_kcycles_used);
  }
-@@ -1306,7 +1306,7 @@ static ssize_t metrics_bytes_rendered_show(struct device *fbdev,
+@@ -1368,7 +1368,7 @@ static ssize_t metrics_bytes_rendered_show(struct device *fbdev,
        struct fb_info *fb_info = dev_get_drvdata(fbdev);
        struct dlfb_data *dev = fb_info->par;
        return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -41387,7 +41669,7 @@ index 087fc99..f85ed76 100644
  }
  
  static ssize_t metrics_bytes_identical_show(struct device *fbdev,
-@@ -1314,7 +1314,7 @@ static ssize_t metrics_bytes_identical_show(struct device *fbdev,
+@@ -1376,7 +1376,7 @@ static ssize_t metrics_bytes_identical_show(struct device *fbdev,
        struct fb_info *fb_info = dev_get_drvdata(fbdev);
        struct dlfb_data *dev = fb_info->par;
        return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -41396,7 +41678,7 @@ index 087fc99..f85ed76 100644
  }
  
  static ssize_t metrics_bytes_sent_show(struct device *fbdev,
-@@ -1322,7 +1322,7 @@ static ssize_t metrics_bytes_sent_show(struct device *fbdev,
+@@ -1384,7 +1384,7 @@ static ssize_t metrics_bytes_sent_show(struct device *fbdev,
        struct fb_info *fb_info = dev_get_drvdata(fbdev);
        struct dlfb_data *dev = fb_info->par;
        return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -41405,7 +41687,7 @@ index 087fc99..f85ed76 100644
  }
  
  static ssize_t metrics_cpu_kcycles_used_show(struct device *fbdev,
-@@ -1330,7 +1330,7 @@ static ssize_t metrics_cpu_kcycles_used_show(struct device *fbdev,
+@@ -1392,7 +1392,7 @@ static ssize_t metrics_cpu_kcycles_used_show(struct device *fbdev,
        struct fb_info *fb_info = dev_get_drvdata(fbdev);
        struct dlfb_data *dev = fb_info->par;
        return snprintf(buf, PAGE_SIZE, "%u\n",
@@ -41414,7 +41696,7 @@ index 087fc99..f85ed76 100644
  }
  
  static ssize_t edid_show(
-@@ -1387,10 +1387,10 @@ static ssize_t metrics_reset_store(struct device *fbdev,
+@@ -1449,10 +1449,10 @@ static ssize_t metrics_reset_store(struct device *fbdev,
        struct fb_info *fb_info = dev_get_drvdata(fbdev);
        struct dlfb_data *dev = fb_info->par;
  
@@ -41627,19 +41909,6 @@ index 88714ae..16c2e11 100644
  
  
  static inline u32 get_pll_internal_frequency(u32 ref_freq,
-diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
-index e058ace..2424d93 100644
---- a/drivers/virtio/virtio_balloon.c
-+++ b/drivers/virtio/virtio_balloon.c
-@@ -174,6 +174,8 @@ static void update_balloon_stats(struct virtio_balloon *vb)
-       struct sysinfo i;
-       int idx = 0;
-+      pax_track_stack();
-+
-       all_vm_events(events);
-       si_meminfo(&i);
 diff --git a/drivers/xen/xen-pciback/conf_space.h b/drivers/xen/xen-pciback/conf_space.h
 index e56c934..fc22f4b 100644
 --- a/drivers/xen/xen-pciback/conf_space.h
@@ -41664,10 +41933,10 @@ index e56c934..fc22f4b 100644
        struct list_head list;
  };
 diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
-index e3c03db..93b0172 100644
+index 879ed88..bc03a01 100644
 --- a/fs/9p/vfs_inode.c
 +++ b/fs/9p/vfs_inode.c
-@@ -1288,7 +1288,7 @@ static void *v9fs_vfs_follow_link(struct dentry *dentry, struct nameidata *nd)
+@@ -1286,7 +1286,7 @@ static void *v9fs_vfs_follow_link(struct dentry *dentry, struct nameidata *nd)
  void
  v9fs_vfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
  {
@@ -41690,7 +41959,7 @@ index 79e2ca7..5828ad1 100644
          A.out (Assembler.OUTput) is a set of formats for libraries and
          executables used in the earliest versions of UNIX.  Linux used
 diff --git a/fs/aio.c b/fs/aio.c
-index e29ec48..f083e5e 100644
+index b9d64d8..86cb1d5 100644
 --- a/fs/aio.c
 +++ b/fs/aio.c
 @@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx *ctx)
@@ -41702,16 +41971,7 @@ index e29ec48..f083e5e 100644
                return -EINVAL;
  
        nr_events = (PAGE_SIZE * nr_pages - sizeof(struct aio_ring)) / sizeof(struct io_event);
-@@ -1088,6 +1088,8 @@ static int read_events(struct kioctx *ctx,
-       struct aio_timeout      to;
-       int                     retry = 0;
-+      pax_track_stack();
-+
-       /* needed to zero any padding within an entry (there shouldn't be 
-        * any, but C is fun!
-        */
-@@ -1381,22 +1383,27 @@ static ssize_t aio_fsync(struct kiocb *iocb)
+@@ -1461,22 +1461,27 @@ static ssize_t aio_fsync(struct kiocb *iocb)
  static ssize_t aio_setup_vectored_rw(int type, struct kiocb *kiocb, bool compat)
  {
        ssize_t ret;
@@ -41723,14 +41983,14 @@ index e29ec48..f083e5e 100644
                                (struct compat_iovec __user *)kiocb->ki_buf,
 -                              kiocb->ki_nbytes, 1, &kiocb->ki_inline_vec,
 +                              kiocb->ki_nbytes, 1, &iovstack,
-                               &kiocb->ki_iovec);
+                               &kiocb->ki_iovec, 1);
        else
  #endif
                ret = rw_copy_check_uvector(type,
                                (struct iovec __user *)kiocb->ki_buf,
 -                              kiocb->ki_nbytes, 1, &kiocb->ki_inline_vec,
 +                              kiocb->ki_nbytes, 1, &iovstack,
-                               &kiocb->ki_iovec);
+                               &kiocb->ki_iovec, 1);
        if (ret < 0)
                goto out;
  
@@ -41742,10 +42002,10 @@ index e29ec48..f083e5e 100644
        kiocb->ki_cur_seg = 0;
        /* ki_nbytes/left now reflect bytes instead of segs */
 diff --git a/fs/attr.c b/fs/attr.c
-index 538e279..046cc6d 100644
+index 7ee7ba4..0c61a60 100644
 --- a/fs/attr.c
 +++ b/fs/attr.c
-@@ -98,6 +98,7 @@ int inode_newsize_ok(const struct inode *inode, loff_t offset)
+@@ -99,6 +99,7 @@ int inode_newsize_ok(const struct inode *inode, loff_t offset)
                unsigned long limit;
  
                limit = rlimit(RLIMIT_FSIZE);
@@ -41754,7 +42014,7 @@ index 538e279..046cc6d 100644
                        goto out_sig;
                if (offset > inode->i_sb->s_maxbytes)
 diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
-index e1fbdee..cd5ea56 100644
+index 6861f61..a25f010 100644
 --- a/fs/autofs4/waitq.c
 +++ b/fs/autofs4/waitq.c
 @@ -60,7 +60,7 @@ static int autofs4_write(struct file *file, const void *addr, int bytes)
@@ -41767,7 +42027,7 @@ index e1fbdee..cd5ea56 100644
  
        /** WARNING: this is not safe for writing more than PIPE_BUF bytes! **/
 diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
-index 720d885..012e7f0 100644
+index 8342ca6..82fd192 100644
 --- a/fs/befs/linuxvfs.c
 +++ b/fs/befs/linuxvfs.c
 @@ -503,7 +503,7 @@ static void befs_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
@@ -41780,7 +42040,7 @@ index 720d885..012e7f0 100644
                        kfree(link);
        }
 diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c
-index a6395bd..a5b24c4 100644
+index a6395bd..f1e376a 100644
 --- a/fs/binfmt_aout.c
 +++ b/fs/binfmt_aout.c
 @@ -16,6 +16,7 @@
@@ -41822,7 +42082,17 @@ index a6395bd..a5b24c4 100644
        if (ex.a_data + ex.a_bss > rlim)
                return -ENOMEM;
  
-@@ -262,6 +269,27 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
+@@ -259,9 +266,37 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
+       current->mm->free_area_cache = current->mm->mmap_base;
+       current->mm->cached_hole_size = 0;
++      retval = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT);
++      if (retval < 0) {
++              /* Someone check-me: is this error path enough? */
++              send_sig(SIGKILL, current, 0);
++              return retval;
++      }
++
        install_exec_creds(bprm);
        current->flags &= ~PF_FORKNOEXEC;
  
@@ -41850,7 +42120,7 @@ index a6395bd..a5b24c4 100644
        if (N_MAGIC(ex) == OMAGIC) {
                unsigned long text_addr, map_size;
                loff_t pos;
-@@ -334,7 +362,7 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
+@@ -334,7 +369,7 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
  
                down_write(&current->mm->mmap_sem);
                error = do_mmap(bprm->file, N_DATADDR(ex), ex.a_data,
@@ -41859,11 +42129,33 @@ index a6395bd..a5b24c4 100644
                                MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE,
                                fd_offset + ex.a_text);
                up_write(&current->mm->mmap_sem);
+@@ -352,13 +387,6 @@ beyond_if:
+               return retval;
+       }
+-      retval = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT);
+-      if (retval < 0) { 
+-              /* Someone check-me: is this error path enough? */ 
+-              send_sig(SIGKILL, current, 0); 
+-              return retval;
+-      }
+-
+       current->mm->start_stack =
+               (unsigned long) create_aout_tables((char __user *) bprm->p, bprm);
+ #ifdef __alpha__
 diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
-index 21ac5ee..171b1d0 100644
+index 6ff96c6..b5fb43a 100644
 --- a/fs/binfmt_elf.c
 +++ b/fs/binfmt_elf.c
-@@ -51,6 +51,10 @@ static int elf_core_dump(struct coredump_params *cprm);
+@@ -32,6 +32,7 @@
+ #include <linux/elf.h>
+ #include <linux/utsname.h>
+ #include <linux/coredump.h>
++#include <linux/xattr.h>
+ #include <asm/uaccess.h>
+ #include <asm/param.h>
+ #include <asm/page.h>
+@@ -51,6 +52,10 @@ static int elf_core_dump(struct coredump_params *cprm);
  #define elf_core_dump NULL
  #endif
  
@@ -41874,19 +42166,19 @@ index 21ac5ee..171b1d0 100644
  #if ELF_EXEC_PAGESIZE > PAGE_SIZE
  #define ELF_MIN_ALIGN ELF_EXEC_PAGESIZE
  #else
-@@ -70,6 +74,11 @@ static struct linux_binfmt elf_format = {
+@@ -70,6 +75,11 @@ static struct linux_binfmt elf_format = {
        .load_binary    = load_elf_binary,
        .load_shlib     = load_elf_library,
        .core_dump      = elf_core_dump,
 +
 +#ifdef CONFIG_PAX_MPROTECT
-+              .handle_mprotect= elf_handle_mprotect,
++      .handle_mprotect= elf_handle_mprotect,
 +#endif
 +
        .min_coredump   = ELF_EXEC_PAGESIZE,
  };
  
-@@ -77,6 +86,8 @@ static struct linux_binfmt elf_format = {
+@@ -77,6 +87,8 @@ static struct linux_binfmt elf_format = {
  
  static int set_brk(unsigned long start, unsigned long end)
  {
@@ -41895,7 +42187,7 @@ index 21ac5ee..171b1d0 100644
        start = ELF_PAGEALIGN(start);
        end = ELF_PAGEALIGN(end);
        if (end > start) {
-@@ -87,7 +98,7 @@ static int set_brk(unsigned long start, unsigned long end)
+@@ -87,7 +99,7 @@ static int set_brk(unsigned long start, unsigned long end)
                if (BAD_ADDR(addr))
                        return addr;
        }
@@ -41904,7 +42196,7 @@ index 21ac5ee..171b1d0 100644
        return 0;
  }
  
-@@ -148,12 +159,15 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
+@@ -148,12 +160,13 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
        elf_addr_t __user *u_rand_bytes;
        const char *k_platform = ELF_PLATFORM;
        const char *k_base_platform = ELF_BASE_PLATFORM;
@@ -41916,12 +42208,10 @@ index 21ac5ee..171b1d0 100644
        const struct cred *cred = current_cred();
        struct vm_area_struct *vma;
 +      unsigned long saved_auxv[AT_VECTOR_SIZE];
-+
-+      pax_track_stack();
  
        /*
         * In some cases (e.g. Hyper-Threading), we want to avoid L1
-@@ -195,8 +209,12 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
+@@ -195,8 +208,12 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
         * Generate 16 random bytes for userspace PRNG seeding.
         */
        get_random_bytes(k_rand_bytes, sizeof(k_rand_bytes));
@@ -41936,7 +42226,7 @@ index 21ac5ee..171b1d0 100644
        if (__copy_to_user(u_rand_bytes, k_rand_bytes, sizeof(k_rand_bytes)))
                return -EFAULT;
  
-@@ -308,9 +326,11 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
+@@ -308,9 +325,11 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
                return -EFAULT;
        current->mm->env_end = p;
  
@@ -41949,7 +42239,7 @@ index 21ac5ee..171b1d0 100644
                return -EFAULT;
        return 0;
  }
-@@ -381,10 +401,10 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
+@@ -381,10 +400,10 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
  {
        struct elf_phdr *elf_phdata;
        struct elf_phdr *eppnt;
@@ -41962,7 +42252,7 @@ index 21ac5ee..171b1d0 100644
        unsigned long total_size;
        int retval, i, size;
  
-@@ -430,6 +450,11 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
+@@ -430,6 +449,11 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
                goto out_close;
        }
  
@@ -41974,7 +42264,7 @@ index 21ac5ee..171b1d0 100644
        eppnt = elf_phdata;
        for (i = 0; i < interp_elf_ex->e_phnum; i++, eppnt++) {
                if (eppnt->p_type == PT_LOAD) {
-@@ -473,8 +498,8 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
+@@ -473,8 +497,8 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
                        k = load_addr + eppnt->p_vaddr;
                        if (BAD_ADDR(k) ||
                            eppnt->p_filesz > eppnt->p_memsz ||
@@ -41985,15 +42275,17 @@ index 21ac5ee..171b1d0 100644
                                error = -ENOMEM;
                                goto out_close;
                        }
-@@ -528,6 +553,193 @@ out:
+@@ -528,6 +552,351 @@ out:
        return error;
  }
  
-+#if (defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS)) && defined(CONFIG_PAX_SOFTMODE)
-+static unsigned long pax_parse_softmode(const struct elf_phdr * const elf_phdata)
++#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS) || defined(CONFIG_PAX_XATTR_PAX_FLAGS)
++static unsigned long pax_parse_pt_pax_softmode(const struct elf_phdr * const elf_phdata)
 +{
 +      unsigned long pax_flags = 0UL;
 +
++#ifdef CONFIG_PAX_PT_PAX_FLAGS
++
 +#ifdef CONFIG_PAX_PAGEEXEC
 +      if (elf_phdata->p_flags & PF_PAGEEXEC)
 +              pax_flags |= MF_PAX_PAGEEXEC;
@@ -42028,15 +42320,17 @@ index 21ac5ee..171b1d0 100644
 +              pax_flags |= MF_PAX_RANDMMAP;
 +#endif
 +
++#endif
++
 +      return pax_flags;
 +}
-+#endif
 +
-+#ifdef CONFIG_PAX_PT_PAX_FLAGS
-+static unsigned long pax_parse_hardmode(const struct elf_phdr * const elf_phdata)
++static unsigned long pax_parse_pt_pax_hardmode(const struct elf_phdr * const elf_phdata)
 +{
 +      unsigned long pax_flags = 0UL;
 +
++#ifdef CONFIG_PAX_PT_PAX_FLAGS
++
 +#ifdef CONFIG_PAX_PAGEEXEC
 +      if (!(elf_phdata->p_flags & PF_NOPAGEEXEC))
 +              pax_flags |= MF_PAX_PAGEEXEC;
@@ -42071,15 +42365,17 @@ index 21ac5ee..171b1d0 100644
 +              pax_flags |= MF_PAX_RANDMMAP;
 +#endif
 +
++#endif
++
 +      return pax_flags;
 +}
-+#endif
 +
-+#ifdef CONFIG_PAX_EI_PAX
 +static unsigned long pax_parse_ei_pax(const struct elfhdr * const elf_ex)
 +{
 +      unsigned long pax_flags = 0UL;
 +
++#ifdef CONFIG_PAX_EI_PAX
++
 +#ifdef CONFIG_PAX_PAGEEXEC
 +      if (!(elf_ex->e_ident[EI_PAX] & EF_PAX_PAGEEXEC))
 +              pax_flags |= MF_PAX_PAGEEXEC;
@@ -42114,25 +42410,38 @@ index 21ac5ee..171b1d0 100644
 +              pax_flags |= MF_PAX_RANDMMAP;
 +#endif
 +
-+      return pax_flags;
-+}
++#else
++
++#ifdef CONFIG_PAX_PAGEEXEC
++      pax_flags |= MF_PAX_PAGEEXEC;
 +#endif
 +
-+#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS)
-+static long pax_parse_elf_flags(const struct elfhdr * const elf_ex, const struct elf_phdr * const elf_phdata)
-+{
-+      unsigned long pax_flags = 0UL;
++#ifdef CONFIG_PAX_MPROTECT
++      pax_flags |= MF_PAX_MPROTECT;
++#endif
 +
-+#ifdef CONFIG_PAX_PT_PAX_FLAGS
-+      unsigned long i;
-+      int found_flags = 0;
++#ifdef CONFIG_PAX_RANDMMAP
++      pax_flags |= MF_PAX_RANDMMAP;
 +#endif
 +
-+#ifdef CONFIG_PAX_EI_PAX
-+      pax_flags = pax_parse_ei_pax(elf_ex);
++#ifdef CONFIG_PAX_SEGMEXEC
++      if (!(pax_flags & MF_PAX_PAGEEXEC) || !(__supported_pte_mask & _PAGE_NX)) {
++              pax_flags &= ~MF_PAX_PAGEEXEC;
++              pax_flags |= MF_PAX_SEGMEXEC;
++      }
 +#endif
 +
++#endif
++
++      return pax_flags;
++}
++
++static unsigned long pax_parse_pt_pax(const struct elfhdr * const elf_ex, const struct elf_phdr * const elf_phdata)
++{
++
 +#ifdef CONFIG_PAX_PT_PAX_FLAGS
++      unsigned long i;
++
 +      for (i = 0UL; i < elf_ex->e_phnum; i++)
 +              if (elf_phdata[i].p_type == PT_PAX_FLAGS) {
 +                      if (((elf_phdata[i].p_flags & PF_PAGEEXEC) && (elf_phdata[i].p_flags & PF_NOPAGEEXEC)) ||
@@ -42140,34 +42449,173 @@ index 21ac5ee..171b1d0 100644
 +                          ((elf_phdata[i].p_flags & PF_EMUTRAMP) && (elf_phdata[i].p_flags & PF_NOEMUTRAMP)) ||
 +                          ((elf_phdata[i].p_flags & PF_MPROTECT) && (elf_phdata[i].p_flags & PF_NOMPROTECT)) ||
 +                          ((elf_phdata[i].p_flags & PF_RANDMMAP) && (elf_phdata[i].p_flags & PF_NORANDMMAP)))
-+                              return -EINVAL;
++                              return ~0UL;
 +
 +#ifdef CONFIG_PAX_SOFTMODE
 +                      if (pax_softmode)
-+                              pax_flags = pax_parse_softmode(&elf_phdata[i]);
++                              return pax_parse_pt_pax_softmode(&elf_phdata[i]);
 +                      else
 +#endif
 +
-+                              pax_flags = pax_parse_hardmode(&elf_phdata[i]);
-+                      found_flags = 1;
++                              return pax_parse_pt_pax_hardmode(&elf_phdata[i]);
 +                      break;
 +              }
 +#endif
 +
-+#if !defined(CONFIG_PAX_EI_PAX) && defined(CONFIG_PAX_PT_PAX_FLAGS)
-+      if (found_flags == 0) {
-+              struct elf_phdr phdr;
-+              memset(&phdr, 0, sizeof(phdr));
-+              phdr.p_flags = PF_NOEMUTRAMP;
-+#ifdef CONFIG_PAX_SOFTMODE
-+              if (pax_softmode)
-+                      pax_flags = pax_parse_softmode(&phdr);
++      return ~0UL;
++}
++
++#ifdef CONFIG_PAX_XATTR_PAX_FLAGS
++static unsigned long pax_parse_xattr_pax_softmode(unsigned long pax_flags_softmode)
++{
++      unsigned long pax_flags = 0UL;
++
++#ifdef CONFIG_PAX_PAGEEXEC
++      if (pax_flags_softmode & MF_PAX_PAGEEXEC)
++              pax_flags |= MF_PAX_PAGEEXEC;
++#endif
++
++#ifdef CONFIG_PAX_SEGMEXEC
++      if (pax_flags_softmode & MF_PAX_SEGMEXEC)
++              pax_flags |= MF_PAX_SEGMEXEC;
++#endif
++
++#if defined(CONFIG_PAX_PAGEEXEC) && defined(CONFIG_PAX_SEGMEXEC)
++      if ((pax_flags & (MF_PAX_PAGEEXEC | MF_PAX_SEGMEXEC)) == (MF_PAX_PAGEEXEC | MF_PAX_SEGMEXEC)) {
++              if ((__supported_pte_mask & _PAGE_NX))
++                      pax_flags &= ~MF_PAX_SEGMEXEC;
 +              else
++                      pax_flags &= ~MF_PAX_PAGEEXEC;
++      }
 +#endif
-+                      pax_flags = pax_parse_hardmode(&phdr);
++
++#ifdef CONFIG_PAX_EMUTRAMP
++      if (pax_flags_softmode & MF_PAX_EMUTRAMP)
++              pax_flags |= MF_PAX_EMUTRAMP;
++#endif
++
++#ifdef CONFIG_PAX_MPROTECT
++      if (pax_flags_softmode & MF_PAX_MPROTECT)
++              pax_flags |= MF_PAX_MPROTECT;
++#endif
++
++#if defined(CONFIG_PAX_RANDMMAP) || defined(CONFIG_PAX_RANDUSTACK)
++      if (randomize_va_space && (pax_flags_softmode & MF_PAX_RANDMMAP))
++              pax_flags |= MF_PAX_RANDMMAP;
++#endif
++
++      return pax_flags;
++}
++
++static unsigned long pax_parse_xattr_pax_hardmode(unsigned long pax_flags_hardmode)
++{
++      unsigned long pax_flags = 0UL;
++
++#ifdef CONFIG_PAX_PAGEEXEC
++      if (!(pax_flags_hardmode & MF_PAX_PAGEEXEC))
++              pax_flags |= MF_PAX_PAGEEXEC;
++#endif
++
++#ifdef CONFIG_PAX_SEGMEXEC
++      if (!(pax_flags_hardmode & MF_PAX_SEGMEXEC))
++              pax_flags |= MF_PAX_SEGMEXEC;
++#endif
++
++#if defined(CONFIG_PAX_PAGEEXEC) && defined(CONFIG_PAX_SEGMEXEC)
++      if ((pax_flags & (MF_PAX_PAGEEXEC | MF_PAX_SEGMEXEC)) == (MF_PAX_PAGEEXEC | MF_PAX_SEGMEXEC)) {
++              if ((__supported_pte_mask & _PAGE_NX))
++                      pax_flags &= ~MF_PAX_SEGMEXEC;
++              else
++                      pax_flags &= ~MF_PAX_PAGEEXEC;
 +      }
 +#endif
 +
++#ifdef CONFIG_PAX_EMUTRAMP
++      if (!(pax_flags_hardmode & MF_PAX_EMUTRAMP))
++              pax_flags |= MF_PAX_EMUTRAMP;
++#endif
++
++#ifdef CONFIG_PAX_MPROTECT
++      if (!(pax_flags_hardmode & MF_PAX_MPROTECT))
++              pax_flags |= MF_PAX_MPROTECT;
++#endif
++
++#if defined(CONFIG_PAX_RANDMMAP) || defined(CONFIG_PAX_RANDUSTACK)
++      if (randomize_va_space && !(pax_flags_hardmode & MF_PAX_RANDMMAP))
++              pax_flags |= MF_PAX_RANDMMAP;
++#endif
++
++      return pax_flags;
++}
++#endif
++
++static unsigned long pax_parse_xattr_pax(struct file * const file)
++{
++
++#ifdef CONFIG_PAX_XATTR_PAX_FLAGS
++      ssize_t xattr_size, i;
++      unsigned char xattr_value[5];
++      unsigned long pax_flags_hardmode = 0UL, pax_flags_softmode = 0UL;
++
++      xattr_size = vfs_getxattr(file->f_path.dentry, XATTR_NAME_PAX_FLAGS, xattr_value, sizeof xattr_value);
++      if (xattr_size <= 0)
++              return ~0UL;
++
++      for (i = 0; i < xattr_size; i++)
++              switch (xattr_value[i]) {
++              default:
++                      return ~0UL;
++
++#define parse_flag(option1, option2, flag)                    \
++              case option1:                                   \
++                      pax_flags_hardmode |= MF_PAX_##flag;    \
++                      break;                                  \
++              case option2:                                   \
++                      pax_flags_softmode |= MF_PAX_##flag;    \
++                      break;
++
++              parse_flag('p', 'P', PAGEEXEC);
++              parse_flag('e', 'E', EMUTRAMP);
++              parse_flag('m', 'M', MPROTECT);
++              parse_flag('r', 'R', RANDMMAP);
++              parse_flag('s', 'S', SEGMEXEC);
++
++#undef parse_flag
++              }
++
++      if (pax_flags_hardmode & pax_flags_softmode)
++              return ~0UL;
++
++#ifdef CONFIG_PAX_SOFTMODE
++      if (pax_softmode)
++              return pax_parse_xattr_pax_softmode(pax_flags_softmode);
++      else
++#endif
++
++              return pax_parse_xattr_pax_hardmode(pax_flags_hardmode);
++#else
++      return ~0UL;
++#endif
++
++}
++
++static long pax_parse_pax_flags(const struct elfhdr * const elf_ex, const struct elf_phdr * const elf_phdata, struct file * const file)
++{
++      unsigned long pax_flags, pt_pax_flags, xattr_pax_flags;
++
++      pax_flags = pax_parse_ei_pax(elf_ex);
++      pt_pax_flags = pax_parse_pt_pax(elf_ex, elf_phdata);
++      xattr_pax_flags = pax_parse_xattr_pax(file);
++
++      if (pt_pax_flags == ~0UL)
++              pt_pax_flags = xattr_pax_flags;
++      else if (xattr_pax_flags == ~0UL)
++              xattr_pax_flags = pt_pax_flags;
++      if (pt_pax_flags != xattr_pax_flags)
++              return -EINVAL;
++      if (pt_pax_flags != ~0UL)
++              pax_flags = pt_pax_flags;
++
 +      if (0 > pax_check_flags(&pax_flags))
 +              return -EINVAL;
 +
@@ -42179,7 +42627,7 @@ index 21ac5ee..171b1d0 100644
  /*
   * These are the functions used to load ELF style executables and shared
   * libraries.  There is no binary dependent code anywhere else.
-@@ -544,6 +756,11 @@ static unsigned long randomize_stack_top(unsigned long stack_top)
+@@ -544,6 +913,11 @@ static unsigned long randomize_stack_top(unsigned long stack_top)
  {
        unsigned int random_variable = 0;
  
@@ -42191,7 +42639,7 @@ index 21ac5ee..171b1d0 100644
        if ((current->flags & PF_RANDOMIZE) &&
                !(current->personality & ADDR_NO_RANDOMIZE)) {
                random_variable = get_random_int() & STACK_RND_MASK;
-@@ -562,7 +779,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -562,7 +936,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
        unsigned long load_addr = 0, load_bias = 0;
        int load_addr_set = 0;
        char * elf_interpreter = NULL;
@@ -42200,7 +42648,7 @@ index 21ac5ee..171b1d0 100644
        struct elf_phdr *elf_ppnt, *elf_phdata;
        unsigned long elf_bss, elf_brk;
        int retval, i;
-@@ -572,11 +789,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -572,11 +946,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
        unsigned long start_code, end_code, start_data, end_data;
        unsigned long reloc_func_desc __maybe_unused = 0;
        int executable_stack = EXSTACK_DEFAULT;
@@ -42213,7 +42661,7 @@ index 21ac5ee..171b1d0 100644
  
        loc = kmalloc(sizeof(*loc), GFP_KERNEL);
        if (!loc) {
-@@ -713,11 +930,81 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -713,11 +1087,81 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
  
        /* OK, This is the point of no return */
        current->flags &= ~PF_FORKNOEXEC;
@@ -42238,8 +42686,8 @@ index 21ac5ee..171b1d0 100644
 +
 +      current->mm->def_flags = 0;
 +
-+#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS)
-+      if (0 > pax_parse_elf_flags(&loc->elf_ex, elf_phdata)) {
++#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS) || defined(CONFIG_PAX_XATTR_PAX_FLAGS)
++      if (0 > pax_parse_pax_flags(&loc->elf_ex, elf_phdata, bprm->file)) {
 +              send_sig(SIGKILL, current, 0);
 +              goto out_free_dentry;
 +      }
@@ -42296,7 +42744,7 @@ index 21ac5ee..171b1d0 100644
        if (elf_read_implies_exec(loc->elf_ex, executable_stack))
                current->personality |= READ_IMPLIES_EXEC;
  
-@@ -808,6 +1095,20 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -808,6 +1252,20 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
  #else
                        load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr);
  #endif
@@ -42317,7 +42765,7 @@ index 21ac5ee..171b1d0 100644
                }
  
                error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt,
-@@ -840,9 +1141,9 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -840,9 +1298,9 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
                 * allowed task size. Note that p_filesz must always be
                 * <= p_memsz so it is only necessary to check p_memsz.
                 */
@@ -42330,19 +42778,19 @@ index 21ac5ee..171b1d0 100644
                        /* set_brk can never work. Avoid overflows. */
                        send_sig(SIGKILL, current, 0);
                        retval = -EINVAL;
-@@ -870,6 +1171,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -870,6 +1328,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
        start_data += load_bias;
        end_data += load_bias;
  
 +#ifdef CONFIG_PAX_RANDMMAP
 +      if (current->mm->pax_flags & MF_PAX_RANDMMAP)
-+              elf_brk += PAGE_SIZE + ((pax_get_random_long() & ~PAGE_MASK) << 4);
++              elf_brk += PAGE_SIZE + ((pax_get_random_long() & ((1UL << 22) - 1UL)) << 4);
 +#endif
 +
        /* Calling set_brk effectively mmaps the pages that we need
         * for the bss and break sections.  We must do this before
         * mapping in the interpreter, to make sure it doesn't wind
-@@ -881,9 +1187,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
+@@ -881,9 +1344,11 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
                goto out_free_dentry;
        }
        if (likely(elf_bss != elf_brk) && unlikely(padzero(elf_bss))) {
@@ -42357,7 +42805,7 @@ index 21ac5ee..171b1d0 100644
        }
  
        if (elf_interpreter) {
-@@ -1098,7 +1406,7 @@ out:
+@@ -1098,7 +1563,7 @@ out:
   * Decide what to dump of a segment, part, all or none.
   */
  static unsigned long vma_dump_size(struct vm_area_struct *vma,
@@ -42366,7 +42814,7 @@ index 21ac5ee..171b1d0 100644
  {
  #define FILTER(type)  (mm_flags & (1UL << MMF_DUMP_##type))
  
-@@ -1132,7 +1440,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma,
+@@ -1132,7 +1597,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma,
        if (vma->vm_file == NULL)
                return 0;
  
@@ -42375,7 +42823,7 @@ index 21ac5ee..171b1d0 100644
                goto whole;
  
        /*
-@@ -1354,9 +1662,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm)
+@@ -1354,9 +1819,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm)
  {
        elf_addr_t *auxv = (elf_addr_t *) mm->saved_auxv;
        int i = 0;
@@ -42387,7 +42835,7 @@ index 21ac5ee..171b1d0 100644
        fill_note(note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv);
  }
  
-@@ -1862,14 +2170,14 @@ static void fill_extnum_info(struct elfhdr *elf, struct elf_shdr *shdr4extnum,
+@@ -1862,14 +2327,14 @@ static void fill_extnum_info(struct elfhdr *elf, struct elf_shdr *shdr4extnum,
  }
  
  static size_t elf_core_vma_data_size(struct vm_area_struct *gate_vma,
@@ -42404,7 +42852,7 @@ index 21ac5ee..171b1d0 100644
        return size;
  }
  
-@@ -1963,7 +2271,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -1963,7 +2428,7 @@ static int elf_core_dump(struct coredump_params *cprm)
  
        dataoff = offset = roundup(offset, ELF_EXEC_PAGESIZE);
  
@@ -42413,7 +42861,7 @@ index 21ac5ee..171b1d0 100644
        offset += elf_core_extra_data_size();
        e_shoff = offset;
  
-@@ -1977,10 +2285,12 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -1977,10 +2442,12 @@ static int elf_core_dump(struct coredump_params *cprm)
        offset = dataoff;
  
        size += sizeof(*elf);
@@ -42426,7 +42874,7 @@ index 21ac5ee..171b1d0 100644
        if (size > cprm->limit
            || !dump_write(cprm->file, phdr4note, sizeof(*phdr4note)))
                goto end_coredump;
-@@ -1994,7 +2304,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -1994,7 +2461,7 @@ static int elf_core_dump(struct coredump_params *cprm)
                phdr.p_offset = offset;
                phdr.p_vaddr = vma->vm_start;
                phdr.p_paddr = 0;
@@ -42435,7 +42883,7 @@ index 21ac5ee..171b1d0 100644
                phdr.p_memsz = vma->vm_end - vma->vm_start;
                offset += phdr.p_filesz;
                phdr.p_flags = vma->vm_flags & VM_READ ? PF_R : 0;
-@@ -2005,6 +2315,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2005,6 +2472,7 @@ static int elf_core_dump(struct coredump_params *cprm)
                phdr.p_align = ELF_EXEC_PAGESIZE;
  
                size += sizeof(phdr);
@@ -42443,7 +42891,7 @@ index 21ac5ee..171b1d0 100644
                if (size > cprm->limit
                    || !dump_write(cprm->file, &phdr, sizeof(phdr)))
                        goto end_coredump;
-@@ -2029,7 +2340,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2029,7 +2497,7 @@ static int elf_core_dump(struct coredump_params *cprm)
                unsigned long addr;
                unsigned long end;
  
@@ -42452,7 +42900,7 @@ index 21ac5ee..171b1d0 100644
  
                for (addr = vma->vm_start; addr < end; addr += PAGE_SIZE) {
                        struct page *page;
-@@ -2038,6 +2349,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2038,6 +2506,7 @@ static int elf_core_dump(struct coredump_params *cprm)
                        page = get_dump_page(addr);
                        if (page) {
                                void *kaddr = kmap(page);
@@ -42460,7 +42908,7 @@ index 21ac5ee..171b1d0 100644
                                stop = ((size += PAGE_SIZE) > cprm->limit) ||
                                        !dump_write(cprm->file, kaddr,
                                                    PAGE_SIZE);
-@@ -2055,6 +2367,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2055,6 +2524,7 @@ static int elf_core_dump(struct coredump_params *cprm)
  
        if (e_phnum == PN_XNUM) {
                size += sizeof(*shdr4extnum);
@@ -42468,7 +42916,7 @@ index 21ac5ee..171b1d0 100644
                if (size > cprm->limit
                    || !dump_write(cprm->file, shdr4extnum,
                                   sizeof(*shdr4extnum)))
-@@ -2075,6 +2388,97 @@ out:
+@@ -2075,6 +2545,97 @@ out:
  
  #endif                /* CONFIG_ELF_CORE */
  
@@ -42603,7 +43051,7 @@ index 1bffbe0..c8c283e 100644
                        goto err;
                }
 diff --git a/fs/bio.c b/fs/bio.c
-index 9bfade8..782f3b9 100644
+index b1fe82c..84da0a9 100644
 --- a/fs/bio.c
 +++ b/fs/bio.c
 @@ -1233,7 +1233,7 @@ static void bio_copy_kern_endio(struct bio *bio, int err)
@@ -42616,7 +43064,7 @@ index 9bfade8..782f3b9 100644
        __bio_for_each_segment(bvec, bio, i, 0) {
                char *addr = page_address(bvec->bv_page);
 diff --git a/fs/block_dev.c b/fs/block_dev.c
-index 1c44b8d..e2507b4 100644
+index abe9b48..5df59e8 100644
 --- a/fs/block_dev.c
 +++ b/fs/block_dev.c
 @@ -681,7 +681,7 @@ static bool bd_may_claim(struct block_device *bdev, struct block_device *whole,
@@ -42629,7 +43077,7 @@ index 1c44b8d..e2507b4 100644
        else if (whole->bd_holder != NULL)
                return false;    /* is a partition of a held device */
 diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
-index 011cab3..9ace713 100644
+index dede441..f2a2507 100644
 --- a/fs/btrfs/ctree.c
 +++ b/fs/btrfs/ctree.c
 @@ -488,9 +488,12 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,
@@ -42649,10 +43097,10 @@ index 011cab3..9ace713 100644
  
                WARN_ON(trans->transid != btrfs_header_generation(parent));
 diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
-index b2d004a..6bb543d 100644
+index fd1a06d..6e9033d 100644
 --- a/fs/btrfs/inode.c
 +++ b/fs/btrfs/inode.c
-@@ -6922,7 +6922,7 @@ fail:
+@@ -6895,7 +6895,7 @@ fail:
        return -ENOMEM;
  }
  
@@ -42661,7 +43109,7 @@ index b2d004a..6bb543d 100644
                         struct dentry *dentry, struct kstat *stat)
  {
        struct inode *inode = dentry->d_inode;
-@@ -6934,6 +6934,14 @@ static int btrfs_getattr(struct vfsmount *mnt,
+@@ -6909,6 +6909,14 @@ static int btrfs_getattr(struct vfsmount *mnt,
        return 0;
  }
  
@@ -42677,10 +43125,10 @@ index b2d004a..6bb543d 100644
   * If a file is moved, it will inherit the cow and compression flags of the new
   * directory.
 diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
-index dae5dfe..6aa01b1 100644
+index c04f02c..f5c9e2e 100644
 --- a/fs/btrfs/ioctl.c
 +++ b/fs/btrfs/ioctl.c
-@@ -2704,9 +2704,12 @@ long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
+@@ -2733,9 +2733,12 @@ long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
        for (i = 0; i < num_types; i++) {
                struct btrfs_space_info *tmp;
  
@@ -42693,7 +43141,7 @@ index dae5dfe..6aa01b1 100644
                info = NULL;
                rcu_read_lock();
                list_for_each_entry_rcu(tmp, &root->fs_info->space_info,
-@@ -2728,15 +2731,12 @@ long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
+@@ -2757,15 +2760,12 @@ long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
                                memcpy(dest, &space, sizeof(space));
                                dest++;
                                space_args.total_spaces++;
@@ -42711,10 +43159,10 @@ index dae5dfe..6aa01b1 100644
  
        if (copy_to_user(user_dest, dest_orig, alloc_size))
 diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
-index 59bb176..be9977d 100644
+index cfb5543..1ae7347 100644
 --- a/fs/btrfs/relocation.c
 +++ b/fs/btrfs/relocation.c
-@@ -1242,7 +1242,7 @@ static int __update_reloc_root(struct btrfs_root *root, int del)
+@@ -1244,7 +1244,7 @@ static int __update_reloc_root(struct btrfs_root *root, int del)
        }
        spin_unlock(&rc->reloc_root_tree.lock);
  
@@ -42878,7 +43326,7 @@ index 0e3c092..818480e 100644
                        kunmap(page);
                        if (ret != len)
 diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
-index 382abc9..bd89646 100644
+index 9895400..78a67e7 100644
 --- a/fs/ceph/dir.c
 +++ b/fs/ceph/dir.c
 @@ -244,7 +244,7 @@ static int ceph_readdir(struct file *filp, void *dirent, filldir_t filldir)
@@ -42890,8 +43338,31 @@ index 382abc9..bd89646 100644
        int err;
        u32 ftype;
        struct ceph_mds_reply_info_parsed *rinfo;
+@@ -598,7 +598,7 @@ static struct dentry *ceph_lookup(struct inode *dir, struct dentry *dentry,
+       if (nd &&
+           (nd->flags & LOOKUP_OPEN) &&
+           !(nd->intent.open.flags & O_CREAT)) {
+-              int mode = nd->intent.open.create_mode & ~current->fs->umask;
++              int mode = nd->intent.open.create_mode & ~current_umask();
+               return ceph_lookup_open(dir, dentry, nd, mode, 1);
+       }
+diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
+index cfd1ce3..6b13a74 100644
+--- a/fs/cifs/asn1.c
++++ b/fs/cifs/asn1.c
+@@ -416,6 +416,9 @@ asn1_subid_decode(struct asn1_ctx *ctx, unsigned long *subid)
+ static int
+ asn1_oid_decode(struct asn1_ctx *ctx,
++              unsigned char *eoc, unsigned long **oid, unsigned int *len) __size_overflow(2);
++static int
++asn1_oid_decode(struct asn1_ctx *ctx,
+               unsigned char *eoc, unsigned long **oid, unsigned int *len)
+ {
+       unsigned long subid;
 diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
-index 6d40656..bc1f825 100644
+index 84e8c07..6170d31 100644
 --- a/fs/cifs/cifs_debug.c
 +++ b/fs/cifs/cifs_debug.c
 @@ -265,8 +265,8 @@ static ssize_t cifs_stats_proc_write(struct file *file,
@@ -43024,10 +43495,10 @@ index 6d40656..bc1f825 100644
                }
        }
 diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
-index 54b8f1e..f6a4c00 100644
+index 8f1fe32..38f9e27 100644
 --- a/fs/cifs/cifsfs.c
 +++ b/fs/cifs/cifsfs.c
-@@ -981,7 +981,7 @@ cifs_init_request_bufs(void)
+@@ -989,7 +989,7 @@ cifs_init_request_bufs(void)
        cifs_req_cachep = kmem_cache_create("cifs_request",
                                            CIFSMaxBufSize +
                                            MAX_CIFS_HDR_SIZE, 0,
@@ -43036,7 +43507,7 @@ index 54b8f1e..f6a4c00 100644
        if (cifs_req_cachep == NULL)
                return -ENOMEM;
  
-@@ -1008,7 +1008,7 @@ cifs_init_request_bufs(void)
+@@ -1016,7 +1016,7 @@ cifs_init_request_bufs(void)
        efficient to alloc 1 per page off the slab compared to 17K (5page)
        alloc of large cifs buffers even when page debugging is on */
        cifs_sm_req_cachep = kmem_cache_create("cifs_small_rq",
@@ -43045,7 +43516,7 @@ index 54b8f1e..f6a4c00 100644
                        NULL);
        if (cifs_sm_req_cachep == NULL) {
                mempool_destroy(cifs_req_poolp);
-@@ -1093,8 +1093,8 @@ init_cifs(void)
+@@ -1101,8 +1101,8 @@ init_cifs(void)
        atomic_set(&bufAllocCount, 0);
        atomic_set(&smBufAllocCount, 0);
  #ifdef CONFIG_CIFS_STATS2
@@ -43057,10 +43528,10 @@ index 54b8f1e..f6a4c00 100644
  
        atomic_set(&midCount, 0);
 diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
-index 95dad9d..fe7af1a 100644
+index 8238aa1..0347196 100644
 --- a/fs/cifs/cifsglob.h
 +++ b/fs/cifs/cifsglob.h
-@@ -381,28 +381,28 @@ struct cifs_tcon {
+@@ -392,28 +392,28 @@ struct cifs_tcon {
        __u16 Flags;            /* optional support bits */
        enum statusEnum tidStatus;
  #ifdef CONFIG_CIFS_STATS
@@ -43111,7 +43582,7 @@ index 95dad9d..fe7af1a 100644
  #ifdef CONFIG_CIFS_STATS2
        unsigned long long time_writes;
        unsigned long long time_reads;
-@@ -613,7 +613,7 @@ convert_delimiter(char *path, char delim)
+@@ -628,7 +628,7 @@ convert_delimiter(char *path, char delim)
  }
  
  #ifdef CONFIG_CIFS_STATS
@@ -43120,7 +43591,7 @@ index 95dad9d..fe7af1a 100644
  
  static inline void cifs_stats_bytes_written(struct cifs_tcon *tcon,
                                            unsigned int bytes)
-@@ -953,8 +953,8 @@ GLOBAL_EXTERN atomic_t tconInfoReconnectCount;
+@@ -985,8 +985,8 @@ GLOBAL_EXTERN atomic_t tconInfoReconnectCount;
  /* Various Debug counters */
  GLOBAL_EXTERN atomic_t bufAllocCount;    /* current number allocated  */
  #ifdef CONFIG_CIFS_STATS2
@@ -43132,10 +43603,10 @@ index 95dad9d..fe7af1a 100644
  GLOBAL_EXTERN atomic_t smBufAllocCount;
  GLOBAL_EXTERN atomic_t midCount;
 diff --git a/fs/cifs/link.c b/fs/cifs/link.c
-index db3f18c..1f5955e 100644
+index 6b0e064..94e6c3c 100644
 --- a/fs/cifs/link.c
 +++ b/fs/cifs/link.c
-@@ -593,7 +593,7 @@ symlink_exit:
+@@ -600,7 +600,7 @@ symlink_exit:
  
  void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie)
  {
@@ -43145,7 +43616,7 @@ index db3f18c..1f5955e 100644
                kfree(p);
  }
 diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c
-index 7c16933..c8212b5 100644
+index 703ef5c..2a44ed5 100644
 --- a/fs/cifs/misc.c
 +++ b/fs/cifs/misc.c
 @@ -156,7 +156,7 @@ cifs_buf_get(void)
@@ -43215,10 +43686,10 @@ index 6901578..d402eb5 100644
  
        return hit;
 diff --git a/fs/compat.c b/fs/compat.c
-index 58b1da4..afcd9b8 100644
+index c987875..08771ca 100644
 --- a/fs/compat.c
 +++ b/fs/compat.c
-@@ -133,8 +133,8 @@ asmlinkage long compat_sys_utimes(const char __user *filename, struct compat_tim
+@@ -132,8 +132,8 @@ asmlinkage long compat_sys_utimes(const char __user *filename, struct compat_tim
  static int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf)
  {
        compat_ino_t ino = stat->ino;
@@ -43229,7 +43700,7 @@ index 58b1da4..afcd9b8 100644
        int err;
  
        SET_UID(uid, stat->uid);
-@@ -508,7 +508,7 @@ compat_sys_io_setup(unsigned nr_reqs, u32 __user *ctx32p)
+@@ -504,7 +504,7 @@ compat_sys_io_setup(unsigned nr_reqs, u32 __user *ctx32p)
  
        set_fs(KERNEL_DS);
        /* The __user pointer cast is valid because of the set_fs() */
@@ -43238,7 +43709,7 @@ index 58b1da4..afcd9b8 100644
        set_fs(oldfs);
        /* truncating is ok because it's a user address */
        if (!ret)
-@@ -566,7 +566,7 @@ ssize_t compat_rw_copy_check_uvector(int type,
+@@ -562,7 +562,7 @@ ssize_t compat_rw_copy_check_uvector(int type,
                goto out;
  
        ret = -EINVAL;
@@ -43247,7 +43718,7 @@ index 58b1da4..afcd9b8 100644
                goto out;
        if (nr_segs > fast_segs) {
                ret = -ENOMEM;
-@@ -848,6 +848,7 @@ struct compat_old_linux_dirent {
+@@ -845,6 +845,7 @@ struct compat_old_linux_dirent {
  
  struct compat_readdir_callback {
        struct compat_old_linux_dirent __user *dirent;
@@ -43255,7 +43726,7 @@ index 58b1da4..afcd9b8 100644
        int result;
  };
  
-@@ -865,6 +866,10 @@ static int compat_fillonedir(void *__buf, const char *name, int namlen,
+@@ -862,6 +863,10 @@ static int compat_fillonedir(void *__buf, const char *name, int namlen,
                buf->result = -EOVERFLOW;
                return -EOVERFLOW;
        }
@@ -43266,7 +43737,7 @@ index 58b1da4..afcd9b8 100644
        buf->result++;
        dirent = buf->dirent;
        if (!access_ok(VERIFY_WRITE, dirent,
-@@ -897,6 +902,7 @@ asmlinkage long compat_sys_old_readdir(unsigned int fd,
+@@ -894,6 +899,7 @@ asmlinkage long compat_sys_old_readdir(unsigned int fd,
  
        buf.result = 0;
        buf.dirent = dirent;
@@ -43274,7 +43745,7 @@ index 58b1da4..afcd9b8 100644
  
        error = vfs_readdir(file, compat_fillonedir, &buf);
        if (buf.result)
-@@ -917,6 +923,7 @@ struct compat_linux_dirent {
+@@ -914,6 +920,7 @@ struct compat_linux_dirent {
  struct compat_getdents_callback {
        struct compat_linux_dirent __user *current_dir;
        struct compat_linux_dirent __user *previous;
@@ -43282,7 +43753,7 @@ index 58b1da4..afcd9b8 100644
        int count;
        int error;
  };
-@@ -938,6 +945,10 @@ static int compat_filldir(void *__buf, const char *name, int namlen,
+@@ -935,6 +942,10 @@ static int compat_filldir(void *__buf, const char *name, int namlen,
                buf->error = -EOVERFLOW;
                return -EOVERFLOW;
        }
@@ -43293,7 +43764,7 @@ index 58b1da4..afcd9b8 100644
        dirent = buf->previous;
        if (dirent) {
                if (__put_user(offset, &dirent->d_off))
-@@ -985,6 +996,7 @@ asmlinkage long compat_sys_getdents(unsigned int fd,
+@@ -982,6 +993,7 @@ asmlinkage long compat_sys_getdents(unsigned int fd,
        buf.previous = NULL;
        buf.count = count;
        buf.error = 0;
@@ -43301,7 +43772,7 @@ index 58b1da4..afcd9b8 100644
  
        error = vfs_readdir(file, compat_filldir, &buf);
        if (error >= 0)
-@@ -1006,6 +1018,7 @@ out:
+@@ -1003,6 +1015,7 @@ out:
  struct compat_getdents_callback64 {
        struct linux_dirent64 __user *current_dir;
        struct linux_dirent64 __user *previous;
@@ -43309,7 +43780,7 @@ index 58b1da4..afcd9b8 100644
        int count;
        int error;
  };
-@@ -1022,6 +1035,10 @@ static int compat_filldir64(void * __buf, const char * name, int namlen, loff_t
+@@ -1019,6 +1032,10 @@ static int compat_filldir64(void * __buf, const char * name, int namlen, loff_t
        buf->error = -EINVAL;   /* only used if we fail.. */
        if (reclen > buf->count)
                return -EINVAL;
@@ -43320,7 +43791,7 @@ index 58b1da4..afcd9b8 100644
        dirent = buf->previous;
  
        if (dirent) {
-@@ -1073,13 +1090,14 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
+@@ -1070,13 +1087,14 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
        buf.previous = NULL;
        buf.count = count;
        buf.error = 0;
@@ -43336,15 +43807,6 @@ index 58b1da4..afcd9b8 100644
                if (__put_user_unaligned(d_off, &lastdirent->d_off))
                        error = -EFAULT;
                else
-@@ -1446,6 +1464,8 @@ int compat_core_sys_select(int n, compat_ulong_t __user *inp,
-       struct fdtable *fdt;
-       long stack_fds[SELECT_STACK_ALLOC/sizeof(long)];
-+      pax_track_stack();
-+
-       if (n < 0)
-               goto out_nofds;
 diff --git a/fs/compat_binfmt_elf.c b/fs/compat_binfmt_elf.c
 index 112e45a..b59845b 100644
 --- a/fs/compat_binfmt_elf.c
@@ -43434,10 +43896,10 @@ index 9a37a9b..35792b6 100644
                                /*
                                 * We'll have a dentry and an inode for
 diff --git a/fs/dcache.c b/fs/dcache.c
-index a88948b..1e32160 100644
+index f7908ae..920a680 100644
 --- a/fs/dcache.c
 +++ b/fs/dcache.c
-@@ -2998,7 +2998,7 @@ void __init vfs_caches_init(unsigned long mempages)
+@@ -3042,7 +3042,7 @@ void __init vfs_caches_init(unsigned long mempages)
        mempages -= reserve;
  
        names_cachep = kmem_cache_create("names_cache", PATH_MAX, 0,
@@ -43446,8 +43908,24 @@ index a88948b..1e32160 100644
  
        dcache_init();
        inode_init();
+diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
+index f3a257d..715ac0f 100644
+--- a/fs/debugfs/inode.c
++++ b/fs/debugfs/inode.c
+@@ -261,7 +261,11 @@ EXPORT_SYMBOL_GPL(debugfs_create_file);
+ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent)
+ {
+       return debugfs_create_file(name, 
++#ifdef CONFIG_GRKERNSEC_SYSFS_RESTRICT
++                                 S_IFDIR | S_IRWXU,
++#else
+                                  S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO,
++#endif
+                                  parent, NULL, NULL);
+ }
+ EXPORT_SYMBOL_GPL(debugfs_create_dir);
 diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
-index 528da01..bd8c23d 100644
+index af11098..81e3bbe 100644
 --- a/fs/ecryptfs/inode.c
 +++ b/fs/ecryptfs/inode.c
 @@ -691,7 +691,7 @@ static int ecryptfs_readlink_lower(struct dentry *dentry, char **buf,
@@ -43478,7 +43956,7 @@ index 528da01..bd8c23d 100644
                /* Free the char* */
                kfree(buf);
 diff --git a/fs/ecryptfs/miscdev.c b/fs/ecryptfs/miscdev.c
-index 940a82e..63af89e 100644
+index 0dc5a3d..d3cdeea 100644
 --- a/fs/ecryptfs/miscdev.c
 +++ b/fs/ecryptfs/miscdev.c
 @@ -328,7 +328,7 @@ check_list:
@@ -43491,7 +43969,7 @@ index 940a82e..63af89e 100644
                i += packet_length_size;
                if (copy_to_user(&buf[i], msg_ctx->msg, msg_ctx->msg_size))
 diff --git a/fs/ecryptfs/read_write.c b/fs/ecryptfs/read_write.c
-index 3745f7c..89cc7a3 100644
+index 608c1c3..7d040a8 100644
 --- a/fs/ecryptfs/read_write.c
 +++ b/fs/ecryptfs/read_write.c
 @@ -48,7 +48,7 @@ int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data,
@@ -43503,7 +43981,7 @@ index 3745f7c..89cc7a3 100644
        set_fs(fs_save);
        mark_inode_dirty_sync(ecryptfs_inode);
        return rc;
-@@ -235,7 +235,7 @@ int ecryptfs_read_lower(char *data, loff_t offset, size_t size,
+@@ -244,7 +244,7 @@ int ecryptfs_read_lower(char *data, loff_t offset, size_t size,
                return -EIO;
        fs_save = get_fs();
        set_fs(get_ds());
@@ -43513,10 +43991,10 @@ index 3745f7c..89cc7a3 100644
        return rc;
  }
 diff --git a/fs/exec.c b/fs/exec.c
-index 25dcbe5..4ffaa78 100644
+index 3625464..ff895b9 100644
 --- a/fs/exec.c
 +++ b/fs/exec.c
-@@ -55,12 +55,24 @@
+@@ -55,12 +55,28 @@
  #include <linux/pipe_fs_i.h>
  #include <linux/oom.h>
  #include <linux/compat.h>
@@ -43533,6 +44011,10 @@ index 25dcbe5..4ffaa78 100644
  #include <asm/tlb.h>
  #include "internal.h"
  
++#ifndef CONFIG_PAX_HAVE_ACL_FLAGS
++void __weak pax_set_initial_flags(struct linux_binprm *bprm) {}
++#endif
++
 +#ifdef CONFIG_PAX_HOOK_ACL_FLAGS
 +void (*pax_set_initial_flags_func)(struct linux_binprm *bprm);
 +EXPORT_SYMBOL(pax_set_initial_flags_func);
@@ -43541,7 +44023,7 @@ index 25dcbe5..4ffaa78 100644
  int core_uses_pid;
  char core_pattern[CORENAME_MAX_SIZE] = "core";
  unsigned int core_pipe_limit;
-@@ -70,7 +82,7 @@ struct core_name {
+@@ -70,7 +86,7 @@ struct core_name {
        char *corename;
        int used, size;
  };
@@ -43550,7 +44032,7 @@ index 25dcbe5..4ffaa78 100644
  
  /* The maximal length of core_pattern is also specified in sysctl.c */
  
-@@ -188,18 +200,10 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos,
+@@ -188,18 +204,10 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos,
                int write)
  {
        struct page *page;
@@ -43572,7 +44054,25 @@ index 25dcbe5..4ffaa78 100644
                return NULL;
  
        if (write) {
-@@ -274,6 +278,11 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
+@@ -215,6 +223,17 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos,
+               if (size <= ARG_MAX)
+                       return page;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++              // only allow 512KB for argv+env on suid/sgid binaries
++              // to prevent easy ASLR exhaustion
++              if (((bprm->cred->euid != current_euid()) ||
++                   (bprm->cred->egid != current_egid())) &&
++                  (size > (512 * 1024))) {
++                      put_page(page);
++                      return NULL;
++              }
++#endif
++
+               /*
+                * Limit to 1/4-th the stack size for the argv+env strings.
+                * This ensures that:
+@@ -274,6 +293,11 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
        vma->vm_end = STACK_TOP_MAX;
        vma->vm_start = vma->vm_end - PAGE_SIZE;
        vma->vm_flags = VM_STACK_FLAGS | VM_STACK_INCOMPLETE_SETUP;
@@ -43584,20 +44084,20 @@ index 25dcbe5..4ffaa78 100644
        vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
        INIT_LIST_HEAD(&vma->anon_vma_chain);
  
-@@ -288,6 +297,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
+@@ -288,6 +312,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
        mm->stack_vm = mm->total_vm = 1;
        up_write(&mm->mmap_sem);
        bprm->p = vma->vm_end - sizeof(void *);
 +
 +#ifdef CONFIG_PAX_RANDUSTACK
 +      if (randomize_va_space)
-+              bprm->p ^= (pax_get_random_long() & ~15) & ~PAGE_MASK;
++              bprm->p ^= random32() & ~PAGE_MASK;
 +#endif
 +
        return 0;
  err:
        up_write(&mm->mmap_sem);
-@@ -396,19 +411,7 @@ err:
+@@ -396,19 +426,7 @@ err:
        return err;
  }
  
@@ -43618,7 +44118,7 @@ index 25dcbe5..4ffaa78 100644
  {
        const char __user *native;
  
-@@ -417,14 +420,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr)
+@@ -417,14 +435,14 @@ static const char __user *get_user_arg_ptr(struct user_arg_ptr argv, int nr)
                compat_uptr_t compat;
  
                if (get_user(compat, argv.ptr.compat + nr))
@@ -43635,7 +44135,7 @@ index 25dcbe5..4ffaa78 100644
  
        return native;
  }
-@@ -443,7 +446,7 @@ static int count(struct user_arg_ptr argv, int max)
+@@ -443,7 +461,7 @@ static int count(struct user_arg_ptr argv, int max)
                        if (!p)
                                break;
  
@@ -43644,7 +44144,7 @@ index 25dcbe5..4ffaa78 100644
                                return -EFAULT;
  
                        if (i++ >= max)
-@@ -477,7 +480,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv,
+@@ -477,7 +495,7 @@ static int copy_strings(int argc, struct user_arg_ptr argv,
  
                ret = -EFAULT;
                str = get_user_arg_ptr(argv, argc);
@@ -43653,7 +44153,7 @@ index 25dcbe5..4ffaa78 100644
                        goto out;
  
                len = strnlen_user(str, MAX_ARG_STRLEN);
-@@ -559,7 +562,7 @@ int copy_strings_kernel(int argc, const char *const *__argv,
+@@ -559,7 +577,7 @@ int copy_strings_kernel(int argc, const char *const *__argv,
        int r;
        mm_segment_t oldfs = get_fs();
        struct user_arg_ptr argv = {
@@ -43662,7 +44162,7 @@ index 25dcbe5..4ffaa78 100644
        };
  
        set_fs(KERNEL_DS);
-@@ -594,7 +597,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
+@@ -594,7 +612,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
        unsigned long new_end = old_end - shift;
        struct mmu_gather tlb;
  
@@ -43672,7 +44172,7 @@ index 25dcbe5..4ffaa78 100644
  
        /*
         * ensure there are no vmas between where we want to go
-@@ -603,6 +607,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
+@@ -603,6 +622,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
        if (vma != find_vma(mm, new_start))
                return -EFAULT;
  
@@ -43683,7 +44183,7 @@ index 25dcbe5..4ffaa78 100644
        /*
         * cover the whole range: [new_start, old_end)
         */
-@@ -683,10 +691,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -683,10 +706,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
        stack_top = arch_align_stack(stack_top);
        stack_top = PAGE_ALIGN(stack_top);
  
@@ -43694,7 +44194,7 @@ index 25dcbe5..4ffaa78 100644
        stack_shift = vma->vm_end - stack_top;
  
        bprm->p -= stack_shift;
-@@ -698,8 +702,28 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -698,8 +717,28 @@ int setup_arg_pages(struct linux_binprm *bprm,
        bprm->exec -= stack_shift;
  
        down_write(&mm->mmap_sem);
@@ -43723,7 +44223,7 @@ index 25dcbe5..4ffaa78 100644
        /*
         * Adjust stack execute permissions; explicitly enable for
         * EXSTACK_ENABLE_X, disable for EXSTACK_DISABLE_X and leave alone
-@@ -718,13 +742,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -718,13 +757,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
                goto out_unlock;
        BUG_ON(prev != vma);
  
@@ -43737,7 +44237,7 @@ index 25dcbe5..4ffaa78 100644
        /* mprotect_fixup is overkill to remove the temporary stack flags */
        vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP;
  
-@@ -805,7 +822,7 @@ int kernel_read(struct file *file, loff_t offset,
+@@ -805,7 +837,7 @@ int kernel_read(struct file *file, loff_t offset,
        old_fs = get_fs();
        set_fs(get_ds());
        /* The cast to a user pointer is valid due to the set_fs() */
@@ -43746,7 +44246,68 @@ index 25dcbe5..4ffaa78 100644
        set_fs(old_fs);
        return result;
  }
-@@ -1251,7 +1268,7 @@ int check_unsafe_exec(struct linux_binprm *bprm)
+@@ -1067,6 +1099,21 @@ void set_task_comm(struct task_struct *tsk, char *buf)
+       perf_event_comm(tsk);
+ }
++static void filename_to_taskname(char *tcomm, const char *fn, unsigned int len)
++{
++      int i, ch;
++
++      /* Copies the binary name from after last slash */
++      for (i = 0; (ch = *(fn++)) != '\0';) {
++              if (ch == '/')
++                      i = 0; /* overwrite what we wrote */
++              else
++                      if (i < len - 1)
++                              tcomm[i++] = ch;
++      }
++      tcomm[i] = '\0';
++}
++
+ int flush_old_exec(struct linux_binprm * bprm)
+ {
+       int retval;
+@@ -1081,6 +1128,7 @@ int flush_old_exec(struct linux_binprm * bprm)
+       set_mm_exe_file(bprm->mm, bprm->file);
++      filename_to_taskname(bprm->tcomm, bprm->filename, sizeof(bprm->tcomm));
+       /*
+        * Release all of the old mmap stuff
+        */
+@@ -1112,10 +1160,6 @@ EXPORT_SYMBOL(would_dump);
+ void setup_new_exec(struct linux_binprm * bprm)
+ {
+-      int i, ch;
+-      const char *name;
+-      char tcomm[sizeof(current->comm)];
+-
+       arch_pick_mmap_layout(current->mm);
+       /* This is the point of no return */
+@@ -1126,18 +1170,7 @@ void setup_new_exec(struct linux_binprm * bprm)
+       else
+               set_dumpable(current->mm, suid_dumpable);
+-      name = bprm->filename;
+-
+-      /* Copies the binary name from after last slash */
+-      for (i=0; (ch = *(name++)) != '\0';) {
+-              if (ch == '/')
+-                      i = 0; /* overwrite what we wrote */
+-              else
+-                      if (i < (sizeof(tcomm) - 1))
+-                              tcomm[i++] = ch;
+-      }
+-      tcomm[i] = '\0';
+-      set_task_comm(current, tcomm);
++      set_task_comm(current, bprm->tcomm);
+       /* Set the new mm task size. We have to do that late because it may
+        * depend on TIF_32BIT which is only updated in flush_thread() on
+@@ -1247,7 +1280,7 @@ int check_unsafe_exec(struct linux_binprm *bprm)
        }
        rcu_read_unlock();
  
@@ -43755,7 +44316,36 @@ index 25dcbe5..4ffaa78 100644
                bprm->unsafe |= LSM_UNSAFE_SHARE;
        } else {
                res = -EAGAIN;
-@@ -1454,6 +1471,11 @@ static int do_execve_common(const char *filename,
+@@ -1442,6 +1475,28 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
+ EXPORT_SYMBOL(search_binary_handler);
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++static DEFINE_PER_CPU(u64, exec_counter);
++static int __init init_exec_counters(void)
++{
++      unsigned int cpu;
++
++      for_each_possible_cpu(cpu) {
++              per_cpu(exec_counter, cpu) = (u64)cpu;
++      }
++
++      return 0;
++}
++early_initcall(init_exec_counters);
++static inline void increment_exec_counter(void)
++{
++      BUILD_BUG_ON(NR_CPUS > (1 << 16));
++      current->exec_id = this_cpu_add_return(exec_counter, 1 << 16);
++}
++#else
++static inline void increment_exec_counter(void) {}
++#endif
++
+ /*
+  * sys_execve() executes a new program.
+  */
+@@ -1450,6 +1505,11 @@ static int do_execve_common(const char *filename,
                                struct user_arg_ptr envp,
                                struct pt_regs *regs)
  {
@@ -43767,7 +44357,7 @@ index 25dcbe5..4ffaa78 100644
        struct linux_binprm *bprm;
        struct file *file;
        struct files_struct *displaced;
-@@ -1461,6 +1483,8 @@ static int do_execve_common(const char *filename,
+@@ -1457,6 +1517,8 @@ static int do_execve_common(const char *filename,
        int retval;
        const struct cred *cred = current_cred();
  
@@ -43776,7 +44366,18 @@ index 25dcbe5..4ffaa78 100644
        /*
         * We move the actual failure in case of RLIMIT_NPROC excess from
         * set*uid() to execve() because too many poorly written programs
-@@ -1507,6 +1531,16 @@ static int do_execve_common(const char *filename,
+@@ -1497,12 +1559,27 @@ static int do_execve_common(const char *filename,
+       if (IS_ERR(file))
+               goto out_unmark;
++      if (gr_ptrace_readexec(file, bprm->unsafe)) {
++              retval = -EPERM;
++              goto out_file;
++      }
++
+       sched_exec();
+       bprm->file = file;
        bprm->filename = filename;
        bprm->interp = filename;
  
@@ -43793,24 +44394,10 @@ index 25dcbe5..4ffaa78 100644
        retval = bprm_mm_init(bprm);
        if (retval)
                goto out_file;
-@@ -1536,9 +1570,40 @@ static int do_execve_common(const char *filename,
+@@ -1519,24 +1596,65 @@ static int do_execve_common(const char *filename,
        if (retval < 0)
                goto out;
  
-+      if (!gr_tpe_allow(file)) {
-+              retval = -EACCES;
-+              goto out;
-+      }
-+
-+      if (gr_check_crash_exec(file)) {
-+              retval = -EACCES;
-+              goto out;
-+      }
-+
-+      gr_log_chroot_exec(file->f_dentry, file->f_vfsmnt);
-+
-+      gr_handle_exec_args(bprm, argv);
-+
 +#ifdef CONFIG_GRKERNSEC
 +      old_acl = current->acl;
 +      memcpy(old_rlim, current->signal->rlim, sizeof(old_rlim));
@@ -43818,12 +44405,50 @@ index 25dcbe5..4ffaa78 100644
 +      get_file(file);
 +      current->exec_file = file;
 +#endif
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      /* limit suid stack to 8MB
++         we saved the old limits above and will restore them if this exec fails
++      */
++      if (((bprm->cred->euid != current_euid()) || (bprm->cred->egid != current_egid())) &&
++          (old_rlim[RLIMIT_STACK].rlim_cur > (8 * 1024 * 1024)))
++              current->signal->rlim[RLIMIT_STACK].rlim_cur = 8 * 1024 * 1024;
++#endif
++
++      if (!gr_tpe_allow(file)) {
++              retval = -EACCES;
++              goto out_fail;
++      }
++
++      if (gr_check_crash_exec(file)) {
++              retval = -EACCES;
++              goto out_fail;
++      }
 +
 +      retval = gr_set_proc_label(file->f_dentry, file->f_vfsmnt,
-+                                      bprm->unsafe & LSM_UNSAFE_SHARE);
++                                      bprm->unsafe);
 +      if (retval < 0)
 +              goto out_fail;
 +
+       retval = copy_strings_kernel(1, &bprm->filename, bprm);
+       if (retval < 0)
+-              goto out;
++              goto out_fail;
+       bprm->exec = bprm->p;
+       retval = copy_strings(bprm->envc, envp, bprm);
+       if (retval < 0)
+-              goto out;
++              goto out_fail;
+       retval = copy_strings(bprm->argc, argv, bprm);
+       if (retval < 0)
+-              goto out;
++              goto out_fail;
++
++      gr_log_chroot_exec(file->f_dentry, file->f_vfsmnt);
++
++      gr_handle_exec_args(bprm, argv);
        retval = search_binary_handler(bprm,regs);
        if (retval < 0)
 -              goto out;
@@ -43834,8 +44459,12 @@ index 25dcbe5..4ffaa78 100644
 +#endif
  
        /* execve succeeded */
++
++      increment_exec_counter();
        current->fs->in_exec = 0;
-@@ -1549,6 +1614,14 @@ static int do_execve_common(const char *filename,
+       current->in_execve = 0;
+       acct_update_integrals(current);
+@@ -1545,6 +1663,14 @@ static int do_execve_common(const char *filename,
                put_files_struct(displaced);
        return retval;
  
@@ -43850,7 +44479,7 @@ index 25dcbe5..4ffaa78 100644
  out:
        if (bprm->mm) {
                acct_arg_size(bprm, 0);
-@@ -1622,7 +1695,7 @@ static int expand_corename(struct core_name *cn)
+@@ -1618,7 +1744,7 @@ static int expand_corename(struct core_name *cn)
  {
        char *old_corename = cn->corename;
  
@@ -43859,7 +44488,7 @@ index 25dcbe5..4ffaa78 100644
        cn->corename = krealloc(old_corename, cn->size, GFP_KERNEL);
  
        if (!cn->corename) {
-@@ -1719,7 +1792,7 @@ static int format_corename(struct core_name *cn, long signr)
+@@ -1715,7 +1841,7 @@ static int format_corename(struct core_name *cn, long signr)
        int pid_in_pattern = 0;
        int err = 0;
  
@@ -43868,7 +44497,7 @@ index 25dcbe5..4ffaa78 100644
        cn->corename = kmalloc(cn->size, GFP_KERNEL);
        cn->used = 0;
  
-@@ -1816,6 +1889,218 @@ out:
+@@ -1812,6 +1938,228 @@ out:
        return ispipe;
  }
  
@@ -44059,7 +44688,7 @@ index 25dcbe5..4ffaa78 100644
 +#endif
 +}
 +
-+NORET_TYPE void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type)
++__noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type)
 +{
 +      if (current->signal->curr_ip)
 +              printk(KERN_ERR "PAX: From %pI4: kernel memory %s attempt detected %s %p (%s) (%lu bytes)\n",
@@ -44083,11 +44712,21 @@ index 25dcbe5..4ffaa78 100644
 +}
 +EXPORT_SYMBOL(pax_track_stack);
 +#endif
++
++#ifdef CONFIG_PAX_SIZE_OVERFLOW
++void report_size_overflow(const char *file, unsigned int line, const char *func)
++{
++      printk(KERN_ERR "PAX: size overflow detected in function %s %s:%u\n", func, file, line);
++      dump_stack();
++      do_group_exit(SIGKILL);
++}
++EXPORT_SYMBOL(report_size_overflow);
++#endif
 +
  static int zap_process(struct task_struct *start, int exit_code)
  {
        struct task_struct *t;
-@@ -2027,17 +2312,17 @@ static void wait_for_dump_helpers(struct file *file)
+@@ -2023,17 +2371,17 @@ static void wait_for_dump_helpers(struct file *file)
        pipe = file->f_path.dentry->d_inode->i_pipe;
  
        pipe_lock(pipe);
@@ -44110,7 +44749,7 @@ index 25dcbe5..4ffaa78 100644
        pipe_unlock(pipe);
  
  }
-@@ -2098,7 +2383,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2094,7 +2442,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
        int retval = 0;
        int flag = 0;
        int ispipe;
@@ -44119,7 +44758,7 @@ index 25dcbe5..4ffaa78 100644
        struct coredump_params cprm = {
                .signr = signr,
                .regs = regs,
-@@ -2113,6 +2398,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2109,6 +2457,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
  
        audit_core_dumps(signr);
  
@@ -44129,7 +44768,7 @@ index 25dcbe5..4ffaa78 100644
        binfmt = mm->binfmt;
        if (!binfmt || !binfmt->core_dump)
                goto fail;
-@@ -2180,7 +2468,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2176,7 +2527,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
                }
                cprm.limit = RLIM_INFINITY;
  
@@ -44138,7 +44777,7 @@ index 25dcbe5..4ffaa78 100644
                if (core_pipe_limit && (core_pipe_limit < dump_count)) {
                        printk(KERN_WARNING "Pid %d(%s) over core_pipe_limit\n",
                               task_tgid_vnr(current), current->comm);
-@@ -2207,6 +2495,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -2203,6 +2554,8 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
        } else {
                struct inode *inode;
  
@@ -44147,7 +44786,7 @@ index 25dcbe5..4ffaa78 100644
                if (cprm.limit < binfmt->min_coredump)
                        goto fail_unlock;
  
-@@ -2250,7 +2540,7 @@ close_fail:
+@@ -2246,7 +2599,7 @@ close_fail:
                filp_close(cprm.file, NULL);
  fail_dropcount:
        if (ispipe)
@@ -44156,7 +44795,7 @@ index 25dcbe5..4ffaa78 100644
  fail_unlock:
        kfree(cn.corename);
  fail_corename:
-@@ -2269,7 +2559,7 @@ fail:
+@@ -2265,7 +2618,7 @@ fail:
   */
  int dump_write(struct file *file, const void *addr, int nr)
  {
@@ -44166,7 +44805,7 @@ index 25dcbe5..4ffaa78 100644
  EXPORT_SYMBOL(dump_write);
  
 diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c
-index 8f44cef..cb07120 100644
+index a8cbe1b..fed04cb 100644
 --- a/fs/ext2/balloc.c
 +++ b/fs/ext2/balloc.c
 @@ -1192,7 +1192,7 @@ static int ext2_has_free_blocks(struct ext2_sb_info *sbi)
@@ -44179,38 +44818,42 @@ index 8f44cef..cb07120 100644
                (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
                return 0;
 diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c
-index 6386d76..0a266b1 100644
+index a203892..4e64db5 100644
 --- a/fs/ext3/balloc.c
 +++ b/fs/ext3/balloc.c
-@@ -1446,7 +1446,7 @@ static int ext3_has_free_blocks(struct ext3_sb_info *sbi)
+@@ -1446,9 +1446,10 @@ static int ext3_has_free_blocks(struct ext3_sb_info *sbi, int use_reservation)
  
        free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
        root_blocks = le32_to_cpu(sbi->s_es->s_r_blocks_count);
 -      if (free_blocks < root_blocks + 1 && !capable(CAP_SYS_RESOURCE) &&
-+      if (free_blocks < root_blocks + 1 && !capable_nolog(CAP_SYS_RESOURCE) &&
-               sbi->s_resuid != current_fsuid() &&
-               (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
++      if (free_blocks < root_blocks + 1 &&
+               !use_reservation && sbi->s_resuid != current_fsuid() &&
+-              (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
++              (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid)) &&
++              !capable_nolog(CAP_SYS_RESOURCE)) {
                return 0;
+       }
+       return 1;
 diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
-index f8224ad..fbef97c 100644
+index 12ccacd..a6035fce0 100644
 --- a/fs/ext4/balloc.c
 +++ b/fs/ext4/balloc.c
-@@ -394,8 +394,8 @@ static int ext4_has_free_blocks(struct ext4_sb_info *sbi,
-       /* Hm, nope.  Are (enough) root reserved blocks available? */
+@@ -436,8 +436,8 @@ static int ext4_has_free_clusters(struct ext4_sb_info *sbi,
+       /* Hm, nope.  Are (enough) root reserved clusters available? */
        if (sbi->s_resuid == current_fsuid() ||
            ((sbi->s_resgid != 0) && in_group_p(sbi->s_resgid)) ||
 -          capable(CAP_SYS_RESOURCE) ||
 -              (flags & EXT4_MB_USE_ROOT_BLOCKS)) {
-+              (flags & EXT4_MB_USE_ROOT_BLOCKS) ||
-+              capable_nolog(CAP_SYS_RESOURCE)) {
++          (flags & EXT4_MB_USE_ROOT_BLOCKS) ||
++          capable_nolog(CAP_SYS_RESOURCE)) {
  
-               if (free_blocks >= (nblocks + dirty_blocks))
+               if (free_clusters >= (nclusters + dirty_clusters))
                        return 1;
 diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
-index 5c38120..2291d18 100644
+index 5b0e26a..0aa002d 100644
 --- a/fs/ext4/ext4.h
 +++ b/fs/ext4/ext4.h
-@@ -1180,19 +1180,19 @@ struct ext4_sb_info {
+@@ -1208,19 +1208,19 @@ struct ext4_sb_info {
        unsigned long s_mb_last_start;
  
        /* stats for buddy allocator */
@@ -44240,48 +44883,11 @@ index 5c38120..2291d18 100644
        atomic_t s_lock_busy;
  
        /* locality groups */
-diff --git a/fs/ext4/file.c b/fs/ext4/file.c
-index e4095e9..1c006c5 100644
---- a/fs/ext4/file.c
-+++ b/fs/ext4/file.c
-@@ -181,8 +181,8 @@ static int ext4_file_open(struct inode * inode, struct file * filp)
-               path.dentry = mnt->mnt_root;
-               cp = d_path(&path, buf, sizeof(buf));
-               if (!IS_ERR(cp)) {
--                      memcpy(sbi->s_es->s_last_mounted, cp,
--                             sizeof(sbi->s_es->s_last_mounted));
-+                      strlcpy(sbi->s_es->s_last_mounted, cp,
-+                              sizeof(sbi->s_es->s_last_mounted));
-                       ext4_mark_super_dirty(sb);
-               }
-       }
-diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
-index f18bfe3..43759b1 100644
---- a/fs/ext4/ioctl.c
-+++ b/fs/ext4/ioctl.c
-@@ -348,7 +348,7 @@ mext_out:
-               if (!blk_queue_discard(q))
-                       return -EOPNOTSUPP;
--              if (copy_from_user(&range, (struct fstrim_range *)arg,
-+              if (copy_from_user(&range, (struct fstrim_range __user *)arg,
-                   sizeof(range)))
-                       return -EFAULT;
-@@ -358,7 +358,7 @@ mext_out:
-               if (ret < 0)
-                       return ret;
--              if (copy_to_user((struct fstrim_range *)arg, &range,
-+              if (copy_to_user((struct fstrim_range __user *)arg, &range,
-                   sizeof(range)))
-                       return -EFAULT;
 diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
-index 17a5a57..b6be3c5 100644
+index e2d8be8..c7f0ce9 100644
 --- a/fs/ext4/mballoc.c
 +++ b/fs/ext4/mballoc.c
-@@ -1795,7 +1795,7 @@ void ext4_mb_simple_scan_group(struct ext4_allocation_context *ac,
+@@ -1794,7 +1794,7 @@ void ext4_mb_simple_scan_group(struct ext4_allocation_context *ac,
                BUG_ON(ac->ac_b_ex.fe_len != ac->ac_g_ex.fe_len);
  
                if (EXT4_SB(sb)->s_mb_stats)
@@ -44290,7 +44896,7 @@ index 17a5a57..b6be3c5 100644
  
                break;
        }
-@@ -2089,7 +2089,7 @@ repeat:
+@@ -2088,7 +2088,7 @@ repeat:
                        ac->ac_status = AC_STATUS_CONTINUE;
                        ac->ac_flags |= EXT4_MB_HINT_FIRST;
                        cr = 3;
@@ -44299,16 +44905,7 @@ index 17a5a57..b6be3c5 100644
                        goto repeat;
                }
        }
-@@ -2132,6 +2132,8 @@ static int ext4_mb_seq_groups_show(struct seq_file *seq, void *v)
-               ext4_grpblk_t counters[16];
-       } sg;
-+      pax_track_stack();
-+
-       group--;
-       if (group == 0)
-               seq_printf(seq, "#%-5s: %-5s %-5s %-5s "
-@@ -2573,25 +2575,25 @@ int ext4_mb_release(struct super_block *sb)
+@@ -2592,25 +2592,25 @@ int ext4_mb_release(struct super_block *sb)
        if (sbi->s_mb_stats) {
                ext4_msg(sb, KERN_INFO,
                       "mballoc: %u blocks %u reqs (%u success)",
@@ -44344,7 +44941,7 @@ index 17a5a57..b6be3c5 100644
        }
  
        free_percpu(sbi->s_locality_groups);
-@@ -3070,16 +3072,16 @@ static void ext4_mb_collect_stats(struct ext4_allocation_context *ac)
+@@ -3096,16 +3096,16 @@ static void ext4_mb_collect_stats(struct ext4_allocation_context *ac)
        struct ext4_sb_info *sbi = EXT4_SB(ac->ac_sb);
  
        if (sbi->s_mb_stats && ac->ac_g_ex.fe_len > 1) {
@@ -44367,16 +44964,16 @@ index 17a5a57..b6be3c5 100644
        }
  
        if (ac->ac_op == EXT4_MB_HISTORY_ALLOC)
-@@ -3477,7 +3479,7 @@ ext4_mb_new_inode_pa(struct ext4_allocation_context *ac)
+@@ -3509,7 +3509,7 @@ ext4_mb_new_inode_pa(struct ext4_allocation_context *ac)
        trace_ext4_mb_new_inode_pa(ac, pa);
  
        ext4_mb_use_inode_pa(ac, pa);
--      atomic_add(pa->pa_free, &EXT4_SB(sb)->s_mb_preallocated);
-+      atomic_add_unchecked(pa->pa_free, &EXT4_SB(sb)->s_mb_preallocated);
+-      atomic_add(pa->pa_free, &sbi->s_mb_preallocated);
++      atomic_add_unchecked(pa->pa_free, &sbi->s_mb_preallocated);
  
        ei = EXT4_I(ac->ac_inode);
        grp = ext4_get_group_info(sb, ac->ac_b_ex.fe_group);
-@@ -3537,7 +3539,7 @@ ext4_mb_new_group_pa(struct ext4_allocation_context *ac)
+@@ -3569,7 +3569,7 @@ ext4_mb_new_group_pa(struct ext4_allocation_context *ac)
        trace_ext4_mb_new_group_pa(ac, pa);
  
        ext4_mb_use_group_pa(ac, pa);
@@ -44385,7 +44982,7 @@ index 17a5a57..b6be3c5 100644
  
        grp = ext4_get_group_info(sb, ac->ac_b_ex.fe_group);
        lg = ac->ac_lg;
-@@ -3625,7 +3627,7 @@ ext4_mb_release_inode_pa(struct ext4_buddy *e4b, struct buffer_head *bitmap_bh,
+@@ -3658,7 +3658,7 @@ ext4_mb_release_inode_pa(struct ext4_buddy *e4b, struct buffer_head *bitmap_bh,
                 * from the bitmap and continue.
                 */
        }
@@ -44394,7 +44991,7 @@ index 17a5a57..b6be3c5 100644
  
        return err;
  }
-@@ -3643,7 +3645,7 @@ ext4_mb_release_group_pa(struct ext4_buddy *e4b,
+@@ -3676,7 +3676,7 @@ ext4_mb_release_group_pa(struct ext4_buddy *e4b,
        ext4_get_group_no_and_offset(sb, pa->pa_pstart, &group, &bit);
        BUG_ON(group != e4b->bd_group && pa->pa_len != 0);
        mb_free_blocks(pa->pa_inode, e4b, bit, pa->pa_len);
@@ -44557,7 +45154,7 @@ index 0845f84..7b4ebef 100644
  
        if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) {
 diff --git a/fs/fs_struct.c b/fs/fs_struct.c
-index 78b519c..212c0d0 100644
+index 78b519c..a8b4979 100644
 --- a/fs/fs_struct.c
 +++ b/fs/fs_struct.c
 @@ -4,6 +4,7 @@
@@ -44624,7 +45221,14 @@ index 78b519c..212c0d0 100644
        spin_unlock(&fs->lock);
        task_unlock(current);
  
-@@ -170,7 +178,7 @@ EXPORT_SYMBOL(current_umask);
+@@ -164,13 +172,13 @@ EXPORT_SYMBOL_GPL(unshare_fs_struct);
+ int current_umask(void)
+ {
+-      return current->fs->umask;
++      return current->fs->umask | gr_acl_umask();
+ }
+ EXPORT_SYMBOL(current_umask);
  
  /* to be mentioned only in INIT_TASK */
  struct fs_struct init_fs = {
@@ -45955,10 +46559,10 @@ index 4765190..2a067f2 100644
        seq_printf(m, "CacheOp: alo=%d luo=%d luc=%d gro=%d\n",
                   atomic_read(&fscache_n_cop_alloc_object),
 diff --git a/fs/fuse/cuse.c b/fs/fuse/cuse.c
-index b6cca47..ec782c3 100644
+index 3426521..3b75162 100644
 --- a/fs/fuse/cuse.c
 +++ b/fs/fuse/cuse.c
-@@ -586,10 +586,12 @@ static int __init cuse_init(void)
+@@ -587,10 +587,12 @@ static int __init cuse_init(void)
                INIT_LIST_HEAD(&cuse_conntbl[i]);
  
        /* inherit and extend fuse_dev_operations */
@@ -45976,7 +46580,7 @@ index b6cca47..ec782c3 100644
        cuse_class = class_create(THIS_MODULE, "cuse");
        if (IS_ERR(cuse_class))
 diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
-index 5cb8614..6865b11 100644
+index 2aaf3ea..8e50863 100644
 --- a/fs/fuse/dev.c
 +++ b/fs/fuse/dev.c
 @@ -1242,7 +1242,7 @@ static ssize_t fuse_dev_splice_read(struct file *in, loff_t *ppos,
@@ -46002,10 +46606,10 @@ index 9f63e49..d8a64c0 100644
        if (!IS_ERR(link))
                free_page((unsigned long) link);
 diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
-index 900cf98..3896726 100644
+index cfd4959..a780959 100644
 --- a/fs/gfs2/inode.c
 +++ b/fs/gfs2/inode.c
-@@ -1517,7 +1517,7 @@ out:
+@@ -1490,7 +1490,7 @@ out:
  
  static void gfs2_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
  {
@@ -46014,153 +46618,8 @@ index 900cf98..3896726 100644
        if (!IS_ERR(s))
                kfree(s);
  }
-diff --git a/fs/hfs/btree.c b/fs/hfs/btree.c
-index 3ebc437..eb23952 100644
---- a/fs/hfs/btree.c
-+++ b/fs/hfs/btree.c
-@@ -46,11 +46,27 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
-       case HFS_EXT_CNID:
-               hfs_inode_read_fork(tree->inode, mdb->drXTExtRec, mdb->drXTFlSize,
-                                   mdb->drXTFlSize, be32_to_cpu(mdb->drXTClpSiz));
-+
-+              if (HFS_I(tree->inode)->alloc_blocks >
-+                                      HFS_I(tree->inode)->first_blocks) {
-+                      printk(KERN_ERR "hfs: invalid btree extent records\n");
-+                      unlock_new_inode(tree->inode);
-+                      goto free_inode;
-+              }
-+
-               tree->inode->i_mapping->a_ops = &hfs_btree_aops;
-               break;
-       case HFS_CAT_CNID:
-               hfs_inode_read_fork(tree->inode, mdb->drCTExtRec, mdb->drCTFlSize,
-                                   mdb->drCTFlSize, be32_to_cpu(mdb->drCTClpSiz));
-+
-+              if (!HFS_I(tree->inode)->first_blocks) {
-+                      printk(KERN_ERR "hfs: invalid btree extent records "
-+                                                              "(0 size).\n");
-+                      unlock_new_inode(tree->inode);
-+                      goto free_inode;
-+              }
-+
-               tree->inode->i_mapping->a_ops = &hfs_btree_aops;
-               break;
-       default:
-@@ -59,11 +75,6 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
-       }
-       unlock_new_inode(tree->inode);
--      if (!HFS_I(tree->inode)->first_blocks) {
--              printk(KERN_ERR "hfs: invalid btree extent records (0 size).\n");
--              goto free_inode;
--      }
--
-       mapping = tree->inode->i_mapping;
-       page = read_mapping_page(mapping, 0, NULL);
-       if (IS_ERR(page))
-diff --git a/fs/hfsplus/catalog.c b/fs/hfsplus/catalog.c
-index 4dfbfec..947c9c2 100644
---- a/fs/hfsplus/catalog.c
-+++ b/fs/hfsplus/catalog.c
-@@ -179,6 +179,8 @@ int hfsplus_find_cat(struct super_block *sb, u32 cnid,
-       int err;
-       u16 type;
-+      pax_track_stack();
-+
-       hfsplus_cat_build_key(sb, fd->search_key, cnid, NULL);
-       err = hfs_brec_read(fd, &tmp, sizeof(hfsplus_cat_entry));
-       if (err)
-@@ -210,6 +212,8 @@ int hfsplus_create_cat(u32 cnid, struct inode *dir,
-       int entry_size;
-       int err;
-+      pax_track_stack();
-+
-       dprint(DBG_CAT_MOD, "create_cat: %s,%u(%d)\n",
-               str->name, cnid, inode->i_nlink);
-       err = hfs_find_init(HFSPLUS_SB(sb)->cat_tree, &fd);
-@@ -353,6 +357,8 @@ int hfsplus_rename_cat(u32 cnid,
-       int entry_size, type;
-       int err;
-+      pax_track_stack();
-+
-       dprint(DBG_CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n",
-               cnid, src_dir->i_ino, src_name->name,
-               dst_dir->i_ino, dst_name->name);
-diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c
-index 25b2443..09a3341 100644
---- a/fs/hfsplus/dir.c
-+++ b/fs/hfsplus/dir.c
-@@ -131,6 +131,8 @@ static int hfsplus_readdir(struct file *filp, void *dirent, filldir_t filldir)
-       struct hfsplus_readdir_data *rd;
-       u16 type;
-+      pax_track_stack();
-+
-       if (filp->f_pos >= inode->i_size)
-               return 0;
-diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c
-index 4cc1e3a..ad0f70b 100644
---- a/fs/hfsplus/inode.c
-+++ b/fs/hfsplus/inode.c
-@@ -501,6 +501,8 @@ int hfsplus_cat_read_inode(struct inode *inode, struct hfs_find_data *fd)
-       int res = 0;
-       u16 type;
-+      pax_track_stack();
-+
-       type = hfs_bnode_read_u16(fd->bnode, fd->entryoffset);
-       HFSPLUS_I(inode)->linkid = 0;
-@@ -564,6 +566,8 @@ int hfsplus_cat_write_inode(struct inode *inode)
-       struct hfs_find_data fd;
-       hfsplus_cat_entry entry;
-+      pax_track_stack();
-+
-       if (HFSPLUS_IS_RSRC(inode))
-               main_inode = HFSPLUS_I(inode)->rsrc_inode;
-diff --git a/fs/hfsplus/ioctl.c b/fs/hfsplus/ioctl.c
-index fbaa669..c548cd0 100644
---- a/fs/hfsplus/ioctl.c
-+++ b/fs/hfsplus/ioctl.c
-@@ -122,6 +122,8 @@ int hfsplus_setxattr(struct dentry *dentry, const char *name,
-       struct hfsplus_cat_file *file;
-       int res;
-+      pax_track_stack();
-+
-       if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode))
-               return -EOPNOTSUPP;
-@@ -166,6 +168,8 @@ ssize_t hfsplus_getxattr(struct dentry *dentry, const char *name,
-       struct hfsplus_cat_file *file;
-       ssize_t res = 0;
-+      pax_track_stack();
-+
-       if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode))
-               return -EOPNOTSUPP;
-diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c
-index d24a9b6..dd9b3dd 100644
---- a/fs/hfsplus/super.c
-+++ b/fs/hfsplus/super.c
-@@ -347,6 +347,8 @@ static int hfsplus_fill_super(struct super_block *sb, void *data, int silent)
-       u64 last_fs_block, last_fs_page;
-       int err;
-+      pax_track_stack();
-+
-       err = -EINVAL;
-       sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
-       if (!sbi)
 diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
-index ec88953..cb5e98e 100644
+index 0be5a78..9cfb853 100644
 --- a/fs/hugetlbfs/inode.c
 +++ b/fs/hugetlbfs/inode.c
 @@ -915,7 +915,7 @@ static struct file_system_type hugetlbfs_fs_type = {
@@ -46173,7 +46632,7 @@ index ec88953..cb5e98e 100644
  static int can_do_hugetlb_shm(void)
  {
 diff --git a/fs/inode.c b/fs/inode.c
-index ec79246..054c36a 100644
+index ee4e66b..9a39f9c 100644
 --- a/fs/inode.c
 +++ b/fs/inode.c
 @@ -787,8 +787,8 @@ unsigned int get_next_ino(void)
@@ -46187,54 +46646,24 @@ index ec79246..054c36a 100644
  
                res = next - LAST_INO_BATCH;
        }
-diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c
-index f94fc48..3bb8d30 100644
---- a/fs/jbd/checkpoint.c
-+++ b/fs/jbd/checkpoint.c
-@@ -358,6 +358,8 @@ int log_do_checkpoint(journal_t *journal)
-       tid_t this_tid;
-       int result;
-+      pax_track_stack();
-+
-       jbd_debug(1, "Start checkpoint\n");
-       /*
-diff --git a/fs/jffs2/compr_rtime.c b/fs/jffs2/compr_rtime.c
-index 16a5047..88ff6ca 100644
---- a/fs/jffs2/compr_rtime.c
-+++ b/fs/jffs2/compr_rtime.c
-@@ -37,6 +37,8 @@ static int jffs2_rtime_compress(unsigned char *data_in,
-       int outpos = 0;
-       int pos=0;
-+      pax_track_stack();
-+
-       memset(positions,0,sizeof(positions));
-       while (pos < (*sourcelen) && outpos <= (*dstlen)-2) {
-@@ -78,6 +80,8 @@ static int jffs2_rtime_decompress(unsigned char *data_in,
-       int outpos = 0;
-       int pos=0;
-+      pax_track_stack();
-+
-       memset(positions,0,sizeof(positions));
-       while (outpos<destlen) {
-diff --git a/fs/jffs2/compr_rubin.c b/fs/jffs2/compr_rubin.c
-index 9e7cec8..4713089 100644
---- a/fs/jffs2/compr_rubin.c
-+++ b/fs/jffs2/compr_rubin.c
-@@ -314,6 +314,8 @@ static int jffs2_dynrubin_compress(unsigned char *data_in,
-       int ret;
-       uint32_t mysrclen, mydstlen;
-+      pax_track_stack();
-+
-       mysrclen = *sourcelen;
-       mydstlen = *dstlen - 8;
+@@ -855,8 +855,7 @@ void lockdep_annotate_inode_mutex_key(struct inode *inode)
+               struct file_system_type *type = inode->i_sb->s_type;
  
+               /* Set new key only if filesystem hasn't already changed it */
+-              if (!lockdep_match_class(&inode->i_mutex,
+-                  &type->i_mutex_key)) {
++              if (lockdep_match_class(&inode->i_mutex, &type->i_mutex_key)) {
+                       /*
+                        * ensure nobody is actually holding i_mutex
+                        */
+@@ -883,6 +882,7 @@ void unlock_new_inode(struct inode *inode)
+       spin_lock(&inode->i_lock);
+       WARN_ON(!(inode->i_state & I_NEW));
+       inode->i_state &= ~I_NEW;
++      smp_mb();
+       wake_up_bit(&inode->i_state, __I_NEW);
+       spin_unlock(&inode->i_lock);
+ }
 diff --git a/fs/jffs2/erase.c b/fs/jffs2/erase.c
 index e513f19..2ab1351 100644
 --- a/fs/jffs2/erase.c
@@ -46250,10 +46679,10 @@ index e513f19..2ab1351 100644
  
                jffs2_prealloc_raw_node_refs(c, jeb, 1);
 diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c
-index 4515bea..178f2d6 100644
+index b09e51d..e482afa 100644
 --- a/fs/jffs2/wbuf.c
 +++ b/fs/jffs2/wbuf.c
-@@ -1012,7 +1012,8 @@ static const struct jffs2_unknown_node oob_cleanmarker =
+@@ -1011,7 +1011,8 @@ static const struct jffs2_unknown_node oob_cleanmarker =
  {
        .magic = constant_cpu_to_je16(JFFS2_MAGIC_BITMASK),
        .nodetype = constant_cpu_to_je16(JFFS2_NODETYPE_CLEANMARKER),
@@ -46263,24 +46692,11 @@ index 4515bea..178f2d6 100644
  };
  
  /*
-diff --git a/fs/jffs2/xattr.c b/fs/jffs2/xattr.c
-index 3e93cdd..c8a80e1 100644
---- a/fs/jffs2/xattr.c
-+++ b/fs/jffs2/xattr.c
-@@ -773,6 +773,8 @@ void jffs2_build_xattr_subsystem(struct jffs2_sb_info *c)
-       BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING));
-+      pax_track_stack();
-+
-       /* Phase.1 : Merge same xref */
-       for (i=0; i < XREF_TMPHASH_SIZE; i++)
-               xref_tmphash[i] = NULL;
 diff --git a/fs/jfs/super.c b/fs/jfs/super.c
-index 06c8a67..589dbbd 100644
+index a44eff0..462e07d 100644
 --- a/fs/jfs/super.c
 +++ b/fs/jfs/super.c
-@@ -803,7 +803,7 @@ static int __init init_jfs_fs(void)
+@@ -802,7 +802,7 @@ static int __init init_jfs_fs(void)
  
        jfs_inode_cachep =
            kmem_cache_create("jfs_ip", sizeof(struct jfs_inode_info), 0,
@@ -46290,7 +46706,7 @@ index 06c8a67..589dbbd 100644
        if (jfs_inode_cachep == NULL)
                return -ENOMEM;
 diff --git a/fs/libfs.c b/fs/libfs.c
-index c18e9a1..0b04e2c 100644
+index f6d411e..e82a08d 100644
 --- a/fs/libfs.c
 +++ b/fs/libfs.c
 @@ -165,6 +165,9 @@ int dcache_readdir(struct file * filp, void * dirent, filldir_t filldir)
@@ -46318,7 +46734,7 @@ index c18e9a1..0b04e2c 100644
                                            next->d_inode->i_ino, 
                                            dt_type(next->d_inode)) < 0)
 diff --git a/fs/lockd/clntproc.c b/fs/lockd/clntproc.c
-index 8392cb8..ae8ed40 100644
+index 8392cb8..80d6193 100644
 --- a/fs/lockd/clntproc.c
 +++ b/fs/lockd/clntproc.c
 @@ -36,11 +36,11 @@ static const struct rpc_call_ops nlmclnt_cancel_ops;
@@ -46335,20 +46751,11 @@ index 8392cb8..ae8ed40 100644
  
        memcpy(c->data, &cookie, 4);
        c->len=4;
-@@ -621,6 +621,8 @@ nlmclnt_reclaim(struct nlm_host *host, struct file_lock *fl)
-       struct nlm_rqst reqst, *req;
-       int             status;
-+      pax_track_stack();
-+
-       req = &reqst;
-       memset(req, 0, sizeof(*req));
-       locks_init_lock(&req->a_args.lock.fl);
 diff --git a/fs/locks.c b/fs/locks.c
-index 703f545..150a552 100644
+index 637694b..f84a121 100644
 --- a/fs/locks.c
 +++ b/fs/locks.c
-@@ -2022,16 +2022,16 @@ void locks_remove_flock(struct file *filp)
+@@ -2074,16 +2074,16 @@ void locks_remove_flock(struct file *filp)
                return;
  
        if (filp->f_op && filp->f_op->flock) {
@@ -46369,144 +46776,11 @@ index 703f545..150a552 100644
        }
  
        lock_flocks();
-diff --git a/fs/logfs/super.c b/fs/logfs/super.c
-index ce03a18..ac8c14f 100644
---- a/fs/logfs/super.c
-+++ b/fs/logfs/super.c
-@@ -266,6 +266,8 @@ static int logfs_recover_sb(struct super_block *sb)
-       struct logfs_disk_super _ds1, *ds1 = &_ds1;
-       int err, valid0, valid1;
-+      pax_track_stack();
-+
-       /* read first superblock */
-       err = wbuf_read(sb, super->s_sb_ofs[0], sizeof(*ds0), ds0);
-       if (err)
-diff --git a/fs/minix/bitmap.c b/fs/minix/bitmap.c
-index 3f32bcb..7c82c29 100644
---- a/fs/minix/bitmap.c
-+++ b/fs/minix/bitmap.c
-@@ -20,10 +20,11 @@ static const int nibblemap[] = { 4,3,3,2,3,2,2,1,3,2,2,1,2,1,1,0 };
- static DEFINE_SPINLOCK(bitmap_lock);
--static unsigned long count_free(struct buffer_head *map[], unsigned numblocks, __u32 numbits)
-+static unsigned long count_free(struct buffer_head *map[], unsigned blocksize, __u32 numbits)
- {
-       unsigned i, j, sum = 0;
-       struct buffer_head *bh;
-+      unsigned numblocks = minix_blocks_needed(numbits, blocksize);
-   
-       for (i=0; i<numblocks-1; i++) {
-               if (!(bh=map[i])) 
-@@ -105,10 +106,12 @@ int minix_new_block(struct inode * inode)
-       return 0;
- }
--unsigned long minix_count_free_blocks(struct minix_sb_info *sbi)
-+unsigned long minix_count_free_blocks(struct super_block *sb)
- {
--      return (count_free(sbi->s_zmap, sbi->s_zmap_blocks,
--              sbi->s_nzones - sbi->s_firstdatazone + 1)
-+      struct minix_sb_info *sbi = minix_sb(sb);
-+      u32 bits = sbi->s_nzones - (sbi->s_firstdatazone + 1);
-+
-+      return (count_free(sbi->s_zmap, sb->s_blocksize, bits)
-               << sbi->s_log_zone_size);
- }
-@@ -273,7 +276,10 @@ struct inode *minix_new_inode(const struct inode *dir, int mode, int *error)
-       return inode;
- }
--unsigned long minix_count_free_inodes(struct minix_sb_info *sbi)
-+unsigned long minix_count_free_inodes(struct super_block *sb)
- {
--      return count_free(sbi->s_imap, sbi->s_imap_blocks, sbi->s_ninodes + 1);
-+      struct minix_sb_info *sbi = minix_sb(sb);
-+      u32 bits = sbi->s_ninodes + 1;
-+
-+      return count_free(sbi->s_imap, sb->s_blocksize, bits);
- }
-diff --git a/fs/minix/inode.c b/fs/minix/inode.c
-index e7d23e2..1ed1351 100644
---- a/fs/minix/inode.c
-+++ b/fs/minix/inode.c
-@@ -279,6 +279,27 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
-       else if (sbi->s_mount_state & MINIX_ERROR_FS)
-               printk("MINIX-fs: mounting file system with errors, "
-                       "running fsck is recommended\n");
-+
-+      /* Apparently minix can create filesystems that allocate more blocks for
-+       * the bitmaps than needed.  We simply ignore that, but verify it didn't
-+       * create one with not enough blocks and bail out if so.
-+       */
-+      block = minix_blocks_needed(sbi->s_ninodes, s->s_blocksize);
-+      if (sbi->s_imap_blocks < block) {
-+              printk("MINIX-fs: file system does not have enough "
-+                              "imap blocks allocated.  Refusing to mount\n");
-+              goto out_iput;
-+      }
-+
-+      block = minix_blocks_needed(
-+                      (sbi->s_nzones - (sbi->s_firstdatazone + 1)),
-+                      s->s_blocksize);
-+      if (sbi->s_zmap_blocks < block) {
-+              printk("MINIX-fs: file system does not have enough "
-+                              "zmap blocks allocated.  Refusing to mount.\n");
-+              goto out_iput;
-+      }
-+
-       return 0;
- out_iput:
-@@ -339,10 +360,10 @@ static int minix_statfs(struct dentry *dentry, struct kstatfs *buf)
-       buf->f_type = sb->s_magic;
-       buf->f_bsize = sb->s_blocksize;
-       buf->f_blocks = (sbi->s_nzones - sbi->s_firstdatazone) << sbi->s_log_zone_size;
--      buf->f_bfree = minix_count_free_blocks(sbi);
-+      buf->f_bfree = minix_count_free_blocks(sb);
-       buf->f_bavail = buf->f_bfree;
-       buf->f_files = sbi->s_ninodes;
--      buf->f_ffree = minix_count_free_inodes(sbi);
-+      buf->f_ffree = minix_count_free_inodes(sb);
-       buf->f_namelen = sbi->s_namelen;
-       buf->f_fsid.val[0] = (u32)id;
-       buf->f_fsid.val[1] = (u32)(id >> 32);
-diff --git a/fs/minix/minix.h b/fs/minix/minix.h
-index 341e212..6415fe0 100644
---- a/fs/minix/minix.h
-+++ b/fs/minix/minix.h
-@@ -48,10 +48,10 @@ extern struct minix_inode * minix_V1_raw_inode(struct super_block *, ino_t, stru
- extern struct minix2_inode * minix_V2_raw_inode(struct super_block *, ino_t, struct buffer_head **);
- extern struct inode * minix_new_inode(const struct inode *, int, int *);
- extern void minix_free_inode(struct inode * inode);
--extern unsigned long minix_count_free_inodes(struct minix_sb_info *sbi);
-+extern unsigned long minix_count_free_inodes(struct super_block *sb);
- extern int minix_new_block(struct inode * inode);
- extern void minix_free_block(struct inode *inode, unsigned long block);
--extern unsigned long minix_count_free_blocks(struct minix_sb_info *sbi);
-+extern unsigned long minix_count_free_blocks(struct super_block *sb);
- extern int minix_getattr(struct vfsmount *, struct dentry *, struct kstat *);
- extern int minix_prepare_chunk(struct page *page, loff_t pos, unsigned len);
-@@ -88,6 +88,11 @@ static inline struct minix_inode_info *minix_i(struct inode *inode)
-       return list_entry(inode, struct minix_inode_info, vfs_inode);
- }
-+static inline unsigned minix_blocks_needed(unsigned bits, unsigned blocksize)
-+{
-+      return DIV_ROUND_UP(bits, blocksize * 8);
-+}
-+
- #if defined(CONFIG_MINIX_FS_NATIVE_ENDIAN) && \
-       defined(CONFIG_MINIX_FS_BIG_ENDIAN_16BIT_INDEXED)
 diff --git a/fs/namei.c b/fs/namei.c
-index 3d15072..c1ddf9c 100644
+index 9680cef..a19f203 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
-@@ -281,16 +281,32 @@ int generic_permission(struct inode *inode, int mask)
+@@ -279,16 +279,32 @@ int generic_permission(struct inode *inode, int mask)
        if (ret != -EACCES)
                return ret;
  
@@ -46542,7 +46816,7 @@ index 3d15072..c1ddf9c 100644
         * Read/write DACs are always overridable.
         * Executable DACs are overridable when there is
         * at least one exec bit set.
-@@ -299,14 +315,6 @@ int generic_permission(struct inode *inode, int mask)
+@@ -297,14 +313,6 @@ int generic_permission(struct inode *inode, int mask)
                if (ns_capable(inode_userns(inode), CAP_DAC_OVERRIDE))
                        return 0;
  
@@ -46578,7 +46852,7 @@ index 3d15072..c1ddf9c 100644
                error = 0;
                if (s)
                        error = __vfs_follow_link(nd, s);
-@@ -1622,6 +1638,21 @@ static int path_lookupat(int dfd, const char *name,
+@@ -1624,6 +1640,21 @@ static int path_lookupat(int dfd, const char *name,
        if (!err)
                err = complete_walk(nd);
  
@@ -46600,7 +46874,7 @@ index 3d15072..c1ddf9c 100644
        if (!err && nd->flags & LOOKUP_DIRECTORY) {
                if (!nd->inode->i_op->lookup) {
                        path_put(&nd->path);
-@@ -1649,6 +1680,15 @@ static int do_path_lookup(int dfd, const char *name,
+@@ -1651,6 +1682,15 @@ static int do_path_lookup(int dfd, const char *name,
                retval = path_lookupat(dfd, name, flags | LOOKUP_REVAL, nd);
  
        if (likely(!retval)) {
@@ -46616,36 +46890,21 @@ index 3d15072..c1ddf9c 100644
                if (unlikely(!audit_dummy_context())) {
                        if (nd->path.dentry && nd->inode)
                                audit_inode(name, nd->path.dentry);
-@@ -2049,7 +2089,27 @@ static int may_open(struct path *path, int acc_mode, int flag)
-       /*
-        * Ensure there are no outstanding leases on the file.
-        */
--      return break_lease(inode, flag);
-+      error = break_lease(inode, flag);
-+
-+      if (error)
-+              return error;
-+
-+      if (gr_handle_rofs_blockwrite(dentry, path->mnt, acc_mode)) {
-+              error = -EPERM;
-+              goto exit;
-+      }
-+
-+      if (gr_handle_rawio(inode)) {
-+              error = -EPERM;
-+              goto exit;
-+      }
+@@ -2048,6 +2088,13 @@ static int may_open(struct path *path, int acc_mode, int flag)
+       if (flag & O_NOATIME && !inode_owner_or_capable(inode))
+               return -EPERM;
++      if (gr_handle_rofs_blockwrite(dentry, path->mnt, acc_mode))
++              return -EPERM;
++      if (gr_handle_rawio(inode))
++              return -EPERM;
++      if (!gr_acl_handle_open(dentry, path->mnt, acc_mode))
++              return -EACCES;
 +
-+      if (!gr_acl_handle_open(dentry, path->mnt, acc_mode)) {
-+              error = -EACCES;
-+              goto exit;
-+      }
-+exit:
-+      return error;
+       return 0;
  }
  
- static int handle_truncate(struct file *filp)
-@@ -2110,6 +2170,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2109,6 +2156,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
                error = complete_walk(nd);
                if (error)
                        return ERR_PTR(error);
@@ -46662,7 +46921,7 @@ index 3d15072..c1ddf9c 100644
                audit_inode(pathname, nd->path.dentry);
                if (open_flag & O_CREAT) {
                        error = -EISDIR;
-@@ -2120,6 +2190,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2119,6 +2176,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
                error = complete_walk(nd);
                if (error)
                        return ERR_PTR(error);
@@ -46679,10 +46938,10 @@ index 3d15072..c1ddf9c 100644
                audit_inode(pathname, dir);
                goto ok;
        }
-@@ -2141,6 +2221,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2140,6 +2207,16 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
                error = complete_walk(nd);
                if (error)
-                       return ERR_PTR(-ECHILD);
+                       return ERR_PTR(error);
 +#ifdef CONFIG_GRKERNSEC
 +              if (nd->flags & LOOKUP_RCU) {
 +                      error = -ECHILD;
@@ -46696,7 +46955,7 @@ index 3d15072..c1ddf9c 100644
  
                error = -ENOTDIR;
                if (nd->flags & LOOKUP_DIRECTORY) {
-@@ -2181,6 +2271,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2180,6 +2257,12 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
        /* Negative dentry, just create the file */
        if (!dentry->d_inode) {
                int mode = op->mode;
@@ -46709,7 +46968,7 @@ index 3d15072..c1ddf9c 100644
                if (!IS_POSIXACL(dir->d_inode))
                        mode &= ~current_umask();
                /*
-@@ -2204,6 +2300,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2203,6 +2286,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
                error = vfs_create(dir->d_inode, dentry, mode, nd);
                if (error)
                        goto exit_mutex_unlock;
@@ -46718,7 +46977,7 @@ index 3d15072..c1ddf9c 100644
                mutex_unlock(&dir->d_inode->i_mutex);
                dput(nd->path.dentry);
                nd->path.dentry = dentry;
-@@ -2213,6 +2311,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
+@@ -2212,6 +2297,19 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
        /*
         * It already exists.
         */
@@ -46738,7 +46997,7 @@ index 3d15072..c1ddf9c 100644
        mutex_unlock(&dir->d_inode->i_mutex);
        audit_inode(pathname, path->dentry);
  
-@@ -2425,6 +2536,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path
+@@ -2424,6 +2522,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path
        *path = nd.path;
        return dentry;
  eexist:
@@ -46750,7 +47009,7 @@ index 3d15072..c1ddf9c 100644
        dput(dentry);
        dentry = ERR_PTR(-EEXIST);
  fail:
-@@ -2447,6 +2563,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat
+@@ -2446,6 +2549,20 @@ struct dentry *user_path_create(int dfd, const char __user *pathname, struct pat
  }
  EXPORT_SYMBOL(user_path_create);
  
@@ -46771,7 +47030,7 @@ index 3d15072..c1ddf9c 100644
  int vfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev)
  {
        int error = may_create(dir, dentry);
-@@ -2514,6 +2644,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
+@@ -2513,6 +2630,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
        error = mnt_want_write(path.mnt);
        if (error)
                goto out_dput;
@@ -46789,7 +47048,7 @@ index 3d15072..c1ddf9c 100644
        error = security_path_mknod(&path, dentry, mode, dev);
        if (error)
                goto out_drop_write;
-@@ -2531,6 +2672,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
+@@ -2530,6 +2658,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,
        }
  out_drop_write:
        mnt_drop_write(path.mnt);
@@ -46799,7 +47058,7 @@ index 3d15072..c1ddf9c 100644
  out_dput:
        dput(dentry);
        mutex_unlock(&path.dentry->d_inode->i_mutex);
-@@ -2580,12 +2724,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
+@@ -2579,12 +2710,21 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
        error = mnt_want_write(path.mnt);
        if (error)
                goto out_dput;
@@ -46821,7 +47080,7 @@ index 3d15072..c1ddf9c 100644
  out_dput:
        dput(dentry);
        mutex_unlock(&path.dentry->d_inode->i_mutex);
-@@ -2665,6 +2818,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
+@@ -2664,6 +2804,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
        char * name;
        struct dentry *dentry;
        struct nameidata nd;
@@ -46830,7 +47089,7 @@ index 3d15072..c1ddf9c 100644
  
        error = user_path_parent(dfd, pathname, &nd, &name);
        if (error)
-@@ -2693,6 +2848,15 @@ static long do_rmdir(int dfd, const char __user *pathname)
+@@ -2692,6 +2834,15 @@ static long do_rmdir(int dfd, const char __user *pathname)
                error = -ENOENT;
                goto exit3;
        }
@@ -46846,7 +47105,7 @@ index 3d15072..c1ddf9c 100644
        error = mnt_want_write(nd.path.mnt);
        if (error)
                goto exit3;
-@@ -2700,6 +2864,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
+@@ -2699,6 +2850,8 @@ static long do_rmdir(int dfd, const char __user *pathname)
        if (error)
                goto exit4;
        error = vfs_rmdir(nd.path.dentry->d_inode, dentry);
@@ -46855,7 +47114,7 @@ index 3d15072..c1ddf9c 100644
  exit4:
        mnt_drop_write(nd.path.mnt);
  exit3:
-@@ -2762,6 +2928,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
+@@ -2761,6 +2914,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
        struct dentry *dentry;
        struct nameidata nd;
        struct inode *inode = NULL;
@@ -46864,7 +47123,7 @@ index 3d15072..c1ddf9c 100644
  
        error = user_path_parent(dfd, pathname, &nd, &name);
        if (error)
-@@ -2784,6 +2952,16 @@ static long do_unlinkat(int dfd, const char __user *pathname)
+@@ -2783,6 +2938,16 @@ static long do_unlinkat(int dfd, const char __user *pathname)
                if (!inode)
                        goto slashes;
                ihold(inode);
@@ -46881,7 +47140,7 @@ index 3d15072..c1ddf9c 100644
                error = mnt_want_write(nd.path.mnt);
                if (error)
                        goto exit2;
-@@ -2791,6 +2969,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
+@@ -2790,6 +2955,8 @@ static long do_unlinkat(int dfd, const char __user *pathname)
                if (error)
                        goto exit3;
                error = vfs_unlink(nd.path.dentry->d_inode, dentry);
@@ -46890,7 +47149,7 @@ index 3d15072..c1ddf9c 100644
  exit3:
                mnt_drop_write(nd.path.mnt);
        exit2:
-@@ -2866,10 +3046,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
+@@ -2865,10 +3032,18 @@ SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
        error = mnt_want_write(path.mnt);
        if (error)
                goto out_dput;
@@ -46909,7 +47168,7 @@ index 3d15072..c1ddf9c 100644
  out_drop_write:
        mnt_drop_write(path.mnt);
  out_dput:
-@@ -2941,6 +3129,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
+@@ -2940,6 +3115,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
  {
        struct dentry *new_dentry;
        struct path old_path, new_path;
@@ -46917,7 +47176,7 @@ index 3d15072..c1ddf9c 100644
        int how = 0;
        int error;
  
-@@ -2964,7 +3153,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
+@@ -2963,7 +3139,7 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
        if (error)
                return error;
  
@@ -46926,7 +47185,7 @@ index 3d15072..c1ddf9c 100644
        error = PTR_ERR(new_dentry);
        if (IS_ERR(new_dentry))
                goto out;
-@@ -2975,13 +3164,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
+@@ -2974,13 +3150,30 @@ SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
        error = mnt_want_write(new_path.mnt);
        if (error)
                goto out_dput;
@@ -46957,16 +47216,7 @@ index 3d15072..c1ddf9c 100644
        dput(new_dentry);
        mutex_unlock(&new_path.dentry->d_inode->i_mutex);
        path_put(&new_path);
-@@ -3153,6 +3359,8 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
-       char *to;
-       int error;
-+      pax_track_stack();
-+
-       error = user_path_parent(olddfd, oldname, &oldnd, &from);
-       if (error)
-               goto exit;
-@@ -3209,6 +3417,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
+@@ -3208,6 +3401,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
        if (new_dentry == trap)
                goto exit5;
  
@@ -46979,7 +47229,7 @@ index 3d15072..c1ddf9c 100644
        error = mnt_want_write(oldnd.path.mnt);
        if (error)
                goto exit5;
-@@ -3218,6 +3432,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
+@@ -3217,6 +3416,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
                goto exit6;
        error = vfs_rename(old_dir->d_inode, old_dentry,
                                   new_dir->d_inode, new_dentry);
@@ -46989,7 +47239,7 @@ index 3d15072..c1ddf9c 100644
  exit6:
        mnt_drop_write(oldnd.path.mnt);
  exit5:
-@@ -3243,6 +3460,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna
+@@ -3242,6 +3444,8 @@ SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newna
  
  int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link)
  {
@@ -46998,7 +47248,7 @@ index 3d15072..c1ddf9c 100644
        int len;
  
        len = PTR_ERR(link);
-@@ -3252,7 +3471,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c
+@@ -3251,7 +3455,14 @@ int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const c
        len = strlen(link);
        if (len > (unsigned) buflen)
                len = buflen;
@@ -47015,10 +47265,10 @@ index 3d15072..c1ddf9c 100644
  out:
        return len;
 diff --git a/fs/namespace.c b/fs/namespace.c
-index e5e1c7d..019609e 100644
+index cfc6d44..b4632a5 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
-@@ -1329,6 +1329,9 @@ static int do_umount(struct vfsmount *mnt, int flags)
+@@ -1326,6 +1326,9 @@ static int do_umount(struct vfsmount *mnt, int flags)
                if (!(sb->s_flags & MS_RDONLY))
                        retval = do_remount_sb(sb, MS_RDONLY, NULL, 0);
                up_write(&sb->s_umount);
@@ -47028,7 +47278,7 @@ index e5e1c7d..019609e 100644
                return retval;
        }
  
-@@ -1348,6 +1351,9 @@ static int do_umount(struct vfsmount *mnt, int flags)
+@@ -1345,6 +1348,9 @@ static int do_umount(struct vfsmount *mnt, int flags)
        br_write_unlock(vfsmount_lock);
        up_write(&namespace_sem);
        release_mounts(&umount_list);
@@ -47038,7 +47288,7 @@ index e5e1c7d..019609e 100644
        return retval;
  }
  
-@@ -2339,6 +2345,16 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
+@@ -2336,6 +2342,16 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
                   MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT |
                   MS_STRICTATIME);
  
@@ -47055,7 +47305,7 @@ index e5e1c7d..019609e 100644
        if (flags & MS_REMOUNT)
                retval = do_remount(&path, flags & ~MS_REMOUNT, mnt_flags,
                                    data_page);
-@@ -2353,6 +2369,9 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
+@@ -2350,6 +2366,9 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
                                      dev_name, data_page);
  dput_out:
        path_put(&path);
@@ -47065,7 +47315,7 @@ index e5e1c7d..019609e 100644
        return retval;
  }
  
-@@ -2576,6 +2595,11 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root,
+@@ -2605,6 +2624,11 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root,
        if (error)
                goto out2;
  
@@ -47077,70 +47327,30 @@ index e5e1c7d..019609e 100644
        get_fs_root(current->fs, &root);
        error = lock_mount(&old);
        if (error)
-diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c
-index 9c51f62..503b252 100644
---- a/fs/ncpfs/dir.c
-+++ b/fs/ncpfs/dir.c
-@@ -299,6 +299,8 @@ ncp_lookup_validate(struct dentry *dentry, struct nameidata *nd)
-       int res, val = 0, len;
-       __u8 __name[NCP_MAXPATHLEN + 1];
-+      pax_track_stack();
-+
-       if (dentry == dentry->d_sb->s_root)
-               return 1;
-@@ -844,6 +846,8 @@ static struct dentry *ncp_lookup(struct inode *dir, struct dentry *dentry, struc
-       int error, res, len;
-       __u8 __name[NCP_MAXPATHLEN + 1];
-+      pax_track_stack();
-+
-       error = -EIO;
-       if (!ncp_conn_valid(server))
-               goto finished;
-@@ -931,6 +935,8 @@ int ncp_create_new(struct inode *dir, struct dentry *dentry, int mode,
-       PPRINTK("ncp_create_new: creating %s/%s, mode=%x\n",
-               dentry->d_parent->d_name.name, dentry->d_name.name, mode);
-+      pax_track_stack();
-+
-       ncp_age_dentry(server, dentry);
-       len = sizeof(__name);
-       error = ncp_io2vol(server, __name, &len, dentry->d_name.name,
-@@ -992,6 +998,8 @@ static int ncp_mkdir(struct inode *dir, struct dentry *dentry, int mode)
-       int error, len;
-       __u8 __name[NCP_MAXPATHLEN + 1];
-+      pax_track_stack();
-+
-       DPRINTK("ncp_mkdir: making %s/%s\n",
-               dentry->d_parent->d_name.name, dentry->d_name.name);
-@@ -1140,6 +1148,8 @@ static int ncp_rename(struct inode *old_dir, struct dentry *old_dentry,
-       int old_len, new_len;
-       __u8 __old_name[NCP_MAXPATHLEN + 1], __new_name[NCP_MAXPATHLEN + 1];
-+      pax_track_stack();
-+
-       DPRINTK("ncp_rename: %s/%s to %s/%s\n",
-               old_dentry->d_parent->d_name.name, old_dentry->d_name.name,
-               new_dentry->d_parent->d_name.name, new_dentry->d_name.name);
-diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c
-index 202f370..9d4565e 100644
---- a/fs/ncpfs/inode.c
-+++ b/fs/ncpfs/inode.c
-@@ -461,6 +461,8 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
- #endif
-       struct ncp_entry_info finfo;
-+      pax_track_stack();
-+
-       memset(&data, 0, sizeof(data));
-       server = kzalloc(sizeof(struct ncp_server), GFP_KERNEL);
-       if (!server)
+diff --git a/fs/ncpfs/ncplib_kernel.h b/fs/ncpfs/ncplib_kernel.h
+index 09881e6..308ff20 100644
+--- a/fs/ncpfs/ncplib_kernel.h
++++ b/fs/ncpfs/ncplib_kernel.h
+@@ -130,7 +130,7 @@ static inline int ncp_is_nfs_extras(struct ncp_server* server, unsigned int voln
+ int ncp__io2vol(struct ncp_server *, unsigned char *, unsigned int *,
+                               const unsigned char *, unsigned int, int);
+ int ncp__vol2io(struct ncp_server *, unsigned char *, unsigned int *,
+-                              const unsigned char *, unsigned int, int);
++                              const unsigned char *, unsigned int, int) __size_overflow(5);
+ #define NCP_ESC                       ':'
+ #define NCP_IO_TABLE(sb)      (NCP_SBP(sb)->nls_io)
+@@ -146,7 +146,7 @@ int ncp__vol2io(struct ncp_server *, unsigned char *, unsigned int *,
+ int ncp__io2vol(unsigned char *, unsigned int *,
+                               const unsigned char *, unsigned int, int);
+ int ncp__vol2io(unsigned char *, unsigned int *,
+-                              const unsigned char *, unsigned int, int);
++                              const unsigned char *, unsigned int, int) __size_overflow(5);
+ #define NCP_IO_TABLE(sb)      NULL
+ #define ncp_tolower(t, c)     tolower(c)
 diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
-index 281ae95..dd895b9 100644
+index 3db6b82..a57597e 100644
 --- a/fs/nfs/blocklayout/blocklayout.c
 +++ b/fs/nfs/blocklayout/blocklayout.c
 @@ -90,7 +90,7 @@ static int is_writable(struct pnfs_block_extent *be, sector_t isect)
@@ -47153,7 +47363,7 @@ index 281ae95..dd895b9 100644
        void *data;
  };
 diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
-index 679d2f5..ef1ffec 100644
+index 50a15fa..ca113f9 100644
 --- a/fs/nfs/inode.c
 +++ b/fs/nfs/inode.c
 @@ -150,7 +150,7 @@ static void nfs_zap_caches_locked(struct inode *inode)
@@ -47185,37 +47395,11 @@ index 679d2f5..ef1ffec 100644
  }
  
  void nfs_fattr_init(struct nfs_fattr *fattr)
-diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
-index 6f8bcc7..8f823c5 100644
---- a/fs/nfsd/nfs4state.c
-+++ b/fs/nfsd/nfs4state.c
-@@ -3999,6 +3999,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
-       unsigned int strhashval;
-       int err;
-+      pax_track_stack();
-+
-       dprintk("NFSD: nfsd4_lock: start=%Ld length=%Ld\n",
-               (long long) lock->lk_offset,
-               (long long) lock->lk_length);
-diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
-index f810996..cec8977 100644
---- a/fs/nfsd/nfs4xdr.c
-+++ b/fs/nfsd/nfs4xdr.c
-@@ -1875,6 +1875,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp,
-               .dentry = dentry,
-       };
-+      pax_track_stack();
-+
-       BUG_ON(bmval1 & NFSD_WRITEONLY_ATTRS_WORD1);
-       BUG_ON(bmval0 & ~nfsd_suppattrs0(minorversion));
-       BUG_ON(bmval1 & ~nfsd_suppattrs1(minorversion));
 diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
-index acf88ae..4fd6245 100644
+index 7a2e442..8e544cc 100644
 --- a/fs/nfsd/vfs.c
 +++ b/fs/nfsd/vfs.c
-@@ -896,7 +896,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+@@ -914,7 +914,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
        } else {
                oldfs = get_fs();
                set_fs(KERNEL_DS);
@@ -47224,7 +47408,7 @@ index acf88ae..4fd6245 100644
                set_fs(oldfs);
        }
  
-@@ -1000,7 +1000,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+@@ -1018,7 +1018,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
  
        /* Write the data. */
        oldfs = get_fs(); set_fs(KERNEL_DS);
@@ -47233,7 +47417,7 @@ index acf88ae..4fd6245 100644
        set_fs(oldfs);
        if (host_err < 0)
                goto out_nfserr;
-@@ -1535,7 +1535,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp)
+@@ -1553,7 +1553,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp)
         */
  
        oldfs = get_fs(); set_fs(KERNEL_DS);
@@ -47242,6 +47426,31 @@ index acf88ae..4fd6245 100644
        set_fs(oldfs);
  
        if (host_err < 0)
+diff --git a/fs/nilfs2/the_nilfs.c b/fs/nilfs2/the_nilfs.c
+index d327140..501b7f8 100644
+--- a/fs/nilfs2/the_nilfs.c
++++ b/fs/nilfs2/the_nilfs.c
+@@ -409,6 +409,12 @@ static int nilfs_store_disk_layout(struct the_nilfs *nilfs,
+       nilfs->ns_first_data_block = le64_to_cpu(sbp->s_first_data_block);
+       nilfs->ns_r_segments_percentage =
+               le32_to_cpu(sbp->s_r_segments_percentage);
++      if (nilfs->ns_r_segments_percentage < 1 ||
++          nilfs->ns_r_segments_percentage > 99) {
++              printk(KERN_ERR "NILFS: invalid reserved segments percentage.\n");
++              return -EINVAL;
++      }
++
+       nilfs_set_nsegments(nilfs, le64_to_cpu(sbp->s_nsegments));
+       nilfs->ns_crc_seed = le32_to_cpu(sbp->s_crc_seed);
+       return 0;
+@@ -515,6 +521,7 @@ static int nilfs_load_super_block(struct the_nilfs *nilfs,
+               brelse(sbh[1]);
+               sbh[1] = NULL;
+               sbp[1] = NULL;
++              valid[1] = 0;
+               swp = 0;
+       }
+       if (!valid[swp]) {
 diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
 index 9fde1c0..14e8827 100644
 --- a/fs/notify/fanotify/fanotify_user.c
@@ -47317,21 +47526,8 @@ index 210c352..a174f83 100644
  
  bail:
        if (handle)
-diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
-index 53aa41e..d7df9f1 100644
---- a/fs/ocfs2/namei.c
-+++ b/fs/ocfs2/namei.c
-@@ -1063,6 +1063,8 @@ static int ocfs2_rename(struct inode *old_dir,
-       struct ocfs2_dir_lookup_result orphan_insert = { NULL, };
-       struct ocfs2_dir_lookup_result target_insert = { NULL, };
-+      pax_track_stack();
-+
-       /* At some point it might be nice to break this function up a
-        * bit. */
 diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
-index 4092858..51c70ff 100644
+index d355e6e..578d905 100644
 --- a/fs/ocfs2/ocfs2.h
 +++ b/fs/ocfs2/ocfs2.h
 @@ -235,11 +235,11 @@ enum ocfs2_vol_state
@@ -47410,10 +47606,10 @@ index ba5d97e..c77db25 100644
                }
        }
 diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
-index 56f6102..1433c29 100644
+index 4994f8b..eaab8eb 100644
 --- a/fs/ocfs2/super.c
 +++ b/fs/ocfs2/super.c
-@@ -300,11 +300,11 @@ static int ocfs2_osb_dump(struct ocfs2_super *osb, char *buf, int len)
+@@ -301,11 +301,11 @@ static int ocfs2_osb_dump(struct ocfs2_super *osb, char *buf, int len)
                        "%10s => GlobalAllocs: %d  LocalAllocs: %d  "
                        "SubAllocs: %d  LAWinMoves: %d  SAExtends: %d\n",
                        "Stats",
@@ -47430,7 +47626,7 @@ index 56f6102..1433c29 100644
  
        out += snprintf(buf + out, len - out,
                        "%10s => State: %u  Descriptor: %llu  Size: %u bits  "
-@@ -2112,11 +2112,11 @@ static int ocfs2_initialize_super(struct super_block *sb,
+@@ -2119,11 +2119,11 @@ static int ocfs2_initialize_super(struct super_block *sb,
        spin_lock_init(&osb->osb_xattr_lock);
        ocfs2_init_steal_slots(osb);
  
@@ -47461,7 +47657,7 @@ index 5d22872..523db20 100644
                kfree(link);
  }
 diff --git a/fs/open.c b/fs/open.c
-index f711921..28d5958 100644
+index 22c41b5..78894cf 100644
 --- a/fs/open.c
 +++ b/fs/open.c
 @@ -112,6 +112,10 @@ static long do_sys_truncate(const char __user *pathname, loff_t length)
@@ -47527,7 +47723,7 @@ index f711921..28d5958 100644
                return error;
        mutex_lock(&inode->i_mutex);
 +
-+      if (!gr_acl_handle_fchmod(path->dentry, path->mnt, mode)) {
++      if (!gr_acl_handle_chmod(path->dentry, path->mnt, &mode)) {
 +              error = -EACCES;
 +              goto out_unlock;
 +      }
@@ -47575,10 +47771,10 @@ index 6296b40..417c00f 100644
                       (u8 *) pte,
                     count) < count) {
 diff --git a/fs/partitions/ldm.c b/fs/partitions/ldm.c
-index af9fdf0..75b15c3 100644
+index bd8ae78..539d250 100644
 --- a/fs/partitions/ldm.c
 +++ b/fs/partitions/ldm.c
-@@ -1322,7 +1322,7 @@ static bool ldm_frag_add (const u8 *data, int size, struct list_head *frags)
+@@ -1324,7 +1324,7 @@ static bool ldm_frag_add (const u8 *data, int size, struct list_head *frags)
                        goto found;
        }
  
@@ -47588,7 +47784,7 @@ index af9fdf0..75b15c3 100644
                ldm_crit ("Out of memory.");
                return false;
 diff --git a/fs/pipe.c b/fs/pipe.c
-index 0e0be1d..f62a72d 100644
+index 4065f07..68c0706 100644
 --- a/fs/pipe.c
 +++ b/fs/pipe.c
 @@ -420,9 +420,9 @@ redo:
@@ -47746,7 +47942,7 @@ index 15af622..0e9f4467 100644
        help
          Various /proc files exist to monitor process memory utilization:
 diff --git a/fs/proc/array.c b/fs/proc/array.c
-index 3a1dafd..c7fed72 100644
+index 3a1dafd..bf1bd84 100644
 --- a/fs/proc/array.c
 +++ b/fs/proc/array.c
 @@ -60,6 +60,7 @@
@@ -47804,16 +48000,21 @@ index 3a1dafd..c7fed72 100644
  static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
                        struct pid *pid, struct task_struct *task, int whole)
  {
-@@ -378,6 +409,8 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
+@@ -378,6 +409,13 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
        char tcomm[sizeof(task->comm)];
        unsigned long flags;
  
-+      pax_track_stack();
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      if (current->exec_id != m->exec_id) {
++              gr_log_badprocpid("stat");
++              return 0;
++      }
++#endif
 +
        state = *get_task_state(task);
        vsize = eip = esp = 0;
        permitted = ptrace_may_access(task, PTRACE_MODE_READ);
-@@ -449,6 +482,19 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
+@@ -449,6 +487,19 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
                gtime = task->gtime;
        }
  
@@ -47833,7 +48034,7 @@ index 3a1dafd..c7fed72 100644
        /* scale priority and nice values from timeslices to -20..20 */
        /* to make it look like a "normal" Unix priority/nice value  */
        priority = task_prio(task);
-@@ -489,9 +535,15 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
+@@ -489,9 +540,15 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
                vsize,
                mm ? get_mm_rss(mm) : 0,
                rsslim,
@@ -47849,7 +48050,24 @@ index 3a1dafd..c7fed72 100644
                esp,
                eip,
                /* The signal information here is obsolete.
-@@ -544,3 +596,18 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
+@@ -533,8 +590,15 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
+                       struct pid *pid, struct task_struct *task)
+ {
+       unsigned long size = 0, resident = 0, shared = 0, text = 0, data = 0;
+-      struct mm_struct *mm = get_task_mm(task);
++      struct mm_struct *mm;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      if (current->exec_id != m->exec_id) {
++              gr_log_badprocpid("statm");
++              return 0;
++      }
++#endif
++      mm = get_task_mm(task);
+       if (mm) {
+               size = task_statm(mm, &shared, &text, &data, &resident);
+               mmput(mm);
+@@ -544,3 +608,18 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
  
        return 0;
  }
@@ -47869,7 +48087,7 @@ index 3a1dafd..c7fed72 100644
 +}
 +#endif
 diff --git a/fs/proc/base.c b/fs/proc/base.c
-index 5eb0206..fe01db4 100644
+index 1ace83d..f5e575d 100644
 --- a/fs/proc/base.c
 +++ b/fs/proc/base.c
 @@ -107,6 +107,22 @@ struct pid_entry {
@@ -47895,17 +48113,34 @@ index 5eb0206..fe01db4 100644
  #define NOD(NAME, MODE, IOP, FOP, OP) {                       \
        .name = (NAME),                                 \
        .len  = sizeof(NAME) - 1,                       \
-@@ -209,6 +225,9 @@ static struct mm_struct *__check_mem_permission(struct task_struct *task)
-       if (task == current)
-               return mm;
+@@ -194,26 +210,6 @@ static int proc_root_link(struct inode *inode, struct path *path)
+       return result;
+ }
  
-+      if (gr_handle_proc_ptrace(task) || gr_acl_handle_procpidmem(task))
-+              return ERR_PTR(-EPERM);
-+
-       /*
-        * If current is actively ptrace'ing, and would also be
-        * permitted to freshly attach with ptrace now, permit it.
-@@ -282,6 +301,9 @@ static int proc_pid_cmdline(struct task_struct *task, char * buffer)
+-static struct mm_struct *mm_access(struct task_struct *task, unsigned int mode)
+-{
+-      struct mm_struct *mm;
+-      int err;
+-
+-      err =  mutex_lock_killable(&task->signal->cred_guard_mutex);
+-      if (err)
+-              return ERR_PTR(err);
+-
+-      mm = get_task_mm(task);
+-      if (mm && mm != current->mm &&
+-                      !ptrace_may_access(task, mode)) {
+-              mmput(mm);
+-              mm = ERR_PTR(-EACCES);
+-      }
+-      mutex_unlock(&task->signal->cred_guard_mutex);
+-
+-      return mm;
+-}
+-
+ struct mm_struct *mm_for_maps(struct task_struct *task)
+ {
+       return mm_access(task, PTRACE_MODE_READ);
+@@ -229,6 +225,9 @@ static int proc_pid_cmdline(struct task_struct *task, char * buffer)
        if (!mm->arg_end)
                goto out_mm;    /* Shh! No looking before we're done */
  
@@ -47915,7 +48150,7 @@ index 5eb0206..fe01db4 100644
        len = mm->arg_end - mm->arg_start;
   
        if (len > PAGE_SIZE)
-@@ -309,12 +331,28 @@ out:
+@@ -256,12 +255,28 @@ out:
        return res;
  }
  
@@ -47944,7 +48179,7 @@ index 5eb0206..fe01db4 100644
                do {
                        nwords += 2;
                } while (mm->saved_auxv[nwords - 2] != 0); /* AT_NULL */
-@@ -328,7 +366,7 @@ static int proc_pid_auxv(struct task_struct *task, char *buffer)
+@@ -275,7 +290,7 @@ static int proc_pid_auxv(struct task_struct *task, char *buffer)
  }
  
  
@@ -47953,7 +48188,7 @@ index 5eb0206..fe01db4 100644
  /*
   * Provides a wchan file via kallsyms in a proper one-value-per-file format.
   * Returns the resolved symbol.  If that fails, simply return the address.
-@@ -367,7 +405,7 @@ static void unlock_trace(struct task_struct *task)
+@@ -314,7 +329,7 @@ static void unlock_trace(struct task_struct *task)
        mutex_unlock(&task->signal->cred_guard_mutex);
  }
  
@@ -47962,7 +48197,7 @@ index 5eb0206..fe01db4 100644
  
  #define MAX_STACK_TRACE_DEPTH 64
  
-@@ -558,7 +596,7 @@ static int proc_pid_limits(struct task_struct *task, char *buffer)
+@@ -505,7 +520,7 @@ static int proc_pid_limits(struct task_struct *task, char *buffer)
        return count;
  }
  
@@ -47971,7 +48206,7 @@ index 5eb0206..fe01db4 100644
  static int proc_pid_syscall(struct task_struct *task, char *buffer)
  {
        long nr;
-@@ -587,7 +625,7 @@ static int proc_pid_syscall(struct task_struct *task, char *buffer)
+@@ -534,7 +549,7 @@ static int proc_pid_syscall(struct task_struct *task, char *buffer)
  /************************************************************************/
  
  /* permission checks */
@@ -47980,7 +48215,7 @@ index 5eb0206..fe01db4 100644
  {
        struct task_struct *task;
        int allowed = 0;
-@@ -597,7 +635,10 @@ static int proc_fd_access_allowed(struct inode *inode)
+@@ -544,7 +559,10 @@ static int proc_fd_access_allowed(struct inode *inode)
         */
        task = get_proc_task(inode);
        if (task) {
@@ -47992,7 +48227,36 @@ index 5eb0206..fe01db4 100644
                put_task_struct(task);
        }
        return allowed;
-@@ -978,6 +1019,9 @@ static ssize_t environ_read(struct file *file, char __user *buf,
+@@ -786,6 +804,10 @@ static int mem_open(struct inode* inode, struct file* file)
+       file->f_mode |= FMODE_UNSIGNED_OFFSET;
+       file->private_data = mm;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      file->f_version = current->exec_id;
++#endif
++
+       return 0;
+ }
+@@ -797,6 +819,17 @@ static ssize_t mem_rw(struct file *file, char __user *buf,
+       ssize_t copied;
+       char *page;
++#ifdef CONFIG_GRKERNSEC
++      if (write)
++              return -EPERM;
++#endif
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      if (file->f_version != current->exec_id) {
++              gr_log_badprocpid("mem");
++              return 0;
++      }
++#endif
++
+       if (!mm)
+               return 0;
+@@ -897,6 +930,9 @@ static ssize_t environ_read(struct file *file, char __user *buf,
        if (!task)
                goto out_no_task;
  
@@ -48002,7 +48266,7 @@ index 5eb0206..fe01db4 100644
        ret = -ENOMEM;
        page = (char *)__get_free_page(GFP_TEMPORARY);
        if (!page)
-@@ -1613,7 +1657,7 @@ static void *proc_pid_follow_link(struct dentry *dentry, struct nameidata *nd)
+@@ -1519,7 +1555,7 @@ static void *proc_pid_follow_link(struct dentry *dentry, struct nameidata *nd)
        path_put(&nd->path);
  
        /* Are we allowed to snoop on the tasks file descriptors? */
@@ -48011,7 +48275,7 @@ index 5eb0206..fe01db4 100644
                goto out;
  
        error = PROC_I(inode)->op.proc_get_link(inode, &nd->path);
-@@ -1652,8 +1696,18 @@ static int proc_pid_readlink(struct dentry * dentry, char __user * buffer, int b
+@@ -1558,8 +1594,18 @@ static int proc_pid_readlink(struct dentry * dentry, char __user * buffer, int b
        struct path path;
  
        /* Are we allowed to snoop on the tasks file descriptors? */
@@ -48032,7 +48296,7 @@ index 5eb0206..fe01db4 100644
  
        error = PROC_I(inode)->op.proc_get_link(inode, &path);
        if (error)
-@@ -1718,7 +1772,11 @@ struct inode *proc_pid_make_inode(struct super_block * sb, struct task_struct *t
+@@ -1624,7 +1670,11 @@ struct inode *proc_pid_make_inode(struct super_block * sb, struct task_struct *t
                rcu_read_lock();
                cred = __task_cred(task);
                inode->i_uid = cred->euid;
@@ -48044,7 +48308,7 @@ index 5eb0206..fe01db4 100644
                rcu_read_unlock();
        }
        security_task_to_inode(task, inode);
-@@ -1736,6 +1794,9 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
+@@ -1642,6 +1692,9 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
        struct inode *inode = dentry->d_inode;
        struct task_struct *task;
        const struct cred *cred;
@@ -48054,7 +48318,7 @@ index 5eb0206..fe01db4 100644
  
        generic_fillattr(inode, stat);
  
-@@ -1743,13 +1804,41 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
+@@ -1649,13 +1702,41 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
        stat->uid = 0;
        stat->gid = 0;
        task = pid_task(proc_pid(inode), PIDTYPE_PID);
@@ -48097,7 +48361,7 @@ index 5eb0206..fe01db4 100644
        }
        rcu_read_unlock();
        return 0;
-@@ -1786,11 +1875,20 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd)
+@@ -1692,11 +1773,20 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd)
  
        if (task) {
                if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) ||
@@ -48118,7 +48382,7 @@ index 5eb0206..fe01db4 100644
                        rcu_read_unlock();
                } else {
                        inode->i_uid = 0;
-@@ -1908,7 +2006,8 @@ static int proc_fd_info(struct inode *inode, struct path *path, char *info)
+@@ -1814,7 +1904,8 @@ static int proc_fd_info(struct inode *inode, struct path *path, char *info)
        int fd = proc_fd(inode);
  
        if (task) {
@@ -48128,7 +48392,7 @@ index 5eb0206..fe01db4 100644
                put_task_struct(task);
        }
        if (files) {
-@@ -2176,11 +2275,21 @@ static const struct file_operations proc_fd_operations = {
+@@ -2082,11 +2173,21 @@ static const struct file_operations proc_fd_operations = {
   */
  static int proc_fd_permission(struct inode *inode, int mask)
  {
@@ -48152,7 +48416,7 @@ index 5eb0206..fe01db4 100644
        return rv;
  }
  
-@@ -2290,6 +2399,9 @@ static struct dentry *proc_pident_lookup(struct inode *dir,
+@@ -2196,6 +2297,9 @@ static struct dentry *proc_pident_lookup(struct inode *dir,
        if (!task)
                goto out_no_task;
  
@@ -48162,7 +48426,7 @@ index 5eb0206..fe01db4 100644
        /*
         * Yes, it does not scale. And it should not. Don't add
         * new entries into /proc/<tgid>/ without very good reasons.
-@@ -2334,6 +2446,9 @@ static int proc_pident_readdir(struct file *filp,
+@@ -2240,6 +2344,9 @@ static int proc_pident_readdir(struct file *filp,
        if (!task)
                goto out_no_task;
  
@@ -48172,7 +48436,7 @@ index 5eb0206..fe01db4 100644
        ret = 0;
        i = filp->f_pos;
        switch (i) {
-@@ -2604,7 +2719,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
+@@ -2510,7 +2617,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
  static void proc_self_put_link(struct dentry *dentry, struct nameidata *nd,
                                void *cookie)
  {
@@ -48181,7 +48445,7 @@ index 5eb0206..fe01db4 100644
        if (!IS_ERR(s))
                __putname(s);
  }
-@@ -2802,7 +2917,7 @@ static const struct pid_entry tgid_base_stuff[] = {
+@@ -2708,7 +2815,7 @@ static const struct pid_entry tgid_base_stuff[] = {
        REG("autogroup",  S_IRUGO|S_IWUSR, proc_pid_sched_autogroup_operations),
  #endif
        REG("comm",      S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -48190,7 +48454,7 @@ index 5eb0206..fe01db4 100644
        INF("syscall",    S_IRUGO, proc_pid_syscall),
  #endif
        INF("cmdline",    S_IRUGO, proc_pid_cmdline),
-@@ -2827,10 +2942,10 @@ static const struct pid_entry tgid_base_stuff[] = {
+@@ -2733,10 +2840,10 @@ static const struct pid_entry tgid_base_stuff[] = {
  #ifdef CONFIG_SECURITY
        DIR("attr",       S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
  #endif
@@ -48203,7 +48467,7 @@ index 5eb0206..fe01db4 100644
        ONE("stack",      S_IRUGO, proc_pid_stack),
  #endif
  #ifdef CONFIG_SCHEDSTATS
-@@ -2864,6 +2979,9 @@ static const struct pid_entry tgid_base_stuff[] = {
+@@ -2770,6 +2877,9 @@ static const struct pid_entry tgid_base_stuff[] = {
  #ifdef CONFIG_HARDWALL
        INF("hardwall",   S_IRUGO, proc_pid_hardwall),
  #endif
@@ -48213,7 +48477,7 @@ index 5eb0206..fe01db4 100644
  };
  
  static int proc_tgid_base_readdir(struct file * filp,
-@@ -2989,7 +3107,14 @@ static struct dentry *proc_pid_instantiate(struct inode *dir,
+@@ -2895,7 +3005,14 @@ static struct dentry *proc_pid_instantiate(struct inode *dir,
        if (!inode)
                goto out;
  
@@ -48228,7 +48492,7 @@ index 5eb0206..fe01db4 100644
        inode->i_op = &proc_tgid_base_inode_operations;
        inode->i_fop = &proc_tgid_base_operations;
        inode->i_flags|=S_IMMUTABLE;
-@@ -3031,7 +3156,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct
+@@ -2937,7 +3054,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct
        if (!task)
                goto out;
  
@@ -48240,7 +48504,7 @@ index 5eb0206..fe01db4 100644
        put_task_struct(task);
  out:
        return result;
-@@ -3096,6 +3225,11 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
+@@ -3002,6 +3123,11 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
  {
        unsigned int nr;
        struct task_struct *reaper;
@@ -48252,7 +48516,7 @@ index 5eb0206..fe01db4 100644
        struct tgid_iter iter;
        struct pid_namespace *ns;
  
-@@ -3119,8 +3253,27 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
+@@ -3025,8 +3151,27 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir)
        for (iter = next_tgid(ns, iter);
             iter.task;
             iter.tgid += 1, iter = next_tgid(ns, iter)) {
@@ -48281,7 +48545,7 @@ index 5eb0206..fe01db4 100644
                        put_task_struct(iter.task);
                        goto out;
                }
-@@ -3148,7 +3301,7 @@ static const struct pid_entry tid_base_stuff[] = {
+@@ -3054,7 +3199,7 @@ static const struct pid_entry tid_base_stuff[] = {
        REG("sched",     S_IRUGO|S_IWUSR, proc_pid_sched_operations),
  #endif
        REG("comm",      S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -48290,7 +48554,7 @@ index 5eb0206..fe01db4 100644
        INF("syscall",   S_IRUGO, proc_pid_syscall),
  #endif
        INF("cmdline",   S_IRUGO, proc_pid_cmdline),
-@@ -3172,10 +3325,10 @@ static const struct pid_entry tid_base_stuff[] = {
+@@ -3078,10 +3223,10 @@ static const struct pid_entry tid_base_stuff[] = {
  #ifdef CONFIG_SECURITY
        DIR("attr",      S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
  #endif
@@ -48336,7 +48600,7 @@ index b143471..bb105e5 100644
  }
  module_init(proc_devices_init);
 diff --git a/fs/proc/inode.c b/fs/proc/inode.c
-index 7ed72d6..d5f061a 100644
+index 7737c54..7172574 100644
 --- a/fs/proc/inode.c
 +++ b/fs/proc/inode.c
 @@ -18,12 +18,18 @@
@@ -48399,19 +48663,10 @@ index 7838e5c..ff92cbc 100644
  
  extern const struct file_operations proc_maps_operations;
 diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
-index d245cb2..7e645bd 100644
+index d245cb2..f4e8498 100644
 --- a/fs/proc/kcore.c
 +++ b/fs/proc/kcore.c
-@@ -321,6 +321,8 @@ static void elf_kcore_store_hdr(char *bufp, int nphdr, int dataoff)
-       off_t offset = 0;
-       struct kcore_list *m;
-+      pax_track_stack();
-+
-       /* setup ELF header */
-       elf = (struct elfhdr *) bufp;
-       bufp += sizeof(struct elfhdr);
-@@ -478,9 +480,10 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
+@@ -478,9 +478,10 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
         * the addresses in the elf_phdr on our list.
         */
        start = kc_offset_to_vaddr(*fpos - elf_buflen);
@@ -48424,7 +48679,7 @@ index d245cb2..7e645bd 100644
        while (buflen) {
                struct kcore_list *m;
  
-@@ -509,20 +512,23 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
+@@ -509,20 +510,23 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
                        kfree(elf_buf);
                } else {
                        if (kern_addr_valid(start)) {
@@ -48459,7 +48714,7 @@ index d245cb2..7e645bd 100644
                        } else {
                                if (clear_user(buffer, tsz))
                                        return -EFAULT;
-@@ -542,6 +548,9 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
+@@ -542,6 +546,9 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
  
  static int open_kcore(struct inode *inode, struct file *filp)
  {
@@ -48470,19 +48725,10 @@ index d245cb2..7e645bd 100644
                return -EPERM;
        if (kcore_need_update)
 diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
-index 5861741..32c53bc 100644
+index 80e4645..53e5fcf 100644
 --- a/fs/proc/meminfo.c
 +++ b/fs/proc/meminfo.c
-@@ -29,6 +29,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
-       unsigned long pages[NR_LRU_LISTS];
-       int lru;
-+      pax_track_stack();
-+
- /*
-  * display in kilobytes.
-  */
-@@ -157,7 +159,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
+@@ -158,7 +158,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
                vmi.used >> 10,
                vmi.largest_chunk >> 10
  #ifdef CONFIG_MEMORY_FAILURE
@@ -48527,10 +48773,10 @@ index f738024..876984a 100644
        rcu_read_lock();
        task = pid_task(proc_pid(dir), PIDTYPE_PID);
 diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
-index 1a77dbe..56ec911 100644
+index a6b6217..1e0579d 100644
 --- a/fs/proc/proc_sysctl.c
 +++ b/fs/proc/proc_sysctl.c
-@@ -8,11 +8,13 @@
+@@ -9,11 +9,13 @@
  #include <linux/namei.h>
  #include "internal.h"
  
@@ -48544,9 +48790,9 @@ index 1a77dbe..56ec911 100644
 -static const struct inode_operations proc_sys_dir_operations;
 +const struct inode_operations proc_sys_dir_operations;
  
- static struct inode *proc_sys_make_inode(struct super_block *sb,
-               struct ctl_table_header *head, struct ctl_table *table)
-@@ -121,8 +123,14 @@ static struct dentry *proc_sys_lookup(struct inode *dir, struct dentry *dentry,
+ void proc_sys_poll_notify(struct ctl_table_poll *poll)
+ {
+@@ -131,8 +133,14 @@ static struct dentry *proc_sys_lookup(struct inode *dir, struct dentry *dentry,
  
        err = NULL;
        d_set_d_op(dentry, &proc_sys_dentry_operations);
@@ -48561,7 +48807,20 @@ index 1a77dbe..56ec911 100644
  out:
        sysctl_head_finish(head);
        return err;
-@@ -202,6 +210,9 @@ static int proc_sys_fill_cache(struct file *filp, void *dirent,
+@@ -163,6 +171,12 @@ static ssize_t proc_sys_call_handler(struct file *filp, void __user *buf,
+       if (!table->proc_handler)
+               goto out;
++#ifdef CONFIG_GRKERNSEC
++      error = -EPERM;
++      if (write && !capable(CAP_SYS_ADMIN))
++              goto out;
++#endif
++
+       /* careful: calling conventions are nasty here */
+       res = count;
+       error = table->proc_handler(table, write, buf, &res, ppos);
+@@ -245,6 +259,9 @@ static int proc_sys_fill_cache(struct file *filp, void *dirent,
                                return -ENOMEM;
                        } else {
                                d_set_d_op(child, &proc_sys_dentry_operations);
@@ -48571,7 +48830,7 @@ index 1a77dbe..56ec911 100644
                                d_add(child, inode);
                        }
                } else {
-@@ -230,6 +241,9 @@ static int scan(struct ctl_table_header *head, ctl_table *table,
+@@ -273,6 +290,9 @@ static int scan(struct ctl_table_header *head, ctl_table *table,
                if (*pos < file->f_pos)
                        continue;
  
@@ -48581,7 +48840,7 @@ index 1a77dbe..56ec911 100644
                res = proc_sys_fill_cache(file, dirent, filldir, head, table);
                if (res)
                        return res;
-@@ -355,6 +369,9 @@ static int proc_sys_getattr(struct vfsmount *mnt, struct dentry *dentry, struct
+@@ -398,6 +418,9 @@ static int proc_sys_getattr(struct vfsmount *mnt, struct dentry *dentry, struct
        if (IS_ERR(head))
                return PTR_ERR(head);
  
@@ -48591,12 +48850,7 @@ index 1a77dbe..56ec911 100644
        generic_fillattr(inode, stat);
        if (table)
                stat->mode = (stat->mode & S_IFMT) | table->mode;
-@@ -370,17 +387,18 @@ static const struct file_operations proc_sys_file_operations = {
- };
- static const struct file_operations proc_sys_dir_file_operations = {
-+      .read           = generic_read_dir,
-       .readdir        = proc_sys_readdir,
+@@ -420,13 +443,13 @@ static const struct file_operations proc_sys_dir_file_operations = {
        .llseek         = generic_file_llseek,
  };
  
@@ -48613,10 +48867,10 @@ index 1a77dbe..56ec911 100644
        .permission     = proc_sys_permission,
        .setattr        = proc_sys_setattr,
 diff --git a/fs/proc/root.c b/fs/proc/root.c
-index 9a8a2b7..3018df6 100644
+index 03102d9..4ae347e 100644
 --- a/fs/proc/root.c
 +++ b/fs/proc/root.c
-@@ -123,7 +123,15 @@ void __init proc_root_init(void)
+@@ -121,7 +121,15 @@ void __init proc_root_init(void)
  #ifdef CONFIG_PROC_DEVICETREE
        proc_device_tree_init();
  #endif
@@ -48633,10 +48887,18 @@ index 9a8a2b7..3018df6 100644
  }
  
 diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
-index c7d4ee6..41c5564 100644
+index 7dcd2a2..b2f410e 100644
 --- a/fs/proc/task_mmu.c
 +++ b/fs/proc/task_mmu.c
-@@ -51,8 +51,13 @@ void task_mem(struct seq_file *m, struct mm_struct *mm)
+@@ -11,6 +11,7 @@
+ #include <linux/rmap.h>
+ #include <linux/swap.h>
+ #include <linux/swapops.h>
++#include <linux/grsecurity.h>
+ #include <asm/elf.h>
+ #include <asm/uaccess.h>
+@@ -52,8 +53,13 @@ void task_mem(struct seq_file *m, struct mm_struct *mm)
                "VmExe:\t%8lu kB\n"
                "VmLib:\t%8lu kB\n"
                "VmPTE:\t%8lu kB\n"
@@ -48651,8 +48913,8 @@ index c7d4ee6..41c5564 100644
 +              ,hiwater_vm << (PAGE_SHIFT-10),
                (total_vm - mm->reserved_vm) << (PAGE_SHIFT-10),
                mm->locked_vm << (PAGE_SHIFT-10),
-               hiwater_rss << (PAGE_SHIFT-10),
-@@ -60,7 +65,13 @@ void task_mem(struct seq_file *m, struct mm_struct *mm)
+               mm->pinned_vm << (PAGE_SHIFT-10),
+@@ -62,7 +68,13 @@ void task_mem(struct seq_file *m, struct mm_struct *mm)
                data << (PAGE_SHIFT-10),
                mm->stack_vm << (PAGE_SHIFT-10), text, lib,
                (PTRS_PER_PTE*sizeof(pte_t)*mm->nr_ptes) >> 10,
@@ -48667,7 +48929,7 @@ index c7d4ee6..41c5564 100644
  }
  
  unsigned long task_vsize(struct mm_struct *mm)
-@@ -207,6 +218,12 @@ static int do_maps_open(struct inode *inode, struct file *file,
+@@ -209,6 +221,12 @@ static int do_maps_open(struct inode *inode, struct file *file,
        return ret;
  }
  
@@ -48680,7 +48942,7 @@ index c7d4ee6..41c5564 100644
  static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
  {
        struct mm_struct *mm = vma->vm_mm;
-@@ -225,13 +242,13 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
+@@ -227,13 +245,13 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
                pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
        }
  
@@ -48699,7 +48961,7 @@ index c7d4ee6..41c5564 100644
  
        seq_printf(m, "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu %n",
                        start,
-@@ -240,7 +257,11 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
+@@ -242,7 +260,11 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
                        flags & VM_WRITE ? 'w' : '-',
                        flags & VM_EXEC ? 'x' : '-',
                        flags & VM_MAYSHARE ? 's' : 'p',
@@ -48711,7 +48973,7 @@ index c7d4ee6..41c5564 100644
                        MAJOR(dev), MINOR(dev), ino, &len);
  
        /*
-@@ -249,7 +270,7 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
+@@ -251,7 +273,7 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
         */
        if (file) {
                pad_len_spaces(m, len);
@@ -48720,7 +48982,7 @@ index c7d4ee6..41c5564 100644
        } else {
                const char *name = arch_vma_name(vma);
                if (!name) {
-@@ -257,8 +278,9 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
+@@ -259,8 +281,9 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
                                if (vma->vm_start <= mm->brk &&
                                                vma->vm_end >= mm->start_brk) {
                                        name = "[heap]";
@@ -48732,9 +48994,30 @@ index c7d4ee6..41c5564 100644
                                        name = "[stack]";
                                }
                        } else {
-@@ -433,11 +455,16 @@ static int show_smap(struct seq_file *m, void *v)
+@@ -281,6 +304,13 @@ static int show_map(struct seq_file *m, void *v)
+       struct proc_maps_private *priv = m->private;
+       struct task_struct *task = priv->task;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      if (current->exec_id != m->exec_id) {
++              gr_log_badprocpid("maps");
++              return 0;
++      }
++#endif
++
+       show_map_vma(m, vma);
+       if (m->count < m->size)  /* vma is copied successfully */
+@@ -434,12 +464,23 @@ static int show_smap(struct seq_file *m, void *v)
+               .private = &mss,
        };
  
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      if (current->exec_id != m->exec_id) {
++              gr_log_badprocpid("smaps");
++              return 0;
++      }
++#endif
        memset(&mss, 0, sizeof mss);
 -      mss.vma = vma;
 -      /* mmap_sem is held in m_start */
@@ -48754,7 +49037,7 @@ index c7d4ee6..41c5564 100644
        show_map_vma(m, vma);
  
        seq_printf(m,
-@@ -455,7 +482,11 @@ static int show_smap(struct seq_file *m, void *v)
+@@ -457,7 +498,11 @@ static int show_smap(struct seq_file *m, void *v)
                   "KernelPageSize: %8lu kB\n"
                   "MMUPageSize:    %8lu kB\n"
                   "Locked:         %8lu kB\n",
@@ -48766,7 +49049,29 @@ index c7d4ee6..41c5564 100644
                   mss.resident >> 10,
                   (unsigned long)(mss.pss >> (10 + PSS_SHIFT)),
                   mss.shared_clean  >> 10,
-@@ -1031,7 +1062,7 @@ static int show_numa_map(struct seq_file *m, void *v)
+@@ -1015,6 +1060,13 @@ static int show_numa_map(struct seq_file *m, void *v)
+       int n;
+       char buffer[50];
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      if (current->exec_id != m->exec_id) {
++              gr_log_badprocpid("numa_maps");
++              return 0;
++      }
++#endif
++
+       if (!mm)
+               return 0;
+@@ -1032,11 +1084,15 @@ static int show_numa_map(struct seq_file *m, void *v)
+       mpol_to_str(buffer, sizeof(buffer), pol, 0);
+       mpol_cond_put(pol);
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      seq_printf(m, "%08lx %s", PAX_RAND_FLAGS(vma->vm_mm) ? 0UL : vma->vm_start, buffer);
++#else
+       seq_printf(m, "%08lx %s", vma->vm_start, buffer);
++#endif
  
        if (file) {
                seq_printf(m, " file=");
@@ -48921,19 +49226,6 @@ index 356f715..c918d38 100644
                if (__put_user(d_off, &lastdirent->d_off))
                        error = -EFAULT;
                else
-diff --git a/fs/reiserfs/dir.c b/fs/reiserfs/dir.c
-index 133e935..349ef18 100644
---- a/fs/reiserfs/dir.c
-+++ b/fs/reiserfs/dir.c
-@@ -75,6 +75,8 @@ int reiserfs_readdir_dentry(struct dentry *dentry, void *dirent,
-       struct reiserfs_dir_entry de;
-       int ret = 0;
-+      pax_track_stack();
-+
-       reiserfs_write_lock(inode->i_sb);
-       reiserfs_check_lock_depth(inode->i_sb, "readdir");
 diff --git a/fs/reiserfs/do_balan.c b/fs/reiserfs/do_balan.c
 index 60c0804..d814f98 100644
 --- a/fs/reiserfs/do_balan.c
@@ -48947,34 +49239,8 @@ index 60c0804..d814f98 100644
        do_balance_starts(tb);
  
        /* balance leaf returns 0 except if combining L R and S into
-diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
-index a159ba5..0396a76 100644
---- a/fs/reiserfs/journal.c
-+++ b/fs/reiserfs/journal.c
-@@ -2289,6 +2289,8 @@ static struct buffer_head *reiserfs_breada(struct block_device *dev,
-       struct buffer_head *bh;
-       int i, j;
-+      pax_track_stack();
-+
-       bh = __getblk(dev, block, bufsize);
-       if (buffer_uptodate(bh))
-               return (bh);
-diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c
-index ef39232..0fa91ba 100644
---- a/fs/reiserfs/namei.c
-+++ b/fs/reiserfs/namei.c
-@@ -1225,6 +1225,8 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
-       unsigned long savelink = 1;
-       struct timespec ctime;
-+      pax_track_stack();
-+
-       /* three balancings: (1) old name removal, (2) new name insertion
-          and (3) maybe "save" link insertion
-          stat data updates: (1) old directory,
 diff --git a/fs/reiserfs/procfs.c b/fs/reiserfs/procfs.c
-index 7a99811..2c9286f 100644
+index 7a99811..a7c96c4 100644
 --- a/fs/reiserfs/procfs.c
 +++ b/fs/reiserfs/procfs.c
 @@ -113,7 +113,7 @@ static int show_super(struct seq_file *m, struct super_block *sb)
@@ -48986,79 +49252,8 @@ index 7a99811..2c9286f 100644
                   SF(s_disk_reads), SF(s_disk_writes), SF(s_fix_nodes),
                   SF(s_do_balance), SF(s_unneeded_left_neighbor),
                   SF(s_good_search_by_key_reada), SF(s_bmaps),
-@@ -299,6 +299,8 @@ static int show_journal(struct seq_file *m, struct super_block *sb)
-       struct journal_params *jp = &rs->s_v1.s_journal;
-       char b[BDEVNAME_SIZE];
-+      pax_track_stack();
-+
-       seq_printf(m,           /* on-disk fields */
-                  "jp_journal_1st_block: \t%i\n"
-                  "jp_journal_dev: \t%s[%x]\n"
-diff --git a/fs/reiserfs/stree.c b/fs/reiserfs/stree.c
-index 313d39d..3a5811b 100644
---- a/fs/reiserfs/stree.c
-+++ b/fs/reiserfs/stree.c
-@@ -1196,6 +1196,8 @@ int reiserfs_delete_item(struct reiserfs_transaction_handle *th,
-       int iter = 0;
- #endif
-+      pax_track_stack();
-+
-       BUG_ON(!th->t_trans_id);
-       init_tb_struct(th, &s_del_balance, sb, path,
-@@ -1333,6 +1335,8 @@ void reiserfs_delete_solid_item(struct reiserfs_transaction_handle *th,
-       int retval;
-       int quota_cut_bytes = 0;
-+      pax_track_stack();
-+
-       BUG_ON(!th->t_trans_id);
-       le_key2cpu_key(&cpu_key, key);
-@@ -1562,6 +1566,8 @@ int reiserfs_cut_from_item(struct reiserfs_transaction_handle *th,
-       int quota_cut_bytes;
-       loff_t tail_pos = 0;
-+      pax_track_stack();
-+
-       BUG_ON(!th->t_trans_id);
-       init_tb_struct(th, &s_cut_balance, inode->i_sb, path,
-@@ -1957,6 +1963,8 @@ int reiserfs_paste_into_item(struct reiserfs_transaction_handle *th, struct tree
-       int retval;
-       int fs_gen;
-+      pax_track_stack();
-+
-       BUG_ON(!th->t_trans_id);
-       fs_gen = get_generation(inode->i_sb);
-@@ -2045,6 +2053,8 @@ int reiserfs_insert_item(struct reiserfs_transaction_handle *th,
-       int fs_gen = 0;
-       int quota_bytes = 0;
-+      pax_track_stack();
-+
-       BUG_ON(!th->t_trans_id);
-       if (inode) {            /* Do we count quotas for item? */
-diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
-index 14363b9..dd95a04 100644
---- a/fs/reiserfs/super.c
-+++ b/fs/reiserfs/super.c
-@@ -927,6 +927,8 @@ static int reiserfs_parse_options(struct super_block *s, char *options,    /* strin
-               {.option_name = NULL}
-       };
-+      pax_track_stack();
-+
-       *blocks = 0;
-       if (!options || !*options)
-               /* use default configuration: create tails, journaling on, no
 diff --git a/fs/select.c b/fs/select.c
-index d33418f..f8e06bc 100644
+index d33418f..2a5345e 100644
 --- a/fs/select.c
 +++ b/fs/select.c
 @@ -20,6 +20,7 @@
@@ -49069,78 +49264,36 @@ index d33418f..f8e06bc 100644
  #include <linux/personality.h> /* for STICKY_TIMEOUTS */
  #include <linux/file.h>
  #include <linux/fdtable.h>
-@@ -403,6 +404,8 @@ int do_select(int n, fd_set_bits *fds, struct timespec *end_time)
-       int retval, i, timed_out = 0;
-       unsigned long slack = 0;
-+      pax_track_stack();
-+
-       rcu_read_lock();
-       retval = max_select_fd(n, fds);
-       rcu_read_unlock();
-@@ -528,6 +531,8 @@ int core_sys_select(int n, fd_set __user *inp, fd_set __user *outp,
-       /* Allocate small arguments on the stack to save memory and be faster */
-       long stack_fds[SELECT_STACK_ALLOC/sizeof(long)];
-+      pax_track_stack();
-+
-       ret = -EINVAL;
-       if (n < 0)
-               goto out_nofds;
-@@ -837,6 +842,9 @@ int do_sys_poll(struct pollfd __user *ufds, unsigned int nfds,
+@@ -837,6 +838,7 @@ int do_sys_poll(struct pollfd __user *ufds, unsigned int nfds,
        struct poll_list *walk = head;
        unsigned long todo = nfds;
  
-+      pax_track_stack();
-+
 +      gr_learn_resource(current, RLIMIT_NOFILE, nfds, 1);
        if (nfds > rlimit(RLIMIT_NOFILE))
                return -EINVAL;
  
 diff --git a/fs/seq_file.c b/fs/seq_file.c
-index 05d6b0e..ee96362 100644
+index dba43c3..4b3f701 100644
 --- a/fs/seq_file.c
 +++ b/fs/seq_file.c
-@@ -76,7 +76,8 @@ static int traverse(struct seq_file *m, loff_t offset)
-               return 0;
-       }
-       if (!m->buf) {
--              m->buf = kmalloc(m->size = PAGE_SIZE, GFP_KERNEL);
-+              m->size = PAGE_SIZE;
-+              m->buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
-               if (!m->buf)
-                       return -ENOMEM;
-       }
-@@ -116,7 +117,8 @@ static int traverse(struct seq_file *m, loff_t offset)
- Eoverflow:
-       m->op->stop(m, p);
-       kfree(m->buf);
--      m->buf = kmalloc(m->size <<= 1, GFP_KERNEL);
-+      m->size <<= 1;
-+      m->buf = kmalloc(m->size, GFP_KERNEL);
-       return !m->buf ? -ENOMEM : -EAGAIN;
- }
-@@ -169,7 +171,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
-       m->version = file->f_version;
-       /* grab buffer if we didn't have one */
-       if (!m->buf) {
--              m->buf = kmalloc(m->size = PAGE_SIZE, GFP_KERNEL);
-+              m->size = PAGE_SIZE;
-+              m->buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
-               if (!m->buf)
-                       goto Enomem;
-       }
-@@ -210,7 +213,8 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
-                       goto Fill;
-               m->op->stop(m, p);
-               kfree(m->buf);
--              m->buf = kmalloc(m->size <<= 1, GFP_KERNEL);
-+              m->size <<= 1;
-+              m->buf = kmalloc(m->size, GFP_KERNEL);
-               if (!m->buf)
-                       goto Enomem;
-               m->count = 0;
+@@ -9,6 +9,7 @@
+ #include <linux/module.h>
+ #include <linux/seq_file.h>
+ #include <linux/slab.h>
++#include <linux/sched.h>
+ #include <asm/uaccess.h>
+ #include <asm/page.h>
+@@ -40,6 +41,9 @@ int seq_open(struct file *file, const struct seq_operations *op)
+       memset(p, 0, sizeof(*p));
+       mutex_init(&p->lock);
+       p->op = op;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      p->exec_id = current->exec_id;
++#endif
+       /*
+        * Wrappers around seq_open(e.g. swaps_open) need to be
 @@ -549,7 +553,7 @@ static void single_stop(struct seq_file *p, void *v)
  int single_open(struct file *file, int (*show)(struct seq_file *, void *),
                void *data)
@@ -49151,7 +49304,7 @@ index 05d6b0e..ee96362 100644
  
        if (op) {
 diff --git a/fs/splice.c b/fs/splice.c
-index fa2defa..9a697a5 100644
+index fa2defa..8601650 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
 @@ -194,7 +194,7 @@ ssize_t splice_to_pipe(struct pipe_inode_info *pipe,
@@ -49175,16 +49328,7 @@ index fa2defa..9a697a5 100644
        }
  
        pipe_unlock(pipe);
-@@ -320,6 +320,8 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
-               .spd_release = spd_release_page,
-       };
-+      pax_track_stack();
-+
-       if (splice_grow_spd(pipe, &spd))
-               return -ENOMEM;
-@@ -560,7 +562,7 @@ static ssize_t kernel_readv(struct file *file, const struct iovec *vec,
+@@ -560,7 +560,7 @@ static ssize_t kernel_readv(struct file *file, const struct iovec *vec,
        old_fs = get_fs();
        set_fs(get_ds());
        /* The cast to a user pointer is valid due to the set_fs() */
@@ -49193,7 +49337,7 @@ index fa2defa..9a697a5 100644
        set_fs(old_fs);
  
        return res;
-@@ -575,7 +577,7 @@ static ssize_t kernel_write(struct file *file, const char *buf, size_t count,
+@@ -575,7 +575,7 @@ static ssize_t kernel_write(struct file *file, const char *buf, size_t count,
        old_fs = get_fs();
        set_fs(get_ds());
        /* The cast to a user pointer is valid due to the set_fs() */
@@ -49202,16 +49346,7 @@ index fa2defa..9a697a5 100644
        set_fs(old_fs);
  
        return res;
-@@ -603,6 +605,8 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
-               .spd_release = spd_release_page,
-       };
-+      pax_track_stack();
-+
-       if (splice_grow_spd(pipe, &spd))
-               return -ENOMEM;
-@@ -626,7 +630,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
+@@ -626,7 +626,7 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
                        goto err;
  
                this_len = min_t(size_t, len, PAGE_CACHE_SIZE - offset);
@@ -49220,7 +49355,7 @@ index fa2defa..9a697a5 100644
                vec[i].iov_len = this_len;
                spd.pages[i] = page;
                spd.nr_pages++;
-@@ -846,10 +850,10 @@ EXPORT_SYMBOL(splice_from_pipe_feed);
+@@ -846,10 +846,10 @@ EXPORT_SYMBOL(splice_from_pipe_feed);
  int splice_from_pipe_next(struct pipe_inode_info *pipe, struct splice_desc *sd)
  {
        while (!pipe->nrbufs) {
@@ -49233,7 +49368,7 @@ index fa2defa..9a697a5 100644
                        return 0;
  
                if (sd->flags & SPLICE_F_NONBLOCK)
-@@ -1182,7 +1186,7 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
+@@ -1182,7 +1182,7 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
                 * out of the pipe right after the splice_to_pipe(). So set
                 * PIPE_READERS appropriately.
                 */
@@ -49242,16 +49377,7 @@ index fa2defa..9a697a5 100644
  
                current->splice_pipe = pipe;
        }
-@@ -1619,6 +1623,8 @@ static long vmsplice_to_pipe(struct file *file, const struct iovec __user *iov,
-       };
-       long ret;
-+      pax_track_stack();
-+
-       pipe = get_pipe_info(file);
-       if (!pipe)
-               return -EBADF;
-@@ -1734,9 +1740,9 @@ static int ipipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
+@@ -1734,9 +1734,9 @@ static int ipipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
                        ret = -ERESTARTSYS;
                        break;
                }
@@ -49263,7 +49389,7 @@ index fa2defa..9a697a5 100644
                        if (flags & SPLICE_F_NONBLOCK) {
                                ret = -EAGAIN;
                                break;
-@@ -1768,7 +1774,7 @@ static int opipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
+@@ -1768,7 +1768,7 @@ static int opipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
        pipe_lock(pipe);
  
        while (pipe->nrbufs >= pipe->buffers) {
@@ -49272,7 +49398,7 @@ index fa2defa..9a697a5 100644
                        send_sig(SIGPIPE, current, 0);
                        ret = -EPIPE;
                        break;
-@@ -1781,9 +1787,9 @@ static int opipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
+@@ -1781,9 +1781,9 @@ static int opipe_prep(struct pipe_inode_info *pipe, unsigned int flags)
                        ret = -ERESTARTSYS;
                        break;
                }
@@ -49284,7 +49410,7 @@ index fa2defa..9a697a5 100644
        }
  
        pipe_unlock(pipe);
-@@ -1819,14 +1825,14 @@ retry:
+@@ -1819,14 +1819,14 @@ retry:
        pipe_double_lock(ipipe, opipe);
  
        do {
@@ -49301,7 +49427,7 @@ index fa2defa..9a697a5 100644
                        break;
  
                /*
-@@ -1923,7 +1929,7 @@ static int link_pipe(struct pipe_inode_info *ipipe,
+@@ -1923,7 +1923,7 @@ static int link_pipe(struct pipe_inode_info *ipipe,
        pipe_double_lock(ipipe, opipe);
  
        do {
@@ -49310,7 +49436,7 @@ index fa2defa..9a697a5 100644
                        send_sig(SIGPIPE, current, 0);
                        if (!ret)
                                ret = -EPIPE;
-@@ -1968,7 +1974,7 @@ static int link_pipe(struct pipe_inode_info *ipipe,
+@@ -1968,7 +1968,7 @@ static int link_pipe(struct pipe_inode_info *ipipe,
         * return EAGAIN if we have the potential of some data in the
         * future, otherwise just return 0
         */
@@ -49319,8 +49445,44 @@ index fa2defa..9a697a5 100644
                ret = -EAGAIN;
  
        pipe_unlock(ipipe);
+diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c
+index a475983..9c6a1f0 100644
+--- a/fs/sysfs/bin.c
++++ b/fs/sysfs/bin.c
+@@ -67,6 +67,8 @@ fill_read(struct file *file, char *buffer, loff_t off, size_t count)
+ }
+ static ssize_t
++read(struct file *file, char __user *userbuf, size_t bytes, loff_t *off) __size_overflow(3);
++static ssize_t
+ read(struct file *file, char __user *userbuf, size_t bytes, loff_t *off)
+ {
+       struct bin_buffer *bb = file->private_data;
+diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c
+index 7fdf6a7..e6cd8ad 100644
+--- a/fs/sysfs/dir.c
++++ b/fs/sysfs/dir.c
+@@ -642,6 +642,18 @@ static int create_dir(struct kobject *kobj, struct sysfs_dirent *parent_sd,
+       struct sysfs_dirent *sd;
+       int rc;
++#ifdef CONFIG_GRKERNSEC_SYSFS_RESTRICT
++      const char *parent_name = parent_sd->s_name;
++
++      mode = S_IFDIR | S_IRWXU;
++
++      if ((!strcmp(parent_name, "") && (!strcmp(name, "devices") || !strcmp(name, "fs"))) ||
++          (!strcmp(parent_name, "devices") && !strcmp(name, "system")) ||
++          (!strcmp(parent_name, "fs") && (!strcmp(name, "selinux") || !strcmp(name, "fuse"))) ||
++          (!strcmp(parent_name, "system") && !strcmp(name, "cpu")))
++              mode = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO;
++#endif
++
+       /* allocate */
+       sd = sysfs_new_dirent(name, mode, SYSFS_DIR);
+       if (!sd)
 diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
-index 1ad8c93..6633545 100644
+index 779789a..f58193c 100644
 --- a/fs/sysfs/file.c
 +++ b/fs/sysfs/file.c
 @@ -37,7 +37,7 @@ static DEFINE_SPINLOCK(sysfs_open_dirent_lock);
@@ -49368,22 +49530,6 @@ index 1ad8c93..6633545 100644
                wake_up_interruptible(&od->poll);
        }
  
-diff --git a/fs/sysfs/mount.c b/fs/sysfs/mount.c
-index e34f0d9..740ea7b 100644
---- a/fs/sysfs/mount.c
-+++ b/fs/sysfs/mount.c
-@@ -36,7 +36,11 @@ struct sysfs_dirent sysfs_root = {
-       .s_name         = "",
-       .s_count        = ATOMIC_INIT(1),
-       .s_flags        = SYSFS_DIR | (KOBJ_NS_TYPE_NONE << SYSFS_NS_TYPE_SHIFT),
-+#ifdef CONFIG_GRKERNSEC_SYSFS_RESTRICT
-+      .s_mode         = S_IFDIR | S_IRWXU,
-+#else
-       .s_mode         = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO,
-+#endif
-       .s_ino          = 1,
- };
 diff --git a/fs/sysfs/symlink.c b/fs/sysfs/symlink.c
 index a7ac78f..02158e1 100644
 --- a/fs/sysfs/symlink.c
@@ -49397,24 +49543,49 @@ index a7ac78f..02158e1 100644
        if (!IS_ERR(page))
                free_page((unsigned long)page);
  }
-diff --git a/fs/udf/inode.c b/fs/udf/inode.c
-index 1d1358e..408bedb 100644
---- a/fs/udf/inode.c
-+++ b/fs/udf/inode.c
-@@ -560,6 +560,8 @@ static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,
-       int goal = 0, pgoal = iinfo->i_location.logicalBlockNum;
-       int lastblock = 0;
-+      pax_track_stack();
-+
-       prev_epos.offset = udf_file_entry_alloc_offset(inode);
-       prev_epos.block = iinfo->i_location;
-       prev_epos.bh = NULL;
+diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c
+index b09ba2d..1cad1a8 100644
+--- a/fs/ubifs/debug.c
++++ b/fs/ubifs/debug.c
+@@ -2817,6 +2817,7 @@ static ssize_t dfs_file_read(struct file *file, char __user *u, size_t count,
+  * debugfs file. Returns %0 or %1 in case of success and a negative error code
+  * in case of failure.
+  */
++static int interpret_user_input(const char __user *u, size_t count) __size_overflow(2);
+ static int interpret_user_input(const char __user *u, size_t count)
+ {
+       size_t buf_size;
+@@ -2835,6 +2836,8 @@ static int interpret_user_input(const char __user *u, size_t count)
+ }
+ static ssize_t dfs_file_write(struct file *file, const char __user *u,
++                            size_t count, loff_t *ppos) __size_overflow(3);
++static ssize_t dfs_file_write(struct file *file, const char __user *u,
+                             size_t count, loff_t *ppos)
+ {
+       struct ubifs_info *c = file->private_data;
+diff --git a/fs/udf/file.c b/fs/udf/file.c
+index dca0c38..d567b84 100644
+--- a/fs/udf/file.c
++++ b/fs/udf/file.c
+@@ -201,12 +201,10 @@ out:
+ static int udf_release_file(struct inode *inode, struct file *filp)
+ {
+       if (filp->f_mode & FMODE_WRITE) {
+-              mutex_lock(&inode->i_mutex);
+               down_write(&UDF_I(inode)->i_data_sem);
+               udf_discard_prealloc(inode);
+               udf_truncate_tail_extent(inode);
+               up_write(&UDF_I(inode)->i_data_sem);
+-              mutex_unlock(&inode->i_mutex);
+       }
+       return 0;
+ }
 diff --git a/fs/udf/misc.c b/fs/udf/misc.c
-index 9215700..bf1f68e 100644
+index c175b4d..8f36a16 100644
 --- a/fs/udf/misc.c
 +++ b/fs/udf/misc.c
-@@ -286,7 +286,7 @@ void udf_new_tag(char *data, uint16_t ident, uint16_t version, uint16_t snum,
+@@ -289,7 +289,7 @@ void udf_new_tag(char *data, uint16_t ident, uint16_t version, uint16_t snum,
  
  u8 udf_tag_checksum(const struct tag *t)
  {
@@ -49449,10 +49620,10 @@ index ba653f3..06ea4b1 100644
        error = notify_change(path->dentry, &newattrs);
        mutex_unlock(&inode->i_mutex);
 diff --git a/fs/xattr.c b/fs/xattr.c
-index f060663..def7007 100644
+index 67583de..c5aad14 100644
 --- a/fs/xattr.c
 +++ b/fs/xattr.c
-@@ -254,7 +254,7 @@ EXPORT_SYMBOL_GPL(vfs_removexattr);
+@@ -315,7 +315,7 @@ EXPORT_SYMBOL_GPL(vfs_removexattr);
   * Extended attribute SET operations
   */
  static long
@@ -49461,7 +49632,7 @@ index f060663..def7007 100644
         size_t size, int flags)
  {
        int error;
-@@ -278,7 +278,13 @@ setxattr(struct dentry *d, const char __user *name, const void __user *value,
+@@ -339,7 +339,13 @@ setxattr(struct dentry *d, const char __user *name, const void __user *value,
                        return PTR_ERR(kvalue);
        }
  
@@ -49476,7 +49647,7 @@ index f060663..def7007 100644
        kfree(kvalue);
        return error;
  }
-@@ -295,7 +301,7 @@ SYSCALL_DEFINE5(setxattr, const char __user *, pathname,
+@@ -356,7 +362,7 @@ SYSCALL_DEFINE5(setxattr, const char __user *, pathname,
                return error;
        error = mnt_want_write(path.mnt);
        if (!error) {
@@ -49485,7 +49656,7 @@ index f060663..def7007 100644
                mnt_drop_write(path.mnt);
        }
        path_put(&path);
-@@ -314,7 +320,7 @@ SYSCALL_DEFINE5(lsetxattr, const char __user *, pathname,
+@@ -375,7 +381,7 @@ SYSCALL_DEFINE5(lsetxattr, const char __user *, pathname,
                return error;
        error = mnt_want_write(path.mnt);
        if (!error) {
@@ -49494,7 +49665,7 @@ index f060663..def7007 100644
                mnt_drop_write(path.mnt);
        }
        path_put(&path);
-@@ -325,17 +331,15 @@ SYSCALL_DEFINE5(fsetxattr, int, fd, const char __user *, name,
+@@ -386,17 +392,15 @@ SYSCALL_DEFINE5(fsetxattr, int, fd, const char __user *, name,
                const void __user *,value, size_t, size, int, flags)
  {
        struct file *f;
@@ -49530,10 +49701,10 @@ index 8d5a506..7f62712 100644
        struct posix_acl *acl;
        struct posix_acl_entry *acl_e;
 diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
-index 452a291..91a95f3b 100644
+index d0ab788..827999b 100644
 --- a/fs/xfs/xfs_bmap.c
 +++ b/fs/xfs/xfs_bmap.c
-@@ -250,7 +250,7 @@ xfs_bmap_validate_ret(
+@@ -190,7 +190,7 @@ xfs_bmap_validate_ret(
        int                     nmap,
        int                     ret_nmap);
  #else
@@ -49564,7 +49735,7 @@ index 79d05e8..e3e5861 100644
                        *offset = off & 0x7fffffff;
                        return 0;
 diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
-index f7ce7de..e1a5db0 100644
+index d99a905..9f88202 100644
 --- a/fs/xfs/xfs_ioctl.c
 +++ b/fs/xfs/xfs_ioctl.c
 @@ -128,7 +128,7 @@ xfs_find_handle(
@@ -49577,10 +49748,10 @@ index f7ce7de..e1a5db0 100644
                goto out_put;
  
 diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
-index 474920b..97169a9 100644
+index 23ce927..e274cc1 100644
 --- a/fs/xfs/xfs_iops.c
 +++ b/fs/xfs/xfs_iops.c
-@@ -446,7 +446,7 @@ xfs_vn_put_link(
+@@ -447,7 +447,7 @@ xfs_vn_put_link(
        struct nameidata *nd,
        void            *p)
  {
@@ -49591,10 +49762,10 @@ index 474920b..97169a9 100644
                kfree(s);
 diff --git a/grsecurity/Kconfig b/grsecurity/Kconfig
 new file mode 100644
-index 0000000..9629731
+index 0000000..4089e05
 --- /dev/null
 +++ b/grsecurity/Kconfig
-@@ -0,0 +1,1037 @@
+@@ -0,0 +1,1078 @@
 +#
 +# grecurity configuration
 +#
@@ -49729,9 +49900,11 @@ index 0000000..9629731
 +      select GRKERNSEC_PROC_ADD
 +      select GRKERNSEC_CHROOT_CHMOD
 +      select GRKERNSEC_CHROOT_NICE
++      select GRKERNSEC_SETXID
 +      select GRKERNSEC_AUDIT_MOUNT
 +      select GRKERNSEC_MODHARDEN if (MODULES)
 +      select GRKERNSEC_HARDEN_PTRACE
++      select GRKERNSEC_PTRACE_READEXEC
 +      select GRKERNSEC_VM86 if (X86_32)
 +      select GRKERNSEC_KERN_LOCKOUT if (X86 || ARM || PPC || SPARC)
 +      select PAX
@@ -49799,7 +49972,7 @@ index 0000000..9629731
 +
 +endchoice
 +
-+menu "Address Space Protection"
++menu "Memory Protections"
 +depends on GRKERNSEC
 +
 +config GRKERNSEC_KMEM
@@ -49856,16 +50029,24 @@ index 0000000..9629731
 +        protect your kernel against modification, use the RBAC system.
 +
 +config GRKERNSEC_PROC_MEMMAP
-+      bool "Remove addresses from /proc/<pid>/[smaps|maps|stat]"
++      bool "Harden ASLR against information leaks and entropy reduction"
 +      default y if (PAX_NOEXEC || PAX_ASLR)
 +      depends on PAX_NOEXEC || PAX_ASLR
 +      help
 +        If you say Y here, the /proc/<pid>/maps and /proc/<pid>/stat files will
 +        give no information about the addresses of its mappings if
 +        PaX features that rely on random addresses are enabled on the task.
-+        If you use PaX it is greatly recommended that you say Y here as it
-+        closes up a hole that makes the full ASLR useless for suid
-+        binaries.
++        In addition to sanitizing this information and disabling other
++        dangerous sources of information, this option causes reads of sensitive
++        /proc/<pid> entries where the file descriptor was opened in a different
++        task than the one performing the read.  Such attempts are logged.
++        This option also limits argv/env strings for suid/sgid binaries
++        to 512KB to prevent a complete exhaustion of the stack entropy provided
++        by ASLR.  Finally, it places an 8MB stack resource limit on suid/sgid
++        binaries to prevent alternative mmap layouts from being abused.
++
++        If you use PaX it is essential that you say Y here as it closes up
++        several holes that make full ASLR useless locally.
 +
 +config GRKERNSEC_BRUTE
 +      bool "Deter exploit bruteforcing"
@@ -50005,8 +50186,9 @@ index 0000000..9629731
 +        Depending upon the option you choose, you can either restrict users to
 +        see only the processes they themselves run, or choose a group that can
 +        view all processes and files normally restricted to root if you choose
-+        the "restrict to user only" option.  NOTE: If you're running identd as
-+        a non-root user, you will have to run it as the group you specify here.
++        the "restrict to user only" option.  NOTE: If you're running identd or
++        ntpd as a non-root user, you will have to run it as the group you
++        specify here.
 +
 +config GRKERNSEC_PROC_USER
 +      bool "Restrict /proc to user only"
@@ -50063,15 +50245,19 @@ index 0000000..9629731
 +      depends on SYSFS
 +      help
 +        If you say Y here, sysfs (the pseudo-filesystem mounted at /sys) and
-+        any filesystem normally mounted under it (e.g. debugfs) will only
-+        be accessible by root.  These filesystems generally provide access
++        any filesystem normally mounted under it (e.g. debugfs) will be
++        mostly accessible only by root.  These filesystems generally provide access
 +        to hardware and debug information that isn't appropriate for unprivileged
 +        users of the system.  Sysfs and debugfs have also become a large source
 +        of new vulnerabilities, ranging from infoleaks to local compromise.
 +        There has been very little oversight with an eye toward security involved
 +        in adding new exporters of information to these filesystems, so their
 +        use is discouraged.
-+        This option is equivalent to a chmod 0700 of the mount paths.
++        For reasons of compatibility, a few directories have been whitelisted
++        for access by non-root users:
++        /sys/fs/selinux
++        /sys/fs/fuse
++        /sys/devices/system/cpu
 +
 +config GRKERNSEC_ROFS
 +      bool "Runtime read-only mount protection"
@@ -50394,6 +50580,32 @@ index 0000000..9629731
 +        option is enabled, a sysctl option with name "harden_ptrace" is
 +        created.
 +
++config GRKERNSEC_PTRACE_READEXEC
++      bool "Require read access to ptrace sensitive binaries"
++      help
++        If you say Y here, unprivileged users will not be able to ptrace unreadable
++        binaries.  This option is useful in environments that
++        remove the read bits (e.g. file mode 4711) from suid binaries to
++        prevent infoleaking of their contents.  This option adds
++        consistency to the use of that file mode, as the binary could normally
++        be read out when run without privileges while ptracing.
++
++        If the sysctl option is enabled, a sysctl option with name "ptrace_readexec"
++        is created.
++
++config GRKERNSEC_SETXID
++      bool "Enforce consistent multithreaded privileges"
++      help
++        If you say Y here, a change from a root uid to a non-root uid
++        in a multithreaded application will cause the resulting uids,
++        gids, supplementary groups, and capabilities in that thread
++        to be propagated to the other threads of the process.  In most
++        cases this is unnecessary, as glibc will emulate this behavior
++        on behalf of the application.  Other libcs do not act in the
++        same way, allowing the other threads of the process to continue
++        running with root privileges.  If the sysctl option is enabled,
++        a sysctl option with name "consistent_setxid" is created.
++
 +config GRKERNSEC_TPE
 +      bool "Trusted Path Execution (TPE)"
 +      help
@@ -50634,10 +50846,10 @@ index 0000000..9629731
 +endmenu
 diff --git a/grsecurity/Makefile b/grsecurity/Makefile
 new file mode 100644
-index 0000000..be9ae3a
+index 0000000..1b9afa9
 --- /dev/null
 +++ b/grsecurity/Makefile
-@@ -0,0 +1,36 @@
+@@ -0,0 +1,38 @@
 +# grsecurity's ACL system was originally written in 2001 by Michael Dalton
 +# during 2001-2009 it has been completely redesigned by Brad Spengler
 +# into an RBAC system
@@ -50646,6 +50858,8 @@ index 0000000..be9ae3a
 +# are copyright Brad Spengler - Open Source Security, Inc., and released 
 +# under the GPL v2 or higher
 +
++KBUILD_CFLAGS += -Werror
++
 +obj-y = grsec_chdir.o grsec_chroot.o grsec_exec.o grsec_fifo.o grsec_fork.o \
 +      grsec_mount.o grsec_sig.o grsec_sysctl.o \
 +      grsec_time.o grsec_tpe.o grsec_link.o grsec_pax.o grsec_ptrace.o
@@ -50676,10 +50890,10 @@ index 0000000..be9ae3a
 +endif
 diff --git a/grsecurity/gracl.c b/grsecurity/gracl.c
 new file mode 100644
-index 0000000..09258e0
+index 0000000..2d9c682
 --- /dev/null
 +++ b/grsecurity/gracl.c
-@@ -0,0 +1,4156 @@
+@@ -0,0 +1,4172 @@
 +#include <linux/kernel.h>
 +#include <linux/module.h>
 +#include <linux/sched.h>
@@ -50699,7 +50913,7 @@ index 0000000..09258e0
 +#include <linux/ptrace.h>
 +#include <linux/gracl.h>
 +#include <linux/gralloc.h>
-+#include <linux/grsecurity.h>
++#include <linux/security.h>
 +#include <linux/grinternal.h>
 +#include <linux/pid_namespace.h>
 +#include <linux/fdtable.h>
@@ -51339,22 +51553,60 @@ index 0000000..09258e0
 +      unsigned int index =
 +          rhash(uidgid, role->roletype & (GR_ROLE_USER | GR_ROLE_GROUP), acl_role_set.r_size);
 +      struct acl_role_label **curr;
-+      struct acl_role_label *tmp;
++      struct acl_role_label *tmp, *tmp2;
 +
 +      curr = &acl_role_set.r_hash[index];
 +
-+      /* if role was already inserted due to domains and already has
-+         a role in the same bucket as it attached, then we need to
-+         combine these two buckets
-+      */
-+      if (role->next) {
-+              tmp = role->next;
-+              while (tmp->next)
++      /* simple case, slot is empty, just set it to our role */
++      if (*curr == NULL) {
++              *curr = role;
++      } else {
++              /* example:
++                 1 -> 2 -> 3 (adding 2 -> 3 to here)
++                 2 -> 3
++              */
++              /* first check to see if we can already be reached via this slot */
++              tmp = *curr;
++              while (tmp && tmp != role)
 +                      tmp = tmp->next;
-+              tmp->next = *curr;
-+      } else
-+              role->next = *curr;
-+      *curr = role;
++              if (tmp == role) {
++                      /* we don't need to add ourselves to this slot's chain */
++                      return;
++              }
++              /* we need to add ourselves to this chain, two cases */
++              if (role->next == NULL) {
++                      /* simple case, append the current chain to our role */
++                      role->next = *curr;
++                      *curr = role;
++              } else {
++                      /* 1 -> 2 -> 3 -> 4
++                         2 -> 3 -> 4
++                         3 -> 4 (adding 1 -> 2 -> 3 -> 4 to here)
++                      */                         
++                      /* trickier case: walk our role's chain until we find
++                         the role for the start of the current slot's chain */
++                      tmp = role;
++                      tmp2 = *curr;
++                      while (tmp->next && tmp->next != tmp2)
++                              tmp = tmp->next;
++                      if (tmp->next == tmp2) {
++                              /* from example above, we found 3, so just
++                                 replace this slot's chain with ours */
++                              *curr = role;
++                      } else {
++                              /* we didn't find a subset of our role's chain
++                                 in the current slot's chain, so append their
++                                 chain to ours, and set us as the first role in
++                                 the slot's chain
++
++                                 we could fold this case with the case above,
++                                 but making it explicit for clarity
++                              */
++                              tmp->next = tmp2;
++                              *curr = role;
++                      }
++              }
++      }
 +
 +      return;
 +}
@@ -51612,6 +51864,7 @@ index 0000000..09258e0
 +
 +      /* release the reference to the real root dentry and vfsmount */
 +      path_put(&real_root);
++      memset(&real_root, 0, sizeof(real_root));
 +
 +      /* free all object hash tables */
 +
@@ -51675,6 +51928,7 @@ index 0000000..09258e0
 +      memset(&subj_map_set, 0, sizeof (struct acl_subj_map_db));
 +
 +      default_role = NULL;
++      kernel_role = NULL;
 +      role_list = NULL;
 +
 +      return;
@@ -52135,40 +52389,28 @@ index 0000000..09258e0
 +      num_sprole_pws = arg->num_sprole_pws;
 +      acl_special_roles = (struct sprole_pw **) acl_alloc_num(num_sprole_pws, sizeof(struct sprole_pw *));
 +
-+      if (!acl_special_roles) {
-+              err = -ENOMEM;
-+              goto cleanup;
-+      }
++      if (!acl_special_roles && num_sprole_pws)
++              return -ENOMEM;
 +
 +      for (i = 0; i < num_sprole_pws; i++) {
 +              sptmp = (struct sprole_pw *) acl_alloc(sizeof(struct sprole_pw));
-+              if (!sptmp) {
-+                      err = -ENOMEM;
-+                      goto cleanup;
-+              }
++              if (!sptmp)
++                      return -ENOMEM;
 +              if (copy_from_user(sptmp, arg->sprole_pws + i,
-+                                 sizeof (struct sprole_pw))) {
-+                      err = -EFAULT;
-+                      goto cleanup;
-+              }
++                                 sizeof (struct sprole_pw)))
++                      return -EFAULT;
 +
-+              len =
-+                  strnlen_user(sptmp->rolename, GR_SPROLE_LEN);
++              len = strnlen_user(sptmp->rolename, GR_SPROLE_LEN);
 +
-+              if (!len || len >= GR_SPROLE_LEN) {
-+                      err = -EINVAL;
-+                      goto cleanup;
-+              }
++              if (!len || len >= GR_SPROLE_LEN)
++                      return -EINVAL;
 +
-+              if ((tmp = (char *) acl_alloc(len)) == NULL) {
-+                      err = -ENOMEM;
-+                      goto cleanup;
-+              }
++              if ((tmp = (char *) acl_alloc(len)) == NULL)
++                      return -ENOMEM;
++
++              if (copy_from_user(tmp, sptmp->rolename, len))
++                      return -EFAULT;
 +
-+              if (copy_from_user(tmp, sptmp->rolename, len)) {
-+                      err = -EFAULT;
-+                      goto cleanup;
-+              }
 +              tmp[len-1] = '\0';
 +#ifdef CONFIG_GRKERNSEC_RBAC_DEBUG
 +              printk(KERN_ALERT "Copying special role %s\n", tmp);
@@ -52182,38 +52424,28 @@ index 0000000..09258e0
 +      for (r_num = 0; r_num < arg->role_db.num_roles; r_num++) {
 +              r_tmp = acl_alloc(sizeof (struct acl_role_label));
 +
-+              if (!r_tmp) {
-+                      err = -ENOMEM;
-+                      goto cleanup;
-+              }
++              if (!r_tmp)
++                      return -ENOMEM;
 +
 +              if (copy_from_user(&r_utmp2, r_utmp + r_num,
-+                                 sizeof (struct acl_role_label *))) {
-+                      err = -EFAULT;
-+                      goto cleanup;
-+              }
++                                 sizeof (struct acl_role_label *)))
++                      return -EFAULT;
 +
 +              if (copy_from_user(r_tmp, r_utmp2,
-+                                 sizeof (struct acl_role_label))) {
-+                      err = -EFAULT;
-+                      goto cleanup;
-+              }
++                                 sizeof (struct acl_role_label)))
++                      return -EFAULT;
 +
 +              len = strnlen_user(r_tmp->rolename, GR_SPROLE_LEN);
 +
-+              if (!len || len >= PATH_MAX) {
-+                      err = -EINVAL;
-+                      goto cleanup;
-+              }
++              if (!len || len >= PATH_MAX)
++                      return -EINVAL;
++
++              if ((tmp = (char *) acl_alloc(len)) == NULL)
++                      return -ENOMEM;
++
++              if (copy_from_user(tmp, r_tmp->rolename, len))
++                      return -EFAULT;
 +
-+              if ((tmp = (char *) acl_alloc(len)) == NULL) {
-+                      err = -ENOMEM;
-+                      goto cleanup;
-+              }
-+              if (copy_from_user(tmp, r_tmp->rolename, len)) {
-+                      err = -EFAULT;
-+                      goto cleanup;
-+              }
 +              tmp[len-1] = '\0';
 +              r_tmp->rolename = tmp;
 +
@@ -52224,14 +52456,11 @@ index 0000000..09258e0
 +                      kernel_role = r_tmp;
 +              }
 +
-+              if ((ghash = (struct gr_hash_struct *) acl_alloc(sizeof(struct gr_hash_struct))) == NULL) {
-+                      err = -ENOMEM;
-+                      goto cleanup;
-+              }
-+              if (copy_from_user(ghash, r_tmp->hash, sizeof(struct gr_hash_struct))) {
-+                      err = -EFAULT;
-+                      goto cleanup;
-+              }
++              if ((ghash = (struct gr_hash_struct *) acl_alloc(sizeof(struct gr_hash_struct))) == NULL)
++                      return -ENOMEM;
++
++              if (copy_from_user(ghash, r_tmp->hash, sizeof(struct gr_hash_struct)))
++                      return -EFAULT;
 +
 +              r_tmp->hash = ghash;
 +
@@ -52242,32 +52471,28 @@ index 0000000..09258e0
 +                  (struct acl_subject_label **)
 +                  create_table(&(r_tmp->subj_hash_size), sizeof(void *));
 +
-+              if (!r_tmp->subj_hash) {
-+                      err = -ENOMEM;
-+                      goto cleanup;
-+              }
++              if (!r_tmp->subj_hash)
++                      return -ENOMEM;
 +
 +              err = copy_user_allowedips(r_tmp);
 +              if (err)
-+                      goto cleanup;
++                      return err;
 +
 +              /* copy domain info */
 +              if (r_tmp->domain_children != NULL) {
 +                      domainlist = acl_alloc_num(r_tmp->domain_child_num, sizeof(uid_t));
-+                      if (domainlist == NULL) {
-+                              err = -ENOMEM;
-+                              goto cleanup;
-+                      }
-+                      if (copy_from_user(domainlist, r_tmp->domain_children, r_tmp->domain_child_num * sizeof(uid_t))) {
-+                              err = -EFAULT;
-+                              goto cleanup;
-+                      }
++                      if (domainlist == NULL)
++                              return -ENOMEM;
++
++                      if (copy_from_user(domainlist, r_tmp->domain_children, r_tmp->domain_child_num * sizeof(uid_t)))
++                              return -EFAULT;
++
 +                      r_tmp->domain_children = domainlist;
 +              }
 +
 +              err = copy_user_transitions(r_tmp);
 +              if (err)
-+                      goto cleanup;
++                      return err;
 +
 +              memset(r_tmp->subj_hash, 0,
 +                     r_tmp->subj_hash_size *
@@ -52276,7 +52501,7 @@ index 0000000..09258e0
 +              err = copy_user_subjs(r_tmp->hash->first, r_tmp);
 +
 +              if (err)
-+                      goto cleanup;
++                      return err;
 +
 +              /* set nested subject list to null */
 +              r_tmp->hash->first = NULL;
@@ -52284,12 +52509,10 @@ index 0000000..09258e0
 +              insert_acl_role_label(r_tmp);
 +      }
 +
-+      goto return_err;
-+      cleanup:
-+      free_variables();
-+      return_err:
-+      return err;
++      if (default_role == NULL || kernel_role == NULL)
++              return -EINVAL;
 +
++      return err;
 +}
 +
 +static int
@@ -52455,7 +52678,7 @@ index 0000000..09258e0
 +
 +static struct acl_object_label *
 +chk_glob_label(struct acl_object_label *globbed,
-+      struct dentry *dentry, struct vfsmount *mnt, char **path)
++      const struct dentry *dentry, const struct vfsmount *mnt, char **path)
 +{
 +      struct acl_object_label *tmp;
 +
@@ -52488,8 +52711,7 @@ index 0000000..09258e0
 +              retval = lookup_acl_obj_label(curr_ino, curr_dev, tmpsubj);
 +              if (retval) {
 +                      if (checkglob && retval->globbed) {
-+                              retval2 = chk_glob_label(retval->globbed, (struct dentry *)orig_dentry,
-+                                              (struct vfsmount *)orig_mnt, path);
++                              retval2 = chk_glob_label(retval->globbed, orig_dentry, orig_mnt, path);
 +                              if (retval2)
 +                                      retval = retval2;
 +                      }
@@ -52951,17 +53173,18 @@ index 0000000..09258e0
 +void
 +gr_copy_label(struct task_struct *tsk)
 +{
++      /* plain copying of fields is already done by dup_task_struct */
 +      tsk->signal->used_accept = 0;
 +      tsk->acl_sp_role = 0;
-+      tsk->acl_role_id = current->acl_role_id;
-+      tsk->acl = current->acl;
-+      tsk->role = current->role;
++      //tsk->acl_role_id = current->acl_role_id;
++      //tsk->acl = current->acl;
++      //tsk->role = current->role;
 +      tsk->signal->curr_ip = current->signal->curr_ip;
 +      tsk->signal->saved_ip = current->signal->saved_ip;
 +      if (current->exec_file)
 +              get_file(current->exec_file);
-+      tsk->exec_file = current->exec_file;
-+      tsk->is_writable = current->is_writable;
++      //tsk->exec_file = current->exec_file;
++      //tsk->is_writable = current->is_writable;
 +      if (unlikely(current->signal->used_accept)) {
 +              current->signal->curr_ip = 0;
 +              current->signal->saved_ip = 0;
@@ -53148,6 +53371,8 @@ index 0000000..09258e0
 +      }
 +}
 +
++extern int gr_acl_is_capable(const int cap);
++
 +void
 +gr_set_role_label(struct task_struct *task, const uid_t uid, const uid_t gid)
 +{
@@ -53169,6 +53394,12 @@ index 0000000..09258e0
 +      } else if (!task->role || !(task->role->roletype & GR_ROLE_SPECIAL))
 +              role = lookup_acl_role_label(task, uid, gid);
 +
++      /* don't change the role if we're not a privileged process */
++      if (role && task->role != role &&
++          (((role->roletype & GR_ROLE_USER) && !gr_acl_is_capable(CAP_SETUID)) ||
++           ((role->roletype & GR_ROLE_GROUP) && !gr_acl_is_capable(CAP_SETGID))))
++              return;
++
 +      /* perform subject lookup in possibly new role
 +         we can use this result below in the case where role == task->role
 +      */
@@ -53208,7 +53439,7 @@ index 0000000..09258e0
 +
 +int
 +gr_set_proc_label(const struct dentry *dentry, const struct vfsmount *mnt,
-+                const int unsafe_share)
++                const int unsafe_flags)
 +{
 +      struct task_struct *task = current;
 +      struct acl_subject_label *newacl;
@@ -53221,13 +53452,12 @@ index 0000000..09258e0
 +      newacl = chk_subj_label(dentry, mnt, task->role);
 +
 +      task_lock(task);
-+      if ((((task->ptrace & PT_PTRACED) || unsafe_share) &&
-+           !(task->acl->mode & GR_POVERRIDE) && (task->acl != newacl) &&
++      if (unsafe_flags && !(task->acl->mode & GR_POVERRIDE) && (task->acl != newacl) &&
 +           !(task->role->roletype & GR_ROLE_GOD) &&
 +           !gr_search_file(dentry, GR_PTRACERD, mnt) &&
-+           !(task->acl->mode & (GR_LEARN | GR_INHERITLEARN)))) {
++           !(task->acl->mode & (GR_LEARN | GR_INHERITLEARN))) {
 +                task_unlock(task);
-+              if (unsafe_share)
++              if (unsafe_flags & LSM_UNSAFE_SHARE)
 +                      gr_log_fs_generic(GR_DONT_AUDIT, GR_UNSAFESHARE_EXEC_ACL_MSG, dentry, mnt);
 +              else
 +                      gr_log_fs_generic(GR_DONT_AUDIT, GR_PTRACE_EXEC_ACL_MSG, dentry, mnt);
@@ -55056,10 +55286,10 @@ index 0000000..955ddfb
 +
 diff --git a/grsecurity/gracl_fs.c b/grsecurity/gracl_fs.c
 new file mode 100644
-index 0000000..4eda5c3
+index 0000000..88d0e87
 --- /dev/null
 +++ b/grsecurity/gracl_fs.c
-@@ -0,0 +1,433 @@
+@@ -0,0 +1,435 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
 +#include <linux/types.h>
@@ -55070,6 +55300,15 @@ index 0000000..4eda5c3
 +#include <linux/grinternal.h>
 +#include <linux/gracl.h>
 +
++umode_t
++gr_acl_umask(void)
++{
++      if (unlikely(!gr_acl_is_enabled()))
++              return 0;
++
++      return current->role->umask;
++}
++
 +__u32
 +gr_acl_handle_hidden_file(const struct dentry * dentry,
 +                        const struct vfsmount * mnt)
@@ -55258,25 +55497,18 @@ index 0000000..4eda5c3
 +}
 +
 +__u32
-+gr_acl_handle_fchmod(const struct dentry *dentry, const struct vfsmount *mnt,
-+                   mode_t mode)
++gr_acl_handle_chmod(const struct dentry *dentry, const struct vfsmount *mnt,
++                   umode_t *modeptr)
 +{
++      umode_t mode;
++
++      *modeptr &= ~gr_acl_umask();
++      mode = *modeptr;
++
 +      if (unlikely(dentry->d_inode && S_ISSOCK(dentry->d_inode->i_mode)))
 +              return 1;
 +
-+      if (unlikely((mode != (mode_t)-1) && (mode & (S_ISUID | S_ISGID)))) {
-+              return generic_fs_handler(dentry, mnt, GR_WRITE | GR_SETID,
-+                                 GR_FCHMOD_ACL_MSG);
-+      } else {
-+              return generic_fs_handler(dentry, mnt, GR_WRITE, GR_FCHMOD_ACL_MSG);
-+      }
-+}
-+
-+__u32
-+gr_acl_handle_chmod(const struct dentry *dentry, const struct vfsmount *mnt,
-+                  mode_t mode)
-+{
-+      if (unlikely((mode != (mode_t)-1) && (mode & (S_ISUID | S_ISGID)))) {
++      if (unlikely(mode & (S_ISUID | S_ISGID))) {
 +              return generic_fs_handler(dentry, mnt, GR_WRITE | GR_SETID,
 +                                 GR_CHMOD_ACL_MSG);
 +      } else {
@@ -56902,10 +57134,10 @@ index 0000000..a2dc675
 +}
 diff --git a/grsecurity/grsec_disabled.c b/grsecurity/grsec_disabled.c
 new file mode 100644
-index 0000000..d81a586
+index 0000000..213ad8b
 --- /dev/null
 +++ b/grsecurity/grsec_disabled.c
-@@ -0,0 +1,439 @@
+@@ -0,0 +1,437 @@
 +#include <linux/kernel.h>
 +#include <linux/module.h>
 +#include <linux/sched.h>
@@ -57145,15 +57377,8 @@ index 0000000..d81a586
 +}
 +
 +__u32
-+gr_acl_handle_fchmod(const struct dentry * dentry, const struct vfsmount * mnt,
-+                   mode_t mode)
-+{
-+      return 1;
-+}
-+
-+__u32
 +gr_acl_handle_chmod(const struct dentry * dentry, const struct vfsmount * mnt,
-+                  mode_t mode)
++                  umode_t *mode)
 +{
 +      return 1;
 +}
@@ -57176,6 +57401,11 @@ index 0000000..d81a586
 +      return;
 +}
 +
++umode_t gr_acl_umask(void)
++{
++      return 0;
++}
++
 +__u32
 +gr_acl_handle_mknod(const struct dentry * new_dentry,
 +                  const struct dentry * parent_dentry,
@@ -57558,10 +57788,10 @@ index 0000000..8ca18bf
 +}
 diff --git a/grsecurity/grsec_init.c b/grsecurity/grsec_init.c
 new file mode 100644
-index 0000000..356ef00
+index 0000000..01ddde4
 --- /dev/null
 +++ b/grsecurity/grsec_init.c
-@@ -0,0 +1,269 @@
+@@ -0,0 +1,277 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
 +#include <linux/mm.h>
@@ -57571,6 +57801,8 @@ index 0000000..356ef00
 +#include <linux/percpu.h>
 +#include <linux/module.h>
 +
++int grsec_enable_ptrace_readexec;
++int grsec_enable_setxid;
 +int grsec_enable_brute;
 +int grsec_enable_link;
 +int grsec_enable_dmesg;
@@ -57723,6 +57955,9 @@ index 0000000..356ef00
 +      grsec_enable_group = 1;
 +      grsec_audit_gid = CONFIG_GRKERNSEC_AUDIT_GID;
 +#endif
++#ifdef CONFIG_GRKERNSEC_PTRACE_READEXEC
++      grsec_enable_ptrace_readexec = 1;
++#endif
 +#ifdef CONFIG_GRKERNSEC_AUDIT_CHDIR
 +      grsec_enable_chdir = 1;
 +#endif
@@ -57751,6 +57986,9 @@ index 0000000..356ef00
 +#ifdef CONFIG_GRKERNSEC_EXECLOG
 +      grsec_enable_execlog = 1;
 +#endif
++#ifdef CONFIG_GRKERNSEC_SETXID
++      grsec_enable_setxid = 1;
++#endif
 +#ifdef CONFIG_GRKERNSEC_SIGNAL
 +      grsec_enable_signal = 1;
 +#endif
@@ -58210,10 +58448,10 @@ index 0000000..a45d2e9
 +}
 diff --git a/grsecurity/grsec_mem.c b/grsecurity/grsec_mem.c
 new file mode 100644
-index 0000000..6c0416b
+index 0000000..f536303
 --- /dev/null
 +++ b/grsecurity/grsec_mem.c
-@@ -0,0 +1,33 @@
+@@ -0,0 +1,40 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
 +#include <linux/mm.h>
@@ -58247,6 +58485,13 @@ index 0000000..6c0416b
 +      gr_log_noargs(GR_DONT_AUDIT, GR_VM86_MSG);
 +      return;
 +}
++
++void
++gr_log_badprocpid(const char *entry)
++{
++      gr_log_str(GR_DONT_AUDIT, GR_BADPROCPID_MSG, entry);
++      return;
++}
 diff --git a/grsecurity/grsec_mount.c b/grsecurity/grsec_mount.c
 new file mode 100644
 index 0000000..2131422
@@ -58359,14 +58604,14 @@ index 0000000..a3b12a0
 +}
 diff --git a/grsecurity/grsec_ptrace.c b/grsecurity/grsec_ptrace.c
 new file mode 100644
-index 0000000..472c1d6
+index 0000000..f7f29aa
 --- /dev/null
 +++ b/grsecurity/grsec_ptrace.c
-@@ -0,0 +1,14 @@
+@@ -0,0 +1,30 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
 +#include <linux/grinternal.h>
-+#include <linux/grsecurity.h>
++#include <linux/security.h>
 +
 +void
 +gr_audit_ptrace(struct task_struct *task)
@@ -58377,12 +58622,28 @@ index 0000000..472c1d6
 +#endif
 +      return;
 +}
++
++int
++gr_ptrace_readexec(struct file *file, int unsafe_flags)
++{
++#ifdef CONFIG_GRKERNSEC_PTRACE_READEXEC
++      const struct dentry *dentry = file->f_path.dentry;
++      const struct vfsmount *mnt = file->f_path.mnt;
++
++      if (grsec_enable_ptrace_readexec && (unsafe_flags & LSM_UNSAFE_PTRACE) && 
++          (inode_permission(dentry->d_inode, MAY_READ) || !gr_acl_handle_open(dentry, mnt, MAY_READ))) {
++              gr_log_fs_generic(GR_DONT_AUDIT, GR_PTRACE_READEXEC_MSG, dentry, mnt);
++              return -EACCES;
++      }
++#endif
++      return 0;
++}
 diff --git a/grsecurity/grsec_sig.c b/grsecurity/grsec_sig.c
 new file mode 100644
-index 0000000..cf090b3
+index 0000000..7a5b2de
 --- /dev/null
 +++ b/grsecurity/grsec_sig.c
-@@ -0,0 +1,206 @@
+@@ -0,0 +1,207 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
 +#include <linux/delay.h>
@@ -58417,7 +58678,8 @@ index 0000000..cf090b3
 +gr_handle_signal(const struct task_struct *p, const int sig)
 +{
 +#ifdef CONFIG_GRKERNSEC
-+      if (current->pid > 1 && gr_check_protected_task(p)) {
++      /* ignore the 0 signal for protected task checks */
++      if (current->pid > 1 && sig && gr_check_protected_task(p)) {
 +              gr_log_sig_task(GR_DONT_AUDIT, GR_SIG_ACL_MSG, p, sig);
 +              return -EPERM;
 +      } else if (gr_pid_is_chrooted((struct task_struct *)p)) {
@@ -58841,10 +59103,10 @@ index 0000000..4030d57
 +}
 diff --git a/grsecurity/grsec_sysctl.c b/grsecurity/grsec_sysctl.c
 new file mode 100644
-index 0000000..174668f
+index 0000000..a1aedd7
 --- /dev/null
 +++ b/grsecurity/grsec_sysctl.c
-@@ -0,0 +1,433 @@
+@@ -0,0 +1,451 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
 +#include <linux/sysctl.h>
@@ -58908,6 +59170,24 @@ index 0000000..174668f
 +              .proc_handler   = &proc_dointvec,
 +      },
 +#endif
++#ifdef CONFIG_GRKERNSEC_PTRACE_READEXEC
++      {
++              .procname       = "ptrace_readexec",
++              .data           = &grsec_enable_ptrace_readexec,
++              .maxlen         = sizeof(int),
++              .mode           = 0600,
++              .proc_handler   = &proc_dointvec,
++      },
++#endif
++#ifdef CONFIG_GRKERNSEC_SETXID
++      {
++              .procname       = "consistent_setxid",
++              .data           = &grsec_enable_setxid,
++              .maxlen         = sizeof(int),
++              .mode           = 0600,
++              .proc_handler   = &proc_dointvec,
++      },
++#endif
 +#ifdef CONFIG_GRKERNSEC_BLACKHOLE
 +      {
 +              .procname       = "ip_blackhole",
@@ -59302,10 +59582,10 @@ index 0000000..0dc13c3
 +EXPORT_SYMBOL(gr_log_timechange);
 diff --git a/grsecurity/grsec_tpe.c b/grsecurity/grsec_tpe.c
 new file mode 100644
-index 0000000..4a78774
+index 0000000..07e0dc0
 --- /dev/null
 +++ b/grsecurity/grsec_tpe.c
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,73 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
 +#include <linux/file.h>
@@ -59320,25 +59600,59 @@ index 0000000..4a78774
 +#ifdef CONFIG_GRKERNSEC
 +      struct inode *inode = file->f_path.dentry->d_parent->d_inode;
 +      const struct cred *cred = current_cred();
++      char *msg = NULL;
++      char *msg2 = NULL;
++
++      // never restrict root
++      if (!cred->uid)
++              return 1;
 +
-+      if (cred->uid && ((grsec_enable_tpe &&
++      if (grsec_enable_tpe) {
 +#ifdef CONFIG_GRKERNSEC_TPE_INVERT
-+          ((grsec_enable_tpe_invert && !in_group_p(grsec_tpe_gid)) ||
-+           (!grsec_enable_tpe_invert && in_group_p(grsec_tpe_gid)))
++              if (grsec_enable_tpe_invert && !in_group_p(grsec_tpe_gid))
++                      msg = "not being in trusted group";
++              else if (!grsec_enable_tpe_invert && in_group_p(grsec_tpe_gid))
++                      msg = "being in untrusted group";
 +#else
-+          in_group_p(grsec_tpe_gid)
++              if (in_group_p(grsec_tpe_gid))
++                      msg = "being in untrusted group";
 +#endif
-+          ) || gr_acl_tpe_check()) &&
-+          (inode->i_uid || (!inode->i_uid && ((inode->i_mode & S_IWGRP) ||
-+                                              (inode->i_mode & S_IWOTH))))) {
-+              gr_log_fs_generic(GR_DONT_AUDIT, GR_EXEC_TPE_MSG, file->f_path.dentry, file->f_path.mnt);
++      }
++      if (!msg && gr_acl_tpe_check())
++              msg = "being in untrusted role";
++
++      // not in any affected group/role
++      if (!msg)
++              goto next_check;
++
++      if (inode->i_uid)
++              msg2 = "file in non-root-owned directory";
++      else if (inode->i_mode & S_IWOTH)
++              msg2 = "file in world-writable directory";
++      else if (inode->i_mode & S_IWGRP)
++              msg2 = "file in group-writable directory";
++
++      if (msg && msg2) {
++              char fullmsg[70] = {0};
++              snprintf(fullmsg, sizeof(fullmsg)-1, "%s and %s", msg, msg2);
++              gr_log_str_fs(GR_DONT_AUDIT, GR_EXEC_TPE_MSG, fullmsg, file->f_path.dentry, file->f_path.mnt);
 +              return 0;
 +      }
++      msg = NULL;
++next_check:
 +#ifdef CONFIG_GRKERNSEC_TPE_ALL
-+      if (cred->uid && grsec_enable_tpe && grsec_enable_tpe_all &&
-+          ((inode->i_uid && (inode->i_uid != cred->uid)) ||
-+           (inode->i_mode & S_IWGRP) || (inode->i_mode & S_IWOTH))) {
-+              gr_log_fs_generic(GR_DONT_AUDIT, GR_EXEC_TPE_MSG, file->f_path.dentry, file->f_path.mnt);
++      if (!grsec_enable_tpe || !grsec_enable_tpe_all)
++              return 1;
++
++      if (inode->i_uid && (inode->i_uid != cred->uid))
++              msg = "directory not owned by user";
++      else if (inode->i_mode & S_IWOTH)
++              msg = "file in world-writable directory";
++      else if (inode->i_mode & S_IWGRP)
++              msg = "file in group-writable directory";
++
++      if (msg) {
++              gr_log_str_fs(GR_DONT_AUDIT, GR_EXEC_TPE_MSG, msg, file->f_path.dentry, file->f_path.mnt);
 +              return 0;
 +      }
 +#endif
@@ -59771,32 +60085,19 @@ index 1bfcfe5..e04c5c9 100644
 +#define L1_CACHE_BYTES                (1UL << L1_CACHE_SHIFT)
  
  #endif /* __ASM_GENERIC_CACHE_H */
-diff --git a/include/asm-generic/int-l64.h b/include/asm-generic/int-l64.h
-index 1ca3efc..e3dc852 100644
---- a/include/asm-generic/int-l64.h
-+++ b/include/asm-generic/int-l64.h
-@@ -46,6 +46,8 @@ typedef unsigned int u32;
- typedef signed long s64;
- typedef unsigned long u64;
-+typedef unsigned int intoverflow_t __attribute__ ((mode(TI)));
-+
- #define S8_C(x)  x
- #define U8_C(x)  x ## U
- #define S16_C(x) x
-diff --git a/include/asm-generic/int-ll64.h b/include/asm-generic/int-ll64.h
-index f394147..b6152b9 100644
---- a/include/asm-generic/int-ll64.h
-+++ b/include/asm-generic/int-ll64.h
-@@ -51,6 +51,8 @@ typedef unsigned int u32;
- typedef signed long long s64;
- typedef unsigned long long u64;
-+typedef unsigned long long intoverflow_t;
-+
- #define S8_C(x)  x
- #define U8_C(x)  x ## U
- #define S16_C(x) x
+diff --git a/include/asm-generic/emergency-restart.h b/include/asm-generic/emergency-restart.h
+index 0d68a1e..b74a761 100644
+--- a/include/asm-generic/emergency-restart.h
++++ b/include/asm-generic/emergency-restart.h
+@@ -1,7 +1,7 @@
+ #ifndef _ASM_GENERIC_EMERGENCY_RESTART_H
+ #define _ASM_GENERIC_EMERGENCY_RESTART_H
+-static inline void machine_emergency_restart(void)
++static inline __noreturn void machine_emergency_restart(void)
+ {
+       machine_restart(NULL);
+ }
 diff --git a/include/asm-generic/kmap_types.h b/include/asm-generic/kmap_types.h
 index 0232ccb..13d9165 100644
 --- a/include/asm-generic/kmap_types.h
@@ -59814,6 +60115,18 @@ index 0232ccb..13d9165 100644
  };
  
  #undef KMAP_D
+diff --git a/include/asm-generic/local.h b/include/asm-generic/local.h
+index 9ceb03b..2efbcbd 100644
+--- a/include/asm-generic/local.h
++++ b/include/asm-generic/local.h
+@@ -39,6 +39,7 @@ typedef struct
+ #define local_add_return(i, l) atomic_long_add_return((i), (&(l)->a))
+ #define local_sub_return(i, l) atomic_long_sub_return((i), (&(l)->a))
+ #define local_inc_return(l) atomic_long_inc_return(&(l)->a)
++#define local_dec_return(l) atomic_long_dec_return(&(l)->a)
+ #define local_cmpxchg(l, o, n) atomic_long_cmpxchg((&(l)->a), (o), (n))
+ #define local_xchg(l, n) atomic_long_xchg((&(l)->a), (n))
 diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h
 index 725612b..9cc513a 100644
 --- a/include/asm-generic/pgtable-nopmd.h
@@ -59907,8 +60220,72 @@ index 76bff2b..c7a14e2 100644
  #endif /* !__ASSEMBLY__ */
  
  #endif /* _ASM_GENERIC_PGTABLE_H */
+diff --git a/include/asm-generic/uaccess.h b/include/asm-generic/uaccess.h
+index ac68c99..90d3439 100644
+--- a/include/asm-generic/uaccess.h
++++ b/include/asm-generic/uaccess.h
+@@ -76,6 +76,8 @@ extern unsigned long search_exception_table(unsigned long);
+  */
+ #ifndef __copy_from_user
+ static inline __must_check long __copy_from_user(void *to,
++              const void __user * from, unsigned long n) __size_overflow(3);
++static inline __must_check long __copy_from_user(void *to,
+               const void __user * from, unsigned long n)
+ {
+       if (__builtin_constant_p(n)) {
+@@ -106,6 +108,8 @@ static inline __must_check long __copy_from_user(void *to,
+ #ifndef __copy_to_user
+ static inline __must_check long __copy_to_user(void __user *to,
++              const void *from, unsigned long n) __size_overflow(3);
++static inline __must_check long __copy_to_user(void __user *to,
+               const void *from, unsigned long n)
+ {
+       if (__builtin_constant_p(n)) {
+@@ -224,6 +228,7 @@ extern int __put_user_bad(void) __attribute__((noreturn));
+               -EFAULT;                                        \
+ })
++static inline int __get_user_fn(size_t size, const void __user *ptr, void *x) __size_overflow(1);
+ static inline int __get_user_fn(size_t size, const void __user *ptr, void *x)
+ {
+       size = __copy_from_user(x, ptr, size);
+@@ -240,6 +245,7 @@ extern int __get_user_bad(void) __attribute__((noreturn));
+ #define __copy_to_user_inatomic __copy_to_user
+ #endif
++static inline long copy_from_user(void *to, const void __user * from, unsigned long n) __size_overflow(3);
+ static inline long copy_from_user(void *to,
+               const void __user * from, unsigned long n)
+ {
+@@ -250,6 +256,7 @@ static inline long copy_from_user(void *to,
+               return n;
+ }
++static inline long copy_to_user(void __user *to, const void *from, unsigned long n) __size_overflow(3);
+ static inline long copy_to_user(void __user *to,
+               const void *from, unsigned long n)
+ {
+@@ -309,6 +316,8 @@ static inline long strlen_user(const char __user *src)
+  */
+ #ifndef __clear_user
+ static inline __must_check unsigned long
++__clear_user(void __user *to, unsigned long n) __size_overflow(2);
++static inline __must_check unsigned long
+ __clear_user(void __user *to, unsigned long n)
+ {
+       memset((void __force *)to, 0, n);
+@@ -317,6 +326,8 @@ __clear_user(void __user *to, unsigned long n)
+ #endif
+ static inline __must_check unsigned long
++clear_user(void __user *to, unsigned long n) __size_overflow(2);
++static inline __must_check unsigned long
+ clear_user(void __user *to, unsigned long n)
+ {
+       might_sleep();
 diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index db22d13..1f2e3e1 100644
+index b5e2e4c..6a5373e 100644
 --- a/include/asm-generic/vmlinux.lds.h
 +++ b/include/asm-generic/vmlinux.lds.h
 @@ -217,6 +217,7 @@
@@ -59919,7 +60296,7 @@ index db22d13..1f2e3e1 100644
                *(__vermagic)           /* Kernel version magic */      \
                . = ALIGN(8);                                           \
                VMLINUX_SYMBOL(__start___tracepoints_ptrs) = .;         \
-@@ -723,17 +724,18 @@
+@@ -722,17 +723,18 @@
   * section in the linker script will go there too.  @phdr should have
   * a leading colon.
   *
@@ -59943,10 +60320,10 @@ index db22d13..1f2e3e1 100644
  /**
   * PERCPU_SECTION - define output section for percpu area, simple version
 diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 9b7c2bb..76b7d1e 100644
+index bf4b2dc..2d0762f 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
-@@ -73,6 +73,7 @@
+@@ -72,6 +72,7 @@
  #include <linux/workqueue.h>
  #include <linux/poll.h>
  #include <asm/pgalloc.h>
@@ -59954,7 +60331,7 @@ index 9b7c2bb..76b7d1e 100644
  #include "drm.h"
  
  #include <linux/idr.h>
-@@ -1035,7 +1036,7 @@ struct drm_device {
+@@ -1038,7 +1039,7 @@ struct drm_device {
  
        /** \name Usage Counters */
        /*@{ */
@@ -59963,7 +60340,7 @@ index 9b7c2bb..76b7d1e 100644
        atomic_t ioctl_count;           /**< Outstanding IOCTLs pending */
        atomic_t vma_count;             /**< Outstanding vma areas open */
        int buf_use;                    /**< Buffers in use -- cannot alloc */
-@@ -1046,7 +1047,7 @@ struct drm_device {
+@@ -1049,7 +1050,7 @@ struct drm_device {
        /*@{ */
        unsigned long counters;
        enum drm_stat_type types[15];
@@ -60040,10 +60417,27 @@ index 49a83ca..df96b54 100644
  #undef __HANDLE_ITEM
  };
 diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
-index fd88a39..f4d0bad 100644
+index fd88a39..8a801b4 100644
 --- a/include/linux/binfmts.h
 +++ b/include/linux/binfmts.h
-@@ -88,6 +88,7 @@ struct linux_binfmt {
+@@ -18,7 +18,7 @@ struct pt_regs;
+ #define BINPRM_BUF_SIZE 128
+ #ifdef __KERNEL__
+-#include <linux/list.h>
++#include <linux/sched.h>
+ #define CORENAME_MAX_SIZE 128
+@@ -58,6 +58,7 @@ struct linux_binprm {
+       unsigned interp_flags;
+       unsigned interp_data;
+       unsigned long loader, exec;
++      char tcomm[TASK_COMM_LEN];
+ };
+ #define BINPRM_FLAGS_ENFORCE_NONDUMP_BIT 0
+@@ -88,6 +89,7 @@ struct linux_binfmt {
        int (*load_binary)(struct linux_binprm *, struct  pt_regs * regs);
        int (*load_shlib)(struct file *);
        int (*core_dump)(struct coredump_params *cprm);
@@ -60052,10 +60446,10 @@ index fd88a39..f4d0bad 100644
  };
  
 diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
-index 7fbaa91..5e6a460 100644
+index 0ed1eb0..3ab569b 100644
 --- a/include/linux/blkdev.h
 +++ b/include/linux/blkdev.h
-@@ -1321,7 +1321,7 @@ struct block_device_operations {
+@@ -1315,7 +1315,7 @@ struct block_device_operations {
        /* this callback is with swap_lock and sometimes page table lock held */
        void (*swap_slot_free_notify) (struct block_device *, unsigned long);
        struct module *owner;
@@ -60065,7 +60459,7 @@ index 7fbaa91..5e6a460 100644
  extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int,
                                 unsigned long);
 diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h
-index 8e9e4bc..88bd457 100644
+index 4d1a074..88f929a 100644
 --- a/include/linux/blktrace_api.h
 +++ b/include/linux/blktrace_api.h
 @@ -162,7 +162,7 @@ struct blk_trace {
@@ -60161,10 +60555,10 @@ index 4c57065..4307975 100644
  #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
  #endif
 diff --git a/include/linux/capability.h b/include/linux/capability.h
-index c421123..e343179 100644
+index a63d13d..069bfd5 100644
 --- a/include/linux/capability.h
 +++ b/include/linux/capability.h
-@@ -547,6 +547,9 @@ extern bool capable(int cap);
+@@ -548,6 +548,9 @@ extern bool capable(int cap);
  extern bool ns_capable(struct user_namespace *ns, int cap);
  extern bool task_ns_capable(struct task_struct *t, int cap);
  extern bool nsown_capable(int cap);
@@ -60188,10 +60582,10 @@ index 04ffb2e..6799180 100644
  extern struct cleancache_ops
        cleancache_register_ops(struct cleancache_ops *ops);
 diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
-index dfadc96..c0e70c1 100644
+index dfadc96..d90deca 100644
 --- a/include/linux/compiler-gcc4.h
 +++ b/include/linux/compiler-gcc4.h
-@@ -31,6 +31,12 @@
+@@ -31,6 +31,15 @@
  
  
  #if __GNUC_MINOR__ >= 5
@@ -60201,10 +60595,13 @@ index dfadc96..c0e70c1 100644
 +#define __do_const __attribute__((do_const))
 +#endif
 +
++#ifdef SIZE_OVERFLOW_PLUGIN
++#define __size_overflow(...) __attribute__((size_overflow(__VA_ARGS__)))
++#endif
  /*
   * Mark a position in code as unreachable.  This can be used to
   * suppress control flow warnings after asm blocks that transfer
-@@ -46,6 +52,11 @@
+@@ -46,6 +55,11 @@
  #define __noclone     __attribute__((__noclone__))
  
  #endif
@@ -60217,7 +60614,7 @@ index dfadc96..c0e70c1 100644
  
  #if __GNUC_MINOR__ > 0
 diff --git a/include/linux/compiler.h b/include/linux/compiler.h
-index 320d6c9..8573a1c 100644
+index 320d6c9..1221a6b 100644
 --- a/include/linux/compiler.h
 +++ b/include/linux/compiler.h
 @@ -5,31 +5,62 @@
@@ -60293,7 +60690,7 @@ index 320d6c9..8573a1c 100644
  #endif
  
  #ifdef __KERNEL__
-@@ -264,6 +297,14 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -264,6 +297,17 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
  # define __attribute_const__  /* unimplemented */
  #endif
  
@@ -60305,10 +60702,13 @@ index 320d6c9..8573a1c 100644
 +# define __do_const
 +#endif
 +
++#ifndef __size_overflow
++# define __size_overflow(...)
++#endif
  /*
   * Tell gcc if a function is cold. The compiler will assume any path
   * directly leading to the call is unlikely.
-@@ -273,6 +314,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -273,6 +317,22 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
  #define __cold
  #endif
  
@@ -60331,7 +60731,7 @@ index 320d6c9..8573a1c 100644
  /* Simple shorthand for a section definition */
  #ifndef __section
  # define __section(S) __attribute__ ((__section__(#S)))
-@@ -306,6 +363,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
+@@ -306,6 +366,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
   * use is to mediate communication between process-level code and irq/NMI
   * handlers, all running on the same CPU.
   */
@@ -60353,11 +60753,38 @@ index e9eaec5..bfeb9bb 100644
  }
  
  static inline void set_mems_allowed(nodemask_t nodemask)
+diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h
+index b936763..48685ee 100644
+--- a/include/linux/crash_dump.h
++++ b/include/linux/crash_dump.h
+@@ -14,7 +14,7 @@ extern unsigned long long elfcorehdr_addr;
+ extern unsigned long long elfcorehdr_size;
+ extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
+-                                              unsigned long, int);
++                                              unsigned long, int) __size_overflow(3);
+ /* Architecture code defines this if there are other possible ELF
+  * machine types, e.g. on bi-arch capable hardware. */
+diff --git a/include/linux/cred.h b/include/linux/cred.h
+index 4030896..8d6f342 100644
+--- a/include/linux/cred.h
++++ b/include/linux/cred.h
+@@ -207,6 +207,9 @@ static inline void validate_creds_for_do_exit(struct task_struct *tsk)
+ static inline void validate_process_creds(void)
+ {
+ }
++static inline void validate_task_creds(struct task_struct *task)
++{
++}
+ #endif
+ /**
 diff --git a/include/linux/crypto.h b/include/linux/crypto.h
-index e5e468e..f079672 100644
+index 8a94217..15d49e3 100644
 --- a/include/linux/crypto.h
 +++ b/include/linux/crypto.h
-@@ -361,7 +361,7 @@ struct cipher_tfm {
+@@ -365,7 +365,7 @@ struct cipher_tfm {
                          const u8 *key, unsigned int keylen);
        void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
        void (*cit_decrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
@@ -60366,7 +60793,7 @@ index e5e468e..f079672 100644
  
  struct hash_tfm {
        int (*init)(struct hash_desc *desc);
-@@ -382,13 +382,13 @@ struct compress_tfm {
+@@ -386,13 +386,13 @@ struct compress_tfm {
        int (*cot_decompress)(struct crypto_tfm *tfm,
                              const u8 *src, unsigned int slen,
                              u8 *dst, unsigned int *dlen);
@@ -60396,12 +60823,12 @@ index 7925bf0..d5143d2 100644
  
  #define large_malloc(a) vmalloc(a)
 diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
-index 347fdc3..cd01657 100644
+index e13117c..e9fc938 100644
 --- a/include/linux/dma-mapping.h
 +++ b/include/linux/dma-mapping.h
-@@ -42,7 +42,7 @@ struct dma_map_ops {
-       int (*dma_supported)(struct device *dev, u64 mask);
-       int (*set_dma_mask)(struct device *dev, u64 mask);
+@@ -46,7 +46,7 @@ struct dma_map_ops {
+       u64 (*get_required_mask)(struct device *dev);
+ #endif
        int is_phys;
 -};
 +} __do_const;
@@ -60422,7 +60849,7 @@ index 2362a0b..cfaf8fcc 100644
  struct efivars {
        /*
 diff --git a/include/linux/elf.h b/include/linux/elf.h
-index 110821c..cb14c08 100644
+index 31f0508..5421c01 100644
 --- a/include/linux/elf.h
 +++ b/include/linux/elf.h
 @@ -49,6 +49,17 @@ typedef __s64       Elf64_Sxword;
@@ -60481,7 +60908,7 @@ index 110821c..cb14c08 100644
  #define       ELFMAG0         0x7f            /* EI_MAG */
  #define       ELFMAG1         'E'
  #define       ELFMAG2         'L'
-@@ -422,6 +450,7 @@ extern Elf32_Dyn _DYNAMIC [];
+@@ -423,6 +451,7 @@ extern Elf32_Dyn _DYNAMIC [];
  #define elf_note      elf32_note
  #define elf_addr_t    Elf32_Off
  #define Elf_Half      Elf32_Half
@@ -60489,7 +60916,7 @@ index 110821c..cb14c08 100644
  
  #else
  
-@@ -432,6 +461,7 @@ extern Elf64_Dyn _DYNAMIC [];
+@@ -433,6 +462,7 @@ extern Elf64_Dyn _DYNAMIC [];
  #define elf_note      elf64_note
  #define elf_addr_t    Elf64_Off
  #define Elf_Half      Elf64_Half
@@ -60498,7 +60925,7 @@ index 110821c..cb14c08 100644
  #endif
  
 diff --git a/include/linux/filter.h b/include/linux/filter.h
-index 741956f..f02f482 100644
+index 8eeb205..d59bfa2 100644
 --- a/include/linux/filter.h
 +++ b/include/linux/filter.h
 @@ -134,6 +134,7 @@ struct sock_fprog {        /* Required for SO_ATTACH_FILTER. */
@@ -60533,10 +60960,10 @@ index 84ccf8e..2e9b14c 100644
  };
  
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 277f497..9be66a4 100644
+index 10b2288..09180e4 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -1588,7 +1588,8 @@ struct file_operations {
+@@ -1609,7 +1609,8 @@ struct file_operations {
        int (*setlease)(struct file *, long, struct file_lock **);
        long (*fallocate)(struct file *file, int mode, loff_t offset,
                          loff_t len);
@@ -60560,7 +60987,7 @@ index 003dc0f..3c4ea97 100644
        seqcount_t seq;
        int umask;
 diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h
-index af095b5..cf1220c 100644
+index ce31408..b1ad003 100644
 --- a/include/linux/fscache-cache.h
 +++ b/include/linux/fscache-cache.h
 @@ -102,7 +102,7 @@ struct fscache_operation {
@@ -60594,8 +61021,20 @@ index 2a53f10..0187fdf 100644
  }
  
  /*
+diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h
+index 91d0e0a3..035666b 100644
+--- a/include/linux/fsnotify_backend.h
++++ b/include/linux/fsnotify_backend.h
+@@ -105,6 +105,7 @@ struct fsnotify_ops {
+       void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group);
+       void (*free_event_priv)(struct fsnotify_event_private_data *priv);
+ };
++typedef struct fsnotify_ops __no_const fsnotify_ops_no_const;
+ /*
+  * A group is a "thing" that wants to receive notification about filesystem
 diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h
-index 96efa67..1261547 100644
+index c3da42d..c70e0df 100644
 --- a/include/linux/ftrace_event.h
 +++ b/include/linux/ftrace_event.h
 @@ -97,7 +97,7 @@ struct trace_event_functions {
@@ -60607,7 +61046,7 @@ index 96efa67..1261547 100644
  
  struct trace_event {
        struct hlist_node               node;
-@@ -252,7 +252,7 @@ extern int trace_define_field(struct ftrace_event_call *call, const char *type,
+@@ -254,7 +254,7 @@ extern int trace_define_field(struct ftrace_event_call *call, const char *type,
  extern int trace_add_event_call(struct ftrace_event_call *call);
  extern void trace_remove_event_call(struct ftrace_event_call *call);
  
@@ -60617,10 +61056,10 @@ index 96efa67..1261547 100644
  int trace_set_clr_event(const char *system, const char *event, int set);
  
 diff --git a/include/linux/genhd.h b/include/linux/genhd.h
-index 02fa469..a15f279 100644
+index c6f7f6a..aa0f7d3 100644
 --- a/include/linux/genhd.h
 +++ b/include/linux/genhd.h
-@@ -184,7 +184,7 @@ struct gendisk {
+@@ -185,7 +185,7 @@ struct gendisk {
        struct kobject *slave_dir;
  
        struct timer_rand_state *random;
@@ -60631,10 +61070,10 @@ index 02fa469..a15f279 100644
        struct blk_integrity *integrity;
 diff --git a/include/linux/gracl.h b/include/linux/gracl.h
 new file mode 100644
-index 0000000..0dc3943
+index 0000000..8a130b6
 --- /dev/null
 +++ b/include/linux/gracl.h
-@@ -0,0 +1,317 @@
+@@ -0,0 +1,319 @@
 +#ifndef GR_ACL_H
 +#define GR_ACL_H
 +
@@ -60646,8 +61085,8 @@ index 0000000..0dc3943
 +
 +/* Major status information */
 +
-+#define GR_VERSION  "grsecurity 2.2.2"
-+#define GRSECURITY_VERSION 0x2202
++#define GR_VERSION  "grsecurity 2.9"
++#define GRSECURITY_VERSION 0x2900
 +
 +enum {
 +      GR_SHUTDOWN = 0,
@@ -60810,6 +61249,8 @@ index 0000000..0dc3943
 +      uid_t *domain_children;
 +      __u16 domain_child_num;
 +
++      umode_t umask;
++
 +      struct acl_subject_label **subj_hash;
 +      __u32 subj_hash_size;
 +};
@@ -61115,10 +61556,10 @@ index 0000000..b30e9bc
 +#endif
 diff --git a/include/linux/grinternal.h b/include/linux/grinternal.h
 new file mode 100644
-index 0000000..60cda84
+index 0000000..da390f1
 --- /dev/null
 +++ b/include/linux/grinternal.h
-@@ -0,0 +1,220 @@
+@@ -0,0 +1,221 @@
 +#ifndef __GRINTERNAL_H
 +#define __GRINTERNAL_H
 +
@@ -61155,6 +61596,7 @@ index 0000000..60cda84
 +char *gr_to_filename3(const struct dentry *dentry,
 +                          const struct vfsmount *mnt);
 +
++extern int grsec_enable_ptrace_readexec;
 +extern int grsec_enable_harden_ptrace;
 +extern int grsec_enable_link;
 +extern int grsec_enable_fifo;
@@ -61341,10 +61783,10 @@ index 0000000..60cda84
 +#endif
 diff --git a/include/linux/grmsg.h b/include/linux/grmsg.h
 new file mode 100644
-index 0000000..9d5fd4a
+index 0000000..ae576a1
 --- /dev/null
 +++ b/include/linux/grmsg.h
-@@ -0,0 +1,108 @@
+@@ -0,0 +1,109 @@
 +#define DEFAULTSECMSG "%.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u, parent %.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u"
 +#define GR_ACL_PROCACCT_MSG "%.256s[%.16s:%d] IP:%pI4 TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u run time:[%ud %uh %um %us] cpu time:[%ud %uh %um %us] %s with exit code %ld, parent %.256s[%.16s:%d] IP:%pI4 TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u"
 +#define GR_PTRACE_ACL_MSG "denied ptrace of %.950s(%.16s:%d) by "
@@ -61379,7 +61821,7 @@ index 0000000..9d5fd4a
 +#define GR_UNSAFESHARE_EXEC_ACL_MSG "denied exec with cloned fs of %.950s by "
 +#define GR_PTRACE_EXEC_ACL_MSG "denied ptrace of %.950s by "
 +#define GR_EXEC_ACL_MSG "%s execution of %.950s by "
-+#define GR_EXEC_TPE_MSG "denied untrusted exec of %.950s by "
++#define GR_EXEC_TPE_MSG "denied untrusted exec (due to %.70s) of %.950s by "
 +#define GR_SEGVSTART_ACL_MSG "possible exploit bruteforcing on " DEFAULTSECMSG " banning uid %u from login for %lu seconds"
 +#define GR_SEGVNOSUID_ACL_MSG "possible exploit bruteforcing on " DEFAULTSECMSG " banning execution for %lu seconds"
 +#define GR_MOUNT_CHROOT_MSG "denied mount of %.256s as %.930s from chroot by "
@@ -61388,7 +61830,6 @@ index 0000000..9d5fd4a
 +#define GR_ATIME_ACL_MSG "%s access time change of %.950s by "
 +#define GR_ACCESS_ACL_MSG "%s access of %.950s for%s%s%s by "
 +#define GR_CHROOT_CHROOT_MSG "denied double chroot to %.950s by "
-+#define GR_FCHMOD_ACL_MSG "%s fchmod of %.950s by "
 +#define GR_CHMOD_CHROOT_MSG "denied chmod +s of %.950s by "
 +#define GR_CHMOD_ACL_MSG "%s chmod of %.950s by "
 +#define GR_CHROOT_FCHDIR_MSG "denied fchdir outside of chroot to %.950s by "
@@ -61397,7 +61838,7 @@ index 0000000..9d5fd4a
 +#define GR_WRITLIB_ACL_MSG "denied load of writable library %.950s by "
 +#define GR_INITF_ACL_MSG "init_variables() failed %s by "
 +#define GR_DISABLED_ACL_MSG "Error loading %s, trying to run kernel with acls disabled. To disable acls at startup use <kernel image name> gracl=off from your boot loader"
-+#define GR_DEV_ACL_MSG "/dev/grsec: %d bytes sent %d required, being fed garbaged by "
++#define GR_DEV_ACL_MSG "/dev/grsec: %d bytes sent %d required, being fed garbage by "
 +#define GR_SHUTS_ACL_MSG "shutdown auth success for "
 +#define GR_SHUTF_ACL_MSG "shutdown auth failure for "
 +#define GR_SHUTI_ACL_MSG "ignoring shutdown for disabled RBAC system for "
@@ -61452,13 +61893,15 @@ index 0000000..9d5fd4a
 +#define GR_TEXTREL_AUDIT_MSG "text relocation in %s, VMA:0x%08lx 0x%08lx by "
 +#define GR_VM86_MSG "denied use of vm86 by "
 +#define GR_PTRACE_AUDIT_MSG "process %.950s(%.16s:%d) attached to via ptrace by "
++#define GR_PTRACE_READEXEC_MSG "denied ptrace of unreadable binary %.950s by "
 +#define GR_INIT_TRANSFER_MSG "persistent special role transferred privilege to init by "
++#define GR_BADPROCPID_MSG "denied read of sensitive /proc/pid/%s entry via fd passed across exec by "
 diff --git a/include/linux/grsecurity.h b/include/linux/grsecurity.h
 new file mode 100644
-index 0000000..bd25f72
+index 0000000..2ccf677
 --- /dev/null
 +++ b/include/linux/grsecurity.h
-@@ -0,0 +1,228 @@
+@@ -0,0 +1,229 @@
 +#ifndef GR_SECURITY_H
 +#define GR_SECURITY_H
 +#include <linux/fs.h>
@@ -61473,12 +61916,6 @@ index 0000000..bd25f72
 +#if defined(CONFIG_PAX_NOEXEC) && !defined(CONFIG_PAX_PAGEEXEC) && !defined(CONFIG_PAX_SEGMEXEC) && !defined(CONFIG_PAX_KERNEXEC)
 +#error "CONFIG_PAX_NOEXEC enabled, but PAGEEXEC, SEGMEXEC, and KERNEXEC are disabled."
 +#endif
-+#if defined(CONFIG_PAX_NOEXEC) && !defined(CONFIG_PAX_EI_PAX) && !defined(CONFIG_PAX_PT_PAX_FLAGS)
-+#error "CONFIG_PAX_NOEXEC enabled, but neither CONFIG_PAX_EI_PAX nor CONFIG_PAX_PT_PAX_FLAGS are enabled."
-+#endif
-+#if defined(CONFIG_PAX_ASLR) && (defined(CONFIG_PAX_RANDMMAP) || defined(CONFIG_PAX_RANDUSTACK)) && !defined(CONFIG_PAX_EI_PAX) && !defined(CONFIG_PAX_PT_PAX_FLAGS)
-+#error "CONFIG_PAX_ASLR enabled, but neither CONFIG_PAX_EI_PAX nor CONFIG_PAX_PT_PAX_FLAGS are enabled."
-+#endif
 +#if defined(CONFIG_PAX_ASLR) && !defined(CONFIG_PAX_RANDKSTACK) && !defined(CONFIG_PAX_RANDUSTACK) && !defined(CONFIG_PAX_RANDMMAP)
 +#error "CONFIG_PAX_ASLR enabled, but RANDKSTACK, RANDUSTACK, and RANDMMAP are disabled."
 +#endif
@@ -61539,6 +61976,8 @@ index 0000000..bd25f72
 +void gr_handle_ioperm(void);
 +void gr_handle_iopl(void);
 +
++umode_t gr_acl_umask(void);
++
 +int gr_tpe_allow(const struct file *file);
 +
 +void gr_set_chroot_entries(struct task_struct *task, struct path *path);
@@ -61593,10 +62032,8 @@ index 0000000..bd25f72
 +                               const struct vfsmount *mnt);
 +__u32 gr_acl_handle_access(const struct dentry *dentry,
 +                                const struct vfsmount *mnt, const int fmode);
-+__u32 gr_acl_handle_fchmod(const struct dentry *dentry,
-+                                const struct vfsmount *mnt, mode_t mode);
 +__u32 gr_acl_handle_chmod(const struct dentry *dentry,
-+                               const struct vfsmount *mnt, mode_t mode);
++                               const struct vfsmount *mnt, umode_t *mode);
 +__u32 gr_acl_handle_chown(const struct dentry *dentry,
 +                               const struct vfsmount *mnt);
 +__u32 gr_acl_handle_setxattr(const struct dentry *dentry,
@@ -61612,7 +62049,7 @@ index 0000000..bd25f72
 +                            const gid_t gid);
 +int gr_set_proc_label(const struct dentry *dentry,
 +                      const struct vfsmount *mnt,
-+                      const int unsafe_share);
++                      const int unsafe_flags);
 +__u32 gr_acl_handle_hidden_file(const struct dentry *dentry,
 +                              const struct vfsmount *mnt);
 +__u32 gr_acl_handle_open(const struct dentry *dentry,
@@ -61674,16 +62111,23 @@ index 0000000..bd25f72
 +void gr_audit_ptrace(struct task_struct *task);
 +dev_t gr_get_dev_from_dentry(struct dentry *dentry);
 +
++int gr_ptrace_readexec(struct file *file, int unsafe_flags);
++
 +#ifdef CONFIG_GRKERNSEC
 +void task_grsec_rbac(struct seq_file *m, struct task_struct *p);
 +void gr_handle_vm86(void);
 +void gr_handle_mem_readwrite(u64 from, u64 to);
 +
++void gr_log_badprocpid(const char *entry);
++
 +extern int grsec_enable_dmesg;
 +extern int grsec_disable_privio;
 +#ifdef CONFIG_GRKERNSEC_CHROOT_FINDTASK
 +extern int grsec_enable_chroot_findtask;
 +#endif
++#ifdef CONFIG_GRKERNSEC_SETXID
++extern int grsec_enable_setxid;
++#endif
 +#endif
 +
 +#endif
@@ -61713,10 +62157,10 @@ index 0000000..e7ffaaf
 +
 +#endif
 diff --git a/include/linux/hid.h b/include/linux/hid.h
-index 9cf8e7a..5ec94d0 100644
+index c235e4e..f0cf7a0 100644
 --- a/include/linux/hid.h
 +++ b/include/linux/hid.h
-@@ -676,7 +676,7 @@ struct hid_ll_driver {
+@@ -679,7 +679,7 @@ struct hid_ll_driver {
                        unsigned int code, int value);
  
        int (*parse)(struct hid_device *hdev);
@@ -61749,10 +62193,10 @@ index 3a93f73..b19d0b3 100644
        unsigned start1, unsigned end1,
        unsigned start2, unsigned end2)
 diff --git a/include/linux/i2c.h b/include/linux/i2c.h
-index a6c652e..1f5878f 100644
+index 07d103a..04ec65b 100644
 --- a/include/linux/i2c.h
 +++ b/include/linux/i2c.h
-@@ -346,6 +346,7 @@ struct i2c_algorithm {
+@@ -364,6 +364,7 @@ struct i2c_algorithm {
        /* To determine what the adapter supports */
        u32 (*functionality) (struct i2c_adapter *);
  };
@@ -61794,12 +62238,12 @@ index 9146f39..885354d 100644
        void cleanup_module(void) __attribute__((alias(#exitfn)));
  
 diff --git a/include/linux/init_task.h b/include/linux/init_task.h
-index d14e058..4162929 100644
+index 32574ee..00d4ef1 100644
 --- a/include/linux/init_task.h
 +++ b/include/linux/init_task.h
-@@ -126,6 +126,12 @@ extern struct cred init_cred;
- # define INIT_PERF_EVENTS(tsk)
- #endif
+@@ -128,6 +128,12 @@ extern struct cred init_cred;
+ #define INIT_TASK_COMM "swapper"
  
 +#ifdef CONFIG_X86
 +#define INIT_TASK_THREAD_INFO .tinfo = INIT_THREAD_INFO,
@@ -61810,16 +62254,16 @@ index d14e058..4162929 100644
  /*
   *  INIT_TASK is used to set up the first task table, touch at
   * your own risk!. Base=0, limit=0x1fffff (=2MB)
-@@ -164,6 +170,7 @@ extern struct cred init_cred;
+@@ -166,6 +172,7 @@ extern struct cred init_cred;
        RCU_INIT_POINTER(.cred, &init_cred),                            \
-       .comm           = "swapper",                                    \
+       .comm           = INIT_TASK_COMM,                               \
        .thread         = INIT_THREAD,                                  \
 +      INIT_TASK_THREAD_INFO                                           \
        .fs             = &init_fs,                                     \
        .files          = &init_files,                                  \
        .signal         = &init_signals,                                \
 diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
-index 9310c69..6ebb244 100644
+index e6ca56d..8583707 100644
 --- a/include/linux/intel-iommu.h
 +++ b/include/linux/intel-iommu.h
 @@ -296,7 +296,7 @@ struct iommu_flush {
@@ -61832,10 +62276,10 @@ index 9310c69..6ebb244 100644
  enum {
        SR_DMAR_FECTL_REG,
 diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
-index f51a81b..adfcb44 100644
+index a64b00e..464d8bc 100644
 --- a/include/linux/interrupt.h
 +++ b/include/linux/interrupt.h
-@@ -425,7 +425,7 @@ enum
+@@ -441,7 +441,7 @@ enum
  /* map softirq index to softirq name. update 'softirq_to_name' in
   * kernel/softirq.c when adding a new softirq.
   */
@@ -61844,7 +62288,7 @@ index f51a81b..adfcb44 100644
  
  /* softirq mask and active fields moved to irq_cpustat_t in
   * asm/hardirq.h to get better cache usage.  KAO
-@@ -433,12 +433,12 @@ extern char *softirq_to_name[NR_SOFTIRQS];
+@@ -449,12 +449,12 @@ extern char *softirq_to_name[NR_SOFTIRQS];
  
  struct softirq_action
  {
@@ -61860,7 +62304,7 @@ index f51a81b..adfcb44 100644
  static inline void __raise_softirq_irqoff(unsigned int nr)
  {
 diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
-index 0df513b..fe901a2 100644
+index 3875719..4cd454c 100644
 --- a/include/linux/kallsyms.h
 +++ b/include/linux/kallsyms.h
 @@ -15,7 +15,8 @@
@@ -61878,7 +62322,7 @@ index 0df513b..fe901a2 100644
  #define __print_symbol(fmt, addr)
  #endif /*CONFIG_KALLSYMS*/
 +#else /* when included by kallsyms.c, vsnprintf.c, or
-+       arch/x86/kernel/dumpstack.c, with HIDESYM enabled */
++      arch/x86/kernel/dumpstack.c, with HIDESYM enabled */
 +extern void __print_symbol(const char *fmt, unsigned long address);
 +extern int sprint_backtrace(char *buffer, unsigned long address);
 +extern int sprint_symbol(char *buffer, unsigned long address);
@@ -61889,7 +62333,7 @@ index 0df513b..fe901a2 100644
 +#endif
  
  /* This macro allows us to keep printk typechecking */
- static void __check_printsym_format(const char *fmt, ...)
+ static __printf(1, 2)
 diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h
 index fa39183..40160be 100644
 --- a/include/linux/kgdb.h
@@ -61922,20 +62366,20 @@ index fa39183..40160be 100644
  extern struct kgdb_arch               arch_kgdb_ops;
  
 diff --git a/include/linux/kmod.h b/include/linux/kmod.h
-index 0da38cf..d23f05f 100644
+index b16f653..eb908f4 100644
 --- a/include/linux/kmod.h
 +++ b/include/linux/kmod.h
 @@ -34,6 +34,8 @@ extern char modprobe_path[]; /* for sysctl */
   * usually useless though. */
- extern int __request_module(bool wait, const char *name, ...) \
      __attribute__((format(printf, 2, 3)));
-+extern int ___request_module(bool wait, char *param_name, const char *name, ...) \
-+      __attribute__((format(printf, 3, 4)));
+ extern __printf(2, 3)
int __request_module(bool wait, const char *name, ...);
++extern __printf(3, 4)
++int ___request_module(bool wait, char *param_name, const char *name, ...);
  #define request_module(mod...) __request_module(true, mod)
  #define request_module_nowait(mod...) __request_module(false, mod)
  #define try_then_request_module(x, mod...) \
 diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
-index eabb21a..3f030f4 100644
+index d526231..c9599fc 100644
 --- a/include/linux/kvm_host.h
 +++ b/include/linux/kvm_host.h
 @@ -308,7 +308,7 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vcpu);
@@ -61947,6 +62391,33 @@ index eabb21a..3f030f4 100644
                  struct module *module);
  void kvm_exit(void);
  
+@@ -385,20 +385,20 @@ void kvm_get_pfn(pfn_t pfn);
+ int kvm_read_guest_page(struct kvm *kvm, gfn_t gfn, void *data, int offset,
+                       int len);
+ int kvm_read_guest_atomic(struct kvm *kvm, gpa_t gpa, void *data,
+-                        unsigned long len);
+-int kvm_read_guest(struct kvm *kvm, gpa_t gpa, void *data, unsigned long len);
++                        unsigned long len) __size_overflow(4);
++int kvm_read_guest(struct kvm *kvm, gpa_t gpa, void *data, unsigned long len) __size_overflow(2,4);
+ int kvm_read_guest_cached(struct kvm *kvm, struct gfn_to_hva_cache *ghc,
+-                         void *data, unsigned long len);
++                         void *data, unsigned long len) __size_overflow(4);
+ int kvm_write_guest_page(struct kvm *kvm, gfn_t gfn, const void *data,
+                        int offset, int len);
+ int kvm_write_guest(struct kvm *kvm, gpa_t gpa, const void *data,
+-                  unsigned long len);
++                  unsigned long len) __size_overflow(2,4);
+ int kvm_write_guest_cached(struct kvm *kvm, struct gfn_to_hva_cache *ghc,
+-                         void *data, unsigned long len);
++                         void *data, unsigned long len) __size_overflow(4);
+ int kvm_gfn_to_hva_cache_init(struct kvm *kvm, struct gfn_to_hva_cache *ghc,
+                             gpa_t gpa);
+ int kvm_clear_guest_page(struct kvm *kvm, gfn_t gfn, int offset, int len);
+-int kvm_clear_guest(struct kvm *kvm, gpa_t gpa, unsigned long len);
++int kvm_clear_guest(struct kvm *kvm, gpa_t gpa, unsigned long len) __size_overflow(2,3);
+ struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn);
+ int kvm_is_visible_gfn(struct kvm *kvm, gfn_t gfn);
+ unsigned long kvm_host_page_size(struct kvm *kvm, gfn_t gfn);
 @@ -454,7 +454,7 @@ int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,
                                        struct kvm_guest_debug *dbg);
  int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run);
@@ -61956,8 +62427,17 @@ index eabb21a..3f030f4 100644
  void kvm_arch_exit(void);
  
  int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu);
+@@ -690,7 +690,7 @@ int kvm_setup_default_irq_routing(struct kvm *kvm);
+ int kvm_set_irq_routing(struct kvm *kvm,
+                       const struct kvm_irq_routing_entry *entries,
+                       unsigned nr,
+-                      unsigned flags);
++                      unsigned flags) __size_overflow(3);
+ void kvm_free_irq_routing(struct kvm *kvm);
+ #else
 diff --git a/include/linux/libata.h b/include/linux/libata.h
-index efd6f98..5f5fd37 100644
+index cafc09a..d7e7829 100644
 --- a/include/linux/libata.h
 +++ b/include/linux/libata.h
 @@ -909,7 +909,7 @@ struct ata_port_operations {
@@ -61996,10 +62476,10 @@ index 935699b..11042cc 100644
  /*
   * Kernel text modification mutex, used for code patching. Users of this lock
 diff --git a/include/linux/mfd/abx500.h b/include/linux/mfd/abx500.h
-index 896b5e4..1159ad0 100644
+index 9970337..9444122 100644
 --- a/include/linux/mfd/abx500.h
 +++ b/include/linux/mfd/abx500.h
-@@ -234,6 +234,7 @@ struct abx500_ops {
+@@ -188,6 +188,7 @@ struct abx500_ops {
        int (*event_registers_startup_state_get) (struct device *, u8 *);
        int (*startup_irq_enabled) (struct device *, unsigned int);
  };
@@ -62008,10 +62488,10 @@ index 896b5e4..1159ad0 100644
  int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops);
  void abx500_remove_ops(struct device *dev);
 diff --git a/include/linux/mm.h b/include/linux/mm.h
-index fedc5f0..7cedb6d 100644
+index 4baadd1..2e0b45e 100644
 --- a/include/linux/mm.h
 +++ b/include/linux/mm.h
-@@ -114,7 +114,14 @@ extern unsigned int kobjsize(const void *objp);
+@@ -115,7 +115,14 @@ extern unsigned int kobjsize(const void *objp);
  
  #define VM_CAN_NONLINEAR 0x08000000   /* Has ->fault & does nonlinear pages */
  #define VM_MIXEDMAP   0x10000000      /* Can contain "struct page" and pure PFN pages */
@@ -62026,7 +62506,7 @@ index fedc5f0..7cedb6d 100644
  #define VM_PFN_AT_MMAP        0x40000000      /* PFNMAP vma that is fully mapped at mmap time */
  #define VM_MERGEABLE  0x80000000      /* KSM may merge identical pages */
  
-@@ -1011,34 +1018,6 @@ int set_page_dirty(struct page *page);
+@@ -1012,34 +1019,6 @@ int set_page_dirty(struct page *page);
  int set_page_dirty_lock(struct page *page);
  int clear_page_dirty_for_io(struct page *page);
  
@@ -62061,7 +62541,7 @@ index fedc5f0..7cedb6d 100644
  extern unsigned long move_page_tables(struct vm_area_struct *vma,
                unsigned long old_addr, struct vm_area_struct *new_vma,
                unsigned long new_addr, unsigned long len);
-@@ -1133,6 +1112,15 @@ static inline void sync_mm_rss(struct task_struct *task, struct mm_struct *mm)
+@@ -1134,6 +1113,15 @@ static inline void sync_mm_rss(struct task_struct *task, struct mm_struct *mm)
  }
  #endif
  
@@ -62077,7 +62557,7 @@ index fedc5f0..7cedb6d 100644
  int vma_wants_writenotify(struct vm_area_struct *vma);
  
  extern pte_t *__get_locked_pte(struct mm_struct *mm, unsigned long addr,
-@@ -1417,6 +1405,7 @@ out:
+@@ -1419,6 +1407,7 @@ out:
  }
  
  extern int do_munmap(struct mm_struct *, unsigned long, size_t);
@@ -62085,7 +62565,7 @@ index fedc5f0..7cedb6d 100644
  
  extern unsigned long do_brk(unsigned long, unsigned long);
  
-@@ -1474,6 +1463,10 @@ extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long add
+@@ -1476,6 +1465,10 @@ extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long add
  extern struct vm_area_struct * find_vma_prev(struct mm_struct * mm, unsigned long addr,
                                             struct vm_area_struct **pprev);
  
@@ -62096,7 +62576,7 @@ index fedc5f0..7cedb6d 100644
  /* Look up the first VMA which intersects the interval start_addr..end_addr-1,
     NULL if none.  Assume start_addr < end_addr. */
  static inline struct vm_area_struct * find_vma_intersection(struct mm_struct * mm, unsigned long start_addr, unsigned long end_addr)
-@@ -1490,15 +1483,6 @@ static inline unsigned long vma_pages(struct vm_area_struct *vma)
+@@ -1492,15 +1485,6 @@ static inline unsigned long vma_pages(struct vm_area_struct *vma)
        return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
  }
  
@@ -62112,7 +62592,7 @@ index fedc5f0..7cedb6d 100644
  struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr);
  int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
                        unsigned long pfn, unsigned long size, pgprot_t);
-@@ -1612,7 +1596,7 @@ extern int unpoison_memory(unsigned long pfn);
+@@ -1614,7 +1598,7 @@ extern int unpoison_memory(unsigned long pfn);
  extern int sysctl_memory_failure_early_kill;
  extern int sysctl_memory_failure_recovery;
  extern void shake_page(struct page *p, int access);
@@ -62121,7 +62601,7 @@ index fedc5f0..7cedb6d 100644
  extern int soft_offline_page(struct page *page, int flags);
  
  extern void dump_page(struct page *page);
-@@ -1626,5 +1610,11 @@ extern void copy_user_huge_page(struct page *dst, struct page *src,
+@@ -1628,5 +1612,11 @@ extern void copy_user_huge_page(struct page *dst, struct page *src,
                                unsigned int pages_per_huge_page);
  #endif /* CONFIG_TRANSPARENT_HUGEPAGE || CONFIG_HUGETLBFS */
  
@@ -62134,10 +62614,10 @@ index fedc5f0..7cedb6d 100644
  #endif /* __KERNEL__ */
  #endif /* _LINUX_MM_H */
 diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
-index 10a2f62..c8fa287 100644
+index 5b42f1b..759e4b4 100644
 --- a/include/linux/mm_types.h
 +++ b/include/linux/mm_types.h
-@@ -230,6 +230,8 @@ struct vm_area_struct {
+@@ -253,6 +253,8 @@ struct vm_area_struct {
  #ifdef CONFIG_NUMA
        struct mempolicy *vm_policy;    /* NUMA policy for the VMA */
  #endif
@@ -62146,12 +62626,12 @@ index 10a2f62..c8fa287 100644
  };
  
  struct core_thread {
-@@ -362,6 +364,24 @@ struct mm_struct {
+@@ -389,6 +391,24 @@ struct mm_struct {
  #ifdef CONFIG_CPUMASK_OFFSTACK
        struct cpumask cpumask_allocation;
  #endif
 +
-+#if defined(CONFIG_PAX_EI_PAX) || defined(CONFIG_PAX_PT_PAX_FLAGS) || defined(CONFIG_PAX_NOEXEC) || defined(CONFIG_PAX_ASLR)
++#if defined(CONFIG_PAX_NOEXEC) || defined(CONFIG_PAX_ASLR)
 +      unsigned long pax_flags;
 +#endif
 +
@@ -62192,10 +62672,10 @@ index 1d1b1e1..2a13c78 100644
  
  #define pmdp_clear_flush_notify(__vma, __address, __pmdp)             \
 diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
-index be1ac8d..26868ce 100644
+index 188cb2f..d78409b 100644
 --- a/include/linux/mmzone.h
 +++ b/include/linux/mmzone.h
-@@ -356,7 +356,7 @@ struct zone {
+@@ -369,7 +369,7 @@ struct zone {
        unsigned long           flags;             /* zone flags, see below */
  
        /* Zone statistics */
@@ -62205,7 +62685,7 @@ index be1ac8d..26868ce 100644
        /*
         * The target ratio of ACTIVE_ANON to INACTIVE_ANON pages on
 diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
-index ae28e93..1ac2233 100644
+index 468819c..17b9db3 100644
 --- a/include/linux/mod_devicetable.h
 +++ b/include/linux/mod_devicetable.h
 @@ -12,7 +12,7 @@
@@ -62227,18 +62707,18 @@ index ae28e93..1ac2233 100644
  struct hid_device_id {
        __u16 bus;
 diff --git a/include/linux/module.h b/include/linux/module.h
-index 1c30087..fc2a442 100644
+index 3cb7839..511cb87 100644
 --- a/include/linux/module.h
 +++ b/include/linux/module.h
-@@ -16,6 +16,7 @@
- #include <linux/kobject.h>
+@@ -17,6 +17,7 @@
  #include <linux/moduleparam.h>
  #include <linux/tracepoint.h>
+ #include <linux/export.h>
 +#include <linux/fs.h>
  
  #include <linux/percpu.h>
  #include <asm/module.h>
-@@ -327,19 +328,16 @@ struct module
+@@ -261,19 +262,16 @@ struct module
        int (*init)(void);
  
        /* If this is non-NULL, vfree after init() returns */
@@ -62262,7 +62742,7 @@ index 1c30087..fc2a442 100644
  
        /* Arch-specific module values */
        struct mod_arch_specific arch;
-@@ -395,6 +393,10 @@ struct module
+@@ -329,6 +327,10 @@ struct module
  #ifdef CONFIG_EVENT_TRACING
        struct ftrace_event_call **trace_events;
        unsigned int num_trace_events;
@@ -62273,7 +62753,7 @@ index 1c30087..fc2a442 100644
  #endif
  #ifdef CONFIG_FTRACE_MCOUNT_RECORD
        unsigned int num_ftrace_callsites;
-@@ -445,16 +447,46 @@ bool is_module_address(unsigned long addr);
+@@ -379,16 +381,46 @@ bool is_module_address(unsigned long addr);
  bool is_module_percpu_address(unsigned long addr);
  bool is_module_text_address(unsigned long addr);
  
@@ -62325,19 +62805,22 @@ index 1c30087..fc2a442 100644
  
  /* Search for module by name: must hold module_mutex. */
 diff --git a/include/linux/moduleloader.h b/include/linux/moduleloader.h
-index b2be02e..6a9fdb1 100644
+index b2be02e..edb10c9 100644
 --- a/include/linux/moduleloader.h
 +++ b/include/linux/moduleloader.h
-@@ -25,9 +25,21 @@ unsigned int arch_mod_section_prepend(struct module *mod, unsigned int section);
-    sections.  Returns NULL on failure. */
- void *module_alloc(unsigned long size);
+@@ -23,11 +23,23 @@ unsigned int arch_mod_section_prepend(struct module *mod, unsigned int section);
  
+ /* Allocator used for allocating struct module, core sections and init
+    sections.  Returns NULL on failure. */
+-void *module_alloc(unsigned long size);
++void *module_alloc(unsigned long size) __size_overflow(1);
++
 +#ifdef CONFIG_PAX_KERNEXEC
 +void *module_alloc_exec(unsigned long size);
 +#else
 +#define module_alloc_exec(x) module_alloc(x)
 +#endif
-+
  /* Free memory returned from module_alloc. */
  void module_free(struct module *mod, void *module_region);
  
@@ -62351,10 +62834,10 @@ index b2be02e..6a9fdb1 100644
     or 0. */
  int apply_relocate(Elf_Shdr *sechdrs,
 diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
-index ddaae98..3c70938 100644
+index 7939f63..ec6df57 100644
 --- a/include/linux/moduleparam.h
 +++ b/include/linux/moduleparam.h
-@@ -255,7 +255,7 @@ static inline void __kernel_param_unlock(void)
+@@ -260,7 +260,7 @@ static inline void __kernel_param_unlock(void)
   * @len is usually just sizeof(string).
   */
  #define module_param_string(name, string, len, perm)                  \
@@ -62363,7 +62846,7 @@ index ddaae98..3c70938 100644
                = { len, string };                                      \
        __module_param_call(MODULE_PARAM_PREFIX, name,                  \
                            &param_ops_string,                          \
-@@ -370,7 +370,7 @@ extern int param_get_invbool(char *buffer, const struct kernel_param *kp);
+@@ -395,7 +395,7 @@ extern int param_get_invbool(char *buffer, const struct kernel_param *kp);
   * module_param_named() for why this might be necessary.
   */
  #define module_param_array_named(name, array, type, nump, perm)               \
@@ -62372,6 +62855,18 @@ index ddaae98..3c70938 100644
        = { .max = ARRAY_SIZE(array), .num = nump,                      \
            .ops = &param_ops_##type,                                   \
            .elemsize = sizeof(array[0]), .elem = array };              \
+diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h
+index a9e6ba4..0f9e29b 100644
+--- a/include/linux/mtd/map.h
++++ b/include/linux/mtd/map.h
+@@ -25,6 +25,7 @@
+ #include <linux/types.h>
+ #include <linux/list.h>
+ #include <linux/string.h>
++#include <linux/kernel.h>
+ #include <linux/bug.h>
 diff --git a/include/linux/namei.h b/include/linux/namei.h
 index ffc0213..2c1f2cb 100644
 --- a/include/linux/namei.h
@@ -62401,10 +62896,10 @@ index ffc0213..2c1f2cb 100644
        return nd->saved_names[nd->depth];
  }
 diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index ddee79b..67af106 100644
+index a82ad4d..90d15b7 100644
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -944,6 +944,7 @@ struct net_device_ops {
+@@ -949,6 +949,7 @@ struct net_device_ops {
        int                     (*ndo_set_features)(struct net_device *dev,
                                                    u32 features);
  };
@@ -62412,6 +62907,15 @@ index ddee79b..67af106 100644
  
  /*
   *    The DEVICE structure.
+@@ -1088,7 +1089,7 @@ struct net_device {
+       int                     iflink;
+       struct net_device_stats stats;
+-      atomic_long_t           rx_dropped; /* dropped packets by core network
++      atomic_long_unchecked_t rx_dropped; /* dropped packets by core network
+                                            * Do not use this in drivers.
+                                            */
 diff --git a/include/linux/netfilter/xt_gradm.h b/include/linux/netfilter/xt_gradm.h
 new file mode 100644
 index 0000000..33f4af8
@@ -62441,7 +62945,7 @@ index c65a18a..0c05f3a 100644
  extern void *prom_early_alloc(unsigned long size);
  
 diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h
-index 49c8727..34d2ae1 100644
+index a4c5624..2dabfb7 100644
 --- a/include/linux/oprofile.h
 +++ b/include/linux/oprofile.h
 @@ -139,9 +139,9 @@ int oprofilefs_create_ulong(struct super_block * sb, struct dentry * root,
@@ -62456,6 +62960,15 @@ index 49c8727..34d2ae1 100644
   
  /** create a directory */
  struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root,
+@@ -163,7 +163,7 @@ ssize_t oprofilefs_ulong_to_user(unsigned long val, char __user * buf, size_t co
+  * Read an ASCII string for a number from a userspace buffer and fill *val on success.
+  * Returns 0 on success, < 0 on error.
+  */
+-int oprofilefs_ulong_from_user(unsigned long * val, char const __user * buf, size_t count);
++int oprofilefs_ulong_from_user(unsigned long * val, char const __user * buf, size_t count) __size_overflow(3);
+ /** lock for read/write safety */
+ extern raw_spinlock_t oprofilefs_lock;
 diff --git a/include/linux/padata.h b/include/linux/padata.h
 index 4633b2f..988bc08 100644
 --- a/include/linux/padata.h
@@ -62470,10 +62983,10 @@ index 4633b2f..988bc08 100644
        atomic_t                        refcnt;
        unsigned int                    max_seq_nr;
 diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
-index c816075..cd28c4d 100644
+index b1f8912..c955bff 100644
 --- a/include/linux/perf_event.h
 +++ b/include/linux/perf_event.h
-@@ -745,8 +745,8 @@ struct perf_event {
+@@ -748,8 +748,8 @@ struct perf_event {
  
        enum perf_event_active_state    state;
        unsigned int                    attach_state;
@@ -62484,7 +62997,7 @@ index c816075..cd28c4d 100644
  
        /*
         * These are the total time in nanoseconds that the event
-@@ -797,8 +797,8 @@ struct perf_event {
+@@ -800,8 +800,8 @@ struct perf_event {
         * These accumulate total time (in nanoseconds) that children
         * events have been enabled and running, respectively.
         */
@@ -62495,6 +63008,18 @@ index c816075..cd28c4d 100644
  
        /*
         * Protect attach/detach and child_list:
+diff --git a/include/linux/personality.h b/include/linux/personality.h
+index 8fc7dd1a..c19d89e 100644
+--- a/include/linux/personality.h
++++ b/include/linux/personality.h
+@@ -44,6 +44,7 @@ enum {
+ #define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC  | \
+                           ADDR_NO_RANDOMIZE  | \
+                           ADDR_COMPAT_LAYOUT | \
++                          ADDR_LIMIT_3GB     | \
+                           MMAP_PAGE_ZERO)
+ /*
 diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h
 index 77257c9..51d473a 100644
 --- a/include/linux/pipe_fs_i.h
@@ -62513,10 +63038,10 @@ index 77257c9..51d473a 100644
        unsigned int w_counter;
        struct page *tmp_page;
 diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
-index daac05d..c6802ce 100644
+index d3085e7..fd01052 100644
 --- a/include/linux/pm_runtime.h
 +++ b/include/linux/pm_runtime.h
-@@ -99,7 +99,7 @@ static inline bool pm_runtime_callbacks_present(struct device *dev)
+@@ -95,7 +95,7 @@ static inline bool pm_runtime_callbacks_present(struct device *dev)
  
  static inline void pm_runtime_mark_last_busy(struct device *dev)
  {
@@ -62587,10 +63112,10 @@ index 643b96c..ef55a9c 100644
  struct ctl_table_header;
  struct ctl_table;
 diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
-index 800f113..af90cc8 100644
+index 800f113..e9ee2e3 100644
 --- a/include/linux/ptrace.h
 +++ b/include/linux/ptrace.h
-@@ -129,10 +129,10 @@ extern void __ptrace_unlink(struct task_struct *child);
+@@ -129,10 +129,12 @@ extern void __ptrace_unlink(struct task_struct *child);
  extern void exit_ptrace(struct task_struct *tracer);
  #define PTRACE_MODE_READ   1
  #define PTRACE_MODE_ATTACH 2
@@ -62600,11 +63125,13 @@ index 800f113..af90cc8 100644
  extern bool ptrace_may_access(struct task_struct *task, unsigned int mode);
 +/* Returns true on success, false on denial. */
 +extern bool ptrace_may_access_log(struct task_struct *task, unsigned int mode);
++/* Returns true on success, false on denial. */
++extern bool ptrace_may_access_nolock(struct task_struct *task, unsigned int mode);
  
  static inline int ptrace_reparented(struct task_struct *child)
  {
 diff --git a/include/linux/random.h b/include/linux/random.h
-index d13059f..2eaafaa 100644
+index 8f74538..02a1012 100644
 --- a/include/linux/random.h
 +++ b/include/linux/random.h
 @@ -69,12 +69,17 @@ void srandom32(u32 seed);
@@ -62716,6 +63243,19 @@ index c6c6084..5bf1212 100644
  
  #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE)
  /**
+diff --git a/include/linux/rio.h b/include/linux/rio.h
+index 4d50611..c6858a2 100644
+--- a/include/linux/rio.h
++++ b/include/linux/rio.h
+@@ -315,7 +315,7 @@ struct rio_ops {
+                                int mbox, void *buffer, size_t len);
+       int (*add_inb_buffer)(struct rio_mport *mport, int mbox, void *buf);
+       void *(*get_inb_message)(struct rio_mport *mport, int mbox);
+-};
++} __no_const;
+ #define RIO_RESOURCE_MEM      0x00000100
+ #define RIO_RESOURCE_DOORBELL 0x00000200
 diff --git a/include/linux/rmap.h b/include/linux/rmap.h
 index 2148b12..519b820 100644
 --- a/include/linux/rmap.h
@@ -62732,10 +63272,10 @@ index 2148b12..519b820 100644
  
  static inline void anon_vma_merge(struct vm_area_struct *vma,
 diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 41d0237..5a64056 100644
+index 1c4f3e9..342eb1f 100644
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
-@@ -100,6 +100,7 @@ struct bio_list;
+@@ -101,6 +101,7 @@ struct bio_list;
  struct fs_struct;
  struct perf_event_context;
  struct blk_plug;
@@ -62787,7 +63327,7 @@ index 41d0237..5a64056 100644
        /* Hash table maintenance information */
        struct hlist_node uidhash_node;
        uid_t uid;
-@@ -1340,8 +1360,8 @@ struct task_struct {
+@@ -1337,8 +1357,8 @@ struct task_struct {
        struct list_head thread_group;
  
        struct completion *vfork_done;          /* for vfork() */
@@ -62798,7 +63338,7 @@ index 41d0237..5a64056 100644
  
        cputime_t utime, stime, utimescaled, stimescaled;
        cputime_t gtime;
-@@ -1357,13 +1377,6 @@ struct task_struct {
+@@ -1354,13 +1374,6 @@ struct task_struct {
        struct task_cputime cputime_expires;
        struct list_head cpu_timers[3];
  
@@ -62812,7 +63352,7 @@ index 41d0237..5a64056 100644
        char comm[TASK_COMM_LEN]; /* executable name excluding path
                                     - access with [gs]et_task_comm (which lock
                                       it with task_lock())
-@@ -1380,8 +1393,16 @@ struct task_struct {
+@@ -1377,8 +1390,16 @@ struct task_struct {
  #endif
  /* CPU-specific state of this task */
        struct thread_struct thread;
@@ -62829,7 +63369,7 @@ index 41d0237..5a64056 100644
  /* open file information */
        struct files_struct *files;
  /* namespaces */
-@@ -1428,6 +1449,11 @@ struct task_struct {
+@@ -1425,6 +1446,11 @@ struct task_struct {
        struct rt_mutex_waiter *pi_blocked_on;
  #endif
  
@@ -62841,13 +63381,19 @@ index 41d0237..5a64056 100644
  #ifdef CONFIG_DEBUG_MUTEXES
        /* mutex deadlock detection */
        struct mutex_waiter *blocked_on;
-@@ -1537,6 +1563,21 @@ struct task_struct {
+@@ -1540,6 +1566,27 @@ struct task_struct {
        unsigned long default_timer_slack_ns;
  
        struct list_head        *scm_work_list;
 +
 +#ifdef CONFIG_GRKERNSEC
 +      /* grsecurity */
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      u64 exec_id;
++#endif
++#ifdef CONFIG_GRKERNSEC_SETXID
++      const struct cred *delayed_cred;
++#endif
 +      struct dentry *gr_chroot_dentry;
 +      struct acl_subject_label *acl;
 +      struct acl_role_label *role;
@@ -62863,7 +63409,7 @@ index 41d0237..5a64056 100644
  #ifdef CONFIG_FUNCTION_GRAPH_TRACER
        /* Index of current stored address in ret_stack */
        int curr_ret_stack;
-@@ -1571,6 +1612,57 @@ struct task_struct {
+@@ -1574,6 +1621,51 @@ struct task_struct {
  #endif
  };
  
@@ -62910,18 +63456,12 @@ index 41d0237..5a64056 100644
 +extern void pax_report_fault(struct pt_regs *regs, void *pc, void *sp);
 +extern void pax_report_insns(struct pt_regs *regs, void *pc, void *sp);
 +extern void pax_report_refcount_overflow(struct pt_regs *regs);
-+extern NORET_TYPE void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type) ATTRIB_NORET;
-+
-+#ifdef CONFIG_PAX_MEMORY_STACKLEAK
-+extern void pax_track_stack(void);
-+#else
-+static inline void pax_track_stack(void) {}
-+#endif
++extern __noreturn void pax_report_usercopy(const void *ptr, unsigned long len, bool to, const char *type);
 +
  /* Future-safe accessor for struct task_struct's cpus_allowed. */
  #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
  
-@@ -2074,7 +2166,9 @@ void yield(void);
+@@ -2081,7 +2173,9 @@ void yield(void);
  extern struct exec_domain     default_exec_domain;
  
  union thread_union {
@@ -62931,7 +63471,7 @@ index 41d0237..5a64056 100644
        unsigned long stack[THREAD_SIZE/sizeof(long)];
  };
  
-@@ -2107,6 +2201,7 @@ extern struct pid_namespace init_pid_ns;
+@@ -2114,6 +2208,7 @@ extern struct pid_namespace init_pid_ns;
   */
  
  extern struct task_struct *find_task_by_vpid(pid_t nr);
@@ -62939,16 +63479,29 @@ index 41d0237..5a64056 100644
  extern struct task_struct *find_task_by_pid_ns(pid_t nr,
                struct pid_namespace *ns);
  
-@@ -2243,7 +2338,7 @@ extern void __cleanup_sighand(struct sighand_struct *);
+@@ -2235,6 +2330,12 @@ static inline void mmdrop(struct mm_struct * mm)
+ extern void mmput(struct mm_struct *);
+ /* Grab a reference to a task's mm, if it is not already going away */
+ extern struct mm_struct *get_task_mm(struct task_struct *task);
++/*
++ * Grab a reference to a task's mm, if it is not already going away
++ * and ptrace_may_access with the mode parameter passed to it
++ * succeeds.
++ */
++extern struct mm_struct *mm_access(struct task_struct *task, unsigned int mode);
+ /* Remove the current tasks stale references to the old mm_struct */
+ extern void mm_release(struct task_struct *, struct mm_struct *);
+ /* Allocate a new mm structure and copy contents from tsk->mm */
+@@ -2251,7 +2352,7 @@ extern void __cleanup_sighand(struct sighand_struct *);
  extern void exit_itimers(struct signal_struct *);
  extern void flush_itimer_signals(void);
  
 -extern NORET_TYPE void do_group_exit(int);
-+extern NORET_TYPE void do_group_exit(int) ATTRIB_NORET;
++extern __noreturn void do_group_exit(int);
  
  extern void daemonize(const char *, ...);
  extern int allow_signal(int);
-@@ -2408,13 +2503,17 @@ static inline unsigned long *end_of_stack(struct task_struct *p)
+@@ -2416,13 +2517,17 @@ static inline unsigned long *end_of_stack(struct task_struct *p)
  
  #endif
  
@@ -62983,22 +63536,32 @@ index 899fbb4..1cb4138 100644
  
  #define VIDEO_TYPE_MDA                0x10    /* Monochrome Text Display      */
 diff --git a/include/linux/security.h b/include/linux/security.h
-index ebd2a53..2d949ae 100644
+index e8c619d..e0cbd1c 100644
 --- a/include/linux/security.h
 +++ b/include/linux/security.h
-@@ -36,6 +36,7 @@
- #include <linux/key.h>
+@@ -37,6 +37,7 @@
  #include <linux/xfrm.h>
  #include <linux/slab.h>
+ #include <linux/xattr.h>
 +#include <linux/grsecurity.h>
  #include <net/flow.h>
  
  /* Maximum number of letters for an LSM name string */
 diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h
-index be720cd..a0e1b94 100644
+index 0b69a46..b2ffa4c 100644
 --- a/include/linux/seq_file.h
 +++ b/include/linux/seq_file.h
-@@ -33,6 +33,7 @@ struct seq_operations {
+@@ -24,6 +24,9 @@ struct seq_file {
+       struct mutex lock;
+       const struct seq_operations *op;
+       int poll_event;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++      u64 exec_id;
++#endif
+       void *private;
+ };
+@@ -33,6 +36,7 @@ struct seq_operations {
        void * (*next) (struct seq_file *m, void *v, loff_t *pos);
        int (*show) (struct seq_file *m, void *v);
  };
@@ -63022,10 +63585,10 @@ index 92808b8..c28cac4 100644
  
  /* shm_mode upper byte flags */
 diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index 0f96646..cfb757a 100644
+index 6cf8b53..bcce844 100644
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -610,7 +610,7 @@ static inline struct skb_shared_hwtstamps *skb_hwtstamps(struct sk_buff *skb)
+@@ -642,7 +642,7 @@ static inline struct skb_shared_hwtstamps *skb_hwtstamps(struct sk_buff *skb)
   */
  static inline int skb_queue_empty(const struct sk_buff_head *list)
  {
@@ -63034,7 +63597,7 @@ index 0f96646..cfb757a 100644
  }
  
  /**
-@@ -623,7 +623,7 @@ static inline int skb_queue_empty(const struct sk_buff_head *list)
+@@ -655,7 +655,7 @@ static inline int skb_queue_empty(const struct sk_buff_head *list)
  static inline bool skb_queue_is_last(const struct sk_buff_head *list,
                                     const struct sk_buff *skb)
  {
@@ -63043,7 +63606,7 @@ index 0f96646..cfb757a 100644
  }
  
  /**
-@@ -636,7 +636,7 @@ static inline bool skb_queue_is_last(const struct sk_buff_head *list,
+@@ -668,7 +668,7 @@ static inline bool skb_queue_is_last(const struct sk_buff_head *list,
  static inline bool skb_queue_is_first(const struct sk_buff_head *list,
                                      const struct sk_buff *skb)
  {
@@ -63052,7 +63615,7 @@ index 0f96646..cfb757a 100644
  }
  
  /**
-@@ -1458,7 +1458,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
+@@ -1533,7 +1533,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD
@@ -63062,7 +63625,7 @@ index 0f96646..cfb757a 100644
  
  extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
 diff --git a/include/linux/slab.h b/include/linux/slab.h
-index 573c809..e84c132 100644
+index 573c809..07e1f43 100644
 --- a/include/linux/slab.h
 +++ b/include/linux/slab.h
 @@ -11,12 +11,20 @@
@@ -63103,7 +63666,14 @@ index 573c809..e84c132 100644
  
  /*
   * struct kmem_cache related prototypes
-@@ -161,6 +172,7 @@ void * __must_check krealloc(const void *, size_t, gfp_t);
+@@ -156,11 +167,12 @@ unsigned int kmem_cache_size(struct kmem_cache *);
+ /*
+  * Common kmalloc functions provided by all allocators
+  */
+-void * __must_check __krealloc(const void *, size_t, gfp_t);
+-void * __must_check krealloc(const void *, size_t, gfp_t);
++void * __must_check __krealloc(const void *, size_t, gfp_t) __size_overflow(2);
++void * __must_check krealloc(const void *, size_t, gfp_t) __size_overflow(2);
  void kfree(const void *);
  void kzfree(const void *);
  size_t ksize(const void *);
@@ -63111,68 +63681,26 @@ index 573c809..e84c132 100644
  
  /*
   * Allocator specific definitions. These are mainly used to establish optimized
-@@ -353,4 +365,59 @@ static inline void *kzalloc_node(size_t size, gfp_t flags, int node)
- void __init kmem_cache_init_late(void);
-+#define kmalloc(x, y)                                         \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "kmalloc size overflow\n"))  \
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = kmalloc((size_t)___x, (y));         \
-+      ___retval;                                              \
-+})
-+
-+#define kmalloc_node(x, y, z)                                 \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "kmalloc_node size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = kmalloc_node((size_t)___x, (y), (z));\
-+      ___retval;                                              \
-+})
-+
-+#define kzalloc(x, y)                                         \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "kzalloc size overflow\n"))  \
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = kzalloc((size_t)___x, (y));         \
-+      ___retval;                                              \
-+})
-+
-+#define __krealloc(x, y, z)                                   \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___y = (intoverflow_t)y;                  \
-+      if (WARN(___y > ULONG_MAX, "__krealloc size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = __krealloc((x), (size_t)___y, (z)); \
-+      ___retval;                                              \
-+})
-+
-+#define krealloc(x, y, z)                                     \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___y = (intoverflow_t)y;                  \
-+      if (WARN(___y > ULONG_MAX, "krealloc size overflow\n")) \
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = krealloc((x), (size_t)___y, (z));   \
-+      ___retval;                                              \
-+})
-+
- #endif        /* _LINUX_SLAB_H */
+@@ -287,7 +299,7 @@ static inline void *kmem_cache_alloc_node(struct kmem_cache *cachep,
+  */
+ #if defined(CONFIG_DEBUG_SLAB) || defined(CONFIG_SLUB) || \
+       (defined(CONFIG_SLAB) && defined(CONFIG_TRACING))
+-extern void *__kmalloc_track_caller(size_t, gfp_t, unsigned long);
++extern void *__kmalloc_track_caller(size_t, gfp_t, unsigned long) __size_overflow(1);
+ #define kmalloc_track_caller(size, flags) \
+       __kmalloc_track_caller(size, flags, _RET_IP_)
+ #else
+@@ -306,7 +318,7 @@ extern void *__kmalloc_track_caller(size_t, gfp_t, unsigned long);
+  */
+ #if defined(CONFIG_DEBUG_SLAB) || defined(CONFIG_SLUB) || \
+       (defined(CONFIG_SLAB) && defined(CONFIG_TRACING))
+-extern void *__kmalloc_node_track_caller(size_t, gfp_t, int, unsigned long);
++extern void *__kmalloc_node_track_caller(size_t, gfp_t, int, unsigned long) __size_overflow(1);
+ #define kmalloc_node_track_caller(size, flags, node) \
+       __kmalloc_node_track_caller(size, flags, node, \
+                       _RET_IP_)
 diff --git a/include/linux/slab_def.h b/include/linux/slab_def.h
-index d00e0ba..1b3bf7b 100644
+index d00e0ba..d61fb1f 100644
 --- a/include/linux/slab_def.h
 +++ b/include/linux/slab_def.h
 @@ -68,10 +68,10 @@ struct kmem_cache {
@@ -63190,11 +63718,74 @@ index d00e0ba..1b3bf7b 100644
  
        /*
         * If debugging is enabled, then the allocator can add additional
+@@ -109,7 +109,7 @@ struct cache_sizes {
+ extern struct cache_sizes malloc_sizes[];
+ void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
+-void *__kmalloc(size_t size, gfp_t flags);
++void *__kmalloc(size_t size, gfp_t flags) __size_overflow(1);
+ #ifdef CONFIG_TRACING
+ extern void *kmem_cache_alloc_trace(size_t size,
+@@ -127,6 +127,7 @@ static inline size_t slab_buffer_size(struct kmem_cache *cachep)
+ }
+ #endif
++static __always_inline void *kmalloc(size_t size, gfp_t flags) __size_overflow(1);
+ static __always_inline void *kmalloc(size_t size, gfp_t flags)
+ {
+       struct kmem_cache *cachep;
+@@ -162,7 +163,7 @@ found:
+ }
+ #ifdef CONFIG_NUMA
+-extern void *__kmalloc_node(size_t size, gfp_t flags, int node);
++extern void *__kmalloc_node(size_t size, gfp_t flags, int node) __size_overflow(1);
+ extern void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
+ #ifdef CONFIG_TRACING
+@@ -181,6 +182,7 @@ kmem_cache_alloc_node_trace(size_t size,
+ }
+ #endif
++static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node) __size_overflow(1);
+ static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
+ {
+       struct kmem_cache *cachep;
+diff --git a/include/linux/slob_def.h b/include/linux/slob_def.h
+index 0ec00b3..65e7e0e 100644
+--- a/include/linux/slob_def.h
++++ b/include/linux/slob_def.h
+@@ -9,8 +9,9 @@ static __always_inline void *kmem_cache_alloc(struct kmem_cache *cachep,
+       return kmem_cache_alloc_node(cachep, flags, -1);
+ }
+-void *__kmalloc_node(size_t size, gfp_t flags, int node);
++void *__kmalloc_node(size_t size, gfp_t flags, int node) __size_overflow(1);
++static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node) __size_overflow(1);
+ static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
+ {
+       return __kmalloc_node(size, flags, node);
+@@ -24,11 +25,13 @@ static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
+  * kmalloc is the normal method of allocating memory
+  * in the kernel.
+  */
++static __always_inline void *kmalloc(size_t size, gfp_t flags) __size_overflow(1);
+ static __always_inline void *kmalloc(size_t size, gfp_t flags)
+ {
+       return __kmalloc_node(size, flags, -1);
+ }
++static __always_inline void *__kmalloc(size_t size, gfp_t flags) __size_overflow(1);
+ static __always_inline void *__kmalloc(size_t size, gfp_t flags)
+ {
+       return kmalloc(size, flags);
 diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h
-index f58d641..c56bf9c 100644
+index a32bcfd..d26bd6e 100644
 --- a/include/linux/slub_def.h
 +++ b/include/linux/slub_def.h
-@@ -85,7 +85,7 @@ struct kmem_cache {
+@@ -89,7 +89,7 @@ struct kmem_cache {
        struct kmem_cache_order_objects max;
        struct kmem_cache_order_objects min;
        gfp_t allocflags;       /* gfp flags to use on each alloc */
@@ -63203,15 +63794,59 @@ index f58d641..c56bf9c 100644
        void (*ctor)(void *);
        int inuse;              /* Offset to metadata */
        int align;              /* Alignment */
-@@ -211,7 +211,7 @@ static __always_inline struct kmem_cache *kmalloc_slab(size_t size)
+@@ -204,6 +204,7 @@ static __always_inline int kmalloc_index(size_t size)
+  * This ought to end up with a global pointer to the right cache
+  * in kmalloc_caches.
+  */
++static __always_inline struct kmem_cache *kmalloc_slab(size_t size) __size_overflow(1);
+ static __always_inline struct kmem_cache *kmalloc_slab(size_t size)
+ {
+       int index = kmalloc_index(size);
+@@ -215,9 +216,11 @@ static __always_inline struct kmem_cache *kmalloc_slab(size_t size)
  }
  
  void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
 -void *__kmalloc(size_t size, gfp_t flags);
-+void *__kmalloc(size_t size, gfp_t flags) __alloc_size(1);
++void *__kmalloc(size_t size, gfp_t flags) __alloc_size(1) __size_overflow(1);
  
  static __always_inline void *
++kmalloc_order(size_t size, gfp_t flags, unsigned int order) __size_overflow(1);
++static __always_inline void *
  kmalloc_order(size_t size, gfp_t flags, unsigned int order)
+ {
+       void *ret = (void *) __get_free_pages(flags | __GFP_COMP, order);
+@@ -256,12 +259,14 @@ kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order)
+ }
+ #endif
++static __always_inline void *kmalloc_large(size_t size, gfp_t flags) __size_overflow(1);
+ static __always_inline void *kmalloc_large(size_t size, gfp_t flags)
+ {
+       unsigned int order = get_order(size);
+       return kmalloc_order_trace(size, flags, order);
+ }
++static __always_inline void *kmalloc(size_t size, gfp_t flags) __size_overflow(1);
+ static __always_inline void *kmalloc(size_t size, gfp_t flags)
+ {
+       if (__builtin_constant_p(size)) {
+@@ -281,7 +286,7 @@ static __always_inline void *kmalloc(size_t size, gfp_t flags)
+ }
+ #ifdef CONFIG_NUMA
+-void *__kmalloc_node(size_t size, gfp_t flags, int node);
++void *__kmalloc_node(size_t size, gfp_t flags, int node) __size_overflow(1);
+ void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
+ #ifdef CONFIG_TRACING
+@@ -298,6 +303,7 @@ kmem_cache_alloc_node_trace(struct kmem_cache *s,
+ }
+ #endif
++static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node) __size_overflow(1);
+ static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
+ {
+       if (__builtin_constant_p(size) &&
 diff --git a/include/linux/sonet.h b/include/linux/sonet.h
 index de8832d..0147b46 100644
 --- a/include/linux/sonet.h
@@ -63226,10 +63861,10 @@ index de8832d..0147b46 100644
  #undef __HANDLE_ITEM
  };
 diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h
-index db7bcaf..1aca77e 100644
+index 3d8f9c4..69f1c0a 100644
 --- a/include/linux/sunrpc/clnt.h
 +++ b/include/linux/sunrpc/clnt.h
-@@ -169,9 +169,9 @@ static inline unsigned short rpc_get_port(const struct sockaddr *sap)
+@@ -172,9 +172,9 @@ static inline unsigned short rpc_get_port(const struct sockaddr *sap)
  {
        switch (sap->sa_family) {
        case AF_INET:
@@ -63241,7 +63876,7 @@ index db7bcaf..1aca77e 100644
        }
        return 0;
  }
-@@ -204,7 +204,7 @@ static inline bool __rpc_cmp_addr4(const struct sockaddr *sap1,
+@@ -207,7 +207,7 @@ static inline bool __rpc_cmp_addr4(const struct sockaddr *sap1,
  static inline bool __rpc_copy_addr4(struct sockaddr *dst,
                                    const struct sockaddr *src)
  {
@@ -63250,7 +63885,7 @@ index db7bcaf..1aca77e 100644
        struct sockaddr_in *dsin = (struct sockaddr_in *) dst;
  
        dsin->sin_family = ssin->sin_family;
-@@ -301,7 +301,7 @@ static inline u32 rpc_get_scope_id(const struct sockaddr *sa)
+@@ -310,7 +310,7 @@ static inline u32 rpc_get_scope_id(const struct sockaddr *sa)
        if (sa->sa_family != AF_INET6)
                return 0;
  
@@ -63301,7 +63936,7 @@ index c14fe86..393245e 100644
  #define RPCRDMA_VERSION 1
  
 diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
-index 11684d9..0d245eb 100644
+index 703cfa33..0b8ca72ac 100644
 --- a/include/linux/sysctl.h
 +++ b/include/linux/sysctl.h
 @@ -155,7 +155,11 @@ enum
@@ -63317,7 +63952,7 @@ index 11684d9..0d245eb 100644
  
  /* CTL_VM names: */
  enum
-@@ -967,6 +971,8 @@ typedef int proc_handler (struct ctl_table *ctl, int write,
+@@ -968,6 +972,8 @@ typedef int proc_handler (struct ctl_table *ctl, int write,
  
  extern int proc_dostring(struct ctl_table *, int,
                         void __user *, size_t *, loff_t *);
@@ -63326,6 +63961,44 @@ index 11684d9..0d245eb 100644
  extern int proc_dointvec(struct ctl_table *, int,
                         void __user *, size_t *, loff_t *);
  extern int proc_dointvec_minmax(struct ctl_table *, int,
+diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
+index a71a292..51bd91d 100644
+--- a/include/linux/tracehook.h
++++ b/include/linux/tracehook.h
+@@ -54,12 +54,12 @@ struct linux_binprm;
+ /*
+  * ptrace report for syscall entry and exit looks identical.
+  */
+-static inline void ptrace_report_syscall(struct pt_regs *regs)
++static inline int ptrace_report_syscall(struct pt_regs *regs)
+ {
+       int ptrace = current->ptrace;
+       if (!(ptrace & PT_PTRACED))
+-              return;
++              return 0;
+       ptrace_notify(SIGTRAP | ((ptrace & PT_TRACESYSGOOD) ? 0x80 : 0));
+@@ -72,6 +72,8 @@ static inline void ptrace_report_syscall(struct pt_regs *regs)
+               send_sig(current->exit_code, current, 1);
+               current->exit_code = 0;
+       }
++
++      return fatal_signal_pending(current);
+ }
+ /**
+@@ -96,8 +98,7 @@ static inline void ptrace_report_syscall(struct pt_regs *regs)
+ static inline __must_check int tracehook_report_syscall_entry(
+       struct pt_regs *regs)
+ {
+-      ptrace_report_syscall(regs);
+-      return 0;
++      return ptrace_report_syscall(regs);
+ }
+ /**
 diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h
 index ff7dc08..893e1bd 100644
 --- a/include/linux/tty_ldisc.h
@@ -63340,7 +64013,7 @@ index ff7dc08..893e1bd 100644
  
  struct tty_ldisc {
 diff --git a/include/linux/types.h b/include/linux/types.h
-index 176da8c..e45e473 100644
+index 57a9723..dbe234a 100644
 --- a/include/linux/types.h
 +++ b/include/linux/types.h
 @@ -213,10 +213,26 @@ typedef struct {
@@ -63371,7 +64044,7 @@ index 176da8c..e45e473 100644
  
  struct list_head {
 diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h
-index 5ca0951..ab496a5 100644
+index 5ca0951..53a2fff 100644
 --- a/include/linux/uaccess.h
 +++ b/include/linux/uaccess.h
 @@ -76,11 +76,11 @@ static inline unsigned long __copy_from_user_nocache(void *to,
@@ -63389,6 +64062,15 @@ index 5ca0951..ab496a5 100644
                ret;                                    \
        })
  
+@@ -105,7 +105,7 @@ extern long __probe_kernel_read(void *dst, const void *src, size_t size);
+  * Safely write to address @dst from the buffer at @src.  If a kernel fault
+  * happens, handle that and return -EFAULT.
+  */
+-extern long notrace probe_kernel_write(void *dst, const void *src, size_t size);
++extern long notrace probe_kernel_write(void *dst, const void *src, size_t size) __size_overflow(3);
+ extern long notrace __probe_kernel_write(void *dst, const void *src, size_t size);
+ #endif                /* __LINUX_UACCESS_H__ */
 diff --git a/include/linux/unaligned/access_ok.h b/include/linux/unaligned/access_ok.h
 index 99c1b4d..bb94261 100644
 --- a/include/linux/unaligned/access_ok.h
@@ -63432,11 +64114,33 @@ index 99c1b4d..bb94261 100644
  }
  
  static inline void put_unaligned_le16(u16 val, void *p)
+diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h
+index e5a40c3..20ab0f6 100644
+--- a/include/linux/usb/renesas_usbhs.h
++++ b/include/linux/usb/renesas_usbhs.h
+@@ -39,7 +39,7 @@ enum {
+  */
+ struct renesas_usbhs_driver_callback {
+       int (*notify_hotplug)(struct platform_device *pdev);
+-};
++} __no_const;
+ /*
+  * callback functions for platform
+@@ -89,7 +89,7 @@ struct renesas_usbhs_platform_callback {
+        * VBUS control is needed for Host
+        */
+       int (*set_vbus)(struct platform_device *pdev, int enable);
+-};
++} __no_const;
+ /*
+  * parameters for renesas usbhs
 diff --git a/include/linux/vermagic.h b/include/linux/vermagic.h
-index cf97b5b..40ebc87 100644
+index 6f8fbcf..8259001 100644
 --- a/include/linux/vermagic.h
 +++ b/include/linux/vermagic.h
-@@ -26,9 +26,35 @@
+@@ -25,9 +25,35 @@
  #define MODULE_ARCH_VERMAGIC ""
  #endif
  
@@ -63474,7 +64178,7 @@ index cf97b5b..40ebc87 100644
 +      MODULE_GRSEC
  
 diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h
-index 687fb11..b342358 100644
+index 4bde182..c42a656 100644
 --- a/include/linux/vmalloc.h
 +++ b/include/linux/vmalloc.h
 @@ -14,6 +14,11 @@ struct vm_area_struct;              /* vma defining user mapping in mm_types.h */
@@ -63489,110 +64193,46 @@ index 687fb11..b342358 100644
  /* bits [20..32] reserved for arch specific ioremap internals */
  
  /*
-@@ -156,4 +161,103 @@ pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms)
- # endif
+@@ -51,18 +56,18 @@ static inline void vmalloc_init(void)
+ }
  #endif
  
-+#define vmalloc(x)                                            \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vmalloc size overflow\n"))  \
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vmalloc((unsigned long)___x);       \
-+      ___retval;                                              \
-+})
-+
-+#define vzalloc(x)                                            \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vzalloc size overflow\n"))  \
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vzalloc((unsigned long)___x);       \
-+      ___retval;                                              \
-+})
-+
-+#define __vmalloc(x, y, z)                                    \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "__vmalloc size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = __vmalloc((unsigned long)___x, (y), (z));\
-+      ___retval;                                              \
-+})
-+
-+#define vmalloc_user(x)                                               \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vmalloc_user size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vmalloc_user((unsigned long)___x);  \
-+      ___retval;                                              \
-+})
-+
-+#define vmalloc_exec(x)                                               \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vmalloc_exec size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vmalloc_exec((unsigned long)___x);  \
-+      ___retval;                                              \
-+})
-+
-+#define vmalloc_node(x, y)                                    \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vmalloc_node size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vmalloc_node((unsigned long)___x, (y));\
-+      ___retval;                                              \
-+})
-+
-+#define vzalloc_node(x, y)                                    \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vzalloc_node size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vzalloc_node((unsigned long)___x, (y));\
-+      ___retval;                                              \
-+})
-+
-+#define vmalloc_32(x)                                         \
-+({                                                            \
-+      void *___retval;                                        \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vmalloc_32 size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vmalloc_32((unsigned long)___x);    \
-+      ___retval;                                              \
-+})
-+
-+#define vmalloc_32_user(x)                                    \
-+({                                                            \
-+void *___retval;                                      \
-+      intoverflow_t ___x = (intoverflow_t)x;                  \
-+      if (WARN(___x > ULONG_MAX, "vmalloc_32_user size overflow\n"))\
-+              ___retval = NULL;                               \
-+      else                                                    \
-+              ___retval = vmalloc_32_user((unsigned long)___x);\
-+      ___retval;                                              \
-+})
-+
- #endif /* _LINUX_VMALLOC_H */
+-extern void *vmalloc(unsigned long size);
+-extern void *vzalloc(unsigned long size);
+-extern void *vmalloc_user(unsigned long size);
+-extern void *vmalloc_node(unsigned long size, int node);
+-extern void *vzalloc_node(unsigned long size, int node);
+-extern void *vmalloc_exec(unsigned long size);
+-extern void *vmalloc_32(unsigned long size);
+-extern void *vmalloc_32_user(unsigned long size);
+-extern void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot);
++extern void *vmalloc(unsigned long size) __size_overflow(1);
++extern void *vzalloc(unsigned long size) __size_overflow(1);
++extern void *vmalloc_user(unsigned long size) __size_overflow(1);
++extern void *vmalloc_node(unsigned long size, int node) __size_overflow(1);
++extern void *vzalloc_node(unsigned long size, int node) __size_overflow(1);
++extern void *vmalloc_exec(unsigned long size) __size_overflow(1);
++extern void *vmalloc_32(unsigned long size) __size_overflow(1);
++extern void *vmalloc_32_user(unsigned long size) __size_overflow(1);
++extern void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot) __size_overflow(1);
+ extern void *__vmalloc_node_range(unsigned long size, unsigned long align,
+                       unsigned long start, unsigned long end, gfp_t gfp_mask,
+-                      pgprot_t prot, int node, void *caller);
++                      pgprot_t prot, int node, void *caller) __size_overflow(1);
+ extern void vfree(const void *addr);
+ extern void *vmap(struct page **pages, unsigned int count,
+@@ -123,8 +128,8 @@ extern struct vm_struct *alloc_vm_area(size_t size, pte_t **ptes);
+ extern void free_vm_area(struct vm_struct *area);
+ /* for /dev/kmem */
+-extern long vread(char *buf, char *addr, unsigned long count);
+-extern long vwrite(char *buf, char *addr, unsigned long count);
++extern long vread(char *buf, char *addr, unsigned long count) __size_overflow(3);
++extern long vwrite(char *buf, char *addr, unsigned long count) __size_overflow(3);
+ /*
+  *    Internals.  Dont't use..
 diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h
 index 65efb92..137adbb 100644
 --- a/include/linux/vmstat.h
@@ -63660,6 +64300,22 @@ index 65efb92..137adbb 100644
  }
  
  static inline void __dec_zone_page_state(struct page *page,
+diff --git a/include/linux/xattr.h b/include/linux/xattr.h
+index e5d1220..ef6e406 100644
+--- a/include/linux/xattr.h
++++ b/include/linux/xattr.h
+@@ -57,6 +57,11 @@
+ #define XATTR_POSIX_ACL_DEFAULT  "posix_acl_default"
+ #define XATTR_NAME_POSIX_ACL_DEFAULT XATTR_SYSTEM_PREFIX XATTR_POSIX_ACL_DEFAULT
++/* User namespace */
++#define XATTR_PAX_PREFIX XATTR_USER_PREFIX "pax."
++#define XATTR_PAX_FLAGS_SUFFIX "flags"
++#define XATTR_NAME_PAX_FLAGS XATTR_PAX_PREFIX XATTR_PAX_FLAGS_SUFFIX
++
+ #ifdef  __KERNEL__
+ #include <linux/types.h>
 diff --git a/include/media/saa7146_vv.h b/include/media/saa7146_vv.h
 index 4aeff96..b378cdc 100644
 --- a/include/media/saa7146_vv.h
@@ -63695,10 +64351,10 @@ index c7c40f1..4f01585 100644
  /*
   * Newer version of video_device, handled by videodev2.c
 diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
-index dd9f1e7..8c4dd86 100644
+index 4d1c74a..65e1221 100644
 --- a/include/media/v4l2-ioctl.h
 +++ b/include/media/v4l2-ioctl.h
-@@ -272,7 +272,7 @@ struct v4l2_ioctl_ops {
+@@ -274,7 +274,7 @@ struct v4l2_ioctl_ops {
        long (*vidioc_default)         (struct file *file, void *fh,
                                        bool valid_prio, int cmd, void *arg);
  };
@@ -63708,10 +64364,10 @@ index dd9f1e7..8c4dd86 100644
  /* v4l debugging and diagnostics */
  
 diff --git a/include/net/caif/caif_hsi.h b/include/net/caif/caif_hsi.h
-index c5dedd8..a93b07b 100644
+index 8d55251..dfe5b0a 100644
 --- a/include/net/caif/caif_hsi.h
 +++ b/include/net/caif/caif_hsi.h
-@@ -94,7 +94,7 @@ struct cfhsi_drv {
+@@ -98,7 +98,7 @@ struct cfhsi_drv {
        void (*rx_done_cb) (struct cfhsi_drv *drv);
        void (*wake_up_cb) (struct cfhsi_drv *drv);
        void (*wake_down_cb) (struct cfhsi_drv *drv);
@@ -63745,13 +64401,13 @@ index 9e5425b..8136ffc 100644
        /* Protects from simultaneous access to first_req list */
        spinlock_t info_list_lock;
 diff --git a/include/net/flow.h b/include/net/flow.h
-index a094477..bc91db1 100644
+index 2a7eefd..3250f3b 100644
 --- a/include/net/flow.h
 +++ b/include/net/flow.h
-@@ -207,6 +207,6 @@ extern struct flow_cache_object *flow_cache_lookup(
-               u8 dir, flow_resolve_t resolver, void *ctx);
+@@ -218,6 +218,6 @@ extern struct flow_cache_object *flow_cache_lookup(
  
  extern void flow_cache_flush(void);
+ extern void flow_cache_flush_deferred(void);
 -extern atomic_t flow_cache_genid;
 +extern atomic_unchecked_t flow_cache_genid;
  
@@ -63799,7 +64455,7 @@ index 10422ef..662570f 100644
         fib_info_update_nh_saddr((net), &FIB_RES_NH(res)))
  #define FIB_RES_GW(res)                       (FIB_RES_NH(res).nh_gw)
 diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
-index 8fa4430..05dd772 100644
+index e5a7b9a..f4fc44b 100644
 --- a/include/net/ip_vs.h
 +++ b/include/net/ip_vs.h
 @@ -509,7 +509,7 @@ struct ip_vs_conn {
@@ -63857,10 +64513,10 @@ index 59ba38bc..d515662 100644
        /* Protect concurent access to :
         *      o self->open_count
 diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h
-index f82a1e8..82d81e8 100644
+index f2419cf..473679f 100644
 --- a/include/net/iucv/af_iucv.h
 +++ b/include/net/iucv/af_iucv.h
-@@ -87,7 +87,7 @@ struct iucv_sock {
+@@ -139,7 +139,7 @@ struct iucv_sock {
  struct iucv_sock_list {
        struct hlist_head head;
        rwlock_t          lock;
@@ -63869,19 +64525,6 @@ index f82a1e8..82d81e8 100644
  };
  
  unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
-diff --git a/include/net/lapb.h b/include/net/lapb.h
-index 96cb5dd..25e8d4f 100644
---- a/include/net/lapb.h
-+++ b/include/net/lapb.h
-@@ -95,7 +95,7 @@ struct lapb_cb {
-       struct sk_buff_head     write_queue;
-       struct sk_buff_head     ack_queue;
-       unsigned char           window;
--      struct lapb_register_struct callbacks;
-+      struct lapb_register_struct *callbacks;
-       /* FRMR control information */
-       struct lapb_frame       frmr_data;
 diff --git a/include/net/neighbour.h b/include/net/neighbour.h
 index 2720884..3aa5c25 100644
 --- a/include/net/neighbour.h
@@ -63896,10 +64539,10 @@ index 2720884..3aa5c25 100644
  struct pneigh_entry {
        struct pneigh_entry     *next;
 diff --git a/include/net/netlink.h b/include/net/netlink.h
-index 98c1854..d4add7b 100644
+index cb1f350..3279d2c 100644
 --- a/include/net/netlink.h
 +++ b/include/net/netlink.h
-@@ -562,7 +562,7 @@ static inline void *nlmsg_get_pos(struct sk_buff *skb)
+@@ -569,7 +569,7 @@ static inline void *nlmsg_get_pos(struct sk_buff *skb)
  static inline void nlmsg_trim(struct sk_buff *skb, const void *mark)
  {
        if (mark)
@@ -63941,10 +64584,10 @@ index 6a72a58..e6a127d 100644
  #define SCTP_DISABLE_DEBUG
  #define SCTP_ASSERT(expr, str, func)
 diff --git a/include/net/sock.h b/include/net/sock.h
-index 8e4062f..77b041e 100644
+index 32e3937..87a1dbc 100644
 --- a/include/net/sock.h
 +++ b/include/net/sock.h
-@@ -278,7 +278,7 @@ struct sock {
+@@ -277,7 +277,7 @@ struct sock {
  #ifdef CONFIG_RPS
        __u32                   sk_rxhash;
  #endif
@@ -63953,7 +64596,7 @@ index 8e4062f..77b041e 100644
        int                     sk_rcvbuf;
  
        struct sk_filter __rcu  *sk_filter;
-@@ -1391,7 +1391,7 @@ static inline void sk_nocaps_add(struct sock *sk, int flags)
+@@ -1402,7 +1402,7 @@ static inline void sk_nocaps_add(struct sock *sk, int flags)
  }
  
  static inline int skb_do_copy_data_nocache(struct sock *sk, struct sk_buff *skb,
@@ -63963,32 +64606,28 @@ index 8e4062f..77b041e 100644
  {
        if (skb->ip_summed == CHECKSUM_NONE) {
 diff --git a/include/net/tcp.h b/include/net/tcp.h
-index acc620a..f4d99c6 100644
+index bb18c4d..bb87972 100644
 --- a/include/net/tcp.h
 +++ b/include/net/tcp.h
-@@ -1401,8 +1401,8 @@ enum tcp_seq_states {
- struct tcp_seq_afinfo {
-       char                    *name;
-       sa_family_t             family;
--      struct file_operations  seq_fops;
--      struct seq_operations   seq_ops;
-+      file_operations_no_const        seq_fops;
-+      seq_operations_no_const seq_ops;
+@@ -1409,7 +1409,7 @@ struct tcp_seq_afinfo {
+       char                            *name;
+       sa_family_t                     family;
+       const struct file_operations    *seq_fops;
+-      struct seq_operations           seq_ops;
++      seq_operations_no_const         seq_ops;
  };
  
  struct tcp_iter_state {
 diff --git a/include/net/udp.h b/include/net/udp.h
-index 67ea6fc..e42aee8 100644
+index 3b285f4..0219639 100644
 --- a/include/net/udp.h
 +++ b/include/net/udp.h
-@@ -234,8 +234,8 @@ struct udp_seq_afinfo {
-       char                    *name;
-       sa_family_t             family;
-       struct udp_table        *udp_table;
--      struct file_operations  seq_fops;
--      struct seq_operations   seq_ops;
-+      file_operations_no_const        seq_fops;
-+      seq_operations_no_const seq_ops;
+@@ -237,7 +237,7 @@ struct udp_seq_afinfo {
+       sa_family_t                     family;
+       struct udp_table                *udp_table;
+       const struct file_operations    *seq_fops;
+-      struct seq_operations           seq_ops;
++      seq_operations_no_const         seq_ops;
  };
  
  struct udp_iter_state {
@@ -64006,10 +64645,10 @@ index b203e14..1df3991 100644
        u32                     index;
        struct xfrm_mark        mark;
 diff --git a/include/rdma/iw_cm.h b/include/rdma/iw_cm.h
-index 2d0191c..a55797d 100644
+index 1a046b1..ee0bef0 100644
 --- a/include/rdma/iw_cm.h
 +++ b/include/rdma/iw_cm.h
-@@ -120,7 +120,7 @@ struct iw_cm_verbs {
+@@ -122,7 +122,7 @@ struct iw_cm_verbs {
                                         int backlog);
  
        int             (*destroy_listen)(struct iw_cm_id *cm_id);
@@ -64019,10 +64658,10 @@ index 2d0191c..a55797d 100644
  /**
   * iw_create_cm_id - Create an IW CM identifier.
 diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
-index 7d96829..4ba78d3 100644
+index 5d1a758..1dbf795 100644
 --- a/include/scsi/libfc.h
 +++ b/include/scsi/libfc.h
-@@ -758,6 +758,7 @@ struct libfc_function_template {
+@@ -748,6 +748,7 @@ struct libfc_function_template {
         */
        void (*disc_stop_final) (struct fc_lport *);
  };
@@ -64030,7 +64669,7 @@ index 7d96829..4ba78d3 100644
  
  /**
   * struct fc_disc - Discovery context
-@@ -861,7 +862,7 @@ struct fc_lport {
+@@ -851,7 +852,7 @@ struct fc_lport {
        struct fc_vport                *vport;
  
        /* Operational Information */
@@ -64040,7 +64679,7 @@ index 7d96829..4ba78d3 100644
        u8                             qfull;
        enum fc_lport_state            state;
 diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
-index d371c3c..e228a8c 100644
+index 5591ed5..13eb457 100644
 --- a/include/scsi/scsi_device.h
 +++ b/include/scsi/scsi_device.h
 @@ -161,9 +161,9 @@ struct scsi_device {
@@ -64096,7 +64735,7 @@ index 8c05e47..2b5df97 100644
  struct snd_hwdep {
        struct snd_card *card;
 diff --git a/include/sound/info.h b/include/sound/info.h
-index 4e94cf1..76748b1 100644
+index 5492cc4..1a65278 100644
 --- a/include/sound/info.h
 +++ b/include/sound/info.h
 @@ -44,7 +44,7 @@ struct snd_info_entry_text {
@@ -64109,7 +64748,7 @@ index 4e94cf1..76748b1 100644
  struct snd_info_entry_ops {
        int (*open)(struct snd_info_entry *entry,
 diff --git a/include/sound/pcm.h b/include/sound/pcm.h
-index 57e71fa..a2c7534 100644
+index 0cf91b2..b70cae4 100644
 --- a/include/sound/pcm.h
 +++ b/include/sound/pcm.h
 @@ -81,6 +81,7 @@ struct snd_pcm_ops {
@@ -64134,10 +64773,10 @@ index af1b49e..a5d55a5 100644
  /*
   * CSP private data
 diff --git a/include/sound/soc.h b/include/sound/soc.h
-index aa19f5a..a5b8208 100644
+index 11cfb59..e3f93f4 100644
 --- a/include/sound/soc.h
 +++ b/include/sound/soc.h
-@@ -676,7 +676,7 @@ struct snd_soc_platform_driver {
+@@ -683,7 +683,7 @@ struct snd_soc_platform_driver {
        /* platform IO - used for platform DAPM */
        unsigned int (*read)(struct snd_soc_platform *, unsigned int);
        int (*write)(struct snd_soc_platform *, unsigned int, unsigned int);
@@ -64160,10 +64799,10 @@ index 444cd6b..3327cc5 100644
        const struct firmware *dsp_microcode;
        const struct firmware *controller_microcode;
 diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
-index 2704065..e10f3ef 100644
+index 94bbec3..3a8c6b0 100644
 --- a/include/target/target_core_base.h
 +++ b/include/target/target_core_base.h
-@@ -356,7 +356,7 @@ struct t10_reservation_ops {
+@@ -346,7 +346,7 @@ struct t10_reservation_ops {
        int (*t10_seq_non_holder)(struct se_cmd *, unsigned char *, u32);
        int (*t10_pr_register)(struct se_cmd *);
        int (*t10_pr_clear)(struct se_cmd *);
@@ -64172,10 +64811,10 @@ index 2704065..e10f3ef 100644
  
  struct t10_reservation {
        /* Reservation effects all target ports */
-@@ -496,8 +496,8 @@ struct se_cmd {
+@@ -465,8 +465,8 @@ struct se_cmd {
+       atomic_t                t_se_count;
        atomic_t                t_task_cdbs_left;
        atomic_t                t_task_cdbs_ex_left;
-       atomic_t                t_task_cdbs_timeout_left;
 -      atomic_t                t_task_cdbs_sent;
 -      atomic_t                t_transport_aborted;
 +      atomic_unchecked_t      t_task_cdbs_sent;
@@ -64183,15 +64822,15 @@ index 2704065..e10f3ef 100644
        atomic_t                t_transport_active;
        atomic_t                t_transport_complete;
        atomic_t                t_transport_queue_active;
-@@ -744,7 +744,7 @@ struct se_device {
-       atomic_t                active_cmds;
+@@ -705,7 +705,7 @@ struct se_device {
+       /* Active commands on this virtual SE device */
        atomic_t                simple_cmds;
        atomic_t                depth_left;
 -      atomic_t                dev_ordered_id;
 +      atomic_unchecked_t      dev_ordered_id;
-       atomic_t                dev_tur_active;
        atomic_t                execute_tasks;
-       atomic_t                dev_status_thr_count;
+       atomic_t                dev_ordered_sync;
+       atomic_t                dev_qf_count;
 diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h
 index 1c09820..7f5ec79 100644
 --- a/include/trace/events/irq.h
@@ -64215,12 +64854,12 @@ index 1c09820..7f5ec79 100644
        TP_ARGS(irq, action, ret),
  
 diff --git a/include/video/udlfb.h b/include/video/udlfb.h
-index 69d485a..dd0bee7 100644
+index c41f308..6918de3 100644
 --- a/include/video/udlfb.h
 +++ b/include/video/udlfb.h
-@@ -51,10 +51,10 @@ struct dlfb_data {
-       int base8;
+@@ -52,10 +52,10 @@ struct dlfb_data {
        u32 pseudo_palette[256];
+       int blank_mode; /*one of FB_BLANK_ */
        /* blit-only rendering path metrics, exposed through sysfs */
 -      atomic_t bytes_rendered; /* raw pixel-bytes driver asked to render */
 -      atomic_t bytes_identical; /* saved effort with backbuffer comparison */
@@ -64246,10 +64885,10 @@ index 0993a22..32ba2fe 100644
        void *pmi_pal;
        u8 *vbe_state_orig;             /*
 diff --git a/init/Kconfig b/init/Kconfig
-index d627783..693a9f3 100644
+index 43298f9..2f56c12 100644
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1202,7 +1202,7 @@ config SLUB_DEBUG
+@@ -1214,7 +1214,7 @@ config SLUB_DEBUG
  
  config COMPAT_BRK
        bool "Disable heap randomization"
@@ -64259,10 +64898,10 @@ index d627783..693a9f3 100644
          Randomizing heap placement makes heap exploits harder, but it
          also breaks ancient binaries (including anything libc5 based).
 diff --git a/init/do_mounts.c b/init/do_mounts.c
-index c0851a8..4f8977d 100644
+index db6e5ee..7677ff7 100644
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -287,11 +287,11 @@ static void __init get_fs_names(char *page)
+@@ -325,11 +325,11 @@ static void __init get_fs_names(char *page)
  
  static int __init do_mount_root(char *name, char *fs, int flags, void *data)
  {
@@ -64276,7 +64915,7 @@ index c0851a8..4f8977d 100644
        ROOT_DEV = current->fs->pwd.mnt->mnt_sb->s_dev;
        printk(KERN_INFO
               "VFS: Mounted root (%s filesystem)%s on device %u:%u.\n",
-@@ -383,18 +383,18 @@ void __init change_floppy(char *fmt, ...)
+@@ -448,18 +448,18 @@ void __init change_floppy(char *fmt, ...)
        va_start(args, fmt);
        vsprintf(buf, fmt, args);
        va_end(args);
@@ -64298,7 +64937,7 @@ index c0851a8..4f8977d 100644
                termios.c_lflag |= ICANON;
                sys_ioctl(fd, TCSETSF, (long)&termios);
                sys_close(fd);
-@@ -488,6 +488,6 @@ void __init prepare_namespace(void)
+@@ -553,6 +553,6 @@ void __init prepare_namespace(void)
        mount_root();
  out:
        devtmpfs_mount("dev");
@@ -64561,7 +65200,7 @@ index 2531811..040d4d4 100644
        next_state = Reset;
        return 0;
 diff --git a/init/main.c b/init/main.c
-index 03b408d..5777f59 100644
+index 217ed23..ec5406f 100644
 --- a/init/main.c
 +++ b/init/main.c
 @@ -96,6 +96,8 @@ static inline void mark_rodata_ro(void) { }
@@ -64590,7 +65229,7 @@ index 03b408d..5777f59 100644
 +      unsigned int cpu;
 +      struct desc_struct *gdt;
 +
-+      for (cpu = 0; cpu < NR_CPUS; cpu++) {
++      for (cpu = 0; cpu < nr_cpu_ids; cpu++) {
 +              gdt = get_cpu_gdt_table(cpu);
 +              gdt[GDT_ENTRY_KERNEL_DS].type = 3;
 +              gdt[GDT_ENTRY_KERNEL_DS].limit = 0xf;
@@ -64623,7 +65262,7 @@ index 03b408d..5777f59 100644
  static const char * argv_init[MAX_INIT_ARGS+2] = { "init", NULL, };
  const char * envp_init[MAX_INIT_ENVS+2] = { "HOME=/", "TERM=linux", NULL, };
  static const char *panic_later, *panic_param;
-@@ -678,6 +723,7 @@ int __init_or_module do_one_initcall(initcall_t fn)
+@@ -681,6 +726,7 @@ int __init_or_module do_one_initcall(initcall_t fn)
  {
        int count = preempt_count();
        int ret;
@@ -64631,7 +65270,7 @@ index 03b408d..5777f59 100644
  
        if (initcall_debug)
                ret = do_one_initcall_debug(fn);
-@@ -690,15 +736,15 @@ int __init_or_module do_one_initcall(initcall_t fn)
+@@ -693,15 +739,15 @@ int __init_or_module do_one_initcall(initcall_t fn)
                sprintf(msgbuf, "error code %d ", ret);
  
        if (preempt_count() != count) {
@@ -64651,7 +65290,7 @@ index 03b408d..5777f59 100644
        }
  
        return ret;
-@@ -817,7 +863,7 @@ static int __init kernel_init(void * unused)
+@@ -820,7 +866,7 @@ static int __init kernel_init(void * unused)
        do_basic_setup();
  
        /* Open the /dev/console on the rootfs, this should never fail */
@@ -64660,7 +65299,7 @@ index 03b408d..5777f59 100644
                printk(KERN_WARNING "Warning: unable to open an initial console.\n");
  
        (void) sys_dup(0);
-@@ -830,11 +876,13 @@ static int __init kernel_init(void * unused)
+@@ -833,11 +879,13 @@ static int __init kernel_init(void * unused)
        if (!ramdisk_execute_command)
                ramdisk_execute_command = "/init";
  
@@ -64676,7 +65315,7 @@ index 03b408d..5777f59 100644
         * Ok, we have completed the initial bootup, and
         * we're essentially up and running. Get rid of the
 diff --git a/ipc/mqueue.c b/ipc/mqueue.c
-index ed049ea..6442f7f 100644
+index 5b4293d..f179875 100644
 --- a/ipc/mqueue.c
 +++ b/ipc/mqueue.c
 @@ -156,6 +156,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
@@ -64688,7 +65327,7 @@ index ed049ea..6442f7f 100644
                if (u->mq_bytes + mq_bytes < u->mq_bytes ||
                    u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) {
 diff --git a/ipc/msg.c b/ipc/msg.c
-index 7385de2..a8180e0 100644
+index 7385de2..a8180e08 100644
 --- a/ipc/msg.c
 +++ b/ipc/msg.c
 @@ -309,18 +309,19 @@ static inline int msg_security(struct kern_ipc_perm *ipcp, int msgflg)
@@ -64717,10 +65356,10 @@ index 7385de2..a8180e0 100644
        msg_params.flg = msgflg;
  
 diff --git a/ipc/sem.c b/ipc/sem.c
-index c8e00f8..1135c4e 100644
+index 5215a81..cfc0cac 100644
 --- a/ipc/sem.c
 +++ b/ipc/sem.c
-@@ -318,10 +318,15 @@ static inline int sem_more_checks(struct kern_ipc_perm *ipcp,
+@@ -364,10 +364,15 @@ static inline int sem_more_checks(struct kern_ipc_perm *ipcp,
        return 0;
  }
  
@@ -64737,7 +65376,7 @@ index c8e00f8..1135c4e 100644
        struct ipc_params sem_params;
  
        ns = current->nsproxy->ipc_ns;
-@@ -329,10 +334,6 @@ SYSCALL_DEFINE3(semget, key_t, key, int, nsems, int, semflg)
+@@ -375,10 +380,6 @@ SYSCALL_DEFINE3(semget, key_t, key, int, nsems, int, semflg)
        if (nsems < 0 || nsems > ns->sc_semmsl)
                return -EINVAL;
  
@@ -64748,26 +65387,8 @@ index c8e00f8..1135c4e 100644
        sem_params.key = key;
        sem_params.flg = semflg;
        sem_params.u.nsems = nsems;
-@@ -848,6 +849,8 @@ static int semctl_main(struct ipc_namespace *ns, int semid, int semnum,
-       int nsems;
-       struct list_head tasks;
-+      pax_track_stack();
-+
-       sma = sem_lock_check(ns, semid);
-       if (IS_ERR(sma))
-               return PTR_ERR(sma);
-@@ -1295,6 +1298,8 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
-       struct ipc_namespace *ns;
-       struct list_head tasks;
-+      pax_track_stack();
-+
-       ns = current->nsproxy->ipc_ns;
-       if (nsops < 1 || semid < 0)
 diff --git a/ipc/shm.c b/ipc/shm.c
-index 02ecf2c..c8f5627 100644
+index b76be5b..859e750 100644
 --- a/ipc/shm.c
 +++ b/ipc/shm.c
 @@ -69,6 +69,14 @@ static void shm_destroy (struct ipc_namespace *ns, struct shmid_kernel *shp);
@@ -64825,16 +65446,20 @@ index 02ecf2c..c8f5627 100644
        shm_params.key = key;
        shm_params.flg = shmflg;
        shm_params.u.size = size;
-@@ -870,8 +887,6 @@ SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
-       case SHM_LOCK:
-       case SHM_UNLOCK:
-       {
--              struct file *uninitialized_var(shm_file);
--
-               lru_add_drain_all();  /* drain pagevecs to lru lists */
-               shp = shm_lock_check(ns, shmid);
-@@ -1004,9 +1019,21 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
+@@ -988,6 +1005,12 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
+               f_mode = FMODE_READ | FMODE_WRITE;
+       }
+       if (shmflg & SHM_EXEC) {
++
++#ifdef CONFIG_PAX_MPROTECT
++              if (current->mm->pax_flags & MF_PAX_MPROTECT)
++                      goto out;
++#endif
++
+               prot |= PROT_EXEC;
+               acc_mode |= S_IXUGO;
+       }
+@@ -1011,9 +1034,21 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
        if (err)
                goto out_unlock;
  
@@ -64870,7 +65495,7 @@ index fa7eb3d..7faf116 100644
        current->signal->rlim[RLIMIT_FSIZE].rlim_cur = flim;
        set_fs(fs);
 diff --git a/kernel/audit.c b/kernel/audit.c
-index 0a1355c..dca420f 100644
+index 09fae26..ed71d5b 100644
 --- a/kernel/audit.c
 +++ b/kernel/audit.c
 @@ -115,7 +115,7 @@ u32                audit_sig_sid = 0;
@@ -64909,10 +65534,37 @@ index 0a1355c..dca420f 100644
                status_set.backlog       = skb_queue_len(&audit_skb_queue);
                audit_send_reply(NETLINK_CB(skb).pid, seq, AUDIT_GET, 0, 0,
                                 &status_set, sizeof(status_set));
+@@ -1260,12 +1260,13 @@ static void audit_log_vformat(struct audit_buffer *ab, const char *fmt,
+               avail = audit_expand(ab,
+                       max_t(unsigned, AUDIT_BUFSIZ, 1+len-avail));
+               if (!avail)
+-                      goto out;
++                      goto out_va_end;
+               len = vsnprintf(skb_tail_pointer(skb), avail, fmt, args2);
+       }
+-      va_end(args2);
+       if (len > 0)
+               skb_put(skb, len);
++out_va_end:
++      va_end(args2);
+ out:
+       return;
+ }
 diff --git a/kernel/auditsc.c b/kernel/auditsc.c
-index ce4b054..8139ed7 100644
+index 47b7fc1..c003c33 100644
 --- a/kernel/auditsc.c
 +++ b/kernel/auditsc.c
+@@ -1166,8 +1166,8 @@ static void audit_log_execve_info(struct audit_context *context,
+                                 struct audit_buffer **ab,
+                                 struct audit_aux_data_execve *axi)
+ {
+-      int i;
+-      size_t len, len_sent = 0;
++      int i, len;
++      size_t len_sent = 0;
+       const char __user *p;
+       char *buf;
 @@ -2118,7 +2118,7 @@ int auditsc_get_stamp(struct audit_context *ctx,
  }
  
@@ -64932,7 +65584,7 @@ index ce4b054..8139ed7 100644
  
        if (context && context->in_syscall) {
 diff --git a/kernel/capability.c b/kernel/capability.c
-index 283c529..36ac81e 100644
+index b463871..fa3ea1f 100644
 --- a/kernel/capability.c
 +++ b/kernel/capability.c
 @@ -202,6 +202,9 @@ SYSCALL_DEFINE2(capget, cap_user_header_t, header, cap_user_data_t, dataptr)
@@ -64995,21 +65647,8 @@ index 283c529..36ac81e 100644
  /**
   * nsown_capable - Check superior capability to one's own user_ns
   * @cap: The capability in question
-diff --git a/kernel/cgroup.c b/kernel/cgroup.c
-index 1d2b6ce..87bf267 100644
---- a/kernel/cgroup.c
-+++ b/kernel/cgroup.c
-@@ -595,6 +595,8 @@ static struct css_set *find_css_set(
-       struct hlist_head *hhead;
-       struct cg_cgroup_link *link;
-+      pax_track_stack();
-+
-       /* First see if we already have a cgroup group that matches
-        * the desired set */
-       read_lock(&css_set_lock);
 diff --git a/kernel/compat.c b/kernel/compat.c
-index e2435ee..8e82199 100644
+index f346ced..aa2b1f4 100644
 --- a/kernel/compat.c
 +++ b/kernel/compat.c
 @@ -13,6 +13,7 @@
@@ -65020,7 +65659,7 @@ index e2435ee..8e82199 100644
  #include <linux/errno.h>
  #include <linux/time.h>
  #include <linux/signal.h>
-@@ -167,7 +168,7 @@ static long compat_nanosleep_restart(struct restart_block *restart)
+@@ -168,7 +169,7 @@ static long compat_nanosleep_restart(struct restart_block *restart)
        mm_segment_t oldfs;
        long ret;
  
@@ -65029,7 +65668,7 @@ index e2435ee..8e82199 100644
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        ret = hrtimer_nanosleep_restart(restart);
-@@ -199,7 +200,7 @@ asmlinkage long compat_sys_nanosleep(struct compat_timespec __user *rqtp,
+@@ -200,7 +201,7 @@ asmlinkage long compat_sys_nanosleep(struct compat_timespec __user *rqtp,
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        ret = hrtimer_nanosleep(&tu,
@@ -65038,7 +65677,7 @@ index e2435ee..8e82199 100644
                                HRTIMER_MODE_REL, CLOCK_MONOTONIC);
        set_fs(oldfs);
  
-@@ -308,7 +309,7 @@ asmlinkage long compat_sys_sigpending(compat_old_sigset_t __user *set)
+@@ -309,7 +310,7 @@ asmlinkage long compat_sys_sigpending(compat_old_sigset_t __user *set)
        mm_segment_t old_fs = get_fs();
  
        set_fs(KERNEL_DS);
@@ -65047,7 +65686,7 @@ index e2435ee..8e82199 100644
        set_fs(old_fs);
        if (ret == 0)
                ret = put_user(s, set);
-@@ -331,8 +332,8 @@ asmlinkage long compat_sys_sigprocmask(int how, compat_old_sigset_t __user *set,
+@@ -332,8 +333,8 @@ asmlinkage long compat_sys_sigprocmask(int how, compat_old_sigset_t __user *set,
        old_fs = get_fs();
        set_fs(KERNEL_DS);
        ret = sys_sigprocmask(how,
@@ -65058,7 +65697,7 @@ index e2435ee..8e82199 100644
        set_fs(old_fs);
        if (ret == 0)
                if (oset)
-@@ -369,7 +370,7 @@ asmlinkage long compat_sys_old_getrlimit(unsigned int resource,
+@@ -370,7 +371,7 @@ asmlinkage long compat_sys_old_getrlimit(unsigned int resource,
        mm_segment_t old_fs = get_fs();
  
        set_fs(KERNEL_DS);
@@ -65067,7 +65706,7 @@ index e2435ee..8e82199 100644
        set_fs(old_fs);
  
        if (!ret) {
-@@ -441,7 +442,7 @@ asmlinkage long compat_sys_getrusage(int who, struct compat_rusage __user *ru)
+@@ -442,7 +443,7 @@ asmlinkage long compat_sys_getrusage(int who, struct compat_rusage __user *ru)
        mm_segment_t old_fs = get_fs();
  
        set_fs(KERNEL_DS);
@@ -65076,7 +65715,7 @@ index e2435ee..8e82199 100644
        set_fs(old_fs);
  
        if (ret)
-@@ -468,8 +469,8 @@ compat_sys_wait4(compat_pid_t pid, compat_uint_t __user *stat_addr, int options,
+@@ -469,8 +470,8 @@ compat_sys_wait4(compat_pid_t pid, compat_uint_t __user *stat_addr, int options,
                set_fs (KERNEL_DS);
                ret = sys_wait4(pid,
                                (stat_addr ?
@@ -65087,7 +65726,7 @@ index e2435ee..8e82199 100644
                set_fs (old_fs);
  
                if (ret > 0) {
-@@ -494,8 +495,8 @@ asmlinkage long compat_sys_waitid(int which, compat_pid_t pid,
+@@ -495,8 +496,8 @@ asmlinkage long compat_sys_waitid(int which, compat_pid_t pid,
        memset(&info, 0, sizeof(info));
  
        set_fs(KERNEL_DS);
@@ -65098,7 +65737,7 @@ index e2435ee..8e82199 100644
        set_fs(old_fs);
  
        if ((ret < 0) || (info.si_signo == 0))
-@@ -625,8 +626,8 @@ long compat_sys_timer_settime(timer_t timer_id, int flags,
+@@ -626,8 +627,8 @@ long compat_sys_timer_settime(timer_t timer_id, int flags,
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        err = sys_timer_settime(timer_id, flags,
@@ -65109,7 +65748,7 @@ index e2435ee..8e82199 100644
        set_fs(oldfs);
        if (!err && old && put_compat_itimerspec(old, &oldts))
                return -EFAULT;
-@@ -643,7 +644,7 @@ long compat_sys_timer_gettime(timer_t timer_id,
+@@ -644,7 +645,7 @@ long compat_sys_timer_gettime(timer_t timer_id,
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        err = sys_timer_gettime(timer_id,
@@ -65118,7 +65757,7 @@ index e2435ee..8e82199 100644
        set_fs(oldfs);
        if (!err && put_compat_itimerspec(setting, &ts))
                return -EFAULT;
-@@ -662,7 +663,7 @@ long compat_sys_clock_settime(clockid_t which_clock,
+@@ -663,7 +664,7 @@ long compat_sys_clock_settime(clockid_t which_clock,
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        err = sys_clock_settime(which_clock,
@@ -65127,7 +65766,7 @@ index e2435ee..8e82199 100644
        set_fs(oldfs);
        return err;
  }
-@@ -677,7 +678,7 @@ long compat_sys_clock_gettime(clockid_t which_clock,
+@@ -678,7 +679,7 @@ long compat_sys_clock_gettime(clockid_t which_clock,
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        err = sys_clock_gettime(which_clock,
@@ -65136,7 +65775,7 @@ index e2435ee..8e82199 100644
        set_fs(oldfs);
        if (!err && put_compat_timespec(&ts, tp))
                return -EFAULT;
-@@ -697,7 +698,7 @@ long compat_sys_clock_adjtime(clockid_t which_clock,
+@@ -698,7 +699,7 @@ long compat_sys_clock_adjtime(clockid_t which_clock,
  
        oldfs = get_fs();
        set_fs(KERNEL_DS);
@@ -65145,7 +65784,7 @@ index e2435ee..8e82199 100644
        set_fs(oldfs);
  
        err = compat_put_timex(utp, &txc);
-@@ -717,7 +718,7 @@ long compat_sys_clock_getres(clockid_t which_clock,
+@@ -718,7 +719,7 @@ long compat_sys_clock_getres(clockid_t which_clock,
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        err = sys_clock_getres(which_clock,
@@ -65154,7 +65793,7 @@ index e2435ee..8e82199 100644
        set_fs(oldfs);
        if (!err && tp && put_compat_timespec(&ts, tp))
                return -EFAULT;
-@@ -729,9 +730,9 @@ static long compat_clock_nanosleep_restart(struct restart_block *restart)
+@@ -730,9 +731,9 @@ static long compat_clock_nanosleep_restart(struct restart_block *restart)
        long err;
        mm_segment_t oldfs;
        struct timespec tu;
@@ -65166,7 +65805,7 @@ index e2435ee..8e82199 100644
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        err = clock_nanosleep_restart(restart);
-@@ -763,8 +764,8 @@ long compat_sys_clock_nanosleep(clockid_t which_clock, int flags,
+@@ -764,8 +765,8 @@ long compat_sys_clock_nanosleep(clockid_t which_clock, int flags,
        oldfs = get_fs();
        set_fs(KERNEL_DS);
        err = sys_clock_nanosleep(which_clock, flags,
@@ -65202,82 +65841,35 @@ index 42e8fa0..9e7406b 100644
                return -ENOMEM;
  
 diff --git a/kernel/cred.c b/kernel/cred.c
-index 8ef31f5..f63d997 100644
+index 5791612..a3c04dc 100644
 --- a/kernel/cred.c
 +++ b/kernel/cred.c
-@@ -158,6 +158,8 @@ static void put_cred_rcu(struct rcu_head *rcu)
-  */
- void __put_cred(struct cred *cred)
- {
-+      pax_track_stack();
-+
-       kdebug("__put_cred(%p{%d,%d})", cred,
-              atomic_read(&cred->usage),
-              read_cred_subscribers(cred));
-@@ -182,6 +184,8 @@ void exit_creds(struct task_struct *tsk)
- {
-       struct cred *cred;
-+      pax_track_stack();
-+
-       kdebug("exit_creds(%u,%p,%p,{%d,%d})", tsk->pid, tsk->real_cred, tsk->cred,
-              atomic_read(&tsk->cred->usage),
-              read_cred_subscribers(tsk->cred));
-@@ -220,6 +224,8 @@ const struct cred *get_task_cred(struct task_struct *task)
- {
-       const struct cred *cred;
-+      pax_track_stack();
+@@ -204,6 +204,15 @@ void exit_creds(struct task_struct *tsk)
+               validate_creds(cred);
+               put_cred(cred);
+       }
 +
-       rcu_read_lock();
++#ifdef CONFIG_GRKERNSEC_SETXID
++      cred = (struct cred *) tsk->delayed_cred;
++      if (cred) {
++              tsk->delayed_cred = NULL;
++              validate_creds(cred);
++              put_cred(cred);
++      }
++#endif
+ }
  
-       do {
-@@ -239,6 +245,8 @@ struct cred *cred_alloc_blank(void)
+ /**
+@@ -470,7 +479,7 @@ error_put:
+  * Always returns 0 thus allowing this function to be tail-called at the end
+  * of, say, sys_setgid().
+  */
+-int commit_creds(struct cred *new)
++static int __commit_creds(struct cred *new)
  {
-       struct cred *new;
-+      pax_track_stack();
-+
-       new = kmem_cache_zalloc(cred_jar, GFP_KERNEL);
-       if (!new)
-               return NULL;
-@@ -287,6 +295,8 @@ struct cred *prepare_creds(void)
-       const struct cred *old;
-       struct cred *new;
-+      pax_track_stack();
-+
-       validate_process_creds();
-       new = kmem_cache_alloc(cred_jar, GFP_KERNEL);
-@@ -333,6 +343,8 @@ struct cred *prepare_exec_creds(void)
-       struct thread_group_cred *tgcred = NULL;
-       struct cred *new;
-+      pax_track_stack();
-+
- #ifdef CONFIG_KEYS
-       tgcred = kmalloc(sizeof(*tgcred), GFP_KERNEL);
-       if (!tgcred)
-@@ -385,6 +397,8 @@ int copy_creds(struct task_struct *p, unsigned long clone_flags)
-       struct cred *new;
-       int ret;
-+      pax_track_stack();
-+
-       if (
- #ifdef CONFIG_KEYS
-               !p->cred->thread_keyring &&
-@@ -475,6 +489,8 @@ int commit_creds(struct cred *new)
        struct task_struct *task = current;
        const struct cred *old = task->real_cred;
-+      pax_track_stack();
-+
-       kdebug("commit_creds(%p{%d,%d})", new,
-              atomic_read(&new->usage),
-              read_cred_subscribers(new));
-@@ -489,6 +505,8 @@ int commit_creds(struct cred *new)
+@@ -489,6 +498,8 @@ int commit_creds(struct cred *new)
  
        get_cred(new); /* we will require a ref for the subj creds too */
  
@@ -65286,60 +65878,99 @@ index 8ef31f5..f63d997 100644
        /* dumpability changes */
        if (old->euid != new->euid ||
            old->egid != new->egid ||
-@@ -549,6 +567,8 @@ EXPORT_SYMBOL(commit_creds);
-  */
- void abort_creds(struct cred *new)
- {
-+      pax_track_stack();
+@@ -538,6 +549,92 @@ int commit_creds(struct cred *new)
+       put_cred(old);
+       return 0;
+ }
++#ifdef CONFIG_GRKERNSEC_SETXID
++extern int set_user(struct cred *new);
 +
-       kdebug("abort_creds(%p{%d,%d})", new,
-              atomic_read(&new->usage),
-              read_cred_subscribers(new));
-@@ -572,6 +592,8 @@ const struct cred *override_creds(const struct cred *new)
- {
-       const struct cred *old = current->cred;
-+      pax_track_stack();
++void gr_delayed_cred_worker(void)
++{
++      const struct cred *new = current->delayed_cred;
++      struct cred *ncred;
 +
-       kdebug("override_creds(%p{%d,%d})", new,
-              atomic_read(&new->usage),
-              read_cred_subscribers(new));
-@@ -601,6 +623,8 @@ void revert_creds(const struct cred *old)
- {
-       const struct cred *override = current->cred;
-+      pax_track_stack();
++      current->delayed_cred = NULL;
 +
-       kdebug("revert_creds(%p{%d,%d})", old,
-              atomic_read(&old->usage),
-              read_cred_subscribers(old));
-@@ -647,6 +671,8 @@ struct cred *prepare_kernel_cred(struct task_struct *daemon)
-       const struct cred *old;
-       struct cred *new;
-+      pax_track_stack();
++      if (current_uid() && new != NULL) {
++              // from doing get_cred on it when queueing this
++              put_cred(new);
++              return;
++      } else if (new == NULL)
++              return;
 +
-       new = kmem_cache_alloc(cred_jar, GFP_KERNEL);
-       if (!new)
-               return NULL;
-@@ -701,6 +727,8 @@ EXPORT_SYMBOL(prepare_kernel_cred);
-  */
- int set_security_override(struct cred *new, u32 secid)
- {
-+      pax_track_stack();
++      ncred = prepare_creds();
++      if (!ncred)
++              goto die;
++      // uids
++      ncred->uid = new->uid;
++      ncred->euid = new->euid;
++      ncred->suid = new->suid;
++      ncred->fsuid = new->fsuid;
++      // gids
++      ncred->gid = new->gid;
++      ncred->egid = new->egid;
++      ncred->sgid = new->sgid;
++      ncred->fsgid = new->fsgid;
++      // groups
++      if (set_groups(ncred, new->group_info) < 0) {
++              abort_creds(ncred);
++              goto die;
++      }
++      // caps
++      ncred->securebits = new->securebits;
++      ncred->cap_inheritable = new->cap_inheritable;
++      ncred->cap_permitted = new->cap_permitted;
++      ncred->cap_effective = new->cap_effective;
++      ncred->cap_bset = new->cap_bset;
++
++      if (set_user(ncred)) {
++              abort_creds(ncred);
++              goto die;
++      }
 +
-       return security_kernel_act_as(new, secid);
- }
- EXPORT_SYMBOL(set_security_override);
-@@ -720,6 +748,8 @@ int set_security_override_from_ctx(struct cred *new, const char *secctx)
-       u32 secid;
-       int ret;
-+      pax_track_stack();
++      // from doing get_cred on it when queueing this
++      put_cred(new);
 +
-       ret = security_secctx_to_secid(secctx, strlen(secctx), &secid);
-       if (ret < 0)
-               return ret;
++      __commit_creds(ncred);
++      return;
++die:
++      // from doing get_cred on it when queueing this
++      put_cred(new);
++      do_group_exit(SIGKILL);
++}
++#endif
++
++int commit_creds(struct cred *new)
++{
++#ifdef CONFIG_GRKERNSEC_SETXID
++      struct task_struct *t;
++
++      /* we won't get called with tasklist_lock held for writing
++         and interrupts disabled as the cred struct in that case is
++         init_cred
++      */
++      if (grsec_enable_setxid && !current_is_single_threaded() &&
++          !current_uid() && new->uid) {
++              rcu_read_lock();
++              read_lock(&tasklist_lock);
++              for (t = next_thread(current); t != current;
++                   t = next_thread(t)) {
++                      if (t->delayed_cred == NULL) {
++                              t->delayed_cred = get_cred(new);
++                              set_tsk_need_resched(t);
++                      }
++              }
++              read_unlock(&tasklist_lock);
++              rcu_read_unlock();
++      }
++#endif
++      return __commit_creds(new);
++}
++
+ EXPORT_SYMBOL(commit_creds);
+ /**
 diff --git a/kernel/debug/debug_core.c b/kernel/debug/debug_core.c
 index 0d7c087..01b8cef 100644
 --- a/kernel/debug/debug_core.c
@@ -65427,10 +66058,10 @@ index 63786e7..0780cac 100644
  #ifdef CONFIG_MODULE_UNLOAD
                {
 diff --git a/kernel/events/core.c b/kernel/events/core.c
-index 0f85778..0d43716 100644
+index 58690af..d903d75 100644
 --- a/kernel/events/core.c
 +++ b/kernel/events/core.c
-@@ -172,7 +172,7 @@ int perf_proc_update_handler(struct ctl_table *table, int write,
+@@ -173,7 +173,7 @@ int perf_proc_update_handler(struct ctl_table *table, int write,
        return 0;
  }
  
@@ -65439,7 +66070,7 @@ index 0f85778..0d43716 100644
  
  static void cpu_ctx_sched_out(struct perf_cpu_context *cpuctx,
                              enum event_type_t event_type);
-@@ -2535,7 +2535,7 @@ static void __perf_event_read(void *info)
+@@ -2540,7 +2540,7 @@ static void __perf_event_read(void *info)
  
  static inline u64 perf_event_count(struct perf_event *event)
  {
@@ -65448,7 +66079,7 @@ index 0f85778..0d43716 100644
  }
  
  static u64 perf_event_read(struct perf_event *event)
-@@ -3060,9 +3060,9 @@ u64 perf_event_read_value(struct perf_event *event, u64 *enabled, u64 *running)
+@@ -3065,9 +3065,9 @@ u64 perf_event_read_value(struct perf_event *event, u64 *enabled, u64 *running)
        mutex_lock(&event->child_mutex);
        total += perf_event_read(event);
        *enabled += event->total_time_enabled +
@@ -65460,7 +66091,7 @@ index 0f85778..0d43716 100644
  
        list_for_each_entry(child, &event->child_list, child_list) {
                total += perf_event_read(child);
-@@ -3448,10 +3448,10 @@ void perf_event_update_userpage(struct perf_event *event)
+@@ -3474,10 +3474,10 @@ void perf_event_update_userpage(struct perf_event *event)
                userpg->offset -= local64_read(&event->hw.prev_count);
  
        userpg->time_enabled = enabled +
@@ -65473,7 +66104,7 @@ index 0f85778..0d43716 100644
  
        barrier();
        ++userpg->lock;
-@@ -3822,11 +3822,11 @@ static void perf_output_read_one(struct perf_output_handle *handle,
+@@ -3906,11 +3906,11 @@ static void perf_output_read_one(struct perf_output_handle *handle,
        values[n++] = perf_event_count(event);
        if (read_format & PERF_FORMAT_TOTAL_TIME_ENABLED) {
                values[n++] = enabled +
@@ -65487,7 +66118,7 @@ index 0f85778..0d43716 100644
        }
        if (read_format & PERF_FORMAT_ID)
                values[n++] = primary_event_id(event);
-@@ -4477,12 +4477,12 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event)
+@@ -4561,12 +4561,12 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event)
                 * need to add enough zero bytes after the string to handle
                 * the 64bit alignment we do later.
                 */
@@ -65502,7 +66133,7 @@ index 0f85778..0d43716 100644
                if (IS_ERR(name)) {
                        name = strncpy(tmp, "//toolong", sizeof(tmp));
                        goto got_name;
-@@ -5833,7 +5833,7 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu,
+@@ -5921,7 +5921,7 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu,
        event->parent           = parent_event;
  
        event->ns               = get_pid_ns(current->nsproxy->pid_ns);
@@ -65511,7 +66142,7 @@ index 0f85778..0d43716 100644
  
        event->state            = PERF_EVENT_STATE_INACTIVE;
  
-@@ -6355,10 +6355,10 @@ static void sync_child_event(struct perf_event *child_event,
+@@ -6443,10 +6443,10 @@ static void sync_child_event(struct perf_event *child_event,
        /*
         * Add back the child's count to the parent's count:
         */
@@ -65526,7 +66157,7 @@ index 0f85778..0d43716 100644
  
        /*
 diff --git a/kernel/exit.c b/kernel/exit.c
-index 2913b35..4465c81 100644
+index e6e01b9..0a21b0a 100644
 --- a/kernel/exit.c
 +++ b/kernel/exit.c
 @@ -57,6 +57,10 @@
@@ -65578,7 +66209,7 @@ index 2913b35..4465c81 100644
        /*
         * If we were started as result of loading a module, close all of the
         * user space pages.  We don't need them, and if we didn't close them
-@@ -895,6 +914,8 @@ NORET_TYPE void do_exit(long code)
+@@ -893,6 +912,8 @@ NORET_TYPE void do_exit(long code)
        struct task_struct *tsk = current;
        int group_dead;
  
@@ -65587,7 +66218,7 @@ index 2913b35..4465c81 100644
        profile_task_exit(tsk);
  
        WARN_ON(blk_needs_flush_plug(tsk));
-@@ -911,7 +932,6 @@ NORET_TYPE void do_exit(long code)
+@@ -909,7 +930,6 @@ NORET_TYPE void do_exit(long code)
         * mm_release()->clear_child_tid() from writing to a user-controlled
         * kernel address.
         */
@@ -65595,7 +66226,7 @@ index 2913b35..4465c81 100644
  
        ptrace_event(PTRACE_EVENT_EXIT, code);
  
-@@ -973,6 +993,9 @@ NORET_TYPE void do_exit(long code)
+@@ -971,6 +991,9 @@ NORET_TYPE void do_exit(long code)
        tsk->exit_code = code;
        taskstats_exit(tsk, group_dead);
  
@@ -65605,11 +66236,20 @@ index 2913b35..4465c81 100644
        exit_mm(tsk);
  
        if (group_dead)
+@@ -1068,7 +1091,7 @@ SYSCALL_DEFINE1(exit, int, error_code)
+  * Take down every thread in the group.  This is called by fatal signals
+  * as well as by sys_exit_group (below).
+  */
+-NORET_TYPE void
++__noreturn void
+ do_group_exit(int exit_code)
+ {
+       struct signal_struct *sig = current->signal;
 diff --git a/kernel/fork.c b/kernel/fork.c
-index 8e6b6f4..9dccf00 100644
+index 0acf42c0..9e40e2e 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
-@@ -285,7 +285,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
+@@ -281,7 +281,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
        *stackend = STACK_END_MAGIC;    /* for overflow detection */
  
  #ifdef CONFIG_CC_STACKPROTECTOR
@@ -65618,7 +66258,7 @@ index 8e6b6f4..9dccf00 100644
  #endif
  
        /*
-@@ -309,13 +309,77 @@ out:
+@@ -305,13 +305,77 @@ out:
  }
  
  #ifdef CONFIG_MMU
@@ -65698,7 +66338,7 @@ index 8e6b6f4..9dccf00 100644
  
        down_write(&oldmm->mmap_sem);
        flush_cache_dup_mm(oldmm);
-@@ -327,8 +391,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -323,8 +387,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
        mm->locked_vm = 0;
        mm->mmap = NULL;
        mm->mmap_cache = NULL;
@@ -65709,7 +66349,7 @@ index 8e6b6f4..9dccf00 100644
        mm->map_count = 0;
        cpumask_clear(mm_cpumask(mm));
        mm->mm_rb = RB_ROOT;
-@@ -344,8 +408,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -340,8 +404,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
  
        prev = NULL;
        for (mpnt = oldmm->mmap; mpnt; mpnt = mpnt->vm_next) {
@@ -65718,7 +66358,7 @@ index 8e6b6f4..9dccf00 100644
                if (mpnt->vm_flags & VM_DONTCOPY) {
                        long pages = vma_pages(mpnt);
                        mm->total_vm -= pages;
-@@ -353,53 +415,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -349,53 +411,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
                                                                -pages);
                        continue;
                }
@@ -65776,7 +66416,7 @@ index 8e6b6f4..9dccf00 100644
  
                /*
                 * Link in the new vma and copy the page table entries.
-@@ -422,6 +442,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -418,6 +438,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
                if (retval)
                        goto out;
        }
@@ -65808,7 +66448,7 @@ index 8e6b6f4..9dccf00 100644
        /* a new mm has just been created */
        arch_dup_mmap(oldmm, mm);
        retval = 0;
-@@ -430,14 +475,6 @@ out:
+@@ -426,14 +471,6 @@ out:
        flush_tlb_mm(oldmm);
        up_write(&oldmm->mmap_sem);
        return retval;
@@ -65823,7 +66463,34 @@ index 8e6b6f4..9dccf00 100644
  }
  
  static inline int mm_alloc_pgd(struct mm_struct *mm)
-@@ -837,13 +874,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
+@@ -645,6 +682,26 @@ struct mm_struct *get_task_mm(struct task_struct *task)
+ }
+ EXPORT_SYMBOL_GPL(get_task_mm);
++struct mm_struct *mm_access(struct task_struct *task, unsigned int mode)
++{
++      struct mm_struct *mm;
++      int err;
++
++      err =  mutex_lock_killable(&task->signal->cred_guard_mutex);
++      if (err)
++              return ERR_PTR(err);
++
++      mm = get_task_mm(task);
++      if (mm && ((mm != current->mm && !ptrace_may_access(task, mode)) ||
++                      (mode == PTRACE_MODE_ATTACH && (gr_handle_proc_ptrace(task) || gr_acl_handle_procpidmem(task))))) {
++              mmput(mm);
++              mm = ERR_PTR(-EACCES);
++      }
++      mutex_unlock(&task->signal->cred_guard_mutex);
++
++      return mm;
++}
++
+ /* Please note the differences between mmput and mm_release.
+  * mmput is called whenever we stop holding onto a mm_struct,
+  * error success whatever.
+@@ -830,13 +887,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
                        spin_unlock(&fs->lock);
                        return -EAGAIN;
                }
@@ -65839,7 +66506,7 @@ index 8e6b6f4..9dccf00 100644
        return 0;
  }
  
-@@ -1105,6 +1143,9 @@ static struct task_struct *copy_process(unsigned long clone_flags,
+@@ -1100,6 +1158,9 @@ static struct task_struct *copy_process(unsigned long clone_flags,
        DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
  #endif
        retval = -EAGAIN;
@@ -65849,7 +66516,7 @@ index 8e6b6f4..9dccf00 100644
        if (atomic_read(&p->real_cred->user->processes) >=
                        task_rlimit(p, RLIMIT_NPROC)) {
                if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) &&
-@@ -1264,6 +1305,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
+@@ -1259,6 +1320,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
        if (clone_flags & CLONE_THREAD)
                p->tgid = current->tgid;
  
@@ -65858,7 +66525,7 @@ index 8e6b6f4..9dccf00 100644
        p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? child_tidptr : NULL;
        /*
         * Clear TID on mm_release()?
-@@ -1428,6 +1471,8 @@ bad_fork_cleanup_count:
+@@ -1421,6 +1484,8 @@ bad_fork_cleanup_count:
  bad_fork_free:
        free_task(p);
  fork_out:
@@ -65867,7 +66534,7 @@ index 8e6b6f4..9dccf00 100644
        return ERR_PTR(retval);
  }
  
-@@ -1528,6 +1573,8 @@ long do_fork(unsigned long clone_flags,
+@@ -1521,6 +1586,8 @@ long do_fork(unsigned long clone_flags,
                if (clone_flags & CLONE_PARENT_SETTID)
                        put_user(nr, parent_tidptr);
  
@@ -65876,7 +66543,7 @@ index 8e6b6f4..9dccf00 100644
                if (clone_flags & CLONE_VFORK) {
                        p->vfork_done = &vfork;
                        init_completion(&vfork);
-@@ -1637,7 +1684,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
+@@ -1630,7 +1697,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
                return 0;
  
        /* don't need lock here; in the worst case we'll do useless copy */
@@ -65885,7 +66552,7 @@ index 8e6b6f4..9dccf00 100644
                return 0;
  
        *new_fsp = copy_fs_struct(fs);
-@@ -1726,7 +1773,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
+@@ -1719,7 +1786,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
                        fs = current->fs;
                        spin_lock(&fs->lock);
                        current->fs = new_fs;
@@ -65896,7 +66563,7 @@ index 8e6b6f4..9dccf00 100644
                        else
                                new_fs = fs;
 diff --git a/kernel/futex.c b/kernel/futex.c
-index 11cbe05..9ff191b 100644
+index 1614be2..37abc7e 100644
 --- a/kernel/futex.c
 +++ b/kernel/futex.c
 @@ -54,6 +54,7 @@
@@ -65905,7 +66572,7 @@ index 11cbe05..9ff191b 100644
  #include <linux/syscalls.h>
 +#include <linux/ptrace.h>
  #include <linux/signal.h>
- #include <linux/module.h>
+ #include <linux/export.h>
  #include <linux/magic.h>
 @@ -238,6 +239,11 @@ get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, int rw)
        struct page *page, *page_head;
@@ -65919,54 +66586,18 @@ index 11cbe05..9ff191b 100644
        /*
         * The futex address must be "naturally" aligned.
         */
-@@ -1863,6 +1869,8 @@ static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val,
-       struct futex_q q = futex_q_init;
-       int ret;
-+      pax_track_stack();
-+
-       if (!bitset)
-               return -EINVAL;
-       q.bitset = bitset;
-@@ -2259,6 +2267,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags,
-       struct futex_q q = futex_q_init;
-       int res, ret;
-+      pax_track_stack();
-+
-       if (!bitset)
-               return -EINVAL;
-@@ -2431,7 +2441,9 @@ SYSCALL_DEFINE3(get_robust_list, int, pid,
- {
-       struct robust_list_head __user *head;
-       unsigned long ret;
-+#ifndef CONFIG_GRKERNSEC_PROC_MEMMAP
-       const struct cred *cred = current_cred(), *pcred;
-+#endif
-       if (!futex_cmpxchg_enabled)
-               return -ENOSYS;
-@@ -2447,6 +2459,10 @@ SYSCALL_DEFINE3(get_robust_list, int, pid,
+@@ -2459,6 +2465,10 @@ SYSCALL_DEFINE3(get_robust_list, int, pid,
                if (!p)
                        goto err_unlock;
                ret = -EPERM;
 +#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
 +              if (!ptrace_may_access(p, PTRACE_MODE_READ))
 +                      goto err_unlock;
-+#else
++#endif
                pcred = __task_cred(p);
                /* If victim is in different user_ns, then uids are not
                   comparable, so we must have CAP_SYS_PTRACE */
-@@ -2461,6 +2477,7 @@ SYSCALL_DEFINE3(get_robust_list, int, pid,
-                   !ns_capable(pcred->user->user_ns, CAP_SYS_PTRACE))
-                       goto err_unlock;
- ok:
-+#endif
-               head = p->robust_list;
-               rcu_read_unlock();
-       }
-@@ -2712,6 +2729,7 @@ static int __init futex_init(void)
+@@ -2724,6 +2734,7 @@ static int __init futex_init(void)
  {
        u32 curval;
        int i;
@@ -65974,7 +66605,7 @@ index 11cbe05..9ff191b 100644
  
        /*
         * This will fail and we want it. Some arch implementations do
-@@ -2723,8 +2741,11 @@ static int __init futex_init(void)
+@@ -2735,8 +2746,11 @@ static int __init futex_init(void)
         * implementation, the non-functional ones will return
         * -ENOSYS.
         */
@@ -65987,7 +66618,7 @@ index 11cbe05..9ff191b 100644
        for (i = 0; i < ARRAY_SIZE(futex_queues); i++) {
                plist_head_init(&futex_queues[i].chain);
 diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
-index 5f9e689..03afa21 100644
+index 5f9e689..582d46d 100644
 --- a/kernel/futex_compat.c
 +++ b/kernel/futex_compat.c
 @@ -10,6 +10,7 @@
@@ -65998,37 +66629,27 @@ index 5f9e689..03afa21 100644
  
  #include <asm/uaccess.h>
  
-@@ -136,7 +137,10 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
+@@ -136,7 +137,8 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
  {
        struct compat_robust_list_head __user *head;
        unsigned long ret;
 -      const struct cred *cred = current_cred(), *pcred;
-+#ifndef CONFIG_GRKERNSEC_PROC_MEMMAP
 +      const struct cred *cred = current_cred();
 +      const struct cred *pcred;
-+#endif
  
        if (!futex_cmpxchg_enabled)
                return -ENOSYS;
-@@ -152,6 +156,10 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
+@@ -152,6 +154,10 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
                if (!p)
                        goto err_unlock;
                ret = -EPERM;
 +#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
 +              if (!ptrace_may_access(p, PTRACE_MODE_READ))
 +                      goto err_unlock;
-+#else
++#endif
                pcred = __task_cred(p);
                /* If victim is in different user_ns, then uids are not
                   comparable, so we must have CAP_SYS_PTRACE */
-@@ -166,6 +174,7 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
-                   !ns_capable(pcred->user->user_ns, CAP_SYS_PTRACE))
-                       goto err_unlock;
- ok:
-+#endif
-               head = p->compat_robust_list;
-               rcu_read_unlock();
-       }
 diff --git a/kernel/gcov/base.c b/kernel/gcov/base.c
 index 9b22d03..6295b62 100644
 --- a/kernel/gcov/base.c
@@ -66055,7 +66676,7 @@ index 9b22d03..6295b62 100644
                                prev->next = info->next;
                        else
 diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
-index 2043c08..ec81a69 100644
+index ae34bf5..4e2f3d0 100644
 --- a/kernel/hrtimer.c
 +++ b/kernel/hrtimer.c
 @@ -1393,7 +1393,7 @@ void hrtimer_peek_ahead_timers(void)
@@ -66068,7 +66689,7 @@ index 2043c08..ec81a69 100644
        hrtimer_peek_ahead_timers();
  }
 diff --git a/kernel/jump_label.c b/kernel/jump_label.c
-index e6f1f24..6c19597 100644
+index 66ff710..05a5128 100644
 --- a/kernel/jump_label.c
 +++ b/kernel/jump_label.c
 @@ -55,7 +55,9 @@ jump_label_sort_entries(struct jump_entry *start, struct jump_entry *stop)
@@ -66081,7 +66702,7 @@ index e6f1f24..6c19597 100644
  }
  
  static void jump_label_update(struct jump_label_key *key, int enable);
-@@ -298,10 +300,12 @@ static void jump_label_invalidate_module_init(struct module *mod)
+@@ -303,10 +305,12 @@ static void jump_label_invalidate_module_init(struct module *mod)
        struct jump_entry *iter_stop = iter_start + mod->num_jump_entries;
        struct jump_entry *iter;
  
@@ -66201,10 +66822,10 @@ index 079f1d3..a407562 100644
                return -ENOMEM;
        reset_iter(iter, 0);
 diff --git a/kernel/kexec.c b/kernel/kexec.c
-index 296fbc8..84cb857 100644
+index dc7bc08..4601964 100644
 --- a/kernel/kexec.c
 +++ b/kernel/kexec.c
-@@ -1033,7 +1033,8 @@ asmlinkage long compat_sys_kexec_load(unsigned long entry,
+@@ -1048,7 +1048,8 @@ asmlinkage long compat_sys_kexec_load(unsigned long entry,
                                unsigned long flags)
  {
        struct compat_kexec_segment in;
@@ -66324,7 +66945,7 @@ index a4bea97..7a1ae9a 100644
                /*
                 * If ret is 0, either ____call_usermodehelper failed and the
 diff --git a/kernel/kprobes.c b/kernel/kprobes.c
-index b30fd54..11821ec 100644
+index bc90b87..43c7d8c 100644
 --- a/kernel/kprobes.c
 +++ b/kernel/kprobes.c
 @@ -185,7 +185,7 @@ static kprobe_opcode_t __kprobes *__get_insn_slot(struct kprobe_insn_cache *c)
@@ -66345,7 +66966,7 @@ index b30fd54..11821ec 100644
                        kfree(kip);
                }
                return 1;
-@@ -1949,7 +1949,7 @@ static int __init init_kprobes(void)
+@@ -1955,7 +1955,7 @@ static int __init init_kprobes(void)
  {
        int i, err = 0;
        unsigned long offset = 0, size = 0;
@@ -66354,7 +66975,7 @@ index b30fd54..11821ec 100644
        const char *symbol_name;
        void *addr;
        struct kprobe_blackpoint *kb;
-@@ -2075,7 +2075,7 @@ static int __kprobes show_kprobe_addr(struct seq_file *pi, void *v)
+@@ -2081,7 +2081,7 @@ static int __kprobes show_kprobe_addr(struct seq_file *pi, void *v)
        const char *sym = NULL;
        unsigned int i = *(loff_t *) v;
        unsigned long offset = 0;
@@ -66364,10 +66985,10 @@ index b30fd54..11821ec 100644
        head = &kprobe_table[i];
        preempt_disable();
 diff --git a/kernel/lockdep.c b/kernel/lockdep.c
-index 91d67ce..ac259df 100644
+index b2e08c9..01d8049 100644
 --- a/kernel/lockdep.c
 +++ b/kernel/lockdep.c
-@@ -583,6 +583,10 @@ static int static_obj(void *obj)
+@@ -592,6 +592,10 @@ static int static_obj(void *obj)
                      end   = (unsigned long) &_end,
                      addr  = (unsigned long) obj;
  
@@ -66378,7 +66999,7 @@ index 91d67ce..ac259df 100644
        /*
         * static variable?
         */
-@@ -718,6 +722,7 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force)
+@@ -731,6 +735,7 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force)
        if (!static_obj(lock->key)) {
                debug_locks_off();
                printk("INFO: trying to register non-static key.\n");
@@ -66386,7 +67007,7 @@ index 91d67ce..ac259df 100644
                printk("the code is fine but needs lockdep annotation.\n");
                printk("turning off the locking correctness validator.\n");
                dump_stack();
-@@ -2948,7 +2953,7 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass,
+@@ -3042,7 +3047,7 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass,
                if (!class)
                        return 0;
        }
@@ -66396,7 +67017,7 @@ index 91d67ce..ac259df 100644
                printk("\nacquire class [%p] %s", class->key, class->name);
                if (class->name_version > 1)
 diff --git a/kernel/lockdep_proc.c b/kernel/lockdep_proc.c
-index 71edd2f..e0542a5 100644
+index 91c32a0..b2c71c5 100644
 --- a/kernel/lockdep_proc.c
 +++ b/kernel/lockdep_proc.c
 @@ -39,7 +39,7 @@ static void l_stop(struct seq_file *m, void *v)
@@ -66409,7 +67030,7 @@ index 71edd2f..e0542a5 100644
  
        if (!name) {
 diff --git a/kernel/module.c b/kernel/module.c
-index 04379f92..fba2faf 100644
+index 178333c..04e3408 100644
 --- a/kernel/module.c
 +++ b/kernel/module.c
 @@ -58,6 +58,7 @@
@@ -66797,7 +67418,7 @@ index 04379f92..fba2faf 100644
        /* This is allowed: modprobe --force will invalidate it. */
        if (!modmagic) {
                err = try_to_force_load(mod, "bad vermagic");
-@@ -2495,7 +2538,7 @@ static int check_modinfo(struct module *mod, struct load_info *info)
+@@ -2498,7 +2541,7 @@ static int check_modinfo(struct module *mod, struct load_info *info)
        }
  
        /* Set up license info based on the info section */
@@ -66806,7 +67427,7 @@ index 04379f92..fba2faf 100644
  
        return 0;
  }
-@@ -2589,7 +2632,7 @@ static int move_module(struct module *mod, struct load_info *info)
+@@ -2592,7 +2635,7 @@ static int move_module(struct module *mod, struct load_info *info)
        void *ptr;
  
        /* Do the allocs. */
@@ -66815,7 +67436,7 @@ index 04379f92..fba2faf 100644
        /*
         * The pointer to this block is stored in the module structure
         * which is inside the block. Just mark it as not being a
-@@ -2599,23 +2642,50 @@ static int move_module(struct module *mod, struct load_info *info)
+@@ -2602,23 +2645,50 @@ static int move_module(struct module *mod, struct load_info *info)
        if (!ptr)
                return -ENOMEM;
  
@@ -66874,7 +67495,7 @@ index 04379f92..fba2faf 100644
  
        /* Transfer each section which specifies SHF_ALLOC */
        DEBUGP("final section addresses:\n");
-@@ -2626,16 +2696,45 @@ static int move_module(struct module *mod, struct load_info *info)
+@@ -2629,16 +2699,45 @@ static int move_module(struct module *mod, struct load_info *info)
                if (!(shdr->sh_flags & SHF_ALLOC))
                        continue;
  
@@ -66927,7 +67548,7 @@ index 04379f92..fba2faf 100644
                DEBUGP("\t0x%lx %s\n",
                       shdr->sh_addr, info->secstrings + shdr->sh_name);
        }
-@@ -2686,12 +2785,12 @@ static void flush_module_icache(const struct module *mod)
+@@ -2689,12 +2788,12 @@ static void flush_module_icache(const struct module *mod)
         * Do it before processing of module parameters, so the module
         * can provide parameter accessor functions of its own.
         */
@@ -66946,7 +67567,7 @@ index 04379f92..fba2faf 100644
  
        set_fs(old_fs);
  }
-@@ -2771,8 +2870,10 @@ static void module_deallocate(struct module *mod, struct load_info *info)
+@@ -2774,8 +2873,10 @@ static void module_deallocate(struct module *mod, struct load_info *info)
  {
        kfree(info->strmap);
        percpu_modfree(mod);
@@ -66959,7 +67580,7 @@ index 04379f92..fba2faf 100644
  }
  
  int __weak module_finalize(const Elf_Ehdr *hdr,
-@@ -2836,9 +2937,38 @@ static struct module *load_module(void __user *umod,
+@@ -2839,9 +2940,38 @@ static struct module *load_module(void __user *umod,
        if (err)
                goto free_unload;
  
@@ -66998,7 +67619,7 @@ index 04379f92..fba2faf 100644
        /* Fix up syms, so that st_value is a pointer to location. */
        err = simplify_symbols(mod, &info);
        if (err < 0)
-@@ -2854,13 +2984,6 @@ static struct module *load_module(void __user *umod,
+@@ -2857,13 +2987,6 @@ static struct module *load_module(void __user *umod,
  
        flush_module_icache(mod);
  
@@ -67012,7 +67633,7 @@ index 04379f92..fba2faf 100644
        /* Mark state as coming so strong_try_module_get() ignores us. */
        mod->state = MODULE_STATE_COMING;
  
-@@ -2920,11 +3043,10 @@ static struct module *load_module(void __user *umod,
+@@ -2921,11 +3044,10 @@ static struct module *load_module(void __user *umod,
   unlock:
        mutex_unlock(&module_mutex);
        synchronize_sched();
@@ -67025,7 +67646,7 @@ index 04379f92..fba2faf 100644
   free_unload:
        module_unload_free(mod);
   free_module:
-@@ -2965,16 +3087,16 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
+@@ -2966,16 +3088,16 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
                        MODULE_STATE_COMING, mod);
  
        /* Set RO and NX regions for core */
@@ -67050,7 +67671,7 @@ index 04379f92..fba2faf 100644
  
        do_mod_ctors(mod);
        /* Start the module */
-@@ -3020,11 +3142,12 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
+@@ -3021,11 +3143,12 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
        mod->strtab = mod->core_strtab;
  #endif
        unset_module_init_ro_nx(mod);
@@ -67068,7 +67689,7 @@ index 04379f92..fba2faf 100644
        mutex_unlock(&module_mutex);
  
        return 0;
-@@ -3055,10 +3178,16 @@ static const char *get_ksymbol(struct module *mod,
+@@ -3056,10 +3179,16 @@ static const char *get_ksymbol(struct module *mod,
        unsigned long nextval;
  
        /* At worse, next value is at end of module */
@@ -67088,7 +67709,7 @@ index 04379f92..fba2faf 100644
  
        /* Scan for closest preceding symbol, and next symbol. (ELF
           starts real symbols at 1). */
-@@ -3304,7 +3433,7 @@ static int m_show(struct seq_file *m, void *p)
+@@ -3307,7 +3436,7 @@ static int m_show(struct seq_file *m, void *p)
        char buf[8];
  
        seq_printf(m, "%s %u",
@@ -67097,7 +67718,7 @@ index 04379f92..fba2faf 100644
        print_unload_info(m, mod);
  
        /* Informative for users. */
-@@ -3313,7 +3442,7 @@ static int m_show(struct seq_file *m, void *p)
+@@ -3316,7 +3445,7 @@ static int m_show(struct seq_file *m, void *p)
                   mod->state == MODULE_STATE_COMING ? "Loading":
                   "Live");
        /* Used by oprofile and other similar tools. */
@@ -67106,7 +67727,7 @@ index 04379f92..fba2faf 100644
  
        /* Taints info */
        if (mod->taints)
-@@ -3349,7 +3478,17 @@ static const struct file_operations proc_modules_operations = {
+@@ -3352,7 +3481,17 @@ static const struct file_operations proc_modules_operations = {
  
  static int __init proc_modules_init(void)
  {
@@ -67124,7 +67745,7 @@ index 04379f92..fba2faf 100644
        return 0;
  }
  module_init(proc_modules_init);
-@@ -3408,12 +3547,12 @@ struct module *__module_address(unsigned long addr)
+@@ -3411,12 +3550,12 @@ struct module *__module_address(unsigned long addr)
  {
        struct module *mod;
  
@@ -67140,7 +67761,7 @@ index 04379f92..fba2faf 100644
                        return mod;
        return NULL;
  }
-@@ -3447,11 +3586,20 @@ bool is_module_text_address(unsigned long addr)
+@@ -3450,11 +3589,20 @@ bool is_module_text_address(unsigned long addr)
   */
  struct module *__module_text_address(unsigned long addr)
  {
@@ -67165,7 +67786,7 @@ index 04379f92..fba2faf 100644
        }
        return mod;
 diff --git a/kernel/mutex-debug.c b/kernel/mutex-debug.c
-index 73da83a..fe46e99 100644
+index 7e3443f..b2a1e6b 100644
 --- a/kernel/mutex-debug.c
 +++ b/kernel/mutex-debug.c
 @@ -49,21 +49,21 @@ void debug_mutex_free_waiter(struct mutex_waiter *waiter)
@@ -67213,7 +67834,7 @@ index 0799fd3..d06ae3b 100644
  extern void debug_mutex_init(struct mutex *lock, const char *name,
                             struct lock_class_key *key);
 diff --git a/kernel/mutex.c b/kernel/mutex.c
-index d607ed5..58d0a52 100644
+index 89096dd..f91ebc5 100644
 --- a/kernel/mutex.c
 +++ b/kernel/mutex.c
 @@ -198,7 +198,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
@@ -67245,7 +67866,7 @@ index d607ed5..58d0a52 100644
  
        /* set it to 0 if there are no waiters left: */
 diff --git a/kernel/padata.c b/kernel/padata.c
-index b91941d..0871d60 100644
+index b452599..5d68f4e 100644
 --- a/kernel/padata.c
 +++ b/kernel/padata.c
 @@ -132,10 +132,10 @@ int padata_do_parallel(struct padata_instance *pinst,
@@ -67272,10 +67893,23 @@ index b91941d..0871d60 100644
        atomic_set(&pd->refcnt, 0);
        pd->pinst = pinst;
 diff --git a/kernel/panic.c b/kernel/panic.c
-index d7bb697..9ef9f19 100644
+index 3458469..342c500 100644
 --- a/kernel/panic.c
 +++ b/kernel/panic.c
-@@ -371,7 +371,7 @@ static void warn_slowpath_common(const char *file, int line, void *caller,
+@@ -78,7 +78,11 @@ NORET_TYPE void panic(const char * fmt, ...)
+       va_end(args);
+       printk(KERN_EMERG "Kernel panic - not syncing: %s\n",buf);
+ #ifdef CONFIG_DEBUG_BUGVERBOSE
+-      dump_stack();
++      /*
++       * Avoid nested stack-dumping if a panic occurs during oops processing
++       */
++      if (!oops_in_progress)
++              dump_stack();
+ #endif
+       /*
+@@ -382,7 +386,7 @@ static void warn_slowpath_common(const char *file, int line, void *caller,
        const char *board;
  
        printk(KERN_WARNING "------------[ cut here ]------------\n");
@@ -67284,7 +67918,7 @@ index d7bb697..9ef9f19 100644
        board = dmi_get_system_info(DMI_PRODUCT_NAME);
        if (board)
                printk(KERN_WARNING "Hardware name: %s\n", board);
-@@ -426,7 +426,8 @@ EXPORT_SYMBOL(warn_slowpath_null);
+@@ -437,7 +441,8 @@ EXPORT_SYMBOL(warn_slowpath_null);
   */
  void __stack_chk_fail(void)
  {
@@ -67295,7 +67929,7 @@ index d7bb697..9ef9f19 100644
  }
  EXPORT_SYMBOL(__stack_chk_fail);
 diff --git a/kernel/pid.c b/kernel/pid.c
-index e432057..a2b2ac5 100644
+index fa5f722..0c93e57 100644
 --- a/kernel/pid.c
 +++ b/kernel/pid.c
 @@ -33,6 +33,7 @@
@@ -67315,14 +67949,17 @@ index e432057..a2b2ac5 100644
  
  int pid_max_min = RESERVED_PIDS + 1;
  int pid_max_max = PID_MAX_LIMIT;
-@@ -418,8 +419,15 @@ EXPORT_SYMBOL(pid_task);
+@@ -418,10 +419,18 @@ EXPORT_SYMBOL(pid_task);
   */
  struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *ns)
  {
 +      struct task_struct *task;
 +
-       rcu_lockdep_assert(rcu_read_lock_held());
+       rcu_lockdep_assert(rcu_read_lock_held(),
+                          "find_task_by_pid_ns() needs rcu_read_lock()"
+                          " protection");
 -      return pid_task(find_pid_ns(nr, ns), PIDTYPE_PID);
++
 +      task = pid_task(find_pid_ns(nr, ns), PIDTYPE_PID);
 +
 +      if (gr_pid_is_chrooted(task))
@@ -67332,13 +67969,15 @@ index e432057..a2b2ac5 100644
  }
  
  struct task_struct *find_task_by_vpid(pid_t vnr)
-@@ -427,6 +435,12 @@ struct task_struct *find_task_by_vpid(pid_t vnr)
+@@ -429,6 +438,14 @@ struct task_struct *find_task_by_vpid(pid_t vnr)
        return find_task_by_pid_ns(vnr, current->nsproxy->pid_ns);
  }
  
 +struct task_struct *find_task_by_vpid_unrestricted(pid_t vnr)
 +{
-+      rcu_lockdep_assert(rcu_read_lock_held());       
++      rcu_lockdep_assert(rcu_read_lock_held(),
++                         "find_task_by_pid_ns() needs rcu_read_lock()"
++                         " protection");
 +      return pid_task(find_pid_ns(vnr, current->nsproxy->pid_ns), PIDTYPE_PID);
 +}
 +
@@ -67346,7 +67985,7 @@ index e432057..a2b2ac5 100644
  {
        struct pid *pid;
 diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c
-index 640ded8..3dafb85 100644
+index e7cb76d..75eceb3 100644
 --- a/kernel/posix-cpu-timers.c
 +++ b/kernel/posix-cpu-timers.c
 @@ -6,6 +6,7 @@
@@ -67375,7 +68014,7 @@ index 640ded8..3dafb85 100644
                .clock_get      = thread_cpu_clock_get,
                .timer_create   = thread_cpu_timer_create,
 diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
-index 4556182..9335419 100644
+index 69185ae..cc2847a 100644
 --- a/kernel/posix-timers.c
 +++ b/kernel/posix-timers.c
 @@ -43,6 +43,7 @@
@@ -67437,16 +68076,7 @@ index 4556182..9335419 100644
                .clock_getres   = hrtimer_get_res,
                .clock_get      = posix_get_boottime,
                .nsleep         = common_nsleep,
-@@ -272,6 +273,8 @@ static __init int init_posix_timers(void)
-               .timer_del      = common_timer_del,
-       };
-+      pax_track_stack();
-+
-       posix_timers_register_clock(CLOCK_REALTIME, &clock_realtime);
-       posix_timers_register_clock(CLOCK_MONOTONIC, &clock_monotonic);
-       posix_timers_register_clock(CLOCK_MONOTONIC_RAW, &clock_monotonic_raw);
-@@ -473,7 +476,7 @@ void posix_timers_register_clock(const clockid_t clock_id,
+@@ -473,7 +474,7 @@ void posix_timers_register_clock(const clockid_t clock_id,
                return;
        }
  
@@ -67455,7 +68085,7 @@ index 4556182..9335419 100644
  }
  EXPORT_SYMBOL_GPL(posix_timers_register_clock);
  
-@@ -519,9 +522,9 @@ static struct k_clock *clockid_to_kclock(const clockid_t id)
+@@ -519,9 +520,9 @@ static struct k_clock *clockid_to_kclock(const clockid_t id)
                return (id & CLOCKFD_MASK) == CLOCKFD ?
                        &clock_posix_dynamic : &clock_posix_cpu;
  
@@ -67467,7 +68097,7 @@ index 4556182..9335419 100644
  }
  
  static int common_timer_create(struct k_itimer *new_timer)
-@@ -959,6 +962,13 @@ SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
+@@ -959,6 +960,13 @@ SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
        if (copy_from_user(&new_tp, tp, sizeof (*tp)))
                return -EFAULT;
  
@@ -67495,7 +68125,7 @@ index d523593..68197a4 100644
        register_sysrq_key('o', &sysrq_poweroff_op);
        return 0;
 diff --git a/kernel/power/process.c b/kernel/power/process.c
-index 0cf3a27..5481be4 100644
+index 3d4b954..11af930 100644
 --- a/kernel/power/process.c
 +++ b/kernel/power/process.c
 @@ -41,6 +41,7 @@ static int try_to_freeze_tasks(bool sig_only)
@@ -67541,7 +68171,7 @@ index 0cf3a27..5481be4 100644
  
                if (pm_wakeup_pending()) {
 diff --git a/kernel/printk.c b/kernel/printk.c
-index 28a40d8..2411bec 100644
+index 7982a0a..2095fdc 100644
 --- a/kernel/printk.c
 +++ b/kernel/printk.c
 @@ -313,6 +313,11 @@ static int check_syslog_permissions(int type, bool from_file)
@@ -67557,7 +68187,7 @@ index 28a40d8..2411bec 100644
                if (capable(CAP_SYSLOG))
                        return 0;
 diff --git a/kernel/profile.c b/kernel/profile.c
-index 961b389..c451353 100644
+index 76b8e77..a2930e8 100644
 --- a/kernel/profile.c
 +++ b/kernel/profile.c
 @@ -39,7 +39,7 @@ struct profile_hit {
@@ -67618,10 +68248,10 @@ index 961b389..c451353 100644
  }
  
 diff --git a/kernel/ptrace.c b/kernel/ptrace.c
-index a70d2a5..cbd4b4f 100644
+index 78ab24a..332c915 100644
 --- a/kernel/ptrace.c
 +++ b/kernel/ptrace.c
-@@ -161,7 +161,8 @@ int ptrace_check_attach(struct task_struct *child, bool ignore_state)
+@@ -172,7 +172,8 @@ int ptrace_check_attach(struct task_struct *child, bool ignore_state)
        return ret;
  }
  
@@ -67631,7 +68261,7 @@ index a70d2a5..cbd4b4f 100644
  {
        const struct cred *cred = current_cred(), *tcred;
  
-@@ -187,7 +188,8 @@ int __ptrace_may_access(struct task_struct *task, unsigned int mode)
+@@ -198,7 +199,8 @@ int __ptrace_may_access(struct task_struct *task, unsigned int mode)
             cred->gid == tcred->sgid &&
             cred->gid == tcred->gid))
                goto ok;
@@ -67641,7 +68271,7 @@ index a70d2a5..cbd4b4f 100644
                goto ok;
        rcu_read_unlock();
        return -EPERM;
-@@ -196,7 +198,9 @@ ok:
+@@ -207,7 +209,9 @@ ok:
        smp_rmb();
        if (task->mm)
                dumpable = get_dumpable(task->mm);
@@ -67652,7 +68282,7 @@ index a70d2a5..cbd4b4f 100644
                return -EPERM;
  
        return security_ptrace_access_check(task, mode);
-@@ -206,7 +210,16 @@ bool ptrace_may_access(struct task_struct *task, unsigned int mode)
+@@ -217,7 +221,21 @@ bool ptrace_may_access(struct task_struct *task, unsigned int mode)
  {
        int err;
        task_lock(task);
@@ -67662,6 +68292,11 @@ index a70d2a5..cbd4b4f 100644
 +      return !err;
 +}
 +
++bool ptrace_may_access_nolock(struct task_struct *task, unsigned int mode)
++{
++      return __ptrace_may_access(task, mode, 0);
++}
++
 +bool ptrace_may_access_log(struct task_struct *task, unsigned int mode)
 +{
 +      int err;
@@ -67670,7 +68305,7 @@ index a70d2a5..cbd4b4f 100644
        task_unlock(task);
        return !err;
  }
-@@ -251,7 +264,7 @@ static int ptrace_attach(struct task_struct *task, long request,
+@@ -262,7 +280,7 @@ static int ptrace_attach(struct task_struct *task, long request,
                goto out;
  
        task_lock(task);
@@ -67679,7 +68314,7 @@ index a70d2a5..cbd4b4f 100644
        task_unlock(task);
        if (retval)
                goto unlock_creds;
-@@ -266,7 +279,7 @@ static int ptrace_attach(struct task_struct *task, long request,
+@@ -277,7 +295,7 @@ static int ptrace_attach(struct task_struct *task, long request,
        task->ptrace = PT_PTRACED;
        if (seize)
                task->ptrace |= PT_SEIZED;
@@ -67688,16 +68323,7 @@ index a70d2a5..cbd4b4f 100644
                task->ptrace |= PT_PTRACE_CAP;
  
        __ptrace_link(task, current);
-@@ -461,6 +474,8 @@ int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst
- {
-       int copied = 0;
-+      pax_track_stack();
-+
-       while (len > 0) {
-               char buf[128];
-               int this_len, retval;
-@@ -472,7 +487,7 @@ int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst
+@@ -483,7 +501,7 @@ int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst
                                break;
                        return -EIO;
                }
@@ -67706,16 +68332,7 @@ index a70d2a5..cbd4b4f 100644
                        return -EFAULT;
                copied += retval;
                src += retval;
-@@ -486,6 +501,8 @@ int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long ds
- {
-       int copied = 0;
-+      pax_track_stack();
-+
-       while (len > 0) {
-               char buf[128];
-               int this_len, retval;
-@@ -669,10 +686,12 @@ int ptrace_request(struct task_struct *child, long request,
+@@ -680,7 +698,7 @@ int ptrace_request(struct task_struct *child, long request,
        bool seized = child->ptrace & PT_SEIZED;
        int ret = -EIO;
        siginfo_t siginfo, *si;
@@ -67724,12 +68341,7 @@ index a70d2a5..cbd4b4f 100644
        unsigned long __user *datalp = datavp;
        unsigned long flags;
  
-+      pax_track_stack();
-+
-       switch (request) {
-       case PTRACE_PEEKTEXT:
-       case PTRACE_PEEKDATA:
-@@ -871,14 +890,21 @@ SYSCALL_DEFINE4(ptrace, long, request, long, pid, unsigned long, addr,
+@@ -882,14 +900,21 @@ SYSCALL_DEFINE4(ptrace, long, request, long, pid, unsigned long, addr,
                goto out;
        }
  
@@ -67752,7 +68364,7 @@ index a70d2a5..cbd4b4f 100644
                goto out_put_task_struct;
        }
  
-@@ -904,7 +930,7 @@ int generic_ptrace_peekdata(struct task_struct *tsk, unsigned long addr,
+@@ -915,7 +940,7 @@ int generic_ptrace_peekdata(struct task_struct *tsk, unsigned long addr,
        copied = access_process_vm(tsk, addr, &tmp, sizeof(tmp), 0);
        if (copied != sizeof(tmp))
                return -EIO;
@@ -67761,16 +68373,7 @@ index a70d2a5..cbd4b4f 100644
  }
  
  int generic_ptrace_pokedata(struct task_struct *tsk, unsigned long addr,
-@@ -927,6 +953,8 @@ int compat_ptrace_request(struct task_struct *child, compat_long_t request,
-       siginfo_t siginfo;
-       int ret;
-+      pax_track_stack();
-+
-       switch (request) {
-       case PTRACE_PEEKTEXT:
-       case PTRACE_PEEKDATA:
-@@ -1014,14 +1042,21 @@ asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid,
+@@ -1025,14 +1050,21 @@ asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid,
                goto out;
        }
  
@@ -67793,8 +68396,30 @@ index a70d2a5..cbd4b4f 100644
                goto out_put_task_struct;
        }
  
+diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c
+index 636af6d..8af70ab 100644
+--- a/kernel/rcutiny.c
++++ b/kernel/rcutiny.c
+@@ -46,7 +46,7 @@
+ struct rcu_ctrlblk;
+ static void invoke_rcu_callbacks(void);
+ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp);
+-static void rcu_process_callbacks(struct softirq_action *unused);
++static void rcu_process_callbacks(void);
+ static void __call_rcu(struct rcu_head *head,
+                      void (*func)(struct rcu_head *rcu),
+                      struct rcu_ctrlblk *rcp);
+@@ -186,7 +186,7 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp)
+       RCU_TRACE(trace_rcu_batch_end(rcp->name, cb_count));
+ }
+-static void rcu_process_callbacks(struct softirq_action *unused)
++static void rcu_process_callbacks(void)
+ {
+       __rcu_process_callbacks(&rcu_sched_ctrlblk);
+       __rcu_process_callbacks(&rcu_bh_ctrlblk);
 diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
-index 98f51b1..30b950c 100644
+index 764825c..3aa6ac4 100644
 --- a/kernel/rcutorture.c
 +++ b/kernel/rcutorture.c
 @@ -138,12 +138,12 @@ static DEFINE_PER_CPU(long [RCU_TORTURE_PIPE_LEN + 1], rcu_torture_count) =
@@ -67857,7 +68482,7 @@ index 98f51b1..30b950c 100644
                if (++rp->rtort_pipe_count >= RCU_TORTURE_PIPE_LEN) {
                        rp->rtort_mbtest = 0;
                        list_del(&rp->rtort_free);
-@@ -882,7 +882,7 @@ rcu_torture_writer(void *arg)
+@@ -872,7 +872,7 @@ rcu_torture_writer(void *arg)
                        i = old_rp->rtort_pipe_count;
                        if (i > RCU_TORTURE_PIPE_LEN)
                                i = RCU_TORTURE_PIPE_LEN;
@@ -67866,7 +68491,7 @@ index 98f51b1..30b950c 100644
                        old_rp->rtort_pipe_count++;
                        cur_ops->deferred_free(old_rp);
                }
-@@ -950,7 +950,7 @@ static void rcu_torture_timer(unsigned long unused)
+@@ -940,7 +940,7 @@ static void rcu_torture_timer(unsigned long unused)
                return;
        }
        if (p->rtort_mbtest == 0)
@@ -67875,7 +68500,7 @@ index 98f51b1..30b950c 100644
        spin_lock(&rand_lock);
        cur_ops->read_delay(&rand);
        n_rcu_torture_timers++;
-@@ -1011,7 +1011,7 @@ rcu_torture_reader(void *arg)
+@@ -1001,7 +1001,7 @@ rcu_torture_reader(void *arg)
                        continue;
                }
                if (p->rtort_mbtest == 0)
@@ -67884,7 +68509,7 @@ index 98f51b1..30b950c 100644
                cur_ops->read_delay(&rand);
                preempt_disable();
                pipe_count = p->rtort_pipe_count;
-@@ -1070,16 +1070,16 @@ rcu_torture_printk(char *page)
+@@ -1060,16 +1060,16 @@ rcu_torture_printk(char *page)
                       rcu_torture_current,
                       rcu_torture_current_version,
                       list_empty(&rcu_torture_freelist),
@@ -67906,7 +68531,7 @@ index 98f51b1..30b950c 100644
            n_rcu_torture_boost_ktrerror != 0 ||
            n_rcu_torture_boost_rterror != 0 ||
            n_rcu_torture_boost_failure != 0)
-@@ -1087,7 +1087,7 @@ rcu_torture_printk(char *page)
+@@ -1077,7 +1077,7 @@ rcu_torture_printk(char *page)
        cnt += sprintf(&page[cnt], "\n%s%s ", torture_type, TORTURE_FLAG);
        if (i > 1) {
                cnt += sprintf(&page[cnt], "!!! ");
@@ -67915,7 +68540,7 @@ index 98f51b1..30b950c 100644
                WARN_ON_ONCE(1);
        }
        cnt += sprintf(&page[cnt], "Reader Pipe: ");
-@@ -1101,7 +1101,7 @@ rcu_torture_printk(char *page)
+@@ -1091,7 +1091,7 @@ rcu_torture_printk(char *page)
        cnt += sprintf(&page[cnt], "Free-Block Circulation: ");
        for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) {
                cnt += sprintf(&page[cnt], " %d",
@@ -67924,7 +68549,7 @@ index 98f51b1..30b950c 100644
        }
        cnt += sprintf(&page[cnt], "\n");
        if (cur_ops->stats)
-@@ -1410,7 +1410,7 @@ rcu_torture_cleanup(void)
+@@ -1401,7 +1401,7 @@ rcu_torture_cleanup(void)
  
        if (cur_ops->cleanup)
                cur_ops->cleanup();
@@ -67933,7 +68558,7 @@ index 98f51b1..30b950c 100644
                rcu_torture_print_module_parms(cur_ops, "End of test: FAILURE");
        else
                rcu_torture_print_module_parms(cur_ops, "End of test: SUCCESS");
-@@ -1474,17 +1474,17 @@ rcu_torture_init(void)
+@@ -1465,17 +1465,17 @@ rcu_torture_init(void)
  
        rcu_torture_current = NULL;
        rcu_torture_current_version = 0;
@@ -67958,11 +68583,11 @@ index 98f51b1..30b950c 100644
                for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) {
                        per_cpu(rcu_torture_count, cpu)[i] = 0;
 diff --git a/kernel/rcutree.c b/kernel/rcutree.c
-index ba06207..85d8ba8 100644
+index 6b76d81..7afc1b3 100644
 --- a/kernel/rcutree.c
 +++ b/kernel/rcutree.c
-@@ -356,9 +356,9 @@ void rcu_enter_nohz(void)
-       }
+@@ -367,9 +367,9 @@ void rcu_enter_nohz(void)
+       trace_rcu_dyntick("Start");
        /* CPUs seeing atomic_inc() must see prior RCU read-side crit sects */
        smp_mb__before_atomic_inc();  /* See above. */
 -      atomic_inc(&rdtp->dynticks);
@@ -67971,9 +68596,9 @@ index ba06207..85d8ba8 100644
 -      WARN_ON_ONCE(atomic_read(&rdtp->dynticks) & 0x1);
 +      WARN_ON_ONCE(atomic_read_unchecked(&rdtp->dynticks) & 0x1);
        local_irq_restore(flags);
+ }
  
-       /* If the interrupt queued a callback, get out of dyntick mode. */
-@@ -387,10 +387,10 @@ void rcu_exit_nohz(void)
+@@ -391,10 +391,10 @@ void rcu_exit_nohz(void)
                return;
        }
        smp_mb__before_atomic_inc();  /* Force ordering w/previous sojourn. */
@@ -67983,10 +68608,10 @@ index ba06207..85d8ba8 100644
        smp_mb__after_atomic_inc();  /* See above. */
 -      WARN_ON_ONCE(!(atomic_read(&rdtp->dynticks) & 0x1));
 +      WARN_ON_ONCE(!(atomic_read_unchecked(&rdtp->dynticks) & 0x1));
+       trace_rcu_dyntick("End");
        local_irq_restore(flags);
  }
-@@ -406,14 +406,14 @@ void rcu_nmi_enter(void)
+@@ -411,14 +411,14 @@ void rcu_nmi_enter(void)
        struct rcu_dynticks *rdtp = &__get_cpu_var(rcu_dynticks);
  
        if (rdtp->dynticks_nmi_nesting == 0 &&
@@ -68004,7 +68629,7 @@ index ba06207..85d8ba8 100644
  }
  
  /**
-@@ -432,9 +432,9 @@ void rcu_nmi_exit(void)
+@@ -437,9 +437,9 @@ void rcu_nmi_exit(void)
                return;
        /* CPUs seeing atomic_inc() must see prior RCU read-side crit sects */
        smp_mb__before_atomic_inc();  /* See above. */
@@ -68016,7 +68641,7 @@ index ba06207..85d8ba8 100644
  }
  
  /**
-@@ -469,7 +469,7 @@ void rcu_irq_exit(void)
+@@ -474,7 +474,7 @@ void rcu_irq_exit(void)
   */
  static int dyntick_save_progress_counter(struct rcu_data *rdp)
  {
@@ -68025,26 +68650,26 @@ index ba06207..85d8ba8 100644
        return 0;
  }
  
-@@ -484,7 +484,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp)
-       unsigned long curr;
-       unsigned long snap;
+@@ -489,7 +489,7 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp)
+       unsigned int curr;
+       unsigned int snap;
  
--      curr = (unsigned long)atomic_add_return(0, &rdp->dynticks->dynticks);
-+      curr = (unsigned long)atomic_add_return_unchecked(0, &rdp->dynticks->dynticks);
-       snap = (unsigned long)rdp->dynticks_snap;
+-      curr = (unsigned int)atomic_add_return(0, &rdp->dynticks->dynticks);
++      curr = (unsigned int)atomic_add_return_unchecked(0, &rdp->dynticks->dynticks);
+       snap = (unsigned int)rdp->dynticks_snap;
  
        /*
-@@ -1470,7 +1470,7 @@ __rcu_process_callbacks(struct rcu_state *rsp, struct rcu_data *rdp)
+@@ -1552,7 +1552,7 @@ __rcu_process_callbacks(struct rcu_state *rsp, struct rcu_data *rdp)
  /*
-  * Do softirq processing for the current CPU.
+  * Do RCU core processing for the current CPU.
   */
 -static void rcu_process_callbacks(struct softirq_action *unused)
 +static void rcu_process_callbacks(void)
  {
+       trace_rcu_utilization("Start RCU core");
        __rcu_process_callbacks(&rcu_sched_state,
-                               &__get_cpu_var(rcu_sched_data));
 diff --git a/kernel/rcutree.h b/kernel/rcutree.h
-index 01b2ccd..4f5d80a 100644
+index 849ce9e..74bc9de 100644
 --- a/kernel/rcutree.h
 +++ b/kernel/rcutree.h
 @@ -86,7 +86,7 @@
@@ -68057,10 +68682,10 @@ index 01b2ccd..4f5d80a 100644
  
  /* RCU's kthread states for tracing. */
 diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
-index 8aafbb8..2fca109 100644
+index 4b9b9f8..2326053 100644
 --- a/kernel/rcutree_plugin.h
 +++ b/kernel/rcutree_plugin.h
-@@ -822,7 +822,7 @@ void synchronize_rcu_expedited(void)
+@@ -842,7 +842,7 @@ void synchronize_rcu_expedited(void)
  
        /* Clean up and exit. */
        smp_mb(); /* ensure expedited GP seen before counter increment. */
@@ -68069,7 +68694,7 @@ index 8aafbb8..2fca109 100644
  unlock_mb_ret:
        mutex_unlock(&sync_rcu_preempt_exp_mutex);
  mb_ret:
-@@ -1774,8 +1774,8 @@ EXPORT_SYMBOL_GPL(synchronize_sched_expedited);
+@@ -1815,8 +1815,8 @@ EXPORT_SYMBOL_GPL(synchronize_sched_expedited);
  
  #else /* #ifndef CONFIG_SMP */
  
@@ -68080,7 +68705,7 @@ index 8aafbb8..2fca109 100644
  
  static int synchronize_sched_expedited_cpu_stop(void *data)
  {
-@@ -1830,7 +1830,7 @@ void synchronize_sched_expedited(void)
+@@ -1871,7 +1871,7 @@ void synchronize_sched_expedited(void)
        int firstsnap, s, snap, trycount = 0;
  
        /* Note that atomic_inc_return() implies full memory barrier. */
@@ -68089,7 +68714,7 @@ index 8aafbb8..2fca109 100644
        get_online_cpus();
  
        /*
-@@ -1851,7 +1851,7 @@ void synchronize_sched_expedited(void)
+@@ -1892,7 +1892,7 @@ void synchronize_sched_expedited(void)
                }
  
                /* Check to see if someone else did our work for us. */
@@ -68098,7 +68723,7 @@ index 8aafbb8..2fca109 100644
                if (UINT_CMP_GE((unsigned)s, (unsigned)firstsnap)) {
                        smp_mb(); /* ensure test happens before caller kfree */
                        return;
-@@ -1866,7 +1866,7 @@ void synchronize_sched_expedited(void)
+@@ -1907,7 +1907,7 @@ void synchronize_sched_expedited(void)
                 * grace period works for us.
                 */
                get_online_cpus();
@@ -68107,7 +68732,7 @@ index 8aafbb8..2fca109 100644
                smp_mb(); /* ensure read is before try_stop_cpus(). */
        }
  
-@@ -1877,12 +1877,12 @@ void synchronize_sched_expedited(void)
+@@ -1918,12 +1918,12 @@ void synchronize_sched_expedited(void)
         * than we did beat us to the punch.
         */
        do {
@@ -68122,7 +68747,7 @@ index 8aafbb8..2fca109 100644
  
        put_online_cpus();
  }
-@@ -1953,7 +1953,7 @@ int rcu_needs_cpu(int cpu)
+@@ -1985,7 +1985,7 @@ int rcu_needs_cpu(int cpu)
        for_each_online_cpu(thatcpu) {
                if (thatcpu == cpu)
                        continue;
@@ -68132,10 +68757,10 @@ index 8aafbb8..2fca109 100644
                smp_mb(); /* Order sampling of snap with end of grace period. */
                if ((snap & 0x1) != 0) {
 diff --git a/kernel/rcutree_trace.c b/kernel/rcutree_trace.c
-index 3b0c098..43ba2d8 100644
+index 9feffa4..54058df 100644
 --- a/kernel/rcutree_trace.c
 +++ b/kernel/rcutree_trace.c
-@@ -74,7 +74,7 @@ static void print_one_rcu_data(struct seq_file *m, struct rcu_data *rdp)
+@@ -69,7 +69,7 @@ static void print_one_rcu_data(struct seq_file *m, struct rcu_data *rdp)
                   rdp->qs_pending);
  #ifdef CONFIG_NO_HZ
        seq_printf(m, " dt=%d/%d/%d df=%lu",
@@ -68144,7 +68769,7 @@ index 3b0c098..43ba2d8 100644
                   rdp->dynticks->dynticks_nesting,
                   rdp->dynticks->dynticks_nmi_nesting,
                   rdp->dynticks_fqs);
-@@ -148,7 +148,7 @@ static void print_one_rcu_data_csv(struct seq_file *m, struct rcu_data *rdp)
+@@ -143,7 +143,7 @@ static void print_one_rcu_data_csv(struct seq_file *m, struct rcu_data *rdp)
                   rdp->qs_pending);
  #ifdef CONFIG_NO_HZ
        seq_printf(m, ",%d,%d,%d,%lu",
@@ -68153,21 +68778,8 @@ index 3b0c098..43ba2d8 100644
                   rdp->dynticks->dynticks_nesting,
                   rdp->dynticks->dynticks_nmi_nesting,
                   rdp->dynticks_fqs);
-diff --git a/kernel/relay.c b/kernel/relay.c
-index 859ea5a..096e2fe 100644
---- a/kernel/relay.c
-+++ b/kernel/relay.c
-@@ -1236,6 +1236,8 @@ static ssize_t subbuf_splice_actor(struct file *in,
-       };
-       ssize_t ret;
-+      pax_track_stack();
-+
-       if (rbuf->subbufs_produced == rbuf->subbufs_consumed)
-               return 0;
-       if (splice_grow_spd(pipe, &spd))
 diff --git a/kernel/resource.c b/kernel/resource.c
-index c8dc249..f1e2359 100644
+index 7640b3a..5879283 100644
 --- a/kernel/resource.c
 +++ b/kernel/resource.c
 @@ -141,8 +141,18 @@ static const struct file_operations proc_iomem_operations = {
@@ -68190,7 +68802,7 @@ index c8dc249..f1e2359 100644
  }
  __initcall(ioresources_init);
 diff --git a/kernel/rtmutex-tester.c b/kernel/rtmutex-tester.c
-index 5c9ccd3..a35e22b 100644
+index 3d9f31c..7fefc9e 100644
 --- a/kernel/rtmutex-tester.c
 +++ b/kernel/rtmutex-tester.c
 @@ -20,7 +20,7 @@
@@ -68284,19 +68896,39 @@ index 5c9ccd3..a35e22b 100644
  
        default:
 diff --git a/kernel/sched.c b/kernel/sched.c
-index b50b0f0..1c6c591 100644
+index d6b149c..896cbb8 100644
 --- a/kernel/sched.c
 +++ b/kernel/sched.c
-@@ -4264,6 +4264,8 @@ static void __sched __schedule(void)
-       struct rq *rq;
-       int cpu;
+@@ -4389,6 +4389,19 @@ pick_next_task(struct rq *rq)
+       BUG(); /* the idle class will always have a runnable task */
+ }
++#ifdef CONFIG_GRKERNSEC_SETXID
++extern void gr_delayed_cred_worker(void);
++static inline void gr_cred_schedule(void)
++{
++      if (unlikely(current->delayed_cred))
++              gr_delayed_cred_worker();
++}
++#else
++static inline void gr_cred_schedule(void)
++{
++}
++#endif
++
+ /*
+  * __schedule() is the main scheduler function.
+  */
+@@ -4408,6 +4421,8 @@ need_resched:
+       schedule_debug(prev);
  
-+      pax_track_stack();
++      gr_cred_schedule();
 +
- need_resched:
-       preempt_disable();
-       cpu = smp_processor_id();
-@@ -4950,6 +4952,8 @@ int can_nice(const struct task_struct *p, const int nice)
+       if (sched_feat(HRTICK))
+               hrtick_clear(rq);
+@@ -5098,6 +5113,8 @@ int can_nice(const struct task_struct *p, const int nice)
        /* convert nice value [19,-20] to rlimit style value [1,40] */
        int nice_rlim = 20 - nice;
  
@@ -68305,7 +68937,7 @@ index b50b0f0..1c6c591 100644
        return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) ||
                capable(CAP_SYS_NICE));
  }
-@@ -4983,7 +4987,8 @@ SYSCALL_DEFINE1(nice, int, increment)
+@@ -5131,7 +5148,8 @@ SYSCALL_DEFINE1(nice, int, increment)
        if (nice > 19)
                nice = 19;
  
@@ -68315,7 +68947,7 @@ index b50b0f0..1c6c591 100644
                return -EPERM;
  
        retval = security_task_setnice(current, nice);
-@@ -5127,6 +5132,7 @@ recheck:
+@@ -5288,6 +5306,7 @@ recheck:
                        unsigned long rlim_rtprio =
                                        task_rlimit(p, RLIMIT_RTPRIO);
  
@@ -68346,10 +68978,10 @@ index 429242f..d7cca82 100644
  #ifdef CONFIG_RT_GROUP_SCHED
        /*
 diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
-index bc8ee99..b6f6492 100644
+index 8a39fa3..34f3dbc 100644
 --- a/kernel/sched_fair.c
 +++ b/kernel/sched_fair.c
-@@ -4062,7 +4062,7 @@ static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { }
+@@ -4801,7 +4801,7 @@ static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { }
   * run_rebalance_domains is triggered when needed from the scheduler tick.
   * Also triggered for nohz idle balancing (with nohz_balancing_kick set).
   */
@@ -68359,7 +68991,7 @@ index bc8ee99..b6f6492 100644
        int this_cpu = smp_processor_id();
        struct rq *this_rq = cpu_rq(this_cpu);
 diff --git a/kernel/signal.c b/kernel/signal.c
-index 291c970..304bd03 100644
+index 2065515..aed2987 100644
 --- a/kernel/signal.c
 +++ b/kernel/signal.c
 @@ -45,12 +45,12 @@ static struct kmem_cache *sigqueue_cachep;
@@ -68468,16 +69100,7 @@ index 291c970..304bd03 100644
  
        return ret;
  }
-@@ -1909,6 +1932,8 @@ static void ptrace_do_notify(int signr, int exit_code, int why)
- {
-       siginfo_t info;
-+      pax_track_stack();
-+
-       memset(&info, 0, sizeof info);
-       info.si_signo = signr;
-       info.si_code = exit_code;
-@@ -2748,7 +2773,15 @@ do_send_specific(pid_t tgid, pid_t pid, int sig, struct siginfo *info)
+@@ -2754,7 +2777,15 @@ do_send_specific(pid_t tgid, pid_t pid, int sig, struct siginfo *info)
        int error = -ESRCH;
  
        rcu_read_lock();
@@ -68495,7 +69118,7 @@ index 291c970..304bd03 100644
                error = check_kill_permission(sig, info, p);
                /*
 diff --git a/kernel/smp.c b/kernel/smp.c
-index fb67dfa..f819e2e 100644
+index db197d6..17aef0b 100644
 --- a/kernel/smp.c
 +++ b/kernel/smp.c
 @@ -580,22 +580,22 @@ int smp_call_function(smp_call_func_t func, void *info, int wait)
@@ -68526,7 +69149,7 @@ index fb67dfa..f819e2e 100644
        raw_spin_unlock_irq(&call_function.lock);
  }
 diff --git a/kernel/softirq.c b/kernel/softirq.c
-index fca82c3..1db9690 100644
+index 2c71d91..1021f81 100644
 --- a/kernel/softirq.c
 +++ b/kernel/softirq.c
 @@ -56,7 +56,7 @@ static struct softirq_action softirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp
@@ -68580,10 +69203,10 @@ index fca82c3..1db9690 100644
        struct tasklet_struct *list;
  
 diff --git a/kernel/sys.c b/kernel/sys.c
-index 1dbbe69..e96e1dd 100644
+index 481611f..0754d86 100644
 --- a/kernel/sys.c
 +++ b/kernel/sys.c
-@@ -157,6 +157,12 @@ static int set_one_prio(struct task_struct *p, int niceval, int error)
+@@ -158,6 +158,12 @@ static int set_one_prio(struct task_struct *p, int niceval, int error)
                error = -EACCES;
                goto out;
        }
@@ -68596,7 +69219,7 @@ index 1dbbe69..e96e1dd 100644
        no_nice = security_task_setnice(p, niceval);
        if (no_nice) {
                error = no_nice;
-@@ -571,6 +577,9 @@ SYSCALL_DEFINE2(setregid, gid_t, rgid, gid_t, egid)
+@@ -572,6 +578,9 @@ SYSCALL_DEFINE2(setregid, gid_t, rgid, gid_t, egid)
                        goto error;
        }
  
@@ -68606,7 +69229,7 @@ index 1dbbe69..e96e1dd 100644
        if (rgid != (gid_t) -1 ||
            (egid != (gid_t) -1 && egid != old->gid))
                new->sgid = new->egid;
-@@ -600,6 +609,10 @@ SYSCALL_DEFINE1(setgid, gid_t, gid)
+@@ -601,6 +610,10 @@ SYSCALL_DEFINE1(setgid, gid_t, gid)
        old = current_cred();
  
        retval = -EPERM;
@@ -68617,7 +69240,16 @@ index 1dbbe69..e96e1dd 100644
        if (nsown_capable(CAP_SETGID))
                new->gid = new->egid = new->sgid = new->fsgid = gid;
        else if (gid == old->gid || gid == old->sgid)
-@@ -687,6 +700,9 @@ SYSCALL_DEFINE2(setreuid, uid_t, ruid, uid_t, euid)
+@@ -618,7 +631,7 @@ error:
+ /*
+  * change the user struct in a credentials set to match the new UID
+  */
+-static int set_user(struct cred *new)
++int set_user(struct cred *new)
+ {
+       struct user_struct *new_user;
+@@ -688,6 +701,9 @@ SYSCALL_DEFINE2(setreuid, uid_t, ruid, uid_t, euid)
                        goto error;
        }
  
@@ -68627,7 +69259,7 @@ index 1dbbe69..e96e1dd 100644
        if (new->uid != old->uid) {
                retval = set_user(new);
                if (retval < 0)
-@@ -731,6 +747,12 @@ SYSCALL_DEFINE1(setuid, uid_t, uid)
+@@ -732,6 +748,12 @@ SYSCALL_DEFINE1(setuid, uid_t, uid)
        old = current_cred();
  
        retval = -EPERM;
@@ -68640,7 +69272,7 @@ index 1dbbe69..e96e1dd 100644
        if (nsown_capable(CAP_SETUID)) {
                new->suid = new->uid = uid;
                if (uid != old->uid) {
-@@ -785,6 +807,9 @@ SYSCALL_DEFINE3(setresuid, uid_t, ruid, uid_t, euid, uid_t, suid)
+@@ -786,6 +808,9 @@ SYSCALL_DEFINE3(setresuid, uid_t, ruid, uid_t, euid, uid_t, suid)
                        goto error;
        }
  
@@ -68650,7 +69282,7 @@ index 1dbbe69..e96e1dd 100644
        if (ruid != (uid_t) -1) {
                new->uid = ruid;
                if (ruid != old->uid) {
-@@ -849,6 +874,9 @@ SYSCALL_DEFINE3(setresgid, gid_t, rgid, gid_t, egid, gid_t, sgid)
+@@ -850,6 +875,9 @@ SYSCALL_DEFINE3(setresgid, gid_t, rgid, gid_t, egid, gid_t, sgid)
                        goto error;
        }
  
@@ -68660,7 +69292,7 @@ index 1dbbe69..e96e1dd 100644
        if (rgid != (gid_t) -1)
                new->gid = rgid;
        if (egid != (gid_t) -1)
-@@ -895,6 +923,9 @@ SYSCALL_DEFINE1(setfsuid, uid_t, uid)
+@@ -896,6 +924,9 @@ SYSCALL_DEFINE1(setfsuid, uid_t, uid)
        old = current_cred();
        old_fsuid = old->fsuid;
  
@@ -68670,7 +69302,7 @@ index 1dbbe69..e96e1dd 100644
        if (uid == old->uid  || uid == old->euid  ||
            uid == old->suid || uid == old->fsuid ||
            nsown_capable(CAP_SETUID)) {
-@@ -905,6 +936,7 @@ SYSCALL_DEFINE1(setfsuid, uid_t, uid)
+@@ -906,6 +937,7 @@ SYSCALL_DEFINE1(setfsuid, uid_t, uid)
                }
        }
  
@@ -68678,7 +69310,7 @@ index 1dbbe69..e96e1dd 100644
        abort_creds(new);
        return old_fsuid;
  
-@@ -931,12 +963,16 @@ SYSCALL_DEFINE1(setfsgid, gid_t, gid)
+@@ -932,12 +964,16 @@ SYSCALL_DEFINE1(setfsgid, gid_t, gid)
        if (gid == old->gid  || gid == old->egid  ||
            gid == old->sgid || gid == old->fsgid ||
            nsown_capable(CAP_SETGID)) {
@@ -68695,7 +69327,7 @@ index 1dbbe69..e96e1dd 100644
        abort_creds(new);
        return old_fsgid;
  
-@@ -1188,7 +1224,10 @@ static int override_release(char __user *release, int len)
+@@ -1189,7 +1225,10 @@ static int override_release(char __user *release, int len)
                }
                v = ((LINUX_VERSION_CODE >> 8) & 0xff) + 40;
                snprintf(buf, len, "2.6.%u%s", v, rest);
@@ -68707,7 +69339,7 @@ index 1dbbe69..e96e1dd 100644
        }
        return ret;
  }
-@@ -1242,19 +1281,19 @@ SYSCALL_DEFINE1(olduname, struct oldold_utsname __user *, name)
+@@ -1243,19 +1282,19 @@ SYSCALL_DEFINE1(olduname, struct oldold_utsname __user *, name)
                return -EFAULT;
  
        down_read(&uts_sem);
@@ -68732,7 +69364,7 @@ index 1dbbe69..e96e1dd 100644
                                __OLD_UTS_LEN);
        error |= __put_user(0, name->machine + __OLD_UTS_LEN);
        up_read(&uts_sem);
-@@ -1717,7 +1756,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
+@@ -1720,7 +1759,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
                        error = get_dumpable(me->mm);
                        break;
                case PR_SET_DUMPABLE:
@@ -68742,10 +69374,10 @@ index 1dbbe69..e96e1dd 100644
                                break;
                        }
 diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index 11d65b5..6957b37 100644
+index ae27196..7506d69 100644
 --- a/kernel/sysctl.c
 +++ b/kernel/sysctl.c
-@@ -85,6 +85,13 @@
+@@ -86,6 +86,13 @@
  
  
  #if defined(CONFIG_SYSCTL)
@@ -68759,7 +69391,7 @@ index 11d65b5..6957b37 100644
  
  /* External variables not in a header file. */
  extern int sysctl_overcommit_memory;
-@@ -197,6 +204,7 @@ static int sysrq_sysctl_handler(ctl_table *table, int write,
+@@ -191,6 +198,7 @@ static int sysrq_sysctl_handler(ctl_table *table, int write,
  }
  
  #endif
@@ -68767,7 +69399,7 @@ index 11d65b5..6957b37 100644
  
  static struct ctl_table root_table[];
  static struct ctl_table_root sysctl_table_root;
-@@ -226,6 +234,20 @@ extern struct ctl_table epoll_table[];
+@@ -220,6 +228,20 @@ extern struct ctl_table epoll_table[];
  int sysctl_legacy_va_layout;
  #endif
  
@@ -68788,7 +69420,7 @@ index 11d65b5..6957b37 100644
  /* The default sysctl tables: */
  
  static struct ctl_table root_table[] = {
-@@ -272,6 +294,22 @@ static int max_extfrag_threshold = 1000;
+@@ -266,6 +288,22 @@ static int max_extfrag_threshold = 1000;
  #endif
  
  static struct ctl_table kern_table[] = {
@@ -68811,7 +69443,7 @@ index 11d65b5..6957b37 100644
        {
                .procname       = "sched_child_runs_first",
                .data           = &sysctl_sched_child_runs_first,
-@@ -546,7 +584,7 @@ static struct ctl_table kern_table[] = {
+@@ -550,7 +588,7 @@ static struct ctl_table kern_table[] = {
                .data           = &modprobe_path,
                .maxlen         = KMOD_PATH_LEN,
                .mode           = 0644,
@@ -68820,7 +69452,7 @@ index 11d65b5..6957b37 100644
        },
        {
                .procname       = "modules_disabled",
-@@ -713,16 +751,20 @@ static struct ctl_table kern_table[] = {
+@@ -717,16 +755,20 @@ static struct ctl_table kern_table[] = {
                .extra1         = &zero,
                .extra2         = &one,
        },
@@ -68842,7 +69474,7 @@ index 11d65b5..6957b37 100644
        {
                .procname       = "ngroups_max",
                .data           = &ngroups_max,
-@@ -1205,6 +1247,13 @@ static struct ctl_table vm_table[] = {
+@@ -1216,6 +1258,13 @@ static struct ctl_table vm_table[] = {
                .proc_handler   = proc_dointvec_minmax,
                .extra1         = &zero,
        },
@@ -68856,7 +69488,7 @@ index 11d65b5..6957b37 100644
  #else
        {
                .procname       = "nr_trim_pages",
-@@ -1709,6 +1758,17 @@ static int test_perm(int mode, int op)
+@@ -1720,6 +1769,17 @@ static int test_perm(int mode, int op)
  int sysctl_perm(struct ctl_table_root *root, struct ctl_table *table, int op)
  {
        int mode;
@@ -68874,7 +69506,7 @@ index 11d65b5..6957b37 100644
  
        if (root->permissions)
                mode = root->permissions(root, current->nsproxy, table);
-@@ -2113,6 +2173,16 @@ int proc_dostring(struct ctl_table *table, int write,
+@@ -2124,6 +2184,16 @@ int proc_dostring(struct ctl_table *table, int write,
                               buffer, lenp, ppos);
  }
  
@@ -68891,7 +69523,7 @@ index 11d65b5..6957b37 100644
  static size_t proc_skip_spaces(char **buf)
  {
        size_t ret;
-@@ -2218,6 +2288,8 @@ static int proc_put_long(void __user **buf, size_t *size, unsigned long val,
+@@ -2229,6 +2299,8 @@ static int proc_put_long(void __user **buf, size_t *size, unsigned long val,
        len = strlen(tmp);
        if (len > *size)
                len = *size;
@@ -68900,7 +69532,7 @@ index 11d65b5..6957b37 100644
        if (copy_to_user(*buf, tmp, len))
                return -EFAULT;
        *size -= len;
-@@ -2534,8 +2606,11 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
+@@ -2545,8 +2617,11 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
                        *i = val;
                } else {
                        val = convdiv * (*i) / convmul;
@@ -68913,7 +69545,7 @@ index 11d65b5..6957b37 100644
                        err = proc_put_long(&buffer, &left, val, false);
                        if (err)
                                break;
-@@ -2930,6 +3005,12 @@ int proc_dostring(struct ctl_table *table, int write,
+@@ -2941,6 +3016,12 @@ int proc_dostring(struct ctl_table *table, int write,
        return -ENOSYS;
  }
  
@@ -68926,7 +69558,7 @@ index 11d65b5..6957b37 100644
  int proc_dointvec(struct ctl_table *table, int write,
                  void __user *buffer, size_t *lenp, loff_t *ppos)
  {
-@@ -2986,6 +3067,7 @@ EXPORT_SYMBOL(proc_dointvec_minmax);
+@@ -2997,6 +3078,7 @@ EXPORT_SYMBOL(proc_dointvec_minmax);
  EXPORT_SYMBOL(proc_dointvec_userhz_jiffies);
  EXPORT_SYMBOL(proc_dointvec_ms_jiffies);
  EXPORT_SYMBOL(proc_dostring);
@@ -68935,7 +69567,7 @@ index 11d65b5..6957b37 100644
  EXPORT_SYMBOL(proc_doulongvec_ms_jiffies_minmax);
  EXPORT_SYMBOL(register_sysctl_table);
 diff --git a/kernel/sysctl_binary.c b/kernel/sysctl_binary.c
-index e8bffbe..2344401 100644
+index a650694..aaeeb20 100644
 --- a/kernel/sysctl_binary.c
 +++ b/kernel/sysctl_binary.c
 @@ -989,7 +989,7 @@ static ssize_t bin_intvec(struct file *file,
@@ -69041,7 +69673,7 @@ index e660464..c8b9e67 100644
                return cmd_attr_register_cpumask(info);
        else if (info->attrs[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK])
 diff --git a/kernel/time.c b/kernel/time.c
-index d776062..fa8d186 100644
+index 73e416d..cfc6f69 100644
 --- a/kernel/time.c
 +++ b/kernel/time.c
 @@ -163,6 +163,11 @@ int do_sys_settimeofday(const struct timespec *tv, const struct timezone *tz)
@@ -69057,11 +69689,11 @@ index d776062..fa8d186 100644
                sys_tz = *tz;
                update_vsyscall_tz();
 diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
-index ea5e1a9..8b8df07 100644
+index 8a46f5d..bbe6f9c 100644
 --- a/kernel/time/alarmtimer.c
 +++ b/kernel/time/alarmtimer.c
-@@ -693,7 +693,7 @@ static int __init alarmtimer_init(void)
- {
+@@ -773,7 +773,7 @@ static int __init alarmtimer_init(void)
+       struct platform_device *pdev;
        int error = 0;
        int i;
 -      struct k_clock alarm_clock = {
@@ -69070,7 +69702,7 @@ index ea5e1a9..8b8df07 100644
                .clock_get      = alarm_clock_get,
                .timer_create   = alarm_timer_create,
 diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
-index 7a90d02..6d8585a 100644
+index fd4a7b1..fae5c2a 100644
 --- a/kernel/time/tick-broadcast.c
 +++ b/kernel/time/tick-broadcast.c
 @@ -115,7 +115,7 @@ int tick_device_uses_broadcast(struct clock_event_device *dev, int cpu)
@@ -69083,7 +69715,7 @@ index 7a90d02..6d8585a 100644
                        cpumask_clear_cpu(cpu, tick_get_broadcast_mask());
                        tick_broadcast_clear_oneshot(cpu);
 diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
-index 6f9798b..f8c4087 100644
+index 2378413..be455fd 100644
 --- a/kernel/time/timekeeping.c
 +++ b/kernel/time/timekeeping.c
 @@ -14,6 +14,7 @@
@@ -69149,7 +69781,7 @@ index 3258455..f35227d 100644
                return -ENOMEM;
        return 0;
 diff --git a/kernel/time/timer_stats.c b/kernel/time/timer_stats.c
-index a5d0a3a..60c7948 100644
+index 0b537f2..9e71eca 100644
 --- a/kernel/time/timer_stats.c
 +++ b/kernel/time/timer_stats.c
 @@ -116,7 +116,7 @@ static ktime_t time_start, time_stop;
@@ -69221,7 +69853,7 @@ index a5d0a3a..60c7948 100644
                return -ENOMEM;
        return 0;
 diff --git a/kernel/timer.c b/kernel/timer.c
-index 8cff361..0fb5cd8 100644
+index 9c3c62b..441690e 100644
 --- a/kernel/timer.c
 +++ b/kernel/timer.c
 @@ -1304,7 +1304,7 @@ void update_process_times(int user_tick)
@@ -69234,10 +69866,10 @@ index 8cff361..0fb5cd8 100644
        struct tvec_base *base = __this_cpu_read(tvec_bases);
  
 diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
-index 7c910a5..8b72104 100644
+index 16fc34a..efd8bb8 100644
 --- a/kernel/trace/blktrace.c
 +++ b/kernel/trace/blktrace.c
-@@ -323,7 +323,7 @@ static ssize_t blk_dropped_read(struct file *filp, char __user *buffer,
+@@ -324,7 +324,7 @@ static ssize_t blk_dropped_read(struct file *filp, char __user *buffer,
        struct blk_trace *bt = filp->private_data;
        char buf[16];
  
@@ -69246,7 +69878,7 @@ index 7c910a5..8b72104 100644
  
        return simple_read_from_buffer(buffer, count, ppos, buf, strlen(buf));
  }
-@@ -388,7 +388,7 @@ static int blk_subbuf_start_callback(struct rchan_buf *buf, void *subbuf,
+@@ -389,7 +389,7 @@ static int blk_subbuf_start_callback(struct rchan_buf *buf, void *subbuf,
                return 1;
  
        bt = buf->chan->private_data;
@@ -69255,7 +69887,7 @@ index 7c910a5..8b72104 100644
        return 0;
  }
  
-@@ -489,7 +489,7 @@ int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
+@@ -490,7 +490,7 @@ int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
  
        bt->dir = dir;
        bt->dev = dev;
@@ -69265,10 +69897,10 @@ index 7c910a5..8b72104 100644
        ret = -EIO;
        bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt,
 diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
-index 48d3762..3b61fce 100644
+index 25b4f4d..6f4772d 100644
 --- a/kernel/trace/ftrace.c
 +++ b/kernel/trace/ftrace.c
-@@ -1584,12 +1584,17 @@ ftrace_code_disable(struct module *mod, struct dyn_ftrace *rec)
+@@ -1587,12 +1587,17 @@ ftrace_code_disable(struct module *mod, struct dyn_ftrace *rec)
        if (unlikely(ftrace_disabled))
                return 0;
  
@@ -69288,7 +69920,7 @@ index 48d3762..3b61fce 100644
  }
  
  /*
-@@ -2606,7 +2611,7 @@ static void ftrace_free_entry_rcu(struct rcu_head *rhp)
+@@ -2608,7 +2613,7 @@ static void ftrace_free_entry_rcu(struct rcu_head *rhp)
  
  int
  register_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops,
@@ -69298,28 +69930,10 @@ index 48d3762..3b61fce 100644
        struct ftrace_func_probe *entry;
        struct ftrace_page *pg;
 diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 17a2d44..85907e2 100644
+index f2bd275..adaf3a2 100644
 --- a/kernel/trace/trace.c
 +++ b/kernel/trace/trace.c
-@@ -3451,6 +3451,8 @@ static ssize_t tracing_splice_read_pipe(struct file *filp,
-       size_t rem;
-       unsigned int i;
-+      pax_track_stack();
-+
-       if (splice_grow_spd(pipe, &spd))
-               return -ENOMEM;
-@@ -3926,6 +3928,8 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos,
-       int entries, size, i;
-       size_t ret;
-+      pax_track_stack();
-+
-       if (splice_grow_spd(pipe, &spd))
-               return -ENOMEM;
-@@ -4093,10 +4097,9 @@ static const struct file_operations tracing_dyn_info_fops = {
+@@ -4201,10 +4201,9 @@ static const struct file_operations tracing_dyn_info_fops = {
  };
  #endif
  
@@ -69331,7 +69945,7 @@ index 17a2d44..85907e2 100644
        static int once;
  
        if (d_tracer)
-@@ -4116,10 +4119,9 @@ struct dentry *tracing_init_dentry(void)
+@@ -4224,10 +4223,9 @@ struct dentry *tracing_init_dentry(void)
        return d_tracer;
  }
  
@@ -69531,26 +70145,26 @@ index 209b379..7f76423 100644
                        put_task_struct(tsk);
                }
 diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
-index c0cb9c4..f33aa89 100644
+index 82928f5..92da771 100644
 --- a/lib/Kconfig.debug
 +++ b/lib/Kconfig.debug
-@@ -1091,6 +1091,7 @@ config LATENCYTOP
+@@ -1103,6 +1103,7 @@ config LATENCYTOP
        depends on DEBUG_KERNEL
        depends on STACKTRACE_SUPPORT
        depends on PROC_FS
 +      depends on !GRKERNSEC_HIDESYM
-       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
+       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND
        select KALLSYMS
        select KALLSYMS_ALL
 diff --git a/lib/bitmap.c b/lib/bitmap.c
-index 2f4412e..a557e27 100644
+index 0d4a127..33a06c7 100644
 --- a/lib/bitmap.c
 +++ b/lib/bitmap.c
 @@ -419,7 +419,7 @@ int __bitmap_parse(const char *buf, unsigned int buflen,
  {
        int c, old_c, totaldigits, ndigits, nchunks, nbits;
        u32 chunk;
--      const char __user *ubuf = buf;
+-      const char __user __force *ubuf = (const char __user __force *)buf;
 +      const char __user *ubuf = (const char __force_user *)buf;
  
        bitmap_zero(maskp, nmaskbits);
@@ -69559,25 +70173,25 @@ index 2f4412e..a557e27 100644
  {
        if (!access_ok(VERIFY_READ, ubuf, ulen))
                return -EFAULT;
--      return __bitmap_parse((const char *)ubuf, ulen, 1, maskp, nmaskbits);
-+      return __bitmap_parse((const char __force_kernel *)ubuf, ulen, 1, maskp, nmaskbits);
- }
- EXPORT_SYMBOL(bitmap_parse_user);
+-      return __bitmap_parse((const char __force *)ubuf,
++      return __bitmap_parse((const char __force_kernel *)ubuf,
+                               ulen, 1, maskp, nmaskbits);
  
-@@ -594,7 +594,7 @@ static int __bitmap_parselist(const char *buf, unsigned int buflen,
+ }
+@@ -596,7 +596,7 @@ static int __bitmap_parselist(const char *buf, unsigned int buflen,
  {
        unsigned a, b;
        int c, old_c, totaldigits;
--      const char __user *ubuf = buf;
+-      const char __user __force *ubuf = (const char __user __force *)buf;
 +      const char __user *ubuf = (const char __force_user *)buf;
        int exp_digit, in_range;
  
        totaldigits = c = 0;
-@@ -694,7 +694,7 @@ int bitmap_parselist_user(const char __user *ubuf,
+@@ -696,7 +696,7 @@ int bitmap_parselist_user(const char __user *ubuf,
  {
        if (!access_ok(VERIFY_READ, ubuf, ulen))
                return -EFAULT;
--      return __bitmap_parselist((const char *)ubuf,
+-      return __bitmap_parselist((const char __force *)ubuf,
 +      return __bitmap_parselist((const char __force_kernel *)ubuf,
                                        ulen, 1, maskp, nmaskbits);
  }
@@ -69631,10 +70245,10 @@ index 7c0e953..f642b5c 100644
  EXPORT_SYMBOL(devm_ioport_unmap);
  
 diff --git a/lib/dma-debug.c b/lib/dma-debug.c
-index db07bfd..719b5ab 100644
+index fea790a..ebb0e82 100644
 --- a/lib/dma-debug.c
 +++ b/lib/dma-debug.c
-@@ -870,7 +870,7 @@ out:
+@@ -925,7 +925,7 @@ out:
  
  static void check_for_stack(struct device *dev, void *addr)
  {
@@ -69679,6 +70293,20 @@ index 013a761..c28f3fc 100644
  #define free(a) kfree(a)
  #endif
  
+diff --git a/lib/is_single_threaded.c b/lib/is_single_threaded.c
+index bd2bea9..6b3c95e 100644
+--- a/lib/is_single_threaded.c
++++ b/lib/is_single_threaded.c
+@@ -22,6 +22,9 @@ bool current_is_single_threaded(void)
+       struct task_struct *p, *t;
+       bool ret;
++      if (!mm)
++              return true;
++
+       if (atomic_read(&task->signal->live) != 1)
+               return false;
 diff --git a/lib/kref.c b/lib/kref.c
 index 3efb882..8492f4c 100644
 --- a/lib/kref.c
@@ -69693,7 +70321,7 @@ index 3efb882..8492f4c 100644
  
        if (atomic_dec_and_test(&kref->refcount)) {
 diff --git a/lib/radix-tree.c b/lib/radix-tree.c
-index a2f9da5..3bcadb6 100644
+index d9df745..e73c2fe 100644
 --- a/lib/radix-tree.c
 +++ b/lib/radix-tree.c
 @@ -80,7 +80,7 @@ struct radix_tree_preload {
@@ -69706,7 +70334,7 @@ index a2f9da5..3bcadb6 100644
  static inline void *ptr_to_indirect(void *ptr)
  {
 diff --git a/lib/vsprintf.c b/lib/vsprintf.c
-index d7222a9..2172edc 100644
+index 993599e..f1dbc14 100644
 --- a/lib/vsprintf.c
 +++ b/lib/vsprintf.c
 @@ -16,6 +16,9 @@
@@ -69719,7 +70347,7 @@ index d7222a9..2172edc 100644
  #include <stdarg.h>
  #include <linux/module.h>
  #include <linux/types.h>
-@@ -432,7 +435,7 @@ char *symbol_string(char *buf, char *end, void *ptr,
+@@ -413,7 +416,7 @@ char *symbol_string(char *buf, char *end, void *ptr,
        char sym[KSYM_SYMBOL_LEN];
        if (ext == 'B')
                sprint_backtrace(sym, value);
@@ -69728,7 +70356,7 @@ index d7222a9..2172edc 100644
                sprint_symbol(sym, value);
        else
                kallsyms_lookup(value, NULL, NULL, NULL, sym);
-@@ -796,7 +799,11 @@ char *uuid_string(char *buf, char *end, const u8 *addr,
+@@ -777,7 +780,11 @@ char *uuid_string(char *buf, char *end, const u8 *addr,
        return string(buf, end, uuid, spec);
  }
  
@@ -69740,7 +70368,7 @@ index d7222a9..2172edc 100644
  
  /*
   * Show a '%p' thing.  A kernel extension is that the '%p' is followed
-@@ -810,6 +817,8 @@ int kptr_restrict __read_mostly;
+@@ -791,6 +798,8 @@ int kptr_restrict __read_mostly;
   * - 'S' For symbolic direct pointers with offset
   * - 's' For symbolic direct pointers without offset
   * - 'B' For backtraced symbolic direct pointers with offset
@@ -69749,7 +70377,7 @@ index d7222a9..2172edc 100644
   * - 'R' For decoded struct resource, e.g., [mem 0x0-0x1f 64bit pref]
   * - 'r' For raw struct resource, e.g., [mem 0x0-0x1f flags 0x201]
   * - 'M' For a 6-byte MAC address, it prints the address in the
-@@ -854,12 +863,12 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
+@@ -835,12 +844,12 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
  {
        if (!ptr && *fmt != 'K') {
                /*
@@ -69764,7 +70392,7 @@ index d7222a9..2172edc 100644
        }
  
        switch (*fmt) {
-@@ -869,6 +878,13 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
+@@ -850,6 +859,13 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
                /* Fallthrough */
        case 'S':
        case 's':
@@ -69778,7 +70406,26 @@ index d7222a9..2172edc 100644
        case 'B':
                return symbol_string(buf, end, ptr, spec, *fmt);
        case 'R':
-@@ -1627,11 +1643,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
+@@ -878,9 +894,15 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
+       case 'U':
+               return uuid_string(buf, end, ptr, spec, fmt);
+       case 'V':
+-              return buf + vsnprintf(buf, end > buf ? end - buf : 0,
+-                                     ((struct va_format *)ptr)->fmt,
+-                                     *(((struct va_format *)ptr)->va));
++              {
++                      va_list va;
++
++                      va_copy(va, *((struct va_format *)ptr)->va);
++                      buf += vsnprintf(buf, end > buf ? end - buf : 0,
++                                       ((struct va_format *)ptr)->fmt, va);
++                      va_end(va);
++                      return buf;
++              }
+       case 'K':
+               /*
+                * %pK cannot be used in IRQ context because its test
+@@ -1608,11 +1630,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
        typeof(type) value;                                             \
        if (sizeof(type) == 8) {                                        \
                args = PTR_ALIGN(args, sizeof(u32));                    \
@@ -69793,7 +70440,7 @@ index d7222a9..2172edc 100644
        }                                                               \
        args += sizeof(type);                                           \
        value;                                                          \
-@@ -1694,7 +1710,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
+@@ -1675,7 +1697,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
                case FORMAT_TYPE_STR: {
                        const char *str_arg = args;
                        args += strlen(str_arg) + 1;
@@ -69810,10 +70457,10 @@ index 0000000..7cd6065
 @@ -0,0 +1 @@
 +-grsec
 diff --git a/mm/Kconfig b/mm/Kconfig
-index f2f1ca1..0645f06 100644
+index 011b110..b492af2 100644
 --- a/mm/Kconfig
 +++ b/mm/Kconfig
-@@ -238,10 +238,10 @@ config KSM
+@@ -241,10 +241,10 @@ config KSM
          root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set).
  
  config DEFAULT_MMAP_MIN_ADDR
@@ -69828,10 +70475,10 @@ index f2f1ca1..0645f06 100644
          from userspace allocation.  Keeping a user from writing to low pages
          can help reduce the impact of kernel NULL pointer bugs.
 diff --git a/mm/filemap.c b/mm/filemap.c
-index 7771871..91bcdb4 100644
+index 03c5b0e..a01e793 100644
 --- a/mm/filemap.c
 +++ b/mm/filemap.c
-@@ -1784,7 +1784,7 @@ int generic_file_mmap(struct file * file, struct vm_area_struct * vma)
+@@ -1770,7 +1770,7 @@ int generic_file_mmap(struct file * file, struct vm_area_struct * vma)
        struct address_space *mapping = file->f_mapping;
  
        if (!mapping->a_ops->readpage)
@@ -69840,7 +70487,7 @@ index 7771871..91bcdb4 100644
        file_accessed(file);
        vma->vm_ops = &generic_file_vm_ops;
        vma->vm_flags |= VM_CAN_NONLINEAR;
-@@ -2190,6 +2190,7 @@ inline int generic_write_checks(struct file *file, loff_t *pos, size_t *count, i
+@@ -2176,6 +2176,7 @@ inline int generic_write_checks(struct file *file, loff_t *pos, size_t *count, i
                          *pos = i_size_read(inode);
  
                if (limit != RLIM_INFINITY) {
@@ -69849,10 +70496,10 @@ index 7771871..91bcdb4 100644
                                send_sig(SIGXFSZ, current, 0);
                                return -EFBIG;
 diff --git a/mm/fremap.c b/mm/fremap.c
-index b8e0e2d..076e171 100644
+index 9ed4fd4..c42648d 100644
 --- a/mm/fremap.c
 +++ b/mm/fremap.c
-@@ -156,6 +156,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -155,6 +155,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
   retry:
        vma = find_vma(mm, start);
  
@@ -69865,7 +70512,7 @@ index b8e0e2d..076e171 100644
         * Make sure the vma is shared, that it supports prefaulting,
         * and that the remapped range is valid and fully within
 diff --git a/mm/highmem.c b/mm/highmem.c
-index 5ef672c..d7660f4 100644
+index 57d82c6..e9e0552 100644
 --- a/mm/highmem.c
 +++ b/mm/highmem.c
 @@ -125,9 +125,10 @@ static void flush_all_zero_pkmaps(void)
@@ -69894,10 +70541,10 @@ index 5ef672c..d7660f4 100644
        set_page_address(page, (void *)vaddr);
  
 diff --git a/mm/huge_memory.c b/mm/huge_memory.c
-index d819d93..468e18f 100644
+index 8f005e9..1cb1036 100644
 --- a/mm/huge_memory.c
 +++ b/mm/huge_memory.c
-@@ -702,7 +702,7 @@ out:
+@@ -704,7 +704,7 @@ out:
         * run pte_offset_map on the pmd, if an huge pmd could
         * materialize from under us from a different thread.
         */
@@ -69906,28 +70553,11 @@ index d819d93..468e18f 100644
                return VM_FAULT_OOM;
        /* if an huge pmd materialized from under us just retry later */
        if (unlikely(pmd_trans_huge(*pmd)))
-@@ -829,7 +829,7 @@ static int do_huge_pmd_wp_page_fallback(struct mm_struct *mm,
-       for (i = 0; i < HPAGE_PMD_NR; i++) {
-               copy_user_highpage(pages[i], page + i,
--                                 haddr + PAGE_SHIFT*i, vma);
-+                                 haddr + PAGE_SIZE*i, vma);
-               __SetPageUptodate(pages[i]);
-               cond_resched();
-       }
 diff --git a/mm/hugetlb.c b/mm/hugetlb.c
-index bb28a5f..fef0140 100644
+index 2316840..b418671 100644
 --- a/mm/hugetlb.c
 +++ b/mm/hugetlb.c
-@@ -576,6 +576,7 @@ static void prep_compound_gigantic_page(struct page *page, unsigned long order)
-       __SetPageHead(page);
-       for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) {
-               __SetPageTail(p);
-+              set_page_count(p, 0);
-               p->first_page = page;
-       }
- }
-@@ -2346,6 +2347,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2347,6 +2347,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
        return 1;
  }
  
@@ -69955,7 +70585,7 @@ index bb28a5f..fef0140 100644
  /*
   * Hugetlb_cow() should be called with page lock of the original hugepage held.
   */
-@@ -2449,6 +2471,11 @@ retry_avoidcopy:
+@@ -2450,6 +2471,11 @@ retry_avoidcopy:
                                make_huge_pte(vma, new_page, 1));
                page_remove_rmap(old_page);
                hugepage_add_new_anon_rmap(new_page, vma, address);
@@ -69967,7 +70597,7 @@ index bb28a5f..fef0140 100644
                /* Make the old page be freed below */
                new_page = old_page;
                mmu_notifier_invalidate_range_end(mm,
-@@ -2600,6 +2627,10 @@ retry:
+@@ -2601,6 +2627,10 @@ retry:
                                && (vma->vm_flags & VM_SHARED)));
        set_huge_pte_at(mm, address, ptep, new_pte);
  
@@ -69978,7 +70608,7 @@ index bb28a5f..fef0140 100644
        if ((flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) {
                /* Optimization, do the COW without a second fault */
                ret = hugetlb_cow(mm, vma, address, ptep, new_pte, page);
-@@ -2629,6 +2660,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2630,6 +2660,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
        static DEFINE_MUTEX(hugetlb_instantiation_mutex);
        struct hstate *h = hstate_vma(vma);
  
@@ -69989,7 +70619,7 @@ index bb28a5f..fef0140 100644
        ptep = huge_pte_offset(mm, address);
        if (ptep) {
                entry = huge_ptep_get(ptep);
-@@ -2640,6 +2675,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2641,6 +2675,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
                               VM_FAULT_SET_HINDEX(h - hstates);
        }
  
@@ -70029,7 +70659,7 @@ index 2189af4..f2ca332 100644
  #ifdef CONFIG_MEMORY_FAILURE
  extern bool is_free_buddy_page(struct page *page);
 diff --git a/mm/kmemleak.c b/mm/kmemleak.c
-index d6880f5..ed77913 100644
+index f3b2a00..61da94d 100644
 --- a/mm/kmemleak.c
 +++ b/mm/kmemleak.c
 @@ -357,7 +357,7 @@ static void print_unreferenced(struct seq_file *seq,
@@ -70042,7 +70672,7 @@ index d6880f5..ed77913 100644
  }
  
 diff --git a/mm/maccess.c b/mm/maccess.c
-index 4cee182..e00511d 100644
+index d53adf9..03a24bf 100644
 --- a/mm/maccess.c
 +++ b/mm/maccess.c
 @@ -26,7 +26,7 @@ long __probe_kernel_read(void *dst, const void *src, size_t size)
@@ -70144,10 +70774,10 @@ index 74bf193..feb6fd3 100644
        if (end == start)
                goto out;
 diff --git a/mm/memory-failure.c b/mm/memory-failure.c
-index 2b43ba0..fc09657 100644
+index 06d3479..0778eef 100644
 --- a/mm/memory-failure.c
 +++ b/mm/memory-failure.c
-@@ -60,7 +60,7 @@ int sysctl_memory_failure_early_kill __read_mostly = 0;
+@@ -61,7 +61,7 @@ int sysctl_memory_failure_early_kill __read_mostly = 0;
  
  int sysctl_memory_failure_recovery __read_mostly = 1;
  
@@ -70156,7 +70786,7 @@ index 2b43ba0..fc09657 100644
  
  #if defined(CONFIG_HWPOISON_INJECT) || defined(CONFIG_HWPOISON_INJECT_MODULE)
  
-@@ -201,7 +201,7 @@ static int kill_proc_ao(struct task_struct *t, unsigned long addr, int trapno,
+@@ -202,7 +202,7 @@ static int kill_proc_ao(struct task_struct *t, unsigned long addr, int trapno,
        si.si_signo = SIGBUS;
        si.si_errno = 0;
        si.si_code = BUS_MCEERR_AO;
@@ -70165,7 +70795,7 @@ index 2b43ba0..fc09657 100644
  #ifdef __ARCH_SI_TRAPNO
        si.si_trapno = trapno;
  #endif
-@@ -1009,7 +1009,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
+@@ -1010,7 +1010,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
        }
  
        nr_pages = 1 << compound_trans_order(hpage);
@@ -70174,7 +70804,7 @@ index 2b43ba0..fc09657 100644
  
        /*
         * We need/can do nothing about count=0 pages.
-@@ -1039,7 +1039,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
+@@ -1040,7 +1040,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
                        if (!PageHWPoison(hpage)
                            || (hwpoison_filter(p) && TestClearPageHWPoison(p))
                            || (p != hpage && TestSetPageHWPoison(hpage))) {
@@ -70183,7 +70813,7 @@ index 2b43ba0..fc09657 100644
                                return 0;
                        }
                        set_page_hwpoison_huge_page(hpage);
-@@ -1097,7 +1097,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
+@@ -1098,7 +1098,7 @@ int __memory_failure(unsigned long pfn, int trapno, int flags)
        }
        if (hwpoison_filter(p)) {
                if (TestClearPageHWPoison(p))
@@ -70192,7 +70822,7 @@ index 2b43ba0..fc09657 100644
                unlock_page(hpage);
                put_page(hpage);
                return 0;
-@@ -1314,7 +1314,7 @@ int unpoison_memory(unsigned long pfn)
+@@ -1315,7 +1315,7 @@ int unpoison_memory(unsigned long pfn)
                        return 0;
                }
                if (TestClearPageHWPoison(p))
@@ -70201,7 +70831,7 @@ index 2b43ba0..fc09657 100644
                pr_info("MCE: Software-unpoisoned free page %#lx\n", pfn);
                return 0;
        }
-@@ -1328,7 +1328,7 @@ int unpoison_memory(unsigned long pfn)
+@@ -1329,7 +1329,7 @@ int unpoison_memory(unsigned long pfn)
         */
        if (TestClearPageHWPoison(page)) {
                pr_info("MCE: Software-unpoisoned page %#lx\n", pfn);
@@ -70210,7 +70840,7 @@ index 2b43ba0..fc09657 100644
                freeit = 1;
                if (PageHuge(page))
                        clear_page_hwpoison_huge_page(page);
-@@ -1441,7 +1441,7 @@ static int soft_offline_huge_page(struct page *page, int flags)
+@@ -1442,7 +1442,7 @@ static int soft_offline_huge_page(struct page *page, int flags)
        }
  done:
        if (!PageHWPoison(hpage))
@@ -70219,7 +70849,7 @@ index 2b43ba0..fc09657 100644
        set_page_hwpoison_huge_page(hpage);
        dequeue_hwpoisoned_huge_page(hpage);
        /* keep elevated page count for bad page */
-@@ -1572,7 +1572,7 @@ int soft_offline_page(struct page *page, int flags)
+@@ -1573,7 +1573,7 @@ int soft_offline_page(struct page *page, int flags)
                return ret;
  
  done:
@@ -70229,7 +70859,7 @@ index 2b43ba0..fc09657 100644
        /* keep elevated page count for bad page */
        return ret;
 diff --git a/mm/memory.c b/mm/memory.c
-index b2b8731..6080174 100644
+index 829d437..3d3926a 100644
 --- a/mm/memory.c
 +++ b/mm/memory.c
 @@ -457,8 +457,12 @@ static inline void free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
@@ -70796,10 +71426,10 @@ index b2b8731..6080174 100644
         * Make sure the vDSO gets into every core dump.
         * Dumping its contents makes post-mortem fully interpretable later
 diff --git a/mm/mempolicy.c b/mm/mempolicy.c
-index 9c51f9f..a9416cf 100644
+index c3fdbcb..2e8ef90 100644
 --- a/mm/mempolicy.c
 +++ b/mm/mempolicy.c
-@@ -639,6 +639,10 @@ static int mbind_range(struct mm_struct *mm, unsigned long start,
+@@ -640,6 +640,10 @@ static int mbind_range(struct mm_struct *mm, unsigned long start,
        unsigned long vmstart;
        unsigned long vmend;
  
@@ -70810,7 +71440,7 @@ index 9c51f9f..a9416cf 100644
        vma = find_vma_prev(mm, start, &prev);
        if (!vma || vma->vm_start > start)
                return -EFAULT;
-@@ -669,6 +673,16 @@ static int mbind_range(struct mm_struct *mm, unsigned long start,
+@@ -678,6 +682,16 @@ static int mbind_range(struct mm_struct *mm, unsigned long start,
                err = policy_vma(vma, new_pol);
                if (err)
                        goto out;
@@ -70827,7 +71457,7 @@ index 9c51f9f..a9416cf 100644
        }
  
   out:
-@@ -1102,6 +1116,17 @@ static long do_mbind(unsigned long start, unsigned long len,
+@@ -1111,6 +1125,17 @@ static long do_mbind(unsigned long start, unsigned long len,
  
        if (end < start)
                return -EINVAL;
@@ -70845,7 +71475,7 @@ index 9c51f9f..a9416cf 100644
        if (end == start)
                return 0;
  
-@@ -1320,6 +1345,14 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
+@@ -1329,6 +1354,14 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
        if (!mm)
                goto out;
  
@@ -70860,7 +71490,7 @@ index 9c51f9f..a9416cf 100644
        /*
         * Check if this process has the right to modify the specified
         * process. The right exists if the process has administrative
-@@ -1329,8 +1362,7 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
+@@ -1338,8 +1371,7 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
        rcu_read_lock();
        tcred = __task_cred(task);
        if (cred->euid != tcred->suid && cred->euid != tcred->uid &&
@@ -70871,30 +71501,10 @@ index 9c51f9f..a9416cf 100644
                err = -EPERM;
                goto out;
 diff --git a/mm/migrate.c b/mm/migrate.c
-index 14d0a6a..0360908 100644
+index 177aca4..ab3a744 100644
 --- a/mm/migrate.c
 +++ b/mm/migrate.c
-@@ -866,9 +866,9 @@ static int unmap_and_move_huge_page(new_page_t get_new_page,
-       if (anon_vma)
-               put_anon_vma(anon_vma);
--out:
-       unlock_page(hpage);
-+out:
-       if (rc != -EAGAIN) {
-               list_del(&hpage->lru);
-               put_page(hpage);
-@@ -1124,6 +1124,8 @@ static int do_pages_move(struct mm_struct *mm, struct task_struct *task,
-       unsigned long chunk_start;
-       int err;
-+      pax_track_stack();
-+
-       task_nodes = cpuset_mems_allowed(task);
-       err = -ENOMEM;
-@@ -1308,6 +1310,14 @@ SYSCALL_DEFINE6(move_pages, pid_t, pid, unsigned long, nr_pages,
+@@ -1313,6 +1313,14 @@ SYSCALL_DEFINE6(move_pages, pid_t, pid, unsigned long, nr_pages,
        if (!mm)
                return -EINVAL;
  
@@ -70909,7 +71519,7 @@ index 14d0a6a..0360908 100644
        /*
         * Check if this process has the right to modify the specified
         * process. The right exists if the process has administrative
-@@ -1317,8 +1327,7 @@ SYSCALL_DEFINE6(move_pages, pid_t, pid, unsigned long, nr_pages,
+@@ -1322,8 +1330,7 @@ SYSCALL_DEFINE6(move_pages, pid_t, pid, unsigned long, nr_pages,
        rcu_read_lock();
        tcred = __task_cred(task);
        if (cred->euid != tcred->suid && cred->euid != tcred->uid &&
@@ -70920,7 +71530,7 @@ index 14d0a6a..0360908 100644
                err = -EPERM;
                goto out;
 diff --git a/mm/mlock.c b/mm/mlock.c
-index 048260c..57f4a4e 100644
+index 4f4f53b..9511904 100644
 --- a/mm/mlock.c
 +++ b/mm/mlock.c
 @@ -13,6 +13,7 @@
@@ -70929,9 +71539,9 @@ index 048260c..57f4a4e 100644
  #include <linux/syscalls.h>
 +#include <linux/security.h>
  #include <linux/sched.h>
- #include <linux/module.h>
+ #include <linux/export.h>
  #include <linux/rmap.h>
-@@ -377,6 +378,9 @@ static int do_mlock(unsigned long start, size_t len, int on)
+@@ -385,6 +386,9 @@ static int do_mlock(unsigned long start, size_t len, int on)
                return -EINVAL;
        if (end == start)
                return 0;
@@ -70941,7 +71551,7 @@ index 048260c..57f4a4e 100644
        vma = find_vma_prev(current->mm, start, &prev);
        if (!vma || vma->vm_start > start)
                return -ENOMEM;
-@@ -387,6 +391,11 @@ static int do_mlock(unsigned long start, size_t len, int on)
+@@ -395,6 +399,11 @@ static int do_mlock(unsigned long start, size_t len, int on)
        for (nstart = start ; ; ) {
                vm_flags_t newflags;
  
@@ -70953,7 +71563,7 @@ index 048260c..57f4a4e 100644
                /* Here we know that  vma->vm_start <= nstart < vma->vm_end. */
  
                newflags = vma->vm_flags | VM_LOCKED;
-@@ -492,6 +501,7 @@ SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len)
+@@ -500,6 +509,7 @@ SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len)
        lock_limit >>= PAGE_SHIFT;
  
        /* check against resource limits */
@@ -70961,7 +71571,7 @@ index 048260c..57f4a4e 100644
        if ((locked <= lock_limit) || capable(CAP_IPC_LOCK))
                error = do_mlock(start, len, 1);
        up_write(&current->mm->mmap_sem);
-@@ -515,17 +525,23 @@ SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len)
+@@ -523,17 +533,23 @@ SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len)
  static int do_mlockall(int flags)
  {
        struct vm_area_struct * vma, * prev = NULL;
@@ -70988,7 +71598,7 @@ index 048260c..57f4a4e 100644
                newflags = vma->vm_flags | VM_LOCKED;
                if (!(flags & MCL_CURRENT))
                        newflags &= ~VM_LOCKED;
-@@ -557,6 +573,7 @@ SYSCALL_DEFINE1(mlockall, int, flags)
+@@ -566,6 +582,7 @@ SYSCALL_DEFINE1(mlockall, int, flags)
        lock_limit >>= PAGE_SHIFT;
  
        ret = -ENOMEM;
@@ -70997,7 +71607,7 @@ index 048260c..57f4a4e 100644
            capable(CAP_IPC_LOCK))
                ret = do_mlockall(flags);
 diff --git a/mm/mmap.c b/mm/mmap.c
-index a65efd4..17d61ff 100644
+index eae90af..c930262 100644
 --- a/mm/mmap.c
 +++ b/mm/mmap.c
 @@ -46,6 +46,16 @@
@@ -71331,7 +71941,18 @@ index a65efd4..17d61ff 100644
        vma->vm_mm = mm;
        vma->vm_start = addr;
        vma->vm_end = addr + len;
-@@ -1281,6 +1412,19 @@ munmap_back:
+@@ -1266,8 +1397,9 @@ munmap_back:
+       vma->vm_pgoff = pgoff;
+       INIT_LIST_HEAD(&vma->anon_vma_chain);
++      error = -EINVAL;        /* when rejecting VM_GROWSDOWN|VM_GROWSUP */
++
+       if (file) {
+-              error = -EINVAL;
+               if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP))
+                       goto free_vma;
+               if (vm_flags & VM_DENYWRITE) {
+@@ -1281,6 +1413,19 @@ munmap_back:
                error = file->f_op->mmap(file, vma);
                if (error)
                        goto unmap_and_free_vma;
@@ -71351,7 +71972,16 @@ index a65efd4..17d61ff 100644
                if (vm_flags & VM_EXECUTABLE)
                        added_exe_file_vma(mm);
  
-@@ -1316,6 +1460,11 @@ munmap_back:
+@@ -1293,6 +1438,8 @@ munmap_back:
+               pgoff = vma->vm_pgoff;
+               vm_flags = vma->vm_flags;
+       } else if (vm_flags & VM_SHARED) {
++              if (unlikely(vm_flags & (VM_GROWSDOWN|VM_GROWSUP)))
++                      goto free_vma;
+               error = shmem_zero_setup(vma);
+               if (error)
+                       goto free_vma;
+@@ -1316,6 +1463,11 @@ munmap_back:
        vma_link(mm, vma, prev, rb_link, rb_parent);
        file = vma->vm_file;
  
@@ -71363,7 +71993,7 @@ index a65efd4..17d61ff 100644
        /* Once vma denies write, undo our temporary denial count */
        if (correct_wcount)
                atomic_inc(&inode->i_writecount);
-@@ -1324,6 +1473,7 @@ out:
+@@ -1324,6 +1476,7 @@ out:
  
        mm->total_vm += len >> PAGE_SHIFT;
        vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT);
@@ -71371,7 +72001,7 @@ index a65efd4..17d61ff 100644
        if (vm_flags & VM_LOCKED) {
                if (!mlock_vma_pages_range(vma, addr, addr + len))
                        mm->locked_vm += (len >> PAGE_SHIFT);
-@@ -1341,6 +1491,12 @@ unmap_and_free_vma:
+@@ -1341,6 +1494,12 @@ unmap_and_free_vma:
        unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
        charged = 0;
  free_vma:
@@ -71384,7 +72014,7 @@ index a65efd4..17d61ff 100644
        kmem_cache_free(vm_area_cachep, vma);
  unacct_error:
        if (charged)
-@@ -1348,6 +1504,44 @@ unacct_error:
+@@ -1348,6 +1507,44 @@ unacct_error:
        return error;
  }
  
@@ -71429,7 +72059,7 @@ index a65efd4..17d61ff 100644
  /* Get an address range which is currently unmapped.
   * For shmat() with addr=0.
   *
-@@ -1374,18 +1568,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
+@@ -1374,18 +1571,23 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
        if (flags & MAP_FIXED)
                return addr;
  
@@ -71460,7 +72090,7 @@ index a65efd4..17d61ff 100644
        }
  
  full_search:
-@@ -1396,34 +1595,40 @@ full_search:
+@@ -1396,34 +1598,40 @@ full_search:
                         * Start a new search - just in case we missed
                         * some holes.
                         */
@@ -71512,7 +72142,7 @@ index a65efd4..17d61ff 100644
                mm->free_area_cache = addr;
                mm->cached_hole_size = ~0UL;
        }
-@@ -1441,7 +1646,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1441,7 +1649,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
  {
        struct vm_area_struct *vma;
        struct mm_struct *mm = current->mm;
@@ -71521,7 +72151,7 @@ index a65efd4..17d61ff 100644
  
        /* requested length too big for entire address space */
        if (len > TASK_SIZE)
-@@ -1450,13 +1655,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1450,13 +1658,18 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
        if (flags & MAP_FIXED)
                return addr;
  
@@ -71544,7 +72174,7 @@ index a65efd4..17d61ff 100644
        }
  
        /* check if free_area_cache is useful for us */
-@@ -1471,7 +1681,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1471,7 +1684,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
        /* make sure it can fit in the remaining address space */
        if (addr > len) {
                vma = find_vma(mm, addr-len);
@@ -71553,7 +72183,7 @@ index a65efd4..17d61ff 100644
                        /* remember the address as a hint for next time */
                        return (mm->free_area_cache = addr-len);
        }
-@@ -1488,7 +1698,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1488,7 +1701,7 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
                 * return with success:
                 */
                vma = find_vma(mm, addr);
@@ -71562,7 +72192,7 @@ index a65efd4..17d61ff 100644
                        /* remember the address as a hint for next time */
                        return (mm->free_area_cache = addr);
  
-@@ -1497,8 +1707,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
+@@ -1497,8 +1710,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
                        mm->cached_hole_size = vma->vm_start - addr;
  
                /* try just below the current vma->vm_start */
@@ -71573,7 +72203,7 @@ index a65efd4..17d61ff 100644
  
  bottomup:
        /*
-@@ -1507,13 +1717,21 @@ bottomup:
+@@ -1507,13 +1720,21 @@ bottomup:
         * can happen with large stack limits and large mmap()
         * allocations.
         */
@@ -71597,7 +72227,7 @@ index a65efd4..17d61ff 100644
        mm->cached_hole_size = ~0UL;
  
        return addr;
-@@ -1522,6 +1740,12 @@ bottomup:
+@@ -1522,6 +1743,12 @@ bottomup:
  
  void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
  {
@@ -71610,7 +72240,7 @@ index a65efd4..17d61ff 100644
        /*
         * Is this a new hole at the highest possible address?
         */
-@@ -1529,8 +1753,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
+@@ -1529,8 +1756,10 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr)
                mm->free_area_cache = addr;
  
        /* dont allow allocations above current base */
@@ -71622,15 +72252,63 @@ index a65efd4..17d61ff 100644
  }
  
  unsigned long
-@@ -1638,6 +1864,28 @@ out:
-       return prev ? prev->vm_next : vma;
- }
+@@ -1603,40 +1832,50 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
  
+ EXPORT_SYMBOL(find_vma);
+-/* Same as find_vma, but also return a pointer to the previous VMA in *pprev. */
++/*
++ * Same as find_vma, but also return a pointer to the previous VMA in *pprev.
++ */
+ struct vm_area_struct *
+ find_vma_prev(struct mm_struct *mm, unsigned long addr,
+                       struct vm_area_struct **pprev)
+ {
+-      struct vm_area_struct *vma = NULL, *prev = NULL;
+-      struct rb_node *rb_node;
+-      if (!mm)
+-              goto out;
+-
+-      /* Guard against addr being lower than the first VMA */
+-      vma = mm->mmap;
+-
+-      /* Go through the RB tree quickly. */
+-      rb_node = mm->mm_rb.rb_node;
+-
+-      while (rb_node) {
+-              struct vm_area_struct *vma_tmp;
+-              vma_tmp = rb_entry(rb_node, struct vm_area_struct, vm_rb);
+-
+-              if (addr < vma_tmp->vm_end) {
+-                      rb_node = rb_node->rb_left;
+-              } else {
+-                      prev = vma_tmp;
+-                      if (!prev->vm_next || (addr < prev->vm_next->vm_end))
+-                              break;
++      struct vm_area_struct *vma;
++
++      vma = find_vma(mm, addr);
++      if (vma) {
++              *pprev = vma->vm_prev;
++      } else {
++              struct rb_node *rb_node = mm->mm_rb.rb_node;
++              *pprev = NULL;
++              while (rb_node) {
++                      *pprev = rb_entry(rb_node, struct vm_area_struct, vm_rb);
+                       rb_node = rb_node->rb_right;
+               }
+       }
++      return vma;
++}
++
 +#ifdef CONFIG_PAX_SEGMEXEC
 +struct vm_area_struct *pax_find_mirror_vma(struct vm_area_struct *vma)
 +{
 +      struct vm_area_struct *vma_m;
-+
+-out:
+-      *pprev = prev;
+-      return prev ? prev->vm_next : vma;
 +      BUG_ON(!vma || vma->vm_start >= vma->vm_end);
 +      if (!(vma->vm_mm->pax_flags & MF_PAX_SEGMEXEC) || !(vma->vm_flags & VM_EXEC)) {
 +              BUG_ON(vma->vm_mirror);
@@ -71645,13 +72323,12 @@ index a65efd4..17d61ff 100644
 +      BUG_ON(vma->anon_vma != vma_m->anon_vma && vma->anon_vma->root != vma_m->anon_vma->root);
 +      BUG_ON((vma->vm_flags ^ vma_m->vm_flags) & ~(VM_WRITE | VM_MAYWRITE | VM_ACCOUNT | VM_LOCKED | VM_RESERVED));
 +      return vma_m;
-+}
+ }
 +#endif
-+
  /*
   * Verify that the stack growth is acceptable and
-  * update accounting. This is shared with both the
-@@ -1654,6 +1902,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
+@@ -1654,6 +1893,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
                return -ENOMEM;
  
        /* Stack limit test */
@@ -71659,7 +72336,7 @@ index a65efd4..17d61ff 100644
        if (size > ACCESS_ONCE(rlim[RLIMIT_STACK].rlim_cur))
                return -ENOMEM;
  
-@@ -1664,6 +1913,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
+@@ -1664,6 +1904,7 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
                locked = mm->locked_vm + grow;
                limit = ACCESS_ONCE(rlim[RLIMIT_MEMLOCK].rlim_cur);
                limit >>= PAGE_SHIFT;
@@ -71667,7 +72344,7 @@ index a65efd4..17d61ff 100644
                if (locked > limit && !capable(CAP_IPC_LOCK))
                        return -ENOMEM;
        }
-@@ -1694,37 +1944,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
+@@ -1694,37 +1935,48 @@ static int acct_stack_growth(struct vm_area_struct *vma, unsigned long size, uns
   * PA-RISC uses this for its stack; IA64 for its Register Backing Store.
   * vma is the last one with address > vma->vm_end.  Have to extend vma.
   */
@@ -71725,7 +72402,7 @@ index a65efd4..17d61ff 100644
                unsigned long size, grow;
  
                size = address - vma->vm_start;
-@@ -1739,6 +2000,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
+@@ -1739,6 +1991,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
                        }
                }
        }
@@ -71734,7 +72411,7 @@ index a65efd4..17d61ff 100644
        vma_unlock_anon_vma(vma);
        khugepaged_enter_vma_merge(vma);
        return error;
-@@ -1752,6 +2015,8 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1752,6 +2006,8 @@ int expand_downwards(struct vm_area_struct *vma,
                                   unsigned long address)
  {
        int error;
@@ -71743,7 +72420,7 @@ index a65efd4..17d61ff 100644
  
        /*
         * We must make sure the anon_vma is allocated
-@@ -1765,6 +2030,15 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1765,6 +2021,15 @@ int expand_downwards(struct vm_area_struct *vma,
        if (error)
                return error;
  
@@ -71759,7 +72436,7 @@ index a65efd4..17d61ff 100644
        vma_lock_anon_vma(vma);
  
        /*
-@@ -1774,9 +2048,17 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1774,9 +2039,17 @@ int expand_downwards(struct vm_area_struct *vma,
         */
  
        /* Somebody else might have raced and expanded it already */
@@ -71778,7 +72455,7 @@ index a65efd4..17d61ff 100644
                size = vma->vm_end - address;
                grow = (vma->vm_start - address) >> PAGE_SHIFT;
  
-@@ -1786,11 +2068,22 @@ int expand_downwards(struct vm_area_struct *vma,
+@@ -1786,11 +2059,22 @@ int expand_downwards(struct vm_area_struct *vma,
                        if (!error) {
                                vma->vm_start = address;
                                vma->vm_pgoff -= grow;
@@ -71801,7 +72478,7 @@ index a65efd4..17d61ff 100644
        khugepaged_enter_vma_merge(vma);
        return error;
  }
-@@ -1860,6 +2153,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma)
+@@ -1860,6 +2144,13 @@ static void remove_vma_list(struct mm_struct *mm, struct vm_area_struct *vma)
        do {
                long nrpages = vma_pages(vma);
  
@@ -71815,7 +72492,7 @@ index a65efd4..17d61ff 100644
                mm->total_vm -= nrpages;
                vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages);
                vma = remove_vma(vma);
-@@ -1905,6 +2205,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -1905,6 +2196,16 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma,
        insertion_point = (prev ? &prev->vm_next : &mm->mmap);
        vma->vm_prev = NULL;
        do {
@@ -71832,7 +72509,7 @@ index a65efd4..17d61ff 100644
                rb_erase(&vma->vm_rb, &mm->mm_rb);
                mm->map_count--;
                tail_vma = vma;
-@@ -1933,14 +2243,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1933,14 +2234,33 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
        struct vm_area_struct *new;
        int err = -ENOMEM;
  
@@ -71866,7 +72543,7 @@ index a65efd4..17d61ff 100644
        /* most fields are the same, copy all, and then fixup */
        *new = *vma;
  
-@@ -1953,6 +2282,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1953,6 +2273,22 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
                new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT);
        }
  
@@ -71889,7 +72566,7 @@ index a65efd4..17d61ff 100644
        pol = mpol_dup(vma_policy(vma));
        if (IS_ERR(pol)) {
                err = PTR_ERR(pol);
-@@ -1978,6 +2323,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1978,6 +2314,42 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
        else
                err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new);
  
@@ -71932,7 +72609,7 @@ index a65efd4..17d61ff 100644
        /* Success. */
        if (!err)
                return 0;
-@@ -1990,10 +2371,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -1990,10 +2362,18 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
                        removed_exe_file_vma(mm);
                fput(new->vm_file);
        }
@@ -71952,7 +72629,7 @@ index a65efd4..17d61ff 100644
        kmem_cache_free(vm_area_cachep, new);
   out_err:
        return err;
-@@ -2006,6 +2395,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
+@@ -2006,6 +2386,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
  int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
              unsigned long addr, int new_below)
  {
@@ -71968,7 +72645,7 @@ index a65efd4..17d61ff 100644
        if (mm->map_count >= sysctl_max_map_count)
                return -ENOMEM;
  
-@@ -2017,11 +2415,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2017,11 +2406,30 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
   * work.  This now handles partial unmappings.
   * Jeremy Fitzhardinge <jeremy@goop.org>
   */
@@ -71999,7 +72676,7 @@ index a65efd4..17d61ff 100644
        if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start)
                return -EINVAL;
  
-@@ -2096,6 +2513,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
+@@ -2096,6 +2504,8 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len)
        /* Fix up all other VM information */
        remove_vma_list(mm, vma);
  
@@ -72008,7 +72685,7 @@ index a65efd4..17d61ff 100644
        return 0;
  }
  
-@@ -2108,22 +2527,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
+@@ -2108,22 +2518,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
  
        profile_munmap(addr);
  
@@ -72037,7 +72714,7 @@ index a65efd4..17d61ff 100644
  /*
   *  this is really a simplified "do_mmap".  it only handles
   *  anonymous maps.  eventually we may be able to do some
-@@ -2137,6 +2552,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2137,6 +2543,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
        struct rb_node ** rb_link, * rb_parent;
        pgoff_t pgoff = addr >> PAGE_SHIFT;
        int error;
@@ -72045,7 +72722,7 @@ index a65efd4..17d61ff 100644
  
        len = PAGE_ALIGN(len);
        if (!len)
-@@ -2148,16 +2564,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2148,16 +2555,30 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
  
        flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;
  
@@ -72077,7 +72754,7 @@ index a65efd4..17d61ff 100644
                locked += mm->locked_vm;
                lock_limit = rlimit(RLIMIT_MEMLOCK);
                lock_limit >>= PAGE_SHIFT;
-@@ -2174,22 +2604,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2174,22 +2595,22 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
        /*
         * Clear old maps.  this also does some error checking for us
         */
@@ -72104,7 +72781,7 @@ index a65efd4..17d61ff 100644
                return -ENOMEM;
  
        /* Can we just expand an old private anonymous mapping? */
-@@ -2203,7 +2633,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2203,7 +2624,7 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
         */
        vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
        if (!vma) {
@@ -72113,7 +72790,7 @@ index a65efd4..17d61ff 100644
                return -ENOMEM;
        }
  
-@@ -2217,11 +2647,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
+@@ -2217,11 +2638,12 @@ unsigned long do_brk(unsigned long addr, unsigned long len)
        vma_link(mm, vma, prev, rb_link, rb_parent);
  out:
        perf_event_mmap(vma);
@@ -72128,7 +72805,7 @@ index a65efd4..17d61ff 100644
        return addr;
  }
  
-@@ -2268,8 +2699,10 @@ void exit_mmap(struct mm_struct *mm)
+@@ -2268,8 +2690,10 @@ void exit_mmap(struct mm_struct *mm)
         * Walk the list again, actually closing and freeing it,
         * with preemption enabled, without holding any MM locks.
         */
@@ -72140,7 +72817,7 @@ index a65efd4..17d61ff 100644
  
        BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT);
  }
-@@ -2283,6 +2716,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
+@@ -2283,6 +2707,13 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
        struct vm_area_struct * __vma, * prev;
        struct rb_node ** rb_link, * rb_parent;
  
@@ -72154,7 +72831,7 @@ index a65efd4..17d61ff 100644
        /*
         * The vm_pgoff of a purely anonymous vma should be irrelevant
         * until its first write fault, when page's anon_vma and index
-@@ -2305,7 +2745,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
+@@ -2305,7 +2736,22 @@ int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
        if ((vma->vm_flags & VM_ACCOUNT) &&
             security_vm_enough_memory_mm(mm, vma_pages(vma)))
                return -ENOMEM;
@@ -72177,7 +72854,7 @@ index a65efd4..17d61ff 100644
        return 0;
  }
  
-@@ -2323,6 +2778,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -2323,6 +2769,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
        struct rb_node **rb_link, *rb_parent;
        struct mempolicy *pol;
  
@@ -72186,7 +72863,7 @@ index a65efd4..17d61ff 100644
        /*
         * If anonymous vma has not yet been faulted, update new pgoff
         * to match new location, to increase its chance of merging.
-@@ -2373,6 +2830,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -2373,6 +2821,39 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
        return NULL;
  }
  
@@ -72226,7 +72903,7 @@ index a65efd4..17d61ff 100644
  /*
   * Return true if the calling process may expand its vm space by the passed
   * number of pages
-@@ -2383,7 +2873,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages)
+@@ -2383,7 +2864,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long npages)
        unsigned long lim;
  
        lim = rlimit(RLIMIT_AS) >> PAGE_SHIFT;
@@ -72235,7 +72912,7 @@ index a65efd4..17d61ff 100644
        if (cur + npages > lim)
                return 0;
        return 1;
-@@ -2454,6 +2944,22 @@ int install_special_mapping(struct mm_struct *mm,
+@@ -2454,6 +2935,22 @@ int install_special_mapping(struct mm_struct *mm,
        vma->vm_start = addr;
        vma->vm_end = addr + len;
  
@@ -72489,12 +73166,12 @@ index 5a688a2..27e031c 100644
  
                if (nstart < prev->vm_end)
 diff --git a/mm/mremap.c b/mm/mremap.c
-index 506fa44..ccc0ba9 100644
+index d6959cb..18a402a 100644
 --- a/mm/mremap.c
 +++ b/mm/mremap.c
-@@ -113,6 +113,12 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd,
+@@ -106,6 +106,12 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd,
                        continue;
-               pte = ptep_clear_flush(vma, old_addr, old_pte);
+               pte = ptep_get_and_clear(mm, old_addr, old_pte);
                pte = move_pte(pte, new_vma->vm_page_prot, old_addr, new_addr);
 +
 +#ifdef CONFIG_ARCH_TRACK_EXEC_LIMIT
@@ -72505,7 +73182,7 @@ index 506fa44..ccc0ba9 100644
                set_pte_at(mm, new_addr, new_pte, pte);
        }
  
-@@ -272,6 +278,11 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr,
+@@ -290,6 +296,11 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr,
        if (is_vm_hugetlb_page(vma))
                goto Einval;
  
@@ -72517,7 +73194,7 @@ index 506fa44..ccc0ba9 100644
        /* We can't remap across vm area boundaries */
        if (old_len > vma->vm_end - addr)
                goto Efault;
-@@ -328,20 +339,25 @@ static unsigned long mremap_to(unsigned long addr,
+@@ -346,20 +357,25 @@ static unsigned long mremap_to(unsigned long addr,
        unsigned long ret = -EINVAL;
        unsigned long charged = 0;
        unsigned long map_flags;
@@ -72548,7 +73225,7 @@ index 506fa44..ccc0ba9 100644
                goto out;
  
        ret = security_file_mmap(NULL, 0, 0, 0, new_addr, 1);
-@@ -413,6 +429,7 @@ unsigned long do_mremap(unsigned long addr,
+@@ -431,6 +447,7 @@ unsigned long do_mremap(unsigned long addr,
        struct vm_area_struct *vma;
        unsigned long ret = -EINVAL;
        unsigned long charged = 0;
@@ -72556,7 +73233,7 @@ index 506fa44..ccc0ba9 100644
  
        if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE))
                goto out;
-@@ -431,6 +448,17 @@ unsigned long do_mremap(unsigned long addr,
+@@ -449,6 +466,17 @@ unsigned long do_mremap(unsigned long addr,
        if (!new_len)
                goto out;
  
@@ -72574,7 +73251,7 @@ index 506fa44..ccc0ba9 100644
        if (flags & MREMAP_FIXED) {
                if (flags & MREMAP_MAYMOVE)
                        ret = mremap_to(addr, old_len, new_addr, new_len);
-@@ -480,6 +508,7 @@ unsigned long do_mremap(unsigned long addr,
+@@ -498,6 +526,7 @@ unsigned long do_mremap(unsigned long addr,
                                                   addr + new_len);
                        }
                        ret = addr;
@@ -72582,7 +73259,7 @@ index 506fa44..ccc0ba9 100644
                        goto out;
                }
        }
-@@ -506,7 +535,13 @@ unsigned long do_mremap(unsigned long addr,
+@@ -524,7 +553,13 @@ unsigned long do_mremap(unsigned long addr,
                ret = security_file_mmap(NULL, 0, 0, 0, new_addr, 1);
                if (ret)
                        goto out;
@@ -72597,7 +73274,7 @@ index 506fa44..ccc0ba9 100644
  out:
        if (ret & ~PAGE_MASK)
 diff --git a/mm/nobootmem.c b/mm/nobootmem.c
-index 6e93dc7..c98df0c 100644
+index 7fa41b4..6087460 100644
 --- a/mm/nobootmem.c
 +++ b/mm/nobootmem.c
 @@ -110,19 +110,30 @@ static void __init __free_pages_memory(unsigned long start, unsigned long end)
@@ -72634,7 +73311,7 @@ index 6e93dc7..c98df0c 100644
        return count;
  }
 diff --git a/mm/nommu.c b/mm/nommu.c
-index 4358032..e79b99f 100644
+index f59e170..34e2a2b 100644
 --- a/mm/nommu.c
 +++ b/mm/nommu.c
 @@ -62,7 +62,6 @@ int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */
@@ -72645,7 +73322,7 @@ index 4358032..e79b99f 100644
  
  atomic_long_t mmap_pages_allocated;
  
-@@ -825,15 +824,6 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
+@@ -827,15 +826,6 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
  EXPORT_SYMBOL(find_vma);
  
  /*
@@ -72661,7 +73338,7 @@ index 4358032..e79b99f 100644
   * expand a stack to a given address
   * - not supported under NOMMU conditions
   */
-@@ -1553,6 +1543,7 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -1555,6 +1545,7 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
  
        /* most fields are the same, copy all, and then fixup */
        *new = *vma;
@@ -72669,24 +73346,11 @@ index 4358032..e79b99f 100644
        *region = *vma->vm_region;
        new->vm_region = region;
  
-diff --git a/mm/oom_kill.c b/mm/oom_kill.c
-index 626303b..e9a1785 100644
---- a/mm/oom_kill.c
-+++ b/mm/oom_kill.c
-@@ -162,7 +162,7 @@ static bool oom_unkillable_task(struct task_struct *p,
- unsigned int oom_badness(struct task_struct *p, struct mem_cgroup *mem,
-                     const nodemask_t *nodemask, unsigned long totalpages)
- {
--      int points;
-+      long points;
-       if (oom_unkillable_task(p, mem, nodemask))
-               return 0;
 diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index 6e8ecb6..d9e3d7a 100644
+index 485be89..c059ad3 100644
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -340,7 +340,7 @@ out:
+@@ -341,7 +341,7 @@ out:
   * This usage means that zero-order pages may not be compound.
   */
  
@@ -72695,17 +73359,7 @@ index 6e8ecb6..d9e3d7a 100644
  {
        __free_pages_ok(page, compound_order(page));
  }
-@@ -355,8 +355,8 @@ void prep_compound_page(struct page *page, unsigned long order)
-       __SetPageHead(page);
-       for (i = 1; i < nr_pages; i++) {
-               struct page *p = page + i;
--
-               __SetPageTail(p);
-+              set_page_count(p, 0);
-               p->first_page = page;
-       }
- }
-@@ -653,6 +653,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
+@@ -654,6 +654,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
        int i;
        int bad = 0;
  
@@ -72716,7 +73370,7 @@ index 6e8ecb6..d9e3d7a 100644
        trace_mm_page_free_direct(page, order);
        kmemcheck_free_shadow(page, order);
  
-@@ -668,6 +672,12 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
+@@ -669,6 +673,12 @@ static bool free_pages_prepare(struct page *page, unsigned int order)
                debug_check_no_obj_freed(page_address(page),
                                           PAGE_SIZE << order);
        }
@@ -72729,7 +73383,7 @@ index 6e8ecb6..d9e3d7a 100644
        arch_free_page(page, order);
        kernel_map_pages(page, 1 << order, 0);
  
-@@ -783,8 +793,10 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
+@@ -784,8 +794,10 @@ static int prep_new_page(struct page *page, int order, gfp_t gfp_flags)
        arch_alloc_page(page, order);
        kernel_map_pages(page, 1 << order, 1);
  
@@ -72740,16 +73394,7 @@ index 6e8ecb6..d9e3d7a 100644
  
        if (order && (gfp_flags & __GFP_COMP))
                prep_compound_page(page, order);
-@@ -2539,6 +2551,8 @@ void show_free_areas(unsigned int filter)
-       int cpu;
-       struct zone *zone;
-+      pax_track_stack();
-+
-       for_each_populated_zone(zone) {
-               if (skip_free_areas_node(filter, zone_to_nid(zone)))
-                       continue;
-@@ -3350,7 +3364,13 @@ static int pageblock_is_reserved(unsigned long start_pfn, unsigned long end_pfn)
+@@ -3357,7 +3369,13 @@ static int pageblock_is_reserved(unsigned long start_pfn, unsigned long end_pfn)
        unsigned long pfn;
  
        for (pfn = start_pfn; pfn < end_pfn; pfn++) {
@@ -72763,20 +73408,12 @@ index 6e8ecb6..d9e3d7a 100644
                        return 1;
        }
        return 0;
-@@ -3373,6 +3393,7 @@ static void setup_zone_migrate_reserve(struct zone *zone)
-       /* Get the start pfn, end pfn and the number of blocks to reserve */
-       start_pfn = zone->zone_start_pfn;
-       end_pfn = start_pfn + zone->spanned_pages;
-+      start_pfn = roundup(start_pfn, pageblock_nr_pages);
-       reserve = roundup(min_wmark_pages(zone), pageblock_nr_pages) >>
-                                                       pageblock_order;
 diff --git a/mm/percpu.c b/mm/percpu.c
-index bf80e55..c7c3f9a 100644
+index 716eb4a..8d10419 100644
 --- a/mm/percpu.c
 +++ b/mm/percpu.c
-@@ -121,7 +121,7 @@ static unsigned int pcpu_first_unit_cpu __read_mostly;
- static unsigned int pcpu_last_unit_cpu __read_mostly;
+@@ -121,7 +121,7 @@ static unsigned int pcpu_low_unit_cpu __read_mostly;
+ static unsigned int pcpu_high_unit_cpu __read_mostly;
  
  /* the address of the first chunk which starts with the kernel static area */
 -void *pcpu_base_addr __read_mostly;
@@ -72784,8 +73421,81 @@ index bf80e55..c7c3f9a 100644
  EXPORT_SYMBOL_GPL(pcpu_base_addr);
  
  static const int *pcpu_unit_map __read_mostly;                /* cpu -> unit */
+diff --git a/mm/process_vm_access.c b/mm/process_vm_access.c
+index e920aa3..137702a 100644
+--- a/mm/process_vm_access.c
++++ b/mm/process_vm_access.c
+@@ -13,6 +13,7 @@
+ #include <linux/uio.h>
+ #include <linux/sched.h>
+ #include <linux/highmem.h>
++#include <linux/security.h>
+ #include <linux/ptrace.h>
+ #include <linux/slab.h>
+ #include <linux/syscalls.h>
+@@ -258,19 +259,19 @@ static ssize_t process_vm_rw_core(pid_t pid, const struct iovec *lvec,
+       size_t iov_l_curr_offset = 0;
+       ssize_t iov_len;
++      return -ENOSYS; // PaX: until properly audited
++
+       /*
+        * Work out how many pages of struct pages we're going to need
+        * when eventually calling get_user_pages
+        */
+       for (i = 0; i < riovcnt; i++) {
+               iov_len = rvec[i].iov_len;
+-              if (iov_len > 0) {
+-                      nr_pages_iov = ((unsigned long)rvec[i].iov_base
+-                                      + iov_len)
+-                              / PAGE_SIZE - (unsigned long)rvec[i].iov_base
+-                              / PAGE_SIZE + 1;
+-                      nr_pages = max(nr_pages, nr_pages_iov);
+-              }
++              if (iov_len <= 0)
++                      continue;
++              nr_pages_iov = ((unsigned long)rvec[i].iov_base + iov_len) / PAGE_SIZE -
++                              (unsigned long)rvec[i].iov_base / PAGE_SIZE + 1;
++              nr_pages = max(nr_pages, nr_pages_iov);
+       }
+       if (nr_pages == 0)
+@@ -298,23 +299,23 @@ static ssize_t process_vm_rw_core(pid_t pid, const struct iovec *lvec,
+               goto free_proc_pages;
+       }
+-      task_lock(task);
+-      if (__ptrace_may_access(task, PTRACE_MODE_ATTACH)) {
+-              task_unlock(task);
++      if (gr_handle_ptrace(task, vm_write ? PTRACE_POKETEXT : PTRACE_ATTACH)) {
+               rc = -EPERM;
+               goto put_task_struct;
+       }
+-      mm = task->mm;
+-      if (!mm || (task->flags & PF_KTHREAD)) {
+-              task_unlock(task);
+-              rc = -EINVAL;
++      mm = mm_access(task, PTRACE_MODE_ATTACH);
++      if (!mm || IS_ERR(mm)) {
++              rc = IS_ERR(mm) ? PTR_ERR(mm) : -ESRCH;
++              /*
++               * Explicitly map EACCES to EPERM as EPERM is a more a
++               * appropriate error code for process_vw_readv/writev
++               */
++              if (rc == -EACCES)
++                      rc = -EPERM;
+               goto put_task_struct;
+       }
+-      atomic_inc(&mm->mm_users);
+-      task_unlock(task);
+-
+       for (i = 0; i < riovcnt && iov_l_curr_idx < liovcnt; i++) {
+               rc = process_vm_rw_single_vec(
+                       (unsigned long)rvec[i].iov_base, rvec[i].iov_len,
 diff --git a/mm/rmap.c b/mm/rmap.c
-index 8005080..198c2cd 100644
+index a4fd368..e0ffec7 100644
 --- a/mm/rmap.c
 +++ b/mm/rmap.c
 @@ -152,6 +152,10 @@ int anon_vma_prepare(struct vm_area_struct *vma)
@@ -72878,11 +73588,11 @@ index 8005080..198c2cd 100644
        struct anon_vma_chain *avc;
        struct anon_vma *anon_vma;
 diff --git a/mm/shmem.c b/mm/shmem.c
-index 32f6763..431c405 100644
+index 6c253f7..367e20a 100644
 --- a/mm/shmem.c
 +++ b/mm/shmem.c
 @@ -31,7 +31,7 @@
- #include <linux/module.h>
+ #include <linux/export.h>
  #include <linux/swap.h>
  
 -static struct vfsmount *shm_mnt;
@@ -72899,16 +73609,7 @@ index 32f6763..431c405 100644
  
  struct shmem_xattr {
        struct list_head list;  /* anchored by shmem_inode_info->xattr_list */
-@@ -769,6 +769,8 @@ static struct page *shmem_swapin(swp_entry_t swap, gfp_t gfp,
-       struct mempolicy mpol, *spol;
-       struct vm_area_struct pvma;
-+      pax_track_stack();
-+
-       spol = mpol_cond_copy(&mpol,
-                       mpol_shared_policy_lookup(&info->policy, index));
-@@ -2149,8 +2151,7 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
+@@ -2180,8 +2180,7 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
        int err = -ENOMEM;
  
        /* Round up to L1_CACHE_BYTES to resist false sharing */
@@ -72919,7 +73620,7 @@ index 32f6763..431c405 100644
                return -ENOMEM;
  
 diff --git a/mm/slab.c b/mm/slab.c
-index 893c76d..a742de2 100644
+index 83311c9a..fcf8f86 100644
 --- a/mm/slab.c
 +++ b/mm/slab.c
 @@ -151,7 +151,7 @@
@@ -73009,7 +73710,7 @@ index 893c76d..a742de2 100644
                                        NULL);
                }
  #ifdef CONFIG_ZONE_DMA
-@@ -4327,10 +4327,10 @@ static int s_show(struct seq_file *m, void *p)
+@@ -4322,10 +4322,10 @@ static int s_show(struct seq_file *m, void *p)
        }
        /* cpu stats */
        {
@@ -73024,21 +73725,12 @@ index 893c76d..a742de2 100644
  
                seq_printf(m, " : cpustat %6lu %6lu %6lu %6lu",
                           allochit, allocmiss, freehit, freemiss);
-@@ -4587,15 +4587,70 @@ static const struct file_operations proc_slabstats_operations = {
- static int __init slab_proc_init(void)
+@@ -4584,13 +4584,62 @@ static int __init slab_proc_init(void)
  {
--      proc_create("slabinfo",S_IWUSR|S_IRUGO,NULL,&proc_slabinfo_operations);
-+      mode_t gr_mode = S_IRUGO;
-+
-+#ifdef CONFIG_GRKERNSEC_PROC_ADD
-+      gr_mode = S_IRUSR;
-+#endif
-+
-+      proc_create("slabinfo",S_IWUSR|gr_mode,NULL,&proc_slabinfo_operations);
+       proc_create("slabinfo",S_IWUSR|S_IRUSR,NULL,&proc_slabinfo_operations);
  #ifdef CONFIG_DEBUG_SLAB_LEAK
 -      proc_create("slab_allocators", 0, NULL, &proc_slabstats_operations);
-+      proc_create("slab_allocators", gr_mode, NULL, &proc_slabstats_operations);
++      proc_create("slab_allocators", S_IRUSR, NULL, &proc_slabstats_operations);
  #endif
        return 0;
  }
@@ -73098,7 +73790,7 @@ index 893c76d..a742de2 100644
   * ksize - get the actual amount of memory allocated for a given object
   * @objp: Pointer to the object
 diff --git a/mm/slob.c b/mm/slob.c
-index bf39181..727f7a3 100644
+index 8105be4..e045f96 100644
 --- a/mm/slob.c
 +++ b/mm/slob.c
 @@ -29,7 +29,7 @@
@@ -73289,7 +73981,7 @@ index bf39181..727f7a3 100644
 +
 +      type = "<process stack>";
 +      sp = slob_page(ptr);
-+      if (!PageSlab((struct page*)sp)) {
++      if (!PageSlab((struct page *)sp)) {
 +              if (object_is_on_stack(ptr, n) == -1)
 +                      goto report;
 +              return;
@@ -73454,7 +74146,7 @@ index bf39181..727f7a3 100644
  EXPORT_SYMBOL(kmem_cache_free);
  
 diff --git a/mm/slub.c b/mm/slub.c
-index 7c54fe8..0bb4ac5 100644
+index 1a919f0..1739c9b 100644
 --- a/mm/slub.c
 +++ b/mm/slub.c
 @@ -208,7 +208,7 @@ struct track {
@@ -73466,7 +74158,7 @@ index 7c54fe8..0bb4ac5 100644
  static int sysfs_slab_add(struct kmem_cache *);
  static int sysfs_slab_alias(struct kmem_cache *, const char *);
  static void sysfs_slab_remove(struct kmem_cache *);
-@@ -556,7 +556,7 @@ static void print_track(const char *s, struct track *t)
+@@ -530,7 +530,7 @@ static void print_track(const char *s, struct track *t)
        if (!t->addr)
                return;
  
@@ -73475,7 +74167,7 @@ index 7c54fe8..0bb4ac5 100644
                s, (void *)t->addr, jiffies - t->when, t->cpu, t->pid);
  #ifdef CONFIG_STACKTRACE
        {
-@@ -2456,6 +2456,8 @@ void kmem_cache_free(struct kmem_cache *s, void *x)
+@@ -2559,6 +2559,8 @@ void kmem_cache_free(struct kmem_cache *s, void *x)
  
        page = virt_to_head_page(x);
  
@@ -73484,7 +74176,7 @@ index 7c54fe8..0bb4ac5 100644
        slab_free(s, page, x, _RET_IP_);
  
        trace_kmem_cache_free(_RET_IP_, x);
-@@ -2489,7 +2491,7 @@ static int slub_min_objects;
+@@ -2592,7 +2594,7 @@ static int slub_min_objects;
   * Merge control. If this is set then no merging of slab caches will occur.
   * (Could be removed. This was introduced to pacify the merge skeptics.)
   */
@@ -73493,16 +74185,16 @@ index 7c54fe8..0bb4ac5 100644
  
  /*
   * Calculate the order of allocation given an slab object size.
-@@ -2912,7 +2914,7 @@ static int kmem_cache_open(struct kmem_cache *s,
-        * list to avoid pounding the page allocator excessively.
-        */
-       set_min_partial(s, ilog2(s->size));
+@@ -3042,7 +3044,7 @@ static int kmem_cache_open(struct kmem_cache *s,
+       else
+               s->cpu_partial = 30;
 -      s->refcount = 1;
 +      atomic_set(&s->refcount, 1);
  #ifdef CONFIG_NUMA
        s->remote_node_defrag_ratio = 1000;
  #endif
-@@ -3017,8 +3019,7 @@ static inline int kmem_cache_close(struct kmem_cache *s)
+@@ -3146,8 +3148,7 @@ static inline int kmem_cache_close(struct kmem_cache *s)
  void kmem_cache_destroy(struct kmem_cache *s)
  {
        down_write(&slub_lock);
@@ -73510,9 +74202,9 @@ index 7c54fe8..0bb4ac5 100644
 -      if (!s->refcount) {
 +      if (atomic_dec_and_test(&s->refcount)) {
                list_del(&s->list);
+               up_write(&slub_lock);
                if (kmem_cache_close(s)) {
-                       printk(KERN_ERR "SLUB %s: %s called for cache that "
-@@ -3228,6 +3229,50 @@ void *__kmalloc_node(size_t size, gfp_t flags, int node)
+@@ -3358,6 +3359,50 @@ void *__kmalloc_node(size_t size, gfp_t flags, int node)
  EXPORT_SYMBOL(__kmalloc_node);
  #endif
  
@@ -73563,7 +74255,7 @@ index 7c54fe8..0bb4ac5 100644
  size_t ksize(const void *object)
  {
        struct page *page;
-@@ -3502,7 +3547,7 @@ static void __init kmem_cache_bootstrap_fixup(struct kmem_cache *s)
+@@ -3632,7 +3677,7 @@ static void __init kmem_cache_bootstrap_fixup(struct kmem_cache *s)
        int node;
  
        list_add(&s->list, &slab_caches);
@@ -73572,7 +74264,7 @@ index 7c54fe8..0bb4ac5 100644
  
        for_each_node_state(node, N_NORMAL_MEMORY) {
                struct kmem_cache_node *n = get_node(s, node);
-@@ -3619,17 +3664,17 @@ void __init kmem_cache_init(void)
+@@ -3749,17 +3794,17 @@ void __init kmem_cache_init(void)
  
        /* Caches that are not of the two-to-the-power-of size */
        if (KMALLOC_MIN_SIZE <= 32) {
@@ -73593,7 +74285,7 @@ index 7c54fe8..0bb4ac5 100644
                caches++;
        }
  
-@@ -3697,7 +3742,7 @@ static int slab_unmergeable(struct kmem_cache *s)
+@@ -3827,7 +3872,7 @@ static int slab_unmergeable(struct kmem_cache *s)
        /*
         * We may have set a slab to be unmergeable during bootstrap.
         */
@@ -73602,7 +74294,7 @@ index 7c54fe8..0bb4ac5 100644
                return 1;
  
        return 0;
-@@ -3756,7 +3801,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
+@@ -3886,7 +3931,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
        down_write(&slub_lock);
        s = find_mergeable(size, align, flags, name, ctor);
        if (s) {
@@ -73611,7 +74303,7 @@ index 7c54fe8..0bb4ac5 100644
                /*
                 * Adjust the object sizes so that we clear
                 * the complete object on kzalloc.
-@@ -3765,7 +3810,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
+@@ -3895,7 +3940,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
                s->inuse = max_t(int, s->inuse, ALIGN(size, sizeof(void *)));
  
                if (sysfs_slab_alias(s, name)) {
@@ -73620,7 +74312,7 @@ index 7c54fe8..0bb4ac5 100644
                        goto err;
                }
                up_write(&slub_lock);
-@@ -3893,7 +3938,7 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
+@@ -4023,7 +4068,7 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
  }
  #endif
  
@@ -73629,7 +74321,7 @@ index 7c54fe8..0bb4ac5 100644
  static int count_inuse(struct page *page)
  {
        return page->inuse;
-@@ -4280,12 +4325,12 @@ static void resiliency_test(void)
+@@ -4410,12 +4455,12 @@ static void resiliency_test(void)
        validate_slab_cache(kmalloc_caches[9]);
  }
  #else
@@ -73644,7 +74336,7 @@ index 7c54fe8..0bb4ac5 100644
  enum slab_stat_type {
        SL_ALL,                 /* All slabs */
        SL_PARTIAL,             /* Only partially allocated slabs */
-@@ -4495,7 +4540,7 @@ SLAB_ATTR_RO(ctor);
+@@ -4656,7 +4701,7 @@ SLAB_ATTR_RO(ctor);
  
  static ssize_t aliases_show(struct kmem_cache *s, char *buf)
  {
@@ -73653,7 +74345,7 @@ index 7c54fe8..0bb4ac5 100644
  }
  SLAB_ATTR_RO(aliases);
  
-@@ -5025,6 +5070,7 @@ static char *create_unique_id(struct kmem_cache *s)
+@@ -5223,6 +5268,7 @@ static char *create_unique_id(struct kmem_cache *s)
        return name;
  }
  
@@ -73661,7 +74353,7 @@ index 7c54fe8..0bb4ac5 100644
  static int sysfs_slab_add(struct kmem_cache *s)
  {
        int err;
-@@ -5087,6 +5133,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
+@@ -5285,6 +5331,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
        kobject_del(&s->kobj);
        kobject_put(&s->kobj);
  }
@@ -73669,7 +74361,7 @@ index 7c54fe8..0bb4ac5 100644
  
  /*
   * Need to buffer aliases during bootup until sysfs becomes
-@@ -5100,6 +5147,7 @@ struct saved_alias {
+@@ -5298,6 +5345,7 @@ struct saved_alias {
  
  static struct saved_alias *alias_list;
  
@@ -73677,7 +74369,7 @@ index 7c54fe8..0bb4ac5 100644
  static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
  {
        struct saved_alias *al;
-@@ -5122,6 +5170,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
+@@ -5320,6 +5368,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
        alias_list = al;
        return 0;
  }
@@ -73685,23 +74377,8 @@ index 7c54fe8..0bb4ac5 100644
  
  static int __init slab_sysfs_init(void)
  {
-@@ -5257,7 +5306,13 @@ static const struct file_operations proc_slabinfo_operations = {
- static int __init slab_proc_init(void)
- {
--      proc_create("slabinfo", S_IRUGO, NULL, &proc_slabinfo_operations);
-+      mode_t gr_mode = S_IRUGO;
-+
-+#ifdef CONFIG_GRKERNSEC_PROC_ADD
-+      gr_mode = S_IRUSR;
-+#endif
-+
-+      proc_create("slabinfo", gr_mode, NULL, &proc_slabinfo_operations);
-       return 0;
- }
- module_init(slab_proc_init);
 diff --git a/mm/swap.c b/mm/swap.c
-index 87627f1..8a9eb34 100644
+index 55b266d..a532537 100644
 --- a/mm/swap.c
 +++ b/mm/swap.c
 @@ -31,6 +31,7 @@
@@ -73722,10 +74399,10 @@ index 87627f1..8a9eb34 100644
  }
  
 diff --git a/mm/swapfile.c b/mm/swapfile.c
-index 17bc224..1677059 100644
+index b1cd120..aaae885 100644
 --- a/mm/swapfile.c
 +++ b/mm/swapfile.c
-@@ -62,7 +62,7 @@ static DEFINE_MUTEX(swapon_mutex);
+@@ -61,7 +61,7 @@ static DEFINE_MUTEX(swapon_mutex);
  
  static DECLARE_WAIT_QUEUE_HEAD(proc_poll_wait);
  /* Activity counter to indicate that a swapon or swapoff has occurred */
@@ -73734,7 +74411,7 @@ index 17bc224..1677059 100644
  
  static inline unsigned char swap_count(unsigned char ent)
  {
-@@ -1671,7 +1671,7 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
+@@ -1670,7 +1670,7 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
        }
        filp_close(swap_file, NULL);
        err = 0;
@@ -73743,7 +74420,7 @@ index 17bc224..1677059 100644
        wake_up_interruptible(&proc_poll_wait);
  
  out_dput:
-@@ -1687,8 +1687,8 @@ static unsigned swaps_poll(struct file *file, poll_table *wait)
+@@ -1686,8 +1686,8 @@ static unsigned swaps_poll(struct file *file, poll_table *wait)
  
        poll_wait(file, &proc_poll_wait, wait);
  
@@ -73754,7 +74431,7 @@ index 17bc224..1677059 100644
                return POLLIN | POLLRDNORM | POLLERR | POLLPRI;
        }
  
-@@ -1786,7 +1786,7 @@ static int swaps_open(struct inode *inode, struct file *file)
+@@ -1785,7 +1785,7 @@ static int swaps_open(struct inode *inode, struct file *file)
                return ret;
  
        seq = file->private_data;
@@ -73763,7 +74440,7 @@ index 17bc224..1677059 100644
        return 0;
  }
  
-@@ -2124,7 +2124,7 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
+@@ -2123,7 +2123,7 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
                (p->flags & SWP_DISCARDABLE) ? "D" : "");
  
        mutex_unlock(&swapon_mutex);
@@ -73773,26 +74450,10 @@ index 17bc224..1677059 100644
  
        if (S_ISREG(inode->i_mode))
 diff --git a/mm/util.c b/mm/util.c
-index 88ea1bd..0f1dfdb 100644
+index 136ac4f..f917fa9 100644
 --- a/mm/util.c
 +++ b/mm/util.c
-@@ -114,6 +114,7 @@ EXPORT_SYMBOL(memdup_user);
-  * allocated buffer. Use this if you don't want to free the buffer immediately
-  * like, for example, with RCU.
-  */
-+#undef __krealloc
- void *__krealloc(const void *p, size_t new_size, gfp_t flags)
- {
-       void *ret;
-@@ -147,6 +148,7 @@ EXPORT_SYMBOL(__krealloc);
-  * behaves exactly like kmalloc().  If @size is 0 and @p is not a
-  * %NULL pointer, the object pointed to is freed.
-  */
-+#undef krealloc
- void *krealloc(const void *p, size_t new_size, gfp_t flags)
- {
-       void *ret;
-@@ -243,6 +245,12 @@ void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -243,6 +243,12 @@ void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
  void arch_pick_mmap_layout(struct mm_struct *mm)
  {
        mm->mmap_base = TASK_UNMAPPED_BASE;
@@ -73806,7 +74467,7 @@ index 88ea1bd..0f1dfdb 100644
        mm->unmap_area = arch_unmap_area;
  }
 diff --git a/mm/vmalloc.c b/mm/vmalloc.c
-index 56faf31..862c072 100644
+index 27be2f0..633e5cc 100644
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
 @@ -39,8 +39,19 @@ static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end)
@@ -73943,7 +74604,7 @@ index 56faf31..862c072 100644
        if (!area)
 @@ -1627,6 +1682,13 @@ void *__vmalloc_node_range(unsigned long size, unsigned long align,
        if (!size || (size >> PAGE_SHIFT) > totalram_pages)
-               return NULL;
+               goto fail;
  
 +#if defined(CONFIG_MODULES) && defined(CONFIG_X86) && defined(CONFIG_PAX_KERNEXEC)
 +      if (!(pgprot_val(prot) & _PAGE_NX))
@@ -73954,70 +74615,12 @@ index 56faf31..862c072 100644
 +
        area = __get_vm_area_node(size, align, VM_ALLOC | VM_UNLIST,
                                  start, end, node, gfp_mask, caller);
-@@ -1634,6 +1696,8 @@ void *__vmalloc_node_range(unsigned long size, unsigned long align,
-               return NULL;
-       addr = __vmalloc_area_node(area, gfp_mask, prot, node, caller);
-+      if (!addr)
-+              return NULL;
-       /*
-        * In this function, newly allocated vm_struct is not added
-@@ -1672,6 +1736,7 @@ static void *__vmalloc_node(unsigned long size, unsigned long align,
-                               gfp_mask, prot, node, caller);
- }
-+#undef __vmalloc
- void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot)
- {
-       return __vmalloc_node(size, 1, gfp_mask, prot, -1,
-@@ -1695,6 +1760,7 @@ static inline void *__vmalloc_node_flags(unsigned long size,
-  *    For tight control over page level allocator and protection flags
-  *    use __vmalloc() instead.
-  */
-+#undef vmalloc
- void *vmalloc(unsigned long size)
- {
-       return __vmalloc_node_flags(size, -1, GFP_KERNEL | __GFP_HIGHMEM);
-@@ -1711,6 +1777,7 @@ EXPORT_SYMBOL(vmalloc);
-  *    For tight control over page level allocator and protection flags
-  *    use __vmalloc() instead.
-  */
-+#undef vzalloc
- void *vzalloc(unsigned long size)
- {
-       return __vmalloc_node_flags(size, -1,
-@@ -1725,6 +1792,7 @@ EXPORT_SYMBOL(vzalloc);
-  * The resulting memory area is zeroed so it can be mapped to userspace
-  * without leaking data.
-  */
-+#undef vmalloc_user
- void *vmalloc_user(unsigned long size)
- {
-       struct vm_struct *area;
-@@ -1752,6 +1820,7 @@ EXPORT_SYMBOL(vmalloc_user);
-  *    For tight control over page level allocator and protection flags
-  *    use __vmalloc() instead.
-  */
-+#undef vmalloc_node
- void *vmalloc_node(unsigned long size, int node)
- {
-       return __vmalloc_node(size, 1, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL,
-@@ -1771,6 +1840,7 @@ EXPORT_SYMBOL(vmalloc_node);
-  * For tight control over page level allocator and protection flags
-  * use __vmalloc_node() instead.
-  */
-+#undef vzalloc_node
- void *vzalloc_node(unsigned long size, int node)
- {
-       return __vmalloc_node_flags(size, node,
-@@ -1793,10 +1863,10 @@ EXPORT_SYMBOL(vzalloc_node);
+       if (!area)
+@@ -1800,10 +1862,9 @@ EXPORT_SYMBOL(vzalloc_node);
   *    For tight control over page level allocator and protection flags
   *    use __vmalloc() instead.
   */
 -
-+#undef vmalloc_exec
  void *vmalloc_exec(unsigned long size)
  {
 -      return __vmalloc_node(size, 1, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC,
@@ -74025,23 +74628,7 @@ index 56faf31..862c072 100644
                              -1, __builtin_return_address(0));
  }
  
-@@ -1815,6 +1885,7 @@ void *vmalloc_exec(unsigned long size)
-  *    Allocate enough 32bit PA addressable pages to cover @size from the
-  *    page level allocator and map them into contiguous kernel virtual space.
-  */
-+#undef vmalloc_32
- void *vmalloc_32(unsigned long size)
- {
-       return __vmalloc_node(size, 1, GFP_VMALLOC32, PAGE_KERNEL,
-@@ -1829,6 +1900,7 @@ EXPORT_SYMBOL(vmalloc_32);
-  * The resulting memory area is 32bit addressable and zeroed so it can be
-  * mapped to userspace without leaking data.
-  */
-+#undef vmalloc_32_user
- void *vmalloc_32_user(unsigned long size)
- {
-       struct vm_struct *area;
-@@ -2091,6 +2163,8 @@ int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
+@@ -2098,6 +2159,8 @@ int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
        unsigned long uaddr = vma->vm_start;
        unsigned long usize = vma->vm_end - vma->vm_start;
  
@@ -74051,15 +74638,15 @@ index 56faf31..862c072 100644
                return -EINVAL;
  
 diff --git a/mm/vmstat.c b/mm/vmstat.c
-index d52b13d..381d1ac 100644
+index 8fd603b..cf0d930 100644
 --- a/mm/vmstat.c
 +++ b/mm/vmstat.c
 @@ -78,7 +78,7 @@ void vm_events_fold_cpu(int cpu)
   *
   * vm_stat contains the global counters
   */
--atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS];
-+atomic_long_unchecked_t vm_stat[NR_VM_ZONE_STAT_ITEMS];
+-atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS] __cacheline_aligned_in_smp;
++atomic_long_unchecked_t vm_stat[NR_VM_ZONE_STAT_ITEMS] __cacheline_aligned_in_smp;
  EXPORT_SYMBOL(vm_stat);
  
  #ifdef CONFIG_SMP
@@ -74081,7 +74668,7 @@ index d52b13d..381d1ac 100644
  }
  
  #endif
-@@ -1207,10 +1207,20 @@ static int __init setup_vmstat(void)
+@@ -1208,10 +1208,20 @@ static int __init setup_vmstat(void)
                start_cpu_timer(cpu);
  #endif
  #ifdef CONFIG_PROC_FS
@@ -74107,7 +74694,7 @@ index d52b13d..381d1ac 100644
        return 0;
  }
 diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
-index 8970ba1..e3361fe 100644
+index 5471628..cef8398 100644
 --- a/net/8021q/vlan.c
 +++ b/net/8021q/vlan.c
 @@ -588,8 +588,7 @@ static int vlan_ioctl_handler(struct net *net, void __user *arg)
@@ -74133,28 +74720,6 @@ index fdfdb57..38d368c 100644
        set_fs(oldfs);
  
        if (ret <= 0 && ret != -ERESTARTSYS && ret != -EAGAIN)
-diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
-index e317583..3c8aeaf 100644
---- a/net/9p/trans_virtio.c
-+++ b/net/9p/trans_virtio.c
-@@ -327,7 +327,7 @@ req_retry_pinned:
-               } else {
-                       char *pbuf;
-                       if (req->tc->pubuf)
--                              pbuf = (__force char *) req->tc->pubuf;
-+                              pbuf = (char __force_kernel *) req->tc->pubuf;
-                       else
-                               pbuf = req->tc->pkbuf;
-                       outp = pack_sg_list(chan->sg, out, VIRTQUEUE_NUM, pbuf,
-@@ -357,7 +357,7 @@ req_retry_pinned:
-               } else {
-                       char *pbuf;
-                       if (req->tc->pubuf)
--                              pbuf = (__force char *) req->tc->pubuf;
-+                              pbuf = (char __force_kernel *) req->tc->pubuf;
-                       else
-                               pbuf = req->tc->pkbuf;
 diff --git a/net/atm/atm_misc.c b/net/atm/atm_misc.c
 index f41f026..fe76ea8 100644
 --- a/net/atm/atm_misc.c
@@ -74221,19 +74786,6 @@ index 0919a88..a23d54e 100644
  };
  
  
-diff --git a/net/atm/mpoa_caches.c b/net/atm/mpoa_caches.c
-index d1b2d9a..7cc2219 100644
---- a/net/atm/mpoa_caches.c
-+++ b/net/atm/mpoa_caches.c
-@@ -255,6 +255,8 @@ static void check_resolving_entries(struct mpoa_client *client)
-       struct timeval now;
-       struct k_message msg;
-+      pax_track_stack();
-+
-       do_gettimeofday(&now);
-       read_lock_bh(&client->ingress_lock);
 diff --git a/net/atm/proc.c b/net/atm/proc.c
 index 0d020de..011c7bb 100644
 --- a/net/atm/proc.c
@@ -74273,11 +74825,42 @@ index 23f45ce..c748f1a 100644
        __AAL_STAT_ITEMS
  #undef __HANDLE_ITEM
  }
+diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
+index 3512e25..2b33401 100644
+--- a/net/batman-adv/bat_iv_ogm.c
++++ b/net/batman-adv/bat_iv_ogm.c
+@@ -541,7 +541,7 @@ void bat_ogm_schedule(struct hard_iface *hard_iface, int tt_num_changes)
+       /* change sequence number to network order */
+       batman_ogm_packet->seqno =
+-                      htonl((uint32_t)atomic_read(&hard_iface->seqno));
++                      htonl((uint32_t)atomic_read_unchecked(&hard_iface->seqno));
+       batman_ogm_packet->ttvn = atomic_read(&bat_priv->ttvn);
+       batman_ogm_packet->tt_crc = htons((uint16_t)
+@@ -561,7 +561,7 @@ void bat_ogm_schedule(struct hard_iface *hard_iface, int tt_num_changes)
+       else
+               batman_ogm_packet->gw_flags = NO_FLAGS;
+-      atomic_inc(&hard_iface->seqno);
++      atomic_inc_unchecked(&hard_iface->seqno);
+       slide_own_bcast_window(hard_iface);
+       bat_ogm_queue_add(bat_priv, hard_iface->packet_buff,
+@@ -922,7 +922,7 @@ static void bat_ogm_process(const struct ethhdr *ethhdr,
+               return;
+       /* could be changed by schedule_own_packet() */
+-      if_incoming_seqno = atomic_read(&if_incoming->seqno);
++      if_incoming_seqno = atomic_read_unchecked(&if_incoming->seqno);
+       has_directlink_flag = (batman_ogm_packet->flags & DIRECTLINK ? 1 : 0);
 diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c
-index db7aacf..991e539 100644
+index 7704df4..beb4e16 100644
 --- a/net/batman-adv/hard-interface.c
 +++ b/net/batman-adv/hard-interface.c
-@@ -347,8 +347,8 @@ int hardif_enable_interface(struct hard_iface *hard_iface,
+@@ -326,8 +326,8 @@ int hardif_enable_interface(struct hard_iface *hard_iface,
        hard_iface->batman_adv_ptype.dev = hard_iface->net_dev;
        dev_add_pack(&hard_iface->batman_adv_ptype);
  
@@ -74288,46 +74871,11 @@ index db7aacf..991e539 100644
        bat_info(hard_iface->soft_iface, "Adding interface: %s\n",
                 hard_iface->net_dev->name);
  
-diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
-index 0f32c81..82d1895 100644
---- a/net/batman-adv/routing.c
-+++ b/net/batman-adv/routing.c
-@@ -656,7 +656,7 @@ void receive_bat_packet(const struct ethhdr *ethhdr,
-               return;
-       /* could be changed by schedule_own_packet() */
--      if_incoming_seqno = atomic_read(&if_incoming->seqno);
-+      if_incoming_seqno = atomic_read_unchecked(&if_incoming->seqno);
-       has_directlink_flag = (batman_packet->flags & DIRECTLINK ? 1 : 0);
-diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
-index 58d1447..2a66c8c 100644
---- a/net/batman-adv/send.c
-+++ b/net/batman-adv/send.c
-@@ -326,7 +326,7 @@ void schedule_own_packet(struct hard_iface *hard_iface)
-       /* change sequence number to network order */
-       batman_packet->seqno =
--              htonl((uint32_t)atomic_read(&hard_iface->seqno));
-+              htonl((uint32_t)atomic_read_unchecked(&hard_iface->seqno));
-       batman_packet->ttvn = atomic_read(&bat_priv->ttvn);
-       batman_packet->tt_crc = htons((uint16_t)atomic_read(&bat_priv->tt_crc));
-@@ -343,7 +343,7 @@ void schedule_own_packet(struct hard_iface *hard_iface)
-       else
-               batman_packet->gw_flags = NO_FLAGS;
--      atomic_inc(&hard_iface->seqno);
-+      atomic_inc_unchecked(&hard_iface->seqno);
-       slide_own_bcast_window(hard_iface);
-       send_time = own_send_time(bat_priv);
 diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
-index 05dd351..2ecd19b 100644
+index f9cc957..efd9dae 100644
 --- a/net/batman-adv/soft-interface.c
 +++ b/net/batman-adv/soft-interface.c
-@@ -632,7 +632,7 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
+@@ -634,7 +634,7 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
  
                /* set broadcast sequence number */
                bcast_packet->seqno =
@@ -74336,7 +74884,7 @@ index 05dd351..2ecd19b 100644
  
                add_bcast_packet_to_list(bat_priv, skb, 1);
  
-@@ -824,7 +824,7 @@ struct net_device *softif_create(const char *name)
+@@ -828,7 +828,7 @@ struct net_device *softif_create(const char *name)
        atomic_set(&bat_priv->batman_queue_left, BATMAN_QUEUE_LEN);
  
        atomic_set(&bat_priv->mesh_state, MESH_INACTIVE);
@@ -74346,7 +74894,7 @@ index 05dd351..2ecd19b 100644
        atomic_set(&bat_priv->tt_local_changes, 0);
        atomic_set(&bat_priv->tt_ogm_append_cnt, 0);
 diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
-index 51a0db7..b8a62be 100644
+index ab8d0fe..ceba3fd 100644
 --- a/net/batman-adv/types.h
 +++ b/net/batman-adv/types.h
 @@ -38,8 +38,8 @@ struct hard_iface {
@@ -74360,7 +74908,7 @@ index 51a0db7..b8a62be 100644
        unsigned char *packet_buff;
        int packet_len;
        struct kobject *hardif_obj;
-@@ -153,7 +153,7 @@ struct bat_priv {
+@@ -154,7 +154,7 @@ struct bat_priv {
        atomic_t orig_interval;         /* uint */
        atomic_t hop_penalty;           /* uint */
        atomic_t log_level;             /* uint */
@@ -74368,9 +74916,9 @@ index 51a0db7..b8a62be 100644
 +      atomic_unchecked_t bcast_seqno;
        atomic_t bcast_queue_left;
        atomic_t batman_queue_left;
-       atomic_t ttvn; /* tranlation table version number */
+       atomic_t ttvn; /* translation table version number */
 diff --git a/net/batman-adv/unicast.c b/net/batman-adv/unicast.c
-index 32b125f..f1447e0 100644
+index 07d1c1d..7e9bea9 100644
 --- a/net/batman-adv/unicast.c
 +++ b/net/batman-adv/unicast.c
 @@ -264,7 +264,7 @@ int frag_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv,
@@ -74383,18 +74931,9 @@ index 32b125f..f1447e0 100644
        frag2->seqno = htons(seqno);
  
 diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
-index ea7f031..0615edc 100644
+index c1c597e..05ebb40 100644
 --- a/net/bluetooth/hci_conn.c
 +++ b/net/bluetooth/hci_conn.c
-@@ -218,7 +218,7 @@ void hci_le_start_enc(struct hci_conn *conn, __le16 ediv, __u8 rand[8],
-       cp.handle = cpu_to_le16(conn->handle);
-       memcpy(cp.ltk, ltk, sizeof(cp.ltk));
-       cp.ediv = ediv;
--      memcpy(cp.rand, rand, sizeof(rand));
-+      memcpy(cp.rand, rand, sizeof(cp.rand));
-       hci_send_cmd(hdev, HCI_OP_LE_START_ENC, sizeof(cp), &cp);
- }
 @@ -234,7 +234,7 @@ void hci_le_ltk_reply(struct hci_conn *conn, u8 ltk[16])
        memset(&cp, 0, sizeof(cp));
  
@@ -74404,11 +74943,41 @@ index ea7f031..0615edc 100644
  
        hci_send_cmd(hdev, HCI_OP_LE_LTK_REPLY, sizeof(cp), &cp);
  }
+diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
+index 17b5b1c..826d872 100644
+--- a/net/bluetooth/l2cap_core.c
++++ b/net/bluetooth/l2cap_core.c
+@@ -2176,8 +2176,10 @@ static int l2cap_parse_conf_rsp(struct l2cap_chan *chan, void *rsp, int len, voi
+                       break;
+               case L2CAP_CONF_RFC:
+-                      if (olen == sizeof(rfc))
+-                              memcpy(&rfc, (void *)val, olen);
++                      if (olen != sizeof(rfc))
++                              break;
++
++                      memcpy(&rfc, (void *)val, olen);
+                       if (test_bit(CONF_STATE2_DEVICE, &chan->conf_state) &&
+                                                       rfc.mode != chan->mode)
+@@ -2265,8 +2267,10 @@ static void l2cap_conf_rfc_get(struct l2cap_chan *chan, void *rsp, int len)
+               switch (type) {
+               case L2CAP_CONF_RFC:
+-                      if (olen == sizeof(rfc))
+-                              memcpy(&rfc, (void *)val, olen);
++                      if (olen != sizeof(rfc))
++                              break;
++
++                      memcpy(&rfc, (void *)val, olen);
+                       goto done;
+               }
+       }
 diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
-index e79ff75..215b57d 100644
+index 8eb6b15..e3db7ab 100644
 --- a/net/bridge/br_multicast.c
 +++ b/net/bridge/br_multicast.c
-@@ -1485,7 +1485,7 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
+@@ -1488,7 +1488,7 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
        nexthdr = ip6h->nexthdr;
        offset = ipv6_skip_exthdr(skb, sizeof(*ip6h), &nexthdr);
  
@@ -74418,7 +74987,7 @@ index e79ff75..215b57d 100644
  
        /* Okay, we found ICMPv6 header */
 diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
-index 5864cc4..94cab18 100644
+index 5864cc4..121f3a30 100644
 --- a/net/bridge/netfilter/ebtables.c
 +++ b/net/bridge/netfilter/ebtables.c
 @@ -1513,7 +1513,7 @@ static int do_ebt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
@@ -74430,15 +74999,6 @@ index 5864cc4..94cab18 100644
                        BUGPRINT("c2u Didn't work\n");
                        ret = -EFAULT;
                        break;
-@@ -1781,6 +1781,8 @@ static int compat_copy_everything_to_user(struct ebt_table *t,
-       int ret;
-       void __user *pos;
-+      pax_track_stack();
-+
-       memset(&tinfo, 0, sizeof(tinfo));
-       if (cmd == EBT_SO_GET_ENTRIES) {
 diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c
 index a986280..13444a1 100644
 --- a/net/caif/caif_socket.c
@@ -74573,7 +75133,7 @@ index a986280..13444a1 100644
        if (!IS_ERR(debugfsdir)) {
  
 diff --git a/net/caif/cfctrl.c b/net/caif/cfctrl.c
-index e22671b..6598ea0 100644
+index 5cf5222..6f704ad 100644
 --- a/net/caif/cfctrl.c
 +++ b/net/caif/cfctrl.c
 @@ -9,6 +9,7 @@
@@ -74584,9 +75144,9 @@ index e22671b..6598ea0 100644
  #include <net/caif/caif_layer.h>
  #include <net/caif/cfpkt.h>
  #include <net/caif/cfctrl.h>
-@@ -45,8 +46,8 @@ struct cflayer *cfctrl_create(void)
+@@ -42,8 +43,8 @@ struct cflayer *cfctrl_create(void)
+       memset(&dev_info, 0, sizeof(dev_info));
        dev_info.id = 0xff;
-       memset(this, 0, sizeof(*this));
        cfsrvl_init(&this->serv, 0, &dev_info, false);
 -      atomic_set(&this->req_seq_no, 1);
 -      atomic_set(&this->rsp_seq_no, 1);
@@ -74595,7 +75155,7 @@ index e22671b..6598ea0 100644
        this->serv.layer.receive = cfctrl_recv;
        sprintf(this->serv.layer.name, "ctrl");
        this->serv.layer.ctrlcmd = cfctrl_ctrlcmd;
-@@ -132,8 +133,8 @@ static void cfctrl_insert_req(struct cfctrl *ctrl,
+@@ -129,8 +130,8 @@ static void cfctrl_insert_req(struct cfctrl *ctrl,
                              struct cfctrl_request_info *req)
  {
        spin_lock_bh(&ctrl->info_list_lock);
@@ -74606,7 +75166,7 @@ index e22671b..6598ea0 100644
        list_add_tail(&req->list, &ctrl->list);
        spin_unlock_bh(&ctrl->info_list_lock);
  }
-@@ -151,7 +152,7 @@ static struct cfctrl_request_info *cfctrl_remove_req(struct cfctrl *ctrl,
+@@ -148,7 +149,7 @@ static struct cfctrl_request_info *cfctrl_remove_req(struct cfctrl *ctrl,
                        if (p != first)
                                pr_warn("Requests are not received in order\n");
  
@@ -74615,19 +75175,24 @@ index e22671b..6598ea0 100644
                                         p->sequence_no);
                        list_del(&p->list);
                        goto out;
-@@ -364,6 +365,7 @@ static int cfctrl_recv(struct cflayer *layer, struct cfpkt *pkt)
-       struct cfctrl *cfctrl = container_obj(layer);
-       struct cfctrl_request_info rsp, *req;
+diff --git a/net/can/gw.c b/net/can/gw.c
+index 3d79b12..8de85fa 100644
+--- a/net/can/gw.c
++++ b/net/can/gw.c
+@@ -96,7 +96,7 @@ struct cf_mod {
+       struct {
+               void (*xor)(struct can_frame *cf, struct cgw_csum_xor *xor);
+               void (*crc8)(struct can_frame *cf, struct cgw_csum_crc8 *crc8);
+-      } csumfunc;
++      } __no_const csumfunc;
+ };
  
-+      pax_track_stack();
  
-       cfpkt_extr_head(pkt, &cmdrsp, 1);
-       cmd = cmdrsp & CFCTRL_CMD_MASK;
 diff --git a/net/compat.c b/net/compat.c
-index c578d93..257fab7 100644
+index 6def90e..c6992fa 100644
 --- a/net/compat.c
 +++ b/net/compat.c
-@@ -70,9 +70,9 @@ int get_compat_msghdr(struct msghdr *kmsg, struct compat_msghdr __user *umsg)
+@@ -71,9 +71,9 @@ int get_compat_msghdr(struct msghdr *kmsg, struct compat_msghdr __user *umsg)
            __get_user(kmsg->msg_controllen, &umsg->msg_controllen) ||
            __get_user(kmsg->msg_flags, &umsg->msg_flags))
                return -EFAULT;
@@ -74640,7 +75205,7 @@ index c578d93..257fab7 100644
        return 0;
  }
  
-@@ -84,7 +84,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -85,7 +85,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
  
        if (kern_msg->msg_namelen) {
                if (mode == VERIFY_READ) {
@@ -74649,7 +75214,7 @@ index c578d93..257fab7 100644
                                                      kern_msg->msg_namelen,
                                                      kern_address);
                        if (err < 0)
-@@ -95,7 +95,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -96,7 +96,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
                kern_msg->msg_name = NULL;
  
        tot_len = iov_from_user_compat_to_kern(kern_iov,
@@ -74658,7 +75223,7 @@ index c578d93..257fab7 100644
                                          kern_msg->msg_iovlen);
        if (tot_len >= 0)
                kern_msg->msg_iov = kern_iov;
-@@ -115,20 +115,20 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -116,20 +116,20 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
  
  #define CMSG_COMPAT_FIRSTHDR(msg)                     \
        (((msg)->msg_controllen) >= sizeof(struct compat_cmsghdr) ?     \
@@ -74682,7 +75247,7 @@ index c578d93..257fab7 100644
                        msg->msg_controllen)
                return NULL;
        return (struct compat_cmsghdr __user *)ptr;
-@@ -220,7 +220,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
+@@ -221,7 +221,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
  {
        struct compat_timeval ctv;
        struct compat_timespec cts[3];
@@ -74691,7 +75256,7 @@ index c578d93..257fab7 100644
        struct compat_cmsghdr cmhdr;
        int cmlen;
  
-@@ -272,7 +272,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
+@@ -273,7 +273,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
  
  void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm)
  {
@@ -74700,7 +75265,7 @@ index c578d93..257fab7 100644
        int fdmax = (kmsg->msg_controllen - sizeof(struct compat_cmsghdr)) / sizeof(int);
        int fdnum = scm->fp->count;
        struct file **fp = scm->fp->fp;
-@@ -369,7 +369,7 @@ static int do_set_sock_timeout(struct socket *sock, int level,
+@@ -370,7 +370,7 @@ static int do_set_sock_timeout(struct socket *sock, int level,
                return -EFAULT;
        old_fs = get_fs();
        set_fs(KERNEL_DS);
@@ -74709,7 +75274,7 @@ index c578d93..257fab7 100644
        set_fs(old_fs);
  
        return err;
-@@ -430,7 +430,7 @@ static int do_get_sock_timeout(struct socket *sock, int level, int optname,
+@@ -431,7 +431,7 @@ static int do_get_sock_timeout(struct socket *sock, int level, int optname,
        len = sizeof(ktime);
        old_fs = get_fs();
        set_fs(KERNEL_DS);
@@ -74718,7 +75283,7 @@ index c578d93..257fab7 100644
        set_fs(old_fs);
  
        if (!err) {
-@@ -565,7 +565,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -566,7 +566,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
        case MCAST_JOIN_GROUP:
        case MCAST_LEAVE_GROUP:
        {
@@ -74727,7 +75292,7 @@ index c578d93..257fab7 100644
                struct group_req __user *kgr =
                        compat_alloc_user_space(sizeof(struct group_req));
                u32 interface;
-@@ -586,7 +586,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -587,7 +587,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
        case MCAST_BLOCK_SOURCE:
        case MCAST_UNBLOCK_SOURCE:
        {
@@ -74736,7 +75301,7 @@ index c578d93..257fab7 100644
                struct group_source_req __user *kgsr = compat_alloc_user_space(
                        sizeof(struct group_source_req));
                u32 interface;
-@@ -607,7 +607,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -608,7 +608,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
        }
        case MCAST_MSFILTER:
        {
@@ -74745,7 +75310,7 @@ index c578d93..257fab7 100644
                struct group_filter __user *kgf;
                u32 interface, fmode, numsrc;
  
-@@ -645,7 +645,7 @@ int compat_mc_getsockopt(struct sock *sock, int level, int optname,
+@@ -646,7 +646,7 @@ int compat_mc_getsockopt(struct sock *sock, int level, int optname,
        char __user *optval, int __user *optlen,
        int (*getsockopt)(struct sock *, int, int, char __user *, int __user *))
  {
@@ -74755,7 +75320,7 @@ index c578d93..257fab7 100644
        int __user      *koptlen;
        u32 interface, fmode, numsrc;
 diff --git a/net/core/datagram.c b/net/core/datagram.c
-index 18ac112..fe95ed9 100644
+index 68bbf9f..5ef0d12 100644
 --- a/net/core/datagram.c
 +++ b/net/core/datagram.c
 @@ -285,7 +285,7 @@ int skb_kill_datagram(struct sock *sk, struct sk_buff *skb, unsigned int flags)
@@ -74768,10 +75333,10 @@ index 18ac112..fe95ed9 100644
  
        return err;
 diff --git a/net/core/dev.c b/net/core/dev.c
-index ae5cf2d..2c950a1 100644
+index c56cacf..b28e35f 100644
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -1135,10 +1135,14 @@ void dev_load(struct net *net, const char *name)
+@@ -1139,10 +1139,14 @@ void dev_load(struct net *net, const char *name)
        if (no_module && capable(CAP_NET_ADMIN))
                no_module = request_module("netdev-%s", name);
        if (no_module && capable(CAP_SYS_MODULE)) {
@@ -74786,7 +75351,25 @@ index ae5cf2d..2c950a1 100644
        }
  }
  EXPORT_SYMBOL(dev_load);
-@@ -1977,7 +1981,7 @@ static int illegal_highdma(struct net_device *dev, struct sk_buff *skb)
+@@ -1573,7 +1577,7 @@ int dev_forward_skb(struct net_device *dev, struct sk_buff *skb)
+ {
+       if (skb_shinfo(skb)->tx_flags & SKBTX_DEV_ZEROCOPY) {
+               if (skb_copy_ubufs(skb, GFP_ATOMIC)) {
+-                      atomic_long_inc(&dev->rx_dropped);
++                      atomic_long_inc_unchecked(&dev->rx_dropped);
+                       kfree_skb(skb);
+                       return NET_RX_DROP;
+               }
+@@ -1583,7 +1587,7 @@ int dev_forward_skb(struct net_device *dev, struct sk_buff *skb)
+       nf_reset(skb);
+       if (unlikely(!is_skb_forwardable(dev, skb))) {
+-              atomic_long_inc(&dev->rx_dropped);
++              atomic_long_inc_unchecked(&dev->rx_dropped);
+               kfree_skb(skb);
+               return NET_RX_DROP;
+       }
+@@ -2036,7 +2040,7 @@ static int illegal_highdma(struct net_device *dev, struct sk_buff *skb)
  
  struct dev_gso_cb {
        void (*destructor)(struct sk_buff *skb);
@@ -74795,7 +75378,16 @@ index ae5cf2d..2c950a1 100644
  
  #define DEV_GSO_CB(skb) ((struct dev_gso_cb *)(skb)->cb)
  
-@@ -2930,7 +2934,7 @@ int netif_rx_ni(struct sk_buff *skb)
+@@ -2970,7 +2974,7 @@ enqueue:
+       local_irq_restore(flags);
+-      atomic_long_inc(&skb->dev->rx_dropped);
++      atomic_long_inc_unchecked(&skb->dev->rx_dropped);
+       kfree_skb(skb);
+       return NET_RX_DROP;
+ }
+@@ -3044,7 +3048,7 @@ int netif_rx_ni(struct sk_buff *skb)
  }
  EXPORT_SYMBOL(netif_rx_ni);
  
@@ -74804,7 +75396,16 @@ index ae5cf2d..2c950a1 100644
  {
        struct softnet_data *sd = &__get_cpu_var(softnet_data);
  
-@@ -3779,7 +3783,7 @@ void netif_napi_del(struct napi_struct *napi)
+@@ -3333,7 +3337,7 @@ ncls:
+       if (pt_prev) {
+               ret = pt_prev->func(skb, skb->dev, pt_prev, orig_dev);
+       } else {
+-              atomic_long_inc(&skb->dev->rx_dropped);
++              atomic_long_inc_unchecked(&skb->dev->rx_dropped);
+               kfree_skb(skb);
+               /* Jamal, now you will not able to escape explaining
+                * me how you were going to use this. :-)
+@@ -3897,7 +3901,7 @@ void netif_napi_del(struct napi_struct *napi)
  }
  EXPORT_SYMBOL(netif_napi_del);
  
@@ -74813,8 +75414,17 @@ index ae5cf2d..2c950a1 100644
  {
        struct softnet_data *sd = &__get_cpu_var(softnet_data);
        unsigned long time_limit = jiffies + 2;
+@@ -5955,7 +5959,7 @@ struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
+       } else {
+               netdev_stats_to_stats64(storage, &dev->stats);
+       }
+-      storage->rx_dropped += atomic_long_read(&dev->rx_dropped);
++      storage->rx_dropped += atomic_long_read_unchecked(&dev->rx_dropped);
+       return storage;
+ }
+ EXPORT_SYMBOL(dev_get_stats);
 diff --git a/net/core/flow.c b/net/core/flow.c
-index 555a456..de48421 100644
+index e318c7e..168b1d0 100644
 --- a/net/core/flow.c
 +++ b/net/core/flow.c
 @@ -61,7 +61,7 @@ struct flow_cache {
@@ -74876,7 +75486,7 @@ index c40f27e..7f49254 100644
  
        m->msg_iov = iov;
 diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
-index 99d9e95..209bae2 100644
+index 9083e82..1673203 100644
 --- a/net/core/rtnetlink.c
 +++ b/net/core/rtnetlink.c
 @@ -57,7 +57,7 @@ struct rtnl_link {
@@ -74889,10 +75499,10 @@ index 99d9e95..209bae2 100644
  static DEFINE_MUTEX(rtnl_mutex);
  static u16 min_ifinfo_dump_size;
 diff --git a/net/core/scm.c b/net/core/scm.c
-index 811b53f..5d6c343 100644
+index ff52ad0..aff1c0f 100644
 --- a/net/core/scm.c
 +++ b/net/core/scm.c
-@@ -218,7 +218,7 @@ EXPORT_SYMBOL(__scm_send);
+@@ -220,7 +220,7 @@ EXPORT_SYMBOL(__scm_send);
  int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data)
  {
        struct cmsghdr __user *cm
@@ -74901,7 +75511,7 @@ index 811b53f..5d6c343 100644
        struct cmsghdr cmhdr;
        int cmlen = CMSG_LEN(len);
        int err;
-@@ -241,7 +241,7 @@ int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data)
+@@ -243,7 +243,7 @@ int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data)
        err = -EFAULT;
        if (copy_to_user(cm, &cmhdr, sizeof cmhdr))
                goto out;
@@ -74910,7 +75520,7 @@ index 811b53f..5d6c343 100644
                goto out;
        cmlen = CMSG_SPACE(len);
        if (msg->msg_controllen < cmlen)
-@@ -257,7 +257,7 @@ EXPORT_SYMBOL(put_cmsg);
+@@ -259,7 +259,7 @@ EXPORT_SYMBOL(put_cmsg);
  void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm)
  {
        struct cmsghdr __user *cm
@@ -74919,7 +75529,7 @@ index 811b53f..5d6c343 100644
  
        int fdmax = 0;
        int fdnum = scm->fp->count;
-@@ -277,7 +277,7 @@ void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm)
+@@ -279,7 +279,7 @@ void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm)
        if (fdnum < fdmax)
                fdmax = fdnum;
  
@@ -74928,33 +75538,20 @@ index 811b53f..5d6c343 100644
             i++, cmfptr++)
        {
                int new_fd;
-diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index 387703f..035abcf 100644
---- a/net/core/skbuff.c
-+++ b/net/core/skbuff.c
-@@ -1650,6 +1650,8 @@ int skb_splice_bits(struct sk_buff *skb, unsigned int offset,
-       struct sock *sk = skb->sk;
-       int ret = 0;
-+      pax_track_stack();
-+
-       if (splice_grow_spd(pipe, &spd))
-               return -ENOMEM;
 diff --git a/net/core/sock.c b/net/core/sock.c
-index 11d67b3..df26d4b 100644
+index b23f174..b9a0d26 100644
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -293,7 +293,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
-        */
-       if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >=
-           (unsigned)sk->sk_rcvbuf) {
+@@ -289,7 +289,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
+       struct sk_buff_head *list = &sk->sk_receive_queue;
+       if (atomic_read(&sk->sk_rmem_alloc) >= sk->sk_rcvbuf) {
 -              atomic_inc(&sk->sk_drops);
 +              atomic_inc_unchecked(&sk->sk_drops);
                trace_sock_rcvqueue_full(sk, skb);
                return -ENOMEM;
        }
-@@ -303,7 +303,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
+@@ -299,7 +299,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
                return err;
  
        if (!sk_rmem_schedule(sk, skb->truesize)) {
@@ -74963,7 +75560,7 @@ index 11d67b3..df26d4b 100644
                return -ENOBUFS;
        }
  
-@@ -323,7 +323,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
+@@ -319,7 +319,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
        skb_dst_force(skb);
  
        spin_lock_irqsave(&list->lock, flags);
@@ -74972,7 +75569,7 @@ index 11d67b3..df26d4b 100644
        __skb_queue_tail(list, skb);
        spin_unlock_irqrestore(&list->lock, flags);
  
-@@ -343,7 +343,7 @@ int sk_receive_skb(struct sock *sk, struct sk_buff *skb, const int nested)
+@@ -339,7 +339,7 @@ int sk_receive_skb(struct sock *sk, struct sk_buff *skb, const int nested)
        skb->dev = NULL;
  
        if (sk_rcvqueues_full(sk, skb)) {
@@ -74981,7 +75578,7 @@ index 11d67b3..df26d4b 100644
                goto discard_and_relse;
        }
        if (nested)
-@@ -361,7 +361,7 @@ int sk_receive_skb(struct sock *sk, struct sk_buff *skb, const int nested)
+@@ -357,7 +357,7 @@ int sk_receive_skb(struct sock *sk, struct sk_buff *skb, const int nested)
                mutex_release(&sk->sk_lock.dep_map, 1, _RET_IP_);
        } else if (sk_add_backlog(sk, skb)) {
                bh_unlock_sock(sk);
@@ -74990,7 +75587,7 @@ index 11d67b3..df26d4b 100644
                goto discard_and_relse;
        }
  
-@@ -924,7 +924,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
+@@ -917,7 +917,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
                if (len > sizeof(peercred))
                        len = sizeof(peercred);
                cred_to_ucred(sk->sk_peer_pid, sk->sk_peer_cred, &peercred);
@@ -74999,7 +75596,7 @@ index 11d67b3..df26d4b 100644
                        return -EFAULT;
                goto lenout;
        }
-@@ -937,7 +937,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
+@@ -930,7 +930,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
                        return -ENOTCONN;
                if (lv < len)
                        return -EINVAL;
@@ -75008,7 +75605,7 @@ index 11d67b3..df26d4b 100644
                        return -EFAULT;
                goto lenout;
        }
-@@ -970,7 +970,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
+@@ -963,7 +963,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
  
        if (len > lv)
                len = lv;
@@ -75017,7 +75614,7 @@ index 11d67b3..df26d4b 100644
                return -EFAULT;
  lenout:
        if (put_user(len, optlen))
-@@ -2029,7 +2029,7 @@ void sock_init_data(struct socket *sock, struct sock *sk)
+@@ -2020,7 +2020,7 @@ void sock_init_data(struct socket *sock, struct sock *sk)
         */
        smp_wmb();
        atomic_set(&sk->sk_refcnt, 1);
@@ -75061,6 +75658,19 @@ index 39a2d29..f39c0fe 100644
        ---help---
          Econet is a fairly old and slow networking protocol mainly used by
          Acorn computers to access file and print servers. It uses native
+diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c
+index 36d1440..44ff28b 100644
+--- a/net/ipv4/ah4.c
++++ b/net/ipv4/ah4.c
+@@ -19,6 +19,8 @@ struct ah_skb_cb {
+ #define AH_SKB_CB(__skb) ((struct ah_skb_cb *)&((__skb)->cb[0]))
+ static void *ah_alloc_tmp(struct crypto_ahash *ahash, int nfrags,
++                        unsigned int size) __size_overflow(3);
++static void *ah_alloc_tmp(struct crypto_ahash *ahash, int nfrags,
+                         unsigned int size)
+ {
+       unsigned int len;
 diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
 index 92fc5f6..b790d91 100644
 --- a/net/ipv4/fib_frontend.c
@@ -75103,7 +75713,7 @@ index 80106d8..232e898 100644
        return nh->nh_saddr;
  }
 diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c
-index 389a2e6..ac1c1de 100644
+index ccee270..db23c3c 100644
 --- a/net/ipv4/inet_diag.c
 +++ b/net/ipv4/inet_diag.c
 @@ -114,8 +114,14 @@ static int inet_csk_diag_fill(struct sock *sk,
@@ -75121,7 +75731,7 @@ index 389a2e6..ac1c1de 100644
  
        r->id.idiag_sport = inet->inet_sport;
        r->id.idiag_dport = inet->inet_dport;
-@@ -201,8 +207,15 @@ static int inet_twsk_diag_fill(struct inet_timewait_sock *tw,
+@@ -210,8 +216,15 @@ static int inet_twsk_diag_fill(struct inet_timewait_sock *tw,
        r->idiag_family       = tw->tw_family;
        r->idiag_retrans      = 0;
        r->id.idiag_if        = tw->tw_bound_dev_if;
@@ -75137,7 +75747,7 @@ index 389a2e6..ac1c1de 100644
        r->id.idiag_sport     = tw->tw_sport;
        r->id.idiag_dport     = tw->tw_dport;
        r->id.idiag_src[0]    = tw->tw_rcv_saddr;
-@@ -285,12 +298,14 @@ static int inet_diag_get_exact(struct sk_buff *in_skb,
+@@ -294,12 +307,14 @@ static int inet_diag_get_exact(struct sk_buff *in_skb,
        if (sk == NULL)
                goto unlock;
  
@@ -75152,7 +75762,7 @@ index 389a2e6..ac1c1de 100644
  
        err = -ENOMEM;
        rep = alloc_skb(NLMSG_SPACE((sizeof(struct inet_diag_msg) +
-@@ -580,8 +595,14 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
+@@ -589,8 +604,14 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
        r->idiag_retrans = req->retrans;
  
        r->id.idiag_if = sk->sk_bound_dev_if;
@@ -75197,19 +75807,10 @@ index 984ec65..97ac518 100644
                        inet_twsk_deschedule(tw, death_row);
                        while (twrefcnt) {
 diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
-index 86f13c67..0bce60f 100644
+index 86f13c67..59a35b5 100644
 --- a/net/ipv4/inetpeer.c
 +++ b/net/ipv4/inetpeer.c
-@@ -400,6 +400,8 @@ struct inet_peer *inet_getpeer(const struct inetpeer_addr *daddr, int create)
-       unsigned int sequence;
-       int invalidated, gccnt = 0;
-+      pax_track_stack();
-+
-       /* Attempt a lockless lookup first.
-        * Because of a concurrent writer, we might not find an existing entry.
-        */
-@@ -436,8 +438,8 @@ relookup:
+@@ -436,8 +436,8 @@ relookup:
        if (p) {
                p->daddr = *daddr;
                atomic_set(&p->refcnt, 1);
@@ -75221,7 +75822,7 @@ index 86f13c67..0bce60f 100644
                                        secure_ip_id(daddr->addr.a4) :
                                        secure_ipv6_id(daddr->addr.a6));
 diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
-index 0e0ab98..2ed7dd5 100644
+index fdaabf2..0ec3205 100644
 --- a/net/ipv4/ip_fragment.c
 +++ b/net/ipv4/ip_fragment.c
 @@ -316,7 +316,7 @@ static inline int ip_frag_too_far(struct ipq *qp)
@@ -75234,19 +75835,10 @@ index 0e0ab98..2ed7dd5 100644
  
        rc = qp->q.fragments && (end - start) > max;
 diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
-index 8905e92..0b179fb 100644
+index 09ff51b..d3968eb 100644
 --- a/net/ipv4/ip_sockglue.c
 +++ b/net/ipv4/ip_sockglue.c
-@@ -1073,6 +1073,8 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
-       int val;
-       int len;
-+      pax_track_stack();
-+
-       if (level != SOL_IP)
-               return -EOPNOTSUPP;
-@@ -1110,7 +1112,8 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
+@@ -1111,7 +1111,8 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
                len = min_t(unsigned int, len, opt->optlen);
                if (put_user(len, optlen))
                        return -EFAULT;
@@ -75256,7 +75848,7 @@ index 8905e92..0b179fb 100644
                        return -EFAULT;
                return 0;
        }
-@@ -1238,7 +1241,7 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
+@@ -1239,7 +1240,7 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
                if (sk->sk_type != SOCK_STREAM)
                        return -ENOPROTOOPT;
  
@@ -75266,10 +75858,10 @@ index 8905e92..0b179fb 100644
                msg.msg_flags = flags;
  
 diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
-index 472a8c4..6507cd4 100644
+index 99ec116..c5628fe 100644
 --- a/net/ipv4/ipconfig.c
 +++ b/net/ipv4/ipconfig.c
-@@ -313,7 +313,7 @@ static int __init ic_devinet_ioctl(unsigned int cmd, struct ifreq *arg)
+@@ -318,7 +318,7 @@ static int __init ic_devinet_ioctl(unsigned int cmd, struct ifreq *arg)
  
        mm_segment_t oldfs = get_fs();
        set_fs(get_ds());
@@ -75278,7 +75870,7 @@ index 472a8c4..6507cd4 100644
        set_fs(oldfs);
        return res;
  }
-@@ -324,7 +324,7 @@ static int __init ic_dev_ioctl(unsigned int cmd, struct ifreq *arg)
+@@ -329,7 +329,7 @@ static int __init ic_dev_ioctl(unsigned int cmd, struct ifreq *arg)
  
        mm_segment_t oldfs = get_fs();
        set_fs(get_ds());
@@ -75287,7 +75879,7 @@ index 472a8c4..6507cd4 100644
        set_fs(oldfs);
        return res;
  }
-@@ -335,7 +335,7 @@ static int __init ic_route_ioctl(unsigned int cmd, struct rtentry *arg)
+@@ -340,7 +340,7 @@ static int __init ic_route_ioctl(unsigned int cmd, struct rtentry *arg)
  
        mm_segment_t oldfs = get_fs();
        set_fs(get_ds());
@@ -75296,24 +75888,76 @@ index 472a8c4..6507cd4 100644
        set_fs(oldfs);
        return res;
  }
+diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c
+index fd7a3f6..e5be655 100644
+--- a/net/ipv4/netfilter/arp_tables.c
++++ b/net/ipv4/netfilter/arp_tables.c
+@@ -984,6 +984,11 @@ static int __do_replace(struct net *net, const char *name,
+                       unsigned int valid_hooks,
+                       struct xt_table_info *newinfo,
+                       unsigned int num_counters,
++                      void __user *counters_ptr) __size_overflow(5);
++static int __do_replace(struct net *net, const char *name,
++                      unsigned int valid_hooks,
++                      struct xt_table_info *newinfo,
++                      unsigned int num_counters,
+                       void __user *counters_ptr)
+ {
+       int ret;
+@@ -1104,6 +1109,8 @@ static int do_replace(struct net *net, const void __user *user,
+ }
+ static int do_add_counters(struct net *net, const void __user *user,
++                         unsigned int len, int compat) __size_overflow(3);
++static int do_add_counters(struct net *net, const void __user *user,
+                          unsigned int len, int compat)
+ {
+       unsigned int i, curcpu;
+diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
+index 24e556e..a8daf7a 100644
+--- a/net/ipv4/netfilter/ip_tables.c
++++ b/net/ipv4/netfilter/ip_tables.c
+@@ -1172,6 +1172,10 @@ get_entries(struct net *net, struct ipt_get_entries __user *uptr,
+ static int
+ __do_replace(struct net *net, const char *name, unsigned int valid_hooks,
+            struct xt_table_info *newinfo, unsigned int num_counters,
++           void __user *counters_ptr) __size_overflow(5);
++static int
++__do_replace(struct net *net, const char *name, unsigned int valid_hooks,
++           struct xt_table_info *newinfo, unsigned int num_counters,
+            void __user *counters_ptr)
+ {
+       int ret;
+@@ -1293,6 +1297,9 @@ do_replace(struct net *net, const void __user *user, unsigned int len)
+ static int
+ do_add_counters(struct net *net, const void __user *user,
++                unsigned int len, int compat) __size_overflow(3);
++static int
++do_add_counters(struct net *net, const void __user *user,
+                 unsigned int len, int compat)
+ {
+       unsigned int i, curcpu;
 diff --git a/net/ipv4/netfilter/nf_nat_snmp_basic.c b/net/ipv4/netfilter/nf_nat_snmp_basic.c
-index 076b7c8..9c8d038 100644
+index 2133c30..0e8047e 100644
 --- a/net/ipv4/netfilter/nf_nat_snmp_basic.c
 +++ b/net/ipv4/netfilter/nf_nat_snmp_basic.c
-@@ -399,7 +399,7 @@ static unsigned char asn1_octets_decode(struct asn1_ctx *ctx,
-       *len = 0;
--      *octets = kmalloc(eoc - ctx->pointer, GFP_ATOMIC);
-+      *octets = kmalloc((eoc - ctx->pointer), GFP_ATOMIC);
-       if (*octets == NULL) {
-               if (net_ratelimit())
-                       pr_notice("OOM in bsalg (%d)\n", __LINE__);
+@@ -435,6 +435,10 @@ static unsigned char asn1_subid_decode(struct asn1_ctx *ctx,
+ static unsigned char asn1_oid_decode(struct asn1_ctx *ctx,
+                                    unsigned char *eoc,
+                                    unsigned long **oid,
++                                   unsigned int *len) __size_overflow(2);
++static unsigned char asn1_oid_decode(struct asn1_ctx *ctx,
++                                   unsigned char *eoc,
++                                   unsigned long **oid,
+                                    unsigned int *len)
+ {
+       unsigned long subid;
 diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
-index 39b403f..8e6a0a8 100644
+index 43d4c3b..1914409 100644
 --- a/net/ipv4/ping.c
 +++ b/net/ipv4/ping.c
-@@ -837,7 +837,7 @@ static void ping_format_sock(struct sock *sp, struct seq_file *f,
+@@ -836,7 +836,7 @@ static void ping_format_sock(struct sock *sp, struct seq_file *f,
                sk_rmem_alloc_get(sp),
                0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
                atomic_read(&sp->sk_refcnt), sp,
@@ -75323,10 +75967,10 @@ index 39b403f..8e6a0a8 100644
  
  static int ping_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
-index 61714bd..c9cee6d 100644
+index 007e2eb..85a18a0 100644
 --- a/net/ipv4/raw.c
 +++ b/net/ipv4/raw.c
-@@ -302,7 +302,7 @@ static int raw_rcv_skb(struct sock * sk, struct sk_buff * skb)
+@@ -303,7 +303,7 @@ static int raw_rcv_skb(struct sock * sk, struct sk_buff * skb)
  int raw_rcv(struct sock *sk, struct sk_buff *skb)
  {
        if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb)) {
@@ -75335,7 +75979,7 @@ index 61714bd..c9cee6d 100644
                kfree_skb(skb);
                return NET_RX_DROP;
        }
-@@ -737,16 +737,20 @@ static int raw_init(struct sock *sk)
+@@ -738,16 +738,20 @@ static int raw_init(struct sock *sk)
  
  static int raw_seticmpfilter(struct sock *sk, char __user *optval, int optlen)
  {
@@ -75357,7 +76001,7 @@ index 61714bd..c9cee6d 100644
  
        if (get_user(len, optlen))
                goto out;
-@@ -756,8 +760,8 @@ static int raw_geticmpfilter(struct sock *sk, char __user *optval, int __user *o
+@@ -757,8 +761,8 @@ static int raw_geticmpfilter(struct sock *sk, char __user *optval, int __user *o
        if (len > sizeof(struct icmp_filter))
                len = sizeof(struct icmp_filter);
        ret = -EFAULT;
@@ -75368,7 +76012,7 @@ index 61714bd..c9cee6d 100644
                goto out;
        ret = 0;
  out:  return ret;
-@@ -985,7 +989,13 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+@@ -986,7 +990,13 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
                sk_wmem_alloc_get(sp),
                sk_rmem_alloc_get(sp),
                0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
@@ -75384,10 +76028,10 @@ index 61714bd..c9cee6d 100644
  
  static int raw_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/ipv4/route.c b/net/ipv4/route.c
-index 05ac666c..82384a7 100644
+index 94cdbc5..0cb0063 100644
 --- a/net/ipv4/route.c
 +++ b/net/ipv4/route.c
-@@ -309,7 +309,7 @@ static inline unsigned int rt_hash(__be32 daddr, __be32 saddr, int idx,
+@@ -313,7 +313,7 @@ static inline unsigned int rt_hash(__be32 daddr, __be32 saddr, int idx,
  
  static inline int rt_genid(struct net *net)
  {
@@ -75396,7 +76040,7 @@ index 05ac666c..82384a7 100644
  }
  
  #ifdef CONFIG_PROC_FS
-@@ -842,7 +842,7 @@ static void rt_cache_invalidate(struct net *net)
+@@ -937,7 +937,7 @@ static void rt_cache_invalidate(struct net *net)
        unsigned char shuffle;
  
        get_random_bytes(&shuffle, sizeof(shuffle));
@@ -75405,7 +76049,7 @@ index 05ac666c..82384a7 100644
        redirect_genid++;
  }
  
-@@ -2920,7 +2920,7 @@ static int rt_fill_info(struct net *net,
+@@ -3022,7 +3022,7 @@ static int rt_fill_info(struct net *net,
        error = rt->dst.error;
        if (peer) {
                inet_peer_refcheck(rt->peer);
@@ -75414,30 +76058,62 @@ index 05ac666c..82384a7 100644
                if (peer->tcp_ts_stamp) {
                        ts = peer->tcp_ts;
                        tsage = get_seconds() - peer->tcp_ts_stamp;
-diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
-index 46febca..98b73a4 100644
---- a/net/ipv4/tcp.c
-+++ b/net/ipv4/tcp.c
-@@ -2122,6 +2122,8 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
-       int val;
-       int err = 0;
-+      pax_track_stack();
-+
-       /* These are data/string values, all the others are ints */
-       switch (optname) {
-       case TCP_CONGESTION: {
-@@ -2501,6 +2503,8 @@ static int do_tcp_getsockopt(struct sock *sk, int level,
-       struct tcp_sock *tp = tcp_sk(sk);
-       int val, len;
+diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c
+index 90f6544..769c0e9 100644
+--- a/net/ipv4/syncookies.c
++++ b/net/ipv4/syncookies.c
+@@ -278,6 +278,7 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
+       struct rtable *rt;
+       __u8 rcv_wscale;
+       bool ecn_ok = false;
++      struct flowi4 fl4;
+       if (!sysctl_tcp_syncookies || !th->ack || th->rst)
+               goto out;
+@@ -346,20 +347,16 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
+        * hasn't changed since we received the original syn, but I see
+        * no easy way to do this.
+        */
+-      {
+-              struct flowi4 fl4;
+-
+-              flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk),
+-                                 RT_SCOPE_UNIVERSE, IPPROTO_TCP,
+-                                 inet_sk_flowi_flags(sk),
+-                                 (opt && opt->srr) ? opt->faddr : ireq->rmt_addr,
+-                                 ireq->loc_addr, th->source, th->dest);
+-              security_req_classify_flow(req, flowi4_to_flowi(&fl4));
+-              rt = ip_route_output_key(sock_net(sk), &fl4);
+-              if (IS_ERR(rt)) {
+-                      reqsk_free(req);
+-                      goto out;
+-              }
++      flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk),
++                         RT_SCOPE_UNIVERSE, IPPROTO_TCP,
++                         inet_sk_flowi_flags(sk),
++                         (opt && opt->srr) ? opt->faddr : ireq->rmt_addr,
++                         ireq->loc_addr, th->source, th->dest);
++      security_req_classify_flow(req, flowi4_to_flowi(&fl4));
++      rt = ip_route_output_key(sock_net(sk), &fl4);
++      if (IS_ERR(rt)) {
++              reqsk_free(req);
++              goto out;
+       }
  
-+      pax_track_stack();
-+
-       if (get_user(len, optlen))
-               return -EFAULT;
+       /* Try to redo what tcp_v4_send_synack did. */
+@@ -373,5 +370,10 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
+       ireq->rcv_wscale  = rcv_wscale;
  
+       ret = get_cookie_sock(sk, skb, req, &rt->dst);
++      /* ip_queue_xmit() depends on our flow being setup
++       * Normal sockets get it right from inet_csk_route_child_sock()
++       */
++      if (ret)
++              inet_sk(ret)->cork.fl.u.ip4 = fl4;
+ out:  return ret;
+ }
 diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index 7963e03..c44f5d0 100644
+index eb90aa8..74908e1 100644
 --- a/net/ipv4/tcp_ipv4.c
 +++ b/net/ipv4/tcp_ipv4.c
 @@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly;
@@ -75450,7 +76126,24 @@ index 7963e03..c44f5d0 100644
  
  #ifdef CONFIG_TCP_MD5SIG
  static struct tcp_md5sig_key *tcp_v4_md5_do_lookup(struct sock *sk,
-@@ -1622,6 +1625,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -1465,9 +1468,13 @@ struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
+               inet_csk(newsk)->icsk_ext_hdr_len = inet_opt->opt.optlen;
+       newinet->inet_id = newtp->write_seq ^ jiffies;
+-      if (!dst && (dst = inet_csk_route_child_sock(sk, newsk, req)) == NULL)
+-              goto put_and_exit;
+-
++      if (!dst) {
++              dst = inet_csk_route_child_sock(sk, newsk, req);
++              if (!dst)
++                      goto put_and_exit;
++      } else {
++              /* syncookie case : see end of cookie_v4_check() */
++      }
+       sk_setup_caps(newsk, dst);
+       tcp_mtup_init(newsk);
+@@ -1632,6 +1639,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
        return 0;
  
  reset:
@@ -75460,7 +76153,7 @@ index 7963e03..c44f5d0 100644
        tcp_v4_send_reset(rsk, skb);
  discard:
        kfree_skb(skb);
-@@ -1684,12 +1690,19 @@ int tcp_v4_rcv(struct sk_buff *skb)
+@@ -1694,12 +1704,19 @@ int tcp_v4_rcv(struct sk_buff *skb)
        TCP_SKB_CB(skb)->sacked  = 0;
  
        sk = __inet_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest);
@@ -75483,7 +76176,7 @@ index 7963e03..c44f5d0 100644
  
        if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) {
                NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP);
-@@ -1739,6 +1752,10 @@ no_tcp_socket:
+@@ -1749,6 +1766,10 @@ no_tcp_socket:
  bad_packet:
                TCP_INC_STATS_BH(net, TCP_MIB_INERRS);
        } else {
@@ -75494,7 +76187,7 @@ index 7963e03..c44f5d0 100644
                tcp_v4_send_reset(NULL, skb);
        }
  
-@@ -2403,7 +2420,11 @@ static void get_openreq4(struct sock *sk, struct request_sock *req,
+@@ -2409,7 +2430,11 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req,
                0,  /* non standard timer */
                0, /* open_requests have no inode */
                atomic_read(&sk->sk_refcnt),
@@ -75506,7 +76199,7 @@ index 7963e03..c44f5d0 100644
                len);
  }
  
-@@ -2453,7 +2474,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
+@@ -2459,7 +2484,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
                sock_i_uid(sk),
                icsk->icsk_probes_out,
                sock_i_ino(sk),
@@ -75520,7 +76213,7 @@ index 7963e03..c44f5d0 100644
                jiffies_to_clock_t(icsk->icsk_rto),
                jiffies_to_clock_t(icsk->icsk_ack.ato),
                (icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong,
-@@ -2481,7 +2507,13 @@ static void get_timewait4_sock(struct inet_timewait_sock *tw,
+@@ -2487,7 +2517,13 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw,
                " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK%n",
                i, src, srcp, dest, destp, tw->tw_substate, 0, 0,
                3, jiffies_to_clock_t(ttd), 0, 0, 0, 0,
@@ -75536,7 +76229,7 @@ index 7963e03..c44f5d0 100644
  
  #define TMPSZ 150
 diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
-index 0ce3d06..e182e59 100644
+index 66363b6..b0654a3 100644
 --- a/net/ipv4/tcp_minisocks.c
 +++ b/net/ipv4/tcp_minisocks.c
 @@ -27,6 +27,10 @@
@@ -75550,7 +76243,7 @@ index 0ce3d06..e182e59 100644
  int sysctl_tcp_syncookies __read_mostly = 1;
  EXPORT_SYMBOL(sysctl_tcp_syncookies);
  
-@@ -750,6 +754,10 @@ listen_overflow:
+@@ -751,6 +755,10 @@ listen_overflow:
  
  embryonic_reset:
        NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_EMBRYONICRSTS);
@@ -75561,19 +76254,6 @@ index 0ce3d06..e182e59 100644
        if (!(flg & TCP_FLAG_RST))
                req->rsk_ops->send_reset(sk, skb);
  
-diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
-index 882e0b0..2eba47f 100644
---- a/net/ipv4/tcp_output.c
-+++ b/net/ipv4/tcp_output.c
-@@ -2421,6 +2421,8 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
-       int mss;
-       int s_data_desired = 0;
-+      pax_track_stack();
-+
-       if (cvp != NULL && cvp->s_data_constant && cvp->s_data_desired)
-               s_data_desired = cvp->s_data_desired;
-       skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15 + s_data_desired, 1, GFP_ATOMIC);
 diff --git a/net/ipv4/tcp_probe.c b/net/ipv4/tcp_probe.c
 index 85ee7eb..53277ab 100644
 --- a/net/ipv4/tcp_probe.c
@@ -75588,7 +76268,7 @@ index 85ee7eb..53277ab 100644
                cnt += width;
        }
 diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
-index ecd44b0..b32fba6 100644
+index 2e0f0af..e2948bf 100644
 --- a/net/ipv4/tcp_timer.c
 +++ b/net/ipv4/tcp_timer.c
 @@ -22,6 +22,10 @@
@@ -75617,7 +76297,7 @@ index ecd44b0..b32fba6 100644
                                  syn_set ? 0 : icsk->icsk_user_timeout, syn_set)) {
                /* Has it gone just too far? */
 diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
-index 1b5a193..bd354b0 100644
+index 5a65eea..bd913a1 100644
 --- a/net/ipv4/udp.c
 +++ b/net/ipv4/udp.c
 @@ -86,6 +86,7 @@
@@ -75686,9 +76366,9 @@ index 1b5a193..bd354b0 100644
 +              goto out_free;
 +
        ulen = skb->len - sizeof(struct udphdr);
-       if (len > ulen)
-               len = ulen;
-@@ -1485,7 +1506,7 @@ int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
+       copied = len;
+       if (copied > ulen)
+@@ -1487,7 +1508,7 @@ int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
  
  drop:
        UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
@@ -75697,7 +76377,7 @@ index 1b5a193..bd354b0 100644
        kfree_skb(skb);
        return -1;
  }
-@@ -1504,7 +1525,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -1506,7 +1527,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
                        skb1 = (i == final) ? skb : skb_clone(skb, GFP_ATOMIC);
  
                if (!skb1) {
@@ -75706,7 +76386,7 @@ index 1b5a193..bd354b0 100644
                        UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
                                         IS_UDPLITE(sk));
                        UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
-@@ -1673,6 +1694,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -1675,6 +1696,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
                goto csum_error;
  
        UDP_INC_STATS_BH(net, UDP_MIB_NOPORTS, proto == IPPROTO_UDPLITE);
@@ -75716,7 +76396,7 @@ index 1b5a193..bd354b0 100644
        icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0);
  
        /*
-@@ -2100,8 +2124,13 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
+@@ -2098,8 +2122,13 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
                sk_wmem_alloc_get(sp),
                sk_rmem_alloc_get(sp),
                0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
@@ -75733,10 +76413,10 @@ index 1b5a193..bd354b0 100644
  
  int udp4_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
-index 12368c5..fbf899f 100644
+index a5521c5..984a2f4 100644
 --- a/net/ipv6/addrconf.c
 +++ b/net/ipv6/addrconf.c
-@@ -2083,7 +2083,7 @@ int addrconf_set_dstaddr(struct net *net, void __user *arg)
+@@ -2153,7 +2153,7 @@ int addrconf_set_dstaddr(struct net *net, void __user *arg)
                p.iph.ihl = 5;
                p.iph.protocol = IPPROTO_IPV6;
                p.iph.ttl = 64;
@@ -75745,8 +76425,21 @@ index 12368c5..fbf899f 100644
  
                if (ops->ndo_do_ioctl) {
                        mm_segment_t oldfs = get_fs();
+diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c
+index 4c0f894..fca5d15 100644
+--- a/net/ipv6/ah6.c
++++ b/net/ipv6/ah6.c
+@@ -56,6 +56,8 @@ struct ah_skb_cb {
+ #define AH_SKB_CB(__skb) ((struct ah_skb_cb *)&((__skb)->cb[0]))
+ static void *ah_alloc_tmp(struct crypto_ahash *ahash, int nfrags,
++                        unsigned int size) __size_overflow(3);
++static void *ah_alloc_tmp(struct crypto_ahash *ahash, int nfrags,
+                         unsigned int size)
+ {
+       unsigned int len;
 diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c
-index 8a58e8c..8b5e631 100644
+index 1567fb1..29af910 100644
 --- a/net/ipv6/inet6_connection_sock.c
 +++ b/net/ipv6/inet6_connection_sock.c
 @@ -178,7 +178,7 @@ void __inet6_csk_dst_store(struct sock *sk, struct dst_entry *dst,
@@ -75768,28 +76461,10 @@ index 8a58e8c..8b5e631 100644
                        dst = NULL;
                }
 diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
-index 2fbda5f..26ed683 100644
+index 26cb08c..8af9877 100644
 --- a/net/ipv6/ipv6_sockglue.c
 +++ b/net/ipv6/ipv6_sockglue.c
-@@ -129,6 +129,8 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
-       int val, valbool;
-       int retv = -ENOPROTOOPT;
-+      pax_track_stack();
-+
-       if (optval == NULL)
-               val=0;
-       else {
-@@ -919,6 +921,8 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
-       int len;
-       int val;
-+      pax_track_stack();
-+
-       if (ip6_mroute_opt(optname))
-               return ip6_mroute_getsockopt(sk, optname, optval, optlen);
-@@ -960,7 +964,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
+@@ -960,7 +960,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
                if (sk->sk_type != SOCK_STREAM)
                        return -ENOPROTOOPT;
  
@@ -75798,20 +76473,45 @@ index 2fbda5f..26ed683 100644
                msg.msg_controllen = len;
                msg.msg_flags = flags;
  
+diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c
+index 94874b0..dc413fa 100644
+--- a/net/ipv6/netfilter/ip6_tables.c
++++ b/net/ipv6/netfilter/ip6_tables.c
+@@ -1194,6 +1194,10 @@ get_entries(struct net *net, struct ip6t_get_entries __user *uptr,
+ static int
+ __do_replace(struct net *net, const char *name, unsigned int valid_hooks,
+            struct xt_table_info *newinfo, unsigned int num_counters,
++           void __user *counters_ptr) __size_overflow(5);
++static int
++__do_replace(struct net *net, const char *name, unsigned int valid_hooks,
++           struct xt_table_info *newinfo, unsigned int num_counters,
+            void __user *counters_ptr)
+ {
+       int ret;
+@@ -1315,6 +1319,9 @@ do_replace(struct net *net, const void __user *user, unsigned int len)
+ static int
+ do_add_counters(struct net *net, const void __user *user, unsigned int len,
++              int compat) __size_overflow(3);
++static int
++do_add_counters(struct net *net, const void __user *user, unsigned int len,
+               int compat)
+ {
+       unsigned int i, curcpu;
 diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
-index 343852e..c92bd15 100644
+index 361ebf3..d5628fb 100644
 --- a/net/ipv6/raw.c
 +++ b/net/ipv6/raw.c
-@@ -376,7 +376,7 @@ static inline int rawv6_rcv_skb(struct sock * sk, struct sk_buff * skb)
+@@ -377,7 +377,7 @@ static inline int rawv6_rcv_skb(struct sock *sk, struct sk_buff *skb)
  {
-       if ((raw6_sk(sk)->checksum || rcu_dereference_raw(sk->sk_filter)) &&
+       if ((raw6_sk(sk)->checksum || rcu_access_pointer(sk->sk_filter)) &&
            skb_checksum_complete(skb)) {
 -              atomic_inc(&sk->sk_drops);
 +              atomic_inc_unchecked(&sk->sk_drops);
                kfree_skb(skb);
                return NET_RX_DROP;
        }
-@@ -403,7 +403,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -404,7 +404,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb)
        struct raw6_sock *rp = raw6_sk(sk);
  
        if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) {
@@ -75820,7 +76520,7 @@ index 343852e..c92bd15 100644
                kfree_skb(skb);
                return NET_RX_DROP;
        }
-@@ -427,7 +427,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -428,7 +428,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb)
  
        if (inet->hdrincl) {
                if (skb_checksum_complete(skb)) {
@@ -75838,16 +76538,7 @@ index 343852e..c92bd15 100644
                        struct flowi6 *fl6, struct dst_entry **dstp,
                        unsigned int flags)
  {
-@@ -742,6 +742,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk,
-       u16 proto;
-       int err;
-+      pax_track_stack();
-+
-       /* Rough check on arithmetic overflow,
-          better check is made in ip6_append_data().
-        */
-@@ -909,12 +911,15 @@ do_confirm:
+@@ -909,12 +909,15 @@ do_confirm:
  static int rawv6_seticmpfilter(struct sock *sk, int level, int optname,
                               char __user *optval, int optlen)
  {
@@ -75864,7 +76555,7 @@ index 343852e..c92bd15 100644
                return 0;
        default:
                return -ENOPROTOOPT;
-@@ -927,6 +932,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -927,6 +930,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
                               char __user *optval, int __user *optlen)
  {
        int len;
@@ -75872,7 +76563,7 @@ index 343852e..c92bd15 100644
  
        switch (optname) {
        case ICMPV6_FILTER:
-@@ -938,7 +944,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -938,7 +942,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
                        len = sizeof(struct icmp6_filter);
                if (put_user(len, optlen))
                        return -EFAULT;
@@ -75882,7 +76573,7 @@ index 343852e..c92bd15 100644
                        return -EFAULT;
                return 0;
        default:
-@@ -1245,7 +1252,13 @@ static void raw6_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+@@ -1245,7 +1250,13 @@ static void raw6_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
                   0, 0L, 0,
                   sock_i_uid(sp), 0,
                   sock_i_ino(sp),
@@ -75898,7 +76589,7 @@ index 343852e..c92bd15 100644
  
  static int raw6_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
-index 7b8fc57..c6185da 100644
+index b859e4a..f9d1589 100644
 --- a/net/ipv6/tcp_ipv6.c
 +++ b/net/ipv6/tcp_ipv6.c
 @@ -93,6 +93,10 @@ static struct tcp_md5sig_key *tcp_v6_md5_do_lookup(struct sock *sk,
@@ -75912,7 +76603,7 @@ index 7b8fc57..c6185da 100644
  static void tcp_v6_hash(struct sock *sk)
  {
        if (sk->sk_state != TCP_CLOSE) {
-@@ -1647,6 +1651,9 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -1651,6 +1655,9 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
        return 0;
  
  reset:
@@ -75922,7 +76613,7 @@ index 7b8fc57..c6185da 100644
        tcp_v6_send_reset(sk, skb);
  discard:
        if (opt_skb)
-@@ -1726,12 +1733,20 @@ static int tcp_v6_rcv(struct sk_buff *skb)
+@@ -1730,12 +1737,20 @@ static int tcp_v6_rcv(struct sk_buff *skb)
        TCP_SKB_CB(skb)->sacked = 0;
  
        sk = __inet6_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest);
@@ -75945,7 +76636,7 @@ index 7b8fc57..c6185da 100644
  
        if (hdr->hop_limit < inet6_sk(sk)->min_hopcount) {
                NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP);
-@@ -1779,6 +1794,10 @@ no_tcp_socket:
+@@ -1783,6 +1798,10 @@ no_tcp_socket:
  bad_packet:
                TCP_INC_STATS_BH(net, TCP_MIB_INERRS);
        } else {
@@ -75956,7 +76647,7 @@ index 7b8fc57..c6185da 100644
                tcp_v6_send_reset(NULL, skb);
        }
  
-@@ -2039,7 +2058,13 @@ static void get_openreq6(struct seq_file *seq,
+@@ -2043,7 +2062,13 @@ static void get_openreq6(struct seq_file *seq,
                   uid,
                   0,  /* non standard timer */
                   0, /* open_requests have no inode */
@@ -75971,7 +76662,7 @@ index 7b8fc57..c6185da 100644
  }
  
  static void get_tcp6_sock(struct seq_file *seq, struct sock *sp, int i)
-@@ -2089,7 +2114,12 @@ static void get_tcp6_sock(struct seq_file *seq, struct sock *sp, int i)
+@@ -2093,7 +2118,12 @@ static void get_tcp6_sock(struct seq_file *seq, struct sock *sp, int i)
                   sock_i_uid(sp),
                   icsk->icsk_probes_out,
                   sock_i_ino(sp),
@@ -75985,7 +76676,7 @@ index 7b8fc57..c6185da 100644
                   jiffies_to_clock_t(icsk->icsk_rto),
                   jiffies_to_clock_t(icsk->icsk_ack.ato),
                   (icsk->icsk_ack.quick << 1 ) | icsk->icsk_ack.pingpong,
-@@ -2124,7 +2154,13 @@ static void get_timewait6_sock(struct seq_file *seq,
+@@ -2128,7 +2158,13 @@ static void get_timewait6_sock(struct seq_file *seq,
                   dest->s6_addr32[2], dest->s6_addr32[3], destp,
                   tw->tw_substate, 0, 0,
                   3, jiffies_to_clock_t(ttd), 0, 0, 0, 0,
@@ -76001,7 +76692,7 @@ index 7b8fc57..c6185da 100644
  
  static int tcp6_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
-index bb95e8e..ae0ee80 100644
+index 8c25419..47a51ae 100644
 --- a/net/ipv6/udp.c
 +++ b/net/ipv6/udp.c
 @@ -50,6 +50,10 @@
@@ -76015,7 +76706,7 @@ index bb95e8e..ae0ee80 100644
  int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2)
  {
        const struct in6_addr *sk_rcv_saddr6 = &inet6_sk(sk)->rcv_saddr;
-@@ -548,7 +552,7 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
+@@ -549,7 +553,7 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
  
        return 0;
  drop:
@@ -76024,7 +76715,7 @@ index bb95e8e..ae0ee80 100644
  drop_no_sk_drops_inc:
        UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
        kfree_skb(skb);
-@@ -624,7 +628,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -625,7 +629,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
                        continue;
                }
  drop:
@@ -76033,7 +76724,7 @@ index bb95e8e..ae0ee80 100644
                UDP6_INC_STATS_BH(sock_net(sk),
                                UDP_MIB_RCVBUFERRORS, IS_UDPLITE(sk));
                UDP6_INC_STATS_BH(sock_net(sk),
-@@ -779,6 +783,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -780,6 +784,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
                UDP6_INC_STATS_BH(net, UDP_MIB_NOPORTS,
                                proto == IPPROTO_UDPLITE);
  
@@ -76043,7 +76734,7 @@ index bb95e8e..ae0ee80 100644
                icmpv6_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_PORT_UNREACH, 0);
  
                kfree_skb(skb);
-@@ -795,7 +802,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -796,7 +803,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
        if (!sock_owned_by_user(sk))
                udpv6_queue_rcv_skb(sk, skb);
        else if (sk_add_backlog(sk, skb)) {
@@ -76052,7 +76743,7 @@ index bb95e8e..ae0ee80 100644
                bh_unlock_sock(sk);
                sock_put(sk);
                goto discard;
-@@ -1406,8 +1413,13 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
+@@ -1407,8 +1414,13 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
                   0, 0L, 0,
                   sock_i_uid(sp), 0,
                   sock_i_ino(sp),
@@ -76069,7 +76760,7 @@ index bb95e8e..ae0ee80 100644
  
  int udp6_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c
-index b3cc8b3..baa02d0 100644
+index 253695d..9481ce8 100644
 --- a/net/irda/ircomm/ircomm_tty.c
 +++ b/net/irda/ircomm/ircomm_tty.c
 @@ -282,16 +282,16 @@ static int ircomm_tty_block_til_ready(struct ircomm_tty_cb *self,
@@ -76195,10 +76886,10 @@ index b3cc8b3..baa02d0 100644
        seq_printf(m, "Max header size: %d\n", self->max_header_size);
  
 diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
-index e2013e4..edfc1e3 100644
+index 274d150..656a144 100644
 --- a/net/iucv/af_iucv.c
 +++ b/net/iucv/af_iucv.c
-@@ -648,10 +648,10 @@ static int iucv_sock_autobind(struct sock *sk)
+@@ -787,10 +787,10 @@ static int iucv_sock_autobind(struct sock *sk)
  
        write_lock_bh(&iucv_sk_list.lock);
  
@@ -76212,19 +76903,10 @@ index e2013e4..edfc1e3 100644
  
        write_unlock_bh(&iucv_sk_list.lock);
 diff --git a/net/key/af_key.c b/net/key/af_key.c
-index 1e733e9..c84de2f 100644
+index 1e733e9..3d73c9f 100644
 --- a/net/key/af_key.c
 +++ b/net/key/af_key.c
-@@ -2481,6 +2481,8 @@ static int pfkey_migrate(struct sock *sk, struct sk_buff *skb,
-       struct xfrm_migrate m[XFRM_MAX_DEPTH];
-       struct xfrm_kmaddress k;
-+      pax_track_stack();
-+
-       if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC - 1],
-                                    ext_hdrs[SADB_EXT_ADDRESS_DST - 1]) ||
-           !ext_hdrs[SADB_X_EXT_POLICY - 1]) {
-@@ -3016,10 +3018,10 @@ static int pfkey_send_policy_notify(struct xfrm_policy *xp, int dir, const struc
+@@ -3016,10 +3016,10 @@ static int pfkey_send_policy_notify(struct xfrm_policy *xp, int dir, const struc
  static u32 get_acqseq(void)
  {
        u32 res;
@@ -76237,97 +76919,8 @@ index 1e733e9..c84de2f 100644
        } while (!res);
        return res;
  }
-diff --git a/net/lapb/lapb_iface.c b/net/lapb/lapb_iface.c
-index 956b7e4..f01d328 100644
---- a/net/lapb/lapb_iface.c
-+++ b/net/lapb/lapb_iface.c
-@@ -158,7 +158,7 @@ int lapb_register(struct net_device *dev, struct lapb_register_struct *callbacks
-               goto out;
-       lapb->dev       = dev;
--      lapb->callbacks = *callbacks;
-+      lapb->callbacks = callbacks;
-       __lapb_insert_cb(lapb);
-@@ -380,32 +380,32 @@ int lapb_data_received(struct net_device *dev, struct sk_buff *skb)
- void lapb_connect_confirmation(struct lapb_cb *lapb, int reason)
- {
--      if (lapb->callbacks.connect_confirmation)
--              lapb->callbacks.connect_confirmation(lapb->dev, reason);
-+      if (lapb->callbacks->connect_confirmation)
-+              lapb->callbacks->connect_confirmation(lapb->dev, reason);
- }
- void lapb_connect_indication(struct lapb_cb *lapb, int reason)
- {
--      if (lapb->callbacks.connect_indication)
--              lapb->callbacks.connect_indication(lapb->dev, reason);
-+      if (lapb->callbacks->connect_indication)
-+              lapb->callbacks->connect_indication(lapb->dev, reason);
- }
- void lapb_disconnect_confirmation(struct lapb_cb *lapb, int reason)
- {
--      if (lapb->callbacks.disconnect_confirmation)
--              lapb->callbacks.disconnect_confirmation(lapb->dev, reason);
-+      if (lapb->callbacks->disconnect_confirmation)
-+              lapb->callbacks->disconnect_confirmation(lapb->dev, reason);
- }
- void lapb_disconnect_indication(struct lapb_cb *lapb, int reason)
- {
--      if (lapb->callbacks.disconnect_indication)
--              lapb->callbacks.disconnect_indication(lapb->dev, reason);
-+      if (lapb->callbacks->disconnect_indication)
-+              lapb->callbacks->disconnect_indication(lapb->dev, reason);
- }
- int lapb_data_indication(struct lapb_cb *lapb, struct sk_buff *skb)
- {
--      if (lapb->callbacks.data_indication)
--              return lapb->callbacks.data_indication(lapb->dev, skb);
-+      if (lapb->callbacks->data_indication)
-+              return lapb->callbacks->data_indication(lapb->dev, skb);
-       kfree_skb(skb);
-       return NET_RX_SUCCESS; /* For now; must be != NET_RX_DROP */
-@@ -415,8 +415,8 @@ int lapb_data_transmit(struct lapb_cb *lapb, struct sk_buff *skb)
- {
-       int used = 0;
--      if (lapb->callbacks.data_transmit) {
--              lapb->callbacks.data_transmit(lapb->dev, skb);
-+      if (lapb->callbacks->data_transmit) {
-+              lapb->callbacks->data_transmit(lapb->dev, skb);
-               used = 1;
-       }
-diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
-index a01d213..6a1f1ab 100644
---- a/net/mac80211/debugfs_sta.c
-+++ b/net/mac80211/debugfs_sta.c
-@@ -140,6 +140,8 @@ static ssize_t sta_agg_status_read(struct file *file, char __user *userbuf,
-       struct tid_ampdu_rx *tid_rx;
-       struct tid_ampdu_tx *tid_tx;
-+      pax_track_stack();
-+
-       rcu_read_lock();
-       p += scnprintf(p, sizeof(buf) + buf - p, "next dialog_token: %#02x\n",
-@@ -240,6 +242,8 @@ static ssize_t sta_ht_capa_read(struct file *file, char __user *userbuf,
-       struct sta_info *sta = file->private_data;
-       struct ieee80211_sta_ht_cap *htc = &sta->sta.ht_cap;
-+      pax_track_stack();
-+
-       p += scnprintf(p, sizeof(buf) + buf - p, "ht %ssupported\n",
-                       htc->ht_supported ? "" : "not ");
-       if (htc->ht_supported) {
 diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
-index 9fab144..7f0fc14 100644
+index 73495f1..ad51356 100644
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
 @@ -27,6 +27,7 @@
@@ -76338,7 +76931,7 @@ index 9fab144..7f0fc14 100644
  #include "key.h"
  #include "sta_info.h"
  
-@@ -754,7 +755,7 @@ struct ieee80211_local {
+@@ -764,7 +765,7 @@ struct ieee80211_local {
        /* also used to protect ampdu_ac_queue and amdpu_ac_stop_refcnt */
        spinlock_t queue_stop_reason_lock;
  
@@ -76348,7 +76941,7 @@ index 9fab144..7f0fc14 100644
        /* number of interfaces with corresponding FIF_ flags */
        int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll,
 diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
-index 556e7e6..120dcaf 100644
+index 30d7355..e260095 100644
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
 @@ -211,7 +211,7 @@ static int ieee80211_do_open(struct net_device *dev, bool coming_up)
@@ -76387,7 +76980,7 @@ index 556e7e6..120dcaf 100644
                drv_stop(local);
   err_del_bss:
        sdata->bss = NULL;
-@@ -474,7 +474,7 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
+@@ -472,7 +472,7 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
        }
  
        if (going_down)
@@ -76396,7 +76989,7 @@ index 556e7e6..120dcaf 100644
  
        switch (sdata->vif.type) {
        case NL80211_IFTYPE_AP_VLAN:
-@@ -533,7 +533,7 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
+@@ -531,7 +531,7 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
  
        ieee80211_recalc_ps(local, -1);
  
@@ -76406,10 +76999,10 @@ index 556e7e6..120dcaf 100644
                        napi_disable(&local->napi);
                ieee80211_clear_tx_pending(local);
 diff --git a/net/mac80211/main.c b/net/mac80211/main.c
-index 3d90dad..36884d5 100644
+index 7d9b21d..0687004 100644
 --- a/net/mac80211/main.c
 +++ b/net/mac80211/main.c
-@@ -209,7 +209,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
+@@ -163,7 +163,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
                local->hw.conf.power_level = power;
        }
  
@@ -76418,21 +77011,8 @@ index 3d90dad..36884d5 100644
                ret = drv_config(local, changed);
                /*
                 * Goal:
-diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
-index 0f48368..d48e688 100644
---- a/net/mac80211/mlme.c
-+++ b/net/mac80211/mlme.c
-@@ -1464,6 +1464,8 @@ static bool ieee80211_assoc_success(struct ieee80211_work *wk,
-       bool have_higher_than_11mbit = false;
-       u16 ap_ht_cap_flags;
-+      pax_track_stack();
-+
-       /* AssocResp and ReassocResp have identical structure */
-       aid = le16_to_cpu(mgmt->u.assoc_resp.aid);
 diff --git a/net/mac80211/pm.c b/net/mac80211/pm.c
-index 6326d34..7225f61 100644
+index 9ee7164..56c5061 100644
 --- a/net/mac80211/pm.c
 +++ b/net/mac80211/pm.c
 @@ -34,7 +34,7 @@ int __ieee80211_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
@@ -76463,10 +77043,10 @@ index 6326d34..7225f61 100644
  
   suspend:
 diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
-index 3d5a2cb..b17ad48 100644
+index 7d84b87..6a69cd9 100644
 --- a/net/mac80211/rate.c
 +++ b/net/mac80211/rate.c
-@@ -371,7 +371,7 @@ int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local,
+@@ -401,7 +401,7 @@ int ieee80211_init_rate_ctrl_alg(struct ieee80211_local *local,
  
        ASSERT_RTNL();
  
@@ -76476,10 +77056,10 @@ index 3d5a2cb..b17ad48 100644
  
        if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) {
 diff --git a/net/mac80211/rc80211_pid_debugfs.c b/net/mac80211/rc80211_pid_debugfs.c
-index 4851e9e..d860e05 100644
+index c97a065..ff61928 100644
 --- a/net/mac80211/rc80211_pid_debugfs.c
 +++ b/net/mac80211/rc80211_pid_debugfs.c
-@@ -192,7 +192,7 @@ static ssize_t rate_control_pid_events_read(struct file *file, char __user *buf,
+@@ -193,7 +193,7 @@ static ssize_t rate_control_pid_events_read(struct file *file, char __user *buf,
  
        spin_unlock_irqrestore(&events->lock, status);
  
@@ -76489,10 +77069,10 @@ index 4851e9e..d860e05 100644
  
        return p;
 diff --git a/net/mac80211/util.c b/net/mac80211/util.c
-index fd031e8..84fbfcf 100644
+index d5230ec..c604b21 100644
 --- a/net/mac80211/util.c
 +++ b/net/mac80211/util.c
-@@ -1170,7 +1170,7 @@ int ieee80211_reconfig(struct ieee80211_local *local)
+@@ -1000,7 +1000,7 @@ int ieee80211_reconfig(struct ieee80211_local *local)
        drv_set_coverage_class(local, hw->wiphy->coverage_class);
  
        /* everything else happens only if HW was up & running */
@@ -76502,10 +77082,10 @@ index fd031e8..84fbfcf 100644
  
        /*
 diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
-index 32bff6d..d0cf986 100644
+index d5597b7..ab6d39c 100644
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -781,6 +781,16 @@ config NETFILTER_XT_MATCH_ESP
+@@ -779,6 +779,16 @@ config NETFILTER_XT_MATCH_ESP
  
          To compile it as a module, choose M here.  If unsure, say N.
  
@@ -76535,7 +77115,7 @@ index 1a02853..5d8c22e 100644
  obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
 diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
-index 12571fb..fb73976 100644
+index 29fa5ba..8debc79 100644
 --- a/net/netfilter/ipvs/ip_vs_conn.c
 +++ b/net/netfilter/ipvs/ip_vs_conn.c
 @@ -556,7 +556,7 @@ ip_vs_bind_dest(struct ip_vs_conn *cp, struct ip_vs_dest *dest)
@@ -76566,10 +77146,10 @@ index 12571fb..fb73976 100644
  
        if (!todrop_rate[i]) return 0;
 diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
-index 4f77bb1..5d0bc26 100644
+index 6dc7d7d..e45913a 100644
 --- a/net/netfilter/ipvs/ip_vs_core.c
 +++ b/net/netfilter/ipvs/ip_vs_core.c
-@@ -563,7 +563,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
+@@ -562,7 +562,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
                ret = cp->packet_xmit(skb, cp, pd->pp);
                /* do not touch skb anymore */
  
@@ -76578,7 +77158,7 @@ index 4f77bb1..5d0bc26 100644
                ip_vs_conn_put(cp);
                return ret;
        }
-@@ -1612,7 +1612,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
+@@ -1611,7 +1611,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
        if (cp->flags & IP_VS_CONN_F_ONE_PACKET)
                pkts = sysctl_sync_threshold(ipvs);
        else
@@ -76588,10 +77168,10 @@ index 4f77bb1..5d0bc26 100644
        if ((ipvs->sync_state & IP_VS_STATE_MASTER) &&
            cp->protocol == IPPROTO_SCTP) {
 diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
-index e3be48b..d658c8c 100644
+index e1a66cf..0910076 100644
 --- a/net/netfilter/ipvs/ip_vs_ctl.c
 +++ b/net/netfilter/ipvs/ip_vs_ctl.c
-@@ -782,7 +782,7 @@ __ip_vs_update_dest(struct ip_vs_service *svc, struct ip_vs_dest *dest,
+@@ -788,7 +788,7 @@ __ip_vs_update_dest(struct ip_vs_service *svc, struct ip_vs_dest *dest,
                ip_vs_rs_hash(ipvs, dest);
                write_unlock_bh(&ipvs->rs_lock);
        }
@@ -76600,7 +77180,7 @@ index e3be48b..d658c8c 100644
  
        /* bind the service */
        if (!dest->svc) {
-@@ -2027,7 +2027,7 @@ static int ip_vs_info_seq_show(struct seq_file *seq, void *v)
+@@ -2028,7 +2028,7 @@ static int ip_vs_info_seq_show(struct seq_file *seq, void *v)
                                           "      %-7s %-6d %-10d %-10d\n",
                                           &dest->addr.in6,
                                           ntohs(dest->port),
@@ -76609,7 +77189,7 @@ index e3be48b..d658c8c 100644
                                           atomic_read(&dest->weight),
                                           atomic_read(&dest->activeconns),
                                           atomic_read(&dest->inactconns));
-@@ -2038,7 +2038,7 @@ static int ip_vs_info_seq_show(struct seq_file *seq, void *v)
+@@ -2039,7 +2039,7 @@ static int ip_vs_info_seq_show(struct seq_file *seq, void *v)
                                           "%-7s %-6d %-10d %-10d\n",
                                           ntohl(dest->addr.ip),
                                           ntohs(dest->port),
@@ -76618,16 +77198,7 @@ index e3be48b..d658c8c 100644
                                           atomic_read(&dest->weight),
                                           atomic_read(&dest->activeconns),
                                           atomic_read(&dest->inactconns));
-@@ -2285,6 +2285,8 @@ do_ip_vs_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned int len)
-       struct ip_vs_dest_user_kern udest;
-       struct netns_ipvs *ipvs = net_ipvs(net);
-+      pax_track_stack();
-+
-       if (!capable(CAP_NET_ADMIN))
-               return -EPERM;
-@@ -2508,7 +2510,7 @@ __ip_vs_get_dest_entries(struct net *net, const struct ip_vs_get_dests *get,
+@@ -2509,7 +2509,7 @@ __ip_vs_get_dest_entries(struct net *net, const struct ip_vs_get_dests *get,
  
                        entry.addr = dest->addr.ip;
                        entry.port = dest->port;
@@ -76636,7 +77207,7 @@ index e3be48b..d658c8c 100644
                        entry.weight = atomic_read(&dest->weight);
                        entry.u_threshold = dest->u_threshold;
                        entry.l_threshold = dest->l_threshold;
-@@ -3041,7 +3043,7 @@ static int ip_vs_genl_fill_dest(struct sk_buff *skb, struct ip_vs_dest *dest)
+@@ -3042,7 +3042,7 @@ static int ip_vs_genl_fill_dest(struct sk_buff *skb, struct ip_vs_dest *dest)
        NLA_PUT_U16(skb, IPVS_DEST_ATTR_PORT, dest->port);
  
        NLA_PUT_U32(skb, IPVS_DEST_ATTR_FWD_METHOD,
@@ -76646,7 +77217,7 @@ index e3be48b..d658c8c 100644
        NLA_PUT_U32(skb, IPVS_DEST_ATTR_U_THRESH, dest->u_threshold);
        NLA_PUT_U32(skb, IPVS_DEST_ATTR_L_THRESH, dest->l_threshold);
 diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
-index 3cdd479..116afa8 100644
+index 2b6678c0..aaa41fc 100644
 --- a/net/netfilter/ipvs/ip_vs_sync.c
 +++ b/net/netfilter/ipvs/ip_vs_sync.c
 @@ -649,7 +649,7 @@ control:
@@ -76668,7 +77239,7 @@ index 3cdd479..116afa8 100644
        cp->old_state = cp->state;
        /*
 diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c
-index ee319a4..8a285ee 100644
+index aa2d720..d8aa111 100644
 --- a/net/netfilter/ipvs/ip_vs_xmit.c
 +++ b/net/netfilter/ipvs/ip_vs_xmit.c
 @@ -1151,7 +1151,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
@@ -76690,7 +77261,7 @@ index ee319a4..8a285ee 100644
        }
  
 diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
-index 2d8158a..5dca296 100644
+index 66b2c54..c7884e3 100644
 --- a/net/netfilter/nfnetlink_log.c
 +++ b/net/netfilter/nfnetlink_log.c
 @@ -70,7 +70,7 @@ struct nfulnl_instance {
@@ -76702,7 +77273,7 @@ index 2d8158a..5dca296 100644
  
  #define INSTANCE_BUCKETS      16
  static struct hlist_head instance_table[INSTANCE_BUCKETS];
-@@ -505,7 +505,7 @@ __build_packet_message(struct nfulnl_instance *inst,
+@@ -502,7 +502,7 @@ __build_packet_message(struct nfulnl_instance *inst,
        /* global sequence number */
        if (inst->flags & NFULNL_CFG_F_SEQ_GLOBAL)
                NLA_PUT_BE32(inst->skb, NFULA_SEQ_GLOBAL,
@@ -76769,11 +77340,11 @@ index 0000000..6905327
 +MODULE_ALIAS("ipt_gradm");
 +MODULE_ALIAS("ip6t_gradm");
 diff --git a/net/netfilter/xt_statistic.c b/net/netfilter/xt_statistic.c
-index 42ecb71..8d687c0 100644
+index 4fe4fb4..87a89e5 100644
 --- a/net/netfilter/xt_statistic.c
 +++ b/net/netfilter/xt_statistic.c
-@@ -18,7 +18,7 @@
- #include <linux/netfilter/x_tables.h>
+@@ -19,7 +19,7 @@
+ #include <linux/module.h>
  
  struct xt_statistic_priv {
 -      atomic_t count;
@@ -76781,7 +77352,7 @@ index 42ecb71..8d687c0 100644
  } ____cacheline_aligned_in_smp;
  
  MODULE_LICENSE("GPL");
-@@ -41,9 +41,9 @@ statistic_mt(const struct sk_buff *skb, struct xt_action_param *par)
+@@ -42,9 +42,9 @@ statistic_mt(const struct sk_buff *skb, struct xt_action_param *par)
                break;
        case XT_STATISTIC_MODE_NTH:
                do {
@@ -76793,7 +77364,7 @@ index 42ecb71..8d687c0 100644
                if (nval == 0)
                        ret = !ret;
                break;
-@@ -63,7 +63,7 @@ static int statistic_mt_check(const struct xt_mtchk_param *par)
+@@ -64,7 +64,7 @@ static int statistic_mt_check(const struct xt_mtchk_param *par)
        info->master = kzalloc(sizeof(*info->master), GFP_KERNEL);
        if (info->master == NULL)
                return -ENOMEM;
@@ -76803,7 +77374,7 @@ index 42ecb71..8d687c0 100644
        return 0;
  }
 diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
-index 0a4db02..604f748 100644
+index 1201b6d..bcff8c6 100644
 --- a/net/netlink/af_netlink.c
 +++ b/net/netlink/af_netlink.c
 @@ -742,7 +742,7 @@ static void netlink_overrun(struct sock *sk)
@@ -76815,7 +77386,7 @@ index 0a4db02..604f748 100644
  }
  
  static struct sock *netlink_getsockbypid(struct sock *ssk, u32 pid)
-@@ -2000,7 +2000,7 @@ static int netlink_seq_show(struct seq_file *seq, void *v)
+@@ -1999,7 +1999,7 @@ static int netlink_seq_show(struct seq_file *seq, void *v)
                           sk_wmem_alloc_get(s),
                           nlk->cb,
                           atomic_read(&s->sk_refcnt),
@@ -76845,10 +77416,10 @@ index 732152f..60bb09e 100644
                *uaddr_len = sizeof(struct sockaddr_ax25);
        }
 diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index fabb4fa..e146b73 100644
+index d9d4970..d5a6a68 100644
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -954,7 +954,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
+@@ -1675,7 +1675,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
  
        spin_lock(&sk->sk_receive_queue.lock);
        po->stats.tp_packets++;
@@ -76857,7 +77428,7 @@ index fabb4fa..e146b73 100644
        __skb_queue_tail(&sk->sk_receive_queue, skb);
        spin_unlock(&sk->sk_receive_queue.lock);
        sk->sk_data_ready(sk, skb->len);
-@@ -963,7 +963,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
+@@ -1684,7 +1684,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
  drop_n_acct:
        spin_lock(&sk->sk_receive_queue.lock);
        po->stats.tp_drops++;
@@ -76866,7 +77437,7 @@ index fabb4fa..e146b73 100644
        spin_unlock(&sk->sk_receive_queue.lock);
  
  drop_n_restore:
-@@ -2479,7 +2479,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
+@@ -3266,7 +3266,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
        case PACKET_HDRLEN:
                if (len > sizeof(int))
                        len = sizeof(int);
@@ -76875,7 +77446,7 @@ index fabb4fa..e146b73 100644
                        return -EFAULT;
                switch (val) {
                case TPACKET_V1:
-@@ -2526,7 +2526,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
+@@ -3316,7 +3316,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
  
        if (put_user(len, optlen))
                return -EFAULT;
@@ -76885,7 +77456,7 @@ index fabb4fa..e146b73 100644
        return 0;
  }
 diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c
-index c6fffd9..a7ffa0c 100644
+index d65f699..05aa6ce 100644
 --- a/net/phonet/af_phonet.c
 +++ b/net/phonet/af_phonet.c
 @@ -41,7 +41,7 @@ static struct phonet_protocol *phonet_proto_get(unsigned int protocol)
@@ -76907,10 +77478,10 @@ index c6fffd9..a7ffa0c 100644
  
        err = proto_register(pp->prot, 1);
 diff --git a/net/phonet/pep.c b/net/phonet/pep.c
-index f17fd84..edffce8 100644
+index 2ba6e9f..409573f 100644
 --- a/net/phonet/pep.c
 +++ b/net/phonet/pep.c
-@@ -387,7 +387,7 @@ static int pipe_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -388,7 +388,7 @@ static int pipe_do_rcv(struct sock *sk, struct sk_buff *skb)
  
        case PNS_PEP_CTRL_REQ:
                if (skb_queue_len(&pn->ctrlreq_queue) >= PNPIPE_CTRLREQ_MAX) {
@@ -76919,7 +77490,7 @@ index f17fd84..edffce8 100644
                        break;
                }
                __skb_pull(skb, 4);
-@@ -408,7 +408,7 @@ static int pipe_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -409,7 +409,7 @@ static int pipe_do_rcv(struct sock *sk, struct sk_buff *skb)
                }
  
                if (pn->rx_credits == 0) {
@@ -76928,7 +77499,7 @@ index f17fd84..edffce8 100644
                        err = -ENOBUFS;
                        break;
                }
-@@ -556,7 +556,7 @@ static int pipe_handler_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -557,7 +557,7 @@ static int pipe_handler_do_rcv(struct sock *sk, struct sk_buff *skb)
                }
  
                if (pn->rx_credits == 0) {
@@ -76938,10 +77509,10 @@ index f17fd84..edffce8 100644
                        break;
                }
 diff --git a/net/phonet/socket.c b/net/phonet/socket.c
-index ab07711..9d4ac5d 100644
+index 4c7eff3..59c727f 100644
 --- a/net/phonet/socket.c
 +++ b/net/phonet/socket.c
-@@ -612,8 +612,13 @@ static int pn_sock_seq_show(struct seq_file *seq, void *v)
+@@ -613,8 +613,13 @@ static int pn_sock_seq_show(struct seq_file *seq, void *v)
                        pn->resource, sk->sk_state,
                        sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk),
                        sock_i_uid(sk), sock_i_ino(sk),
@@ -76958,10 +77529,10 @@ index ab07711..9d4ac5d 100644
        seq_printf(seq, "%*s\n", 127 - len, "");
        return 0;
 diff --git a/net/rds/cong.c b/net/rds/cong.c
-index 6daaa49..fbf6af5 100644
+index e5b65ac..f3b6fb7 100644
 --- a/net/rds/cong.c
 +++ b/net/rds/cong.c
-@@ -77,7 +77,7 @@
+@@ -78,7 +78,7 @@
   * finds that the saved generation number is smaller than the global generation
   * number, it wakes up the process.
   */
@@ -76970,7 +77541,7 @@ index 6daaa49..fbf6af5 100644
  
  /*
   * Congestion monitoring
-@@ -232,7 +232,7 @@ void rds_cong_map_updated(struct rds_cong_map *map, uint64_t portmask)
+@@ -233,7 +233,7 @@ void rds_cong_map_updated(struct rds_cong_map *map, uint64_t portmask)
        rdsdebug("waking map %p for %pI4\n",
          map, &map->m_addr);
        rds_stats_inc(s_cong_update_received);
@@ -76979,7 +77550,7 @@ index 6daaa49..fbf6af5 100644
        if (waitqueue_active(&map->m_waitq))
                wake_up(&map->m_waitq);
        if (waitqueue_active(&rds_poll_waitq))
-@@ -258,7 +258,7 @@ EXPORT_SYMBOL_GPL(rds_cong_map_updated);
+@@ -259,7 +259,7 @@ EXPORT_SYMBOL_GPL(rds_cong_map_updated);
  
  int rds_cong_updated_since(unsigned long *recent)
  {
@@ -77002,10 +77573,10 @@ index edfaaaf..8c89879 100644
        spinlock_t              i_ack_lock;     /* protect i_ack_next */
        u64                     i_ack_next;     /* next ACK to send */
 diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c
-index cd67026..0b9a54a 100644
+index 51c8689..36c555f 100644
 --- a/net/rds/ib_cm.c
 +++ b/net/rds/ib_cm.c
-@@ -720,7 +720,7 @@ void rds_ib_conn_shutdown(struct rds_connection *conn)
+@@ -718,7 +718,7 @@ void rds_ib_conn_shutdown(struct rds_connection *conn)
        /* Clear the ACK state */
        clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags);
  #ifdef KERNEL_HAS_ATOMIC64
@@ -77062,19 +77633,6 @@ index 9556d28..f046d0e 100644
  #else
        ic->i_ack_next = 0;
  #endif
-diff --git a/net/rds/iw_rdma.c b/net/rds/iw_rdma.c
-index 4e1de17..d121708 100644
---- a/net/rds/iw_rdma.c
-+++ b/net/rds/iw_rdma.c
-@@ -184,6 +184,8 @@ int rds_iw_update_cm_id(struct rds_iw_device *rds_iwdev, struct rdma_cm_id *cm_i
-       struct rdma_cm_id *pcm_id;
-       int rc;
-+      pax_track_stack();
-+
-       src_addr = (struct sockaddr_in *)&cm_id->route.addr.src_addr;
-       dst_addr = (struct sockaddr_in *)&cm_id->route.addr.dst_addr;
 diff --git a/net/rds/iw_recv.c b/net/rds/iw_recv.c
 index 5e57347..3916042 100644
 --- a/net/rds/iw_recv.c
@@ -77098,10 +77656,10 @@ index 5e57347..3916042 100644
  #endif
  
 diff --git a/net/rds/tcp.c b/net/rds/tcp.c
-index 8e0a320..ee8e38f 100644
+index edac9ef..16bcb98 100644
 --- a/net/rds/tcp.c
 +++ b/net/rds/tcp.c
-@@ -58,7 +58,7 @@ void rds_tcp_nonagle(struct socket *sock)
+@@ -59,7 +59,7 @@ void rds_tcp_nonagle(struct socket *sock)
        int val = 1;
  
        set_fs(KERNEL_DS);
@@ -77137,7 +77695,7 @@ index 74c064c..fdec26f 100644
  /* count of skbs currently in use */
  atomic_t rxrpc_n_skbs;
 diff --git a/net/rxrpc/ar-ack.c b/net/rxrpc/ar-ack.c
-index f99cfce..3682692 100644
+index f99cfce..cc529dd 100644
 --- a/net/rxrpc/ar-ack.c
 +++ b/net/rxrpc/ar-ack.c
 @@ -175,7 +175,7 @@ static void rxrpc_resend(struct rxrpc_call *call)
@@ -77176,16 +77734,7 @@ index f99cfce..3682692 100644
  
                _proto("Rx ACK %%%u { m=%hu f=#%u p=#%u s=%%%u r=%s n=%u }",
                       latest,
-@@ -842,6 +842,8 @@ void rxrpc_process_call(struct work_struct *work)
-       u32 abort_code = RX_PROTOCOL_ERROR;
-       u8 *acks = NULL;
-+      pax_track_stack();
-+
-       //printk("\n--------------------\n");
-       _enter("{%d,%s,%lx} [%lu]",
-              call->debug_id, rxrpc_call_states[call->state], call->events,
-@@ -1161,7 +1163,7 @@ void rxrpc_process_call(struct work_struct *work)
+@@ -1161,7 +1161,7 @@ void rxrpc_process_call(struct work_struct *work)
        goto maybe_reschedule;
  
  send_ACK_with_skew:
@@ -77194,7 +77743,7 @@ index f99cfce..3682692 100644
                            ntohl(ack.serial));
  send_ACK:
        mtu = call->conn->trans->peer->if_mtu;
-@@ -1173,7 +1175,7 @@ send_ACK:
+@@ -1173,7 +1173,7 @@ send_ACK:
        ackinfo.rxMTU   = htonl(5692);
        ackinfo.jumbo_max = htonl(4);
  
@@ -77203,7 +77752,7 @@ index f99cfce..3682692 100644
        _proto("Tx ACK %%%u { m=%hu f=#%u p=#%u s=%%%u r=%s n=%u }",
               ntohl(hdr.serial),
               ntohs(ack.maxSkew),
-@@ -1191,7 +1193,7 @@ send_ACK:
+@@ -1191,7 +1191,7 @@ send_ACK:
  send_message:
        _debug("send message");
  
@@ -77314,10 +77863,10 @@ index 87f7135..74d3703 100644
        }
  
 diff --git a/net/rxrpc/ar-output.c b/net/rxrpc/ar-output.c
-index 5f22e26..e5bd20f 100644
+index 338d793..47391d0 100644
 --- a/net/rxrpc/ar-output.c
 +++ b/net/rxrpc/ar-output.c
-@@ -681,9 +681,9 @@ static int rxrpc_send_data(struct kiocb *iocb,
+@@ -682,9 +682,9 @@ static int rxrpc_send_data(struct kiocb *iocb,
                        sp->hdr.cid = call->cid;
                        sp->hdr.callNumber = call->call_id;
                        sp->hdr.seq =
@@ -77371,28 +77920,10 @@ index 92df566..87ec1bf 100644
                if (peer->srx.transport.family == AF_INET) {
                        switch (peer->srx.transport_type) {
 diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c
-index 7635107..5000b71 100644
+index 7635107..4670276 100644
 --- a/net/rxrpc/rxkad.c
 +++ b/net/rxrpc/rxkad.c
-@@ -211,6 +211,8 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call,
-       u16 check;
-       int nsg;
-+      pax_track_stack();
-+
-       sp = rxrpc_skb(skb);
-       _enter("");
-@@ -338,6 +340,8 @@ static int rxkad_verify_packet_auth(const struct rxrpc_call *call,
-       u16 check;
-       int nsg;
-+      pax_track_stack();
-+
-       _enter("");
-       sp = rxrpc_skb(skb);
-@@ -610,7 +614,7 @@ static int rxkad_issue_challenge(struct rxrpc_connection *conn)
+@@ -610,7 +610,7 @@ static int rxkad_issue_challenge(struct rxrpc_connection *conn)
  
        len = iov[0].iov_len + iov[1].iov_len;
  
@@ -77401,7 +77932,7 @@ index 7635107..5000b71 100644
        _proto("Tx CHALLENGE %%%u", ntohl(hdr.serial));
  
        ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 2, len);
-@@ -660,7 +664,7 @@ static int rxkad_send_response(struct rxrpc_connection *conn,
+@@ -660,7 +660,7 @@ static int rxkad_send_response(struct rxrpc_connection *conn,
  
        len = iov[0].iov_len + iov[1].iov_len + iov[2].iov_len;
  
@@ -77410,24 +77941,11 @@ index 7635107..5000b71 100644
        _proto("Tx RESPONSE %%%u", ntohl(hdr->serial));
  
        ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 3, len);
-diff --git a/net/sctp/auth.c b/net/sctp/auth.c
-index 865e68f..bf81204 100644
---- a/net/sctp/auth.c
-+++ b/net/sctp/auth.c
-@@ -82,7 +82,7 @@ static struct sctp_auth_bytes *sctp_auth_create_key(__u32 key_len, gfp_t gfp)
-       struct sctp_auth_bytes *key;
-       /* Verify that we are not going to overflow INT_MAX */
--      if ((INT_MAX - key_len) < sizeof(struct sctp_auth_bytes))
-+      if (key_len > (INT_MAX - sizeof(struct sctp_auth_bytes)))
-               return NULL;
-       /* Allocate the shared key */
 diff --git a/net/sctp/proc.c b/net/sctp/proc.c
-index 05a6ce2..c8bf836 100644
+index 1e2eee8..ce3967e 100644
 --- a/net/sctp/proc.c
 +++ b/net/sctp/proc.c
-@@ -318,7 +318,8 @@ static int sctp_assocs_seq_show(struct seq_file *seq, void *v)
+@@ -319,7 +319,8 @@ static int sctp_assocs_seq_show(struct seq_file *seq, void *v)
                seq_printf(seq,
                           "%8pK %8pK %-3d %-3d %-2d %-4d "
                           "%4d %8d %8d %7d %5lu %-5d %5d ",
@@ -77438,10 +77956,10 @@ index 05a6ce2..c8bf836 100644
                           assoc->assoc_id,
                           assoc->sndbuf_used,
 diff --git a/net/sctp/socket.c b/net/sctp/socket.c
-index 836aa63..d779d7b 100644
+index 54a7cd2..944edae 100644
 --- a/net/sctp/socket.c
 +++ b/net/sctp/socket.c
-@@ -4575,7 +4575,7 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len,
+@@ -4574,7 +4574,7 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len,
                addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
                if (space_left < addrlen)
                        return -ENOMEM;
@@ -77451,7 +77969,7 @@ index 836aa63..d779d7b 100644
                to += addrlen;
                cnt++;
 diff --git a/net/socket.c b/net/socket.c
-index ffe92ca..8057b85 100644
+index 2dce67a..1e91168 100644
 --- a/net/socket.c
 +++ b/net/socket.c
 @@ -88,6 +88,7 @@
@@ -77604,16 +78122,7 @@ index ffe92ca..8057b85 100644
        err =
            security_socket_connect(sock, (struct sockaddr *)&address, addrlen);
        if (err)
-@@ -1890,6 +1950,8 @@ static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg,
-       unsigned char *ctl_buf = ctl;
-       int err, ctl_len, iov_size, total_len;
-+      pax_track_stack();
-+
-       err = -EFAULT;
-       if (MSG_CMSG_COMPAT & flags) {
-               if (get_compat_msghdr(msg_sys, msg_compat))
-@@ -1950,7 +2012,7 @@ static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg,
+@@ -1950,7 +2010,7 @@ static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg,
                 * checking falls down on this.
                 */
                if (copy_from_user(ctl_buf,
@@ -77622,7 +78131,7 @@ index ffe92ca..8057b85 100644
                                   ctl_len))
                        goto out_freectl;
                msg_sys->msg_control = ctl_buf;
-@@ -2120,7 +2182,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
+@@ -2120,7 +2180,7 @@ static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
         *      kernel msghdr to use the kernel address space)
         */
  
@@ -77631,7 +78140,7 @@ index ffe92ca..8057b85 100644
        uaddr_len = COMPAT_NAMELEN(msg);
        if (MSG_CMSG_COMPAT & flags) {
                err = verify_compat_iovec(msg_sys, iov,
-@@ -2748,7 +2810,7 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
+@@ -2748,7 +2808,7 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
        }
  
        ifr = compat_alloc_user_space(buf_size);
@@ -77640,7 +78149,7 @@ index ffe92ca..8057b85 100644
  
        if (copy_in_user(&ifr->ifr_name, &ifr32->ifr_name, IFNAMSIZ))
                return -EFAULT;
-@@ -2772,12 +2834,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
+@@ -2772,12 +2832,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
                        offsetof(struct ethtool_rxnfc, fs.ring_cookie));
  
                if (copy_in_user(rxnfc, compat_rxnfc,
@@ -77657,7 +78166,7 @@ index ffe92ca..8057b85 100644
                    copy_in_user(&rxnfc->rule_cnt, &compat_rxnfc->rule_cnt,
                                 sizeof(rxnfc->rule_cnt)))
                        return -EFAULT;
-@@ -2789,12 +2851,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
+@@ -2789,12 +2849,12 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
  
        if (convert_out) {
                if (copy_in_user(compat_rxnfc, rxnfc,
@@ -77674,7 +78183,7 @@ index ffe92ca..8057b85 100644
                    copy_in_user(&compat_rxnfc->rule_cnt, &rxnfc->rule_cnt,
                                 sizeof(rxnfc->rule_cnt)))
                        return -EFAULT;
-@@ -2864,7 +2926,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd,
+@@ -2864,7 +2924,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd,
                old_fs = get_fs();
                set_fs(KERNEL_DS);
                err = dev_ioctl(net, cmd,
@@ -77683,7 +78192,7 @@ index ffe92ca..8057b85 100644
                set_fs(old_fs);
  
                return err;
-@@ -2973,7 +3035,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd,
+@@ -2973,7 +3033,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd,
  
        old_fs = get_fs();
        set_fs(KERNEL_DS);
@@ -77692,7 +78201,7 @@ index ffe92ca..8057b85 100644
        set_fs(old_fs);
  
        if (cmd == SIOCGIFMAP && !err) {
-@@ -3078,7 +3140,7 @@ static int routing_ioctl(struct net *net, struct socket *sock,
+@@ -3078,7 +3138,7 @@ static int routing_ioctl(struct net *net, struct socket *sock,
                ret |= __get_user(rtdev, &(ur4->rt_dev));
                if (rtdev) {
                        ret |= copy_from_user(devname, compat_ptr(rtdev), 15);
@@ -77701,7 +78210,7 @@ index ffe92ca..8057b85 100644
                        devname[15] = 0;
                } else
                        r4.rt_dev = NULL;
-@@ -3318,8 +3380,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname,
+@@ -3318,8 +3378,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname,
        int __user *uoptlen;
        int err;
  
@@ -77712,7 +78221,7 @@ index ffe92ca..8057b85 100644
  
        set_fs(KERNEL_DS);
        if (level == SOL_SOCKET)
-@@ -3339,7 +3401,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname,
+@@ -3339,7 +3399,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname,
        char __user *uoptval;
        int err;
  
@@ -77722,7 +78231,7 @@ index ffe92ca..8057b85 100644
        set_fs(KERNEL_DS);
        if (level == SOL_SOCKET)
 diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
-index d12ffa5..0b5a6e2 100644
+index 00a1a2a..6a0138a 100644
 --- a/net/sunrpc/sched.c
 +++ b/net/sunrpc/sched.c
 @@ -238,9 +238,9 @@ static int rpc_wait_bit_killable(void *word)
@@ -77738,10 +78247,10 @@ index d12ffa5..0b5a6e2 100644
  #else
  static inline void rpc_task_set_debuginfo(struct rpc_task *task)
 diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
-index 767d494..fe17e9d 100644
+index 71bed1c..5dff36d 100644
 --- a/net/sunrpc/svcsock.c
 +++ b/net/sunrpc/svcsock.c
-@@ -394,7 +394,7 @@ static int svc_partial_recvfrom(struct svc_rqst *rqstp,
+@@ -396,7 +396,7 @@ static int svc_partial_recvfrom(struct svc_rqst *rqstp,
                                int buflen, unsigned int base)
  {
        size_t save_iovlen;
@@ -77906,10 +78415,10 @@ index 249a835..fb2794b 100644
                goto err;
        return 0;
 diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
-index a385430..32254ea 100644
+index ba1296d..0fec1a5 100644
 --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
 +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
-@@ -299,7 +299,7 @@ static void rq_cq_reap(struct svcxprt_rdma *xprt)
+@@ -300,7 +300,7 @@ static void rq_cq_reap(struct svcxprt_rdma *xprt)
                return;
  
        ib_req_notify_cq(xprt->sc_rq_cq, IB_CQ_NEXT_COMP);
@@ -77918,7 +78427,7 @@ index a385430..32254ea 100644
  
        while ((ret = ib_poll_cq(xprt->sc_rq_cq, 1, &wc)) > 0) {
                ctxt = (struct svc_rdma_op_ctxt *)(unsigned long)wc.wr_id;
-@@ -321,7 +321,7 @@ static void rq_cq_reap(struct svcxprt_rdma *xprt)
+@@ -322,7 +322,7 @@ static void rq_cq_reap(struct svcxprt_rdma *xprt)
        }
  
        if (ctxt)
@@ -77927,7 +78436,7 @@ index a385430..32254ea 100644
  
        set_bit(XPT_DATA, &xprt->sc_xprt.xpt_flags);
        /*
-@@ -393,7 +393,7 @@ static void sq_cq_reap(struct svcxprt_rdma *xprt)
+@@ -394,7 +394,7 @@ static void sq_cq_reap(struct svcxprt_rdma *xprt)
                return;
  
        ib_req_notify_cq(xprt->sc_sq_cq, IB_CQ_NEXT_COMP);
@@ -77936,7 +78445,7 @@ index a385430..32254ea 100644
        while ((ret = ib_poll_cq(cq, 1, &wc)) > 0) {
                if (wc.status != IB_WC_SUCCESS)
                        /* Close the transport */
-@@ -411,7 +411,7 @@ static void sq_cq_reap(struct svcxprt_rdma *xprt)
+@@ -412,7 +412,7 @@ static void sq_cq_reap(struct svcxprt_rdma *xprt)
        }
  
        if (ctxt)
@@ -77945,7 +78454,7 @@ index a385430..32254ea 100644
  }
  
  static void sq_comp_handler(struct ib_cq *cq, void *cq_context)
-@@ -1273,7 +1273,7 @@ int svc_rdma_send(struct svcxprt_rdma *xprt, struct ib_send_wr *wr)
+@@ -1274,7 +1274,7 @@ int svc_rdma_send(struct svcxprt_rdma *xprt, struct ib_send_wr *wr)
                spin_lock_bh(&xprt->sc_lock);
                if (xprt->sc_sq_depth < atomic_read(&xprt->sc_sq_count) + wr_count) {
                        spin_unlock_bh(&xprt->sc_lock);
@@ -77955,10 +78464,10 @@ index a385430..32254ea 100644
                        /* See if we can opportunistically reap SQ WR to make room */
                        sq_cq_reap(xprt);
 diff --git a/net/sysctl_net.c b/net/sysctl_net.c
-index ca84212..3aa338f 100644
+index e758139..d29ea47 100644
 --- a/net/sysctl_net.c
 +++ b/net/sysctl_net.c
-@@ -46,7 +46,7 @@ static int net_ctl_permissions(struct ctl_table_root *root,
+@@ -47,7 +47,7 @@ static int net_ctl_permissions(struct ctl_table_root *root,
                               struct ctl_table *table)
  {
        /* Allow network administrator to have same access as root. */
@@ -77968,10 +78477,10 @@ index ca84212..3aa338f 100644
                return (mode << 6) | (mode << 3) | mode;
        }
 diff --git a/net/tipc/link.c b/net/tipc/link.c
-index f89570c..016cf63 100644
+index ae98a72..7bb6056 100644
 --- a/net/tipc/link.c
 +++ b/net/tipc/link.c
-@@ -1170,7 +1170,7 @@ static int link_send_sections_long(struct tipc_port *sender,
+@@ -1203,7 +1203,7 @@ static int link_send_sections_long(struct tipc_port *sender,
        struct tipc_msg fragm_hdr;
        struct sk_buff *buf, *buf_chain, *prev;
        u32 fragm_crs, fragm_rest, hsz, sect_rest;
@@ -77980,7 +78489,7 @@ index f89570c..016cf63 100644
        int curr_sect;
        u32 fragm_no;
  
-@@ -1214,7 +1214,7 @@ again:
+@@ -1247,7 +1247,7 @@ again:
  
                if (!sect_rest) {
                        sect_rest = msg_sect[++curr_sect].iov_len;
@@ -77989,7 +78498,7 @@ index f89570c..016cf63 100644
                }
  
                if (sect_rest < fragm_rest)
-@@ -1233,7 +1233,7 @@ error:
+@@ -1266,7 +1266,7 @@ error:
                        }
                } else
                        skb_copy_to_linear_data_offset(buf, fragm_crs,
@@ -78012,7 +78521,7 @@ index 83d5096..dcba497 100644
                pos += msg_sect[cnt].iov_len;
        }
 diff --git a/net/tipc/subscr.c b/net/tipc/subscr.c
-index 6cf7268..7a488ce 100644
+index 1983717..4d6102c 100644
 --- a/net/tipc/subscr.c
 +++ b/net/tipc/subscr.c
 @@ -101,7 +101,7 @@ static void subscr_send_event(struct subscription *sub,
@@ -78025,7 +78534,7 @@ index 6cf7268..7a488ce 100644
  
        sub->evt.event = htohl(event, sub->swap);
 diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index ec68e1c..fdd792f 100644
+index d99678a..3514a21 100644
 --- a/net/unix/af_unix.c
 +++ b/net/unix/af_unix.c
 @@ -767,6 +767,12 @@ static struct sock *unix_find_other(struct net *net,
@@ -78075,7 +78584,7 @@ index ec68e1c..fdd792f 100644
                dput(path.dentry);
                path.dentry = dentry;
 diff --git a/net/wireless/core.h b/net/wireless/core.h
-index 8672e02..48782dd 100644
+index b9ec306..b4a563e 100644
 --- a/net/wireless/core.h
 +++ b/net/wireless/core.h
 @@ -27,7 +27,7 @@ struct cfg80211_registered_device {
@@ -78088,10 +78597,10 @@ index 8672e02..48782dd 100644
        struct work_struct rfkill_sync;
  
 diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
-index fdbc23c..212d53e 100644
+index 0af7f54..c916d2f 100644
 --- a/net/wireless/wext-core.c
 +++ b/net/wireless/wext-core.c
-@@ -746,8 +746,7 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
+@@ -747,8 +747,7 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
                 */
  
                /* Support for very large requests */
@@ -78101,7 +78610,7 @@ index fdbc23c..212d53e 100644
                        /* Allow userspace to GET more than max so
                         * we can support any size GET requests.
                         * There is still a limit : -ENOMEM.
-@@ -784,22 +783,6 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
+@@ -785,22 +784,6 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
                }
        }
  
@@ -78125,7 +78634,7 @@ index fdbc23c..212d53e 100644
  
        iwp->length += essid_compat;
 diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
-index 552df27..8e7f238 100644
+index 9049a5c..cfa6f5c 100644
 --- a/net/xfrm/xfrm_policy.c
 +++ b/net/xfrm/xfrm_policy.c
 @@ -299,7 +299,7 @@ static void xfrm_policy_kill(struct xfrm_policy *policy)
@@ -78182,7 +78691,7 @@ index 552df27..8e7f238 100644
  
        return xdst;
  }
-@@ -2335,7 +2335,7 @@ static int xfrm_bundle_ok(struct xfrm_dst *first)
+@@ -2345,7 +2345,7 @@ static int xfrm_bundle_ok(struct xfrm_dst *first)
                if (xdst->xfrm_genid != dst->xfrm->genid)
                        return 0;
                if (xdst->num_pols > 0 &&
@@ -78191,7 +78700,7 @@ index 552df27..8e7f238 100644
                        return 0;
  
                mtu = dst_mtu(dst->child);
-@@ -2870,7 +2870,7 @@ static int xfrm_policy_migrate(struct xfrm_policy *pol,
+@@ -2882,7 +2882,7 @@ static int xfrm_policy_migrate(struct xfrm_policy *pol,
                               sizeof(pol->xfrm_vec[i].saddr));
                        pol->xfrm_vec[i].encap_family = mp->new_family;
                        /* flush bundles */
@@ -78200,30 +78709,8 @@ index 552df27..8e7f238 100644
                }
        }
  
-diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
-index 0256b8a..9341ef6 100644
---- a/net/xfrm/xfrm_user.c
-+++ b/net/xfrm/xfrm_user.c
-@@ -1394,6 +1394,8 @@ static int copy_to_user_tmpl(struct xfrm_policy *xp, struct sk_buff *skb)
-       struct xfrm_user_tmpl vec[XFRM_MAX_DEPTH];
-       int i;
-+      pax_track_stack();
-+
-       if (xp->xfrm_nr == 0)
-               return 0;
-@@ -2062,6 +2064,8 @@ static int xfrm_do_migrate(struct sk_buff *skb, struct nlmsghdr *nlh,
-       int err;
-       int n = 0;
-+      pax_track_stack();
-+
-       if (attrs[XFRMA_MIGRATE] == NULL)
-               return -EINVAL;
 diff --git a/scripts/Makefile.build b/scripts/Makefile.build
-index a0fd502..a8e6e83 100644
+index d2b366c..51ff91ebc 100644
 --- a/scripts/Makefile.build
 +++ b/scripts/Makefile.build
 @@ -109,7 +109,7 @@ endif
@@ -78270,7 +78757,7 @@ index 1ac414f..a1c1451 100644
  host-cobjs    := $(filter-out %.so,$(host-cobjs))
  
 diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
-index 291228e..6c55203 100644
+index cb1f50c..cef2a7c 100644
 --- a/scripts/basic/fixdep.c
 +++ b/scripts/basic/fixdep.c
 @@ -161,7 +161,7 @@ static unsigned int strhash(const char *str, unsigned int sz)
@@ -78307,7 +78794,7 @@ index 291228e..6c55203 100644
        const char *p, *q;
  
        for (; m < end; m++) {
-@@ -405,7 +405,7 @@ static void print_deps(void)
+@@ -406,7 +406,7 @@ static void print_deps(void)
  static void traps(void)
  {
        static char test[] __attribute__((aligned(sizeof(int)))) = "CONF";
@@ -78325,7 +78812,7 @@ index 0000000..8729101
 +#!/bin/sh
 +echo -e "#include \"gcc-plugin.h\"\n#include \"tree.h\"\n#include \"tm.h\"\n#include \"rtl.h\"" | $1 -x c -shared - -o /dev/null -I`$2 -print-file-name=plugin`/include >/dev/null 2>&1 && echo "y"
 diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
-index e26e2fb..f84937b 100644
+index f936d1f..a66d95f 100644
 --- a/scripts/mod/file2alias.c
 +++ b/scripts/mod/file2alias.c
 @@ -72,7 +72,7 @@ static void device_id_check(const char *modname, const char *device_id,
@@ -78382,7 +78869,7 @@ index e26e2fb..f84937b 100644
  
                                buf_printf(&mod->dev_table_buf,
                                           "MODULE_ALIAS(\"pnp:d%s*\");\n", id);
-@@ -786,7 +786,7 @@ static void dmi_ascii_filter(char *d, const char *s)
+@@ -807,7 +807,7 @@ static void dmi_ascii_filter(char *d, const char *s)
  static int do_dmi_entry(const char *filename, struct dmi_system_id *id,
                        char *alias)
  {
@@ -78392,7 +78879,7 @@ index e26e2fb..f84937b 100644
        sprintf(alias, "dmi*");
  
 diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
-index a509ff8..5822633 100644
+index 2bd594e..d43245e 100644
 --- a/scripts/mod/modpost.c
 +++ b/scripts/mod/modpost.c
 @@ -919,6 +919,7 @@ enum mismatch {
@@ -78462,7 +78949,7 @@ index a509ff8..5822633 100644
  {
        if (buf->size - buf->pos < len) {
                buf->size += len + SZ;
-@@ -1966,7 +1981,7 @@ static void write_if_changed(struct buffer *b, const char *fname)
+@@ -1972,7 +1987,7 @@ static void write_if_changed(struct buffer *b, const char *fname)
        if (fstat(fileno(file), &st) < 0)
                goto close_write;
  
@@ -78538,10 +79025,10 @@ index 5c11312..72742b5 100644
      write_hex_cnt = 0;
      for (i = 0; i < logo_clutsize; i++) {
 diff --git a/security/Kconfig b/security/Kconfig
-index e0f08b5..7388edd 100644
+index 51bd5a0..58c5b70 100644
 --- a/security/Kconfig
 +++ b/security/Kconfig
-@@ -4,6 +4,586 @@
+@@ -4,6 +4,639 @@
  
  menu "Security options"
  
@@ -78581,12 +79068,11 @@ index e0f08b5..7388edd 100644
 +
 +config PAX_SOFTMODE
 +      bool 'Support soft mode'
-+      select PAX_PT_PAX_FLAGS
 +      help
 +        Enabling this option will allow you to run PaX in soft mode, that
 +        is, PaX features will not be enforced by default, only on executables
-+        marked explicitly.  You must also enable PT_PAX_FLAGS support as it
-+        is the only way to mark executables for soft mode use.
++        marked explicitly.  You must also enable PT_PAX_FLAGS or XATTR_PAX_FLAGS
++        support as they are the only way to mark executables for soft mode use.
 +
 +        Soft mode can be activated by using the "pax_softmode=1" kernel command
 +        line option on boot.  Furthermore you can control various PaX features
@@ -78601,10 +79087,15 @@ index e0f08b5..7388edd 100644
 +        an otherwise reserved part of the ELF header.  This marking has
 +        numerous drawbacks (no support for soft-mode, toolchain does not
 +        know about the non-standard use of the ELF header) therefore it
-+        has been deprecated in favour of PT_PAX_FLAGS support.
++        has been deprecated in favour of PT_PAX_FLAGS and XATTR_PAX_FLAGS
++        support.
 +
-+        Note that if you enable PT_PAX_FLAGS marking support as well,
-+        the PT_PAX_FLAG marks will override the legacy EI_PAX marks.
++        If you have applications not marked by the PT_PAX_FLAGS ELF program
++        header and you cannot use XATTR_PAX_FLAGS then you MUST enable this
++        option otherwise they will not get any protection.
++
++        Note that if you enable PT_PAX_FLAGS or XATTR_PAX_FLAGS marking
++        support as well, they will override the legacy EI_PAX marks.
 +
 +config PAX_PT_PAX_FLAGS
 +      bool 'Use ELF program header marking'
@@ -78617,12 +79108,48 @@ index e0f08b5..7388edd 100644
 +        integrated into the toolchain (the binutils patch is available
 +        from http://pax.grsecurity.net).
 +
-+        If your toolchain does not support PT_PAX_FLAGS markings,
-+        you can create one in most cases with 'paxctl -C'.
++        If you have applications not marked by the PT_PAX_FLAGS ELF program
++        header then you MUST enable either XATTR_PAX_FLAGS or EI_PAX marking
++        support otherwise they will not get any protection.
++
++        If you enable both PT_PAX_FLAGS and XATTR_PAX_FLAGS support then you
++        must make sure that the marks are the same if a binary has both marks.
 +
 +        Note that if you enable the legacy EI_PAX marking support as well,
 +        the EI_PAX marks will be overridden by the PT_PAX_FLAGS marks.
 +
++config PAX_XATTR_PAX_FLAGS
++      bool 'Use filesystem extended attributes marking'
++      select CIFS_XATTR if CIFS
++      select EXT2_FS_XATTR if EXT2_FS
++      select EXT3_FS_XATTR if EXT3_FS
++      select EXT4_FS_XATTR if EXT4_FS
++      select JFFS2_FS_XATTR if JFFS2_FS
++      select REISERFS_FS_XATTR if REISERFS_FS
++      select SQUASHFS_XATTR if SQUASHFS
++      select TMPFS_XATTR if TMPFS
++      select UBIFS_FS_XATTR if UBIFS_FS
++      help
++        Enabling this option will allow you to control PaX features on
++        a per executable basis via the 'setfattr' utility.  The control
++        flags will be read from the user.pax.flags extended attribute of
++        the file.  This marking has the benefit of supporting binary-only
++        applications that self-check themselves (e.g., skype) and would
++        not tolerate chpax/paxctl changes.  The main drawback is that
++        extended attributes are not supported by some filesystems (e.g.,
++        isofs, udf, vfat) so copying files through such filesystems will
++        lose the extended attributes and these PaX markings.
++
++        If you have applications not marked by the PT_PAX_FLAGS ELF program
++        header then you MUST enable either XATTR_PAX_FLAGS or EI_PAX marking
++        support otherwise they will not get any protection.
++
++        If you enable both PT_PAX_FLAGS and XATTR_PAX_FLAGS support then you
++        must make sure that the marks are the same if a binary has both marks.
++
++        Note that if you enable the legacy EI_PAX marking support as well,
++        the EI_PAX marks will be overridden by the XATTR_PAX_FLAGS marks.
++
 +choice
 +      prompt 'MAC system integration'
 +      default PAX_HAVE_ACL_FLAGS
@@ -78654,7 +79181,7 @@ index e0f08b5..7388edd 100644
 +
 +config PAX_NOEXEC
 +      bool "Enforce non-executable pages"
-+      depends on (PAX_EI_PAX || PAX_PT_PAX_FLAGS || PAX_HAVE_ACL_FLAGS || PAX_HOOK_ACL_FLAGS) && (ALPHA || (ARM && (CPU_V6 || CPU_V7)) || IA64 || MIPS || PARISC || PPC || S390 || SPARC || X86)
++      depends on ALPHA || (ARM && (CPU_V6 || CPU_V7)) || IA64 || MIPS || PARISC || PPC || S390 || SPARC || X86
 +      help
 +        By design some architectures do not allow for protecting memory
 +        pages against execution or even if they do, Linux does not make
@@ -78929,7 +79456,6 @@ index e0f08b5..7388edd 100644
 +
 +config PAX_ASLR
 +      bool "Address Space Layout Randomization"
-+      depends on PAX_EI_PAX || PAX_PT_PAX_FLAGS || PAX_HAVE_ACL_FLAGS || PAX_HOOK_ACL_FLAGS
 +      help
 +        Many if not most exploit techniques rely on the knowledge of
 +        certain addresses in the attacked program.  The following options
@@ -79011,6 +79537,7 @@ index e0f08b5..7388edd 100644
 +
 +config PAX_MEMORY_SANITIZE
 +      bool "Sanitize all freed memory"
++      depends on !HIBERNATION
 +      help
 +        By saying Y here the kernel will erase memory pages as soon as they
 +        are freed.  This in turn reduces the lifetime of data stored in the
@@ -79049,10 +79576,10 @@ index e0f08b5..7388edd 100644
 +        before deploying it.
 +
 +        Note: full support for this feature requires gcc with plugin support
-+        so make sure your compiler is at least gcc 4.5.0 (cross compilation
-+        is not supported).  Using older gcc versions means that functions
-+        with large enough stack frames may leave uninitialized memory behind
-+        that may be exposed to a later syscall leaking the stack.
++        so make sure your compiler is at least gcc 4.5.0.  Using older gcc
++        versions means that functions with large enough stack frames may
++        leave uninitialized memory behind that may be exposed to a later
++        syscall leaking the stack.
 +
 +config PAX_MEMORY_UDEREF
 +      bool "Prevent invalid userland pointer dereference"
@@ -79075,7 +79602,7 @@ index e0f08b5..7388edd 100644
 +
 +config PAX_REFCOUNT
 +      bool "Prevent various kernel object reference counter overflows"
-+      depends on GRKERNSEC && (X86 || SPARC64)
++      depends on GRKERNSEC && ((ARM && (CPU_32v6 || CPU_32v6K || CPU_32v7)) || SPARC64 || X86)
 +      help
 +        By saying Y here the kernel will detect and prevent overflowing
 +        various (but not all) kinds of object reference counters.  Such
@@ -79121,6 +79648,19 @@ index e0f08b5..7388edd 100644
 +        Since this has a negligible performance impact, you should enable
 +        this feature.
 +
++config PAX_SIZE_OVERFLOW
++      bool "Prevent various integer overflows in function size parameters"
++      help
++        By saying Y here the kernel recomputes expressions of function
++        arguments marked by a size_overflow attribute with double integer
++        precision (DImode/TImode for 32/64 bit integer types).
++
++        The recomputed argument is checked against INT_MAX and an event
++        is logged on overflow and the triggering process is killed.
++
++        Homepage:
++        http://www.grsecurity.net/~ephox/overflow_plugin/
++
 +endmenu
 +
 +endmenu
@@ -79128,7 +79668,7 @@ index e0f08b5..7388edd 100644
  config KEYS
        bool "Enable access key retention support"
        help
-@@ -167,7 +747,7 @@ config INTEL_TXT
+@@ -169,7 +802,7 @@ config INTEL_TXT
  config LSM_MMAP_MIN_ADDR
        int "Low address space for LSM to protect from user allocation"
        depends on SECURITY && SECURITY_SELINUX
@@ -79151,7 +79691,7 @@ index 3783202..1852837 100644
  
        .ptrace_access_check =          apparmor_ptrace_access_check,
 diff --git a/security/commoncap.c b/security/commoncap.c
-index a93b3b7..4410df9 100644
+index ee4f848..a320c64 100644
 --- a/security/commoncap.c
 +++ b/security/commoncap.c
 @@ -28,6 +28,7 @@
@@ -79171,7 +79711,7 @@ index a93b3b7..4410df9 100644
                return -EPERM;
        return 0;
  }
-@@ -575,6 +576,9 @@ int cap_bprm_secureexec(struct linux_binprm *bprm)
+@@ -579,6 +580,9 @@ int cap_bprm_secureexec(struct linux_binprm *bprm)
  {
        const struct cred *cred = current_cred();
  
@@ -79182,10 +79722,10 @@ index a93b3b7..4410df9 100644
                if (bprm->cap_effective)
                        return 1;
 diff --git a/security/integrity/ima/ima.h b/security/integrity/ima/ima.h
-index 08408bd..67e6e78 100644
+index 3ccf7ac..d73ad64 100644
 --- a/security/integrity/ima/ima.h
 +++ b/security/integrity/ima/ima.h
-@@ -85,8 +85,8 @@ void ima_add_violation(struct inode *inode, const unsigned char *filename,
+@@ -86,8 +86,8 @@ void ima_add_violation(struct inode *inode, const unsigned char *filename,
  extern spinlock_t ima_queue_lock;
  
  struct ima_h_table {
@@ -79197,7 +79737,7 @@ index 08408bd..67e6e78 100644
  };
  extern struct ima_h_table ima_htable;
 diff --git a/security/integrity/ima/ima_api.c b/security/integrity/ima/ima_api.c
-index da36d2c..e1e1965 100644
+index 88a2788..581ab92 100644
 --- a/security/integrity/ima/ima_api.c
 +++ b/security/integrity/ima/ima_api.c
 @@ -75,7 +75,7 @@ void ima_add_violation(struct inode *inode, const unsigned char *filename,
@@ -79209,8 +79749,27 @@ index da36d2c..e1e1965 100644
  
        entry = kmalloc(sizeof(*entry), GFP_KERNEL);
        if (!entry) {
+diff --git a/security/integrity/ima/ima_audit.c b/security/integrity/ima/ima_audit.c
+index c5c5a72..2ad942f 100644
+--- a/security/integrity/ima/ima_audit.c
++++ b/security/integrity/ima/ima_audit.c
+@@ -56,9 +56,11 @@ void integrity_audit_msg(int audit_msgno, struct inode *inode,
+               audit_log_format(ab, " name=");
+               audit_log_untrustedstring(ab, fname);
+       }
+-      if (inode)
+-              audit_log_format(ab, " dev=%s ino=%lu",
+-                               inode->i_sb->s_id, inode->i_ino);
++      if (inode) {
++              audit_log_format(ab, " dev=");
++              audit_log_untrustedstring(ab, inode->i_sb->s_id);
++              audit_log_format(ab, " ino=%lu", inode->i_ino);
++      }
+       audit_log_format(ab, " res=%d", !result ? 0 : 1);
+       audit_log_end(ab);
+ }
 diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
-index ef21b96..d53e674 100644
+index e1aa2b4..52027bf 100644
 --- a/security/integrity/ima/ima_fs.c
 +++ b/security/integrity/ima/ima_fs.c
 @@ -28,12 +28,12 @@
@@ -79229,10 +79788,10 @@ index ef21b96..d53e674 100644
  }
  
 diff --git a/security/integrity/ima/ima_queue.c b/security/integrity/ima/ima_queue.c
-index 8e28f04..d5951b1 100644
+index 55a6271..ad829c3 100644
 --- a/security/integrity/ima/ima_queue.c
 +++ b/security/integrity/ima/ima_queue.c
-@@ -79,7 +79,7 @@ static int ima_add_digest_entry(struct ima_template_entry *entry)
+@@ -81,7 +81,7 @@ static int ima_add_digest_entry(struct ima_template_entry *entry)
        INIT_LIST_HEAD(&qe->later);
        list_add_tail_rcu(&qe->later, &ima_measurements);
  
@@ -79242,7 +79801,7 @@ index 8e28f04..d5951b1 100644
        hlist_add_head_rcu(&qe->hnext, &ima_htable.queue[key]);
        return 0;
 diff --git a/security/keys/compat.c b/security/keys/compat.c
-index 338b510..a235861 100644
+index 4c48e13..7abdac9 100644
 --- a/security/keys/compat.c
 +++ b/security/keys/compat.c
 @@ -44,7 +44,7 @@ long compat_keyctl_instantiate_key_iov(
@@ -79255,7 +79814,7 @@ index 338b510..a235861 100644
        if (iov != iovstack)
                kfree(iov);
 diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c
-index eca5191..da9c7f0 100644
+index 0b3f5d7..892c8a6 100644
 --- a/security/keys/keyctl.c
 +++ b/security/keys/keyctl.c
 @@ -921,7 +921,7 @@ static int keyctl_change_reqkey_auth(struct key *key)
@@ -79295,7 +79854,7 @@ index eca5191..da9c7f0 100644
        if (iov != iovstack)
                kfree(iov);
 diff --git a/security/keys/keyring.c b/security/keys/keyring.c
-index 30e242f..ec111ab 100644
+index 37a7f3b..86dc19f 100644
 --- a/security/keys/keyring.c
 +++ b/security/keys/keyring.c
 @@ -214,15 +214,15 @@ static long keyring_read(const struct key *keyring,
@@ -79317,6 +79876,54 @@ index 30e242f..ec111ab 100644
                                        goto error;
  
                                buflen -= tmp;
+diff --git a/security/lsm_audit.c b/security/lsm_audit.c
+index 893af8a..ba9237c 100644
+--- a/security/lsm_audit.c
++++ b/security/lsm_audit.c
+@@ -234,10 +234,11 @@ static void dump_common_audit_data(struct audit_buffer *ab,
+               audit_log_d_path(ab, "path=", &a->u.path);
+               inode = a->u.path.dentry->d_inode;
+-              if (inode)
+-                      audit_log_format(ab, " dev=%s ino=%lu",
+-                                      inode->i_sb->s_id,
+-                                      inode->i_ino);
++              if (inode) {
++                      audit_log_format(ab, " dev=");
++                      audit_log_untrustedstring(ab, inode->i_sb->s_id);
++                      audit_log_format(ab, " ino=%lu", inode->i_ino);
++              }
+               break;
+       }
+       case LSM_AUDIT_DATA_DENTRY: {
+@@ -247,10 +248,11 @@ static void dump_common_audit_data(struct audit_buffer *ab,
+               audit_log_untrustedstring(ab, a->u.dentry->d_name.name);
+               inode = a->u.dentry->d_inode;
+-              if (inode)
+-                      audit_log_format(ab, " dev=%s ino=%lu",
+-                                      inode->i_sb->s_id,
+-                                      inode->i_ino);
++              if (inode) {
++                      audit_log_format(ab, " dev=");
++                      audit_log_untrustedstring(ab, inode->i_sb->s_id);
++                      audit_log_format(ab, " ino=%lu", inode->i_ino);
++              }
+               break;
+       }
+       case LSM_AUDIT_DATA_INODE: {
+@@ -265,8 +267,9 @@ static void dump_common_audit_data(struct audit_buffer *ab,
+                                        dentry->d_name.name);
+                       dput(dentry);
+               }
+-              audit_log_format(ab, " dev=%s ino=%lu", inode->i_sb->s_id,
+-                               inode->i_ino);
++              audit_log_format(ab, " dev=");
++              audit_log_untrustedstring(ab, inode->i_sb->s_id);
++              audit_log_format(ab, " ino=%lu", inode->i_ino);
+               break;
+       }
+       case LSM_AUDIT_DATA_TASK:
 diff --git a/security/min_addr.c b/security/min_addr.c
 index f728728..6457a0c 100644
 --- a/security/min_addr.c
@@ -79338,12 +79945,12 @@ index f728728..6457a0c 100644
  
  /*
 diff --git a/security/security.c b/security/security.c
-index d9e1533..91427f2 100644
+index e2f684a..8d62ef5 100644
 --- a/security/security.c
 +++ b/security/security.c
-@@ -25,8 +25,8 @@ static __initdata char chosen_lsm[SECURITY_NAME_MAX + 1] =
- /* things that live in capability.c */
extern void __init security_fixup_ops(struct security_operations *ops);
+@@ -26,8 +26,8 @@
+ static __initdata char chosen_lsm[SECURITY_NAME_MAX + 1] =
      CONFIG_DEFAULT_SECURITY;
  
 -static struct security_operations *security_ops;
 -static struct security_operations default_security_ops = {
@@ -79352,7 +79959,7 @@ index d9e1533..91427f2 100644
        .name   = "default",
  };
  
-@@ -67,7 +67,9 @@ int __init security_init(void)
+@@ -68,7 +68,9 @@ int __init security_init(void)
  
  void reset_security_ops(void)
  {
@@ -79363,18 +79970,19 @@ index d9e1533..91427f2 100644
  
  /* Save user chosen LSM */
 diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
-index 266a229..61bd553 100644
+index 1126c10..effb32b 100644
 --- a/security/selinux/hooks.c
 +++ b/security/selinux/hooks.c
-@@ -93,7 +93,6 @@
+@@ -94,8 +94,6 @@
  #define NUM_SEL_MNT_OPTS 5
  
- extern int selinux_nlmsg_lookup(u16 sclass, u16 nlmsg_type, u32 *perm);
 -extern struct security_operations *security_ops;
+-
  /* SECMARK reference count */
- atomic_t selinux_secmark_refcount = ATOMIC_INIT(0);
-@@ -5455,7 +5454,7 @@ static int selinux_key_getsecurity(struct key *key, char **_buffer)
+ static atomic_t selinux_secmark_refcount = ATOMIC_INIT(0);
+@@ -5449,7 +5447,7 @@ static int selinux_key_getsecurity(struct key *key, char **_buffer)
  
  #endif
  
@@ -79396,24 +80004,11 @@ index b43813c..74be837 100644
  }
  #else
  static inline int selinux_xfrm_enabled(void)
-diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
-index f6917bc..8e8713e 100644
---- a/security/selinux/ss/services.c
-+++ b/security/selinux/ss/services.c
-@@ -1814,6 +1814,8 @@ int security_load_policy(void *data, size_t len)
-       int rc = 0;
-       struct policy_file file = { data, len }, *fp = &file;
-+      pax_track_stack();
-+
-       if (!ss_initialized) {
-               avtab_cache_init();
-               rc = policydb_read(&policydb, fp);
 diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
-index b9c5e14..20ab779 100644
+index 7db62b4..ee4d949 100644
 --- a/security/smack/smack_lsm.c
 +++ b/security/smack/smack_lsm.c
-@@ -3393,7 +3393,7 @@ static int smack_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen)
+@@ -3481,7 +3481,7 @@ static int smack_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen)
        return 0;
  }
  
@@ -79423,10 +80018,10 @@ index b9c5e14..20ab779 100644
  
        .ptrace_access_check =          smack_ptrace_access_check,
 diff --git a/security/tomoyo/tomoyo.c b/security/tomoyo/tomoyo.c
-index f776400..f95b158c 100644
+index 4b327b6..646c57a 100644
 --- a/security/tomoyo/tomoyo.c
 +++ b/security/tomoyo/tomoyo.c
-@@ -446,7 +446,7 @@ static int tomoyo_sb_pivotroot(struct path *old_path, struct path *new_path)
+@@ -504,7 +504,7 @@ static int tomoyo_socket_sendmsg(struct socket *sock, struct msghdr *msg,
   * tomoyo_security_ops is a "struct security_operations" which is used for
   * registering TOMOYO.
   */
@@ -79436,7 +80031,7 @@ index f776400..f95b158c 100644
        .cred_alloc_blank    = tomoyo_cred_alloc_blank,
        .cred_prepare        = tomoyo_cred_prepare,
 diff --git a/sound/aoa/codecs/onyx.c b/sound/aoa/codecs/onyx.c
-index 3687a6c..652565e 100644
+index 762af68..7103453 100644
 --- a/sound/aoa/codecs/onyx.c
 +++ b/sound/aoa/codecs/onyx.c
 @@ -54,7 +54,7 @@ struct onyx {
@@ -79480,7 +80075,7 @@ index ffd2025..df062c9 100644
  /* PCM3052 register definitions */
  
 diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
-index 23c34a0..a2673a5 100644
+index 3cc4b86..af0a951 100644
 --- a/sound/core/oss/pcm_oss.c
 +++ b/sound/core/oss/pcm_oss.c
 @@ -1189,10 +1189,10 @@ snd_pcm_sframes_t snd_pcm_oss_write3(struct snd_pcm_substream *substream, const
@@ -79568,10 +80163,10 @@ index 91cdf94..4085161 100644
        if (err < 0)
                return err;
 diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
-index 1c6be91..c761a59 100644
+index 25ed9fe..24c46e9 100644
 --- a/sound/core/pcm_native.c
 +++ b/sound/core/pcm_native.c
-@@ -2770,11 +2770,11 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_substream *substream,
+@@ -2765,11 +2765,11 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_substream *substream,
        switch (substream->stream) {
        case SNDRV_PCM_STREAM_PLAYBACK:
                result = snd_pcm_playback_ioctl1(NULL, substream, cmd,
@@ -79586,10 +80181,10 @@ index 1c6be91..c761a59 100644
        default:
                result = -EINVAL;
 diff --git a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c
-index 1f99767..14636533 100644
+index 5cf8d65..912a79c 100644
 --- a/sound/core/seq/seq_device.c
 +++ b/sound/core/seq/seq_device.c
-@@ -63,7 +63,7 @@ struct ops_list {
+@@ -64,7 +64,7 @@ struct ops_list {
        int argsize;            /* argument size */
  
        /* operators */
@@ -79598,7 +80193,7 @@ index 1f99767..14636533 100644
  
        /* registred devices */
        struct list_head dev_list;      /* list of devices */
-@@ -332,7 +332,7 @@ int snd_seq_device_register_driver(char *id, struct snd_seq_dev_ops *entry,
+@@ -333,7 +333,7 @@ int snd_seq_device_register_driver(char *id, struct snd_seq_dev_ops *entry,
  
        mutex_lock(&ops->reg_mutex);
        /* copy driver operators */
@@ -79607,7 +80202,7 @@ index 1f99767..14636533 100644
        ops->driver |= DRIVER_LOADED;
        ops->argsize = argsize;
  
-@@ -462,7 +462,7 @@ static int init_device(struct snd_seq_device *dev, struct ops_list *ops)
+@@ -463,7 +463,7 @@ static int init_device(struct snd_seq_device *dev, struct ops_list *ops)
                           dev->name, ops->id, ops->argsize, dev->argsize);
                return -EINVAL;
        }
@@ -79616,7 +80211,7 @@ index 1f99767..14636533 100644
                dev->status = SNDRV_SEQ_DEVICE_REGISTERED;
                ops->num_init_devices++;
        } else {
-@@ -489,7 +489,7 @@ static int free_device(struct snd_seq_device *dev, struct ops_list *ops)
+@@ -490,7 +490,7 @@ static int free_device(struct snd_seq_device *dev, struct ops_list *ops)
                           dev->name, ops->id, ops->argsize, dev->argsize);
                return -EINVAL;
        }
@@ -79626,10 +80221,10 @@ index 1f99767..14636533 100644
                dev->driver_data = NULL;
                ops->num_init_devices--;
 diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c
-index 8539ab0..be8a121 100644
+index f24bf9a..1f7b67c 100644
 --- a/sound/drivers/mts64.c
 +++ b/sound/drivers/mts64.c
-@@ -28,6 +28,7 @@
+@@ -29,6 +29,7 @@
  #include <sound/initval.h>
  #include <sound/rawmidi.h>
  #include <sound/control.h>
@@ -79637,7 +80232,7 @@ index 8539ab0..be8a121 100644
  
  #define CARD_NAME "Miditerminal 4140"
  #define DRIVER_NAME "MTS64"
-@@ -66,7 +67,7 @@ struct mts64 {
+@@ -67,7 +68,7 @@ struct mts64 {
        struct pardevice *pardev;
        int pardev_claimed;
  
@@ -79646,7 +80241,7 @@ index 8539ab0..be8a121 100644
        int current_midi_output_port;
        int current_midi_input_port;
        u8 mode[MTS64_NUM_INPUT_PORTS];
-@@ -696,7 +697,7 @@ static int snd_mts64_rawmidi_open(struct snd_rawmidi_substream *substream)
+@@ -697,7 +698,7 @@ static int snd_mts64_rawmidi_open(struct snd_rawmidi_substream *substream)
  {
        struct mts64 *mts = substream->rmidi->private_data;
  
@@ -79655,7 +80250,7 @@ index 8539ab0..be8a121 100644
                /* We don't need a spinlock here, because this is just called 
                   if the device has not been opened before. 
                   So there aren't any IRQs from the device */
-@@ -704,7 +705,7 @@ static int snd_mts64_rawmidi_open(struct snd_rawmidi_substream *substream)
+@@ -705,7 +706,7 @@ static int snd_mts64_rawmidi_open(struct snd_rawmidi_substream *substream)
  
                msleep(50);
        }
@@ -79664,7 +80259,7 @@ index 8539ab0..be8a121 100644
  
        return 0;
  }
-@@ -714,8 +715,7 @@ static int snd_mts64_rawmidi_close(struct snd_rawmidi_substream *substream)
+@@ -715,8 +716,7 @@ static int snd_mts64_rawmidi_close(struct snd_rawmidi_substream *substream)
        struct mts64 *mts = substream->rmidi->private_data;
        unsigned long flags;
  
@@ -79674,7 +80269,7 @@ index 8539ab0..be8a121 100644
                /* We need the spinlock_irqsave here because we can still
                   have IRQs at this point */
                spin_lock_irqsave(&mts->lock, flags);
-@@ -724,8 +724,8 @@ static int snd_mts64_rawmidi_close(struct snd_rawmidi_substream *substream)
+@@ -725,8 +725,8 @@ static int snd_mts64_rawmidi_close(struct snd_rawmidi_substream *substream)
  
                msleep(500);
  
@@ -79686,10 +80281,10 @@ index 8539ab0..be8a121 100644
        return 0;
  }
 diff --git a/sound/drivers/opl4/opl4_lib.c b/sound/drivers/opl4/opl4_lib.c
-index f07e38d..7aae69a 100644
+index b953fb4..1999c01 100644
 --- a/sound/drivers/opl4/opl4_lib.c
 +++ b/sound/drivers/opl4/opl4_lib.c
-@@ -28,7 +28,7 @@ MODULE_AUTHOR("Clemens Ladisch <clemens@ladisch.de>");
+@@ -29,7 +29,7 @@ MODULE_AUTHOR("Clemens Ladisch <clemens@ladisch.de>");
  MODULE_DESCRIPTION("OPL4 driver");
  MODULE_LICENSE("GPL");
  
@@ -79699,10 +80294,10 @@ index f07e38d..7aae69a 100644
        int timeout = 10;
        while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0)
 diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c
-index f2b0ba2..429efc5 100644
+index f664823..590c745 100644
 --- a/sound/drivers/portman2x4.c
 +++ b/sound/drivers/portman2x4.c
-@@ -47,6 +47,7 @@
+@@ -48,6 +48,7 @@
  #include <sound/initval.h>
  #include <sound/rawmidi.h>
  #include <sound/control.h>
@@ -79710,7 +80305,7 @@ index f2b0ba2..429efc5 100644
  
  #define CARD_NAME "Portman 2x4"
  #define DRIVER_NAME "portman"
-@@ -84,7 +85,7 @@ struct portman {
+@@ -85,7 +86,7 @@ struct portman {
        struct pardevice *pardev;
        int pardev_claimed;
  
@@ -79755,10 +80350,10 @@ index 537a9cb..8e8c8e9 100644
  
  /**
 diff --git a/sound/firewire/isight.c b/sound/firewire/isight.c
-index 4400308..261e9f3 100644
+index cd094ec..eca1277 100644
 --- a/sound/firewire/isight.c
 +++ b/sound/firewire/isight.c
-@@ -97,7 +97,7 @@ static void isight_update_pointers(struct isight *isight, unsigned int count)
+@@ -96,7 +96,7 @@ static void isight_update_pointers(struct isight *isight, unsigned int count)
        ptr += count;
        if (ptr >= runtime->buffer_size)
                ptr -= runtime->buffer_size;
@@ -79767,7 +80362,7 @@ index 4400308..261e9f3 100644
  
        isight->period_counter += count;
        if (isight->period_counter >= runtime->period_size) {
-@@ -308,7 +308,7 @@ static int isight_hw_params(struct snd_pcm_substream *substream,
+@@ -307,7 +307,7 @@ static int isight_hw_params(struct snd_pcm_substream *substream,
        if (err < 0)
                return err;
  
@@ -79776,7 +80371,7 @@ index 4400308..261e9f3 100644
  
        return 0;
  }
-@@ -341,7 +341,7 @@ static int isight_hw_free(struct snd_pcm_substream *substream)
+@@ -340,7 +340,7 @@ static int isight_hw_free(struct snd_pcm_substream *substream)
  {
        struct isight *isight = substream->private_data;
  
@@ -79785,7 +80380,7 @@ index 4400308..261e9f3 100644
  
        mutex_lock(&isight->mutex);
        isight_stop_streaming(isight);
-@@ -434,10 +434,10 @@ static int isight_trigger(struct snd_pcm_substream *substream, int cmd)
+@@ -433,10 +433,10 @@ static int isight_trigger(struct snd_pcm_substream *substream, int cmd)
  
        switch (cmd) {
        case SNDRV_PCM_TRIGGER_START:
@@ -79799,7 +80394,7 @@ index 4400308..261e9f3 100644
        default:
                return -EINVAL;
 diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c
-index fe79a16..4d9714e 100644
+index c94578d..0794ac1 100644
 --- a/sound/isa/cmi8330.c
 +++ b/sound/isa/cmi8330.c
 @@ -172,7 +172,7 @@ struct snd_cmi8330 {
@@ -79863,10 +80458,10 @@ index 09d4648..cf234c7 100644
                  list_add(&s->list, &cs4297a_devs);
  
 diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
-index 755f2b0..5c12361 100644
+index 71f6744..d8aeae7 100644
 --- a/sound/pci/hda/hda_codec.h
 +++ b/sound/pci/hda/hda_codec.h
-@@ -611,7 +611,7 @@ struct hda_bus_ops {
+@@ -614,7 +614,7 @@ struct hda_bus_ops {
        /* notify power-up/down from codec to controller */
        void (*pm_notify)(struct hda_bus *bus);
  #endif
@@ -79875,7 +80470,7 @@ index 755f2b0..5c12361 100644
  
  /* template to pass to the bus constructor */
  struct hda_bus_template {
-@@ -713,6 +713,7 @@ struct hda_codec_ops {
+@@ -716,6 +716,7 @@ struct hda_codec_ops {
  #endif
        void (*reboot_notify)(struct hda_codec *codec);
  };
@@ -79883,7 +80478,7 @@ index 755f2b0..5c12361 100644
  
  /* record for amp information cache */
  struct hda_cache_head {
-@@ -743,7 +744,7 @@ struct hda_pcm_ops {
+@@ -746,7 +747,7 @@ struct hda_pcm_ops {
                       struct snd_pcm_substream *substream);
        int (*cleanup)(struct hda_pcm_stream *info, struct hda_codec *codec,
                       struct snd_pcm_substream *substream);
@@ -79892,7 +80487,7 @@ index 755f2b0..5c12361 100644
  
  /* PCM information for each substream */
  struct hda_pcm_stream {
-@@ -801,7 +802,7 @@ struct hda_codec {
+@@ -804,7 +805,7 @@ struct hda_codec {
        const char *modelname;  /* model name for preset */
  
        /* set by patch */
@@ -79924,10 +80519,10 @@ index 0da778a..bc38b84 100644
  
  
 diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
-index f3260e6..4a285d8 100644
+index 03ee4e3..be86b46 100644
 --- a/sound/pci/ymfpci/ymfpci_main.c
 +++ b/sound/pci/ymfpci/ymfpci_main.c
-@@ -202,8 +202,8 @@ static void snd_ymfpci_hw_stop(struct snd_ymfpci *chip)
+@@ -203,8 +203,8 @@ static void snd_ymfpci_hw_stop(struct snd_ymfpci *chip)
                if ((snd_ymfpci_readl(chip, YDSXGR_STATUS) & 2) == 0)
                        break;
        }
@@ -79938,7 +80533,7 @@ index f3260e6..4a285d8 100644
                wake_up(&chip->interrupt_sleep);
        }
        __end:
-@@ -787,7 +787,7 @@ static void snd_ymfpci_irq_wait(struct snd_ymfpci *chip)
+@@ -788,7 +788,7 @@ static void snd_ymfpci_irq_wait(struct snd_ymfpci *chip)
                        continue;
                init_waitqueue_entry(&wait, current);
                add_wait_queue(&chip->interrupt_sleep, &wait);
@@ -79947,7 +80542,7 @@ index f3260e6..4a285d8 100644
                schedule_timeout_uninterruptible(msecs_to_jiffies(50));
                remove_wait_queue(&chip->interrupt_sleep, &wait);
        }
-@@ -825,8 +825,8 @@ static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id)
+@@ -826,8 +826,8 @@ static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id)
                snd_ymfpci_writel(chip, YDSXGR_MODE, mode);
                spin_unlock(&chip->reg_lock);
  
@@ -79958,7 +80553,7 @@ index f3260e6..4a285d8 100644
                        wake_up(&chip->interrupt_sleep);
                }
        }
-@@ -2363,7 +2363,7 @@ int __devinit snd_ymfpci_create(struct snd_card *card,
+@@ -2382,7 +2382,7 @@ int __devinit snd_ymfpci_create(struct snd_card *card,
        spin_lock_init(&chip->reg_lock);
        spin_lock_init(&chip->voice_lock);
        init_waitqueue_head(&chip->interrupt_sleep);
@@ -79968,10 +80563,10 @@ index f3260e6..4a285d8 100644
        chip->pci = pci;
        chip->irq = -1;
 diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
-index 2879c88..224159e 100644
+index ee15337..e2187a6 100644
 --- a/sound/soc/soc-pcm.c
 +++ b/sound/soc/soc-pcm.c
-@@ -568,7 +568,7 @@ static snd_pcm_uframes_t soc_pcm_pointer(struct snd_pcm_substream *substream)
+@@ -583,7 +583,7 @@ static snd_pcm_uframes_t soc_pcm_pointer(struct snd_pcm_substream *substream)
  }
  
  /* ASoC PCM operations */
@@ -79981,7 +80576,7 @@ index 2879c88..224159e 100644
        .close          = soc_pcm_close,
        .hw_params      = soc_pcm_hw_params,
 diff --git a/sound/usb/card.h b/sound/usb/card.h
-index ae4251d..0961361 100644
+index a39edcc..1014050 100644
 --- a/sound/usb/card.h
 +++ b/sound/usb/card.h
 @@ -44,6 +44,7 @@ struct snd_urb_ops {
@@ -79997,29 +80592,32 @@ index ae4251d..0961361 100644
        spinlock_t lock;
  
 -      struct snd_urb_ops ops;         /* callbacks (must be filled at init) */
-+      snd_urb_ops_no_const ops;               /* callbacks (must be filled at init) */
++      snd_urb_ops_no_const ops;       /* callbacks (must be filled at init) */
+       int last_frame_number;          /* stored frame number */
+       int last_delay;                 /* stored delay */
  };
- struct snd_usb_stream {
 diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
 new file mode 100644
-index 0000000..b044b80
+index 0000000..ca64170
 --- /dev/null
 +++ b/tools/gcc/Makefile
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,26 @@
 +#CC := gcc
 +#PLUGIN_SOURCE_FILES := pax_plugin.c
 +#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
 +GCCPLUGINS_DIR := $(shell $(CC) -print-file-name=plugin)
-+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W
++#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W -std=gnu99
 +
-+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include
++HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include -I$(GCCPLUGINS_DIR)/include/c-family -std=gnu99 -ggdb
++CFLAGS_size_overflow_plugin.o := -Wno-missing-initializer
 +
 +hostlibs-y := constify_plugin.so
 +hostlibs-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so
 +hostlibs-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so
 +hostlibs-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so
 +hostlibs-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so
++hostlibs-y += colorize_plugin.so
++hostlibs-$(CONFIG_PAX_SIZE_OVERFLOW) += size_overflow_plugin.so
 +
 +always := $(hostlibs-y)
 +
@@ -80028,6 +80626,8 @@ index 0000000..b044b80
 +kallocstat_plugin-objs := kallocstat_plugin.o
 +kernexec_plugin-objs := kernexec_plugin.o
 +checker_plugin-objs := checker_plugin.o
++colorize_plugin-objs := colorize_plugin.o
++size_overflow_plugin-objs := size_overflow_plugin.o
 diff --git a/tools/gcc/checker_plugin.c b/tools/gcc/checker_plugin.c
 new file mode 100644
 index 0000000..d41b5af
@@ -80205,6 +80805,159 @@ index 0000000..d41b5af
 +
 +      return 0;
 +}
+diff --git a/tools/gcc/colorize_plugin.c b/tools/gcc/colorize_plugin.c
+new file mode 100644
+index 0000000..ee950d0
+--- /dev/null
++++ b/tools/gcc/colorize_plugin.c
+@@ -0,0 +1,147 @@
++/*
++ * Copyright 2012 by PaX Team <pageexec@freemail.hu>
++ * Licensed under the GPL v2
++ *
++ * Note: the choice of the license means that the compilation process is
++ *       NOT 'eligible' as defined by gcc's library exception to the GPL v3,
++ *       but for the kernel it doesn't matter since it doesn't link against
++ *       any of the gcc libraries
++ *
++ * gcc plugin to colorize diagnostic output
++ *
++ */
++
++#include "gcc-plugin.h"
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tree.h"
++#include "tree-pass.h"
++#include "flags.h"
++#include "intl.h"
++#include "toplev.h"
++#include "plugin.h"
++#include "diagnostic.h"
++#include "plugin-version.h"
++#include "tm.h"
++
++int plugin_is_GPL_compatible;
++
++static struct plugin_info colorize_plugin_info = {
++      .version        = "201203092200",
++};
++
++#define GREEN         "\033[32m\033[2m"
++#define LIGHTGREEN    "\033[32m\033[1m"
++#define YELLOW                "\033[33m\033[2m"
++#define LIGHTYELLOW   "\033[33m\033[1m"
++#define RED           "\033[31m\033[2m"
++#define LIGHTRED      "\033[31m\033[1m"
++#define BLUE          "\033[34m\033[2m"
++#define LIGHTBLUE     "\033[34m\033[1m"
++#define BRIGHT                "\033[m\033[1m"
++#define NORMAL                "\033[m"
++
++static diagnostic_starter_fn old_starter;
++static diagnostic_finalizer_fn old_finalizer;
++
++static void start_colorize(diagnostic_context *context, diagnostic_info *diagnostic)
++{
++      const char *color;
++      char *newprefix;
++
++      switch (diagnostic->kind) {
++      case DK_NOTE:
++              color = LIGHTBLUE;
++              break;
++
++      case DK_PEDWARN:
++      case DK_WARNING:
++              color = LIGHTYELLOW;
++              break;
++
++      case DK_ERROR:
++      case DK_FATAL:
++      case DK_ICE:
++      case DK_PERMERROR:
++      case DK_SORRY:
++              color = LIGHTRED;
++              break;
++
++      default:
++              color = NORMAL;
++      }
++
++      old_starter(context, diagnostic);
++      if (-1 == asprintf(&newprefix, "%s%s" NORMAL, color, context->printer->prefix))
++              return;
++      pp_destroy_prefix(context->printer);
++      pp_set_prefix(context->printer, newprefix);
++}
++
++static void finalize_colorize(diagnostic_context *context, diagnostic_info *diagnostic)
++{
++      old_finalizer(context, diagnostic);
++}
++
++static void colorize_arm(void)
++{
++      old_starter = diagnostic_starter(global_dc);
++      old_finalizer = diagnostic_finalizer(global_dc);
++
++      diagnostic_starter(global_dc) = start_colorize;
++      diagnostic_finalizer(global_dc) = finalize_colorize;
++}
++
++static unsigned int execute_colorize_rearm(void)
++{
++      if (diagnostic_starter(global_dc) == start_colorize)
++              return 0;
++
++      colorize_arm();
++      return 0;
++}
++
++struct simple_ipa_opt_pass pass_ipa_colorize_rearm = {
++      .pass = {
++              .type                   = SIMPLE_IPA_PASS,
++              .name                   = "colorize_rearm",
++              .gate                   = NULL,
++              .execute                = execute_colorize_rearm,
++              .sub                    = NULL,
++              .next                   = NULL,
++              .static_pass_number     = 0,
++              .tv_id                  = TV_NONE,
++              .properties_required    = 0,
++              .properties_provided    = 0,
++              .properties_destroyed   = 0,
++              .todo_flags_start       = 0,
++              .todo_flags_finish      = 0
++      }
++};
++
++static void colorize_start_unit(void *gcc_data, void *user_data)
++{
++      colorize_arm();
++}
++
++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
++{
++      const char * const plugin_name = plugin_info->base_name;
++      struct register_pass_info colorize_rearm_pass_info = {
++              .pass                           = &pass_ipa_colorize_rearm.pass,
++              .reference_pass_name            = "*free_lang_data",
++              .ref_pass_instance_number       = 0,
++              .pos_op                         = PASS_POS_INSERT_AFTER
++      };
++
++      if (!plugin_default_version_check(version, &gcc_version)) {
++              error(G_("incompatible gcc/plugin versions"));
++              return 1;
++      }
++
++      register_callback(plugin_name, PLUGIN_INFO, NULL, &colorize_plugin_info);
++      register_callback(plugin_name, PLUGIN_START_UNIT, &colorize_start_unit, NULL);
++      register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &colorize_rearm_pass_info);
++      return 0;
++}
 diff --git a/tools/gcc/constify_plugin.c b/tools/gcc/constify_plugin.c
 new file mode 100644
 index 0000000..704a564
@@ -80689,10 +81442,10 @@ index 0000000..a5eabce
 +}
 diff --git a/tools/gcc/kernexec_plugin.c b/tools/gcc/kernexec_plugin.c
 new file mode 100644
-index 0000000..51f747e
+index 0000000..008f159
 --- /dev/null
 +++ b/tools/gcc/kernexec_plugin.c
-@@ -0,0 +1,348 @@
+@@ -0,0 +1,427 @@
 +/*
 + * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
 + * Licensed under the GPL v2
@@ -80740,13 +81493,32 @@ index 0000000..51f747e
 +      .help           = "method=[bts|or]\tinstrumentation method\n"
 +};
 +
++static unsigned int execute_kernexec_reload(void);
 +static unsigned int execute_kernexec_fptr(void);
 +static unsigned int execute_kernexec_retaddr(void);
 +static bool kernexec_cmodel_check(void);
 +
-+static void (*kernexec_instrument_fptr)(gimple_stmt_iterator);
++static void (*kernexec_instrument_fptr)(gimple_stmt_iterator *);
 +static void (*kernexec_instrument_retaddr)(rtx);
 +
++static struct gimple_opt_pass kernexec_reload_pass = {
++      .pass = {
++              .type                   = GIMPLE_PASS,
++              .name                   = "kernexec_reload",
++              .gate                   = kernexec_cmodel_check,
++              .execute                = execute_kernexec_reload,
++              .sub                    = NULL,
++              .next                   = NULL,
++              .static_pass_number     = 0,
++              .tv_id                  = TV_NONE,
++              .properties_required    = 0,
++              .properties_provided    = 0,
++              .properties_destroyed   = 0,
++              .todo_flags_start       = 0,
++              .todo_flags_finish      = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi
++      }
++};
++
 +static struct gimple_opt_pass kernexec_fptr_pass = {
 +      .pass = {
 +              .type                   = GIMPLE_PASS,
@@ -80802,15 +81574,66 @@ index 0000000..51f747e
 +}
 +
 +/*
++ * add special KERNEXEC instrumentation: reload %r10 after it has been clobbered
++ */
++static void kernexec_reload_fptr_mask(gimple_stmt_iterator *gsi)
++{
++      gimple asm_movabs_stmt;
++
++      // build asm volatile("movabs $0x8000000000000000, %%r10\n\t" : : : );
++      asm_movabs_stmt = gimple_build_asm_vec("movabs $0x8000000000000000, %%r10\n\t", NULL, NULL, NULL, NULL);
++      gimple_asm_set_volatile(asm_movabs_stmt, true);
++      gsi_insert_after(gsi, asm_movabs_stmt, GSI_CONTINUE_LINKING);
++      update_stmt(asm_movabs_stmt);
++}
++
++/*
++ * find all asm() stmts that clobber r10 and add a reload of r10
++ */
++static unsigned int execute_kernexec_reload(void)
++{
++      basic_block bb;
++
++      // 1. loop through BBs and GIMPLE statements
++      FOR_EACH_BB(bb) {
++              gimple_stmt_iterator gsi;
++
++              for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
++                      // gimple match: __asm__ ("" :  :  : "r10");
++                      gimple asm_stmt;
++                      size_t nclobbers;
++
++                      // is it an asm ...
++                      asm_stmt = gsi_stmt(gsi);
++                      if (gimple_code(asm_stmt) != GIMPLE_ASM)
++                              continue;
++
++                      // ... clobbering r10
++                      nclobbers = gimple_asm_nclobbers(asm_stmt);
++                      while (nclobbers--) {
++                              tree op = gimple_asm_clobber_op(asm_stmt, nclobbers);
++                              if (strcmp(TREE_STRING_POINTER(TREE_VALUE(op)), "r10"))
++                                      continue;
++                              kernexec_reload_fptr_mask(&gsi);
++//print_gimple_stmt(stderr, asm_stmt, 0, TDF_LINENO);
++                              break;
++                      }
++              }
++      }
++
++      return 0;
++}
++
++/*
 + * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce
 + * a non-canonical address from a userland ptr and will just trigger a GPF on dereference
 + */
-+static void kernexec_instrument_fptr_bts(gimple_stmt_iterator gsi)
++static void kernexec_instrument_fptr_bts(gimple_stmt_iterator *gsi)
 +{
 +      gimple assign_intptr, assign_new_fptr, call_stmt;
 +      tree intptr, old_fptr, new_fptr, kernexec_mask;
 +
-+      call_stmt = gsi_stmt(gsi);
++      call_stmt = gsi_stmt(*gsi);
 +      old_fptr = gimple_call_fn(call_stmt);
 +
 +      // create temporary unsigned long variable used for bitops and cast fptr to it
@@ -80818,14 +81641,14 @@ index 0000000..51f747e
 +      add_referenced_var(intptr);
 +      mark_sym_for_renaming(intptr);
 +      assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr));
-+      gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT);
++      gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT);
 +      update_stmt(assign_intptr);
 +
 +      // apply logical or to temporary unsigned long and bitmask
 +      kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL);
 +//    kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL);
 +      assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask));
-+      gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT);
++      gsi_insert_before(gsi, assign_intptr, GSI_SAME_STMT);
 +      update_stmt(assign_intptr);
 +
 +      // cast temporary unsigned long back to a temporary fptr variable
@@ -80833,7 +81656,7 @@ index 0000000..51f747e
 +      add_referenced_var(new_fptr);
 +      mark_sym_for_renaming(new_fptr);
 +      assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr));
-+      gsi_insert_before(&gsi, assign_new_fptr, GSI_SAME_STMT);
++      gsi_insert_before(gsi, assign_new_fptr, GSI_SAME_STMT);
 +      update_stmt(assign_new_fptr);
 +
 +      // replace call stmt fn with the new fptr
@@ -80841,14 +81664,14 @@ index 0000000..51f747e
 +      update_stmt(call_stmt);
 +}
 +
-+static void kernexec_instrument_fptr_or(gimple_stmt_iterator gsi)
++static void kernexec_instrument_fptr_or(gimple_stmt_iterator *gsi)
 +{
 +      gimple asm_or_stmt, call_stmt;
 +      tree old_fptr, new_fptr, input, output;
 +      VEC(tree, gc) *inputs = NULL;
 +      VEC(tree, gc) *outputs = NULL;
 +
-+      call_stmt = gsi_stmt(gsi);
++      call_stmt = gsi_stmt(*gsi);
 +      old_fptr = gimple_call_fn(call_stmt);
 +
 +      // create temporary fptr variable
@@ -80865,7 +81688,7 @@ index 0000000..51f747e
 +      VEC_safe_push(tree, gc, outputs, output);
 +      asm_or_stmt = gimple_build_asm_vec("orq %%r10, %0\n\t", inputs, outputs, NULL, NULL);
 +      gimple_asm_set_volatile(asm_or_stmt, true);
-+      gsi_insert_before(&gsi, asm_or_stmt, GSI_SAME_STMT);
++      gsi_insert_before(gsi, asm_or_stmt, GSI_SAME_STMT);
 +      update_stmt(asm_or_stmt);
 +
 +      // replace call stmt fn with the new fptr
@@ -80879,10 +81702,11 @@ index 0000000..51f747e
 +static unsigned int execute_kernexec_fptr(void)
 +{
 +      basic_block bb;
-+      gimple_stmt_iterator gsi;
 +
 +      // 1. loop through BBs and GIMPLE statements
 +      FOR_EACH_BB(bb) {
++              gimple_stmt_iterator gsi;
++
 +              for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
 +                      // gimple match: h_1 = get_fptr (); D.2709_3 = h_1 (x_2(D));
 +                      tree fn;
@@ -80909,7 +81733,7 @@ index 0000000..51f747e
 +                      if (TREE_CODE(fn) != FUNCTION_TYPE)
 +                              continue;
 +
-+                      kernexec_instrument_fptr(gsi);
++                      kernexec_instrument_fptr(&gsi);
 +
 +//debug_tree(gimple_call_fn(call_stmt));
 +//print_gimple_stmt(stderr, call_stmt, 0, TDF_LINENO);
@@ -80991,6 +81815,12 @@ index 0000000..51f747e
 +      const int argc = plugin_info->argc;
 +      const struct plugin_argument * const argv = plugin_info->argv;
 +      int i;
++      struct register_pass_info kernexec_reload_pass_info = {
++              .pass                           = &kernexec_reload_pass.pass,
++              .reference_pass_name            = "ssa",
++              .ref_pass_instance_number       = 0,
++              .pos_op                         = PASS_POS_INSERT_AFTER
++      };
 +      struct register_pass_info kernexec_fptr_pass_info = {
 +              .pass                           = &kernexec_fptr_pass.pass,
 +              .reference_pass_name            = "ssa",
@@ -81036,17 +81866,3883 @@ index 0000000..51f747e
 +      if (!kernexec_instrument_fptr || !kernexec_instrument_retaddr)
 +              error(G_("no instrumentation method was selected via '-fplugin-arg-%s-method'"), plugin_name);
 +
++      if (kernexec_instrument_fptr == kernexec_instrument_fptr_or)
++              register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_reload_pass_info);
 +      register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info);
 +      register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_retaddr_pass_info);
 +
 +      return 0;
 +}
+diff --git a/tools/gcc/size_overflow_hash1.h b/tools/gcc/size_overflow_hash1.h
+new file mode 100644
+index 0000000..55a1292
+--- /dev/null
++++ b/tools/gcc/size_overflow_hash1.h
+@@ -0,0 +1,2760 @@
++struct size_overflow_hash size_overflow_hash1[65536] = {
++      [10013].file    = "security/smack/smackfs.c",
++      [10013].name    = "smk_write_direct",
++      [10013].param3  = 1,
++      [10167].file    = "sound/core/oss/pcm_plugin.c",
++      [10167].name    = "snd_pcm_plugin_build",
++      [10167].param5  = 1,
++      [1020].file     = "drivers/usb/misc/usbtest.c",
++      [1020].name     = "test_unaligned_bulk",
++      [1020].param3   = 1,
++      [1022].file     = "sound/pci/rme9652/rme9652.c",
++      [1022].name     = "snd_rme9652_playback_copy",
++      [1022].param5   = 1,
++      [10341].file    = "fs/nfsd/nfs4xdr.c",
++      [10341].name    = "read_buf",
++      [10341].param2  = 1,
++      [10357].file    = "net/sunrpc/cache.c",
++      [10357].name    = "cache_read",
++      [10357].param3  = 1,
++      [10397].file    = "drivers/gpu/drm/i915/i915_debugfs.c",
++      [10397].name    = "i915_wedged_write",
++      [10397].param3  = 1,
++      [10414].file    = "drivers/tty/vt/vt.c",
++      [10414].name    = "vc_do_resize",
++      [10414].param3  = 1,
++      [10414].param4  = 1,
++      [10496].file    = "drivers/bluetooth/hci_vhci.c",
++      [10496].name    = "vhci_read",
++      [10496].param3  = 1,
++      [10565].file    = "drivers/input/touchscreen/ad7879-spi.c",
++      [10565].name    = "ad7879_spi_multi_read",
++      [10565].param3  = 1,
++      [10623].file    = "drivers/infiniband/core/user_mad.c",
++      [10623].name    = "ib_umad_write",
++      [10623].param3  = 1,
++      [10707].file    = "fs/nfs/idmap.c",
++      [10707].name    = "nfs_idmap_request_key",
++      [10707].param2  = 1,
++      [10773].file    = "drivers/input/mousedev.c",
++      [10773].name    = "mousedev_read",
++      [10773].param3  = 1,
++      [10777].file    = "fs/ntfs/file.c",
++      [10777].name    = "ntfs_file_buffered_write",
++      [10777].param6  = 1,
++      [10919].file    = "net/ipv4/netfilter/arp_tables.c",
++      [10919].name    = "do_arpt_set_ctl",
++      [10919].param4  = 1,
++      [11054].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [11054].name    = "lbs_wrmac_write",
++      [11054].param3  = 1,
++      [11068].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [11068].name    = "lbs_wrrf_write",
++      [11068].param3  = 1,
++      [11364].file    = "fs/ext4/super.c",
++      [11364].name    = "ext4_kvzalloc",
++      [11364].param1  = 1,
++      [11402].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [11402].name    = "lbs_threshold_write",
++      [11402].param5  = 1,
++      [11494].file    = "drivers/video/via/viafbdev.c",
++      [11494].name    = "viafb_dvp1_proc_write",
++      [11494].param3  = 1,
++      [11616].file    = "security/selinux/selinuxfs.c",
++      [11616].name    = "sel_write_enforce",
++      [11616].param3  = 1,
++      [11699].file    = "drivers/net/ethernet/neterion/vxge/vxge-config.h",
++      [11699].name    = "vxge_os_dma_malloc",
++      [11699].param2  = 1,
++      [11766].file    = "drivers/block/paride/pt.c",
++      [11766].name    = "pt_read",
++      [11766].param3  = 1,
++      [11784].file    = "fs/bio.c",
++      [11784].name    = "bio_kmalloc",
++      [11784].param2  = 1,
++      [11814].file    = "drivers/staging/speakup/kobjects.c",
++      [11814].name    = "keymap_store",
++      [11814].param4  = 1,
++      [11912].file    = "net/sunrpc/cache.c",
++      [11912].name    = "cache_write_pipefs",
++      [11912].param3  = 1,
++      [11919].file    = "drivers/lguest/core.c",
++      [11919].name    = "__lgread",
++      [11919].param4  = 1,
++      [11986].file    = "drivers/net/usb/asix.c",
++      [11986].name    = "asix_read_cmd",
++      [11986].param5  = 1,
++      [12059].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [12059].name    = "lbs_debugfs_write",
++      [12059].param3  = 1,
++      [12071].file    = "lib/kstrtox.c",
++      [12071].name    = "kstrtou8_from_user",
++      [12071].param2  = 1,
++      [12151].file    = "fs/compat.c",
++      [12151].name    = "compat_rw_copy_check_uvector",
++      [12151].param3  = 1,
++      [12205].file    = "fs/reiserfs/journal.c",
++      [12205].name    = "reiserfs_allocate_list_bitmaps",
++      [12205].param3  = 1,
++      [12234].file    = "include/acpi/platform/aclinux.h",
++      [12234].name    = "acpi_os_allocate",
++      [12234].param1  = 1,
++      [1227].file     = "lib/cpu_rmap.c",
++      [1227].name     = "alloc_cpu_rmap",
++      [1227].param1   = 1,
++      [12395].file    = "drivers/char/hw_random/core.c",
++      [12395].name    = "rng_dev_read",
++      [12395].param3  = 1,
++      [1248].file     = "kernel/kprobes.c",
++      [1248].name     = "write_enabled_file_bool",
++      [1248].param3   = 1,
++      [12501].file    = "net/mac80211/debugfs.c",
++      [12501].name    = "uapsd_max_sp_len_write",
++      [12501].param3  = 1,
++      [12591].file    = "sound/core/pcm_lib.c",
++      [12591].name    = "snd_pcm_lib_writev_transfer",
++      [12591].param5  = 1,
++      [12602].file    = "net/sunrpc/cache.c",
++      [12602].name    = "cache_downcall",
++      [12602].param3  = 1,
++      [12712].file    = "drivers/net/wimax/i2400m/fw.c",
++      [12712].name    = "i2400m_zrealloc_2x",
++      [12712].param3  = 1,
++      [12755].file    = "sound/drivers/opl4/opl4_proc.c",
++      [12755].name    = "snd_opl4_mem_proc_read",
++      [12755].param5  = 1,
++      [12833].file    = "net/sctp/auth.c",
++      [12833].name    = "sctp_auth_create_key",
++      [12833].param1  = 1,
++      [12840].file    = "net/sctp/tsnmap.c",
++      [12840].name    = "sctp_tsnmap_mark",
++      [12840].param2  = 1,
++      [12896].file    = "drivers/net/wireless/wl12xx/debugfs.c",
++      [12896].name    = "beacon_filtering_write",
++      [12896].param3  = 1,
++      [12931].file    = "drivers/hid/hid-roccat.c",
++      [12931].name    = "roccat_read",
++      [12931].param3  = 1,
++      [12954].file    = "fs/proc/base.c",
++      [12954].name    = "oom_adjust_write",
++      [12954].param3  = 1,
++      [13013].file    = "drivers/media/dvb/ttpci/av7110_ca.c",
++      [13013].name    = "dvb_ca_write",
++      [13013].param3  = 1,
++      [13103].file    = "drivers/acpi/acpica/utobject.c",
++      [13103].name    = "acpi_ut_create_string_object",
++      [13103].param1  = 1,
++      [13121].file    = "net/ipv4/ip_sockglue.c",
++      [13121].name    = "do_ip_setsockopt",
++      [13121].param5  = 1,
++      [13337].file    = "net/core/iovec.c",
++      [13337].name    = "csum_partial_copy_fromiovecend",
++      [13337].param4  = 1,
++      [13339].file    = "security/smack/smackfs.c",
++      [13339].name    = "smk_write_netlbladdr",
++      [13339].param3  = 1,
++      [13342].file    = "fs/jbd2/journal.c",
++      [13342].name    = "jbd2_alloc",
++      [13342].param1  = 1,
++      [13412].file    = "fs/proc/base.c",
++      [13412].name    = "oom_score_adj_write",
++      [13412].param3  = 1,
++      [13659].file    = "drivers/net/wan/hdlc.c",
++      [13659].name    = "attach_hdlc_protocol",
++      [13659].param3  = 1,
++      [13708].file    = "drivers/usb/misc/usbtest.c",
++      [13708].name    = "simple_alloc_urb",
++      [13708].param3  = 1,
++      [13863].file    = "drivers/net/wireless/iwlwifi/iwl-agn-rs.c",
++      [13863].name    = "rs_sta_dbgfs_scale_table_write",
++      [13863].param3  = 1,
++      [13924].file    = "net/ipv4/netfilter/ip_tables.c",
++      [13924].name    = "do_ipt_set_ctl",
++      [13924].param4  = 1,
++      [14019].file    = "net/dns_resolver/dns_key.c",
++      [14019].name    = "dns_resolver_instantiate",
++      [14019].param2  = 1,
++      [14019].param3  = 1,
++      [14025].file    = "net/ax25/af_ax25.c",
++      [14025].name    = "ax25_setsockopt",
++      [14025].param5  = 1,
++      [14029].file    = "drivers/spi/spidev.c",
++      [14029].name    = "spidev_compat_ioctl",
++      [14029].param2  = 1,
++      [14031].file    = "drivers/net/wireless/ath/ath5k/debug.c",
++      [14031].name    = "write_file_beacon",
++      [14031].param3  = 1,
++      [14086].file    = "fs/nfs/nfs4proc.c",
++      [14086].name    = "nfs4_reset_slot_table",
++      [14086].param2  = 1,
++      [14090].file    = "drivers/bluetooth/btmrvl_debugfs.c",
++      [14090].name    = "btmrvl_hsmode_write",
++      [14090].param3  = 1,
++      [14125].file    = "kernel/module.c",
++      [14125].name    = "load_module",
++      [14125].param2  = 1,
++      [14149].file    = "drivers/hid/hidraw.c",
++      [14149].name    = "hidraw_ioctl",
++      [14149].param2  = 1,
++      [14153].file    = "drivers/staging/bcm/led_control.c",
++      [14153].name    = "ValidateDSDParamsChecksum",
++      [14153].param3  = 1,
++      [14174].file    = "sound/pci/es1938.c",
++      [14174].name    = "snd_es1938_capture_copy",
++      [14174].param5  = 1,
++      [14207].file    = "drivers/media/video/v4l2-event.c",
++      [14207].name    = "v4l2_event_subscribe",
++      [14207].param3  = 1,
++      [14241].file    = "drivers/platform/x86/asus_acpi.c",
++      [14241].name    = "brn_proc_write",
++      [14241].param3  = 1,
++      [14299].file    = "sound/core/oss/pcm_plugin.c",
++      [14299].name    = "snd_pcm_plugin_alloc",
++      [14299].param2  = 1,
++      [14345].file    = "fs/cachefiles/daemon.c",
++      [14345].name    = "cachefiles_daemon_write",
++      [14345].param3  = 1,
++      [14347].file    = "drivers/media/dvb/dvb-core/dvb_ca_en50221.c",
++      [14347].name    = "dvb_ca_en50221_io_write",
++      [14347].param3  = 1,
++      [14462].file    = "fs/namei.c",
++      [14462].name    = "sys_rmdir",
++      [14462].param1  = 1,
++      [14478].file    = "drivers/char/random.c",
++      [14478].name    = "random_write",
++      [14478].param3  = 1,
++      [1458].file     = "drivers/misc/lkdtm.c",
++      [1458].name     = "direct_entry",
++      [1458].param3   = 1,
++      [145].file      = "lib/xz/xz_dec_test.c",
++      [145].name      = "xz_dec_test_write",
++      [145].param3    = 1,
++      [14646].file    = "fs/compat.c",
++      [14646].name    = "compat_writev",
++      [14646].param3  = 1,
++      [14736].file    = "drivers/usb/misc/usbtest.c",
++      [14736].name    = "unlink_queued",
++      [14736].param3  = 1,
++      [14842].file    = "fs/namei.c",
++      [14842].name    = "sys_renameat",
++      [14842].param2  = 1,
++      [14842].param4  = 1,
++      [15017].file    = "drivers/edac/edac_device.c",
++      [15017].name    = "edac_device_alloc_ctl_info",
++      [15017].param1  = 1,
++      [15087].file    = "fs/bio.c",
++      [15087].name    = "bio_map_kern",
++      [15087].param2  = 1,
++      [15087].param3  = 1,
++      [15112].file    = "drivers/xen/evtchn.c",
++      [15112].name    = "evtchn_write",
++      [15112].param3  = 1,
++      [15274].file    = "crypto/shash.c",
++      [15274].name    = "crypto_shash_setkey",
++      [15274].param3  = 1,
++      [15361].file    = "drivers/char/agp/generic.c",
++      [15361].name    = "agp_allocate_memory",
++      [15361].param2  = 1,
++      [15497].file    = "drivers/media/dvb/ddbridge/ddbridge-core.c",
++      [15497].name    = "ts_read",
++      [15497].param3  = 1,
++      [15551].file    = "net/ipv4/netfilter/ipt_CLUSTERIP.c",
++      [15551].name    = "clusterip_proc_write",
++      [15551].param3  = 1,
++      [15701].file    = "drivers/hid/hid-roccat-common.c",
++      [15701].name    = "roccat_common_receive",
++      [15701].param4  = 1,
++      [1572].file     = "net/ceph/pagevec.c",
++      [1572].name     = "ceph_copy_page_vector_to_user",
++      [1572].param4   = 1,
++      [15814].file    = "net/mac80211/debugfs_netdev.c",
++      [15814].name    = "ieee80211_if_write",
++      [15814].param3  = 1,
++      [15883].file    = "security/keys/keyctl.c",
++      [15883].name    = "sys_add_key",
++      [15883].param4  = 1,
++      [15884].file    = "fs/exofs/super.c",
++      [15884].name    = "exofs_read_lookup_dev_table",
++      [15884].param3  = 1,
++      [1603].file     = "fs/debugfs/file.c",
++      [1603].name     = "write_file_bool",
++      [1603].param3   = 1,
++      [16073].file    = "net/sctp/socket.c",
++      [16073].name    = "sctp_setsockopt",
++      [16073].param5  = 1,
++      [16138].file    = "security/selinux/ss/services.c",
++      [16138].name    = "security_context_to_sid_force",
++      [16138].param2  = 1,
++      [16166].file    = "drivers/platform/x86/thinkpad_acpi.c",
++      [16166].name    = "dispatch_proc_write",
++      [16166].param3  = 1,
++      [16229].file    = "drivers/scsi/scsi_transport_iscsi.c",
++      [16229].name    = "iscsi_offload_mesg",
++      [16229].param5  = 1,
++      [16353].file    = "drivers/base/regmap/regmap.c",
++      [16353].name    = "regmap_raw_write",
++      [16353].param4  = 1,
++      [16383].file    = "fs/proc/base.c",
++      [16383].name    = "comm_write",
++      [16383].param3  = 1,
++      [16447].file    = "drivers/hid/usbhid/hiddev.c",
++      [16447].name    = "hiddev_ioctl",
++      [16447].param2  = 1,
++      [16453].file    = "include/linux/slab.h",
++      [16453].name    = "kzalloc",
++      [16453].param1  = 1,
++      [16535].file    = "fs/proc/generic.c",
++      [16535].name    = "proc_file_read",
++      [16535].param3  = 1,
++      [16605].file    = "fs/ecryptfs/miscdev.c",
++      [16605].name    = "ecryptfs_send_miscdev",
++      [16605].param2  = 1,
++      [16606].file    = "drivers/ide/ide-tape.c",
++      [16606].name    = "idetape_chrdev_write",
++      [16606].param3  = 1,
++      [16741].file    = "fs/namei.c",
++      [16741].name    = "sys_unlinkat",
++      [16741].param2  = 1,
++      [16911].file    = "drivers/media/dvb/ttpci/av7110_hw.c",
++      [16911].name    = "LoadBitmap",
++      [16911].param2  = 1,
++      [17075].file    = "sound/isa/gus/gus_dram.c",
++      [17075].name    = "snd_gus_dram_write",
++      [17075].param4  = 1,
++      [17133].file    = "drivers/usb/misc/iowarrior.c",
++      [17133].name    = "iowarrior_read",
++      [17133].param3  = 1,
++      [17139].file    = "fs/ubifs/xattr.c",
++      [17139].name    = "ubifs_setxattr",
++      [17139].param4  = 1,
++      [17185].file    = "net/wireless/scan.c",
++      [17185].name    = "cfg80211_inform_bss",
++      [17185].param8  = 1,
++      [17349].file    = "net/tipc/link.c",
++      [17349].name    = "tipc_link_send_sections_fast",
++      [17349].param4  = 1,
++      [17377].file    = "drivers/usb/class/cdc-wdm.c",
++      [17377].name    = "wdm_write",
++      [17377].param3  = 1,
++      [17459].file    = "drivers/usb/misc/rio500.c",
++      [17459].name    = "write_rio",
++      [17459].param3  = 1,
++      [17460].file    = "fs/nfsd/nfscache.c",
++      [17460].name    = "nfsd_cache_update",
++      [17460].param3  = 1,
++      [17492].file    = "net/dccp/proto.c",
++      [17492].name    = "do_dccp_setsockopt",
++      [17492].param5  = 1,
++      [1754].file     = "sound/core/oss/pcm_oss.c",
++      [1754].name     = "snd_pcm_oss_write",
++      [1754].param3   = 1,
++      [17571].file    = "drivers/ptp/ptp_chardev.c",
++      [17571].name    = "ptp_read",
++      [17571].param4  = 1,
++      [17684].file    = "fs/namei.c",
++      [17684].name    = "sys_mknod",
++      [17684].param1  = 1,
++      [17718].file    = "net/caif/caif_socket.c",
++      [17718].name    = "setsockopt",
++      [17718].param5  = 1,
++      [17875].file    = "fs/namei.c",
++      [17875].name    = "sys_linkat",
++      [17875].param2  = 1,
++      [17875].param4  = 1,
++      [17946].file    = "drivers/net/wireless/libertas/if_spi.c",
++      [17946].name    = "if_spi_host_to_card",
++      [17946].param4  = 1,
++      [1800].file     = "drivers/media/dvb/dvb-core/dmxdev.c",
++      [1800].name     = "dvb_dvr_do_ioctl",
++      [1800].param3   = 1,
++      [18102].file    = "net/netlink/af_netlink.c",
++      [18102].name    = "netlink_change_ngroups",
++      [18102].param2  = 1,
++      [18183].file    = "drivers/tty/tty_buffer.c",
++      [18183].name    = "tty_insert_flip_string_fixed_flag",
++      [18183].param4  = 1,
++      [18224].file    = "drivers/xen/grant-table.c",
++      [18224].name    = "gnttab_map",
++      [18224].param2  = 1,
++      [18232].file    = "fs/nfs/write.c",
++      [18232].name    = "nfs_writedata_alloc",
++      [18232].param1  = 1,
++      [18277].file    = "drivers/char/virtio_console.c",
++      [18277].name    = "port_fops_write",
++      [18277].param3  = 1,
++      [18303].file    = "fs/xattr.c",
++      [18303].name    = "getxattr",
++      [18303].param4  = 1,
++      [18353].file    = "net/rfkill/core.c",
++      [18353].name    = "rfkill_fop_read",
++      [18353].param3  = 1,
++      [18386].file    = "fs/read_write.c",
++      [18386].name    = "vfs_readv",
++      [18386].param3  = 1,
++      [18391].file    = "fs/ocfs2/stack_user.c",
++      [18391].name    = "ocfs2_control_write",
++      [18391].param3  = 1,
++      [183].file      = "crypto/ahash.c",
++      [183].name      = "crypto_ahash_setkey",
++      [183].param3    = 1,
++      [18406].file    = "drivers/media/video/tm6000/tm6000-core.c",
++      [18406].name    = "tm6000_read_write_usb",
++      [18406].param7  = 1,
++      [1845].file     = "drivers/net/wireless/rt2x00/rt2x00debug.c",
++      [1845].name     = "rt2x00debug_write_rf",
++      [1845].param3   = 1,
++      [18465].file    = "drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c",
++      [18465].name    = "cxgb_alloc_mem",
++      [18465].param1  = 1,
++      [1858].file     = "net/ipv6/netfilter/ip6_tables.c",
++      [1858].name     = "do_ip6t_set_ctl",
++      [1858].param4   = 1,
++      [18659].file    = "drivers/media/dvb/dvb-core/dvbdev.c",
++      [18659].name    = "dvb_usercopy",
++      [18659].param2  = 1,
++      [18775].file    = "drivers/net/wireless/ath/ath5k/debug.c",
++      [18775].name    = "write_file_frameerrors",
++      [18775].param3  = 1,
++      [18928].file    = "drivers/staging/speakup/devsynth.c",
++      [18928].name    = "speakup_file_write",
++      [18928].param3  = 1,
++      [18988].file    = "drivers/staging/vme/devices/vme_user.c",
++      [18988].name    = "vme_user_read",
++      [18988].param3  = 1,
++      [19012].file    = "drivers/acpi/event.c",
++      [19012].name    = "acpi_system_read_event",
++      [19012].param3  = 1,
++      [19028].file    = "mm/filemap.c",
++      [19028].name    = "iov_iter_copy_from_user_atomic",
++      [19028].param4  = 1,
++      [19107].file    = "security/smack/smackfs.c",
++      [19107].name    = "smk_write_load_list",
++      [19107].param3  = 1,
++      [19261].file    = "net/netlabel/netlabel_domainhash.c",
++      [19261].name    = "netlbl_domhsh_init",
++      [19261].param1  = 1,
++      [19274].file    = "net/core/pktgen.c",
++      [19274].name    = "pktgen_if_write",
++      [19274].param3  = 1,
++      [19286].file    = "drivers/base/regmap/regmap.c",
++      [19286].name    = "_regmap_raw_write",
++      [19286].param4  = 1,
++      [19288].file    = "net/ipv6/raw.c",
++      [19288].name    = "rawv6_setsockopt",
++      [19288].param5  = 1,
++      [19308].file    = "drivers/char/mem.c",
++      [19308].name    = "read_oldmem",
++      [19308].param3  = 1,
++      [19332].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [19332].name    = "iwl_dbgfs_plcp_delta_write",
++      [19332].param3  = 1,
++      [19349].file    = "drivers/acpi/acpica/utobject.c",
++      [19349].name    = "acpi_ut_create_package_object",
++      [19349].param1  = 1,
++      [19504].file    = "drivers/usb/serial/garmin_gps.c",
++      [19504].name    = "pkt_add",
++      [19504].param3  = 1,
++      [19522].file    = "mm/percpu.c",
++      [19522].name    = "pcpu_mem_zalloc",
++      [19522].param1  = 1,
++      [19548].file    = "drivers/scsi/qla2xxx/qla_init.c",
++      [19548].name    = "qla2x00_get_ctx_sp",
++      [19548].param3  = 1,
++      [19738].file    = "fs/sysfs/file.c",
++      [19738].name    = "sysfs_write_file",
++      [19738].param3  = 1,
++      [19833].file    = "drivers/xen/xenfs/privcmd.c",
++      [19833].name    = "gather_array",
++      [19833].param3  = 1,
++      [19909].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [19909].name    = "lbs_sleepparams_write",
++      [19909].param3  = 1,
++      [19920].file    = "drivers/input/joydev.c",
++      [19920].name    = "joydev_ioctl",
++      [19920].param2  = 1,
++      [19931].file    = "drivers/usb/misc/ftdi-elan.c",
++      [19931].name    = "ftdi_elan_write",
++      [19931].param3  = 1,
++      [19943].file    = "drivers/net/wireless/ath/ath9k/debug.c",
++      [19943].name    = "write_file_regval",
++      [19943].param3  = 1,
++      [19960].file    = "drivers/usb/class/usblp.c",
++      [19960].name    = "usblp_read",
++      [19960].param3  = 1,
++      [20023].file    = "drivers/media/video/gspca/gspca.c",
++      [20023].name    = "dev_read",
++      [20023].param3  = 1,
++      [20113].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [20113].name    = "lbs_rdmac_write",
++      [20113].param3  = 1,
++      [20314].file    = "drivers/gpu/drm/drm_hashtab.c",
++      [20314].name    = "drm_ht_create",
++      [20314].param2  = 1,
++      [20376].file    = "mm/nobootmem.c",
++      [20376].name    = "__alloc_bootmem_nopanic",
++      [20376].param1  = 1,
++      [20606].file    = "fs/nilfs2/mdt.c",
++      [20606].name    = "nilfs_mdt_init",
++      [20606].param3  = 1,
++      [20611].file    = "net/netfilter/x_tables.c",
++      [20611].name    = "xt_alloc_table_info",
++      [20611].param1  = 1,
++      [20713].file    = "drivers/gpu/drm/ttm/ttm_bo_vm.c",
++      [20713].name    = "ttm_bo_io",
++      [20713].param5  = 1,
++      [20730].file    = "drivers/media/video/videobuf2-vmalloc.c",
++      [20730].name    = "vb2_vmalloc_alloc",
++      [20730].param2  = 1,
++      [20801].file    = "drivers/vhost/vhost.c",
++      [20801].name    = "vhost_add_used_n",
++      [20801].param3  = 1,
++      [20835].file    = "drivers/isdn/i4l/isdn_common.c",
++      [20835].name    = "isdn_read",
++      [20835].param3  = 1,
++      [20951].file    = "crypto/rng.c",
++      [20951].name    = "rngapi_reset",
++      [20951].param3  = 1,
++      [21134].file    = "drivers/video/via/viafbdev.c",
++      [21134].name    = "viafb_dfph_proc_write",
++      [21134].param3  = 1,
++      [21193].file    = "net/wireless/sme.c",
++      [21193].name    = "cfg80211_disconnected",
++      [21193].param4  = 1,
++      [21277].file    = "drivers/usb/storage/shuttle_usbat.c",
++      [21277].name    = "usbat_flash_write_data",
++      [21277].param4  = 1,
++      [21312].file    = "lib/ts_kmp.c",
++      [21312].name    = "kmp_init",
++      [21312].param2  = 1,
++      [21335].file    = "net/econet/af_econet.c",
++      [21335].name    = "econet_sendmsg",
++      [21335].param4  = 1,
++      [21397].file    = "net/core/sock.c",
++      [21397].name    = "sock_setsockopt",
++      [21397].param5  = 1,
++      [21406].file    = "fs/libfs.c",
++      [21406].name    = "simple_write_to_buffer",
++      [21406].param2  = 1,
++      [21406].param5  = 1,
++      [21451].file    = "net/netfilter/ipvs/ip_vs_ctl.c",
++      [21451].name    = "do_ip_vs_set_ctl",
++      [21451].param4  = 1,
++      [21459].file    = "security/smack/smackfs.c",
++      [21459].name    = "smk_write_doi",
++      [21459].param3  = 1,
++      [21468].file    = "drivers/char/virtio_console.c",
++      [21468].name    = "port_fops_read",
++      [21468].param3  = 1,
++      [21511].file    = "drivers/input/ff-core.c",
++      [21511].name    = "input_ff_create",
++      [21511].param2  = 1,
++      [21538].file    = "net/bluetooth/l2cap_sock.c",
++      [21538].name    = "l2cap_sock_setsockopt",
++      [21538].param5  = 1,
++      [21608].file    = "drivers/char/tpm/tpm.c",
++      [21608].name    = "tpm_write",
++      [21608].param3  = 1,
++      [2160].file     = "drivers/net/wireless/ray_cs.c",
++      [2160].name     = "int_proc_write",
++      [2160].param3   = 1,
++      [21632].file    = "fs/afs/cell.c",
++      [21632].name    = "afs_cell_create",
++      [21632].param2  = 1,
++      [21679].file    = "drivers/net/wireless/ath/carl9170/debug.c",
++      [21679].name    = "carl9170_debugfs_write",
++      [21679].param3  = 1,
++      [21712].file    = "net/rxrpc/ar-output.c",
++      [21712].name    = "rxrpc_send_data",
++      [21712].param5  = 1,
++      [2180].file     = "drivers/char/ppdev.c",
++      [2180].name     = "pp_write",
++      [2180].param3   = 1,
++      [21946].file    = "fs/nfs/idmap.c",
++      [21946].name    = "nfs_map_name_to_uid",
++      [21946].param3  = 1,
++      [22085].file    = "drivers/staging/sep/sep_driver.c",
++      [22085].name    = "sep_lock_user_pages",
++      [22085].param2  = 1,
++      [22085].param3  = 1,
++      [22187].file    = "fs/namei.c",
++      [22187].name    = "user_path_at_empty",
++      [22187].param2  = 1,
++      [22190].file    = "drivers/char/tpm/tpm.c",
++      [22190].name    = "tpm_read",
++      [22190].param3  = 1,
++      [22204].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [22204].name    = "iwl_dbgfs_echo_test_write",
++      [22204].param3  = 1,
++      [22291].file    = "net/core/pktgen.c",
++      [22291].name    = "pgctrl_write",
++      [22291].param3  = 1,
++      [22439].file    = "fs/afs/rxrpc.c",
++      [22439].name    = "afs_alloc_flat_call",
++      [22439].param2  = 1,
++      [22439].param3  = 1,
++      [2243].file     = "drivers/scsi/scsi_tgt_lib.c",
++      [2243].name     = "scsi_tgt_kspace_exec",
++      [2243].param8   = 1,
++      [22546].file    = "drivers/char/pcmcia/cm4040_cs.c",
++      [22546].name    = "cm4040_read",
++      [22546].param3  = 1,
++      [22742].file    = "drivers/tty/tty_buffer.c",
++      [22742].name    = "tty_insert_flip_string_flags",
++      [22742].param4  = 1,
++      [22772].file    = "drivers/target/iscsi/iscsi_target_erl1.c",
++      [22772].name    = "iscsit_dump_data_payload",
++      [22772].param2  = 1,
++      [2286].file     = "drivers/scsi/mvumi.c",
++      [2286].name     = "mvumi_alloc_mem_resource",
++      [2286].param3   = 1,
++      [22904].file    = "security/selinux/ss/services.c",
++      [22904].name    = "security_context_to_sid_default",
++      [22904].param2  = 1,
++      [22932].file    = "fs/compat.c",
++      [22932].name    = "compat_sys_writev",
++      [22932].param3  = 1,
++      [2302].file     = "drivers/media/video/stk-webcam.c",
++      [2302].name     = "v4l_stk_read",
++      [2302].param3   = 1,
++      [23037].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [23037].name    = "iwl_dbgfs_wd_timeout_write",
++      [23037].param3  = 1,
++      [2307].file     = "drivers/pcmcia/cistpl.c",
++      [2307].name     = "pcmcia_replace_cis",
++      [2307].param3   = 1,
++      [23093].file    = "drivers/scsi/st.c",
++      [23093].name    = "st_read",
++      [23093].param3  = 1,
++      [23117].file    = "drivers/media/dvb/ttpci/av7110_av.c",
++      [23117].name    = "dvb_audio_write",
++      [23117].param3  = 1,
++      [2324].file     = "net/ieee802154/wpan-class.c",
++      [2324].name     = "wpan_phy_alloc",
++      [2324].param1   = 1,
++      [23535].file    = "ipc/sem.c",
++      [23535].name    = "sys_semtimedop",
++      [23535].param3  = 1,
++      [2357].file     = "drivers/usb/serial/garmin_gps.c",
++      [2357].name     = "garmin_read_process",
++      [2357].param3   = 1,
++      [23589].file    = "kernel/relay.c",
++      [23589].name    = "subbuf_read_actor",
++      [23589].param3  = 1,
++      [23619].file    = "drivers/tty/tty_buffer.c",
++      [23619].name    = "tty_buffer_request_room",
++      [23619].param2  = 1,
++      [23640].file    = "drivers/usb/host/ehci-dbg.c",
++      [23640].name    = "debug_lpm_write",
++      [23640].param3  = 1,
++      [23684].file    = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [23684].name    = "iwl_legacy_dbgfs_clear_traffic_statistics_write",
++      [23684].param3  = 1,
++      [23848].file    = "crypto/blkcipher.c",
++      [23848].name    = "async_setkey",
++      [23848].param3  = 1,
++      [2386].file     = "drivers/acpi/acpica/exnames.c",
++      [2386].name     = "acpi_ex_allocate_name_string",
++      [2386].param2   = 1,
++      [23883].file    = "drivers/net/wireless/iwlwifi/iwl-trans-pcie.c",
++      [23883].name    = "iwl_dbgfs_interrupt_write",
++      [23883].param3  = 1,
++      [23999].file    = "sound/pci/rme9652/hdsp.c",
++      [23999].name    = "snd_hdsp_capture_copy",
++      [23999].param5  = 1,
++      [24072].file    = "drivers/staging/pohmelfs/inode.c",
++      [24072].name    = "pohmelfs_send_readpages",
++      [24072].param3  = 1,
++      [24233].file    = "drivers/pci/pcie/aer/aer_inject.c",
++      [24233].name    = "aer_inject_write",
++      [24233].param3  = 1,
++      [24263].file    = "kernel/cgroup.c",
++      [24263].name    = "cgroup_file_write",
++      [24263].param3  = 1,
++      [24313].file    = "drivers/staging/frontier/tranzport.c",
++      [24313].name    = "usb_tranzport_write",
++      [24313].param3  = 1,
++      [24359].file    = "kernel/power/qos.c",
++      [24359].name    = "pm_qos_power_write",
++      [24359].param3  = 1,
++      [24410].file    = "drivers/net/wireless/ipw2x00/libipw_module.c",
++      [24410].name    = "debug_level_proc_write",
++      [24410].param3  = 1,
++      [24457].file    = "fs/btrfs/backref.c",
++      [24457].name    = "init_data_container",
++      [24457].param1  = 1,
++      [24539].file    = "drivers/gpu/drm/vmwgfx/vmwgfx_kms.c",
++      [24539].name    = "vmw_framebuffer_dmabuf_dirty",
++      [24539].param6  = 1,
++      [24719].file    = "drivers/input/evdev.c",
++      [24719].name    = "bits_to_user",
++      [24719].param2  = 1,
++      [24719].param3  = 1,
++      [2472].file     = "net/ipv4/netfilter/ip_tables.c",
++      [2472].name     = "compat_do_ipt_set_ctl",
++      [2472].param4   = 1,
++      [24755].file    = "drivers/infiniband/hw/qib/qib_diag.c",
++      [24755].name    = "qib_diag_write",
++      [24755].param3  = 1,
++      [24805].file    = "security/keys/user_defined.c",
++      [24805].name    = "user_update",
++      [24805].param3  = 1,
++      [25036].file    = "fs/pipe.c",
++      [25036].name    = "pipe_iov_copy_from_user",
++      [25036].param3  = 1,
++      [25127].file    = "drivers/scsi/device_handler/scsi_dh_alua.c",
++      [25127].name    = "realloc_buffer",
++      [25127].param2  = 1,
++      [25157].file    = "security/keys/request_key_auth.c",
++      [25157].name    = "request_key_auth_new",
++      [25157].param3  = 1,
++      [25158].file    = "drivers/net/ethernet/mellanox/mlx4/en_rx.c",
++      [25158].name    = "mlx4_en_create_rx_ring",
++      [25158].param3  = 1,
++      [25223].file    = "drivers/platform/x86/toshiba_acpi.c",
++      [25223].name    = "fan_proc_write",
++      [25223].param3  = 1,
++      [25267].file    = "fs/configfs/file.c",
++      [25267].name    = "configfs_write_file",
++      [25267].param3  = 1,
++      [25356].file    = "net/core/dev.c",
++      [25356].name    = "alloc_netdev_mqs",
++      [25356].param4  = 1,
++      [25356].param5  = 1,
++      [25495].file    = "drivers/scsi/bfa/bfad_debugfs.c",
++      [25495].name    = "bfad_debugfs_write_regwr",
++      [25495].param3  = 1,
++      [25558].file    = "fs/proc/task_mmu.c",
++      [25558].name    = "clear_refs_write",
++      [25558].param3  = 1,
++      [25692].file    = "drivers/net/wireless/ath/ath6kl/wmi.c",
++      [25692].name    = "ath6kl_wmi_send_action_cmd",
++      [25692].param6  = 1,
++      [2609].file     = "lib/kstrtox.c",
++      [2609].name     = "kstrtoul_from_user",
++      [2609].param2   = 1,
++      [26100].file    = "sound/core/info.c",
++      [26100].name    = "snd_info_entry_write",
++      [26100].param3  = 1,
++      [26215].file    = "drivers/md/dm-table.c",
++      [26215].name    = "dm_table_create",
++      [26215].param3  = 1,
++      [26256].file    = "fs/hpfs/name.c",
++      [26256].name    = "hpfs_translate_name",
++      [26256].param3  = 1,
++      [26404].file    = "drivers/net/wireless/mwifiex/debugfs.c",
++      [26404].name    = "mwifiex_rdeeprom_write",
++      [26404].param3  = 1,
++      [26494].file    = "kernel/signal.c",
++      [26494].name    = "sys_rt_sigpending",
++      [26494].param2  = 1,
++      [26497].file    = "security/keys/keyctl.c",
++      [26497].name    = "sys_keyctl",
++      [26497].param4  = 1,
++      [26533].file    = "drivers/block/aoe/aoechr.c",
++      [26533].name    = "aoechr_write",
++      [26533].param3  = 1,
++      [26560].file    = "crypto/algapi.c",
++      [26560].name    = "crypto_alloc_instance2",
++      [26560].param3  = 1,
++      [26620].file    = "net/bluetooth/mgmt.c",
++      [26620].name    = "mgmt_control",
++      [26620].param3  = 1,
++      [26701].file    = "drivers/mtd/chips/cfi_util.c",
++      [26701].name    = "cfi_read_pri",
++      [26701].param3  = 1,
++      [26757].file    = "fs/xattr.c",
++      [26757].name    = "sys_fgetxattr",
++      [26757].param4  = 1,
++      [2678].file     = "drivers/platform/x86/asus_acpi.c",
++      [2678].name     = "disp_proc_write",
++      [2678].param3   = 1,
++      [26834].file    = "drivers/gpu/drm/drm_drv.c",
++      [26834].name    = "drm_ioctl",
++      [26834].param2  = 1,
++      [26843].file    = "drivers/firewire/core-cdev.c",
++      [26843].name    = "fw_device_op_compat_ioctl",
++      [26843].param2  = 1,
++      [26845].file    = "drivers/scsi/qla2xxx/qla_bsg.c",
++      [26845].name    = "qla2x00_get_ctx_bsg_sp",
++      [26845].param3  = 1,
++      [26962].file    = "drivers/usb/class/usbtmc.c",
++      [26962].name    = "usbtmc_write",
++      [26962].param3  = 1,
++      [26966].file    = "drivers/media/dvb/ddbridge/ddbridge-core.c",
++      [26966].name    = "ts_write",
++      [26966].param3  = 1,
++      [27004].file    = "drivers/misc/hpilo.c",
++      [27004].name    = "ilo_write",
++      [27004].param3  = 1,
++      [27025].file    = "fs/ntfs/file.c",
++      [27025].name    = "__ntfs_copy_from_user_iovec_inatomic",
++      [27025].param3  = 1,
++      [27025].param4  = 1,
++      [27061].file    = "drivers/firewire/core-cdev.c",
++      [27061].name    = "iso_callback",
++      [27061].param3  = 1,
++      [2711].file     = "drivers/media/dvb/dvb-core/dvb_ringbuffer.c",
++      [2711].name     = "dvb_ringbuffer_read_user",
++      [2711].param3   = 1,
++      [27129].file    = "fs/lockd/mon.c",
++      [27129].name    = "nsm_get_handle",
++      [27129].param4  = 1,
++      [27142].file    = "fs/proc/kcore.c",
++      [27142].name    = "read_kcore",
++      [27142].param3  = 1,
++      [27164].file    = "include/drm/drm_mem_util.h",
++      [27164].name    = "drm_calloc_large",
++      [27164].param1  = 1,
++      [2722].file     = "drivers/gpu/drm/ttm/ttm_page_alloc.c",
++      [2722].name     = "ttm_alloc_new_pages",
++      [2722].param5   = 1,
++      [27232].file    = "security/apparmor/lib.c",
++      [27232].name    = "kvmalloc",
++      [27232].param1  = 1,
++      [27275].file    = "drivers/scsi/cxgbi/libcxgbi.c",
++      [27275].name    = "cxgbi_ddp_reserve",
++      [27275].param4  = 1,
++      [27280].file    = "drivers/net/ethernet/mellanox/mlx4/en_tx.c",
++      [27280].name    = "mlx4_en_create_tx_ring",
++      [27280].param4  = 1,
++      [27290].file    = "security/selinux/ss/services.c",
++      [27290].name    = "security_context_to_sid_core",
++      [27290].param2  = 1,
++      [27302].file    = "fs/proc/base.c",
++      [27302].name    = "proc_loginuid_write",
++      [27302].param3  = 1,
++      [27472].file    = "security/selinux/selinuxfs.c",
++      [27472].name    = "sel_write_load",
++      [27472].param3  = 1,
++      [27491].file    = "fs/proc/base.c",
++      [27491].name    = "proc_pid_attr_write",
++      [27491].param3  = 1,
++      [27568].file    = "drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c",
++      [27568].name    = "t4_alloc_mem",
++      [27568].param1  = 1,
++      [27582].file    = "drivers/platform/x86/asus_acpi.c",
++      [27582].name    = "ledd_proc_write",
++      [27582].param3  = 1,
++      [27695].file    = "fs/namei.c",
++      [27695].name    = "sys_link",
++      [27695].param1  = 1,
++      [27695].param2  = 1,
++      [27697].file    = "drivers/staging/mei/iorw.c",
++      [27697].name    = "amthi_read",
++      [27697].param4  = 1,
++      [27927].file    = "drivers/tty/tty_io.c",
++      [27927].name    = "redirected_tty_write",
++      [27927].param3  = 1,
++      [28040].file    = "kernel/kfifo.c",
++      [28040].name    = "__kfifo_alloc",
++      [28040].param2  = 1,
++      [28040].param3  = 1,
++      [28092].file    = "fs/select.c",
++      [28092].name    = "do_sys_poll",
++      [28092].param2  = 1,
++      [28170].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [28170].name    = "iwl_dbgfs_ucode_tracing_write",
++      [28170].param3  = 1,
++      [28247].file    = "net/sctp/tsnmap.c",
++      [28247].name    = "sctp_tsnmap_init",
++      [28247].param2  = 1,
++      [28265].file    = "fs/notify/fanotify/fanotify_user.c",
++      [28265].name    = "fanotify_write",
++      [28265].param3  = 1,
++      [28316].file    = "drivers/input/joydev.c",
++      [28316].name    = "joydev_ioctl_common",
++      [28316].param2  = 1,
++      [28360].file    = "drivers/hid/usbhid/hiddev.c",
++      [28360].name    = "hiddev_compat_ioctl",
++      [28360].param2  = 1,
++      [28407].file    = "drivers/net/wireless/rt2x00/rt2x00debug.c",
++      [28407].name    = "rt2x00debug_write_csr",
++      [28407].param3  = 1,
++      [28462].file    = "net/rfkill/core.c",
++      [28462].name    = "rfkill_fop_write",
++      [28462].param3  = 1,
++      [28635].file    = "drivers/gpu/drm/drm_sman.c",
++      [28635].name    = "drm_sman_init",
++      [28635].param2  = 1,
++      [28655].file    = "drivers/infiniband/hw/mthca/mthca_allocator.c",
++      [28655].name    = "mthca_alloc_init",
++      [28655].param2  = 1,
++      [28688].file    = "mm/mempolicy.c",
++      [28688].name    = "compat_sys_get_mempolicy",
++      [28688].param3  = 1,
++      [28783].file    = "drivers/gpu/drm/i915/i915_debugfs.c",
++      [28783].name    = "i915_cache_sharing_write",
++      [28783].param3  = 1,
++      [28787].file    = "drivers/media/video/videobuf2-core.c",
++      [28787].name    = "vb2_write",
++      [28787].param3  = 1,
++      [28879].file    = "drivers/base/map.c",
++      [28879].name    = "kobj_map",
++      [28879].param2  = 1,
++      [28879].param3  = 1,
++      [28889].file    = "drivers/char/pcmcia/cm4040_cs.c",
++      [28889].name    = "cm4040_write",
++      [28889].param3  = 1,
++      [29073].file    = "drivers/gpu/drm/vmwgfx/vmwgfx_kms.c",
++      [29073].name    = "vmw_kms_readback",
++      [29073].param6  = 1,
++      [29085].file    = "security/apparmor/apparmorfs.c",
++      [29085].name    = "profile_load",
++      [29085].param3  = 1,
++      [29092].file    = "lib/lru_cache.c",
++      [29092].name    = "lc_create",
++      [29092].param3  = 1,
++      [29189].file    = "drivers/gpu/drm/ttm/ttm_page_alloc.c",
++      [29189].name    = "ttm_put_pages",
++      [29189].param2  = 1,
++      [29257].file    = "drivers/vhost/vhost.c",
++      [29257].name    = "vhost_add_used_and_signal_n",
++      [29257].param4  = 1,
++      [29366].file    = "drivers/char/pcmcia/cm4000_cs.c",
++      [29366].name    = "cmm_read",
++      [29366].param3  = 1,
++      [29405].file    = "drivers/media/dvb/dvb-usb/dw2102.c",
++      [29405].name    = "dw210x_op_rw",
++      [29405].param6  = 1,
++      [29437].file    = "drivers/net/wireless/iwlegacy/iwl-4965-rs.c",
++      [29437].name    = "iwl4965_rs_sta_dbgfs_scale_table_write",
++      [29437].param3  = 1,
++      [29465].file    = "drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c",
++      [29465].name    = "mem_read",
++      [29465].param3  = 1,
++      [29714].file    = "drivers/scsi/cxgbi/libcxgbi.c",
++      [29714].name    = "cxgbi_device_register",
++      [29714].param1  = 1,
++      [29714].param2  = 1,
++      [29859].file    = "net/rds/page.c",
++      [29859].name    = "rds_page_copy_user",
++      [29859].param4  = 1,
++      [29875].file    = "sound/isa/gus/gus_pcm.c",
++      [29875].name    = "snd_gf1_pcm_playback_copy",
++      [29875].param5  = 1,
++      [29905].file    = "mm/nobootmem.c",
++      [29905].name    = "___alloc_bootmem",
++      [29905].param1  = 1,
++      [2995].file     = "mm/page_alloc.c",
++      [2995].name     = "alloc_large_system_hash",
++      [2995].param2   = 1,
++      [30242].file    = "fs/cifs/cifssmb.c",
++      [30242].name    = "cifs_readdata_alloc",
++      [30242].param1  = 1,
++      [30341].file    = "drivers/infiniband/hw/qib/qib_verbs.c",
++      [30341].name    = "qib_verbs_send",
++      [30341].param3  = 1,
++      [30341].param5  = 1,
++      [30438].file    = "mm/filemap_xip.c",
++      [30438].name    = "xip_file_read",
++      [30438].param3  = 1,
++      [30449].file    = "drivers/telephony/ixj.c",
++      [30449].name    = "ixj_read",
++      [30449].param3  = 1,
++      [30489].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [30489].name    = "iwl_dbgfs_rx_handlers_write",
++      [30489].param3  = 1,
++      [30693].file    = "fs/namei.c",
++      [30693].name    = "sys_rename",
++      [30693].param1  = 1,
++      [30693].param2  = 1,
++      [307].file      = "drivers/base/regmap/regmap-debugfs.c",
++      [307].name      = "regmap_map_read_file",
++      [307].param3    = 1,
++      [30970].file    = "drivers/usb/misc/ldusb.c",
++      [30970].name    = "ld_usb_read",
++      [30970].param3  = 1,
++      [31155].file    = "drivers/staging/frontier/alphatrack.c",
++      [31155].name    = "usb_alphatrack_write",
++      [31155].param3  = 1,
++      [31207].file    = "drivers/platform/x86/asus_acpi.c",
++      [31207].name    = "parse_arg",
++      [31207].param2  = 1,
++      [31348].file    = "kernel/sched.c",
++      [31348].name    = "sys_sched_getaffinity",
++      [31348].param2  = 1,
++      [31465].file    = "net/rds/message.c",
++      [31465].name    = "rds_message_map_pages",
++      [31465].param2  = 1,
++      [31492].file    = "drivers/hid/hidraw.c",
++      [31492].name    = "hidraw_read",
++      [31492].param3  = 1,
++      [31649].file    = "fs/ecryptfs/crypto.c",
++      [31649].name    = "ecryptfs_decode_and_decrypt_filename",
++      [31649].param5  = 1,
++      [3170].file     = "security/integrity/ima/ima_fs.c",
++      [3170].name     = "ima_write_policy",
++      [3170].param3   = 1,
++      [31730].file    = "net/dccp/proto.c",
++      [31730].name    = "dccp_setsockopt",
++      [31730].param5  = 1,
++      [31782].file    = "drivers/misc/pti.c",
++      [31782].name    = "pti_char_write",
++      [31782].param3  = 1,
++      [31789].file    = "fs/file.c",
++      [31789].name    = "alloc_fdmem",
++      [31789].param1  = 1,
++      [31957].file    = "fs/afs/proc.c",
++      [31957].name    = "afs_proc_cells_write",
++      [31957].param3  = 1,
++      [32025].file    = "drivers/nfc/pn544.c",
++      [32025].name    = "pn544_write",
++      [32025].param3  = 1,
++      [32182].file    = "net/sunrpc/cache.c",
++      [32182].name    = "cache_write",
++      [32182].param3  = 1,
++      [32326].file    = "drivers/tty/n_r3964.c",
++      [32326].name    = "r3964_write",
++      [32326].param4  = 1,
++      [32402].file    = "net/ceph/pagevec.c",
++      [32402].name    = "ceph_copy_user_to_page_vector",
++      [32402].param4  = 1,
++      [3241].file     = "drivers/usb/wusbcore/crypto.c",
++      [3241].name     = "wusb_prf",
++      [3241].param7   = 1,
++      [32459].file    = "drivers/media/radio/radio-wl1273.c",
++      [32459].name    = "wl1273_fm_fops_write",
++      [32459].param3  = 1,
++      [32560].file    = "drivers/input/input-mt.c",
++      [32560].name    = "input_mt_init_slots",
++      [32560].param2  = 1,
++      [32574].file    = "mm/mempolicy.c",
++      [32574].name    = "sys_get_mempolicy",
++      [32574].param3  = 1,
++      [32608].file    = "security/selinux/selinuxfs.c",
++      [32608].name    = "sel_write_checkreqprot",
++      [32608].param3  = 1,
++      [32950].file    = "fs/reiserfs/resize.c",
++      [32950].name    = "reiserfs_resize",
++      [32950].param2  = 1,
++      [33010].file    = "drivers/media/dvb/dvb-core/dvb_ringbuffer.c",
++      [33010].name    = "dvb_ringbuffer_pkt_read_user",
++      [33010].param5  = 1,
++      [33268].file    = "mm/maccess.c",
++      [33268].name    = "__probe_kernel_write",
++      [33268].param3  = 1,
++      [33280].file    = "fs/xfs/kmem.c",
++      [33280].name    = "kmem_realloc",
++      [33280].param2  = 1,
++      [33375].file    = "drivers/staging/rtl8712/osdep_service.h",
++      [33375].name    = "_malloc",
++      [33375].param1  = 1,
++      [33637].file    = "net/9p/client.c",
++      [33637].name    = "p9_client_read",
++      [33637].param5  = 1,
++      [33669].file    = "fs/gfs2/glock.c",
++      [33669].name    = "gfs2_glock_nq_m",
++      [33669].param1  = 1,
++      [33810].file    = "net/mac80211/util.c",
++      [33810].name    = "ieee80211_send_probe_req",
++      [33810].param6  = 1,
++      [3384].file     = "drivers/block/paride/pg.c",
++      [3384].name     = "pg_write",
++      [3384].param3   = 1,
++      [34016].file    = "drivers/tty/tty_buffer.c",
++      [34016].name    = "tty_prepare_flip_string_flags",
++      [34016].param4  = 1,
++      [34105].file    = "fs/libfs.c",
++      [34105].name    = "simple_read_from_buffer",
++      [34105].param2  = 1,
++      [34105].param5  = 1,
++      [34120].file    = "drivers/media/video/pvrusb2/pvrusb2-io.c",
++      [34120].name    = "pvr2_stream_buffer_count",
++      [34120].param2  = 1,
++      [34226].file    = "mm/shmem.c",
++      [34226].name    = "shmem_xattr_set",
++      [34226].param4  = 1,
++      [34251].file    = "drivers/staging/cxt1e1/sbecom_inline_linux.h",
++      [34251].name    = "OS_kmalloc",
++      [34251].param1  = 1,
++      [34276].file    = "drivers/media/video/videobuf2-core.c",
++      [34276].name    = "__vb2_perform_fileio",
++      [34276].param3  = 1,
++      [34278].file    = "fs/ubifs/debug.c",
++      [34278].name    = "dfs_global_file_write",
++      [34278].param3  = 1,
++      [34432].file    = "drivers/edac/edac_pci.c",
++      [34432].name    = "edac_pci_alloc_ctl_info",
++      [34432].param1  = 1,
++      [34551].file    = "fs/ocfs2/stack_user.c",
++      [34551].name    = "ocfs2_control_cfu",
++      [34551].param2  = 1,
++      [34666].file    = "fs/cifs/cifs_debug.c",
++      [34666].name    = "cifs_security_flags_proc_write",
++      [34666].param3  = 1,
++      [34672].file    = "drivers/tty/tty_io.c",
++      [34672].name    = "tty_write",
++      [34672].param3  = 1,
++      [34760].file    = "include/acpi/platform/aclinux.h",
++      [34760].name    = "acpi_os_allocate_zeroed",
++      [34760].param1  = 1,
++      [34802].file    = "drivers/scsi/cxgbi/libcxgbi.h",
++      [34802].name    = "cxgbi_alloc_big_mem",
++      [34802].param1  = 1,
++      [34847].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [34847].name    = "iwl_dbgfs_clear_traffic_statistics_write",
++      [34847].param3  = 1,
++      [34863].file    = "drivers/video/fbsysfs.c",
++      [34863].name    = "framebuffer_alloc",
++      [34863].param1  = 1,
++      [34882].file    = "drivers/platform/x86/toshiba_acpi.c",
++      [34882].name    = "video_proc_write",
++      [34882].param3  = 1,
++      [34988].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [34988].name    = "lbs_rdrf_write",
++      [34988].param3  = 1,
++      [35007].file    = "drivers/usb/mon/mon_bin.c",
++      [35007].name    = "mon_bin_read",
++      [35007].param3  = 1,
++      [35050].file    = "fs/ocfs2/dlmfs/dlmfs.c",
++      [35050].name    = "dlmfs_file_write",
++      [35050].param3  = 1,
++      [35119].file    = "fs/xattr.c",
++      [35119].name    = "sys_llistxattr",
++      [35119].param3  = 1,
++      [35129].file    = "mm/nobootmem.c",
++      [35129].name    = "___alloc_bootmem_nopanic",
++      [35129].param1  = 1,
++      [35176].file    = "drivers/usb/misc/ldusb.c",
++      [35176].name    = "ld_usb_write",
++      [35176].param3  = 1,
++      [35234].file    = "net/irda/irnet/irnet_ppp.c",
++      [35234].name    = "irnet_ctrl_write",
++      [35234].param3  = 1,
++      [35256].file    = "sound/core/memory.c",
++      [35256].name    = "copy_from_user_toio",
++      [35256].param3  = 1,
++      [35268].file    = "security/keys/request_key_auth.c",
++      [35268].name    = "request_key_auth_read",
++      [35268].param3  = 1,
++      [3541].file     = "drivers/mtd/ubi/cdev.c",
++      [3541].name     = "vol_cdev_write",
++      [3541].param3   = 1,
++      [35443].file    = "sound/core/pcm_memory.c",
++      [35443].name    = "_snd_pcm_lib_alloc_vmalloc_buffer",
++      [35443].param2  = 1,
++      [35449].file    = "fs/namei.c",
++      [35449].name    = "sys_mkdir",
++      [35449].param1  = 1,
++      [35542].file    = "drivers/tty/ipwireless/hardware.c",
++      [35542].name    = "ipwireless_send_packet",
++      [35542].param4  = 1,
++      [35556].file    = "fs/read_write.c",
++      [35556].name    = "sys_readv",
++      [35556].param3  = 1,
++      [35610].file    = "net/batman-adv/translation-table.c",
++      [35610].name    = "tt_save_orig_buffer",
++      [35610].param4  = 1,
++      [35693].file    = "drivers/staging/mei/main.c",
++      [35693].name    = "mei_read",
++      [35693].param3  = 1,
++      [35729].file    = "include/linux/skbuff.h",
++      [35729].name    = "__dev_alloc_skb",
++      [35729].param1  = 1,
++      [35731].file    = "drivers/usb/class/cdc-wdm.c",
++      [35731].name    = "wdm_read",
++      [35731].param3  = 1,
++      [35796].file    = "drivers/mtd/nand/nand_bch.c",
++      [35796].name    = "nand_bch_init",
++      [35796].param2  = 1,
++      [35796].param3  = 1,
++      [35880].file    = "fs/ecryptfs/crypto.c",
++      [35880].name    = "ecryptfs_encrypt_and_encode_filename",
++      [35880].param6  = 1,
++      [3604].file     = "net/batman-adv/translation-table.c",
++      [3604].name     = "tt_update_orig",
++      [3604].param4   = 1,
++      [36080].file    = "drivers/media/video/v4l2-ioctl.c",
++      [36080].name    = "video_usercopy",
++      [36080].param2  = 1,
++      [36149].file    = "fs/udf/inode.c",
++      [36149].name    = "udf_alloc_i_data",
++      [36149].param2  = 1,
++      [36183].file    = "drivers/tty/vt/vc_screen.c",
++      [36183].name    = "vcs_read",
++      [36183].param3  = 1,
++      [36199].file    = "net/sunrpc/auth_gss/auth_gss.c",
++      [36199].name    = "gss_pipe_downcall",
++      [36199].param3  = 1,
++      [3630].file     = "drivers/video/broadsheetfb.c",
++      [3630].name     = "broadsheetfb_write",
++      [3630].param3   = 1,
++      [3632].file     = "drivers/firewire/core-cdev.c",
++      [3632].name     = "fw_device_op_read",
++      [3632].param3   = 1,
++      [36490].file    = "drivers/net/wireless/ath/ath6kl/cfg80211.c",
++      [36490].name    = "ath6kl_cfg80211_connect_event",
++      [36490].param7  = 1,
++      [36522].file    = "drivers/hid/hidraw.c",
++      [36522].name    = "hidraw_send_report",
++      [36522].param3  = 1,
++      [36560].file    = "net/sunrpc/cache.c",
++      [36560].name    = "write_flush",
++      [36560].param3  = 1,
++      [36633].file    = "drivers/net/wireless/rt2x00/rt2x00debug.c",
++      [36633].name    = "rt2x00debug_read_queue_stats",
++      [36633].param3  = 1,
++      [3665].file     = "drivers/media/video/ivtv/ivtvfb.c",
++      [3665].name     = "ivtvfb_write",
++      [3665].param3   = 1,
++      [36981].file    = "drivers/video/via/viafbdev.c",
++      [36981].name    = "viafb_dfpl_proc_write",
++      [36981].param3  = 1,
++      [37034].file    = "fs/cifs/cifssmb.c",
++      [37034].name    = "cifs_writedata_alloc",
++      [37034].param1  = 1,
++      [37044].file    = "sound/firewire/packets-buffer.c",
++      [37044].name    = "iso_packets_buffer_init",
++      [37044].param3  = 1,
++      [37115].file    = "drivers/tty/tty_buffer.c",
++      [37115].name    = "tty_prepare_flip_string",
++      [37115].param3  = 1,
++      [37163].file    = "net/core/skbuff.c",
++      [37163].name    = "__netdev_alloc_skb",
++      [37163].param2  = 1,
++      [37204].file    = "drivers/isdn/hardware/eicon/divasi.c",
++      [37204].name    = "um_idi_read",
++      [37204].param3  = 1,
++      [37233].file    = "fs/ocfs2/cluster/tcp.c",
++      [37233].name    = "o2net_send_message_vec",
++      [37233].param4  = 1,
++      [37309].file    = "drivers/mtd/mtdchar.c",
++      [37309].name    = "mtd_do_readoob",
++      [37309].param4  = 1,
++      [37382].file    = "drivers/staging/pohmelfs/inode.c",
++      [37382].name    = "pohmelfs_readpages_trans_complete",
++      [37382].param2  = 1,
++      [37384].file    = "drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c",
++      [37384].name    = "vmw_fifo_reserve",
++      [37384].param2  = 1,
++      [37497].file    = "net/mac80211/util.c",
++      [37497].name    = "ieee80211_build_probe_req",
++      [37497].param7  = 1,
++      [37594].file    = "include/linux/poll.h",
++      [37594].name    = "get_fd_set",
++      [37594].param1  = 1,
++      [37611].file    = "drivers/xen/xenbus/xenbus_xs.c",
++      [37611].name    = "split",
++      [37611].param2  = 1,
++      [37661].file    = "mm/filemap.c",
++      [37661].name    = "file_read_actor",
++      [37661].param4  = 1,
++      [37872].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [37872].name    = "iwl_dbgfs_protection_mode_write",
++      [37872].param3  = 1,
++      [37976].file    = "drivers/platform/x86/asus_acpi.c",
++      [37976].name    = "bluetooth_proc_write",
++      [37976].param3  = 1,
++      [3797].file     = "sound/pci/asihpi/hpicmn.c",
++      [3797].name     = "hpi_alloc_control_cache",
++      [3797].param1   = 1,
++      [3801].file     = "drivers/block/paride/pt.c",
++      [3801].name     = "pt_write",
++      [3801].param3   = 1,
++      [38057].file    = "fs/coda/psdev.c",
++      [38057].name    = "coda_psdev_write",
++      [38057].param3  = 1,
++      [38186].file    = "kernel/signal.c",
++      [38186].name    = "do_sigpending",
++      [38186].param2  = 1,
++      [38401].file    = "drivers/xen/xenfs/xenbus.c",
++      [38401].name    = "queue_reply",
++      [38401].param3  = 1,
++      [3841].file     = "drivers/platform/x86/asus_acpi.c",
++      [3841].name     = "write_led",
++      [3841].param2   = 1,
++      [38532].file    = "fs/afs/cell.c",
++      [38532].name    = "afs_cell_lookup",
++      [38532].param2  = 1,
++      [38576].file    = "drivers/i2c/i2c-dev.c",
++      [38576].name    = "i2cdev_read",
++      [38576].param3  = 1,
++      [38747].file    = "fs/xattr.c",
++      [38747].name    = "sys_lgetxattr",
++      [38747].param4  = 1,
++      [38972].file    = "security/smack/smackfs.c",
++      [38972].name    = "smk_write_logging",
++      [38972].param3  = 1,
++      [39001].file    = "net/xfrm/xfrm_hash.c",
++      [39001].name    = "xfrm_hash_alloc",
++      [39001].param1  = 1,
++      [39044].file    = "lib/kstrtox.c",
++      [39044].name    = "kstrtos16_from_user",
++      [39044].param2  = 1,
++      [39052].file    = "drivers/input/evdev.c",
++      [39052].name    = "evdev_ioctl",
++      [39052].param2  = 1,
++      [39154].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [39154].name    = "iwl_dbgfs_clear_ucode_statistics_write",
++      [39154].param3  = 1,
++      [39155].file    = "drivers/xen/grant-table.c",
++      [39155].name    = "get_free_entries",
++      [39155].param1  = 1,
++      [39254].file    = "drivers/char/pcmcia/cm4000_cs.c",
++      [39254].name    = "cmm_write",
++      [39254].param3  = 1,
++      [39415].file    = "fs/pstore/inode.c",
++      [39415].name    = "pstore_mkfile",
++      [39415].param5  = 1,
++      [39417].file    = "drivers/block/DAC960.c",
++      [39417].name    = "dac960_user_command_proc_write",
++      [39417].param3  = 1,
++      [39479].file    = "drivers/ide/ide-tape.c",
++      [39479].name    = "idetape_chrdev_read",
++      [39479].param3  = 1,
++      [39573].file    = "drivers/hid/hid-picolcd.c",
++      [39573].name    = "picolcd_debug_reset_write",
++      [39573].param3  = 1,
++      [39583].file    = "drivers/net/ethernet/broadcom/cnic.c",
++      [39583].name    = "cnic_init_id_tbl",
++      [39583].param2  = 1,
++      [39606].file    = "drivers/bluetooth/hci_vhci.c",
++      [39606].name    = "vhci_write",
++      [39606].param3  = 1,
++      [39638].file    = "security/selinux/selinuxfs.c",
++      [39638].name    = "sel_write_avc_cache_threshold",
++      [39638].param3  = 1,
++      [39645].file    = "drivers/media/dvb/dvb-core/dvbdev.c",
++      [39645].name    = "dvb_generic_ioctl",
++      [39645].param2  = 1,
++      [39741].file    = "drivers/video/via/viafbdev.c",
++      [39741].name    = "viafb_iga2_odev_proc_write",
++      [39741].param3  = 1,
++      [39888].file    = "net/core/skbuff.c",
++      [39888].name    = "__alloc_skb",
++      [39888].param1  = 1,
++      [40043].file    = "drivers/media/video/v4l2-ioctl.c",
++      [40043].name    = "video_ioctl2",
++      [40043].param2  = 1,
++      [40049].file    = "drivers/bluetooth/btmrvl_debugfs.c",
++      [40049].name    = "btmrvl_psmode_write",
++      [40049].param3  = 1,
++      [40075].file    = "drivers/media/video/c-qcam.c",
++      [40075].name    = "qc_capture",
++      [40075].param3  = 1,
++      [40163].file    = "fs/ncpfs/file.c",
++      [40163].name    = "ncp_file_write",
++      [40163].param3  = 1,
++      [40240].file    = "drivers/char/nvram.c",
++      [40240].name    = "nvram_write",
++      [40240].param3  = 1,
++      [40256].file    = "drivers/tty/vt/vc_screen.c",
++      [40256].name    = "vcs_write",
++      [40256].param3  = 1,
++      [40302].file    = "sound/isa/gus/gus_dram.c",
++      [40302].name    = "snd_gus_dram_poke",
++      [40302].param4  = 1,
++      [40355].file    = "drivers/staging/mei/main.c",
++      [40355].name    = "mei_write",
++      [40355].param3  = 1,
++      [40373].file    = "fs/cifs/cifs_spnego.c",
++      [40373].name    = "cifs_spnego_key_instantiate",
++      [40373].param3  = 1,
++      [40412].file    = "fs/namei.c",
++      [40412].name    = "user_path_at",
++      [40412].param2  = 1,
++      [40578].file    = "sound/soc/soc-core.c",
++      [40578].name    = "codec_reg_write_file",
++      [40578].param3  = 1,
++      [40678].file    = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [40678].name    = "iwl_legacy_dbgfs_traffic_log_write",
++      [40678].param3  = 1,
++      [40713].file    = "net/mac80211/debugfs.c",
++      [40713].name    = "noack_write",
++      [40713].param3  = 1,
++      [40754].file    = "fs/btrfs/delayed-inode.c",
++      [40754].name    = "btrfs_alloc_delayed_item",
++      [40754].param1  = 1,
++      [40786].file    = "net/ipv4/netfilter/nf_nat_snmp_basic.c",
++      [40786].name    = "asn1_octets_decode",
++      [40786].param2  = 1,
++      [40901].file    = "drivers/block/drbd/drbd_bitmap.c",
++      [40901].name    = "drbd_bm_resize",
++      [40901].param2  = 1,
++      [40952].file    = "drivers/misc/sgi-xp/xpc_partition.c",
++      [40952].name    = "xpc_kmalloc_cacheline_aligned",
++      [40952].param1  = 1,
++      [41000].file    = "sound/core/pcm_native.c",
++      [41000].name    = "snd_pcm_aio_read",
++      [41000].param3  = 1,
++      [41003].file    = "fs/namei.c",
++      [41003].name    = "user_path_parent",
++      [41003].param2  = 1,
++      [41005].file    = "net/bridge/netfilter/ebtables.c",
++      [41005].name    = "copy_counters_to_user",
++      [41005].param5  = 1,
++      [41090].file    = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [41090].name    = "iwl_legacy_dbgfs_sram_write",
++      [41090].param3  = 1,
++      [41122].file    = "fs/binfmt_misc.c",
++      [41122].name    = "bm_status_write",
++      [41122].param3  = 1,
++      [41230].file    = "drivers/usb/storage/datafab.c",
++      [41230].name    = "datafab_read_data",
++      [41230].param4  = 1,
++      [41249].file    = "drivers/media/video/zr364xx.c",
++      [41249].name    = "send_control_msg",
++      [41249].param6  = 1,
++      [41302].file    = "net/dns_resolver/dns_query.c",
++      [41302].name    = "dns_query",
++      [41302].param3  = 1,
++      [41418].file    = "fs/libfs.c",
++      [41418].name    = "simple_attr_write",
++      [41418].param3  = 1,
++      [4155].file     = "kernel/kexec.c",
++      [4155].name     = "do_kimage_alloc",
++      [4155].param3   = 1,
++      [41592].file    = "net/sctp/ssnmap.c",
++      [41592].name    = "sctp_ssnmap_new",
++      [41592].param1  = 1,
++      [41592].param2  = 1,
++      [41616].file    = "net/core/filter.c",
++      [41616].name    = "sk_chk_filter",
++      [41616].param2  = 1,
++      [41676].file    = "fs/compat.c",
++      [41676].name    = "compat_sys_preadv",
++      [41676].param3  = 1,
++      [41727].file    = "drivers/media/video/meye.c",
++      [41727].name    = "rvmalloc",
++      [41727].param1  = 1,
++      [41884].file    = "sound/core/oss/pcm_plugin.c",
++      [41884].name    = "snd_pcm_plug_alloc",
++      [41884].param2  = 1,
++      [41924].file    = "security/keys/keyctl.c",
++      [41924].name    = "keyctl_get_security",
++      [41924].param3  = 1,
++      [4202].file     = "drivers/edac/edac_mc.c",
++      [4202].name     = "edac_mc_alloc",
++      [4202].param1   = 1,
++      [42143].file    = "drivers/media/video/c-qcam.c",
++      [42143].name    = "qcam_read",
++      [42143].param3  = 1,
++      [42206].file    = "fs/quota/quota_tree.c",
++      [42206].name    = "getdqbuf",
++      [42206].param1  = 1,
++      [42270].file    = "net/wireless/scan.c",
++      [42270].name    = "cfg80211_inform_bss_frame",
++      [42270].param4  = 1,
++      [4233].file     = "fs/select.c",
++      [4233].name     = "sys_poll",
++      [4233].param2   = 1,
++      [42378].file    = "drivers/net/wireless/ath/ath6kl/debug.c",
++      [42378].name    = "ath6kl_regread_write",
++      [42378].param3  = 1,
++      [42420].file    = "drivers/net/wireless/hostap/hostap_ioctl.c",
++      [42420].name    = "prism2_set_genericelement",
++      [42420].param3  = 1,
++      [42466].file    = "drivers/scsi/lpfc/lpfc_debugfs.c",
++      [42466].name    = "lpfc_idiag_cmd_get",
++      [42466].param2  = 1,
++      [42472].file    = "fs/compat.c",
++      [42472].name    = "compat_readv",
++      [42472].param3  = 1,
++      [42483].file    = "drivers/media/video/videobuf-dma-sg.c",
++      [42483].name    = "videobuf_dma_init_user_locked",
++      [42483].param3  = 1,
++      [42483].param4  = 1,
++      [42562].file    = "kernel/kfifo.c",
++      [42562].name    = "__kfifo_to_user_r",
++      [42562].param3  = 1,
++      [42666].file    = "drivers/pcmcia/cistpl.c",
++      [42666].name    = "read_cis_cache",
++      [42666].param4  = 1,
++      [42882].file    = "security/keys/user_defined.c",
++      [42882].name    = "user_instantiate",
++      [42882].param3  = 1,
++      [42964].file    = "drivers/video/fb_sys_fops.c",
++      [42964].name    = "fb_sys_read",
++      [42964].param3  = 1,
++      [43023].file    = "drivers/usb/misc/usblcd.c",
++      [43023].name    = "lcd_write",
++      [43023].param3  = 1,
++      [4324].file     = "drivers/video/fbmem.c",
++      [4324].name     = "fb_read",
++      [4324].param3   = 1,
++      [43380].file    = "drivers/scsi/bfa/bfad_debugfs.c",
++      [43380].name    = "bfad_debugfs_write_regrd",
++      [43380].param3  = 1,
++      [43393].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [43393].name    = "iwl_dbgfs_sram_write",
++      [43393].param3  = 1,
++      [4344].file     = "fs/namei.c",
++      [4344].name     = "sys_mkdirat",
++      [4344].param2   = 1,
++      [43510].file    = "kernel/kexec.c",
++      [43510].name    = "compat_sys_kexec_load",
++      [43510].param2  = 1,
++      [43515].file    = "drivers/usb/storage/jumpshot.c",
++      [43515].name    = "jumpshot_read_data",
++      [43515].param4  = 1,
++      [43540].file    = "include/rdma/ib_verbs.h",
++      [43540].name    = "ib_copy_to_udata",
++      [43540].param3  = 1,
++      [4357].file     = "security/tomoyo/securityfs_if.c",
++      [4357].name     = "tomoyo_read_self",
++      [4357].param3   = 1,
++      [43590].file    = "security/smack/smackfs.c",
++      [43590].name    = "smk_write_onlycap",
++      [43590].param3  = 1,
++      [43596].file    = "drivers/usb/core/buffer.c",
++      [43596].name    = "hcd_buffer_alloc",
++      [43596].param2  = 1,
++      [43632].file    = "drivers/media/video/videobuf2-core.c",
++      [43632].name    = "vb2_read",
++      [43632].param3  = 1,
++      [43731].file    = "drivers/hid/hid-picolcd.c",
++      [43731].name    = "picolcd_debug_eeprom_read",
++      [43731].param3  = 1,
++      [43777].file    = "drivers/acpi/acpica/utobject.c",
++      [43777].name    = "acpi_ut_create_buffer_object",
++      [43777].param1  = 1,
++      [43834].file    = "security/apparmor/apparmorfs.c",
++      [43834].name    = "profile_replace",
++      [43834].param3  = 1,
++      [43899].file    = "drivers/media/rc/imon.c",
++      [43899].name    = "vfd_write",
++      [43899].param3  = 1,
++      [43982].file    = "drivers/platform/x86/toshiba_acpi.c",
++      [43982].name    = "keys_proc_write",
++      [43982].param3  = 1,
++      [44039].file    = "drivers/video/via/viafbdev.c",
++      [44039].name    = "odev_update",
++      [44039].param2  = 1,
++      [44050].file    = "fs/nfs/idmap.c",
++      [44050].name    = "nfs_map_group_to_gid",
++      [44050].param3  = 1,
++      [44125].file    = "fs/ext4/super.c",
++      [44125].name    = "ext4_kvmalloc",
++      [44125].param1  = 1,
++      [44180].file    = "drivers/video/via/viafbdev.c",
++      [44180].name    = "viafb_vt1636_proc_write",
++      [44180].param3  = 1,
++      [44290].file    = "drivers/net/usb/dm9601.c",
++      [44290].name    = "dm_read",
++      [44290].param3  = 1,
++      [44298].file    = "drivers/scsi/pmcraid.c",
++      [44298].name    = "pmcraid_copy_sglist",
++      [44298].param3  = 1,
++      [44365].file    = "fs/namei.c",
++      [44365].name    = "do_rmdir",
++      [44365].param2  = 1,
++      [44640].file    = "fs/select.c",
++      [44640].name    = "sys_ppoll",
++      [44640].param2  = 1,
++      [44649].file    = "mm/page_cgroup.c",
++      [44649].name    = "swap_cgroup_swapon",
++      [44649].param2  = 1,
++      [44656].file    = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [44656].name    = "iwl_legacy_dbgfs_wd_timeout_write",
++      [44656].param3  = 1,
++      [4471].file     = "fs/ntfs/malloc.h",
++      [4471].name     = "__ntfs_malloc",
++      [4471].param1   = 1,
++      [44773].file    = "drivers/staging/vme/devices/vme_user.c",
++      [44773].name    = "vme_user_write",
++      [44773].param3  = 1,
++      [44825].file    = "drivers/scsi/osd/osd_initiator.c",
++      [44825].name    = "_osd_realloc_seg",
++      [44825].param3  = 1,
++      [44943].file    = "mm/util.c",
++      [44943].name    = "kmemdup",
++      [44943].param2  = 1,
++      [44990].file    = "drivers/media/video/pvrusb2/pvrusb2-ioread.c",
++      [44990].name    = "pvr2_ioread_set_sync_key",
++      [44990].param3  = 1,
++      [45000].file    = "fs/afs/proc.c",
++      [45000].name    = "afs_proc_rootcell_write",
++      [45000].param3  = 1,
++      [45119].file    = "drivers/usb/misc/yurex.c",
++      [45119].name    = "yurex_write",
++      [45119].param3  = 1,
++      [45169].file    = "drivers/video/metronomefb.c",
++      [45169].name    = "metronomefb_write",
++      [45169].param3  = 1,
++      [45200].file    = "drivers/scsi/scsi_proc.c",
++      [45200].name    = "proc_scsi_write_proc",
++      [45200].param3  = 1,
++      [45217].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [45217].name    = "iwl_dbgfs_debug_level_write",
++      [45217].param3  = 1,
++      [45231].file    = "fs/ecryptfs/crypto.c",
++      [45231].name    = "ecryptfs_copy_filename",
++      [45231].param4  = 1,
++      [45233].file    = "net/rds/info.c",
++      [45233].name    = "rds_info_getsockopt",
++      [45233].param3  = 1,
++      [45244].file    = "drivers/mfd/ab3100-core.c",
++      [45244].name    = "ab3100_get_set_reg",
++      [45244].param3  = 1,
++      [45264].file    = "drivers/net/wireless/ath/ath5k/debug.c",
++      [45264].name    = "write_file_ani",
++      [45264].param3  = 1,
++      [45326].file    = "drivers/mtd/ubi/cdev.c",
++      [45326].name    = "vol_cdev_read",
++      [45326].param3  = 1,
++      [45335].file    = "fs/read_write.c",
++      [45335].name    = "vfs_writev",
++      [45335].param3  = 1,
++      [45421].file    = "drivers/message/fusion/mptctl.c",
++      [45421].name    = "mptctl_do_mpt_command",
++      [45421].param3  = 1,
++      [45534].file    = "drivers/net/wireless/ath/carl9170/cmd.c",
++      [45534].name    = "carl9170_cmd_buf",
++      [45534].param3  = 1,
++      [45576].file    = "net/netfilter/xt_recent.c",
++      [45576].name    = "recent_mt_proc_write",
++      [45576].param3  = 1,
++      [45586].file    = "drivers/net/wireless/rt2x00/rt2x00debug.c",
++      [45586].name    = "rt2x00debug_write_bbp",
++      [45586].param3  = 1,
++      [45629].file    = "lib/bch.c",
++      [45629].name    = "bch_alloc",
++      [45629].param1  = 1,
++      [45633].file    = "drivers/input/evdev.c",
++      [45633].name    = "evdev_do_ioctl",
++      [45633].param2  = 1,
++      [45740].file    = "drivers/net/wireless/ath/ath6kl/debug.c",
++      [45740].name    = "ath6kl_lrssi_roam_write",
++      [45740].param3  = 1,
++      [45747].file    = "net/netlink/af_netlink.c",
++      [45747].name    = "__netlink_change_ngroups",
++      [45747].param2  = 1,
++      [45930].file    = "security/apparmor/apparmorfs.c",
++      [45930].name    = "profile_remove",
++      [45930].param3  = 1,
++      [45954].file    = "drivers/usb/misc/legousbtower.c",
++      [45954].name    = "tower_write",
++      [45954].param3  = 1,
++      [45995].file    = "fs/namei.c",
++      [45995].name    = "sys_mknodat",
++      [45995].param2  = 1,
++      [46072].file    = "drivers/video/arcfb.c",
++      [46072].name    = "arcfb_write",
++      [46072].param3  = 1,
++      [46140].file    = "sound/core/memalloc.c",
++      [46140].name    = "snd_mem_proc_write",
++      [46140].param3  = 1,
++      [4614].file     = "sound/core/pcm_lib.c",
++      [4614].name     = "snd_pcm_lib_write_transfer",
++      [4614].param5   = 1,
++      [4616].file     = "net/sunrpc/cache.c",
++      [4616].name     = "cache_do_downcall",
++      [4616].param3   = 1,
++      [46243].file    = "fs/binfmt_misc.c",
++      [46243].name    = "bm_register_write",
++      [46243].param3  = 1,
++      [46250].file    = "fs/xattr.c",
++      [46250].name    = "sys_getxattr",
++      [46250].param4  = 1,
++      [46343].file    = "fs/compat.c",
++      [46343].name    = "compat_do_readv_writev",
++      [46343].param4  = 1,
++      [4644].file     = "drivers/net/usb/mcs7830.c",
++      [4644].name     = "mcs7830_get_reg",
++      [4644].param3   = 1,
++      [46605].file    = "sound/core/oss/pcm_oss.c",
++      [46605].name    = "snd_pcm_oss_sync1",
++      [46605].param2  = 1,
++      [46630].file    = "net/decnet/af_decnet.c",
++      [46630].name    = "__dn_setsockopt",
++      [46630].param5  = 1,
++      [46655].file    = "drivers/media/video/hdpvr/hdpvr-video.c",
++      [46655].name    = "hdpvr_read",
++      [46655].param3  = 1,
++      [46685].file    = "drivers/gpu/drm/ttm/ttm_bo_vm.c",
++      [46685].name    = "ttm_bo_fbdev_io",
++      [46685].param4  = 1,
++      [46752].file    = "drivers/staging/pohmelfs/dir.c",
++      [46752].name    = "pohmelfs_name_alloc",
++      [46752].param1  = 1,
++      [46881].file    = "drivers/char/lp.c",
++      [46881].name    = "lp_write",
++      [46881].param3  = 1,
++      [47130].file    = "kernel/kfifo.c",
++      [47130].name    = "kfifo_copy_to_user",
++      [47130].param3  = 1,
++      [47265].file    = "drivers/scsi/bnx2fc/bnx2fc_io.c",
++      [47265].name    = "bnx2fc_cmd_mgr_alloc",
++      [47265].param2  = 1,
++      [47265].param3  = 1,
++      [47342].file    = "fs/proc/base.c",
++      [47342].name    = "sched_autogroup_write",
++      [47342].param3  = 1,
++      [47363].file    = "drivers/input/evdev.c",
++      [47363].name    = "evdev_ioctl_handler",
++      [47363].param2  = 1,
++      [47385].file    = "drivers/net/wireless/zd1211rw/zd_usb.c",
++      [47385].name    = "zd_usb_iowrite16v",
++      [47385].param3  = 1,
++      [47463].file    = "fs/xfs/kmem.c",
++      [47463].name    = "kmem_zalloc",
++      [47463].param1  = 1,
++      [47636].file    = "drivers/usb/class/usblp.c",
++      [47636].name    = "usblp_ioctl",
++      [47636].param2  = 1,
++      [47637].file    = "drivers/block/cciss.c",
++      [47637].name    = "cciss_proc_write",
++      [47637].param3  = 1,
++      [47652].file    = "lib/kstrtox.c",
++      [47652].name    = "kstrtoll_from_user",
++      [47652].param2  = 1,
++      [47881].file    = "security/selinux/selinuxfs.c",
++      [47881].name    = "sel_write_disable",
++      [47881].param3  = 1,
++      [48010].file    = "drivers/net/wireless/ath/ath9k/debug.c",
++      [48010].name    = "write_file_rx_chainmask",
++      [48010].param3  = 1,
++      [48155].file    = "net/sctp/sm_make_chunk.c",
++      [48155].name    = "sctp_make_abort_user",
++      [48155].param3  = 1,
++      [48182].file    = "crypto/cryptd.c",
++      [48182].name    = "cryptd_alloc_instance",
++      [48182].param2  = 1,
++      [48248].file    = "security/keys/keyctl.c",
++      [48248].name    = "keyctl_instantiate_key",
++      [48248].param3  = 1,
++      [48461].file    = "drivers/gpu/drm/drm_memory.c",
++      [48461].name    = "agp_remap",
++      [48461].param2  = 1,
++      [48642].file    = "fs/hugetlbfs/inode.c",
++      [48642].name    = "hugetlbfs_read",
++      [48642].param3  = 1,
++      [48720].file    = "drivers/gpu/drm/i915/i915_debugfs.c",
++      [48720].name    = "i915_max_freq_write",
++      [48720].param3  = 1,
++      [48768].file    = "net/irda/irnet/irnet_ppp.c",
++      [48768].name    = "dev_irnet_write",
++      [48768].param3  = 1,
++      [48856].file    = "drivers/acpi/acpica/utalloc.c",
++      [48856].name    = "acpi_ut_initialize_buffer",
++      [48856].param2  = 1,
++      [48941].file    = "drivers/gpu/drm/nouveau/nouveau_vm.c",
++      [48941].name    = "nouveau_vm_new",
++      [48941].param2  = 1,
++      [48941].param3  = 1,
++      [49126].file    = "lib/prio_heap.c",
++      [49126].name    = "heap_init",
++      [49126].param2  = 1,
++      [49143].file    = "sound/core/oss/pcm_oss.c",
++      [49143].name    = "snd_pcm_oss_write2",
++      [49143].param3  = 1,
++      [49216].file    = "fs/read_write.c",
++      [49216].name    = "do_readv_writev",
++      [49216].param4  = 1,
++      [49354].file    = "drivers/media/video/cx18/cx18-fileops.c",
++      [49354].name    = "cx18_v4l2_read",
++      [49354].param3  = 1,
++      [49448].file    = "drivers/isdn/gigaset/common.c",
++      [49448].name    = "gigaset_initdriver",
++      [49448].param2  = 1,
++      [49494].file    = "drivers/virtio/virtio_ring.c",
++      [49494].name    = "vring_new_virtqueue",
++      [49494].param1  = 1,
++      [49507].file    = "fs/namei.c",
++      [49507].name    = "sys_symlink",
++      [49507].param1  = 1,
++      [49604].file    = "crypto/af_alg.c",
++      [49604].name    = "alg_setsockopt",
++      [49604].param5  = 1,
++      [49646].file    = "drivers/tty/vt/vt.c",
++      [49646].name    = "vc_resize",
++      [49646].param2  = 1,
++      [49646].param3  = 1,
++      [49663].file    = "drivers/media/video/uvc/uvc_driver.c",
++      [49663].name    = "uvc_simplify_fraction",
++      [49663].param3  = 1,
++      [49718].file    = "drivers/hid/hid-roccat-common.c",
++      [49718].name    = "roccat_common_send",
++      [49718].param4  = 1,
++      [4972].file     = "drivers/video/fb_sys_fops.c",
++      [4972].name     = "fb_sys_write",
++      [4972].param3   = 1,
++      [49746].file    = "net/ipv4/netfilter/arp_tables.c",
++      [49746].name    = "compat_do_arpt_set_ctl",
++      [49746].param4  = 1,
++      [49780].file    = "net/mac80211/key.c",
++      [49780].name    = "ieee80211_key_alloc",
++      [49780].param3  = 1,
++      [49845].file    = "mm/vmalloc.c",
++      [49845].name    = "__vmalloc_node",
++      [49845].param1  = 1,
++      [49935].file    = "fs/xfs/kmem.c",
++      [49935].name    = "kmem_zalloc_greedy",
++      [49935].param2  = 1,
++      [49935].param3  = 1,
++      [50001].file    = "sound/pci/ctxfi/ctresource.c",
++      [50001].name    = "rsc_mgr_init",
++      [50001].param3  = 1,
++      [50022].file    = "drivers/usb/storage/shuttle_usbat.c",
++      [50022].name    = "usbat_flash_read_data",
++      [50022].param4  = 1,
++      [50096].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [50096].name    = "lbs_rdbbp_write",
++      [50096].param3  = 1,
++      [50102].file    = "drivers/telephony/ixj.c",
++      [50102].name    = "ixj_write",
++      [50102].param3  = 1,
++      [50238].file    = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [50238].name    = "iwl_legacy_dbgfs_clear_ucode_statistics_write",
++      [50238].param3  = 1,
++      [50267].file    = "drivers/net/wireless/rt2x00/rt2x00debug.c",
++      [50267].name    = "rt2x00debug_read_crypto_stats",
++      [50267].param3  = 1,
++      [50398].file    = "fs/proc/base.c",
++      [50398].name    = "mem_write",
++      [50398].param3  = 1,
++      [50518].file    = "drivers/gpu/drm/nouveau/nouveau_gem.c",
++      [50518].name    = "u_memcpya",
++      [50518].param2  = 1,
++      [50518].param3  = 1,
++      [5052].file     = "drivers/char/ppdev.c",
++      [5052].name     = "pp_read",
++      [5052].param3   = 1,
++      [50562].file    = "drivers/media/video/zoran/zoran_procfs.c",
++      [50562].name    = "zoran_write",
++      [50562].param3  = 1,
++      [50653].file    = "net/sunrpc/cache.c",
++      [50653].name    = "cache_write_procfs",
++      [50653].param3  = 1,
++      [50692].file    = "lib/ts_bm.c",
++      [50692].name    = "bm_init",
++      [50692].param2  = 1,
++      [50813].file    = "mm/vmalloc.c",
++      [50813].name    = "__vmalloc_node_flags",
++      [50813].param1  = 1,
++      [5087].file     = "drivers/atm/solos-pci.c",
++      [5087].name     = "console_store",
++      [5087].param4   = 1,
++      [5102].file     = "drivers/usb/misc/usbtest.c",
++      [5102].name     = "usbtest_alloc_urb",
++      [5102].param3   = 1,
++      [5102].param5   = 1,
++      [51052].file    = "drivers/base/firmware_class.c",
++      [51052].name    = "firmware_data_write",
++      [51052].param6  = 1,
++      [51177].file    = "net/sunrpc/xprtrdma/transport.c",
++      [51177].name    = "xprt_rdma_allocate",
++      [51177].param2  = 1,
++      [51182].file    = "drivers/misc/sgi-xp/xpc_main.c",
++      [51182].name    = "xpc_kzalloc_cacheline_aligned",
++      [51182].param1  = 1,
++      [51250].file    = "fs/read_write.c",
++      [51250].name    = "rw_copy_check_uvector",
++      [51250].param3  = 1,
++      [51253].file    = "drivers/net/wireless/rt2x00/rt2x00debug.c",
++      [51253].name    = "rt2x00debug_write_eeprom",
++      [51253].param3  = 1,
++      [51284].file    = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [51284].name    = "iwl_legacy_dbgfs_interrupt_write",
++      [51284].param3  = 1,
++      [51323].file    = "sound/pci/ac97/ac97_pcm.c",
++      [51323].name    = "snd_ac97_pcm_assign",
++      [51323].param2  = 1,
++      [51340].file    = "drivers/usb/class/usblp.c",
++      [51340].name    = "usblp_write",
++      [51340].param3  = 1,
++      [51471].file    = "drivers/block/floppy.c",
++      [51471].name    = "fd_locked_ioctl",
++      [51471].param3  = 1,
++      [5197].file     = "net/core/dev.c",
++      [5197].name     = "dev_set_alias",
++      [5197].param3   = 1,
++      [51998].file    = "drivers/net/macvtap.c",
++      [51998].name    = "macvtap_get_user",
++      [51998].param4  = 1,
++      [5204].file     = "drivers/media/video/usbvision/usbvision-video.c",
++      [5204].name     = "usbvision_v4l2_read",
++      [5204].param3   = 1,
++      [52086].file    = "drivers/usb/image/mdc800.c",
++      [52086].name    = "mdc800_device_read",
++      [52086].param3  = 1,
++      [52172].file    = "drivers/pcmcia/cistpl.c",
++      [52172].name    = "pccard_store_cis",
++      [52172].param6  = 1,
++      [52173].file    = "drivers/misc/ibmasm/ibmasmfs.c",
++      [52173].name    = "remote_settings_file_write",
++      [52173].param3  = 1,
++      [52199].file    = "mm/nobootmem.c",
++      [52199].name    = "__alloc_bootmem",
++      [52199].param1  = 1,
++      [52201].file    = "drivers/video/via/viafbdev.c",
++      [52201].name    = "viafb_dvp0_proc_write",
++      [52201].param3  = 1,
++      [5233].file     = "include/linux/poll.h",
++      [5233].name     = "set_fd_set",
++      [5233].param1   = 1,
++      [52343].file    = "drivers/usb/misc/adutux.c",
++      [52343].name    = "adu_read",
++      [52343].param3  = 1,
++      [52364].file    = "sound/core/pcm_lib.c",
++      [52364].name    = "snd_pcm_lib_readv_transfer",
++      [52364].param5  = 1,
++      [52401].file    = "drivers/staging/rtl8712/rtl871x_ioctl_linux.c",
++      [52401].name    = "r871x_set_wpa_ie",
++      [52401].param3  = 1,
++      [52699].file    = "lib/ts_fsm.c",
++      [52699].name    = "fsm_init",
++      [52699].param2  = 1,
++      [52721].file    = "security/keys/encrypted-keys/encrypted.c",
++      [52721].name    = "encrypted_instantiate",
++      [52721].param3  = 1,
++      [53041].file    = "fs/libfs.c",
++      [53041].name    = "simple_transaction_get",
++      [53041].param3  = 1,
++      [5313].file     = "fs/gfs2/quota.c",
++      [5313].name     = "do_sync",
++      [5313].param1   = 1,
++      [53209].file    = "drivers/usb/host/ehci-sched.c",
++      [53209].name    = "iso_sched_alloc",
++      [53209].param1  = 1,
++      [53302].file    = "drivers/firewire/core-cdev.c",
++      [53302].name    = "dispatch_ioctl",
++      [53302].param2  = 1,
++      [53355].file    = "fs/ceph/dir.c",
++      [53355].name    = "ceph_read_dir",
++      [53355].param3  = 1,
++      [53405].file    = "drivers/media/video/videobuf-core.c",
++      [53405].name    = "__videobuf_copy_to_user",
++      [53405].param4  = 1,
++      [53407].file    = "net/wireless/sme.c",
++      [53407].name    = "cfg80211_connect_result",
++      [53407].param4  = 1,
++      [53407].param6  = 1,
++      [53426].file    = "fs/libfs.c",
++      [53426].name    = "simple_transaction_read",
++      [53426].param3  = 1,
++      [5344].file     = "security/selinux/ss/hashtab.c",
++      [5344].name     = "hashtab_create",
++      [5344].param3   = 1,
++      [53468].file    = "drivers/char/mem.c",
++      [53468].name    = "write_mem",
++      [53468].param3  = 1,
++      [53513].file    = "drivers/mmc/core/mmc_ops.c",
++      [53513].name    = "mmc_send_bus_test",
++      [53513].param4  = 1,
++      [53539].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [53539].name    = "iwl_dbgfs_txfifo_flush_write",
++      [53539].param3  = 1,
++      [53626].file    = "drivers/block/paride/pg.c",
++      [53626].name    = "pg_read",
++      [53626].param3  = 1,
++      [53631].file    = "mm/util.c",
++      [53631].name    = "memdup_user",
++      [53631].param2  = 1,
++      [53680].file    = "lib/kstrtox.c",
++      [53680].name    = "kstrtol_from_user",
++      [53680].param2  = 1,
++      [5389].file     = "drivers/infiniband/core/uverbs_cmd.c",
++      [5389].name     = "ib_uverbs_unmarshall_recv",
++      [5389].param5   = 1,
++      [53901].file    = "net/rds/message.c",
++      [53901].name    = "rds_message_alloc",
++      [53901].param1  = 1,
++      [53904].file    = "fs/namei.c",
++      [53904].name    = "sys_unlink",
++      [53904].param1  = 1,
++      [5410].file     = "kernel/kexec.c",
++      [5410].name     = "sys_kexec_load",
++      [5410].param2   = 1,
++      [54182].file    = "drivers/block/rbd.c",
++      [54182].name    = "rbd_snap_add",
++      [54182].param4  = 1,
++      [5419].file     = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [5419].name     = "iwl_legacy_dbgfs_disable_ht40_write",
++      [5419].param3   = 1,
++      [54201].file    = "drivers/platform/x86/asus_acpi.c",
++      [54201].name    = "mled_proc_write",
++      [54201].param3  = 1,
++      [5422].file     = "fs/namei.c",
++      [5422].name     = "do_unlinkat",
++      [5422].param2   = 1,
++      [54252].file    = "drivers/scsi/st.c",
++      [54252].name    = "st_write",
++      [54252].param3  = 1,
++      [54263].file    = "security/keys/trusted.c",
++      [54263].name    = "trusted_instantiate",
++      [54263].param3  = 1,
++      [54298].file    = "drivers/usb/wusbcore/crypto.c",
++      [54298].name    = "wusb_ccm_mac",
++      [54298].param7  = 1,
++      [54318].file    = "include/drm/drm_mem_util.h",
++      [54318].name    = "drm_malloc_ab",
++      [54318].param1  = 1,
++      [54318].param2  = 1,
++      [54335].file    = "drivers/md/dm-table.c",
++      [54335].name    = "dm_vcalloc",
++      [54335].param1  = 1,
++      [54335].param2  = 1,
++      [54339].file    = "security/smack/smackfs.c",
++      [54339].name    = "smk_write_cipso",
++      [54339].param3  = 1,
++      [5438].file     = "sound/core/memory.c",
++      [5438].name     = "copy_to_user_fromio",
++      [5438].param3   = 1,
++      [54401].file    = "lib/dynamic_debug.c",
++      [54401].name    = "ddebug_proc_write",
++      [54401].param3  = 1,
++      [54427].file    = "drivers/usb/storage/jumpshot.c",
++      [54427].name    = "jumpshot_write_data",
++      [54427].param4  = 1,
++      [54467].file    = "net/packet/af_packet.c",
++      [54467].name    = "packet_setsockopt",
++      [54467].param5  = 1,
++      [54573].file    = "ipc/sem.c",
++      [54573].name    = "sys_semop",
++      [54573].param3  = 1,
++      [54643].file    = "drivers/isdn/hardware/eicon/divasi.c",
++      [54643].name    = "um_idi_write",
++      [54643].param3  = 1,
++      [54657].file    = "mm/migrate.c",
++      [54657].name    = "do_pages_stat",
++      [54657].param2  = 1,
++      [54663].file    = "drivers/isdn/hardware/eicon/platform.h",
++      [54663].name    = "diva_os_malloc",
++      [54663].param2  = 1,
++      [54751].file    = "drivers/infiniband/core/device.c",
++      [54751].name    = "ib_alloc_device",
++      [54751].param1  = 1,
++      [54806].file    = "drivers/scsi/lpfc/lpfc_debugfs.c",
++      [54806].name    = "lpfc_debugfs_dif_err_write",
++      [54806].param3  = 1,
++      [5494].file     = "fs/cifs/cifsacl.c",
++      [5494].name     = "cifs_idmap_key_instantiate",
++      [5494].param3   = 1,
++      [55066].file    = "net/ipv6/ipv6_sockglue.c",
++      [55066].name    = "do_ipv6_setsockopt",
++      [55066].param5  = 1,
++      [55105].file    = "drivers/base/devres.c",
++      [55105].name    = "devres_alloc",
++      [55105].param2  = 1,
++      [55115].file    = "net/sctp/probe.c",
++      [55115].name    = "sctpprobe_read",
++      [55115].param3  = 1,
++      [55155].file    = "net/bluetooth/rfcomm/sock.c",
++      [55155].name    = "rfcomm_sock_setsockopt",
++      [55155].param5  = 1,
++      [55187].file    = "security/keys/keyctl.c",
++      [55187].name    = "keyctl_describe_key",
++      [55187].param3  = 1,
++      [5524].file     = "lib/kstrtox.c",
++      [5524].name     = "kstrtos8_from_user",
++      [5524].param2   = 1,
++      [55253].file    = "drivers/net/wireless/ray_cs.c",
++      [55253].name    = "ray_cs_essid_proc_write",
++      [55253].param3  = 1,
++      [5548].file     = "drivers/media/media-entity.c",
++      [5548].name     = "media_entity_init",
++      [5548].param2   = 1,
++      [5548].param4   = 1,
++      [55580].file    = "drivers/usb/mon/mon_bin.c",
++      [55580].name    = "copy_from_buf",
++      [55580].param2  = 1,
++      [55682].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [55682].name    = "lbs_host_sleep_write",
++      [55682].param3  = 1,
++      [55712].file    = "drivers/char/mem.c",
++      [55712].name    = "read_zero",
++      [55712].param3  = 1,
++      [55857].file    = "drivers/net/wireless/ath/ath9k/debug.c",
++      [55857].name    = "write_file_tx_chainmask",
++      [55857].param3  = 1,
++      [55978].file    = "drivers/usb/misc/iowarrior.c",
++      [55978].name    = "iowarrior_write",
++      [55978].param3  = 1,
++      [5599].file     = "drivers/char/random.c",
++      [5599].name     = "write_pool",
++      [5599].param3   = 1,
++      [56090].file    = "drivers/media/video/videobuf-dma-sg.c",
++      [56090].name    = "__videobuf_alloc_vb",
++      [56090].param1  = 1,
++      [56199].file    = "fs/binfmt_misc.c",
++      [56199].name    = "parse_command",
++      [56199].param2  = 1,
++      [56218].file    = "drivers/mmc/card/mmc_test.c",
++      [56218].name    = "mtf_test_write",
++      [56218].param3  = 1,
++      [56416].file    = "drivers/misc/lkdtm.c",
++      [56416].name    = "do_register_entry",
++      [56416].param4  = 1,
++      [56432].file    = "drivers/mfd/aat2870-core.c",
++      [56432].name    = "aat2870_reg_write_file",
++      [56432].param3  = 1,
++      [56471].file    = "include/linux/slab.h",
++      [56471].name    = "kcalloc",
++      [56471].param1  = 1,
++      [56471].param2  = 1,
++      [56513].file    = "fs/cifs/connect.c",
++      [56513].name    = "cifs_readv_from_socket",
++      [56513].param3  = 1,
++      [56544].file    = "drivers/block/drbd/drbd_receiver.c",
++      [56544].name    = "receive_DataRequest",
++      [56544].param3  = 1,
++      [5661].file     = "lib/dma-debug.c",
++      [5661].name     = "filter_write",
++      [5661].param3   = 1,
++      [56672].file    = "drivers/char/agp/generic.c",
++      [56672].name    = "agp_alloc_page_array",
++      [56672].param1  = 1,
++      [56843].file    = "drivers/scsi/scsi_transport_iscsi.c",
++      [56843].name    = "iscsi_recv_pdu",
++      [56843].param4  = 1,
++      [57120].file    = "lib/kstrtox.c",
++      [57120].name    = "kstrtouint_from_user",
++      [57120].param2  = 1,
++      [57128].file    = "drivers/pnp/pnpbios/proc.c",
++      [57128].name    = "pnpbios_proc_write",
++      [57128].param3  = 1,
++      [57190].file    = "drivers/char/agp/generic.c",
++      [57190].name    = "agp_generic_alloc_user",
++      [57190].param1  = 1,
++      [57471].file    = "drivers/media/video/sn9c102/sn9c102_core.c",
++      [57471].name    = "sn9c102_read",
++      [57471].param3  = 1,
++      [57605].file    = "net/netlink/af_netlink.c",
++      [57605].name    = "netlink_kernel_create",
++      [57605].param3  = 1,
++      [57670].file    = "drivers/bluetooth/btmrvl_debugfs.c",
++      [57670].name    = "btmrvl_pscmd_write",
++      [57670].param3  = 1,
++      [57675].file    = "drivers/net/wireless/ath/ath9k/debug.c",
++      [57675].name    = "write_file_regidx",
++      [57675].param3  = 1,
++      [57724].file    = "net/bluetooth/hci_sock.c",
++      [57724].name    = "hci_sock_setsockopt",
++      [57724].param5  = 1,
++      [57748].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [57748].name    = "iwl_dbgfs_missed_beacon_write",
++      [57748].param3  = 1,
++      [57786].file    = "net/ipv6/netfilter/ip6_tables.c",
++      [57786].name    = "compat_do_ip6t_set_ctl",
++      [57786].param4  = 1,
++      [57872].file    = "fs/ceph/xattr.c",
++      [57872].name    = "ceph_setxattr",
++      [57872].param4  = 1,
++      [57927].file    = "fs/read_write.c",
++      [57927].name    = "sys_preadv",
++      [57927].param3  = 1,
++      [58020].file    = "drivers/firewire/core-cdev.c",
++      [58020].name    = "fw_device_op_ioctl",
++      [58020].param2  = 1,
++      [58043].file    = "kernel/auditfilter.c",
++      [58043].name    = "audit_unpack_string",
++      [58043].param3  = 1,
++      [5805].file     = "drivers/xen/grant-table.c",
++      [5805].name     = "gnttab_alloc_grant_references",
++      [5805].param1   = 1,
++      [58087].file    = "kernel/module.c",
++      [58087].name    = "module_alloc_update_bounds_rw",
++      [58087].param1  = 1,
++      [58107].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [58107].name    = "iwl_dbgfs_sleep_level_override_write",
++      [58107].param3  = 1,
++      [58124].file    = "drivers/usb/misc/usbtest.c",
++      [58124].name    = "ctrl_out",
++      [58124].param3  = 1,
++      [58124].param5  = 1,
++      [58263].file    = "security/keys/keyring.c",
++      [58263].name    = "keyring_read",
++      [58263].param3  = 1,
++      [58278].file    = "drivers/net/wireless/iwlwifi/iwl-trans-pcie.c",
++      [58278].name    = "iwl_dbgfs_log_event_write",
++      [58278].param3  = 1,
++      [5830].file     = "drivers/gpu/vga/vga_switcheroo.c",
++      [5830].name     = "vga_switcheroo_debugfs_write",
++      [5830].param3   = 1,
++      [58320].file    = "drivers/scsi/scsi_proc.c",
++      [58320].name    = "proc_scsi_write",
++      [58320].param3  = 1,
++      [58344].file    = "net/sunrpc/cache.c",
++      [58344].name    = "read_flush",
++      [58344].param3  = 1,
++      [58392].file    = "fs/namei.c",
++      [58392].name    = "getname_flags",
++      [58392].param1  = 1,
++      [58418].file    = "kernel/module.c",
++      [58418].name    = "sys_init_module",
++      [58418].param2  = 1,
++      [58502].file    = "sound/core/sgbuf.c",
++      [58502].name    = "snd_malloc_sgbuf_pages",
++      [58502].param2  = 1,
++      [58597].file    = "kernel/kfifo.c",
++      [58597].name    = "__kfifo_to_user",
++      [58597].param3  = 1,
++      [58641].file    = "drivers/usb/misc/adutux.c",
++      [58641].name    = "adu_write",
++      [58641].param3  = 1,
++      [58709].file    = "fs/compat.c",
++      [58709].name    = "compat_sys_pwritev",
++      [58709].param3  = 1,
++      [58769].file    = "drivers/net/wireless/zd1211rw/zd_usb.c",
++      [58769].name    = "zd_usb_read_fw",
++      [58769].param4  = 1,
++      [5876].file     = "drivers/net/ppp/ppp_generic.c",
++      [5876].name     = "ppp_write",
++      [5876].param3   = 1,
++      [58826].file    = "net/sunrpc/xprt.c",
++      [58826].name    = "xprt_alloc",
++      [58826].param2  = 1,
++      [58867].file    = "drivers/platform/x86/asus_acpi.c",
++      [58867].name    = "wled_proc_write",
++      [58867].param3  = 1,
++      [58878].file    = "drivers/net/wireless/libertas/debugfs.c",
++      [58878].name    = "lbs_wrbbp_write",
++      [58878].param3  = 1,
++      [58888].file    = "fs/xattr.c",
++      [58888].name    = "listxattr",
++      [58888].param3  = 1,
++      [58912].file    = "drivers/lguest/core.c",
++      [58912].name    = "__lgwrite",
++      [58912].param4  = 1,
++      [58918].file    = "sound/core/pcm_native.c",
++      [58918].name    = "snd_pcm_aio_write",
++      [58918].param3  = 1,
++      [58919].file    = "net/netlabel/netlabel_unlabeled.c",
++      [58919].name    = "netlbl_unlabel_init",
++      [58919].param1  = 1,
++      [58942].file    = "drivers/block/aoe/aoedev.c",
++      [58942].name    = "aoedev_flush",
++      [58942].param2  = 1,
++      [58958].file    = "fs/fuse/control.c",
++      [58958].name    = "fuse_conn_limit_write",
++      [58958].param3  = 1,
++      [58].file       = "lib/kstrtox.c",
++      [58].name       = "kstrtoull_from_user",
++      [58].param2     = 1,
++      [59034].file    = "drivers/acpi/acpica/dsobject.c",
++      [59034].name    = "acpi_ds_build_internal_package_obj",
++      [59034].param3  = 1,
++      [59073].file    = "drivers/staging/speakup/i18n.c",
++      [59073].name    = "msg_set",
++      [59073].param3  = 1,
++      [59108].file    = "drivers/net/wireless/ath/ath5k/debug.c",
++      [59108].name    = "write_file_queue",
++      [59108].param3  = 1,
++      [59297].file    = "drivers/media/dvb/ttpci/av7110_av.c",
++      [59297].name    = "dvb_play",
++      [59297].param3  = 1,
++      [59472].file    = "drivers/misc/ibmasm/ibmasmfs.c",
++      [59472].name    = "command_file_write",
++      [59472].param3  = 1,
++      [59505].file    = "drivers/media/video/pvrusb2/pvrusb2-ioread.c",
++      [59505].name    = "pvr2_ioread_read",
++      [59505].param3  = 1,
++      [59681].file    = "fs/xfs/kmem.c",
++      [59681].name    = "kmem_alloc",
++      [59681].param1  = 1,
++      [5968].file     = "net/sunrpc/sched.c",
++      [5968].name     = "rpc_malloc",
++      [5968].param2   = 1,
++      [59794].file    = "mm/mincore.c",
++      [59794].name    = "sys_mincore",
++      [59794].param1  = 1,
++      [59794].param2  = 1,
++      [59838].file    = "net/netlink/af_netlink.c",
++      [59838].name    = "nl_pid_hash_zalloc",
++      [59838].param1  = 1,
++      [59856].file    = "drivers/base/devres.c",
++      [59856].name    = "devm_kzalloc",
++      [59856].param2  = 1,
++      [59991].file    = "drivers/media/video/uvc/uvc_queue.c",
++      [59991].name    = "uvc_alloc_buffers",
++      [59991].param2  = 1,
++      [59991].param3  = 1,
++      [60005].file    = "fs/namei.c",
++      [60005].name    = "getname",
++      [60005].param1  = 1,
++      [60066].file    = "mm/filemap.c",
++      [60066].name    = "iov_iter_copy_from_user",
++      [60066].param4  = 1,
++      [60198].file    = "fs/nfs/nfs4proc.c",
++      [60198].name    = "nfs4_write_cached_acl",
++      [60198].param3  = 1,
++      [60330].file    = "drivers/media/video/w9966.c",
++      [60330].name    = "w9966_v4l_read",
++      [60330].param3  = 1,
++      [6041].file     = "drivers/mtd/mtdchar.c",
++      [6041].name     = "mtd_write",
++      [6041].param3   = 1,
++      [60436].file    = "drivers/net/macvtap.c",
++      [60436].name    = "macvtap_sendmsg",
++      [60436].param4  = 1,
++      [60483].file    = "drivers/char/virtio_console.c",
++      [60483].name    = "fill_readbuf",
++      [60483].param3  = 1,
++      [604].file      = "drivers/staging/rtl8712/usb_ops_linux.c",
++      [604].name      = "r8712_usbctrl_vendorreq",
++      [604].param6    = 1,
++      [60543].file    = "drivers/usb/class/usbtmc.c",
++      [60543].name    = "usbtmc_read",
++      [60543].param3  = 1,
++      [60683].file    = "sound/drivers/opl4/opl4_proc.c",
++      [60683].name    = "snd_opl4_mem_proc_write",
++      [60683].param5  = 1,
++      [60693].file    = "drivers/misc/hpilo.c",
++      [60693].name    = "ilo_read",
++      [60693].param3  = 1,
++      [60744].file    = "sound/pci/emu10k1/emuproc.c",
++      [60744].name    = "snd_emu10k1_fx8010_read",
++      [60744].param5  = 1,
++      [60833].file    = "drivers/block/aoe/aoenet.c",
++      [60833].name    = "set_aoe_iflist",
++      [60833].param2  = 1,
++      [60878].file    = "drivers/net/wireless/rt2x00/rt2x00debug.c",
++      [60878].name    = "rt2x00debug_read_queue_dump",
++      [60878].param3  = 1,
++      [60882].file    = "drivers/input/joydev.c",
++      [60882].name    = "joydev_compat_ioctl",
++      [60882].param2  = 1,
++      [60891].file    = "kernel/sched.c",
++      [60891].name    = "sys_sched_setaffinity",
++      [60891].param2  = 1,
++      [60927].file    = "drivers/net/wireless/ath/ath9k/debug.c",
++      [60927].name    = "write_file_disable_ani",
++      [60927].param3  = 1,
++      [60928].file    = "drivers/staging/bcm/Bcmchar.c",
++      [60928].name    = "bcm_char_read",
++      [60928].param3  = 1,
++      [61058].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [61058].name    = "iwl_dbgfs_disable_ht40_write",
++      [61058].param3  = 1,
++      [61120].file    = "drivers/char/mem.c",
++      [61120].name    = "read_mem",
++      [61120].param3  = 1,
++      [61222].file    = "net/sunrpc/rpc_pipe.c",
++      [61222].name    = "rpc_pipe_generic_upcall",
++      [61222].param4  = 1,
++      [61254].file    = "drivers/scsi/scsi_devinfo.c",
++      [61254].name    = "proc_scsi_devinfo_write",
++      [61254].param3  = 1,
++      [61283].file    = "drivers/net/wireless/ath/ath6kl/debug.c",
++      [61283].name    = "ath6kl_fwlog_read",
++      [61283].param3  = 1,
++      [61289].file    = "security/apparmor/apparmorfs.c",
++      [61289].name    = "aa_simple_write_to_buffer",
++      [61289].param4  = 1,
++      [61389].file    = "include/linux/slab.h",
++      [61389].name    = "kzalloc_node",
++      [61389].param1  = 1,
++      [61546].file    = "mm/filemap.c",
++      [61546].name    = "__iovec_copy_from_user_inatomic",
++      [61546].param3  = 1,
++      [61546].param4  = 1,
++      [61552].file    = "drivers/input/evdev.c",
++      [61552].name    = "str_to_user",
++      [61552].param2  = 1,
++      [61673].file    = "security/keys/trusted.c",
++      [61673].name    = "trusted_update",
++      [61673].param3  = 1,
++      [61676].file    = "kernel/module.c",
++      [61676].name    = "module_alloc_update_bounds_rx",
++      [61676].param1  = 1,
++      [61770].file    = "drivers/media/video/et61x251/et61x251_core.c",
++      [61770].name    = "et61x251_read",
++      [61770].param3  = 1,
++      [6186].file     = "drivers/char/mem.c",
++      [6186].name     = "read_kmem",
++      [6186].param3   = 1,
++      [61932].file    = "drivers/message/fusion/mptctl.c",
++      [61932].name    = "__mptctl_ioctl",
++      [61932].param2  = 1,
++      [62081].file    = "drivers/net/irda/vlsi_ir.c",
++      [62081].name    = "vlsi_alloc_ring",
++      [62081].param3  = 1,
++      [62116].file    = "fs/libfs.c",
++      [62116].name    = "simple_attr_read",
++      [62116].param3  = 1,
++      [6225].file     = "drivers/block/floppy.c",
++      [6225].name     = "fd_ioctl",
++      [6225].param3   = 1,
++      [62294].file    = "sound/core/info.c",
++      [62294].name    = "resize_info_buffer",
++      [62294].param2  = 1,
++      [62378].file    = "net/ipv4/tcp.c",
++      [62378].name    = "do_tcp_setsockopt",
++      [62378].param5  = 1,
++      [62387].file    = "fs/nfs/idmap.c",
++      [62387].name    = "nfs_idmap_lookup_id",
++      [62387].param2  = 1,
++      [62453].file    = "fs/namei.c",
++      [62453].name    = "user_path_create",
++      [62453].param2  = 1,
++      [62495].file    = "drivers/block/floppy.c",
++      [62495].name    = "fallback_on_nodma_alloc",
++      [62495].param2  = 1,
++      [62498].file    = "fs/xattr.c",
++      [62498].name    = "sys_listxattr",
++      [62498].param3  = 1,
++      [62583].file    = "drivers/net/wireless/mwifiex/debugfs.c",
++      [62583].name    = "mwifiex_regrdwr_write",
++      [62583].param3  = 1,
++      [625].file      = "fs/read_write.c",
++      [625].name      = "sys_pwritev",
++      [625].param3    = 1,
++      [62669].file    = "drivers/platform/x86/asus_acpi.c",
++      [62669].name    = "tled_proc_write",
++      [62669].param3  = 1,
++      [62714].file    = "security/keys/keyctl.c",
++      [62714].name    = "keyctl_update_key",
++      [62714].param3  = 1,
++      [62799].file    = "fs/proc/task_mmu.c",
++      [62799].name    = "pagemap_read",
++      [62799].param3  = 1,
++      [62811].file    = "drivers/usb/misc/legousbtower.c",
++      [62811].name    = "tower_read",
++      [62811].param3  = 1,
++      [62851].file    = "fs/proc/vmcore.c",
++      [62851].name    = "read_vmcore",
++      [62851].param3  = 1,
++      [62925].file    = "include/rdma/ib_verbs.h",
++      [62925].name    = "ib_copy_from_udata",
++      [62925].param3  = 1,
++      [62967].file    = "security/keys/encrypted-keys/encrypted.c",
++      [62967].name    = "encrypted_update",
++      [62967].param3  = 1,
++      [62970].file    = "net/sched/sch_api.c",
++      [62970].name    = "qdisc_class_hash_alloc",
++      [62970].param1  = 1,
++      [62999].file    = "net/core/neighbour.c",
++      [62999].name    = "neigh_hash_alloc",
++      [62999].param1  = 1,
++      [63004].file    = "drivers/usb/storage/datafab.c",
++      [63004].name    = "datafab_write_data",
++      [63004].param4  = 1,
++      [63007].file    = "fs/proc/base.c",
++      [63007].name    = "proc_coredump_filter_write",
++      [63007].param3  = 1,
++      [63010].file    = "drivers/gpu/drm/ttm/ttm_page_alloc.c",
++      [63010].name    = "ttm_page_pool_free",
++      [63010].param2  = 1,
++      [63076].file    = "fs/cifs/xattr.c",
++      [63076].name    = "cifs_setxattr",
++      [63076].param4  = 1,
++      [63091].file    = "drivers/net/usb/pegasus.c",
++      [63091].name    = "get_registers",
++      [63091].param3  = 1,
++      [63169].file    = "drivers/scsi/sg.c",
++      [63169].name    = "sg_read",
++      [63169].param3  = 1,
++      [6331].file     = "drivers/atm/solos-pci.c",
++      [6331].name     = "solos_param_store",
++      [6331].param4   = 1,
++      [63367].file    = "net/netfilter/ipset/ip_set_core.c",
++      [63367].name    = "ip_set_alloc",
++      [63367].param1  = 1,
++      [63473].file    = "drivers/staging/pohmelfs/trans.c",
++      [63473].name    = "netfs_trans_alloc",
++      [63473].param2  = 1,
++      [63473].param4  = 1,
++      [63489].file    = "drivers/bluetooth/btmrvl_debugfs.c",
++      [63489].name    = "btmrvl_hscfgcmd_write",
++      [63489].param3  = 1,
++      [63490].file    = "crypto/shash.c",
++      [63490].name    = "shash_compat_setkey",
++      [63490].param3  = 1,
++      [63583].file    = "drivers/char/mem.c",
++      [63583].name    = "write_kmem",
++      [63583].param3  = 1,
++      [63605].file    = "mm/mempool.c",
++      [63605].name    = "mempool_kmalloc",
++      [63605].param2  = 1,
++      [63717].file    = "drivers/net/wireless/iwlwifi/iwl-trans-pcie.c",
++      [63717].name    = "iwl_dbgfs_csr_write",
++      [63717].param3  = 1,
++      [63748].file    = "drivers/staging/crystalhd/crystalhd_misc.c",
++      [63748].name    = "crystalhd_map_dio",
++      [63748].param3  = 1,
++      [63765].file    = "fs/seq_file.c",
++      [63765].name    = "seq_read",
++      [63765].param3  = 1,
++      [63777].file    = "drivers/virtio/virtio_ring.c",
++      [63777].name    = "virtqueue_add_buf_gfp",
++      [63777].param3  = 1,
++      [63777].param4  = 1,
++      [63961].file    = "fs/xattr.c",
++      [63961].name    = "sys_flistxattr",
++      [63961].param3  = 1,
++      [63988].file    = "drivers/input/evdev.c",
++      [63988].name    = "evdev_ioctl_compat",
++      [63988].param2  = 1,
++      [64118].file    = "fs/namei.c",
++      [64118].name    = "sys_symlinkat",
++      [64118].param1  = 1,
++      [64156].file    = "drivers/net/wireless/ath/ath6kl/cfg80211.c",
++      [64156].name    = "ath6kl_mgmt_tx",
++      [64156].param9  = 1,
++      [64227].file    = "mm/nobootmem.c",
++      [64227].name    = "__alloc_bootmem_node_nopanic",
++      [64227].param2  = 1,
++      [64312].file    = "drivers/video/hecubafb.c",
++      [64312].name    = "hecubafb_write",
++      [64312].param3  = 1,
++      [64351].file    = "kernel/kfifo.c",
++      [64351].name    = "kfifo_copy_from_user",
++      [64351].param3  = 1,
++      [64392].file    = "drivers/mmc/core/mmc_ops.c",
++      [64392].name    = "mmc_send_cxd_data",
++      [64392].param5  = 1,
++      [64471].file    = "drivers/bluetooth/btmrvl_debugfs.c",
++      [64471].name    = "btmrvl_hscmd_write",
++      [64471].param3  = 1,
++      [64667].file    = "sound/core/oss/pcm_oss.c",
++      [64667].name    = "snd_pcm_oss_read",
++      [64667].param3  = 1,
++      [64689].file    = "sound/isa/gus/gus_dram.c",
++      [64689].name    = "snd_gus_dram_read",
++      [64689].param4  = 1,
++      [64692].file    = "fs/binfmt_misc.c",
++      [64692].name    = "bm_entry_write",
++      [64692].param3  = 1,
++      [64705].file    = "drivers/staging/iio/accel/sca3000_ring.c",
++      [64705].name    = "sca3000_read_first_n_hw_rb",
++      [64705].param2  = 1,
++      [64743].file    = "fs/ocfs2/dlmfs/dlmfs.c",
++      [64743].name    = "dlmfs_file_read",
++      [64743].param3  = 1,
++      [6477].file     = "net/bluetooth/mgmt.c",
++      [6477].name     = "mgmt_pending_add",
++      [6477].param5   = 1,
++      [64898].file    = "drivers/media/video/videobuf-dma-sg.c",
++      [64898].name    = "videobuf_dma_init_user",
++      [64898].param3  = 1,
++      [64898].param4  = 1,
++      [64906].file    = "drivers/net/wireless/b43legacy/debugfs.c",
++      [64906].name    = "b43legacy_debugfs_write",
++      [64906].param3  = 1,
++      [64961].file    = "drivers/spi/spidev.c",
++      [64961].name    = "spidev_ioctl",
++      [64961].param2  = 1,
++      [65033].file    = "crypto/shash.c",
++      [65033].name    = "shash_async_setkey",
++      [65033].param3  = 1,
++      [65093].file    = "security/integrity/evm/evm_secfs.c",
++      [65093].name    = "evm_write_key",
++      [65093].param3  = 1,
++      [65098].file    = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [65098].name    = "iwl_dbgfs_traffic_log_write",
++      [65098].param3  = 1,
++      [6514].file     = "mm/nobootmem.c",
++      [6514].name     = "__alloc_bootmem_low",
++      [6514].param1   = 1,
++      [65169].file    = "net/core/skbuff.c",
++      [65169].name    = "dev_alloc_skb",
++      [65169].param1  = 1,
++      [6517].file     = "drivers/md/dm-table.c",
++      [6517].name     = "alloc_targets",
++      [6517].param2   = 1,
++      [65195].file    = "fs/jffs2/xattr.c",
++      [65195].name    = "do_jffs2_setxattr",
++      [65195].param5  = 1,
++      [65237].file    = "kernel/profile.c",
++      [65237].name    = "read_profile",
++      [65237].param3  = 1,
++      [65345].file    = "lib/xz/xz_dec_lzma2.c",
++      [65345].name    = "xz_dec_lzma2_create",
++      [65345].param2  = 1,
++      [65364].file    = "sound/core/pcm_lib.c",
++      [65364].name    = "snd_pcm_lib_read_transfer",
++      [65364].param5  = 1,
++      [65409].file    = "net/802/garp.c",
++      [65409].name    = "garp_request_join",
++      [65409].param4  = 1,
++      [65432].file    = "drivers/hid/hid-roccat-kone.c",
++      [65432].name    = "kone_receive",
++      [65432].param4  = 1,
++      [65452].file    = "drivers/message/fusion/mptctl.c",
++      [65452].name    = "mptctl_ioctl",
++      [65452].param2  = 1,
++      [65514].file    = "drivers/media/video/gspca/t613.c",
++      [65514].name    = "reg_w_ixbuf",
++      [65514].param4  = 1,
++      [6551].file     = "drivers/usb/host/xhci-mem.c",
++      [6551].name     = "xhci_alloc_stream_info",
++      [6551].param3   = 1,
++      [65535].file    = "drivers/media/dvb/dvb-usb/opera1.c",
++      [65535].name    = "opera1_xilinx_rw",
++      [65535].param5  = 1,
++      [6657].file     = "drivers/hid/hid-roccat-kone.c",
++      [6657].name     = "kone_send",
++      [6657].param4   = 1,
++      [6672].file     = "drivers/net/wireless/b43/debugfs.c",
++      [6672].name     = "b43_debugfs_write",
++      [6672].param3   = 1,
++      [6691].file     = "drivers/acpi/proc.c",
++      [6691].name     = "acpi_system_write_wakeup_device",
++      [6691].param3   = 1,
++      [6772].file     = "drivers/net/wireless/iwlwifi/iwl-debugfs.c",
++      [6772].name     = "iwl_dbgfs_force_reset_write",
++      [6772].param3   = 1,
++      [6780].file     = "sound/core/info.c",
++      [6780].name     = "snd_info_entry_read",
++      [6780].param3   = 1,
++      [6800].file     = "drivers/net/wireless/iwlegacy/iwl-debugfs.c",
++      [6800].name     = "iwl_legacy_dbgfs_missed_beacon_write",
++      [6800].param3   = 1,
++      [680].file      = "drivers/misc/ibmasm/ibmasmfs.c",
++      [680].name      = "command_file_read",
++      [680].param3    = 1,
++      [6865].file     = "drivers/staging/iio/ring_sw.c",
++      [6865].name     = "iio_read_first_n_sw_rb",
++      [6865].param2   = 1,
++      [6867].file     = "fs/coda/psdev.c",
++      [6867].name     = "coda_psdev_read",
++      [6867].param3   = 1,
++      [6891].file     = "drivers/bluetooth/btmrvl_debugfs.c",
++      [6891].name     = "btmrvl_gpiogap_write",
++      [6891].param3   = 1,
++      [6944].file     = "drivers/ide/ide-proc.c",
++      [6944].name     = "ide_settings_proc_write",
++      [6944].param3   = 1,
++      [6950].file     = "drivers/isdn/capi/capi.c",
++      [6950].name     = "capi_write",
++      [6950].param3   = 1,
++      [697].file      = "sound/isa/gus/gus_dram.c",
++      [697].name      = "snd_gus_dram_peek",
++      [697].param4    = 1,
++      [7066].file     = "security/keys/keyctl.c",
++      [7066].name     = "keyctl_instantiate_key_common",
++      [7066].param4   = 1,
++      [7129].file     = "mm/maccess.c",
++      [7129].name     = "__probe_kernel_read",
++      [7129].param3   = 1,
++      [720].file      = "sound/pci/rme9652/hdsp.c",
++      [720].name      = "snd_hdsp_playback_copy",
++      [720].param5    = 1,
++      [7411].file     = "drivers/vhost/vhost.c",
++      [7411].name     = "__vhost_add_used_n",
++      [7411].param3   = 1,
++      [7488].file     = "security/keys/user_defined.c",
++      [7488].name     = "user_read",
++      [7488].param3   = 1,
++      [7551].file     = "drivers/input/touchscreen/ad7879-spi.c",
++      [7551].name     = "ad7879_spi_xfer",
++      [7551].param3   = 1,
++      [7676].file     = "drivers/acpi/custom_method.c",
++      [7676].name     = "cm_write",
++      [7676].param3   = 1,
++      [7832].file     = "drivers/net/wireless/ath/ath5k/debug.c",
++      [7832].name     = "write_file_antenna",
++      [7832].param3   = 1,
++      [7843].file     = "fs/compat.c",
++      [7843].name     = "compat_sys_readv",
++      [7843].param3   = 1,
++      [7958].file     = "drivers/gpu/vga/vgaarb.c",
++      [7958].name     = "vga_arb_write",
++      [7958].param3   = 1,
++      [7976].file     = "drivers/usb/gadget/rndis.c",
++      [7976].name     = "rndis_add_response",
++      [7976].param2   = 1,
++      [8014].file     = "net/netfilter/ipset/ip_set_list_set.c",
++      [8014].name     = "init_list_set",
++      [8014].param2   = 1,
++      [8014].param3   = 1,
++      [8087].file     = "drivers/video/via/viafbdev.c",
++      [8087].name     = "viafb_iga1_odev_proc_write",
++      [8087].param3   = 1,
++      [8126].file     = "sound/soc/soc-core.c",
++      [8126].name     = "codec_reg_read_file",
++      [8126].param3   = 1,
++      [8185].file     = "drivers/net/wireless/ath/ath6kl/debug.c",
++      [8185].name     = "ath6kl_regwrite_write",
++      [8185].param3   = 1,
++      [8317].file     = "security/smack/smackfs.c",
++      [8317].name     = "smk_write_ambient",
++      [8317].param3   = 1,
++      [8334].file     = "drivers/scsi/sg.c",
++      [8334].name     = "sg_proc_write_adio",
++      [8334].param3   = 1,
++      [8481].file     = "drivers/isdn/i4l/isdn_common.c",
++      [8481].name     = "isdn_write",
++      [8481].param3   = 1,
++      [8536].file     = "fs/cifs/dns_resolve.c",
++      [8536].name     = "dns_resolve_server_name_to_ip",
++      [8536].param1   = 1,
++      [8650].file     = "drivers/gpu/drm/vmwgfx/vmwgfx_kms.c",
++      [8650].name     = "vmw_kms_present",
++      [8650].param9   = 1,
++      [865].file      = "drivers/base/regmap/regmap-debugfs.c",
++      [865].name      = "regmap_access_read_file",
++      [865].param3    = 1,
++      [8663].file     = "net/bridge/netfilter/ebtables.c",
++      [8663].name     = "do_update_counters",
++      [8663].param4   = 1,
++      [8684].file     = "fs/read_write.c",
++      [8684].name     = "sys_writev",
++      [8684].param3   = 1,
++      [8699].file     = "security/selinux/selinuxfs.c",
++      [8699].name     = "sel_commit_bools_write",
++      [8699].param3   = 1,
++      [8714].file     = "lib/kstrtox.c",
++      [8714].name     = "kstrtou16_from_user",
++      [8714].param2   = 1,
++      [8764].file     = "drivers/usb/core/devio.c",
++      [8764].name     = "usbdev_read",
++      [8764].param3   = 1,
++      [8802].file     = "fs/dlm/user.c",
++      [8802].name     = "device_write",
++      [8802].param3   = 1,
++      [8810].file     = "net/mac80211/debugfs_sta.c",
++      [8810].name     = "sta_agg_status_write",
++      [8810].param3   = 1,
++      [8815].file     = "security/tomoyo/securityfs_if.c",
++      [8815].name     = "tomoyo_write_self",
++      [8815].param3   = 1,
++      [8821].file     = "net/wireless/sme.c",
++      [8821].name     = "cfg80211_roamed",
++      [8821].param5   = 1,
++      [8821].param7   = 1,
++      [8833].file     = "security/selinux/ss/services.c",
++      [8833].name     = "security_context_to_sid",
++      [8833].param2   = 1,
++      [8851].file     = "net/key/af_key.c",
++      [8851].name     = "pfkey_sendmsg",
++      [8851].param4   = 1,
++      [8917].file     = "net/ipv4/raw.c",
++      [8917].name     = "raw_setsockopt",
++      [8917].param5   = 1,
++      [8983].file     = "include/linux/skbuff.h",
++      [8983].name     = "alloc_skb",
++      [8983].param1   = 1,
++      [9226].file     = "mm/migrate.c",
++      [9226].name     = "sys_move_pages",
++      [9226].param2   = 1,
++      [9341].file     = "drivers/acpi/apei/erst-dbg.c",
++      [9341].name     = "erst_dbg_write",
++      [9341].param3   = 1,
++      [9463].file     = "drivers/infiniband/hw/ipath/ipath_verbs.c",
++      [9463].name     = "ipath_verbs_send",
++      [9463].param3   = 1,
++      [9463].param5   = 1,
++      [9546].file     = "drivers/video/fbmem.c",
++      [9546].name     = "fb_write",
++      [9546].param3   = 1,
++      [9601].file     = "kernel/kfifo.c",
++      [9601].name     = "__kfifo_from_user",
++      [9601].param3   = 1,
++      [9618].file     = "security/selinux/selinuxfs.c",
++      [9618].name     = "sel_write_bool",
++      [9618].param3   = 1,
++      [9768].file     = "drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c",
++      [9768].name     = "vmw_execbuf_process",
++      [9768].param5   = 1,
++      [9828].file     = "drivers/media/dvb/dvb-core/dmxdev.c",
++      [9828].name     = "dvb_demux_do_ioctl",
++      [9828].param3   = 1,
++      [9870].file     = "net/atm/addr.c",
++      [9870].name     = "atm_get_addr",
++      [9870].param3   = 1,
++      [9962].file     = "drivers/scsi/sg.c",
++      [9962].name     = "sg_proc_write_dressz",
++      [9962].param3   = 1,
++      [9977].file     = "drivers/net/wireless/zd1211rw/zd_usb.c",
++      [9977].name     = "zd_usb_iowrite16v_async",
++      [9977].param3   = 1,
++      [16344].collision       = 1,
++      [30494].collision       = 1,
++      [31291].collision       = 1,
++      [33040].collision       = 1,
++      [38314].collision       = 1,
++      [54338].collision       = 1,
++      [60651].collision       = 1,
++};
+diff --git a/tools/gcc/size_overflow_hash2.h b/tools/gcc/size_overflow_hash2.h
+new file mode 100644
+index 0000000..8ed7d96
+--- /dev/null
++++ b/tools/gcc/size_overflow_hash2.h
+@@ -0,0 +1,44 @@
++struct size_overflow_hash size_overflow_hash2[65536] = {
++      [2118].file     = "fs/ntfs/malloc.h",
++      [2118].name     = "ntfs_malloc_nofs",
++      [2118].param1   = 1,
++      [22224].file    = "fs/proc/vmcore.c",
++      [22224].name    = "read_from_oldmem",
++      [22224].param2  = 1,
++      [26518].file    = "drivers/gpu/vga/vgaarb.c",
++      [26518].name    = "vga_arb_read",
++      [26518].param3  = 1,
++      [26569].file    = "lib/kstrtox.c",
++      [26569].name    = "kstrtoint_from_user",
++      [26569].param2  = 1,
++      [30632].file    = "drivers/ide/ide-proc.c",
++      [30632].name    = "ide_driver_proc_write",
++      [30632].param3  = 1,
++      [36150].file    = "net/ceph/buffer.c",
++      [36150].name    = "ceph_buffer_new",
++      [36150].param1  = 1,
++      [39024].file    = "lib/scatterlist.c",
++      [39024].name    = "sg_kmalloc",
++      [39024].param1  = 1,
++      [39105].file    = "drivers/gpu/drm/ttm/ttm_tt.c",
++      [39105].name    = "ttm_tt_create",
++      [39105].param2  = 1,
++      [43208].file    = "fs/nfs/read.c",
++      [43208].name    = "nfs_readdata_alloc",
++      [43208].param1  = 1,
++      [46911].file    = "drivers/media/video/ivtv/ivtv-fileops.c",
++      [46911].name    = "ivtv_v4l2_read",
++      [46911].param3  = 1,
++      [50359].file    = "kernel/sched.c",
++      [50359].name    = "alloc_sched_domains",
++      [50359].param1  = 1,
++      [52857].file    = "sound/pci/rme9652/rme9652.c",
++      [52857].name    = "snd_rme9652_capture_copy",
++      [52857].param5  = 1,
++      [57500].file    = "drivers/spi/spidev.c",
++      [57500].name    = "spidev_write",
++      [57500].param3  = 1,
++      [65149].file    = "fs/nilfs2/ioctl.c",
++      [65149].name    = "nilfs_ioctl_wrap_copy",
++      [65149].param4  = 1,
++};
+diff --git a/tools/gcc/size_overflow_plugin.c b/tools/gcc/size_overflow_plugin.c
+new file mode 100644
+index 0000000..a9ae886
+--- /dev/null
++++ b/tools/gcc/size_overflow_plugin.c
+@@ -0,0 +1,1042 @@
++/*
++ * Copyright 2011, 2012 by Emese Revfy <re.emese@gmail.com>
++ * Licensed under the GPL v2, or (at your option) v3
++ *
++ * Homepage:
++ * http://www.grsecurity.net/~ephox/overflow_plugin/
++ *
++ * This plugin recomputes expressions of function arguments marked by a size_overflow attribute
++ * with double integer precision (DImode/TImode for 32/64 bit integer types).
++ * The recomputed argument is checked against INT_MAX and an event is logged on overflow and the triggering process is killed.
++ *
++ * Usage:
++ * $ gcc -I`gcc -print-file-name=plugin`/include -fPIC -shared -O2 -o size_overflow_plugin.so size_overflow_plugin.c
++ * $ gcc -fplugin=size_overflow_plugin.so test.c  -O2
++ */
++
++#include "gcc-plugin.h"
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tree.h"
++#include "tree-pass.h"
++#include "intl.h"
++#include "plugin-version.h"
++#include "tm.h"
++#include "toplev.h"
++#include "function.h"
++#include "tree-flow.h"
++#include "plugin.h"
++#include "gimple.h"
++#include "c-common.h"
++#include "diagnostic.h"
++
++struct size_overflow_hash {
++              const char *name;
++              const char *file;
++              unsigned short collision:1;
++              unsigned short param1:1;
++              unsigned short param2:1;
++              unsigned short param3:1;
++              unsigned short param4:1;
++              unsigned short param5:1;
++              unsigned short param6:1;
++              unsigned short param7:1;
++              unsigned short param8:1;
++              unsigned short param9:1;
++};
++
++#include "size_overflow_hash1.h"
++#include "size_overflow_hash2.h"
++
++#define __unused __attribute__((__unused__))
++#define NAME(node) IDENTIFIER_POINTER(DECL_NAME(node))
++#define BEFORE_STMT true
++#define AFTER_STMT false
++#define CREATE_NEW_VAR NULL_TREE
++
++int plugin_is_GPL_compatible;
++void debug_gimple_stmt (gimple gs);
++
++static tree expand(struct pointer_set_t *visited, tree var);
++static tree signed_size_overflow_type;
++static tree unsigned_size_overflow_type;
++static tree report_size_overflow_decl;
++static tree const_char_ptr_type_node;
++static unsigned int handle_function(void);
++
++static struct plugin_info size_overflow_plugin_info = {
++      .version        = "20120311beta",
++      .help           = "no-size_overflow\tturn off size overflow checking\n",
++};
++
++static tree handle_size_overflow_attribute(tree *node, tree __unused name, tree args, int __unused flags, bool *no_add_attrs)
++{
++      unsigned int arg_count = type_num_arguments(*node);
++
++      for (; args; args = TREE_CHAIN(args)) {
++              tree position = TREE_VALUE(args);
++              if (TREE_CODE(position) != INTEGER_CST || TREE_INT_CST_HIGH(position) || TREE_INT_CST_LOW(position) < 1 || TREE_INT_CST_LOW(position) > arg_count ) {
++                      error("handle_size_overflow_attribute: overflow parameter outside range.");
++                      *no_add_attrs = true;
++              }
++      }
++      return NULL_TREE;
++}
++
++static struct attribute_spec no_size_overflow_attr = {
++      .name                           = "size_overflow",
++      .min_length                     = 1,
++      .max_length                     = -1,
++      .decl_required                  = false,
++      .type_required                  = true,
++      .function_type_required         = true,
++      .handler                        = handle_size_overflow_attribute
++};
++
++static void register_attributes(void __unused *event_data, void __unused *data)
++{
++      register_attribute(&no_size_overflow_attr);
++}
++
++// http://www.team5150.com/~andrew/noncryptohashzoo2~/CrapWow.html
++static unsigned int CrapWow(const char *key, unsigned int len, unsigned int seed)
++{
++#define cwfold( a, b, lo, hi ) { p = (unsigned int)(a) * (unsigned long long)(b); lo ^= (unsigned int)p; hi ^= (unsigned int)(p >> 32); }
++#define cwmixa( in ) { cwfold( in, m, k, h ); }
++#define cwmixb( in ) { cwfold( in, n, h, k ); }
++
++      const unsigned int m = 0x57559429;
++      const unsigned int n = 0x5052acdb;
++      const unsigned int *key4 = (const unsigned int *)key;
++      unsigned int h = len;
++      unsigned int k = len + seed + n;
++      unsigned long long p;
++
++      while (len >= 8) {
++              cwmixb(key4[0]) cwmixa(key4[1]) key4 += 2;
++              len -= 8;
++      }
++      if (len >= 4) {
++              cwmixb(key4[0]) key4 += 1;
++              len -= 4;
++      }
++      if (len)
++              cwmixa(key4[0] & ((1 << (len * 8)) - 1 ));
++      cwmixb(h ^ (k + n));
++      return k ^ h;
++
++#undef cwfold
++#undef cwmixa
++#undef cwmixb
++}
++
++static inline unsigned int size_overflow_hash(const char *fndecl, unsigned int seed)
++{
++      return CrapWow(fndecl, strlen(fndecl), seed) & 0xffff;
++}
++
++static inline tree get_original_function_decl(tree fndecl)
++{
++      if (DECL_ABSTRACT_ORIGIN(fndecl))
++              return DECL_ABSTRACT_ORIGIN(fndecl);
++      return fndecl;
++}
++
++static inline gimple get_def_stmt(tree node)
++{
++      gcc_assert(TREE_CODE(node) == SSA_NAME);
++      return SSA_NAME_DEF_STMT(node);
++}
++
++static struct size_overflow_hash *get_function_hash(tree fndecl)
++{
++      unsigned int hash;
++      const char *func = NAME(fndecl);
++
++      hash = size_overflow_hash(func, 0);
++
++      if (size_overflow_hash1[hash].collision) {
++              hash = size_overflow_hash(func, 23432);
++              return &size_overflow_hash2[hash];
++      }
++      return &size_overflow_hash1[hash];
++}
++
++static void check_missing_attribute(tree arg)
++{
++      tree var, func = get_original_function_decl(current_function_decl);
++      const char *curfunc = NAME(func);
++      unsigned int new_hash, argnum = 1;
++      struct size_overflow_hash *hash;
++      location_t loc;
++      expanded_location xloc;
++      bool match = false;
++
++      loc = DECL_SOURCE_LOCATION(func);
++      xloc = expand_location(loc);
++
++      if (lookup_attribute("size_overflow", TYPE_ATTRIBUTES(TREE_TYPE(func))))
++              return;
++
++      hash = get_function_hash(func);
++      if (hash->name && !strcmp(hash->name, NAME(func)) && !strcmp(hash->file, xloc.file))
++              return;
++
++      gcc_assert(TREE_CODE(arg) != COMPONENT_REF);
++
++      if (TREE_CODE(arg) == SSA_NAME)
++              arg = SSA_NAME_VAR(arg);
++
++      for (var = DECL_ARGUMENTS(func); var; var = TREE_CHAIN(var)) {
++              if (strcmp(NAME(arg), NAME(var))) {
++                      argnum++;
++                      continue;
++              }
++              match = true;
++              if (!TYPE_UNSIGNED(TREE_TYPE(var)))
++                      return;
++              break;
++      }
++      if (!match) {
++              warning(0, "check_missing_attribute: cannot find the %s argument in %s", NAME(arg), NAME(func));
++              return;
++      }
++
++#define check_param(num)                      \
++      if (num == argnum && hash->param##num)  \
++              return;
++      check_param(1);
++      check_param(2);
++      check_param(3);
++      check_param(4);
++      check_param(5);
++      check_param(6);
++      check_param(7);
++      check_param(8);
++      check_param(9);
++#undef check_param
++
++      new_hash = size_overflow_hash(curfunc, 0);
++      inform(loc, "Function %s is missing from the size_overflow hash table +%s+%d+%u+%s", curfunc, curfunc, argnum, new_hash, xloc.file);
++}
++
++static tree create_new_var(tree type)
++{
++      tree new_var = create_tmp_var(type, "cicus");
++
++      add_referenced_var(new_var);
++      mark_sym_for_renaming(new_var);
++      return new_var;
++}
++
++static bool is_bool(tree node)
++{
++      tree type;
++
++      if (node == NULL_TREE)
++              return false;
++
++      type = TREE_TYPE(node);
++      if (!INTEGRAL_TYPE_P(type))
++              return false;
++      if (TREE_CODE(type) == BOOLEAN_TYPE)
++              return true;
++      if (TYPE_PRECISION(type) == 1)
++              return true;
++      return false;
++}
++
++static gimple build_cast_stmt(tree type, tree var, tree new_var, location_t loc)
++{
++      gimple assign;
++
++      if (new_var == CREATE_NEW_VAR)
++              new_var = create_new_var(type);
++
++      assign = gimple_build_assign(new_var, fold_convert(type, var));
++      gimple_set_location(assign, loc);
++      gimple_set_lhs(assign, make_ssa_name(new_var, assign));
++
++      return assign;
++}
++
++static tree create_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, bool before)
++{
++      tree oldstmt_rhs1;
++      enum tree_code code;
++      gimple stmt;
++      gimple_stmt_iterator gsi;
++
++      if (is_bool(rhs1)) {
++              pointer_set_insert(visited, oldstmt);
++              return gimple_get_lhs(oldstmt);
++      }
++
++      if (rhs1 == NULL_TREE) {
++              debug_gimple_stmt(oldstmt);
++              error("create_assign: rhs1 is NULL_TREE");
++              gcc_unreachable();
++      }
++
++      oldstmt_rhs1 = gimple_assign_rhs1(oldstmt);
++      code = TREE_CODE(oldstmt_rhs1);
++      if (code == PARM_DECL || (code == SSA_NAME && gimple_code(get_def_stmt(oldstmt_rhs1)) == GIMPLE_NOP))
++              check_missing_attribute(oldstmt_rhs1);
++
++      stmt = build_cast_stmt(signed_size_overflow_type, rhs1, CREATE_NEW_VAR, gimple_location(oldstmt));
++      gsi = gsi_for_stmt(oldstmt);
++      if (before)
++              gsi_insert_before(&gsi, stmt, GSI_NEW_STMT);
++      else
++              gsi_insert_after(&gsi, stmt, GSI_NEW_STMT);
++      update_stmt(stmt);
++      pointer_set_insert(visited, oldstmt);
++      return gimple_get_lhs(stmt);
++}
++
++static tree dup_assign(struct pointer_set_t *visited, gimple oldstmt, tree rhs1, tree rhs2, tree __unused rhs3)
++{
++      tree new_var, lhs = gimple_get_lhs(oldstmt);
++      gimple stmt;
++      gimple_stmt_iterator gsi;
++
++      if (gimple_num_ops(oldstmt) != 4 && rhs1 == NULL_TREE) {
++              rhs1 = gimple_assign_rhs1(oldstmt);
++              rhs1 = create_assign(visited, oldstmt, rhs1, BEFORE_STMT);
++      }
++      if (gimple_num_ops(oldstmt) == 3 && rhs2 == NULL_TREE) {
++              rhs2 = gimple_assign_rhs2(oldstmt);
++              rhs2 = create_assign(visited, oldstmt, rhs2, BEFORE_STMT);
++      }
++
++      stmt = gimple_copy(oldstmt);
++      gimple_set_location(stmt, gimple_location(oldstmt));
++
++      if (gimple_assign_rhs_code(oldstmt) == WIDEN_MULT_EXPR)
++              gimple_assign_set_rhs_code(stmt, MULT_EXPR);
++
++      if (is_bool(lhs))
++              new_var = SSA_NAME_VAR(lhs);
++      else
++              new_var = create_new_var(signed_size_overflow_type);
++      new_var = make_ssa_name(new_var, stmt);
++      gimple_set_lhs(stmt, new_var);
++
++      if (rhs1 != NULL_TREE) {
++              if (!gimple_assign_cast_p(oldstmt))
++                      rhs1 = fold_convert(signed_size_overflow_type, rhs1);
++              gimple_assign_set_rhs1(stmt, rhs1);
++      }
++
++      if (rhs2 != NULL_TREE)
++              gimple_assign_set_rhs2(stmt, rhs2);
++#if BUILDING_GCC_VERSION >= 4007
++      if (rhs3 != NULL_TREE)
++              gimple_assign_set_rhs3(stmt, rhs3);
++#endif
++      gimple_set_vuse(stmt, gimple_vuse(oldstmt));
++      gimple_set_vdef(stmt, gimple_vdef(oldstmt));
++
++      gsi = gsi_for_stmt(oldstmt);
++      gsi_insert_after(&gsi, stmt, GSI_SAME_STMT);
++      update_stmt(stmt);
++      pointer_set_insert(visited, oldstmt);
++      return gimple_get_lhs(stmt);
++}
++
++static gimple overflow_create_phi_node(gimple oldstmt, tree var)
++{
++      basic_block bb;
++      gimple phi;
++      gimple_stmt_iterator gsi = gsi_for_stmt(oldstmt);
++
++      bb = gsi_bb(gsi);
++      phi = make_phi_node(var, EDGE_COUNT(bb->preds));
++
++      gsi_insert_after(&gsi, phi, GSI_NEW_STMT);
++      gimple_set_bb(phi, bb);
++      return phi;
++}
++
++static tree signed_cast_constant(tree node)
++{
++      gcc_assert(is_gimple_constant(node));
++
++      if (TYPE_PRECISION(signed_size_overflow_type) == TYPE_PRECISION(TREE_TYPE(node)))
++              return build_int_cst_wide(signed_size_overflow_type, TREE_INT_CST_LOW(node), TREE_INT_CST_HIGH(node));
++      else
++              return build_int_cst(signed_size_overflow_type, int_cst_value(node));
++}
++
++static gimple cast_old_phi_arg(gimple oldstmt, tree arg, tree new_var)
++{
++      basic_block first_bb;
++      gimple newstmt;
++      gimple_stmt_iterator gsi;
++
++      newstmt = build_cast_stmt(signed_size_overflow_type, arg, new_var, gimple_location(oldstmt));
++
++      first_bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest;
++      if (dom_info_available_p(CDI_DOMINATORS))
++              set_immediate_dominator(CDI_DOMINATORS, first_bb, ENTRY_BLOCK_PTR);
++      gsi = gsi_start_bb(first_bb);
++
++      gsi_insert_before(&gsi, newstmt, GSI_NEW_STMT);
++      return newstmt;
++}
++
++static gimple handle_new_phi_arg(tree arg, tree new_var, tree new_rhs)
++{
++      gimple newstmt;
++      gimple_stmt_iterator gsi;
++      void (*gsi_insert)(gimple_stmt_iterator *, gimple, enum gsi_iterator_update);
++      gimple def_newstmt = get_def_stmt(new_rhs);
++
++      gsi_insert = gsi_insert_after;
++      gsi = gsi_for_stmt(def_newstmt);
++
++      switch (gimple_code(get_def_stmt(arg))) {
++      case GIMPLE_PHI:
++              newstmt = gimple_build_assign(new_var, new_rhs);
++              gsi = gsi_after_labels(gimple_bb(def_newstmt));
++              gsi_insert = gsi_insert_before;
++              break;
++      case GIMPLE_ASM:
++      case GIMPLE_CALL:
++              newstmt = gimple_build_assign(new_var, new_rhs);
++              break;
++      case GIMPLE_ASSIGN:
++              newstmt = gimple_copy(def_newstmt);
++              break;
++      default:
++              /* unknown gimple_code (build_new_phi_arg) */
++              gcc_unreachable();
++      }
++
++      gimple_set_lhs(newstmt, make_ssa_name(new_var, newstmt));
++      gsi_insert(&gsi, newstmt, GSI_NEW_STMT);
++      return newstmt;
++}
++
++static tree build_new_phi_arg(struct pointer_set_t *visited, gimple oldstmt, tree arg, tree new_var)
++{
++      gimple newstmt;
++      tree new_rhs;
++
++      if (is_gimple_constant(arg))
++              return signed_cast_constant(arg);
++
++      pointer_set_insert(visited, oldstmt);
++      new_rhs = expand(visited, arg);
++      if (new_rhs == NULL_TREE) {
++              gcc_assert(TREE_CODE(TREE_TYPE(arg)) != VOID_TYPE);
++              newstmt = cast_old_phi_arg(oldstmt, arg, new_var);
++      } else
++              newstmt = handle_new_phi_arg(arg, new_var, new_rhs);
++      update_stmt(newstmt);
++      return gimple_get_lhs(newstmt);
++}
++
++static tree build_new_phi(struct pointer_set_t *visited, gimple oldstmt)
++{
++      gimple phi;
++      tree new_var = create_new_var(signed_size_overflow_type);
++      unsigned int i, n = gimple_phi_num_args(oldstmt);
++
++      phi = overflow_create_phi_node(oldstmt, new_var);
++
++      for (i = 0; i < n; i++) {
++              tree arg, lhs;
++
++              arg = gimple_phi_arg_def(oldstmt, i);
++              lhs = build_new_phi_arg(visited, oldstmt, arg, new_var);
++              add_phi_arg(phi, lhs, gimple_phi_arg_edge(oldstmt, i), gimple_location(oldstmt));
++      }
++      update_stmt(phi);
++      return gimple_phi_result(phi);
++}
++
++static tree handle_unary_ops(struct pointer_set_t *visited, tree var)
++{
++      gimple def_stmt = get_def_stmt(var);
++      tree new_rhs1, rhs1 = gimple_assign_rhs1(def_stmt);
++
++      if (is_gimple_constant(rhs1))
++              return dup_assign(visited, def_stmt, signed_cast_constant(rhs1), NULL_TREE, NULL_TREE);
++
++      switch (TREE_CODE(rhs1)) {
++      case SSA_NAME:
++              new_rhs1 = expand(visited, rhs1);
++              break;
++      case ARRAY_REF:
++      case ADDR_EXPR:
++      case COMPONENT_REF:
++      case COND_EXPR:
++      case INDIRECT_REF:
++#if BUILDING_GCC_VERSION >= 4006
++      case MEM_REF:
++#endif
++      case PARM_DECL:
++      case TARGET_MEM_REF:
++      case VAR_DECL:
++              return create_assign(visited, def_stmt, var, AFTER_STMT);
++      default:
++              debug_gimple_stmt(def_stmt);
++              debug_tree(rhs1);
++              gcc_unreachable();
++      }
++
++      if (new_rhs1 == NULL_TREE)
++              return create_assign(visited, def_stmt, rhs1, AFTER_STMT);
++      return dup_assign(visited, def_stmt, new_rhs1, NULL_TREE, NULL_TREE);
++}
++
++static tree transform_mult_overflow(tree rhs, tree const_rhs, tree log2const_rhs, location_t loc)
++{
++      tree new_def_rhs;
++
++      if (!is_gimple_constant(rhs))
++              return NULL_TREE;
++
++      new_def_rhs = fold_build2_loc(loc, MULT_EXPR, TREE_TYPE(const_rhs), rhs, const_rhs);
++      new_def_rhs = signed_cast_constant(new_def_rhs);
++      if (int_cst_value(new_def_rhs) >= 0)
++              return NULL_TREE;
++      return fold_build2_loc(loc, RSHIFT_EXPR, TREE_TYPE(new_def_rhs), new_def_rhs, log2const_rhs);
++}
++
++static tree handle_intentional_mult_overflow(struct pointer_set_t *visited, tree rhs, tree const_rhs)
++{
++      gimple new_def_stmt, def_stmt;
++      tree def_rhs1, def_rhs2, new_def_rhs;
++      location_t loc;
++      tree log2const_rhs;
++      int log2 = exact_log2(TREE_INT_CST_LOW(const_rhs));
++
++      if (log2 == -1) {
++//            warning(0, "Possibly unhandled intentional integer truncation");
++              return NULL_TREE;
++      }
++
++      def_stmt = get_def_stmt(rhs);
++      loc = gimple_location(def_stmt);
++      def_rhs1 = gimple_assign_rhs1(def_stmt);
++      def_rhs2 = gimple_assign_rhs2(def_stmt);
++      new_def_stmt = get_def_stmt(expand(visited, rhs));
++      log2const_rhs = build_int_cstu(TREE_TYPE(const_rhs), log2);
++
++      new_def_rhs = transform_mult_overflow(def_rhs1, const_rhs, log2const_rhs, loc);
++      if (new_def_rhs != NULL_TREE) {
++              gimple_assign_set_rhs1(new_def_stmt, new_def_rhs);
++      } else {
++              new_def_rhs = transform_mult_overflow(def_rhs2, const_rhs, log2const_rhs, loc);
++              if (new_def_rhs != NULL_TREE)
++                      gimple_assign_set_rhs2(new_def_stmt, new_def_rhs);
++      }
++      if (new_def_rhs == NULL_TREE)
++              return NULL_TREE;
++
++      update_stmt(new_def_stmt);
++//    warning(0, "Handle integer truncation (gcc optimization)");
++      return gimple_get_lhs(new_def_stmt);
++}
++
++static bool is_mult_overflow(gimple def_stmt, tree rhs1)
++{
++      gimple rhs1_def_stmt = get_def_stmt(rhs1);
++
++      if (gimple_assign_rhs_code(def_stmt) != MULT_EXPR)
++              return false;
++      if (gimple_code(rhs1_def_stmt) != GIMPLE_ASSIGN)
++              return false;
++      if (gimple_assign_rhs_code(rhs1_def_stmt) != PLUS_EXPR)
++              return false;
++      return true;
++}
++
++static tree handle_intentional_overflow(struct pointer_set_t *visited, gimple def_stmt, tree rhs1, tree rhs2)
++{
++      if (is_mult_overflow(def_stmt, rhs1))
++              return handle_intentional_mult_overflow(visited, rhs1, rhs2);
++      return NULL_TREE;
++}
++
++static tree handle_binary_ops(struct pointer_set_t *visited, tree var)
++{
++      tree rhs1, rhs2;
++      gimple def_stmt = get_def_stmt(var);
++      tree new_rhs1 = NULL_TREE;
++      tree new_rhs2 = NULL_TREE;
++
++      rhs1 = gimple_assign_rhs1(def_stmt);
++      rhs2 = gimple_assign_rhs2(def_stmt);
++
++      /* no DImode/TImode division in the 32/64 bit kernel */
++      switch (gimple_assign_rhs_code(def_stmt)) {
++      case RDIV_EXPR:
++      case TRUNC_DIV_EXPR:
++      case CEIL_DIV_EXPR:
++      case FLOOR_DIV_EXPR:
++      case ROUND_DIV_EXPR:
++      case TRUNC_MOD_EXPR:
++      case CEIL_MOD_EXPR:
++      case FLOOR_MOD_EXPR:
++      case ROUND_MOD_EXPR:
++      case EXACT_DIV_EXPR:
++      case POINTER_PLUS_EXPR:
++      /* logical AND cannot cause an overflow */
++      case BIT_AND_EXPR:
++              return create_assign(visited, def_stmt, var, AFTER_STMT);
++      default:
++              break;
++      }
++
++      if (is_gimple_constant(rhs2)) {
++              new_rhs2 = signed_cast_constant(rhs2);
++              new_rhs1 = handle_intentional_overflow(visited, def_stmt, rhs1, rhs2);
++      }
++
++      if (is_gimple_constant(rhs1)) {
++              new_rhs1 = signed_cast_constant(rhs1);
++              new_rhs2 = handle_intentional_overflow(visited, def_stmt, rhs2, rhs1);
++      }
++
++      if (new_rhs1 == NULL_TREE && TREE_CODE(rhs1) == SSA_NAME)
++              new_rhs1 = expand(visited, rhs1);
++      if (new_rhs2 == NULL_TREE && TREE_CODE(rhs2) == SSA_NAME)
++              new_rhs2 = expand(visited, rhs2);
++
++      return dup_assign(visited, def_stmt, new_rhs1, new_rhs2, NULL_TREE);
++}
++
++#if BUILDING_GCC_VERSION >= 4007
++static tree get_new_rhs(struct pointer_set_t *visited, tree rhs)
++{
++      if (is_gimple_constant(rhs))
++              return signed_cast_constant(rhs);
++      if (TREE_CODE(rhs) != SSA_NAME)
++              return NULL_TREE;
++      return expand(visited, rhs);
++}
++
++static tree handle_ternary_ops(struct pointer_set_t *visited, tree var)
++{
++      tree rhs1, rhs2, rhs3, new_rhs1, new_rhs2, new_rhs3;
++      gimple def_stmt = get_def_stmt(var);
++
++      rhs1 = gimple_assign_rhs1(def_stmt);
++      rhs2 = gimple_assign_rhs2(def_stmt);
++      rhs3 = gimple_assign_rhs3(def_stmt);
++      new_rhs1 = get_new_rhs(visited, rhs1);
++      new_rhs2 = get_new_rhs(visited, rhs2);
++      new_rhs3 = get_new_rhs(visited, rhs3);
++
++      if (new_rhs1 == NULL_TREE && new_rhs2 != NULL_TREE && new_rhs3 != NULL_TREE)
++              return dup_assign(visited, def_stmt, new_rhs1, new_rhs2, new_rhs3);
++      error("handle_ternary_ops: unknown rhs");
++      gcc_unreachable();
++}
++#endif
++
++static void set_size_overflow_type(tree node)
++{
++      switch (TYPE_MODE(TREE_TYPE(node))) {
++      case SImode:
++              signed_size_overflow_type = intDI_type_node;
++              unsigned_size_overflow_type = unsigned_intDI_type_node;
++              break;
++      case DImode:
++              if (LONG_TYPE_SIZE == GET_MODE_BITSIZE(SImode)) {
++                      signed_size_overflow_type = intDI_type_node;
++                      unsigned_size_overflow_type = unsigned_intDI_type_node;
++              } else {
++                      signed_size_overflow_type = intTI_type_node;
++                      unsigned_size_overflow_type = unsigned_intTI_type_node;
++              }
++              break;
++      default:
++              error("set_size_overflow_type: unsupported gcc configuration.");
++              gcc_unreachable();
++      }
++}
++
++static tree expand_visited(gimple def_stmt)
++{
++      gimple tmp;
++      gimple_stmt_iterator gsi = gsi_for_stmt(def_stmt);
++
++      gsi_next(&gsi);
++      tmp = gsi_stmt(gsi);
++      switch (gimple_code(tmp)) {
++      case GIMPLE_ASSIGN:
++              return gimple_get_lhs(tmp);
++      case GIMPLE_PHI:
++              return gimple_phi_result(tmp);
++      case GIMPLE_CALL:
++              return gimple_call_lhs(tmp);
++      default:
++              return NULL_TREE;
++      }
++}
++
++static tree expand(struct pointer_set_t *visited, tree var)
++{
++      gimple def_stmt;
++
++      if (is_gimple_constant(var))
++              return NULL_TREE;
++
++      if (TREE_CODE(var) == ADDR_EXPR)
++              return NULL_TREE;
++
++      if (SSA_NAME_IS_DEFAULT_DEF(var))
++              return NULL_TREE;
++
++      def_stmt = get_def_stmt(var);
++
++      if (!def_stmt)
++              return NULL_TREE;
++
++      if (pointer_set_contains(visited, def_stmt))
++              return expand_visited(def_stmt);
++
++      switch (gimple_code(def_stmt)) {
++      case GIMPLE_NOP:
++              check_missing_attribute(var);
++              return NULL_TREE;
++      case GIMPLE_PHI:
++              return build_new_phi(visited, def_stmt);
++      case GIMPLE_CALL:
++      case GIMPLE_ASM:
++              gcc_assert(TREE_CODE(TREE_TYPE(var)) != VOID_TYPE);
++              return create_assign(visited, def_stmt, var, AFTER_STMT);
++      case GIMPLE_ASSIGN:
++              switch (gimple_num_ops(def_stmt)) {
++              case 2:
++                      return handle_unary_ops(visited, var);
++              case 3:
++                      return handle_binary_ops(visited, var);
++#if BUILDING_GCC_VERSION >= 4007
++              case 4:
++                      return handle_ternary_ops(visited, var);
++#endif
++              }
++      default:
++              debug_gimple_stmt(def_stmt);
++              error("expand: unknown gimple code");
++              gcc_unreachable();
++      }
++}
++
++static void change_function_arg(gimple func_stmt, tree origarg, unsigned int argnum, tree newarg)
++{
++      gimple assign, stmt;
++      gimple_stmt_iterator gsi = gsi_for_stmt(func_stmt);
++      tree origtype = TREE_TYPE(origarg);
++
++      stmt = gsi_stmt(gsi);
++      gcc_assert(gimple_code(stmt) == GIMPLE_CALL);
++
++      assign = build_cast_stmt(origtype, newarg, CREATE_NEW_VAR, gimple_location(stmt));
++      gsi_insert_before(&gsi, assign, GSI_SAME_STMT);
++      update_stmt(assign);
++
++      gimple_call_set_arg(stmt, argnum, gimple_get_lhs(assign));
++      update_stmt(stmt);
++}
++
++static tree get_function_arg(unsigned int argnum, gimple stmt, tree fndecl)
++{
++      const char *origid;
++      tree arg, origarg;
++
++      if (!DECL_ABSTRACT_ORIGIN(fndecl)) {
++              gcc_assert(gimple_call_num_args(stmt) > argnum);
++              return gimple_call_arg(stmt, argnum);
++      }
++
++      origarg = DECL_ARGUMENTS(DECL_ABSTRACT_ORIGIN(fndecl));
++      while (origarg && argnum) {
++              argnum--;
++              origarg = TREE_CHAIN(origarg);
++      }
++
++      gcc_assert(argnum == 0);
++
++      gcc_assert(origarg != NULL_TREE);
++      origid = NAME(origarg);
++      for (arg = DECL_ARGUMENTS(fndecl); arg; arg = TREE_CHAIN(arg)) {
++              if (!strcmp(origid, NAME(arg)))
++                      return arg;
++      }
++      return NULL_TREE;
++}
++
++static void insert_cond(tree arg, basic_block cond_bb)
++{
++      gimple cond_stmt;
++      gimple_stmt_iterator gsi = gsi_last_bb(cond_bb);
++
++      cond_stmt = gimple_build_cond(GT_EXPR, arg, build_int_cstu(signed_size_overflow_type, 0x7fffffff), NULL_TREE, NULL_TREE);
++      gsi_insert_after(&gsi, cond_stmt, GSI_CONTINUE_LINKING);
++      update_stmt(cond_stmt);
++}
++
++static tree create_string_param(tree string)
++{
++      tree array_ref = build4(ARRAY_REF, TREE_TYPE(string), string, integer_zero_node, NULL, NULL);
++
++      return build1(ADDR_EXPR, ptr_type_node, array_ref);
++}
++
++static void insert_cond_result(basic_block bb_true, gimple stmt, tree arg)
++{
++      gimple func_stmt, def_stmt;
++      tree current_func, loc_file, loc_line;
++      expanded_location xloc;
++      gimple_stmt_iterator gsi = gsi_start_bb(bb_true);
++
++      def_stmt = get_def_stmt(arg);
++      xloc = expand_location(gimple_location(def_stmt));
++
++      if (!gimple_has_location(def_stmt)) {
++              xloc = expand_location(gimple_location(stmt));
++              gcc_assert(gimple_has_location(stmt));
++      }
++
++      loc_line = build_int_cstu(unsigned_type_node, xloc.line);
++
++      loc_file = build_string(strlen(xloc.file), xloc.file);
++      TREE_TYPE(loc_file) = char_array_type_node;
++      loc_file = create_string_param(loc_file);
++
++      current_func = build_string(IDENTIFIER_LENGTH(DECL_NAME(current_function_decl)), NAME(current_function_decl));
++      TREE_TYPE(current_func) = char_array_type_node;
++      current_func = create_string_param(current_func);
++
++      // void report_size_overflow(const char *file, unsigned int line, const char *func)
++      func_stmt = gimple_build_call(report_size_overflow_decl, 3, loc_file, loc_line, current_func);
++
++      gsi_insert_after(&gsi, func_stmt, GSI_CONTINUE_LINKING);
++}
++
++static void insert_check_size_overflow(gimple stmt, tree arg)
++{
++      basic_block cond_bb, join_bb, bb_true;
++      edge e;
++      gimple_stmt_iterator gsi = gsi_for_stmt(stmt);
++
++      cond_bb = gimple_bb(stmt);
++      gsi_prev(&gsi);
++      if (gsi_end_p(gsi))
++              e = split_block_after_labels(cond_bb);
++      else
++              e = split_block(cond_bb, gsi_stmt(gsi));
++      cond_bb = e->src;
++      join_bb = e->dest;
++      e->flags = EDGE_FALSE_VALUE;
++      e->probability = REG_BR_PROB_BASE;
++
++      bb_true = create_empty_bb(cond_bb);
++      make_edge(cond_bb, bb_true, EDGE_TRUE_VALUE);
++
++      if (dom_info_available_p(CDI_DOMINATORS)) {
++              set_immediate_dominator(CDI_DOMINATORS, bb_true, cond_bb);
++              set_immediate_dominator(CDI_DOMINATORS, join_bb, cond_bb);
++      }
++
++      insert_cond(arg, cond_bb);
++      insert_cond_result(bb_true, stmt, arg);
++}
++
++static void handle_function_arg(gimple stmt, tree fndecl, unsigned int argnum)
++{
++      struct pointer_set_t *visited;
++      tree arg, newarg;
++      gimple ucast_stmt;
++      gimple_stmt_iterator gsi;
++      location_t loc = gimple_location(stmt);
++
++      arg = get_function_arg(argnum, stmt, fndecl);
++      if (arg == NULL_TREE)
++              return;
++
++      if (is_gimple_constant(arg))
++              return;
++      if (TREE_CODE(arg) != SSA_NAME)
++              return;
++
++      set_size_overflow_type(arg);
++      visited = pointer_set_create();
++      newarg = expand(visited, arg);
++      pointer_set_destroy(visited);
++
++      if (newarg == NULL_TREE)
++              return;
++
++      change_function_arg(stmt, arg, argnum, newarg);
++
++      ucast_stmt = build_cast_stmt(unsigned_size_overflow_type, newarg, CREATE_NEW_VAR, loc);
++      gsi = gsi_for_stmt(stmt);
++      gsi_insert_before(&gsi, ucast_stmt, GSI_SAME_STMT);
++
++      insert_check_size_overflow(stmt, gimple_get_lhs(ucast_stmt));
++//    inform(loc, "Integer size_overflow check applied here.");
++}
++
++static void handle_function_by_attribute(gimple stmt, tree attr, tree fndecl)
++{
++      tree p = TREE_VALUE(attr);
++      do {
++              handle_function_arg(stmt, fndecl, TREE_INT_CST_LOW(TREE_VALUE(p))-1);
++              p = TREE_CHAIN(p);
++      } while (p);
++}
++
++static void handle_function_by_hash(gimple stmt, tree fndecl)
++{
++      struct size_overflow_hash *hash;
++      expanded_location xloc;
++
++      hash = get_function_hash(fndecl);
++      xloc = expand_location(DECL_SOURCE_LOCATION(fndecl));
++
++      fndecl = get_original_function_decl(fndecl);
++      if (!hash->name || !hash->file)
++              return;
++      if (strcmp(hash->name, NAME(fndecl)) || strcmp(hash->file, xloc.file))
++              return;
++
++#define search_param(argnum)                                                  \
++      if (hash->param##argnum)                                                \
++              handle_function_arg(stmt, fndecl, argnum - 1);
++
++      search_param(1);
++      search_param(2);
++      search_param(3);
++      search_param(4);
++      search_param(5);
++      search_param(6);
++      search_param(7);
++      search_param(8);
++      search_param(9);
++#undef search_param
++}
++
++static unsigned int handle_function(void)
++{
++      basic_block bb = ENTRY_BLOCK_PTR->next_bb;
++      int saved_last_basic_block = last_basic_block;
++
++      do {
++              gimple_stmt_iterator gsi;
++              basic_block next = bb->next_bb;
++
++              for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
++                      tree fndecl, attr;
++                      gimple stmt = gsi_stmt(gsi);
++
++                      if (!(is_gimple_call(stmt)))
++                              continue;
++                      fndecl = gimple_call_fndecl(stmt);
++                      if (fndecl == NULL_TREE)
++                              continue;
++                      if (gimple_call_num_args(stmt) == 0)
++                              continue;
++                      attr = lookup_attribute("size_overflow", TYPE_ATTRIBUTES(TREE_TYPE(fndecl)));
++                      if (!attr || !TREE_VALUE(attr))
++                              handle_function_by_hash(stmt, fndecl);
++                      else
++                              handle_function_by_attribute(stmt, attr, fndecl);
++                      gsi = gsi_for_stmt(stmt);
++              }
++              bb = next;
++      } while (bb && bb->index <= saved_last_basic_block);
++      return 0;
++}
++
++static struct gimple_opt_pass size_overflow_pass = {
++      .pass = {
++              .type                   = GIMPLE_PASS,
++              .name                   = "size_overflow",
++              .gate                   = NULL,
++              .execute                = handle_function,
++              .sub                    = NULL,
++              .next                   = NULL,
++              .static_pass_number     = 0,
++              .tv_id                  = TV_NONE,
++              .properties_required    = PROP_cfg | PROP_referenced_vars,
++              .properties_provided    = 0,
++              .properties_destroyed   = 0,
++              .todo_flags_start       = 0,
++              .todo_flags_finish      = TODO_verify_ssa | TODO_verify_stmts | TODO_dump_func | TODO_remove_unused_locals | TODO_update_ssa_no_phi | TODO_cleanup_cfg | TODO_ggc_collect | TODO_verify_flow
++      }
++};
++
++static void start_unit_callback(void __unused *gcc_data, void __unused *user_data)
++{
++      tree fntype;
++
++      const_char_ptr_type_node = build_pointer_type(build_type_variant(char_type_node, 1, 0));
++
++      // void report_size_overflow(const char *loc_file, unsigned int loc_line, const char *current_func)
++      fntype = build_function_type_list(void_type_node,
++                                        const_char_ptr_type_node,
++                                        unsigned_type_node,
++                                        const_char_ptr_type_node,
++                                        NULL_TREE);
++      report_size_overflow_decl = build_fn_decl("report_size_overflow", fntype);
++
++      TREE_PUBLIC(report_size_overflow_decl) = 1;
++      DECL_EXTERNAL(report_size_overflow_decl) = 1;
++      DECL_ARTIFICIAL(report_size_overflow_decl) = 1;
++}
++
++extern struct gimple_opt_pass pass_dce;
++
++int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
++{
++      int i;
++      const char * const plugin_name = plugin_info->base_name;
++      const int argc = plugin_info->argc;
++      const struct plugin_argument * const argv = plugin_info->argv;
++      bool enable = true;
++
++      struct register_pass_info size_overflow_pass_info = {
++              .pass                           = &size_overflow_pass.pass,
++              .reference_pass_name            = "mudflap2",
++              .ref_pass_instance_number       = 1,
++              .pos_op                         = PASS_POS_INSERT_BEFORE
++      };
++
++      struct register_pass_info dce_pass_info = {
++              .pass                           = &pass_dce.pass,
++              .reference_pass_name            = "mudflap2",
++              .ref_pass_instance_number       = 1,
++              .pos_op                         = PASS_POS_INSERT_BEFORE
++      };
++
++      if (!plugin_default_version_check(version, &gcc_version)) {
++              error(G_("incompatible gcc/plugin versions"));
++              return 1;
++      }
++
++      for (i = 0; i < argc; ++i) {
++              if (!(strcmp(argv[i].key, "no-size_overflow"))) {
++                      enable = false;
++                      continue;
++              }
++              error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
++      }
++
++      register_callback(plugin_name, PLUGIN_INFO, NULL, &size_overflow_plugin_info);
++      if (enable) {
++              register_callback ("start_unit", PLUGIN_START_UNIT, &start_unit_callback, NULL);
++              register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &size_overflow_pass_info);
++              register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &dce_pass_info);
++      }
++      register_callback(plugin_name, PLUGIN_ATTRIBUTES, register_attributes, NULL);
++
++      return 0;
++}
 diff --git a/tools/gcc/stackleak_plugin.c b/tools/gcc/stackleak_plugin.c
 new file mode 100644
-index 0000000..d44f37c
+index 0000000..b87ec9d
 --- /dev/null
 +++ b/tools/gcc/stackleak_plugin.c
-@@ -0,0 +1,291 @@
+@@ -0,0 +1,313 @@
 +/*
 + * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
 + * Licensed under the GPL v2
@@ -81096,7 +85792,7 @@ index 0000000..d44f37c
 +static bool init_locals;
 +
 +static struct plugin_info stackleak_plugin_info = {
-+      .version        = "201111150100",
++      .version        = "201203140940",
 +      .help           = "track-lowest-sp=nn\ttrack sp in functions whose frame size is at least nn bytes\n"
 +//                      "initialize-locals\t\tforcibly initialize all stack frames\n"
 +};
@@ -81146,31 +85842,33 @@ index 0000000..d44f37c
 +      return track_frame_size >= 0;
 +}
 +
-+static void stackleak_check_alloca(gimple_stmt_iterator gsi)
++static void stackleak_check_alloca(gimple_stmt_iterator *gsi)
 +{
 +      gimple check_alloca;
-+      tree fndecl, fntype, alloca_size;
++      tree fntype, fndecl, alloca_size;
 +
-+      // insert call to void pax_check_alloca(unsigned long size)
 +      fntype = build_function_type_list(void_type_node, long_unsigned_type_node, NULL_TREE);
 +      fndecl = build_fn_decl(check_function, fntype);
 +      DECL_ASSEMBLER_NAME(fndecl); // for LTO
-+      alloca_size = gimple_call_arg(gsi_stmt(gsi), 0);
++
++      // insert call to void pax_check_alloca(unsigned long size)
++      alloca_size = gimple_call_arg(gsi_stmt(*gsi), 0);
 +      check_alloca = gimple_build_call(fndecl, 1, alloca_size);
-+      gsi_insert_before(&gsi, check_alloca, GSI_CONTINUE_LINKING);
++      gsi_insert_before(gsi, check_alloca, GSI_SAME_STMT);
 +}
 +
-+static void stackleak_add_instrumentation(gimple_stmt_iterator gsi)
++static void stackleak_add_instrumentation(gimple_stmt_iterator *gsi)
 +{
 +      gimple track_stack;
-+      tree fndecl, fntype;
++      tree fntype, fndecl;
 +
-+      // insert call to void pax_track_stack(void)
 +      fntype = build_function_type_list(void_type_node, NULL_TREE);
 +      fndecl = build_fn_decl(track_function, fntype);
 +      DECL_ASSEMBLER_NAME(fndecl); // for LTO
++
++      // insert call to void pax_track_stack(void)
 +      track_stack = gimple_build_call(fndecl, 0);
-+      gsi_insert_after(&gsi, track_stack, GSI_CONTINUE_LINKING);
++      gsi_insert_after(gsi, track_stack, GSI_CONTINUE_LINKING);
 +}
 +
 +#if BUILDING_GCC_VERSION == 4005
@@ -81206,34 +85904,54 @@ index 0000000..d44f37c
 +static unsigned int execute_stackleak_tree_instrument(void)
 +{
 +      basic_block bb, entry_bb;
-+      bool prologue_instrumented = false;
++      bool prologue_instrumented = false, is_leaf = true;
 +
 +      entry_bb = ENTRY_BLOCK_PTR_FOR_FUNCTION(cfun)->next_bb;
 +
 +      // 1. loop through BBs and GIMPLE statements
 +      FOR_EACH_BB(bb) {
 +              gimple_stmt_iterator gsi;
++
 +              for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
++                      gimple stmt;
++
++                      stmt = gsi_stmt(gsi);
++
++                      if (is_gimple_call(stmt))
++                              is_leaf = false;
++
 +                      // gimple match: align 8 built-in BUILT_IN_NORMAL:BUILT_IN_ALLOCA attributes <tree_list 0xb7576450>
-+                      if (!is_alloca(gsi_stmt(gsi)))
++                      if (!is_alloca(stmt))
 +                              continue;
 +
 +                      // 2. insert stack overflow check before each __builtin_alloca call
-+                      stackleak_check_alloca(gsi);
++                      stackleak_check_alloca(&gsi);
 +
 +                      // 3. insert track call after each __builtin_alloca call
-+                      stackleak_add_instrumentation(gsi);
++                      stackleak_add_instrumentation(&gsi);
 +                      if (bb == entry_bb)
 +                              prologue_instrumented = true;
 +              }
 +      }
 +
++      // special cases for some bad linux code: taking the address of static inline functions will materialize them
++      // but we mustn't instrument some of them as the resulting stack alignment required by the function call ABI
++      // will break other assumptions regarding the expected (but not otherwise enforced) register clobbering  ABI.
++      // case in point: native_save_fl on amd64 when optimized for size clobbers rdx if it were instrumented here.
++      if (is_leaf && !TREE_PUBLIC(current_function_decl) && DECL_DECLARED_INLINE_P(current_function_decl))
++              return 0;
++      if (is_leaf && !strncmp(IDENTIFIER_POINTER(DECL_NAME(current_function_decl)), "_paravirt_", 10))
++              return 0;
++
 +      // 4. insert track call at the beginning
 +      if (!prologue_instrumented) {
++              gimple_stmt_iterator gsi;
++
 +              bb = split_block_after_labels(ENTRY_BLOCK_PTR)->dest;
 +              if (dom_info_available_p(CDI_DOMINATORS))
 +                      set_immediate_dominator(CDI_DOMINATORS, bb, ENTRY_BLOCK_PTR);
-+              stackleak_add_instrumentation(gsi_start_bb(bb));
++              gsi = gsi_start_bb(bb);
++              stackleak_add_instrumentation(&gsi);
 +      }
 +
 +      return 0;
@@ -81295,7 +86013,7 @@ index 0000000..d44f37c
 +//            .reference_pass_name            = "tree_profile",
 +              .reference_pass_name            = "optimized",
 +              .ref_pass_instance_number       = 0,
-+              .pos_op                         = PASS_POS_INSERT_AFTER
++              .pos_op                         = PASS_POS_INSERT_BEFORE
 +      };
 +      struct register_pass_info stackleak_final_pass_info = {
 +              .pass                           = &stackleak_final_rtl_opt_pass.pass,
@@ -81377,10 +86095,10 @@ index af0f22f..9a7d479 100644
                         break;
         }
 diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
-index aefdda3..8e8fbb9 100644
+index d9cfb78..4f27c10 100644
 --- a/virt/kvm/kvm_main.c
 +++ b/virt/kvm/kvm_main.c
-@@ -73,7 +73,7 @@ LIST_HEAD(vm_list);
+@@ -75,7 +75,7 @@ LIST_HEAD(vm_list);
  
  static cpumask_var_t cpus_hardware_enabled;
  static int kvm_usage_count = 0;
@@ -81389,7 +86107,7 @@ index aefdda3..8e8fbb9 100644
  
  struct kmem_cache *kvm_vcpu_cache;
  EXPORT_SYMBOL_GPL(kvm_vcpu_cache);
-@@ -2266,7 +2266,7 @@ static void hardware_enable_nolock(void *junk)
+@@ -2268,7 +2268,7 @@ static void hardware_enable_nolock(void *junk)
  
        if (r) {
                cpumask_clear_cpu(cpu, cpus_hardware_enabled);
@@ -81398,7 +86116,7 @@ index aefdda3..8e8fbb9 100644
                printk(KERN_INFO "kvm: enabling virtualization on "
                                 "CPU%d failed\n", cpu);
        }
-@@ -2320,10 +2320,10 @@ static int hardware_enable_all(void)
+@@ -2322,10 +2322,10 @@ static int hardware_enable_all(void)
  
        kvm_usage_count++;
        if (kvm_usage_count == 1) {
@@ -81411,7 +86129,7 @@ index aefdda3..8e8fbb9 100644
                        hardware_disable_all_nolock();
                        r = -EBUSY;
                }
-@@ -2588,7 +2588,7 @@ static void kvm_sched_out(struct preempt_notifier *pn,
+@@ -2676,7 +2676,7 @@ static void kvm_sched_out(struct preempt_notifier *pn,
        kvm_arch_vcpu_put(vcpu);
  }
  
@@ -81420,7 +86138,7 @@ index aefdda3..8e8fbb9 100644
                  struct module *module)
  {
        int r;
-@@ -2651,7 +2651,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
+@@ -2739,7 +2739,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
        if (!vcpu_align)
                vcpu_align = __alignof__(struct kvm_vcpu);
        kvm_vcpu_cache = kmem_cache_create("kvm_vcpu", vcpu_size, vcpu_align,
@@ -81429,7 +86147,7 @@ index aefdda3..8e8fbb9 100644
        if (!kvm_vcpu_cache) {
                r = -ENOMEM;
                goto out_free_3;
-@@ -2661,9 +2661,11 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
+@@ -2749,9 +2749,11 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
        if (r)
                goto out_free;
  
diff --git a/kernel/patches/linux-3.1-bridge-master-device-stuck-in-no-carrier-state-forever-when-in-user-stp-mode.patch b/kernel/patches/linux-3.1-bridge-master-device-stuck-in-no-carrier-state-forever-when-in-user-stp-mode.patch
deleted file mode 100644 (file)
index 2e3d327..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-From b03b6dd58cef7d15b7c46a6729b83dd535ef08ab Mon Sep 17 00:00:00 2001
-From: Vitalii Demianets <vitas@nppfactor.kiev.ua>
-Date: Fri, 25 Nov 2011 00:16:37 +0000
-Subject: [PATCH] bridge: master device stuck in no-carrier state forever when
- in user-stp mode
-
-When in user-stp mode, bridge master do not follow state of its slaves, so
-after the following sequence of events it can stuck forever in no-carrier
-state:
-1) turn stp off
-2) put all slaves down - master device will follow their state and also go in
-no-carrier state
-3) turn stp on with bridge-stp script returning 0 (go to the user-stp mode)
-Now bridge master won't follow slaves' state and will never reach running
-state.
-
-This patch solves the problem by making user-stp and kernel-stp behavior
-similar regarding master following slaves' states.
-
-Signed-off-by: Vitalii Demianets <vitas@nppfactor.kiev.ua>
-Acked-by: Stephen Hemminger <shemminger@vyatta.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/bridge/br_netlink.c |    6 ++++++
- net/bridge/br_stp.c     |   29 ++++++++++++++---------------
- 2 files changed, 20 insertions(+), 15 deletions(-)
-
-diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
-index e5f9ece3..a1daf82 100644
---- a/net/bridge/br_netlink.c
-+++ b/net/bridge/br_netlink.c
-@@ -18,6 +18,7 @@
- #include <net/sock.h>
- #include "br_private.h"
-+#include "br_private_stp.h"
- static inline size_t br_nlmsg_size(void)
- {
-@@ -188,6 +189,11 @@ static int br_rtm_setlink(struct sk_buff *skb,  struct nlmsghdr *nlh, void *arg)
-       p->state = new_state;
-       br_log_state(p);
-+
-+      spin_lock_bh(&p->br->lock);
-+      br_port_state_selection(p->br);
-+      spin_unlock_bh(&p->br->lock);
-+
-       br_ifinfo_notify(RTM_NEWLINK, p);
-       return 0;
-diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c
-index ad0a3f7..dd147d7 100644
---- a/net/bridge/br_stp.c
-+++ b/net/bridge/br_stp.c
-@@ -399,25 +399,24 @@ void br_port_state_selection(struct net_bridge *br)
-       struct net_bridge_port *p;
-       unsigned int liveports = 0;
--      /* Don't change port states if userspace is handling STP */
--      if (br->stp_enabled == BR_USER_STP)
--              return;
--
-       list_for_each_entry(p, &br->port_list, list) {
-               if (p->state == BR_STATE_DISABLED)
-                       continue;
--              if (p->port_no == br->root_port) {
--                      p->config_pending = 0;
--                      p->topology_change_ack = 0;
--                      br_make_forwarding(p);
--              } else if (br_is_designated_port(p)) {
--                      del_timer(&p->message_age_timer);
--                      br_make_forwarding(p);
--              } else {
--                      p->config_pending = 0;
--                      p->topology_change_ack = 0;
--                      br_make_blocking(p);
-+              /* Don't change port states if userspace is handling STP */
-+              if (br->stp_enabled != BR_USER_STP) {
-+                      if (p->port_no == br->root_port) {
-+                              p->config_pending = 0;
-+                              p->topology_change_ack = 0;
-+                              br_make_forwarding(p);
-+                      } else if (br_is_designated_port(p)) {
-+                              del_timer(&p->message_age_timer);
-+                              br_make_forwarding(p);
-+                      } else {
-+                              p->config_pending = 0;
-+                              p->topology_change_ack = 0;
-+                              br_make_blocking(p);
-+                      }
-               }
-               if (p->state == BR_STATE_FORWARDING)
--- 
-1.7.6.2
-
diff --git a/kernel/scripts/configcommon.py b/kernel/scripts/configcommon.py
new file mode 100755 (executable)
index 0000000..54f355a
--- /dev/null
@@ -0,0 +1,73 @@
+#!/usr/bin/python
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+import re
+import sys
+
+filelist = sys.argv[1:]
+
+lines = []
+options_state   = {}
+options_counter = {}
+
+first_file = True
+for filename in filelist:
+       f = open(filename)
+
+       for line in f.readlines():
+               # Strip newline.
+               line = line.rstrip()
+
+               if line.startswith("# Automatically generated file;"):
+                       continue
+
+               if line.endswith("Kernel Configuration"):
+                       continue
+
+               option = value = None
+
+               m = re.match("^# (.*) is not set$", line)
+               if m:
+                       option = m.group(1)
+                       value  = "n"
+
+               m = re.match("^(.*)=(.*)$", line)
+               if m:
+                       option = m.group(1)
+                       value  = m.group(2)
+
+               if option:
+                       option_value = "%s=%s" % (option, value or "")
+
+                       try:
+                               options_counter[option_value] += 1
+                               continue
+
+                       except KeyError:
+                               options_counter[option_value] = 1
+
+               if first_file:
+                       lines.append(line)
+
+       f.close()
+       first_file = False
+
+for line in lines:
+       m = re.match("^# (.*) is not set$", line)
+       if m:
+               if options_counter.get("%s=n" % m.group(1), 0) == len(filelist):
+                       print "# %s is not set" % m.group(1)
+
+               continue
+
+       m = re.match("^(.*)=(.*)$", line)
+       if m:
+               if options_counter.get(m.group(0), 0) == len(filelist):
+                       print m.group(0)
+
+               continue
+
+       print line
diff --git a/kernel/scripts/configdiff.py b/kernel/scripts/configdiff.py
new file mode 100755 (executable)
index 0000000..612e9bf
--- /dev/null
@@ -0,0 +1,84 @@
+#!/usr/bin/python
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+import re
+import sys
+
+filelist = sys.argv[1:]
+
+options = []
+
+f = open(filelist[0])
+for line in f.readlines():
+       # Strip newline.
+       line = line.rstrip()
+
+       option = value = None
+
+       m = re.match("^# (.*) is not set$", line)
+       if m:
+               option = m.group(1)
+               value  = "n"
+
+       m = re.match("^(.*)=(.*)$", line)
+       if m:
+               option = m.group(1)
+               value  = m.group(2)
+
+       if option:
+               option_value = "%s=%s" % (option, value or "")
+               options.append(option_value)
+
+f.close()
+
+f = open(filelist[1])
+
+section = None
+for line in f.readlines():
+       m = re.match("^# (.*)$", line)
+       if m:
+               _section = m.group(1)
+               if not _section.startswith("CONFIG_") and \
+                               not _section.endswith("Kernel Configuration") and \
+                               not _section.startswith("Automatically generated file;"):
+                       section = _section
+
+       option = None
+       value  = None
+
+       m = re.match("^# (.*) is not set$", line)
+       if m:
+               option = m.group(1)
+               value  = "n"
+
+       m = re.match("^(.*)=(.*)$", line)
+       if m:
+               option = m.group(1)
+               value  = m.group(2)
+
+       if not option:
+               continue
+
+       # Ignore all options CONFIG_HAVE_ because we cannot
+       # set them anyway.
+       elif option.startswith("CONFIG_HAVE_"):
+               continue
+
+       option_value = "%s=%s" % (option, value)
+       if not option_value in options:
+               if section:
+                       print
+                       print "#"
+                       print "# %s" % section
+                       print "#"
+                       section = None
+
+               if value == "n":
+                       print "# %s is not set" % option
+               else:
+                       print "%s=%s" % (option, value)
+
+f.close()
diff --git a/kernel/scripts/configure b/kernel/scripts/configure
new file mode 100755 (executable)
index 0000000..e60bc83
--- /dev/null
@@ -0,0 +1,315 @@
+#!/bin/bash
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+BASEDIR=$(dirname ${0})
+SCRIPTS_DIR=${BASEDIR}
+
+CONFIGS="x86_64:default i686:legacy i686:default"
+CONFIGS="${CONFIGS} armv7hl:omap armv5tel:versatile armv5tel:kirkwood"
+
+function merge_config() {
+       local arch=${1}
+       local flavour=${2}
+       local output=${3}
+       shift 3
+
+       local arg
+       for arg in arch flavour output; do
+               if [ -z "${!arg}" ]; then
+                       echo >&2 "merge usage: <arch> <flavour> <output filename>"
+                       exit 2
+               fi
+       done
+
+       local config_mode="oldnoconfig"
+       local extra_configs
+       while [ $# -gt 0 ]; do
+               case "${1}" in
+                       --mode=*)
+                               config_mode=${1#--mode=}
+                               shift
+                               ;;
+                       -*)
+                               echo >&2 "Unknown option: ${1}"
+                               ;;
+                       *)
+                               extra_configs="${extra_configs} ${1}"
+                               ;;
+               esac
+               shift
+       done
+
+       local configs="${extra_configs} config-generic"
+
+       case "${arch}:${flavour}" in
+               # x86
+               x86_64:default)
+                       configs="${configs} config-x86-generic config-x86_64-default"
+                       ;;
+               i686:default)
+                       configs="${configs} config-x86-generic config-i686-default"
+                       ;;
+               i686:legacy)
+                       configs="${configs} config-x86-generic config-i686-default"
+                       configs="${configs} config-i686-legacy"
+                       ;;
+
+               # ARM
+               armv5tel:versatile)
+                       configs="${configs} config-arm-generic"
+                       ;;
+               armv5tel:kirkwood)
+                       configs="${configs} config-arm-generic config-armv5tel-kirkwood"
+                       ;;
+               armv7hl:omap)
+                       configs="${configs} config-arm-generic config-armv7hl-omap"
+                       ;;
+               *)
+                       echo >&2 "ERROR: Invalid parameters given: $@"
+                       return 1
+                       ;;
+       esac
+
+       # Determine the kernel arch.
+       local kernel_arch=
+       case "${arch}" in
+               arm*)
+                       kernel_arch="arm"
+                       ;;
+               i?86|x86*)
+                       kernel_arch="x86"
+                       ;;
+       esac
+
+       # Merge the configuration files from its elementary configuration
+       # files.
+       local tmp_out=$(mktemp)
+       local tmp_in=$(mktemp)
+
+       local config
+       for config in ${configs}; do
+               cat ${tmp_out} > ${tmp_in}
+               perl ${SCRIPTS_DIR}/merge.pl \
+                       ${config} ${tmp_in} > ${tmp_out}
+       done
+
+       if [ "${config_mode}" != "none" ]; then
+               echo "Running 'make oldnoconfig' for ${arch} (${flavour})..."
+               (
+                       cd ${KERNEL_DIR}
+                       cat ${tmp_out} > .config
+                       make ARCH="${kernel_arch}" ${config_mode}
+                       cat .config > ${tmp_out}
+               )
+       fi
+
+       cat ${tmp_out} > ${output}
+       rm -f ${tmp_in} ${tmp_out}
+}
+
+# This function runs an interactive "make oldconfig".
+function make_oldconfig() {
+       local arch="x86_64"
+       local kernel_arch="x86"
+       local flavour="default"
+
+       local config_in=$(mktemp)
+       local config_out=$(mktemp)
+       local diff_out=$(mktemp)
+
+       merge_config ${arch} ${flavour} ${config_in} --mode=none
+
+       (
+               cd ${KERNEL_DIR}
+               cat ${config_in} > .config
+
+               echo "You may now edit the configuration..."
+
+               local option
+               select option in oldconfig menuconfig oldnoconfig startover quit; do
+                       case "${option}" in
+                               oldconfig|menuconfig|oldnoconfig)
+                                       make ARCH=${kernel_arch} ${option}
+                                       ;;
+                               startover)
+                                       cat ${config_in} > .config
+                                       ;;
+                               quit)
+                                       break
+                                       ;;
+                       esac
+               done
+
+               cat .config > ${config_out}
+       )
+
+       ${SCRIPTS_DIR}/configdiff.py ${config_in} ${config_out} > ${diff_out}
+
+       # Update the rest of the configurations.
+       diff_configs ${diff_out} --mode=oldconfig
+
+       rm -f ${config_in} ${config_out} ${diff_out}
+}
+
+# config-generic
+#  Intersection of all files.
+# config-x86-generic
+#  Diff of (intersection of (i686-{default,legacy} and x86_64-default)
+#  against config-generic).
+# config-x86-x86_64
+#  Diff against merge of (config-generic and config-x86-generic).
+
+function diff_configs() {
+       local extra_configs="$@"
+
+       declare -A arch_configs
+
+       tmpdir=$(mktemp -d)
+
+       for config in ${CONFIGS}; do
+               arch=${config%:*}
+               flavour=${config#*:}
+
+               filename=${tmpdir}/config-${arch}-${flavour}
+
+               merge_config ${arch} ${flavour} ${filename} ${extra_configs}
+
+               # Do not include i686 legacy.
+               case "${config}" in
+                       i686:legacy)
+                               continue
+                               ;;
+                       armv5tel:versatile)
+                               ;;
+                       arm*)
+                               continue
+                               ;;
+               esac
+
+               case "${arch}" in
+                       x86*|i?86)
+                               arch_configs[x86]="${arch_configs[x86]} ${filename}"
+                               ;;
+                       arm*)
+                               arch_configs[arm]="${arch_configs[arm]} ${filename}"
+                               ;;
+                       *)
+                               echo >&2 "ERROR: Invalid architecture: ${arch}"
+                               ;;
+               esac
+       done
+
+       common_configs=""
+       for arch in x86 arm; do
+               filename="${tmpdir}/config-${arch}-common"
+               ${SCRIPTS_DIR}/configcommon.py ${arch_configs[${arch}]} \
+                       > ${filename}
+
+               common_configs="${common_configs} ${filename}"
+       done
+
+       ${SCRIPTS_DIR}/configcommon.py ${common_configs} > ${tmpdir}/config-generic
+
+       ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-generic ${tmpdir}/config-arm-common \
+               > ${tmpdir}/config-arm-generic
+
+       ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-generic ${tmpdir}/config-x86-common \
+               > ${tmpdir}/config-x86-generic
+
+       for config in ${CONFIGS}; do
+               arch=${config%:*}
+               flavour=${config#*:}
+
+               case "${config}" in
+                       arm*:*)
+                               suparch="arm"
+                               ;;
+                       i?86:*|x86*:*)
+                               suparch="x86"
+                               ;;
+               esac
+               filename=${tmpdir}/config-${arch}-${flavour}
+
+               case "${config}" in
+                       i686:legacy)
+                               # Legacy depends directly on the default configuration.
+                               ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-i686-default \
+                                       ${filename} > ${filename}.tmp
+                               ;;
+                       armv5tel:versatile)
+                               rm -f ${filename}
+                               continue
+                               ;;
+                       *)
+                               ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-${suparch}-common \
+                                       ${filename} > ${filename}.tmp
+                               ;;
+               esac
+               mv ${filename}{.tmp,}
+       done
+       rm -f ${tmpdir}/config-*-common
+
+       for config in ${tmpdir}/*; do
+               if ! cmp $(basename ${config}) ${config} &>/dev/null; then
+                       echo "$(basename ${config}) has changed."
+               fi
+               cat ${config} > $(basename ${config})
+       done
+
+       rm -rf ${tmpdir}
+}
+
+KERNEL_DIR=
+
+# Parse commandline.
+while [ $# -gt 0 ]; do
+       arg=${1}; shift
+       case "${arg}" in
+               --kernel-dir=*)
+                       KERNEL_DIR=${arg#--kernel-dir=}
+                       ;;
+               help|"")
+                       echo "${0} - available commands:"
+                       echo "    * merge <arch> <flavour> <output filename>"
+                       echo "    * update ..."
+                       echo "    * oldconfig"
+                       echo ""
+                       echo "    You must always set --kernel-dir=..."
+                       exit 0
+                       ;;
+               merge|oldconfig|update)
+                       action=${arg}
+                       break
+                       ;;
+       esac
+done
+
+if [ -z "${KERNEL_DIR}" ]; then
+       echo >&2 "--kernel-dir=... was not set!"
+       exit 2
+fi
+
+if [ -z "${action}" ]; then
+       echo >&2 "No action given... Try ${0} help."
+       exit 2
+fi
+
+case "${action}" in
+       merge)
+               merge_config $@
+               exit $?
+               ;;
+       oldconfig)
+               make_oldconfig
+               exit $?
+               ;;
+       update)
+               diff_configs $@
+               exit $?
+               ;;
+esac
+
+exit 1
diff --git a/kernel/scripts/merge.pl b/kernel/scripts/merge.pl
new file mode 100644 (file)
index 0000000..8c31815
--- /dev/null
@@ -0,0 +1,66 @@
+#! /usr/bin/perl
+
+my @args=@ARGV;
+my %configvalues;
+my @configoptions;
+my $configcounter = 0;
+
+# optionally print out the architecture as the first line of our output
+my $arch = $args[2];
+if (defined $arch) {
+       print "# $arch\n";
+}
+
+# first, read the override file
+
+open (FILE,"$args[0]") || die "Could not open $args[0]";
+while (<FILE>) {
+       my $str = $_;
+       my $configname;
+
+       if (/\# ([\w]+) is not set/) {
+               $configname = $1;
+       } elsif (/([\w]+)=/) {
+               $configname = $1;
+       }
+
+       if (defined($configname) && !exists($configvalues{$configname})) {
+               $configvalues{$configname} = $str;
+               $configoptions[$configcounter] = $configname;
+               $configcounter ++;
+       }
+};
+
+# now, read and output the entire configfile, except for the overridden
+# parts... for those the new value is printed.
+
+open (FILE2,"$args[1]") || die "Could not open $args[1]";
+while (<FILE2>) {
+       my $configname;
+
+       if (/\# ([\w]+) is not set/) {
+               $configname = $1;
+       } elsif (/([\w]+)=/) {
+               $configname  = $1;
+       }
+
+       if (defined($configname) && exists($configvalues{$configname})) {
+               print "$configvalues{$configname}";
+               delete($configvalues{$configname});
+       } else {
+               print "$_";
+       }
+}
+
+# now print the new values from the overridden configfile
+my $counter = 0;
+
+while ($counter < $configcounter) {
+       my $configname = $configoptions[$counter];
+       if (exists($configvalues{$configname})) {
+               print "$configvalues{$configname}";
+       }
+       $counter++;
+}
+
+1;
index b55b87c99b7618f1dc90d3db86596e6e66faedcd..4996d40701224a0b72031428347e1ac229d1b0da 100644 (file)
@@ -4,9 +4,10 @@
 ###############################################################################
 
 name       = kmod
-version    = 4
-release    = 1
+version    = 7
+release    = 3
 
+maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Kernel
 url        = http://modules.wiki.kernel.org/
 license    = GPLv2+
@@ -19,40 +20,51 @@ description
        filesystems are two examples of loaded and unloaded modules.
 end
 
-# Will eventually move to kernel.org.
-source_dl  = http://packages.profusion.mobi/kmod/
+source_dl  = ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
-               chrpath
                xz-devel
                zlib-devel
        end
 
        configure_options += \
-               --bindir=/bin \
-               --with-rootprefix= \
-               --with-rootlibdir=/%{lib} \
                --with-xz \
                --with-zlib
 
-       install_cmds
-               # Remove RPATH from /bin/kmod
-               chrpath --delete %{BUILDROOT}/bin/kmod
-
-               # Remove all man pages (because there are not corresponding
-               # binaries, yet).
-               rm -rvf %{BUILDROOT}%{mandir}
+       # The testsuite does generate lots of errors.
 
-               mkdir -pv %{BUILDROOT}/lib/modprobe.d
+       install_cmds
+               mkdir -pv %{BUILDROOT}%{prefix}/lib/modprobe.d
                mkdir -pv %{BUILDROOT}%{sysconfdir}/modprobe.d
                mkdir -pv %{BUILDROOT}%{sysconfdir}/depmod.d
+
+               mkdir -pv %{BUILDROOT}%{sbindir}
+               ln -svf ../bin/kmod %{BUILDROOT}%{sbindir}/modprobe
+               ln -svf ../bin/kmod %{BUILDROOT}%{sbindir}/modinfo
+               ln -svf ../bin/kmod %{BUILDROOT}%{sbindir}/insmod
+               ln -svf ../bin/kmod %{BUILDROOT}%{sbindir}/rmmod
+               ln -svf ../bin/kmod %{BUILDROOT}%{sbindir}/depmod
+               ln -svf ../bin/kmod %{BUILDROOT}%{sbindir}/lsmod
        end
 end
 
 packages
        package %{name}
+               provides
+                       module-init-tools = 4.0-1
+                       /bin/kmod
+                       /sbin/depmod
+                       /sbin/insmod
+                       /sbin/lsmod
+                       /sbin/modinfo
+                       /sbin/modprobe
+                       /sbin/rmmod
+               end
+
+               obsoletes = module-init-tools < 4.0-1
+       end
 
        package %{name}-libs
                template LIBS
index 31e8e99c9531e19907de7b2239f5b8939d7cdbc9..6e244ef62581dda2fbb169a54413b422818af3e7 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = l7-protocols
-version    = 2007-11-22
+version    = 2009-05-28
 release    = 1
 arch       = noarch
 
@@ -20,7 +20,7 @@ description
        of port.
 end
 
-source_dl  =
+source_dl  = http://sourceforge.net/projects/l7-filter/files/Protocol%20definitions/%{version}/
 
 build
        build
index ae5f96b6a7f69d51a37fc5c99b29fb3ec7721d56..a50f87dbff0fe6449bde2fe9e8d9cb52712da3b4 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libaio
 version    = 0.3.109
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = ftp://ftp.kernel.org/pub/linux/libs/aio/
@@ -34,7 +34,7 @@ build
                        CFLAGS="%{CFLAGS} -I. -fPIC" CC="gcc"
        end
 
-       make_install_targets += prefix=/ libdir=%{libdir} usrlibdir=%{libdir}
+       make_install_targets += prefix=%{prefix} libdir=%{libdir} usrlibdir=%{libdir}
 
        install_cmds
                # Modify links to be relative
index 78c510ee9928fd70cbb5313b26a2cce8b96be8d4..f9a8dea63574254b9f681b873bbcf2a7a09b5400 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libatasmart
-version    = 0.17
+version    = 0.18
 release    = 1
 
 groups     = System/Statistics
@@ -13,34 +13,21 @@ license    = LGPLv2+
 summary    = ATA S.M.A.R.T. Disk Health Monitoring Library.
 
 description
-       A scmall and lightweight parser library for ATA S.M.A.R.T. hard disk \
+       A scmall and lightweight parser library for ATA S.M.A.R.T. hard disk
        health monitoring.
 end
 
-source_dl  =
+source_dl  = http://0pointer.de/public/
 sources    = %{thisapp}.tar.gz
 
 build
        requires
                libudev-devel
-               pkg-config
-       end
-
-       configure_options += \
-               --libdir=/lib
-
-       install_cmds
-               -mkdir -pv %{BUILDROOT}/usr/lib
-               mv -v %{BUILDROOT}/lib/pkgconfig %{BUILDROOT}/usr/lib/
-
-               rm -vf %{BUILDROOT}/lib/libatasmart.so
-               ln -svf ../../lib/libatasmart.so.4 %{BUILDROOT}/usr/lib/libatasmart.so
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index d0a015fa53d39f7e694f18fff3ea147067f092b4..7e968c10c5a4ed3720419c7066ff2e7c8d0b0a1c 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libcap-ng
 version    = 0.6.6
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = http://people.redhat.com/sgrubb/libcap-ng
@@ -25,15 +25,6 @@ build
                python
        end
 
-       install_cmds
-               # Move libraries to lib
-               mkdir -pv %{BUILDROOT}/%{lib}
-               mv -vf %{BUILDROOT}%{libdir}/libcap-ng.so.* %{BUILDROOT}/%{lib}/
-
-               # Recreate symlink
-               ln -svf ../../%{lib}/libcap-ng.so.0 %{BUILDROOT}%{libdir}/libcap-ng.so
-       end
-
        # XXX Testsuite is broken by the package developers
        #def test
        #       make check
index a4bd162a363ae2a148bb64db163d96681d766c0e..6941bda5cb0f77343d1e47eeef8bccd9df1cb7bf 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libcap
 version    = 2.22
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = http://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/
@@ -33,13 +33,8 @@ build
        end
 
        install
-               make install DESTDIR=%{BUILDROOT} lib=/%{lib}
-
-               rm -vf %{BUILDROOT}/%{lib}/libcap.so
-               mkdir -pv %{BUILDROOT}%{libdir}
-               ln -svf ../../%{lib}/libcap.so.2 %{BUILDROOT}%{libdir}/libcap.so
-
-               chmod 755 %{BUILDROOT}/%{lib}/libcap.so.%{version}
+               make install DESTDIR=%{BUILDROOT} prefix=%{prefix} lib=%{lib}
+               chmod 755 %{BUILDROOT}/%{libdir}/libcap.so.%{version}
        end
 end
 
index 33a01f3d9150ef27d5ce74885f5d5b49be603bd2..88f06df7b996db407983a95326854ffee9e0b840 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libcgroup
 version    = 0.35.1
-release    = 1
+release    = 2
 
 groups     = Development/Libraries
 url        = http://libcg.sourceforge.net/
@@ -29,27 +29,20 @@ build
        end
 
        configure_options += \
-               --libdir=/lib \
                --disable-pam \
                --disable-tools \
                --disable-daemon
 
-       #define test
-       #       make check
-       #endef
+       # The testsuite is disabled because it does not
+       # run very smoothly in PBS.
 
        install_cmds
                rm -rf %{BUILDROOT}/etc
-
-               mkdir -pv %{BUILDROOT}/usr/lib
-               rm -vf %{BUILDROOT}/lib/libcgroup.so
-               ln -svf ../../lib/libcgroup.so.1 %{BUILDROOT}/usr/lib/libcgroup.so
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
diff --git a/libdb/libdb.nm b/libdb/libdb.nm
new file mode 100644 (file)
index 0000000..bee134c
--- /dev/null
@@ -0,0 +1,121 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libdb
+version_major = 5
+version_minor = 2
+version_patch = 36
+version    = %{version_major}.%{version_minor}.%{version_patch}
+release    = 3
+thisapp    = db-%{version}
+
+soversion  = %{version_major}.%{version_minor}
+
+maintainer = Michael Tremer <michael.tremer@ipfire.org>
+groups     = System/Libraries
+url        = http://www.oracle.com/technology/products/berkeley-db/
+license    = Proprietary
+summary    = Berkeley DB is a library that provides an embedded database.
+
+description
+       Berkeley DB (BDB) is a computer software library that provides
+       a high-performance embedded database.
+end
+
+source_dl  = http://download.oracle.com/berkeley-db/
+
+build
+       requires
+               chrpath
+               gcc-c++
+               libtool
+               perl
+       end
+
+       CFLAGS += -fno-strict-aliasing
+
+       DIR_APP = %{DIR_SRC}/%{thisapp}/dist/dist-tls
+
+       prepare_cmds
+               mkdir %{DIR_APP} && cd %{DIR_APP}
+               ln -s ../configure .
+       end
+
+       MACRO_FIX_LIBTOOL
+               # Remove libtool predep_objects and postdep_objects wonkiness so that
+               # building without -nostdlib doesn't include them twice.  Because we
+               # already link with g++, weird stuff happens if you don't let the
+               # compiler handle this.
+               perl -pi -e 's/^predep_objects=".*$/predep_objects=""/' libtool
+               perl -pi -e 's/^postdep_objects=".*$/postdep_objects=""/' libtool
+               perl -pi -e 's/-shared -nostdlib/-shared/' libtool
+       end
+
+       configure_options += \
+               -C \
+               --enable-compat185 \
+               --enable-cxx \
+               --enable-sql \
+               --disable-static \
+               --disable-rpath
+
+       install_cmds
+               # Remove RPATH in all binaries.
+               for i in %{BUILDROOT}%{bindir}/*; do
+                       chrpath --delete ${i}
+               done
+
+               # Remove documentation which is very big.
+               rm -rf %{BUILDROOT}%{prefix}/docs
+
+               # Remove unversioned libs.
+               rm -vf %{BUILDROOT}%{libdir}/libdb*-%{version_major}.so
+
+               mkdir -pv %{BUILDROOT}%{includedir}/%{name}
+               mv -v %{BUILDROOT}%{includedir}/*.h %{BUILDROOT}%{includedir}/%{name}/
+               for i in db.h db_cxx.h db_185.h; do
+                       ln -svf %{name}/${i} %{BUILDROOT}/%{includedir}
+               done
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+
+               # You cannot install libdb-devel and db4-devel
+               # at the same time.
+               conflicts
+                       db4-devel
+               end
+
+               files += !%{libdir}/libdb-%{soversion}.so
+               files += !%{libdir}/libdb_sql-%{soversion}.so
+       end
+
+       package %{name}-utils
+               summary = Command line tools for managing Berkeley DB (version 4) databases.
+               description = %{summary}
+
+               files
+                       /usr/bin
+               end
+       end
+
+       package %{name}-cxx
+               summary = The Berkeley DB database library (version 4) for C++.
+               description = %{summary}
+
+               files
+                       %{libdir}/libdb_cxx-%{soversion}.so
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 789c9f49c73e8ac489a7ea640a2076c353c89c3a..f1bb5ecec6a5cc6e239bcee0f9877a5435667b10 100644 (file)
@@ -1 +1 @@
-KERNEL=="controlD[0-9]*",      NAME="dri/%k", MODE="0666"
+KERNEL=="controlD[0-9]*", SUBSYSTEM=="drm", MODE="0600"
index 007090ad525c0ab347a6626ea0ab445c289fdbad..e434c0fc3b128aa0023e5401640d1dc70ddd1f74 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libdrm
-version    = 2.4.21
+version    = 2.4.31
 release    = 1
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
@@ -17,13 +17,15 @@ description
        Direct Rendering Manager runtime library.
 end
 
-source_dl  =
+source_dl  = %{url}
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
                automake
                autoconf
+               cairo-devel
+               libpciaccess-devel
                libtool
                libxcb-devel
                pkg-config
@@ -33,6 +35,7 @@ build
        configure_options += \
                --enable-udev \
                --enable-libkms \
+               --enable-nouveau-experimental-api \
                --disable-static
 
        prepare_cmds
@@ -42,15 +45,14 @@ build
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/lib/udev/rules.d/
-               cd %{DIR_APP} && install -m 644 %{DIR_SOURCE}/91-drm-modeset.rules\
-                       %{BUILDROOT}/lib/udev/rules.d/
+               mkdir -pv %{BUILDROOT}%{prefix}/lib/udev/rules.d/
+               install -m 644 %{DIR_SOURCE}/91-drm-modeset.rules \
+                       %{BUILDROOT}%{prefix}/lib/udev/rules.d/
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
diff --git a/libdrm/patches/libdrm-2.4.21-b803918f3f.patch b/libdrm/patches/libdrm-2.4.21-b803918f3f.patch
deleted file mode 100644 (file)
index ff8c1c4..0000000
+++ /dev/null
@@ -1,506 +0,0 @@
-diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
-index a8e072d..3446390 100644
---- a/intel/intel_bufmgr_gem.c
-+++ b/intel/intel_bufmgr_gem.c
-@@ -93,6 +93,7 @@ typedef struct _drm_intel_bufmgr_gem {
-       /** Array of lists of cached gem objects of power-of-two sizes */
-       struct drm_intel_gem_bo_bucket cache_bucket[14 * 4];
-       int num_buckets;
-+      time_t time;
-       uint64_t gtt_size;
-       int available_fences;
-@@ -132,6 +133,7 @@ struct _drm_intel_bo_gem {
-        */
-       uint32_t tiling_mode;
-       uint32_t swizzle_mode;
-+      unsigned long stride;
-       time_t free_time;
-@@ -200,8 +202,9 @@ drm_intel_gem_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
-                           uint32_t * swizzle_mode);
- static int
--drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
--                          uint32_t stride);
-+drm_intel_gem_bo_set_tiling_internal(drm_intel_bo *bo,
-+                                   uint32_t tiling_mode,
-+                                   uint32_t stride);
- static void drm_intel_gem_bo_unreference_locked_timed(drm_intel_bo *bo,
-                                                     time_t time);
-@@ -251,7 +254,7 @@ drm_intel_gem_bo_tile_size(drm_intel_bufmgr_gem *bufmgr_gem, unsigned long size,
-  */
- static unsigned long
- drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
--                          unsigned long pitch, uint32_t tiling_mode)
-+                          unsigned long pitch, uint32_t *tiling_mode)
- {
-       unsigned long tile_width;
-       unsigned long i;
-@@ -259,10 +262,10 @@ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
-       /* If untiled, then just align it so that we can do rendering
-        * to it with the 3D engine.
-        */
--      if (tiling_mode == I915_TILING_NONE)
-+      if (*tiling_mode == I915_TILING_NONE)
-               return ALIGN(pitch, 64);
--      if (tiling_mode == I915_TILING_X)
-+      if (*tiling_mode == I915_TILING_X)
-               tile_width = 512;
-       else
-               tile_width = 128;
-@@ -271,6 +274,14 @@ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
-       if (bufmgr_gem->gen >= 4)
-               return ROUND_UP_TO(pitch, tile_width);
-+      /* The older hardware has a maximum pitch of 8192 with tiled
-+       * surfaces, so fallback to untiled if it's too large.
-+       */
-+      if (pitch > 8192) {
-+              *tiling_mode = I915_TILING_NONE;
-+              return ALIGN(pitch, 64);
-+      }
-+
-       /* Pre-965 needs power of two tile width */
-       for (i = tile_width; i < pitch; i <<= 1)
-               ;
-@@ -549,7 +560,9 @@ static drm_intel_bo *
- drm_intel_gem_bo_alloc_internal(drm_intel_bufmgr *bufmgr,
-                               const char *name,
-                               unsigned long size,
--                              unsigned long flags)
-+                              unsigned long flags,
-+                              uint32_t tiling_mode,
-+                              unsigned long stride)
- {
-       drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bufmgr;
-       drm_intel_bo_gem *bo_gem;
-@@ -615,6 +628,13 @@ retry:
-                                                                   bucket);
-                               goto retry;
-                       }
-+
-+                      if (drm_intel_gem_bo_set_tiling_internal(&bo_gem->bo,
-+                                                               tiling_mode,
-+                                                               stride)) {
-+                              drm_intel_gem_bo_free(&bo_gem->bo);
-+                              goto retry;
-+                      }
-               }
-       }
-       pthread_mutex_unlock(&bufmgr_gem->lock);
-@@ -642,6 +662,17 @@ retry:
-                       return NULL;
-               }
-               bo_gem->bo.bufmgr = bufmgr;
-+
-+              bo_gem->tiling_mode = I915_TILING_NONE;
-+              bo_gem->swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
-+              bo_gem->stride = 0;
-+
-+              if (drm_intel_gem_bo_set_tiling_internal(&bo_gem->bo,
-+                                                       tiling_mode,
-+                                                       stride)) {
-+                  drm_intel_gem_bo_free(&bo_gem->bo);
-+                  return NULL;
-+              }
-       }
-       bo_gem->name = name;
-@@ -650,8 +681,6 @@ retry:
-       bo_gem->reloc_tree_fences = 0;
-       bo_gem->used_as_reloc_target = 0;
-       bo_gem->has_error = 0;
--      bo_gem->tiling_mode = I915_TILING_NONE;
--      bo_gem->swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
-       bo_gem->reusable = 1;
-       drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
-@@ -669,7 +698,8 @@ drm_intel_gem_bo_alloc_for_render(drm_intel_bufmgr *bufmgr,
-                                 unsigned int alignment)
- {
-       return drm_intel_gem_bo_alloc_internal(bufmgr, name, size,
--                                             BO_ALLOC_FOR_RENDER);
-+                                             BO_ALLOC_FOR_RENDER,
-+                                             I915_TILING_NONE, 0);
- }
- static drm_intel_bo *
-@@ -678,7 +708,8 @@ drm_intel_gem_bo_alloc(drm_intel_bufmgr *bufmgr,
-                      unsigned long size,
-                      unsigned int alignment)
- {
--      return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, 0);
-+      return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, 0,
-+                                             I915_TILING_NONE, 0);
- }
- static drm_intel_bo *
-@@ -687,10 +718,8 @@ drm_intel_gem_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
-                            unsigned long *pitch, unsigned long flags)
- {
-       drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr;
--      drm_intel_bo *bo;
-       unsigned long size, stride;
-       uint32_t tiling;
--      int ret;
-       do {
-               unsigned long aligned_y;
-@@ -717,24 +746,17 @@ drm_intel_gem_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
-                       aligned_y = ALIGN(y, 32);
-               stride = x * cpp;
--              stride = drm_intel_gem_bo_tile_pitch(bufmgr_gem, stride, tiling);
-+              stride = drm_intel_gem_bo_tile_pitch(bufmgr_gem, stride, tiling_mode);
-               size = stride * aligned_y;
-               size = drm_intel_gem_bo_tile_size(bufmgr_gem, size, tiling_mode);
-       } while (*tiling_mode != tiling);
--
--      bo = drm_intel_gem_bo_alloc_internal(bufmgr, name, size, flags);
--      if (!bo)
--              return NULL;
--
--      ret = drm_intel_gem_bo_set_tiling(bo, tiling_mode, stride);
--      if (ret != 0) {
--              drm_intel_gem_bo_unreference(bo);
--              return NULL;
--      }
--
-       *pitch = stride;
--      return bo;
-+      if (tiling == I915_TILING_NONE)
-+              stride = 0;
-+
-+      return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, flags,
-+                                             tiling, stride);
- }
- /**
-@@ -791,6 +813,7 @@ drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr,
-       }
-       bo_gem->tiling_mode = get_tiling.tiling_mode;
-       bo_gem->swizzle_mode = get_tiling.swizzle_mode;
-+      /* XXX stride is unknown */
-       drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
-       DBG("bo_create_from_handle: %d (%s)\n", handle, bo_gem->name);
-@@ -829,6 +852,9 @@ drm_intel_gem_cleanup_bo_cache(drm_intel_bufmgr_gem *bufmgr_gem, time_t time)
- {
-       int i;
-+      if (bufmgr_gem->time == time)
-+              return;
-+
-       for (i = 0; i < bufmgr_gem->num_buckets; i++) {
-               struct drm_intel_gem_bo_bucket *bucket =
-                   &bufmgr_gem->cache_bucket[i];
-@@ -846,6 +872,8 @@ drm_intel_gem_cleanup_bo_cache(drm_intel_bufmgr_gem *bufmgr_gem, time_t time)
-                       drm_intel_gem_bo_free(&bo_gem->bo);
-               }
-       }
-+
-+      bufmgr_gem->time = time;
- }
- static void
-@@ -854,7 +882,6 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
-       drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
-       drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
-       struct drm_intel_gem_bo_bucket *bucket;
--      uint32_t tiling_mode;
-       int i;
-       /* Unreference all the target buffers */
-@@ -883,9 +910,7 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
-       bucket = drm_intel_gem_bo_bucket_for_size(bufmgr_gem, bo->size);
-       /* Put the buffer into our internal cache for reuse if we can. */
--      tiling_mode = I915_TILING_NONE;
-       if (bufmgr_gem->bo_reuse && bo_gem->reusable && bucket != NULL &&
--          drm_intel_gem_bo_set_tiling(bo, &tiling_mode, 0) == 0 &&
-           drm_intel_gem_bo_madvise_internal(bufmgr_gem, bo_gem,
-                                             I915_MADV_DONTNEED)) {
-               bo_gem->free_time = time;
-@@ -894,8 +919,6 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
-               bo_gem->validate_index = -1;
-               DRMLISTADDTAIL(&bo_gem->head, &bucket->head);
--
--              drm_intel_gem_cleanup_bo_cache(bufmgr_gem, time);
-       } else {
-               drm_intel_gem_bo_free(bo);
-       }
-@@ -925,6 +948,7 @@ static void drm_intel_gem_bo_unreference(drm_intel_bo *bo)
-               pthread_mutex_lock(&bufmgr_gem->lock);
-               drm_intel_gem_bo_unreference_final(bo, time.tv_sec);
-+              drm_intel_gem_cleanup_bo_cache(bufmgr_gem, time.tv_sec);
-               pthread_mutex_unlock(&bufmgr_gem->lock);
-       }
- }
-@@ -982,12 +1006,9 @@ static int drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable)
-                           &set_domain);
-       } while (ret == -1 && errno == EINTR);
-       if (ret != 0) {
--              ret = -errno;
-               fprintf(stderr, "%s:%d: Error setting to CPU domain %d: %s\n",
-                       __FILE__, __LINE__, bo_gem->gem_handle,
-                       strerror(errno));
--              pthread_mutex_unlock(&bufmgr_gem->lock);
--              return ret;
-       }
-       pthread_mutex_unlock(&bufmgr_gem->lock);
-@@ -1062,9 +1083,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
-                           DRM_IOCTL_I915_GEM_SET_DOMAIN,
-                           &set_domain);
-       } while (ret == -1 && errno == EINTR);
--
-       if (ret != 0) {
--              ret = -errno;
-               fprintf(stderr, "%s:%d: Error setting domain %d: %s\n",
-                       __FILE__, __LINE__, bo_gem->gem_handle,
-                       strerror(errno));
-@@ -1072,7 +1091,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
-       pthread_mutex_unlock(&bufmgr_gem->lock);
--      return ret;
-+      return 0;
- }
- int drm_intel_gem_bo_unmap_gtt(drm_intel_bo *bo)
-@@ -1587,7 +1606,7 @@ drm_intel_gem_bo_mrb_exec2(drm_intel_bo *bo, int used,
-       if (ret != 0) {
-               ret = -errno;
--              if (ret == -ENOMEM) {
-+              if (ret == -ENOSPC) {
-                       fprintf(stderr,
-                               "Execbuffer fails to pin. "
-                               "Estimate: %u. Actual: %u. Available: %u\n",
-@@ -1671,34 +1690,56 @@ drm_intel_gem_bo_unpin(drm_intel_bo *bo)
- }
- static int
--drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
--                          uint32_t stride)
-+drm_intel_gem_bo_set_tiling_internal(drm_intel_bo *bo,
-+                                   uint32_t tiling_mode,
-+                                   uint32_t stride)
- {
-       drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
-       drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
-       struct drm_i915_gem_set_tiling set_tiling;
-       int ret;
--      if (bo_gem->global_name == 0 && *tiling_mode == bo_gem->tiling_mode)
-+      if (bo_gem->global_name == 0 &&
-+          tiling_mode == bo_gem->tiling_mode &&
-+          stride == bo_gem->stride)
-               return 0;
-       memset(&set_tiling, 0, sizeof(set_tiling));
--      set_tiling.handle = bo_gem->gem_handle;
--
-       do {
--              set_tiling.tiling_mode = *tiling_mode;
-+              set_tiling.handle = bo_gem->gem_handle;
-+              set_tiling.tiling_mode = tiling_mode;
-               set_tiling.stride = stride;
-               ret = ioctl(bufmgr_gem->fd,
-                           DRM_IOCTL_I915_GEM_SET_TILING,
-                           &set_tiling);
-       } while (ret == -1 && errno == EINTR);
--      if (ret == 0) {
--              bo_gem->tiling_mode = set_tiling.tiling_mode;
--              bo_gem->swizzle_mode = set_tiling.swizzle_mode;
-+      if (ret == -1)
-+              return -errno;
-+
-+      bo_gem->tiling_mode = set_tiling.tiling_mode;
-+      bo_gem->swizzle_mode = set_tiling.swizzle_mode;
-+      bo_gem->stride = set_tiling.stride;
-+      return 0;
-+}
-+
-+static int
-+drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
-+                          uint32_t stride)
-+{
-+      drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
-+      drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
-+      int ret;
-+
-+      /* Linear buffers have no stride. By ensuring that we only ever use
-+       * stride 0 with linear buffers, we simplify our code.
-+       */
-+      if (*tiling_mode == I915_TILING_NONE)
-+              stride = 0;
-+
-+      ret = drm_intel_gem_bo_set_tiling_internal(bo, *tiling_mode, stride);
-+      if (ret == 0)
-               drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
--      } else
--              ret = -errno;
-       *tiling_mode = bo_gem->tiling_mode;
-       return ret;
-diff --git a/xf86drmMode.c b/xf86drmMode.c
-index f330e6f..ecb1fd5 100644
---- a/xf86drmMode.c
-+++ b/xf86drmMode.c
-@@ -52,6 +52,12 @@
- #define U642VOID(x) ((void *)(unsigned long)(x))
- #define VOID2U64(x) ((uint64_t)(unsigned long)(x))
-+static inline DRM_IOCTL(int fd, int cmd, void *arg)
-+{
-+      int ret = drmIoctl(fd, cmd, arg);
-+      return ret < 0 ? -errno : ret;
-+}
-+
- /*
-  * Util functions
-  */
-@@ -242,7 +248,7 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth,
-       f.depth  = depth;
-       f.handle = bo_handle;
--      if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)))
-+      if ((ret = DRM_IOCTL(fd, DRM_IOCTL_MODE_ADDFB, &f)))
-               return ret;
-       *buf_id = f.fb_id;
-@@ -251,7 +257,7 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth,
- int drmModeRmFB(int fd, uint32_t bufferId)
- {
--      return drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &bufferId);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_RMFB, &bufferId);
- }
-@@ -289,7 +295,7 @@ int drmModeDirtyFB(int fd, uint32_t bufferId,
-       dirty.clips_ptr = VOID2U64(clips);
-       dirty.num_clips = num_clips;
--      return drmIoctl(fd, DRM_IOCTL_MODE_DIRTYFB, &dirty);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_DIRTYFB, &dirty);
- }
-@@ -344,7 +350,7 @@ int drmModeSetCrtc(int fd, uint32_t crtcId, uint32_t bufferId,
-       } else
-         crtc.mode_valid = 0;
--      return drmIoctl(fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
- }
- /*
-@@ -361,7 +367,7 @@ int drmModeSetCursor(int fd, uint32_t crtcId, uint32_t bo_handle, uint32_t width
-       arg.height = height;
-       arg.handle = bo_handle;
--      return drmIoctl(fd, DRM_IOCTL_MODE_CURSOR, &arg);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_CURSOR, &arg);
- }
- int drmModeMoveCursor(int fd, uint32_t crtcId, int x, int y)
-@@ -373,7 +379,7 @@ int drmModeMoveCursor(int fd, uint32_t crtcId, int x, int y)
-       arg.x = x;
-       arg.y = y;
--      return drmIoctl(fd, DRM_IOCTL_MODE_CURSOR, &arg);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_CURSOR, &arg);
- }
- /*
-@@ -510,7 +516,7 @@ int drmModeAttachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_inf
-       memcpy(&res.mode, mode_info, sizeof(struct drm_mode_modeinfo));
-       res.connector_id = connector_id;
--      return drmIoctl(fd, DRM_IOCTL_MODE_ATTACHMODE, &res);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_ATTACHMODE, &res);
- }
- int drmModeDetachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_info)
-@@ -520,7 +526,7 @@ int drmModeDetachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_inf
-       memcpy(&res.mode, mode_info, sizeof(struct drm_mode_modeinfo));
-       res.connector_id = connector_id;
--      return drmIoctl(fd, DRM_IOCTL_MODE_DETACHMODE, &res);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_DETACHMODE, &res);
- }
-@@ -637,16 +643,12 @@ int drmModeConnectorSetProperty(int fd, uint32_t connector_id, uint32_t property
-                            uint64_t value)
- {
-       struct drm_mode_connector_set_property osp;
--      int ret;
-       osp.connector_id = connector_id;
-       osp.prop_id = property_id;
-       osp.value = value;
--      if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_SETPROPERTY, &osp)))
--              return ret;
--
--      return 0;
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETPROPERTY, &osp);
- }
- /*
-@@ -715,7 +717,6 @@ int drmCheckModesettingSupported(const char *busid)
- int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
-                       uint16_t *red, uint16_t *green, uint16_t *blue)
- {
--      int ret;
-       struct drm_mode_crtc_lut l;
-       l.crtc_id = crtc_id;
-@@ -724,16 +725,12 @@ int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
-       l.green = VOID2U64(green);
-       l.blue = VOID2U64(blue);
--      if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_GETGAMMA, &l)))
--              return ret;
--
--      return 0;
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_GETGAMMA, &l);
- }
- int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size,
-                       uint16_t *red, uint16_t *green, uint16_t *blue)
- {
--      int ret;
-       struct drm_mode_crtc_lut l;
-       l.crtc_id = crtc_id;
-@@ -742,10 +739,7 @@ int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size,
-       l.green = VOID2U64(green);
-       l.blue = VOID2U64(blue);
--      if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_SETGAMMA, &l)))
--              return ret;
--
--      return 0;
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETGAMMA, &l);
- }
- int drmHandleEvent(int fd, drmEventContextPtr evctx)
-@@ -810,5 +804,5 @@ int drmModePageFlip(int fd, uint32_t crtc_id, uint32_t fb_id,
-       flip.flags = flags;
-       flip.reserved = 0;
--      return drmIoctl(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);
-+      return DRM_IOCTL(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);
- }
index 4add6aac90c587ed23c1c46f50773aeaac57ce44..a6abbd32e449b35bb542f3f2c4609f468a00c0bf 100644 (file)
@@ -4,25 +4,25 @@
 ###############################################################################
 
 name       = libevent
-version    = 2.0.10
+version    = 2.0.17
 release    = 1
 
 groups     = Development/Tools
-url        = http://sourceforge.net/projects/levent/files/libevent/libevent-2.0
+url        = http://libevent.org
 license    = BSD
 summary    = Abstract asynchronous event notification library.
 
 description
-       The libevent API provides a mechanism to execute a callback \
-       function when a specific event occurs on a file descriptor or \
-       after a timeout has been reached. libevent is meant to replace \
-       the asynchronous event loop found in event driven network \
-       servers. An application just needs to call event_dispatch() and \
-       can then add or remove events dynamically without having to \
+       The libevent API provides a mechanism to execute a callback
+       function when a specific event occurs on a file descriptor or
+       after a timeout has been reached. libevent is meant to replace
+       the asynchronous event loop found in event driven network
+       servers. An application just needs to call event_dispatch() and
+       can then add or remove events dynamically without having to
        change the event loop.
 end
 
-source_dl  =
+source_dl  = http://sourceforge.net/projects/levent/files/%{name}/libevent-2.0/
 sources    = %{thisapp}-stable.tar.gz
 
 build
@@ -34,7 +34,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index ab21d039180465dd0bd31c2f8e068ab0daac93e6..7f26939af164a1d10f20b9436258d2b36561a625 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libgcrypt
 version    = 1.5.0
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = http://www.gnupg.org/
@@ -28,14 +28,7 @@ build
        end
 
        configure_options += \
-               --libdir=/%{lib} \
-               --enable-noexecstack \
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{libdir}
-               rm -vf %{BUILDROOT}/%{lib}/libgcrypt.so
-               ln -sfv ../../%{lib}/libgcrypt.so.11 %{BUILDROOT}%{libdir}/libgcrypt.so
-       end
+               --enable-noexecstack
 end
 
 packages
index 5147094eb89f0da5d67e3a622588df75c785c079..9263df4c08216326cf8d1f462301ad8c8beebd66 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libgpg-error
 version    = 1.9
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = http://www.gnupg.org/
@@ -25,15 +25,6 @@ build
        requires
                gcc-c++
        end
-
-       configure_options += \
-               --libdir=/%{lib}
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{libdir}
-               rm -vf %{BUILDROOT}/%{lib}/libgpg-error.so
-               ln -sfv ../../%{lib}/libgpg-error.so.0 %{BUILDROOT}%{libdir}/libgpg-error.so
-       end
 end
 
 packages
index fbd566d36016cc2c371d6884afe566a505131b0c..f56544c27e9b8a7be7dfbaba1a8874249d842c42 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libidn
 version    = 1.24
-release    = 1
+release    = 2
 
 groups     = System/Libraries
 url        = http://www.gnu.org/software/libidn/
@@ -23,7 +23,6 @@ source_dl  = http://ftp.gnu.org/gnu/libidn/
 
 build
        configure_options += \
-               --libdir=/%{lib} \
                --disable-csharp \
                --disable-static
 
@@ -31,15 +30,6 @@ build
                export LD_LIBRARY_PATH=$(pwd)/lib/.libs
                make -C tests check
        end
-
-       install
-               make install DESTDIR=%{BUILDROOT} \
-                       pkgconfigdir=%{libdir}/pkgconfig
-
-               mkdir -pv %{BUILDROOT}%{libdir}
-               rm -vf %{BUILDROOT}/%{lib}/libidn.so
-               ln -svf ../../%{lib}/libidn.so.11.6.7 %{BUILDROOT}%{libdir}/libidn.so
-       end
 end
 
 packages
index c5364526186a1c0b80046e219ea7f857dc151f0f..706de2739df43459838855977735739edf2258a9 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libpipeline
-version    = 1.2.0
+version    = 1.2.1
 release    = 1
 
 groups     = Development/Libraries
@@ -17,11 +17,10 @@ description
        in a flexible and convenient way.
 end
 
-source_dl  =
+source_dl  = http://download.savannah.gnu.org/releases/libpipeline/
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index 752ba696b8173995ebb5589eebc9e6776dee61bd..55268a8a471775cd7b8f0df0a176c48bcc88ca0c 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libpng
-version    = 1.5.7
+version    = 1.5.9
 release    = 1
 
 groups     = System/Libraries
@@ -13,10 +13,10 @@ license    = zlib
 summary    = A library of functions for manipulating PNG image format files.
 
 description
-       The libpng package contains a library of functions for creating and \
-       manipulating PNG (Portable Network Graphics) image format files. \
-       PNG is a bit-mapped graphics format similar to the GIF format. PNG \
-       was created to replace the GIF format, since GIF uses a patented \
+       The libpng package contains a library of functions for creating and
+       manipulating PNG (Portable Network Graphics) image format files.
+       PNG is a bit-mapped graphics format similar to the GIF format. PNG
+       was created to replace the GIF format, since GIF uses a patented
        data compression algorithm.
 end
 
index dbd857a1dc5a8a9830d6b47119ca7b662428ee10..0be2a677d77cbac3caebbffb93756764356898f6 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = libselinux
-version    = 2.0.96
-release    = 2
+version    = 2.1.10
+release    = 1
 
 groups     = System/Libraries
 url        = http://www.selinuxproject.org
@@ -13,34 +13,36 @@ license    = Public Domain
 summary    = SELinux library and simple utilities.
 
 description
-       libselinux provides an API for SELinux applications to get and set \
-       process and file security contexts and to obtain security policy \
+       libselinux provides an API for SELinux applications to get and set
+       process and file security contexts and to obtain security policy
        decisions.
 end
 
-source_dl  =
 sources    = %{thisapp}.tgz
 
 build
        requires
                libsepol-devel
+               libsepol-static
                python-devel
                swig
        end
 
        build
                make clean
-               make CC=gcc LIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" swigify
-               make CC=gcc LIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" all
-               make CC=gcc LIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" pywrap
+               make CC=gcc LIBDIR="%{libdir}" SHLIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" swigify
+               make CC=gcc LIBDIR="%{libdir}" SHLIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" all
+               make CC=gcc LIBDIR="%{libdir}" SHLIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" pywrap
        end
 
-       make_install_targets += LIBDIR="%{BUILDROOT}%{libdir}" \
-               SHLIBDIR="%{BUILDROOT}/%{lib}"
+       # Install libraries to correct place.
+       make_install_targets += install-pywrap \
+               BINDIR="%{BUILDROOT}%{bindir}" \
+               SBINDIR="%{BUILDROOT}%{sbindir}" \
+               LIBDIR="%{BUILDROOT}%{libdir}" \
+               SHLIBDIR="%{BUILDROOT}%{libdir}"
 
        install_cmds
-               make install-pywrap DESTDIR=%{BUILDROOT} LIBDIR="%{BUILDROOT}%{libdir}"
-
                # Remove unwanted binaries
                rm -f %{BUILDROOT}/usr/sbin/compute_*
                rm -f %{BUILDROOT}/usr/sbin/deftype
@@ -56,18 +58,14 @@ build
                rm -f %{BUILDROOT}/usr/sbin/getseuser
                rm -f %{BUILDROOT}/usr/sbin/selinux_check_securetty_context
 
-               # Move binaries from /sbin to /usr/sbin
-               mv %{BUILDROOT}/sbin/* %{BUILDROOT}/usr/sbin
-
-               # Remove python module
-               rm -rvf %{BUILDROOT}/usr/lib/python*
+               # Fix weird symlink.
+               ln -svf libselinux.so.1 %{BUILDROOT}%{libdir}/libselinux.so
        end
 end
 
 packages
        package %{name}
-       end
-
+       
        package %{name}-devel
                template DEVEL
        end
@@ -80,20 +78,18 @@ packages
 
                files
                        /usr/sbin/*
-                       /usr/share/man/man{5,8}/*
+                       /usr/share/man/man{5,8}
+               end
+       end
+       
+       package python-selinux
+               summary =  SELinux python bindings.
+               description = SELinux python bindings for libselinux.
+       
+               def files
+                       %{libdir}/python*
                end
        end
-
-       #package python-selinux
-       #       summary =  SELinux python bindings.
-       #       description = SELinux python bindings for libselinux.
-       #
-       #       def files
-       #               /usr/lib/python*
-       #       end
-       #end
-
-
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/libselinux/patches/libselinux-ipfire.patch b/libselinux/patches/libselinux-ipfire.patch
deleted file mode 100644 (file)
index 29e0eef..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur a/src/Makefile b/src/Makefile
---- a/src/Makefile     2010-11-06 13:49:19.000000000 +0100
-+++ b/src/Makefile     2010-06-16 14:03:39.000000000 +0200
-@@ -95,7 +95,7 @@
-       $(CC) $(CFLAGS) -I$(PYINC) -fPIC -DSHARED -c -o $@ $<
- $(AUDIT2WHYSO): audit2why.lo
--      $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -L. -lselinux ${LIBDIR}/libsepol.a -L$(LIBDIR) -Wl,-soname,$@
-+      $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -L. -lselinux -lsepol -L$(LIBDIR) -Wl,-soname,$@
- %.o:  %.c policy.h
-       $(CC) $(CFLAGS) $(TLSFLAGS) -c -o $@ $<
diff --git a/libselinux/patches/libselinux-rhat.patch2 b/libselinux/patches/libselinux-rhat.patch2
new file mode 100644 (file)
index 0000000..4ac818f
--- /dev/null
@@ -0,0 +1,693 @@
+diff --git a/libselinux/include/selinux/label.h b/libselinux/include/selinux/label.h
+index 1a54307..f6eeb21 100644
+--- a/libselinux/include/selinux/label.h
++++ b/libselinux/include/selinux/label.h
+@@ -46,8 +46,10 @@ struct selabel_handle;
+ #define SELABEL_OPT_PATH      3
+ /* select a subset of the search space as an optimization (file backend) */
+ #define SELABEL_OPT_SUBSET    4
++/* like subset, but an array of subsets */
++#define SELABEL_OPT_PREFIXES  5
+ /* total number of options */
+-#define SELABEL_NOPT          5
++#define SELABEL_NOPT          6
+ /*
+  * Label operations
+diff --git a/libselinux/include/selinux/selinux.h b/libselinux/include/selinux/selinux.h
+index 6f483c9..9756ac9 100644
+--- a/libselinux/include/selinux/selinux.h
++++ b/libselinux/include/selinux/selinux.h
+@@ -139,7 +139,10 @@ struct av_decision {
+ /* Structure for passing options, used by AVC and label subsystems */
+ struct selinux_opt {
+       int type;
+-      const char *value;
++      union {
++              const char *value;
++              const char **values;
++      };
+ };
+ /* Callback facilities */
+@@ -420,6 +423,11 @@ extern int matchpathcon_init(const char *path);
+    regexes that have stems that are prefixes of 'prefix'. */
+ extern int matchpathcon_init_prefix(const char *path, const char *prefix);
++/* Same as matchpathcon_init, but only load entries with
++ * regexes that have stems that are prefixes of the 'prefixes'
++ * array of entries.  The last entry must be NULL. */
++extern int matchpathcon_init_prefixes(const char *patch, const char **prefixes);
++
+ /* Free the memory allocated by matchpathcon_init. */
+ extern void matchpathcon_fini(void);
+@@ -488,6 +496,7 @@ extern const char *selinux_policy_root(void);
+ /* These functions return the paths to specific files under the 
+    policy root directory. */
++extern const char *selinux_current_policy_path(void);
+ extern const char *selinux_binary_policy_path(void);
+ extern const char *selinux_failsafe_context_path(void);
+ extern const char *selinux_removable_context_path(void);
+@@ -502,10 +511,12 @@ extern const char *selinux_homedir_context_path(void);
+ extern const char *selinux_media_context_path(void);
+ extern const char *selinux_virtual_domain_context_path(void);
+ extern const char *selinux_virtual_image_context_path(void);
++extern const char *selinux_lxc_contexts_path(void);
+ extern const char *selinux_x_context_path(void);
+ extern const char *selinux_sepgsql_context_path(void);
+ extern const char *selinux_contexts_path(void);
+ extern const char *selinux_securetty_types_path(void);
++extern const char *selinux_booleans_subs_path(void);
+ extern const char *selinux_booleans_path(void);
+ extern const char *selinux_customizable_types_path(void);
+ extern const char *selinux_users_path(void);
+diff --git a/libselinux/man/man3/matchpathcon.3 b/libselinux/man/man3/matchpathcon.3
+index cdbb252..b6814ed 100644
+--- a/libselinux/man/man3/matchpathcon.3
++++ b/libselinux/man/man3/matchpathcon.3
+@@ -8,7 +8,9 @@ matchpathcon, matchpathcon_index \- get the default SELinux security context for
+ .BI "int matchpathcon_init(const char *" path ");"
+-.BI "int matchpathcon_init_prefix(const char *" path ", const char *" subset ");"
++.BI "int matchpathcon_init_prefix(const char *" path ", const char *" prefix ");"
++
++.BI "int matchpathcon_init_prefixes(const char *" path ", const char **" prefixes ");"
+ .BI "int matchpathcon_fini(void);"
+ .sp
+@@ -50,6 +52,14 @@ by
+ .I prefix.
+ .sp
++.B matchpathcon_init_prefixes
++is the same as
++.B matchpathcon_init_prefix
++but takes an array of
++.I prefixes
++instead of a single prefix.  The last entry in the array must be NULL.
++
++.sp
+ .B matchpathcon_fini
+ frees the memory allocated by a prior call to
+ .B matchpathcon_init.
+diff --git a/libselinux/man/man3/selabel_open.3 b/libselinux/man/man3/selabel_open.3
+index 8674e37..fc5b120 100644
+--- a/libselinux/man/man3/selabel_open.3
++++ b/libselinux/man/man3/selabel_open.3
+@@ -37,8 +37,11 @@ structures of length
+ .ta 4n 16n 24n
+ .nf
+ struct selinux_opt {
+-      int     type;
+-      const char      *value;
++      int type;
++      union {
++              const char *value;
++              const char **values;
++      };
+ };
+ .fi
+ .ta
+@@ -66,6 +69,13 @@ A non-null value for this option enables context validation.  By default,
+ is used; a custom validation function can be provided via
+ .BR selinux_set_callback (3).
+ Note that an invalid context may not be treated as an error unless it is actually encountered during a lookup operation.
++.TP
++.B SELABEL_OPT_SUBSET
++A ":" separates string of path prefixes that tell the system to only loads entries with regular expressions that could match this strings. For example "/dev:/var/run:/tmp".  This option can cause the system to use less memory and work faster, but you should only use paths that begin with a prefix.
++.TP
++.B SELABEL_OPT_PATH
++A string representing an alternate path the the regular expressions.
++.sp
+ .SH "BACKENDS"
+@@ -99,4 +109,3 @@ Eamon Walsh <ewalsh@tycho.nsa.gov>
+ .BR selabel_stats (3),
+ .BR selinux_set_callback (3),
+ .BR selinux (8)
+-
+diff --git a/libselinux/man/man3/selinux_binary_policy_path.3 b/libselinux/man/man3/selinux_binary_policy_path.3
+index 8ead1a4..c68ace5 100644
+--- a/libselinux/man/man3/selinux_binary_policy_path.3
++++ b/libselinux/man/man3/selinux_binary_policy_path.3
+@@ -17,6 +17,8 @@ extern const char *selinux_policy_root(void);
+ extern const char *selinux_binary_policy_path(void);
++extern const char *selinux_current_policy_path(void);
++
+ extern const char *selinux_failsafe_context_path(void);
+ extern const char *selinux_removable_context_path(void);
+@@ -52,7 +54,9 @@ selinux_path() - top-level SELinux configuration directory
+ .sp
+ selinux_policy_root() - top-level policy directory 
+ .sp
+-selinux_binary_policy_path() - binary policy file loaded into kernel
++selinux_current_policy_path() - binary policy file loaded into kernel
++.sp
++selinux_binary_policy_path() - binary policy path on disk
+ .sp
+ selinux_default_type_path - context file mapping roles to default types.
+ .sp
+diff --git a/libselinux/src/audit2why.c b/libselinux/src/audit2why.c
+index 1bf3599..f621de7 100644
+--- a/libselinux/src/audit2why.c
++++ b/libselinux/src/audit2why.c
+@@ -214,19 +214,12 @@ static int __policy_init(const char *init_path)
+                       PyErr_SetString( PyExc_ValueError, errormsg);
+                       return 1;
+               }
+-              snprintf(path, PATH_MAX, "%s.%d",
+-                       selinux_binary_policy_path(), vers);
+-              fp = fopen(path, "r");
+-              while (!fp && errno == ENOENT && --vers) {
+-                      snprintf(path, PATH_MAX, "%s.%d",
+-                               selinux_binary_policy_path(), vers);
+-                      fp = fopen(path, "r");
+-              }
++              fp = fopen(selinux_current_policy_path(), "r");
+               if (!fp) {
+                       snprintf(errormsg, sizeof(errormsg), 
+-                               "unable to open %s.%d:  %s\n",
+-                               selinux_binary_policy_path(),
+-                               security_policyvers(), strerror(errno));
++                               "unable to open %s:  %s\n",
++                               selinux_current_policy_path(),
++                               strerror(errno));
+                       PyErr_SetString( PyExc_ValueError, errormsg);
+                       return 1;
+               }
+diff --git a/libselinux/src/avc.c b/libselinux/src/avc.c
+index 802a07f..6ff83a7 100644
+--- a/libselinux/src/avc.c
++++ b/libselinux/src/avc.c
+@@ -827,6 +827,7 @@ int avc_has_perm(security_id_t ssid, security_id_t tsid,
+       errsave = errno;
+       avc_audit(ssid, tsid, tclass, requested, &avd, rc, auditdata);
+       errno = errsave;
++      if (!avc_enforcing) return 0;
+       return rc;
+ }
+diff --git a/libselinux/src/avc_internal.c b/libselinux/src/avc_internal.c
+index be4c0a3..a07aa7f 100644
+--- a/libselinux/src/avc_internal.c
++++ b/libselinux/src/avc_internal.c
+@@ -101,7 +101,9 @@ static int avc_netlink_receive(char *buf, unsigned buflen, int blocking)
+       socklen_t nladdrlen = sizeof nladdr;
+       struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
+-      rc = poll(&pfd, 1, (blocking ? -1 : 0));
++      do {
++              rc = poll(&pfd, 1, (blocking ? -1 : 0));
++      } while (rc < 0 && errno == EINTR);
+       if (rc == 0 && !blocking) {
+               errno = EWOULDBLOCK;
+diff --git a/libselinux/src/booleans.c b/libselinux/src/booleans.c
+index 1510043..bf526c0 100644
+--- a/libselinux/src/booleans.c
++++ b/libselinux/src/booleans.c
+@@ -86,45 +86,131 @@ int security_get_boolean_names(char ***names, int *len)
+ }
+ hidden_def(security_get_boolean_names)
+-#define STRBUF_SIZE 3
+-static int get_bool_value(const char *name, char **buf)
++
++static char * bool_sub(const char *name) 
+ {
+-      int fd, len;
++      char *sub = NULL;
++      char *line_buf = NULL;
++      size_t line_len = 0;
++      FILE *cfg;
++
++      if (!name) 
++              return NULL;
++
++      cfg = fopen(selinux_booleans_subs_path(), "r");
++
++      if (!cfg)
++              return NULL;
++
++      while (getline(&line_buf, &line_len, cfg)) {
++              char *ptr = NULL;
++              char *src = line_buf;
++              char *dst = NULL;
++
++              while (*src && isspace(*src))
++                      src++;
++              if (src[0] == '#') continue;
++              ptr = src;
++              while (*ptr && ! isspace(*ptr))
++                      ptr++;
++              *ptr++ = '\0';
++              if (! *src || (strcmp(src, name) != 0))
++                      continue;
++
++              dst = ptr;
++              while (*dst && isspace(*dst))
++                      dst++;
++              ptr=dst;
++              while (*ptr && ! isspace(*ptr))
++                      ptr++;
++              *ptr='\0';
++              if (! *dst)
++                      continue;
++
++              sub = strdup(dst);
++              break;
++      }
++
++      free(line_buf);
++      fclose(cfg);
++      return sub;
++}
++
++static int bool_open(const char *name, int flag) {
+       char *fname = NULL;
++      char *alt_name = NULL;
++      int len;
++      int fd = -1;
++      char *ptr;
+-      if (!selinux_mnt) {
+-              errno = ENOENT;
+-              return -1;
++      if (!name) {
++              errno = EINVAL;
++              return fd;
+       }
+-      *buf = (char *)malloc(sizeof(char) * (STRBUF_SIZE + 1));
+-      if (!*buf)
+-              goto out;
+-      (*buf)[STRBUF_SIZE] = 0;
+-
+       len = strlen(name) + strlen(selinux_mnt) + sizeof(SELINUX_BOOL_DIR);
+       fname = (char *)malloc(sizeof(char) * len);
+       if (!fname)
+-              goto out;
++              return fd;
++
+       snprintf(fname, len, "%s%s%s", selinux_mnt, SELINUX_BOOL_DIR, name);
+-      fd = open(fname, O_RDONLY);
+-      if (fd < 0)
++      fd = open(fname, flag);
++      if (fd >= 0 || errno != ENOENT) 
+               goto out;
+-      len = read(fd, *buf, STRBUF_SIZE);
+-      close(fd);
+-      if (len != STRBUF_SIZE)
++      alt_name = bool_sub(name);
++      if (! alt_name)
+               goto out;
++      len = strlen(alt_name) + strlen(selinux_mnt) + sizeof(SELINUX_BOOL_DIR);
++      ptr = realloc(fname, len);
++      if (!ptr) 
++              goto out;
++
++      fname = ptr;
++      snprintf(fname, len, "%s%s%s", selinux_mnt, SELINUX_BOOL_DIR, alt_name);
++      fd = open(fname, flag);
++
++out:
+       free(fname);
+-      return 0;
++      free(alt_name);
++
++      return fd;
++}
++
++#define STRBUF_SIZE 3
++static int get_bool_value(const char *name, char **buf)
++{
++      int fd, len;
++      int rc = -1;
++      char *bool_buf = NULL;
++      if (!selinux_mnt) {
++              errno = ENOENT;
++              return -1;
++      }
++
++      fd = bool_open(name, O_RDONLY);
++      if (fd < 0)
++              return -1;
++
++      bool_buf = malloc(sizeof(char) * (STRBUF_SIZE + 1));
++      if (!bool_buf)
++              goto out;
++      bool_buf[STRBUF_SIZE] = 0;
++
++      len = read(fd, bool_buf, STRBUF_SIZE);
++      if (len != STRBUF_SIZE) 
++              goto out;
++      rc = 0;
+       out:
+-      if (*buf)
+-              free(*buf);
+-      if (fname)
+-              free(fname);
+-      return -1;
++      close(fd);
++      if (!rc) {
++              *buf = bool_buf;
++      } else {
++              free(bool_buf);
++      }
++      return rc;
+ }
+ int security_get_boolean_pending(const char *name)
+@@ -164,8 +250,8 @@ hidden_def(security_get_boolean_active)
+ int security_set_boolean(const char *name, int value)
+ {
+-      int fd, ret, len;
+-      char buf[2], *fname;
++      int fd, ret;
++      char buf[2];
+       if (!selinux_mnt) {
+               errno = ENOENT;
+@@ -176,17 +262,9 @@ int security_set_boolean(const char *name, int value)
+               return -1;
+       }
+-      len = strlen(name) + strlen(selinux_mnt) + sizeof(SELINUX_BOOL_DIR);
+-      fname = (char *)malloc(sizeof(char) * len);
+-      if (!fname)
++      fd = bool_open(name, O_WRONLY);
++      if (fd < 0) 
+               return -1;
+-      snprintf(fname, len, "%s%s%s", selinux_mnt, SELINUX_BOOL_DIR, name);
+-
+-      fd = open(fname, O_WRONLY);
+-      if (fd < 0) {
+-              ret = -1;
+-              goto out;
+-      }
+       if (value)
+               buf[0] = '1';
+@@ -196,8 +274,7 @@ int security_set_boolean(const char *name, int value)
+       ret = write(fd, buf, 2);
+       close(fd);
+-      out:
+-      free(fname);
++
+       if (ret > 0)
+               return 0;
+       else
+diff --git a/libselinux/src/callbacks.c b/libselinux/src/callbacks.c
+index b245364..7c47222 100644
+--- a/libselinux/src/callbacks.c
++++ b/libselinux/src/callbacks.c
+@@ -16,6 +16,7 @@ default_selinux_log(int type __attribute__((unused)), const char *fmt, ...)
+ {
+       int rc;
+       va_list ap;
++      if (is_selinux_enabled() == 0) return 0;
+       va_start(ap, fmt);
+       rc = vfprintf(stderr, fmt, ap);
+       va_end(ap);
+diff --git a/libselinux/src/file_path_suffixes.h b/libselinux/src/file_path_suffixes.h
+index 0b00156..825f295 100644
+--- a/libselinux/src/file_path_suffixes.h
++++ b/libselinux/src/file_path_suffixes.h
+@@ -22,6 +22,8 @@ S_(BINPOLICY, "/policy/policy")
+     S_(COLORS, "/secolor.conf")
+     S_(VIRTUAL_DOMAIN, "/contexts/virtual_domain_context")
+     S_(VIRTUAL_IMAGE, "/contexts/virtual_image_context")
++    S_(LXC_CONTEXTS, "/contexts/lxc_contexts")
+     S_(FILE_CONTEXT_SUBS, "/contexts/files/file_contexts.subs")
+     S_(FILE_CONTEXT_SUBS_DIST, "/contexts/files/file_contexts.subs_dist")
+     S_(SEPGSQL_CONTEXTS, "/contexts/sepgsql_contexts")
++    S_(BOOLEAN_SUBS, "/booleans.subs")
+diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c
+index 7bc46cc..82a608c 100644
+--- a/libselinux/src/label_file.c
++++ b/libselinux/src/label_file.c
+@@ -27,6 +27,7 @@
+  * Internals, mostly moved over from matchpathcon.c
+  */
++#define MAX_PREFIX 100
+ /* A file security context specification. */
+ typedef struct spec {
+       struct selabel_lookup_rec lr;   /* holds contexts for lookup result */
+@@ -276,7 +277,7 @@ static int compile_regex(struct saved_data *data, spec_t *spec, char **errbuf)
+ static int process_line(struct selabel_handle *rec,
+-                      const char *path, const char *prefix,
++                      const char *path, const char **prefix_array,
+                       char *line_buf, int pass, unsigned lineno)
+ {
+       int items, len;
+@@ -310,12 +311,24 @@ static int process_line(struct selabel_handle *rec,
+       }
+       len = get_stem_from_spec(regex);
+-      if (len && prefix && strncmp(prefix, regex, len)) {
+-              /* Stem of regex does not match requested prefix, discard. */
+-              free(regex);
+-              free(type);
+-              free(context);
+-              return 0;
++      if (len && prefix_array[0]) {
++              int i = 0;
++              int found = 0;
++              while (i < MAX_PREFIX && prefix_array[i]) {
++                      if (strncmp(prefix_array[i], regex, len) == 0) {
++                              found = 1;
++                              break;
++                      }
++                      i++;
++              }
++
++              if (! found) {
++                      /* Stem of regex does not match requested prefix, discard. */
++                      free(regex);
++                      free(type);
++                      free(context);
++                      return 0;
++              }
+       }
+       if (pass == 1) {
+@@ -397,7 +410,8 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+ {
+       struct saved_data *data = (struct saved_data *)rec->data;
+       const char *path = NULL;
+-      const char *prefix = NULL;
++      const char *static_prefix_array[2] = {NULL, };
++      const char **prefix_array = static_prefix_array;
+       FILE *fp;
+       FILE *localfp = NULL;
+       FILE *homedirfp = NULL;
+@@ -418,7 +432,10 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+                       path = opts[n].value;
+                       break;
+               case SELABEL_OPT_SUBSET:
+-                      prefix = opts[n].value;
++                      static_prefix_array[0] = opts[n].value;
++                      break;
++              case SELABEL_OPT_PREFIXES:
++                      prefix_array = opts[n].values;
+                       break;
+               case SELABEL_OPT_BASEONLY:
+                       baseonly = !!opts[n].value;
+@@ -481,7 +498,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+               while (getline(&line_buf, &line_len, fp) > 0) {
+                       if (data->nspec >= maxnspec)
+                               break;
+-                      status = process_line(rec, path, prefix, line_buf, pass, ++lineno);
++                      status = process_line(rec, path, prefix_array, line_buf, pass, ++lineno);
+                       if (status)
+                               goto finish;
+               }
+@@ -497,7 +514,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+                       while (getline(&line_buf, &line_len, homedirfp) > 0) {
+                               if (data->nspec >= maxnspec)
+                                       break;
+-                              status = process_line(rec, homedir_path, prefix, line_buf, pass, ++lineno);
++                              status = process_line(rec, homedir_path, prefix_array, line_buf, pass, ++lineno);
+                               if (status)
+                                       goto finish;
+                       }
+@@ -507,7 +524,7 @@ static int init(struct selabel_handle *rec, struct selinux_opt *opts,
+                       while (getline(&line_buf, &line_len, localfp) > 0) {
+                               if (data->nspec >= maxnspec)
+                                       break;
+-                              status = process_line(rec, local_path, prefix, line_buf, pass, ++lineno);
++                              status = process_line(rec, local_path, prefix_array, line_buf, pass, ++lineno);
+                               if (status)
+                                       goto finish;
+                       }
+diff --git a/libselinux/src/matchpathcon.c b/libselinux/src/matchpathcon.c
+index 8f200d4..c18ea47 100644
+--- a/libselinux/src/matchpathcon.c
++++ b/libselinux/src/matchpathcon.c
+@@ -2,6 +2,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <stdio.h>
++#include <syslog.h>
+ #include "selinux_internal.h"
+ #include "label_internal.h"
+ #include "callbacks.h"
+@@ -62,7 +63,7 @@ static void
+ {
+       va_list ap;
+       va_start(ap, fmt);
+-      vfprintf(stderr, fmt, ap);
++      vsyslog(LOG_ERR, fmt, ap);
+       va_end(ap);
+ }
+@@ -306,7 +307,7 @@ static void matchpathcon_init_once(void)
+               destructor_key_initialized = 1;
+ }
+-int matchpathcon_init_prefix(const char *path, const char *subset)
++int matchpathcon_init_prefixes(const char *path, const char **prefixes)
+ {
+       if (!mycanoncon)
+               mycanoncon = default_canoncon;
+@@ -314,15 +315,22 @@ int matchpathcon_init_prefix(const char *path, const char *subset)
+       __selinux_once(once, matchpathcon_init_once);
+       __selinux_setspecific(destructor_key, (void *)1);
+-      options[SELABEL_OPT_SUBSET].type = SELABEL_OPT_SUBSET;
+-      options[SELABEL_OPT_SUBSET].value = subset;
++      options[SELABEL_OPT_PREFIXES].type = SELABEL_OPT_PREFIXES;
++      options[SELABEL_OPT_PREFIXES].values = prefixes;
+       options[SELABEL_OPT_PATH].type = SELABEL_OPT_PATH;
+       options[SELABEL_OPT_PATH].value = path;
+       hnd = selabel_open(SELABEL_CTX_FILE, options, SELABEL_NOPT);
+       return hnd ? 0 : -1;
+ }
++hidden_def(matchpathcon_init_prefixes)
++int matchpathcon_init_prefix(const char *path, const char *prefix)
++{
++      const char *prefixes[2] = { prefix, NULL };
++
++      return matchpathcon_init_prefixes(path, prefixes);
++}
+ hidden_def(matchpathcon_init_prefix)
+ int matchpathcon_init(const char *path)
+diff --git a/libselinux/src/selinux_config.c b/libselinux/src/selinux_config.c
+index f42cb7c..f544ac2 100644
+--- a/libselinux/src/selinux_config.c
++++ b/libselinux/src/selinux_config.c
+@@ -9,6 +9,7 @@
+ #include <unistd.h>
+ #include <pthread.h>
+ #include "selinux_internal.h"
++#include "policy.h"
+ #include "get_default_type_internal.h"
+ #define SELINUXDIR "/etc/selinux/"
+@@ -46,7 +47,9 @@
+ #define FILE_CONTEXT_SUBS 23
+ #define SEPGSQL_CONTEXTS  24
+ #define FILE_CONTEXT_SUBS_DIST 25
+-#define NEL               26
++#define BOOLEAN_SUBS      26
++#define LXC_CONTEXTS      27
++#define NEL               28
+ /* Part of one-time lazy init */
+ static pthread_once_t once = PTHREAD_ONCE_INIT;
+@@ -301,6 +304,29 @@ const char *selinux_binary_policy_path(void)
+ hidden_def(selinux_binary_policy_path)
++const char *selinux_current_policy_path(void)
++{
++      int rc = 0;
++      int vers = 0;
++      static char policy_path[PATH_MAX];
++
++      snprintf(policy_path, sizeof(policy_path), "%s/policy", selinux_mnt);
++      if (access(policy_path, F_OK) != 0 ) {
++              vers = security_policyvers();
++              do {
++                      /* Check prior versions to see if old policy is available */
++                      snprintf(policy_path, sizeof(policy_path), "%s.%d",
++                               selinux_binary_policy_path(), vers);
++              } while ((rc = access(policy_path, F_OK)) && --vers > 0);
++
++              if (rc) return NULL;
++      }
++
++      return policy_path;
++}
++
++hidden_def(selinux_current_policy_path)
++
+ const char *selinux_file_context_path(void)
+ {
+       return get_path(FILE_CONTEXTS);
+@@ -418,6 +444,19 @@ const char *selinux_virtual_image_context_path(void)
+ hidden_def(selinux_virtual_image_context_path)
++const char *selinux_lxc_contexts_path(void)
++{
++      return get_path(LXC_CONTEXTS);
++}
++
++hidden_def(selinux_lxc_contexts_path)
++
++const char * selinux_booleans_subs_path(void) {
++      return get_path(BOOLEAN_SUBS);
++}
++
++hidden_def(selinux_booleans_subs_path)
++
+ const char * selinux_file_context_subs_path(void) {
+       return get_path(FILE_CONTEXT_SUBS);
+ }
+diff --git a/libselinux/src/selinux_internal.h b/libselinux/src/selinux_internal.h
+index 00df405..8a935d0 100644
+--- a/libselinux/src/selinux_internal.h
++++ b/libselinux/src/selinux_internal.h
+@@ -60,12 +60,15 @@ hidden_proto(selinux_mkload_policy)
+     hidden_proto(security_setenforce)
+     hidden_proto(security_deny_unknown)
+     hidden_proto(selinux_binary_policy_path)
++    hidden_proto(selinux_booleans_subs_path)
++    hidden_proto(selinux_current_policy_path)
+     hidden_proto(selinux_default_context_path)
+     hidden_proto(selinux_securetty_types_path)
+     hidden_proto(selinux_failsafe_context_path)
+     hidden_proto(selinux_removable_context_path)
+     hidden_proto(selinux_virtual_domain_context_path)
+     hidden_proto(selinux_virtual_image_context_path)
++    hidden_proto(selinux_lxc_contexts_path)
+     hidden_proto(selinux_file_context_path)
+     hidden_proto(selinux_file_context_homedir_path)
+     hidden_proto(selinux_file_context_local_path)
+@@ -82,6 +85,7 @@ hidden_proto(selinux_mkload_policy)
+     hidden_proto(selinux_path)
+     hidden_proto(selinux_check_passwd_access)
+     hidden_proto(selinux_check_securetty_context)
++    hidden_proto(matchpathcon_init_prefixes)
+     hidden_proto(matchpathcon_init_prefix)
+     hidden_proto(selinux_users_path)
+     hidden_proto(selinux_usersconf_path);
index 348f335140240ec02404269dd352a0807c7d2b99..5bac1be2f1c3d520e09a15dcf1204f427b0f9580 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = libsemanage
-version    = 2.0.45
-release    = 1
+version    = 2.1.5
+release    = 3
 
 groups     = System/Libraries
 url        = http://www.selinuxproject.org
@@ -13,11 +13,10 @@ license    = LGPLv2+
 summary    = SELinux binary policy manipulation library.
 
 description
-       libsemanage provides an API for the manipulation of SELinux \
+       libsemanage provides an API for the manipulation of SELinux
        binary policies.
 end
 
-source_dl  =
 sources    = %{thisapp}.tgz
 
 build
@@ -26,7 +25,7 @@ build
                bzip2-devel
                flex
                libselinux-devel
-               libsepol-devel
+               libsepol-devel >= 2.1.4
                python-devel
                swig
                ustr-devel
@@ -34,13 +33,18 @@ build
 
        build
                make clean
-               make CC=gcc LIBDIR="/usr/lib" CFLAGS="-g %{CFLAGS}" swigify
-               make CC=gcc LIBDIR="/usr/lib" CFLAGS="-g %{CFLAGS}" all
-               make CC=gcc LIBDIR="/usr/lib" CFLAGS="-g %{CFLAGS}" pywrap
+               make CC=gcc LIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" swigify
+               make CC=gcc LIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" all
+               make CC=gcc LIBDIR="%{libdir}" CFLAGS="-g %{CFLAGS}" pywrap
        end
 
+       # Install libraries to correct place.
+       make_install_targets += \
+               LIBDIR="%{BUILDROOT}%{libdir}" \
+               SHLIBDIR="%{BUILDROOT}%{libdir}"
+
        install_cmds
-               make install-pywrap DESTDIR=%{BUILDROOT}
+               make install-pywrap %{make_install_targets} DESTDIR=%{BUILDROOT}
 
                # Install our config file
                cp -vf %{DIR_SOURCE}/semanage.conf %{BUILDROOT}/etc/selinux/semanage.conf
@@ -54,13 +58,13 @@ packages
        package %{name}-devel
                template DEVEL
        end
-
-       package python-selinux-manage
+       
+       package python-libsemanage
                summary =  SELinux manage python bindings.
                description = SELinux python bindings for libsemanage.
 
                files
-                       /usr/lib/python*
+                       %{libdir}/python*
                end
        end
 
index d2f9c59bed59d0b204a05942d44c5e3def76c340..882b8f004c4ad394252effce2ecbd6db4dad6d13 100644 (file)
@@ -46,3 +46,5 @@ expand-check=0
 # For example, if you had home dirs in /althome directory you would have to execute
 # semanage fcontext -a -e /home /althome
 usepasswd=False
+bzip-small=true
+bzip-blocksize=5
index fd2605f533f94b0af07f3d2f2f0afa84cbf4151b..43b6466f912dce815dfa72fd3125f8d2181e3583 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = libsepol
-version    = 2.0.41
-release    = 2
+version    = 2.1.5
+release    = 1
 
 groups     = System/Libraries
 url        = http://www.selinuxproject.org
@@ -13,35 +13,42 @@ license    = LGPLv2+
 summary    = SELinux binary policy manipulation library.
 
 description
-       libsepol provides an API for the manipulation of SELinux binary \
+       libsepol provides an API for the manipulation of SELinux binary
        policies.
 end
 
-source_dl  =
 sources    = %{thisapp}.tgz
 
 build
+       # Keep static libsepol.a for some selinux tools, that needs to link 
+       # against it. We will put it into an own package.
+       keep_libraries = %{libdir}/libsepol.a
+
        build
                make clean
                make CFLAGS="%{CFLAGS}" %{PARALELLISMFLAGS}
        end
 
-       make_install_targets += LIBDIR="%{BUILDROOT}%{libdir}" \
-               SHLIBDIR="%{BUILDROOT}/%{lib}"
+       # Install libraries to correct place.
+       make_install_targets += \
+               LIBDIR="%{BUILDROOT}%{libdir}" \
+               SHLIBDIR="%{BUILDROOT}%{libdir}"
 
        install_cmds
                # Remove binaries
                rm -rf %{BUILDROOT}/usr/bin
 
-               # Remove manpages from binaries
+               # Remove manpages for binaries
                rm -rf %{BUILDROOT}/usr/share/man/man8
+
+               # Fix bad symlink.
+               ln -svf libsepol.so.1 %{BUILDROOT}%{libdir}/libsepol.so
        end
 end
 
 packages
        package %{name}
-       end
-
+       
        package %{name}-devel
                template DEVEL
        end
@@ -49,4 +56,14 @@ packages
        package %{name}-debuginfo
                template DEBUGINFO
        end
+
+       package %{name}-static
+               summary = Static libraries used to build policy manipulation tools.
+               description = %{summary}
+               groups = Development/Libraries
+
+               files
+                       %{libdir}/libsepol.a
+               end
+       end
 end
index aade3f94b04ad77433c5a2c4032d511858c5ae07..2750d22e0772af14ab3978587331b5e370701249 100644 (file)
@@ -6,7 +6,7 @@
 name       = libsolv
 version    = 0.0.0
 git_ver    = 0db9d7f
-release    = 2.git%{git_ver}
+release    = 3.git%{git_ver}
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Libraries
@@ -33,6 +33,9 @@ build
        end
 
        prepare_cmds
+               # Remove -Werror from gcc command line.
+               find . -name CMakeLists.txt | xargs sed -e "s/-Werror//g" -i
+
                # Do not build bindings, examples and tools.
                sed "/bindings/d" -i CMakeLists.txt
                sed "/examples/d" -i CMakeLists.txt
index d81e2d49bc45727b57e47a2626151ae1365e1a58..1d62064519f7550d3859909ce21fe4012bb23167 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = libtiff
-version    = 4.0.0
-release    = 2
+version    = 4.0.1
+release    = 1
 thisapp    = tiff-%{version}
 
 groups     = System/Libraries
index 9cbeb8c15b9860f39f9aaa794b906227b16093b2..18bf990855c844ea13a41b161019bb35c1f08f84 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libtorrent
-version    = 0.12.7
+version    = 0.12.9
 release    = 1
 
 groups     = Internet/P2P
@@ -17,7 +17,7 @@ description
        focus on high performance and good code.
 end
 
-source_dl  =
+source_dl  = http://libtorrent.rakshasa.no/downloads/
 
 build
        requires
@@ -25,11 +25,12 @@ build
                libsigc++-devel
                openssl-devel
        end
+
+       CFLAGS += -fno-strict-aliasing
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index a094388203e0a54a3a5d644ddda90563d01ddbb2..3ec47d8ea1a7cf2020d4e6521d8079adb3a4695a 100644 (file)
@@ -4,9 +4,10 @@
 ###############################################################################
 
 name       = libvirt
-version    = 0.9.6
+version    = 0.9.9
 release    = 1
 
+maintainer = Ben Schweikert <ben.schweikert@ipfire.org>
 groups     = Applications/Virtualization
 url        = http://www.libvirt.org/
 license    = LGPLv2.1+
index 8eb4ebf56a1546f025fb5e747d92a524ee22a944..b907dbf7dbc8821695c7539e1e614d3b4ee9787d 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libxml2
 version    = 2.7.8
-release    = 1
+release    = 2
 
 groups     = System/Libraries
 url        = http://xmlsoft.org/
@@ -13,14 +13,14 @@ license    = MIT
 summary    = Library providing XML and HTML support.
 
 description
-       This library allows to manipulate XML files. It includes support \
-       to read, modify and write XML and HTML files. There is DTDs support \
-       this includes parsing and validation even with complex DtDs, either \
-       at parse time or later once the document has been modified. The output \
-       can be a simple SAX stream or and in-memory DOM like representations. \
-       In this case one can use the built-in XPath and XPointer implementation \
-       to select subnodes or ranges. A flexible Input/Output mechanism is \
-       available, with existing HTTP and FTP modules and combined to an URI \
+       This library allows to manipulate XML files. It includes support
+       to read, modify and write XML and HTML files. There is DTDs support
+       this includes parsing and validation even with complex DtDs, either
+       at parse time or later once the document has been modified. The output
+       can be a simple SAX stream or and in-memory DOM like representations.
+       In this case one can use the built-in XPath and XPointer implementation
+       to select subnodes or ranges. A flexible Input/Output mechanism is
+       available, with existing HTTP and FTP modules and combined to an URI
        library.
 end
 
diff --git a/libxml2/patches/libxml2-2.7.7-xpath-double-free.patch b/libxml2/patches/libxml2-2.7.7-xpath-double-free.patch
new file mode 100644 (file)
index 0000000..c5dbbee
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/xpath.c  
++++ a/xpath.c  
+@@ -11763,11 +11763,16 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
+           if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
+               xmlXPathObjectPtr tmp;
+-              /* pop the result */
++              /* pop the result if any */
+               tmp = valuePop(ctxt);
+-              xmlXPathReleaseObject(xpctxt, tmp);
+-              /* then pop off contextObj, which will be freed later */
+-              valuePop(ctxt);
++                if (tmp != contextObj) {
++                    /*
++                     * Free up the result
++                     * then pop off contextObj, which will be freed later
++                     */
++                    xmlXPathReleaseObject(xpctxt, tmp);
++                    valuePop(ctxt);
++                }
+               goto evaluation_error;
+           }
index 428e21fca8f55ec3d11d366348ded1f093b2f4d5..81ff42ffe5d6b0bca461e8a684c84de177ba24fe 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = linux-atm
-version    = 2.4.1
+version    = 2.5.1
 release    = 1
 
 groups     = System/Daemons
@@ -17,36 +17,34 @@ description
        using theLinux ATM API.
 end
 
-source_dl  =
+sources    = %{thisapp}.tgz
+source_dl  = http://downloads.sf.net/%{name}/
 
 build
        requires
+               bison
                flex
                flex-devel
                kernel-headers
                perl
        end
 
-       configure_options += \
-               --sysconfdir=/etc \
-               --mandir=/usr/share/man
-
        prepare_cmds
                sed -e "s/-lfl/&_pic/g" -i src/*{,/*}/Makefile.in
        end
-
-       # Fails
-       #def test
-       #       make check
-       #end
 end
 
 packages
        package %{name}
+
+       package %{name}-libs
+               template LIBS
        end
 
        package %{name}-devel
                template DEVEL
+
+               requires += %{name}-libs = %{thisver}
        end
 
        package %{name}-debuginfo
diff --git a/linux-atm/patches/linux-arm-gcc43.patch b/linux-atm/patches/linux-arm-gcc43.patch
new file mode 100644 (file)
index 0000000..9d9c5cd
--- /dev/null
@@ -0,0 +1,11 @@
+diff -rNu linux-atm-2.5.0/src/led/main.c linux-atm-2.5.0-atomix/src/led/main.c
+--- linux-atm-2.5.0/src/led/main.c     2005-10-06 19:27:50.000000000 +0200
++++ linux-atm-2.5.0-atomix/src/led/main.c      2008-04-18 12:14:21.000000000 +0200
+@@ -36,6 +36,7 @@
+ #include <sys/time.h>
+ #include <unistd.h>
+ #include <signal.h>
++#include <limits.h>
+ #include <ctype.h>
+ #include <string.h>
+ #include <getopt.h>
diff --git a/linux-atm/patches/linux-atm-2.4.1-gcc-4.patch b/linux-atm/patches/linux-atm-2.4.1-gcc-4.patch
deleted file mode 100644 (file)
index f6be9d2..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-diff -Naur linux-atm-2.4.1-orig/src/ilmid/atmf_uni.c linux-atm-2.4.1/src/ilmid/atmf_uni.c
---- linux-atm-2.4.1-orig/src/ilmid/atmf_uni.c  2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/ilmid/atmf_uni.c       2005-08-13 10:22:44.000000000 +0100
-@@ -187,7 +187,7 @@
-       newPrefix->name = alloc_t(AsnOid);
-       newPrefix->name->octs = alloc(varBindName->octetLen);
-       AsnOidCopy(newPrefix->name, varBindName);
--      Q_INSERT_BEFORE((NetPrefixNode *) var->value, newPrefix, prefix);
-+      Q_INSERT_BEFORE((*((NetPrefixNode **)&var->value)), newPrefix, prefix);
-       if(atmNetPrefix.octs == NULL)
-       {
-         atmNetPrefix.octetLen = varBindName->octetLen - NETPREFIX_LEN - 2;
-@@ -197,7 +197,7 @@
-     }
-   else if (varbind->value->a.simple->a.number == INVALID && cmp == AsnOidEqual)
-     {
--      Q_REMOVE((NetPrefixNode *) var->value, prefix);
-+      Q_REMOVE((*((NetPrefixNode **) &var->value)), prefix);
-     }
-   return NOERROR;
-diff -Naur linux-atm-2.4.1-orig/src/lib/sapequal.c linux-atm-2.4.1/src/lib/sapequal.c
---- linux-atm-2.4.1-orig/src/lib/sapequal.c    2001-09-03 19:41:05.000000000 +0100
-+++ linux-atm-2.4.1/src/lib/sapequal.c 2005-02-06 19:24:37.000000000 +0000
-@@ -65,6 +65,7 @@
-           CHECK(l2.itu.window,a.l2.itu.window > b.l2.itu.window);
-           break;
-       default:
-+          ;
-     }
-     switch (a.l3_proto) {
-       case ATM_L3_X25:
-@@ -83,6 +84,7 @@
-           if (a.l3.user != b.l3.user) return 0;
-           break;
-       default:
-+          ;
-     }
-     return 1;
- }
-diff -Naur linux-atm-2.4.1-orig/src/maint/atmtcp.c linux-atm-2.4.1/src/maint/atmtcp.c
---- linux-atm-2.4.1-orig/src/maint/atmtcp.c    2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/maint/atmtcp.c 2005-08-13 10:22:44.000000000 +0100
-@@ -60,7 +60,7 @@
- static IN *inputs = NULL;
- static fd_set in_set;
- static int fds = 0;
--static int debug = 0;
-+int debug = 0;
- static int links = 0;
-diff -Naur linux-atm-2.4.1-orig/src/maint/enitune.c linux-atm-2.4.1/src/maint/enitune.c
---- linux-atm-2.4.1-orig/src/maint/enitune.c   2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/maint/enitune.c        2005-02-06 19:24:37.000000000 +0000
-@@ -44,6 +44,7 @@
-               if (*end || mult.rx <= 100) usage(name);
-               break;
-           default:
-+          ;
-       }
-     if (argc != optind+1) usage(name);
-     sioc.number = strtol(argv[optind],&end,0);
-diff -Naur linux-atm-2.4.1-orig/src/mpoad/p_factory.c linux-atm-2.4.1/src/mpoad/p_factory.c
---- linux-atm-2.4.1-orig/src/mpoad/p_factory.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/mpoad/p_factory.c      2005-08-13 10:22:44.000000000 +0100
-@@ -31,16 +31,17 @@
-             *         beginning at location "addr".
-             */
-        uint32_t sum = 0;
-+       uint16_t *addr16 = addr;
-         while( count > 1 )  {
-            /*  This is the inner loop */
--               sum += * ((uint16_t *) addr)++;
-+               sum += * addr16++;
-                count -= 2;
-        }
-            /*  Add left-over byte, if any */
-        if( count > 0 )
--               sum += * (unsigned char *) addr;
-+               sum += * (unsigned char *) addr16;
-            /*  Fold 32-bit sum to 16 bits */
-        while (sum>>16)
-diff -Naur linux-atm-2.4.1-orig/src/qgen/qlib.c linux-atm-2.4.1/src/qgen/qlib.c
---- linux-atm-2.4.1-orig/src/qgen/qlib.c       2001-09-03 19:41:05.000000000 +0100
-+++ linux-atm-2.4.1/src/qgen/qlib.c    2005-08-13 10:22:44.000000000 +0100
-@@ -26,8 +26,6 @@
- #include "op.h"
--static int debug = 0;
--
- void PREFIX(report)(int severity,const char *msg,...)
- {
-@@ -830,6 +828,8 @@
- #ifdef STANDALONE
-+int debug = 0;
-+
- int main(int argc,const char **argv)
- {
-     unsigned char msg[5000]; /* should be large enough for that */
-diff -Naur linux-atm-2.4.1-orig/src/qgen/qlib.h linux-atm-2.4.1/src/qgen/qlib.h
---- linux-atm-2.4.1-orig/src/qgen/qlib.h       2001-09-03 19:41:05.000000000 +0100
-+++ linux-atm-2.4.1/src/qgen/qlib.h    2005-08-13 10:22:44.000000000 +0100
-@@ -23,7 +23,6 @@
- #define Q_FATAL               -1
--extern int q_dump;
- extern void q_report(int severity,const char *msg,...);
- #ifdef DUMP_MODE
-diff -Naur linux-atm-2.4.1-orig/src/sigd/proto.c linux-atm-2.4.1/src/sigd/proto.c
---- linux-atm-2.4.1-orig/src/sigd/proto.c      2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/sigd/proto.c   2005-02-06 19:24:37.000000000 +0000
-@@ -259,6 +259,7 @@
-               break;
-           }
-       default:
-+          ;
-     }
-     va_end(ap);
-     if ((size = q_close(&dsc)) >= 0) to_signaling(sock->sig,q_buffer,size);
-@@ -288,6 +289,7 @@
-               }
-               break;
-           default:
-+          ;
-       }
-       va_end(ap);
-     }
-diff -Naur linux-atm-2.4.1-orig/src/switch/debug/debug.c linux-atm-2.4.1/src/switch/debug/debug.c
---- linux-atm-2.4.1-orig/src/switch/debug/debug.c      2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/switch/debug/debug.c   2005-08-13 10:22:44.000000000 +0100
-@@ -18,7 +18,7 @@
- #define COMPONENT "FAB(debug)"
--#define PRV(call) ((FAB *) (call)->fab)
-+#define PRV(call) (*((FAB **) &(call)->fab))
- typedef struct _fab {
-diff -Naur linux-atm-2.4.1-orig/src/switch/tcp/tcpsw.c linux-atm-2.4.1/src/switch/tcp/tcpsw.c
---- linux-atm-2.4.1-orig/src/switch/tcp/tcpsw.c        2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/switch/tcp/tcpsw.c     2005-08-13 10:22:44.000000000 +0100
-@@ -27,7 +27,7 @@
- #define COMPONENT "FAB(tcp)"
--#define PRV(call) ((FAB *) (call)->fab)
-+#define PRV(call) (*((FAB **) &(call)->fab))
- #define MAX_VCI       1024
diff --git a/linux-atm/patches/linux-atm-2.4.1-nmu.patch b/linux-atm/patches/linux-atm-2.4.1-nmu.patch
deleted file mode 100644 (file)
index ebf0a68..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
---- linux-atm-2.4.1~/src/arpd/arp.c    2001-09-03 20:41:05.000000000 +0200
-+++ linux-atm-2.4.1/src/arpd/arp.c     2007-07-19 01:38:37.000000000 +0200
-@@ -16,6 +16,7 @@
- #include <sys/socket.h> /* for linux/if_arp.h */
- #include <netinet/in.h> /* for ntohs, etc. */
- #define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */
-+#include <linux/types.h>
- #include <linux/if_arp.h>
- #include <linux/if_ether.h>
- #include <atm.h>
-diff -urNad linux-atm-2.4.1~/src/arpd/io.c linux-atm-2.4.1/src/arpd/io.c
---- linux-atm-2.4.1~/src/arpd/io.c     2001-09-03 20:41:05.000000000 +0200
-+++ linux-atm-2.4.1/src/arpd/io.c      2007-07-19 01:38:37.000000000 +0200
-@@ -19,6 +19,7 @@
- #include <net/if.h>
- #include <netinet/in.h>
- #include <atm.h>
-+#include <linux/types.h>
- #include <linux/atmclip.h> /* for CLIP_DEFAULT_IDLETIMER */
- #include <linux/atmarp.h>
- #define _LINUX_NETDEVICE_H /* glibc2 */
-diff -urNad linux-atm-2.4.1~/src/arpd/itf.c linux-atm-2.4.1/src/arpd/itf.c
---- linux-atm-2.4.1~/src/arpd/itf.c    2001-09-03 20:41:05.000000000 +0200
-+++ linux-atm-2.4.1/src/arpd/itf.c     2007-07-19 01:38:37.000000000 +0200
-@@ -10,6 +10,7 @@
- #include <stdint.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <linux/types.h>
- #include <linux/atmclip.h>
- #include <sys/socket.h>
- #define _LINUX_NETDEVICE_H /* glibc2 */
-diff -urNad linux-atm-2.4.1~/src/mpoad/io.c linux-atm-2.4.1/src/mpoad/io.c
---- linux-atm-2.4.1~/src/mpoad/io.c    2001-09-03 20:41:06.000000000 +0200
-+++ linux-atm-2.4.1/src/mpoad/io.c     2007-07-19 01:38:37.000000000 +0200
-@@ -19,6 +19,7 @@
- _syscall3(int,poll,struct pollfd *,ufds,unsigned int,nfds,int,timeout);
- #endif
- #include <atm.h>
-+#include <linux/types.h>
- #include <linux/atmioc.h>
- #include <linux/atmmpc.h>
- #include <sys/types.h>
-diff -urNad linux-atm-2.4.1~/src/mpoad/k_interf.c linux-atm-2.4.1/src/mpoad/k_interf.c
---- linux-atm-2.4.1~/src/mpoad/k_interf.c      2001-09-03 20:41:06.000000000 +0200
-+++ linux-atm-2.4.1/src/mpoad/k_interf.c       2007-07-19 01:38:37.000000000 +0200
-@@ -9,6 +9,7 @@
- #include <sys/param.h> /* for OPEN_MAX   */
- #include <stdint.h>
- #include <netinet/in.h> /* for ntohl()    */
-+#include <linux/types.h>
- #include <linux/atmmpc.h>
- #include <atm.h>
- #include "k_interf.h"
-diff -urNad linux-atm-2.4.1~/src/mpoad/lecs.c linux-atm-2.4.1/src/mpoad/lecs.c
---- linux-atm-2.4.1~/src/mpoad/lecs.c  2001-09-03 20:41:06.000000000 +0200
-+++ linux-atm-2.4.1/src/mpoad/lecs.c   2007-07-19 01:39:04.000000000 +0200
-@@ -11,6 +11,7 @@
- #include <errno.h>
- #include <atm.h>
- #include <atmsap.h>
-+#include <linux/types.h>
- #include <linux/atmmpc.h>   /* for MPOA Device type TLV */
- #include "lecs.h"
- #include "k_interf.h"
-diff -urNad linux-atm-2.4.1~/src/mpoad/main.c linux-atm-2.4.1/src/mpoad/main.c
---- linux-atm-2.4.1~/src/mpoad/main.c  2001-09-03 20:41:06.000000000 +0200
-+++ linux-atm-2.4.1/src/mpoad/main.c   2007-07-19 01:38:37.000000000 +0200
-@@ -9,6 +9,7 @@
- #include <time.h>
- #include <sys/ioctl.h>
- #include <atm.h>
-+#include <linux/types.h>
- #include <linux/atmdev.h>
- #include <linux/atmmpc.h>
- #include <sys/socket.h>
-diff -urNad linux-atm-2.4.1~/src/mpoad/p_factory.c linux-atm-2.4.1/src/mpoad/p_factory.c
---- linux-atm-2.4.1~/src/mpoad/p_factory.c     2007-07-19 01:22:42.000000000 +0200
-+++ linux-atm-2.4.1/src/mpoad/p_factory.c      2007-07-19 01:38:37.000000000 +0200
-@@ -5,6 +5,7 @@
- #include <sys/types.h>
- #include <stdint.h>
- #include <netinet/in.h>
-+#include <linux/types.h>
- #include <linux/atmmpc.h>
- #include <sys/socket.h>
- #include <unistd.h>
-diff -urNad linux-atm-2.4.1~/src/mpoad/p_recogn.c linux-atm-2.4.1/src/mpoad/p_recogn.c
---- linux-atm-2.4.1~/src/mpoad/p_recogn.c      2001-09-03 20:41:06.000000000 +0200
-+++ linux-atm-2.4.1/src/mpoad/p_recogn.c       2007-07-19 01:39:12.000000000 +0200
-@@ -7,6 +7,7 @@
- #include <stdlib.h>
- #include <sys/time.h>
- #include <atm.h>
-+#include <linux/types.h>
- #include <linux/atmmpc.h>
- #include <netinet/in.h>
- #include <limits.h> /* For UINT_MAX */
diff --git a/linux-atm/patches/linux-atm-2.5.0-disable-ilmidiag.patch b/linux-atm/patches/linux-atm-2.5.0-disable-ilmidiag.patch
new file mode 100644 (file)
index 0000000..c420be9
--- /dev/null
@@ -0,0 +1,11 @@
+--- linux-atm/src/ilmid/Makefile.am~   2007-07-11 17:07:57.000000000 +0100
++++ linux-atm/src/ilmid/Makefile.am    2007-08-23 09:22:45.000000000 +0100
+@@ -2,7 +2,7 @@ SUBDIRS = asn1
+ INCLUDES = -I$(srcdir)/../ilmid/asn1
+-sbin_PROGRAMS = ilmid ilmidiag
++sbin_PROGRAMS = ilmid
+ ilmid_SOURCES = rfc1157_snmp.c rfc1157_snmp.h rfc1155_smi.c rfc1155_smi.h \
+                       util.c util.h io.c io.h message.c message.h \
diff --git a/linux-atm/patches/linux-atm-2.5.0-open-macro.patch b/linux-atm/patches/linux-atm-2.5.0-open-macro.patch
new file mode 100644 (file)
index 0000000..928222f
--- /dev/null
@@ -0,0 +1,11 @@
+--- linux-atm/src/maint/atmtcp.c~      2007-08-22 14:59:21.000000000 +0100
++++ linux-atm/src/maint/atmtcp.c       2007-08-22 18:27:24.000000000 +0100
+@@ -109,7 +109,7 @@ static void control(int in_link,struct a
+       switch (msg->type) {
+           case ATMTCP_CTRL_OPEN:
+               if (out->ops->open)
+-                  changed += out->ops->open(out,in_link,msg);
++                  changed += (out->ops->open)(out,in_link,msg);
+               break;
+           case ATMTCP_CTRL_CLOSE:
+               if (out->ops->close)
diff --git a/linux-atm/patches/man-pages.patch b/linux-atm/patches/man-pages.patch
new file mode 100644 (file)
index 0000000..c504cfe
--- /dev/null
@@ -0,0 +1,45 @@
+diff -up linux-atm-2.5.1/src/led/zeppelin.8.fixman linux-atm-2.5.1/src/led/zeppelin.8
+--- linux-atm-2.5.1/src/led/zeppelin.8.fixman  2003-05-02 19:35:04.000000000 +0200
++++ linux-atm-2.5.1/src/led/zeppelin.8 2010-10-13 12:58:18.000000000 +0200
+@@ -99,7 +99,7 @@ Ring and ATM parts of the ELAN, so using
+ recommended. Token Ring support has received less testing than its
+ Ethernet counterpart.
+ .SH FILES
+-.IP \fI/var/run/lec[interface number].pid\fP
++\fI/var/run/lec[interface number].pid\fP
+ The file containing the process id of zeppelin.
+ .SH BUGS
+ John Bonham died 1980 and Led Zeppelin broke.
+diff -up linux-atm-2.5.1/src/mpoad/mpcd.8.fixman linux-atm-2.5.1/src/mpoad/mpcd.8
+--- linux-atm-2.5.1/src/mpoad/mpcd.8.fixman    2001-10-10 00:33:07.000000000 +0200
++++ linux-atm-2.5.1/src/mpoad/mpcd.8   2010-10-13 12:59:14.000000000 +0200
+@@ -28,7 +28,7 @@ mpcd \- ATM MPOA (Multi\-Protocol Over A
+ .B ]]
+ .SH DESCRIPTION
+ MPOA client
+-.SM(MPC) is responsible for creating and receiving
++.SM (MPC) is responsible for creating and receiving
+ internetwork layer shortcuts. Using these shortcuts MPCs forward
+ unicast internetwork layer packets effectively over ATM without need
+ for routing protocols.
+@@ -43,7 +43,7 @@ accepts shortcuts and packets arriving o
+ shortcuts is done with the help of
+ .SM MPOA
+ server
+-.SM(MPS).
++.SM (MPS).
+ .PP
+ Just as the Linux
+ .SM LAN
+diff -up linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman linux-atm-2.5.1/src/sigd/atmsigd.conf.4
+--- linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman     2001-10-10 00:33:07.000000000 +0200
++++ linux-atm-2.5.1/src/sigd/atmsigd.conf.4    2010-10-13 12:58:49.000000000 +0200
+@@ -125,7 +125,7 @@ a comment. The `#' character cannot be e
+ .P
+ If an option is specified in \fBatmsigd.conf\fP and on the command
+ line, the command line has priority.
+-.COMPATIBILITY
++.SH COMPATIBILITY
+ Certain options used by past versions of \fBatmsigd\fP but no longer documented
+ on the man page are still recognized and supported, but they also yield a
+ warning message. Future versions of \fBatmsigd\fP will not recognize those
index d1ac240be1e5f53f2b4e42b15b4a96f785363df6..2650d512338476229ba0aba8dad93353b64a54fe 100644 (file)
@@ -5,7 +5,8 @@
 
 name       = linux-firmware
 version    = 20110311
-release    = 1
+release    = 3
+arch       = noarch
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
 groups     = System/Libraries
@@ -28,16 +29,11 @@ build
        end
 
        install
-               mkdir -pv %{BUILDROOT}/lib/firmware
-               cp -prv * %{BUILDROOT}/lib/firmware
+               mkdir -pv %{BUILDROOT}%{prefix}/lib/firmware
+               cp -prv * %{BUILDROOT}%{prefix}/lib/firmware
        end
 end
 
 packages
        package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
 end
index 7cce8779e6ae45bfa03623fbac6cb162df6981a7..0c6bec82502324ab6a8ec4cb545901d1d5858d1b 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = lldpd
 version    = 0.5.4
-release    = 1
+release    = 2
 
 groups     = Networking/Tools
 url        = https://trac.luffy.cx/lldpd/
@@ -51,7 +51,10 @@ end
 
 packages
        package %{name}
-               prerequires = shadow-utils systemd-units
+               prerequires
+                       shadow-utils
+                       systemd-units
+               end
 
                script prein
                        %{create_user}
index 20114cab35266aa506b7e18eaf51017f26fa56a2..1eebbfbc9fc1a9be98f0072b14b2a0e76e89b325 100644 (file)
@@ -3,27 +3,30 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = lm_sensors
+name       = lm-sensors
 version    = 3.3.1
-release    = 1
+release    = 3
+thisapp    = lm_sensors-%{version}
 
 groups     = Applications/Statistics
-url        = http://www.lm-sensors.org/
+url        = http://www.lm-sensors.org
 license    = GPLv2+
 summary    = Hardware monitoring tools.
 
 description
-       The lm_sensors package includes a collection of modules for general SMBus \
+       The lm_sensors package includes a collection of modules for general SMBus
        access and hardware monitoring.
 end
 
-source_dl  =
+source_dl  = http://dl.lm-sensors.org/lm-sensors/releases/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
                bison
+               chrpath
                flex
+               rrdtool-devel
                sysfsutils-devel
        end
 
@@ -33,14 +36,25 @@ build
                        -e "s/^MANDIR.*/MANDIR=\/usr\/share\/man/g" -i Makefile
        end
 
-       build
-               make %{PARALLELISMFLAGS} EXLDFLAGS=
+       common_flags = PREFIX=%{prefix} LIBDIR=%{libdir} MANDIR=%{mandir} \
+               PROG_EXTRA=sensord
+
+       make_build_targets += %{common_flags} user
+       make_install_targets += %{common_flags} user_install
+
+       install_cmds
+               # Remove RPATH from binaries.
+               chrpath --delete %{BUILDROOT}/usr/bin/sensors
+               chrpath --delete %{BUILDROOT}/usr/sbin/sensord
        end
 end
 
 packages
        package %{name}
-               requires = perl rrdtool
+               requires
+                       perl
+                       rrdtool
+               end
        end
 
        package %{name}-debuginfo
index bff08ab68a2e33afddc60b856c2bad2f030b8768..b10421cbfd2a62eff1edbcddb39eaeb5b23b3be7 100644 (file)
@@ -4,30 +4,27 @@
 ###############################################################################
 
 name       = lsof
-version    = 4.82
-release    = 2
+version    = 4.85
+release    = 1
 
 groups     = Development/Debuggers
-url        = ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof
+url        = ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
 license    = zlib
 summary    = A utility which lists open files on a Linux/UNIX system.
 
 description
-       Lsof stands for LiSt Open Files, and it does just that: \
-       it lists information about files that are open by the \
+       Lsof stands for LiSt Open Files, and it does just that:
+       it lists information about files that are open by the
        processes running on a system.
 end
 
-source_dl  =
-sources    = %{name}_%{version}_src.tar.gz
+thisapp    = %{name}_%{version}_src
 
 build
        requires
                libselinux-devel
        end
 
-       DIR_APP = /usr/src/%{name}_%{version}_src
-
        build
                LINUX_BASE=/proc \
                LSOF_VSTR="2.6.16" \
diff --git a/lsof/patches/lsof_4.81-threads.patch b/lsof/patches/lsof_4.81-threads.patch
deleted file mode 100644 (file)
index 399819f..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-diff -up lsof_4.81-rh/dialects/linux/dproc.c.kzak lsof_4.81-rh/dialects/linux/dproc.c
---- lsof_4.81-rh/dialects/linux/dproc.c.kzak   2008-10-21 18:17:25.000000000 +0200
-+++ lsof_4.81-rh/dialects/linux/dproc.c        2008-12-02 10:54:54.000000000 +0100
-@@ -89,7 +89,8 @@ _PROTOTYPE(static void process_proc_map,
- _PROTOTYPE(static int process_id,(char *idp, int idpl, char *cmd, UID_ARG uid,
-                                 int pid, int ppid, int pgid));
- _PROTOTYPE(static int statEx,(char *p, struct stat *s, int *ss));
-- 
-+_PROTOTYPE(static int get_other_thread,(int pid, char **tid));
-+
- #if   defined(HASSELINUX)
- _PROTOTYPE(static int cmp_cntx_eq,(char *pcntx, char *ucntx));
-@@ -159,6 +160,7 @@ gather_proc_info()
-       struct dirent *dp;
-       struct stat sb;
-       int lwp, n, nl, pgid, pid, ppid, rv, tx;
-+      char *tid = NULL;
-       static char *lwppath = (char *)NULL;
-       static int lwppathl = 0;
-       static char *path = (char *)NULL;
-@@ -252,6 +254,13 @@ gather_proc_info()
-       while ((dp = readdir(ps))) {
-           if (nm2id(dp->d_name, &pid, &n))
-               continue;
-+
-+          tid = NULL;
-+          if (get_other_thread(pid, &tid) < 0)
-+              continue;
-+          if (tid)
-+              n += sizeof("task/") + strlen(tid);
-+
-       /*
-        * Build path to PID's directory.
-        */
-@@ -265,7 +274,14 @@ gather_proc_info()
-                   Exit(1);
-               }
-           }
--          (void) snpf(pidpath + pidx, pidpathl - pidx, "%s/", dp->d_name);
-+          if (tid) {
-+              /* /proc/<pid> is useless (zombie), we have to use /proc/<pid>/task/<tid>
-+               * where is still running thread
-+               */
-+              (void) snpf(pidpath + pidx, pidpathl - pidx, "%s/task/%s/", dp->d_name, tid);
-+              free(tid);
-+          } else
-+              (void) snpf(pidpath + pidx, pidpathl - pidx, "%s/", dp->d_name);
-           n += (pidx + 1);
-       /*
-        * Process the PID's stat info.
-@@ -1007,6 +1023,64 @@ process_id(idp, idpl, cmd, uid, pid, ppi
-       return(0);
- }
-+/* fill tid if the initial thread is zombie,
-+ * but other thread still alive
-+ *
-+ * returns -1=error, 0=nothing, 1=ok
-+ */
-+static int
-+get_other_thread(pid, tid)
-+      int pid;
-+      char **tid;
-+{
-+      char path[MAXPATHLEN];
-+      DIR *tdp;
-+      struct dirent *td;
-+      char pstate;
-+      FILE *f;
-+      int _pid;
-+      int re = 0, x;
-+
-+      snpf(path, sizeof(path), "%s/%d/stat", PROCFS, pid);
-+      if (!(f = fopen(path, "r")))
-+              return -1;
-+      x = fscanf(f, "%d %*s %c", &_pid, &pstate);
-+      fclose(f);
-+      if (x!=2)
-+              return -1;
-+      if (_pid != pid)
-+              return -1;              /* corrupted /proc? */
-+      if (pstate!='Z')
-+              return 0;               /* ignore normal proceses */
-+
-+      snpf(path, sizeof(path), "%s/%d/task", PROCFS, pid);
-+
-+      /* open /proc/<pid>/task */
-+      if (!(tdp = opendir(path)))
-+              return 0;               /* kernel < 2.6.x */
-+
-+      /* look for first alive thread */
-+      while ((td = readdir(tdp))) {
-+              if (strcmp(td->d_name, ".")==0 || strcmp(td->d_name, "..")==0)
-+                      continue;
-+
-+              /* /proc/<pid>/task/<tid>/stat */
-+              snpf(path, sizeof(path), "%s/%d/task/%s/stat", PROCFS, pid, td->d_name);
-+              if (!(f = fopen(path, "r")))
-+                      continue;
-+              x = fscanf(f, "%*d %*s %c", &pstate);
-+              fclose(f);
-+              if (x!=1)
-+                      continue;
-+              if (pstate!='Z') {
-+                      re = 1;
-+                      *tid = strdup(td->d_name);
-+                      break;
-+              }
-+      }
-+      closedir(tdp);
-+      return re;
-+}
- /*
-  * process_proc_map() - process the memory map of a process
-@@ -1250,12 +1324,6 @@ read_id_stat(ty, p, id, cmd, ppid, pgid)
-           return(1);
-       }
- /*
-- * Convert the first field to an integer; its conversion must match the
-- * ID argument.
-- */
--      if (!fp[0] || (atoi(fp[0]) != id))
--          return(1);
--/*
-  * Get the command name from the second field.  Strip a starting '(' and
-  * an ending ')'.  Allocate space to hold the result and return the space
-  * pointer.
index 302204348dcdebd46493ad0b61ee46890736be24..49b4828c6a04fcce68ea8d16ed292ea02121ce32 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = lvm2
-version    = 2.02.54
-release    = 2
+version    = 2.02.95
+release    = 1
 thisapp    = LVM2.%{version}
 
 groups     = System/Base
@@ -14,15 +14,15 @@ license    = GPLv2
 summary    = Userland logical volume management tools.
 
 description
-       LVM2 includes all of the support for handling read/write operations on \
-       physical volumes (hard disks, RAID-Systems, magneto optical, etc., \
-       multiple devices (MD), see mdadd(8) or even loop devices, see \
-       losetup(8)), creating volume groups (kind of virtual disks) from one \
-       or more physical volumes and creating one or more logical volumes \
+       LVM2 includes all of the support for handling read/write operations on
+       physical volumes (hard disks, RAID-Systems, magneto optical, etc.,
+       multiple devices (MD), see mdadd(8) or even loop devices, see
+       losetup(8)), creating volume groups (kind of virtual disks) from one
+       or more physical volumes and creating one or more logical volumes
        (kind of logical partitions) in volume groups.
 end
 
-source_dl  =
+source_dl  = ftp://sources.redhat.com/pub/lvm2/
 sources    = %{thisapp}.tgz
 
 build
@@ -34,18 +34,7 @@ build
        end
 
        configure_options += \
-               --bindir=/bin \
-               --sbindir=/sbin \
-               --exec-prefix=/ \
-               --libdir=/%{lib} \
                --enable-pkgconfig
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{libdir}
-               rm -vf %{BUILDROOT}/%{lib}/libdevmapper.so
-               ln -svf libdevmapper.so.1.02 %{BUILDROOT}/%{lib}/libdevmapper.so.1
-               ln -svf ../../%{lib}/libdevmapper.so.1 %{BUILDROOT}%{libdir}/libdevmapper.so
-       end
 end
 
 packages
index ac066118c4e15b7110bd129a5e1d1899cd5001bf..255c0ede152185f3c04874bb4ee9b59e1a602986 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = man-db
-version    = 2.6.0.2
-release    = 3
+version    = 2.6.1
+release    = 1
 
 groups     = Documentation
-url        = http://bzr.savannah.gnu.org/r/man-db/
+url        = http://savannah.nongnu.org/projects/man-db
 license    = GPL
 summary    = man-db is an on-line manual database.
 
@@ -19,7 +19,7 @@ description
        used by several popular GNU/Linux distributions.
 end
 
-source_dl  =
+source_dl  = http://download.savannah.gnu.org/releases/man-db/
 
 build
        requires
@@ -31,8 +31,6 @@ build
        end
 
        configure_options += \
-               --libexecdir=/usr/lib \
-               --sysconfdir=/etc \
                --disable-setuid \
                --with-browser=/usr/bin/lynx \
                --with-col=/usr/bin/col \
@@ -50,7 +48,7 @@ end
 # accept that.
 quality-agent
        whitelist_rpath
-               /usr/lib/man-db
+               %{libdir}/man-db
        end
 end
 
index 2728fa7b1de611e588acf27555b256b6c9c2d9a6..c2a080ff31022028e84915a96b61378de577d715 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = man-pages
-version    = 3.35
-release    = 1
+version    = 3.38
+release    = 2
 arch       = noarch
 
 groups     = Base Documentation
-url        = http://www.kernel.org/pub/linux/docs/manpages/
+url        = http://www.kernel.org/pub/linux/docs/man-pages/
 license    = GPLv2+ and GPL+ and BSD and MIT and Copyright only and IEEE
 summary    = Man (manual) pages from the Linux Documentation Project.
 
@@ -18,9 +18,22 @@ description
        Documentation Project (LDP).
 end
 
-source_dl  =
+source_dl  = %{url}
 
 build
+       prepare_cmds
+               # Remove deprecated/unneeded stuff:
+
+               # libattr-devel
+               rm -vf man2/{,f,l}{get,list,remove,set}xattr.2
+
+               # db4
+               rm -vf man3/{db,btree,dbopen,hash,mpool,recno}.3
+
+               # misc.
+               rm -vf man2/pciconfig_{write,read,iobase}.2
+       end
+
        build = # Do nothing
 end
 
index 587eb115c79c6b175af75d0bec5eb4e99cc3e6b1..1b26b167f6def29450535d4739ee2ea57951378a 100644 (file)
--- a/mc/mc.nm
+++ b/mc/mc.nm
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = mc
-version    = 4.7.4
-release    = 2
+version    = 4.8.2
+release    = 1
 
 groups     = Applications/System
 url        = http://www.ibiblio.org/mc/
@@ -20,8 +20,8 @@ description
        specific files.
 end
 
-sources    = %{thisapp}.tar.bz2
-sources_dl =
+sources    = %{thisapp}.tar.xz
+source_dl  = http://www.midnight-commander.org/downloads/
 
 build
        requires
index 8e0073e46c5e4876fc50ac10cd0717f2edce93c1..a166010a84a7411d1815c088833650eb8d51ce4c 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = mdadm
 version    = 3.2.2
-release    = 1
+release    = 2
 
 groups     = System/Base
 url        = http://www.kernel.org/pub/linux/utils/raid/mdadm/
@@ -35,12 +35,10 @@ build
 
        build
                make %{PARALLELISMFLAGS} CXFLAGS="%{CFLAGS}" \
-                       CWFLAGS= SYSCONFDIR="/etc" MDASSEMBLE_AUTO=1
+                       CWFLAGS= SYSCONFDIR="%{sysconfdir}" MDASSEMBLE_AUTO=1
        end
 
-       install
-               make install BINDIR=/sbin DESTDIR=%{BUILDROOT}
-
+       install_cmds
                mkdir -pv %{BUILDROOT}/var/run/mdadm
                chmod 700 %{BUILDROOT}/var/run/mdadm
        end
index 31dafc6bed63f0198d66a765e719364581bb7213..b2212e95ed858cd900d63a3112d8b5fb4d822dbf 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = mesa
 version    = 7.8.2
-release    = 2
+release    = 3
 
 groups     = Development/Tools
 url        = http://www.mesa3d.org
diff --git a/mesa/patches/mesa-7.11-generic-wmb.patch b/mesa/patches/mesa-7.11-generic-wmb.patch
new file mode 100644 (file)
index 0000000..618d836
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up Mesa-7.11/src/mesa/drivers/dri/sis/sis_context.h.jx Mesa-7.11/src/mesa/drivers/dri/sis/sis_context.h
+--- Mesa-7.11/src/mesa/drivers/dri/sis/sis_context.h.jx        2010-12-14 16:43:15.000000000 -0500
++++ Mesa-7.11/src/mesa/drivers/dri/sis/sis_context.h   2011-09-09 11:47:56.454465358 -0400
+@@ -405,7 +405,7 @@ struct sis_context
+ #elif defined(__ia64__)
+ #define MMIO_WMB()    __asm __volatile("mf" : : : "memory")
+ #else
+-#error platform needs WMB
++#define MMIO_WMB()    __sync_synchronize()
+ #endif
+ #define mEndPrimitive()  \
diff --git a/module-init-tools/modprobe.d/modprobe.conf b/module-init-tools/modprobe.d/modprobe.conf
deleted file mode 100644 (file)
index 2f053cc..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-# default modutils aliases
-alias binfmt-204 binfmt_aout
-alias binfmt-263 binfmt_aout
-alias binfmt-264 binfmt_aout
-alias binfmt-267 binfmt_aout
-alias binfmt-387 binfmt_aout
-alias block-major-1-* rd
-alias block-major-3-* ide-probe-mod
-alias block-major-8-* sd_mod
-alias block-major-9-* md
-alias block-major-11-* sr_mod
-alias block-major-13-* xd
-alias block-major-15-* cdu31a
-alias block-major-16-* gscd
-alias block-major-17-* optcd
-alias block-major-18-* sjcd
-alias block-major-20-* mcdx
-alias block-major-22-* ide-probe-mod
-alias block-major-23-* mcd
-alias block-major-24-* sonycd535
-alias block-major-25-* sbpcd
-alias block-major-26-* sbpcd
-alias block-major-27-* sbpcd
-alias block-major-29-* aztcd
-alias block-major-32-* cm206
-alias block-major-33-* ide-probe-mod
-alias block-major-34-* ide-probe-mod
-alias block-major-37-* ide-tape
-alias block-major-44-* ftl
-alias block-major-46-* pcd
-alias block-major-47-* pf
-alias block-major-56-* ide-probe-mod
-alias block-major-57-* ide-probe-mod
-alias block-major-88-* ide-probe-mod
-alias block-major-89-* ide-probe-mod
-alias block-major-90-* ide-probe-mod
-alias block-major-91-* ide-probe-mod
-alias block-major-93-* nftl
-alias block-major-113-* viocd
-alias char-major-4-* serial
-alias char-major-5-* serial
-alias char-major-9-* st
-alias char-major-10-2 msbusmouse
-alias char-major-10-3 atixlmouse
-alias char-major-10-135 rtc
-alias char-major-10-139 openprom
-alias char-major-10-157 applicom
-alias char-major-10-175 agpgart
-alias char-major-10-250 hci_vhci
-alias char-major-13-* input
-alias char-major-13-0 joydev
-alias char-major-13-32 mousedev
-alias char-major-19-* cyclades
-alias char-major-20-* cyclades
-alias char-major-22-* pcxx
-alias char-major-23-* pcxx
-alias char-major-27-* zftape
-alias char-major-34-* scc
-alias char-major-35-* tclmidi
-alias char-major-36-* netlink
-alias char-major-48-* riscom8
-alias char-major-49-* riscom8
-alias char-major-57-* esp
-alias char-major-58-* esp
-alias char-major-63-* kdebug
-alias char-major-90-* mtdchar
-alias char-major-96-* pt
-alias char-major-97-* pg
-alias char-major-107-* 3dfx
-alias char-major-109-* lvm-mod
-alias char-major-188-* usbserial
-alias char-major-200-* vxspec
-alias char-major-206-* osst
-alias char-major-216-* rfcomm
-alias dos msdos
-alias dummy0 dummy
-alias dummy1 dummy
-alias iso9660 isofs
-alias net-pf-1 unix
-alias net-pf-2 ipv4
-alias net-pf-17 af_packet
-alias netalias-2 ip_alias
-alias irlan0 irlan
-alias irda-dongle-0 tekram
-alias irda-dongle-1 esi
-alias irda-dongle-2 actisys
-alias irda-dongle-3 actisys
-alias irda-dongle-4 girbil
-alias irda-dongle-5 litelink
-alias irda-dongle-6 airport
-alias irda-dongle-7 old_belkin
-alias plip0 plip
-alias plip1 plip
-alias tunl0 ipip
-alias cipcb0 cipcb
-alias cipcb1 cipcb
-alias cipcb2 cipcb
-alias cipcb3 cipcb
-alias slip0 slip
-alias slip1 slip
-alias tty-ldisc-1 slip
-alias tty-ldisc-3 ppp_async
-alias tty-ldisc-11 irtty-sir
-alias tty-ldisc-14 ppp_synctty
-alias tty-ldisc-15 hci_uart
-alias ppp-compress-18 ppp_mppe
-install ppp-compress-21 /bin/true
-alias ppp-compress-24 ppp_deflate
-alias ppp-compress-26 ppp_deflate
-alias parport_lowlevel parport_pc
-alias usbdevfs usbcore
-alias xfrm-type-2-50 esp4
-alias xfrm-type-2-51 ah4
-alias xfrm-type-2-108 ipcomp
-alias xfrm-type-10-50 esp6
-alias xfrm-type-10-51 ah6
-alias xfrm-type-10-108 ipcomp6
-alias cipher_null crypto_null
-alias digest_null crypto_null
-alias compress_null crypto_null
-alias sha384 sha512
-install binfmt-0000 /bin/true
-install binfmt_misc /sbin/modprobe --first-time --ignore-install binfmt_misc && { /bin/mount -t binfmt_misc none /proc/sys/fs/binfmt_misc > /dev/null 2>&1 || :; }
-install nfsd /sbin/modprobe --first-time --ignore-install nfsd && { /bin/mount -t nfsd nfsd /proc/fs/nfsd > /dev/null 2>&1 || :; }
-install sunrpc /sbin/modprobe --first-time --ignore-install sunrpc && { /bin/mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs > /dev/null 2>&1 || :; }
-install char-major-10 /bin/true
-install char-major-10-1 /bin/true
-install dummy0 /sbin/modprobe -o dummy0 --ignore-install dummy
-install dummy1 /sbin/modprobe -o dummy1 --ignore-install dummy
-install net-pf-19 /bin/true
-install net-pf-3 /bin/true
-install net-pf-6 /bin/true
-install ov518_decomp { /sbin/modprobe ov511; } ; /sbin/modprobe --first-time --ignore-install ov518_decomp
-install scsi_hostadapter /bin/true
-install usbmouse /sbin/modprobe --first-time --ignore-install usbmouse && { /sbin/modprobe hid; /bin/true; }
-remove binfmt_misc { /bin/umount /proc/sys/fs/binfmt_misc > /dev/null 2>&1 || :; } ; /sbin/modprobe -r --first-time --ignore-remove binfmt_misc
-remove ov518_decomp /sbin/modprobe -r --first-time --ignore-remove ov518_decomp && { /sbin/modprobe -r ov511; /bin/true; }
-remove usbmouse { /sbin/modprobe -r hid; } ; /sbin/modprobe -r --first-time --ignore-remove usbmouse
-remove sunrpc { /bin/umount /var/lib/nfs/rpc_pipefs > /dev/null 2>&1 || :; } ; /sbin/modprobe -r --ignore-remove sunrpc
-remove nfsd { /bin/umount /proc/fs/nfsd > /dev/null 2>&1 || :; } ; /sbin/modprobe -r --first-time --ignore-remove nfsd
-
-
-alias usb-uhci uhci-hcd
-alias usb-ohci ohci-hcd
-alias uhci uhci-hcd
-
-alias char-major-116-* snd
-alias sound-service-*-0 snd-mixer-oss
-alias sound-service-*-1 snd-seq-oss
-alias sound-service-*-3 snd-pcm-oss
-alias sound-service-*-8 snd-seq-oss
-alias sound-service-*-12 snd-pcm-oss
-
-install sound-slot-* /sbin/modprobe snd-card-${MODPROBE_MODULE##sound[_-]slot[_-]}
-
-install snd-pcm /sbin/modprobe --ignore-install snd-pcm && /sbin/modprobe snd-pcm-oss && /sbin/modprobe snd-seq-device && /sbin/modprobe snd-seq-oss
-
-alias nfs4 nfs
-alias rpc_pipefs sunrpc
-alias rpc_svc_gss_pipefs sunrpc
-
-install eth1394 /bin/true
-
-install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && /sbin/modprobe snd-emu10k1-synth
-
-alias gre0 ip_gre
-alias char-major-89-* i2c-dev
diff --git a/module-init-tools/module-init-tools.nm b/module-init-tools/module-init-tools.nm
deleted file mode 100644 (file)
index af61c1b..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = module-init-tools
-version    = 3.16
-release    = 3
-
-groups     = System/Base
-url        = http://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/
-license    = GPLv2+
-summary    = Kernel module management utilities.
-
-description
-       The module-init-tools package includes various programs needed
-       for automatic loading and unloading of modules under 2.6 and
-       later kernels, as well as other module management programs.
-       Device drivers and filesystems are two examples of loaded and
-       unloaded modules.
-end
-
-source_dl  = http://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/
-
-build
-       requires
-               docbook-utils
-               zlib-devel
-       end
-
-       CFLAGS += -DCONFIG_NO_BACKWARDS_COMPAT=1
-
-       configure_options += \
-               --bindir=/bin \
-               --sbindir=/sbin \
-               --mandir=/usr/share/man \
-               --enable-zlib-dynamic \
-               --disable-static-utils
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}/etc/modprobe.d
-               cp -av %{DIR_SOURCE}/modprobe.d/* %{BUILDROOT}/etc/modprobe.d/
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 0f1cc84dc0e20c0c6a413e5f01795b6b1b775b6e..683c6a830e881160b104bbe50c79deb965b77fa1 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = ncurses
 version    = 5.9
-release    = 6
+release    = 7
 
 groups     = System/Base
 url        = http://invisible-island.net/ncurses/ncurses.html
@@ -27,7 +27,6 @@ build
        end
 
        configure_options += \
-               --mandir=/usr/share/man \
                --with-shared \
                --without-debug \
                --without-ada \
@@ -68,13 +67,6 @@ build
 
                chmod -v 755 %{BUILDROOT}%{libdir}/lib*.so.*.*
 
-               # move lib{ncurses{,w},tinfo}.so.* to /lib*
-               mkdir -pv %{BUILDROOT}/%{lib}
-               mv -v %{BUILDROOT}%{libdir}/lib{ncurses{,w},tinfo}.so.* %{BUILDROOT}/%{lib}
-               for l in %{BUILDROOT}%{libdir}/lib{ncurses{,w},tinfo}.so; do
-                       ln -sf $(echo %{libdir} | \
-                               sed 's,\(^/\|\)[^/][^/]*,..,g')/%{lib}/$(readlink $l) $l
-               done
                mkdir -pv %{BUILDROOT}/{etc,lib}/terminfo
 
                # move few basic terminfo entries to /lib
index 863fedbd4b10fe290a024fa92972cdebbf703b7e..4f89074491fc3199d9db39f777aba40ce872d4f3 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = net-snmp
 version    = 5.7.1
-release    = 2
+release    = 3
 
 groups     = Networking/Daemons
 url        = http://net-snmp.sourceforge.net
@@ -29,9 +29,6 @@ build
        PARALLELISMFLAGS = # No parallel build
 
        configure_options += \
-               --sysconfdir=/etc \
-               --libdir=/usr/lib \
-               --mandir=/usr/share/man \
                --with-default-snmp-version=2 \
                --with-sys-contact=root@ \
                --with-sys-location=localhost \
@@ -51,7 +48,7 @@ packages
                # XXX Although we don't want to build perl modules,
                # we have this requirement?!
                filter_requires
-                       perl\(NetSNMP::TrapReceiver\)
+                       ^perl
                end
        end
 
index 10ce6268f4823429e5dcaa6e996941b88b06ad5d..1ae43ff6d2a7eeaae90adcaa8a25f72c121e317e 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = net-tools
 version    = 1.60
-release    = 2
+release    = 3
 
 groups     = System/Base
 url        = http://net-tools.berlios.de/
@@ -124,6 +124,9 @@ build
        make_build_targets += \
                 CC=gcc
 
+       # Compiling in parallel mode is unsafe for this pkg.
+       PARALLELISMFLAGS =
+
        build_cmds
                # Compile ether-wake
                gcc %{CFLAGS} -o ether-wake ether-wake.c
index 717dbe2fae71e9ede77ea935346943f957162a08..a356254fc5b3f27f701e6c9decf0427668ef4424 100644 (file)
@@ -6,7 +6,7 @@
 name       = network
 epoch      = 1
 version    = 003
-release    = 1
+release    = 2
 arch       = noarch
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
@@ -49,7 +49,7 @@ packages
                        tunctl
                        vlan
                        wpa_supplicant
-                       /bin/ipcalc
+                       /usr/bin/ipcalc
                        /usr/bin/logger
                end
 
index e75e28a10ac8bb45a59e24e42e3bf1d915937d28..f40ad2ff94442e34b1d4f8509cb88ca026e0a1d9 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = nfs-utils
 version    = 1.2.2
-release    = 1
+release    = 2
 
 groups     = Networking/Tools
 url        = http://nfs.sourceforge.net/
@@ -34,8 +34,6 @@ build
        end
 
        configure_options += \
-               --mandir=/usr/share/man \
-               --sysconfdir=/etc \
                --without-tcp-wrappers \
                --disable-static \
                --enable-tirpc=no \
index bc357df398c7337fa584a1f231871ba58b7e65bc..c23b137b3e9e673239f7faca9ea35687aa2c6e9d 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = nspr
 version    = 4.8.9
-release    = 1
+release    = 2
 
 groups     = System/Libraries
 url        = http://www.mozilla.org/projects/nspr/
@@ -56,7 +56,6 @@ build
        end
 
        configure_options += \
-               --libdir=/%{lib} \
                --includedir=/usr/include/nspr4 \
                --enable-optimize="%{CFLAGS}" \
                --disable-debug
@@ -70,7 +69,6 @@ build
 
        install_cmds
                mkdir -pv %{BUILDROOT}/usr/{bin,%{lib}}
-               mkdir -pv %{BUILDROOT}/%{lib}
                mkdir -pv %{BUILDROOT}%{libdir}/pkgconfig
 
                cp -vf %{DIR_APP}/config/nspr-config-pc \
@@ -87,11 +85,6 @@ build
                        < %{DIR_SOURCE}/nspr.pc.in \
                        > %{BUILDROOT}%{libdir}/pkgconfig/nspr.pc
 
-               #mv -v %{BUILDROOT}/usr/lib/lib{nspr,plc.plds}4.so %{BUILDROOT}/lib/
-               ln -svf ../../%{lib}/libnspr4.so %{BUILDROOT}%{libdir}/libnspr4.so
-               ln -svf ../../%{lib}/libplc4.so %{BUILDROOT}%{libdir}/libplc4.so
-               ln -svf ../../%{lib}/libplds4.so %{BUILDROOT}%{libdir}/libplds4.so
-
                # Remove unneeded stuff
                rm -rfv \
                        %{BUILDROOT}/usr/bin/compile-et.pl \
@@ -106,6 +99,9 @@ packages
 
        package %{name}-devel
                template DEVEL
+
+               # libs are not versioned.
+               files += !%{libdir}/*.so
        end
 
        package %{name}-debuginfo
diff --git a/nss-softokn/nss-softokn-config.in b/nss-softokn/nss-softokn-config.in
deleted file mode 100644 (file)
index f46ba24..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/sh
-
-prefix=@prefix@
-
-major_version=@MOD_MAJOR_VERSION@
-minor_version=@MOD_MINOR_VERSION@
-patch_version=@MOD_PATCH_VERSION@
-
-usage()
-{
-       cat <<EOF
-Usage: nss-softokn-config [OPTIONS] [LIBRARIES]
-Options:
-       [--prefix[=DIR]]
-       [--exec-prefix[=DIR]]
-       [--includedir[=DIR]]
-       [--libdir[=DIR]]
-       [--version]
-       [--libs]
-       [--cflags]
-Dynamic Libraries:
-       softokn3 - Requires full dynamic linking
-       freebl3  - for internal use only (and glibc for self-integrity check)
-       nssdbm3  - for internal use only
-Dymamically linked
-EOF
-       exit $1
-}
-
-if test $# -eq 0; then
-       usage 1 1>&2
-fi
-
-while test $# -gt 0; do
-  case "$1" in
-  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  case $1 in
-    --prefix=*)
-      prefix=$optarg
-      ;;
-    --prefix)
-      echo_prefix=yes
-      ;;
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      ;;
-    --exec-prefix)
-      echo_exec_prefix=yes
-      ;;
-    --includedir=*)
-      includedir=$optarg
-      ;;
-    --includedir)
-      echo_includedir=yes
-      ;;
-    --libdir=*)
-      libdir=$optarg
-      ;;
-    --libdir)
-      echo_libdir=yes
-      ;;
-    --version)
-      echo ${major_version}.${minor_version}.${patch_version}
-      ;;
-    --cflags)
-      echo_cflags=yes
-      ;;
-    --libs)
-      echo_libs=yes
-      ;;
-    *)
-      usage 1 1>&2
-      ;;
-  esac
-  shift
-done
-
-# Set variables that may be dependent upon other variables
-if test -z "$exec_prefix"; then
-    exec_prefix=`pkg-config --variable=exec_prefix nss-softokn`
-fi
-if test -z "$includedir"; then
-    includedir=`pkg-config --variable=includedir nss-softokn`
-fi
-if test -z "$libdir"; then
-    libdir=`pkg-config --variable=libdir nss-softokn`
-fi
-
-if test "$echo_prefix" = "yes"; then
-    echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
-    echo $exec_prefix
-fi
-
-if test "$echo_includedir" = "yes"; then
-    echo $includedir
-fi
-
-if test "$echo_libdir" = "yes"; then
-    echo $libdir
-fi
-
-if test "$echo_cflags" = "yes"; then
-    echo -I$includedir
-fi
-
-if test "$echo_libs" = "yes"; then
-      libdirs="-Wl,-rpath-link,$libdir -L$libdir"
-      echo $libdirs
-fi      
-
diff --git a/nss-softokn/nss-softokn.nm b/nss-softokn/nss-softokn.nm
deleted file mode 100644 (file)
index 8cd0d90..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = nss-softokn
-version    = 3.12.8
-release    = 2
-
-groups     = System/Libraries
-url        = http://www.mozilla.org/projects/security/pki/nss/
-license    = MPLv1.1 or GPLv2+ or LGPLv2+
-summary    = Network Security Services Softoken Module.
-
-description
-       Network Security Services Softoken Cryptographic Module.
-end
-
-source_dl  =
-sources    = %{thisapp}-stripped.tar.bz2
-
-build
-       requires
-               nspr-devel
-               nss-util-devel
-               perl
-               pkg-config
-               psmisc
-               sqlite-devel
-               zlib-devel
-       end
-
-       ## Define some global environment variables
-       export FREEBL_NO_DEPEND=1
-       export FREEBL_USE_PRELINK=1
-
-       # Enable compiler optimizations and disable debugging code
-       export BUILD_OPT=1
-       export XCFLAGS=%{CFLAGS}
-
-       export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
-       export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
-
-       export NSPR_INCLUDE_DIR=/usr/include/nspr4
-       export NSPR_LIB_DIR=%{libdir}
-
-       export NSS_INCLUDE_DIR=/usr/include/nss3
-       export NSS_LIB_DIR=%{libdir}
-
-       export NSS_USE_SYSTEM_SQLITE=1
-
-       if "%{DISTRO_ARCH}" == "x86_64"
-               export USE_64=1
-       end
-
-       build
-               make -C ./mozilla/security/coreconf
-               make -C ./mozilla/security/dbm
-               make -C ./mozilla/security/nss
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}/%{lib}
-               mkdir -pv %{BUILDROOT}/usr/include/nss3
-               mkdir -pv %{BUILDROOT}/usr/{bin,%{lib}}
-               mkdir -pv %{BUILDROOT}%{libdir}/pkgconfig
-               mkdir -pv %{BUILDROOT}%{libdir}/nss/unsupported-tools
-
-               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libsoftokn3.so \
-                       %{BUILDROOT}%{libdir}
-               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libnssdbm3.so \
-                       %{BUILDROOT}%{libdir}
-               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libfreebl3.so \
-                       %{BUILDROOT}/%{lib}
-               ln -svf ../../%{lib}/libfreebl3.so %{BUILDROOT}%{libdir}/libfreebl3.so
-
-               # Copy the binaries we ship as unsupported
-               install -p -v -m 755 mozilla/dist/*.OBJ/bin/shlibsign \
-                       %{BUILDROOT}%{libdir}/nss/unsupported-tools
-
-               sed -e "s,@libdir@,%{libdir},g" \
-                       -e "s,@prefix@,/usr,g" \
-                       -e "s,@exec_prefix@,/usr,g" \
-                       -e "s,@includedir@,/usr/include/nss3,g" \
-                       -e "s,@MOD_MAJOR_VERSION@,$$(grep "#define.*SOFTOKEN_VMAJOR" mozilla/security/nss/lib/softoken/softkver.h | awk '{print $3}'),g" \
-                       -e "s,@MOD_MINOR_VERSION@,$$(grep "#define.*SOFTOKEN_VMINOR" mozilla/security/nss/lib/softoken/softkver.h | awk '{print $3}'),g" \
-                       -e "s,@MOD_PATCH_VERSION@,$$(grep "#define.*SOFTOKEN_VPATCH" mozilla/security/nss/lib/softoken/softkver.h | awk '{print $3}'),g" \
-                       < %{DIR_SOURCE}/nss-softokn-config.in \
-                       > %{BUILDROOT}/usr/bin/nss-softokn-config
-               chmod -v 755 %{BUILDROOT}/usr/bin/nss-softokn-config
-
-               # XXX need to fix this
-               sed \
-                       -e "s,%libdir%,%{libdir},g" \
-                       -e "s,%prefix%,/usr,g" \
-                       -e "s,%exec_prefix%,/usr,g" \
-                       -e "s,%includedir%,/usr/include/nss3,g" \
-                       -e "s,%NSS_VERSION%,%{version},g" \
-                       -e "s,%NSPR_VERSION%,$$(nspr-config --version),g" \
-                       -e "s,%NSSUTIL_VERSION%,$$(nss-util-config --version),g" \
-                       -e "s,%SOFTOKEN_VERSION%,%{version},g" \
-                       < %{DIR_SOURCE}/nss-softokn.pc.in \
-                       > %{BUILDROOT}%{libdir}/pkgconfig/nss-softokn.pc
-
-               # Copy the include files we want
-               cp -vf mozilla/dist/public/nss/*.h %{BUILDROOT}/usr/include/nss3
-               cp -vf mozilla/dist/private/nss/blapi.h \
-                       %{BUILDROOT}/usr/include/nss3
-               chmod -v 644 %{BUILDROOT}/usr/include/nss3/*.h
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       nss-util-devel
-               end
-
-               # Mozilla does no versioning :(
-               files
-                       /usr/bin/*-config
-                       /usr/include
-                       %{libdir}/libfreebl3.so
-                       %{libdir}/pkgconfig
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/nss-softokn/nss-softokn.pc.in b/nss-softokn/nss-softokn.pc.in
deleted file mode 100644 (file)
index b7fc3d1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=%prefix%
-exec_prefix=%exec_prefix%
-libdir=%libdir%
-includedir=%includedir%
-
-Name: NSS-SOFTOKN
-Description: Network Security Services Softoken PKCS #11 Module
-Version: %SOFTOKEN_VERSION%
-Requires: nspr >= %NSPR_VERSION%, nss-util >= %NSSUTIL_VERSION%
-Libs: -lfreebl3 -lnssdbm3 -lsoftokn3
-Cflags: -I${includedir}
diff --git a/nss-softokn/nss-softokn.spec b/nss-softokn/nss-softokn.spec
deleted file mode 100644 (file)
index 9f405d3..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-%global nspr_version 4.8.6
-%global nss_name nss
-%global nss_util_version 3.12.8
-%global unsupported_tools_directory %{_libdir}/nss/unsupported-tools
-%global saved_files_dir %{_libdir}/nss/saved
-
-# Produce .chk files for the final stripped binaries
-%define __spec_install_post \
-    %{?__debug_package:%{__debug_install_post}} \
-    %{__arch_install_post} \
-    %{__os_install_post} \
-    $RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libsoftokn3.so \
-    $RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_lib}/libfreebl3.so \
-    $RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libnssdbm3.so \
-%{nil}
-
-Summary:          Network Security Services Softoken Module
-Name:             nss-softokn
-Version:          3.12.8
-Release:          2%{?dist}
-License:          MPLv1.1 or GPLv2+ or LGPLv2+
-URL:              http://www.mozilla.org/projects/security/pki/nss/
-Group:            System Environment/Libraries
-Requires:         nspr >= %{nspr_version}
-Requires:         nss-util >= %{nss_util_version}
-Requires:         nss-softokn-freebl%{_isa} >= %{version}
-BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires:    nspr-devel >= %{nspr_version}
-BuildRequires:    nss-util-devel >= %{nss_util_version}
-BuildRequires:    sqlite-devel
-BuildRequires:    zlib-devel
-BuildRequires:    pkgconfig
-BuildRequires:    gawk
-BuildRequires:    psmisc
-BuildRequires:    perl
-
-Source0:          %{name}-%{version}-stripped.tar.bz2
-# The nss-softokn tar ball is a subset of nss-{version}-stripped.tar.bz2, 
-# Therefore we use the nss-split-softokn.sh script to keep only what we need.
-# Download the nss tarball via git from the nss propect and follow these
-# steps to make the tarball for nss-util out of the one for nss:
-# fedpkg clone nss
-# fedpkg clone nss-softokn
-# cd nss-softokn
-# cp ../../nss/devel/${version}-stripped.tar.bz2  .
-# sh ./nss-split-softokn.sh ${version}
-# A file named {name}-{version}-stripped.tar.bz2 should appear
-Source1:          nss-split-softokn.sh
-Source2:          nss-softokn.pc.in
-Source3:          nss-softokn-config.in
-
-Patch2:           nss-softokn-3.12.4-prelink.patch
-Patch3:           nss-softokn-3.12.4-fips-fix.patch
-
-%description
-Network Security Services Softoken Cryptographic Module
-
-%package freebl
-Summary:          Freebl library for the Network Security Services
-Group:            System Environment/Base
-Conflicts:        nss < 3.12.2.99.3-5
-Conflicts:        prelink < 0.4.3
-
-%description freebl
-NSS Softoken Cryptographic Module Freelb Library
-
-Install the nss-softokn-freebl package if you need the freebl 
-library.
-
-%package freebl-devel
-Summary:          Header and Library files for doing development with the Freebl library for NSS
-Group:            System Environment/Base
-Provides:         nss-softokn-freebl-static = %{version}-%{release}
-Requires:         nss-softokn-freebl%{?_isa} = %{version}-%{release}
-
-%description freebl-devel
-NSS Softoken Cryptographic Module Freelb Library Development Tools
-
-%package devel
-Summary:          Development libraries for Network Security Services
-Group:            Development/Libraries
-Requires:         nss-softokn%{?_isa} = %{version}-%{release}
-Requires:         nspr-devel >= %{nspr_version}
-Requires:         nss-util-devel >= %{nss_util_version}
-Requires:         pkgconfig
-BuildRequires:    nspr-devel >= %{nspr_version}
-BuildRequires:    nss-util-devel >= %{nss_util_version}
-# require nss at least the version when we split via subpackages
-BuildRequires:    nss-devel >= 3.12.2.99.3-11
-
-%description devel
-Header and Library files for doing development with Network Security Services.
-
-
-%prep
-%setup -q
-
-%patch2 -p0 -b .prelink
-%patch3 -p0 -b .fipsfix
-
-
-%build
-
-FREEBL_NO_DEPEND=1
-export FREEBL_NO_DEPEND
-
-FREEBL_USE_PRELINK=1
-export FREEBL_USE_PRELINK
-
-# Enable compiler optimizations and disable debugging code
-BUILD_OPT=1
-export BUILD_OPT
-
-# Generate symbolic info for debuggers
-XCFLAGS=$RPM_OPT_FLAGS
-export XCFLAGS
-
-PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
-PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
-
-export PKG_CONFIG_ALLOW_SYSTEM_LIBS
-export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
-
-NSPR_INCLUDE_DIR=`/usr/bin/pkg-config --cflags-only-I nspr | sed 's/-I//'`
-NSPR_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nspr | sed 's/-L//'`
-
-export NSPR_INCLUDE_DIR
-export NSPR_LIB_DIR
-
-NSS_INCLUDE_DIR=`/usr/bin/pkg-config --cflags-only-I nss-util | sed 's/-I//'`
-NSS_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nss-util | sed 's/-L//'`
-
-export NSS_INCLUDE_DIR
-export NSS_LIB_DIR
-
-NSS_USE_SYSTEM_SQLITE=1
-export NSS_USE_SYSTEM_SQLITE
-
-%ifarch x86_64 ppc64 ia64 s390x sparc64
-USE_64=1
-export USE_64
-%endif
-
-# Compile softokn plus needed support
-%{__make} -C ./mozilla/security/coreconf
-%{__make} -C ./mozilla/security/dbm
-%{__make} -C ./mozilla/security/nss
-
-# Set up our package file
-# The nspr_version and nss_util_version globals used here
-# must match the ones nss-softokn has for its Requires. 
-%{__mkdir_p} ./mozilla/dist/pkgconfig
-%{__cat} %{SOURCE2} | sed -e "s,%%libdir%%,%{_libdir},g" \
-                          -e "s,%%prefix%%,%{_prefix},g" \
-                          -e "s,%%exec_prefix%%,%{_prefix},g" \
-                          -e "s,%%includedir%%,%{_includedir}/nss3,g" \
-                          -e "s,%%NSPR_VERSION%%,%{nspr_version},g" \
-                          -e "s,%%NSSUTIL_VERSION%%,%{nss_util_version},g" \
-                          -e "s,%%SOFTOKEN_VERSION%%,%{version},g" > \
-                          ./mozilla/dist/pkgconfig/nss-softokn.pc
-
-SOFTOKEN_VMAJOR=`cat mozilla/security/nss/lib/softoken/softkver.h | grep "#define.*SOFTOKEN_VMAJOR" | awk '{print $3}'`
-SOFTOKEN_VMINOR=`cat mozilla/security/nss/lib/softoken/softkver.h | grep "#define.*SOFTOKEN_VMINOR" | awk '{print $3}'`
-SOFTOKEN_VPATCH=`cat mozilla/security/nss/lib/softoken/softkver.h | grep "#define.*SOFTOKEN_VPATCH" | awk '{print $3}'`
-
-export SOFTOKEN_VMAJOR 
-export SOFTOKEN_VMINOR 
-export SOFTOKEN_VPATCH
-
-%{__cat} %{SOURCE3} | sed -e "s,@libdir@,%{_libdir},g" \
-                          -e "s,@prefix@,%{_prefix},g" \
-                          -e "s,@exec_prefix@,%{_prefix},g" \
-                          -e "s,@includedir@,%{_includedir}/nss3,g" \
-                          -e "s,@MOD_MAJOR_VERSION@,$SOFTOKEN_VMAJOR,g" \
-                          -e "s,@MOD_MINOR_VERSION@,$SOFTOKEN_VMINOR,g" \
-                          -e "s,@MOD_PATCH_VERSION@,$SOFTOKEN_VPATCH,g" \
-                          > ./mozilla/dist/pkgconfig/nss-softokn-config
-
-chmod 755 ./mozilla/dist/pkgconfig/nss-softokn-config
-
-
-# enable the following line to force a test failure
-# find ./mozilla -name \*.chk | xargs rm -f
-
-#
-# We can't run a subset of the tests because the tools have
-# dependencies on nss libraries outside of softokn. 
-# Let's leave this as a place holder.
-#
-
-
-%install
-
-%{__rm} -rf $RPM_BUILD_ROOT
-
-# There is no make install target so we'll do it ourselves.
-
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_includedir}/nss3
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_bindir}
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_lib}
-%{__mkdir_p} $RPM_BUILD_ROOT/%{unsupported_tools_directory}
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
-%{__mkdir_p} $RPM_BUILD_ROOT/%{saved_files_dir}
-
-# Copy the binary libraries we want
-for file in libsoftokn3.so libnssdbm3.so
-do
-  %{__install} -p -m 755 mozilla/dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_libdir}
-done
-
-# Because libcrypt depends on libfreebl3.so, it is special
-# so we install it in /lib{64}, keeping a symbolic link to it
-# back in /usr/lib{64} to keep everyone else working
-for file in libfreebl3.so
-do
-  %{__install} -p -m 755 mozilla/dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_lib}
-  ln -sf ../../%{_lib}/libfreebl3.so $RPM_BUILD_ROOT/%{_libdir}/libfreebl3.so
-done
-
-# Make sure chk files can be found in both places
-for file in libfreebl3.chk
-do
-  ln -s ../../%{_lib}/$file $RPM_BUILD_ROOT/%{_libdir}/$file
-done
-
-# Copy the binaries we ship as unsupported
-for file in shlibsign
-do
-  %{__install} -p -m 755 mozilla/dist/*.OBJ/bin/$file $RPM_BUILD_ROOT/%{unsupported_tools_directory}
-done
-
-# Copy the include files we want
-for file in mozilla/dist/public/nss/*.h
-do
-  %{__install} -p -m 644 $file $RPM_BUILD_ROOT/%{_includedir}/nss3
-done
-
-# Copy a freebl include file we also want
-for file in mozilla/dist/private/nss/blapi.h
-do
-  %{__install} -p -m 644 $file $RPM_BUILD_ROOT/%{_includedir}/nss3
-done
-
-# Copy the static freebl library
-for file in libfreebl.a
-do
-%{__install} -p -m 644 mozilla/dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_libdir}
-done
-
-# Copy the package configuration files
-%{__install} -p -m 644 ./mozilla/dist/pkgconfig/nss-softokn.pc $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/nss-softokn.pc
-%{__install} -p -m 755 ./mozilla/dist/pkgconfig/nss-softokn-config $RPM_BUILD_ROOT/%{_bindir}/nss-softokn-config
-
-%clean
-%{__rm} -rf $RPM_BUILD_ROOT
-
-
-%post
-/sbin/ldconfig >/dev/null 2>/dev/null
-
-%postun
-/sbin/ldconfig >/dev/null 2>/dev/null
-
-%files
-%defattr(-,root,root)
-%{_libdir}/libnssdbm3.so
-%{_libdir}/libnssdbm3.chk
-%{_libdir}/libsoftokn3.so
-%{_libdir}/libsoftokn3.chk
-# shared with nss-tools
-%dir %{_libdir}/nss
-%dir %{saved_files_dir}
-%dir %{unsupported_tools_directory}
-%{unsupported_tools_directory}/shlibsign
-
-%files freebl
-%defattr(-,root,root)
-/%{_lib}/libfreebl3.so
-/%{_lib}/libfreebl3.chk
-# and these symbolic links
-%{_libdir}/libfreebl3.so
-%{_libdir}/libfreebl3.chk
-
-%files freebl-devel
-%defattr(-,root,root)
-%{_libdir}/libfreebl.a
-%{_includedir}/nss3/blapi.h
-
-%files devel
-%defattr(-,root,root)
-%{_libdir}/pkgconfig/nss-softokn.pc
-%{_bindir}/nss-softokn-config
-
-# co-owned with nss
-%dir %{_includedir}/nss3
-#
-# The following headers are those exported public in
-# mozilla/security/nss/lib/freebl/manifest.mn and
-# mozilla/security/nss/lib/softoken/manifest.mn
-#
-# The following list is short because many headers, such as
-# the pkcs #11 ones, have been provided by nss-util-devel
-# which installed them before us.
-#
-%{_includedir}/nss3/blapit.h
-%{_includedir}/nss3/ecl-exp.h
-%{_includedir}/nss3/hasht.h
-%{_includedir}/nss3/sechash.h
-%{_includedir}/nss3/nsslowhash.h
-%{_includedir}/nss3/secmodt.h
-%{_includedir}/nss3/shsign.h
-
-%changelog
-* Wed Sep 29 2010 jkeating - 3.12.8-2
-- Rebuilt for gcc bug 634757
-
-* Thu Sep 23 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.8-1
-- Update to 3.12.8
-- Adhere to static library packaging guidelines (#609613)
-- Fix nss-util-devel version dependency line
-- Shorten freebl and freebl subpackages descriptions
-
-* Sat Sep 18 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.99.4-1
-- NSS 3.12.8 RC0
-
-* Sat Sep 12 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.7.99.3-2
-- Update the required version of nss-util to 3.12.7.99.3
-
-* Sat Sep 04 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.7.99.3-1
-- NSS 3.12.8 Beta 3
-
-* Mon Aug 30 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.7-3
-- Update BuildRequires on nspr-devel and nss-util-devel
-
-* Sat Aug 29 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.7-2
-- Define NSS_USE_SYSTEM_SQLITE and remove nss-nolocalsql patch
-- Fix rpmlint warnings about macros in comments and changelog
-
-* Mon Aug 16 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.7-1
-- Update to 3.12.7
-- Fix build files to ensure nsslowhash.h is included in public headers
-
-* Tue Jun 08 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.6-3
-- Retagging
-
-* Mon Jun 07 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.6-2
-- Bump NVR to be greater than those for nss-softokn subpackages in F11 (rhbz#601407)
-
-* Sun Jun 06 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-23
-- Bump release number
-
-* Fri Jun 04 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-22
-- Cleanup changelog comments to avoid unwanted macro expansions
-
-* Wed Jun 02 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-21
-- Retagging
-
-* Wed Jun 02 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-20
-- Add %%{?_isa} to the requires in the devel packages (#596840)
-- Fix typo in the package description (#598295)
-- Update nspr version to 4.8.4
-
-* Sat May 08 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-19
-- Consider the system as not fips enabled when /proc/sys/crypto/fips_enabled isn't present (rhbz#590199)
-
-* Sat May 08 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-18
-- Fix Conflicts line to prevent update when prelink is not yet the right version (rhbz#590199)
-
-* Mon Apr 19 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-17
-- Updated prelink patch rhbz#504949
-
-* Wed Apr 15 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-16
-- allow prelink of softoken and freebl. Change the verify code to use
-  prelink -u if prelink is installed. Fix by Robert Relyea rhbz#504949
-
-* Mon Jan 18 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-15
-- Move libfreebl3.so and its .chk file to /lib{64} (rhbz#561544)
-
-* Mon Jan 18 2010 Elio Maldonado <emaldona@redhat.com> - 3.12.4-13
-- Fix in nss-softokn-spec.in 
-- Require nss-util >= 3.12.4
-
-* Thu Dec 03 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-12
-- Require nss-util 3.12.5
-
-* Fri Nov 20 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-11
-- export freebl devel tools (#538226)
-
-* Tue Sep 23 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-10
-- Fix paths in nss-softokn-prelink so signed libraries don't get touched, rhbz#524794
-
-* Thu Sep 17 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-9
-- Add nssdbm3.so to nss-softokn-prelink.conf, rhbz#524077
-
-* Thu Sep 10 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-8
-- Retagging for a chained build
-
-* Thu Sep 10 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-6
-- Don't list libraries in nss-softokn-config, dynamic linking required
-
-* Tue Sep 08 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-5
-- Installing shared libraries to %%{_libdir}
-
-* Sun Sep 06 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-4
-- Postuninstall scriptlet finishes quietly
-
-* Sat Sep 05 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-3
-- Remove symblic links to shared libraries from devel, rhbz#521155
-- Apply the nss-nolocalsql patch
-- No rpath-link in nss-softokn-config
-
-* Fri Sep 04 2009 serstring=Elio Maldonado<emaldona@redhat.cpm> - 3.12.4-2
-- Retagging to pick up the correct .cvsignore
-
-* Tue Sep 01 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.4-1
-- Update to 3.12.4
-- Fix logic on postun
-- Don't require sqlite
-
-* Mon Aug 31 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.3.99.3-24
-- Fixed test on %postun to avoid returning 1 when nss-softokn instances still remain
-
-* Sun Aug 30 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.3.99.3-23
-- Explicitly state via nss_util_version the nss-util version we require
-
-* Fri Aug 28 2009 Warren Togami <wtogami@redhat.com> - 3.12.3.99.3-22
-- caolan's nss-softokn.pc patch
-
-* Thu Aug 27 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.3.99.3-21
-- Bump the release number for a chained build of nss-util, nss-softokn and nss
-
-* Thu Aug 27 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.3.99.3-20
-- List freebl, nssdbm and softokn libraries in nss-softokn-config and nss-softokn.pc
-
-* Thu Aug 27 2009 Elio Maldonado@<emaldona@redhat.com> - 3.12.3.99.3-19
-- Determine NSSUTIL_INCLUDE_DIR and NSSUTIL_LIB_DIR with a pkg-config query on nss-util
-- Remove the release 17 hack
-
-* Wed Aug 27 2009 Elio maldonado<emaldona@redhat.com> - 3.12.3.99.3-18
-- fix spurious executable permissions on nss-softokn.pc
-
-* Thu Aug 27 2009 Adel Gadllah <adel.gadllah@gmail.com> - 3.12.3.99.3-17
-- Add hack to fix build
-
-* Tue Aug 25 2009 Dennis Gilmore <dennis@ausil.us> - 3.12.3.99.3-16
-- only have a single Requires: line in the .pc file
-
-* Tue Aug 25 2009 Dennis Gilmore <dennis@ausil.us> - 3.12.3.99.3-12
-- bump to unique rpm nvr 
-
-* Tue Aug 25 2009 Elio Maldonado<emaldona@redhat.com> - 3.12.3.99.3-10
-- Build after nss with subpackages and new nss-util
-
-* Thu Aug 20 2009 Dennis Gilmore <dennis@ausil.us> 3.12.3.99.3-9
-- revert to shipping bits
-
-* Thu Aug 19 2009 Elio Maldonado <emaldona@redhat.com> 3.12.3.99.3-8.1
-- Disable installing until conflicts are relsoved
-
-* Thu Aug 19 2009 Elio Maldonado <emaldona@redhat.com> 3.12.3.99.3-8
-- Initial build
diff --git a/nss-softokn/patches/nss-softokn-3.12.4-fips-fix.patch b/nss-softokn/patches/nss-softokn-3.12.4-fips-fix.patch
deleted file mode 100644 (file)
index 011a148..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up ./mozilla/security/nss/lib/freebl/nsslowhash.c.fips ./mozilla/security/nss/lib/freebl/nsslowhash.c
---- ./mozilla/security/nss/lib/freebl/nsslowhash.c.fips        2010-09-04 20:23:14.764313661 -0700
-+++ ./mozilla/security/nss/lib/freebl/nsslowhash.c     2010-09-04 20:25:52.622313780 -0700
-@@ -275,7 +275,7 @@ static int nsslow_GetFIPSEnabled(void) {
-     f = fopen("/proc/sys/crypto/fips_enabled", "r");
-     if (!f)
--        return 1;
-+        return 0;
-     size = fread(&d, 1, 1, f);
-     fclose(f);
diff --git a/nss-softokn/patches/nss-softokn-3.12.4-prelink.patch b/nss-softokn/patches/nss-softokn-3.12.4-prelink.patch
deleted file mode 100644 (file)
index 5f2e46f..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-diff -up ./mozilla/security/nss/lib/freebl/Makefile.prelink ./mozilla/security/nss/lib/freebl/Makefile
---- ./mozilla/security/nss/lib/freebl/Makefile.prelink 2010-09-04 14:13:58.846327263 -0700
-+++ ./mozilla/security/nss/lib/freebl/Makefile 2010-09-04 14:15:11.544326993 -0700
-@@ -82,6 +82,12 @@ ifeq ($(FREEBL_NO_DEPEND),1)
- else
-       MAPFILE_SOURCE = freebl.def
- endif
-+ifdef FREEBL_USE_PRELINK
-+      DEFINES += -DFREEBL_USE_PRELINK
-+endif
-+ifdef FREEBL_PRELINK_COMMAND
-+      DEFINES +=-DFREEBL_PRELINK_COMMAND=\"$(FREEBL_PRELINK_COMMAND)\"
-+endif
- # NSS_X86 means the target is a 32-bits x86 CPU architecture
- # NSS_X64 means the target is a 64-bits x64 CPU architecture
- # NSS_X86_OR_X64 means the target is either x86 or x64
-diff -up ./mozilla/security/nss/lib/freebl/shvfy.c.prelink ./mozilla/security/nss/lib/freebl/shvfy.c
---- ./mozilla/security/nss/lib/freebl/shvfy.c.prelink  2010-09-04 14:16:01.518326988 -0700
-+++ ./mozilla/security/nss/lib/freebl/shvfy.c  2010-09-04 14:25:44.770326384 -0700
-@@ -48,6 +48,168 @@
- #include "stdio.h"
- #include "prmem.h"
-+#ifdef FREEBL_USE_PRELINK
-+#ifndef FREELB_PRELINK_COMMAND
-+#define FREEBL_PRELINK_COMMAND "/usr/sbin/prelink -u -o -"
-+#endif
-+#include "private/pprio.h"
-+
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <sys/wait.h>
-+#include <sys/stat.h>
-+
-+PRFileDesc *
-+bl_OpenUnPrelink(const char *shName, int *pid)
-+{
-+    char *command= strdup(FREEBL_PRELINK_COMMAND);
-+    char *argString = NULL;
-+    char  **argv = NULL;
-+    char *shNameArg = NULL;
-+    char *cp;
-+    pid_t child;
-+    int argc = 0, argNext = 0;
-+    struct stat statBuf;
-+    int pipefd[2] = {-1,-1};
-+    int ret;
-+
-+    *pid = 0;
-+
-+    /* make sure the prelink command exists first. If not, fall back to
-+     * just reading the file */
-+    for (cp = command; *cp ; cp++) {
-+      if (*cp == ' ') {
-+          *cp++ = 0;
-+          argString = cp;
-+          break;
-+        }
-+    }
-+    memset (&statBuf, 0, sizeof(statBuf));
-+    /* stat the file, follow the link */
-+    ret = stat(command, &statBuf);
-+    if (ret < 0) {
-+      free(command);
-+      return PR_Open(shName, PR_RDONLY, 0);
-+    }
-+    /* file exits, make sure it's an executable */
-+    if (!S_ISREG(statBuf.st_mode) || 
-+                      ((statBuf.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) == 0)) {
-+      free(command);
-+      return PR_Open(shName, PR_RDONLY, 0);
-+    }
-+
-+    /* OK, the prelink command exists and looks correct, use it */
-+    /* build the arglist while we can still malloc */
-+    /* count the args if any */
-+    if (argString && *argString) {
-+      /* argString may have leading spaces, strip them off*/
-+      for (cp = argString; *cp && *cp == ' '; cp++);
-+      argString = cp;
-+      if (*cp) {
-+         /* there is at least one arg.. */
-+         argc = 1;
-+      }
-+
-+        /* count the rest: Note there is no provision for escaped
-+         * spaces here */
-+      for (cp = argString; *cp ; cp++) {
-+          if (*cp == ' ') {
-+              while (*cp && *cp == ' ') cp++;
-+              if (*cp) argc++;
-+          }
-+      }
-+    }
-+
-+    /* add the additional args: argv[0] (command), shName, NULL*/
-+    argc += 3;
-+    argv = PORT_NewArray(char *, argc);
-+    if (argv == NULL) {
-+      goto loser;
-+    }
-+
-+    /* fill in the arglist */
-+    argv[argNext++] = command;
-+    if (argString && *argString) {
-+      argv[argNext++] = argString;
-+      for (cp = argString; *cp; cp++) {
-+          if (*cp == ' ') {
-+              *cp++ = 0;
-+              while (*cp && *cp == ' ') cp++;
-+              if (*cp) argv[argNext++] = cp;
-+          }
-+      }
-+    }
-+    /* exec doesn't advertise taking const char **argv, do the paranoid
-+     * copy */
-+    shNameArg = strdup(shName);
-+    if (shNameArg == NULL) {
-+      goto loser;
-+    }
-+    argv[argNext++] = shNameArg;
-+    argv[argNext++] = 0;
-+    
-+    ret = pipe(pipefd);
-+    if (ret < 0) {
-+      goto loser;
-+    }
-+
-+    /* use vfork() so we don't trigger the pthread_at_fork() handlers */
-+    child = vfork();
-+    if (child < 0) goto loser;
-+    if (child == 0) {
-+      /* set up the file descriptors */
-+      close(0);
-+      /* associate pipefd[1] with stdout */
-+      if (pipefd[1] != 1) dup2(pipefd[1], 1);
-+      close(2);
-+      close(pipefd[0]);
-+      /* should probably close the other file descriptors? */
-+
-+
-+      execv(command, argv);
-+      /* avoid at_exit() handlers */
-+      _exit(1); /* shouldn't reach here except on an error */
-+    }
-+    close(pipefd[1]);
-+    pipefd[1] = -1;
-+
-+    /* this is safe because either vfork() as full fork() semantics, and thus
-+     * already has it's own address space, or because vfork() has paused
-+     * the parent util the exec or exit */
-+    free(command);
-+    free(shNameArg);
-+    PORT_Free(argv);
-+
-+    *pid = child;
-+
-+    return PR_ImportPipe(pipefd[0]);
-+
-+loser:
-+    if (pipefd[0] != -1) {
-+      close(pipefd[0]);
-+    }
-+    if (pipefd[1] != -1) {
-+      close(pipefd[1]);
-+    }
-+    free(command);
-+    free(shNameArg);
-+    PORT_Free(argv);
-+
-+    return NULL;
-+}
-+
-+void
-+bl_CloseUnPrelink( PRFileDesc *file, int pid)
-+{
-+    /* close the file descriptor */
-+    PR_Close(file);
-+    /* reap the child */
-+    if (pid) {
-+      waitpid(pid, NULL, 0);
-+    }
-+}
-+#endif
- /* #define DEBUG_SHVERIFY 1 */
-@@ -117,6 +279,9 @@ BLAPI_SHVerify(const char *name, PRFuncP
-     SECStatus rv;
-     DSAPublicKey key;
-     int count;
-+#ifdef FREEBL_USE_PRELINK
-+    int pid = 0;
-+#endif
-     PRBool result = PR_FALSE; /* if anything goes wrong,
-                              * the signature does not verify */
-@@ -197,7 +362,11 @@ BLAPI_SHVerify(const char *name, PRFuncP
-     checkFD = NULL;
-     /* open our library file */
-+#ifdef FREEBL_USE_PRELINK
-+    shFD = bl_OpenUnPrelink(shName,&pid);
-+#else
-     shFD = PR_Open(shName, PR_RDONLY, 0);
-+#endif
-     if (shFD == NULL) {
- #ifdef DEBUG_SHVERIFY
-         fprintf(stderr, "Failed to open the library file %s: (%d, %d)\n",
-@@ -218,7 +387,11 @@ BLAPI_SHVerify(const char *name, PRFuncP
-       SHA1_Update(hashcx, buf, bytesRead);
-       count += bytesRead;
-     }
-+#ifdef FREEBL_USE_PRELINK
-+    bl_CloseUnPrelink(shFD, pid);
-+#else
-     PR_Close(shFD);
-+#endif
-     shFD = NULL;
-     SHA1_End(hashcx, hash.data, &hash.len, hash.len);
-diff -up ./mozilla/security/nss/lib/freebl/stubs.c.prelink ./mozilla/security/nss/lib/freebl/stubs.c
---- ./mozilla/security/nss/lib/freebl/stubs.c.prelink  2010-09-04 14:26:27.454327120 -0700
-+++ ./mozilla/security/nss/lib/freebl/stubs.c  2010-09-04 14:31:56.778327428 -0700
-@@ -69,6 +69,7 @@
- #include <secport.h>
- #include <secitem.h>
- #include <blapi.h>
-+#include <private/pprio.h>
- #define FREEBL_NO_WEAK 1
-@@ -157,6 +158,8 @@ STUB_DECLARE(void,PR_Lock,(PRLock *lock)
- STUB_DECLARE(PRLock *,PR_NewLock,(void));
- STUB_DECLARE(PRFileDesc *,PR_Open,(const char *name, PRIntn flags,
-                        PRIntn mode));
-+STUB_DECLARE(PRFileDesc *,PR_ImportFile,(PROsfd osfd));
-+STUB_DECLARE(PRFileDesc *,PR_ImportPipe,(PROsfd osfd));
- STUB_DECLARE(PRInt32,PR_Read,(PRFileDesc *fd, void *buf, PRInt32 amount));
- STUB_DECLARE(PROffset32,PR_Seek,(PRFileDesc *fd, PROffset32 offset, 
-                       PRSeekWhence whence));
-@@ -295,6 +298,34 @@ PR_Open_stub(const char *name, PRIntn fl
-     return (PRFileDesc *)lfd;
- }
-+extern PRFileDesc *
-+PR_ImportFile_stub(PROsfd fd)
-+{
-+    int *lfd = NULL;
-+
-+    STUB_SAFE_CALL1(PR_ImportFile, fd);
-+
-+    lfd = PORT_New_stub(int);
-+    if (lfd != NULL) {
-+      *lfd = fd;
-+    }
-+    return (PRFileDesc *)lfd;
-+}
-+
-+extern PRFileDesc *
-+PR_ImportPipe_stub(PROsfd fd)
-+{
-+    int *lfd = NULL;
-+
-+    STUB_SAFE_CALL1(PR_ImportPipe, fd);
-+
-+    lfd = PORT_New_stub(int);
-+    if (lfd != NULL) {
-+      *lfd = fd;
-+    }
-+    return (PRFileDesc *)lfd;
-+}
-+
- extern PRStatus
- PR_Close_stub(PRFileDesc *fd)
- {
-@@ -492,6 +523,8 @@ freebl_InitNSPR(void *lib)
- {
-     STUB_FETCH_FUNCTION(PR_Free);
-     STUB_FETCH_FUNCTION(PR_Open);
-+    STUB_FETCH_FUNCTION(PR_ImportFile);
-+    STUB_FETCH_FUNCTION(PR_ImportPipe);
-     STUB_FETCH_FUNCTION(PR_Close);
-     STUB_FETCH_FUNCTION(PR_Read);
-     STUB_FETCH_FUNCTION(PR_Seek);
-diff -up ./mozilla/security/nss/lib/freebl/stubs.h.prelink ./mozilla/security/nss/lib/freebl/stubs.h
---- ./mozilla/security/nss/lib/freebl/stubs.h.prelink  2010-09-04 14:26:41.822327256 -0700
-+++ ./mozilla/security/nss/lib/freebl/stubs.h  2010-09-04 14:32:53.498540767 -0700
-@@ -78,6 +78,8 @@
- #define PR_Lock  PR_Lock_stub
- #define PR_NewLock  PR_NewLock_stub
- #define PR_Open  PR_Open_stub
-+#define PR_ImportFile  PR_ImportFile_stub
-+#define PR_ImportPipe  PR_ImportPipe_stub
- #define PR_Read  PR_Read_stub
- #define PR_Seek  PR_Seek_stub
- #define PR_Sleep  PR_Sleep_stub
diff --git a/nss-util/nss-util-config.in b/nss-util/nss-util-config.in
deleted file mode 100644 (file)
index ef8751d..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/sh
-
-prefix=@prefix@
-
-major_version=@MOD_MAJOR_VERSION@
-minor_version=@MOD_MINOR_VERSION@
-patch_version=@MOD_PATCH_VERSION@
-
-usage()
-{
-       cat <<EOF
-Usage: nss-util-config [OPTIONS] [LIBRARIES]
-Options:
-       [--prefix[=DIR]]
-       [--exec-prefix[=DIR]]
-       [--includedir[=DIR]]
-       [--libdir[=DIR]]
-       [--version]
-       [--libs]
-       [--cflags]
-Dynamic Libraries:
-       nssutil
-EOF
-       exit $1
-}
-
-if test $# -eq 0; then
-       usage 1 1>&2
-fi
-
-lib_nssutil=yes
-
-while test $# -gt 0; do
-  case "$1" in
-  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  case $1 in
-    --prefix=*)
-      prefix=$optarg
-      ;;
-    --prefix)
-      echo_prefix=yes
-      ;;
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      ;;
-    --exec-prefix)
-      echo_exec_prefix=yes
-      ;;
-    --includedir=*)
-      includedir=$optarg
-      ;;
-    --includedir)
-      echo_includedir=yes
-      ;;
-    --libdir=*)
-      libdir=$optarg
-      ;;
-    --libdir)
-      echo_libdir=yes
-      ;;
-    --version)
-      echo ${major_version}.${minor_version}.${patch_version}
-      ;;
-    --cflags)
-      echo_cflags=yes
-      ;;
-    --libs)
-      echo_libs=yes
-      ;;
-    *)
-      usage 1 1>&2
-      ;;
-  esac
-  shift
-done
-
-# Set variables that may be dependent upon other variables
-if test -z "$exec_prefix"; then
-    exec_prefix=`pkg-config --variable=exec_prefix nss-util`
-fi
-if test -z "$includedir"; then
-    includedir=`pkg-config --variable=includedir nss-util`
-fi
-if test -z "$libdir"; then
-    libdir=`pkg-config --variable=libdir nss-util`
-fi
-
-if test "$echo_prefix" = "yes"; then
-    echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
-    echo $exec_prefix
-fi
-
-if test "$echo_includedir" = "yes"; then
-    echo $includedir
-fi
-
-if test "$echo_libdir" = "yes"; then
-    echo $libdir
-fi
-
-if test "$echo_cflags" = "yes"; then
-    echo -I$includedir
-fi
-
-if test "$echo_libs" = "yes"; then
-      libdirs="-Wl,-rpath-link,$libdir -L$libdir"
-      if test -n "$lib_nssutil"; then
-       libdirs="$libdirs -lnssutil${major_version}"
-      fi
-      echo $libdirs
-fi      
-
diff --git a/nss-util/nss-util.nm b/nss-util/nss-util.nm
deleted file mode 100644 (file)
index 6363e48..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = nss-util
-version    = 3.12.8
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.mozilla.org/projects/security/pki/nss/
-license    = MPLv1.1 or GPLv2+ or LGPLv2+
-summary    = Network Security Services Utilities Library.
-
-description
-       Utilities for Network Security Services and the Softoken module.
-end
-
-source_dl  =
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               nspr-devel
-               perl
-               pkg-config
-               psmisc
-               zlib-devel
-       end
-
-       ## Define some global environment variables
-       # Enable compiler optimizations and disable debugging code
-       export BUILD_OPT=1
-       export XCFLAGS=%{CFLAGS}
-
-       export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
-       export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
-
-       export NSPR_INCLUDE_DIR=/usr/include/nspr4
-       export NSPR_LIB_DIR=%{libdir}
-
-       export NSS_INCLUDE_DIR=/usr/include/nss3
-       export NSS_LIB_DIR=%{libdir}
-
-       export NSS_USE_SYSTEM_SQLITE=1
-
-       if "%{DISTRO_ARCH}" == "x86_64"
-               export USE_64=1
-       end
-
-       build
-               make -C ./mozilla/security/coreconf
-               make -C ./mozilla/security/nss
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}/usr/bin
-               mkdir -pv %{BUILDROOT}/usr/include/nss3
-               mkdir -pv %{BUILDROOT}%{libdir}/pkgconfig
-
-               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libnssutil3.so \
-                       %{BUILDROOT}%{libdir}
-
-               sed -e "s,@libdir@,%{libdir},g" \
-                       -e "s,@prefix@,/usr,g" \
-                       -e "s,@exec_prefix@,/usr,g" \
-                       -e "s,@includedir@,/usr/include/nss3,g" \
-                       -e "s,@MOD_MAJOR_VERSION@,$$(grep "#define.*NSSUTIL_VMAJOR" mozilla/security/nss/lib/util/nssutil.h | awk '{print $3}'),g" \
-                       -e "s,@MOD_MINOR_VERSION@,$$(grep "#define.*NSSUTIL_VMINOR" mozilla/security/nss/lib/util/nssutil.h | awk '{print $3}'),g" \
-                       -e "s,@MOD_PATCH_VERSION@,$$(grep "#define.*NSSUTIL_VPATCH" mozilla/security/nss/lib/util/nssutil.h | awk '{print $3}'),g" \
-                       < %{DIR_SOURCE}/nss-util-config.in \
-                       > %{BUILDROOT}/usr/bin/nss-util-config
-               chmod -v 755 %{BUILDROOT}/usr/bin/nss-util-config
-
-               sed \
-                       -e "s,%libdir%,%{libdir},g" \
-                       -e "s,%prefix%,/usr,g" \
-                       -e "s,%exec_prefix%,/usr,g" \
-                       -e "s,%includedir%,/usr/include/nss3,g" \
-                       -e "s,%NSPR_VERSION%,$$(nspr-config --version),g" \
-                       -e "s,%NSSUTIL_VERSION%,%{name},g" \
-                       < %{DIR_SOURCE}/nss-util.pc.in \
-                       > %{BUILDROOT}%{libdir}/pkgconfig/nss-util.pc
-
-               # The util headers, the rest come from softokn and nss
-               cp -vf mozilla/dist/public/nss/*.h %{BUILDROOT}/usr/include/nss3
-               chmod -v 644 %{BUILDROOT}/usr/include/nss3/*.h
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       %{name}
-               end
-
-               # Mozilla does no versioning :(
-               files
-                       /usr/bin/*-config
-                       /usr/include
-                       %{libdir}/pkgconfig
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/nss-util/nss-util.pc.in b/nss-util/nss-util.pc.in
deleted file mode 100644 (file)
index 079f83f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=%prefix%
-exec_prefix=%exec_prefix%
-libdir=%libdir%
-includedir=%includedir%
-
-Name: NSS-UTIL
-Description: Network Security Services Utility Library
-Version: %NSSUTIL_VERSION%
-Requires: nspr >= %NSPR_VERSION%
-Libs: -lnssutil3
-Cflags: -I${includedir}
index bdefb125694c99adefed95ce6511e641e500598c..20acaf9b080b90755ce53ee415f4d97ad1748056 100644 (file)
@@ -4,9 +4,13 @@
 ###############################################################################
 
 name       = nss
-version    = 3.12.8
-release    = 4
+ver_major  = 3
+ver_minor  = 13
+ver_patch  = 1
+version    = %{ver_major}.%{ver_minor}.%{ver_patch}
+release    = 3
 
+maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Libraries
 url        = http://www.mozilla.org/projects/security/pki/nss/
 license    = MPLv1.1 or GPLv2+ or LGPLv2+
@@ -20,18 +24,15 @@ description
        v3 certificates, and other security standards.
 end
 
-source_dl  =
-sources
-       %{thisapp}-stripped.tar.bz2
+sources += \
        %{name}-pem-20100809.tar.bz2
-end
+
+source_dl  = ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_%{ver_major}_%{ver_minor}_%{ver_patch}_RTM/src/
 
 build
        requires
                chrpath
                nspr-devel
-               nss-softokn-devel
-               nss-util-devel
                perl
                pkg-config
                psmisc
@@ -47,15 +48,18 @@ build
        export BUILD_OPT=1
        export XCFLAGS=%{CFLAGS}
 
+       # Allow the usage of system libraries.
        export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
        export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
 
+       # Define where to find nspr header files and libraries.
        export NSPR_INCLUDE_DIR=/usr/include/nspr4
        export NSPR_LIB_DIR=%{libdir}
 
-       export NSS_INCLUDE_DIR=/usr/include/nss3
-       export NSS_LIB_DIR=%{libdir}
+       # Disable support for SHA224.
+       export NO_SHA224_AVAILABLE=1
 
+       # Use sqlite from system.
        export NSS_USE_SYSTEM_SQLITE=1
 
        if "%{DISTRO_ARCH}" == "x86_64"
@@ -63,17 +67,14 @@ build
        end
 
        prepare
-               # Extract tarball
-               cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}-stripped.tar.bz2
+               # Extract tarball.
+               cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}.tar.gz
 
-               # Extract tarball into nss directory.
+               # Extract pem tarball into nss directory.
                cd %{DIR_APP} && %{MACRO_EXTRACT} %{DIR_DL}/%{name}-pem-20100809.tar.bz2
 
                # Apply all patches
                %{MACRO_PATCHES}
-
-               cp -vf %{DIR_SOURCE}/PayPalEE.cert \
-                       %{DIR_APP}/mozilla/security/nss/tests/libpkix/certs
        end
 
        build
@@ -83,11 +84,15 @@ build
        end
 
        install
+               # We have to do the complete install stuff self.
+
+               # Create directory layout.
                mkdir -pv %{BUILDROOT}/usr/include/nss3
                mkdir -pv %{BUILDROOT}/usr/{bin,%{lib}}
                mkdir -pv %{BUILDROOT}%{libdir}/pkgconfig
                mkdir -pv %{BUILDROOT}%{libdir}/nss/unsupported-tools
 
+               # Install all libraries.
                install -p -v -m 755 mozilla/dist/*.OBJ/lib/libnss3.so \
                        %{BUILDROOT}%{libdir}
                install -p -v -m 755 mozilla/dist/*.OBJ/lib/libnssckbi.so \
@@ -96,10 +101,18 @@ build
                        %{BUILDROOT}%{libdir}
                install -p -v -m 755 mozilla/dist/*.OBJ/lib/libnsssysinit.so \
                        %{BUILDROOT}%{libdir}
+               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libnssutil3.so \
+                       %{BUILDROOT}%{libdir}
                install -p -v -m 755 mozilla/dist/*.OBJ/lib/libsmime3.so \
                        %{BUILDROOT}%{libdir}
                install -p -v -m 755 mozilla/dist/*.OBJ/lib/libssl3.so \
                        %{BUILDROOT}%{libdir}
+               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libsoftokn3.so \
+                       %{BUILDROOT}%{libdir}
+               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libnssdbm3.so \
+                       %{BUILDROOT}%{libdir}
+               install -p -v -m 755 mozilla/dist/*.OBJ/lib/libfreebl3.so \
+                       %{BUILDROOT}/%{libdir}
 
                # Install the empty NSS db files
                mkdir -pv %{BUILDROOT}/etc/pki/nssdb
@@ -125,11 +138,13 @@ build
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/ocspclnt %{BUILDROOT}%{libdir}/nss/unsupported-tools
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/pp %{BUILDROOT}%{libdir}/nss/unsupported-tools
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/selfserv %{BUILDROOT}%{libdir}/nss/unsupported-tools
+               install -p -v -m 755 mozilla/dist/*.OBJ/bin/shlibsign %{BUILDROOT}%{libdir}/nss/unsupported-tools
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/strsclnt %{BUILDROOT}%{libdir}/nss/unsupported-tools
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/symkeyutil %{BUILDROOT}%{libdir}/nss/unsupported-tools
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/tstclnt %{BUILDROOT}%{libdir}/nss/unsupported-tools
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/vfyserv %{BUILDROOT}%{libdir}/nss/unsupported-tools
                install -p -v -m 755 mozilla/dist/*.OBJ/bin/vfychain %{BUILDROOT}%{libdir}/nss/unsupported-tools
+               chrpath --delete %{BUILDROOT}%{libdir}/nss/unsupported-tools/*
 
                sed -e "s,@libdir@,%{libdir},g" \
                        -e "s,@prefix@,/usr,g" \
@@ -144,11 +159,7 @@ build
 
                install -p -v -m 755 %{DIR_SOURCE}/setup-nsssysinit.sh %{BUILDROOT}/usr/bin
 
-               # Set up our package file
-               # The nspr_version and nss_{util|softokn}_version globals used
-               # here match the ones nss has for its Requires.
-
-               # XXX need to fix this
+               # Generate file for pkg-config.
                sed \
                        -e "s,%libdir%,%{libdir},g" \
                        -e "s,%prefix%,/usr,g" \
@@ -156,52 +167,13 @@ build
                        -e "s,%includedir%,/usr/include/nss3,g" \
                        -e "s,%NSS_VERSION%,%{version},g" \
                        -e "s,%NSPR_VERSION%,$(nspr-config --version),g" \
-                       -e "s,%NSSUTIL_VERSION%,$(nss-util-config --version),g" \
-                       -e "s,%SOFTOKEN_VERSION%,$(nss-softokn-config --version),g" \
                        < %{DIR_SOURCE}/nss.pc.in \
                        > %{BUILDROOT}%{libdir}/pkgconfig/nss.pc
 
                # Copy the include files we want
                cp -vf mozilla/dist/public/nss/*.h %{BUILDROOT}/usr/include/nss3
+               cp -vf mozilla/dist/private/nss/blapi.h %{BUILDROOT}/usr/include/nss3
                chmod -v 644 %{BUILDROOT}/usr/include/nss3/*.h
-
-               # remove the nss-util-devel headers
-               cd %{BUILDROOT}/usr/include/nss3 && rm -vf \
-                       base64.h \
-                       ciferfam.h \
-                       nssb64.h \
-                       nssb64t.h \
-                       nsslocks.h \
-                       nssilock.h \
-                       nssilckt.h \
-                       nssrwlk.h \
-                       nssrwlkt.h \
-                       nssutil.h \
-                       pkcs11{,f,n,p,t,u}.h \
-                       portreg.h \
-                       secasn1.h \
-                       secasn1t.h \
-                       seccomon.h \
-                       secder.h \
-                       secdert.h \
-                       secdig.h \
-                       secdigt.h \
-                       secerr.h \
-                       secitem.h \
-                       secoid.h \
-                       secoidt.h \
-                       secport.h \
-                       utilrename.h
-
-               # remove header shipped in nss-softokn-devel
-               cd %{BUILDROOT}/usr/include/nss3 && rm -vf \
-                       blapit.h \
-                       ecl-exp.h \
-                       hasht.h \
-                       sechash.h \
-                       secmodt.h \
-                       shsign.h \
-                       nsslowhash.h
        end
 end
 
@@ -211,6 +183,11 @@ packages
        package %{name}-libs
                template LIBS
 
+               requires
+                       nss-softokn=%{thisver}
+                       nss-softokn-freebl=%{thisver}
+               end
+
                files
                        %{libdir}/*.so
                end
@@ -221,9 +198,7 @@ packages
 
                requires
                        nspr-devel
-                       %{name}
-                       nss-softokn-devel
-                       nss-util-devel
+                       nss=%{thisver}
                end
 
                # Mozilla does no versioning :(
@@ -234,6 +209,46 @@ packages
                end
        end
 
+       package %{name}-softokn
+               summary = Network Security Services Softoken Module.
+               description
+                       Network Security Services Softoken Cryptographic Module.
+               end
+
+               requires = nss=%{thisver}
+
+               files
+                       %{libdir}/libnssdbm3.so
+                       %{libdir}/libsoftokn3.so
+                       %{libdir}/nss/unsupported-tools/shlibsign
+               end
+       end
+
+       package %{name}-softokn-freebl
+               summary = Freebl library for the Network Security Services.
+               description
+                       NSS Softoken Cryptographic Module Freelb Library.
+               end
+
+               requires
+                       nss=%{thisver}
+                       nss-softokn=%{thisver}
+               end
+
+               files = %{libdir}/libfreebl3.so
+       end
+
+       package %{name}-util
+               summary = Network Security Services Utilities Library.
+               description
+                       Utilities for Network Security Services and the Softoken module.
+               end
+
+               requires = nss=%{thisver}
+
+               files = %{libdir}/libnssutil3.so
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
index d23d15aa005e1ebf0ea5f04fd31f82cf25c3ea63..dddf868cf1931ba66ebb16d8e801932f29d8bebc 100644 (file)
@@ -6,6 +6,6 @@ includedir=%includedir%
 Name: NSS
 Description: Network Security Services
 Version: %NSS_VERSION%
-Requires: nspr >= %NSPR_VERSION%, nss-util >= %NSSUTIL_VERSION%
+Requires: nspr >= %NSPR_VERSION%
 Libs: -lssl3 -lsmime3 -lnss3
 Cflags: -I${includedir}
diff --git a/nss/patches/0001-Add-support-for-PKCS-8-encoded-private-keys.patch b/nss/patches/0001-Add-support-for-PKCS-8-encoded-private-keys.patch
deleted file mode 100644 (file)
index 108bb9a..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-From 8bd0a0427e034262ff982fed98ca5e8c623165db Mon Sep 17 00:00:00 2001
-From: Rich Megginson <rmeggins@redhat.com>
-Date: Mon, 12 Jul 2010 16:31:01 -0600
-Subject: [PATCH] Add support for PKCS#8 encoded private keys
-
-The code supports PKCS#1 encoded RSA private keys that begin with the
-BEGIN RSA PRIVATE KEY header in PEM files.  This patch adds support for
-RSA private keys encoded in PEM files that begin with the header
-BEGIN PRIVATE KEY which are in PKCS#8 format.
----
- prsa.c |  150 ++++++++++++++++++++++++++++++++++++++++++++++------------------
- util.c |    3 +-
- 2 files changed, 110 insertions(+), 43 deletions(-)
-
-diff --git a/prsa.c b/prsa.c
-index 5b2f379..8d4fb92 100644
---- a/mozilla/security/nss/lib/ckfw/pem/prsa.c
-+++ b/mozilla/security/nss/lib/ckfw/pem/prsa.c
-@@ -63,6 +63,35 @@ const SEC_ASN1Template pem_RSAPrivateKeyTemplate[] = {
-     {0}
- };
-+static const SEC_ASN1Template pem_AttributeTemplate[] = {
-+    { SEC_ASN1_SEQUENCE, 
-+      0, NULL, sizeof(NSSLOWKEYAttribute) },
-+    { SEC_ASN1_OBJECT_ID, offsetof(NSSLOWKEYAttribute, attrType) },
-+    { SEC_ASN1_SET_OF | SEC_ASN1_XTRN, offsetof(NSSLOWKEYAttribute, attrValue), 
-+      SEC_ASN1_SUB(SEC_AnyTemplate) },
-+    { 0 }
-+};
-+
-+static const SEC_ASN1Template pem_SetOfAttributeTemplate[] = {
-+    { SEC_ASN1_SET_OF, 0, pem_AttributeTemplate },
-+};
-+
-+const SEC_ASN1Template pem_PrivateKeyInfoTemplate[] = {
-+    { SEC_ASN1_SEQUENCE,
-+      0, NULL, sizeof(NSSLOWKEYPrivateKeyInfo) },
-+    { SEC_ASN1_INTEGER,
-+      offsetof(NSSLOWKEYPrivateKeyInfo,version) },
-+    { SEC_ASN1_INLINE | SEC_ASN1_XTRN,
-+      offsetof(NSSLOWKEYPrivateKeyInfo,algorithm),
-+      SEC_ASN1_SUB(SECOID_AlgorithmIDTemplate) },
-+    { SEC_ASN1_OCTET_STRING,
-+      offsetof(NSSLOWKEYPrivateKeyInfo,privateKey) },
-+    { SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED | SEC_ASN1_CONTEXT_SPECIFIC | 0,
-+      offsetof(NSSLOWKEYPrivateKeyInfo, attributes),
-+      pem_SetOfAttributeTemplate },
-+    { 0 }
-+};
-+
- /* Declarations */
- SECStatus pem_RSA_Sign(pemLOWKEYPrivateKey * key, unsigned char *output,
-                        unsigned int *outputLen, unsigned int maxOutputLen,
-@@ -116,6 +145,79 @@ pem_DestroyPrivateKey(pemLOWKEYPrivateKey * privk)
-     nss_ZFreeIf(privk);
- }
-+/* decode and parse the rawkey into the lpk structure */
-+static pemLOWKEYPrivateKey *
-+pem_getPrivateKey(PLArenaPool *arena, SECItem *rawkey, CK_RV * pError, NSSItem *modulus)
-+{
-+    pemLOWKEYPrivateKey *lpk = NULL;
-+    SECStatus rv = SECFailure;
-+    NSSLOWKEYPrivateKeyInfo *pki = NULL;
-+    SECItem *keysrc = NULL;
-+
-+    /* make sure SECOID is initialized - not sure why we have to do this outside of nss_Init */
-+    if (SECSuccess != (rv = SECOID_Init())) {
-+        *pError = CKR_GENERAL_ERROR;
-+        return NULL; /* wha???? */
-+    }
-+
-+    pki = (NSSLOWKEYPrivateKeyInfo*)PORT_ArenaZAlloc(arena, 
-+                                                     sizeof(NSSLOWKEYPrivateKeyInfo));
-+    if(!pki) {
-+        *pError = CKR_HOST_MEMORY;
-+        goto done;
-+    }
-+
-+    /* let's first see if this is a "raw" RSA private key or an RSA private key in PKCS#8 format */
-+    rv = SEC_ASN1DecodeItem(arena, pki, pem_PrivateKeyInfoTemplate, rawkey);
-+    if (rv != SECSuccess) {
-+        /* not PKCS#8 - assume it's a "raw" RSA private key */
-+        keysrc = rawkey;
-+    } else if (SECOID_GetAlgorithmTag(&pki->algorithm) == SEC_OID_PKCS1_RSA_ENCRYPTION) {
-+        keysrc = &pki->privateKey;        
-+    } else { /* unsupported */
-+        *pError = CKR_FUNCTION_NOT_SUPPORTED;
-+        goto done;
-+    }
-+
-+    lpk = (pemLOWKEYPrivateKey *) nss_ZAlloc(NULL,
-+                                             sizeof(pemLOWKEYPrivateKey));
-+    if (lpk == NULL) {
-+        *pError = CKR_HOST_MEMORY;
-+        goto done;
-+    }
-+
-+    lpk->arena = arena;
-+    lpk->keyType = pemLOWKEYRSAKey;
-+    prepare_low_rsa_priv_key_for_asn1(lpk);
-+
-+    /* I don't know what this is supposed to accomplish.  We free the old
-+       modulus data and set it again, making a copy of the new data.
-+       But we just allocated a new empty key structure above with
-+       nss_ZAlloc.  So lpk->u.rsa.modulus.data is NULL and
-+       lpk->u.rsa.modulus.len.  If the intention is to free the old 
-+       modulus data, why not just set it to NULL after freeing?  Why
-+       go through this unnecessary and confusing copying code?
-+    */
-+    if (modulus) {
-+        nss_ZFreeIf(modulus->data);
-+        modulus->data = (void *) nss_ZAlloc(NULL, lpk->u.rsa.modulus.len);
-+        modulus->size = lpk->u.rsa.modulus.len;
-+        nsslibc_memcpy(modulus->data, lpk->u.rsa.modulus.data,
-+                       lpk->u.rsa.modulus.len);
-+    }
-+
-+    /* decode the private key and any algorithm parameters */
-+    rv = SEC_QuickDERDecodeItem(arena, lpk, pem_RSAPrivateKeyTemplate,
-+                                keysrc);
-+
-+    if (rv != SECSuccess) {
-+        goto done;
-+    }
-+
-+done:
-+    return lpk;
-+}
-+
- void
- pem_PopulateModulusExponent(pemInternalObject * io)
- {
-@@ -123,7 +225,7 @@ pem_PopulateModulusExponent(pemInternalObject * io)
-     const NSSItem *keyType = pem_FetchAttribute(io, CKA_KEY_TYPE);
-     pemLOWKEYPrivateKey *lpk = NULL;
-     PLArenaPool *arena;
--    SECStatus rv;
-+    CK_RV pError = 0;
-     /* make sure we have the right objects */
-     if (((const NSSItem *) NULL == classItem) ||
-@@ -140,26 +242,12 @@ pem_PopulateModulusExponent(pemInternalObject * io)
-         return;
-     }
--    lpk = (pemLOWKEYPrivateKey *) nss_ZAlloc(NULL,
--                                             sizeof(pemLOWKEYPrivateKey));
-+    lpk = pem_getPrivateKey(arena, io->u.key.key.privateKey, &pError, NULL);
-     if (lpk == NULL) {
-         PORT_FreeArena(arena, PR_FALSE);
-         return;
-     }
--    lpk->arena = arena;
--    lpk->keyType = pemLOWKEYRSAKey;
--    prepare_low_rsa_priv_key_for_asn1(lpk);
--
--    /* decode the private key and any algorithm parameters */
--    rv = SEC_QuickDERDecodeItem(arena, lpk, pem_RSAPrivateKeyTemplate,
--                                io->u.key.key.privateKey);
--
--    if (rv != SECSuccess) {
--        PORT_FreeArena(arena, PR_FALSE);
--        return;
--    }
--
-     nss_ZFreeIf(io->u.key.key.modulus.data);
-     io->u.key.key.modulus.data =
-         (void *) nss_ZAlloc(NULL, lpk->u.rsa.modulus.len);
-@@ -252,13 +340,6 @@ pem_mdCryptoOperationRSAPriv_Create
-     pemInternalCryptoOperationRSAPriv *iOperation;
-     pemLOWKEYPrivateKey *lpk = NULL;
-     PLArenaPool *arena;
--    SECStatus rv;
--
--    arena =  PORT_NewArena(2048);
--    if (!arena) {
--        *pError = CKR_HOST_MEMORY;
--        return (NSSCKMDCryptoOperation *) NULL;
--    }
-     /* make sure we have the right objects */
-     if (((const NSSItem *) NULL == classItem) ||
-@@ -271,30 +352,15 @@ pem_mdCryptoOperationRSAPriv_Create
-         return (NSSCKMDCryptoOperation *) NULL;
-     }
--    lpk = (pemLOWKEYPrivateKey *) nss_ZAlloc(NULL,
--                                             sizeof (pemLOWKEYPrivateKey));
--    if (lpk == NULL) {
-+    arena =  PORT_NewArena(2048);
-+    if (!arena) {
-         *pError = CKR_HOST_MEMORY;
-         return (NSSCKMDCryptoOperation *) NULL;
-     }
--    lpk->arena = arena;
--    lpk->keyType = pemLOWKEYRSAKey;
--    prepare_low_rsa_priv_key_for_asn1(lpk);
--    nss_ZFreeIf(iKey->u.key.key.modulus.data);
--    iKey->u.key.key.modulus.data =
--        (void *) nss_ZAlloc(NULL, lpk->u.rsa.modulus.len);
--    iKey->u.key.key.modulus.size = lpk->u.rsa.modulus.len;
--    nsslibc_memcpy(iKey->u.key.key.modulus.data, lpk->u.rsa.modulus.data,
--                   lpk->u.rsa.modulus.len);
--
--    /* decode the private key and any algorithm parameters */
--    rv = SEC_QuickDERDecodeItem(arena, lpk, pem_RSAPrivateKeyTemplate,
--                                iKey->u.key.key.privateKey);
--
--    if (rv != SECSuccess) {
-+    lpk = pem_getPrivateKey(arena, iKey->u.key.key.privateKey, pError, &iKey->u.key.key.modulus);
-+    if (lpk == NULL) {
-         PORT_FreeArena(arena, PR_FALSE);
--        *pError = CKR_HOST_MEMORY;
-         return (NSSCKMDCryptoOperation *) NULL;
-     }
-diff --git a/util.c b/util.c
-index a6ca094..d02ee87 100644
---- a/mozilla/security/nss/lib/ckfw/pem/util.c
-+++ b/mozilla/security/nss/lib/ckfw/pem/util.c
-@@ -164,7 +164,8 @@ ReadDERFromFile(SECItem *** derlist, char *filename, PRBool ascii,
-             int key = 0;
-           while ((asc) && ((body = strstr(asc, "-----BEGIN")) != NULL)) {
-                 key = 0;
--              if (strncmp(body, "-----BEGIN RSA PRIVATE KEY", 25) == 0) {
-+              if ((strncmp(body, "-----BEGIN RSA PRIVATE KEY", 25) == 0) ||
-+                  (strncmp(body, "-----BEGIN PRIVATE KEY", 21) == 0)) {
-                     key = 1;
-                   c = body;
-                   body = strchr(body, '\n');
--- 
-1.5.5.6
-
diff --git a/nss/patches/0001-Bug-695011-PEM-logging.patch b/nss/patches/0001-Bug-695011-PEM-logging.patch
new file mode 100644 (file)
index 0000000..2693d7c
--- /dev/null
@@ -0,0 +1,107 @@
+From 5c61cdba435096ee6e65cee4dc9a473430643c07 Mon Sep 17 00:00:00 2001
+From: Elio Maldonado <emaldona@redhat.com>
+Date: Tue, 12 Apr 2011 09:31:48 -0700
+Subject: [PATCH] Bug 695011 PEM logging
+
+Use NSPR logging facilities for PEM logging to fix a segmenation violation
+caused when user cannot for write a log file created by root
+---
+ mozilla/security/nss/lib/ckfw/pem/ckpem.h |    7 ++++-
+ mozilla/security/nss/lib/ckfw/pem/util.c  |   30 ++++++++++++++++------------
+ 2 files changed, 22 insertions(+), 15 deletions(-)
+
+diff --git a/mozilla/security/nss/lib/ckfw/pem/ckpem.h b/mozilla/security/nss/lib/ckfw/pem/ckpem.h
+index 839d40b..720525e 100644
+--- a/mozilla/security/nss/lib/ckfw/pem/ckpem.h
++++ b/mozilla/security/nss/lib/ckfw/pem/ckpem.h
+@@ -1,3 +1,6 @@
++#ifndef CKPEM_H
++#define CKPEM_H
++
+ #include "nssckmdt.h"
+ #include "nssckfw.h"
+ #include "ckfwtm.h"
+@@ -254,8 +257,8 @@ unsigned int pem_PrivateModulusLen(pemLOWKEYPrivateKey *privk);
+ /* ptoken.c */
+ NSSCKMDToken * pem_NewToken(NSSCKFWInstance *fwInstance, CK_RV *pError);
++/* util.c */
+ void open_log();
+-void close_log();
+ void plog(const char *fmt, ...);
+-#define PEM_H 1
++#endif /* CKPEM_H */
+diff --git a/mozilla/security/nss/lib/ckfw/pem/util.c b/mozilla/security/nss/lib/ckfw/pem/util.c
+index 853f418..fafb924 100644
+--- a/mozilla/security/nss/lib/ckfw/pem/util.c
++++ b/mozilla/security/nss/lib/ckfw/pem/util.c
+@@ -41,6 +41,7 @@
+ #include "prtime.h"
+ #include "prlong.h"
+ #include "prerror.h"
++#include "prlog.h"
+ #include "prprf.h"
+ #include "plgetopt.h"
+ #include "prenv.h"
+@@ -51,6 +52,9 @@
+ #include "cryptohi.h"
+ #include "secpkcs7.h"
+ #include "secerr.h"
++
++#include "ckpem.h"
++
+ #include <stdarg.h>
+ #define CHUNK_SIZE  512
+@@ -267,34 +271,34 @@ ReadDERFromFile(SECItem *** derlist, char *filename, PRBool ascii,
+     return -1;
+ }
+-FILE *plogfile;
++#ifdef DEBUG
++#define LOGGING_BUFFER_SIZE 400
++#define PEM_DEFAULT_LOG_FILE "/tmp/pkcs11.log"
++static const char *pemLogModuleName = "PEM";
++static PRLogModuleInfo* pemLogModule;
++#endif
+ void open_log()
+ {
+ #ifdef DEBUG
+-    plogfile = fopen("/tmp/pkcs11.log", "a");
+-#endif
++    const char *nsprLogFile = PR_GetEnv("NSPR_LOG_FILE");
+-    return;
+-}
++    pemLogModule = PR_NewLogModule(pemLogModuleName);
+-void close_log()
+-{
+-#ifdef DEBUG
+-    fclose(plogfile);
++    (void) PR_SetLogFile(nsprLogFile ? nsprLogFile : PEM_DEFAULT_LOG_FILE);
++    /* If false, the log file will remain what it was before */
+ #endif
+-    return;
+ }
+ void plog(const char *fmt, ...)
+ {
+ #ifdef DEBUG
++    char buf[LOGGING_BUFFER_SIZE];
+     va_list ap;
+     va_start(ap, fmt);
+-    vfprintf(plogfile, fmt, ap);
++    PR_vsnprintf(buf, sizeof(buf), fmt, ap);
+     va_end(ap);
+-
+-    fflush(plogfile);
++    PR_LOG(pemLogModule, PR_LOG_DEBUG, ("%s", buf));
+ #endif
+ }
+-- 
+1.7.4.2
+
diff --git a/nss/patches/0001-Do-not-define-SEC_SkipTemplate.patch b/nss/patches/0001-Do-not-define-SEC_SkipTemplate.patch
deleted file mode 100644 (file)
index 23eb47d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 9b7334b61cf3277e5eb48b716f6719b4636e2572 Mon Sep 17 00:00:00 2001
-From: Rich Megginson <rmeggins@redhat.com>
-Date: Mon, 12 Jul 2010 17:21:01 -0600
-Subject: [PATCH] Do not define SEC_SkipTemplate
-
-Building NSS with PEM support gives an error in pbobject due to multiple
-definitions of SEC_SkipTemplate.  This is already defined in libnssutil
----
- pobject.c |    3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/pobject.c b/pobject.c
-index 81b9028..48f5e78 100644
---- a/mozilla/security/nss/lib/ckfw/pem/pobject.c
-+++ b/mozilla/security/nss/lib/ckfw/pem/pobject.c
-@@ -172,6 +172,8 @@ static const NSSItem pem_trusted = {
-     (void *) &ckt_netscape_trusted, (PRUint32) sizeof(CK_TRUST)
- };
-+/* SEC_SkipTemplate is already defined and exported by libnssutil */
-+#ifdef SEC_SKIP_TEMPLATE
- /*
-  * Template for skipping a subitem.
-  *
-@@ -182,6 +184,7 @@ static const NSSItem pem_trusted = {
- const SEC_ASN1Template SEC_SkipTemplate[] = {
-     {SEC_ASN1_SKIP}
- };
-+#endif
- /*
-  * Find the subjectName in a DER encoded certificate
--- 
-1.5.5.6
-
diff --git a/nss/patches/0001-libnsspem-rhbz-734760.patch b/nss/patches/0001-libnsspem-rhbz-734760.patch
new file mode 100644 (file)
index 0000000..45b4024
--- /dev/null
@@ -0,0 +1,21 @@
+diff -up ./mozilla/security/nss/lib/ckfw/pem/pobject.c.734760 ./mozilla/security/nss/lib/ckfw/pem/pobject.c
+--- ./mozilla/security/nss/lib/ckfw/pem/pobject.c.734760       2011-09-10 10:21:38.819248564 -0700
++++ ./mozilla/security/nss/lib/ckfw/pem/pobject.c      2011-09-10 10:28:47.970083785 -0700
+@@ -1117,7 +1117,7 @@ pem_CreateObject
+         nobjs = ReadDERFromFile(&derlist, filename, PR_TRUE, &cipher, &ivstring, PR_TRUE /* certs only */);
+         if (nobjs < 1)
+-            return (NSSCKMDObject *) NULL;
++            goto loser;
+         objid = -1;
+         /* Brute force: find the id of the key, if any, in this slot */
+@@ -1176,7 +1176,7 @@ pem_CreateObject
+         nobjs = ReadDERFromFile(&derlist, filename, PR_TRUE, &cipher, &ivstring, PR_FALSE /* keys only */);
+         if (nobjs < 1)
+-            return (NSSCKMDObject *) NULL;
++            goto loser;
+         certDER.len = 0; /* in case there is no equivalent cert */
+         certDER.data = NULL;
diff --git a/nss/patches/bz784672-protect-against-calls-before-nss_init.patch0 b/nss/patches/bz784672-protect-against-calls-before-nss_init.patch0
new file mode 100644 (file)
index 0000000..934ea30
--- /dev/null
@@ -0,0 +1,40 @@
+diff -up mozilla/security/nss/lib/nss/nssinit.c.784672 mozilla/security/nss/lib/nss/nssinit.c
+--- mozilla/security/nss/lib/nss/nssinit.c.784672      2012-01-26 14:43:46.232357231 -0800
++++ mozilla/security/nss/lib/nss/nssinit.c     2012-01-26 14:50:55.830512565 -0800
+@@ -944,6 +944,12 @@ NSS_RegisterShutdown(NSS_ShutdownFunc sF
+ {
+     int i;
++    /* make sure our lock and condition variable are initialized one and only
++     * one time */ 
++    if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
++      return SECFailure;
++    }
++
+     PZ_Lock(nssInitLock);
+     if (!NSS_IsInitialized()) {
+       PZ_Unlock(nssInitLock);
+@@ -1002,6 +1008,11 @@ NSS_UnregisterShutdown(NSS_ShutdownFunc
+ {
+     int i;
++    /* make sure our lock and condition variable are initialized one and only
++     * one time */ 
++    if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
++      return SECFailure;
++    }
+     PZ_Lock(nssInitLock);
+     if (!NSS_IsInitialized()) {
+       PZ_Unlock(nssInitLock);
+@@ -1192,6 +1203,11 @@ NSS_ShutdownContext(NSSInitContext *cont
+ {
+     SECStatus rv = SECSuccess;
++    /* make sure our lock and condition variable are initialized one and only
++     * one time */ 
++    if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
++      return SECFailure;
++    }
+     PZ_Lock(nssInitLock);
+     /* If one or more threads are in the middle of init, wait for them
+      * to complete */
diff --git a/nss/patches/gnuc-minor-def-fix.patch b/nss/patches/gnuc-minor-def-fix.patch
new file mode 100644 (file)
index 0000000..f210af2
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up nss-3.13.1/mozilla/security/nss/lib/util/pkcs11n.h.fo nss-3.13.1/mozilla/security/nss/lib/util/pkcs11n.h
+--- nss-3.13.1/mozilla/security/nss/lib/util/pkcs11n.h.fo      2011-11-10 12:44:17.683967574 -0600
++++ nss-3.13.1/mozilla/security/nss/lib/util/pkcs11n.h 2011-11-10 12:44:24.146886778 -0600
+@@ -362,7 +362,7 @@ typedef CK_ULONG          CK_TRUST;
+  *  cast the resulting value to the deprecated type in the #define, thus
+  *  producting the warning when the #define is used.
+  */
+-#if (__GNUC__  == 4) && (__GNUC_MINOR < 5)
++#if (__GNUC__  == 4) && (__GNUC_MINOR__ < 5)
+ /* The mac doesn't like the friendlier deprecate messages. I'm assuming this
+  * is a gcc version issue rather than mac or ppc specific */
+ typedef CK_TRUST __CKT_NSS_UNTRUSTED __attribute__((deprecated));
diff --git a/nss/patches/nofipstest.patch0 b/nss/patches/nofipstest.patch0
new file mode 100644 (file)
index 0000000..5f711be
--- /dev/null
@@ -0,0 +1,19 @@
+diff -up ./mozilla/security/nss/cmd/manifest.mn.nofipstest ./mozilla/security/nss/cmd/manifest.mn
+--- ./mozilla/security/nss/cmd/manifest.mn.nofipstest  2011-12-03 22:54:40.969914919 -0800
++++ ./mozilla/security/nss/cmd/manifest.mn     2011-12-03 22:55:12.348505822 -0800
+@@ -54,7 +54,6 @@ DIRS = lib  \
+  dbtest \
+  derdump  \
+  digest  \
+- fipstest  \
+  makepqg  \
+  multinit \
+  ocspclnt  \
+@@ -84,6 +83,7 @@ DIRS = lib  \
+  $(NULL)
+ TEMPORARILY_DONT_BUILD = \
++ fipstest  \
+  $(NULL)
+ # rsaperf  \
diff --git a/nss/patches/nosha224.patch0 b/nss/patches/nosha224.patch0
new file mode 100644 (file)
index 0000000..bd9d351
--- /dev/null
@@ -0,0 +1,618 @@
+diff -up ./mozilla/security/coreconf/Linux.mk.nosha224 ./mozilla/security/coreconf/Linux.mk
+--- ./mozilla/security/coreconf/Linux.mk.nosha224      2011-12-04 22:03:47.295609957 -0800
++++ ./mozilla/security/coreconf/Linux.mk       2011-12-04 22:03:47.301609957 -0800
+@@ -188,6 +188,14 @@ NSSUTIL_LIBS = -lnssutil3
+ USE_SYSTEM_FREEBL = 1
+ FREEBL_LIBS = -lfreebl3
++#
++# Don't compile code that requires SHA224 if it isn't avilable
++# Such is the case when system freebl/softokn is the 3.12 one
++#
++ifdef NO_SHA224_AVAILABLE
++CFLAGS+=-DNO_SHA224_AVAILABLE
++endif
++
+ # The -rpath '$$ORIGIN' linker option instructs this library to search for its
+ # dependencies in the same directory where it resides.
+ ifeq ($(BUILD_SUN_PKG), 1)
+diff -up ./mozilla/security/nss/cmd/bltest/blapitest.c.nosha224 ./mozilla/security/nss/cmd/bltest/blapitest.c
+--- ./mozilla/security/nss/cmd/bltest/blapitest.c.nosha224     2011-09-16 12:16:50.000000000 -0700
++++ ./mozilla/security/nss/cmd/bltest/blapitest.c      2011-12-04 22:03:47.302609957 -0800
+@@ -686,7 +686,9 @@ typedef enum {
+     bltestMD2,                  /* Hash algorithms       */
+     bltestMD5,                  /* .                     */
+     bltestSHA1,           /* .                           */
++#ifndef NO_SHA224_AVAILABLE
+     bltestSHA224,         /* .                           */
++#endif
+     bltestSHA256,         /* .                           */
+     bltestSHA384,         /* .                           */
+     bltestSHA512,         /* .                           */
+@@ -721,7 +723,9 @@ static char *mode_strings[] =
+     "md2",
+     "md5",
+     "sha1",
++#ifndef NO_SHA224_AVAILABLE
+     "sha224",
++#endif
+     "sha256",
+     "sha384",
+     "sha512",
+@@ -1761,6 +1765,7 @@ finish:
+     return rv;
+ }
++#ifndef NO_SHA224_AVAILABLE
+ SECStatus
+ SHA224_restart(unsigned char *dest, const unsigned char *src, uint32 src_length)
+ {
+@@ -1800,6 +1805,7 @@ finish:
+     SHA224_DestroyContext(cx, PR_TRUE);
+     return rv;
+ }
++#endif
+ SECStatus
+ SHA256_restart(unsigned char *dest, const unsigned char *src, uint32 src_length)
+@@ -2093,6 +2099,7 @@ cipherInit(bltestCipherInfo *cipherInfo,
+       cipherInfo->cipher.hashCipher = (restart) ? sha1_restart : SHA1_HashBuf;
+       return SECSuccess;
+       break;
++#ifndef NO_SHA224_AVAILABLE
+     case bltestSHA224:
+       restart = cipherInfo->params.hash.restart;
+       SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf,
+@@ -2100,6 +2107,7 @@ cipherInit(bltestCipherInfo *cipherInfo,
+       cipherInfo->cipher.hashCipher = (restart) ? SHA224_restart 
+                                                 : SHA224_HashBuf;
+       return SECSuccess;
++#endif
+       break;
+     case bltestSHA256:
+       restart = cipherInfo->params.hash.restart;
+@@ -2542,7 +2550,9 @@ cipherFinish(bltestCipherInfo *cipherInf
+     case bltestMD2: /* hash contexts are ephemeral */
+     case bltestMD5:
+     case bltestSHA1:
++#ifndef NO_SHA224_AVAILABLE
+     case bltestSHA224:
++#endif
+     case bltestSHA256:
+     case bltestSHA384:
+     case bltestSHA512:
+@@ -2896,7 +2906,9 @@ get_params(PRArenaPool *arena, bltestPar
+     case bltestMD2:
+     case bltestMD5:
+     case bltestSHA1:
++#ifndef NO_SHA224_AVAILABLE
+     case bltestSHA224:
++#endif
+     case bltestSHA256:
+     case bltestSHA384:
+     case bltestSHA512:
+diff -up ./mozilla/security/nss/cmd/chktest/chktest.c.nosha224 ./mozilla/security/nss/cmd/chktest/chktest.c
+--- ./mozilla/security/nss/cmd/chktest/chktest.c.nosha224      2010-12-06 09:22:49.000000000 -0800
++++ ./mozilla/security/nss/cmd/chktest/chktest.c       2011-12-04 22:03:47.304609957 -0800
+@@ -41,6 +41,10 @@
+ #include "blapi.h"
+ #include "secutil.h"
++#ifdef NO_SHA224_AVAILABLE
++PRBool BLAPI_SHVerifyFile(const char *shName);
++#endif
++
+ static int Usage()
+ {
+     fprintf(stderr, "Usage:  chktest <full-path-to-shared-library>\n");
+diff -up ./mozilla/security/nss/cmd/lib/secutil.c.nosha224 ./mozilla/security/nss/cmd/lib/secutil.c
+--- ./mozilla/security/nss/cmd/lib/secutil.c.nosha224  2011-10-22 07:35:41.000000000 -0700
++++ ./mozilla/security/nss/cmd/lib/secutil.c   2011-12-04 22:03:47.305609957 -0800
+@@ -86,6 +86,14 @@ static char consoleName[] =  {
+ #include "nssutil.h"
+ #include "ssl.h"
++/* Defined in ./mozilla/dist/public/nss/certdb.h which was included
++ * and also in ./mozilla/security/nss/lib/softoken/legacydb/pcertt.h
++ * but invisible here for some reason
++ */
++#ifndef CERTDB_TERMINAL_RECORD
++#define CERTDB_TERMINAL_RECORD        (1<<0)
++#endif
++
+ void 
+ SECU_PrintErrMsg(FILE *out, int level, char *progName, char *msg, ...)
+@@ -1509,6 +1517,8 @@ const SEC_ASN1Template secuPBEV2Params[]
+     { 0 }
+ };
++/* if no sha224 then no psapss either */
++#ifndef NO_SHA224_AVAILABLE
+ void
+ secu_PrintRSAPSSParams(FILE *out, SECItem *value, char *m, int level)
+ {
+@@ -1572,6 +1582,7 @@ secu_PrintRSAPSSParams(FILE *out, SECIte
+     }
+     PORT_FreeArena(pool, PR_FALSE);
+ }
++#endif
+ void
+ secu_PrintKDF2Params(FILE *out, SECItem *value, char *m, int level)
+@@ -1684,10 +1695,12 @@ SECU_PrintAlgorithmID(FILE *out, SECAlgo
+       return;
+     }
++#ifndef NO_SHA224_AVAILABLE
+     if (algtag == SEC_OID_PKCS1_RSA_PSS_SIGNATURE) {
+       secu_PrintRSAPSSParams(out, &a->parameters, "Parameters", level+1);
+       return;
+     }
++#endif
+     if (a->parameters.len == 0
+       || (a->parameters.len == 2
+@@ -3763,8 +3776,10 @@ SECU_StringToSignatureAlgTag(const char
+           hashAlgTag = SEC_OID_MD5;
+       } else if (!PL_strcmp(alg, "SHA1")) {
+           hashAlgTag = SEC_OID_SHA1;
++#ifndef NO_SHA224_AVAILABLE
+       } else if (!PL_strcmp(alg, "SHA224")) {
+           hashAlgTag = SEC_OID_SHA224;
++#endif
+       } else if (!PL_strcmp(alg, "SHA256")) {
+           hashAlgTag = SEC_OID_SHA256;
+       } else if (!PL_strcmp(alg, "SHA384")) {
+diff -up ./mozilla/security/nss/cmd/pk11mode/pk11mode.c.nosha224 ./mozilla/security/nss/cmd/pk11mode/pk11mode.c
+--- ./mozilla/security/nss/cmd/pk11mode/pk11mode.c.nosha224    2011-12-04 22:07:27.230604899 -0800
++++ ./mozilla/security/nss/cmd/pk11mode/pk11mode.c     2011-12-04 22:10:06.365601241 -0800
+@@ -883,21 +883,27 @@ CK_RV PKM_KeyTests(CK_FUNCTION_LIST_PTR
+     mech_str digestMechs[] = {
+         {CKM_SHA_1, "CKM_SHA_1 "},
++#ifndef NO_SHA224_AVAILABLE
+         {CKM_SHA224, "CKM_SHA224"},
++#endif
+         {CKM_SHA256, "CKM_SHA256"},
+         {CKM_SHA384, "CKM_SHA384"},
+         {CKM_SHA512, "CKM_SHA512"}
+     };
+     mech_str hmacMechs[] = {
+         {CKM_SHA_1_HMAC, "CKM_SHA_1_HMAC"}, 
++#ifndef NO_SHA224_AVAILABLE
+         {CKM_SHA224_HMAC, "CKM_SHA224_HMAC"},
++#endif
+         {CKM_SHA256_HMAC, "CKM_SHA256_HMAC"},
+         {CKM_SHA384_HMAC, "CKM_SHA384_HMAC"},
+         {CKM_SHA512_HMAC, "CKM_SHA512_HMAC"}
+     };
+     mech_str sigRSAMechs[] = {
+         {CKM_SHA1_RSA_PKCS, "CKM_SHA1_RSA_PKCS"}, 
++#ifndef NO_SHA224_AVAILABLE
+         {CKM_SHA224_RSA_PKCS, "CKM_SHA224_RSA_PKCS"},
++#endif
+         {CKM_SHA256_RSA_PKCS, "CKM_SHA256_RSA_PKCS"},
+         {CKM_SHA384_RSA_PKCS, "CKM_SHA384_RSA_PKCS"},
+         {CKM_SHA512_RSA_PKCS, "CKM_SHA512_RSA_PKCS"}
+diff -up ./mozilla/security/nss/lib/cryptohi/sechash.c.nosha224 ./mozilla/security/nss/lib/cryptohi/sechash.c
+--- ./mozilla/security/nss/lib/cryptohi/sechash.c.nosha224     2011-06-21 15:47:54.000000000 -0700
++++ ./mozilla/security/nss/lib/cryptohi/sechash.c      2011-12-04 22:03:47.306609957 -0800
+@@ -91,10 +91,12 @@ sha1_NewContext(void) {
+       return (void *) PK11_CreateDigestContext(SEC_OID_SHA1);
+ }
++#ifndef NO_SHA224_AVAILABLE
+ static void *
+ sha224_NewContext(void) {
+       return (void *) PK11_CreateDigestContext(SEC_OID_SHA224);
+ }
++#endif
+ static void *
+ sha256_NewContext(void) {
+@@ -189,6 +191,7 @@ const SECHashObject SECHashObjects[] = {
+     SHA512_BLOCK_LENGTH,
+     HASH_AlgSHA512
+   },
++#ifndef NO_SHA224_AVAILABLE
+   { SHA224_LENGTH,
+     (void * (*)(void)) sha224_NewContext,
+     (void * (*)(void *)) PK11_CloneContext,
+@@ -200,6 +203,7 @@ const SECHashObject SECHashObjects[] = {
+     SHA224_BLOCK_LENGTH,
+     HASH_AlgSHA224
+   },
++#endif
+ };
+ const SECHashObject * 
+@@ -217,7 +221,9 @@ HASH_GetHashTypeByOidTag(SECOidTag hashO
+     case SEC_OID_MD2:  ht = HASH_AlgMD2;    break;
+     case SEC_OID_MD5:  ht = HASH_AlgMD5;    break;
+     case SEC_OID_SHA1:         ht = HASH_AlgSHA1;   break;
++#ifndef NO_SHA224_AVAILABLE
+     case SEC_OID_SHA224: ht = HASH_AlgSHA224; break;
++#endif
+     case SEC_OID_SHA256: ht = HASH_AlgSHA256; break;
+     case SEC_OID_SHA384: ht = HASH_AlgSHA384; break;
+     case SEC_OID_SHA512: ht = HASH_AlgSHA512; break;
+@@ -237,7 +243,9 @@ HASH_GetHashOidTagByHMACOidTag(SECOidTag
+     /* no oid exists for HMAC_MD2 */
+     /* NSS does not define a oid for HMAC_MD4 */
+     case SEC_OID_HMAC_SHA1:   hashOid = SEC_OID_SHA1;   break;
++#ifndef NO_SHA224_AVAILABLE
+     case SEC_OID_HMAC_SHA224: hashOid = SEC_OID_SHA224; break;
++#endif
+     case SEC_OID_HMAC_SHA256: hashOid = SEC_OID_SHA256; break;
+     case SEC_OID_HMAC_SHA384: hashOid = SEC_OID_SHA384; break;
+     case SEC_OID_HMAC_SHA512: hashOid = SEC_OID_SHA512; break;
+@@ -257,7 +265,9 @@ HASH_GetHMACOidTagByHashOidTag(SECOidTag
+     /* no oid exists for HMAC_MD2 */
+     /* NSS does not define a oid for HMAC_MD4 */
+     case SEC_OID_SHA1:   hmacOid = SEC_OID_HMAC_SHA1;   break;
++#ifndef NO_SHA224_AVAILABLE
+     case SEC_OID_SHA224: hmacOid = SEC_OID_HMAC_SHA224; break;
++#endif
+     case SEC_OID_SHA256: hmacOid = SEC_OID_HMAC_SHA256; break;
+     case SEC_OID_SHA384: hmacOid = SEC_OID_HMAC_SHA384; break;
+     case SEC_OID_SHA512: hmacOid = SEC_OID_HMAC_SHA512; break;
+diff -up ./mozilla/security/nss/lib/cryptohi/seckey.c.nosha224 ./mozilla/security/nss/lib/cryptohi/seckey.c
+--- ./mozilla/security/nss/lib/cryptohi/seckey.c.nosha224      2011-10-22 07:35:42.000000000 -0700
++++ ./mozilla/security/nss/lib/cryptohi/seckey.c       2011-12-04 22:03:47.307609957 -0800
+@@ -550,7 +550,9 @@ seckey_GetKeyType (SECOidTag tag) {
+       * should be handing us a cipher type */
+       case SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION:
+       case SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION:
++#ifndef NO_SHA224_AVAILABLE
+       case SEC_OID_PKCS1_SHA224_WITH_RSA_ENCRYPTION:
++#endif
+       case SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION:
+       case SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION:
+       case SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION:
+diff -up ./mozilla/security/nss/lib/cryptohi/secvfy.c.nosha224 ./mozilla/security/nss/lib/cryptohi/secvfy.c
+--- ./mozilla/security/nss/lib/cryptohi/secvfy.c.nosha224      2011-10-22 07:35:42.000000000 -0700
++++ ./mozilla/security/nss/lib/cryptohi/secvfy.c       2011-12-04 22:03:47.307609957 -0800
+@@ -240,11 +240,12 @@ sec_DecodeSigAlg(const SECKEYPublicKey *
+       case SEC_OID_PKCS1_RSA_PSS_SIGNATURE:
+         *hashalg = SEC_OID_UNKNOWN; /* get it from the RSA signature */
+       break;
+-
++#ifndef NO_SHA224_AVAILABLE
+       case SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE:
+       case SEC_OID_PKCS1_SHA224_WITH_RSA_ENCRYPTION:
+       *hashalg = SEC_OID_SHA224;
+       break;
++#endif
+       case SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE:
+       case SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION:
+       *hashalg = SEC_OID_SHA256;
+@@ -279,8 +280,10 @@ sec_DecodeSigAlg(const SECKEYPublicKey *
+       len = SECKEY_PublicKeyStrength(key);
+       if (len < 28) { /* 28 bytes == 224 bits */
+           *hashalg = SEC_OID_SHA1;
++#ifndef NO_SHA224_AVAILABLE
+       } else if (len < 32) { /* 32 bytes == 256 bits */
+           *hashalg = SEC_OID_SHA224;
++#endif
+       } else if (len < 48) { /* 48 bytes == 384 bits */
+           *hashalg = SEC_OID_SHA256;
+       } else if (len < 64) { /* 48 bytes == 512 bits */
+@@ -325,7 +328,9 @@ sec_DecodeSigAlg(const SECKEYPublicKey *
+       case SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION:
+       case SEC_OID_ISO_SHA_WITH_RSA_SIGNATURE:
+       case SEC_OID_ISO_SHA1_WITH_RSA_SIGNATURE:
++#ifndef NO_SHA224_AVAILABLE
+       case SEC_OID_PKCS1_SHA224_WITH_RSA_ENCRYPTION:
++#endif
+       case SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION:
+       case SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION:
+       case SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION:
+@@ -347,7 +352,9 @@ sec_DecodeSigAlg(const SECKEYPublicKey *
+       *encalg = SEC_OID_MISSI_DSS;
+       break;
+       case SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE:
++#ifndef NO_SHA224_AVAILABLE
+       case SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE:
++#endif
+       case SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE:
+       case SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE:
+       case SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE:
+diff -up ./mozilla/security/nss/lib/freebl/blapi.h.nosha224 ./mozilla/security/nss/lib/freebl/blapi.h
+--- ./mozilla/security/nss/lib/freebl/blapi.h.nosha224 2011-10-04 15:05:53.000000000 -0700
++++ ./mozilla/security/nss/lib/freebl/blapi.h  2011-12-04 22:03:47.308609957 -0800
+@@ -1088,7 +1088,7 @@ extern SHA1Context * SHA1_Resurrect(unsi
+ extern void SHA1_Clone(SHA1Context *dest, SHA1Context *src);
+ /******************************************/
+-
++#ifndef NO_SHA224_AVAILABLE
+ extern SHA224Context *SHA224_NewContext(void);
+ extern void SHA224_DestroyContext(SHA224Context *cx, PRBool freeit);
+ extern void SHA224_Begin(SHA224Context *cx);
+@@ -1104,6 +1104,7 @@ extern unsigned int SHA224_FlattenSize(S
+ extern SECStatus SHA224_Flatten(SHA224Context *cx,unsigned char *space);
+ extern SHA224Context * SHA224_Resurrect(unsigned char *space, void *arg);
+ extern void SHA224_Clone(SHA224Context *dest, SHA224Context *src);
++#endif
+ /******************************************/
+diff -up ./mozilla/security/nss/lib/freebl/ldvector.c.nosha224 ./mozilla/security/nss/lib/freebl/ldvector.c
+--- ./mozilla/security/nss/lib/freebl/ldvector.c.nosha224      2011-10-04 15:05:53.000000000 -0700
++++ ./mozilla/security/nss/lib/freebl/ldvector.c       2011-12-04 22:03:47.309609957 -0800
+@@ -270,7 +270,7 @@ static const struct FREEBLVectorStr vect
+     JPAKE_Verify,
+     JPAKE_Round2,
+     JPAKE_Final,
+-
++#ifndef NO_SHA224_AVAILABLE
+     /* End of Version 3.012 */
+     TLS_P_hash,
+@@ -287,7 +287,7 @@ static const struct FREEBLVectorStr vect
+     SHA224_Resurrect,
+     SHA224_Clone,
+     BLAPI_SHVerifyFile
+-
++#endif
+     /* End of Version 3.013 */
+ };
+diff -up ./mozilla/security/nss/lib/freebl/nsslowhash.c.nosha224 ./mozilla/security/nss/lib/freebl/nsslowhash.c
+--- ./mozilla/security/nss/lib/freebl/nsslowhash.c.nosha224    2010-09-09 17:42:36.000000000 -0700
++++ ./mozilla/security/nss/lib/freebl/nsslowhash.c     2011-12-04 22:03:47.309609957 -0800
+@@ -128,14 +128,14 @@ freebl_fips_SHA_PowerUpSelfTest( void )
+                              0x0a,0x6d,0x07,0xba,0x1e,0xbd,0x8a,0x1b,
+                              0x72,0xf6,0xc7,0x22,0xf1,0x27,0x9f,0xf0,
+                              0xe0,0x68,0x47,0x7a};
+-
++#ifndef NO_SHA224_AVAILABLE
+     /* SHA-224 Known Digest Message (224-bits). */
+     static const PRUint8 sha224_known_digest[] = {
+         0x1c,0xc3,0x06,0x8e,0xce,0x37,0x68,0xfb, 
+         0x1a,0x82,0x4a,0xbe,0x2b,0x00,0x51,0xf8,
+         0x9d,0xb6,0xe0,0x90,0x0d,0x00,0xc9,0x64,
+         0x9a,0xb8,0x98,0x4e};
+-
++#endif
+     /* SHA-256 Known Digest Message (256-bits). */
+     static const PRUint8 sha256_known_digest[] = {
+         0x38,0xa9,0xc1,0xf0,0x35,0xf6,0x5d,0x61,
+@@ -178,7 +178,7 @@ freebl_fips_SHA_PowerUpSelfTest( void )
+         ( PORT_Memcmp( sha_computed_digest, sha1_known_digest,
+                        SHA1_LENGTH ) != 0 ) )
+         return( CKR_DEVICE_ERROR );
+-
++#ifndef NO_SHA224_AVAILABLE
+     /***************************************************/
+     /* SHA-224 Single-Round Known Answer Hashing Test. */
+     /***************************************************/
+@@ -190,7 +190,7 @@ freebl_fips_SHA_PowerUpSelfTest( void )
+         ( PORT_Memcmp( sha_computed_digest, sha224_known_digest,
+                        SHA224_LENGTH ) != 0 ) )
+         return( CKR_DEVICE_ERROR );
+-
++#endif
+     /***************************************************/
+     /* SHA-256 Single-Round Known Answer Hashing Test. */
+     /***************************************************/
+diff -up ./mozilla/security/nss/lib/freebl/rawhash.c.nosha224 ./mozilla/security/nss/lib/freebl/rawhash.c
+--- ./mozilla/security/nss/lib/freebl/rawhash.c.nosha224       2010-08-17 22:55:47.000000000 -0700
++++ ./mozilla/security/nss/lib/freebl/rawhash.c        2011-12-04 22:03:47.309609957 -0800
+@@ -155,6 +155,7 @@ const SECHashObject SECRawHashObjects[]
+     SHA512_BLOCK_LENGTH,
+     HASH_AlgSHA512
+   },
++#ifndef NO_SHA224_AVAILABLE
+   { SHA224_LENGTH,
+     (void * (*)(void)) SHA224_NewContext,
+     (void * (*)(void *)) null_hash_clone_context,
+@@ -166,6 +167,7 @@ const SECHashObject SECRawHashObjects[]
+     SHA224_BLOCK_LENGTH,
+     HASH_AlgSHA224
+   },
++#endif
+ };
+ const SECHashObject *
+diff -up ./mozilla/security/nss/lib/freebl/sha512.c.nosha224 ./mozilla/security/nss/lib/freebl/sha512.c
+--- ./mozilla/security/nss/lib/freebl/sha512.c.nosha224        2011-09-14 10:48:03.000000000 -0700
++++ ./mozilla/security/nss/lib/freebl/sha512.c 2011-12-04 22:03:47.310609957 -0800
+@@ -544,6 +544,7 @@ void SHA256_Clone(SHA256Context *dest, S
+     memcpy(dest, src, sizeof *dest);
+ }
++#ifndef NO_SHA224_AVAILABLE
+ /* ============= SHA224 implementation ================================== */
+ /* SHA-224 initial hash values */
+@@ -630,7 +631,7 @@ void SHA224_Clone(SHA224Context *dest, S
+ {
+     SHA256_Clone(dest, src);
+ }
+-
++#endif
+ /* ======= SHA512 and SHA384 common constants and defines ================= */
+diff -up ./mozilla/security/nss/lib/softoken/fipstest.c.nosha224 ./mozilla/security/nss/lib/softoken/fipstest.c
+--- ./mozilla/security/nss/lib/softoken/fipstest.c.nosha224    2011-03-29 08:12:43.000000000 -0700
++++ ./mozilla/security/nss/lib/softoken/fipstest.c     2011-12-04 22:03:47.311609956 -0800
+@@ -865,12 +865,14 @@ sftk_fips_HMAC_PowerUpSelfTest( void )
+         0x3b, 0x57, 0x1d, 0x61, 0xe7, 0xb8, 0x84, 0x1e, 
+         0x5d, 0x0e, 0x1e, 0x11};
++#ifndef NO_SHA224_AVAILABLE
+     /* known SHA224 hmac (28 bytes) */
+     static const PRUint8 known_SHA224_hmac[] = {
+         0x1c, 0xc3, 0x06, 0x8e, 0xce, 0x37, 0x68, 0xfb, 
+         0x1a, 0x82, 0x4a, 0xbe, 0x2b, 0x00, 0x51, 0xf8,
+         0x9d, 0xb6, 0xe0, 0x90, 0x0d, 0x00, 0xc9, 0x64,
+         0x9a, 0xb8, 0x98, 0x4e};
++#endif
+     /* known SHA256 hmac (32 bytes) */
+     static const PRUint8 known_SHA256_hmac[] = {
+@@ -922,6 +924,7 @@ sftk_fips_HMAC_PowerUpSelfTest( void )
+     /* HMAC SHA-224 Single-Round Known Answer Test.    */
+     /***************************************************/
++#ifndef NO_SHA224_AVAILABLE
+     hmac_status = sftk_fips_HMAC(hmac_computed, 
+                                  HMAC_known_secret_key,
+                                  HMAC_known_secret_key_length,
+@@ -933,6 +936,7 @@ sftk_fips_HMAC_PowerUpSelfTest( void )
+         ( PORT_Memcmp( hmac_computed, known_SHA224_hmac,
+                        SHA224_LENGTH ) != 0 ) )
+         return( CKR_DEVICE_ERROR );
++#endif
+     /***************************************************/
+     /* HMAC SHA-256 Single-Round Known Answer Test.    */
+@@ -994,12 +998,14 @@ sftk_fips_SHA_PowerUpSelfTest( void )
+                              0x72,0xf6,0xc7,0x22,0xf1,0x27,0x9f,0xf0,
+                              0xe0,0x68,0x47,0x7a};
++#ifndef NO_SHA224_AVAILABLE
+     /* SHA-224 Known Digest Message (224-bits). */
+     static const PRUint8 sha224_known_digest[] = {
+         0x89,0x5e,0x7f,0xfd,0x0e,0xd8,0x35,0x6f,
+         0x64,0x6d,0xf2,0xde,0x5e,0xed,0xa6,0x7f, 
+         0x29,0xd1,0x12,0x73,0x42,0x84,0x95,0x4f, 
+         0x8e,0x08,0xe5,0xcb};
++#endif
+     /* SHA-256 Known Digest Message (256-bits). */
+     static const PRUint8 sha256_known_digest[] = {
+@@ -1048,6 +1054,7 @@ sftk_fips_SHA_PowerUpSelfTest( void )
+     /* SHA-224 Single-Round Known Answer Hashing Test. */
+     /***************************************************/
++#ifndef NO_SHA224_AVAILABLE
+     sha_status = SHA224_HashBuf( sha_computed_digest, known_hash_message,
+                                 FIPS_KNOWN_HASH_MESSAGE_LENGTH );
+@@ -1055,6 +1062,7 @@ sftk_fips_SHA_PowerUpSelfTest( void )
+         ( PORT_Memcmp( sha_computed_digest, sha224_known_digest,
+                        SHA224_LENGTH ) != 0 ) )
+         return( CKR_DEVICE_ERROR );
++#endif
+     /***************************************************/
+     /* SHA-256 Single-Round Known Answer Hashing Test. */
+diff -up ./mozilla/security/nss/lib/softoken/pkcs11c.c.nosha224 ./mozilla/security/nss/lib/softoken/pkcs11c.c
+--- ./mozilla/security/nss/lib/softoken/pkcs11c.c.nosha224     2011-09-21 11:49:16.000000000 -0700
++++ ./mozilla/security/nss/lib/softoken/pkcs11c.c      2011-12-04 22:03:47.313609956 -0800
+@@ -1316,7 +1316,9 @@ CK_RV NSC_DigestInit(CK_SESSION_HANDLE h
+     INIT_MECH(CKM_MD2,    MD2)
+     INIT_MECH(CKM_MD5,    MD5)
+     INIT_MECH(CKM_SHA_1,  SHA1)
++#ifndef NO_SHA224_AVAILABLE
+     INIT_MECH(CKM_SHA224, SHA224)
++#endif
+     INIT_MECH(CKM_SHA256, SHA256)
+     INIT_MECH(CKM_SHA384, SHA384)
+     INIT_MECH(CKM_SHA512, SHA512)
+@@ -1440,7 +1442,9 @@ sftk_doSub ## mmm(SFTKSessionContext *co
+ DOSUB(MD2)
+ DOSUB(MD5)
+ DOSUB(SHA1)
++#ifndef NO_SHA224_AVAILABLE
+ DOSUB(SHA224)
++#endif
+ DOSUB(SHA256)
+ DOSUB(SHA384)
+ DOSUB(SHA512)
+@@ -2013,7 +2017,9 @@ CK_RV NSC_SignInit(CK_SESSION_HANDLE hSe
+     INIT_RSA_SIGN_MECH(MD5)
+     INIT_RSA_SIGN_MECH(MD2)
+     INIT_RSA_SIGN_MECH(SHA1)
++#ifndef NO_SHA224_AVAILABLE
+     INIT_RSA_SIGN_MECH(SHA224)
++#endif
+     INIT_RSA_SIGN_MECH(SHA256)
+     INIT_RSA_SIGN_MECH(SHA384)
+     INIT_RSA_SIGN_MECH(SHA512)
+@@ -2131,7 +2137,9 @@ finish_rsa:
+     INIT_HMAC_MECH(MD2)
+     INIT_HMAC_MECH(MD5)
++#ifndef NO_SHA224_AVAILABLE
+     INIT_HMAC_MECH(SHA224)
++#endif
+     INIT_HMAC_MECH(SHA256)
+     INIT_HMAC_MECH(SHA384)
+     INIT_HMAC_MECH(SHA512)
+@@ -2529,7 +2537,9 @@ CK_RV NSC_VerifyInit(CK_SESSION_HANDLE h
+     INIT_RSA_VFY_MECH(MD5) 
+     INIT_RSA_VFY_MECH(MD2) 
+     INIT_RSA_VFY_MECH(SHA1) 
++#ifndef NO_SHA224_AVAILABLE
+     INIT_RSA_VFY_MECH(SHA224)
++#endif
+     INIT_RSA_VFY_MECH(SHA256) 
+     INIT_RSA_VFY_MECH(SHA384) 
+     INIT_RSA_VFY_MECH(SHA512) 
+@@ -2626,7 +2636,9 @@ finish_rsa:
+     INIT_HMAC_MECH(MD2)
+     INIT_HMAC_MECH(MD5)
++#ifndef NO_SHA224_AVAILABLE
+     INIT_HMAC_MECH(SHA224)
++#endif
+     INIT_HMAC_MECH(SHA256)
+     INIT_HMAC_MECH(SHA384)
+     INIT_HMAC_MECH(SHA512)
+diff -up ./mozilla/security/nss/lib/softoken/pkcs11.c.nosha224 ./mozilla/security/nss/lib/softoken/pkcs11.c
+--- ./mozilla/security/nss/lib/softoken/pkcs11.c.nosha224      2011-01-21 16:12:04.000000000 -0800
++++ ./mozilla/security/nss/lib/softoken/pkcs11.c       2011-12-04 22:03:47.316609956 -0800
+@@ -311,8 +311,10 @@ static const struct mechanismList mechan
+                                CKF_SN_VR},    PR_TRUE},
+      {CKM_SHA1_RSA_PKCS,      {RSA_MIN_MODULUS_BITS,CK_MAX,
+                                CKF_SN_VR},    PR_TRUE},
++#ifndef NO_SHA224_AVAILABLE
+      {CKM_SHA224_RSA_PKCS,    {RSA_MIN_MODULUS_BITS,CK_MAX,
+                                CKF_SN_VR},    PR_TRUE},
++#endif
+      {CKM_SHA256_RSA_PKCS,    {RSA_MIN_MODULUS_BITS,CK_MAX,
+                                CKF_SN_VR},    PR_TRUE},
+      {CKM_SHA384_RSA_PKCS,    {RSA_MIN_MODULUS_BITS,CK_MAX,
+@@ -401,9 +403,11 @@ static const struct mechanismList mechan
+      {CKM_SHA_1,              {0,   0, CKF_DIGEST},           PR_FALSE},
+      {CKM_SHA_1_HMAC,         {1, 128, CKF_SN_VR},            PR_TRUE},
+      {CKM_SHA_1_HMAC_GENERAL, {1, 128, CKF_SN_VR},            PR_TRUE},
++#ifndef NO_SHA224_AVAILABLE
+      {CKM_SHA224,             {0,   0, CKF_DIGEST},           PR_FALSE},
+      {CKM_SHA224_HMAC,                {1, 128, CKF_SN_VR},            PR_TRUE},
+      {CKM_SHA224_HMAC_GENERAL,        {1, 128, CKF_SN_VR},            PR_TRUE},
++#endif
+      {CKM_SHA256,             {0,   0, CKF_DIGEST},           PR_FALSE},
+      {CKM_SHA256_HMAC,                {1, 128, CKF_SN_VR},            PR_TRUE},
+      {CKM_SHA256_HMAC_GENERAL,        {1, 128, CKF_SN_VR},            PR_TRUE},
+diff -up ./mozilla/security/nss/lib/softoken/rsawrapr.c.nosha224 ./mozilla/security/nss/lib/softoken/rsawrapr.c
+--- ./mozilla/security/nss/lib/softoken/rsawrapr.c.nosha224    2011-10-22 07:35:43.000000000 -0700
++++ ./mozilla/security/nss/lib/softoken/rsawrapr.c     2011-12-04 22:03:47.316609956 -0800
+@@ -1173,9 +1173,11 @@ GetHashTypeFromMechanism(CK_MECHANISM_TY
+         case CKM_SHA_1:
+         case CKG_MGF1_SHA1:
+           return HASH_AlgSHA1;
++#ifndef NO_SHA224_AVAILABLE
+         case CKM_SHA224:
+         case CKG_MGF1_SHA224:
+           return HASH_AlgSHA224;
++#endif
+         case CKM_SHA256:
+         case CKG_MGF1_SHA256:
+           return HASH_AlgSHA256;
+diff -up ./mozilla/security/nss/tests/cipher/cipher.txt.nosha224 ./mozilla/security/nss/tests/cipher/cipher.txt
+--- ./mozilla/security/nss/tests/cipher/cipher.txt.nosha224    2010-08-17 22:57:05.000000000 -0700
++++ ./mozilla/security/nss/tests/cipher/cipher.txt     2011-12-04 22:03:47.317609956 -0800
+@@ -73,7 +73,6 @@
+       0       md2_-H          MD2_Hash
+       0       md5_-H          MD5_Hash
+       0       sha1_-H         SHA1_Hash
+-      0       sha224_-H       SHA224_Hash
+       0       sha256_-H       SHA256_Hash
+       0       sha384_-H       SHA384_Hash
+       0       sha512_-H       SHA512_Hash
diff --git a/nss/patches/nss-646045.patch0 b/nss/patches/nss-646045.patch0
new file mode 100644 (file)
index 0000000..5492127
--- /dev/null
@@ -0,0 +1,34 @@
+diff -up ./mozilla/security/nss/tests/dbtests/dbtests.sh.noroot ./mozilla/security/nss/tests/dbtests/dbtests.sh
+--- ./mozilla/security/nss/tests/dbtests/dbtests.sh.noroot     2011-04-06 09:56:07.207701000 -0700
++++ ./mozilla/security/nss/tests/dbtests/dbtests.sh    2011-04-06 10:19:54.159552000 -0700
+@@ -201,6 +201,9 @@ dbtest_main()
+         cat $RONLY_DIR/* > /dev/null
+     fi
++    # skipping the next two tests when user is root,
++    # otherwise they would fail due to rooty powers
++    if [[ $EUID -ne 0 ]] then
+     ${BINDIR}/dbtest -d $RONLY_DIR
+     ret=$?
+     if [ $ret -ne 46 ]; then
+@@ -208,6 +211,10 @@ dbtest_main()
+     else
+       html_passed "Dbtest r/w didn't work in an readonly dir $ret" 
+     fi
++    else
++      html_passed "Skipping Dbtest r/w in a readonly dir because user is root" 
++    fi
++    if [[ $EUID -ne 0 ]] then
+     ${BINDIR}/certutil -D -n "TestUser" -d .
+     ret=$?
+     if [ $ret -ne 255 ]; then
+@@ -215,6 +222,9 @@ dbtest_main()
+     else
+         html_passed "Certutil didn't work in an readonly dir $ret"
+     fi
++    else
++      html_passed "Skipping Certutil delete cert in an readonly directory test because user is root" 
++    fi
+     
+     Echo "test opening the database ronly in a readonly directory"
diff --git a/nss/patches/nss-ckbi-1.88.rtm.patch0 b/nss/patches/nss-ckbi-1.88.rtm.patch0
new file mode 100644 (file)
index 0000000..c6de789
--- /dev/null
@@ -0,0 +1,637 @@
+diff -up ./mozilla/security/nss/lib/ckfw/builtins/certdata.c.ckbi188 ./mozilla/security/nss/lib/ckfw/builtins/certdata.c
+--- ./mozilla/security/nss/lib/ckfw/builtins/certdata.c.ckbi188        2011-11-03 16:29:17.081000000 -0700
++++ ./mozilla/security/nss/lib/ckfw/builtins/certdata.c        2011-11-03 08:11:57.000000000 -0700
+@@ -35,7 +35,7 @@
+  *
+  * ***** END LICENSE BLOCK ***** */
+ #ifdef DEBUG
+-static const char CVS_ID[] = "@(#) $RCSfile: certdata.c,v $ $Revision: 1.82 $ $Date: 2011/09/02 19:40:56 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.82 $ $Date: 2011/09/02 19:40:56 $";
++static const char CVS_ID[] = "@(#) $RCSfile: certdata.c,v $ $Revision: 1.83 $ $Date: 2011/11/03 15:11:57 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.83 $ $Date: 2011/11/03 15:11:57 $";
+ #endif /* DEBUG */
+ #ifndef BUILTINS_H
+@@ -1075,6 +1075,18 @@ static const CK_ATTRIBUTE_TYPE nss_built
+ static const CK_ATTRIBUTE_TYPE nss_builtins_types_339 [] = {
+  CKA_CLASS,  CKA_TOKEN,  CKA_PRIVATE,  CKA_MODIFIABLE,  CKA_LABEL,  CKA_CERT_SHA1_HASH,  CKA_CERT_MD5_HASH,  CKA_ISSUER,  CKA_SERIAL_NUMBER,  CKA_TRUST_SERVER_AUTH,  CKA_TRUST_EMAIL_PROTECTION,  CKA_TRUST_CODE_SIGNING,  CKA_TRUST_STEP_UP_APPROVED
+ };
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_340 [] = {
++ CKA_CLASS,  CKA_TOKEN,  CKA_PRIVATE,  CKA_MODIFIABLE,  CKA_LABEL,  CKA_CERTIFICATE_TYPE,  CKA_SUBJECT,  CKA_ID,  CKA_ISSUER,  CKA_SERIAL_NUMBER,  CKA_VALUE
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_341 [] = {
++ CKA_CLASS,  CKA_TOKEN,  CKA_PRIVATE,  CKA_MODIFIABLE,  CKA_LABEL,  CKA_CERT_SHA1_HASH,  CKA_CERT_MD5_HASH,  CKA_ISSUER,  CKA_SERIAL_NUMBER,  CKA_TRUST_SERVER_AUTH,  CKA_TRUST_EMAIL_PROTECTION,  CKA_TRUST_CODE_SIGNING,  CKA_TRUST_STEP_UP_APPROVED
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_342 [] = {
++ CKA_CLASS,  CKA_TOKEN,  CKA_PRIVATE,  CKA_MODIFIABLE,  CKA_LABEL,  CKA_CERTIFICATE_TYPE,  CKA_SUBJECT,  CKA_ID,  CKA_ISSUER,  CKA_SERIAL_NUMBER,  CKA_VALUE
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_343 [] = {
++ CKA_CLASS,  CKA_TOKEN,  CKA_PRIVATE,  CKA_MODIFIABLE,  CKA_LABEL,  CKA_CERT_SHA1_HASH,  CKA_CERT_MD5_HASH,  CKA_ISSUER,  CKA_SERIAL_NUMBER,  CKA_TRUST_SERVER_AUTH,  CKA_TRUST_EMAIL_PROTECTION,  CKA_TRUST_CODE_SIGNING,  CKA_TRUST_STEP_UP_APPROVED
++};
+ #ifdef DEBUG
+ static const NSSItem nss_builtins_items_0 [] = {
+   { (void *)&cko_data, (PRUint32)sizeof(CK_OBJECT_CLASS) },
+@@ -1083,7 +1095,7 @@ static const NSSItem nss_builtins_items_
+   { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
+   { (void *)"CVS ID", (PRUint32)7 },
+   { (void *)"NSS", (PRUint32)4 },
+-  { (void *)"@(#) $RCSfile: certdata.c,v $ $Revision: 1.82 $ $Date: 2011/09/02 19:40:56 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.82 $ $Date: 2011/09/02 19:40:56 $", (PRUint32)160 }
++  { (void *)"@(#) $RCSfile: certdata.c,v $ $Revision: 1.83 $ $Date: 2011/11/03 15:11:57 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.83 $ $Date: 2011/11/03 15:11:57 $", (PRUint32)160 }
+ };
+ #endif /* DEBUG */
+ static const NSSItem nss_builtins_items_1 [] = {
+@@ -22600,6 +22612,266 @@ static const NSSItem nss_builtins_items_
+   { (void *)&ckt_nss_not_trusted, (PRUint32)sizeof(CK_TRUST) },
+   { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
+ };
++static const NSSItem nss_builtins_items_340 [] = {
++  { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++  { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)"Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)", (PRUint32)57 },
++  { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
++  { (void *)"\060\143\061\013\060\011\006\003\125\004\006\023\002\115\131\061"
++"\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145"
++"\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017"
++"\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061"
++"\044\060\042\006\003\125\004\003\023\033\104\151\147\151\163\151"
++"\147\156\040\123\145\162\166\145\162\040\111\104\040\050\105\156"
++"\162\151\143\150\051"
++, (PRUint32)101 },
++  { (void *)"0", (PRUint32)2 },
++  { (void *)"\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061"
++"\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157"
++"\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125"
++"\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165"
++"\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156"
++"\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105"
++"\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142"
++"\141\154\040\122\157\157\164"
++, (PRUint32)119 },
++  { (void *)"\002\006\007\377\377\377\377\377"
++, (PRUint32)8 },
++  { (void *)"\060\202\003\315\060\202\003\066\240\003\002\001\002\002\006\007"
++"\377\377\377\377\377\060\015\006\011\052\206\110\206\367\015\001"
++"\001\005\005\000\060\165\061\013\060\011\006\003\125\004\006\023"
++"\002\125\123\061\030\060\026\006\003\125\004\012\023\017\107\124"
++"\105\040\103\157\162\160\157\162\141\164\151\157\156\061\047\060"
++"\045\006\003\125\004\013\023\036\107\124\105\040\103\171\142\145"
++"\162\124\162\165\163\164\040\123\157\154\165\164\151\157\156\163"
++"\054\040\111\156\143\056\061\043\060\041\006\003\125\004\003\023"
++"\032\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040"
++"\107\154\157\142\141\154\040\122\157\157\164\060\036\027\015\060"
++"\067\060\067\061\067\061\065\061\067\064\071\132\027\015\061\062"
++"\060\067\061\067\061\065\061\066\065\065\132\060\143\061\013\060"
++"\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003"
++"\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144"
++"\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013"
++"\023\010\064\065\067\066\060\070\055\113\061\044\060\042\006\003"
++"\125\004\003\023\033\104\151\147\151\163\151\147\156\040\123\145"
++"\162\166\145\162\040\111\104\040\050\105\156\162\151\143\150\051"
++"\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001\001"
++"\005\000\003\201\215\000\060\201\211\002\201\201\000\255\250\144"
++"\113\115\207\307\204\131\271\373\220\106\240\246\211\300\361\376"
++"\325\332\124\202\067\015\231\053\105\046\012\350\126\260\177\312"
++"\250\364\216\107\204\001\202\051\343\263\152\265\221\363\373\225"
++"\205\274\162\250\144\350\012\100\234\305\364\161\256\173\173\152"
++"\007\352\220\024\117\215\211\257\224\253\262\006\324\002\152\173"
++"\230\037\131\271\072\315\124\372\040\337\262\052\012\351\270\335"
++"\151\220\300\051\323\116\320\227\355\146\314\305\031\111\006\177"
++"\372\136\054\174\173\205\033\062\102\337\173\225\045\002\003\001"
++"\000\001\243\202\001\170\060\202\001\164\060\022\006\003\125\035"
++"\023\001\001\377\004\010\060\006\001\001\377\002\001\000\060\134"
++"\006\003\125\035\040\004\125\060\123\060\110\006\011\053\006\001"
++"\004\001\261\076\001\000\060\073\060\071\006\010\053\006\001\005"
++"\005\007\002\001\026\055\150\164\164\160\072\057\057\143\171\142"
++"\145\162\164\162\165\163\164\056\157\155\156\151\162\157\157\164"
++"\056\143\157\155\057\162\145\160\157\163\151\164\157\162\171\056"
++"\143\146\155\060\007\006\005\140\203\112\001\001\060\016\006\003"
++"\125\035\017\001\001\377\004\004\003\002\001\346\060\201\211\006"
++"\003\125\035\043\004\201\201\060\177\241\171\244\167\060\165\061"
++"\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060\026"
++"\006\003\125\004\012\023\017\107\124\105\040\103\157\162\160\157"
++"\162\141\164\151\157\156\061\047\060\045\006\003\125\004\013\023"
++"\036\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040"
++"\123\157\154\165\164\151\157\156\163\054\040\111\156\143\056\061"
++"\043\060\041\006\003\125\004\003\023\032\107\124\105\040\103\171"
++"\142\145\162\124\162\165\163\164\040\107\154\157\142\141\154\040"
++"\122\157\157\164\202\002\001\245\060\105\006\003\125\035\037\004"
++"\076\060\074\060\072\240\070\240\066\206\064\150\164\164\160\072"
++"\057\057\167\167\167\056\160\165\142\154\151\143\055\164\162\165"
++"\163\164\056\143\157\155\057\143\147\151\055\142\151\156\057\103"
++"\122\114\057\062\060\061\070\057\143\144\160\056\143\162\154\060"
++"\035\006\003\125\035\016\004\026\004\024\306\026\223\116\026\027"
++"\354\026\256\214\224\166\363\206\155\305\164\156\204\167\060\015"
++"\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201"
++"\000\166\000\173\246\170\053\146\035\216\136\066\306\244\216\005"
++"\362\043\222\174\223\147\323\364\300\012\175\213\055\331\352\325"
++"\157\032\363\341\112\051\132\042\204\115\120\057\113\014\362\377"
++"\205\302\173\125\324\104\202\276\155\254\147\216\274\264\037\222"
++"\234\121\200\032\024\366\156\253\141\210\013\255\034\177\367\113"
++"\120\121\326\145\033\246\107\161\025\136\260\161\363\065\024\362"
++"\067\275\143\310\325\360\223\132\064\137\330\075\350\135\367\305"
++"\036\300\345\317\037\206\044\251\074\007\146\315\301\322\066\143"
++"\131"
++, (PRUint32)977 }
++};
++static const NSSItem nss_builtins_items_341 [] = {
++  { (void *)&cko_nss_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++  { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)"Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)", (PRUint32)57 },
++  { (void *)"\125\120\257\354\277\350\303\255\304\013\343\255\014\247\344\025"
++"\214\071\131\117"
++, (PRUint32)20 },
++  { (void *)"\322\336\256\120\244\230\055\157\067\267\206\122\310\055\113\152"
++, (PRUint32)16 },
++  { (void *)"\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061"
++"\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157"
++"\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125"
++"\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165"
++"\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156"
++"\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105"
++"\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142"
++"\141\154\040\122\157\157\164"
++, (PRUint32)119 },
++  { (void *)"\002\006\007\377\377\377\377\377"
++, (PRUint32)8 },
++  { (void *)&ckt_nss_not_trusted, (PRUint32)sizeof(CK_TRUST) },
++  { (void *)&ckt_nss_not_trusted, (PRUint32)sizeof(CK_TRUST) },
++  { (void *)&ckt_nss_not_trusted, (PRUint32)sizeof(CK_TRUST) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
++};
++static const NSSItem nss_builtins_items_342 [] = {
++  { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++  { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)"Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)", (PRUint32)56 },
++  { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
++  { (void *)"\060\145\061\013\060\011\006\003\125\004\006\023\002\115\131\061"
++"\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145"
++"\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017"
++"\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061"
++"\046\060\044\006\003\125\004\003\023\035\104\151\147\151\163\151"
++"\147\156\040\123\145\162\166\145\162\040\111\104\040\055\040\050"
++"\105\156\162\151\143\150\051"
++, (PRUint32)103 },
++  { (void *)"0", (PRUint32)2 },
++  { (void *)"\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156"
++"\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125"
++"\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056"
++"\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143"
++"\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151"
++"\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006"
++"\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105"
++"\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164"
++"\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164"
++"\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151"
++"\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171"
++"\040\050\062\060\064\070\051"
++, (PRUint32)183 },
++  { (void *)"\002\006\007\377\377\377\377\377"
++, (PRUint32)8 },
++  { (void *)"\060\202\004\320\060\202\003\270\240\003\002\001\002\002\006\007"
++"\377\377\377\377\377\060\015\006\011\052\206\110\206\367\015\001"
++"\001\005\005\000\060\201\264\061\024\060\022\006\003\125\004\012"
++"\023\013\105\156\164\162\165\163\164\056\156\145\164\061\100\060"
++"\076\006\003\125\004\013\024\067\167\167\167\056\145\156\164\162"
++"\165\163\164\056\156\145\164\057\103\120\123\137\062\060\064\070"
++"\040\151\156\143\157\162\160\056\040\142\171\040\162\145\146\056"
++"\040\050\154\151\155\151\164\163\040\154\151\141\142\056\051\061"
++"\045\060\043\006\003\125\004\013\023\034\050\143\051\040\061\071"
++"\071\071\040\105\156\164\162\165\163\164\056\156\145\164\040\114"
++"\151\155\151\164\145\144\061\063\060\061\006\003\125\004\003\023"
++"\052\105\156\164\162\165\163\164\056\156\145\164\040\103\145\162"
++"\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157"
++"\162\151\164\171\040\050\062\060\064\070\051\060\036\027\015\061"
++"\060\060\067\061\066\061\067\062\063\063\070\132\027\015\061\065"
++"\060\067\061\066\061\067\065\063\063\070\132\060\145\061\013\060"
++"\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003"
++"\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144"
++"\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013"
++"\023\010\064\065\067\066\060\070\055\113\061\046\060\044\006\003"
++"\125\004\003\023\035\104\151\147\151\163\151\147\156\040\123\145"
++"\162\166\145\162\040\111\104\040\055\040\050\105\156\162\151\143"
++"\150\051\060\202\001\042\060\015\006\011\052\206\110\206\367\015"
++"\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202"
++"\001\001\000\305\211\344\364\015\006\100\222\131\307\032\263\065"
++"\321\016\114\052\063\371\370\257\312\236\177\356\271\247\155\140"
++"\364\124\350\157\325\233\363\033\143\061\004\150\162\321\064\026"
++"\214\264\027\054\227\336\163\305\330\220\025\240\032\053\365\313"
++"\263\110\206\104\360\035\210\114\316\101\102\032\357\365\014\336"
++"\376\100\332\071\040\367\006\125\072\152\235\106\301\322\157\245"
++"\262\310\127\076\051\243\234\340\351\205\167\146\350\230\247\044"
++"\176\276\300\131\040\345\104\157\266\127\330\276\316\302\145\167"
++"\130\306\141\101\321\164\004\310\177\111\102\305\162\251\162\026"
++"\356\214\335\022\135\264\112\324\321\257\120\267\330\252\165\166"
++"\150\255\076\135\252\060\155\141\250\253\020\133\076\023\277\063"
++"\340\257\104\235\070\042\133\357\114\057\246\161\046\025\046\312"
++"\050\214\331\372\216\216\251\242\024\065\342\233\044\210\264\364"
++"\177\205\235\203\117\007\241\266\024\220\066\304\064\034\215\046"
++"\141\155\023\157\170\276\350\217\047\307\113\204\226\243\206\150"
++"\014\043\276\013\354\214\224\000\251\004\212\023\220\367\337\205"
++"\154\014\261\002\003\001\000\001\243\202\001\064\060\202\001\060"
++"\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006"
++"\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001"
++"\377\002\001\000\060\047\006\003\125\035\045\004\040\060\036\006"
++"\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005"
++"\007\003\002\006\010\053\006\001\005\005\007\003\004\060\063\006"
++"\010\053\006\001\005\005\007\001\001\004\047\060\045\060\043\006"
++"\010\053\006\001\005\005\007\060\001\206\027\150\164\164\160\072"
++"\057\057\157\143\163\160\056\145\156\164\162\165\163\164\056\156"
++"\145\164\060\104\006\003\125\035\040\004\075\060\073\060\071\006"
++"\005\140\203\112\001\001\060\060\060\056\006\010\053\006\001\005"
++"\005\007\002\001\026\042\150\164\164\160\072\057\057\167\167\167"
++"\056\144\151\147\151\143\145\162\164\056\143\157\155\056\155\171"
++"\057\143\160\163\056\150\164\155\060\062\006\003\125\035\037\004"
++"\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160\072"
++"\057\057\143\162\154\056\145\156\164\162\165\163\164\056\156\145"
++"\164\057\062\060\064\070\143\141\056\143\162\154\060\021\006\003"
++"\125\035\016\004\012\004\010\114\116\314\045\050\003\051\201\060"
++"\037\006\003\125\035\043\004\030\060\026\200\024\125\344\201\321"
++"\021\200\276\330\211\271\010\243\061\371\241\044\011\026\271\160"
++"\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003"
++"\202\001\001\000\227\114\357\112\072\111\254\162\374\060\040\153"
++"\264\051\133\247\305\225\004\220\371\062\325\302\205\152\336\003"
++"\241\067\371\211\000\260\132\254\125\176\333\103\065\377\311\001"
++"\370\121\276\314\046\312\310\152\244\304\124\076\046\036\347\014"
++"\243\315\227\147\224\335\246\102\353\134\315\217\071\171\153\063"
++"\171\041\006\171\372\202\104\025\231\314\301\267\071\323\106\142"
++"\174\262\160\353\157\316\040\252\076\031\267\351\164\202\234\264"
++"\245\113\115\141\000\067\344\207\322\362\024\072\144\174\270\251"
++"\173\141\340\223\042\347\325\237\076\107\346\066\166\240\123\330"
++"\000\003\072\017\265\063\376\226\312\323\322\202\072\056\335\327"
++"\110\341\344\247\151\314\034\351\231\112\347\312\160\105\327\013"
++"\007\016\232\165\033\320\057\222\157\366\244\007\303\275\034\113"
++"\246\204\266\175\250\232\251\322\247\051\361\013\127\151\036\227"
++"\127\046\354\053\103\254\324\105\203\005\000\351\343\360\106\100"
++"\007\372\352\261\121\163\223\034\245\335\123\021\067\310\052\247"
++"\025\047\035\264\252\314\177\252\061\060\374\270\105\237\110\011"
++"\355\020\342\305"
++, (PRUint32)1236 }
++};
++static const NSSItem nss_builtins_items_343 [] = {
++  { (void *)&cko_nss_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++  { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++  { (void *)"Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)", (PRUint32)56 },
++  { (void *)"\153\074\073\200\255\312\246\272\212\237\124\246\172\355\022\151"
++"\005\155\061\046"
++, (PRUint32)20 },
++  { (void *)"\327\151\141\177\065\017\234\106\243\252\353\370\125\374\204\362"
++, (PRUint32)16 },
++  { (void *)"\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156"
++"\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125"
++"\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056"
++"\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143"
++"\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151"
++"\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006"
++"\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105"
++"\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164"
++"\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164"
++"\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151"
++"\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171"
++"\040\050\062\060\064\070\051"
++, (PRUint32)183 },
++  { (void *)"\002\006\007\377\377\377\377\377"
++, (PRUint32)8 },
++  { (void *)&ckt_nss_not_trusted, (PRUint32)sizeof(CK_TRUST) },
++  { (void *)&ckt_nss_not_trusted, (PRUint32)sizeof(CK_TRUST) },
++  { (void *)&ckt_nss_not_trusted, (PRUint32)sizeof(CK_TRUST) },
++  { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
++};
+ builtinsInternalObject
+ nss_builtins_data[] = {
+@@ -22944,11 +23216,15 @@ nss_builtins_data[] = {
+   { 11, nss_builtins_types_336, nss_builtins_items_336, {NULL} },
+   { 13, nss_builtins_types_337, nss_builtins_items_337, {NULL} },
+   { 11, nss_builtins_types_338, nss_builtins_items_338, {NULL} },
+-  { 13, nss_builtins_types_339, nss_builtins_items_339, {NULL} }
++  { 13, nss_builtins_types_339, nss_builtins_items_339, {NULL} },
++  { 11, nss_builtins_types_340, nss_builtins_items_340, {NULL} },
++  { 13, nss_builtins_types_341, nss_builtins_items_341, {NULL} },
++  { 11, nss_builtins_types_342, nss_builtins_items_342, {NULL} },
++  { 13, nss_builtins_types_343, nss_builtins_items_343, {NULL} }
+ };
+ const PRUint32
+ #ifdef DEBUG
+-  nss_builtins_nObjects = 339+1;
++  nss_builtins_nObjects = 343+1;
+ #else
+-  nss_builtins_nObjects = 339;
++  nss_builtins_nObjects = 343;
+ #endif /* DEBUG */
+diff -up ./mozilla/security/nss/lib/ckfw/builtins/certdata.txt.ckbi188 ./mozilla/security/nss/lib/ckfw/builtins/certdata.txt
+--- ./mozilla/security/nss/lib/ckfw/builtins/certdata.txt.ckbi188      2011-11-03 16:29:42.293000000 -0700
++++ ./mozilla/security/nss/lib/ckfw/builtins/certdata.txt      2011-11-03 08:11:58.000000000 -0700
+@@ -34,7 +34,7 @@
+ # the terms of any one of the MPL, the GPL or the LGPL.
+ #
+ # ***** END LICENSE BLOCK *****
+-CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.79 $ $Date: 2011/09/02 19:40:56 $"
++CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $"
+ #
+ # certdata.txt
+@@ -23299,3 +23299,284 @@ CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_N
+ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
++
++#
++# Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
++#
++CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
++CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
++CKA_SUBJECT MULTILINE_OCTAL
++\060\143\061\013\060\011\006\003\125\004\006\023\002\115\131\061
++\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145
++\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017
++\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061
++\044\060\042\006\003\125\004\003\023\033\104\151\147\151\163\151
++\147\156\040\123\145\162\166\145\162\040\111\104\040\050\105\156
++\162\151\143\150\051
++END
++CKA_ID UTF8 "0"
++CKA_ISSUER MULTILINE_OCTAL
++\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061
++\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157
++\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125
++\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165
++\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156
++\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105
++\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142
++\141\154\040\122\157\157\164
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\006\007\377\377\377\377\377
++END
++CKA_VALUE MULTILINE_OCTAL
++\060\202\003\315\060\202\003\066\240\003\002\001\002\002\006\007
++\377\377\377\377\377\060\015\006\011\052\206\110\206\367\015\001
++\001\005\005\000\060\165\061\013\060\011\006\003\125\004\006\023
++\002\125\123\061\030\060\026\006\003\125\004\012\023\017\107\124
++\105\040\103\157\162\160\157\162\141\164\151\157\156\061\047\060
++\045\006\003\125\004\013\023\036\107\124\105\040\103\171\142\145
++\162\124\162\165\163\164\040\123\157\154\165\164\151\157\156\163
++\054\040\111\156\143\056\061\043\060\041\006\003\125\004\003\023
++\032\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040
++\107\154\157\142\141\154\040\122\157\157\164\060\036\027\015\060
++\067\060\067\061\067\061\065\061\067\064\071\132\027\015\061\062
++\060\067\061\067\061\065\061\066\065\065\132\060\143\061\013\060
++\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003
++\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144
++\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013
++\023\010\064\065\067\066\060\070\055\113\061\044\060\042\006\003
++\125\004\003\023\033\104\151\147\151\163\151\147\156\040\123\145
++\162\166\145\162\040\111\104\040\050\105\156\162\151\143\150\051
++\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001\001
++\005\000\003\201\215\000\060\201\211\002\201\201\000\255\250\144
++\113\115\207\307\204\131\271\373\220\106\240\246\211\300\361\376
++\325\332\124\202\067\015\231\053\105\046\012\350\126\260\177\312
++\250\364\216\107\204\001\202\051\343\263\152\265\221\363\373\225
++\205\274\162\250\144\350\012\100\234\305\364\161\256\173\173\152
++\007\352\220\024\117\215\211\257\224\253\262\006\324\002\152\173
++\230\037\131\271\072\315\124\372\040\337\262\052\012\351\270\335
++\151\220\300\051\323\116\320\227\355\146\314\305\031\111\006\177
++\372\136\054\174\173\205\033\062\102\337\173\225\045\002\003\001
++\000\001\243\202\001\170\060\202\001\164\060\022\006\003\125\035
++\023\001\001\377\004\010\060\006\001\001\377\002\001\000\060\134
++\006\003\125\035\040\004\125\060\123\060\110\006\011\053\006\001
++\004\001\261\076\001\000\060\073\060\071\006\010\053\006\001\005
++\005\007\002\001\026\055\150\164\164\160\072\057\057\143\171\142
++\145\162\164\162\165\163\164\056\157\155\156\151\162\157\157\164
++\056\143\157\155\057\162\145\160\157\163\151\164\157\162\171\056
++\143\146\155\060\007\006\005\140\203\112\001\001\060\016\006\003
++\125\035\017\001\001\377\004\004\003\002\001\346\060\201\211\006
++\003\125\035\043\004\201\201\060\177\241\171\244\167\060\165\061
++\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060\026
++\006\003\125\004\012\023\017\107\124\105\040\103\157\162\160\157
++\162\141\164\151\157\156\061\047\060\045\006\003\125\004\013\023
++\036\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040
++\123\157\154\165\164\151\157\156\163\054\040\111\156\143\056\061
++\043\060\041\006\003\125\004\003\023\032\107\124\105\040\103\171
++\142\145\162\124\162\165\163\164\040\107\154\157\142\141\154\040
++\122\157\157\164\202\002\001\245\060\105\006\003\125\035\037\004
++\076\060\074\060\072\240\070\240\066\206\064\150\164\164\160\072
++\057\057\167\167\167\056\160\165\142\154\151\143\055\164\162\165
++\163\164\056\143\157\155\057\143\147\151\055\142\151\156\057\103
++\122\114\057\062\060\061\070\057\143\144\160\056\143\162\154\060
++\035\006\003\125\035\016\004\026\004\024\306\026\223\116\026\027
++\354\026\256\214\224\166\363\206\155\305\164\156\204\167\060\015
++\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201
++\000\166\000\173\246\170\053\146\035\216\136\066\306\244\216\005
++\362\043\222\174\223\147\323\364\300\012\175\213\055\331\352\325
++\157\032\363\341\112\051\132\042\204\115\120\057\113\014\362\377
++\205\302\173\125\324\104\202\276\155\254\147\216\274\264\037\222
++\234\121\200\032\024\366\156\253\141\210\013\255\034\177\367\113
++\120\121\326\145\033\246\107\161\025\136\260\161\363\065\024\362
++\067\275\143\310\325\360\223\132\064\137\330\075\350\135\367\305
++\036\300\345\317\037\206\044\251\074\007\146\315\301\322\066\143
++\131
++END
++
++# Trust for Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
++CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
++CKA_CERT_SHA1_HASH MULTILINE_OCTAL
++\125\120\257\354\277\350\303\255\304\013\343\255\014\247\344\025
++\214\071\131\117
++END
++CKA_CERT_MD5_HASH MULTILINE_OCTAL
++\322\336\256\120\244\230\055\157\067\267\206\122\310\055\113\152
++END
++CKA_ISSUER MULTILINE_OCTAL
++\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061
++\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157
++\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125
++\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165
++\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156
++\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105
++\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142
++\141\154\040\122\157\157\164
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\006\007\377\377\377\377\377
++END
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
++CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
++CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
++
++#
++# Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
++#
++CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
++CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
++CKA_SUBJECT MULTILINE_OCTAL
++\060\145\061\013\060\011\006\003\125\004\006\023\002\115\131\061
++\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145
++\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017
++\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061
++\046\060\044\006\003\125\004\003\023\035\104\151\147\151\163\151
++\147\156\040\123\145\162\166\145\162\040\111\104\040\055\040\050
++\105\156\162\151\143\150\051
++END
++CKA_ID UTF8 "0"
++CKA_ISSUER MULTILINE_OCTAL
++\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156
++\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125
++\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056
++\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143
++\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
++\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
++\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
++\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
++\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164
++\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151
++\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
++\040\050\062\060\064\070\051
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\006\007\377\377\377\377\377
++END
++CKA_VALUE MULTILINE_OCTAL
++\060\202\004\320\060\202\003\270\240\003\002\001\002\002\006\007
++\377\377\377\377\377\060\015\006\011\052\206\110\206\367\015\001
++\001\005\005\000\060\201\264\061\024\060\022\006\003\125\004\012
++\023\013\105\156\164\162\165\163\164\056\156\145\164\061\100\060
++\076\006\003\125\004\013\024\067\167\167\167\056\145\156\164\162
++\165\163\164\056\156\145\164\057\103\120\123\137\062\060\064\070
++\040\151\156\143\157\162\160\056\040\142\171\040\162\145\146\056
++\040\050\154\151\155\151\164\163\040\154\151\141\142\056\051\061
++\045\060\043\006\003\125\004\013\023\034\050\143\051\040\061\071
++\071\071\040\105\156\164\162\165\163\164\056\156\145\164\040\114
++\151\155\151\164\145\144\061\063\060\061\006\003\125\004\003\023
++\052\105\156\164\162\165\163\164\056\156\145\164\040\103\145\162
++\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
++\162\151\164\171\040\050\062\060\064\070\051\060\036\027\015\061
++\060\060\067\061\066\061\067\062\063\063\070\132\027\015\061\065
++\060\067\061\066\061\067\065\063\063\070\132\060\145\061\013\060
++\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003
++\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144
++\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013
++\023\010\064\065\067\066\060\070\055\113\061\046\060\044\006\003
++\125\004\003\023\035\104\151\147\151\163\151\147\156\040\123\145
++\162\166\145\162\040\111\104\040\055\040\050\105\156\162\151\143
++\150\051\060\202\001\042\060\015\006\011\052\206\110\206\367\015
++\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
++\001\001\000\305\211\344\364\015\006\100\222\131\307\032\263\065
++\321\016\114\052\063\371\370\257\312\236\177\356\271\247\155\140
++\364\124\350\157\325\233\363\033\143\061\004\150\162\321\064\026
++\214\264\027\054\227\336\163\305\330\220\025\240\032\053\365\313
++\263\110\206\104\360\035\210\114\316\101\102\032\357\365\014\336
++\376\100\332\071\040\367\006\125\072\152\235\106\301\322\157\245
++\262\310\127\076\051\243\234\340\351\205\167\146\350\230\247\044
++\176\276\300\131\040\345\104\157\266\127\330\276\316\302\145\167
++\130\306\141\101\321\164\004\310\177\111\102\305\162\251\162\026
++\356\214\335\022\135\264\112\324\321\257\120\267\330\252\165\166
++\150\255\076\135\252\060\155\141\250\253\020\133\076\023\277\063
++\340\257\104\235\070\042\133\357\114\057\246\161\046\025\046\312
++\050\214\331\372\216\216\251\242\024\065\342\233\044\210\264\364
++\177\205\235\203\117\007\241\266\024\220\066\304\064\034\215\046
++\141\155\023\157\170\276\350\217\047\307\113\204\226\243\206\150
++\014\043\276\013\354\214\224\000\251\004\212\023\220\367\337\205
++\154\014\261\002\003\001\000\001\243\202\001\064\060\202\001\060
++\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
++\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001
++\377\002\001\000\060\047\006\003\125\035\045\004\040\060\036\006
++\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005
++\007\003\002\006\010\053\006\001\005\005\007\003\004\060\063\006
++\010\053\006\001\005\005\007\001\001\004\047\060\045\060\043\006
++\010\053\006\001\005\005\007\060\001\206\027\150\164\164\160\072
++\057\057\157\143\163\160\056\145\156\164\162\165\163\164\056\156
++\145\164\060\104\006\003\125\035\040\004\075\060\073\060\071\006
++\005\140\203\112\001\001\060\060\060\056\006\010\053\006\001\005
++\005\007\002\001\026\042\150\164\164\160\072\057\057\167\167\167
++\056\144\151\147\151\143\145\162\164\056\143\157\155\056\155\171
++\057\143\160\163\056\150\164\155\060\062\006\003\125\035\037\004
++\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160\072
++\057\057\143\162\154\056\145\156\164\162\165\163\164\056\156\145
++\164\057\062\060\064\070\143\141\056\143\162\154\060\021\006\003
++\125\035\016\004\012\004\010\114\116\314\045\050\003\051\201\060
++\037\006\003\125\035\043\004\030\060\026\200\024\125\344\201\321
++\021\200\276\330\211\271\010\243\061\371\241\044\011\026\271\160
++\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
++\202\001\001\000\227\114\357\112\072\111\254\162\374\060\040\153
++\264\051\133\247\305\225\004\220\371\062\325\302\205\152\336\003
++\241\067\371\211\000\260\132\254\125\176\333\103\065\377\311\001
++\370\121\276\314\046\312\310\152\244\304\124\076\046\036\347\014
++\243\315\227\147\224\335\246\102\353\134\315\217\071\171\153\063
++\171\041\006\171\372\202\104\025\231\314\301\267\071\323\106\142
++\174\262\160\353\157\316\040\252\076\031\267\351\164\202\234\264
++\245\113\115\141\000\067\344\207\322\362\024\072\144\174\270\251
++\173\141\340\223\042\347\325\237\076\107\346\066\166\240\123\330
++\000\003\072\017\265\063\376\226\312\323\322\202\072\056\335\327
++\110\341\344\247\151\314\034\351\231\112\347\312\160\105\327\013
++\007\016\232\165\033\320\057\222\157\366\244\007\303\275\034\113
++\246\204\266\175\250\232\251\322\247\051\361\013\127\151\036\227
++\127\046\354\053\103\254\324\105\203\005\000\351\343\360\106\100
++\007\372\352\261\121\163\223\034\245\335\123\021\067\310\052\247
++\025\047\035\264\252\314\177\252\061\060\374\270\105\237\110\011
++\355\020\342\305
++END
++
++# Trust for Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
++CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
++CKA_CERT_SHA1_HASH MULTILINE_OCTAL
++\153\074\073\200\255\312\246\272\212\237\124\246\172\355\022\151
++\005\155\061\046
++END
++CKA_CERT_MD5_HASH MULTILINE_OCTAL
++\327\151\141\177\065\017\234\106\243\252\353\370\125\374\204\362
++END
++CKA_ISSUER MULTILINE_OCTAL
++\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156
++\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125
++\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056
++\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143
++\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151
++\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006
++\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105
++\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164
++\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164
++\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151
++\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
++\040\050\062\060\064\070\051
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\006\007\377\377\377\377\377
++END
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
++CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
++CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
++
+diff -up ./mozilla/security/nss/lib/ckfw/builtins/nssckbi.h.ckbi188 ./mozilla/security/nss/lib/ckfw/builtins/nssckbi.h
+--- ./mozilla/security/nss/lib/ckfw/builtins/nssckbi.h.ckbi188 2011-11-03 16:30:05.063000000 -0700
++++ ./mozilla/security/nss/lib/ckfw/builtins/nssckbi.h 2011-11-03 08:11:58.000000000 -0700
+@@ -77,8 +77,8 @@
+  * of the comment in the CK_VERSION type definition.
+  */
+ #define NSS_BUILTINS_LIBRARY_VERSION_MAJOR 1
+-#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 87
+-#define NSS_BUILTINS_LIBRARY_VERSION "1.87"
++#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 88
++#define NSS_BUILTINS_LIBRARY_VERSION "1.88"
+ /* These version numbers detail the semantic changes to the ckfw engine. */
+ #define NSS_BUILTINS_HARDWARE_VERSION_MAJOR 1
similarity index 70%
rename from nss/patches/nss-enable-pem.patch
rename to nss/patches/nss-enable-pem.patch0
index a84907c75db7fada74d29ea8295734237c91c965..665a1482979be19a099219728b8d0d2315ba49a4 100644 (file)
@@ -1,6 +1,6 @@
 diff -up ./mozilla/security/nss/lib/ckfw/manifest.mn.prepem ./mozilla/security/nss/lib/ckfw/manifest.mn
---- a/mozilla/security/nss/lib/ckfw/manifest.mn.prepem 2008-08-05 16:34:23.000000000 -0700
-+++ b/mozilla/security/nss/lib/ckfw/manifest.mn        2008-08-05 16:34:30.000000000 -0700
+--- ./mozilla/security/nss/lib/ckfw/manifest.mn.prepem 2008-08-05 16:34:23.000000000 -0700
++++ ./mozilla/security/nss/lib/ckfw/manifest.mn        2008-08-05 16:34:30.000000000 -0700
 @@ -38,7 +38,7 @@ MANIFEST_CVS_ID = "@(#) $RCSfile: manife
  
  CORE_DEPTH = ../../..
diff --git a/nss/patches/nss-fix-gcc47-secmodt.patch0 b/nss/patches/nss-fix-gcc47-secmodt.patch0
new file mode 100644 (file)
index 0000000..361555e
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up ./mozilla/security/nss/lib/softoken/secmodt.h.gcc47 ./mozilla/security/nss/lib/softoken/secmodt.h
+--- ./mozilla/security/nss/lib/softoken/secmodt.h.gcc47        2012-01-30 16:14:41.179494528 -0500
++++ ./mozilla/security/nss/lib/softoken/secmodt.h      2012-01-30 16:14:48.287424482 -0500
+@@ -338,7 +338,7 @@ typedef PRUint32 PK11AttrFlags;
+ #define SECMOD_SLOT_FLAGS "slotFlags=[RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512]"
+ #define SECMOD_MAKE_NSS_FLAGS(fips,slot) \
+-"Flags=internal,critical"fips" slotparams=("#slot"={"SECMOD_SLOT_FLAGS"})"
++"Flags=internal,critical" fips" slotparams=("#slot"={" SECMOD_SLOT_FLAGS"})"
+ #define SECMOD_INT_NAME "NSS Internal PKCS #11 Module"
+ #define SECMOD_INT_FLAGS SECMOD_MAKE_NSS_FLAGS("",1)
diff --git a/nss/patches/nss-ssl-cbc-random-iv-off-by-default.patch0 b/nss/patches/nss-ssl-cbc-random-iv-off-by-default.patch0
new file mode 100644 (file)
index 0000000..28dfa48
--- /dev/null
@@ -0,0 +1,25 @@
+diff -up ./mozilla/security/nss/lib/ssl/sslsock.c.compatible ./mozilla/security/nss/lib/ssl/sslsock.c
+--- ./mozilla/security/nss/lib/ssl/sslsock.c.compatible        2012-01-05 13:54:36.430389994 -0800
++++ ./mozilla/security/nss/lib/ssl/sslsock.c   2012-01-05 13:55:25.810750394 -0800
+@@ -184,7 +184,7 @@ static sslOptions ssl_defaults = {
+     3,          /* enableRenegotiation (default: transitional) */
+     PR_FALSE,   /* requireSafeNegotiation */
+     PR_FALSE,   /* enableFalseStart   */
+-    PR_TRUE     /* cbcRandomIV        */
++    PR_FALSE    /* cbcRandomIV        */ /* defaults to off for compatibility */
+ };
+ sslSessionIDLookupFunc  ssl_sid_lookup;
+@@ -2359,9 +2359,9 @@ ssl_SetDefaultsFromEnvironment(void)
+                       PR_TRUE));
+       }
+       ev = getenv("NSS_SSL_CBC_RANDOM_IV");
+-      if (ev && ev[0] == '0') {
+-          ssl_defaults.cbcRandomIV = PR_FALSE;
+-          SSL_TRACE(("SSL: cbcRandomIV set to 0"));
++      if (ev && ev[0] == '1') {
++          ssl_defaults.cbcRandomIV = PR_TRUE;
++          SSL_TRACE(("SSL: cbcRandomIV set to 1"));
+       }
+     }
+ #endif /* NSS_HAVE_GETENV */
diff --git a/nss/patches/nss-sysinit-userdb-first.patch b/nss/patches/nss-sysinit-userdb-first.patch
deleted file mode 100755 (executable)
index cbfbb9a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -up ./mozilla/security/nss/lib/sysinit/nsssysinit.c.orig ./mozilla/security/nss/lib/sysinit/nsssysinit.c
---- ./mozilla/security/nss/lib/sysinit/nsssysinit.c.orig       2010-06-17 09:17:30.732643399 -0700
-+++ ./mozilla/security/nss/lib/sysinit/nsssysinit.c    2010-06-17 09:20:22.691642397 -0700
-@@ -263,9 +263,18 @@ get_list(char *filename, char *stripped_
-     sysdb = getSystemDB();
-     userdb = getUserDB();
--    /* Don't open root's user DB */
-+    /* return a list of databases to open. First the system database. */
-+    if (sysdb) {
-+          const char *readonly = userCanModifySystemDB() ? "" : "flags=readonly";
-+          module_list[next++] = PR_smprintf(
-+            "library= "
-+            "module=\"NSS system database\" "
-+            "parameters=\"configdir='sql:%s' tokenDescription='NSS system database' %s\" "
-+            "NSS=\"%sflags=internal,critical\"",sysdb, readonly, nssflags);
-+    }
-+
-+    /* Next the user database, but not for root. */
-     if (userdb != NULL && !userIsRoot()) {
--      /* return a list of databases to open. First the user Database */
-       module_list[next++] = PR_smprintf(
-           "library= "
-           "module=\"NSS User database\" "
-@@ -284,40 +293,6 @@ get_list(char *filename, char *stripped_
-               userdb, stripped_parameters);
-       }
--#if 0
--      /* This doesn't actually work. If we register
--              both this and the sysdb (in either order)
--              then only one of them actually shows up */
--
--    /* Using a NULL filename as a Boolean flag to
--     * prevent registering both an application-defined
--     * db and the system db. rhbz #546211.
--     */
--    PORT_Assert(filename);
--    if (sysdb && PL_CompareStrings(filename, sysdb))
--          filename = NULL;
--    else if (userdb && PL_CompareStrings(filename, userdb))
--          filename = NULL;
--
--    if (filename && !userIsRoot()) {
--          module_list[next++] = PR_smprintf(
--            "library= "
--            "module=\"NSS database\" "
--            "parameters=\"configdir='sql:%s' tokenDescription='NSS database sql:%s'\" "
--            "NSS=\"%sflags=internal\"",filename, filename, nssflags);
--    }
--#endif
--
--    /* now the system database (always read only unless it's root) */
--    if (sysdb) {
--          const char *readonly = userCanModifySystemDB() ? "" : "flags=readonly";
--          module_list[next++] = PR_smprintf(
--            "library= "
--            "module=\"NSS system database\" "
--            "parameters=\"configdir='sql:%s' tokenDescription='NSS system database' %s\" "
--            "NSS=\"%sflags=internal,critical\"",sysdb, readonly, nssflags);
--    }
--
-     /* that was the last module */
-     module_list[next] = 0;
diff --git a/nss/patches/nsspem-596674.patch b/nss/patches/nsspem-596674.patch
deleted file mode 100644 (file)
index cfa44e6..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-diff -up a/mozilla/security/nss/lib/ckfw/pem/pinst.c.596783 b/mozilla/security/nss/lib/ckfw/pem/pinst.c
---- a/mozilla/security/nss/lib/ckfw/pem/pinst.c.596783 2010-06-06 18:27:27.256318318 -0700
-+++ b/mozilla/security/nss/lib/ckfw/pem/pinst.c        2010-06-06 20:45:28.158442982 -0700
-@@ -151,7 +151,7 @@ GetCertFields(unsigned char *cert, int c
-     buf = issuer->data + issuer->len;
-     /* only wanted issuer/SN */
--    if (valid == NULL) {
-+    if (subject == NULL || valid == NULL || subjkey == NULL) {
-         return SECSuccess;
-     }
-     /* validity */
-@@ -219,53 +219,93 @@ CreateObject(CK_OBJECT_CLASS objClass,
-         memset(&o->u.trust, 0, sizeof(o->u.trust));
-         break;
-     }
-+
-+    o->nickname = (char *) nss_ZAlloc(NULL, strlen(nickname) + 1);
-+    if (o->nickname == NULL)
-+        goto fail;
-+    strcpy(o->nickname, nickname);
-+
-+    sprintf(id, "%d", objid);
-+    len = strlen(id) + 1;       /* zero terminate */
-+    o->id.data = (void *) nss_ZAlloc(NULL, len);
-+    if (o->id.data == NULL)
-+        goto fail;
-+    (void) nsslibc_memcpy(o->id.data, id, len);
-+    o->id.size = len;
-+
-     o->objClass = objClass;
-     o->type = type;
-     o->slotID = slotID;
-+
-     o->derCert = nss_ZNEW(NULL, SECItem);
-+    if (o->derCert == NULL)
-+        goto fail;
-     o->derCert->data = (void *) nss_ZAlloc(NULL, certDER->len);
-+    if (o->derCert->data == NULL)
-+        goto fail;
-     o->derCert->len = certDER->len;
-     nsslibc_memcpy(o->derCert->data, certDER->data, certDER->len);
-     switch (objClass) {
-     case CKO_CERTIFICATE:
-     case CKO_NETSCAPE_TRUST:
--        GetCertFields(o->derCert->data,
--                      o->derCert->len, &issuer, &serial,
--                      &derSN, &subject, &valid, &subjkey);
-+        if (SECSuccess != GetCertFields(o->derCert->data, o->derCert->len,
-+                                        &issuer, &serial, &derSN, &subject,
-+                                        &valid, &subjkey))
-+            goto fail;
-         o->u.cert.subject.data = (void *) nss_ZAlloc(NULL, subject.len);
-+        if (o->u.cert.subject.data == NULL)
-+            goto fail;
-         o->u.cert.subject.size = subject.len;
-         nsslibc_memcpy(o->u.cert.subject.data, subject.data, subject.len);
-         o->u.cert.issuer.data = (void *) nss_ZAlloc(NULL, issuer.len);
-+        if (o->u.cert.issuer.data == NULL) {
-+            nss_ZFreeIf(o->u.cert.subject.data);
-+            goto fail;
-+        }
-         o->u.cert.issuer.size = issuer.len;
-         nsslibc_memcpy(o->u.cert.issuer.data, issuer.data, issuer.len);
-         o->u.cert.serial.data = (void *) nss_ZAlloc(NULL, serial.len);
-+        if (o->u.cert.serial.data == NULL) {
-+            nss_ZFreeIf(o->u.cert.issuer.data);
-+            nss_ZFreeIf(o->u.cert.subject.data);
-+            goto fail;
-+        }
-         o->u.cert.serial.size = serial.len;
-         nsslibc_memcpy(o->u.cert.serial.data, serial.data, serial.len);
-         break;
-     case CKO_PRIVATE_KEY:
-         o->u.key.key.privateKey = nss_ZNEW(NULL, SECItem);
-+        if (o->u.key.key.privateKey == NULL)
-+            goto fail;
-         o->u.key.key.privateKey->data =
-             (void *) nss_ZAlloc(NULL, keyDER->len);
-+        if (o->u.key.key.privateKey->data == NULL) {
-+            nss_ZFreeIf(o->u.key.key.privateKey);
-+            goto fail;
-+        }
-         o->u.key.key.privateKey->len = keyDER->len;
-         nsslibc_memcpy(o->u.key.key.privateKey->data, keyDER->data,
-                        keyDER->len);
-     }
--    o->nickname = (char *) nss_ZAlloc(NULL, strlen(nickname) + 1);
--    strcpy(o->nickname, nickname);
--
--    sprintf(id, "%d", objid);
--
--    len = strlen(id) + 1;       /* zero terminate */
--    o->id.data = (void *) nss_ZAlloc(NULL, len);
--    (void) nsslibc_memcpy(o->id.data, id, len);
--    o->id.size = len;
-     return o;
-+
-+fail:
-+    if (o) {
-+        if (o->derCert) {
-+            nss_ZFreeIf(o->derCert->data);
-+            nss_ZFreeIf(o->derCert);
-+        }
-+        nss_ZFreeIf(o->id.data);
-+        nss_ZFreeIf(o->nickname);
-+        nss_ZFreeIf(o);
-+    }
-+    return NULL;
- }
- pemInternalObject *
-@@ -306,6 +346,8 @@ AddObjectIfNeeded(CK_OBJECT_CLASS objCla
-     /* object not found, we need to create it */
-     pemInternalObject *io = CreateObject(objClass, type, certDER, keyDER,
-                                          filename, objid, slotID);
-+    if (io == NULL)
-+        return NULL;
-     io->gobjIndex = count;
diff --git a/nss/patches/nsspem-bz754771.patch0 b/nss/patches/nsspem-bz754771.patch0
new file mode 100644 (file)
index 0000000..1e64a42
--- /dev/null
@@ -0,0 +1,13 @@
+diff -up ./mozilla/security/nss/lib/ckfw/pem/pinst.c.754771 ./mozilla/security/nss/lib/ckfw/pem/pinst.c
+--- ./mozilla/security/nss/lib/ckfw/pem/pinst.c.754771 2011-12-12 09:38:51.839104295 -0800
++++ ./mozilla/security/nss/lib/ckfw/pem/pinst.c        2011-12-12 09:44:40.437096761 -0800
+@@ -350,6 +350,9 @@ AddObjectIfNeeded(CK_OBJECT_CLASS objCla
+     if (io == NULL)
+         return NULL;
++    /* initialize pointers to functions */
++    pem_CreateMDObject(NULL, io, NULL);
++
+     io->gobjIndex = count;
+     /* add object to global array */
diff --git a/nss/patches/nsspem-createobject-initialize-pointer.patch0 b/nss/patches/nsspem-createobject-initialize-pointer.patch0
new file mode 100644 (file)
index 0000000..cdfdea3
--- /dev/null
@@ -0,0 +1,11 @@
+diff -up ./mozilla/security/nss/lib/ckfw/pem/pobject.c.717338 ./mozilla/security/nss/lib/ckfw/pem/pobject.c
+--- ./mozilla/security/nss/lib/ckfw/pem/pobject.c.717338       2010-11-25 10:49:27.000000000 -0800
++++ ./mozilla/security/nss/lib/ckfw/pem/pobject.c      2011-09-10 10:16:58.752726964 -0700
+@@ -1179,6 +1179,7 @@ pem_CreateObject
+             return (NSSCKMDObject *) NULL;
+         certDER.len = 0; /* in case there is no equivalent cert */
++        certDER.data = NULL;
+         objid = -1;
+         for (i = 0; i < pem_nobjs; i++) {
diff --git a/nss/patches/nsspem-init-inform-not-thread-safe.patch0 b/nss/patches/nsspem-init-inform-not-thread-safe.patch0
new file mode 100644 (file)
index 0000000..2df4fbe
--- /dev/null
@@ -0,0 +1,129 @@
+--- mozilla/security/nss/lib/ckfw/pem/pinst.c.736410   2010-11-25 11:51:52.000000000 -0800
++++ mozilla/security/nss/lib/ckfw/pem/pinst.c  2011-09-13 16:59:49.325215540 -0700
+@@ -364,39 +364,37 @@ AddObjectIfNeeded(CK_OBJECT_CLASS objCla
+         size += PEM_ITEM_CHUNK;
+     }
+     gobj[count] = io;
+     count++;
+     pem_nobjs++;
+     io->refCount ++;
+     return io;
+ }
+ CK_RV
+ AddCertificate(char *certfile, char *keyfile, PRBool cacert,
+                CK_SLOT_ID slotID)
+ {
+     pemInternalObject *o;
+-    SECItem certDER;
+     CK_RV error = 0;
+     int objid, i;
+     int nobjs = 0;
+     SECItem **objs = NULL;
+     char *ivstring = NULL;
+     int cipher;
+-    certDER.data = NULL;
+     nobjs = ReadDERFromFile(&objs, certfile, PR_TRUE, &cipher, &ivstring, PR_TRUE /* certs only */);
+     if (nobjs <= 0) {
+         nss_ZFreeIf(objs);
+         return CKR_GENERAL_ERROR;
+     }
+     /* For now load as many certs as are in the file for CAs only */
+     if (cacert) {
+         for (i = 0; i < nobjs; i++) {
+             char nickname[1024];
+             objid = pem_nobjs + 1;
+             snprintf(nickname, 1024, "%s - %d", certfile, i);
+             o = AddObjectIfNeeded(CKO_CERTIFICATE, pemCert, objs[i], NULL,
+@@ -456,72 +454,76 @@ AddCertificate(char *certfile, char *key
+   loser:
+     nss_ZFreeIf(objs);
+     nss_ZFreeIf(o);
+     return error;
+ }
+ CK_RV
+ pem_Initialize
+ (
+     NSSCKMDInstance * mdInstance,
+     NSSCKFWInstance * fwInstance,
+     NSSUTF8 * configurationData
+ )
+ {
+     CK_RV rv;
+-    /* parse the initialization string and initialize CRLInstances */
++    /* parse the initialization string */
+     char **certstrings = NULL;
++    char *modparms = NULL;
+     PRInt32 numcerts = 0;
+     PRBool status, error = PR_FALSE;
+     int i;
++    CK_C_INITIALIZE_ARGS_PTR modArgs = NULL;
++
++    if (!fwInstance) return CKR_ARGUMENTS_BAD;
++
++    modArgs = NSSCKFWInstance_GetInitArgs(fwInstance);
++    if (modArgs &&
++       ((modArgs->flags & CKF_OS_LOCKING_OK) || (modArgs->CreateMutex != 0))) {
++        return CKR_CANT_LOCK;
++    }
+     if (pemInitialized) {
+         return CKR_OK;
+     }
++
+     RNG_RNGInit();
+     open_log();
+     plog("pem_Initialize\n");
+-    unsigned char *modparms = NULL;
+-    if (!fwInstance) {
+-        return CKR_ARGUMENTS_BAD;
+-    }
+-
+-    CK_C_INITIALIZE_ARGS_PTR modArgs =
+-        NSSCKFWInstance_GetInitArgs(fwInstance);
+     if (!modArgs || !modArgs->LibraryParameters) {
+         goto done;
+     }
+-    modparms = (unsigned char *) modArgs->LibraryParameters;
++    modparms = (char *) modArgs->LibraryParameters;
+     plog("Initialized with %s\n", modparms);
+     /*
+      * The initialization string format is a space-delimited file of
+      * pairs of paths which are delimited by a semi-colon. The first
+      * entry of the pair is the path to the certificate file. The
+      * second is the path to the key file.
+      *
+      * CA certificates do not need the semi-colon.
+      *
+      * Example:
+      *  /etc/certs/server.pem;/etc/certs/server.key /etc/certs/ca.pem
+      *
+      */
+     status =
+-        pem_ParseString((const char *) modparms, ' ', &numcerts,
++        pem_ParseString(modparms, ' ', &numcerts,
+                         &certstrings);
+     if (status == PR_FALSE) {
+         return CKR_ARGUMENTS_BAD;
+     }
+     for (i = 0; i < numcerts && error != PR_TRUE; i++) {
+         char *cert = certstrings[i];
+         PRInt32 attrcount = 0;
+         char **certattrs = NULL;
+         status = pem_ParseString(cert, ';', &attrcount, &certattrs);
+         if (status == PR_FALSE) {
+             error = PR_TRUE;
+             break;
+         }
diff --git a/nss/patches/renegotiate-transitional.patch b/nss/patches/renegotiate-transitional.patch
deleted file mode 100644 (file)
index 0cd6556..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up ./mozilla/security/nss/lib/ssl/sslsock.c.transitional ./mozilla/security/nss/lib/ssl/sslsock.c
---- a/mozilla/security/nss/lib/ssl/sslsock.c.transitional      2010-09-04 09:46:50.331327676 -0700
-+++ b/mozilla/security/nss/lib/ssl/sslsock.c   2010-09-04 09:50:02.814325605 -0700
-@@ -181,7 +181,7 @@ static sslOptions ssl_defaults = {
-     PR_FALSE,   /* noLocks            */
-     PR_FALSE,   /* enableSessionTickets */
-     PR_FALSE,   /* enableDeflate      */
--    2,          /* enableRenegotiation (default: requires extension) */
-+    3,          /* enableRenegotiation (default: transitional) */
-     PR_FALSE,   /* requireSafeNegotiation */
-     PR_FALSE,   /* enableFalseStart   */
- };
diff --git a/nss/patches/renegotiate-transitional.patch0 b/nss/patches/renegotiate-transitional.patch0
new file mode 100644 (file)
index 0000000..989491d
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up mozilla/security/nss/lib/ssl/sslsock.c.transitional mozilla/security/nss/lib/ssl/sslsock.c
+--- mozilla/security/nss/lib/ssl/sslsock.c.transitional        2011-10-06 10:37:47.156659000 -0700
++++ mozilla/security/nss/lib/ssl/sslsock.c     2011-10-06 10:38:32.276704000 -0700
+@@ -182,7 +182,7 @@ static sslOptions ssl_defaults = {
+     PR_FALSE,   /* noLocks            */
+     PR_FALSE,   /* enableSessionTickets */
+     PR_FALSE,   /* enableDeflate      */
+-    2,          /* enableRenegotiation (default: requires extension) */
++    3,          /* enableRenegotiation (default: transitional) */
+     PR_FALSE,   /* requireSafeNegotiation */
+     PR_FALSE,   /* enableFalseStart   */
+     PR_TRUE     /* cbcRandomIV        */
index fa87ed0e114e6e20e25c67a3ee007145550bc9fe..0c7669b1d6d1e312703b0945f0ffd2333607d102 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = nss_ldap
 version    = 265
-release    = 3
+release    = 4
 
 groups     = System/Base
 url        = http://www.padl.com/
@@ -47,7 +47,6 @@ build
 
        configure_options += \
                --sysconfdir=/etc \
-               --libdir=/%{lib} \
                --with-ldap-lib=openldap \
                --enable-rfc2307bis \
                --with-ldap-conf-file=/etc/nss_ldap.conf \
@@ -75,8 +74,6 @@ build
                # Remove awkward directory
                rm -rvf %{BUILDROOT}/usr/usr
 
-               mv -v %{BUILDROOT}/%{lib}/* %{BUILDROOT}%{libdir}
-               rm -rvf %{BUILDROOT}/%{lib}
                ln -svf libnss_ldap-%{version}.so %{BUILDROOT}%{libdir}/libnss_ldap.so
                ln -svf libnss_ldap.so.2 %{BUILDROOT}%{libdir}/libnss_ldap.so
 
@@ -91,7 +88,12 @@ end
 packages
        package %{name}
                requires
-                       /%{lib}/security/pam_ldap.so
+                       %{libdir}/security/pam_ldap.so
+               end
+
+               configfiles
+                       %{sysconfdir}/nss_ldap.conf
+                       %{sysconfdir}/nss_ldap.secret
                end
        end
 
index cc483b24f0a5dcabe05244821a8ca8f8733428b6..644452eeb0d8d8cdcd3f5fa94ea19a12bc419f8d 100644 (file)
@@ -5,7 +5,8 @@
 
 name       = open-vm-tools
 version    = 2011.09.23-491607
-release    = 1
+release    = 2
+sup_arches = x86_64 i686
 
 groups     = Virtualization/Applications
 url        = http://open-vm-tools.sourceforge.net/
@@ -48,7 +49,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 24003493244b17e256a56c737bca9818d9e5025e..354edb2f476ca539039093722eeb9f046daa6cf5 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = openl2tp
 version    = 1.7
-release    = 1
+release    = 2
 
 groups     = Networking/PPP
 url        = http://www.openl2tp.org/
@@ -36,10 +36,13 @@ build
 
        prepare_cmds
                sed -e "s/-lfl/&_pic/g" -i Makefile
+
+               # Remove -Werror from all makefiles.
+               find . -name Makefile | xargs sed -i -e "s/-Werror//g"
        end
 
        build
-               make OPT_CFLAGS="%{CFLAGS}" \
+               make OPT_CFLAGS="%{CFLAGS}" ARCH="%{DISTRO_ARCH}" \
                        KERNEL_SRCDIR="/usr" PPPD_VERSION="2.4.5"
        end
 
@@ -49,7 +52,7 @@ build
 #endef
 
        install
-               make install DESTDIR=%{BUILDROOT} \
+               make install DESTDIR=%{BUILDROOT} ARCH="%{DISTRO_ARCH}" \
                        KERNEL_SRCDIR="/usr" PPPD_VERSION="2.4.5"
        end
 end
index c6bfb7ee2ec901da58859bf99130d6280d872e1b..fef3ca5500d9449c74f5e0356cd43b7f7e8a32cb 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = openldap
-version    = 2.4.28
-release    = 2
+version    = 2.4.30
+release    = 1
 
 groups     = System/Daemons
 url        = http://www.openldap.org/
index 199ed101c3d9e9daae7dc9efdc04c9c2f394838f..d04d2b24d55df185e7b8210791cfcfdd8d6abd00 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = openssh
 version    = 5.9p1
-release    = 2
+release    = 4
 
 groups     = Application/Internet
 url        = http://www.openssh.com/portable.html
@@ -26,10 +26,14 @@ build
                audit-devel
                autoconf
                automake
+               groff
+               libedit-devel
                libselinux-devel
-               nss-devel
-               openssl-devel>=1.0.0d-2
+               ncurses-devel
+               openldap-devel
+               openssl-devel >= 1.0.0d-2
                pam-devel
+               util-linux
                zlib-devel
        end
 
@@ -67,17 +71,25 @@ build
        end
 
        configure_options += \
-               --sysconfdir=/etc/ssh \
-               --datadir=/usr/share/sshd \
-               --libexecdir=/usr/lib/openssh \
-               --with-md5-passwords \
-               --with-privsep-path=/var/lib/sshd \
+               --sysconfdir=%{sysconfdir}/ssh \
+               --datadir=%{datadir}/sshd \
+               --libexecdir=%{libdir}/openssh \
+               --with-default-path=/usr/local/bin:/bin:/usr/bin \
+               --with-superuser-path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin \
+               --with-privsep-path=/var/empty/sshd \
+               --enable-vendor-patchlevel="%{DISTRO_NAME} %{thisver}" \
+               --disable-strip \
+               --with-ssl-engine \
+               --with-authorized-keys-command \
+               --with-ipaddr-display \
+               --with-ldap \
                --with-pam \
+               --with-libedit \
                --with-selinux \
                --with-audit=linux
 
        prepare_cmds
-               autoreconf
+               autoreconf -vfi
        end
 
        install_cmds
@@ -85,15 +97,32 @@ build
                sed -e "s/^.*GSSAPIAuthentication/#&/" -i %{BUILDROOT}/etc/ssh/ssh_config
 
                # Install scriptfile for key generation
-               install -m 754 %{DIR_SOURCE}/ssh-keygen %{BUILDROOT}/usr/lib/openssh/
+               mkdir -pv %{BUILDROOT}%{sbindir}
+               install -m 754 %{DIR_SOURCE}/sshd-keygen %{BUILDROOT}%{sbindir}
+
+               # Install ssh-copy-id.
+               install -m755 contrib/ssh-copy-id %{BUILDROOT}%{bindir}
+               install contrib/ssh-copy-id.1 %{BUILDROOT}%{mandir}/man1/
        end
 end
 
 packages
        package openssh
+               prerequires
+                       shadow-utils
+               end
+
                requires
-                       openssh-clients=%{thisver}
-                       openssh-server=%{thisver}
+                       openssh-clients = %{thisver}
+                       openssh-server = %{thisver}
+               end
+
+               configfiles
+                       %{sysconfdir}/ssh/moduli
+               end
+
+               script prein
+                       getent group sshd_keys >/dev/null || groupadd -r ssh_keys || :
                end
        end
 
@@ -101,29 +130,33 @@ packages
                summary = OpenSSH client applications.
                description = %{summary}
 
+               requires = openssh = %{thisver}
+
                files
-                       /etc/ssh/ssh_config
-                       /usr/bin/scp
-                       /usr/bin/sftp
-                       /usr/bin/slogin
-                       /usr/bin/ssh
-                       /usr/bin/ssh-add
-                       /usr/bin/ssh-agent
-                       /usr/bin/ssh-keyscan
-                       /usr/lib/openssh/ssh-pkcs11-helper
-                       /usr/share/man/cat1/scp.1
-                       /usr/share/man/cat1/sftp.1
-                       /usr/share/man/cat1/slogin.1
-                       /usr/share/man/cat1/ssh-add.1
-                       /usr/share/man/cat1/ssh-agent.1
-                       /usr/share/man/cat1/ssh-keyscan.1
-                       /usr/share/man/cat1/ssh.1
-                       /usr/share/man/cat5/ssh_config.5
-                       /usr/share/man/cat8/ssh-pkcs11-helper.8
+                       %{sysconfdir}/ssh/ssh_config
+                       %{bindir}/scp
+                       %{bindir}/sftp
+                       %{bindir}/slogin
+                       %{bindir}/ssh
+                       %{bindir}/ssh-add
+                       %{bindir}/ssh-agent
+                       %{bindir}/ssh-copy-id
+                       %{bindir}/ssh-keyscan
+                       %{libdir}/openssh/ssh-pkcs11-helper
+                       %{mandir}/man1/scp.1*
+                       %{mandir}/man1/sftp.1*
+                       %{mandir}/man1/slogin.1*
+                       %{mandir}/man1/ssh-add.1*
+                       %{mandir}/man1/ssh-agent.1*
+                       %{mandir}/man1/ssh-copy-id.1*
+                       %{mandir}/man1/ssh-keyscan.1*
+                       %{mandir}/man1/ssh.1*
+                       %{mandir}/man5/ssh_config.5*
+                       %{mandir}/man8/ssh-pkcs11-helper.8*
                end
 
                configfiles
-                       /etc/ssh/ssh_config
+                       %{sysconfdir}/ssh/ssh_config
                end
        end
 
@@ -131,35 +164,37 @@ packages
                summary = OpenSSH server applications.
                description = %{summary}
 
-               # /usr/bin/ssh-keygen is needed to generate keys for the ssh server.
-               requires = /usr/bin/ssh-keygen
+               requires = openssh = %{thisver}
 
                files
-                       /etc/pam.d/sshd
-                       /etc/ssh/moduli
-                       /etc/ssh/sshd_config
-                       /lib/systemd/system/openssh.service
-                       /usr/lib/openssh/sftp-server
-                       /usr/lib/openssh/ssh-keygen
-                       /usr/sbin/sshd
-                       /usr/share/man/cat5/sshd_config.5*
-                       /usr/share/man/cat5/moduli.5*
-                       /usr/share/man/cat8/sshd.8*
-                       /usr/share/man/cat8/sftp-server.8*
-                       /var/lib/sshd
+                       %{sysconfdir}/pam.d/sshd
+                       %{sysconfdir}/ssh/sshd_config
+                       /lib/systemd
+                       %{libdir}/openssh/sftp-server
+                       %{sbindir}/sshd-keygen
+                       %{sbindir}/sshd
+                       %{mandir}/man5/sshd_config.5*
+                       %{mandir}/man5/moduli.5*
+                       %{mandir}/man8/sshd.8*
+                       %{mandir}/man8/sftp-server.8*
+                       /var/empty/sshd
                end
 
                configfiles
-                       /etc/ssh/sshd_config
+                       %{sysconfdir}/ssh/sshd_config
                end
 
-               prerequires = shadow-utils systemd-units
+               prerequires
+                       shadow-utils
+                       systemd-units
+               end
 
                script prein
                        # Create unprivileged user and group.
-                       getent group sshd || groupadd -r sshd
-                       getent passwd sshd || useradd -r -g sshd \
-                               -d /var/lib/sshd -s /sbin/nologin sshd
+                       getent group sshd >/dev/null || groupadd -r sshd
+                       getent passwd sshd >/dev/null || useradd -r -g sshd \
+                               -c "Privilege-separated SSH" \
+                               -d /var/empty/sshd -s /sbin/nologin sshd
                end
 
                script postin
@@ -167,8 +202,10 @@ packages
                end
 
                script preun
-                       /bin/systemctl --no-reload disable openssh.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop openssh.service >/dev/null 2>&1 || :
+                       /bin/systemctl --no-reload disable sshd.service >/dev/null 2>&1 || :
+                       /bin/systemctl --no-reload disable sshd-keygen.service >/dev/null 2>&1 || :
+                       /bin/systemctl stop sshd.service >/dev/null 2>&1 || :
+                       /bin/systemctl stop sshd-keygen.service >/dev/null 2>&1 || :
                end
 
                script postun
@@ -177,6 +214,9 @@ packages
 
                script postup
                        /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+
+                       /bin/systemctl try-restart sshd.service >/dev/null 2>&1 || :
+                       /bin/systemctl try-restart sshd-keygen.service >/dev/null 2>&1 || :
                end
        end
 
diff --git a/openssh/ssh-keygen b/openssh/ssh-keygen
deleted file mode 100644 (file)
index 46e64d6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#! /bin/sh
-
-# Generates keyfiles for defined algorithm
-for algo in dsa rsa ecdsa; do
-       [ -e "/etc/ssh/ssh_host_${algo}_key" ] && continue
-       /usr/bin/ssh-keygen -q -t ${algo} -N "" -f /etc/ssh/ssh_host_${algo}_key
-done
-
diff --git a/openssh/sshd-keygen b/openssh/sshd-keygen
new file mode 100644 (file)
index 0000000..619e839
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+# Create the host keys for the OpenSSH server.
+#
+
+# Some functions to make the below more readable
+KEYGEN=/usr/bin/ssh-keygen
+RSA1_KEY=/etc/ssh/ssh_host_key
+RSA_KEY=/etc/ssh/ssh_host_rsa_key
+DSA_KEY=/etc/ssh/ssh_host_dsa_key
+
+do_rsa1_keygen() {
+       if [ ! -s $RSA1_KEY ]; then
+               rm -f $RSA1_KEY
+               if test ! -f $RSA1_KEY && $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
+                       chgrp ssh_keys $RSA1_KEY
+                       chmod 600 $RSA1_KEY
+                       chmod 644 $RSA1_KEY.pub
+                       if [ -x /sbin/restorecon ]; then
+                           /sbin/restorecon $RSA1_KEY.pub
+                       fi
+               else
+                       exit 1
+               fi
+       fi
+}
+
+do_rsa_keygen() {
+       if [ ! -s $RSA_KEY ]; then
+               rm -f $RSA_KEY
+               if test ! -f $RSA_KEY && $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
+                       chgrp ssh_keys $RSA_KEY
+                       chmod 600 $RSA_KEY
+                       chmod 644 $RSA_KEY.pub
+                       if [ -x /sbin/restorecon ]; then
+                           /sbin/restorecon $RSA_KEY.pub
+                       fi
+               else
+                       exit 1
+               fi
+       fi
+}
+
+do_dsa_keygen() {
+       if [ ! -s $DSA_KEY ]; then
+               rm -f $DSA_KEY
+               if test ! -f $DSA_KEY && $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
+                       chgrp ssh_keys $DSA_KEY
+                       chmod 600 $DSA_KEY
+                       chmod 644 $DSA_KEY.pub
+                       if [ -x /sbin/restorecon ]; then
+                           /sbin/restorecon $DSA_KEY.pub
+                       fi
+               else
+                       exit 1
+               fi
+       fi
+}
+
+# Create keys
+do_rsa_keygen
+do_rsa1_keygen
+do_dsa_keygen
index ba632dda5a92ae2f991cd4c87e0ede5bc4bbb1d2..a80e4506162b555771cd790b3537b4ee9547fdc1 100644 (file)
@@ -1,9 +1,15 @@
 #%PAM-1.0
-auth       include      system-auth
-
+auth      required     pam_sepermit.so
+auth       substack     password-auth
+auth       include      postlogin
 account    required     pam_nologin.so
-account    include      system-auth
-
-password   include      system-auth
-
-session    include      system-auth
+account    include      password-auth
+password   include      password-auth
+# pam_selinux.so close should be the first session rule
+session    required     pam_selinux.so close
+session    required     pam_loginuid.so
+# pam_selinux.so open should only be followed by sessions to be executed in the user context
+session    required     pam_selinux.so open env_params
+session    optional     pam_keyinit.so force revoke
+session    include      password-auth
+session    include      postlogin
diff --git a/openssh/systemd/openssh.service b/openssh/systemd/openssh.service
deleted file mode 100644 (file)
index 7fdd641..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=OpenSSH Server
-After=network.target
-
-[Service]
-ExecStartPre=/usr/lib/openssh/ssh-keygen
-ExecStart=/usr/sbin/sshd -D
-ExecReload=/bin/kill -HUP $MAINPID
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/openssh/systemd/sshd-keygen.service b/openssh/systemd/sshd-keygen.service
new file mode 100644 (file)
index 0000000..bfef328
--- /dev/null
@@ -0,0 +1,12 @@
+[Unit]
+Description=SSH server keys generation.
+After=syslog.target
+Before=sshd.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/sshd-keygen
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/openssh/systemd/sshd.service b/openssh/systemd/sshd.service
new file mode 100644 (file)
index 0000000..6b90aa1
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Description=OpenSSH server daemon
+After=syslog.target network.target auditd.service
+
+[Service]
+ExecStart=/usr/sbin/sshd -D $OPTIONS
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/openssh/systemd/sshd.socket b/openssh/systemd/sshd.socket
new file mode 100644 (file)
index 0000000..94b9533
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Description=OpenSSH Server Socket
+Conflicts=sshd.service
+
+[Socket]
+ListenStream=22
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/openssh/systemd/sshd@.service b/openssh/systemd/sshd@.service
new file mode 100644 (file)
index 0000000..09f995e
--- /dev/null
@@ -0,0 +1,8 @@
+[Unit]
+Description=OpenSSH per-connection server daemon
+After=syslog.target auditd.service
+
+[Service]
+EnvironmentFile=/etc/sysconfig/sshd
+ExecStart=-/usr/sbin/sshd -i $OPTIONS
+StandardInput=socket
index f221603bfe064b0381994007a2c6bf8032248189..60a5e6699aa89bff5cf9500970ed3fb28a221f49 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = openssl
-version    = 1.0.0g
-release    = 1
+version    = 1.0.1
+release    = 2
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Libraries
@@ -30,11 +30,14 @@ build
                zlib-devel
        end
 
+       CFLAGS += -DPURIFY
+       export RPM_OPT_FLAGS = %{CFLAGS}
+
        prepare_cmds
                find crypto/ -name Makefile -exec \
                        sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \;
 
-               # Modify the various perl scripts to reference perl in the right location.
+               # Modify the various perl scripts to reference perl in the right location.
                perl util/perlpath.pl /usr/bin
 
                # Generate a table with the compile settings for my perusal.
@@ -54,6 +57,10 @@ build
                ssl_arch = linux-generic32
        end
 
+       if "%{DISTRO_ARCH}" == "armv7hl"
+               ssl_arch = linux-generic32
+       end
+
        build
                ./Configure \
                        --prefix=/usr \
@@ -70,8 +77,10 @@ build
                        no-mdc2 \
                        no-rc5 \
                        no-ec no-ecdh no-ecdsa \
+                       no-srp \
                        -DSSL_FORBID_ENULL \
-                        %{ssl_arch}
+                        %{ssl_arch} \
+                       fips
 
                # Build.
                make depend all build-shared RPM_OPT_FLAGS="%{CFLAGS}" #%{PARALLELISMFLAGS}
@@ -81,17 +90,15 @@ build
        end
 
        test
+               # Revert ca-dir patch. Otherwise the tests will fail.
+               patch -Np1 -R < %{DIR_PATCHES}/openssl-1.0.0-beta4-ca-dir.patch
+
                make test
        end
 
        install
                make install build-shared INSTALL_PREFIX=%{BUILDROOT}
 
-               mkdir -pv %{BUILDROOT}/%{lib}
-               mv -vf %{BUILDROOT}%{libdir}/lib{crypto,ssl}.so.* %{BUILDROOT}/%{lib}
-               ln -svf ../../%{lib}/libcrypto.so.10 %{BUILDROOT}%{libdir}/libcrypto.so
-               ln -svf ../../%{lib}/libssl.so.10 %{BUILDROOT}%{libdir}/libssl.so
-
                # Install manpages do right place
                mkdir -pv %{BUILDROOT}/usr/share
                mv -v %{BUILDROOT}/etc/pki/tls/man %{BUILDROOT}/usr/share/
@@ -107,7 +114,7 @@ build
                cp -v -r certs %{BUILDROOT}/etc/pki/tls
 
                # Rename man pages so that they don't conflict with other system man pages.
-               pushd ${BUILDROOT}/usr/share/man
+               pushd %{BUILDROOT}%{mandir}
                for manpage in man*/*; do
                        if [ -L ${manpage} ]; then
                                TARGET=`ls -l ${manpage} | awk '{ print $NF }'`
@@ -117,9 +124,6 @@ build
                                mv ${manpage} ${manpage}ssl
                        fi
                done
-
-               mv -v %{BUILDROOT}/usr/share/man/man1/{,ssl}passwd.1
-               mv -v %{BUILDROOT}/usr/share/man/man1/{,ssl}rand.1
                popd
        end
 end
@@ -127,6 +131,14 @@ end
 packages
        package %{name}
 
+       package %{name}-libs
+               template LIBS
+
+               requires += ca-certificates
+
+               files += %{libdir}/openssl
+       end
+
        package %{name}-devel
                template DEVEL
        end
diff --git a/openssl/patches/openssl-0.9.6-x509.patch b/openssl/patches/openssl-0.9.6-x509.patch
new file mode 100644 (file)
index 0000000..7b3f49f
--- /dev/null
@@ -0,0 +1,29 @@
+Do not treat duplicate certs as an error.
+
+--- openssl-0.9.6/crypto/x509/by_file.c        Wed Sep 27 15:09:05 2000
++++ openssl-0.9.6/crypto/x509/by_file.c        Wed Sep 27 14:21:20 2000
+@@ -163,8 +163,12 @@
+                                       }
+                               }
+                       i=X509_STORE_add_cert(ctx->store_ctx,x);
+-                      if (!i) goto err;
+-                      count++;
++                      /* ignore any problems with current certificate 
++                          and continue with the next one */
++                      if (i)
++                          count++;
++                      else
++                          ERR_clear_error();
+                       X509_free(x);
+                       x=NULL;
+                       }
+@@ -179,7 +183,8 @@
+                       goto err;
+                       }
+               i=X509_STORE_add_cert(ctx->store_ctx,x);
+-              if (!i) goto err;
++              if (!i)
++                ERR_clear_error();
+               ret=i;
+               }
+       else
diff --git a/openssl/patches/openssl-1.0.0-beta3-soversion.patch b/openssl/patches/openssl-1.0.0-beta3-soversion.patch
deleted file mode 100644 (file)
index 3836e89..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -up openssl-1.0.0-beta3/Configure.soversion openssl-1.0.0-beta3/Configure
---- openssl-1.0.0-beta3/Configure.soversion    2009-08-04 23:06:52.000000000 +0200
-+++ openssl-1.0.0-beta3/Configure      2009-08-04 23:06:52.000000000 +0200
-@@ -1514,7 +1514,7 @@ while (<IN>)
-       elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
-               {
-               my $sotmp = $1;
--              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
-+              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_SONAMEVER) .s$sotmp/;
-               }
-       elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
-               {
-diff -up openssl-1.0.0-beta3/Makefile.org.soversion openssl-1.0.0-beta3/Makefile.org
---- openssl-1.0.0-beta3/Makefile.org.soversion 2009-08-04 23:06:52.000000000 +0200
-+++ openssl-1.0.0-beta3/Makefile.org   2009-08-04 23:11:01.000000000 +0200
-@@ -10,6 +10,7 @@ SHLIB_VERSION_HISTORY=
- SHLIB_MAJOR=
- SHLIB_MINOR=
- SHLIB_EXT=
-+SHLIB_SONAMEVER=10
- PLATFORM=dist
- OPTIONS=
- CONFIGURE_ARGS=
-@@ -289,10 +290,9 @@ clean-shared:
- link-shared:
-       @ set -e; for i in $(SHLIBDIRS); do \
-               $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
--                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
-+                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
-                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
-                       symlink.$(SHLIB_TARGET); \
--              libs="$$libs -l$$i"; \
-       done
- build-shared: do_$(SHLIB_TARGET) link-shared
-@@ -303,7 +303,7 @@ do_$(SHLIB_TARGET):
-                       libs="$(LIBKRB5) $$libs"; \
-               fi; \
-               $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
--                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
-+                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
-                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
-                       LIBDEPS="$$libs $(EX_LIBS)" \
-                       link_a.$(SHLIB_TARGET); \
diff --git a/openssl/patches/openssl-1.0.0-beta4-algo-doc.patch b/openssl/patches/openssl-1.0.0-beta4-algo-doc.patch
new file mode 100644 (file)
index 0000000..2f18f3f
--- /dev/null
@@ -0,0 +1,113 @@
+diff -up openssl-1.0.0-beta4/doc/crypto/EVP_DigestInit.pod.algo-doc openssl-1.0.0-beta4/doc/crypto/EVP_DigestInit.pod
+--- openssl-1.0.0-beta4/doc/crypto/EVP_DigestInit.pod.algo-doc 2009-10-16 17:29:34.000000000 +0200
++++ openssl-1.0.0-beta4/doc/crypto/EVP_DigestInit.pod  2009-11-12 14:13:21.000000000 +0100
+@@ -6,7 +6,8 @@ EVP_MD_CTX_init, EVP_MD_CTX_create, EVP_
+ EVP_DigestFinal_ex, EVP_MD_CTX_cleanup, EVP_MD_CTX_destroy, EVP_MAX_MD_SIZE,
+ EVP_MD_CTX_copy_ex, EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size,
+ EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, EVP_MD_CTX_block_size, EVP_MD_CTX_type,
+-EVP_md_null, EVP_md2, EVP_md5, EVP_sha, EVP_sha1, EVP_dss, EVP_dss1, EVP_mdc2,
++EVP_md_null, EVP_md2, EVP_md5, EVP_sha, EVP_sha1, EVP_sha224,
++EVP_sha256, EVP_sha384, EVP_sha512, EVP_dss, EVP_dss1, EVP_mdc2,
+ EVP_ripemd160, EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj -
+ EVP digest routines
+@@ -51,6 +52,10 @@ EVP digest routines
+  const EVP_MD *EVP_md5(void);
+  const EVP_MD *EVP_sha(void);
+  const EVP_MD *EVP_sha1(void);
++ const EVP_MD *EVP_sha224(void);
++ const EVP_MD *EVP_sha256(void);
++ const EVP_MD *EVP_sha384(void);
++ const EVP_MD *EVP_sha512(void);
+  const EVP_MD *EVP_dss(void);
+  const EVP_MD *EVP_dss1(void);
+  const EVP_MD *EVP_mdc2(void);
+@@ -70,7 +75,7 @@ EVP_MD_CTX_create() allocates, initializ
+ EVP_DigestInit_ex() sets up digest context B<ctx> to use a digest
+ B<type> from ENGINE B<impl>. B<ctx> must be initialized before calling this
+-function. B<type> will typically be supplied by a functionsuch as EVP_sha1().
++function. B<type> will typically be supplied by a function such as EVP_sha1().
+ If B<impl> is NULL then the default implementation of digest B<type> is used.
+ EVP_DigestUpdate() hashes B<cnt> bytes of data at B<d> into the
+@@ -127,9 +132,11 @@ with this digest. For example EVP_sha1()
+ return B<NID_sha1WithRSAEncryption>. This "link" between digests and signature
+ algorithms may not be retained in future versions of OpenSSL.
+-EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_mdc2() and EVP_ripemd160()
+-return B<EVP_MD> structures for the MD2, MD5, SHA, SHA1, MDC2 and RIPEMD160 digest
+-algorithms respectively. The associated signature algorithm is RSA in each case.
++EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_sha224(), EVP_sha256(),
++EVP_sha384(), EVP_sha512(), EVP_mdc2() and EVP_ripemd160()
++return B<EVP_MD> structures for the MD2, MD5, SHA, SHA1, SHA224, SHA256, SHA384,
++SHA512, MDC2 and RIPEMD160 digest algorithms respectively. The associated
++signature algorithm is RSA in each case.
+ EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest
+ algorithms but using DSS (DSA) for the signature algorithm. Note: there is 
+@@ -158,7 +165,8 @@ EVP_MD_size(), EVP_MD_block_size(), EVP_
+ EVP_MD_CTX_block_size()       and EVP_MD_block_size() return the digest or block
+ size in bytes.
+-EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_dss(),
++EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(),
++EVP_sha224(), EVP_sha256(), EVP_sha384(), EVP_sha512(), EVP_dss(),
+ EVP_dss1(), EVP_mdc2() and EVP_ripemd160() return pointers to the
+ corresponding EVP_MD structures.
+diff -up openssl-1.0.0-beta4/doc/crypto/EVP_EncryptInit.pod.algo-doc openssl-1.0.0-beta4/doc/crypto/EVP_EncryptInit.pod
+--- openssl-1.0.0-beta4/doc/crypto/EVP_EncryptInit.pod.algo-doc        2005-04-15 18:01:35.000000000 +0200
++++ openssl-1.0.0-beta4/doc/crypto/EVP_EncryptInit.pod 2009-11-12 14:11:03.000000000 +0100
+@@ -91,6 +91,32 @@ EVP_CIPHER_CTX_set_padding - EVP cipher 
+  int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
+  int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
++ const EVP_CIPHER *EVP_des_ede3(void);
++ const EVP_CIPHER *EVP_des_ede3_ecb(void);
++ const EVP_CIPHER *EVP_des_ede3_cfb64(void);
++ const EVP_CIPHER *EVP_des_ede3_cfb1(void);
++ const EVP_CIPHER *EVP_des_ede3_cfb8(void);
++ const EVP_CIPHER *EVP_des_ede3_ofb(void);
++ const EVP_CIPHER *EVP_des_ede3_cbc(void);
++ const EVP_CIPHER *EVP_aes_128_ecb(void);
++ const EVP_CIPHER *EVP_aes_128_cbc(void);
++ const EVP_CIPHER *EVP_aes_128_cfb1(void);
++ const EVP_CIPHER *EVP_aes_128_cfb8(void);
++ const EVP_CIPHER *EVP_aes_128_cfb128(void);
++ const EVP_CIPHER *EVP_aes_128_ofb(void);
++ const EVP_CIPHER *EVP_aes_192_ecb(void);
++ const EVP_CIPHER *EVP_aes_192_cbc(void);
++ const EVP_CIPHER *EVP_aes_192_cfb1(void);
++ const EVP_CIPHER *EVP_aes_192_cfb8(void);
++ const EVP_CIPHER *EVP_aes_192_cfb128(void);
++ const EVP_CIPHER *EVP_aes_192_ofb(void);
++ const EVP_CIPHER *EVP_aes_256_ecb(void);
++ const EVP_CIPHER *EVP_aes_256_cbc(void);
++ const EVP_CIPHER *EVP_aes_256_cfb1(void);
++ const EVP_CIPHER *EVP_aes_256_cfb8(void);
++ const EVP_CIPHER *EVP_aes_256_cfb128(void);
++ const EVP_CIPHER *EVP_aes_256_ofb(void);
++
+ =head1 DESCRIPTION
+ The EVP cipher routines are a high level interface to certain
+@@ -297,6 +323,18 @@ Three key triple DES in CBC, ECB, CFB an
+ DESX algorithm in CBC mode.
++=item EVP_aes_128_cbc(void), EVP_aes_128_ecb(), EVP_aes_128_ofb(void), EVP_aes_128_cfb1(void), EVP_aes_128_cfb8(void), EVP_aes_128_cfb128(void)
++
++AES with 128 bit key length in CBC, ECB, OFB and CFB modes respectively.
++
++=item EVP_aes_192_cbc(void), EVP_aes_192_ecb(), EVP_aes_192_ofb(void), EVP_aes_192_cfb1(void), EVP_aes_192_cfb8(void), EVP_aes_192_cfb128(void)
++
++AES with 192 bit key length in CBC, ECB, OFB and CFB modes respectively.
++
++=item EVP_aes_256_cbc(void), EVP_aes_256_ecb(), EVP_aes_256_ofb(void), EVP_aes_256_cfb1(void), EVP_aes_256_cfb8(void), EVP_aes_256_cfb128(void)
++
++AES with 256 bit key length in CBC, ECB, OFB and CFB modes respectively.
++
+ =item EVP_rc4(void)
+ RC4 stream cipher. This is a variable key length cipher with default key length 128 bits.
diff --git a/openssl/patches/openssl-1.0.0-beta4-ca-dir.patch b/openssl/patches/openssl-1.0.0-beta4-ca-dir.patch
new file mode 100644 (file)
index 0000000..751cabd
--- /dev/null
@@ -0,0 +1,36 @@
+diff -up openssl-1.0.0-beta4/apps/CA.pl.in.ca-dir openssl-1.0.0-beta4/apps/CA.pl.in
+--- openssl-1.0.0-beta4/apps/CA.pl.in.ca-dir   2006-04-28 02:30:49.000000000 +0200
++++ openssl-1.0.0-beta4/apps/CA.pl.in  2009-11-12 12:33:13.000000000 +0100
+@@ -53,7 +53,7 @@ $VERIFY="$openssl verify";
+ $X509="$openssl x509";
+ $PKCS12="$openssl pkcs12";
+-$CATOP="./demoCA";
++$CATOP="/etc/pki/CA";
+ $CAKEY="cakey.pem";
+ $CAREQ="careq.pem";
+ $CACERT="cacert.pem";
+diff -up openssl-1.0.0-beta4/apps/CA.sh.ca-dir openssl-1.0.0-beta4/apps/CA.sh
+--- openssl-1.0.0-beta4/apps/CA.sh.ca-dir      2009-10-15 19:27:47.000000000 +0200
++++ openssl-1.0.0-beta4/apps/CA.sh     2009-11-12 12:35:14.000000000 +0100
+@@ -68,7 +68,7 @@ VERIFY="$OPENSSL verify"
+ X509="$OPENSSL x509"
+ PKCS12="openssl pkcs12"
+-if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
++if [ -z "$CATOP" ] ; then CATOP=/etc/pki/CA ; fi
+ CAKEY=./cakey.pem
+ CAREQ=./careq.pem
+ CACERT=./cacert.pem
+diff -up openssl-1.0.0-beta4/apps/openssl.cnf.ca-dir openssl-1.0.0-beta4/apps/openssl.cnf
+--- openssl-1.0.0-beta4/apps/openssl.cnf.ca-dir        2009-11-12 12:33:13.000000000 +0100
++++ openssl-1.0.0-beta4/apps/openssl.cnf       2009-11-12 12:33:13.000000000 +0100
+@@ -39,7 +39,7 @@ default_ca   = CA_default            # The default c
+ ####################################################################
+ [ CA_default ]
+-dir           = ./demoCA              # Where everything is kept
++dir           = /etc/pki/CA           # Where everything is kept
+ certs         = $dir/certs            # Where the issued certs are kept
+ crl_dir               = $dir/crl              # Where the issued crl are kept
+ database      = $dir/index.txt        # database index file.
diff --git a/openssl/patches/openssl-1.0.0-beta4-default-paths.patch b/openssl/patches/openssl-1.0.0-beta4-default-paths.patch
new file mode 100644 (file)
index 0000000..0b48a27
--- /dev/null
@@ -0,0 +1,77 @@
+diff -up openssl-1.0.0-beta4/apps/s_client.c.default-paths openssl-1.0.0-beta4/apps/s_client.c
+--- openssl-1.0.0-beta4/apps/s_client.c.default-paths  2009-08-12 15:21:26.000000000 +0200
++++ openssl-1.0.0-beta4/apps/s_client.c        2009-11-12 12:26:32.000000000 +0100
+@@ -889,12 +889,13 @@ bad:
+       if (!set_cert_key_stuff(ctx,cert,key))
+               goto end;
+-      if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
+-              (!SSL_CTX_set_default_verify_paths(ctx)))
++      if (!SSL_CTX_load_verify_locations(ctx,CAfile,CApath))
++              {
++              ERR_print_errors(bio_err);
++              }
++      if (!SSL_CTX_set_default_verify_paths(ctx))
+               {
+-              /* BIO_printf(bio_err,"error setting default verify locations\n"); */
+               ERR_print_errors(bio_err);
+-              /* goto end; */
+               }
+ #ifndef OPENSSL_NO_TLSEXT
+diff -up openssl-1.0.0-beta4/apps/s_server.c.default-paths openssl-1.0.0-beta4/apps/s_server.c
+--- openssl-1.0.0-beta4/apps/s_server.c.default-paths  2009-10-28 18:49:37.000000000 +0100
++++ openssl-1.0.0-beta4/apps/s_server.c        2009-11-12 12:31:23.000000000 +0100
+@@ -1408,12 +1408,13 @@ bad:
+               }
+ #endif
+-      if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
+-              (!SSL_CTX_set_default_verify_paths(ctx)))
++      if (!SSL_CTX_load_verify_locations(ctx,CAfile,CApath))
++              {
++              ERR_print_errors(bio_err);
++              }
++      if (!SSL_CTX_set_default_verify_paths(ctx))
+               {
+-              /* BIO_printf(bio_err,"X509_load_verify_locations\n"); */
+               ERR_print_errors(bio_err);
+-              /* goto end; */
+               }
+       if (vpm)
+               SSL_CTX_set1_param(ctx, vpm);
+@@ -1465,8 +1466,11 @@ bad:
+               else
+                       SSL_CTX_sess_set_cache_size(ctx2,128);
+-              if ((!SSL_CTX_load_verify_locations(ctx2,CAfile,CApath)) ||
+-                      (!SSL_CTX_set_default_verify_paths(ctx2)))
++              if (!SSL_CTX_load_verify_locations(ctx2,CAfile,CApath))
++                      {
++                      ERR_print_errors(bio_err);
++                      }
++              if (!SSL_CTX_set_default_verify_paths(ctx2))
+                       {
+                       ERR_print_errors(bio_err);
+                       }
+diff -up openssl-1.0.0-beta4/apps/s_time.c.default-paths openssl-1.0.0-beta4/apps/s_time.c
+--- openssl-1.0.0-beta4/apps/s_time.c.default-paths    2006-04-17 14:22:13.000000000 +0200
++++ openssl-1.0.0-beta4/apps/s_time.c  2009-11-12 12:26:32.000000000 +0100
+@@ -373,12 +373,13 @@ int MAIN(int argc, char **argv)
+       SSL_load_error_strings();
+-      if ((!SSL_CTX_load_verify_locations(tm_ctx,CAfile,CApath)) ||
+-              (!SSL_CTX_set_default_verify_paths(tm_ctx)))
++      if (!SSL_CTX_load_verify_locations(tm_ctx,CAfile,CApath))
++              {
++              ERR_print_errors(bio_err);
++              }
++      if (!SSL_CTX_set_default_verify_paths(tm_ctx))
+               {
+-              /* BIO_printf(bio_err,"error setting default verify locations\n"); */
+               ERR_print_errors(bio_err);
+-              /* goto end; */
+               }
+       if (tm_cipher == NULL)
diff --git a/openssl/patches/openssl-1.0.0-beta5-readme-warning.patch b/openssl/patches/openssl-1.0.0-beta5-readme-warning.patch
new file mode 100644 (file)
index 0000000..0d89720
--- /dev/null
@@ -0,0 +1,39 @@
+diff -up openssl-1.0.0-beta5/README.warning openssl-1.0.0-beta5/README
+--- openssl-1.0.0-beta5/README.warning 2010-01-20 16:00:47.000000000 +0100
++++ openssl-1.0.0-beta5/README 2010-01-21 09:06:11.000000000 +0100
+@@ -5,6 +5,35 @@
+  Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
+  All rights reserved.
++ WARNING
++ -------
++
++ This version of OpenSSL is built in a way that supports operation in
++ the so called FIPS mode. Note though that the library as we build it
++ is not FIPS validated and the FIPS mode is present for testing purposes
++ only.
++ 
++ This version also contains a few differences from the upstream code
++ some of which are:
++   * There are added changes forward ported from the upstream OpenSSL
++     0.9.8 FIPS branch however the FIPS integrity verification check
++     is implemented differently from the upstream FIPS validated OpenSSL
++     module. It verifies HMAC-SHA256 checksum of the whole shared
++     libraries. For this reason the changes are ported to files in the
++     crypto directory and not in a separate fips subdirectory. Also
++     note that the FIPS integrity verification check requires unmodified
++     libcrypto and libssl shared library files which means that it will
++     fail if these files are modified for example by prelink.
++   * The module respects the kernel FIPS flag /proc/sys/crypto/fips and
++     tries to initialize the FIPS mode if it is set to 1 aborting if the
++     FIPS mode could not be initialized. It is also possible to force the
++     OpenSSL library to FIPS mode especially for debugging purposes by
++     setting the environment variable OPENSSL_FORCE_FIPS_MODE.
++   * If the environment variable OPENSSL_NO_DEFAULT_ZLIB is set the module
++     will not automatically load the built in compression method ZLIB
++     when initialized. Applications can still explicitely ask for ZLIB
++     compression method.
++
+  DESCRIPTION
+  -----------
diff --git a/openssl/patches/openssl-1.0.0-timezone.patch b/openssl/patches/openssl-1.0.0-timezone.patch
new file mode 100644 (file)
index 0000000..b1d6682
--- /dev/null
@@ -0,0 +1,21 @@
+diff -up openssl-1.0.0/Makefile.org.timezone openssl-1.0.0/Makefile.org
+--- openssl-1.0.0/Makefile.org.timezone        2010-03-30 11:08:40.000000000 +0200
++++ openssl-1.0.0/Makefile.org 2010-04-06 12:49:21.000000000 +0200
+@@ -609,7 +609,7 @@ install_docs:
+               sec=`$(PERL) util/extract-section.pl 1 < $$i`; \
+               echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+               (cd `$(PERL) util/dirname.pl $$i`; \
+-              sh -c "$$pod2man \
++              sh -c "TZ=UTC $$pod2man \
+                       --section=$$sec --center=OpenSSL \
+                       --release=$(VERSION) `basename $$i`") \
+                       >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+@@ -626,7 +626,7 @@ install_docs:
+               sec=`$(PERL) util/extract-section.pl 3 < $$i`; \
+               echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+               (cd `$(PERL) util/dirname.pl $$i`; \
+-              sh -c "$$pod2man \
++              sh -c "TZ=UTC $$pod2man \
+                       --section=$$sec --center=OpenSSL \
+                       --release=$(VERSION) `basename $$i`") \
+                       >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
diff --git a/openssl/patches/openssl-1.0.0c-rsa-x931.patch b/openssl/patches/openssl-1.0.0c-rsa-x931.patch
new file mode 100644 (file)
index 0000000..a60bbcb
--- /dev/null
@@ -0,0 +1,36 @@
+diff -up openssl-1.0.0c/apps/genrsa.c.x931 openssl-1.0.0c/apps/genrsa.c
+--- openssl-1.0.0c/apps/genrsa.c.x931  2010-03-01 15:22:02.000000000 +0100
++++ openssl-1.0.0c/apps/genrsa.c       2011-02-01 18:32:05.000000000 +0100
+@@ -95,6 +95,7 @@ int MAIN(int argc, char **argv)
+       int ret=1;
+       int i,num=DEFBITS;
+       long l;
++      int use_x931 = 0;
+       const EVP_CIPHER *enc=NULL;
+       unsigned long f4=RSA_F4;
+       char *outfile=NULL;
+@@ -138,6 +139,8 @@ int MAIN(int argc, char **argv)
+                       f4=3;
+               else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0)
+                       f4=RSA_F4;
++              else if (strcmp(*argv,"-x931") == 0)
++                      use_x931 = 1;
+ #ifndef OPENSSL_NO_ENGINE
+               else if (strcmp(*argv,"-engine") == 0)
+                       {
+@@ -273,7 +276,14 @@ bad:
+       if (!rsa)
+               goto err;
+-      if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
++      if (use_x931)
++              {
++              if (!BN_set_word(bn, f4))
++                      goto err;
++              if (!RSA_X931_generate_key_ex(rsa, num, bn, &cb))
++                      goto err;
++              }
++      else if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
+               goto err;
+               
+       app_RAND_write_file(NULL, bio_err);
diff --git a/openssl/patches/openssl-1.0.0d-apps-dgst.patch b/openssl/patches/openssl-1.0.0d-apps-dgst.patch
new file mode 100644 (file)
index 0000000..da20481
--- /dev/null
@@ -0,0 +1,110 @@
+diff -up openssl-1.0.0d/apps/ca.c.dgst openssl-1.0.0d/apps/ca.c
+--- openssl-1.0.0d/apps/ca.c.dgst      2009-12-02 15:41:24.000000000 +0100
++++ openssl-1.0.0d/apps/ca.c   2011-04-05 21:09:42.000000000 +0200
+@@ -157,7 +157,7 @@ static const char *ca_usage[]={
+ " -startdate YYMMDDHHMMSSZ  - certificate validity notBefore\n",
+ " -enddate YYMMDDHHMMSSZ    - certificate validity notAfter (overrides -days)\n",
+ " -days arg       - number of days to certify the certificate for\n",
+-" -md arg         - md to use, one of md2, md5, sha or sha1\n",
++" -md arg         - md to use, see openssl dgst -h for list\n",
+ " -policy arg     - The CA 'policy' to support\n",
+ " -keyfile arg    - private key file\n",
+ " -keyform arg    - private key file format (PEM or ENGINE)\n",
+diff -up openssl-1.0.0d/apps/enc.c.dgst openssl-1.0.0d/apps/enc.c
+--- openssl-1.0.0d/apps/enc.c.dgst     2010-06-15 19:25:02.000000000 +0200
++++ openssl-1.0.0d/apps/enc.c  2011-04-05 21:11:54.000000000 +0200
+@@ -302,7 +302,7 @@ bad:
+                       BIO_printf(bio_err,"%-14s passphrase is the next argument\n","-k");
+                       BIO_printf(bio_err,"%-14s passphrase is the first line of the file argument\n","-kfile");
+                       BIO_printf(bio_err,"%-14s the next argument is the md to use to create a key\n","-md");
+-                      BIO_printf(bio_err,"%-14s   from a passphrase.  One of md2, md5, sha or sha1\n","");
++                      BIO_printf(bio_err,"%-14s   from a passphrase. See openssl dgst -h for list.\n","");
+                       BIO_printf(bio_err,"%-14s salt in hex is the next argument\n","-S");
+                       BIO_printf(bio_err,"%-14s key/iv in hex is the next argument\n","-K/-iv");
+                       BIO_printf(bio_err,"%-14s print the iv/key (then exit if -P)\n","-[pP]");
+diff -up openssl-1.0.0d/apps/req.c.dgst openssl-1.0.0d/apps/req.c
+--- openssl-1.0.0d/apps/req.c.dgst     2010-03-10 14:48:21.000000000 +0100
++++ openssl-1.0.0d/apps/req.c  2011-04-05 21:12:33.000000000 +0200
+@@ -421,7 +421,7 @@ bad:
+ #ifndef OPENSSL_NO_ECDSA
+               BIO_printf(bio_err," -newkey ec:file generate a new EC key, parameters taken from CA in 'file'\n");
+ #endif
+-              BIO_printf(bio_err," -[digest]      Digest to sign with (md5, sha1, md2, mdc2, md4)\n");
++              BIO_printf(bio_err," -[digest]      Digest to sign with (see openssl dgst -h for list)\n");
+               BIO_printf(bio_err," -config file   request template file.\n");
+               BIO_printf(bio_err," -subj arg      set or modify request subject\n");
+               BIO_printf(bio_err," -multivalue-rdn enable support for multivalued RDNs\n");
+diff -up openssl-1.0.0d/apps/ts.c.dgst openssl-1.0.0d/apps/ts.c
+--- openssl-1.0.0d/apps/ts.c.dgst      2009-10-18 16:42:26.000000000 +0200
++++ openssl-1.0.0d/apps/ts.c   2011-04-05 21:16:07.000000000 +0200
+@@ -368,7 +368,7 @@ int MAIN(int argc, char **argv)
+       BIO_printf(bio_err, "usage:\n"
+                  "ts -query [-rand file%cfile%c...] [-config configfile] "
+                  "[-data file_to_hash] [-digest digest_bytes]"
+-                 "[-md2|-md4|-md5|-sha|-sha1|-mdc2|-ripemd160] "
++                 "[-<hashalg>] "
+                  "[-policy object_id] [-no_nonce] [-cert] "
+                  "[-in request.tsq] [-out request.tsq] [-text]\n",
+                  LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
+diff -up openssl-1.0.0d/apps/x509.c.dgst openssl-1.0.0d/apps/x509.c
+--- openssl-1.0.0d/apps/x509.c.dgst    2011-04-05 21:13:42.000000000 +0200
++++ openssl-1.0.0d/apps/x509.c 2011-04-05 21:13:17.000000000 +0200
+@@ -141,7 +141,7 @@ static const char *x509_usage[]={
+ " -set_serial     - serial number to use\n",
+ " -text           - print the certificate in text form\n",
+ " -C              - print out C code forms\n",
+-" -md2/-md5/-sha1/-mdc2 - digest to use\n",
++" -<dgst>         - digest to use, see openssl dgst -h output for list\n",
+ " -extfile        - configuration file with X509V3 extensions to add\n",
+ " -extensions     - section from config file with X509V3 extensions to add\n",
+ " -clrext         - delete extensions before signing and input certificate\n",
+diff -up openssl-1.0.0d/doc/apps/ca.pod.dgst openssl-1.0.0d/doc/apps/ca.pod
+--- openssl-1.0.0d/doc/apps/ca.pod.dgst        2009-04-10 13:25:53.000000000 +0200
++++ openssl-1.0.0d/doc/apps/ca.pod     2011-04-05 21:16:39.000000000 +0200
+@@ -160,7 +160,8 @@ the number of days to certify the certif
+ =item B<-md alg>
+ the message digest to use. Possible values include md5, sha1 and mdc2.
+-This option also applies to CRLs.
++For full list of digests see openssl dgst -h output. This option also
++applies to CRLs.
+ =item B<-policy arg>
+diff -up openssl-1.0.0d/doc/apps/ocsp.pod.dgst openssl-1.0.0d/doc/apps/ocsp.pod
+--- openssl-1.0.0d/doc/apps/ocsp.pod.dgst      2008-02-25 19:11:47.000000000 +0100
++++ openssl-1.0.0d/doc/apps/ocsp.pod   2011-04-05 21:18:17.000000000 +0200
+@@ -210,7 +210,8 @@ check is not performed.
+ =item B<-md5|-sha1|-sha256|-ripemod160|...>
+ this option sets digest algorithm to use for certificate identification
+-in the OCSP request. By default SHA-1 is used. 
++in the OCSP request. By default SHA-1 is used. See openssl dgst -h output for
++the list of available algorithms.
+ =back
+diff -up openssl-1.0.0d/doc/apps/req.pod.dgst openssl-1.0.0d/doc/apps/req.pod
+--- openssl-1.0.0d/doc/apps/req.pod.dgst       2009-04-10 18:42:28.000000000 +0200
++++ openssl-1.0.0d/doc/apps/req.pod    2011-04-05 21:20:47.000000000 +0200
+@@ -201,7 +201,8 @@ will not be encrypted.
+ this specifies the message digest to sign the request with (such as
+ B<-md5>, B<-sha1>). This overrides the digest algorithm specified in
+-the configuration file.
++the configuration file. For full list of possible digests see openssl
++dgst -h output.
+ Some public key algorithms may override this choice. For instance, DSA
+ signatures always use SHA1, GOST R 34.10 signatures always use
+diff -up openssl-1.0.0d/doc/apps/x509.pod.dgst openssl-1.0.0d/doc/apps/x509.pod
+--- openssl-1.0.0d/doc/apps/x509.pod.dgst      2010-01-12 18:27:11.000000000 +0100
++++ openssl-1.0.0d/doc/apps/x509.pod   2011-04-05 21:19:56.000000000 +0200
+@@ -101,6 +101,7 @@ the digest to use. This affects any sign
+ digest, such as the B<-fingerprint>, B<-signkey> and B<-CA> options. If not
+ specified then SHA1 is used. If the key being used to sign with is a DSA key
+ then this option has no effect: SHA1 is always used with DSA keys.
++For full list of digests see openssl dgst -h output.
+ =item B<-engine id>
diff --git a/openssl/patches/openssl-1.0.0d-xmpp-starttls.patch b/openssl/patches/openssl-1.0.0d-xmpp-starttls.patch
new file mode 100644 (file)
index 0000000..b3999cc
--- /dev/null
@@ -0,0 +1,12 @@
+diff -ru openssl-1.0.0d.old/apps/s_client.c openssl-1.0.0d/apps/s_client.c
+--- openssl-1.0.0d.old/apps/s_client.c 2011-07-17 21:05:19.934181169 +0200
++++ openssl-1.0.0d/apps/s_client.c     2011-07-17 21:11:42.747824990 +0200
+@@ -1186,7 +1186,7 @@
+                   "xmlns='jabber:client' to='%s' version='1.0'>", host);
+               seen = BIO_read(sbio,mbuf,BUFSIZZ);
+               mbuf[seen] = 0;
+-              while (!strstr(mbuf, "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'"))
++              while (!strcasestr(mbuf, "<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'") && !strcasestr(mbuf, "<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\""))
+                       {
+                       if (strstr(mbuf, "/stream:features>"))
+                               goto shut;
diff --git a/openssl/patches/openssl-1.0.0e-chil-fixes.patch b/openssl/patches/openssl-1.0.0e-chil-fixes.patch
new file mode 100644 (file)
index 0000000..58a035f
--- /dev/null
@@ -0,0 +1,24 @@
+diff -up openssl-1.0.0e/engines/e_chil.c.chil openssl-1.0.0e/engines/e_chil.c
+--- openssl-1.0.0e/engines/e_chil.c.chil       2010-06-15 19:25:12.000000000 +0200
++++ openssl-1.0.0e/engines/e_chil.c    2011-09-21 17:32:03.000000000 +0200
+@@ -1261,6 +1261,11 @@ static int hwcrhk_insert_card(const char
+         UI *ui;
+       void *callback_data = NULL;
+         UI_METHOD *ui_method = NULL;
++      /* Despite what the documentation says prompt_info can be
++       * an empty string.
++       */
++      if (prompt_info && !*prompt_info)
++              prompt_info = NULL;
+         if (cactx)
+                 {
+@@ -1287,7 +1292,7 @@ static int hwcrhk_insert_card(const char
+       if (ui)
+               {
+-              char answer;
++              char answer = '\0';
+               char buf[BUFSIZ];
+               /* Despite what the documentation says wrong_info can be
+                * an empty string.
diff --git a/openssl/patches/openssl-1.0.0e-doc-noeof.patch b/openssl/patches/openssl-1.0.0e-doc-noeof.patch
new file mode 100644 (file)
index 0000000..9686575
--- /dev/null
@@ -0,0 +1,23 @@
+diff -up openssl-1.0.0e/doc/apps/s_client.pod.doc-noeof openssl-1.0.0e/doc/apps/s_client.pod
+--- openssl-1.0.0e/doc/apps/s_client.pod.doc-noeof     2009-06-26 13:28:51.000000000 +0200
++++ openssl-1.0.0e/doc/apps/s_client.pod       2011-11-03 08:30:35.000000000 +0100
+@@ -27,6 +27,7 @@ B<openssl> B<s_client>
+ [B<-nbio>]
+ [B<-crlf>]
+ [B<-ign_eof>]
++[B<-no_ign_eof>]
+ [B<-quiet>]
+ [B<-ssl2>]
+ [B<-ssl3>]
+@@ -161,6 +162,11 @@ by some servers.
+ inhibit shutting down the connection when end of file is reached in the
+ input.
++=item B<-no_ign_eof>
++
++shut down the connection when end of file is reached in the
++input. Can be used to override the implicit B<-ign_eof> after B<-quiet>.
++
+ =item B<-quiet>
+ inhibit printing of session and certificate information.  This implicitly
diff --git a/openssl/patches/openssl-1.0.0f-defaults.patch b/openssl/patches/openssl-1.0.0f-defaults.patch
new file mode 100644 (file)
index 0000000..d20c7fc
--- /dev/null
@@ -0,0 +1,44 @@
+diff -up openssl-1.0.0f/apps/openssl.cnf.defaults openssl-1.0.0f/apps/openssl.cnf
+--- openssl-1.0.0f/apps/openssl.cnf.defaults   2011-12-06 01:01:00.000000000 +0100
++++ openssl-1.0.0f/apps/openssl.cnf    2012-01-05 13:16:15.000000000 +0100
+@@ -103,7 +103,8 @@ emailAddress               = optional
+ ####################################################################
+ [ req ]
+-default_bits          = 1024
++default_bits          = 2048
++default_md            = sha1
+ default_keyfile       = privkey.pem
+ distinguished_name    = req_distinguished_name
+ attributes            = req_attributes
+@@ -126,17 +127,18 @@ string_mask = utf8only
+ [ req_distinguished_name ]
+ countryName                   = Country Name (2 letter code)
+-countryName_default           = AU
++countryName_default           = XX
+ countryName_min                       = 2
+ countryName_max                       = 2
+ stateOrProvinceName           = State or Province Name (full name)
+-stateOrProvinceName_default   = Some-State
++#stateOrProvinceName_default  = Default Province
+ localityName                  = Locality Name (eg, city)
++localityName_default  = Default City
+ 0.organizationName            = Organization Name (eg, company)
+-0.organizationName_default    = Internet Widgits Pty Ltd
++0.organizationName_default    = Default Company Ltd
+ # we can do this but it is not needed normally :-)
+ #1.organizationName           = Second Organization Name (eg, company)
+@@ -145,7 +147,7 @@ localityName                       = Locality Name (eg, city
+ organizationalUnitName                = Organizational Unit Name (eg, section)
+ #organizationalUnitName_default       =
+-commonName                    = Common Name (e.g. server FQDN or YOUR name)
++commonName                    = Common Name (eg, your name or your server\'s hostname)
+ commonName_max                        = 64
+ emailAddress                  = Email Address
diff --git a/openssl/patches/openssl-1.0.0g-version.patch b/openssl/patches/openssl-1.0.0g-version.patch
deleted file mode 100644 (file)
index 55aa0c0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up openssl-1.0.0g/crypto/opensslv.h.version openssl-1.0.0g/crypto/opensslv.h
---- openssl-1.0.0g/crypto/opensslv.h.version   2012-01-19 14:50:50.094028047 +0100
-+++ openssl-1.0.0g/crypto/opensslv.h   2012-01-19 14:51:48.655529671 +0100
-@@ -25,7 +25,8 @@
-  * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
-  *  major minor fix final patch/beta)
-  */
--#define OPENSSL_VERSION_NUMBER        0x1000007fL
-+/* we have to keep the version number to not break the abi */
-+#define OPENSSL_VERSION_NUMBER        0x10000003
- #ifdef OPENSSL_FIPS
- #define OPENSSL_VERSION_TEXT  "OpenSSL 1.0.0g-fips 18 Jan 2012"
- #else
-@@ -83,7 +84,7 @@
-  * should only keep the versions that are binary compatible with the current.
-  */
- #define SHLIB_VERSION_HISTORY ""
--#define SHLIB_VERSION_NUMBER "1.0.0"
-+#define SHLIB_VERSION_NUMBER "1.0.0g"
- #endif /* HEADER_OPENSSLV_H */
similarity index 66%
rename from openssl/patches/openssl-1.0.0-beta4-redhat.patch
rename to openssl/patches/openssl-1.0.1-beta2-build.patch
index 4356e410e4bf3e7cfdf74e32131e081ec1227f95..0a5cef12c132f27edfd5dff941d9af97cf757d0d 100644 (file)
@@ -1,7 +1,7 @@
-diff -up openssl-1.0.0-beta4/Configure.redhat openssl-1.0.0-beta4/Configure
---- openssl-1.0.0-beta4/Configure.redhat       2009-11-09 15:11:13.000000000 +0100
-+++ openssl-1.0.0-beta4/Configure      2009-11-12 12:15:27.000000000 +0100
-@@ -336,32 +336,32 @@ my %table=(
+diff -up openssl-1.0.1-beta2/Configure.rpmbuild openssl-1.0.1-beta2/Configure
+--- openssl-1.0.1-beta2/Configure.rpmbuild     2012-01-05 01:07:34.000000000 +0100
++++ openssl-1.0.1-beta2/Configure      2012-02-02 12:43:56.547409325 +0100
+@@ -343,23 +343,23 @@ my %table=(
  ####
  # *-generic* is endian-neutral target, but ./config is free to
  # throw in -D[BL]_ENDIAN, whichever appropriate...
@@ -27,10 +27,19 @@ diff -up openssl-1.0.0-beta4/Configure.redhat openssl-1.0.0-beta4/Configure
 +"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
  "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
  "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
--"linux-s390x",        "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-+"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS) -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
-+"linux-s390x",        "gcc:-m64 -DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
+-"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
++"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
+ #### So called "highgprs" target for z/Architecture CPUs
+ # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
+ # /proc/cpuinfo. The idea is to preserve most significant bits of
+@@ -373,16 +373,16 @@ my %table=(
+ # ldconfig and run-time linker to autodiscover. Unfortunately it
+ # doesn't work just yet, because of couple of bugs in glibc
+ # sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1...
+-"linux32-s390x",      "gcc:-m31 -Wa,-mzarch -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/highgprs",
++"linux32-s390x",      "gcc:-m31 -Wa,-mzarch -DB_ENDIAN -DTERMIO -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::/highgprs",
  #### SPARC Linux setups
  # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
  # assisted with debugging of following two configs.
@@ -46,7 +55,7 @@ diff -up openssl-1.0.0-beta4/Configure.redhat openssl-1.0.0-beta4/Configure
  #### Alpha Linux with GNU C and Compaq C setups
  # Special notes:
  # - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
-@@ -375,8 +375,8 @@ my %table=(
+@@ -396,8 +396,8 @@ my %table=(
  #
  #                                     <appro@fy.chalmers.se>
  #
@@ -57,3 +66,44 @@ diff -up openssl-1.0.0-beta4/Configure.redhat openssl-1.0.0-beta4/Configure
  "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
  "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
  
+@@ -1678,7 +1678,7 @@ while (<IN>)
+       elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
+               {
+               my $sotmp = $1;
+-              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
++              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_SONAMEVER) .s$sotmp/;
+               }
+       elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
+               {
+diff -up openssl-1.0.1-beta2/Makefile.org.rpmbuild openssl-1.0.1-beta2/Makefile.org
+--- openssl-1.0.1-beta2/Makefile.org.rpmbuild  2011-12-27 16:17:50.000000000 +0100
++++ openssl-1.0.1-beta2/Makefile.org   2012-02-02 12:30:23.652495435 +0100
+@@ -10,6 +10,7 @@ SHLIB_VERSION_HISTORY=
+ SHLIB_MAJOR=
+ SHLIB_MINOR=
+ SHLIB_EXT=
++SHLIB_SONAMEVER=10
+ PLATFORM=dist
+ OPTIONS=
+ CONFIGURE_ARGS=
+@@ -333,10 +334,9 @@ clean-shared:
+ link-shared:
+       @ set -e; for i in $(SHLIBDIRS); do \
+               $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
+-                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
++                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
+                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
+                       symlink.$(SHLIB_TARGET); \
+-              libs="$$libs -l$$i"; \
+       done
+ build-shared: do_$(SHLIB_TARGET) link-shared
+@@ -347,7 +347,7 @@ do_$(SHLIB_TARGET):
+                       libs="$(LIBKRB5) $$libs"; \
+               fi; \
+               $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
+-                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
++                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
+                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
+                       LIBDEPS="$$libs $(EX_LIBS)" \
+                       link_a.$(SHLIB_TARGET); \
diff --git a/openssl/patches/openssl-1.0.1-beta2-dtls1-abi.patch b/openssl/patches/openssl-1.0.1-beta2-dtls1-abi.patch
new file mode 100644 (file)
index 0000000..6a556be
--- /dev/null
@@ -0,0 +1,23 @@
+diff -up openssl-1.0.1-beta2/ssl/dtls1.h.dtls1-abi openssl-1.0.1-beta2/ssl/dtls1.h
+--- openssl-1.0.1-beta2/ssl/dtls1.h.dtls1-abi  2012-02-06 17:07:34.630336118 +0100
++++ openssl-1.0.1-beta2/ssl/dtls1.h    2012-02-06 17:10:08.956623707 +0100
+@@ -222,9 +222,6 @@ typedef struct dtls1_state_st
+        */
+       record_pqueue buffered_app_data;
+-      /* Is set when listening for new connections with dtls1_listen() */
+-      unsigned int listen;
+-
+       unsigned int mtu; /* max DTLS packet size */
+       struct hm_header_st w_msg_hdr;
+@@ -248,6 +245,9 @@ typedef struct dtls1_state_st
+       unsigned int retransmitting;
+       unsigned int change_cipher_spec_ok;
++      /* Is set when listening for new connections with dtls1_listen() */
++      unsigned int listen;
++
+ #ifndef OPENSSL_NO_SCTP
+       /* used when SSL_ST_XX_FLUSH is entered */
+       int next_state;
diff --git a/openssl/patches/openssl-1.0.1-beta2-ipv6-apps.patch b/openssl/patches/openssl-1.0.1-beta2-ipv6-apps.patch
new file mode 100644 (file)
index 0000000..4e2f60c
--- /dev/null
@@ -0,0 +1,511 @@
+diff -up openssl-1.0.1-beta2/apps/s_apps.h.ipv6-apps openssl-1.0.1-beta2/apps/s_apps.h
+--- openssl-1.0.1-beta2/apps/s_apps.h.ipv6-apps        2012-02-02 12:56:27.216889198 +0100
++++ openssl-1.0.1-beta2/apps/s_apps.h  2012-02-02 12:56:27.257889552 +0100
+@@ -148,7 +148,7 @@ typedef fd_mask fd_set;
+ #define PORT_STR        "4433"
+ #define PROTOCOL        "tcp"
+-int do_server(int port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context);
++int do_server(char *port, int type, int *ret, int (*cb) (char *hostname, int s, unsigned char *context), unsigned char *context);
+ #ifdef HEADER_X509_H
+ int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx);
+ #endif
+@@ -156,10 +156,9 @@ int MS_CALLBACK verify_callback(int ok,
+ int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file);
+ int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key);
+ #endif
+-int init_client(int *sock, char *server, int port, int type);
++int init_client(int *sock, char *server, char *port, int type);
+ int should_retry(int i);
+-int extract_port(char *str, short *port_ptr);
+-int extract_host_port(char *str,char **host_ptr,unsigned char *ip,short *p);
++int extract_host_port(char *str,char **host_ptr,char **port_ptr);
+ long MS_CALLBACK bio_dump_callback(BIO *bio, int cmd, const char *argp,
+                                  int argi, long argl, long ret);
+diff -up openssl-1.0.1-beta2/apps/s_client.c.ipv6-apps openssl-1.0.1-beta2/apps/s_client.c
+--- openssl-1.0.1-beta2/apps/s_client.c.ipv6-apps      2012-02-02 12:56:27.238889388 +0100
++++ openssl-1.0.1-beta2/apps/s_client.c        2012-02-02 12:56:27.258889561 +0100
+@@ -563,7 +563,7 @@ int MAIN(int argc, char **argv)
+       int cbuf_len,cbuf_off;
+       int sbuf_len,sbuf_off;
+       fd_set readfds,writefds;
+-      short port=PORT;
++      char *port_str = PORT_STR;
+       int full_log=1;
+       char *host=SSL_HOST_NAME;
+       char *cert_file=NULL,*key_file=NULL;
+@@ -670,13 +670,12 @@ int MAIN(int argc, char **argv)
+               else if (strcmp(*argv,"-port") == 0)
+                       {
+                       if (--argc < 1) goto bad;
+-                      port=atoi(*(++argv));
+-                      if (port == 0) goto bad;
++                      port_str= *(++argv);
+                       }
+               else if (strcmp(*argv,"-connect") == 0)
+                       {
+                       if (--argc < 1) goto bad;
+-                      if (!extract_host_port(*(++argv),&host,NULL,&port))
++                      if (!extract_host_port(*(++argv),&host,&port_str))
+                               goto bad;
+                       }
+               else if (strcmp(*argv,"-verify") == 0)
+@@ -1260,7 +1259,7 @@ bad:
+ re_start:
+-      if (init_client(&s,host,port,socket_type) == 0)
++      if (init_client(&s,host,port_str,socket_type) == 0)
+               {
+               BIO_printf(bio_err,"connect:errno=%d\n",get_last_socket_error());
+               SHUTDOWN(s);
+diff -up openssl-1.0.1-beta2/apps/s_server.c.ipv6-apps openssl-1.0.1-beta2/apps/s_server.c
+--- openssl-1.0.1-beta2/apps/s_server.c.ipv6-apps      2012-02-02 12:56:27.239889397 +0100
++++ openssl-1.0.1-beta2/apps/s_server.c        2012-02-02 12:56:27.259889570 +0100
+@@ -929,7 +929,7 @@ int MAIN(int argc, char *argv[])
+       {
+       X509_VERIFY_PARAM *vpm = NULL;
+       int badarg = 0;
+-      short port=PORT;
++      char *port_str = PORT_STR;
+       char *CApath=NULL,*CAfile=NULL;
+       unsigned char *context = NULL;
+       char *dhfile = NULL;
+@@ -1010,8 +1010,7 @@ int MAIN(int argc, char *argv[])
+                        (strcmp(*argv,"-accept") == 0))
+                       {
+                       if (--argc < 1) goto bad;
+-                      if (!extract_port(*(++argv),&port))
+-                              goto bad;
++                      port_str= *(++argv);
+                       }
+               else if (strcmp(*argv,"-verify") == 0)
+                       {
+@@ -1888,9 +1887,9 @@ bad:
+       BIO_printf(bio_s_out,"ACCEPT\n");
+       (void)BIO_flush(bio_s_out);
+       if (www)
+-              do_server(port,socket_type,&accept_socket,www_body, context);
++              do_server(port_str,socket_type,&accept_socket,www_body, context);
+       else
+-              do_server(port,socket_type,&accept_socket,sv_body, context);
++              do_server(port_str,socket_type,&accept_socket,sv_body, context);
+       print_stats(bio_s_out,ctx);
+       ret=0;
+ end:
+diff -up openssl-1.0.1-beta2/apps/s_socket.c.ipv6-apps openssl-1.0.1-beta2/apps/s_socket.c
+--- openssl-1.0.1-beta2/apps/s_socket.c.ipv6-apps      2011-12-02 15:39:40.000000000 +0100
++++ openssl-1.0.1-beta2/apps/s_socket.c        2012-01-19 14:53:30.000000000 +0100
+@@ -102,9 +102,7 @@ static struct hostent *GetHostByName(cha
+ static void ssl_sock_cleanup(void);
+ #endif
+ static int ssl_sock_init(void);
+-static int init_client_ip(int *sock,unsigned char ip[4], int port, int type);
+-static int init_server(int *sock, int port, int type);
+-static int init_server_long(int *sock, int port,char *ip, int type);
++static int init_server(int *sock, char *port, int type);
+ static int do_accept(int acc_sock, int *sock, char **host);
+ static int host_ip(char *str, unsigned char ip[4]);
+@@ -234,57 +232,70 @@ static int ssl_sock_init(void)
+       return(1);
+       }
+-int init_client(int *sock, char *host, int port, int type)
++int init_client(int *sock, char *host, char *port, int type)
+       {
+-      unsigned char ip[4];
+-
+-      memset(ip, '\0', sizeof ip);
+-      if (!host_ip(host,&(ip[0])))
+-              return 0;
+-      return init_client_ip(sock,ip,port,type);
+-      }
+-
+-static int init_client_ip(int *sock, unsigned char ip[4], int port, int type)
+-      {
+-      unsigned long addr;
+-      struct sockaddr_in them;
+-      int s,i;
++      struct addrinfo *res, *res0, hints;
++      char * failed_call = NULL;
++      int s;
++      int e;
+       if (!ssl_sock_init()) return(0);
+-      memset((char *)&them,0,sizeof(them));
+-      them.sin_family=AF_INET;
+-      them.sin_port=htons((unsigned short)port);
+-      addr=(unsigned long)
+-              ((unsigned long)ip[0]<<24L)|
+-              ((unsigned long)ip[1]<<16L)|
+-              ((unsigned long)ip[2]<< 8L)|
+-              ((unsigned long)ip[3]);
+-      them.sin_addr.s_addr=htonl(addr);
+-
+-      if (type == SOCK_STREAM)
+-              s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
+-      else /* ( type == SOCK_DGRAM) */
+-              s=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
+-                      
+-      if (s == INVALID_SOCKET) { perror("socket"); return(0); }
++      memset(&hints, '\0', sizeof(hints));
++      hints.ai_socktype = type;
++      hints.ai_flags = AI_ADDRCONFIG;
++
++      e = getaddrinfo(host, port, &hints, &res);
++      if (e)
++      {
++              fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(e));
++              if (e == EAI_SYSTEM)
++                      perror("getaddrinfo");
++              return (0);
++              }
++      res0 = res;
++      while (res)
++              {
++              s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
++              if (s == INVALID_SOCKET)
++                      {
++                      failed_call = "socket";
++                      goto nextres;
++                      }
+ #if defined(SO_KEEPALIVE) && !defined(OPENSSL_SYS_MPE)
+       if (type == SOCK_STREAM)
+               {
+-              i=0;
+-              i=setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i));
+-              if (i < 0) { perror("keepalive"); return(0); }
++                      int i=0;
++                      i=setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,
++                              (char *)&i,sizeof(i));
++                      if (i < 0) {
++                              failed_call = "keepalive";
++                              goto nextres;
++                              }
+               }
+ #endif
+-
+-      if (connect(s,(struct sockaddr *)&them,sizeof(them)) == -1)
+-              { closesocket(s); perror("connect"); return(0); }
++              if (connect(s,(struct sockaddr *)res->ai_addr,
++                      res->ai_addrlen) == 0)
++                      {
++                      freeaddrinfo(res0);
+       *sock=s;
+       return(1);
+       }
+-int do_server(int port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context)
++              failed_call = "socket";
++nextres:
++              if (s != INVALID_SOCKET)
++                      close(s);
++              res = res->ai_next;
++              }
++      freeaddrinfo(res0);
++
++      perror(failed_call);
++      return(0);
++      }
++
++int do_server(char *port, int type, int *ret, int (*cb)(char *hostname, int s, unsigned char *context), unsigned char *context)
+       {
+       int sock;
+       char *name = NULL;
+@@ -322,33 +333,45 @@ int do_server(int port, int type, int *r
+               }
+       }
+-static int init_server_long(int *sock, int port, char *ip, int type)
++static int init_server(int *sock, char *port, int type)
+       {
+-      int ret=0;
+-      struct sockaddr_in server;
+-      int s= -1;
++      struct addrinfo *res, *res0 = NULL, hints;
++      char * failed_call = NULL;
++      int s;
++      int e;
+       if (!ssl_sock_init()) return(0);
+-      memset((char *)&server,0,sizeof(server));
+-      server.sin_family=AF_INET;
+-      server.sin_port=htons((unsigned short)port);
+-      if (ip == NULL)
+-              server.sin_addr.s_addr=INADDR_ANY;
+-      else
+-/* Added for T3E, address-of fails on bit field (beckman@acl.lanl.gov) */
+-#ifndef BIT_FIELD_LIMITS
+-              memcpy(&server.sin_addr.s_addr,ip,4);
+-#else
+-              memcpy(&server.sin_addr,ip,4);
+-#endif
++      memset(&hints, '\0', sizeof(hints));
++        hints.ai_family = AF_INET6;
++tryipv4:
++      hints.ai_socktype = type;
++      hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG;
+       
+-              if (type == SOCK_STREAM)
+-                      s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
+-              else /* type == SOCK_DGRAM */
+-                      s=socket(AF_INET, SOCK_DGRAM,IPPROTO_UDP);
++      e = getaddrinfo(NULL, port, &hints, &res);
++      if (e)
++              {
++              fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(e));
++              if (e == EAI_SYSTEM)
++                      perror("getaddrinfo");
++              return (0);
++              }
+-      if (s == INVALID_SOCKET) goto err;
++      res0 = res;
++      while (res)
++              {
++              s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
++              if (s == INVALID_SOCKET)
++                      {
++                      failed_call = "socket";
++                      goto nextres;
++                      }
++              if (hints.ai_family == AF_INET6)
++                      {
++                      int j = 0;
++                      setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
++                                 (void *) &j, sizeof j);
++                      }
+ #if defined SOL_SOCKET && defined SO_REUSEADDR
+               {
+               int j = 1;
+@@ -356,35 +379,49 @@ static int init_server_long(int *sock, i
+                          (void *) &j, sizeof j);
+               }
+ #endif
+-      if (bind(s,(struct sockaddr *)&server,sizeof(server)) == -1)
++
++              if (bind(s,(struct sockaddr *)res->ai_addr, res->ai_addrlen) == -1)
+               {
+-#ifndef OPENSSL_SYS_WINDOWS
+-              perror("bind");
+-#endif
+-              goto err;
++                      failed_call = "bind";
++                      goto nextres;
+               }
+-      /* Make it 128 for linux */
+-      if (type==SOCK_STREAM && listen(s,128) == -1) goto err;
+-      *sock=s;
+-      ret=1;
+-err:
+-      if ((ret == 0) && (s != -1))
++              if (type==SOCK_STREAM && listen(s,128) == -1)
+               {
+-              SHUTDOWN(s);
++                      failed_call = "listen";
++                      goto nextres;
+               }
+-      return(ret);
++
++              *sock=s;
++              return(1);
++
++nextres:
++              if (s != INVALID_SOCKET)
++                      close(s);
++              res = res->ai_next;
+       }
++      if (res0)
++              freeaddrinfo(res0);
+-static int init_server(int *sock, int port, int type)
++      if (s == INVALID_SOCKET)
+       {
+-      return(init_server_long(sock, port, NULL, type));
++              if (hints.ai_family == AF_INET6)
++              {
++                      hints.ai_family = AF_INET;
++                      goto tryipv4;
++              }
++              perror("socket");
++              return(0);
++      }
++
++      perror(failed_call);
++      return(0);
+       }
+ static int do_accept(int acc_sock, int *sock, char **host)
+       {
++      static struct sockaddr_storage from;
++      char buffer[NI_MAXHOST];
+       int ret;
+-      struct hostent *h1,*h2;
+-      static struct sockaddr_in from;
+       int len;
+ /*    struct linger ling; */
+@@ -431,135 +468,58 @@ redoit:
+ */
+       if (host == NULL) goto end;
+-#ifndef BIT_FIELD_LIMITS
+-      /* I should use WSAAsyncGetHostByName() under windows */
+-      h1=gethostbyaddr((char *)&from.sin_addr.s_addr,
+-              sizeof(from.sin_addr.s_addr),AF_INET);
+-#else
+-      h1=gethostbyaddr((char *)&from.sin_addr,
+-              sizeof(struct in_addr),AF_INET);
+-#endif
+-      if (h1 == NULL)
++
++      if (getnameinfo((struct sockaddr *)&from, sizeof(from),
++              buffer, sizeof(buffer),
++              NULL, 0, 0))
+               {
+-              BIO_printf(bio_err,"bad gethostbyaddr\n");
++              BIO_printf(bio_err,"getnameinfo failed\n");
+               *host=NULL;
+               /* return(0); */
+               }
+       else
+               {
+-              if ((*host=(char *)OPENSSL_malloc(strlen(h1->h_name)+1)) == NULL)
++              if ((*host=(char *)OPENSSL_malloc(strlen(buffer)+1)) == NULL)
+                       {
+                       perror("OPENSSL_malloc");
+                       return(0);
+                       }
+-              BUF_strlcpy(*host,h1->h_name,strlen(h1->h_name)+1);
+-
+-              h2=GetHostByName(*host);
+-              if (h2 == NULL)
+-                      {
+-                      BIO_printf(bio_err,"gethostbyname failure\n");
+-                      return(0);
+-                      }
+-              if (h2->h_addrtype != AF_INET)
+-                      {
+-                      BIO_printf(bio_err,"gethostbyname addr is not AF_INET\n");
+-                      return(0);
+-                      }
++              strcpy(*host, buffer);
+               }
+ end:
+       *sock=ret;
+       return(1);
+       }
+-int extract_host_port(char *str, char **host_ptr, unsigned char *ip,
+-           short *port_ptr)
++int extract_host_port(char *str, char **host_ptr, 
++           char **port_ptr)
+       {
+-      char *h,*p;
++      char *h,*p,*x;
+-      h=str;
+-      p=strchr(str,':');
++      x=h=str;
++      if (*h == '[')
++              {
++              h++;
++              p=strchr(h,']');
+       if (p == NULL)
+               {
+-              BIO_printf(bio_err,"no port defined\n");
++                      BIO_printf(bio_err,"no ending bracket for IPv6 address\n");
+               return(0);
+               }
+       *(p++)='\0';
+-
+-      if ((ip != NULL) && !host_ip(str,ip))
+-              goto err;
+-      if (host_ptr != NULL) *host_ptr=h;
+-
+-      if (!extract_port(p,port_ptr))
+-              goto err;
+-      return(1);
+-err:
+-      return(0);
++              x = p;
+       }
+-
+-static int host_ip(char *str, unsigned char ip[4])
+-      {
+-      unsigned int in[4]; 
+-      int i;
+-
+-      if (sscanf(str,"%u.%u.%u.%u",&(in[0]),&(in[1]),&(in[2]),&(in[3])) == 4)
+-              {
+-              for (i=0; i<4; i++)
+-                      if (in[i] > 255)
+-                              {
+-                              BIO_printf(bio_err,"invalid IP address\n");
+-                              goto err;
+-                              }
+-              ip[0]=in[0];
+-              ip[1]=in[1];
+-              ip[2]=in[2];
+-              ip[3]=in[3];
+-              }
+-      else
+-              { /* do a gethostbyname */
+-              struct hostent *he;
+-
+-              if (!ssl_sock_init()) return(0);
+-
+-              he=GetHostByName(str);
+-              if (he == NULL)
+-                      {
+-                      BIO_printf(bio_err,"gethostbyname failure\n");
+-                      goto err;
+-                      }
+-              /* cast to short because of win16 winsock definition */
+-              if ((short)he->h_addrtype != AF_INET)
++      p=strchr(x,':');
++      if (p == NULL)
+                       {
+-                      BIO_printf(bio_err,"gethostbyname addr is not AF_INET\n");
+-                      return(0);
+-                      }
+-              ip[0]=he->h_addr_list[0][0];
+-              ip[1]=he->h_addr_list[0][1];
+-              ip[2]=he->h_addr_list[0][2];
+-              ip[3]=he->h_addr_list[0][3];
+-              }
+-      return(1);
+-err:
++              BIO_printf(bio_err,"no port defined\n");
+       return(0);
+       }
++      *(p++)='\0';
+-int extract_port(char *str, short *port_ptr)
+-      {
+-      int i;
+-      struct servent *s;
++      if (host_ptr != NULL) *host_ptr=h;
++      if (port_ptr != NULL) *port_ptr=p;
+-      i=atoi(str);
+-      if (i != 0)
+-              *port_ptr=(unsigned short)i;
+-      else
+-              {
+-              s=getservbyname(str,"tcp");
+-              if (s == NULL)
+-                      {
+-                      BIO_printf(bio_err,"getservbyname failure for %s\n",str);
+-                      return(0);
+-                      }
+-              *port_ptr=ntohs((unsigned short)s->s_port);
+-              }
+       return(1);
+       }
diff --git a/openssl/patches/openssl-1.0.1-beta2-padlock64.patch b/openssl/patches/openssl-1.0.1-beta2-padlock64.patch
new file mode 100644 (file)
index 0000000..4b7f7da
--- /dev/null
@@ -0,0 +1,193 @@
+diff -up openssl-1.0.1-beta2/engines/e_padlock.c.padlock64 openssl-1.0.1-beta2/engines/e_padlock.c
+--- openssl-1.0.1-beta2/engines/e_padlock.c.padlock64  2011-06-21 18:42:15.000000000 +0200
++++ openssl-1.0.1-beta2/engines/e_padlock.c    2012-02-06 20:18:52.039537799 +0100
+@@ -101,7 +101,10 @@
+    compiler choice is limited to GCC and Microsoft C. */
+ #undef COMPILE_HW_PADLOCK
+ #if !defined(I386_ONLY) && !defined(OPENSSL_NO_INLINE_ASM)
+-# if (defined(__GNUC__) && (defined(__i386__) || defined(__i386))) || \
++# if (defined(__GNUC__) && __GNUC__>=2 && \
++      (defined(__i386__) || defined(__i386) || \
++       defined(__x86_64__) || defined(__x86_64)) \
++     ) || \
+      (defined(_MSC_VER) && defined(_M_IX86))
+ #  define COMPILE_HW_PADLOCK
+ # endif
+@@ -137,7 +140,7 @@ void ENGINE_load_padlock (void)
+ # endif
+ #elif defined(__GNUC__)
+ # ifndef alloca
+-#  define alloca(s) __builtin_alloca(s)
++#  define alloca(s) __builtin_alloca((s))
+ # endif
+ #endif
+@@ -304,6 +307,7 @@ static volatile struct padlock_cipher_da
+  * =======================================================
+  */
+ #if defined(__GNUC__) && __GNUC__>=2
++#if defined(__i386__) || defined(__i386)
+ /*
+  * As for excessive "push %ebx"/"pop %ebx" found all over.
+  * When generating position-independent code GCC won't let
+@@ -383,21 +387,6 @@ padlock_available(void)
+       return padlock_use_ace + padlock_use_rng;
+ }
+-#ifndef OPENSSL_NO_AES
+-/* Our own htonl()/ntohl() */
+-static inline void
+-padlock_bswapl(AES_KEY *ks)
+-{
+-      size_t i = sizeof(ks->rd_key)/sizeof(ks->rd_key[0]);
+-      unsigned int *key = ks->rd_key;
+-
+-      while (i--) {
+-              asm volatile ("bswapl %0" : "+r"(*key));
+-              key++;
+-      }
+-}
+-#endif
+-
+ /* Force key reload from memory to the CPU microcode.
+    Loading EFLAGS from the stack clears EFLAGS[30] 
+    which does the trick. */
+@@ -455,12 +444,127 @@ static inline void *name(size_t cnt,            \
+               : "edx", "cc", "memory");       \
+       return iv;                              \
+ }
++#endif
++
++#elif defined(__x86_64__) || defined(__x86_64)
++
++/* Load supported features of the CPU to see if
++   the PadLock is available. */
++static int
++padlock_available(void)
++{
++      char vendor_string[16];
++      unsigned int eax, edx;
++      /* Are we running on the Centaur (VIA) CPU? */
++      eax = 0x00000000;
++      vendor_string[12] = 0;
++      asm volatile (
++              "cpuid\n"
++              "movl   %%ebx,(%1)\n"
++              "movl   %%edx,4(%1)\n"
++              "movl   %%ecx,8(%1)\n"
++              : "+a"(eax) : "r"(vendor_string) : "rbx", "rcx", "rdx");
++      if (strcmp(vendor_string, "CentaurHauls") != 0)
++              return 0;
++
++      /* Check for Centaur Extended Feature Flags presence */
++      eax = 0xC0000000;
++      asm volatile ("cpuid"
++              : "+a"(eax) : : "rbx", "rcx", "rdx");
++      if (eax < 0xC0000001)
++              return 0;
++
++      /* Read the Centaur Extended Feature Flags */
++      eax = 0xC0000001;
++      asm volatile ("cpuid"
++              : "+a"(eax), "=d"(edx) : : "rbx", "rcx");
++
++      /* Fill up some flags */
++      padlock_use_ace = ((edx & (0x3<<6)) == (0x3<<6));
++      padlock_use_rng = ((edx & (0x3<<2)) == (0x3<<2));
++
++      return padlock_use_ace + padlock_use_rng;
++}
++
++/* Force key reload from memory to the CPU microcode.
++   Loading EFLAGS from the stack clears EFLAGS[30] 
++   which does the trick. */
++static inline void
++padlock_reload_key(void)
++{
++      asm volatile ("pushfq; popfq");
++}
++
++#ifndef OPENSSL_NO_AES
++/*
++ * This is heuristic key context tracing. At first one
++ * believes that one should use atomic swap instructions,
++ * but it's not actually necessary. Point is that if
++ * padlock_saved_context was changed by another thread
++ * after we've read it and before we compare it with cdata,
++ * our key *shall* be reloaded upon thread context switch
++ * and we are therefore set in either case...
++ */
++static inline void
++padlock_verify_context(struct padlock_cipher_data *cdata)
++{
++      asm volatile (
++      "pushfq\n"
++"     btl     $30,(%%rsp)\n"
++"     jnc     1f\n"
++"     cmpq    %2,%1\n"
++"     je      1f\n"
++"     popfq\n"
++"     subq    $8,%%rsp\n"
++"1:   addq    $8,%%rsp\n"
++"     movq    %2,%0"
++      :"+m"(padlock_saved_context)
++      : "r"(padlock_saved_context), "r"(cdata) : "cc");
++}
++
++/* Template for padlock_xcrypt_* modes */
++/* BIG FAT WARNING: 
++ *    The offsets used with 'leal' instructions
++ *    describe items of the 'padlock_cipher_data'
++ *    structure.
++ */
++#define PADLOCK_XCRYPT_ASM(name,rep_xcrypt)   \
++static inline void *name(size_t cnt,          \
++      struct padlock_cipher_data *cdata,      \
++      void *out, const void *inp)             \
++{     void *iv;                               \
++      asm volatile ( "leaq    16(%0),%%rdx\n" \
++              "       leaq    32(%0),%%rbx\n" \
++                      rep_xcrypt "\n"         \
++              : "=a"(iv), "=c"(cnt), "=D"(out), "=S"(inp) \
++              : "0"(cdata), "1"(cnt), "2"(out), "3"(inp)  \
++              : "rbx", "rdx", "cc", "memory");        \
++      return iv;                              \
++}
++#endif
++
++#endif        /* cpu */
++
++#ifndef OPENSSL_NO_AES
+ /* Generate all functions with appropriate opcodes */
+ PADLOCK_XCRYPT_ASM(padlock_xcrypt_ecb, ".byte 0xf3,0x0f,0xa7,0xc8")   /* rep xcryptecb */
+ PADLOCK_XCRYPT_ASM(padlock_xcrypt_cbc, ".byte 0xf3,0x0f,0xa7,0xd0")   /* rep xcryptcbc */
+ PADLOCK_XCRYPT_ASM(padlock_xcrypt_cfb, ".byte 0xf3,0x0f,0xa7,0xe0")   /* rep xcryptcfb */
+ PADLOCK_XCRYPT_ASM(padlock_xcrypt_ofb, ".byte 0xf3,0x0f,0xa7,0xe8")   /* rep xcryptofb */
++
++/* Our own htonl()/ntohl() */
++static inline void
++padlock_bswapl(AES_KEY *ks)
++{
++      size_t i = sizeof(ks->rd_key)/sizeof(ks->rd_key[0]);
++      unsigned int *key = ks->rd_key;
++
++      while (i--) {
++              asm volatile ("bswapl %0" : "+r"(*key));
++              key++;
++      }
++}
+ #endif
+ /* The RNG call itself */
+@@ -491,8 +595,8 @@ padlock_xstore(void *addr, unsigned int
+ static inline unsigned char *
+ padlock_memcpy(void *dst,const void *src,size_t n)
+ {
+-      long       *d=dst;
+-      const long *s=src;
++      size_t       *d=dst;
++      const size_t *s=src;
+       n /= sizeof(*d);
+       do { *d++ = *s++; } while (--n);
diff --git a/openssl/patches/openssl-1.0.1-beta2-ssl-op-all.patch b/openssl/patches/openssl-1.0.1-beta2-ssl-op-all.patch
new file mode 100644 (file)
index 0000000..e803386
--- /dev/null
@@ -0,0 +1,21 @@
+diff -up openssl-1.0.1-beta2/ssl/ssl.h.op-all openssl-1.0.1-beta2/ssl/ssl.h
+--- openssl-1.0.1-beta2/ssl/ssl.h.op-all       2012-02-02 12:49:00.828035916 +0100
++++ openssl-1.0.1-beta2/ssl/ssl.h      2012-02-02 12:52:27.297818182 +0100
+@@ -540,7 +540,7 @@ struct ssl_session_st
+ #define SSL_OP_NETSCAPE_CHALLENGE_BUG                 0x00000002L
+ /* Allow initial connection to servers that don't support RI */
+ #define SSL_OP_LEGACY_SERVER_CONNECT                  0x00000004L
+-#define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG               0x00000008L
++#define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG               0x00000008L /* no effect since 1.0.0c due to CVE-2010-4180 */
+ #define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG            0x00000010L
+ #define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER             0x00000020L
+ #define SSL_OP_MSIE_SSLV2_RSA_PADDING                 0x00000040L /* no effect since 0.9.7h and 0.9.8b */
+@@ -558,7 +558,7 @@ struct ssl_session_st
+ /* SSL_OP_ALL: various bug workarounds that should be rather harmless.
+  *             This used to be 0x000FFFFFL before 0.9.7. */
+-#define SSL_OP_ALL                                    0x80000BFFL
++#define SSL_OP_ALL                                    0x80000FF7L /* we still have to include SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS */
+ /* DTLS options */
+ #define SSL_OP_NO_QUERY_MTU                 0x00001000L
diff --git a/openssl/patches/openssl-1.0.1-beta3-fips.patch b/openssl/patches/openssl-1.0.1-beta3-fips.patch
new file mode 100644 (file)
index 0000000..5308c04
--- /dev/null
@@ -0,0 +1,21143 @@
+diff -up openssl-1.0.1-beta3/apps/pkcs12.c.fips openssl-1.0.1-beta3/apps/pkcs12.c
+--- openssl-1.0.1-beta3/apps/pkcs12.c.fips     2011-03-13 19:20:23.000000000 +0100
++++ openssl-1.0.1-beta3/apps/pkcs12.c  2012-02-29 10:33:02.773294716 +0100
+@@ -67,6 +67,9 @@
+ #include <openssl/err.h>
+ #include <openssl/pem.h>
+ #include <openssl/pkcs12.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
+ #define PROG pkcs12_main
+@@ -130,6 +133,11 @@ int MAIN(int argc, char **argv)
+     apps_startup();
++#ifdef OPENSSL_FIPS
++    if (FIPS_mode())
++      cert_pbe = key_pbe; /* cannot use RC2 in the FIPS mode */
++#endif
++
+     enc = EVP_des_ede3_cbc();
+     if (bio_err == NULL ) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE);
+diff -up openssl-1.0.1-beta3/apps/speed.c.fips openssl-1.0.1-beta3/apps/speed.c
+--- openssl-1.0.1-beta3/apps/speed.c.fips      2012-01-11 22:49:16.000000000 +0100
++++ openssl-1.0.1-beta3/apps/speed.c   2012-02-29 10:33:02.774294724 +0100
+@@ -195,7 +195,6 @@
+ #ifdef OPENSSL_DOING_MAKEDEPEND
+ #undef AES_set_encrypt_key
+ #undef AES_set_decrypt_key
+-#undef DES_set_key_unchecked
+ #endif
+ #define BF_set_key    private_BF_set_key
+ #define CAST_set_key  private_CAST_set_key
+@@ -203,7 +202,6 @@
+ #define SEED_set_key  private_SEED_set_key
+ #define RC2_set_key   private_RC2_set_key
+ #define RC4_set_key   private_RC4_set_key
+-#define DES_set_key_unchecked private_DES_set_key_unchecked
+ #define AES_set_encrypt_key   private_AES_set_encrypt_key
+ #define AES_set_decrypt_key   private_AES_set_decrypt_key
+ #define Camellia_set_key      private_Camellia_set_key
+@@ -941,7 +939,12 @@ int MAIN(int argc, char **argv)
+ #ifndef OPENSSL_NO_RSA
+                       if (strcmp(*argv,"rsa") == 0)
+                       {
++#ifdef OPENSSL_FIPS
++                              if (!FIPS_mode())
++#endif
++                              {
+                       rsa_doit[R_RSA_512]=1;
++                              }
+                       rsa_doit[R_RSA_1024]=1;
+                       rsa_doit[R_RSA_2048]=1;
+                       rsa_doit[R_RSA_4096]=1;
+@@ -951,7 +954,12 @@ int MAIN(int argc, char **argv)
+ #ifndef OPENSSL_NO_DSA
+                       if (strcmp(*argv,"dsa") == 0)
+                       {
++#ifdef OPENSSL_FIPS
++                              if (!FIPS_mode())
++#endif
++                              {
+                       dsa_doit[R_DSA_512]=1;
++                              }
+                       dsa_doit[R_DSA_1024]=1;
+                       dsa_doit[R_DSA_2048]=1;
+                       }
+@@ -1226,30 +1234,54 @@ int MAIN(int argc, char **argv)
+       AES_set_encrypt_key(key32,256,&aes_ks3);
+ #endif
+ #ifndef OPENSSL_NO_CAMELLIA
++      if (doit[D_CBC_128_CML] || doit[D_CBC_192_CML] || doit[D_CBC_256_CML])
++          {
+       Camellia_set_key(key16,128,&camellia_ks1);
+       Camellia_set_key(ckey24,192,&camellia_ks2);
+       Camellia_set_key(ckey32,256,&camellia_ks3);
++          }
+ #endif
+ #ifndef OPENSSL_NO_IDEA
++      if (doit[D_CBC_IDEA])
++          {
+       idea_set_encrypt_key(key16,&idea_ks);
++          }
+ #endif
+ #ifndef OPENSSL_NO_SEED
++      if (doit[D_CBC_SEED])
++          {
+       SEED_set_key(key16,&seed_ks);
++          }
+ #endif
+ #ifndef OPENSSL_NO_RC4
++      if (doit[D_RC4])
++          {
+       RC4_set_key(&rc4_ks,16,key16);
++          }
+ #endif
+ #ifndef OPENSSL_NO_RC2
++      if (doit[D_CBC_RC2])
++          {
+       RC2_set_key(&rc2_ks,16,key16,128);
++          }
+ #endif
+ #ifndef OPENSSL_NO_RC5
++      if (doit[D_CBC_RC5])
++          {
+       RC5_32_set_key(&rc5_ks,16,key16,12);
++          }
+ #endif
+ #ifndef OPENSSL_NO_BF
++      if (doit[D_CBC_BF])
++          {
+       BF_set_key(&bf_ks,16,key16);
++          }
+ #endif
+ #ifndef OPENSSL_NO_CAST
++      if (doit[D_CBC_CAST])
++          {
+       CAST_set_key(&cast_ks,16,key16);
++          }
+ #endif
+ #ifndef OPENSSL_NO_RSA
+       memset(rsa_c,0,sizeof(rsa_c));
+diff -up openssl-1.0.1-beta3/Configure.fips openssl-1.0.1-beta3/Configure
+--- openssl-1.0.1-beta3/Configure.fips 2012-02-29 10:33:02.738294416 +0100
++++ openssl-1.0.1-beta3/Configure      2012-02-29 10:33:02.775294732 +0100
+@@ -993,11 +993,6 @@ if (defined($disabled{"md5"}) || defined
+       $disabled{"ssl2"} = "forced";
+       }
+-if ($fips && $fipslibdir eq "")
+-      {
+-      $fipslibdir = $fipsdir . "/lib/";
+-      }
+-
+ # RSAX ENGINE sets default non-FIPS RSA method.
+ if ($fips)
+       {
+@@ -1478,7 +1473,6 @@ $cflags.=" -DOPENSSL_BN_ASM_GF2m" if ($b
+ if ($fips)
+       {
+       $openssl_other_defines.="#define OPENSSL_FIPS\n";
+-      $cflags .= " -I\$(FIPSDIR)/include";
+       }
+ $cpuid_obj="mem_clr.o"        unless ($cpuid_obj =~ /\.o$/);
+@@ -1665,9 +1659,12 @@ while (<IN>)
+       s/^FIPSDIR=.*/FIPSDIR=$fipsdir/;
+       s/^FIPSLIBDIR=.*/FIPSLIBDIR=$fipslibdir/;
+-      s/^FIPSCANLIB=.*/FIPSCANLIB=libcrypto/ if $fips;
+       s/^BASEADDR=.*/BASEADDR=$baseaddr/;
++      if ($fips)
++              {
++              s/^FIPS=.*/FIPS=yes/;
++              }
+       s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
+       s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
+       s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
+diff -up openssl-1.0.1-beta3/crypto/aes/aes_misc.c.fips openssl-1.0.1-beta3/crypto/aes/aes_misc.c
+--- openssl-1.0.1-beta3/crypto/aes/aes_misc.c.fips     2011-06-05 19:36:33.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/aes/aes_misc.c  2012-02-29 10:33:02.776294741 +0100
+@@ -69,17 +69,11 @@ const char *AES_options(void) {
+ int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
+                       AES_KEY *key)
+       {
+-#ifdef OPENSSL_FIPS
+-      fips_cipher_abort(AES);
+-#endif
+       return private_AES_set_encrypt_key(userKey, bits, key);
+       }
+ int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
+                       AES_KEY *key)
+       {
+-#ifdef OPENSSL_FIPS
+-      fips_cipher_abort(AES);
+-#endif
+       return private_AES_set_decrypt_key(userKey, bits, key);
+       }
+diff -up openssl-1.0.1-beta3/crypto/cmac/cmac.c.fips openssl-1.0.1-beta3/crypto/cmac/cmac.c
+--- openssl-1.0.1-beta3/crypto/cmac/cmac.c.fips        2011-06-12 17:07:25.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/cmac/cmac.c     2012-02-29 10:33:02.776294741 +0100
+@@ -107,13 +107,6 @@ CMAC_CTX *CMAC_CTX_new(void)
+ void CMAC_CTX_cleanup(CMAC_CTX *ctx)
+       {
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !ctx->cctx.engine)
+-              {
+-              FIPS_cmac_ctx_cleanup(ctx);
+-              return;
+-              }
+-#endif
+       EVP_CIPHER_CTX_cleanup(&ctx->cctx);
+       OPENSSL_cleanse(ctx->tbl, EVP_MAX_BLOCK_LENGTH);
+       OPENSSL_cleanse(ctx->k1, EVP_MAX_BLOCK_LENGTH);
+@@ -164,11 +157,6 @@ int CMAC_Init(CMAC_CTX *ctx, const void
+                       EVPerr(EVP_F_CMAC_INIT, EVP_R_DISABLED_FOR_FIPS);
+                       return 0;
+                       }
+-              /* Other algorithm blocking will be done in FIPS_cmac_init,
+-               * via FIPS_cipherinit().
+-               */
+-              if (!impl && !ctx->cctx.engine)
+-                      return FIPS_cmac_init(ctx, key, keylen, cipher, NULL);
+               }
+ #endif
+       /* All zeros means restart */
+@@ -214,10 +202,6 @@ int CMAC_Update(CMAC_CTX *ctx, const voi
+       {
+       const unsigned char *data = in;
+       size_t bl;
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !ctx->cctx.engine)
+-              return FIPS_cmac_update(ctx, in, dlen);
+-#endif
+       if (ctx->nlast_block == -1)
+               return 0;
+       if (dlen == 0)
+@@ -259,10 +243,6 @@ int CMAC_Update(CMAC_CTX *ctx, const voi
+ int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen)
+       {
+       int i, bl, lb;
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !ctx->cctx.engine)
+-              return FIPS_cmac_final(ctx, out, poutlen);
+-#endif
+       if (ctx->nlast_block == -1)
+               return 0;
+       bl = EVP_CIPHER_CTX_block_size(&ctx->cctx);
+diff -up openssl-1.0.1-beta3/crypto/crypto.h.fips openssl-1.0.1-beta3/crypto/crypto.h
+--- openssl-1.0.1-beta3/crypto/crypto.h.fips   2012-02-29 10:33:02.538292696 +0100
++++ openssl-1.0.1-beta3/crypto/crypto.h        2012-02-29 10:33:02.777294750 +0100
+@@ -553,24 +553,29 @@ int FIPS_mode_set(int r);
+ void OPENSSL_init(void);
+ #define fips_md_init(alg) fips_md_init_ctx(alg, alg)
++#define nonfips_md_init(alg) nonfips_md_init_ctx(alg, alg)
++#define fips_md_init_ctx(alg, cx) \
++      int alg##_Init(cx##_CTX *c)
+ #ifdef OPENSSL_FIPS
+-#define fips_md_init_ctx(alg, cx) \
++#define nonfips_md_init_ctx(alg, cx) \
+       int alg##_Init(cx##_CTX *c) \
+       { \
+       if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \
+-              "Low level API call to digest " #alg " forbidden in FIPS mode!"); \
++              "Digest " #alg " forbidden in FIPS mode!"); \
+       return private_##alg##_Init(c); \
+       } \
+       int private_##alg##_Init(cx##_CTX *c)
+ #define fips_cipher_abort(alg) \
+       if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \
+-              "Low level API call to cipher " #alg " forbidden in FIPS mode!")
++              "Cipher " #alg " forbidden in FIPS mode!")
++
++/* die if FIPS selftest failed */
++void FIPS_selftest_check(void);
+ #else
+-#define fips_md_init_ctx(alg, cx) \
+-      int alg##_Init(cx##_CTX *c)
++#define nonfips_md_init_ctx(alg, cx) fips_md_init_ctx(alg, cx)
+ #define fips_cipher_abort(alg) while(0)
+ #endif
+@@ -580,6 +585,9 @@ void OPENSSL_init(void);
+  */
+ void ERR_load_CRYPTO_strings(void);
++#define OPENSSL_HAVE_INIT     1
++void OPENSSL_init_library(void);
++
+ /* Error codes for the CRYPTO functions. */
+ /* Function codes. */
+diff -up openssl-1.0.1-beta3/crypto/des/des.h.fips openssl-1.0.1-beta3/crypto/des/des.h
+--- openssl-1.0.1-beta3/crypto/des/des.h.fips  2012-02-29 10:33:02.605293272 +0100
++++ openssl-1.0.1-beta3/crypto/des/des.h       2012-02-29 10:33:02.777294750 +0100
+@@ -224,9 +224,6 @@ int DES_set_key(const_DES_cblock *key,DE
+ int DES_key_sched(const_DES_cblock *key,DES_key_schedule *schedule);
+ int DES_set_key_checked(const_DES_cblock *key,DES_key_schedule *schedule);
+ void DES_set_key_unchecked(const_DES_cblock *key,DES_key_schedule *schedule);
+-#ifdef OPENSSL_FIPS
+-void private_DES_set_key_unchecked(const_DES_cblock *key,DES_key_schedule *schedule);
+-#endif
+ void DES_string_to_key(const char *str,DES_cblock *key);
+ void DES_string_to_2keys(const char *str,DES_cblock *key1,DES_cblock *key2);
+ void DES_cfb64_encrypt(const unsigned char *in,unsigned char *out,long length,
+diff -up openssl-1.0.1-beta3/crypto/des/set_key.c.fips openssl-1.0.1-beta3/crypto/des/set_key.c
+--- openssl-1.0.1-beta3/crypto/des/set_key.c.fips      2011-06-01 18:54:04.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/des/set_key.c   2012-02-29 10:33:02.777294750 +0100
+@@ -337,13 +337,6 @@ int DES_set_key_checked(const_DES_cblock
+       }
+ void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule)
+-#ifdef OPENSSL_FIPS
+-      {
+-      fips_cipher_abort(DES);
+-      private_DES_set_key_unchecked(key, schedule);
+-      }
+-void private_DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule)
+-#endif
+       {
+       static const int shifts2[16]={0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0};
+       register DES_LONG c,d,t,s,t2;
+diff -up openssl-1.0.1-beta3/crypto/dh/dh_gen.c.fips openssl-1.0.1-beta3/crypto/dh/dh_gen.c
+--- openssl-1.0.1-beta3/crypto/dh/dh_gen.c.fips        2011-06-09 17:21:46.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/dh/dh_gen.c     2012-02-29 10:33:02.778294759 +0100
+@@ -84,11 +84,6 @@ int DH_generate_parameters_ex(DH *ret, i
+ #endif
+       if(ret->meth->generate_params)
+               return ret->meth->generate_params(ret, prime_len, generator, cb);
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode())
+-              return FIPS_dh_generate_parameters_ex(ret, prime_len,
+-                                                      generator, cb);
+-#endif
+       return dh_builtin_genparams(ret, prime_len, generator, cb);
+       }
+@@ -123,6 +118,20 @@ static int dh_builtin_genparams(DH *ret,
+       int g,ok= -1;
+       BN_CTX *ctx=NULL;
++#ifdef OPENSSL_FIPS
++      if(FIPS_selftest_failed())
++              {
++              FIPSerr(FIPS_F_DH_BUILTIN_GENPARAMS,FIPS_R_FIPS_SELFTEST_FAILED);
++              return 0;
++              }
++
++      if (FIPS_mode() && (prime_len < OPENSSL_DH_FIPS_MIN_MODULUS_BITS))
++              {
++              DHerr(DH_F_DH_BUILTIN_GENPARAMS, DH_R_KEY_SIZE_TOO_SMALL);
++              goto err;
++              }
++#endif
++
+       ctx=BN_CTX_new();
+       if (ctx == NULL) goto err;
+       BN_CTX_start(ctx);
+diff -up openssl-1.0.1-beta3/crypto/dh/dh.h.fips openssl-1.0.1-beta3/crypto/dh/dh.h
+--- openssl-1.0.1-beta3/crypto/dh/dh.h.fips    2012-02-29 10:33:02.483292223 +0100
++++ openssl-1.0.1-beta3/crypto/dh/dh.h 2012-02-29 10:33:02.778294759 +0100
+@@ -77,6 +77,8 @@
+ # define OPENSSL_DH_MAX_MODULUS_BITS  10000
+ #endif
++#define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024
++
+ #define DH_FLAG_CACHE_MONT_P     0x01
+ #define DH_FLAG_NO_EXP_CONSTTIME 0x02 /* new with 0.9.7h; the built-in DH
+                                        * implementation now uses constant time
+diff -up openssl-1.0.1-beta3/crypto/dh/dh_key.c.fips openssl-1.0.1-beta3/crypto/dh/dh_key.c
+--- openssl-1.0.1-beta3/crypto/dh/dh_key.c.fips        2011-11-14 15:16:09.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/dh/dh_key.c     2012-02-29 10:33:02.779294768 +0100
+@@ -61,6 +61,9 @@
+ #include <openssl/bn.h>
+ #include <openssl/rand.h>
+ #include <openssl/dh.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
+ static int generate_key(DH *dh);
+ static int compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh);
+@@ -104,7 +107,7 @@ compute_key,
+ dh_bn_mod_exp,
+ dh_init,
+ dh_finish,
+-0,
++DH_FLAG_FIPS_METHOD,
+ NULL,
+ NULL
+ };
+@@ -123,6 +126,14 @@ static int generate_key(DH *dh)
+       BN_MONT_CTX *mont=NULL;
+       BIGNUM *pub_key=NULL,*priv_key=NULL;
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode() && (BN_num_bits(dh->p) < OPENSSL_DH_FIPS_MIN_MODULUS_BITS))
++              {
++              DHerr(DH_F_GENERATE_KEY, DH_R_KEY_SIZE_TOO_SMALL);
++              return 0;
++              }
++#endif
++
+       ctx = BN_CTX_new();
+       if (ctx == NULL) goto err;
+@@ -213,6 +224,13 @@ static int compute_key(unsigned char *ke
+               DHerr(DH_F_COMPUTE_KEY,DH_R_MODULUS_TOO_LARGE);
+               goto err;
+               }
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode() && (BN_num_bits(dh->p) < OPENSSL_DH_FIPS_MIN_MODULUS_BITS))
++              {
++              DHerr(DH_F_COMPUTE_KEY, DH_R_KEY_SIZE_TOO_SMALL);
++              goto err;
++              }
++#endif
+       ctx = BN_CTX_new();
+       if (ctx == NULL) goto err;
+@@ -280,6 +298,9 @@ static int dh_bn_mod_exp(const DH *dh, B
+ static int dh_init(DH *dh)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       dh->flags |= DH_FLAG_CACHE_MONT_P;
+       return(1);
+       }
+diff -up openssl-1.0.1-beta3/crypto/dh/dh_lib.c.fips openssl-1.0.1-beta3/crypto/dh/dh_lib.c
+--- openssl-1.0.1-beta3/crypto/dh/dh_lib.c.fips        2011-06-20 21:41:11.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/dh/dh_lib.c     2012-02-29 10:33:02.779294768 +0100
+@@ -81,14 +81,7 @@ const DH_METHOD *DH_get_default_method(v
+       {
+       if(!default_DH_method)
+               {
+-#ifdef OPENSSL_FIPS
+-              if (FIPS_mode())
+-                      return FIPS_dh_openssl();
+-              else
+-                      return DH_OpenSSL();
+-#else
+               default_DH_method = DH_OpenSSL();
+-#endif
+               }
+       return default_DH_method;
+       }
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa_err.c.fips openssl-1.0.1-beta3/crypto/dsa/dsa_err.c
+--- openssl-1.0.1-beta3/crypto/dsa/dsa_err.c.fips      2011-10-10 01:13:49.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/dsa/dsa_err.c   2012-02-29 10:33:02.779294768 +0100
+@@ -74,6 +74,8 @@ static ERR_STRING_DATA DSA_str_functs[]=
+ {ERR_FUNC(DSA_F_DO_DSA_PRINT),        "DO_DSA_PRINT"},
+ {ERR_FUNC(DSA_F_DSAPARAMS_PRINT),     "DSAparams_print"},
+ {ERR_FUNC(DSA_F_DSAPARAMS_PRINT_FP),  "DSAparams_print_fp"},
++{ERR_FUNC(DSA_F_DSA_BUILTIN_KEYGEN),  "dsa_builtin_keygen"},
++{ERR_FUNC(DSA_F_DSA_BUILTIN_PARAMGEN),        "dsa_builtin_paramgen"},
+ {ERR_FUNC(DSA_F_DSA_DO_SIGN), "DSA_do_sign"},
+ {ERR_FUNC(DSA_F_DSA_DO_VERIFY),       "DSA_do_verify"},
+ {ERR_FUNC(DSA_F_DSA_GENERATE_KEY),    "DSA_generate_key"},
+@@ -106,6 +108,8 @@ static ERR_STRING_DATA DSA_str_reasons[]
+ {ERR_REASON(DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE),"data too large for key size"},
+ {ERR_REASON(DSA_R_DECODE_ERROR)          ,"decode error"},
+ {ERR_REASON(DSA_R_INVALID_DIGEST_TYPE)   ,"invalid digest type"},
++{ERR_REASON(DSA_R_KEY_SIZE_INVALID)      ,"key size invalid"},
++{ERR_REASON(DSA_R_KEY_SIZE_TOO_SMALL)    ,"key size too small"},
+ {ERR_REASON(DSA_R_MISSING_PARAMETERS)    ,"missing parameters"},
+ {ERR_REASON(DSA_R_MODULUS_TOO_LARGE)     ,"modulus too large"},
+ {ERR_REASON(DSA_R_NEED_NEW_SETUP_VALUES) ,"need new setup values"},
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa_gen.c.fips openssl-1.0.1-beta3/crypto/dsa/dsa_gen.c
+--- openssl-1.0.1-beta3/crypto/dsa/dsa_gen.c.fips      2011-06-09 17:21:46.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/dsa/dsa_gen.c   2012-02-29 10:33:02.780294777 +0100
+@@ -85,6 +85,14 @@
+ #include <openssl/fips.h>
+ #endif
++#ifndef OPENSSL_FIPS
++static int FIPS_dsa_generate_pq(BN_CTX *ctx, size_t bits, size_t qbits,
++              const EVP_MD *evpmd, unsigned char *seed, int seed_len,
++              BIGNUM **p_ret, BIGNUM **q_ret, int *counter_ret, BN_GENCB *cb);
++static int FIPS_dsa_generate_g(BN_CTX *ctx, BIGNUM *p, BIGNUM *q,
++              BIGNUM **g_ret, unsigned long *h_ret, BN_GENCB *cb);
++#endif
++
+ int DSA_generate_parameters_ex(DSA *ret, int bits,
+               const unsigned char *seed_in, int seed_len,
+               int *counter_ret, unsigned long *h_ret, BN_GENCB *cb)
+@@ -100,14 +108,6 @@ int DSA_generate_parameters_ex(DSA *ret,
+       if(ret->meth->dsa_paramgen)
+               return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len,
+                               counter_ret, h_ret, cb);
+-#ifdef OPENSSL_FIPS
+-      else if (FIPS_mode())
+-              {
+-              return FIPS_dsa_generate_parameters_ex(ret, bits, 
+-                                                      seed_in, seed_len,
+-                                                      counter_ret, h_ret, cb);
+-              }
+-#endif
+       else
+               {
+               const EVP_MD *evpmd;
+@@ -125,27 +125,119 @@ int DSA_generate_parameters_ex(DSA *ret,
+                       }
+               return dsa_builtin_paramgen(ret, bits, qbits, evpmd,
+-                      seed_in, seed_len, NULL, counter_ret, h_ret, cb);
++                              seed_in, seed_len, counter_ret, h_ret, cb);
+               }
+       }
++#ifdef OPENSSL_FIPS
++int FIPS_dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
++      const EVP_MD *evpmd, const unsigned char *seed_in, size_t seed_len,
++      int *counter_ret, unsigned long *h_ret, BN_GENCB *cb)
++      {
++      return dsa_builtin_paramgen(ret, bits, qbits,
++              evpmd, seed_in, seed_len,
++              counter_ret, h_ret, cb);
++      }
++#endif
++
+ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
+       const EVP_MD *evpmd, const unsigned char *seed_in, size_t seed_len,
+-      unsigned char *seed_out,
+       int *counter_ret, unsigned long *h_ret, BN_GENCB *cb)
+       {
+       int ok=0;
+       unsigned char seed[SHA256_DIGEST_LENGTH];
++      BIGNUM *g=NULL,*q=NULL,*p=NULL;
++      size_t qsize = qbits >> 3;
++      BN_CTX *ctx=NULL;
++
++#ifdef OPENSSL_FIPS
++      if(FIPS_selftest_failed())
++          {
++          FIPSerr(FIPS_F_DSA_BUILTIN_PARAMGEN,
++                  FIPS_R_FIPS_SELFTEST_FAILED);
++          goto err;
++          }
++
++      if (FIPS_module_mode() &&
++          (bits != 1024 || qbits != 160) &&
++          (bits != 2048 || qbits != 224) &&
++          (bits != 2048 || qbits != 256) &&
++          (bits != 3072 || qbits != 256))
++              {
++              DSAerr(DSA_F_DSA_BUILTIN_PARAMGEN, DSA_R_KEY_SIZE_INVALID);
++              goto err;
++              }
++#endif
++      if (seed_len && (seed_len < (size_t)qsize))
++              seed_in = NULL;         /* seed buffer too small -- ignore */
++      if (seed_len > sizeof(seed)) 
++              seed_len = sizeof(seed);        /* App. 2.2 of FIPS PUB 186 allows larger SEED,
++                                               * but our internal buffers are restricted to 256 bits*/
++      if (seed_in != NULL)
++              memcpy(seed, seed_in, seed_len);
++      else
++              seed_len = 0;
++
++      if ((ctx=BN_CTX_new()) == NULL)
++              goto err;
++
++      BN_CTX_start(ctx);
++
++      if (!FIPS_dsa_generate_pq(ctx, bits, qbits, evpmd,
++              seed, seed_len, &p, &q, counter_ret, cb))
++              goto err;
++
++      if (!FIPS_dsa_generate_g(ctx, p, q, &g, h_ret, cb))
++              goto err;
++
++      ok=1;
++err:
++      if (ok)
++              {
++              if(ret->p)
++                      {
++                      BN_free(ret->p);
++                      ret->p = NULL;
++                      }
++              if(ret->q)
++                      {
++                      BN_free(ret->q);
++                      ret->q = NULL;
++                      }
++              if(ret->g)
++                      {
++                      BN_free(ret->g);
++                      ret->g = NULL;
++                      }
++              ret->p=BN_dup(p);
++              ret->q=BN_dup(q);
++              ret->g=BN_dup(g);
++              if (ret->p == NULL || ret->q == NULL || ret->g == NULL)
++                      ok=0;
++              }
++      if(ctx)
++              {
++              BN_CTX_end(ctx);
++              BN_CTX_free(ctx);
++              }
++      return ok;
++      }
++
++#ifndef OPENSSL_FIPS
++static
++#endif
++int FIPS_dsa_generate_pq(BN_CTX *ctx, size_t bits, size_t qbits,
++              const EVP_MD *evpmd, unsigned char *seed, int seed_len,
++              BIGNUM **p_ret, BIGNUM **q_ret, int *counter_ret, BN_GENCB *cb)
++      {
++      int ok=0;
+       unsigned char md[SHA256_DIGEST_LENGTH];
+-      unsigned char buf[SHA256_DIGEST_LENGTH],buf2[SHA256_DIGEST_LENGTH];
++      unsigned char buf[SHA256_DIGEST_LENGTH];
+       BIGNUM *r0,*W,*X,*c,*test;
+-      BIGNUM *g=NULL,*q=NULL,*p=NULL;
+-      BN_MONT_CTX *mont=NULL;
+-      int i, k, n=0, m=0, qsize = qbits >> 3;
++      BIGNUM *q=NULL,*p=NULL;
++      int i, k, b, n=0, m=0, qsize = qbits >> 3;
+       int counter=0;
+       int r=0;
+-      BN_CTX *ctx=NULL;
+-      unsigned int h=2;
+       if (qsize != SHA_DIGEST_LENGTH && qsize != SHA224_DIGEST_LENGTH &&
+           qsize != SHA256_DIGEST_LENGTH)
+@@ -153,51 +245,43 @@ int dsa_builtin_paramgen(DSA *ret, size_
+               return 0;
+       if (evpmd == NULL)
+-              /* use SHA1 as default */
+-              evpmd = EVP_sha1();
++          {
++              if (qbits <= 160)
++                      evpmd = EVP_sha1();
++              else if (qbits <= 224)
++                      evpmd = EVP_sha224();
++              else
++                      evpmd = EVP_sha256();
++          }
+       if (bits < 512)
+               bits = 512;
+       bits = (bits+63)/64*64;
+-      /* NB: seed_len == 0 is special case: copy generated seed to
+-       * seed_in if it is not NULL.
+-       */
+-      if (seed_len && (seed_len < (size_t)qsize))
+-              seed_in = NULL;         /* seed buffer too small -- ignore */
+-      if (seed_len > (size_t)qsize) 
+-              seed_len = qsize;       /* App. 2.2 of FIPS PUB 186 allows larger SEED,
+-                                       * but our internal buffers are restricted to 160 bits*/
+-      if (seed_in != NULL)
+-              memcpy(seed, seed_in, seed_len);
+-
+-      if ((ctx=BN_CTX_new()) == NULL)
+-              goto err;
+-
+-      if ((mont=BN_MONT_CTX_new()) == NULL)
+-              goto err;
+-
+-      BN_CTX_start(ctx);
+       r0 = BN_CTX_get(ctx);
+-      g = BN_CTX_get(ctx);
+       W = BN_CTX_get(ctx);
+-      q = BN_CTX_get(ctx);
++      *q_ret = q = BN_CTX_get(ctx);
+       X = BN_CTX_get(ctx);
+       c = BN_CTX_get(ctx);
+-      p = BN_CTX_get(ctx);
++      *p_ret = p = BN_CTX_get(ctx);
+       test = BN_CTX_get(ctx);
+       if (!BN_lshift(test,BN_value_one(),bits-1))
+               goto err;
++      /* step 3 n = \lceil bits / qbits \rceil - 1 */
++      n = (bits+qbits-1)/qbits - 1;
++      /* step 4 b = bits - 1 - n * qbits */
++      b = bits - 1 - n*qbits;
++
+       for (;;)
+               {
+               for (;;) /* find q */
+                       {
+                       int seed_is_random;
+-                      /* step 1 */
++                      /* step 5 generate seed */
+                       if(!BN_GENCB_call(cb, 0, m++))
+                               goto err;
+@@ -212,30 +296,18 @@ int dsa_builtin_paramgen(DSA *ret, size_
+                               seed_len=0; /* use random seed if 'seed_in' turns out to be bad*/
+                               }
+                       memcpy(buf , seed, qsize);
+-                      memcpy(buf2, seed, qsize);
+-                      /* precompute "SEED + 1" for step 7: */
+-                      for (i = qsize-1; i >= 0; i--)
+-                              {
+-                              buf[i]++;
+-                              if (buf[i] != 0)
+-                                      break;
+-                              }
+-                      /* step 2 */
++                      /* step 6 U = hash(seed) */
+                       if (!EVP_Digest(seed, qsize, md,   NULL, evpmd, NULL))
+                               goto err;
+-                      if (!EVP_Digest(buf,  qsize, buf2, NULL, evpmd, NULL))
+-                              goto err;
+-                      for (i = 0; i < qsize; i++)
+-                              md[i]^=buf2[i];
+-                      /* step 3 */
++                      /* step 7 q = 2^(qbits-1) + U + 1 - (U mod 2) */
+                       md[0] |= 0x80;
+                       md[qsize-1] |= 0x01;
+                       if (!BN_bin2bn(md, qsize, q))
+                               goto err;
+-                      /* step 4 */
++                      /* step 8 test for prime (64 round of Rabin-Miller) */
+                       r = BN_is_prime_fasttest_ex(q, DSS_prime_checks, ctx,
+                                       seed_is_random, cb);
+                       if (r > 0)
+@@ -243,27 +315,22 @@ int dsa_builtin_paramgen(DSA *ret, size_
+                       if (r != 0)
+                               goto err;
+-                      /* do a callback call */
+-                      /* step 5 */
+                       }
+               if(!BN_GENCB_call(cb, 2, 0)) goto err;
+               if(!BN_GENCB_call(cb, 3, 0)) goto err;
+-              /* step 6 */
++              /* step 11 */
+               counter=0;
+-              /* "offset = 2" */
+-
+-              n=(bits-1)/160;
++              /* "offset = 1" */
+               for (;;)
+                       {
+                       if ((counter != 0) && !BN_GENCB_call(cb, 0, counter))
+                               goto err;
+-                      /* step 7 */
++                      /* step 11.1, 11.2 obtain W */
+                       BN_zero(W);
+-                      /* now 'buf' contains "SEED + offset - 1" */
+                       for (k=0; k<=n; k++)
+                               {
+                               /* obtain "SEED + offset + k" by incrementing: */
+@@ -278,28 +345,30 @@ int dsa_builtin_paramgen(DSA *ret, size_
+                                                                       NULL))
+                                       goto err;
+-                              /* step 8 */
+                               if (!BN_bin2bn(md, qsize, r0))
+                                       goto err;
+-                              if (!BN_lshift(r0,r0,(qsize << 3)*k)) goto err;
++                              if (k == n)
++                                      BN_mask_bits(r0,b);
++                              if (!BN_lshift(r0,r0,qbits*k)) goto err;
+                               if (!BN_add(W,W,r0)) goto err;
+                               }
+-                      /* more of step 8 */
+-                      if (!BN_mask_bits(W,bits-1)) goto err;
++                      /* step 11.3 X = W + 2^(L-1) */
+                       if (!BN_copy(X,W)) goto err;
+                       if (!BN_add(X,X,test)) goto err;
+-                      /* step 9 */
++                      /* step 11.4 c = X mod 2*q */
+                       if (!BN_lshift1(r0,q)) goto err;
+                       if (!BN_mod(c,X,r0,ctx)) goto err;
++
++                      /* step 11.5 p = X - (c - 1) */
+                       if (!BN_sub(r0,c,BN_value_one())) goto err;
+                       if (!BN_sub(p,X,r0)) goto err;
+-                      /* step 10 */
++                      /* step 11.6 */
+                       if (BN_cmp(p,test) >= 0)
+                               {
+-                              /* step 11 */
++                              /* step 11.7 */
+                               r = BN_is_prime_fasttest_ex(p, DSS_prime_checks,
+                                               ctx, 1, cb);
+                               if (r > 0)
+@@ -308,19 +377,45 @@ int dsa_builtin_paramgen(DSA *ret, size_
+                                       goto err;
+                               }
+-                      /* step 13 */
++                      /* step 11.9 */
+                       counter++;
+                       /* "offset = offset + n + 1" */
+-                      /* step 14 */
+-                      if (counter >= 4096) break;
++                      /* step 12 */
++                      if (counter >= 4*bits) break;
+                       }
+               }
+ end:
+       if(!BN_GENCB_call(cb, 2, 1))
+               goto err;
+-      /* We now need to generate g */
++      ok=1;
++err:
++      if (ok)
++              {
++              if (counter_ret != NULL) *counter_ret=counter;
++              }
++      return ok;
++      }
++
++#ifndef OPENSSL_FIPS
++static
++#endif
++int FIPS_dsa_generate_g(BN_CTX *ctx, BIGNUM *p, BIGNUM *q,
++              BIGNUM **g_ret, unsigned long *h_ret, BN_GENCB *cb)
++      {
++      int ok=0;
++      BIGNUM *r0, *test, *g = NULL;
++      BN_MONT_CTX *mont;
++      unsigned int h=2;
++
++      if ((mont=BN_MONT_CTX_new()) == NULL)
++              goto err;
++
++      r0 = BN_CTX_get(ctx);
++      *g_ret = g = BN_CTX_get(ctx);
++      test = BN_CTX_get(ctx);
++
+       /* Set r0=(p-1)/q */
+       if (!BN_sub(test,p,BN_value_one())) goto err;
+       if (!BN_div(r0,NULL,test,q,ctx)) goto err;
+@@ -344,26 +439,7 @@ end:
+ err:
+       if (ok)
+               {
+-              if(ret->p) BN_free(ret->p);
+-              if(ret->q) BN_free(ret->q);
+-              if(ret->g) BN_free(ret->g);
+-              ret->p=BN_dup(p);
+-              ret->q=BN_dup(q);
+-              ret->g=BN_dup(g);
+-              if (ret->p == NULL || ret->q == NULL || ret->g == NULL)
+-                      {
+-                      ok=0;
+-                      goto err;
+-                      }
+-              if (counter_ret != NULL) *counter_ret=counter;
+               if (h_ret != NULL) *h_ret=h;
+-              if (seed_out)
+-                      memcpy(seed_out, seed, qsize);
+-              }
+-      if(ctx)
+-              {
+-              BN_CTX_end(ctx);
+-              BN_CTX_free(ctx);
+               }
+       if (mont != NULL) BN_MONT_CTX_free(mont);
+       return ok;
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa.h.fips openssl-1.0.1-beta3/crypto/dsa/dsa.h
+--- openssl-1.0.1-beta3/crypto/dsa/dsa.h.fips  2012-02-29 10:33:02.310290735 +0100
++++ openssl-1.0.1-beta3/crypto/dsa/dsa.h       2012-02-29 10:33:02.780294777 +0100
+@@ -88,6 +88,8 @@
+ # define OPENSSL_DSA_MAX_MODULUS_BITS 10000
+ #endif
++#define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024
++
+ #define DSA_FLAG_CACHE_MONT_P 0x01
+ #define DSA_FLAG_NO_EXP_CONSTTIME       0x02 /* new with 0.9.7h; the built-in DSA
+                                               * implementation now uses constant time
+@@ -264,6 +266,17 @@ int       DSA_print_fp(FILE *bp, const DSA *x,
+ DH *DSA_dup_DH(const DSA *r);
+ #endif
++#ifdef OPENSSL_FIPS
++int FIPS_dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
++      const EVP_MD *evpmd, const unsigned char *seed_in, size_t seed_len,
++      int *counter_ret, unsigned long *h_ret, BN_GENCB *cb);
++int FIPS_dsa_generate_pq(BN_CTX *ctx, size_t bits, size_t qbits,
++              const EVP_MD *evpmd, unsigned char *seed, int seed_len,
++              BIGNUM **p_ret, BIGNUM **q_ret, int *counter_ret, BN_GENCB *cb);
++int FIPS_dsa_generate_g(BN_CTX *ctx, BIGNUM *p, BIGNUM *q,
++              BIGNUM **g_ret, unsigned long *h_ret, BN_GENCB *cb);
++#endif
++
+ #define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \
+       EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \
+                               EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL)
+@@ -285,10 +298,13 @@ void ERR_load_DSA_strings(void);
+ #define DSA_F_DO_DSA_PRINT                             104
+ #define DSA_F_DSAPARAMS_PRINT                          100
+ #define DSA_F_DSAPARAMS_PRINT_FP                       101
++#define DSA_F_DSA_BUILTIN_KEYGEN                       124
++#define DSA_F_DSA_BUILTIN_PARAMGEN                     123
+ #define DSA_F_DSA_DO_SIGN                              112
+ #define DSA_F_DSA_DO_VERIFY                            113
+-#define DSA_F_DSA_GENERATE_KEY                                 124
+-#define DSA_F_DSA_GENERATE_PARAMETERS_EX               123
++#define DSA_F_DSA_GENERATE_KEY                                 126
++#define DSA_F_DSA_GENERATE_PARAMETERS_EX               127
++#define DSA_F_DSA_GENERATE_PARAMETERS /* unused */     125
+ #define DSA_F_DSA_NEW_METHOD                           103
+ #define DSA_F_DSA_PARAM_DECODE                                 119
+ #define DSA_F_DSA_PRINT_FP                             105
+@@ -314,11 +330,15 @@ void ERR_load_DSA_strings(void);
+ #define DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE              100
+ #define DSA_R_DECODE_ERROR                             104
+ #define DSA_R_INVALID_DIGEST_TYPE                      106
++#define DSA_R_KEY_SIZE_INVALID                                 113
++#define DSA_R_KEY_SIZE_TOO_SMALL                       110
+ #define DSA_R_MISSING_PARAMETERS                       101
+ #define DSA_R_MODULUS_TOO_LARGE                                103
+-#define DSA_R_NEED_NEW_SETUP_VALUES                    110
++#define DSA_R_NEED_NEW_SETUP_VALUES                    112
+ #define DSA_R_NON_FIPS_DSA_METHOD                      111
++#define DSA_R_NON_FIPS_METHOD                          111
+ #define DSA_R_NO_PARAMETERS_SET                                107
++#define DSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE /* unused */ 112
+ #define DSA_R_PARAMETER_ENCODING_ERROR                         105
+ #ifdef  __cplusplus
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa_key.c.fips openssl-1.0.1-beta3/crypto/dsa/dsa_key.c
+--- openssl-1.0.1-beta3/crypto/dsa/dsa_key.c.fips      2011-06-09 17:21:46.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/dsa/dsa_key.c   2012-02-29 10:33:02.781294786 +0100
+@@ -66,6 +66,24 @@
+ #ifdef OPENSSL_FIPS
+ #include <openssl/fips.h>
++#include <openssl/evp.h>
++
++static int fips_check_dsa(DSA *dsa)
++      {
++      EVP_PKEY pk;
++      unsigned char tbs[] = "DSA Pairwise Check Data";
++      pk.type = EVP_PKEY_DSA;
++      pk.pkey.dsa = dsa;
++
++      if (!fips_pkey_signature_test(&pk, tbs, 0, NULL, 0, NULL, 0, NULL))
++              {
++              FIPSerr(FIPS_F_FIPS_CHECK_DSA,FIPS_R_PAIRWISE_TEST_FAILED);
++              fips_set_selftest_fail();
++              return 0;
++              }
++      return 1;
++      }
++
+ #endif
+ static int dsa_builtin_keygen(DSA *dsa);
+@@ -82,10 +100,6 @@ int DSA_generate_key(DSA *dsa)
+ #endif
+       if(dsa->meth->dsa_keygen)
+               return dsa->meth->dsa_keygen(dsa);
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode())
+-              return FIPS_dsa_generate_key(dsa);
+-#endif
+       return dsa_builtin_keygen(dsa);
+       }
+@@ -95,6 +109,15 @@ static int dsa_builtin_keygen(DSA *dsa)
+       BN_CTX *ctx=NULL;
+       BIGNUM *pub_key=NULL,*priv_key=NULL;
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode() && !(dsa->flags & DSA_FLAG_NON_FIPS_ALLOW)
++              && (BN_num_bits(dsa->p) < OPENSSL_DSA_FIPS_MIN_MODULUS_BITS))
++              {
++              DSAerr(DSA_F_DSA_BUILTIN_KEYGEN, DSA_R_KEY_SIZE_TOO_SMALL);
++              goto err;
++              }
++#endif
++
+       if ((ctx=BN_CTX_new()) == NULL) goto err;
+       if (dsa->priv_key == NULL)
+@@ -133,6 +156,14 @@ static int dsa_builtin_keygen(DSA *dsa)
+       dsa->priv_key=priv_key;
+       dsa->pub_key=pub_key;
++#ifdef OPENSSL_FIPS
++      if(FIPS_mode() && !fips_check_dsa(dsa))
++              {
++              dsa->pub_key = NULL;
++              dsa->priv_key = NULL;
++              goto err;
++              }
++#endif
+       ok=1;
+ err:
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa_lib.c.fips openssl-1.0.1-beta3/crypto/dsa/dsa_lib.c
+--- openssl-1.0.1-beta3/crypto/dsa/dsa_lib.c.fips      2011-11-14 15:16:09.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/dsa/dsa_lib.c   2012-02-29 10:33:02.781294786 +0100
+@@ -87,14 +87,7 @@ const DSA_METHOD *DSA_get_default_method
+       {
+       if(!default_DSA_method)
+               {
+-#ifdef OPENSSL_FIPS
+-              if (FIPS_mode())
+-                      return FIPS_dsa_openssl();
+-              else
+-                      return DSA_OpenSSL();
+-#else
+               default_DSA_method = DSA_OpenSSL();
+-#endif
+               }
+       return default_DSA_method;
+       }
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa_locl.h.fips openssl-1.0.1-beta3/crypto/dsa/dsa_locl.h
+--- openssl-1.0.1-beta3/crypto/dsa/dsa_locl.h.fips     2012-02-29 10:33:02.313290762 +0100
++++ openssl-1.0.1-beta3/crypto/dsa/dsa_locl.h  2012-02-29 10:33:02.781294786 +0100
+@@ -56,5 +56,4 @@
+ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
+       const EVP_MD *evpmd, const unsigned char *seed_in, size_t seed_len,
+-      unsigned char *seed_out,
+       int *counter_ret, unsigned long *h_ret, BN_GENCB *cb);
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa_ossl.c.fips openssl-1.0.1-beta3/crypto/dsa/dsa_ossl.c
+--- openssl-1.0.1-beta3/crypto/dsa/dsa_ossl.c.fips     2011-02-01 13:53:47.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/dsa/dsa_ossl.c  2012-02-29 10:33:02.782294795 +0100
+@@ -65,6 +65,9 @@
+ #include <openssl/dsa.h>
+ #include <openssl/rand.h>
+ #include <openssl/asn1.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
+ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa);
+ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp);
+@@ -82,7 +85,7 @@ NULL, /* dsa_mod_exp, */
+ NULL, /* dsa_bn_mod_exp, */
+ dsa_init,
+ dsa_finish,
+-0,
++DSA_FLAG_FIPS_METHOD,
+ NULL,
+ NULL,
+ NULL
+@@ -138,6 +141,21 @@ static DSA_SIG *dsa_do_sign(const unsign
+       DSA_SIG *ret=NULL;
+       int noredo = 0;
++#ifdef OPENSSL_FIPS
++      if(FIPS_selftest_failed())
++          {
++          FIPSerr(FIPS_F_DSA_DO_SIGN,FIPS_R_FIPS_SELFTEST_FAILED);
++          return NULL;
++          }
++
++      if (FIPS_mode() && !(dsa->flags & DSA_FLAG_NON_FIPS_ALLOW) 
++              && (BN_num_bits(dsa->p) < OPENSSL_DSA_FIPS_MIN_MODULUS_BITS))
++              {
++              DSAerr(DSA_F_DSA_DO_SIGN, DSA_R_KEY_SIZE_TOO_SMALL);
++              return NULL;
++              }
++#endif
++
+       BN_init(&m);
+       BN_init(&xr);
+@@ -325,6 +343,21 @@ static int dsa_do_verify(const unsigned
+               return -1;
+               }
++#ifdef OPENSSL_FIPS
++      if(FIPS_selftest_failed())
++          {
++          FIPSerr(FIPS_F_DSA_DO_VERIFY,FIPS_R_FIPS_SELFTEST_FAILED);
++          return -1;
++          }
++
++      if (FIPS_mode() && !(dsa->flags & DSA_FLAG_NON_FIPS_ALLOW) 
++              && (BN_num_bits(dsa->p) < OPENSSL_DSA_FIPS_MIN_MODULUS_BITS))
++              {
++              DSAerr(DSA_F_DSA_DO_VERIFY, DSA_R_KEY_SIZE_TOO_SMALL);
++              return -1;
++              }
++#endif
++
+       if (BN_num_bits(dsa->p) > OPENSSL_DSA_MAX_MODULUS_BITS)
+               {
+               DSAerr(DSA_F_DSA_DO_VERIFY,DSA_R_MODULUS_TOO_LARGE);
+@@ -399,6 +432,9 @@ static int dsa_do_verify(const unsigned
+ static int dsa_init(DSA *dsa)
+ {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       dsa->flags|=DSA_FLAG_CACHE_MONT_P;
+       return(1);
+ }
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsa_pmeth.c.fips openssl-1.0.1-beta3/crypto/dsa/dsa_pmeth.c
+--- openssl-1.0.1-beta3/crypto/dsa/dsa_pmeth.c.fips    2011-06-20 22:05:13.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/dsa/dsa_pmeth.c 2012-02-29 10:33:02.782294795 +0100
+@@ -255,7 +255,7 @@ static int pkey_dsa_paramgen(EVP_PKEY_CT
+       if (!dsa)
+               return 0;
+       ret = dsa_builtin_paramgen(dsa, dctx->nbits, dctx->qbits, dctx->pmd,
+-                                 NULL, 0, NULL, NULL, NULL, pcb);
++                                 NULL, 0, NULL, NULL, pcb);
+       if (ret)
+               EVP_PKEY_assign_DSA(pkey, dsa);
+       else
+diff -up openssl-1.0.1-beta3/crypto/dsa/dsatest.c.fips openssl-1.0.1-beta3/crypto/dsa/dsatest.c
+--- openssl-1.0.1-beta3/crypto/dsa/dsatest.c.fips      2008-08-06 17:54:11.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/dsa/dsatest.c   2012-02-29 10:33:02.782294795 +0100
+@@ -96,36 +96,41 @@ static int MS_CALLBACK dsa_cb(int p, int
+ /* seed, out_p, out_q, out_g are taken from the updated Appendix 5 to
+  * FIPS PUB 186 and also appear in Appendix 5 to FIPS PIB 186-1 */
+ static unsigned char seed[20]={
+-      0xd5,0x01,0x4e,0x4b,0x60,0xef,0x2b,0xa8,0xb6,0x21,0x1b,0x40,
+-      0x62,0xba,0x32,0x24,0xe0,0x42,0x7d,0xd3,
++      0x02,0x47,0x11,0x92,0x11,0x88,0xC8,0xFB,0xAF,0x48,0x4C,0x62,
++      0xDF,0xA5,0xBE,0xA0,0xA4,0x3C,0x56,0xE3,
+       };
+ static unsigned char out_p[]={
+-      0x8d,0xf2,0xa4,0x94,0x49,0x22,0x76,0xaa,
+-      0x3d,0x25,0x75,0x9b,0xb0,0x68,0x69,0xcb,
+-      0xea,0xc0,0xd8,0x3a,0xfb,0x8d,0x0c,0xf7,
+-      0xcb,0xb8,0x32,0x4f,0x0d,0x78,0x82,0xe5,
+-      0xd0,0x76,0x2f,0xc5,0xb7,0x21,0x0e,0xaf,
+-      0xc2,0xe9,0xad,0xac,0x32,0xab,0x7a,0xac,
+-      0x49,0x69,0x3d,0xfb,0xf8,0x37,0x24,0xc2,
+-      0xec,0x07,0x36,0xee,0x31,0xc8,0x02,0x91,
++      0xAC,0xCB,0x1E,0x63,0x60,0x69,0x0C,0xFB,0x06,0x19,0x68,0x3E,
++      0xA5,0x01,0x5A,0xA2,0x15,0x5C,0xE2,0x99,0x2D,0xD5,0x30,0x99,
++      0x7E,0x5F,0x8D,0xE2,0xF7,0xC6,0x2E,0x8D,0xA3,0x9F,0x58,0xAD,
++      0xD6,0xA9,0x7D,0x0E,0x0D,0x95,0x53,0xA6,0x71,0x3A,0xDE,0xAB,
++      0xAC,0xE9,0xF4,0x36,0x55,0x9E,0xB9,0xD6,0x93,0xBF,0xF3,0x18,
++      0x1C,0x14,0x7B,0xA5,0x42,0x2E,0xCD,0x00,0xEB,0x35,0x3B,0x1B,
++      0xA8,0x51,0xBB,0xE1,0x58,0x42,0x85,0x84,0x22,0xA7,0x97,0x5E,
++      0x99,0x6F,0x38,0x20,0xBD,0x9D,0xB6,0xD9,0x33,0x37,0x2A,0xFD,
++      0xBB,0xD4,0xBC,0x0C,0x2A,0x67,0xCB,0x9F,0xBB,0xDF,0xF9,0x93,
++      0xAA,0xD6,0xF0,0xD6,0x95,0x0B,0x5D,0x65,0x14,0xD0,0x18,0x9D,
++      0xC6,0xAF,0xF0,0xC6,0x37,0x7C,0xF3,0x5F,
+       };
+ static unsigned char out_q[]={
+-      0xc7,0x73,0x21,0x8c,0x73,0x7e,0xc8,0xee,
+-      0x99,0x3b,0x4f,0x2d,0xed,0x30,0xf4,0x8e,
+-      0xda,0xce,0x91,0x5f,
++      0xE3,0x8E,0x5E,0x6D,0xBF,0x2B,0x79,0xF8,0xC5,0x4B,0x89,0x8B,
++      0xBA,0x2D,0x91,0xC3,0x6C,0x80,0xAC,0x87,
+       };
+ static unsigned char out_g[]={
+-      0x62,0x6d,0x02,0x78,0x39,0xea,0x0a,0x13,
+-      0x41,0x31,0x63,0xa5,0x5b,0x4c,0xb5,0x00,
+-      0x29,0x9d,0x55,0x22,0x95,0x6c,0xef,0xcb,
+-      0x3b,0xff,0x10,0xf3,0x99,0xce,0x2c,0x2e,
+-      0x71,0xcb,0x9d,0xe5,0xfa,0x24,0xba,0xbf,
+-      0x58,0xe5,0xb7,0x95,0x21,0x92,0x5c,0x9c,
+-      0xc4,0x2e,0x9f,0x6f,0x46,0x4b,0x08,0x8c,
+-      0xc5,0x72,0xaf,0x53,0xe6,0xd7,0x88,0x02,
++      0x42,0x4A,0x04,0x4E,0x79,0xB4,0x99,0x7F,0xFD,0x58,0x36,0x2C,
++      0x1B,0x5F,0x18,0x7E,0x0D,0xCC,0xAB,0x81,0xC9,0x5D,0x10,0xCE,
++      0x4E,0x80,0x7E,0x58,0xB4,0x34,0x3F,0xA7,0x45,0xC7,0xAA,0x36,
++      0x24,0x42,0xA9,0x3B,0xE8,0x0E,0x04,0x02,0x2D,0xFB,0xA6,0x13,
++      0xB9,0xB5,0x15,0xA5,0x56,0x07,0x35,0xE4,0x03,0xB6,0x79,0x7C,
++      0x62,0xDD,0xDF,0x3F,0x71,0x3A,0x9D,0x8B,0xC4,0xF6,0xE7,0x1D,
++      0x52,0xA8,0xA9,0x43,0x1D,0x33,0x51,0x88,0x39,0xBD,0x73,0xE9,
++      0x5F,0xBE,0x82,0x49,0x27,0xE6,0xB5,0x53,0xC1,0x38,0xAC,0x2F,
++      0x6D,0x97,0x6C,0xEB,0x67,0xC1,0x5F,0x67,0xF8,0x35,0x05,0x5E,
++      0xD5,0x68,0x80,0xAA,0x96,0xCA,0x0B,0x8A,0xE6,0xF1,0xB1,0x41,
++      0xC6,0x75,0x94,0x0A,0x0A,0x2A,0xFA,0x29,
+       };
+ static const unsigned char str1[]="12345678901234567890";
+@@ -157,7 +162,7 @@ int main(int argc, char **argv)
+       BIO_printf(bio_err,"test generation of DSA parameters\n");
+       BN_GENCB_set(&cb, dsa_cb, bio_err);
+-      if(((dsa = DSA_new()) == NULL) || !DSA_generate_parameters_ex(dsa, 512,
++      if(((dsa = DSA_new()) == NULL) || !DSA_generate_parameters_ex(dsa, 1024,
+                               seed, 20, &counter, &h, &cb))
+               goto end;
+@@ -170,9 +175,9 @@ int main(int argc, char **argv)
+       BIO_printf(bio_err,"\ncounter=%d h=%ld\n",counter,h);
+               
+       DSA_print(bio_err,dsa,0);
+-      if (counter != 105) 
++      if (counter != 239) 
+               {
+-              BIO_printf(bio_err,"counter should be 105\n");
++              BIO_printf(bio_err,"counter should be 239\n");
+               goto end;
+               }
+       if (h != 2)
+diff -up openssl-1.0.1-beta3/crypto/engine/eng_all.c.fips openssl-1.0.1-beta3/crypto/engine/eng_all.c
+--- openssl-1.0.1-beta3/crypto/engine/eng_all.c.fips   2011-08-10 20:53:13.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/engine/eng_all.c        2012-02-29 10:33:02.783294803 +0100
+@@ -58,11 +58,25 @@
+ #include "cryptlib.h"
+ #include "eng_int.h"
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
+ void ENGINE_load_builtin_engines(void)
+       {
+       /* Some ENGINEs need this */
+       OPENSSL_cpuid_setup();
++#ifdef OPENSSL_FIPS
++      OPENSSL_init_library();
++      if (FIPS_mode()) {
++              /* We allow loading dynamic engine as a third party
++                 engine might be FIPS validated.
++                 User is disallowed to load non-validated engines
++                 by security policy. */
++              ENGINE_load_dynamic();
++              return;
++      }
++#endif
+ #if 0
+       /* There's no longer any need for an "openssl" ENGINE unless, one day,
+        * it is the *only* way for standard builtin implementations to be be
+diff -up openssl-1.0.1-beta3/crypto/err/err_all.c.fips openssl-1.0.1-beta3/crypto/err/err_all.c
+--- openssl-1.0.1-beta3/crypto/err/err_all.c.fips      2011-06-21 18:58:10.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/err/err_all.c   2012-02-29 10:33:02.783294803 +0100
+@@ -96,6 +96,9 @@
+ #include <openssl/ocsp.h>
+ #include <openssl/err.h>
+ #include <openssl/ts.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
+ #ifndef OPENSSL_NO_CMS
+ #include <openssl/cms.h>
+ #endif
+@@ -153,6 +156,9 @@ void ERR_load_crypto_strings(void)
+ #endif
+       ERR_load_OCSP_strings();
+       ERR_load_UI_strings();
++#ifdef OPENSSL_FIPS
++      ERR_load_FIPS_strings();
++#endif
+ #ifndef OPENSSL_NO_CMS
+       ERR_load_CMS_strings();
+ #endif
+diff -up openssl-1.0.1-beta3/crypto/evp/c_allc.c.fips openssl-1.0.1-beta3/crypto/evp/c_allc.c
+--- openssl-1.0.1-beta3/crypto/evp/c_allc.c.fips       2011-11-14 22:13:35.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/evp/c_allc.c    2012-02-29 10:33:02.783294803 +0100
+@@ -65,6 +65,11 @@
+ void OpenSSL_add_all_ciphers(void)
+       {
++#ifdef OPENSSL_FIPS
++      OPENSSL_init_library();
++      if(!FIPS_mode()) 
++              {
++#endif
+ #ifndef OPENSSL_NO_DES
+       EVP_add_cipher(EVP_des_cfb());
+       EVP_add_cipher(EVP_des_cfb1());
+@@ -227,4 +232,60 @@ void OpenSSL_add_all_ciphers(void)
+       EVP_add_cipher_alias(SN_camellia_256_cbc,"CAMELLIA256");
+       EVP_add_cipher_alias(SN_camellia_256_cbc,"camellia256");
+ #endif
++#ifdef OPENSSL_FIPS
++              }
++      else
++              {
++#ifndef OPENSSL_NO_DES
++      EVP_add_cipher(EVP_des_ede_cfb());
++      EVP_add_cipher(EVP_des_ede3_cfb());
++
++      EVP_add_cipher(EVP_des_ede_ofb());
++      EVP_add_cipher(EVP_des_ede3_ofb());
++
++      EVP_add_cipher(EVP_des_ede_cbc());
++      EVP_add_cipher(EVP_des_ede3_cbc());
++      EVP_add_cipher_alias(SN_des_ede3_cbc,"DES3");
++      EVP_add_cipher_alias(SN_des_ede3_cbc,"des3");
++
++      EVP_add_cipher(EVP_des_ede());
++      EVP_add_cipher(EVP_des_ede3());
++#endif
++
++#ifndef OPENSSL_NO_AES
++      EVP_add_cipher(EVP_aes_128_ecb());
++      EVP_add_cipher(EVP_aes_128_cbc());
++      EVP_add_cipher(EVP_aes_128_cfb());
++      EVP_add_cipher(EVP_aes_128_cfb1());
++      EVP_add_cipher(EVP_aes_128_cfb8());
++      EVP_add_cipher(EVP_aes_128_ofb());
++      EVP_add_cipher(EVP_aes_128_ctr());
++      EVP_add_cipher(EVP_aes_128_gcm());
++      EVP_add_cipher(EVP_aes_128_xts());
++      EVP_add_cipher_alias(SN_aes_128_cbc,"AES128");
++      EVP_add_cipher_alias(SN_aes_128_cbc,"aes128");
++      EVP_add_cipher(EVP_aes_192_ecb());
++      EVP_add_cipher(EVP_aes_192_cbc());
++      EVP_add_cipher(EVP_aes_192_cfb());
++      EVP_add_cipher(EVP_aes_192_cfb1());
++      EVP_add_cipher(EVP_aes_192_cfb8());
++      EVP_add_cipher(EVP_aes_192_ofb());
++      EVP_add_cipher(EVP_aes_192_ctr());
++      EVP_add_cipher(EVP_aes_192_gcm());
++      EVP_add_cipher_alias(SN_aes_192_cbc,"AES192");
++      EVP_add_cipher_alias(SN_aes_192_cbc,"aes192");
++      EVP_add_cipher(EVP_aes_256_ecb());
++      EVP_add_cipher(EVP_aes_256_cbc());
++      EVP_add_cipher(EVP_aes_256_cfb());
++      EVP_add_cipher(EVP_aes_256_cfb1());
++      EVP_add_cipher(EVP_aes_256_cfb8());
++      EVP_add_cipher(EVP_aes_256_ofb());
++      EVP_add_cipher(EVP_aes_256_ctr());
++      EVP_add_cipher(EVP_aes_256_gcm());
++      EVP_add_cipher(EVP_aes_256_xts());
++      EVP_add_cipher_alias(SN_aes_256_cbc,"AES256");
++      EVP_add_cipher_alias(SN_aes_256_cbc,"aes256");
++#endif
++              }
++#endif
+       }
+diff -up openssl-1.0.1-beta3/crypto/evp/c_alld.c.fips openssl-1.0.1-beta3/crypto/evp/c_alld.c
+--- openssl-1.0.1-beta3/crypto/evp/c_alld.c.fips       2009-07-08 10:50:53.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/c_alld.c    2012-02-29 10:33:02.784294811 +0100
+@@ -64,6 +64,11 @@
+ void OpenSSL_add_all_digests(void)
+       {
++#ifdef OPENSSL_FIPS
++      OPENSSL_init_library();
++      if (!FIPS_mode())
++              {
++#endif
+ #ifndef OPENSSL_NO_MD4
+       EVP_add_digest(EVP_md4());
+ #endif
+@@ -111,4 +116,32 @@ void OpenSSL_add_all_digests(void)
+ #ifndef OPENSSL_NO_WHIRLPOOL
+       EVP_add_digest(EVP_whirlpool());
+ #endif
++#ifdef OPENSSL_FIPS
++              }
++      else
++              {
++#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1)
++      EVP_add_digest(EVP_sha1());
++      EVP_add_digest_alias(SN_sha1,"ssl3-sha1");
++      EVP_add_digest_alias(SN_sha1WithRSAEncryption,SN_sha1WithRSA);
++#ifndef OPENSSL_NO_DSA
++      EVP_add_digest(EVP_dss1());
++      EVP_add_digest_alias(SN_dsaWithSHA1,SN_dsaWithSHA1_2);
++      EVP_add_digest_alias(SN_dsaWithSHA1,"DSS1");
++      EVP_add_digest_alias(SN_dsaWithSHA1,"dss1");
++#endif
++#ifndef OPENSSL_NO_ECDSA
++      EVP_add_digest(EVP_ecdsa());
++#endif
++#endif
++#ifndef OPENSSL_NO_SHA256
++      EVP_add_digest(EVP_sha224());
++      EVP_add_digest(EVP_sha256());
++#endif
++#ifndef OPENSSL_NO_SHA512
++      EVP_add_digest(EVP_sha384());
++      EVP_add_digest(EVP_sha512());
++#endif
++              }
++#endif
+       }
+diff -up openssl-1.0.1-beta3/crypto/evp/digest.c.fips openssl-1.0.1-beta3/crypto/evp/digest.c
+--- openssl-1.0.1-beta3/crypto/evp/digest.c.fips       2011-05-29 17:55:13.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/digest.c    2012-02-29 10:33:02.784294811 +0100
+@@ -142,9 +142,50 @@ int EVP_DigestInit(EVP_MD_CTX *ctx, cons
+       return EVP_DigestInit_ex(ctx, type, NULL);
+       }
++#ifdef OPENSSL_FIPS
++
++/* The purpose of these is to trap programs that attempt to use non FIPS
++ * algorithms in FIPS mode and ignore the errors.
++ */
++
++static int bad_init(EVP_MD_CTX *ctx)
++      { FIPS_ERROR_IGNORED("Digest init"); return 0;}
++
++static int bad_update(EVP_MD_CTX *ctx,const void *data,size_t count)
++      { FIPS_ERROR_IGNORED("Digest update"); return 0;}
++
++static int bad_final(EVP_MD_CTX *ctx,unsigned char *md)
++      { FIPS_ERROR_IGNORED("Digest Final"); return 0;}
++
++static const EVP_MD bad_md =
++      {
++      0,
++      0,
++      0,
++      0,
++      bad_init,
++      bad_update,
++      bad_final,
++      NULL,
++      NULL,
++      NULL,
++      0,
++      {0,0,0,0},
++      };
++
++#endif
++
+ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
+       {
+       EVP_MD_CTX_clear_flags(ctx,EVP_MD_CTX_FLAG_CLEANED);
++#ifdef OPENSSL_FIPS
++      if(FIPS_selftest_failed())
++              {
++              FIPSerr(FIPS_F_EVP_DIGESTINIT_EX,FIPS_R_FIPS_SELFTEST_FAILED);
++              ctx->digest = &bad_md;
++              return 0;
++              }
++#endif
+ #ifndef OPENSSL_NO_ENGINE
+       /* Whether it's nice or not, "Inits" can be used on "Final"'d contexts
+        * so this context may already have an ENGINE! Try to avoid releasing
+@@ -201,6 +242,18 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, c
+ #endif
+       if (ctx->digest != type)
+               {
++#ifdef OPENSSL_FIPS
++              if (FIPS_mode())
++                      {
++                      if (!(type->flags & EVP_MD_FLAG_FIPS) 
++                       && !(ctx->flags & EVP_MD_CTX_FLAG_NON_FIPS_ALLOW))
++                              {
++                              EVPerr(EVP_F_EVP_DIGESTINIT_EX, EVP_R_DISABLED_FOR_FIPS);
++                              ctx->digest = &bad_md;
++                              return 0;
++                              }
++                      }
++#endif
+               if (ctx->digest && ctx->digest->ctx_size)
+                       OPENSSL_free(ctx->md_data);
+               ctx->digest=type;
+@@ -229,26 +282,15 @@ skip_to_init:
+               }
+       if (ctx->flags & EVP_MD_CTX_FLAG_NO_INIT)
+               return 1;
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode())
+-              {
+-              if (FIPS_digestinit(ctx, type))
+-                      return 1;
+-              OPENSSL_free(ctx->md_data);
+-              ctx->md_data = NULL;
+-              return 0;
+-              }
+-#endif
+       return ctx->digest->init(ctx);
+       }
+ int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, size_t count)
+       {
+ #ifdef OPENSSL_FIPS
+-      return FIPS_digestupdate(ctx, data, count);
+-#else
+-      return ctx->update(ctx,data,count);
++      FIPS_selftest_check();
+ #endif
++      return ctx->update(ctx,data,count);
+       }
+ /* The caller can assume that this removes any secret data from the context */
+@@ -263,10 +305,11 @@ int EVP_DigestFinal(EVP_MD_CTX *ctx, uns
+ /* The caller can assume that this removes any secret data from the context */
+ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size)
+       {
+-#ifdef OPENSSL_FIPS
+-      return FIPS_digestfinal(ctx, md, size);
+-#else
+       int ret;
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
++
+       OPENSSL_assert(ctx->digest->md_size <= EVP_MAX_MD_SIZE);
+       ret=ctx->digest->final(ctx,md);
+       if (size != NULL)
+@@ -278,7 +321,6 @@ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx,
+               }
+       memset(ctx->md_data,0,ctx->digest->ctx_size);
+       return ret;
+-#endif
+       }
+ int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in)
+@@ -372,7 +414,6 @@ void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx)
+ /* This call frees resources associated with the context */
+ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
+       {
+-#ifndef OPENSSL_FIPS
+       /* Don't assume ctx->md_data was cleaned in EVP_Digest_Final,
+        * because sometimes only copies of the context are ever finalised.
+        */
+@@ -385,7 +426,6 @@ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
+               OPENSSL_cleanse(ctx->md_data,ctx->digest->ctx_size);
+               OPENSSL_free(ctx->md_data);
+               }
+-#endif
+       if (ctx->pctx)
+               EVP_PKEY_CTX_free(ctx->pctx);
+ #ifndef OPENSSL_NO_ENGINE
+@@ -394,9 +434,6 @@ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
+                * functional reference we held for this reason. */
+               ENGINE_finish(ctx->engine);
+ #endif
+-#ifdef OPENSSL_FIPS
+-      FIPS_md_ctx_cleanup(ctx);
+-#endif
+       memset(ctx,'\0',sizeof *ctx);
+       return 1;
+diff -up openssl-1.0.1-beta3/crypto/evp/e_aes.c.fips openssl-1.0.1-beta3/crypto/evp/e_aes.c
+--- openssl-1.0.1-beta3/crypto/evp/e_aes.c.fips        2011-11-15 13:19:56.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/evp/e_aes.c     2012-02-29 10:33:02.785294819 +0100
+@@ -56,7 +56,6 @@
+ #include <assert.h>
+ #include <openssl/aes.h>
+ #include "evp_locl.h"
+-#ifndef OPENSSL_FIPS
+ #include "modes_lcl.h"
+ #include <openssl/rand.h>
+@@ -716,7 +715,7 @@ static int aes_gcm_ctrl(EVP_CIPHER_CTX *
+               if (arg <= 0)
+                       return 0;
+ #ifdef OPENSSL_FIPS
+-              if (FIPS_module_mode() && !(c->flags & EVP_CIPH_FLAG_NON_FIPS_ALLOW)
++              if (FIPS_mode() && !(c->flags & EVP_CIPH_FLAG_NON_FIPS_ALLOW)
+                                                && arg < 12)
+                       return 0;
+ #endif
+@@ -1128,7 +1127,7 @@ static int aes_xts_cipher(EVP_CIPHER_CTX
+               return 0;
+ #ifdef OPENSSL_FIPS
+       /* Requirement of SP800-38E */
+-      if (FIPS_module_mode() && !(ctx->flags & EVP_CIPH_FLAG_NON_FIPS_ALLOW) &&
++      if (FIPS_mode() && !(ctx->flags & EVP_CIPH_FLAG_NON_FIPS_ALLOW) &&
+                       (len > (1UL<<20)*16))
+               {
+               EVPerr(EVP_F_AES_XTS_CIPHER, EVP_R_TOO_LARGE);
+@@ -1310,4 +1309,3 @@ BLOCK_CIPHER_custom(NID_aes,192,1,12,ccm
+ BLOCK_CIPHER_custom(NID_aes,256,1,12,ccm,CCM,EVP_CIPH_FLAG_FIPS|CUSTOM_FLAGS)
+ #endif
+-#endif
+diff -up openssl-1.0.1-beta3/crypto/evp/e_des3.c.fips openssl-1.0.1-beta3/crypto/evp/e_des3.c
+--- openssl-1.0.1-beta3/crypto/evp/e_des3.c.fips       2011-05-29 01:01:26.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/e_des3.c    2012-02-29 10:33:02.785294819 +0100
+@@ -65,8 +65,6 @@
+ #include <openssl/des.h>
+ #include <openssl/rand.h>
+-#ifndef OPENSSL_FIPS
+-
+ static int des_ede_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
+                           const unsigned char *iv,int enc);
+@@ -208,9 +206,9 @@ static int des_ede3_cfb8_cipher(EVP_CIPH
+     }
+ BLOCK_CIPHER_defs(des_ede, DES_EDE_KEY, NID_des_ede, 8, 16, 8, 64,
+-                      EVP_CIPH_RAND_KEY, des_ede_init_key, NULL, 
+-                      EVP_CIPHER_set_asn1_iv,
+-                      EVP_CIPHER_get_asn1_iv,
++              EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
++                      des_ede_init_key,
++                      NULL, NULL, NULL,
+                       des3_ctrl)
+ #define des_ede3_cfb64_cipher des_ede_cfb64_cipher
+@@ -219,21 +217,21 @@ BLOCK_CIPHER_defs(des_ede, DES_EDE_KEY,
+ #define des_ede3_ecb_cipher des_ede_ecb_cipher
+ BLOCK_CIPHER_defs(des_ede3, DES_EDE_KEY, NID_des_ede3, 8, 24, 8, 64,
+-                      EVP_CIPH_RAND_KEY, des_ede3_init_key, NULL, 
+-                      EVP_CIPHER_set_asn1_iv,
+-                      EVP_CIPHER_get_asn1_iv,
++              EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
++                      des_ede3_init_key,
++                      NULL, NULL, NULL,
+                       des3_ctrl)
+ BLOCK_CIPHER_def_cfb(des_ede3,DES_EDE_KEY,NID_des_ede3,24,8,1,
+-                   EVP_CIPH_RAND_KEY, des_ede3_init_key,NULL,
+-                   EVP_CIPHER_set_asn1_iv,
+-                   EVP_CIPHER_get_asn1_iv,
++              EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
++                   des_ede3_init_key,
++                   NULL, NULL, NULL,
+                    des3_ctrl)
+ BLOCK_CIPHER_def_cfb(des_ede3,DES_EDE_KEY,NID_des_ede3,24,8,8,
+-                   EVP_CIPH_RAND_KEY, des_ede3_init_key,NULL,
+-                   EVP_CIPHER_set_asn1_iv,
+-                   EVP_CIPHER_get_asn1_iv,
++              EVP_CIPH_RAND_KEY|EVP_CIPH_FLAG_FIPS|EVP_CIPH_FLAG_DEFAULT_ASN1,
++                   des_ede3_init_key,
++                   NULL, NULL, NULL,
+                    des3_ctrl)
+ static int des_ede_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
+@@ -313,4 +311,3 @@ const EVP_CIPHER *EVP_des_ede3(void)
+       return &des_ede3_ecb;
+ }
+ #endif
+-#endif
+diff -up openssl-1.0.1-beta3/crypto/evp/e_null.c.fips openssl-1.0.1-beta3/crypto/evp/e_null.c
+--- openssl-1.0.1-beta3/crypto/evp/e_null.c.fips       2011-06-20 22:00:10.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/e_null.c    2012-02-29 10:33:02.785294819 +0100
+@@ -61,8 +61,6 @@
+ #include <openssl/evp.h>
+ #include <openssl/objects.h>
+-#ifndef OPENSSL_FIPS
+-
+ static int null_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
+       const unsigned char *iv,int enc);
+ static int null_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+@@ -71,7 +69,7 @@ static const EVP_CIPHER n_cipher=
+       {
+       NID_undef,
+       1,0,0,
+-      0,
++      EVP_CIPH_FLAG_FIPS,
+       null_init_key,
+       null_cipher,
+       NULL,
+@@ -101,4 +99,3 @@ static int null_cipher(EVP_CIPHER_CTX *c
+               memcpy((char *)out,(const char *)in,inl);
+       return 1;
+       }
+-#endif
+diff -up openssl-1.0.1-beta3/crypto/evp/evp_enc.c.fips openssl-1.0.1-beta3/crypto/evp/evp_enc.c
+--- openssl-1.0.1-beta3/crypto/evp/evp_enc.c.fips      2012-02-10 17:54:56.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/evp/evp_enc.c   2012-02-29 10:33:02.786294827 +0100
+@@ -69,17 +69,58 @@
+ #endif
+ #include "evp_locl.h"
+-#ifdef OPENSSL_FIPS
+-#define M_do_cipher(ctx, out, in, inl) FIPS_cipher(ctx, out, in, inl)
+-#else
+ #define M_do_cipher(ctx, out, in, inl) ctx->cipher->do_cipher(ctx, out, in, inl)
+-#endif
+ const char EVP_version[]="EVP" OPENSSL_VERSION_PTEXT;
++#ifdef OPENSSL_FIPS
++
++/* The purpose of these is to trap programs that attempt to use non FIPS
++ * algorithms in FIPS mode and ignore the errors.
++ */
++
++static int bad_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,
++                  const unsigned char *iv, int enc)
++      { FIPS_ERROR_IGNORED("Cipher init"); return 0;}
++
++static int bad_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
++                       const unsigned char *in, unsigned int inl)
++      { FIPS_ERROR_IGNORED("Cipher update"); return 0;}
++
++/* NB: no cleanup because it is allowed after failed init */
++
++static int bad_set_asn1(EVP_CIPHER_CTX *ctx, ASN1_TYPE *typ)
++      { FIPS_ERROR_IGNORED("Cipher set_asn1"); return 0;}
++static int bad_get_asn1(EVP_CIPHER_CTX *ctx, ASN1_TYPE *typ)
++      { FIPS_ERROR_IGNORED("Cipher get_asn1"); return 0;}
++static int bad_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr)
++      { FIPS_ERROR_IGNORED("Cipher ctrl"); return 0;}
++
++static const EVP_CIPHER bad_cipher =
++      {
++      0,
++      0,
++      0,
++      0,
++      0,
++      bad_init,
++      bad_do_cipher,
++      NULL,
++      0,
++      bad_set_asn1,
++      bad_get_asn1,
++      bad_ctrl,
++      NULL
++      };
++
++#endif
++
+ void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       memset(ctx,0,sizeof(EVP_CIPHER_CTX));
+       /* ctx->cipher=NULL; */
+       }
+@@ -111,6 +152,14 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ct
+                       enc = 1;
+               ctx->encrypt = enc;
+               }
++#ifdef OPENSSL_FIPS
++      if(FIPS_selftest_failed())
++              {
++              FIPSerr(FIPS_F_EVP_CIPHERINIT_EX,FIPS_R_FIPS_SELFTEST_FAILED);
++              ctx->cipher = &bad_cipher;
++              return 0;
++              }
++#endif
+ #ifndef OPENSSL_NO_ENGINE
+       /* Whether it's nice or not, "Inits" can be used on "Final"'d contexts
+        * so this context may already have an ENGINE! Try to avoid releasing
+@@ -169,9 +218,6 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ct
+                       ctx->engine = NULL;
+ #endif
+-#ifdef OPENSSL_FIPS
+-              return FIPS_cipherinit(ctx, cipher, key, iv, enc);
+-#else
+               ctx->cipher=cipher;
+               if (ctx->cipher->ctx_size)
+                       {
+@@ -196,7 +242,6 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ct
+                               return 0;
+                               }
+                       }
+-#endif
+               }
+       else if(!ctx->cipher)
+               {
+@@ -206,9 +251,6 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ct
+ #ifndef OPENSSL_NO_ENGINE
+ skip_to_init:
+ #endif
+-#ifdef OPENSSL_FIPS
+-      return FIPS_cipherinit(ctx, cipher, key, iv, enc);
+-#else
+       /* we assume block size is a power of 2 in *cryptUpdate */
+       OPENSSL_assert(ctx->cipher->block_size == 1
+           || ctx->cipher->block_size == 8
+@@ -248,6 +290,22 @@ skip_to_init:
+               }
+       }
++#ifdef OPENSSL_FIPS
++      /* After 'key' is set no further parameters changes are permissible.
++       * So only check for non FIPS enabling at this point.
++       */
++      if (key && FIPS_mode())
++              {
++              if (!(ctx->cipher->flags & EVP_CIPH_FLAG_FIPS)
++                      & !(ctx->flags & EVP_CIPH_FLAG_NON_FIPS_ALLOW))
++                      {
++                      EVPerr(EVP_F_EVP_CIPHERINIT_EX, EVP_R_DISABLED_FOR_FIPS);
++                      ctx->cipher = &bad_cipher;
++                      return 0;
++                      }
++              }
++#endif
++
+       if(key || (ctx->cipher->flags & EVP_CIPH_ALWAYS_CALL_INIT)) {
+               if(!ctx->cipher->init(ctx,key,iv,enc)) return 0;
+       }
+@@ -255,7 +313,6 @@ skip_to_init:
+       ctx->final_used=0;
+       ctx->block_mask=ctx->cipher->block_size-1;
+       return 1;
+-#endif
+       }
+ int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
+@@ -568,7 +625,6 @@ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX
+ int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *c)
+       {
+-#ifndef OPENSSL_FIPS
+       if (c->cipher != NULL)
+               {
+               if(c->cipher->cleanup && !c->cipher->cleanup(c))
+@@ -579,16 +635,12 @@ int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CT
+               }
+       if (c->cipher_data)
+               OPENSSL_free(c->cipher_data);
+-#endif
+ #ifndef OPENSSL_NO_ENGINE
+       if (c->engine)
+               /* The EVP_CIPHER we used belongs to an ENGINE, release the
+                * functional reference we held for this reason. */
+               ENGINE_finish(c->engine);
+ #endif
+-#ifdef OPENSSL_FIPS
+-      FIPS_cipher_ctx_cleanup(c);
+-#endif
+       memset(c,0,sizeof(EVP_CIPHER_CTX));
+       return 1;
+       }
+diff -up openssl-1.0.1-beta3/crypto/evp/evp.h.fips openssl-1.0.1-beta3/crypto/evp/evp.h
+--- openssl-1.0.1-beta3/crypto/evp/evp.h.fips  2012-02-29 10:33:02.567292944 +0100
++++ openssl-1.0.1-beta3/crypto/evp/evp.h       2012-02-29 10:33:02.787294835 +0100
+@@ -75,6 +75,10 @@
+ #include <openssl/bio.h>
+ #endif
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++
+ /*
+ #define EVP_RC2_KEY_SIZE              16
+ #define EVP_RC4_KEY_SIZE              16
+@@ -272,10 +276,6 @@ struct env_md_ctx_st
+                                               * cleaned */
+ #define EVP_MD_CTX_FLAG_REUSE         0x0004 /* Don't free up ctx->md_data
+                                               * in EVP_MD_CTX_cleanup */
+-/* FIPS and pad options are ignored in 1.0.0, definitions are here
+- * so we don't accidentally reuse the values for other purposes.
+- */
+-
+ #define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW        0x0008  /* Allow use of non FIPS digest
+                                                * in FIPS mode */
+@@ -287,6 +287,10 @@ struct env_md_ctx_st
+ #define EVP_MD_CTX_FLAG_PAD_PKCS1     0x00    /* PKCS#1 v1.5 mode */
+ #define EVP_MD_CTX_FLAG_PAD_X931      0x10    /* X9.31 mode */
+ #define EVP_MD_CTX_FLAG_PAD_PSS               0x20    /* PSS mode */
++#define M_EVP_MD_CTX_FLAG_PSS_SALT(ctx) \
++              ((ctx->flags>>16) &0xFFFF) /* seed length */
++#define EVP_MD_CTX_FLAG_PSS_MDLEN     0xFFFF  /* salt len same as digest */
++#define EVP_MD_CTX_FLAG_PSS_MREC      0xFFFE  /* salt max or auto recovered */
+ #define EVP_MD_CTX_FLAG_NO_INIT               0x0100 /* Don't initialize md_data */
+@@ -338,15 +342,15 @@ struct evp_cipher_st
+ /* cipher handles random key generation */
+ #define       EVP_CIPH_RAND_KEY               0x200
+ /* cipher has its own additional copying logic */
+-#define       EVP_CIPH_CUSTOM_COPY            0x400
++#define       EVP_CIPH_CUSTOM_COPY            0x4000
+ /* Allow use default ASN1 get/set iv */
+ #define               EVP_CIPH_FLAG_DEFAULT_ASN1      0x1000
+ /* Buffer length in bits not bytes: CFB1 mode only */
+ #define               EVP_CIPH_FLAG_LENGTH_BITS       0x2000
+ /* Note if suitable for use in FIPS mode */
+-#define               EVP_CIPH_FLAG_FIPS              0x4000
++#define               EVP_CIPH_FLAG_FIPS              0x400
+ /* Allow non FIPS cipher in FIPS mode */
+-#define               EVP_CIPH_FLAG_NON_FIPS_ALLOW    0x8000
++#define               EVP_CIPH_FLAG_NON_FIPS_ALLOW    0x800
+ /* Cipher handles any and all padding logic as well
+  * as finalisation.
+  */
+diff -up openssl-1.0.1-beta3/crypto/evp/evp_lib.c.fips openssl-1.0.1-beta3/crypto/evp/evp_lib.c
+--- openssl-1.0.1-beta3/crypto/evp/evp_lib.c.fips      2011-05-29 04:32:05.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/evp_lib.c   2012-02-29 10:33:02.787294835 +0100
+@@ -190,6 +190,9 @@ int EVP_CIPHER_CTX_block_size(const EVP_
+ int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       return ctx->cipher->do_cipher(ctx,out,in,inl);
+       }
+diff -up openssl-1.0.1-beta3/crypto/evp/evp_locl.h.fips openssl-1.0.1-beta3/crypto/evp/evp_locl.h
+--- openssl-1.0.1-beta3/crypto/evp/evp_locl.h.fips     2012-02-29 10:33:02.558292867 +0100
++++ openssl-1.0.1-beta3/crypto/evp/evp_locl.h  2012-02-29 10:33:02.787294835 +0100
+@@ -258,10 +258,9 @@ const EVP_CIPHER *EVP_##cname##_ecb(void
+       BLOCK_CIPHER_func_cfb(cipher##_##keysize,cprefix,cbits,kstruct,ksched) \
+       BLOCK_CIPHER_def_cfb(cipher##_##keysize,kstruct, \
+                            NID_##cipher##_##keysize, keysize/8, iv_len, cbits, \
+-                           0, cipher##_init_key, NULL, \
+-                           EVP_CIPHER_set_asn1_iv, \
+-                           EVP_CIPHER_get_asn1_iv, \
+-                           NULL)
++                           EVP_CIPH_FLAG_DEFAULT_ASN1, \
++                           cipher##_init_key, NULL, NULL, NULL, NULL)
++
+ struct evp_pkey_ctx_st
+       {
+@@ -367,11 +366,6 @@ int PKCS5_v2_PBKDF2_keyivgen(EVP_CIPHER_
+ #define MD2_Init      private_MD2_Init
+ #define MDC2_Init     private_MDC2_Init
+ #define SHA_Init      private_SHA_Init
+-#define SHA1_Init     private_SHA1_Init
+-#define SHA224_Init   private_SHA224_Init
+-#define SHA256_Init   private_SHA256_Init
+-#define SHA384_Init   private_SHA384_Init
+-#define SHA512_Init   private_SHA512_Init
+ #define BF_set_key    private_BF_set_key
+ #define CAST_set_key  private_CAST_set_key
+@@ -379,7 +373,6 @@ int PKCS5_v2_PBKDF2_keyivgen(EVP_CIPHER_
+ #define SEED_set_key  private_SEED_set_key
+ #define RC2_set_key   private_RC2_set_key
+ #define RC4_set_key   private_RC4_set_key
+-#define DES_set_key_unchecked private_DES_set_key_unchecked
+ #define Camellia_set_key      private_Camellia_set_key
+ #endif
+diff -up openssl-1.0.1-beta3/crypto/evp/Makefile.fips openssl-1.0.1-beta3/crypto/evp/Makefile
+--- openssl-1.0.1-beta3/crypto/evp/Makefile.fips       2011-12-27 15:38:27.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/evp/Makefile    2012-02-29 10:33:02.788294844 +0100
+@@ -28,7 +28,7 @@ LIBSRC= encode.c digest.c evp_enc.c evp_
+       bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c \
+       c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c \
+       evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c \
+-      e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c evp_fips.c \
++      e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c \
+       e_aes_cbc_hmac_sha1.c e_rc4_hmac_md5.c
+ LIBOBJ=       encode.o digest.o evp_enc.o evp_key.o evp_acnf.o \
+@@ -41,7 +41,7 @@ LIBOBJ=      encode.o digest.o evp_enc.o evp_
+       bio_md.o bio_b64.o bio_enc.o evp_err.o e_null.o \
+       c_all.o c_allc.o c_alld.o evp_lib.o bio_ok.o \
+       evp_pkey.o evp_pbe.o p5_crpt.o p5_crpt2.o \
+-      e_old.o pmeth_lib.o pmeth_fn.o pmeth_gn.o m_sigver.o evp_fips.o \
++      e_old.o pmeth_lib.o pmeth_fn.o pmeth_gn.o m_sigver.o \
+       e_aes_cbc_hmac_sha1.o e_rc4_hmac_md5.o
+ SRC= $(LIBSRC)
+@@ -103,44 +103,46 @@ bio_b64.o: ../../e_os.h ../../include/op
+ bio_b64.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ bio_b64.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ bio_b64.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-bio_b64.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-bio_b64.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-bio_b64.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-bio_b64.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-bio_b64.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_b64.c
++bio_b64.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++bio_b64.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++bio_b64.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++bio_b64.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++bio_b64.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++bio_b64.o: ../cryptlib.h bio_b64.c
+ bio_enc.o: ../../e_os.h ../../include/openssl/asn1.h
+ bio_enc.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ bio_enc.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ bio_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-bio_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-bio_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-bio_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-bio_enc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-bio_enc.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_enc.c
++bio_enc.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++bio_enc.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++bio_enc.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++bio_enc.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++bio_enc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++bio_enc.o: ../cryptlib.h bio_enc.c
+ bio_md.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ bio_md.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ bio_md.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-bio_md.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-bio_md.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-bio_md.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-bio_md.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
+-bio_md.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+-bio_md.o: ../cryptlib.h bio_md.c
++bio_md.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++bio_md.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++bio_md.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++bio_md.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++bio_md.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
++bio_md.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_md.c
+ bio_ok.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ bio_ok.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ bio_ok.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-bio_ok.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-bio_ok.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-bio_ok.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-bio_ok.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+-bio_ok.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-bio_ok.o: ../../include/openssl/symhacks.h ../cryptlib.h bio_ok.c
++bio_ok.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++bio_ok.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++bio_ok.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++bio_ok.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++bio_ok.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
++bio_ok.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++bio_ok.o: ../cryptlib.h bio_ok.c
+ c_all.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ c_all.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-c_all.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-c_all.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-c_all.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+-c_all.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++c_all.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
++c_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++c_all.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ c_all.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ c_all.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ c_all.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+@@ -150,9 +152,8 @@ c_all.o: ../../include/openssl/x509.h ..
+ c_all.o: ../cryptlib.h c_all.c
+ c_allc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ c_allc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-c_allc.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-c_allc.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-c_allc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++c_allc.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++c_allc.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ c_allc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ c_allc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ c_allc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -163,9 +164,8 @@ c_allc.o: ../../include/openssl/x509.h .
+ c_allc.o: ../cryptlib.h c_allc.c
+ c_alld.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ c_alld.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-c_alld.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-c_alld.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-c_alld.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++c_alld.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++c_alld.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ c_alld.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ c_alld.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ c_alld.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -176,10 +176,9 @@ c_alld.o: ../../include/openssl/x509.h .
+ c_alld.o: ../cryptlib.h c_alld.c
+ digest.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ digest.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-digest.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-digest.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-digest.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+-digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++digest.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
++digest.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++digest.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ digest.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ digest.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+@@ -190,18 +189,19 @@ digest.o: ../cryptlib.h digest.c
+ e_aes.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
+ e_aes.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
+ e_aes.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_aes.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-e_aes.o: ../../include/openssl/modes.h ../../include/openssl/obj_mac.h
+-e_aes.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-e_aes.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-e_aes.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
+-e_aes.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+-e_aes.o: ../modes/modes_lcl.h e_aes.c evp_locl.h
++e_aes.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_aes.o: ../../include/openssl/lhash.h ../../include/openssl/modes.h
++e_aes.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++e_aes.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++e_aes.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
++e_aes.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
++e_aes.o: ../../include/openssl/symhacks.h ../modes/modes_lcl.h e_aes.c
++e_aes.o: evp_locl.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/bio.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/crypto.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/e_os2.h
+-e_aes_cbc_hmac_sha1.o: ../../include/openssl/evp.h
++e_aes_cbc_hmac_sha1.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/obj_mac.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/objects.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/opensslconf.h
+@@ -211,20 +211,23 @@ e_aes_cbc_hmac_sha1.o: ../../include/ope
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/sha.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/stack.h
+ e_aes_cbc_hmac_sha1.o: ../../include/openssl/symhacks.h e_aes_cbc_hmac_sha1.c
++e_aes_cbc_hmac_sha1.o: evp_locl.h
+ e_bf.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_bf.o: ../../include/openssl/blowfish.h ../../include/openssl/buffer.h
+ e_bf.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ e_bf.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-e_bf.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-e_bf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-e_bf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-e_bf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_bf.o: ../../include/openssl/symhacks.h ../cryptlib.h e_bf.c evp_locl.h
++e_bf.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++e_bf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++e_bf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++e_bf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++e_bf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++e_bf.o: ../cryptlib.h e_bf.c evp_locl.h
+ e_camellia.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_camellia.o: ../../include/openssl/camellia.h ../../include/openssl/crypto.h
+ e_camellia.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_camellia.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-e_camellia.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++e_camellia.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_camellia.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++e_camellia.o: ../../include/openssl/objects.h
+ e_camellia.o: ../../include/openssl/opensslconf.h
+ e_camellia.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ e_camellia.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+@@ -233,74 +236,80 @@ e_cast.o: ../../e_os.h ../../include/ope
+ e_cast.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
+ e_cast.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ e_cast.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-e_cast.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-e_cast.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-e_cast.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-e_cast.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_cast.o: ../../include/openssl/symhacks.h ../cryptlib.h e_cast.c evp_locl.h
++e_cast.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++e_cast.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++e_cast.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++e_cast.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++e_cast.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++e_cast.o: ../cryptlib.h e_cast.c evp_locl.h
+ e_des.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_des.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ e_des.o: ../../include/openssl/des.h ../../include/openssl/des_old.h
+ e_des.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_des.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-e_des.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-e_des.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-e_des.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+-e_des.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_des.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+-e_des.o: ../../include/openssl/ui_compat.h ../cryptlib.h e_des.c evp_locl.h
++e_des.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_des.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++e_des.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++e_des.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++e_des.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
++e_des.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++e_des.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h
++e_des.o: ../cryptlib.h e_des.c evp_locl.h
+ e_des3.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_des3.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ e_des3.o: ../../include/openssl/des.h ../../include/openssl/des_old.h
+ e_des3.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_des3.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-e_des3.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-e_des3.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-e_des3.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
+-e_des3.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_des3.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+-e_des3.o: ../../include/openssl/ui_compat.h ../cryptlib.h e_des3.c evp_locl.h
++e_des3.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_des3.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++e_des3.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++e_des3.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++e_des3.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
++e_des3.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++e_des3.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h
++e_des3.o: ../cryptlib.h e_des3.c evp_locl.h
+ e_idea.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_idea.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ e_idea.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_idea.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
+-e_idea.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-e_idea.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-e_idea.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-e_idea.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_idea.o: ../../include/openssl/symhacks.h ../cryptlib.h e_idea.c evp_locl.h
++e_idea.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_idea.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
++e_idea.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++e_idea.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++e_idea.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++e_idea.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++e_idea.o: ../cryptlib.h e_idea.c evp_locl.h
+ e_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_null.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ e_null.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_null.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-e_null.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-e_null.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-e_null.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
+-e_null.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+-e_null.o: ../cryptlib.h e_null.c
++e_null.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_null.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++e_null.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++e_null.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++e_null.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
++e_null.o: ../../include/openssl/symhacks.h ../cryptlib.h e_null.c
+ e_old.o: e_old.c
+ e_rc2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_rc2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ e_rc2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_rc2.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-e_rc2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-e_rc2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-e_rc2.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rc2.h
+-e_rc2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_rc2.o: ../../include/openssl/symhacks.h ../cryptlib.h e_rc2.c evp_locl.h
++e_rc2.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_rc2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++e_rc2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++e_rc2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++e_rc2.o: ../../include/openssl/rc2.h ../../include/openssl/safestack.h
++e_rc2.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++e_rc2.o: ../cryptlib.h e_rc2.c evp_locl.h
+ e_rc4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_rc4.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ e_rc4.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_rc4.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-e_rc4.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-e_rc4.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-e_rc4.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rc4.h
+-e_rc4.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_rc4.o: ../../include/openssl/symhacks.h ../cryptlib.h e_rc4.c evp_locl.h
++e_rc4.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_rc4.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++e_rc4.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++e_rc4.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++e_rc4.o: ../../include/openssl/rc4.h ../../include/openssl/safestack.h
++e_rc4.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++e_rc4.o: ../cryptlib.h e_rc4.c evp_locl.h
+ e_rc4_hmac_md5.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_rc4_hmac_md5.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-e_rc4_hmac_md5.o: ../../include/openssl/evp.h ../../include/openssl/md5.h
+-e_rc4_hmac_md5.o: ../../include/openssl/obj_mac.h
++e_rc4_hmac_md5.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++e_rc4_hmac_md5.o: ../../include/openssl/md5.h ../../include/openssl/obj_mac.h
+ e_rc4_hmac_md5.o: ../../include/openssl/objects.h
+ e_rc4_hmac_md5.o: ../../include/openssl/opensslconf.h
+ e_rc4_hmac_md5.o: ../../include/openssl/opensslv.h
+@@ -308,29 +317,24 @@ e_rc4_hmac_md5.o: ../../include/openssl/
+ e_rc4_hmac_md5.o: ../../include/openssl/safestack.h
+ e_rc4_hmac_md5.o: ../../include/openssl/stack.h
+ e_rc4_hmac_md5.o: ../../include/openssl/symhacks.h e_rc4_hmac_md5.c
+-e_rc5.o: ../../e_os.h ../../include/openssl/bio.h
+-e_rc5.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-e_rc5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-e_rc5.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+-e_rc5.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-e_rc5.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-e_rc5.o: ../../include/openssl/symhacks.h ../cryptlib.h e_rc5.c
++e_rc5.o: e_rc5.c
+ e_seed.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ e_seed.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ e_seed.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-e_seed.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-e_seed.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-e_seed.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-e_seed.o: ../../include/openssl/safestack.h ../../include/openssl/seed.h
+-e_seed.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+-e_seed.o: e_seed.c evp_locl.h
++e_seed.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++e_seed.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++e_seed.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++e_seed.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++e_seed.o: ../../include/openssl/seed.h ../../include/openssl/stack.h
++e_seed.o: ../../include/openssl/symhacks.h e_seed.c evp_locl.h
+ e_xcbc_d.o: ../../e_os.h ../../include/openssl/asn1.h
+ e_xcbc_d.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ e_xcbc_d.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
+ e_xcbc_d.o: ../../include/openssl/des_old.h ../../include/openssl/e_os2.h
+ e_xcbc_d.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-e_xcbc_d.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-e_xcbc_d.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++e_xcbc_d.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++e_xcbc_d.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++e_xcbc_d.o: ../../include/openssl/opensslconf.h
+ e_xcbc_d.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ e_xcbc_d.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ e_xcbc_d.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+@@ -339,28 +343,27 @@ e_xcbc_d.o: evp_locl.h
+ encode.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ encode.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ encode.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-encode.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-encode.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-encode.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-encode.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
+-encode.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+-encode.o: ../cryptlib.h encode.c
++encode.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++encode.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++encode.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++encode.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++encode.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
++encode.o: ../../include/openssl/symhacks.h ../cryptlib.h encode.c
+ evp_acnf.o: ../../e_os.h ../../include/openssl/asn1.h
+ evp_acnf.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ evp_acnf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
+ evp_acnf.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-evp_acnf.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-evp_acnf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-evp_acnf.o: ../../include/openssl/opensslconf.h
++evp_acnf.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++evp_acnf.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++evp_acnf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ evp_acnf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ evp_acnf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ evp_acnf.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_acnf.c
+ evp_enc.o: ../../e_os.h ../../include/openssl/asn1.h
+ evp_enc.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ evp_enc.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-evp_enc.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-evp_enc.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+-evp_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++evp_enc.o: ../../include/openssl/engine.h ../../include/openssl/err.h
++evp_enc.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ evp_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ evp_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ evp_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -372,24 +375,17 @@ evp_enc.o: ../cryptlib.h evp_enc.c evp_l
+ evp_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ evp_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ evp_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-evp_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-evp_err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-evp_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-evp_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-evp_err.o: ../../include/openssl/symhacks.h evp_err.c
+-evp_fips.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
+-evp_fips.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-evp_fips.o: ../../include/openssl/evp.h ../../include/openssl/obj_mac.h
+-evp_fips.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-evp_fips.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-evp_fips.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-evp_fips.o: ../../include/openssl/symhacks.h evp_fips.c
++evp_err.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++evp_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++evp_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++evp_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++evp_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++evp_err.o: evp_err.c
+ evp_key.o: ../../e_os.h ../../include/openssl/asn1.h
+ evp_key.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ evp_key.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-evp_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-evp_key.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-evp_key.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++evp_key.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++evp_key.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ evp_key.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ evp_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ evp_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+@@ -401,17 +397,17 @@ evp_lib.o: ../../e_os.h ../../include/op
+ evp_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ evp_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ evp_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-evp_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-evp_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+-evp_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-evp_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-evp_lib.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_lib.c
++evp_lib.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++evp_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++evp_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++evp_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
++evp_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++evp_lib.o: ../cryptlib.h evp_lib.c
+ evp_pbe.o: ../../e_os.h ../../include/openssl/asn1.h
+ evp_pbe.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ evp_pbe.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-evp_pbe.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-evp_pbe.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-evp_pbe.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++evp_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++evp_pbe.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ evp_pbe.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ evp_pbe.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ evp_pbe.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h
+@@ -422,9 +418,8 @@ evp_pbe.o: ../../include/openssl/x509_vf
+ evp_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
+ evp_pkey.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ evp_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-evp_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-evp_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-evp_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++evp_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++evp_pkey.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ evp_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ evp_pkey.o: ../../include/openssl/opensslconf.h
+ evp_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -436,9 +431,8 @@ evp_pkey.o: ../asn1/asn1_locl.h ../crypt
+ m_dss.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_dss.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ m_dss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+-m_dss.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-m_dss.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-m_dss.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++m_dss.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_dss.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ m_dss.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ m_dss.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ m_dss.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+@@ -449,9 +443,8 @@ m_dss.o: ../cryptlib.h m_dss.c
+ m_dss1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_dss1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ m_dss1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+-m_dss1.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-m_dss1.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-m_dss1.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++m_dss1.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_dss1.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ m_dss1.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ m_dss1.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ m_dss1.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+@@ -459,31 +452,23 @@ m_dss1.o: ../../include/openssl/safestac
+ m_dss1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+ m_dss1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+ m_dss1.o: ../cryptlib.h m_dss1.c
+-m_ecdsa.o: ../../e_os.h ../../include/openssl/asn1.h
+-m_ecdsa.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+-m_ecdsa.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-m_ecdsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-m_ecdsa.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-m_ecdsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-m_ecdsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-m_ecdsa.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-m_ecdsa.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+-m_ecdsa.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+-m_ecdsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+-m_ecdsa.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+-m_ecdsa.o: ../cryptlib.h m_ecdsa.c
+-m_md2.o: ../../e_os.h ../../include/openssl/bio.h
++m_ecdsa.o: m_ecdsa.c
++m_md2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_md2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ m_md2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-m_md2.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
+-m_md2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-m_md2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+-m_md2.o: ../../include/openssl/symhacks.h ../cryptlib.h m_md2.c
++m_md2.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++m_md2.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
++m_md2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++m_md2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
++m_md2.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
++m_md2.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
++m_md2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
++m_md2.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
++m_md2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_locl.h m_md2.c
+ m_md4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_md4.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-m_md4.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-m_md4.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-m_md4.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_md4.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++m_md4.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ m_md4.o: ../../include/openssl/lhash.h ../../include/openssl/md4.h
+ m_md4.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ m_md4.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+@@ -494,9 +479,8 @@ m_md4.o: ../../include/openssl/symhacks.
+ m_md4.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_locl.h m_md4.c
+ m_md5.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_md5.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-m_md5.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-m_md5.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-m_md5.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_md5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++m_md5.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ m_md5.o: ../../include/openssl/lhash.h ../../include/openssl/md5.h
+ m_md5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ m_md5.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+@@ -505,26 +489,17 @@ m_md5.o: ../../include/openssl/rsa.h ../
+ m_md5.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+ m_md5.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+ m_md5.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_locl.h m_md5.c
+-m_mdc2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
++m_mdc2.o: ../../e_os.h ../../include/openssl/bio.h
+ m_mdc2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-m_mdc2.o: ../../include/openssl/des.h ../../include/openssl/des_old.h
+-m_mdc2.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-m_mdc2.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-m_mdc2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-m_mdc2.o: ../../include/openssl/lhash.h ../../include/openssl/mdc2.h
+-m_mdc2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-m_mdc2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+-m_mdc2.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+-m_mdc2.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
+-m_mdc2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+-m_mdc2.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+-m_mdc2.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h
+-m_mdc2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_locl.h m_mdc2.c
++m_mdc2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++m_mdc2.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
++m_mdc2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++m_mdc2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
++m_mdc2.o: ../../include/openssl/symhacks.h ../cryptlib.h m_mdc2.c
+ m_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_null.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-m_null.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-m_null.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-m_null.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_null.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++m_null.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ m_null.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ m_null.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ m_null.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -535,9 +510,8 @@ m_null.o: ../../include/openssl/x509_vfy
+ m_ripemd.o: ../../e_os.h ../../include/openssl/asn1.h
+ m_ripemd.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ m_ripemd.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-m_ripemd.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-m_ripemd.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-m_ripemd.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++m_ripemd.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_ripemd.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ m_ripemd.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ m_ripemd.o: ../../include/openssl/opensslconf.h
+ m_ripemd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -549,9 +523,8 @@ m_ripemd.o: ../../include/openssl/x509_v
+ m_ripemd.o: m_ripemd.c
+ m_sha.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_sha.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-m_sha.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-m_sha.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-m_sha.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_sha.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++m_sha.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ m_sha.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ m_sha.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ m_sha.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -562,9 +535,8 @@ m_sha.o: ../../include/openssl/x509.h ..
+ m_sha.o: ../cryptlib.h evp_locl.h m_sha.c
+ m_sha1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_sha1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-m_sha1.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-m_sha1.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-m_sha1.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_sha1.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++m_sha1.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ m_sha1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ m_sha1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ m_sha1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -576,9 +548,8 @@ m_sha1.o: ../cryptlib.h m_sha1.c
+ m_sigver.o: ../../e_os.h ../../include/openssl/asn1.h
+ m_sigver.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ m_sigver.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-m_sigver.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-m_sigver.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-m_sigver.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++m_sigver.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_sigver.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ m_sigver.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ m_sigver.o: ../../include/openssl/opensslconf.h
+ m_sigver.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -589,9 +560,8 @@ m_sigver.o: ../../include/openssl/x509_v
+ m_sigver.o: m_sigver.c
+ m_wp.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ m_wp.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-m_wp.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-m_wp.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-m_wp.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++m_wp.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++m_wp.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ m_wp.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ m_wp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ m_wp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -602,9 +572,8 @@ m_wp.o: ../../include/openssl/x509.h ../
+ m_wp.o: ../cryptlib.h evp_locl.h m_wp.c
+ names.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ names.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-names.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-names.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-names.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++names.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++names.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ names.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ names.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ names.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -615,9 +584,8 @@ names.o: ../../include/openssl/x509_vfy.
+ p5_crpt.o: ../../e_os.h ../../include/openssl/asn1.h
+ p5_crpt.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ p5_crpt.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-p5_crpt.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-p5_crpt.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-p5_crpt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++p5_crpt.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p5_crpt.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ p5_crpt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ p5_crpt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ p5_crpt.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
+@@ -628,9 +596,8 @@ p5_crpt.o: ../cryptlib.h p5_crpt.c
+ p5_crpt2.o: ../../e_os.h ../../include/openssl/asn1.h
+ p5_crpt2.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ p5_crpt2.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-p5_crpt2.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-p5_crpt2.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-p5_crpt2.o: ../../include/openssl/evp.h ../../include/openssl/hmac.h
++p5_crpt2.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p5_crpt2.o: ../../include/openssl/fips.h ../../include/openssl/hmac.h
+ p5_crpt2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ p5_crpt2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ p5_crpt2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -641,9 +608,8 @@ p5_crpt2.o: ../../include/openssl/x509_v
+ p5_crpt2.o: p5_crpt2.c
+ p_dec.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ p_dec.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-p_dec.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-p_dec.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-p_dec.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p_dec.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++p_dec.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ p_dec.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ p_dec.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ p_dec.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -654,9 +620,8 @@ p_dec.o: ../../include/openssl/symhacks.
+ p_dec.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_dec.c
+ p_enc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ p_enc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-p_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-p_enc.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-p_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++p_enc.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ p_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ p_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ p_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -670,9 +635,8 @@ p_lib.o: ../../include/openssl/asn1_mac.
+ p_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ p_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
+ p_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
+-p_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-p_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+-p_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
++p_lib.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ p_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ p_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ p_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -683,9 +647,8 @@ p_lib.o: ../../include/openssl/x509.h ..
+ p_lib.o: ../asn1/asn1_locl.h ../cryptlib.h p_lib.c
+ p_open.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ p_open.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-p_open.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-p_open.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-p_open.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p_open.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++p_open.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ p_open.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ p_open.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ p_open.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -696,9 +659,8 @@ p_open.o: ../../include/openssl/x509.h .
+ p_open.o: ../cryptlib.h p_open.c
+ p_seal.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ p_seal.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-p_seal.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-p_seal.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-p_seal.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p_seal.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++p_seal.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ p_seal.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ p_seal.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ p_seal.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+@@ -709,35 +671,36 @@ p_seal.o: ../../include/openssl/symhacks
+ p_seal.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_seal.c
+ p_sign.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ p_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+-p_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
+-p_sign.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
+-p_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++p_sign.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ p_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ p_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ p_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-p_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
+-p_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+-p_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+-p_sign.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_sign.c
++p_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
++p_sign.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
++p_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++p_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
++p_sign.o: ../cryptlib.h p_sign.c
+ p_verify.o: ../../e_os.h ../../include/openssl/asn1.h
+ p_verify.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ p_verify.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-p_verify.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-p_verify.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
+-p_verify.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
++p_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++p_verify.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
+ p_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+ p_verify.o: ../../include/openssl/opensslconf.h
+ p_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+-p_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
+-p_verify.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+-p_verify.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
+-p_verify.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_verify.c
++p_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
++p_verify.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
++p_verify.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++p_verify.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
++p_verify.o: ../cryptlib.h p_verify.c
+ pmeth_fn.o: ../../e_os.h ../../include/openssl/asn1.h
+ pmeth_fn.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ pmeth_fn.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ pmeth_fn.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+-pmeth_fn.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+-pmeth_fn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++pmeth_fn.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++pmeth_fn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++pmeth_fn.o: ../../include/openssl/opensslconf.h
+ pmeth_fn.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ pmeth_fn.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ pmeth_fn.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_locl.h
+@@ -746,9 +709,9 @@ pmeth_gn.o: ../../e_os.h ../../include/o
+ pmeth_gn.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
+ pmeth_gn.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
+ pmeth_gn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+-pmeth_gn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+-pmeth_gn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+-pmeth_gn.o: ../../include/openssl/opensslconf.h
++pmeth_gn.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++pmeth_gn.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++pmeth_gn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+ pmeth_gn.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+ pmeth_gn.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+ pmeth_gn.o: ../../include/openssl/symhacks.h ../cryptlib.h evp_locl.h
+@@ -756,9 +719,8 @@ pmeth_gn.o: pmeth_gn.c
+ pmeth_lib.o: ../../e_os.h ../../include/openssl/asn1.h
+ pmeth_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
+ pmeth_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+-pmeth_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
+-pmeth_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+-pmeth_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++pmeth_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
++pmeth_lib.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
+ pmeth_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ pmeth_lib.o: ../../include/openssl/objects.h
+ pmeth_lib.o: ../../include/openssl/opensslconf.h
+diff -up openssl-1.0.1-beta3/crypto/evp/m_dss1.c.fips openssl-1.0.1-beta3/crypto/evp/m_dss1.c
+--- openssl-1.0.1-beta3/crypto/evp/m_dss1.c.fips       2011-06-01 17:11:00.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/m_dss1.c    2012-02-29 10:33:02.788294844 +0100
+@@ -68,8 +68,6 @@
+ #include <openssl/dsa.h>
+ #endif
+-#ifndef OPENSSL_FIPS 
+-
+ static int init(EVP_MD_CTX *ctx)
+       { return SHA1_Init(ctx->md_data); }
+@@ -84,7 +82,7 @@ static const EVP_MD dss1_md=
+       NID_dsa,
+       NID_dsaWithSHA1,
+       SHA_DIGEST_LENGTH,
+-      EVP_MD_FLAG_PKEY_DIGEST,
++      EVP_MD_FLAG_PKEY_DIGEST|EVP_MD_FLAG_FIPS,
+       init,
+       update,
+       final,
+@@ -100,4 +98,3 @@ const EVP_MD *EVP_dss1(void)
+       return(&dss1_md);
+       }
+ #endif
+-#endif
+diff -up openssl-1.0.1-beta3/crypto/evp/m_dss.c.fips openssl-1.0.1-beta3/crypto/evp/m_dss.c
+--- openssl-1.0.1-beta3/crypto/evp/m_dss.c.fips        2011-06-01 17:11:00.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/m_dss.c     2012-02-29 10:33:02.788294844 +0100
+@@ -66,7 +66,6 @@
+ #endif
+ #ifndef OPENSSL_NO_SHA
+-#ifndef OPENSSL_FIPS
+ static int init(EVP_MD_CTX *ctx)
+       { return SHA1_Init(ctx->md_data); }
+@@ -82,7 +81,7 @@ static const EVP_MD dsa_md=
+       NID_dsaWithSHA,
+       NID_dsaWithSHA,
+       SHA_DIGEST_LENGTH,
+-      EVP_MD_FLAG_PKEY_DIGEST,
++      EVP_MD_FLAG_PKEY_DIGEST|EVP_MD_FLAG_FIPS,
+       init,
+       update,
+       final,
+@@ -98,4 +97,3 @@ const EVP_MD *EVP_dss(void)
+       return(&dsa_md);
+       }
+ #endif
+-#endif
+diff -up openssl-1.0.1-beta3/crypto/evp/m_md2.c.fips openssl-1.0.1-beta3/crypto/evp/m_md2.c
+--- openssl-1.0.1-beta3/crypto/evp/m_md2.c.fips        2005-07-16 14:37:32.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/m_md2.c     2012-02-29 10:33:02.789294853 +0100
+@@ -68,6 +68,7 @@
+ #ifndef OPENSSL_NO_RSA
+ #include <openssl/rsa.h>
+ #endif
++#include "evp_locl.h"
+ static int init(EVP_MD_CTX *ctx)
+       { return MD2_Init(ctx->md_data); }
+diff -up openssl-1.0.1-beta3/crypto/evp/m_sha1.c.fips openssl-1.0.1-beta3/crypto/evp/m_sha1.c
+--- openssl-1.0.1-beta3/crypto/evp/m_sha1.c.fips       2011-05-29 01:01:26.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/m_sha1.c    2012-02-29 10:33:02.789294853 +0100
+@@ -59,8 +59,6 @@
+ #include <stdio.h>
+ #include "cryptlib.h"
+-#ifndef OPENSSL_FIPS
+-
+ #ifndef OPENSSL_NO_SHA
+ #include <openssl/evp.h>
+@@ -85,7 +83,8 @@ static const EVP_MD sha1_md=
+       NID_sha1,
+       NID_sha1WithRSAEncryption,
+       SHA_DIGEST_LENGTH,
+-      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT,
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT|
++              EVP_MD_FLAG_FIPS,
+       init,
+       update,
+       final,
+@@ -122,7 +121,8 @@ static const EVP_MD sha224_md=
+       NID_sha224,
+       NID_sha224WithRSAEncryption,
+       SHA224_DIGEST_LENGTH,
+-      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT,
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT|
++              EVP_MD_FLAG_FIPS,
+       init224,
+       update256,
+       final256,
+@@ -141,7 +141,8 @@ static const EVP_MD sha256_md=
+       NID_sha256,
+       NID_sha256WithRSAEncryption,
+       SHA256_DIGEST_LENGTH,
+-      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT,
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT|
++              EVP_MD_FLAG_FIPS,
+       init256,
+       update256,
+       final256,
+@@ -172,7 +173,8 @@ static const EVP_MD sha384_md=
+       NID_sha384,
+       NID_sha384WithRSAEncryption,
+       SHA384_DIGEST_LENGTH,
+-      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT,
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT|
++              EVP_MD_FLAG_FIPS,
+       init384,
+       update512,
+       final512,
+@@ -191,7 +193,8 @@ static const EVP_MD sha512_md=
+       NID_sha512,
+       NID_sha512WithRSAEncryption,
+       SHA512_DIGEST_LENGTH,
+-      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT,
++      EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_DIGALGID_ABSENT|
++              EVP_MD_FLAG_FIPS,
+       init512,
+       update512,
+       final512,
+@@ -206,4 +209,3 @@ const EVP_MD *EVP_sha512(void)
+       { return(&sha512_md); }
+ #endif        /* ifndef OPENSSL_NO_SHA512 */
+-#endif
+diff -up openssl-1.0.1-beta3/crypto/evp/p_sign.c.fips openssl-1.0.1-beta3/crypto/evp/p_sign.c
+--- openssl-1.0.1-beta3/crypto/evp/p_sign.c.fips       2011-06-09 18:02:39.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/p_sign.c    2012-02-29 10:33:02.789294853 +0100
+@@ -61,6 +61,7 @@
+ #include <openssl/evp.h>
+ #include <openssl/objects.h>
+ #include <openssl/x509.h>
++#include <openssl/rsa.h>
+ #ifdef undef
+ void EVP_SignInit(EVP_MD_CTX *ctx, EVP_MD *type)
+@@ -103,6 +104,22 @@ int EVP_SignFinal(EVP_MD_CTX *ctx, unsig
+                       goto err;
+               if (EVP_PKEY_CTX_set_signature_md(pkctx, ctx->digest) <= 0)
+                       goto err;
++              if (ctx->flags & EVP_MD_CTX_FLAG_PAD_X931)
++                      if (EVP_PKEY_CTX_set_rsa_padding(pkctx, RSA_X931_PADDING) <= 0)
++                              goto err;
++              if (ctx->flags & EVP_MD_CTX_FLAG_PAD_PSS)
++                      {
++                      int saltlen;
++                      if (EVP_PKEY_CTX_set_rsa_padding(pkctx, RSA_PKCS1_PSS_PADDING) <= 0)
++                              goto err;
++                      saltlen = M_EVP_MD_CTX_FLAG_PSS_SALT(ctx);
++                      if (saltlen == EVP_MD_CTX_FLAG_PSS_MDLEN)
++                              saltlen = -1;
++                      else if (saltlen == EVP_MD_CTX_FLAG_PSS_MREC)
++                              saltlen = -2;
++                      if (EVP_PKEY_CTX_set_rsa_pss_saltlen(pkctx, saltlen) <= 0)
++                              goto err;
++                      }
+               if (EVP_PKEY_sign(pkctx, sigret, &sltmp, m, m_len) <= 0)
+                       goto err;
+               *siglen = sltmp;
+diff -up openssl-1.0.1-beta3/crypto/evp/p_verify.c.fips openssl-1.0.1-beta3/crypto/evp/p_verify.c
+--- openssl-1.0.1-beta3/crypto/evp/p_verify.c.fips     2011-06-09 18:02:39.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/evp/p_verify.c  2012-02-29 10:33:02.789294853 +0100
+@@ -61,6 +61,7 @@
+ #include <openssl/evp.h>
+ #include <openssl/objects.h>
+ #include <openssl/x509.h>
++#include <openssl/rsa.h>
+ int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
+            unsigned int siglen, EVP_PKEY *pkey)
+@@ -88,6 +89,22 @@ int EVP_VerifyFinal(EVP_MD_CTX *ctx, con
+                       goto err;
+               if (EVP_PKEY_CTX_set_signature_md(pkctx, ctx->digest) <= 0)
+                       goto err;
++              if (ctx->flags & EVP_MD_CTX_FLAG_PAD_X931)
++                      if (EVP_PKEY_CTX_set_rsa_padding(pkctx, RSA_X931_PADDING) <= 0)
++                              goto err;
++              if (ctx->flags & EVP_MD_CTX_FLAG_PAD_PSS)
++                      {
++                      int saltlen;
++                      if (EVP_PKEY_CTX_set_rsa_padding(pkctx, RSA_PKCS1_PSS_PADDING) <= 0)
++                              goto err;
++                      saltlen = M_EVP_MD_CTX_FLAG_PSS_SALT(ctx);
++                      if (saltlen == EVP_MD_CTX_FLAG_PSS_MDLEN)
++                              saltlen = -1;
++                      else if (saltlen == EVP_MD_CTX_FLAG_PSS_MREC)
++                              saltlen = -2;
++                      if (EVP_PKEY_CTX_set_rsa_pss_saltlen(pkctx, saltlen) <= 0)
++                              goto err;
++                      }
+               i = EVP_PKEY_verify(pkctx, sigbuf, siglen, m, m_len);
+               err:
+               EVP_PKEY_CTX_free(pkctx);
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_aesavs.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_aesavs.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_aesavs.c.fips    2012-02-29 10:33:02.789294853 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_aesavs.c 2012-02-29 10:33:02.789294853 +0100
+@@ -0,0 +1,939 @@
++/* ====================================================================
++ * Copyright (c) 2004 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++/*---------------------------------------------
++  NIST AES Algorithm Validation Suite
++  Test Program
++
++  Donated to OpenSSL by:
++  V-ONE Corporation
++  20250 Century Blvd, Suite 300
++  Germantown, MD 20874
++  U.S.A.
++  ----------------------------------------------*/
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <assert.h>
++#include <ctype.h>
++#include <openssl/aes.h>
++#include <openssl/evp.h>
++#include <openssl/bn.h>
++
++#include <openssl/err.h>
++#include "e_os.h"
++
++#ifndef OPENSSL_FIPS
++
++int main(int argc, char *argv[])
++{
++    printf("No FIPS AES support\n");
++    return(0);
++}
++
++#else
++
++#include <openssl/fips.h>
++#include "fips_utl.h"
++
++#define AES_BLOCK_SIZE 16
++
++#define VERBOSE 0
++
++/*-----------------------------------------------*/
++
++int AESTest(EVP_CIPHER_CTX *ctx,
++          char *amode, int akeysz, unsigned char *aKey, 
++          unsigned char *iVec, 
++          int dir,  /* 0 = decrypt, 1 = encrypt */
++          unsigned char *plaintext, unsigned char *ciphertext, int len)
++    {
++    const EVP_CIPHER *cipher = NULL;
++
++    if (strcasecmp(amode, "CBC") == 0)
++      {
++      switch (akeysz)
++              {
++              case 128:
++              cipher = EVP_aes_128_cbc();
++              break;
++
++              case 192:
++              cipher = EVP_aes_192_cbc();
++              break;
++
++              case 256:
++              cipher = EVP_aes_256_cbc();
++              break;
++              }
++
++      }
++    else if (strcasecmp(amode, "ECB") == 0)
++      {
++      switch (akeysz)
++              {
++              case 128:
++              cipher = EVP_aes_128_ecb();
++              break;
++
++              case 192:
++              cipher = EVP_aes_192_ecb();
++              break;
++
++              case 256:
++              cipher = EVP_aes_256_ecb();
++              break;
++              }
++      }
++    else if (strcasecmp(amode, "CFB128") == 0)
++      {
++      switch (akeysz)
++              {
++              case 128:
++              cipher = EVP_aes_128_cfb128();
++              break;
++
++              case 192:
++              cipher = EVP_aes_192_cfb128();
++              break;
++
++              case 256:
++              cipher = EVP_aes_256_cfb128();
++              break;
++              }
++
++      }
++    else if (strncasecmp(amode, "OFB", 3) == 0)
++      {
++      switch (akeysz)
++              {
++              case 128:
++              cipher = EVP_aes_128_ofb();
++              break;
++
++              case 192:
++              cipher = EVP_aes_192_ofb();
++              break;
++
++              case 256:
++              cipher = EVP_aes_256_ofb();
++              break;
++              }
++      }
++    else if(!strcasecmp(amode,"CFB1"))
++      {
++      switch (akeysz)
++              {
++              case 128:
++              cipher = EVP_aes_128_cfb1();
++              break;
++
++              case 192:
++              cipher = EVP_aes_192_cfb1();
++              break;
++
++              case 256:
++              cipher = EVP_aes_256_cfb1();
++              break;
++              }
++      }
++    else if(!strcasecmp(amode,"CFB8"))
++      {
++      switch (akeysz)
++              {
++              case 128:
++              cipher = EVP_aes_128_cfb8();
++              break;
++
++              case 192:
++              cipher = EVP_aes_192_cfb8();
++              break;
++
++              case 256:
++              cipher = EVP_aes_256_cfb8();
++              break;
++              }
++      }
++    else
++      {
++      printf("Unknown mode: %s\n", amode);
++      return 0;
++      }
++    if (!cipher)
++      {
++      printf("Invalid key size: %d\n", akeysz);
++      return 0; 
++      }
++    if (EVP_CipherInit_ex(ctx, cipher, NULL, aKey, iVec, dir) <= 0)
++      return 0;
++    if(!strcasecmp(amode,"CFB1"))
++      M_EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPH_FLAG_LENGTH_BITS);
++    if (dir)
++              EVP_Cipher(ctx, ciphertext, plaintext, len);
++      else
++              EVP_Cipher(ctx, plaintext, ciphertext, len);
++    return 1;
++    }
++
++/*-----------------------------------------------*/
++char *t_tag[2] = {"PLAINTEXT", "CIPHERTEXT"};
++char *t_mode[6] = {"CBC","ECB","OFB","CFB1","CFB8","CFB128"};
++enum Mode {CBC, ECB, OFB, CFB1, CFB8, CFB128};
++enum XCrypt {XDECRYPT, XENCRYPT};
++
++/*=============================*/
++/*  Monte Carlo Tests          */
++/*-----------------------------*/
++
++/*#define gb(a,b) (((a)[(b)/8] >> ((b)%8))&1)*/
++/*#define sb(a,b,v) ((a)[(b)/8]=((a)[(b)/8]&~(1 << ((b)%8)))|(!!(v) << ((b)%8)))*/
++
++#define gb(a,b) (((a)[(b)/8] >> (7-(b)%8))&1)
++#define sb(a,b,v) ((a)[(b)/8]=((a)[(b)/8]&~(1 << (7-(b)%8)))|(!!(v) << (7-(b)%8)))
++
++int do_mct(char *amode, 
++         int akeysz, unsigned char *aKey,unsigned char *iVec,
++         int dir, unsigned char *text, int len,
++         FILE *rfp)
++    {
++    int ret = 0;
++    unsigned char key[101][32];
++    unsigned char iv[101][AES_BLOCK_SIZE];
++    unsigned char ptext[1001][32];
++    unsigned char ctext[1001][32];
++    unsigned char ciphertext[64+4];
++    int i, j, n, n1, n2;
++    int imode = 0, nkeysz = akeysz/8;
++    EVP_CIPHER_CTX ctx;
++    EVP_CIPHER_CTX_init(&ctx);
++
++    if (len > 32)
++      {
++      printf("\n>>>> Length exceeds 32 for %s %d <<<<\n\n", 
++             amode, akeysz);
++      return -1;
++      }
++    for (imode = 0; imode < 6; ++imode)
++      if (strcmp(amode, t_mode[imode]) == 0)
++          break;
++    if (imode == 6)
++      { 
++      printf("Unrecognized mode: %s\n", amode);
++      return -1;
++      }
++
++    memcpy(key[0], aKey, nkeysz);
++    if (iVec)
++      memcpy(iv[0], iVec, AES_BLOCK_SIZE);
++    if (dir == XENCRYPT)
++      memcpy(ptext[0], text, len);
++    else
++      memcpy(ctext[0], text, len);
++    for (i = 0; i < 100; ++i)
++      {
++      /* printf("Iteration %d\n", i); */
++      if (i > 0)
++          {
++          fprintf(rfp,"COUNT = %d\n",i);
++          OutputValue("KEY",key[i],nkeysz,rfp,0);
++          if (imode != ECB)  /* ECB */
++              OutputValue("IV",iv[i],AES_BLOCK_SIZE,rfp,0);
++          /* Output Ciphertext | Plaintext */
++          OutputValue(t_tag[dir^1],dir ? ptext[0] : ctext[0],len,rfp,
++                      imode == CFB1);
++          }
++      for (j = 0; j < 1000; ++j)
++          {
++          switch (imode)
++              {
++          case ECB:
++              if (j == 0)
++                  { /* set up encryption */
++                  ret = AESTest(&ctx, amode, akeysz, key[i], NULL, 
++                                dir,  /* 0 = decrypt, 1 = encrypt */
++                                ptext[j], ctext[j], len);
++                  if (dir == XENCRYPT)
++                      memcpy(ptext[j+1], ctext[j], len);
++                  else
++                      memcpy(ctext[j+1], ptext[j], len);
++                  }
++              else
++                  {
++                  if (dir == XENCRYPT)
++                      {
++                      EVP_Cipher(&ctx, ctext[j], ptext[j], len);
++                      memcpy(ptext[j+1], ctext[j], len);
++                      }
++                  else
++                      {
++                      EVP_Cipher(&ctx, ptext[j], ctext[j], len);
++                      memcpy(ctext[j+1], ptext[j], len);
++                      }
++                  }
++              break;
++
++          case CBC:
++          case OFB:  
++          case CFB128:
++              if (j == 0)
++                  {
++                  ret = AESTest(&ctx, amode, akeysz, key[i], iv[i], 
++                                dir,  /* 0 = decrypt, 1 = encrypt */
++                                ptext[j], ctext[j], len);
++                  if (dir == XENCRYPT)
++                      memcpy(ptext[j+1], iv[i], len);
++                  else
++                      memcpy(ctext[j+1], iv[i], len);
++                  }
++              else
++                  {
++                  if (dir == XENCRYPT)
++                      {
++                      EVP_Cipher(&ctx, ctext[j], ptext[j], len);
++                      memcpy(ptext[j+1], ctext[j-1], len);
++                      }
++                  else
++                      {
++                      EVP_Cipher(&ctx, ptext[j], ctext[j], len);
++                      memcpy(ctext[j+1], ptext[j-1], len);
++                      }
++                  }
++              break;
++
++          case CFB8:
++              if (j == 0)
++                  {
++                  ret = AESTest(&ctx, amode, akeysz, key[i], iv[i], 
++                                dir,  /* 0 = decrypt, 1 = encrypt */
++                                ptext[j], ctext[j], len);
++                  }
++              else
++                  {
++                  if (dir == XENCRYPT)
++                      EVP_Cipher(&ctx, ctext[j], ptext[j], len);
++                  else
++                      EVP_Cipher(&ctx, ptext[j], ctext[j], len);
++                  }
++              if (dir == XENCRYPT)
++                  {
++                  if (j < 16)
++                      memcpy(ptext[j+1], &iv[i][j], len);
++                  else
++                      memcpy(ptext[j+1], ctext[j-16], len);
++                  }
++              else
++                  {
++                  if (j < 16)
++                      memcpy(ctext[j+1], &iv[i][j], len);
++                  else
++                      memcpy(ctext[j+1], ptext[j-16], len);
++                  }
++              break;
++
++          case CFB1:
++              if(j == 0)
++                  {
++#if 0
++                  /* compensate for wrong endianness of input file */
++                  if(i == 0)
++                      ptext[0][0]<<=7;
++#endif
++                  ret = AESTest(&ctx,amode,akeysz,key[i],iv[i],dir,
++                              ptext[j], ctext[j], len);
++                  }
++              else
++                  {
++                  if (dir == XENCRYPT)
++                      EVP_Cipher(&ctx, ctext[j], ptext[j], len);
++                  else
++                      EVP_Cipher(&ctx, ptext[j], ctext[j], len);
++
++                  }
++              if(dir == XENCRYPT)
++                  {
++                  if(j < 128)
++                      sb(ptext[j+1],0,gb(iv[i],j));
++                  else
++                      sb(ptext[j+1],0,gb(ctext[j-128],0));
++                  }
++              else
++                  {
++                  if(j < 128)
++                      sb(ctext[j+1],0,gb(iv[i],j));
++                  else
++                      sb(ctext[j+1],0,gb(ptext[j-128],0));
++                  }
++              break;
++              }
++          }
++      --j; /* reset to last of range */
++      /* Output Ciphertext | Plaintext */
++      OutputValue(t_tag[dir],dir ? ctext[j] : ptext[j],len,rfp,
++                  imode == CFB1);
++      fprintf(rfp, "\n");  /* add separator */
++
++      /* Compute next KEY */
++      if (dir == XENCRYPT)
++          {
++          if (imode == CFB8)
++              { /* ct = CT[j-15] || CT[j-14] || ... || CT[j] */
++              for (n1 = 0, n2 = nkeysz-1; n1 < nkeysz; ++n1, --n2)
++                  ciphertext[n1] = ctext[j-n2][0];
++              }
++          else if(imode == CFB1)
++              {
++              for(n1=0,n2=akeysz-1 ; n1 < akeysz ; ++n1,--n2)
++                  sb(ciphertext,n1,gb(ctext[j-n2],0));
++              }
++          else
++              switch (akeysz)
++                  {
++              case 128:
++                  memcpy(ciphertext, ctext[j], 16);
++                  break;
++              case 192:
++                  memcpy(ciphertext, ctext[j-1]+8, 8);
++                  memcpy(ciphertext+8, ctext[j], 16);
++                  break;
++              case 256:
++                  memcpy(ciphertext, ctext[j-1], 16);
++                  memcpy(ciphertext+16, ctext[j], 16);
++                  break;
++                  }
++          }
++      else
++          {
++          if (imode == CFB8)
++              { /* ct = CT[j-15] || CT[j-14] || ... || CT[j] */
++              for (n1 = 0, n2 = nkeysz-1; n1 < nkeysz; ++n1, --n2)
++                  ciphertext[n1] = ptext[j-n2][0];
++              }
++          else if(imode == CFB1)
++              {
++              for(n1=0,n2=akeysz-1 ; n1 < akeysz ; ++n1,--n2)
++                  sb(ciphertext,n1,gb(ptext[j-n2],0));
++              }
++          else
++              switch (akeysz)
++                  {
++              case 128:
++                  memcpy(ciphertext, ptext[j], 16);
++                  break;
++              case 192:
++                  memcpy(ciphertext, ptext[j-1]+8, 8);
++                  memcpy(ciphertext+8, ptext[j], 16);
++                  break;
++              case 256:
++                  memcpy(ciphertext, ptext[j-1], 16);
++                  memcpy(ciphertext+16, ptext[j], 16);
++                  break;
++                  }
++          }
++      /* Compute next key: Key[i+1] = Key[i] xor ct */
++      for (n = 0; n < nkeysz; ++n)
++          key[i+1][n] = key[i][n] ^ ciphertext[n];
++      
++      /* Compute next IV and text */
++      if (dir == XENCRYPT)
++          {
++          switch (imode)
++              {
++          case ECB:
++              memcpy(ptext[0], ctext[j], AES_BLOCK_SIZE);
++              break;
++          case CBC:
++          case OFB:
++          case CFB128:
++              memcpy(iv[i+1], ctext[j], AES_BLOCK_SIZE);
++              memcpy(ptext[0], ctext[j-1], AES_BLOCK_SIZE);
++              break;
++          case CFB8:
++              /* IV[i+1] = ct */
++              for (n1 = 0, n2 = 15; n1 < 16; ++n1, --n2)
++                  iv[i+1][n1] = ctext[j-n2][0];
++              ptext[0][0] = ctext[j-16][0];
++              break;
++          case CFB1:
++              for(n1=0,n2=127 ; n1 < 128 ; ++n1,--n2)
++                  sb(iv[i+1],n1,gb(ctext[j-n2],0));
++              ptext[0][0]=ctext[j-128][0]&0x80;
++              break;
++              }
++          }
++      else
++          {
++          switch (imode)
++              {
++          case ECB:
++              memcpy(ctext[0], ptext[j], AES_BLOCK_SIZE);
++              break;
++          case CBC:
++          case OFB:
++          case CFB128:
++              memcpy(iv[i+1], ptext[j], AES_BLOCK_SIZE);
++              memcpy(ctext[0], ptext[j-1], AES_BLOCK_SIZE);
++              break;
++          case CFB8:
++              for (n1 = 0, n2 = 15; n1 < 16; ++n1, --n2)
++                  iv[i+1][n1] = ptext[j-n2][0];
++              ctext[0][0] = ptext[j-16][0];
++              break;
++          case CFB1:
++              for(n1=0,n2=127 ; n1 < 128 ; ++n1,--n2)
++                  sb(iv[i+1],n1,gb(ptext[j-n2],0));
++              ctext[0][0]=ptext[j-128][0]&0x80;
++              break;
++              }
++          }
++      }
++    
++    return ret;
++    }
++
++/*================================================*/
++/*----------------------------
++  # Config info for v-one
++  # AESVS MMT test data for ECB
++  # State : Encrypt and Decrypt
++  # Key Length : 256
++  # Fri Aug 30 04:07:22 PM
++  ----------------------------*/
++
++int proc_file(char *rqfile, char *rspfile)
++    {
++    char afn[256], rfn[256];
++    FILE *afp = NULL, *rfp = NULL;
++    char ibuf[2048];
++    char tbuf[2048];
++    int ilen, len, ret = 0;
++    char algo[8] = "";
++    char amode[8] = "";
++    char atest[8] = "";
++    int akeysz = 0;
++    unsigned char iVec[20], aKey[40];
++    int dir = -1, err = 0, step = 0;
++    unsigned char plaintext[2048];
++    unsigned char ciphertext[2048];
++    char *rp;
++    EVP_CIPHER_CTX ctx;
++    EVP_CIPHER_CTX_init(&ctx);
++
++    if (!rqfile || !(*rqfile))
++      {
++      printf("No req file\n");
++      return -1;
++      }
++    strcpy(afn, rqfile);
++
++    if ((afp = fopen(afn, "r")) == NULL)
++      {
++      printf("Cannot open file: %s, %s\n", 
++             afn, strerror(errno));
++      return -1;
++      }
++    if (!rspfile)
++      {
++      strcpy(rfn,afn);
++      rp=strstr(rfn,"req/");
++#ifdef OPENSSL_SYS_WIN32
++      if (!rp)
++          rp=strstr(rfn,"req\\");
++#endif
++      assert(rp);
++      memcpy(rp,"rsp",3);
++      rp = strstr(rfn, ".req");
++      memcpy(rp, ".rsp", 4);
++      rspfile = rfn;
++      }
++    if ((rfp = fopen(rspfile, "w")) == NULL)
++      {
++      printf("Cannot open file: %s, %s\n", 
++             rfn, strerror(errno));
++      fclose(afp);
++      afp = NULL;
++      return -1;
++      }
++    while (!err && (fgets(ibuf, sizeof(ibuf), afp)) != NULL)
++      {
++      tidy_line(tbuf, ibuf);
++      ilen = strlen(ibuf);
++      /*      printf("step=%d ibuf=%s",step,ibuf); */
++      switch (step)
++          {
++      case 0:  /* read preamble */
++          if (ibuf[0] == '\n')
++              { /* end of preamble */
++              if ((*algo == '\0') ||
++                  (*amode == '\0') ||
++                  (akeysz == 0))
++                  {
++                  printf("Missing Algorithm, Mode or KeySize (%s/%s/%d)\n",
++                         algo,amode,akeysz);
++                  err = 1;
++                  }
++              else
++                  {
++                  fputs(ibuf, rfp);
++                  ++ step;
++                  }
++              }
++          else if (ibuf[0] != '#')
++              {
++              printf("Invalid preamble item: %s\n", ibuf);
++              err = 1;
++              }
++          else
++              { /* process preamble */
++              char *xp, *pp = ibuf+2;
++              int n;
++              if (akeysz)
++                  { /* insert current time & date */
++                  time_t rtim = time(0);
++                  fprintf(rfp, "# %s", ctime(&rtim));
++                  }
++              else
++                  {
++                  fputs(ibuf, rfp);
++                  if (strncmp(pp, "AESVS ", 6) == 0)
++                      {
++                      strcpy(algo, "AES");
++                      /* get test type */
++                      pp += 6;
++                      xp = strchr(pp, ' ');
++                      n = xp-pp;
++                      strncpy(atest, pp, n);
++                      atest[n] = '\0';
++                      /* get mode */
++                      xp = strrchr(pp, ' '); /* get mode" */
++                      n = strlen(xp+1)-1;
++                      strncpy(amode, xp+1, n);
++                      amode[n] = '\0';
++                      /* amode[3] = '\0'; */
++                      if (VERBOSE)
++                              printf("Test = %s, Mode = %s\n", atest, amode);
++                      }
++                  else if (strncasecmp(pp, "Key Length : ", 13) == 0)
++                      {
++                      akeysz = atoi(pp+13);
++                      if (VERBOSE)
++                              printf("Key size = %d\n", akeysz);
++                      }
++                  }
++              }
++          break;
++
++      case 1:  /* [ENCRYPT] | [DECRYPT] */
++          if (ibuf[0] == '[')
++              {
++              fputs(ibuf, rfp);
++              ++step;
++              if (strncasecmp(ibuf, "[ENCRYPT]", 9) == 0)
++                  dir = 1;
++              else if (strncasecmp(ibuf, "[DECRYPT]", 9) == 0)
++                  dir = 0;
++              else
++                  {
++                  printf("Invalid keyword: %s\n", ibuf);
++                  err = 1;
++                  }
++              break;
++              }
++          else if (dir == -1)
++              {
++              err = 1;
++              printf("Missing ENCRYPT/DECRYPT keyword\n");
++              break;
++              }
++          else 
++              step = 2;
++
++      case 2: /* KEY = xxxx */
++          fputs(ibuf, rfp);
++          if(*ibuf == '\n')
++              break;
++          if(!strncasecmp(ibuf,"COUNT = ",8))
++              break;
++
++          if (strncasecmp(ibuf, "KEY = ", 6) != 0)
++              {
++              printf("Missing KEY\n");
++              err = 1;
++              }
++          else
++              {
++              len = hex2bin((char*)ibuf+6, aKey);
++              if (len < 0)
++                  {
++                  printf("Invalid KEY\n");
++                  err =1;
++                  break;
++                  }
++              PrintValue("KEY", aKey, len);
++              if (strcmp(amode, "ECB") == 0)
++                  {
++                  memset(iVec, 0, sizeof(iVec));
++                  step = (dir)? 4: 5;  /* no ivec for ECB */
++                  }
++              else
++                  ++step;
++              }
++          break;
++
++      case 3: /* IV = xxxx */
++          fputs(ibuf, rfp);
++          if (strncasecmp(ibuf, "IV = ", 5) != 0)
++              {
++              printf("Missing IV\n");
++              err = 1;
++              }
++          else
++              {
++              len = hex2bin((char*)ibuf+5, iVec);
++              if (len < 0)
++                  {
++                  printf("Invalid IV\n");
++                  err =1;
++                  break;
++                  }
++              PrintValue("IV", iVec, len);
++              step = (dir)? 4: 5;
++              }
++          break;
++
++      case 4: /* PLAINTEXT = xxxx */
++          fputs(ibuf, rfp);
++          if (strncasecmp(ibuf, "PLAINTEXT = ", 12) != 0)
++              {
++              printf("Missing PLAINTEXT\n");
++              err = 1;
++              }
++          else
++              {
++              int nn = strlen(ibuf+12);
++              if(!strcmp(amode,"CFB1"))
++                  len=bint2bin(ibuf+12,nn-1,plaintext);
++              else
++                  len=hex2bin(ibuf+12, plaintext);
++              if (len < 0)
++                  {
++                  printf("Invalid PLAINTEXT: %s", ibuf+12);
++                  err =1;
++                  break;
++                  }
++              if (len >= sizeof(plaintext))
++                  {
++                  printf("Buffer overflow\n");
++                  }
++              PrintValue("PLAINTEXT", (unsigned char*)plaintext, len);
++              if (strcmp(atest, "MCT") == 0)  /* Monte Carlo Test */
++                  {
++                  if(do_mct(amode, akeysz, aKey, iVec, 
++                            dir, (unsigned char*)plaintext, len, 
++                            rfp) < 0)
++                      EXIT(1);
++                  }
++              else
++                  {
++                  ret = AESTest(&ctx, amode, akeysz, aKey, iVec, 
++                                dir,  /* 0 = decrypt, 1 = encrypt */
++                                plaintext, ciphertext, len);
++                  OutputValue("CIPHERTEXT",ciphertext,len,rfp,
++                              !strcmp(amode,"CFB1"));
++                  }
++              step = 6;
++              }
++          break;
++
++      case 5: /* CIPHERTEXT = xxxx */
++          fputs(ibuf, rfp);
++          if (strncasecmp(ibuf, "CIPHERTEXT = ", 13) != 0)
++              {
++              printf("Missing KEY\n");
++              err = 1;
++              }
++          else
++              {
++              if(!strcmp(amode,"CFB1"))
++                  len=bint2bin(ibuf+13,strlen(ibuf+13)-1,ciphertext);
++              else
++                  len = hex2bin(ibuf+13,ciphertext);
++              if (len < 0)
++                  {
++                  printf("Invalid CIPHERTEXT\n");
++                  err =1;
++                  break;
++                  }
++
++              PrintValue("CIPHERTEXT", ciphertext, len);
++              if (strcmp(atest, "MCT") == 0)  /* Monte Carlo Test */
++                  {
++                  do_mct(amode, akeysz, aKey, iVec, 
++                         dir, ciphertext, len, rfp);
++                  }
++              else
++                  {
++                  ret = AESTest(&ctx, amode, akeysz, aKey, iVec, 
++                                dir,  /* 0 = decrypt, 1 = encrypt */
++                                plaintext, ciphertext, len);
++                  OutputValue("PLAINTEXT",(unsigned char *)plaintext,len,rfp,
++                              !strcmp(amode,"CFB1"));
++                  }
++              step = 6;
++              }
++          break;
++
++      case 6:
++          if (ibuf[0] != '\n')
++              {
++              err = 1;
++              printf("Missing terminator\n");
++              }
++          else if (strcmp(atest, "MCT") != 0)
++              { /* MCT already added terminating nl */
++              fputs(ibuf, rfp);
++              }
++          step = 1;
++          break;
++          }
++      }
++    if (rfp)
++      fclose(rfp);
++    if (afp)
++      fclose(afp);
++    return err;
++    }
++
++/*--------------------------------------------------
++  Processes either a single file or 
++  a set of files whose names are passed in a file.
++  A single file is specified as:
++    aes_test -f xxx.req
++  A set of files is specified as:
++    aes_test -d xxxxx.xxx
++  The default is: -d req.txt
++--------------------------------------------------*/
++int main(int argc, char **argv)
++    {
++    char *rqlist = "req.txt", *rspfile = NULL;
++    FILE *fp = NULL;
++    char fn[250] = "", rfn[256] = "";
++    int f_opt = 0, d_opt = 1;
++
++#ifdef OPENSSL_FIPS
++    if(!FIPS_mode_set(1))
++      {
++      do_print_errors();
++      EXIT(1);
++      }
++#endif
++    if (argc > 1)
++      {
++      if (strcasecmp(argv[1], "-d") == 0)
++          {
++          d_opt = 1;
++          }
++      else if (strcasecmp(argv[1], "-f") == 0)
++          {
++          f_opt = 1;
++          d_opt = 0;
++          }
++      else
++          {
++          printf("Invalid parameter: %s\n", argv[1]);
++          return 0;
++          }
++      if (argc < 3)
++          {
++          printf("Missing parameter\n");
++          return 0;
++          }
++      if (d_opt)
++          rqlist = argv[2];
++      else
++          {
++          strcpy(fn, argv[2]);
++          rspfile = argv[3];
++          }
++      }
++    if (d_opt)
++      { /* list of files (directory) */
++      if (!(fp = fopen(rqlist, "r")))
++          {
++          printf("Cannot open req list file\n");
++          return -1;
++          }
++      while (fgets(fn, sizeof(fn), fp))
++          {
++          strtok(fn, "\r\n");
++          strcpy(rfn, fn);
++          if (VERBOSE)
++              printf("Processing: %s\n", rfn);
++          if (proc_file(rfn, rspfile))
++              {
++              printf(">>> Processing failed for: %s <<<\n", rfn);
++              EXIT(1);
++              }
++          }
++      fclose(fp);
++      }
++    else /* single file */
++      {
++      if (VERBOSE)
++          printf("Processing: %s\n", fn);
++      if (proc_file(fn, rspfile))
++          {
++          printf(">>> Processing failed for: %s <<<\n", fn);
++          }
++      }
++    EXIT(0);
++    return 0;
++    }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_cmactest.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_cmactest.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_cmactest.c.fips  2012-02-29 10:33:02.790294862 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_cmactest.c       2012-02-29 10:33:02.790294862 +0100
+@@ -0,0 +1,517 @@
++/* fips_cmactest.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project 2005.
++ */
++/* ====================================================================
++ * Copyright (c) 2005 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This product includes cryptographic software written by Eric Young
++ * (eay@cryptsoft.com).  This product includes software written by Tim
++ * Hudson (tjh@cryptsoft.com).
++ *
++ */
++
++#define OPENSSL_FIPSAPI
++
++#include <stdio.h>
++#include <ctype.h>
++#include <string.h>
++#include <openssl/bio.h>
++#include <openssl/evp.h>
++#include <openssl/cmac.h>
++#include <openssl/err.h>
++#include <openssl/bn.h>
++
++#ifndef OPENSSL_FIPS
++
++int main(int argc, char *argv[])
++{
++    printf("No FIPS CMAC support\n");
++    return(0);
++}
++
++#else
++
++#include <openssl/fips.h>
++#include "fips_utl.h"
++
++static int cmac_test(const EVP_CIPHER *cipher, FILE *out, FILE *in,
++      int mode, int Klen_counts_keys, int known_keylen);
++static int print_cmac_gen(const EVP_CIPHER *cipher, FILE *out,
++              unsigned char *Key, int Klen,
++              unsigned char *Msg, int Msglen,
++              int Tlen);
++static int print_cmac_ver(const EVP_CIPHER *cipher, FILE *out,
++              unsigned char *Key, int Klen,
++              unsigned char *Msg, int Msglen,
++              unsigned char *Mac, int Maclen,
++              int Tlen);
++
++#ifdef FIPS_ALGVS
++int fips_cmactest_main(int argc, char **argv)
++#else
++int main(int argc, char **argv)
++#endif
++      {
++      FILE *in = NULL, *out = NULL;
++      int mode = 0;           /* 0 => Generate, 1 => Verify */
++      int Klen_counts_keys = 0; /* 0 => Klen is size of one key
++                                   1 => Klen is amount of keys
++                                */
++      int known_keylen = 0;   /* Only set when Klen_counts_keys = 1 */
++      const EVP_CIPHER *cipher = 0;
++      int ret = 1;
++      fips_algtest_init();
++
++      while (argc > 1 && argv[1][0] == '-')
++              {
++              switch (argv[1][1])
++                      {
++              case 'a':
++                      {
++                      char *p = &argv[1][2];
++                      if (*p == '\0')
++                              {
++                              if (argc <= 2)
++                                      {
++                                      fprintf(stderr, "Option %s needs a value\n", argv[1]);
++                                      goto end;
++                                      }
++                              argv++;
++                              argc--;
++                              p = &argv[1][0];
++                              }
++                      if (!strcmp(p, "aes128"))
++                              cipher = EVP_aes_128_cbc();
++                      else if (!strcmp(p, "aes192"))
++                              cipher = EVP_aes_192_cbc();
++                      else if (!strcmp(p, "aes256"))
++                              cipher = EVP_aes_256_cbc();
++                      else if (!strcmp(p, "tdea3") || !strcmp(p, "tdes3"))
++                              {
++                              cipher = EVP_des_ede3_cbc();
++                              Klen_counts_keys = 1;
++                              known_keylen = 8;
++                              }
++                      else
++                              {
++                              fprintf(stderr, "Unknown algorithm %s\n", p);
++                              goto end;
++                              }
++                      }
++                      break;
++              case 'g':
++                      mode = 0;
++                      break;
++              case 'v':
++                      mode = 1;
++                      break;
++              default:
++                      fprintf(stderr, "Unknown option %s\n", argv[1]);
++                      goto end;
++                      }
++              argv++;
++              argc--;
++              }
++      if (argc == 1)
++              in = stdin;
++      else
++              in = fopen(argv[1], "r");
++
++      if (argc < 2)
++              out = stdout;
++      else
++              out = fopen(argv[2], "w");
++
++      if (!in)
++              {
++              fprintf(stderr, "FATAL input initialization error\n");
++              goto end;
++              }
++
++      if (!out)
++              {
++              fprintf(stderr, "FATAL output initialization error\n");
++              goto end;
++              }
++
++      if (!cmac_test(cipher, out, in, mode,
++                      Klen_counts_keys, known_keylen))
++              {
++              fprintf(stderr, "FATAL cmac file processing error\n");
++              goto end;
++              }
++      else
++              ret = 0;
++
++      end:
++
++      if (in && (in != stdin))
++              fclose(in);
++      if (out && (out != stdout))
++              fclose(out);
++
++      return ret;
++
++      }
++
++#define CMAC_TEST_MAXLINELEN  150000
++
++int cmac_test(const EVP_CIPHER *cipher, FILE *out, FILE *in,
++      int mode, int Klen_counts_keys, int known_keylen)
++      {
++      char *linebuf, *olinebuf, *p, *q;
++      char *keyword, *value;
++      unsigned char **Keys = NULL, *Msg = NULL, *Mac = NULL;
++      unsigned char *Key = NULL;
++      int Count, Klen, Mlen, Tlen;
++      long Keylen, Msglen, Maclen;
++      int ret = 0;
++      int lnum = 0;
++
++      olinebuf = OPENSSL_malloc(CMAC_TEST_MAXLINELEN);
++      linebuf = OPENSSL_malloc(CMAC_TEST_MAXLINELEN);
++
++      if (!linebuf || !olinebuf)
++              goto error;
++
++      Count = -1;
++      Klen = -1;
++      Mlen = -1;
++      Tlen = -1;
++
++      while (fgets(olinebuf, CMAC_TEST_MAXLINELEN, in))
++              {
++              lnum++;
++              strcpy(linebuf, olinebuf);
++              keyword = linebuf;
++              /* Skip leading space */
++              while (isspace((unsigned char)*keyword))
++                      keyword++;
++
++              /* Skip comments */
++              if (keyword[0] == '#')
++                      {
++                      if (fputs(olinebuf, out) < 0)
++                              goto error;
++                      continue;
++                      }
++
++              /* Look for = sign */
++              p = strchr(linebuf, '=');
++
++              /* If no = or starts with [ (for [L=20] line) just copy */
++              if (!p)
++                      {
++                      if (fputs(olinebuf, out) < 0)
++                              goto error;
++                      continue;
++                      }
++
++              q = p - 1;
++
++              /* Remove trailing space */
++              while (isspace((unsigned char)*q))
++                      *q-- = 0;
++
++              *p = 0;
++              value = p + 1;
++
++              /* Remove leading space from value */
++              while (isspace((unsigned char)*value))
++                      value++;
++
++              /* Remove trailing space from value */
++              p = value + strlen(value) - 1;
++
++              while (*p == '\n' || isspace((unsigned char)*p))
++                      *p-- = 0;
++
++              if (!strcmp(keyword, "Count"))
++                      {
++                      if (Count != -1)
++                              goto parse_error;
++                      Count = atoi(value);
++                      if (Count < 0)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Klen"))
++                      {
++                      if (Klen != -1)
++                              goto parse_error;
++                      Klen = atoi(value);
++                      if (Klen < 0)
++                              goto parse_error;
++                      if (Klen_counts_keys)
++                              {
++                              Keys = OPENSSL_malloc(sizeof(*Keys) * Klen);
++                              memset(Keys, '\0', sizeof(*Keys) * Klen);
++                              }
++                      else
++                              {
++                              Keys = OPENSSL_malloc(sizeof(*Keys));
++                              memset(Keys, '\0', sizeof(*Keys));
++                              }
++                      }
++              else if (!strcmp(keyword, "Mlen"))
++                      {
++                      if (Mlen != -1)
++                              goto parse_error;
++                      Mlen = atoi(value);
++                      if (Mlen < 0)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Tlen"))
++                      {
++                      if (Tlen != -1)
++                              goto parse_error;
++                      Tlen = atoi(value);
++                      if (Tlen < 0)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Key") && !Klen_counts_keys)
++                      {
++                      if (Keys[0])
++                              goto parse_error;
++                      Keys[0] = hex2bin_m(value, &Keylen);
++                      if (!Keys[0])
++                              goto parse_error;
++                      }
++              else if (!strncmp(keyword, "Key", 3) && Klen_counts_keys)
++                      {
++                      int keynum = atoi(keyword + 3);
++                      if (!keynum || keynum > Klen || Keys[keynum-1])
++                              goto parse_error;
++                      Keys[keynum-1] = hex2bin_m(value, &Keylen);
++                      if (!Keys[keynum-1])
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Msg"))
++                      {
++                      if (Msg)
++                              goto parse_error;
++                      Msg = hex2bin_m(value, &Msglen);
++                      if (!Msg)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Mac"))
++                      {
++                      if (mode == 0)
++                              continue;
++                      if (Mac)
++                              goto parse_error;
++                      Mac = hex2bin_m(value, &Maclen);
++                      if (!Mac)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Result"))
++                      {
++                      if (mode == 1)
++                              continue;
++                      goto parse_error;
++                      }
++              else
++                      goto parse_error;
++
++              fputs(olinebuf, out);
++
++              if (Keys && Msg && (!mode || Mac) && (Tlen > 0) && (Klen > 0))
++                      {
++                      if (Klen_counts_keys)
++                              {
++                              int x;
++                              Key = OPENSSL_malloc(Klen * known_keylen);
++                              for (x = 0; x < Klen; x++)
++                                      {
++                                      memcpy(Key + x * known_keylen,
++                                              Keys[x], known_keylen);
++                                      OPENSSL_free(Keys[x]);
++                                      }
++                              Klen *= known_keylen;
++                              }
++                      else
++                              {
++                              Key = OPENSSL_malloc(Klen);
++                              memcpy(Key, Keys[0], Klen);
++                              OPENSSL_free(Keys[0]);
++                              }
++                      OPENSSL_free(Keys);
++
++                      switch(mode)
++                              {
++                      case 0:
++                              if (!print_cmac_gen(cipher, out,
++                                              Key, Klen,
++                                              Msg, Mlen,
++                                              Tlen))
++                                      goto error;
++                              break;
++                      case 1:
++                              if (!print_cmac_ver(cipher, out,
++                                              Key, Klen,
++                                              Msg, Mlen,
++                                              Mac, Maclen,
++                                              Tlen))
++                                      goto error;
++                              break;
++                              }
++
++                      OPENSSL_free(Key);
++                      Key = NULL;
++                      OPENSSL_free(Msg);
++                      Msg = NULL;
++                      OPENSSL_free(Mac);
++                      Mac = NULL;
++                      Klen = -1;
++                      Mlen = -1;
++                      Tlen = -1;
++                      Count = -1;
++                      }
++              }
++
++
++      ret = 1;
++
++
++      error:
++
++      if (olinebuf)
++              OPENSSL_free(olinebuf);
++      if (linebuf)
++              OPENSSL_free(linebuf);
++      if (Key)
++              OPENSSL_free(Key);
++      if (Msg)
++              OPENSSL_free(Msg);
++      if (Mac)
++              OPENSSL_free(Mac);
++
++      return ret;
++
++      parse_error:
++
++      fprintf(stderr, "FATAL parse error processing line %d\n", lnum);
++
++      goto error;
++
++      }
++
++static int print_cmac_gen(const EVP_CIPHER *cipher, FILE *out,
++              unsigned char *Key, int Klen,
++              unsigned char *Msg, int Mlen,
++              int Tlen)
++      {
++      int rc, i;
++      size_t reslen;
++      unsigned char res[128];
++      CMAC_CTX *cmac_ctx = CMAC_CTX_new();
++
++      CMAC_Init(cmac_ctx, Key, Klen, cipher, 0);
++      CMAC_Update(cmac_ctx, Msg, Mlen);
++      if (!CMAC_Final(cmac_ctx, res, &reslen))
++              {
++              fputs("Error calculating CMAC\n", stderr);
++              rc = 0;
++              }
++      else if (Tlen > (int)reslen)
++              {
++              fputs("Parameter error, Tlen > CMAC length\n", stderr);
++              rc = 0;
++              }
++      else
++              {
++              fputs("Mac = ", out);
++              for (i = 0; i < Tlen; i++)
++                      fprintf(out, "%02x", res[i]);
++              fputs(RESP_EOL, out);
++              rc = 1;
++              }
++      CMAC_CTX_free(cmac_ctx);
++      return rc;
++      }
++
++static int print_cmac_ver(const EVP_CIPHER *cipher, FILE *out,
++              unsigned char *Key, int Klen,
++              unsigned char *Msg, int Mlen,
++              unsigned char *Mac, int Maclen,
++              int Tlen)
++      {
++      int rc = 1;
++      size_t reslen;
++      unsigned char res[128];
++      CMAC_CTX *cmac_ctx = CMAC_CTX_new();
++
++      CMAC_Init(cmac_ctx, Key, Klen, cipher, 0);
++      CMAC_Update(cmac_ctx, Msg, Mlen);
++      if (!CMAC_Final(cmac_ctx, res, &reslen))
++              {
++              fputs("Error calculating CMAC\n", stderr);
++              rc = 0;
++              }
++      else if (Tlen > (int)reslen)
++              {
++              fputs("Parameter error, Tlen > CMAC length\n", stderr);
++              rc = 0;
++              }
++      else if (Tlen != Maclen)
++              {
++              fputs("Parameter error, Tlen != resulting Mac length\n", stderr);
++              rc = 0;
++              }
++      else
++              {
++              if (!memcmp(Mac, res, Maclen))
++                      fputs("Result = P" RESP_EOL, out);
++              else
++                      fputs("Result = F" RESP_EOL, out);
++              }
++      CMAC_CTX_free(cmac_ctx);
++      return rc;
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_desmovs.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_desmovs.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_desmovs.c.fips   2012-02-29 10:33:02.790294862 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_desmovs.c        2012-02-29 10:33:02.790294862 +0100
+@@ -0,0 +1,702 @@
++/* ====================================================================
++ * Copyright (c) 2004 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++/*---------------------------------------------
++  NIST DES Modes of Operation Validation System
++  Test Program
++
++  Based on the AES Validation Suite, which was:
++  Donated to OpenSSL by:
++  V-ONE Corporation
++  20250 Century Blvd, Suite 300
++  Germantown, MD 20874
++  U.S.A.
++  ----------------------------------------------*/
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <assert.h>
++#include <ctype.h>
++#include <openssl/des.h>
++#include <openssl/evp.h>
++#include <openssl/bn.h>
++
++#include <openssl/err.h>
++#include "e_os.h"
++
++#ifndef OPENSSL_FIPS
++
++int main(int argc, char *argv[])
++{
++    printf("No FIPS DES support\n");
++    return(0);
++}
++
++#else
++
++#include <openssl/fips.h>
++#include "fips_utl.h"
++
++#define DES_BLOCK_SIZE 8
++
++#define VERBOSE 0
++
++int DESTest(EVP_CIPHER_CTX *ctx,
++          char *amode, int akeysz, unsigned char *aKey, 
++          unsigned char *iVec, 
++          int dir,  /* 0 = decrypt, 1 = encrypt */
++          unsigned char *out, unsigned char *in, int len)
++    {
++    const EVP_CIPHER *cipher = NULL;
++
++    if (akeysz != 192)
++      {
++      printf("Invalid key size: %d\n", akeysz);
++      EXIT(1);
++      }
++
++    if (strcasecmp(amode, "CBC") == 0)
++      cipher = EVP_des_ede3_cbc();
++    else if (strcasecmp(amode, "ECB") == 0)
++      cipher = EVP_des_ede3_ecb();
++    else if (strcasecmp(amode, "CFB64") == 0)
++      cipher = EVP_des_ede3_cfb64();
++    else if (strncasecmp(amode, "OFB", 3) == 0)
++      cipher = EVP_des_ede3_ofb();
++    else if(!strcasecmp(amode,"CFB8"))
++      cipher = EVP_des_ede3_cfb8();
++    else if(!strcasecmp(amode,"CFB1"))
++      cipher = EVP_des_ede3_cfb1();
++    else
++      {
++      printf("Unknown mode: %s\n", amode);
++      EXIT(1);
++      }
++
++    if (EVP_CipherInit_ex(ctx, cipher, NULL, aKey, iVec, dir) <= 0)
++      return 0;
++    if(!strcasecmp(amode,"CFB1"))
++      M_EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPH_FLAG_LENGTH_BITS);
++    EVP_Cipher(ctx, out, in, len);
++
++    return 1;
++    }
++
++void DebugValue(char *tag, unsigned char *val, int len)
++    {
++    char obuf[2048];
++    int olen;
++    olen = bin2hex(val, len, obuf);
++    printf("%s = %.*s\n", tag, olen, obuf);
++    }
++
++void shiftin(unsigned char *dst,unsigned char *src,int nbits)
++    {
++    int n;
++
++    /* move the bytes... */
++    memmove(dst,dst+nbits/8,3*8-nbits/8);
++    /* append new data */
++    memcpy(dst+3*8-nbits/8,src,(nbits+7)/8);
++    /* left shift the bits */
++    if(nbits%8)
++      for(n=0 ; n < 3*8 ; ++n)
++          dst[n]=(dst[n] << (nbits%8))|(dst[n+1] >> (8-nbits%8));
++    } 
++
++/*-----------------------------------------------*/
++char *t_tag[2] = {"PLAINTEXT", "CIPHERTEXT"};
++char *t_mode[6] = {"CBC","ECB","OFB","CFB1","CFB8","CFB64"};
++enum Mode {CBC, ECB, OFB, CFB1, CFB8, CFB64};
++int Sizes[6]={64,64,64,1,8,64};
++
++void do_mct(char *amode, 
++          int akeysz, int numkeys, unsigned char *akey,unsigned char *ivec,
++          int dir, unsigned char *text, int len,
++          FILE *rfp)
++    {
++    int i,imode;
++    unsigned char nk[4*8]; /* longest key+8 */
++    unsigned char text0[8];
++
++    for (imode=0 ; imode < 6 ; ++imode)
++      if(!strcmp(amode,t_mode[imode]))
++          break;
++    if (imode == 6)
++      { 
++      printf("Unrecognized mode: %s\n", amode);
++      EXIT(1);
++      }
++
++    for(i=0 ; i < 400 ; ++i)
++      {
++      int j;
++      int n;
++      int kp=akeysz/64;
++      unsigned char old_iv[8];
++      EVP_CIPHER_CTX ctx;
++      EVP_CIPHER_CTX_init(&ctx);
++
++      fprintf(rfp,"\nCOUNT = %d\n",i);
++      if(kp == 1)
++          OutputValue("KEY",akey,8,rfp,0);
++      else
++          for(n=0 ; n < kp ; ++n)
++              {
++              fprintf(rfp,"KEY%d",n+1);
++              OutputValue("",akey+n*8,8,rfp,0);
++              }
++
++      if(imode != ECB)
++          OutputValue("IV",ivec,8,rfp,0);
++      OutputValue(t_tag[dir^1],text,len,rfp,imode == CFB1);
++#if 0
++      /* compensate for endianness */
++      if(imode == CFB1)
++          text[0]<<=7;
++#endif
++      memcpy(text0,text,8);
++
++      for(j=0 ; j < 10000 ; ++j)
++          {
++          unsigned char old_text[8];
++
++          memcpy(old_text,text,8);
++          if(j == 0)
++              {
++              memcpy(old_iv,ivec,8);
++              DESTest(&ctx,amode,akeysz,akey,ivec,dir,text,text,len);
++              }
++          else
++              {
++              memcpy(old_iv,ctx.iv,8);
++              EVP_Cipher(&ctx,text,text,len);
++              }
++          if(j == 9999)
++              {
++              OutputValue(t_tag[dir],text,len,rfp,imode == CFB1);
++              /*              memcpy(ivec,text,8); */
++              }
++          /*      DebugValue("iv",ctx.iv,8); */
++          /* accumulate material for the next key */
++          shiftin(nk,text,Sizes[imode]);
++          /*      DebugValue("nk",nk,24);*/
++          if((dir && (imode == CFB1 || imode == CFB8 || imode == CFB64
++                      || imode == CBC)) || imode == OFB)
++              memcpy(text,old_iv,8);
++
++          if(!dir && (imode == CFB1 || imode == CFB8 || imode == CFB64))
++              {
++              /* the test specifies using the output of the raw DES operation
++                 which we don't have, so reconstruct it... */
++              for(n=0 ; n < 8 ; ++n)
++                  text[n]^=old_text[n];
++              }
++          }
++      for(n=0 ; n < 8 ; ++n)
++          akey[n]^=nk[16+n];
++      for(n=0 ; n < 8 ; ++n)
++          akey[8+n]^=nk[8+n];
++      for(n=0 ; n < 8 ; ++n)
++          akey[16+n]^=nk[n];
++      if(numkeys < 3)
++          memcpy(&akey[2*8],akey,8);
++      if(numkeys < 2)
++          memcpy(&akey[8],akey,8);
++      DES_set_odd_parity((DES_cblock *)akey);
++      DES_set_odd_parity((DES_cblock *)(akey+8));
++      DES_set_odd_parity((DES_cblock *)(akey+16));
++      memcpy(ivec,ctx.iv,8);
++
++      /* pointless exercise - the final text doesn't depend on the
++         initial text in OFB mode, so who cares what it is? (Who
++         designed these tests?) */
++      if(imode == OFB)
++          for(n=0 ; n < 8 ; ++n)
++              text[n]=text0[n]^old_iv[n];
++      }
++    }
++    
++int proc_file(char *rqfile, char *rspfile)
++    {
++    char afn[256], rfn[256];
++    FILE *afp = NULL, *rfp = NULL;
++    char ibuf[2048], tbuf[2048];
++    int ilen, len, ret = 0;
++    char amode[8] = "";
++    char atest[100] = "";
++    int akeysz=0;
++    unsigned char iVec[20], aKey[40];
++    int dir = -1, err = 0, step = 0;
++    unsigned char plaintext[2048];
++    unsigned char ciphertext[2048];
++    char *rp;
++    EVP_CIPHER_CTX ctx;
++    int numkeys=1;
++    EVP_CIPHER_CTX_init(&ctx);
++
++    if (!rqfile || !(*rqfile))
++      {
++      printf("No req file\n");
++      return -1;
++      }
++    strcpy(afn, rqfile);
++
++    if ((afp = fopen(afn, "r")) == NULL)
++      {
++      printf("Cannot open file: %s, %s\n", 
++             afn, strerror(errno));
++      return -1;
++      }
++    if (!rspfile)
++      {
++      strcpy(rfn,afn);
++      rp=strstr(rfn,"req/");
++#ifdef OPENSSL_SYS_WIN32
++      if (!rp)
++          rp=strstr(rfn,"req\\");
++#endif
++      assert(rp);
++      memcpy(rp,"rsp",3);
++      rp = strstr(rfn, ".req");
++      memcpy(rp, ".rsp", 4);
++      rspfile = rfn;
++      }
++    if ((rfp = fopen(rspfile, "w")) == NULL)
++      {
++      printf("Cannot open file: %s, %s\n", 
++             rfn, strerror(errno));
++      fclose(afp);
++      afp = NULL;
++      return -1;
++      }
++    while (!err && (fgets(ibuf, sizeof(ibuf), afp)) != NULL)
++      {
++      tidy_line(tbuf, ibuf);
++      ilen = strlen(ibuf);
++      /*      printf("step=%d ibuf=%s",step,ibuf);*/
++      if(step == 3 && !strcmp(amode,"ECB"))
++          {
++          memset(iVec, 0, sizeof(iVec));
++          step = (dir)? 4: 5;  /* no ivec for ECB */
++          }
++      switch (step)
++          {
++      case 0:  /* read preamble */
++          if (ibuf[0] == '\n')
++              { /* end of preamble */
++              if (*amode == '\0')
++                  {
++                  printf("Missing Mode\n");
++                  err = 1;
++                  }
++              else
++                  {
++                  fputs(ibuf, rfp);
++                  ++ step;
++                  }
++              }
++          else if (ibuf[0] != '#')
++              {
++              printf("Invalid preamble item: %s\n", ibuf);
++              err = 1;
++              }
++          else
++              { /* process preamble */
++              char *xp, *pp = ibuf+2;
++              int n;
++              if(*amode)
++                  { /* insert current time & date */
++                  time_t rtim = time(0);
++                  fprintf(rfp, "# %s", ctime(&rtim));
++                  }
++              else
++                  {
++                  fputs(ibuf, rfp);
++                  if(!strncmp(pp,"INVERSE ",8) || !strncmp(pp,"DES ",4)
++                     || !strncmp(pp,"TDES ",5)
++                     || !strncmp(pp,"PERMUTATION ",12)
++                     || !strncmp(pp,"SUBSTITUTION ",13)
++                     || !strncmp(pp,"VARIABLE ",9))
++                      {
++                      /* get test type */
++                      if(!strncmp(pp,"DES ",4))
++                          pp+=4;
++                      else if(!strncmp(pp,"TDES ",5))
++                          pp+=5;
++                      xp = strchr(pp, ' ');
++                      n = xp-pp;
++                      strncpy(atest, pp, n);
++                      atest[n] = '\0';
++                      /* get mode */
++                      xp = strrchr(pp, ' '); /* get mode" */
++                      n = strlen(xp+1)-1;
++                      strncpy(amode, xp+1, n);
++                      amode[n] = '\0';
++                      /* amode[3] = '\0'; */
++                      if (VERBOSE)
++                              printf("Test=%s, Mode=%s\n",atest,amode);
++                      }
++                  }
++              }
++          break;
++
++      case 1:  /* [ENCRYPT] | [DECRYPT] */
++          if(ibuf[0] == '\n')
++              break;
++          if (ibuf[0] == '[')
++              {
++              fputs(ibuf, rfp);
++              ++step;
++              if (strncasecmp(ibuf, "[ENCRYPT]", 9) == 0)
++                  dir = 1;
++              else if (strncasecmp(ibuf, "[DECRYPT]", 9) == 0)
++                  dir = 0;
++              else
++                  {
++                  printf("Invalid keyword: %s\n", ibuf);
++                  err = 1;
++                  }
++              break;
++              }
++          else if (dir == -1)
++              {
++              err = 1;
++              printf("Missing ENCRYPT/DECRYPT keyword\n");
++              break;
++              }
++          else 
++              step = 2;
++
++      case 2: /* KEY = xxxx */
++          if(*ibuf == '\n')
++              {
++              fputs(ibuf, rfp);
++              break;
++                }
++          if(!strncasecmp(ibuf,"COUNT = ",8))
++              {
++              fputs(ibuf, rfp);
++              break;
++                }
++          if(!strncasecmp(ibuf,"COUNT=",6))
++              {
++              fputs(ibuf, rfp);
++              break;
++                }
++          if(!strncasecmp(ibuf,"NumKeys = ",10))
++              {
++              numkeys=atoi(ibuf+10);
++              break;
++              }
++        
++          fputs(ibuf, rfp);
++          if(!strncasecmp(ibuf,"KEY = ",6))
++              {
++              akeysz=64;
++              len = hex2bin((char*)ibuf+6, aKey);
++              if (len < 0)
++                  {
++                  printf("Invalid KEY\n");
++                  err=1;
++                  break;
++                  }
++              PrintValue("KEY", aKey, len);
++              ++step;
++              }
++          else if(!strncasecmp(ibuf,"KEYs = ",7))
++              {
++              akeysz=64*3;
++              len=hex2bin(ibuf+7,aKey);
++              if(len != 8)
++                  {
++                  printf("Invalid KEY\n");
++                  err=1;
++                  break;
++                  }
++              memcpy(aKey+8,aKey,8);
++              memcpy(aKey+16,aKey,8);
++              ibuf[4]='\0';
++              PrintValue("KEYs",aKey,len);
++              ++step;
++              }
++          else if(!strncasecmp(ibuf,"KEY",3))
++              {
++              int n=ibuf[3]-'1';
++
++              akeysz=64*3;
++              len=hex2bin(ibuf+7,aKey+n*8);
++              if(len != 8)
++                  {
++                  printf("Invalid KEY\n");
++                  err=1;
++                  break;
++                  }
++              ibuf[4]='\0';
++              PrintValue(ibuf,aKey,len);
++              if(n == 2)
++                  ++step;
++              }
++          else
++              {
++              printf("Missing KEY\n");
++              err = 1;
++              }
++          break;
++
++      case 3: /* IV = xxxx */
++          fputs(ibuf, rfp);
++          if (strncasecmp(ibuf, "IV = ", 5) != 0)
++              {
++              printf("Missing IV\n");
++              err = 1;
++              }
++          else
++              {
++              len = hex2bin((char*)ibuf+5, iVec);
++              if (len < 0)
++                  {
++                  printf("Invalid IV\n");
++                  err =1;
++                  break;
++                  }
++              PrintValue("IV", iVec, len);
++              step = (dir)? 4: 5;
++              }
++          break;
++
++      case 4: /* PLAINTEXT = xxxx */
++          fputs(ibuf, rfp);
++          if (strncasecmp(ibuf, "PLAINTEXT = ", 12) != 0)
++              {
++              printf("Missing PLAINTEXT\n");
++              err = 1;
++              }
++          else
++              {
++              int nn = strlen(ibuf+12);
++              if(!strcmp(amode,"CFB1"))
++                  len=bint2bin(ibuf+12,nn-1,plaintext);
++              else
++                  len=hex2bin(ibuf+12, plaintext);
++              if (len < 0)
++                  {
++                  printf("Invalid PLAINTEXT: %s", ibuf+12);
++                  err =1;
++                  break;
++                  }
++              if (len >= sizeof(plaintext))
++                  {
++                  printf("Buffer overflow\n");
++                  }
++              PrintValue("PLAINTEXT", (unsigned char*)plaintext, len);
++              if (strcmp(atest, "Monte") == 0)  /* Monte Carlo Test */
++                  {
++                  do_mct(amode,akeysz,numkeys,aKey,iVec,dir,plaintext,len,rfp);
++                  }
++              else
++                  {
++                  assert(dir == 1);
++                  ret = DESTest(&ctx, amode, akeysz, aKey, iVec, 
++                                dir,  /* 0 = decrypt, 1 = encrypt */
++                                ciphertext, plaintext, len);
++                  OutputValue("CIPHERTEXT",ciphertext,len,rfp,
++                              !strcmp(amode,"CFB1"));
++                  }
++              step = 6;
++              }
++          break;
++
++      case 5: /* CIPHERTEXT = xxxx */
++          fputs(ibuf, rfp);
++          if (strncasecmp(ibuf, "CIPHERTEXT = ", 13) != 0)
++              {
++              printf("Missing KEY\n");
++              err = 1;
++              }
++          else
++              {
++              if(!strcmp(amode,"CFB1"))
++                  len=bint2bin(ibuf+13,strlen(ibuf+13)-1,ciphertext);
++              else
++                  len = hex2bin(ibuf+13,ciphertext);
++              if (len < 0)
++                  {
++                  printf("Invalid CIPHERTEXT\n");
++                  err =1;
++                  break;
++                  }
++              
++              PrintValue("CIPHERTEXT", ciphertext, len);
++              if (strcmp(atest, "Monte") == 0)  /* Monte Carlo Test */
++                  {
++                  do_mct(amode, akeysz, numkeys, aKey, iVec, 
++                         dir, ciphertext, len, rfp);
++                  }
++              else
++                  {
++                  assert(dir == 0);
++                  ret = DESTest(&ctx, amode, akeysz, aKey, iVec, 
++                                dir,  /* 0 = decrypt, 1 = encrypt */
++                                plaintext, ciphertext, len);
++                  OutputValue("PLAINTEXT",(unsigned char *)plaintext,len,rfp,
++                              !strcmp(amode,"CFB1"));
++                  }
++              step = 6;
++              }
++          break;
++
++      case 6:
++          if (ibuf[0] != '\n')
++              {
++              err = 1;
++              printf("Missing terminator\n");
++              }
++          else if (strcmp(atest, "MCT") != 0)
++              { /* MCT already added terminating nl */
++              fputs(ibuf, rfp);
++              }
++          step = 1;
++          break;
++          }
++      }
++    if (rfp)
++      fclose(rfp);
++    if (afp)
++      fclose(afp);
++    return err;
++    }
++
++/*--------------------------------------------------
++  Processes either a single file or 
++  a set of files whose names are passed in a file.
++  A single file is specified as:
++    aes_test -f xxx.req
++  A set of files is specified as:
++    aes_test -d xxxxx.xxx
++  The default is: -d req.txt
++--------------------------------------------------*/
++int main(int argc, char **argv)
++    {
++    char *rqlist = "req.txt", *rspfile = NULL;
++    FILE *fp = NULL;
++    char fn[250] = "", rfn[256] = "";
++    int f_opt = 0, d_opt = 1;
++
++#ifdef OPENSSL_FIPS
++    if(!FIPS_mode_set(1))
++      {
++      do_print_errors();
++      EXIT(1);
++      }
++#endif
++    if (argc > 1)
++      {
++      if (strcasecmp(argv[1], "-d") == 0)
++          {
++          d_opt = 1;
++          }
++      else if (strcasecmp(argv[1], "-f") == 0)
++          {
++          f_opt = 1;
++          d_opt = 0;
++          }
++      else
++          {
++          printf("Invalid parameter: %s\n", argv[1]);
++          return 0;
++          }
++      if (argc < 3)
++          {
++          printf("Missing parameter\n");
++          return 0;
++          }
++      if (d_opt)
++          rqlist = argv[2];
++      else
++          {
++          strcpy(fn, argv[2]);
++          rspfile = argv[3];
++          }
++      }
++    if (d_opt)
++      { /* list of files (directory) */
++      if (!(fp = fopen(rqlist, "r")))
++          {
++          printf("Cannot open req list file\n");
++          return -1;
++          }
++      while (fgets(fn, sizeof(fn), fp))
++          {
++          strtok(fn, "\r\n");
++          strcpy(rfn, fn);
++          printf("Processing: %s\n", rfn);
++          if (proc_file(rfn, rspfile))
++              {
++              printf(">>> Processing failed for: %s <<<\n", rfn);
++              EXIT(1);
++              }
++          }
++      fclose(fp);
++      }
++    else /* single file */
++      {
++      if (VERBOSE)
++              printf("Processing: %s\n", fn);
++      if (proc_file(fn, rspfile))
++          {
++          printf(">>> Processing failed for: %s <<<\n", fn);
++          }
++      }
++    EXIT(0);
++    return 0;
++    }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_dhvs.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_dhvs.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_dhvs.c.fips      2012-02-29 10:33:02.790294862 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_dhvs.c   2012-02-29 10:33:02.790294862 +0100
+@@ -0,0 +1,292 @@
++/* fips/dh/fips_dhvs.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++
++#define OPENSSL_FIPSAPI
++#include <openssl/opensslconf.h>
++
++#ifndef OPENSSL_FIPS
++#include <stdio.h>
++
++int main(int argc, char **argv)
++{
++    printf("No FIPS DH support\n");
++    return(0);
++}
++#else
++
++#include <openssl/crypto.h>
++#include <openssl/bn.h>
++#include <openssl/dh.h>
++#include <openssl/fips.h>
++#include <openssl/err.h>
++#include <openssl/evp.h>
++#include <string.h>
++#include <ctype.h>
++
++#include "fips_utl.h"
++
++static const EVP_MD *parse_md(char *line)
++      {
++      char *p;
++      if (line[0] != '[' || line[1] != 'F')
++              return NULL;
++      p = strchr(line, '-');
++      if (!p)
++              return NULL;
++      line = p + 1;
++      p = strchr(line, ']');
++      if (!p)
++              return NULL;
++      *p = 0;
++      p = line;
++      while(isspace(*p))
++              p++;
++      if (!strcmp(p, "SHA1"))
++              return EVP_sha1();
++      else if (!strcmp(p, "SHA224"))
++              return EVP_sha224();
++      else if (!strcmp(p, "SHA256"))
++              return EVP_sha256();
++      else if (!strcmp(p, "SHA384"))
++              return EVP_sha384();
++      else if (!strcmp(p, "SHA512"))
++              return EVP_sha512();
++      else
++              return NULL;
++      }
++
++static void output_Zhash(FILE *out, int exout,
++                              DH *dh, BIGNUM *peerkey, const EVP_MD *md,
++                              unsigned char *rhash, size_t rhashlen)
++      {
++      unsigned char *Z;
++      unsigned char chash[EVP_MAX_MD_SIZE];
++      int Zlen;
++      if (rhash == NULL)
++              {
++              rhashlen = M_EVP_MD_size(md);
++              if (!DH_generate_key(dh))
++                      exit (1);
++              do_bn_print_name(out, "YephemIUT", dh->pub_key);
++              if (exout)
++                      do_bn_print_name(out, "XephemIUT", dh->priv_key);
++              }
++      Z = OPENSSL_malloc(BN_num_bytes(dh->p));
++      if (!Z)
++              exit(1);
++      Zlen = DH_compute_key_padded(Z, peerkey, dh);
++      if (exout)
++              OutputValue("Z", Z, Zlen, out, 0);
++      FIPS_digest(Z, Zlen, chash, NULL, md);
++      OutputValue(rhash ? "IUTHashZZ" : "HashZZ", chash, rhashlen, out, 0);
++      if (rhash)
++              {
++              fprintf(out, "Result = %s\n",
++                              memcmp(chash, rhash, rhashlen) ? "F" : "P");
++              }
++      else
++              {
++              BN_clear_free(dh->priv_key);
++              BN_clear_free(dh->pub_key);
++              dh->priv_key = NULL;
++              dh->pub_key = NULL;
++              }
++      OPENSSL_cleanse(Z, Zlen);
++      OPENSSL_free(Z);
++      }
++
++#ifdef FIPS_ALGVS
++int fips_dhvs_main(int argc, char **argv)
++#else
++int main(int argc, char **argv)
++#endif
++      {
++      char **args = argv + 1;
++      int argn = argc - 1;
++      FILE *in, *out;
++      char buf[2048], lbuf[2048];
++      unsigned char *rhash;
++      long rhashlen;
++      DH *dh = NULL;
++      const EVP_MD *md = NULL;
++      BIGNUM *peerkey = NULL;
++      char *keyword = NULL, *value = NULL;
++      int do_verify = -1, exout = 0;
++
++      fips_algtest_init();
++
++      if (argn && !strcmp(*args, "dhver"))
++              {
++              do_verify = 1;
++              args++;
++              argn--;
++              }
++      else if (argn && !strcmp(*args, "dhgen"))
++              {
++              do_verify = 0;
++              args++;
++              argn--;
++              }
++
++      if (argn && !strcmp(*args, "-exout"))
++              {
++              exout = 1;
++              args++;
++              argn--;
++              }
++
++      if (do_verify == -1)
++              {
++              fprintf(stderr,"%s [dhver|dhgen|] [-exout] (infile outfile)\n",argv[0]);
++              exit(1);
++              }
++
++      if (argn == 2)
++              {
++              in = fopen(*args, "r");
++              if (!in)
++                      {
++                      fprintf(stderr, "Error opening input file\n");
++                      exit(1);
++                      }
++              out = fopen(args[1], "w");
++              if (!out)
++                      {
++                      fprintf(stderr, "Error opening output file\n");
++                      exit(1);
++                      }
++              }
++      else if (argn == 0)
++              {
++              in = stdin;
++              out = stdout;
++              }
++      else
++              {
++              fprintf(stderr,"%s [dhver|dhgen|] [-exout] (infile outfile)\n",argv[0]);
++              exit(1);
++              }
++
++      dh = FIPS_dh_new();
++
++      while (fgets(buf, sizeof(buf), in) != NULL)
++              {
++              fputs(buf, out);
++              if (strlen(buf) > 6 && !strncmp(buf, "[F", 2))
++                      {
++                      md = parse_md(buf);
++                      if (md == NULL)
++                              goto parse_error;
++                      if (dh)
++                              FIPS_dh_free(dh);
++                      dh = FIPS_dh_new();
++                      continue;
++                      }
++              if (!parse_line(&keyword, &value, lbuf, buf))
++                      continue;
++              if (!strcmp(keyword, "P"))
++                      {
++                      if (!do_hex2bn(&dh->p, value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Q"))
++                      {
++                      if (!do_hex2bn(&dh->q, value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "G"))
++                      {
++                      if (!do_hex2bn(&dh->g, value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "XephemIUT"))
++                      {
++                      if (!do_hex2bn(&dh->priv_key, value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "YephemIUT"))
++                      {
++                      if (!do_hex2bn(&dh->pub_key, value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "YephemCAVS"))
++                      {
++                      if (!do_hex2bn(&peerkey, value))
++                              goto parse_error;
++                      if (do_verify == 0)
++                              output_Zhash(out, exout, dh, peerkey, md,
++                                                      NULL, 0);
++                      }
++              else if (!strcmp(keyword, "CAVSHashZZ"))
++                      {
++                      if (!md)
++                              goto parse_error;
++                      rhash = hex2bin_m(value, &rhashlen);
++                      if (!rhash || rhashlen != M_EVP_MD_size(md))
++                              goto parse_error;
++                      output_Zhash(out, exout, dh, peerkey, md,
++                                                      rhash, rhashlen);
++                      }
++              }
++      if (in && in != stdin)
++              fclose(in);
++      if (out && out != stdout)
++              fclose(out);
++      return 0;
++      parse_error:
++      fprintf(stderr, "Error Parsing request file\n");
++      exit(1);
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_drbgvs.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_drbgvs.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_drbgvs.c.fips    2012-02-29 10:33:02.790294862 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_drbgvs.c 2012-02-29 10:33:02.790294862 +0100
+@@ -0,0 +1,416 @@
++/* fips/rand/fips_drbgvs.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++
++#define OPENSSL_FIPSAPI
++#include <openssl/opensslconf.h>
++
++#ifndef OPENSSL_FIPS
++#include <stdio.h>
++
++int main(int argc, char **argv)
++{
++    printf("No FIPS DRBG support\n");
++    return(0);
++}
++#else
++
++#include <openssl/bn.h>
++#include <openssl/dsa.h>
++#include <openssl/fips.h>
++#include <openssl/fips_rand.h>
++#include <openssl/err.h>
++#include <openssl/evp.h>
++#include <string.h>
++#include <ctype.h>
++
++#include "fips_utl.h"
++
++static int dparse_md(char *str)
++      {
++      switch(atoi(str + 5))
++              {
++              case 1:
++              return NID_sha1;
++
++              case 224:
++              return NID_sha224;
++
++              case 256:
++              return NID_sha256;
++
++              case 384:
++              return NID_sha384;
++
++              case 512:
++              return NID_sha512;
++
++              }
++
++      return NID_undef;
++      }
++
++static int parse_ec(char *str)
++      {
++      int curve_nid, md_nid;
++      char *md;
++      md = strchr(str, ' ');
++      if (!md)
++              return NID_undef;
++      if (!strncmp(str, "[P-256", 6))
++              curve_nid = NID_X9_62_prime256v1;
++      else if (!strncmp(str, "[P-384", 6))
++              curve_nid = NID_secp384r1;
++      else if (!strncmp(str, "[P-521", 6))
++              curve_nid = NID_secp521r1;
++      else
++              return NID_undef;
++      md_nid = dparse_md(md);
++      if (md_nid == NID_undef)
++              return NID_undef;
++      return (curve_nid << 16) | md_nid;
++      }
++
++static int parse_aes(char *str, int *pdf)
++      {
++
++      if (!strncmp(str + 9, "no", 2))
++              *pdf = 0;
++      else
++              *pdf = DRBG_FLAG_CTR_USE_DF;
++
++      switch(atoi(str + 5))
++              {
++              case 128:
++              return NID_aes_128_ctr;
++
++              case 192:
++              return NID_aes_192_ctr;
++
++              case 256:
++              return NID_aes_256_ctr;
++
++              default:
++              return NID_undef;
++
++              }
++      }
++
++typedef struct 
++      {
++      unsigned char *ent;
++      size_t entlen;
++      unsigned char *nonce;
++      size_t noncelen;
++      } TEST_ENT;
++
++static size_t test_entropy(DRBG_CTX *dctx, unsigned char **pout,
++                                int entropy, size_t min_len, size_t max_len)
++      {
++      TEST_ENT *t = FIPS_drbg_get_app_data(dctx);
++      *pout = (unsigned char *)t->ent;
++      return t->entlen;
++      }
++
++static size_t test_nonce(DRBG_CTX *dctx, unsigned char **pout,
++                                int entropy, size_t min_len, size_t max_len)
++      {
++      TEST_ENT *t = FIPS_drbg_get_app_data(dctx);
++      *pout = (unsigned char *)t->nonce;
++      return t->noncelen;
++      }
++
++#ifdef FIPS_ALGVS
++int fips_drbgvs_main(int argc,char **argv)
++#else
++int main(int argc,char **argv)
++#endif
++      {
++      FILE *in = NULL, *out = NULL;
++      DRBG_CTX *dctx = NULL;
++      TEST_ENT t;
++      int r, nid = 0;
++      int pr = 0;
++      char buf[2048], lbuf[2048];
++      unsigned char randout[2048];
++      char *keyword = NULL, *value = NULL;
++
++      unsigned char *ent = NULL, *nonce = NULL, *pers = NULL, *adin = NULL;
++      long entlen, noncelen, perslen, adinlen;
++      int df = 0;
++
++      enum dtype { DRBG_NONE, DRBG_CTR, DRBG_HASH, DRBG_HMAC, DRBG_DUAL_EC }
++              drbg_type = DRBG_NONE;
++
++      int randoutlen = 0;
++
++      int gen = 0;
++
++      fips_algtest_init();
++
++      if (argc == 3)
++              {
++              in = fopen(argv[1], "r");
++              if (!in)
++                      {
++                      fprintf(stderr, "Error opening input file\n");
++                      exit(1);
++                      }
++              out = fopen(argv[2], "w");
++              if (!out)
++                      {
++                      fprintf(stderr, "Error opening output file\n");
++                      exit(1);
++                      }
++              }
++      else if (argc == 1)
++              {
++              in = stdin;
++              out = stdout;
++              }
++      else
++              {
++              fprintf(stderr,"%s (infile outfile)\n",argv[0]);
++              exit(1);
++              }
++
++      while (fgets(buf, sizeof(buf), in) != NULL)
++              {
++              fputs(buf, out);
++              if (drbg_type == DRBG_NONE)
++                      {
++                      if (strstr(buf, "CTR_DRBG"))
++                              drbg_type = DRBG_CTR;
++                      else if (strstr(buf, "Hash_DRBG"))
++                              drbg_type = DRBG_HASH;
++                      else if (strstr(buf, "HMAC_DRBG"))
++                              drbg_type = DRBG_HMAC;
++                      else if (strstr(buf, "Dual_EC_DRBG"))
++                              drbg_type = DRBG_DUAL_EC;
++                      else
++                              continue;
++                      }
++              if (strlen(buf) > 4 && !strncmp(buf, "[SHA-", 5))
++                      {
++                      nid = dparse_md(buf);
++                      if (nid == NID_undef)
++                              exit(1);
++                      if (drbg_type == DRBG_HMAC)
++                              {
++                              switch (nid)
++                                      {
++                                      case NID_sha1:
++                                      nid = NID_hmacWithSHA1;
++                                      break;
++
++                                      case NID_sha224:
++                                      nid = NID_hmacWithSHA224;
++                                      break;
++
++                                      case NID_sha256:
++                                      nid = NID_hmacWithSHA256;
++                                      break;
++
++                                      case NID_sha384:
++                                      nid = NID_hmacWithSHA384;
++                                      break;
++
++                                      case NID_sha512:
++                                      nid = NID_hmacWithSHA512;
++                                      break;
++
++                                      default:
++                                      exit(1);
++                                      }
++                              }
++                      }
++              if (strlen(buf) > 12 && !strncmp(buf, "[AES-", 5))
++                      {
++                      nid = parse_aes(buf, &df);
++                      if (nid == NID_undef)
++                              exit(1);
++                      }
++              if (strlen(buf) > 12 && !strncmp(buf, "[P-", 3))
++                      {
++                      nid = parse_ec(buf);
++                      if (nid == NID_undef)
++                              exit(1);
++                      }
++              if (!parse_line(&keyword, &value, lbuf, buf))
++                      continue;
++
++              if (!strcmp(keyword, "[PredictionResistance"))
++                      {
++                      if (!strcmp(value, "True]"))
++                              pr = 1;
++                      else if (!strcmp(value, "False]"))
++                              pr = 0;
++                      else
++                              exit(1);
++                      }
++
++              if (!strcmp(keyword, "EntropyInput"))
++                      {
++                      ent = hex2bin_m(value, &entlen);
++                      t.ent = ent;
++                      t.entlen = entlen;
++                      }
++
++              if (!strcmp(keyword, "Nonce"))
++                      {
++                      nonce = hex2bin_m(value, &noncelen);
++                      t.nonce = nonce;
++                      t.noncelen = noncelen;
++                      }
++
++              if (!strcmp(keyword, "PersonalizationString"))
++                      {
++                      pers = hex2bin_m(value, &perslen);
++                      if (nid == 0)
++                              {
++                              fprintf(stderr, "DRBG type not recognised!\n");
++                              exit (1);
++                              }
++                      dctx = FIPS_drbg_new(nid, df | DRBG_FLAG_TEST);
++                      if (!dctx)
++                              exit (1);
++                      FIPS_drbg_set_callbacks(dctx, test_entropy, 0, 0,
++                                                      test_nonce, 0);
++                      FIPS_drbg_set_app_data(dctx, &t);
++                      randoutlen = (int)FIPS_drbg_get_blocklength(dctx);
++                      r = FIPS_drbg_instantiate(dctx, pers, perslen);
++                      if (!r)
++                              {
++                              fprintf(stderr, "Error instantiating DRBG\n");
++                              exit(1);
++                              }
++                      OPENSSL_free(pers);
++                      OPENSSL_free(ent);
++                      OPENSSL_free(nonce);
++                      ent = nonce = pers = NULL;
++                      gen = 0;
++                      }
++
++              if (!strcmp(keyword, "AdditionalInput"))
++                      {
++                      adin = hex2bin_m(value, &adinlen);
++                      if (pr)
++                              continue;
++                      r = FIPS_drbg_generate(dctx, randout, randoutlen, 0,
++                                                              adin, adinlen);
++                      if (!r)
++                              {
++                              fprintf(stderr, "Error generating DRBG bits\n");
++                              exit(1);
++                              }
++                      if (!r)
++                              exit(1);
++                      OPENSSL_free(adin);
++                      adin = NULL;
++                      gen++;
++                      }
++
++              if (pr)
++                      {
++                      if (!strcmp(keyword, "EntropyInputPR"))
++                              {
++                              ent = hex2bin_m(value, &entlen);
++                              t.ent = ent;
++                              t.entlen = entlen;
++                              r = FIPS_drbg_generate(dctx,
++                                                      randout, randoutlen,
++                                                      1, adin, adinlen);
++                              if (!r)
++                                      {
++                                      fprintf(stderr,
++                                              "Error generating DRBG bits\n");
++                                      exit(1);
++                                      }
++                              OPENSSL_free(adin);
++                              OPENSSL_free(ent);
++                              adin = ent = NULL;
++                              gen++;
++                              }
++                      }
++              if (!strcmp(keyword, "EntropyInputReseed"))
++                      {
++                      ent = hex2bin_m(value, &entlen);
++                      t.ent = ent;
++                      t.entlen = entlen;
++                      }
++              if (!strcmp(keyword, "AdditionalInputReseed"))
++                      {
++                      adin = hex2bin_m(value, &adinlen);
++                      FIPS_drbg_reseed(dctx, adin, adinlen);
++                      OPENSSL_free(ent);
++                      OPENSSL_free(adin);
++                      ent = adin = NULL;
++                      }
++              if (gen == 2)
++                      {
++                      OutputValue("ReturnedBits", randout, randoutlen,
++                                                                      out, 0);
++                      FIPS_drbg_free(dctx);
++                      dctx = NULL;
++                      gen = 0;
++                      }
++
++              }
++      if (in && in != stdin)
++              fclose(in);
++      if (out && out != stdout)
++              fclose(out);
++      return 0;
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_dssvs.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_dssvs.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_dssvs.c.fips     2012-02-29 10:33:02.791294871 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_dssvs.c  2012-02-29 10:33:02.791294871 +0100
+@@ -0,0 +1,537 @@
++#include <openssl/opensslconf.h>
++
++#ifndef OPENSSL_FIPS
++#include <stdio.h>
++
++int main(int argc, char **argv)
++{
++    printf("No FIPS DSA support\n");
++    return(0);
++}
++#else
++
++#include <openssl/bn.h>
++#include <openssl/dsa.h>
++#include <openssl/fips.h>
++#include <openssl/err.h>
++#include <openssl/evp.h>
++#include <string.h>
++#include <ctype.h>
++
++#include "fips_utl.h"
++
++static void pbn(const char *name, BIGNUM *bn)
++      {
++      int len, i;
++      unsigned char *tmp;
++      len = BN_num_bytes(bn);
++      tmp = OPENSSL_malloc(len);
++      if (!tmp)
++              {
++              fprintf(stderr, "Memory allocation error\n");
++              return;
++              }
++      BN_bn2bin(bn, tmp);
++      printf("%s = ", name);
++      for (i = 0; i < len; i++)
++              printf("%02X", tmp[i]);
++      fputs("\n", stdout);
++      OPENSSL_free(tmp);
++      return;
++      }
++
++void primes()
++    {
++    char buf[10240];
++    char lbuf[10240];
++    char *keyword, *value;
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      fputs(buf,stdout);
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              continue;
++      if(!strcmp(keyword,"Prime"))
++          {
++          BIGNUM *pp;
++
++          pp=BN_new();
++          do_hex2bn(&pp,value);
++          printf("result= %c\n",
++                 BN_is_prime_ex(pp,20,NULL,NULL) ? 'P' : 'F');
++          }       
++      }
++    }
++
++void pqg()
++    {
++    char buf[1024];
++    char lbuf[1024];
++    char *keyword, *value;
++    int nmod=0;
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              {
++              fputs(buf,stdout);
++              continue;
++              }
++      if(!strcmp(keyword,"[mod"))
++          nmod=atoi(value);
++      else if(!strcmp(keyword,"N"))
++          {
++          int n=atoi(value);
++
++          printf("[mod = %d]\n\n",nmod);
++
++          while(n--)
++              {
++              unsigned char seed[20];
++              DSA *dsa;
++              int counter;
++              unsigned long h;
++              dsa = FIPS_dsa_new();
++
++              if (!DSA_generate_parameters_ex(dsa, nmod,seed,0,&counter,&h,NULL))
++                      {
++                      do_print_errors();
++                      exit(1);
++                      }
++              pbn("P",dsa->p);
++              pbn("Q",dsa->q);
++              pbn("G",dsa->g);
++              pv("Seed",seed,20);
++              printf("c = %d\n",counter);
++              printf("H = %lx\n",h);
++              putc('\n',stdout);
++              }
++          }
++      else
++          fputs(buf,stdout);
++      }
++    }
++
++void pqgver()
++    {
++    char buf[1024];
++    char lbuf[1024];
++    char *keyword, *value;
++    BIGNUM *p = NULL, *q = NULL, *g = NULL;
++    int counter, counter2;
++    unsigned long h, h2;
++    DSA *dsa=NULL;
++    int nmod=0;
++    unsigned char seed[1024];
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              {
++              fputs(buf,stdout);
++              continue;
++              }
++      fputs(buf, stdout);
++      if(!strcmp(keyword,"[mod"))
++          nmod=atoi(value);
++      else if(!strcmp(keyword,"P"))
++          p=hex2bn(value);
++      else if(!strcmp(keyword,"Q"))
++          q=hex2bn(value);
++      else if(!strcmp(keyword,"G"))
++          g=hex2bn(value);
++      else if(!strcmp(keyword,"Seed"))
++          {
++          int slen = hex2bin(value, seed);
++          if (slen != 20)
++              {
++              fprintf(stderr, "Seed parse length error\n");
++              exit (1);
++              }
++          }
++      else if(!strcmp(keyword,"c"))
++          counter =atoi(buf+4);
++      else if(!strcmp(keyword,"H"))
++          {
++          h = atoi(value);
++          if (!p || !q || !g)
++              {
++              fprintf(stderr, "Parse Error\n");
++              exit (1);
++              }
++          dsa = FIPS_dsa_new();
++          if (!DSA_generate_parameters_ex(dsa, nmod,seed,20 ,&counter2,&h2,NULL))
++                      {
++                      do_print_errors();
++                      exit(1);
++                      }
++            if (BN_cmp(dsa->p, p) || BN_cmp(dsa->q, q) || BN_cmp(dsa->g, g)
++              || (counter != counter2) || (h != h2))
++              printf("Result = F\n");
++          else
++              printf("Result = P\n");
++          BN_free(p);
++          BN_free(q);
++          BN_free(g);
++          p = NULL;
++          q = NULL;
++          g = NULL;
++          FIPS_dsa_free(dsa);
++          dsa = NULL;
++          }
++      }
++    }
++
++/* Keypair verification routine. NB: this isn't part of the standard FIPS140-2
++ * algorithm tests. It is an additional test to perform sanity checks on the
++ * output of the KeyPair test.
++ */
++
++static int dss_paramcheck(int nmod, BIGNUM *p, BIGNUM *q, BIGNUM *g,
++                                                      BN_CTX *ctx)
++    {
++    BIGNUM *rem = NULL;
++    if (BN_num_bits(p) != nmod)
++      return 0;
++    if (BN_num_bits(q) != 160)
++      return 0;
++    if (BN_is_prime_ex(p, BN_prime_checks, ctx, NULL) != 1)
++      return 0;
++    if (BN_is_prime_ex(q, BN_prime_checks, ctx, NULL) != 1)
++      return 0;
++    rem = BN_new();
++    if (!BN_mod(rem, p, q, ctx) || !BN_is_one(rem)
++      || (BN_cmp(g, BN_value_one()) <= 0)
++      || !BN_mod_exp(rem, g, q, p, ctx) || !BN_is_one(rem))
++      {
++      BN_free(rem);
++      return 0;
++      }
++    /* Todo: check g */
++    BN_free(rem);
++    return 1;
++    }
++
++void keyver()
++    {
++    char buf[1024];
++    char lbuf[1024];
++    char *keyword, *value;
++    BIGNUM *p = NULL, *q = NULL, *g = NULL, *X = NULL, *Y = NULL;
++    BIGNUM *Y2;
++    BN_CTX *ctx = NULL;
++    int nmod=0, paramcheck = 0;
++
++    ctx = BN_CTX_new();
++    Y2 = BN_new();
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              {
++              fputs(buf,stdout);
++              continue;
++              }
++      if(!strcmp(keyword,"[mod"))
++          {
++          if (p)
++              BN_free(p);
++          p = NULL;
++          if (q)
++              BN_free(q);
++          q = NULL;
++          if (g)
++              BN_free(g);
++          g = NULL;
++          paramcheck = 0;
++          nmod=atoi(value);
++          }
++      else if(!strcmp(keyword,"P"))
++          p=hex2bn(value);
++      else if(!strcmp(keyword,"Q"))
++          q=hex2bn(value);
++      else if(!strcmp(keyword,"G"))
++          g=hex2bn(value);
++      else if(!strcmp(keyword,"X"))
++          X=hex2bn(value);
++      else if(!strcmp(keyword,"Y"))
++          {
++          Y=hex2bn(value);
++          if (!p || !q || !g || !X || !Y)
++              {
++              fprintf(stderr, "Parse Error\n");
++              exit (1);
++              }
++          pbn("P",p);
++          pbn("Q",q);
++          pbn("G",g);
++          pbn("X",X);
++          pbn("Y",Y);
++          if (!paramcheck)
++              {
++              if (dss_paramcheck(nmod, p, q, g, ctx))
++                      paramcheck = 1;
++              else
++                      paramcheck = -1;
++              }
++          if (paramcheck != 1)
++              printf("Result = F\n");
++          else
++              {
++              if (!BN_mod_exp(Y2, g, X, p, ctx) || BN_cmp(Y2, Y))
++                      printf("Result = F\n");
++              else
++                      printf("Result = P\n");
++              }
++          BN_free(X);
++          BN_free(Y);
++          X = NULL;
++          Y = NULL;
++          }
++      }
++      if (p)
++          BN_free(p);
++      if (q)
++          BN_free(q);
++      if (g)
++          BN_free(g);
++      if (Y2)
++          BN_free(Y2);
++    }
++
++void keypair()
++    {
++    char buf[1024];
++    char lbuf[1024];
++    char *keyword, *value;
++    int nmod=0;
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              {
++              fputs(buf,stdout);
++              continue;
++              }
++      if(!strcmp(keyword,"[mod"))
++          nmod=atoi(value);
++      else if(!strcmp(keyword,"N"))
++          {
++          DSA *dsa;
++          int n=atoi(value);
++
++          printf("[mod = %d]\n\n",nmod);
++          dsa = FIPS_dsa_new();
++          if (!DSA_generate_parameters_ex(dsa, nmod,NULL,0,NULL,NULL,NULL))
++              {
++              do_print_errors();
++              exit(1);
++              }
++          pbn("P",dsa->p);
++          pbn("Q",dsa->q);
++          pbn("G",dsa->g);
++          putc('\n',stdout);
++
++          while(n--)
++              {
++              if (!DSA_generate_key(dsa))
++                      {
++                      do_print_errors();
++                      exit(1);
++                      }
++
++              pbn("X",dsa->priv_key);
++              pbn("Y",dsa->pub_key);
++              putc('\n',stdout);
++              }
++          }
++      }
++    }
++
++void siggen()
++    {
++    char buf[1024];
++    char lbuf[1024];
++    char *keyword, *value;
++    int nmod=0;
++    DSA *dsa=NULL;
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              {
++              fputs(buf,stdout);
++              continue;
++              }
++      if(!strcmp(keyword,"[mod"))
++          {
++          nmod=atoi(value);
++          printf("[mod = %d]\n\n",nmod);
++          if (dsa)
++              FIPS_dsa_free(dsa);
++          dsa = FIPS_dsa_new();
++          if (!DSA_generate_parameters_ex(dsa, nmod,NULL,0,NULL,NULL,NULL))
++              {
++              do_print_errors();
++              exit(1);
++              }
++          pbn("P",dsa->p);
++          pbn("Q",dsa->q);
++          pbn("G",dsa->g);
++          putc('\n',stdout);
++          }
++      else if(!strcmp(keyword,"Msg"))
++          {
++          unsigned char msg[1024];
++          unsigned char sbuf[60];
++          unsigned int slen;
++          int n;
++          EVP_PKEY pk;
++          EVP_MD_CTX mctx;
++          DSA_SIG *sig;
++          EVP_MD_CTX_init(&mctx);
++
++          n=hex2bin(value,msg);
++          pv("Msg",msg,n);
++
++          if (!DSA_generate_key(dsa))
++              {
++              do_print_errors();
++              exit(1);
++              }
++          pk.type = EVP_PKEY_DSA;
++          pk.pkey.dsa = dsa;
++          pbn("Y",dsa->pub_key);
++
++          EVP_SignInit_ex(&mctx, EVP_dss1(), NULL);
++          EVP_SignUpdate(&mctx, msg, n);
++          EVP_SignFinal(&mctx, sbuf, &slen, &pk);
++
++          sig = DSA_SIG_new();
++          FIPS_dsa_sig_decode(sig, sbuf, slen);
++
++          pbn("R",sig->r);
++          pbn("S",sig->s);
++          putc('\n',stdout);
++          DSA_SIG_free(sig);
++          EVP_MD_CTX_cleanup(&mctx);
++          }
++      }
++      if (dsa)
++              FIPS_dsa_free(dsa);
++    }
++
++void sigver()
++    {
++    DSA *dsa=NULL;
++    char buf[1024];
++    char lbuf[1024];
++    unsigned char msg[1024];
++    char *keyword, *value;
++    int nmod=0, n=0;
++    DSA_SIG sg, *sig = &sg;
++
++    sig->r = NULL;
++    sig->s = NULL;
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              {
++              fputs(buf,stdout);
++              continue;
++              }
++      if(!strcmp(keyword,"[mod"))
++          {
++          nmod=atoi(value);
++          if(dsa)
++              FIPS_dsa_free(dsa);
++          dsa=FIPS_dsa_new();
++          }
++      else if(!strcmp(keyword,"P"))
++          dsa->p=hex2bn(value);
++      else if(!strcmp(keyword,"Q"))
++          dsa->q=hex2bn(value);
++      else if(!strcmp(keyword,"G"))
++          {
++          dsa->g=hex2bn(value);
++
++          printf("[mod = %d]\n\n",nmod);
++          pbn("P",dsa->p);
++          pbn("Q",dsa->q);
++          pbn("G",dsa->g);
++          putc('\n',stdout);
++          }
++      else if(!strcmp(keyword,"Msg"))
++          {
++          n=hex2bin(value,msg);
++          pv("Msg",msg,n);
++          }
++      else if(!strcmp(keyword,"Y"))
++          dsa->pub_key=hex2bn(value);
++      else if(!strcmp(keyword,"R"))
++          sig->r=hex2bn(value);
++      else if(!strcmp(keyword,"S"))
++          {
++          EVP_MD_CTX mctx;
++          EVP_PKEY pk;
++          unsigned char sigbuf[60];
++          unsigned int slen;
++          int r;
++          EVP_MD_CTX_init(&mctx);
++          pk.type = EVP_PKEY_DSA;
++          pk.pkey.dsa = dsa;
++          sig->s=hex2bn(value);
++      
++          pbn("Y",dsa->pub_key);
++          pbn("R",sig->r);
++          pbn("S",sig->s);
++
++          slen = FIPS_dsa_sig_encode(sigbuf, sig);
++          EVP_VerifyInit_ex(&mctx, EVP_dss1(), NULL);
++          EVP_VerifyUpdate(&mctx, msg, n);
++          r = EVP_VerifyFinal(&mctx, sigbuf, slen, &pk);
++          EVP_MD_CTX_cleanup(&mctx);
++      
++          printf("Result = %c\n", r == 1 ? 'P' : 'F');
++          putc('\n',stdout);
++          }
++      }
++    }
++
++int main(int argc,char **argv)
++    {
++    if(argc != 2)
++      {
++      fprintf(stderr,"%s [prime|pqg|pqgver|keypair|siggen|sigver]\n",argv[0]);
++      exit(1);
++      }
++    if(!FIPS_mode_set(1))
++      {
++      do_print_errors();
++      exit(1);
++      }
++    if(!strcmp(argv[1],"prime"))
++      primes();
++    else if(!strcmp(argv[1],"pqg"))
++      pqg();
++    else if(!strcmp(argv[1],"pqgver"))
++      pqgver();
++    else if(!strcmp(argv[1],"keypair"))
++      keypair();
++    else if(!strcmp(argv[1],"keyver"))
++      keyver();
++    else if(!strcmp(argv[1],"siggen"))
++      siggen();
++    else if(!strcmp(argv[1],"sigver"))
++      sigver();
++    else
++      {
++      fprintf(stderr,"Don't know how to %s.\n",argv[1]);
++      exit(1);
++      }
++
++    return 0;
++    }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_gcmtest.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_gcmtest.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_gcmtest.c.fips   2012-02-29 10:33:02.791294871 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_gcmtest.c        2012-02-29 10:33:02.791294871 +0100
+@@ -0,0 +1,571 @@
++/* fips/aes/fips_gcmtest.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++
++#define OPENSSL_FIPSAPI
++#include <openssl/opensslconf.h>
++
++#ifndef OPENSSL_FIPS
++#include <stdio.h>
++
++int main(int argc, char **argv)
++{
++    printf("No FIPS GCM support\n");
++    return(0);
++}
++#else
++
++#include <openssl/bn.h>
++#include <openssl/dsa.h>
++#include <openssl/fips.h>
++#include <openssl/err.h>
++#include <openssl/evp.h>
++#include <string.h>
++#include <ctype.h>
++
++#include "fips_utl.h"
++
++static void gcmtest(FILE *in, FILE *out, int encrypt)
++      {
++      char buf[2048];
++      char lbuf[2048];
++      char *keyword, *value;
++      int keylen = -1, ivlen = -1, aadlen = -1, taglen = -1, ptlen = -1;
++      int rv;
++      long l;
++      unsigned char *key = NULL, *iv = NULL, *aad = NULL, *tag = NULL;
++      unsigned char *ct = NULL, *pt = NULL;
++      EVP_CIPHER_CTX ctx;
++      const EVP_CIPHER *gcm = NULL;
++      FIPS_cipher_ctx_init(&ctx);
++
++      while(fgets(buf,sizeof buf,in) != NULL)
++              {
++              fputs(buf,out);
++              if (!parse_line(&keyword, &value, lbuf, buf))
++                      continue;
++              if(!strcmp(keyword,"[Keylen"))
++                      {
++                      keylen = atoi(value);
++                      if (keylen == 128)
++                              gcm = EVP_aes_128_gcm();
++                      else if (keylen == 192)
++                              gcm = EVP_aes_192_gcm();
++                      else if (keylen == 256)
++                              gcm = EVP_aes_256_gcm();
++                      else 
++                              {
++                              fprintf(stderr, "Unsupported keylen %d\n",
++                                                      keylen);
++                              }
++                      keylen >>= 3;
++                      }
++              else if (!strcmp(keyword, "[IVlen"))
++                      ivlen = atoi(value) >> 3;
++              else if (!strcmp(keyword, "[AADlen"))
++                      aadlen = atoi(value) >> 3;
++              else if (!strcmp(keyword, "[Taglen"))
++                      taglen = atoi(value) >> 3;
++              else if (!strcmp(keyword, "[PTlen"))
++                      ptlen = atoi(value) >> 3;
++              else if(!strcmp(keyword,"Key"))
++                      {
++                      key = hex2bin_m(value, &l);
++                      if (l != keylen)
++                              {
++                              fprintf(stderr, "Inconsistent Key length\n");
++                              exit(1);
++                              }
++                      }
++              else if(!strcmp(keyword,"IV"))
++                      {
++                      iv = hex2bin_m(value, &l);
++                      if (l != ivlen)
++                              {
++                              fprintf(stderr, "Inconsistent IV length\n");
++                              exit(1);
++                              }
++                      }
++              else if(!strcmp(keyword,"PT"))
++                      {
++                      pt = hex2bin_m(value, &l);
++                      if (l != ptlen)
++                              {
++                              fprintf(stderr, "Inconsistent PT length\n");
++                              exit(1);
++                              }
++                      }
++              else if(!strcmp(keyword,"CT"))
++                      {
++                      ct = hex2bin_m(value, &l);
++                      if (l != ptlen)
++                              {
++                              fprintf(stderr, "Inconsistent CT length\n");
++                              exit(1);
++                              }
++                      }
++              else if(!strcmp(keyword,"AAD"))
++                      {
++                      aad = hex2bin_m(value, &l);
++                      if (l != aadlen)
++                              {
++                              fprintf(stderr, "Inconsistent AAD length\n");
++                              exit(1);
++                              }
++                      }
++              else if(!strcmp(keyword,"Tag"))
++                      {
++                      tag = hex2bin_m(value, &l);
++                      if (l != taglen)
++                              {
++                              fprintf(stderr, "Inconsistent Tag length\n");
++                              exit(1);
++                              }
++                      }
++              if (encrypt && pt && aad && (iv || encrypt==1))
++                      {
++                      tag = OPENSSL_malloc(taglen);
++                      FIPS_cipherinit(&ctx, gcm, NULL, NULL, 1);
++                      /* Relax FIPS constraints for testing */
++                      M_EVP_CIPHER_CTX_set_flags(&ctx, EVP_CIPH_FLAG_NON_FIPS_ALLOW);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_GCM_SET_IVLEN, ivlen, 0);
++                      if (encrypt == 1)
++                              {
++                              static unsigned char iv_fixed[4] = {1,2,3,4};
++                              if (!iv)
++                                      iv = OPENSSL_malloc(ivlen);
++                              FIPS_cipherinit(&ctx, NULL, key, NULL, 1);
++                              FIPS_cipher_ctx_ctrl(&ctx,
++                                              EVP_CTRL_GCM_SET_IV_FIXED,
++                                              4, iv_fixed);
++                              if (!FIPS_cipher_ctx_ctrl(&ctx,
++                                      EVP_CTRL_GCM_IV_GEN, 0, iv))
++                                      {
++                                      fprintf(stderr, "IV gen error\n");
++                                      exit(1);
++                                      }
++                              OutputValue("IV", iv, ivlen, out, 0);
++                              }
++                      else
++                              FIPS_cipherinit(&ctx, NULL, key, iv, 1);
++
++
++                      if (aadlen)
++                              FIPS_cipher(&ctx, NULL, aad, aadlen);
++                      if (ptlen)
++                              {
++                              ct = OPENSSL_malloc(ptlen);
++                              rv = FIPS_cipher(&ctx, ct, pt, ptlen);
++                              }
++                      FIPS_cipher(&ctx, NULL, NULL, 0);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_GCM_GET_TAG,
++                                                              taglen, tag);   
++                      OutputValue("CT", ct, ptlen, out, 0);
++                      OutputValue("Tag", tag, taglen, out, 0);
++                      if (iv)
++                              OPENSSL_free(iv);
++                      if (aad)
++                              OPENSSL_free(aad);
++                      if (ct)
++                              OPENSSL_free(ct);
++                      if (pt)
++                              OPENSSL_free(pt);
++                      if (key)
++                              OPENSSL_free(key);
++                      if (tag)
++                              OPENSSL_free(tag);
++                      iv = aad = ct = pt = key = tag = NULL;
++                      }       
++              if (!encrypt && tag)
++                      {
++                      FIPS_cipherinit(&ctx, gcm, NULL, NULL, 0);
++                      /* Relax FIPS constraints for testing */
++                      M_EVP_CIPHER_CTX_set_flags(&ctx, EVP_CIPH_FLAG_NON_FIPS_ALLOW);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_GCM_SET_IVLEN, ivlen, 0);
++                      FIPS_cipherinit(&ctx, NULL, key, iv, 0);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_GCM_SET_TAG, taglen, tag);
++                      if (aadlen)
++                              FIPS_cipher(&ctx, NULL, aad, aadlen);
++                      if (ptlen)
++                              {
++                              pt = OPENSSL_malloc(ptlen);
++                              rv = FIPS_cipher(&ctx, pt, ct, ptlen);
++                              }
++                      rv = FIPS_cipher(&ctx, NULL, NULL, 0);
++                      if (rv < 0)
++                              fprintf(out, "FAIL" RESP_EOL);
++                      else
++                              OutputValue("PT", pt, ptlen, out, 0);
++                      if (iv)
++                              OPENSSL_free(iv);
++                      if (aad)
++                              OPENSSL_free(aad);
++                      if (ct)
++                              OPENSSL_free(ct);
++                      if (pt)
++                              OPENSSL_free(pt);
++                      if (key)
++                              OPENSSL_free(key);
++                      if (tag)
++                              OPENSSL_free(tag);
++                      iv = aad = ct = pt = key = tag = NULL;
++                      }
++              }
++      FIPS_cipher_ctx_cleanup(&ctx);  
++      }
++
++static void xtstest(FILE *in, FILE *out)
++      {
++      char buf[204800];
++      char lbuf[204800];
++      char *keyword, *value;
++      int inlen = 0;
++      int encrypt = 0;
++      long l;
++      unsigned char *key = NULL, *iv = NULL;
++      unsigned char *inbuf = NULL, *outbuf = NULL;
++      EVP_CIPHER_CTX ctx;
++      const EVP_CIPHER *xts = NULL;
++      FIPS_cipher_ctx_init(&ctx);
++
++      while(fgets(buf,sizeof buf,in) != NULL)
++              {
++              fputs(buf,out);
++              if (buf[0] == '[' && strlen(buf) >= 9)
++                      {
++                      if(!strncmp(buf,"[ENCRYPT]", 9))
++                              encrypt = 1;
++                      else if(!strncmp(buf,"[DECRYPT]", 9))
++                              encrypt = 0;
++                      }
++              if  (!parse_line(&keyword, &value, lbuf, buf))
++                      continue;
++              else if(!strcmp(keyword,"Key"))
++                      {
++                      key = hex2bin_m(value, &l);
++                      if (l == 32)
++                              xts = EVP_aes_128_xts();
++                      else if (l == 64)
++                              xts = EVP_aes_256_xts();
++                      else
++                              {
++                              fprintf(stderr, "Inconsistent Key length\n");
++                              exit(1);
++                              }
++                      }
++              else if(!strcmp(keyword,"i"))
++                      {
++                      iv = hex2bin_m(value, &l);
++                      if (l != 16)
++                              {
++                              fprintf(stderr, "Inconsistent i length\n");
++                              exit(1);
++                              }
++                      }
++              else if(encrypt && !strcmp(keyword,"PT"))
++                      {
++                      inbuf = hex2bin_m(value, &l);
++                      inlen = l;
++                      }
++              else if(!encrypt && !strcmp(keyword,"CT"))
++                      {
++                      inbuf = hex2bin_m(value, &l);
++                      inlen = l;
++                      }
++              if (inbuf)
++                      {
++                      FIPS_cipherinit(&ctx, xts, key, iv, encrypt);
++                      outbuf = OPENSSL_malloc(inlen);
++                      FIPS_cipher(&ctx, outbuf, inbuf, inlen);
++                      OutputValue(encrypt ? "CT":"PT", outbuf, inlen, out, 0);
++                      OPENSSL_free(inbuf);
++                      OPENSSL_free(outbuf);
++                      OPENSSL_free(key);
++                      OPENSSL_free(iv);
++                      iv = key = inbuf = outbuf = NULL;
++                      }       
++              }
++      FIPS_cipher_ctx_cleanup(&ctx);  
++      }
++
++static void ccmtest(FILE *in, FILE *out)
++      {
++      char buf[200048];
++      char lbuf[200048];
++      char *keyword, *value;
++      long l;
++      unsigned char *Key = NULL, *Nonce = NULL;
++      unsigned char *Adata = NULL, *Payload = NULL;
++      unsigned char *CT = NULL;
++      int Plen = -1, Nlen = -1, Tlen = -1, Alen = -1;
++      int decr = 0;
++      EVP_CIPHER_CTX ctx;
++      const EVP_CIPHER *ccm = NULL;
++      FIPS_cipher_ctx_init(&ctx);
++
++      while(fgets(buf,sizeof buf,in) != NULL)
++              {
++              char *p;
++              fputs(buf,out);
++              redo:
++              if (!parse_line(&keyword, &value, lbuf, buf))
++                      continue;
++
++              /* If surrounded by square brackets zap them */
++              if (keyword[0] == '[')
++                      {
++                      keyword++;
++                      p = strchr(value, ']');
++                      if (p)
++                              *p = 0;
++                      }
++              /* See if we have a comma separated list of parameters
++               * if so copy rest of line back to buffer and redo later.
++               */
++              p = strchr(value, ',');
++              if (p)
++                      {
++                      *p = 0;
++                      strcpy(buf, p + 1);
++                      strcat(buf, "\n");
++                      decr = 1;
++                      }
++              if (!strcmp(keyword,"Plen"))
++                      Plen = atoi(value);
++              else if (!strcmp(keyword,"Nlen"))
++                      Nlen = atoi(value);
++              else if (!strcmp(keyword,"Tlen"))
++                      Tlen = atoi(value);
++              else if (!strcmp(keyword,"Alen"))
++                      Alen = atoi(value);
++              if (p)
++                      goto redo;
++              if (!strcmp(keyword,"Key"))
++                      {
++                      if (Key)
++                              OPENSSL_free(Key);
++                      Key = hex2bin_m(value, &l);
++                      if (l == 16)
++                              ccm = EVP_aes_128_ccm();
++                      else if (l == 24)
++                              ccm = EVP_aes_192_ccm();
++                      else if (l == 32)
++                              ccm = EVP_aes_256_ccm();
++                      else
++                              {
++                              fprintf(stderr, "Inconsistent Key length\n");
++                              exit(1);
++                              }
++                      }
++              else if (!strcmp(keyword,"Nonce"))
++                      {
++                      if (Nonce)
++                              OPENSSL_free(Nonce);
++                      Nonce = hex2bin_m(value, &l);
++                      if (l != Nlen)
++                              {
++                              fprintf(stderr, "Inconsistent nonce length\n");
++                              exit(1);
++                              }
++                      }
++              else if (!strcmp(keyword,"Payload") && !decr)
++                      {
++                      Payload = hex2bin_m(value, &l);
++                      if (Plen && l != Plen)
++                              {
++                              fprintf(stderr, "Inconsistent Payload length\n");
++                              exit(1);
++                              }
++                      }
++              else if (!strcmp(keyword,"Adata"))
++                      {
++                      if (Adata)
++                              OPENSSL_free(Adata);
++                      Adata = hex2bin_m(value, &l);
++                      if (Alen && l != Alen)
++                              {
++                              fprintf(stderr, "Inconsistent Payload length\n");
++                              exit(1);
++                              }
++                      }
++              else if (!strcmp(keyword,"CT") && decr)
++                      {
++                      CT = hex2bin_m(value, &l);
++                      if (l != (Plen + Tlen))
++                              {
++                              fprintf(stderr, "Inconsistent CT length\n");
++                              exit(1);
++                              }
++                      }
++              if (Payload)
++                      {
++                      FIPS_cipherinit(&ctx, ccm, NULL, NULL, 1);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_CCM_SET_IVLEN, Nlen, 0);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_CCM_SET_TAG, Tlen, 0);
++                      FIPS_cipherinit(&ctx, NULL, Key, Nonce, 1);
++
++                      FIPS_cipher(&ctx, NULL, NULL, Plen);
++                      FIPS_cipher(&ctx, NULL, Adata, Alen);
++                      CT = OPENSSL_malloc(Plen + Tlen);
++                      FIPS_cipher(&ctx, CT, Payload, Plen);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_CCM_GET_TAG, Tlen,
++                                              CT + Plen);
++                      OutputValue("CT", CT, Plen + Tlen, out, 0);
++                      OPENSSL_free(CT);
++                      OPENSSL_free(Payload);
++                      CT = Payload = NULL;
++                      }
++              if (CT)
++                      {
++                      int rv;
++                      int len = Plen == 0 ? 1: Plen;
++                      FIPS_cipherinit(&ctx, ccm, NULL, NULL, 0);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_CCM_SET_IVLEN, Nlen, 0);
++                      FIPS_cipher_ctx_ctrl(&ctx, EVP_CTRL_CCM_SET_TAG,
++                                              Tlen, CT + Plen);
++                      FIPS_cipherinit(&ctx, NULL, Key, Nonce, 0);
++                      FIPS_cipher(&ctx, NULL, NULL, Plen);
++                      FIPS_cipher(&ctx, NULL, Adata, Alen);
++                      Payload = OPENSSL_malloc(len);
++                      rv = FIPS_cipher(&ctx, Payload, CT, Plen);
++                      if (rv >= 0)
++                              {
++                              if (rv == 0)
++                                      Payload[0] = 0;
++                              fputs("Result = Pass" RESP_EOL, out);
++                              OutputValue("Payload", Payload, len, out, 0);
++                              }
++                      else
++                              fputs("Result = Fail" RESP_EOL, out);
++                      OPENSSL_free(CT);
++                      OPENSSL_free(Payload);
++                      CT = Payload = NULL;
++                      }
++              }
++      if (Key)
++              OPENSSL_free(Key);
++      if (Nonce)
++              OPENSSL_free(Nonce);
++      if (Adata)
++              OPENSSL_free(Adata);
++      FIPS_cipher_ctx_cleanup(&ctx);
++      }
++
++#ifdef FIPS_ALGVS
++int fips_gcmtest_main(int argc, char **argv)
++#else
++int main(int argc, char **argv)
++#endif
++      {
++      int encrypt;
++      int xts = 0, ccm = 0;
++      FILE *in, *out;
++      if (argc == 4)
++              {
++              in = fopen(argv[2], "r");
++              if (!in)
++                      {
++                      fprintf(stderr, "Error opening input file\n");
++                      exit(1);
++                      }
++              out = fopen(argv[3], "w");
++              if (!out)
++                      {
++                      fprintf(stderr, "Error opening output file\n");
++                      exit(1);
++                      }
++              }
++      else if (argc == 2)
++              {
++              in = stdin;
++              out = stdout;
++              }
++      else
++              {
++              fprintf(stderr,"%s [-encrypt|-decrypt]\n",argv[0]);
++              exit(1);
++              }
++      fips_algtest_init();
++      if(!strcmp(argv[1],"-encrypt"))
++              encrypt = 1;
++      else if(!strcmp(argv[1],"-encryptIVext"))
++              encrypt = 2;
++      else if(!strcmp(argv[1],"-decrypt"))
++              encrypt = 0;
++      else if(!strcmp(argv[1],"-ccm"))
++              ccm = 1;
++      else if(!strcmp(argv[1],"-xts"))
++              xts = 1;
++      else
++              {
++              fprintf(stderr,"Don't know how to %s.\n",argv[1]);
++              exit(1);
++              }
++
++      if (ccm)
++              ccmtest(in, out);
++      else if (xts)
++              xtstest(in, out);
++      else
++              gcmtest(in, out, encrypt);
++
++      if (argc == 4)
++              {
++              fclose(in);
++              fclose(out);
++              }
++
++      return 0;
++}
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_rngvs.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_rngvs.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_rngvs.c.fips     2012-02-29 10:33:02.791294871 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_rngvs.c  2012-02-29 10:33:02.791294871 +0100
+@@ -0,0 +1,230 @@
++/*
++ * Crude test driver for processing the VST and MCT testvector files
++ * generated by the CMVP RNGVS product.
++ *
++ * Note the input files are assumed to have a _very_ specific format
++ * as described in the NIST document "The Random Number Generator
++ * Validation System (RNGVS)", May 25, 2004.
++ *
++ */
++#include <openssl/opensslconf.h>
++
++#ifndef OPENSSL_FIPS
++#include <stdio.h>
++
++int main(int argc, char **argv)
++{
++    printf("No FIPS RNG support\n");
++    return 0;
++}
++#else
++
++#include <openssl/bn.h>
++#include <openssl/dsa.h>
++#include <openssl/fips.h>
++#include <openssl/err.h>
++#include <openssl/rand.h>
++#include <openssl/fips_rand.h>
++#include <openssl/x509v3.h>
++#include <string.h>
++#include <ctype.h>
++
++#include "fips_utl.h"
++
++void vst()
++    {
++    unsigned char *key = NULL;
++    unsigned char *v = NULL;
++    unsigned char *dt = NULL;
++    unsigned char ret[16];
++    char buf[1024];
++    char lbuf[1024];
++    char *keyword, *value;
++    long i, keylen;
++
++    keylen = 0;
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      fputs(buf,stdout);
++      if(!strncmp(buf,"[AES 128-Key]", 13))
++              keylen = 16;
++      else if(!strncmp(buf,"[AES 192-Key]", 13))
++              keylen = 24;
++      else if(!strncmp(buf,"[AES 256-Key]", 13))
++              keylen = 32;
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              continue;
++      if(!strcmp(keyword,"Key"))
++          {
++          key=hex2bin_m(value,&i);
++          if (i != keylen)
++              {
++              fprintf(stderr, "Invalid key length, expecting %ld\n", keylen);
++              return;
++              }
++          }
++      else if(!strcmp(keyword,"DT"))
++          {
++          dt=hex2bin_m(value,&i);
++          if (i != 16)
++              {
++              fprintf(stderr, "Invalid DT length\n");
++              return;
++              }
++          }
++      else if(!strcmp(keyword,"V"))
++          {
++          v=hex2bin_m(value,&i);
++          if (i != 16)
++              {
++              fprintf(stderr, "Invalid V length\n");
++              return;
++              }
++
++          if (!key || !dt)
++              {
++              fprintf(stderr, "Missing key or DT\n");
++              return;
++              }
++
++          FIPS_x931_set_key(key, keylen);
++          FIPS_x931_seed(v,16);
++          FIPS_x931_set_dt(dt);
++          if (FIPS_x931_bytes(ret,16) <= 0)
++              {
++              fprintf(stderr, "Error getting PRNG value\n");
++              return;
++              }
++
++          pv("R",ret,16);
++          OPENSSL_free(key);
++          key = NULL;
++          OPENSSL_free(dt);
++          dt = NULL;
++          OPENSSL_free(v);
++          v = NULL;
++          }
++      }
++    }
++
++void mct()
++    {
++    unsigned char *key = NULL;
++    unsigned char *v = NULL;
++    unsigned char *dt = NULL;
++    unsigned char ret[16];
++    char buf[1024];
++    char lbuf[1024];
++    char *keyword, *value;
++    long i, keylen;
++    int j;
++
++    keylen = 0;
++
++    while(fgets(buf,sizeof buf,stdin) != NULL)
++      {
++      fputs(buf,stdout);
++      if(!strncmp(buf,"[AES 128-Key]", 13))
++              keylen = 16;
++      else if(!strncmp(buf,"[AES 192-Key]", 13))
++              keylen = 24;
++      else if(!strncmp(buf,"[AES 256-Key]", 13))
++              keylen = 32;
++      if (!parse_line(&keyword, &value, lbuf, buf))
++              continue;
++      if(!strcmp(keyword,"Key"))
++          {
++          key=hex2bin_m(value,&i);
++          if (i != keylen)
++              {
++              fprintf(stderr, "Invalid key length, expecting %ld\n", keylen);
++              return;
++              }
++          }
++      else if(!strcmp(keyword,"DT"))
++          {
++          dt=hex2bin_m(value,&i);
++          if (i != 16)
++              {
++              fprintf(stderr, "Invalid DT length\n");
++              return;
++              }
++          }
++      else if(!strcmp(keyword,"V"))
++          {
++          v=hex2bin_m(value,&i);
++          if (i != 16)
++              {
++              fprintf(stderr, "Invalid V length\n");
++              return;
++              }
++
++          if (!key || !dt)
++              {
++              fprintf(stderr, "Missing key or DT\n");
++              return;
++              }
++
++          FIPS_x931_set_key(key, keylen);
++          FIPS_x931_seed(v,16);
++          for (i = 0; i < 10000; i++)
++              {
++                  FIPS_x931_set_dt(dt);
++                  if (FIPS_x931_bytes(ret,16) <= 0)
++                      {
++                      fprintf(stderr, "Error getting PRNG value\n");
++                      return;
++                      }
++                  /* Increment DT */
++                  for (j = 15; j >= 0; j--)
++                      {
++                      dt[j]++;
++                      if (dt[j])
++                              break;
++                      }
++              }
++
++          pv("R",ret,16);
++          OPENSSL_free(key);
++          key = NULL;
++          OPENSSL_free(dt);
++          dt = NULL;
++          OPENSSL_free(v);
++          v = NULL;
++          }
++      }
++    }
++
++int main(int argc,char **argv)
++    {
++    if(argc != 2)
++      {
++      fprintf(stderr,"%s [mct|vst]\n",argv[0]);
++      exit(1);
++      }
++    if(!FIPS_mode_set(1))
++      {
++      do_print_errors();
++      exit(1);
++      }
++    FIPS_x931_reset();
++    if (!FIPS_x931_test_mode())
++      {
++      fprintf(stderr, "Error setting PRNG test mode\n");
++      do_print_errors();
++      exit(1);
++      }
++    if(!strcmp(argv[1],"mct"))
++      mct();
++    else if(!strcmp(argv[1],"vst"))
++      vst();
++    else
++      {
++      fprintf(stderr,"Don't know how to %s.\n",argv[1]);
++      exit(1);
++      }
++
++    return 0;
++    }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsagtest.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsagtest.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsagtest.c.fips  2012-02-29 10:33:02.791294871 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsagtest.c       2012-02-29 10:33:02.791294871 +0100
+@@ -0,0 +1,390 @@
++/* fips_rsagtest.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project 2005.
++ */
++/* ====================================================================
++ * Copyright (c) 2005,2007 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This product includes cryptographic software written by Eric Young
++ * (eay@cryptsoft.com).  This product includes software written by Tim
++ * Hudson (tjh@cryptsoft.com).
++ *
++ */
++
++#include <stdio.h>
++#include <ctype.h>
++#include <string.h>
++#include <openssl/bio.h>
++#include <openssl/evp.h>
++#include <openssl/hmac.h>
++#include <openssl/err.h>
++#include <openssl/rsa.h>
++#include <openssl/bn.h>
++#include <openssl/x509v3.h>
++
++#ifndef OPENSSL_FIPS
++
++int main(int argc, char *argv[])
++{
++    printf("No FIPS RSA support\n");
++    return(0);
++}
++
++#else
++
++#include "fips_utl.h"
++
++int rsa_test(FILE *out, FILE *in);
++static int rsa_printkey1(FILE *out, RSA *rsa,
++              BIGNUM *Xp1, BIGNUM *Xp2, BIGNUM *Xp,
++              BIGNUM *e);
++static int rsa_printkey2(FILE *out, RSA *rsa,
++              BIGNUM *Xq1, BIGNUM *Xq2, BIGNUM *Xq);
++
++int main(int argc, char **argv)
++      {
++      FILE *in = NULL, *out = NULL;
++
++      int ret = 1;
++
++      if(!FIPS_mode_set(1))
++              {
++              do_print_errors();
++              goto end;
++              }
++
++      if (argc == 1)
++              in = stdin;
++      else
++              in = fopen(argv[1], "r");
++
++      if (argc < 2)
++              out = stdout;
++      else
++              out = fopen(argv[2], "w");
++
++      if (!in)
++              {
++              fprintf(stderr, "FATAL input initialization error\n");
++              goto end;
++              }
++
++      if (!out)
++              {
++              fprintf(stderr, "FATAL output initialization error\n");
++              goto end;
++              }
++
++      if (!rsa_test(out, in))
++              {
++              fprintf(stderr, "FATAL RSAGTEST file processing error\n");
++              goto end;
++              }
++      else
++              ret = 0;
++
++      end:
++
++      if (ret)
++              do_print_errors();
++
++      if (in && (in != stdin))
++              fclose(in);
++      if (out && (out != stdout))
++              fclose(out);
++
++      return ret;
++
++      }
++
++#define RSA_TEST_MAXLINELEN   10240
++
++int rsa_test(FILE *out, FILE *in)
++      {
++      char *linebuf, *olinebuf, *p, *q;
++      char *keyword, *value;
++      RSA *rsa = NULL;
++      BIGNUM *Xp1 = NULL, *Xp2 = NULL, *Xp = NULL;
++      BIGNUM *Xq1 = NULL, *Xq2 = NULL, *Xq = NULL;
++      BIGNUM *e = NULL;
++      int ret = 0;
++      int lnum = 0;
++
++      olinebuf = OPENSSL_malloc(RSA_TEST_MAXLINELEN);
++      linebuf = OPENSSL_malloc(RSA_TEST_MAXLINELEN);
++
++      if (!linebuf || !olinebuf)
++              goto error;
++
++      while (fgets(olinebuf, RSA_TEST_MAXLINELEN, in))
++              {
++              lnum++;
++              strcpy(linebuf, olinebuf);
++              keyword = linebuf;
++              /* Skip leading space */
++              while (isspace((unsigned char)*keyword))
++                      keyword++;
++
++              /* Look for = sign */
++              p = strchr(linebuf, '=');
++
++              /* If no = or starts with [ (for [foo = bar] line) just copy */
++              if (!p || *keyword=='[')
++                      {
++                      if (fputs(olinebuf, out) < 0)
++                              goto error;
++                      continue;
++                      }
++
++              q = p - 1;
++
++              /* Remove trailing space */
++              while (isspace((unsigned char)*q))
++                      *q-- = 0;
++
++              *p = 0;
++              value = p + 1;
++
++              /* Remove leading space from value */
++              while (isspace((unsigned char)*value))
++                      value++;
++
++              /* Remove trailing space from value */
++              p = value + strlen(value) - 1;
++
++              while (*p == '\n' || isspace((unsigned char)*p))
++                      *p-- = 0;
++
++              if (!strcmp(keyword, "xp1"))
++                      {
++                      if (Xp1 || !do_hex2bn(&Xp1,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "xp2"))
++                      {
++                      if (Xp2 || !do_hex2bn(&Xp2,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Xp"))
++                      {
++                      if (Xp || !do_hex2bn(&Xp,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "xq1"))
++                      {
++                      if (Xq1 || !do_hex2bn(&Xq1,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "xq2"))
++                      {
++                      if (Xq2 || !do_hex2bn(&Xq2,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Xq"))
++                      {
++                      if (Xq || !do_hex2bn(&Xq,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "e"))
++                      {
++                      if (e || !do_hex2bn(&e,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "p1"))
++                      continue;
++              else if (!strcmp(keyword, "p2"))
++                      continue;
++              else if (!strcmp(keyword, "p"))
++                      continue;
++              else if (!strcmp(keyword, "q1"))
++                      continue;
++              else if (!strcmp(keyword, "q2"))
++                      continue;
++              else if (!strcmp(keyword, "q"))
++                      continue;
++              else if (!strcmp(keyword, "n"))
++                      continue;
++              else if (!strcmp(keyword, "d"))
++                      continue;
++              else
++                      goto parse_error;
++
++              fputs(olinebuf, out);
++
++              if (e && Xp1 && Xp2 && Xp)
++                      {
++                      rsa = FIPS_rsa_new();
++                      if (!rsa)
++                              goto error;
++                      if (!rsa_printkey1(out, rsa, Xp1, Xp2, Xp, e))
++                              goto error;
++                      BN_free(Xp1);
++                      Xp1 = NULL;
++                      BN_free(Xp2);
++                      Xp2 = NULL;
++                      BN_free(Xp);
++                      Xp = NULL;
++                      BN_free(e);
++                      e = NULL;
++                      }
++
++              if (rsa && Xq1 && Xq2 && Xq)
++                      {
++                      if (!rsa_printkey2(out, rsa, Xq1, Xq2, Xq))
++                              goto error;
++                      BN_free(Xq1);
++                      Xq1 = NULL;
++                      BN_free(Xq2);
++                      Xq2 = NULL;
++                      BN_free(Xq);
++                      Xq = NULL;
++                      FIPS_rsa_free(rsa);
++                      rsa = NULL;
++                      }
++              }
++
++      ret = 1;
++
++      error:
++
++      if (olinebuf)
++              OPENSSL_free(olinebuf);
++      if (linebuf)
++              OPENSSL_free(linebuf);
++
++      if (Xp1)
++              BN_free(Xp1);
++      if (Xp2)
++              BN_free(Xp2);
++      if (Xp)
++              BN_free(Xp);
++      if (Xq1)
++              BN_free(Xq1);
++      if (Xq1)
++              BN_free(Xq1);
++      if (Xq2)
++              BN_free(Xq2);
++      if (Xq)
++              BN_free(Xq);
++      if (e)
++              BN_free(e);
++      if (rsa)
++              FIPS_rsa_free(rsa);
++
++      return ret;
++
++      parse_error:
++
++      fprintf(stderr, "FATAL parse error processing line %d\n", lnum);
++
++      goto error;
++
++      }
++
++static int rsa_printkey1(FILE *out, RSA *rsa,
++              BIGNUM *Xp1, BIGNUM *Xp2, BIGNUM *Xp,
++              BIGNUM *e)
++      {
++      int ret = 0;
++      BIGNUM *p1 = NULL, *p2 = NULL;
++      p1 = BN_new();
++      p2 = BN_new();
++      if (!p1 || !p2)
++              goto error;
++
++      if (!RSA_X931_derive_ex(rsa, p1, p2, NULL, NULL, Xp1, Xp2, Xp,
++                                              NULL, NULL, NULL, e, NULL))
++              goto error;
++
++      do_bn_print_name(out, "p1", p1);
++      do_bn_print_name(out, "p2", p2);
++      do_bn_print_name(out, "p", rsa->p);
++
++      ret = 1;
++
++      error:
++      if (p1)
++              BN_free(p1);
++      if (p2)
++              BN_free(p2);
++
++      return ret;
++      }
++
++static int rsa_printkey2(FILE *out, RSA *rsa,
++              BIGNUM *Xq1, BIGNUM *Xq2, BIGNUM *Xq)
++      {
++      int ret = 0;
++      BIGNUM *q1 = NULL, *q2 = NULL;
++      q1 = BN_new();
++      q2 = BN_new();
++      if (!q1 || !q2)
++              goto error;
++
++      if (!RSA_X931_derive_ex(rsa, NULL, NULL, q1, q2, NULL, NULL, NULL,
++                                              Xq1, Xq2, Xq, NULL, NULL))
++              goto error;
++
++      do_bn_print_name(out, "q1", q1);
++      do_bn_print_name(out, "q2", q2);
++      do_bn_print_name(out, "q", rsa->q);
++      do_bn_print_name(out, "n", rsa->n);
++      do_bn_print_name(out, "d", rsa->d);
++
++      ret = 1;
++
++      error:
++      if (q1)
++              BN_free(q1);
++      if (q2)
++              BN_free(q2);
++
++      return ret;
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsastest.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsastest.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsastest.c.fips  2012-02-29 10:33:02.792294880 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsastest.c       2012-02-29 10:33:02.792294880 +0100
+@@ -0,0 +1,370 @@
++/* fips_rsastest.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project 2005.
++ */
++/* ====================================================================
++ * Copyright (c) 2005 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This product includes cryptographic software written by Eric Young
++ * (eay@cryptsoft.com).  This product includes software written by Tim
++ * Hudson (tjh@cryptsoft.com).
++ *
++ */
++
++#include <stdio.h>
++#include <ctype.h>
++#include <string.h>
++#include <openssl/bio.h>
++#include <openssl/evp.h>
++#include <openssl/hmac.h>
++#include <openssl/err.h>
++#include <openssl/rsa.h>
++#include <openssl/bn.h>
++#include <openssl/x509v3.h>
++
++#ifndef OPENSSL_FIPS
++
++int main(int argc, char *argv[])
++{
++    printf("No FIPS RSA support\n");
++    return(0);
++}
++
++#else
++
++#include "fips_utl.h"
++
++static int rsa_stest(FILE *out, FILE *in, int Saltlen);
++static int rsa_printsig(FILE *out, RSA *rsa, const EVP_MD *dgst,
++              unsigned char *Msg, long Msglen, int Saltlen);
++
++int main(int argc, char **argv)
++      {
++      FILE *in = NULL, *out = NULL;
++
++      int ret = 1, Saltlen = -1;
++
++      if(!FIPS_mode_set(1))
++              {
++              do_print_errors();
++              goto end;
++              }
++
++      if ((argc > 2) && !strcmp("-saltlen", argv[1]))
++              {
++              Saltlen = atoi(argv[2]);
++              if (Saltlen < 0)
++                      {
++                      fprintf(stderr, "FATAL: Invalid salt length\n");
++                      goto end;
++                      }
++              argc -= 2;
++              argv += 2;
++              }
++      else if ((argc > 1) && !strcmp("-x931", argv[1]))
++              {
++              Saltlen = -2;
++              argc--;
++              argv++;
++              }
++
++      if (argc == 1)
++              in = stdin;
++      else
++              in = fopen(argv[1], "r");
++
++      if (argc < 2)
++              out = stdout;
++      else
++              out = fopen(argv[2], "w");
++
++      if (!in)
++              {
++              fprintf(stderr, "FATAL input initialization error\n");
++              goto end;
++              }
++
++      if (!out)
++              {
++              fprintf(stderr, "FATAL output initialization error\n");
++              goto end;
++              }
++
++      if (!rsa_stest(out, in, Saltlen))
++              {
++              fprintf(stderr, "FATAL RSASTEST file processing error\n");
++              goto end;
++              }
++      else
++              ret = 0;
++
++      end:
++
++      if (ret)
++              do_print_errors();
++
++      if (in && (in != stdin))
++              fclose(in);
++      if (out && (out != stdout))
++              fclose(out);
++
++      return ret;
++
++      }
++
++#define RSA_TEST_MAXLINELEN   10240
++
++int rsa_stest(FILE *out, FILE *in, int Saltlen)
++      {
++      char *linebuf, *olinebuf, *p, *q;
++      char *keyword, *value;
++      RSA *rsa = NULL;
++      const EVP_MD *dgst = NULL;
++      unsigned char *Msg = NULL;
++      long Msglen = -1;
++      int keylen = -1, current_keylen = -1;
++      int ret = 0;
++      int lnum = 0;
++
++      olinebuf = OPENSSL_malloc(RSA_TEST_MAXLINELEN);
++      linebuf = OPENSSL_malloc(RSA_TEST_MAXLINELEN);
++
++      if (!linebuf || !olinebuf)
++              goto error;
++
++      while (fgets(olinebuf, RSA_TEST_MAXLINELEN, in))
++              {
++              lnum++;
++              strcpy(linebuf, olinebuf);
++              keyword = linebuf;
++              /* Skip leading space */
++              while (isspace((unsigned char)*keyword))
++                      keyword++;
++
++              /* Look for = sign */
++              p = strchr(linebuf, '=');
++
++              /* If no = just copy */
++              if (!p)
++                      {
++                      if (fputs(olinebuf, out) < 0)
++                              goto error;
++                      continue;
++                      }
++
++              q = p - 1;
++
++              /* Remove trailing space */
++              while (isspace((unsigned char)*q))
++                      *q-- = 0;
++
++              *p = 0;
++              value = p + 1;
++
++              /* Remove leading space from value */
++              while (isspace((unsigned char)*value))
++                      value++;
++
++              /* Remove trailing space from value */
++              p = value + strlen(value) - 1;
++
++              while (*p == '\n' || isspace((unsigned char)*p))
++                      *p-- = 0;
++
++              /* Look for [mod = XXX] for key length */
++
++              if (!strcmp(keyword, "[mod"))
++                      {
++                      p = value + strlen(value) - 1;
++                      if (*p != ']')
++                              goto parse_error;
++                      *p = 0;
++                      keylen = atoi(value);
++                      if (keylen < 0)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "SHAAlg"))
++                      {
++                      if (!strcmp(value, "SHA1"))
++                              dgst = EVP_sha1();
++                      else if (!strcmp(value, "SHA224"))
++                              dgst = EVP_sha224();
++                      else if (!strcmp(value, "SHA256"))
++                              dgst = EVP_sha256();
++                      else if (!strcmp(value, "SHA384"))
++                              dgst = EVP_sha384();
++                      else if (!strcmp(value, "SHA512"))
++                              dgst = EVP_sha512();
++                      else
++                              {
++                              fprintf(stderr,
++                                      "FATAL: unsupported algorithm \"%s\"\n",
++                                                              value);
++                              goto parse_error;
++                              }
++                      }
++              else if (!strcmp(keyword, "Msg"))
++                      {
++                      if (Msg)
++                              goto parse_error;
++                      if (strlen(value) & 1)
++                              *(--value) = '0';
++                      Msg = hex2bin_m(value, &Msglen);
++                      if (!Msg)
++                              goto parse_error;
++                      }
++
++              fputs(olinebuf, out);
++
++              /* If key length has changed, generate and output public
++               * key components of new RSA private key.
++               */
++
++              if (keylen != current_keylen)
++                      {
++                      BIGNUM *bn_e;
++                      if (rsa)
++                              FIPS_rsa_free(rsa);
++                      rsa = FIPS_rsa_new();
++                      if (!rsa)
++                              goto error;
++                      bn_e = BN_new();
++                      if (!bn_e || !BN_set_word(bn_e, 0x1001))
++                              goto error;
++                      if (!RSA_X931_generate_key_ex(rsa, keylen, bn_e, NULL))
++                              goto error;
++                      BN_free(bn_e);
++                      fputs("n = ", out);
++                      do_bn_print(out, rsa->n);
++                      fputs("\ne = ", out);
++                      do_bn_print(out, rsa->e);
++                      fputs("\n", out);
++                      current_keylen = keylen;
++                      }
++
++              if (Msg && dgst)
++                      {
++                      if (!rsa_printsig(out, rsa, dgst, Msg, Msglen,
++                                                              Saltlen))
++                              goto error;
++                      OPENSSL_free(Msg);
++                      Msg = NULL;
++                      }
++
++              }
++
++      ret = 1;
++
++      error:
++
++      if (olinebuf)
++              OPENSSL_free(olinebuf);
++      if (linebuf)
++              OPENSSL_free(linebuf);
++      if (rsa)
++              FIPS_rsa_free(rsa);
++
++      return ret;
++
++      parse_error:
++
++      fprintf(stderr, "FATAL parse error processing line %d\n", lnum);
++
++      goto error;
++
++      }
++
++static int rsa_printsig(FILE *out, RSA *rsa, const EVP_MD *dgst,
++              unsigned char *Msg, long Msglen, int Saltlen)
++      {
++      int ret = 0;
++      unsigned char *sigbuf = NULL;
++      int i, siglen;
++      /* EVP_PKEY structure */
++      EVP_PKEY pk;
++      EVP_MD_CTX ctx;
++      pk.type = EVP_PKEY_RSA;
++      pk.pkey.rsa = rsa;
++
++      siglen = RSA_size(rsa);
++      sigbuf = OPENSSL_malloc(siglen);
++      if (!sigbuf)
++              goto error;
++
++      EVP_MD_CTX_init(&ctx);
++
++      if (Saltlen >= 0)
++              {
++              M_EVP_MD_CTX_set_flags(&ctx,
++                      EVP_MD_CTX_FLAG_PAD_PSS | (Saltlen << 16));
++              }
++      else if (Saltlen == -2)
++              M_EVP_MD_CTX_set_flags(&ctx, EVP_MD_CTX_FLAG_PAD_X931);
++      if (!EVP_SignInit_ex(&ctx, dgst, NULL))
++              goto error;
++      if (!EVP_SignUpdate(&ctx, Msg, Msglen))
++              goto error;
++      if (!EVP_SignFinal(&ctx, sigbuf, (unsigned int *)&siglen, &pk))
++              goto error;
++
++      EVP_MD_CTX_cleanup(&ctx);
++
++      fputs("S = ", out);
++
++      for (i = 0; i < siglen; i++)
++              fprintf(out, "%02X", sigbuf[i]);
++
++      fputs("\n", out);
++
++      ret = 1;
++
++      error:
++
++      return ret;
++      }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsavtest.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsavtest.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsavtest.c.fips  2012-02-29 10:33:02.792294880 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_rsavtest.c       2012-02-29 10:33:02.792294880 +0100
+@@ -0,0 +1,377 @@
++/* fips_rsavtest.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project 2005.
++ */
++/* ====================================================================
++ * Copyright (c) 2005 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This product includes cryptographic software written by Eric Young
++ * (eay@cryptsoft.com).  This product includes software written by Tim
++ * Hudson (tjh@cryptsoft.com).
++ *
++ */
++
++#include <stdio.h>
++#include <ctype.h>
++#include <string.h>
++#include <openssl/bio.h>
++#include <openssl/evp.h>
++#include <openssl/hmac.h>
++#include <openssl/err.h>
++#include <openssl/x509v3.h>
++#include <openssl/bn.h>
++#include <openssl/rsa.h>
++
++#ifndef OPENSSL_FIPS
++
++int main(int argc, char *argv[])
++{
++    printf("No FIPS RSA support\n");
++    return(0);
++}
++
++#else
++
++#include "fips_utl.h"
++
++int rsa_test(FILE *out, FILE *in, int saltlen);
++static int rsa_printver(FILE *out,
++              BIGNUM *n, BIGNUM *e,
++              const EVP_MD *dgst,
++              unsigned char *Msg, long Msglen,
++              unsigned char *S, long Slen, int Saltlen);
++
++int main(int argc, char **argv)
++      {
++      FILE *in = NULL, *out = NULL;
++
++      int ret = 1;
++      int Saltlen = -1;
++
++      if(!FIPS_mode_set(1))
++              {
++              do_print_errors();
++              goto end;
++              }
++
++      if ((argc > 2) && !strcmp("-saltlen", argv[1]))
++              {
++              Saltlen = atoi(argv[2]);
++              if (Saltlen < 0)
++                      {
++                      fprintf(stderr, "FATAL: Invalid salt length\n");
++                      goto end;
++                      }
++              argc -= 2;
++              argv += 2;
++              }
++      else if ((argc > 1) && !strcmp("-x931", argv[1]))
++              {
++              Saltlen = -2;
++              argc--;
++              argv++;
++              }
++
++      if (argc == 1)
++              in = stdin;
++      else
++              in = fopen(argv[1], "r");
++
++      if (argc < 2)
++              out = stdout;
++      else
++              out = fopen(argv[2], "w");
++
++      if (!in)
++              {
++              fprintf(stderr, "FATAL input initialization error\n");
++              goto end;
++              }
++
++      if (!out)
++              {
++              fprintf(stderr, "FATAL output initialization error\n");
++              goto end;
++              }
++
++      if (!rsa_test(out, in, Saltlen))
++              {
++              fprintf(stderr, "FATAL RSAVTEST file processing error\n");
++              goto end;
++              }
++      else
++              ret = 0;
++
++      end:
++
++      if (ret)
++              do_print_errors();
++
++      if (in && (in != stdin))
++              fclose(in);
++      if (out && (out != stdout))
++              fclose(out);
++
++      return ret;
++
++      }
++
++#define RSA_TEST_MAXLINELEN   10240
++
++int rsa_test(FILE *out, FILE *in, int Saltlen)
++      {
++      char *linebuf, *olinebuf, *p, *q;
++      char *keyword, *value;
++      const EVP_MD *dgst = NULL;
++      BIGNUM *n = NULL, *e = NULL;
++      unsigned char *Msg = NULL, *S = NULL;
++      long Msglen, Slen;
++      int ret = 0;
++      int lnum = 0;
++
++      olinebuf = OPENSSL_malloc(RSA_TEST_MAXLINELEN);
++      linebuf = OPENSSL_malloc(RSA_TEST_MAXLINELEN);
++
++      if (!linebuf || !olinebuf)
++              goto error;
++
++      while (fgets(olinebuf, RSA_TEST_MAXLINELEN, in))
++              {
++              lnum++;
++              strcpy(linebuf, olinebuf);
++              keyword = linebuf;
++              /* Skip leading space */
++              while (isspace((unsigned char)*keyword))
++                      keyword++;
++
++              /* Look for = sign */
++              p = strchr(linebuf, '=');
++
++              /* If no = or starts with [ (for [foo = bar] line) just copy */
++              if (!p || *keyword=='[')
++                      {
++                      if (fputs(olinebuf, out) < 0)
++                              goto error;
++                      continue;
++                      }
++
++              q = p - 1;
++
++              /* Remove trailing space */
++              while (isspace((unsigned char)*q))
++                      *q-- = 0;
++
++              *p = 0;
++              value = p + 1;
++
++              /* Remove leading space from value */
++              while (isspace((unsigned char)*value))
++                      value++;
++
++              /* Remove trailing space from value */
++              p = value + strlen(value) - 1;
++
++              while (*p == '\n' || isspace((unsigned char)*p))
++                      *p-- = 0;
++
++              if (!strcmp(keyword, "n"))
++                      {
++                      if (!do_hex2bn(&n,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "e"))
++                      {
++                      if (!do_hex2bn(&e,value))
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "SHAAlg"))
++                      {
++                      if (!strcmp(value, "SHA1"))
++                              dgst = EVP_sha1();
++                      else if (!strcmp(value, "SHA224"))
++                              dgst = EVP_sha224();
++                      else if (!strcmp(value, "SHA256"))
++                              dgst = EVP_sha256();
++                      else if (!strcmp(value, "SHA384"))
++                              dgst = EVP_sha384();
++                      else if (!strcmp(value, "SHA512"))
++                              dgst = EVP_sha512();
++                      else
++                              {
++                              fprintf(stderr,
++                                      "FATAL: unsupported algorithm \"%s\"\n",
++                                                              value);
++                              goto parse_error;
++                              }
++                      }
++              else if (!strcmp(keyword, "Msg"))
++                      {
++                      if (Msg)
++                              goto parse_error;
++                      if (strlen(value) & 1)
++                              *(--value) = '0';
++                      Msg = hex2bin_m(value, &Msglen);
++                      if (!Msg)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "S"))
++                      {
++                      if (S)
++                              goto parse_error;
++                      if (strlen(value) & 1)
++                              *(--value) = '0';
++                      S = hex2bin_m(value, &Slen);
++                      if (!S)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Result"))
++                      continue;
++              else
++                      goto parse_error;
++
++              fputs(olinebuf, out);
++
++              if (n && e && Msg && S && dgst)
++                      {
++                      if (!rsa_printver(out, n, e, dgst,
++                                      Msg, Msglen, S, Slen, Saltlen))
++                              goto error;
++                      OPENSSL_free(Msg);
++                      Msg = NULL;
++                      OPENSSL_free(S);
++                      S = NULL;
++                      }
++
++              }
++
++
++      ret = 1;
++
++
++      error:
++
++      if (olinebuf)
++              OPENSSL_free(olinebuf);
++      if (linebuf)
++              OPENSSL_free(linebuf);
++      if (n)
++              BN_free(n);
++      if (e)
++              BN_free(e);
++
++      return ret;
++
++      parse_error:
++
++      fprintf(stderr, "FATAL parse error processing line %d\n", lnum);
++
++      goto error;
++
++      }
++
++static int rsa_printver(FILE *out,
++              BIGNUM *n, BIGNUM *e,
++              const EVP_MD *dgst,
++              unsigned char *Msg, long Msglen,
++              unsigned char *S, long Slen, int Saltlen)
++      {
++      int ret = 0, r;
++      /* Setup RSA and EVP_PKEY structures */
++      RSA *rsa_pubkey = NULL;
++      EVP_PKEY pk;
++      EVP_MD_CTX ctx;
++      unsigned char *buf = NULL;
++      rsa_pubkey = FIPS_rsa_new();
++      if (!rsa_pubkey)
++              goto error;
++      rsa_pubkey->n = BN_dup(n);
++      rsa_pubkey->e = BN_dup(e);
++      if (!rsa_pubkey->n || !rsa_pubkey->e)
++              goto error;
++      pk.type = EVP_PKEY_RSA;
++      pk.pkey.rsa = rsa_pubkey;
++
++      EVP_MD_CTX_init(&ctx);
++
++      if (Saltlen >= 0)
++              {
++              M_EVP_MD_CTX_set_flags(&ctx,
++                      EVP_MD_CTX_FLAG_PAD_PSS | (Saltlen << 16));
++              }
++      else if (Saltlen == -2)
++              M_EVP_MD_CTX_set_flags(&ctx, EVP_MD_CTX_FLAG_PAD_X931);
++      if (!EVP_VerifyInit_ex(&ctx, dgst, NULL))
++              goto error;
++      if (!EVP_VerifyUpdate(&ctx, Msg, Msglen))
++              goto error;
++
++      r = EVP_VerifyFinal(&ctx, S, Slen, &pk);
++
++
++      EVP_MD_CTX_cleanup(&ctx);
++
++      if (r < 0)
++              goto error;
++      ERR_clear_error();
++
++      if (r == 0)
++              fputs("Result = F\n", out);
++      else
++              fputs("Result = P\n", out);
++
++      ret = 1;
++
++      error:
++      if (rsa_pubkey)
++              FIPS_rsa_free(rsa_pubkey);
++      if (buf)
++              OPENSSL_free(buf);
++
++      return ret;
++      }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_shatest.c.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_shatest.c
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_shatest.c.fips   2012-02-29 10:33:02.792294880 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_shatest.c        2012-02-29 10:33:02.792294880 +0100
+@@ -0,0 +1,388 @@
++/* fips_shatest.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project 2005.
++ */
++/* ====================================================================
++ * Copyright (c) 2005 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This product includes cryptographic software written by Eric Young
++ * (eay@cryptsoft.com).  This product includes software written by Tim
++ * Hudson (tjh@cryptsoft.com).
++ *
++ */
++
++#include <stdio.h>
++#include <ctype.h>
++#include <string.h>
++#include <openssl/bio.h>
++#include <openssl/evp.h>
++#include <openssl/err.h>
++#include <openssl/bn.h>
++#include <openssl/x509v3.h>
++
++#ifndef OPENSSL_FIPS
++
++int main(int argc, char *argv[])
++{
++    printf("No FIPS SHAXXX support\n");
++    return(0);
++}
++
++#else
++
++#include "fips_utl.h"
++
++static int dgst_test(FILE *out, FILE *in);
++static int print_dgst(const EVP_MD *md, FILE *out,
++              unsigned char *Msg, int Msglen);
++static int print_monte(const EVP_MD *md, FILE *out,
++              unsigned char *Seed, int SeedLen);
++
++int main(int argc, char **argv)
++      {
++      FILE *in = NULL, *out = NULL;
++
++      int ret = 1;
++
++      if(!FIPS_mode_set(1))
++              {
++              do_print_errors();
++              goto end;
++              }
++
++      if (argc == 1)
++              in = stdin;
++      else
++              in = fopen(argv[1], "r");
++
++      if (argc < 2)
++              out = stdout;
++      else
++              out = fopen(argv[2], "w");
++
++      if (!in)
++              {
++              fprintf(stderr, "FATAL input initialization error\n");
++              goto end;
++              }
++
++      if (!out)
++              {
++              fprintf(stderr, "FATAL output initialization error\n");
++              goto end;
++              }
++
++      if (!dgst_test(out, in))
++              {
++              fprintf(stderr, "FATAL digest file processing error\n");
++              goto end;
++              }
++      else
++              ret = 0;
++
++      end:
++
++      if (ret)
++              do_print_errors();
++
++      if (in && (in != stdin))
++              fclose(in);
++      if (out && (out != stdout))
++              fclose(out);
++
++      return ret;
++
++      }
++
++#define SHA_TEST_MAX_BITS     102400
++#define SHA_TEST_MAXLINELEN   (((SHA_TEST_MAX_BITS >> 3) * 2) + 100)
++
++int dgst_test(FILE *out, FILE *in)
++      {
++      const EVP_MD *md = NULL;
++      char *linebuf, *olinebuf, *p, *q;
++      char *keyword, *value;
++      unsigned char *Msg = NULL, *Seed = NULL;
++      long MsgLen = -1, Len = -1, SeedLen = -1;
++      int ret = 0;
++      int lnum = 0;
++
++      olinebuf = OPENSSL_malloc(SHA_TEST_MAXLINELEN);
++      linebuf = OPENSSL_malloc(SHA_TEST_MAXLINELEN);
++
++      if (!linebuf || !olinebuf)
++              goto error;
++
++
++      while (fgets(olinebuf, SHA_TEST_MAXLINELEN, in))
++              {
++              lnum++;
++              strcpy(linebuf, olinebuf);
++              keyword = linebuf;
++              /* Skip leading space */
++              while (isspace((unsigned char)*keyword))
++                      keyword++;
++
++              /* Look for = sign */
++              p = strchr(linebuf, '=');
++
++              /* If no = or starts with [ (for [L=20] line) just copy */
++              if (!p)
++                      {
++                      fputs(olinebuf, out);
++                      continue;
++                      }
++
++              q = p - 1;
++
++              /* Remove trailing space */
++              while (isspace((unsigned char)*q))
++                      *q-- = 0;
++
++              *p = 0;
++              value = p + 1;
++
++              /* Remove leading space from value */
++              while (isspace((unsigned char)*value))
++                      value++;
++
++              /* Remove trailing space from value */
++              p = value + strlen(value) - 1;
++              while (*p == '\n' || isspace((unsigned char)*p))
++                      *p-- = 0;
++
++              if (!strcmp(keyword,"[L") && *p==']')
++                      {
++                      switch (atoi(value))
++                              {
++                              case 20: md=EVP_sha1();   break;
++                              case 28: md=EVP_sha224(); break;
++                              case 32: md=EVP_sha256(); break;
++                              case 48: md=EVP_sha384(); break;
++                              case 64: md=EVP_sha512(); break;
++                              default: goto parse_error;
++                              }
++                      }
++              else if (!strcmp(keyword, "Len"))
++                      {
++                      if (Len != -1)
++                              goto parse_error;
++                      Len = atoi(value);
++                      if (Len < 0)
++                              goto parse_error;
++                      /* Only handle multiples of 8 bits */
++                      if (Len & 0x7)
++                              goto parse_error;
++                      if (Len > SHA_TEST_MAX_BITS)
++                              goto parse_error;
++                      MsgLen = Len >> 3;
++                      }
++
++              else if (!strcmp(keyword, "Msg"))
++                      {
++                      long tmplen;
++                      if (strlen(value) & 1)
++                              *(--value) = '0';
++                      if (Msg)
++                              goto parse_error;
++                      Msg = hex2bin_m(value, &tmplen);
++                      if (!Msg)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "Seed"))
++                      {
++                      if (strlen(value) & 1)
++                              *(--value) = '0';
++                      if (Seed)
++                              goto parse_error;
++                      Seed = hex2bin_m(value, &SeedLen);
++                      if (!Seed)
++                              goto parse_error;
++                      }
++              else if (!strcmp(keyword, "MD"))
++                      continue;
++              else
++                      goto parse_error;
++
++              fputs(olinebuf, out);
++
++              if (md && Msg && (MsgLen >= 0))
++                      {
++                      if (!print_dgst(md, out, Msg, MsgLen))
++                              goto error;
++                      OPENSSL_free(Msg);
++                      Msg = NULL;
++                      MsgLen = -1;
++                      Len = -1;
++                      }
++              else if (md && Seed && (SeedLen > 0))
++                      {
++                      if (!print_monte(md, out, Seed, SeedLen))
++                              goto error;
++                      OPENSSL_free(Seed);
++                      Seed = NULL;
++                      SeedLen = -1;
++                      }
++      
++
++              }
++
++
++      ret = 1;
++
++
++      error:
++
++      if (olinebuf)
++              OPENSSL_free(olinebuf);
++      if (linebuf)
++              OPENSSL_free(linebuf);
++      if (Msg)
++              OPENSSL_free(Msg);
++      if (Seed)
++              OPENSSL_free(Seed);
++
++      return ret;
++
++      parse_error:
++
++      fprintf(stderr, "FATAL parse error processing line %d\n", lnum);
++
++      goto error;
++
++      }
++
++static int print_dgst(const EVP_MD *emd, FILE *out,
++              unsigned char *Msg, int Msglen)
++      {
++      int i, mdlen;
++      unsigned char md[EVP_MAX_MD_SIZE];
++      if (!EVP_Digest(Msg, Msglen, md, (unsigned int *)&mdlen, emd, NULL))
++              {
++              fputs("Error calculating HASH\n", stderr);
++              return 0;
++              }
++      fputs("MD = ", out);
++      for (i = 0; i < mdlen; i++)
++              fprintf(out, "%02x", md[i]);
++      fputs("\n", out);
++      return 1;
++      }
++
++static int print_monte(const EVP_MD *md, FILE *out,
++              unsigned char *Seed, int SeedLen)
++      {
++      unsigned int i, j, k;
++      int ret = 0;
++      EVP_MD_CTX ctx;
++      unsigned char *m1, *m2, *m3, *p;
++      unsigned int mlen, m1len, m2len, m3len;
++
++      EVP_MD_CTX_init(&ctx);
++
++      if (SeedLen > EVP_MAX_MD_SIZE)
++              mlen = SeedLen;
++      else
++              mlen = EVP_MAX_MD_SIZE;
++
++      m1 = OPENSSL_malloc(mlen);
++      m2 = OPENSSL_malloc(mlen);
++      m3 = OPENSSL_malloc(mlen);
++
++      if (!m1 || !m2 || !m3)
++              goto mc_error;
++
++      m1len = m2len = m3len = SeedLen;
++      memcpy(m1, Seed, SeedLen);
++      memcpy(m2, Seed, SeedLen);
++      memcpy(m3, Seed, SeedLen);
++
++      fputs("\n", out);
++
++      for (j = 0; j < 100; j++)
++              {
++              for (i = 0; i < 1000; i++)
++                      {
++                      EVP_DigestInit_ex(&ctx, md, NULL);
++                      EVP_DigestUpdate(&ctx, m1, m1len);
++                      EVP_DigestUpdate(&ctx, m2, m2len);
++                      EVP_DigestUpdate(&ctx, m3, m3len);
++                      p = m1;
++                      m1 = m2;
++                      m1len = m2len;
++                      m2 = m3;
++                      m2len = m3len;
++                      m3 = p;
++                      EVP_DigestFinal_ex(&ctx, m3, &m3len);
++                      }
++              fprintf(out, "COUNT = %d\n", j);
++              fputs("MD = ", out);
++              for (k = 0; k < m3len; k++)
++                      fprintf(out, "%02x", m3[k]);
++              fputs("\n\n", out);
++              memcpy(m1, m3, m3len);
++              memcpy(m2, m3, m3len);
++              m1len = m2len = m3len;
++              }
++
++      ret = 1;
++
++      mc_error:
++      if (m1)
++              OPENSSL_free(m1);
++      if (m2)
++              OPENSSL_free(m2);
++      if (m3)
++              OPENSSL_free(m3);
++
++      EVP_MD_CTX_cleanup(&ctx);
++
++      return ret;
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/cavs/fips_utl.h.fips openssl-1.0.1-beta3/crypto/fips/cavs/fips_utl.h
+--- openssl-1.0.1-beta3/crypto/fips/cavs/fips_utl.h.fips       2012-02-29 10:33:02.792294880 +0100
++++ openssl-1.0.1-beta3/crypto/fips/cavs/fips_utl.h    2012-02-29 10:33:02.792294880 +0100
+@@ -0,0 +1,343 @@
++/* ====================================================================
++ * Copyright (c) 2007 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++void do_print_errors(void)
++      {
++      const char *file, *data;
++      int line, flags;
++      unsigned long l;
++      while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)))
++              {
++              fprintf(stderr, "ERROR:%lx:lib=%d,func=%d,reason=%d"
++                              ":file=%s:line=%d:%s\n",
++                      l, ERR_GET_LIB(l), ERR_GET_FUNC(l), ERR_GET_REASON(l),
++                      file, line, flags & ERR_TXT_STRING ? data : "");
++              }
++      }
++
++int hex2bin(const char *in, unsigned char *out)
++    {
++    int n1, n2;
++    unsigned char ch;
++
++    for (n1=0,n2=0 ; in[n1] && in[n1] != '\n' ; )
++      { /* first byte */
++      if ((in[n1] >= '0') && (in[n1] <= '9'))
++          ch = in[n1++] - '0';
++      else if ((in[n1] >= 'A') && (in[n1] <= 'F'))
++          ch = in[n1++] - 'A' + 10;
++      else if ((in[n1] >= 'a') && (in[n1] <= 'f'))
++          ch = in[n1++] - 'a' + 10;
++      else
++          return -1;
++      if(!in[n1])
++          {
++          out[n2++]=ch;
++          break;
++          }
++      out[n2] = ch << 4;
++      /* second byte */
++      if ((in[n1] >= '0') && (in[n1] <= '9'))
++          ch = in[n1++] - '0';
++      else if ((in[n1] >= 'A') && (in[n1] <= 'F'))
++          ch = in[n1++] - 'A' + 10;
++      else if ((in[n1] >= 'a') && (in[n1] <= 'f'))
++          ch = in[n1++] - 'a' + 10;
++      else
++          return -1;
++      out[n2++] |= ch;
++      }
++    return n2;
++    }
++
++unsigned char *hex2bin_m(const char *in, long *plen)
++      {
++      unsigned char *p;
++      p = OPENSSL_malloc((strlen(in) + 1)/2);
++      *plen = hex2bin(in, p);
++      return p;
++      }
++
++int do_hex2bn(BIGNUM **pr, const char *in)
++      {
++      unsigned char *p;
++      long plen;
++      int r = 0;
++      p = hex2bin_m(in, &plen);
++      if (!p)
++              return 0;
++      if (!*pr)
++              *pr = BN_new();
++      if (!*pr)
++              return 0;
++      if (BN_bin2bn(p, plen, *pr))
++              r = 1;
++      OPENSSL_free(p);
++      return r;
++      }
++
++int do_bn_print(FILE *out, BIGNUM *bn)
++      {
++      int len, i;
++      unsigned char *tmp;
++      len = BN_num_bytes(bn);
++      if (len == 0)
++              {
++              fputs("00", out);
++              return 1;
++              }
++
++      tmp = OPENSSL_malloc(len);
++      if (!tmp)
++              {
++              fprintf(stderr, "Memory allocation error\n");
++              return 0;
++              }
++      BN_bn2bin(bn, tmp);
++      for (i = 0; i < len; i++)
++              fprintf(out, "%02x", tmp[i]);
++      OPENSSL_free(tmp);
++      return 1;
++      }
++
++int do_bn_print_name(FILE *out, const char *name, BIGNUM *bn)
++      {
++      int r;
++      fprintf(out, "%s = ", name);
++      r = do_bn_print(out, bn);
++      if (!r)
++              return 0;
++      fputs("\n", out);
++      return 1;
++      }
++
++int parse_line(char **pkw, char **pval, char *linebuf, char *olinebuf)
++      {
++      char *keyword, *value, *p, *q;
++      strcpy(linebuf, olinebuf);
++      keyword = linebuf;
++      /* Skip leading space */
++      while (isspace((unsigned char)*keyword))
++              keyword++;
++
++      /* Look for = sign */
++      p = strchr(linebuf, '=');
++
++      /* If no '=' exit */
++      if (!p)
++              return 0;
++
++      q = p - 1;
++
++      /* Remove trailing space */
++      while (isspace((unsigned char)*q))
++              *q-- = 0;
++
++      *p = 0;
++      value = p + 1;
++
++      /* Remove leading space from value */
++      while (isspace((unsigned char)*value))
++              value++;
++
++      /* Remove trailing space from value */
++      p = value + strlen(value) - 1;
++
++      while (*p == '\n' || isspace((unsigned char)*p))
++              *p-- = 0;
++
++      *pkw = keyword;
++      *pval = value;
++      return 1;
++      }
++
++BIGNUM *hex2bn(const char *in)
++    {
++    BIGNUM *p=NULL;
++
++    if (!do_hex2bn(&p, in))
++      return NULL;
++
++    return p;
++    }
++
++int bin2hex(const unsigned char *in,int len,char *out)
++    {
++    int n1, n2;
++    unsigned char ch;
++
++    for (n1=0,n2=0 ; n1 < len ; ++n1)
++      {
++      ch=in[n1] >> 4;
++      if (ch <= 0x09)
++          out[n2++]=ch+'0';
++      else
++          out[n2++]=ch-10+'a';
++      ch=in[n1] & 0x0f;
++      if(ch <= 0x09)
++          out[n2++]=ch+'0';
++      else
++          out[n2++]=ch-10+'a';
++      }
++    out[n2]='\0';
++    return n2;
++    }
++
++void pv(const char *tag,const unsigned char *val,int len)
++    {
++    char obuf[2048];
++
++    bin2hex(val,len,obuf);
++    printf("%s = %s\n",tag,obuf);
++    }
++
++/* To avoid extensive changes to test program at this stage just convert
++ * the input line into an acceptable form. Keyword lines converted to form
++ * "keyword = value\n" no matter what white space present, all other lines
++ * just have leading and trailing space removed.
++ */
++
++int tidy_line(char *linebuf, char *olinebuf)
++      {
++      char *keyword, *value, *p, *q;
++      strcpy(linebuf, olinebuf);
++      keyword = linebuf;
++      /* Skip leading space */
++      while (isspace((unsigned char)*keyword))
++              keyword++;
++      /* Look for = sign */
++      p = strchr(linebuf, '=');
++
++      /* If no '=' just chop leading, trailing ws */
++      if (!p)
++              {
++              p = keyword + strlen(keyword) - 1;
++              while (*p == '\n' || isspace((unsigned char)*p))
++                      *p-- = 0;
++              strcpy(olinebuf, keyword);
++              strcat(olinebuf, "\n");
++              return 1;
++              }
++
++      q = p - 1;
++
++      /* Remove trailing space */
++      while (isspace((unsigned char)*q))
++              *q-- = 0;
++
++      *p = 0;
++      value = p + 1;
++
++      /* Remove leading space from value */
++      while (isspace((unsigned char)*value))
++              value++;
++
++      /* Remove trailing space from value */
++      p = value + strlen(value) - 1;
++
++      while (*p == '\n' || isspace((unsigned char)*p))
++              *p-- = 0;
++
++      strcpy(olinebuf, keyword);
++      strcat(olinebuf, " = ");
++      strcat(olinebuf, value);
++      strcat(olinebuf, "\n");
++
++      return 1;
++      }
++
++/* NB: this return the number of _bits_ read */
++int bint2bin(const char *in, int len, unsigned char *out)
++    {
++    int n;
++
++    memset(out,0,len);
++    for(n=0 ; n < len ; ++n)
++      if(in[n] == '1')
++          out[n/8]|=(0x80 >> (n%8));
++    return len;
++    }
++
++int bin2bint(const unsigned char *in,int len,char *out)
++    {
++    int n;
++
++    for(n=0 ; n < len ; ++n)
++      out[n]=(in[n/8]&(0x80 >> (n%8))) ? '1' : '0';
++    return n;
++    }
++
++/*-----------------------------------------------*/
++
++void PrintValue(char *tag, unsigned char *val, int len)
++{
++#if VERBOSE
++  char obuf[2048];
++  int olen;
++  olen = bin2hex(val, len, obuf);
++  printf("%s = %.*s\n", tag, olen, obuf);
++#endif
++}
++
++void OutputValue(char *tag, unsigned char *val, int len, FILE *rfp,int bitmode)
++    {
++    char obuf[2048];
++    int olen;
++
++    if(bitmode)
++      olen=bin2bint(val,len,obuf);
++    else
++      olen=bin2hex(val,len,obuf);
++
++    fprintf(rfp, "%s = %.*s\n", tag, olen, obuf);
++#if VERBOSE
++    printf("%s = %.*s\n", tag, olen, obuf);
++#endif
++    }
++
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_aes_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_aes_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_aes_selftest.c.fips   2012-02-29 10:33:02.793294889 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_aes_selftest.c        2012-02-29 10:33:02.793294889 +0100
+@@ -0,0 +1,359 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/err.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++#include <openssl/evp.h>
++
++#ifdef OPENSSL_FIPS
++static const struct
++    {
++    const unsigned char key[16];
++    const unsigned char plaintext[16];
++    const unsigned char ciphertext[16];
++    } tests[]=
++      {
++      {
++      { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
++        0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F },
++      { 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,
++        0x88,0x99,0xAA,0xBB,0xCC,0xDD,0xEE,0xFF },
++      { 0x69,0xC4,0xE0,0xD8,0x6A,0x7B,0x04,0x30,
++        0xD8,0xCD,0xB7,0x80,0x70,0xB4,0xC5,0x5A },
++      },
++      };
++
++static int corrupt_aes;
++
++void FIPS_corrupt_aes()
++    {
++    corrupt_aes = 1;
++    }
++
++int FIPS_selftest_aes()
++    {
++    int n;
++    int ret = 0;
++    EVP_CIPHER_CTX ctx;
++    EVP_CIPHER_CTX_init(&ctx);
++
++    for(n=0 ; n < 1 ; ++n)
++      {
++      unsigned char key[16];
++
++      memcpy(key, tests[n].key, sizeof(key));
++      if (corrupt_aes)
++              key[0]++;
++      if (fips_cipher_test(&ctx, EVP_aes_128_ecb(),
++                              key, NULL,
++                              tests[n].plaintext,
++                              tests[n].ciphertext,
++                              16) <= 0)
++              goto err;
++      }
++    ret = 1;
++    err:
++    EVP_CIPHER_CTX_cleanup(&ctx);
++    if (ret == 0)
++          FIPSerr(FIPS_F_FIPS_SELFTEST_AES,FIPS_R_SELFTEST_FAILED);
++    return ret;
++    }
++
++/* AES-CCM test data from NIST public test vectors */
++
++static const unsigned char ccm_key[] = {
++      0xce,0xb0,0x09,0xae,0xa4,0x45,0x44,0x51,0xfe,0xad,0xf0,0xe6,
++      0xb3,0x6f,0x45,0x55,0x5d,0xd0,0x47,0x23,0xba,0xa4,0x48,0xe8
++};
++static const unsigned char ccm_nonce[] = {
++      0x76,0x40,0x43,0xc4,0x94,0x60,0xb7
++};
++static const unsigned char ccm_adata[] = {
++      0x6e,0x80,0xdd,0x7f,0x1b,0xad,0xf3,0xa1,0xc9,0xab,0x25,0xc7,
++      0x5f,0x10,0xbd,0xe7,0x8c,0x23,0xfa,0x0e,0xb8,0xf9,0xaa,0xa5,
++      0x3a,0xde,0xfb,0xf4,0xcb,0xf7,0x8f,0xe4
++};
++static const unsigned char ccm_pt[] = {
++      0xc8,0xd2,0x75,0xf9,0x19,0xe1,0x7d,0x7f,0xe6,0x9c,0x2a,0x1f,
++      0x58,0x93,0x9d,0xfe,0x4d,0x40,0x37,0x91,0xb5,0xdf,0x13,0x10
++};
++static const unsigned char ccm_ct[] = {
++      0x8a,0x0f,0x3d,0x82,0x29,0xe4,0x8e,0x74,0x87,0xfd,0x95,0xa2,
++      0x8a,0xd3,0x92,0xc8,0x0b,0x36,0x81,0xd4,0xfb,0xc7,0xbb,0xfd
++};
++static const unsigned char ccm_tag[] = {
++      0x2d,0xd6,0xef,0x1c,0x45,0xd4,0xcc,0xb7,0x23,0xdc,0x07,0x44,
++      0x14,0xdb,0x50,0x6d
++};
++
++int FIPS_selftest_aes_ccm(void)
++      {
++      int ret = 0;
++      unsigned char out[128], tag[16];
++      EVP_CIPHER_CTX ctx;
++      EVP_CIPHER_CTX_init(&ctx);
++      memset(out, 0, sizeof(out));
++      if (!EVP_CipherInit(&ctx, EVP_aes_192_ccm(), NULL, NULL, 1))
++              goto err;
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_CCM_SET_IVLEN,
++                                      sizeof(ccm_nonce), NULL))
++              goto err;
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_CCM_SET_TAG,
++                                      sizeof(ccm_tag), NULL))
++              goto err;
++      if (!EVP_CipherInit(&ctx, NULL, ccm_key, ccm_nonce, 1))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, NULL, sizeof(ccm_pt)) != sizeof(ccm_pt))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, ccm_adata, sizeof(ccm_adata)) < 0)
++              goto err;
++      if (EVP_Cipher(&ctx, out, ccm_pt, sizeof(ccm_pt)) != sizeof(ccm_ct))
++              goto err;
++
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_CCM_GET_TAG, 16, tag))
++              goto err;
++      if (memcmp(tag, ccm_tag, sizeof(ccm_tag))
++              || memcmp(out, ccm_ct, sizeof(ccm_ct)))
++              goto err;
++
++      memset(out, 0, sizeof(out));
++
++      if (!EVP_CipherInit(&ctx, EVP_aes_192_ccm(), NULL, NULL, 0))
++              goto err;
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_CCM_SET_IVLEN,
++                                      sizeof(ccm_nonce), NULL))
++              goto err;
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_CCM_SET_TAG, 16, tag))
++              goto err;
++      if (!EVP_CipherInit(&ctx, NULL, ccm_key, ccm_nonce, 0))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, NULL, sizeof(ccm_ct)) != sizeof(ccm_ct))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, ccm_adata, sizeof(ccm_adata)) < 0)
++              goto err;
++      if (EVP_Cipher(&ctx, out, ccm_ct, sizeof(ccm_ct)) != sizeof(ccm_pt))
++              goto err;
++
++      if (memcmp(out, ccm_pt, sizeof(ccm_pt)))
++              goto err;
++
++      ret = 1;
++
++      err:
++      EVP_CIPHER_CTX_cleanup(&ctx);
++
++      if (ret == 0)
++              {
++              FIPSerr(FIPS_F_FIPS_SELFTEST_AES_CCM,FIPS_R_SELFTEST_FAILED);
++              return 0;
++              }
++      else
++              return ret;
++
++      }
++
++/* AES-GCM test data from NIST public test vectors */
++
++static const unsigned char gcm_key[] = {
++      0xee,0xbc,0x1f,0x57,0x48,0x7f,0x51,0x92,0x1c,0x04,0x65,0x66,
++      0x5f,0x8a,0xe6,0xd1,0x65,0x8b,0xb2,0x6d,0xe6,0xf8,0xa0,0x69,
++      0xa3,0x52,0x02,0x93,0xa5,0x72,0x07,0x8f
++};
++static const unsigned char gcm_iv[] = {
++      0x99,0xaa,0x3e,0x68,0xed,0x81,0x73,0xa0,0xee,0xd0,0x66,0x84
++};
++static const unsigned char gcm_pt[] = {
++      0xf5,0x6e,0x87,0x05,0x5b,0xc3,0x2d,0x0e,0xeb,0x31,0xb2,0xea,
++      0xcc,0x2b,0xf2,0xa5
++};
++static const unsigned char gcm_aad[] = {
++      0x4d,0x23,0xc3,0xce,0xc3,0x34,0xb4,0x9b,0xdb,0x37,0x0c,0x43,
++      0x7f,0xec,0x78,0xde
++};
++static const unsigned char gcm_ct[] = {
++      0xf7,0x26,0x44,0x13,0xa8,0x4c,0x0e,0x7c,0xd5,0x36,0x86,0x7e,
++      0xb9,0xf2,0x17,0x36
++};
++static const unsigned char gcm_tag[] = {
++      0x67,0xba,0x05,0x10,0x26,0x2a,0xe4,0x87,0xd7,0x37,0xee,0x62,
++      0x98,0xf7,0x7e,0x0c
++};
++
++int FIPS_selftest_aes_gcm(void)
++      {
++      int ret = 0;
++      unsigned char out[128], tag[16];
++      EVP_CIPHER_CTX ctx;
++      EVP_CIPHER_CTX_init(&ctx);
++      memset(out, 0, sizeof(out));
++      memset(tag, 0, sizeof(tag));
++      if (!EVP_CipherInit(&ctx, EVP_aes_256_gcm(), NULL, NULL, 1))
++              goto err;
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_GCM_SET_IVLEN,
++                                      sizeof(gcm_iv), NULL))
++              goto err;
++      if (!EVP_CipherInit(&ctx, NULL, gcm_key, gcm_iv, 1))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, gcm_aad, sizeof(gcm_aad)) < 0)
++              goto err;
++      if (EVP_Cipher(&ctx, out, gcm_pt, sizeof(gcm_pt)) != sizeof(gcm_ct))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, NULL, 0) < 0)
++              goto err;
++
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_GCM_GET_TAG, 16, tag))
++              goto err;
++
++      if (memcmp(tag, gcm_tag, 16) || memcmp(out, gcm_ct, 16))
++              goto err;
++
++      memset(out, 0, sizeof(out));
++
++      if (!EVP_CipherInit(&ctx, EVP_aes_256_gcm(), NULL, NULL, 0))
++              goto err;
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_GCM_SET_IVLEN,
++                                      sizeof(gcm_iv), NULL))
++              goto err;
++      if (!EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_GCM_SET_TAG, 16, tag))
++              goto err;
++      if (!EVP_CipherInit(&ctx, NULL, gcm_key, gcm_iv, 0))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, gcm_aad, sizeof(gcm_aad)) < 0)
++              goto err;
++      if (EVP_Cipher(&ctx, out, gcm_ct, sizeof(gcm_ct)) != sizeof(gcm_pt))
++              goto err;
++      if (EVP_Cipher(&ctx, NULL, NULL, 0) < 0)
++              goto err;
++
++      if (memcmp(out, gcm_pt, 16))
++              goto err;
++
++      ret = 1;
++
++      err:
++      EVP_CIPHER_CTX_cleanup(&ctx);
++
++      if (ret == 0)
++              {
++              FIPSerr(FIPS_F_FIPS_SELFTEST_AES_GCM,FIPS_R_SELFTEST_FAILED);
++              return 0;
++              }
++      else
++              return ret;
++
++      }
++
++
++static const unsigned char XTS_128_key[] = {
++      0xa1,0xb9,0x0c,0xba,0x3f,0x06,0xac,0x35,0x3b,0x2c,0x34,0x38,
++      0x76,0x08,0x17,0x62,0x09,0x09,0x23,0x02,0x6e,0x91,0x77,0x18,
++      0x15,0xf2,0x9d,0xab,0x01,0x93,0x2f,0x2f
++};
++static const unsigned char XTS_128_i[] = {
++      0x4f,0xae,0xf7,0x11,0x7c,0xda,0x59,0xc6,0x6e,0x4b,0x92,0x01,
++      0x3e,0x76,0x8a,0xd5
++};
++static const unsigned char XTS_128_pt[] = {
++      0xeb,0xab,0xce,0x95,0xb1,0x4d,0x3c,0x8d,0x6f,0xb3,0x50,0x39,
++      0x07,0x90,0x31,0x1c
++};
++static const unsigned char XTS_128_ct[] = {
++      0x77,0x8a,0xe8,0xb4,0x3c,0xb9,0x8d,0x5a,0x82,0x50,0x81,0xd5,
++      0xbe,0x47,0x1c,0x63
++};
++
++static const unsigned char XTS_256_key[] = {
++      0x1e,0xa6,0x61,0xc5,0x8d,0x94,0x3a,0x0e,0x48,0x01,0xe4,0x2f,
++      0x4b,0x09,0x47,0x14,0x9e,0x7f,0x9f,0x8e,0x3e,0x68,0xd0,0xc7,
++      0x50,0x52,0x10,0xbd,0x31,0x1a,0x0e,0x7c,0xd6,0xe1,0x3f,0xfd,
++      0xf2,0x41,0x8d,0x8d,0x19,0x11,0xc0,0x04,0xcd,0xa5,0x8d,0xa3,
++      0xd6,0x19,0xb7,0xe2,0xb9,0x14,0x1e,0x58,0x31,0x8e,0xea,0x39,
++      0x2c,0xf4,0x1b,0x08
++};
++static const unsigned char XTS_256_i[] = {
++      0xad,0xf8,0xd9,0x26,0x27,0x46,0x4a,0xd2,0xf0,0x42,0x8e,0x84,
++      0xa9,0xf8,0x75,0x64
++};
++static const unsigned char XTS_256_pt[] = {
++      0x2e,0xed,0xea,0x52,0xcd,0x82,0x15,0xe1,0xac,0xc6,0x47,0xe8,
++      0x10,0xbb,0xc3,0x64,0x2e,0x87,0x28,0x7f,0x8d,0x2e,0x57,0xe3,
++      0x6c,0x0a,0x24,0xfb,0xc1,0x2a,0x20,0x2e
++};
++static const unsigned char XTS_256_ct[] = {
++      0xcb,0xaa,0xd0,0xe2,0xf6,0xce,0xa3,0xf5,0x0b,0x37,0xf9,0x34,
++      0xd4,0x6a,0x9b,0x13,0x0b,0x9d,0x54,0xf0,0x7e,0x34,0xf3,0x6a,
++      0xf7,0x93,0xe8,0x6f,0x73,0xc6,0xd7,0xdb
++};
++
++int FIPS_selftest_aes_xts()
++      {
++      int ret = 1;
++      EVP_CIPHER_CTX ctx;
++      EVP_CIPHER_CTX_init(&ctx);
++
++      if (fips_cipher_test(&ctx, EVP_aes_128_xts(),
++                              XTS_128_key, XTS_128_i, XTS_128_pt, XTS_128_ct,
++                              sizeof(XTS_128_pt)) <= 0)
++              ret = 0;
++
++      if (fips_cipher_test(&ctx, EVP_aes_256_xts(),
++                              XTS_256_key, XTS_256_i, XTS_256_pt, XTS_256_ct,
++                              sizeof(XTS_256_pt)) <= 0)
++              ret = 0;
++
++      EVP_CIPHER_CTX_cleanup(&ctx);
++      if (ret == 0)
++              FIPSerr(FIPS_F_FIPS_SELFTEST_AES_XTS,FIPS_R_SELFTEST_FAILED);
++      return ret;
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips.c.fips openssl-1.0.1-beta3/crypto/fips/fips.c
+--- openssl-1.0.1-beta3/crypto/fips/fips.c.fips        2012-02-29 10:33:02.793294889 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips.c     2012-02-29 10:33:02.793294889 +0100
+@@ -0,0 +1,489 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#define _GNU_SOURCE
++
++#include <openssl/rand.h>
++#include <openssl/fips_rand.h>
++#include <openssl/err.h>
++#include <openssl/bio.h>
++#include <openssl/hmac.h>
++#include <openssl/rsa.h>
++#include <string.h>
++#include <limits.h>
++#include <dlfcn.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include "fips_locl.h"
++
++#ifdef OPENSSL_FIPS
++
++#include <openssl/fips.h>
++
++#ifndef PATH_MAX
++#define PATH_MAX 1024
++#endif
++
++static int fips_selftest_fail = 0;
++static int fips_mode = 0;
++static int fips_started = 0;
++
++static int fips_is_owning_thread(void);
++static int fips_set_owning_thread(void);
++static int fips_clear_owning_thread(void);
++
++#define fips_w_lock() CRYPTO_w_lock(CRYPTO_LOCK_FIPS)
++#define fips_w_unlock()       CRYPTO_w_unlock(CRYPTO_LOCK_FIPS)
++#define fips_r_lock() CRYPTO_r_lock(CRYPTO_LOCK_FIPS)
++#define fips_r_unlock()       CRYPTO_r_unlock(CRYPTO_LOCK_FIPS)
++
++static void fips_set_mode(int onoff)
++      {
++      int owning_thread = fips_is_owning_thread();
++
++      if (fips_started)
++              {
++              if (!owning_thread) fips_w_lock();
++              fips_mode = onoff;
++              if (!owning_thread) fips_w_unlock();
++              }
++      }
++
++int FIPS_module_mode(void)
++      {
++      int ret = 0;
++      int owning_thread = fips_is_owning_thread();
++
++      if (fips_started)
++              {
++              if (!owning_thread) fips_r_lock();
++              ret = fips_mode;
++              if (!owning_thread) fips_r_unlock();
++              }
++      return ret;
++      }
++
++int FIPS_selftest_failed(void)
++    {
++    int ret = 0;
++    if (fips_started)
++      {
++      int owning_thread = fips_is_owning_thread();
++
++      if (!owning_thread) fips_r_lock();
++      ret = fips_selftest_fail;
++      if (!owning_thread) fips_r_unlock();
++      }
++    return ret;
++    }
++
++/* Selftest failure fatal exit routine. This will be called
++ * during *any* cryptographic operation. It has the minimum
++ * overhead possible to avoid too big a performance hit.
++ */
++
++void FIPS_selftest_check(void)
++    {
++    if (fips_selftest_fail)
++      {
++      OpenSSLDie(__FILE__,__LINE__, "FATAL FIPS SELFTEST FAILURE");
++      }
++    }
++
++void fips_set_selftest_fail(void)
++    {
++    fips_selftest_fail = 1;
++    }
++
++/* we implement what libfipscheck does ourselves */
++
++static int
++get_library_path(const char *libname, const char *symbolname, char *path, size_t pathlen)
++{
++      Dl_info info;
++      void *dl, *sym;
++      int rv = -1;
++
++        dl = dlopen(libname, RTLD_LAZY);
++        if (dl == NULL) {
++              return -1;
++        }       
++
++      sym = dlsym(dl, symbolname);
++
++      if (sym != NULL && dladdr(sym, &info)) {
++              strncpy(path, info.dli_fname, pathlen-1);
++              path[pathlen-1] = '\0';
++              rv = 0;
++      }
++
++      dlclose(dl);    
++      
++      return rv;
++}
++
++static const char conv[] = "0123456789abcdef";
++
++static char *
++bin2hex(void *buf, size_t len)
++{
++      char *hex, *p;
++      unsigned char *src = buf;
++      
++      hex = malloc(len * 2 + 1);
++      if (hex == NULL)
++              return NULL;
++
++      p = hex;
++
++      while (len > 0) {
++              unsigned c;
++
++              c = *src;
++              src++;
++
++              *p = conv[c >> 4];
++              ++p;
++              *p = conv[c & 0x0f];
++              ++p;
++              --len;
++      }
++      *p = '\0';
++      return hex;
++}
++
++#define HMAC_PREFIX "." 
++#define HMAC_SUFFIX ".hmac" 
++#define READ_BUFFER_LENGTH 16384
++
++static char *
++make_hmac_path(const char *origpath)
++{
++      char *path, *p;
++      const char *fn;
++
++      path = malloc(sizeof(HMAC_PREFIX) + sizeof(HMAC_SUFFIX) + strlen(origpath));
++      if(path == NULL) {
++              return NULL;
++      }
++
++      fn = strrchr(origpath, '/');
++      if (fn == NULL) {
++              fn = origpath;
++      } else {
++              ++fn;
++      }
++
++      strncpy(path, origpath, fn-origpath);
++      p = path + (fn - origpath);
++      p = stpcpy(p, HMAC_PREFIX);
++      p = stpcpy(p, fn);
++      p = stpcpy(p, HMAC_SUFFIX);
++
++      return path;
++}
++
++static const char hmackey[] = "orboDeJITITejsirpADONivirpUkvarP";
++
++static int
++compute_file_hmac(const char *path, void **buf, size_t *hmaclen)
++{
++      FILE *f = NULL;
++      int rv = -1;
++      unsigned char rbuf[READ_BUFFER_LENGTH];
++      size_t len;
++      unsigned int hlen;
++      HMAC_CTX c;
++
++      HMAC_CTX_init(&c);
++
++      f = fopen(path, "r");
++
++      if (f == NULL) {
++              goto end;
++      }
++
++      HMAC_Init(&c, hmackey, sizeof(hmackey)-1, EVP_sha256());
++
++      while ((len=fread(rbuf, 1, sizeof(rbuf), f)) != 0) {
++              HMAC_Update(&c, rbuf, len);
++      }
++
++      len = sizeof(rbuf);
++      /* reuse rbuf for hmac */
++      HMAC_Final(&c, rbuf, &hlen);
++
++      *buf = malloc(hlen);
++      if (*buf == NULL) {
++              goto end;
++      }
++
++      *hmaclen = hlen;
++
++      memcpy(*buf, rbuf, hlen);
++
++      rv = 0;
++end:
++      HMAC_CTX_cleanup(&c);
++
++      if (f)
++              fclose(f);
++
++      return rv;
++}
++
++static int
++FIPSCHECK_verify(const char *libname, const char *symbolname)
++{
++      char path[PATH_MAX+1];
++      int rv;
++      FILE *hf;
++      char *hmacpath, *p;
++      char *hmac = NULL;
++      size_t n;
++      
++      rv = get_library_path(libname, symbolname, path, sizeof(path));
++
++      if (rv < 0)
++              return 0;
++
++      hmacpath = make_hmac_path(path);
++      if (hmacpath == NULL)
++              return 0;
++
++      hf = fopen(hmacpath, "r");
++      if (hf == NULL) {
++              free(hmacpath);
++              return 0;
++      }
++
++      if (getline(&hmac, &n, hf) > 0) {
++              void *buf;
++              size_t hmaclen;
++              char *hex;
++
++              if ((p=strchr(hmac, '\n')) != NULL)
++                      *p = '\0';
++
++              if (compute_file_hmac(path, &buf, &hmaclen) < 0) {
++                      rv = -4;
++                      goto end;
++              }
++
++              if ((hex=bin2hex(buf, hmaclen)) == NULL) {
++                      free(buf);
++                      rv = -5;
++                      goto end;
++              }
++
++              if (strcmp(hex, hmac) != 0) {
++                      rv = -1;
++              }
++              free(buf);
++              free(hex);
++      }
++
++end:
++      free(hmac);
++      free(hmacpath);
++      fclose(hf);
++
++      if (rv < 0)
++              return 0;
++
++      /* check successful */
++      return 1;       
++}
++
++int FIPS_module_mode_set(int onoff, const char *auth)
++    {
++    int ret = 0;
++
++    fips_w_lock();
++    fips_started = 1;
++    fips_set_owning_thread();
++
++    if(onoff)
++      {
++
++      fips_selftest_fail = 0;
++
++      /* Don't go into FIPS mode twice, just so we can do automagic
++         seeding */
++      if(FIPS_module_mode())
++          {
++          FIPSerr(FIPS_F_FIPS_MODULE_MODE_SET,FIPS_R_FIPS_MODE_ALREADY_SET);
++          fips_selftest_fail = 1;
++          ret = 0;
++          goto end;
++          }
++
++#ifdef OPENSSL_IA32_SSE2
++      {
++      extern unsigned int OPENSSL_ia32cap_P[2];
++      if ((OPENSSL_ia32cap_P[0] & (1<<25|1<<26)) != (1<<25|1<<26))
++          {
++          FIPSerr(FIPS_F_FIPS_MODULE_MODE_SET,FIPS_R_UNSUPPORTED_PLATFORM);
++          fips_selftest_fail = 1;
++          ret = 0;
++          goto end;
++          }
++      OPENSSL_ia32cap_P[0] |= (1<<28);        /* set "shared cache"   */
++      OPENSSL_ia32cap_P[1] &= ~(1<<(60-32));  /* clear AVX            */
++      }
++#endif
++
++      if(!FIPSCHECK_verify("libcrypto.so." SHLIB_VERSION_NUMBER,"FIPS_mode_set"))
++          {
++          FIPSerr(FIPS_F_FIPS_MODULE_MODE_SET,FIPS_R_FINGERPRINT_DOES_NOT_MATCH);
++          fips_selftest_fail = 1;
++          ret = 0;
++          goto end;
++          }
++
++      if(!FIPSCHECK_verify("libssl.so." SHLIB_VERSION_NUMBER,"SSL_CTX_new"))
++          {
++          FIPSerr(FIPS_F_FIPS_MODULE_MODE_SET,FIPS_R_FINGERPRINT_DOES_NOT_MATCH);
++          fips_selftest_fail = 1;
++          ret = 0;
++          goto end;
++          }
++
++      if(FIPS_selftest())
++          fips_set_mode(onoff);
++      else
++          {
++          fips_selftest_fail = 1;
++          ret = 0;
++          goto end;
++          }
++      ret = 1;
++      goto end;
++      }
++    fips_set_mode(0);
++    fips_selftest_fail = 0;
++    ret = 1;
++end:
++    fips_clear_owning_thread();
++    fips_w_unlock();
++    return ret;
++    }
++
++static CRYPTO_THREADID fips_thread;
++static int fips_thread_set = 0;
++
++static int fips_is_owning_thread(void)
++      {
++      int ret = 0;
++
++      if (fips_started)
++              {
++              CRYPTO_r_lock(CRYPTO_LOCK_FIPS2);
++              if (fips_thread_set)
++                      {
++                      CRYPTO_THREADID cur;
++                      CRYPTO_THREADID_current(&cur);
++                      if (!CRYPTO_THREADID_cmp(&cur, &fips_thread))
++                              ret = 1;
++                      }
++              CRYPTO_r_unlock(CRYPTO_LOCK_FIPS2);
++              }
++      return ret;
++      }
++
++int fips_set_owning_thread(void)
++      {
++      int ret = 0;
++
++      if (fips_started)
++              {
++              CRYPTO_w_lock(CRYPTO_LOCK_FIPS2);
++              if (!fips_thread_set)
++                      {
++                      CRYPTO_THREADID_current(&fips_thread);
++                      ret = 1;
++                      fips_thread_set = 1;
++                      }
++              CRYPTO_w_unlock(CRYPTO_LOCK_FIPS2);
++              }
++      return ret;
++      }
++
++int fips_clear_owning_thread(void)
++      {
++      int ret = 0;
++
++      if (fips_started)
++              {
++              CRYPTO_w_lock(CRYPTO_LOCK_FIPS2);
++              if (fips_thread_set)
++                      {
++                      CRYPTO_THREADID cur;
++                      CRYPTO_THREADID_current(&cur);
++                      if (!CRYPTO_THREADID_cmp(&cur, &fips_thread))
++                              fips_thread_set = 0;
++                      }
++              CRYPTO_w_unlock(CRYPTO_LOCK_FIPS2);
++              }
++      return ret;
++      }
++
++
++#if 0
++/* The purpose of this is to ensure the error code exists and the function
++ * name is to keep the error checking script quiet
++ */
++void hash_final(void)
++      {
++      FIPSerr(FIPS_F_HASH_FINAL,FIPS_R_NON_FIPS_METHOD);
++      }
++#endif
++
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_cmac_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_cmac_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_cmac_selftest.c.fips  2012-02-29 10:33:02.793294889 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_cmac_selftest.c       2012-02-29 10:33:02.793294889 +0100
+@@ -0,0 +1,161 @@
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/err.h>
++#include <openssl/fips.h>
++#include <openssl/cmac.h>
++#include "fips_locl.h"
++
++#ifdef OPENSSL_FIPS
++typedef struct {
++      int nid;
++      const unsigned char key[EVP_MAX_KEY_LENGTH]; size_t keysize;
++      const unsigned char msg[64]; size_t msgsize;
++      const unsigned char mac[32]; size_t macsize;
++} CMAC_KAT;
++
++/* from http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf */
++static const CMAC_KAT vector[] = {
++    { NID_aes_128_cbc,        /* Count = 32 from CMACGenAES128.txt */
++      { 0x77,0xa7,0x7f,0xaf, 0x29,0x0c,0x1f,0xa3,
++        0x0c,0x68,0x3d,0xf1, 0x6b,0xa7,0xa7,0x7b, }, 128,
++      { 0x02,0x06,0x83,0xe1, 0xf0,0x39,0x2f,0x4c,
++        0xac,0x54,0x31,0x8b, 0x60,0x29,0x25,0x9e,
++        0x9c,0x55,0x3d,0xbc, 0x4b,0x6a,0xd9,0x98,
++        0xe6,0x4d,0x58,0xe4, 0xe7,0xdc,0x2e,0x13, }, 256,
++      { 0xfb,0xfe,0xa4,0x1b, }, 32
++    },
++    { NID_aes_192_cbc,        /* Count = 23 from CMACGenAES192.txt */
++      { 0x7b,0x32,0x39,0x13, 0x69,0xaa,0x4c,0xa9,
++        0x75,0x58,0x09,0x5b, 0xe3,0xc3,0xec,0x86,
++        0x2b,0xd0,0x57,0xce, 0xf1,0xe3,0x2d,0x62, }, 192,
++      { 0x0 }, 0,
++      { 0xe4,0xd9,0x34,0x0b, 0x03,0xe6,0x7d,0xef,
++        0xd4,0x96,0x9c,0xc1, 0xed,0x37,0x35,0xe6, }, 128,
++    },
++    { NID_aes_256_cbc,        /* Count = 33 from CMACGenAES256.txt */
++      { 0x0b,0x12,0x2a,0xc8, 0xf3,0x4e,0xd1,0xfe,
++        0x08,0x2a,0x36,0x25, 0xd1,0x57,0x56,0x14,
++        0x54,0x16,0x7a,0xc1, 0x45,0xa1,0x0b,0xbf,
++        0x77,0xc6,0xa7,0x05, 0x96,0xd5,0x74,0xf1, }, 256,
++      { 0x49,0x8b,0x53,0xfd, 0xec,0x87,0xed,0xcb,
++        0xf0,0x70,0x97,0xdc, 0xcd,0xe9,0x3a,0x08,
++        0x4b,0xad,0x75,0x01, 0xa2,0x24,0xe3,0x88,
++        0xdf,0x34,0x9c,0xe1, 0x89,0x59,0xfe,0x84,
++        0x85,0xf8,0xad,0x15, 0x37,0xf0,0xd8,0x96,
++        0xea,0x73,0xbe,0xdc, 0x72,0x14,0x71,0x3f, }, 384,
++      { 0xf6,0x2c,0x46,0x32, 0x9b, }, 40,
++    },
++    { NID_des_ede3_cbc,       /* Count = 41 from CMACGenTDES3.req */
++      { 0x89,0xbc,0xd9,0x52, 0xa8,0xc8,0xab,0x37,
++        0x1a,0xf4,0x8a,0xc7, 0xd0,0x70,0x85,0xd5,
++        0xef,0xf7,0x02,0xe6, 0xd6,0x2c,0xdc,0x23, }, 192,
++      { 0xfa,0x62,0x0c,0x1b, 0xbe,0x97,0x31,0x9e,
++        0x9a,0x0c,0xf0,0x49, 0x21,0x21,0xf7,0xa2,
++        0x0e,0xb0,0x8a,0x6a, 0x70,0x9d,0xcb,0xd0,
++        0x0a,0xaf,0x38,0xe4, 0xf9,0x9e,0x75,0x4e, }, 256,
++      { 0x8f,0x49,0xa1,0xb7, 0xd6,0xaa,0x22,0x58, }, 64,
++    },
++};
++
++int FIPS_selftest_cmac()
++      {
++      size_t n, outlen;
++      unsigned char    out[32];
++      const EVP_CIPHER *cipher;
++      CMAC_CTX *ctx = CMAC_CTX_new();
++      const CMAC_KAT *t;
++      int rv = 1;
++
++      for(n=0,t=vector; n<sizeof(vector)/sizeof(vector[0]); n++,t++)
++              {
++              cipher = FIPS_get_cipherbynid(t->nid);
++              if (!cipher)
++                      {
++                      rv = -1;
++                      goto err;
++                      }
++              if (!CMAC_Init(ctx, t->key, t->keysize/8, cipher, 0))
++                      {
++                      rv = -1;
++                      goto err;
++                      }
++              if (!CMAC_Update(ctx, t->msg, t->msgsize/8))
++                      {
++                      rv = -1;
++                      goto err;
++                      }
++                      
++              if (!CMAC_Final(ctx, out, &outlen))
++                      {
++                      rv = -1;
++                      goto err;
++                      }
++              CMAC_CTX_cleanup(ctx);
++
++              if(outlen < t->macsize/8 || memcmp(out,t->mac,t->macsize/8))
++                      {
++                      rv = 0;
++                      }
++              }
++
++      err:
++      CMAC_CTX_free(ctx);
++
++      if (rv == -1)
++              {
++              rv = 0;
++              }
++      if (!rv)
++                 FIPSerr(FIPS_F_FIPS_SELFTEST_CMAC,FIPS_R_SELFTEST_FAILED);
++
++      return rv;
++      }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_des_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_des_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_des_selftest.c.fips   2012-02-29 10:33:02.793294889 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_des_selftest.c        2012-02-29 10:33:02.793294889 +0100
+@@ -0,0 +1,147 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/err.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++#include <openssl/evp.h>
++#include <openssl/opensslconf.h>
++
++#ifdef OPENSSL_FIPS
++
++static const struct
++    {
++    const unsigned char key[16];
++    const unsigned char plaintext[8];
++    const unsigned char ciphertext[8];
++    } tests2[]=
++      {
++      {
++      { 0x7c,0x4f,0x6e,0xf7,0xa2,0x04,0x16,0xec,
++        0x0b,0x6b,0x7c,0x9e,0x5e,0x19,0xa7,0xc4 },
++      { 0x06,0xa7,0xd8,0x79,0xaa,0xce,0x69,0xef },
++      { 0x4c,0x11,0x17,0x55,0xbf,0xc4,0x4e,0xfd }
++      },
++      {
++      { 0x5d,0x9e,0x01,0xd3,0x25,0xc7,0x3e,0x34,
++        0x01,0x16,0x7c,0x85,0x23,0xdf,0xe0,0x68 },
++      { 0x9c,0x50,0x09,0x0f,0x5e,0x7d,0x69,0x7e },
++      { 0xd2,0x0b,0x18,0xdf,0xd9,0x0d,0x9e,0xff },
++      }
++      };
++
++static const struct
++    {
++    const unsigned char key[24];
++    const unsigned char plaintext[8];
++    const unsigned char ciphertext[8];
++    } tests3[]=
++      {
++      {
++      { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
++        0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10,
++        0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0 },
++      { 0x8f,0x8f,0xbf,0x9b,0x5d,0x48,0xb4,0x1c },
++      { 0x59,0x8c,0xe5,0xd3,0x6c,0xa2,0xea,0x1b },
++      },
++      {
++      { 0xDC,0xBA,0x98,0x76,0x54,0x32,0x10,0xFE,
++        0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF,
++        0xED,0x39,0xD9,0x50,0xFA,0x74,0xBC,0xC4 },
++      { 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF },
++      { 0x11,0x25,0xb0,0x35,0xbe,0xa0,0x82,0x86 },
++      },
++      };
++
++
++static int corrupt_des;
++
++void FIPS_corrupt_des()
++    {
++    corrupt_des = 1;
++    }
++
++int FIPS_selftest_des()
++    {
++    int n, ret = 0;
++    EVP_CIPHER_CTX ctx;
++    EVP_CIPHER_CTX_init(&ctx);
++    /* Encrypt/decrypt with 2-key 3DES and compare to known answers */
++    for(n=0 ; n < 2 ; ++n)
++      {
++      unsigned char plaintext[8];
++
++      memcpy(plaintext, tests2[n].plaintext, sizeof(plaintext));
++      if (corrupt_des)
++              plaintext[0]++;
++      if (!fips_cipher_test(&ctx, EVP_des_ede_ecb(),
++                              tests2[n].key, NULL,
++                              plaintext, tests2[n].ciphertext, 8))
++              goto err;
++      }
++
++    /* Encrypt/decrypt with 3DES and compare to known answers */
++    for(n=0 ; n < 2 ; ++n)
++      {
++      if (!fips_cipher_test(&ctx, EVP_des_ede3_ecb(),
++                              tests3[n].key, NULL,
++                              tests3[n].plaintext, tests3[n].ciphertext, 8))
++              goto err;
++      }
++    ret = 1;
++    err:
++    EVP_CIPHER_CTX_cleanup(&ctx);
++    if (ret == 0)
++          FIPSerr(FIPS_F_FIPS_SELFTEST_DES,FIPS_R_SELFTEST_FAILED);
++
++    return ret;
++    }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_drbg_ctr.c.fips openssl-1.0.1-beta3/crypto/fips/fips_drbg_ctr.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_drbg_ctr.c.fips       2012-02-29 10:33:02.793294889 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_drbg_ctr.c    2012-02-29 10:33:02.793294889 +0100
+@@ -0,0 +1,436 @@
++/* fips/rand/fips_drbg_ctr.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++#include <stdlib.h>
++#include <string.h>
++#include <openssl/crypto.h>
++#include <openssl/fips.h>
++#include <openssl/fips_rand.h>
++#include "fips_rand_lcl.h"
++
++static void inc_128(DRBG_CTR_CTX *cctx)
++      {
++      int i;
++      unsigned char c;
++      unsigned char *p = cctx->V + 15;
++      for (i = 0; i < 16; i++)
++              {
++              c = *p;
++              c++;
++              *p = c;
++              if (c)
++                      return;
++              p--;
++              }
++      }
++
++static void ctr_XOR(DRBG_CTR_CTX *cctx, const unsigned char *in, size_t inlen)
++      {
++      size_t i, n;
++      /* Any zero padding will have no effect on the result as we
++       * are XORing. So just process however much input we have.
++       */
++
++      if (!in || !inlen)
++              return;
++
++      if (inlen < cctx->keylen)
++              n = inlen;
++      else
++              n = cctx->keylen;
++
++      for (i = 0; i < n; i++)
++              cctx->K[i] ^= in[i];
++      if (inlen <= cctx->keylen)
++              return;
++
++      n = inlen - cctx->keylen;
++      /* Should never happen */
++      if (n > 16)
++              n = 16;
++      for (i = 0; i < 16; i++)
++              cctx->V[i] ^= in[i + cctx->keylen];
++      }
++
++/* Process a complete block using BCC algorithm of SPP 800-90 10.4.3 */
++
++static void ctr_BCC_block(DRBG_CTR_CTX *cctx, unsigned char *out,
++                              const unsigned char *in)
++      {
++      int i;
++      for (i = 0; i < 16; i++)
++              out[i] ^= in[i];
++      AES_encrypt(out, out, &cctx->df_ks);
++#if 0
++fprintf(stderr, "BCC in+out\n");
++BIO_dump_fp(stderr, in, 16);
++BIO_dump_fp(stderr, out, 16);
++#endif
++      }
++
++/* Handle several BCC operations for as much data as we need for K and X */
++static void ctr_BCC_blocks(DRBG_CTR_CTX *cctx, const unsigned char *in)
++      {
++      ctr_BCC_block(cctx, cctx->KX, in);
++      ctr_BCC_block(cctx, cctx->KX + 16, in);
++      if (cctx->keylen != 16)
++              ctr_BCC_block(cctx, cctx->KX + 32, in);
++      }
++/* Initialise BCC blocks: these have the value 0,1,2 in leftmost positions:
++ * see 10.4.2 stage 7.
++ */
++static void ctr_BCC_init(DRBG_CTR_CTX *cctx)
++      {
++      memset(cctx->KX, 0, 48);
++      memset(cctx->bltmp, 0, 16);
++      ctr_BCC_block(cctx, cctx->KX, cctx->bltmp);
++      cctx->bltmp[3] = 1;
++      ctr_BCC_block(cctx, cctx->KX + 16, cctx->bltmp);
++      if (cctx->keylen != 16)
++              {
++              cctx->bltmp[3] = 2;
++              ctr_BCC_block(cctx, cctx->KX + 32, cctx->bltmp);
++              }
++      }
++
++/* Process several blocks into BCC algorithm, some possibly partial */
++static void ctr_BCC_update(DRBG_CTR_CTX *cctx,
++                              const unsigned char *in, size_t inlen)
++      {
++      if (!in || !inlen)
++              return;
++      /* If we have partial block handle it first */
++      if (cctx->bltmp_pos)
++              {
++              size_t left = 16 - cctx->bltmp_pos;
++              /* If we now have a complete block process it */
++              if (inlen >= left)
++                      {
++                      memcpy(cctx->bltmp + cctx->bltmp_pos, in, left);
++                      ctr_BCC_blocks(cctx, cctx->bltmp);
++                      cctx->bltmp_pos = 0;
++                      inlen -= left;
++                      in += left;
++                      }
++              }
++      /* Process zero or more complete blocks */
++      while (inlen >= 16)
++              {
++              ctr_BCC_blocks(cctx, in);
++              in += 16;
++              inlen -= 16;
++              }
++      /* Copy any remaining partial block to the temporary buffer */
++      if (inlen > 0)
++              {
++              memcpy(cctx->bltmp + cctx->bltmp_pos, in, inlen);
++              cctx->bltmp_pos += inlen;
++              }
++      }
++
++static void ctr_BCC_final(DRBG_CTR_CTX *cctx)
++      {
++      if (cctx->bltmp_pos)
++              {
++              memset(cctx->bltmp + cctx->bltmp_pos, 0, 16 - cctx->bltmp_pos);
++              ctr_BCC_blocks(cctx, cctx->bltmp);
++              }
++      }
++
++static void ctr_df(DRBG_CTR_CTX *cctx,
++                      const unsigned char *in1, size_t in1len,
++                      const unsigned char *in2, size_t in2len,
++                      const unsigned char *in3, size_t in3len)
++      {
++      size_t inlen;
++      unsigned char *p = cctx->bltmp;
++      static unsigned char c80 = 0x80;
++
++      ctr_BCC_init(cctx);
++      if (!in1)
++              in1len = 0;
++      if (!in2)
++              in2len = 0;
++      if (!in3)
++              in3len = 0;
++      inlen = in1len + in2len + in3len;
++      /* Initialise L||N in temporary block */
++      *p++ = (inlen >> 24) & 0xff;
++      *p++ = (inlen >> 16) & 0xff;
++      *p++ = (inlen >> 8) & 0xff;
++      *p++ = inlen & 0xff;
++      /* NB keylen is at most 32 bytes */
++      *p++ = 0;
++      *p++ = 0;
++      *p++ = 0;
++      *p = (unsigned char)((cctx->keylen + 16) & 0xff);
++      cctx->bltmp_pos = 8;
++      ctr_BCC_update(cctx, in1, in1len);
++      ctr_BCC_update(cctx, in2, in2len);
++      ctr_BCC_update(cctx, in3, in3len);
++      ctr_BCC_update(cctx, &c80, 1);
++      ctr_BCC_final(cctx);
++      /* Set up key K */
++      AES_set_encrypt_key(cctx->KX, cctx->keylen * 8, &cctx->df_kxks);
++      /* X follows key K */
++      AES_encrypt(cctx->KX + cctx->keylen, cctx->KX, &cctx->df_kxks);
++      AES_encrypt(cctx->KX, cctx->KX + 16, &cctx->df_kxks);
++      if (cctx->keylen != 16)
++              AES_encrypt(cctx->KX + 16, cctx->KX + 32, &cctx->df_kxks);
++#if 0
++fprintf(stderr, "Output of ctr_df:\n");
++BIO_dump_fp(stderr, cctx->KX, cctx->keylen + 16);
++#endif
++      }
++
++/* NB the no-df  Update in SP800-90 specifies a constant input length
++ * of seedlen, however other uses of this algorithm pad the input with
++ * zeroes if necessary and have up to two parameters XORed together,
++ * handle both cases in this function instead.
++ */
++
++static void ctr_Update(DRBG_CTX *dctx,
++              const unsigned char *in1, size_t in1len,
++              const unsigned char *in2, size_t in2len,
++              const unsigned char *nonce, size_t noncelen)
++      {
++      DRBG_CTR_CTX *cctx = &dctx->d.ctr;
++      /* ks is already setup for correct key */
++      inc_128(cctx);
++      AES_encrypt(cctx->V, cctx->K, &cctx->ks);
++      /* If keylen longer than 128 bits need extra encrypt */
++      if (cctx->keylen != 16)
++              {
++              inc_128(cctx);
++              AES_encrypt(cctx->V, cctx->K + 16, &cctx->ks);
++              }
++      inc_128(cctx);
++      AES_encrypt(cctx->V, cctx->V, &cctx->ks);
++      /* If 192 bit key part of V is on end of K */
++      if (cctx->keylen == 24)
++              {
++              memcpy(cctx->V + 8, cctx->V, 8);
++              memcpy(cctx->V, cctx->K + 24, 8);
++              }
++
++      if (dctx->xflags & DRBG_FLAG_CTR_USE_DF)
++              {
++              /* If no input reuse existing derived value */
++              if (in1 || nonce || in2)
++                      ctr_df(cctx, in1, in1len, nonce, noncelen, in2, in2len);
++              /* If this a reuse input in1len != 0 */
++              if (in1len)
++                      ctr_XOR(cctx, cctx->KX, dctx->seedlen);
++              }
++      else
++              {
++              ctr_XOR(cctx, in1, in1len);
++              ctr_XOR(cctx, in2, in2len);
++              }
++
++      AES_set_encrypt_key(cctx->K, dctx->strength, &cctx->ks);
++#if 0
++fprintf(stderr, "K+V after update is:\n");
++BIO_dump_fp(stderr, cctx->K, cctx->keylen);
++BIO_dump_fp(stderr, cctx->V, 16);
++#endif
++      }
++
++static int drbg_ctr_instantiate(DRBG_CTX *dctx,
++                      const unsigned char *ent, size_t entlen,
++                      const unsigned char *nonce, size_t noncelen,
++                      const unsigned char *pers, size_t perslen)
++      {
++      DRBG_CTR_CTX *cctx = &dctx->d.ctr;
++      memset(cctx->K, 0, sizeof(cctx->K));
++      memset(cctx->V, 0, sizeof(cctx->V));
++      AES_set_encrypt_key(cctx->K, dctx->strength, &cctx->ks);
++      ctr_Update(dctx, ent, entlen, pers, perslen, nonce, noncelen);
++      return 1;
++      }
++
++static int drbg_ctr_reseed(DRBG_CTX *dctx, 
++                      const unsigned char *ent, size_t entlen,
++                      const unsigned char *adin, size_t adinlen)
++      {
++      ctr_Update(dctx, ent, entlen, adin, adinlen, NULL, 0);
++      return 1;
++      }
++
++static int drbg_ctr_generate(DRBG_CTX *dctx,
++                      unsigned char *out, size_t outlen,
++                      const unsigned char *adin, size_t adinlen)
++      {
++      DRBG_CTR_CTX *cctx = &dctx->d.ctr;
++      if (adin && adinlen)
++              {
++              ctr_Update(dctx, adin, adinlen, NULL, 0, NULL, 0);
++              /* This means we reuse derived value */
++              if (dctx->xflags & DRBG_FLAG_CTR_USE_DF)
++                      {
++                      adin = NULL;
++                      adinlen = 1;
++                      }
++              }
++      else
++              adinlen = 0;
++
++      for (;;)
++              {
++              inc_128(cctx);
++              if (!(dctx->xflags & DRBG_FLAG_TEST) && !dctx->lb_valid)
++                      {
++                      AES_encrypt(cctx->V, dctx->lb, &cctx->ks);
++                      dctx->lb_valid = 1;
++                      continue;
++                      }
++              if (outlen < 16)
++                      {
++                      /* Use K as temp space as it will be updated */
++                      AES_encrypt(cctx->V, cctx->K, &cctx->ks);
++                      if (!fips_drbg_cprng_test(dctx, cctx->K))
++                              return 0;
++                      memcpy(out, cctx->K, outlen);
++                      break;
++                      }
++              AES_encrypt(cctx->V, out, &cctx->ks);
++              if (!fips_drbg_cprng_test(dctx, out))
++                      return 0;
++              out += 16;
++              outlen -= 16;
++              if (outlen == 0)
++                      break;
++              }
++
++      ctr_Update(dctx, adin, adinlen, NULL, 0, NULL, 0);
++
++      return 1;
++
++      }
++
++static int drbg_ctr_uninstantiate(DRBG_CTX *dctx)
++      {
++      memset(&dctx->d.ctr, 0, sizeof(DRBG_CTR_CTX));
++      return 1;
++      }
++
++int fips_drbg_ctr_init(DRBG_CTX *dctx)
++      {
++      DRBG_CTR_CTX *cctx = &dctx->d.ctr;
++
++      size_t keylen;
++
++      switch (dctx->type)
++              {
++              case NID_aes_128_ctr:
++              keylen = 16;
++              break;
++
++              case NID_aes_192_ctr:
++              keylen = 24;
++              break;
++
++              case NID_aes_256_ctr:
++              keylen = 32;
++              break;
++
++              default:
++              return -2;
++              }
++
++      dctx->instantiate = drbg_ctr_instantiate;
++      dctx->reseed = drbg_ctr_reseed;
++      dctx->generate = drbg_ctr_generate;
++      dctx->uninstantiate = drbg_ctr_uninstantiate;
++
++      cctx->keylen = keylen;
++      dctx->strength = keylen * 8;
++      dctx->blocklength = 16;
++      dctx->seedlen = keylen + 16;
++
++      if (dctx->xflags & DRBG_FLAG_CTR_USE_DF)
++              {
++              /* df initialisation */
++              static unsigned char df_key[32] =
++                      {
++                      0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
++                      0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
++                      0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
++                      0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f 
++                      };
++              /* Set key schedule for df_key */
++              AES_set_encrypt_key(df_key, dctx->strength, &cctx->df_ks);
++
++              dctx->min_entropy = cctx->keylen;
++              dctx->max_entropy = DRBG_MAX_LENGTH;
++              dctx->min_nonce = dctx->min_entropy / 2;
++              dctx->max_nonce = DRBG_MAX_LENGTH;
++              dctx->max_pers = DRBG_MAX_LENGTH;
++              dctx->max_adin = DRBG_MAX_LENGTH;
++              }
++      else
++              {
++              dctx->min_entropy = dctx->seedlen;
++              dctx->max_entropy = dctx->seedlen;
++              /* Nonce not used */
++              dctx->min_nonce = 0;
++              dctx->max_nonce = 0;
++              dctx->max_pers = dctx->seedlen;
++              dctx->max_adin = dctx->seedlen;
++              }
++
++      dctx->max_request = 1<<16;
++      dctx->reseed_interval = 1<<24;
++
++      return 1;
++      }
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_drbg_hash.c.fips openssl-1.0.1-beta3/crypto/fips/fips_drbg_hash.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_drbg_hash.c.fips      2012-02-29 10:33:02.794294898 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_drbg_hash.c   2012-02-29 10:33:02.794294898 +0100
+@@ -0,0 +1,378 @@
++/* fips/rand/fips_drbg_hash.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++#define OPENSSL_FIPSAPI
++
++#include <stdlib.h>
++#include <string.h>
++#include <openssl/crypto.h>
++#include <openssl/fips.h>
++#include <openssl/fips_rand.h>
++#include "fips_rand_lcl.h"
++
++/* This is Hash_df from SP 800-90 10.4.1 */
++
++static int hash_df(DRBG_CTX *dctx, unsigned char *out,
++                      const unsigned char *in1, size_t in1len,
++                      const unsigned char *in2, size_t in2len,
++                      const unsigned char *in3, size_t in3len,
++                      const unsigned char *in4, size_t in4len)
++      {
++      EVP_MD_CTX *mctx = &dctx->d.hash.mctx;
++      unsigned char *vtmp = dctx->d.hash.vtmp;
++      unsigned char tmp[6];
++      /* Standard only ever needs seedlen bytes which is always less than
++       * maximum permitted so no need to check length.
++       */
++      size_t outlen = dctx->seedlen;
++      tmp[0] = 1;
++      tmp[1] = ((outlen * 8) >> 24) & 0xff;
++      tmp[2] = ((outlen * 8) >> 16) & 0xff;
++      tmp[3] = ((outlen * 8) >> 8) & 0xff;
++      tmp[4] = (outlen * 8) & 0xff;
++      if (!in1)
++              {
++              tmp[5] = (unsigned char)in1len;
++              in1 = tmp + 5;
++              in1len = 1;
++              }
++      for (;;)
++              {
++              if (!FIPS_digestinit(mctx, dctx->d.hash.md))
++                      return 0;
++              if (!FIPS_digestupdate(mctx, tmp, 5))
++                      return 0;
++              if (in1 && !FIPS_digestupdate(mctx, in1, in1len))
++                      return 0;
++              if (in2 && !FIPS_digestupdate(mctx, in2, in2len))
++                      return 0;
++              if (in3 && !FIPS_digestupdate(mctx, in3, in3len))
++                      return 0;
++              if (in4 && !FIPS_digestupdate(mctx, in4, in4len))
++                      return 0;
++              if (outlen < dctx->blocklength)
++                      {
++                      if (!FIPS_digestfinal(mctx, vtmp, NULL))
++                              return 0;
++                      memcpy(out, vtmp, outlen);
++                      OPENSSL_cleanse(vtmp, dctx->blocklength);
++                      return 1;
++                      }
++              else if(!FIPS_digestfinal(mctx, out, NULL))
++                      return 0;
++
++              outlen -= dctx->blocklength;
++              if (outlen == 0)
++                      return 1;
++              tmp[0]++;
++              out += dctx->blocklength;
++              }
++      }
++
++
++/* Add an unsigned buffer to the buf value, storing the result in buf. For
++ * this algorithm the length of input never exceeds the seed length.
++ */
++
++static void ctx_add_buf(DRBG_CTX *dctx, unsigned char *buf,
++                              unsigned char *in, size_t inlen)
++      {
++      size_t i = inlen;
++      const unsigned char *q;
++      unsigned char c, *p;
++      p = buf + dctx->seedlen;
++      q = in + inlen;
++
++      OPENSSL_assert(i <= dctx->seedlen);
++
++      /* Special case: zero length, just increment buffer */
++      if (i)
++              c = 0;
++      else 
++              c = 1;
++
++      while (i)
++              {
++              int r;
++              p--;
++              q--;
++              r = *p + *q + c;
++              /* Carry */
++              if (r > 0xff)
++                      c = 1;
++              else
++                      c = 0;
++              *p = r & 0xff;
++              i--;
++              }
++
++      i = dctx->seedlen - inlen;
++
++      /* If not adding whole buffer handle final carries */
++      if (c && i)
++              {
++              do
++                      {
++                      p--;
++                      c = *p;
++                      c++;
++                      *p = c;
++                      if(c)
++                              return;
++                      } while(i--);
++              }
++      }
++
++/* Finalise and add hash to V */
++      
++static int ctx_add_md(DRBG_CTX *dctx)
++      {
++      if (!FIPS_digestfinal(&dctx->d.hash.mctx, dctx->d.hash.vtmp, NULL))
++                      return 0;
++      ctx_add_buf(dctx, dctx->d.hash.V, dctx->d.hash.vtmp, dctx->blocklength);
++      return 1;
++      }
++
++static int hash_gen(DRBG_CTX *dctx, unsigned char *out, size_t outlen)
++      {
++      DRBG_HASH_CTX *hctx = &dctx->d.hash;
++      if (outlen == 0)
++              return 1;
++      memcpy(hctx->vtmp, hctx->V, dctx->seedlen);
++      for(;;)
++              {
++              FIPS_digestinit(&hctx->mctx, hctx->md);
++              FIPS_digestupdate(&hctx->mctx, hctx->vtmp, dctx->seedlen);
++              if (!(dctx->xflags & DRBG_FLAG_TEST) && !dctx->lb_valid)
++                      {
++                      FIPS_digestfinal(&hctx->mctx, dctx->lb, NULL);
++                      dctx->lb_valid = 1;
++                      }
++              else if (outlen < dctx->blocklength)
++                      {
++                      FIPS_digestfinal(&hctx->mctx, hctx->vtmp, NULL);
++                      if (!fips_drbg_cprng_test(dctx, hctx->vtmp))
++                              return 0;
++                      memcpy(out, hctx->vtmp, outlen);
++                      return 1;
++                      }
++              else
++                      {
++                      FIPS_digestfinal(&hctx->mctx, out, NULL);
++                      if (!fips_drbg_cprng_test(dctx, out))
++                              return 0;
++                      outlen -= dctx->blocklength;
++                      if (outlen == 0)
++                              return 1;
++                      out += dctx->blocklength;
++                      }
++              ctx_add_buf(dctx, hctx->vtmp, NULL, 0);
++              }
++      }
++
++static int drbg_hash_instantiate(DRBG_CTX *dctx,
++                              const unsigned char *ent, size_t ent_len,
++                              const unsigned char *nonce, size_t nonce_len,
++                              const unsigned char *pstr, size_t pstr_len)
++      {
++      DRBG_HASH_CTX *hctx = &dctx->d.hash;
++      if (!hash_df(dctx, hctx->V, 
++                      ent, ent_len, nonce, nonce_len, pstr, pstr_len,
++                      NULL, 0))
++              return 0;
++      if (!hash_df(dctx, hctx->C, 
++                      NULL, 0, hctx->V, dctx->seedlen,
++                      NULL, 0, NULL, 0))
++              return 0;
++
++#ifdef HASH_DRBG_TRACE
++      fprintf(stderr, "V+C after instantiate:\n");
++      hexprint(stderr, hctx->V, dctx->seedlen);
++      hexprint(stderr, hctx->C, dctx->seedlen);
++#endif
++      return 1;
++      }
++
++      
++static int drbg_hash_reseed(DRBG_CTX *dctx,
++                              const unsigned char *ent, size_t ent_len,
++                              const unsigned char *adin, size_t adin_len)
++      {
++      DRBG_HASH_CTX *hctx = &dctx->d.hash;
++      /* V about to be updated so use C as output instead */
++      if (!hash_df(dctx, hctx->C,
++                      NULL, 1, hctx->V, dctx->seedlen,
++                      ent, ent_len, adin, adin_len))
++              return 0;
++      memcpy(hctx->V, hctx->C, dctx->seedlen);
++      if (!hash_df(dctx, hctx->C, NULL, 0,
++                      hctx->V, dctx->seedlen, NULL, 0, NULL, 0))
++              return 0;
++#ifdef HASH_DRBG_TRACE
++      fprintf(stderr, "V+C after reseed:\n");
++      hexprint(stderr, hctx->V, dctx->seedlen);
++      hexprint(stderr, hctx->C, dctx->seedlen);
++#endif
++      return 1;
++      }
++
++static int drbg_hash_generate(DRBG_CTX *dctx,
++                              unsigned char *out, size_t outlen,
++                              const unsigned char *adin, size_t adin_len)
++      {
++      DRBG_HASH_CTX *hctx = &dctx->d.hash;
++      EVP_MD_CTX *mctx = &hctx->mctx;
++      unsigned char tmp[4];
++      if (adin && adin_len)
++              {
++              tmp[0] = 2;
++              if (!FIPS_digestinit(mctx, hctx->md))
++                      return 0;
++              if (!EVP_DigestUpdate(mctx, tmp, 1))
++                      return 0;
++              if (!EVP_DigestUpdate(mctx, hctx->V, dctx->seedlen))
++                      return 0;
++              if (!EVP_DigestUpdate(mctx, adin, adin_len))
++                      return 0;
++              if (!ctx_add_md(dctx))
++                      return 0;
++              }
++      if (!hash_gen(dctx, out, outlen))
++              return 0;
++
++      tmp[0] = 3;
++      if (!FIPS_digestinit(mctx, hctx->md))
++              return 0;
++      if (!EVP_DigestUpdate(mctx, tmp, 1))
++              return 0;
++      if (!EVP_DigestUpdate(mctx, hctx->V, dctx->seedlen))
++              return 0;
++
++      if (!ctx_add_md(dctx))
++              return 0;
++
++      ctx_add_buf(dctx, hctx->V, hctx->C, dctx->seedlen);
++
++      tmp[0] = (dctx->reseed_counter >> 24) & 0xff;
++      tmp[1] = (dctx->reseed_counter >> 16) & 0xff;
++      tmp[2] = (dctx->reseed_counter >> 8) & 0xff;
++      tmp[3] = dctx->reseed_counter & 0xff;
++      ctx_add_buf(dctx, hctx->V, tmp, 4);
++#ifdef HASH_DRBG_TRACE
++      fprintf(stderr, "V+C after generate:\n");
++      hexprint(stderr, hctx->V, dctx->seedlen);
++      hexprint(stderr, hctx->C, dctx->seedlen);
++#endif
++      return 1;
++      }
++
++static int drbg_hash_uninstantiate(DRBG_CTX *dctx)
++      {
++      EVP_MD_CTX_cleanup(&dctx->d.hash.mctx);
++      OPENSSL_cleanse(&dctx->d.hash, sizeof(DRBG_HASH_CTX));
++      return 1;
++      }
++
++int fips_drbg_hash_init(DRBG_CTX *dctx)
++      {
++      const EVP_MD *md;
++      DRBG_HASH_CTX *hctx = &dctx->d.hash;
++      md = FIPS_get_digestbynid(dctx->type);
++      if (!md)
++              return -2;
++      switch (dctx->type)
++              {
++              case NID_sha1:
++              dctx->strength = 128;
++              break;
++
++              case NID_sha224:
++              dctx->strength = 192;
++              break;
++
++              default:
++              dctx->strength = 256;
++              break;
++              }
++
++      dctx->instantiate = drbg_hash_instantiate;
++      dctx->reseed = drbg_hash_reseed;
++      dctx->generate = drbg_hash_generate;
++      dctx->uninstantiate = drbg_hash_uninstantiate;
++
++      dctx->d.hash.md = md;
++      EVP_MD_CTX_init(&hctx->mctx);
++
++      /* These are taken from SP 800-90 10.1 table 2 */
++
++      dctx->blocklength = M_EVP_MD_size(md);
++      if (dctx->blocklength > 32)
++              dctx->seedlen = 111;
++      else
++              dctx->seedlen = 55;
++
++
++      dctx->min_entropy = dctx->strength / 8;
++      dctx->max_entropy = DRBG_MAX_LENGTH;
++
++      dctx->min_nonce = dctx->min_entropy / 2;
++      dctx->max_nonce = DRBG_MAX_LENGTH;
++
++      dctx->max_pers = DRBG_MAX_LENGTH;
++      dctx->max_adin = DRBG_MAX_LENGTH;
++
++      dctx->max_request = 1<<16;
++      dctx->reseed_interval = 1<<24;
++
++      return 1;
++      }
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_drbg_hmac.c.fips openssl-1.0.1-beta3/crypto/fips/fips_drbg_hmac.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_drbg_hmac.c.fips      2012-02-29 10:33:02.794294898 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_drbg_hmac.c   2012-02-29 10:33:02.794294898 +0100
+@@ -0,0 +1,281 @@
++/* fips/rand/fips_drbg_hmac.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++#include <stdlib.h>
++#include <string.h>
++#include <openssl/crypto.h>
++#include <openssl/evp.h>
++#include <openssl/hmac.h>
++#include <openssl/aes.h>
++#include <openssl/fips.h>
++#include <openssl/fips_rand.h>
++#include "fips_rand_lcl.h"
++
++static int drbg_hmac_update(DRBG_CTX *dctx,
++                              const unsigned char *in1, size_t in1len,
++                              const unsigned char *in2, size_t in2len,
++                              const unsigned char *in3, size_t in3len
++                      )
++      {
++      static unsigned char c0 = 0, c1 = 1;
++      DRBG_HMAC_CTX *hmac = &dctx->d.hmac;
++      HMAC_CTX *hctx = &hmac->hctx;
++
++      if (!HMAC_Init_ex(hctx, hmac->K, dctx->blocklength, hmac->md, NULL))
++              return 0;
++      if (!HMAC_Update(hctx, hmac->V, dctx->blocklength))
++              return 0;
++      if (!HMAC_Update(hctx, &c0, 1))
++              return 0;
++      if (in1len && !HMAC_Update(hctx, in1, in1len))
++              return 0;
++      if (in2len && !HMAC_Update(hctx, in2, in2len))
++              return 0;
++      if (in3len && !HMAC_Update(hctx, in3, in3len))
++              return 0;
++
++      if (!HMAC_Final(hctx, hmac->K, NULL))
++              return 0;
++
++      if (!HMAC_Init_ex(hctx, hmac->K, dctx->blocklength, hmac->md, NULL))
++              return 0;
++      if (!HMAC_Update(hctx, hmac->V, dctx->blocklength))
++              return 0;
++
++      if (!HMAC_Final(hctx, hmac->V, NULL))
++              return 0;
++
++      if (!in1len && !in2len && !in3len)
++              return 1;
++
++      if (!HMAC_Init_ex(hctx, hmac->K, dctx->blocklength, hmac->md, NULL))
++              return 0;
++      if (!HMAC_Update(hctx, hmac->V, dctx->blocklength))
++              return 0;
++      if (!HMAC_Update(hctx, &c1, 1))
++              return 0;
++      if (in1len && !HMAC_Update(hctx, in1, in1len))
++              return 0;
++      if (in2len && !HMAC_Update(hctx, in2, in2len))
++              return 0;
++      if (in3len && !HMAC_Update(hctx, in3, in3len))
++              return 0;
++
++      if (!HMAC_Final(hctx, hmac->K, NULL))
++              return 0;
++
++      if (!HMAC_Init_ex(hctx, hmac->K, dctx->blocklength, hmac->md, NULL))
++              return 0;
++      if (!HMAC_Update(hctx, hmac->V, dctx->blocklength))
++              return 0;
++
++      if (!HMAC_Final(hctx, hmac->V, NULL))
++              return 0;
++
++      return 1;
++
++      }
++
++static int drbg_hmac_instantiate(DRBG_CTX *dctx,
++                              const unsigned char *ent, size_t ent_len,
++                              const unsigned char *nonce, size_t nonce_len,
++                              const unsigned char *pstr, size_t pstr_len)
++      {
++      DRBG_HMAC_CTX *hmac = &dctx->d.hmac;
++      memset(hmac->K, 0, dctx->blocklength);
++      memset(hmac->V, 1, dctx->blocklength);
++      if (!drbg_hmac_update(dctx,
++                      ent, ent_len, nonce, nonce_len, pstr, pstr_len))
++              return 0;
++
++#ifdef HMAC_DRBG_TRACE
++      fprintf(stderr, "K+V after instantiate:\n");
++      hexprint(stderr, hmac->K, hmac->blocklength);
++      hexprint(stderr, hmac->V, hmac->blocklength);
++#endif
++      return 1;
++      }
++
++static int drbg_hmac_reseed(DRBG_CTX *dctx,
++                              const unsigned char *ent, size_t ent_len,
++                              const unsigned char *adin, size_t adin_len)
++      {
++      if (!drbg_hmac_update(dctx,
++                      ent, ent_len, adin, adin_len, NULL, 0))
++              return 0;
++
++#ifdef HMAC_DRBG_TRACE
++      {
++              DRBG_HMAC_CTX *hmac = &dctx->d.hmac;
++              fprintf(stderr, "K+V after reseed:\n");
++              hexprint(stderr, hmac->K, hmac->blocklength);
++              hexprint(stderr, hmac->V, hmac->blocklength);
++      }
++#endif
++      return 1;
++      }
++
++static int drbg_hmac_generate(DRBG_CTX *dctx,
++                              unsigned char *out, size_t outlen,
++                              const unsigned char *adin, size_t adin_len)
++      {
++      DRBG_HMAC_CTX *hmac = &dctx->d.hmac;
++      HMAC_CTX *hctx = &hmac->hctx;
++      const unsigned char *Vtmp = hmac->V;
++      if (adin_len && !drbg_hmac_update(dctx, adin, adin_len,
++                                              NULL, 0, NULL, 0))
++              return 0;
++      for (;;)
++              {
++              if (!HMAC_Init_ex(hctx, hmac->K, dctx->blocklength,
++                                                      hmac->md, NULL))
++                      return 0;
++              if (!HMAC_Update(hctx, Vtmp, dctx->blocklength))
++                      return 0;
++              if (!(dctx->xflags & DRBG_FLAG_TEST) && !dctx->lb_valid)
++                      {
++                      if (!HMAC_Final(hctx, dctx->lb, NULL))
++                              return 0;
++                      dctx->lb_valid = 1;
++                      Vtmp = dctx->lb;
++                      continue;
++                      }
++              else if (outlen > dctx->blocklength)
++                      {
++                      if (!HMAC_Final(hctx, out, NULL))
++                              return 0;
++                      if (!fips_drbg_cprng_test(dctx, out))
++                              return 0;
++                      Vtmp = out;
++                      }
++              else
++                      {
++                      if (!HMAC_Final(hctx, hmac->V, NULL))
++                              return 0;
++                      if (!fips_drbg_cprng_test(dctx, hmac->V))
++                              return 0;
++                      memcpy(out, hmac->V, outlen);
++                      break;
++                      }
++              out += dctx->blocklength;
++              outlen -= dctx->blocklength;
++              }
++      if (!drbg_hmac_update(dctx, adin, adin_len, NULL, 0, NULL, 0))
++              return 0;
++
++      return 1;
++      }
++
++static int drbg_hmac_uninstantiate(DRBG_CTX *dctx)
++      {
++      HMAC_CTX_cleanup(&dctx->d.hmac.hctx);
++      OPENSSL_cleanse(&dctx->d.hmac, sizeof(DRBG_HMAC_CTX));
++      return 1;
++      }
++
++int fips_drbg_hmac_init(DRBG_CTX *dctx)
++      {
++      const EVP_MD *md = NULL;
++      DRBG_HMAC_CTX *hctx = &dctx->d.hmac;
++      dctx->strength = 256;
++      switch (dctx->type)
++              {
++              case NID_hmacWithSHA1:
++              md = EVP_sha1();
++              dctx->strength = 128;
++              break;
++
++              case NID_hmacWithSHA224:
++              md = EVP_sha224();
++              dctx->strength = 192;
++              break;
++
++              case NID_hmacWithSHA256:
++              md = EVP_sha256();
++              break;
++
++              case NID_hmacWithSHA384:
++              md = EVP_sha384();
++              break;
++
++              case NID_hmacWithSHA512:
++              md = EVP_sha512();
++              break;
++
++              default:
++              dctx->strength = 0;
++              return -2;
++              }
++        dctx->instantiate = drbg_hmac_instantiate;
++        dctx->reseed = drbg_hmac_reseed;
++        dctx->generate = drbg_hmac_generate;
++        dctx->uninstantiate = drbg_hmac_uninstantiate;
++      HMAC_CTX_init(&hctx->hctx);
++      hctx->md = md;
++      dctx->blocklength = M_EVP_MD_size(md);
++      dctx->seedlen = M_EVP_MD_size(md);
++
++        dctx->min_entropy = dctx->strength / 8;
++        dctx->max_entropy = DRBG_MAX_LENGTH;
++
++        dctx->min_nonce = dctx->min_entropy / 2;
++        dctx->max_nonce = DRBG_MAX_LENGTH;
++
++        dctx->max_pers = DRBG_MAX_LENGTH;
++        dctx->max_adin = DRBG_MAX_LENGTH;
++
++        dctx->max_request = 1<<16;
++        dctx->reseed_interval = 1<<24;
++
++      return 1;
++      }
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_drbg_lib.c.fips openssl-1.0.1-beta3/crypto/fips/fips_drbg_lib.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_drbg_lib.c.fips       2012-02-29 10:33:02.794294898 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_drbg_lib.c    2012-02-29 10:33:02.794294898 +0100
+@@ -0,0 +1,576 @@
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++#include <string.h>
++#include <openssl/crypto.h>
++#include <openssl/err.h>
++#include <openssl/fips_rand.h>
++#include "fips_locl.h"
++#include "fips_rand_lcl.h"
++
++/* Support framework for SP800-90 DRBGs */
++
++int FIPS_drbg_init(DRBG_CTX *dctx, int type, unsigned int flags)
++      {
++      int rv;
++      memset(dctx, 0, sizeof(DRBG_CTX));
++      dctx->status = DRBG_STATUS_UNINITIALISED;
++      dctx->xflags = flags;
++      dctx->type = type;
++
++      dctx->iflags = 0;
++      dctx->entropy_blocklen = 0;
++      dctx->health_check_cnt = 0;
++      dctx->health_check_interval = DRBG_HEALTH_INTERVAL;
++
++      rv = fips_drbg_hash_init(dctx);
++
++      if (rv == -2)
++              rv = fips_drbg_ctr_init(dctx);
++      if (rv == -2)
++              rv = fips_drbg_hmac_init(dctx);
++
++      if (rv <= 0)
++              {
++              if (rv == -2)
++                      FIPSerr(FIPS_F_FIPS_DRBG_INIT, FIPS_R_UNSUPPORTED_DRBG_TYPE);
++              else
++                      FIPSerr(FIPS_F_FIPS_DRBG_INIT, FIPS_R_ERROR_INITIALISING_DRBG);
++              }
++
++      /* If not in test mode run selftests on DRBG of the same type */
++
++      if (!(dctx->xflags & DRBG_FLAG_TEST))
++              {
++              if (!FIPS_drbg_health_check(dctx))
++                      {
++                      FIPSerr(FIPS_F_FIPS_DRBG_INIT, FIPS_R_SELFTEST_FAILURE);
++                      return 0;
++                      }
++              }
++
++      return rv;
++      }
++
++DRBG_CTX *FIPS_drbg_new(int type, unsigned int flags)
++      {
++      DRBG_CTX *dctx;
++      dctx = OPENSSL_malloc(sizeof(DRBG_CTX));
++      if (!dctx)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_NEW, ERR_R_MALLOC_FAILURE);
++              return NULL;
++              }
++
++      if (type == 0)
++              {
++              memset(dctx, 0, sizeof(DRBG_CTX));
++              dctx->type = 0;
++              dctx->status = DRBG_STATUS_UNINITIALISED;
++              return dctx;
++              }
++
++      if (FIPS_drbg_init(dctx, type, flags) <= 0)
++              {
++              OPENSSL_free(dctx);
++              return NULL;
++              }
++              
++      return dctx;
++      }
++
++void FIPS_drbg_free(DRBG_CTX *dctx)
++      {
++      if (dctx->uninstantiate)
++              dctx->uninstantiate(dctx);
++      /* Don't free up default DRBG */
++      if (dctx == FIPS_get_default_drbg())
++              {
++              memset(dctx, 0, sizeof(DRBG_CTX));
++              dctx->type = 0;
++              dctx->status = DRBG_STATUS_UNINITIALISED;
++              }
++      else
++              {
++              OPENSSL_cleanse(&dctx->d, sizeof(dctx->d));
++              OPENSSL_free(dctx);
++              }
++      }
++
++static size_t fips_get_entropy(DRBG_CTX *dctx, unsigned char **pout,
++                              int entropy, size_t min_len, size_t max_len)
++      {
++      unsigned char *tout, *p;
++      size_t bl = dctx->entropy_blocklen, rv;
++      if (!dctx->get_entropy)
++              return 0;
++      if (dctx->xflags & DRBG_FLAG_TEST || !bl)
++              return dctx->get_entropy(dctx, pout, entropy, min_len, max_len);
++      rv = dctx->get_entropy(dctx, &tout, entropy + bl,
++                              min_len + bl, max_len + bl);
++      *pout = tout + bl;
++      if (rv < (min_len + bl) || (rv % bl))
++              return 0;
++      /* Compare consecutive blocks for continuous PRNG test */
++      for (p = tout; p < tout + rv - bl; p += bl)
++              {
++              if (!memcmp(p, p + bl, bl))
++                      {
++                      FIPSerr(FIPS_F_FIPS_GET_ENTROPY, FIPS_R_ENTROPY_SOURCE_STUCK);
++                      return 0;
++                      }
++              }
++      rv -= bl;
++      if (rv > max_len)
++              return max_len;
++      return rv;
++      }
++
++static void fips_cleanup_entropy(DRBG_CTX *dctx,
++                                      unsigned char *out, size_t olen)
++      {
++      size_t bl;
++      if (dctx->xflags & DRBG_FLAG_TEST)
++              bl = 0;
++      else
++              bl = dctx->entropy_blocklen;
++      /* Call cleanup with original arguments */
++      dctx->cleanup_entropy(dctx, out - bl, olen + bl);
++      }
++
++
++int FIPS_drbg_instantiate(DRBG_CTX *dctx,
++                              const unsigned char *pers, size_t perslen)
++      {
++      size_t entlen = 0, noncelen = 0;
++      unsigned char *nonce = NULL, *entropy = NULL;
++
++#if 0
++      /* Put here so error script picks them up */
++      FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE,
++                              FIPS_R_PERSONALISATION_STRING_TOO_LONG);
++      FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE, FIPS_R_IN_ERROR_STATE);
++      FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE, FIPS_R_ALREADY_INSTANTIATED);
++      FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE, FIPS_R_ERROR_RETRIEVING_ENTROPY);
++      FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE, FIPS_R_ERROR_RETRIEVING_NONCE);
++      FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE, FIPS_R_INSTANTIATE_ERROR);
++      FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE, FIPS_R_DRBG_NOT_INITIALISED);
++#endif
++
++      int r = 0;
++
++      if (perslen > dctx->max_pers)
++              {
++              r = FIPS_R_PERSONALISATION_STRING_TOO_LONG;
++              goto end;
++              }
++
++      if (!dctx->instantiate)
++              {
++              r = FIPS_R_DRBG_NOT_INITIALISED;
++              goto end;
++              }
++
++      if (dctx->status != DRBG_STATUS_UNINITIALISED)
++              {
++              if (dctx->status == DRBG_STATUS_ERROR)
++                      r = FIPS_R_IN_ERROR_STATE;
++              else
++                      r = FIPS_R_ALREADY_INSTANTIATED;
++              goto end;
++              }
++
++      dctx->status = DRBG_STATUS_ERROR;
++
++      entlen = fips_get_entropy(dctx, &entropy, dctx->strength,
++                              dctx->min_entropy, dctx->max_entropy);
++
++      if (entlen < dctx->min_entropy || entlen > dctx->max_entropy)
++              {
++              r = FIPS_R_ERROR_RETRIEVING_ENTROPY;
++              goto end;
++              }
++
++      if (dctx->max_nonce > 0 && dctx->get_nonce)
++              {
++              noncelen = dctx->get_nonce(dctx, &nonce,
++                                      dctx->strength / 2,
++                                      dctx->min_nonce, dctx->max_nonce);
++
++              if (noncelen < dctx->min_nonce || noncelen > dctx->max_nonce)
++                      {
++                      r = FIPS_R_ERROR_RETRIEVING_NONCE;
++                      goto end;
++                      }
++
++              }
++
++      if (!dctx->instantiate(dctx, 
++                              entropy, entlen,
++                              nonce, noncelen,
++                              pers, perslen))
++              {
++              r = FIPS_R_ERROR_INSTANTIATING_DRBG;
++              goto end;
++              }
++
++
++      dctx->status = DRBG_STATUS_READY;
++      if (!(dctx->iflags & DRBG_CUSTOM_RESEED))
++              dctx->reseed_counter = 1;
++
++      end:
++
++      if (entropy && dctx->cleanup_entropy)
++              fips_cleanup_entropy(dctx, entropy, entlen);
++
++      if (nonce && dctx->cleanup_nonce)
++              dctx->cleanup_nonce(dctx, nonce, noncelen);
++
++      if (dctx->status == DRBG_STATUS_READY)
++              return 1;
++
++      if (r && !(dctx->iflags & DRBG_FLAG_NOERR))
++              FIPSerr(FIPS_F_FIPS_DRBG_INSTANTIATE, r);
++
++      return 0;
++
++      }
++
++static int drbg_reseed(DRBG_CTX *dctx,
++                      const unsigned char *adin, size_t adinlen, int hcheck)
++      {
++      unsigned char *entropy = NULL;
++      size_t entlen = 0;
++      int r = 0;
++
++#if 0
++      FIPSerr(FIPS_F_DRBG_RESEED, FIPS_R_NOT_INSTANTIATED);
++      FIPSerr(FIPS_F_DRBG_RESEED, FIPS_R_ADDITIONAL_INPUT_TOO_LONG);
++#endif
++      if (dctx->status != DRBG_STATUS_READY
++              && dctx->status != DRBG_STATUS_RESEED)
++              {
++              if (dctx->status == DRBG_STATUS_ERROR)
++                      r = FIPS_R_IN_ERROR_STATE;
++              else if(dctx->status == DRBG_STATUS_UNINITIALISED)
++                      r = FIPS_R_NOT_INSTANTIATED;
++              goto end;
++              }
++
++      if (!adin)
++              adinlen = 0;
++      else if (adinlen > dctx->max_adin)
++              {
++              r = FIPS_R_ADDITIONAL_INPUT_TOO_LONG;
++              goto end;
++              }
++
++      dctx->status = DRBG_STATUS_ERROR;
++      /* Peform health check on all reseed operations if not a prediction
++       * resistance request and not in test mode.
++       */
++      if (hcheck && !(dctx->xflags & DRBG_FLAG_TEST))
++              {
++              if (!FIPS_drbg_health_check(dctx))
++                      {
++                      r = FIPS_R_SELFTEST_FAILURE;
++                      goto end;
++                      }
++              }
++
++      entlen = fips_get_entropy(dctx, &entropy, dctx->strength,
++                              dctx->min_entropy, dctx->max_entropy);
++
++      if (entlen < dctx->min_entropy || entlen > dctx->max_entropy)
++              {
++              r = FIPS_R_ERROR_RETRIEVING_ENTROPY;
++              goto end;
++              }
++
++      if (!dctx->reseed(dctx, entropy, entlen, adin, adinlen))
++              goto end;
++
++      dctx->status = DRBG_STATUS_READY;
++      if (!(dctx->iflags & DRBG_CUSTOM_RESEED))
++              dctx->reseed_counter = 1;
++      end:
++
++      if (entropy && dctx->cleanup_entropy)
++              fips_cleanup_entropy(dctx, entropy, entlen);
++
++      if (dctx->status == DRBG_STATUS_READY)
++              return 1;
++
++      if (r && !(dctx->iflags & DRBG_FLAG_NOERR))
++              FIPSerr(FIPS_F_DRBG_RESEED, r);
++
++      return 0;
++      }
++
++int FIPS_drbg_reseed(DRBG_CTX *dctx,
++                      const unsigned char *adin, size_t adinlen)
++      {
++      return drbg_reseed(dctx, adin, adinlen, 1);
++      }
++
++static int fips_drbg_check(DRBG_CTX *dctx)
++      {
++      if (dctx->xflags & DRBG_FLAG_TEST)
++              return 1;
++      dctx->health_check_cnt++;
++      if (dctx->health_check_cnt >= dctx->health_check_interval)
++              {
++              if (!FIPS_drbg_health_check(dctx))
++                      {
++                      FIPSerr(FIPS_F_FIPS_DRBG_CHECK, FIPS_R_SELFTEST_FAILURE);
++                      return 0;
++                      }
++              }
++      return 1;
++      }
++
++int FIPS_drbg_generate(DRBG_CTX *dctx, unsigned char *out, size_t outlen,
++                      int prediction_resistance,
++                      const unsigned char *adin, size_t adinlen)
++      {
++      int r = 0;
++
++      if (FIPS_selftest_failed())
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_GENERATE, FIPS_R_SELFTEST_FAILED);
++              return 0;
++              }
++
++      if (!fips_drbg_check(dctx))
++              return 0;
++
++      if (dctx->status != DRBG_STATUS_READY
++              && dctx->status != DRBG_STATUS_RESEED)
++              {
++              if (dctx->status == DRBG_STATUS_ERROR)
++                      r = FIPS_R_IN_ERROR_STATE;
++              else if(dctx->status == DRBG_STATUS_UNINITIALISED)
++                      r = FIPS_R_NOT_INSTANTIATED;
++              goto end;
++              }
++
++      if (outlen > dctx->max_request)
++              {
++              r = FIPS_R_REQUEST_TOO_LARGE_FOR_DRBG;
++              return 0;
++              }
++
++      if (adinlen > dctx->max_adin)
++              {
++              r = FIPS_R_ADDITIONAL_INPUT_TOO_LONG;
++              goto end;
++              }
++
++      if (dctx->iflags & DRBG_CUSTOM_RESEED)
++              dctx->generate(dctx, NULL, outlen, NULL, 0);
++      else if (dctx->reseed_counter >= dctx->reseed_interval)
++              dctx->status = DRBG_STATUS_RESEED;
++
++      if (dctx->status == DRBG_STATUS_RESEED || prediction_resistance)
++              {
++              /* If prediction resistance request don't do health check */
++              int hcheck = prediction_resistance ? 0 : 1;
++              
++              if (!drbg_reseed(dctx, adin, adinlen, hcheck))
++                      {
++                      r = FIPS_R_RESEED_ERROR;
++                      goto end;
++                      }
++              adin = NULL;
++              adinlen = 0;
++              }
++
++      if (!dctx->generate(dctx, out, outlen, adin, adinlen))
++              {
++              r = FIPS_R_GENERATE_ERROR;
++              dctx->status = DRBG_STATUS_ERROR;
++              goto end;
++              }
++      if (!(dctx->iflags & DRBG_CUSTOM_RESEED))
++              {
++              if (dctx->reseed_counter >= dctx->reseed_interval)
++                      dctx->status = DRBG_STATUS_RESEED;
++              else
++                      dctx->reseed_counter++;
++              }
++
++      end:
++      if (r)
++              {
++              if (!(dctx->iflags & DRBG_FLAG_NOERR))
++                      FIPSerr(FIPS_F_FIPS_DRBG_GENERATE, r);
++              return 0;
++              }
++
++      return 1;
++      }
++
++int FIPS_drbg_uninstantiate(DRBG_CTX *dctx)
++      {
++      int rv;
++      if (!dctx->uninstantiate)
++              rv = 1;
++      else
++              rv = dctx->uninstantiate(dctx);
++      /* Although we'd like to cleanse here we can't because we have to
++       * test the uninstantiate really zeroes the data.
++       */
++      memset(&dctx->d, 0, sizeof(dctx->d));
++      dctx->status = DRBG_STATUS_UNINITIALISED;
++      /* If method has problems uninstantiating, return error */
++      return rv;
++      }
++
++int FIPS_drbg_set_callbacks(DRBG_CTX *dctx,
++      size_t (*get_entropy)(DRBG_CTX *ctx, unsigned char **pout,
++                              int entropy, size_t min_len, size_t max_len),
++      void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen),
++      size_t entropy_blocklen,
++      size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout,
++                              int entropy, size_t min_len, size_t max_len),
++      void (*cleanup_nonce)(DRBG_CTX *ctx, unsigned char *out, size_t olen))
++      {
++      if (dctx->status != DRBG_STATUS_UNINITIALISED)
++              return 0;
++      dctx->entropy_blocklen = entropy_blocklen;
++      dctx->get_entropy = get_entropy;
++      dctx->cleanup_entropy = cleanup_entropy;
++      dctx->get_nonce = get_nonce;
++      dctx->cleanup_nonce = cleanup_nonce;
++      return 1;
++      }
++
++int FIPS_drbg_set_rand_callbacks(DRBG_CTX *dctx,
++      size_t (*get_adin)(DRBG_CTX *ctx, unsigned char **pout),
++      void (*cleanup_adin)(DRBG_CTX *ctx, unsigned char *out, size_t olen),
++      int (*rand_seed_cb)(DRBG_CTX *ctx, const void *buf, int num),
++      int (*rand_add_cb)(DRBG_CTX *ctx,
++                              const void *buf, int num, double entropy))
++      {
++      if (dctx->status != DRBG_STATUS_UNINITIALISED)
++              return 0;
++      dctx->get_adin = get_adin;
++      dctx->cleanup_adin = cleanup_adin;
++      dctx->rand_seed_cb = rand_seed_cb;
++      dctx->rand_add_cb = rand_add_cb;
++      return 1;
++      }
++
++void *FIPS_drbg_get_app_data(DRBG_CTX *dctx)
++      {
++      return dctx->app_data;
++      }
++
++void FIPS_drbg_set_app_data(DRBG_CTX *dctx, void *app_data)
++      {
++      dctx->app_data = app_data;
++      }
++
++size_t FIPS_drbg_get_blocklength(DRBG_CTX *dctx)
++      {
++      return dctx->blocklength;
++      }
++
++int FIPS_drbg_get_strength(DRBG_CTX *dctx)
++      {
++      return dctx->strength;
++      }
++
++void FIPS_drbg_set_check_interval(DRBG_CTX *dctx, int interval)
++      {
++      dctx->health_check_interval = interval;
++      }
++
++void FIPS_drbg_set_reseed_interval(DRBG_CTX *dctx, int interval)
++      {
++      dctx->reseed_interval = interval;
++      }
++
++static int drbg_stick = 0;
++
++void FIPS_drbg_stick(int onoff)
++      {
++      drbg_stick = onoff;
++      }
++
++/* Continuous DRBG utility function */
++int fips_drbg_cprng_test(DRBG_CTX *dctx, const unsigned char *out)
++      {
++      /* No CPRNG in test mode */
++      if (dctx->xflags & DRBG_FLAG_TEST)
++              return 1;
++      /* Check block is valid: should never happen */
++      if (dctx->lb_valid == 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_CPRNG_TEST, FIPS_R_INTERNAL_ERROR);
++              fips_set_selftest_fail();
++              return 0;
++              }
++      if (drbg_stick)
++              memcpy(dctx->lb, out, dctx->blocklength);
++      /* Check against last block: fail if match */
++      if (!memcmp(dctx->lb, out, dctx->blocklength))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_CPRNG_TEST, FIPS_R_DRBG_STUCK);
++              fips_set_selftest_fail();
++              return 0;
++              }
++      /* Save last block for next comparison */
++      memcpy(dctx->lb, out, dctx->blocklength);
++      return 1;
++      }
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_drbg_rand.c.fips openssl-1.0.1-beta3/crypto/fips/fips_drbg_rand.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_drbg_rand.c.fips      2012-02-29 10:33:02.794294898 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_drbg_rand.c   2012-02-29 10:33:02.794294898 +0100
+@@ -0,0 +1,172 @@
++/* fips/rand/fips_drbg_rand.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++#include <string.h>
++#include <openssl/crypto.h>
++#include <openssl/err.h>
++#include <openssl/rand.h>
++#include <openssl/fips_rand.h>
++#include "fips_rand_lcl.h"
++
++/* Mapping of SP800-90 DRBGs to OpenSSL RAND_METHOD */
++
++/* Since we only have one global PRNG used at any time in OpenSSL use a global
++ * variable to store context.
++ */
++
++static DRBG_CTX ossl_dctx;
++
++DRBG_CTX *FIPS_get_default_drbg(void)
++      {
++      return &ossl_dctx;
++      }
++
++static int fips_drbg_bytes(unsigned char *out, int count)
++      {
++      DRBG_CTX *dctx = &ossl_dctx;
++      int rv = 0;
++      unsigned char *adin = NULL;
++      size_t adinlen = 0;
++      CRYPTO_w_lock(CRYPTO_LOCK_RAND);
++      do 
++              {
++              size_t rcnt;
++              if (count > (int)dctx->max_request)
++                      rcnt = dctx->max_request;
++              else
++                      rcnt = count;
++              if (dctx->get_adin)
++                      {
++                      adinlen = dctx->get_adin(dctx, &adin);
++                      if (adinlen && !adin)
++                              {
++                              FIPSerr(FIPS_F_FIPS_DRBG_BYTES, FIPS_R_ERROR_RETRIEVING_ADDITIONAL_INPUT);
++                              goto err;
++                              }
++                      }
++              rv = FIPS_drbg_generate(dctx, out, rcnt, 0, adin, adinlen);
++              if (adin)
++                      {
++                      if (dctx->cleanup_adin)
++                              dctx->cleanup_adin(dctx, adin, adinlen);
++                      adin = NULL;
++                      }
++              if (!rv)
++                      goto err;
++              out += rcnt;
++              count -= rcnt;
++              }
++      while (count);
++      rv = 1;
++      err:
++      CRYPTO_w_unlock(CRYPTO_LOCK_RAND);
++      return rv;
++      }
++
++static int fips_drbg_pseudo(unsigned char *out, int count)
++      {
++      if (fips_drbg_bytes(out, count) <= 0)
++              return -1;
++      return 1;
++      }
++
++static int fips_drbg_status(void)
++      {
++      DRBG_CTX *dctx = &ossl_dctx;
++      int rv;
++      CRYPTO_r_lock(CRYPTO_LOCK_RAND);
++      rv = dctx->status == DRBG_STATUS_READY ? 1 : 0;
++      CRYPTO_r_unlock(CRYPTO_LOCK_RAND);
++      return rv;
++      }
++
++static void fips_drbg_cleanup(void)
++      {
++      DRBG_CTX *dctx = &ossl_dctx;
++      CRYPTO_w_lock(CRYPTO_LOCK_RAND);
++      FIPS_drbg_uninstantiate(dctx);
++      CRYPTO_w_unlock(CRYPTO_LOCK_RAND);
++      }
++
++static int fips_drbg_seed(const void *seed, int seedlen)
++      {
++      DRBG_CTX *dctx = &ossl_dctx;
++      if (dctx->rand_seed_cb)
++              return dctx->rand_seed_cb(dctx, seed, seedlen);
++      return 1;
++      }
++
++static int fips_drbg_add(const void *seed, int seedlen,
++                                      double add_entropy)
++      {
++      DRBG_CTX *dctx = &ossl_dctx;
++      if (dctx->rand_add_cb)
++              return dctx->rand_add_cb(dctx, seed, seedlen, add_entropy);
++      return 1;
++      }
++
++static const RAND_METHOD rand_drbg_meth =
++      {
++      fips_drbg_seed,
++      fips_drbg_bytes,
++      fips_drbg_cleanup,
++      fips_drbg_add,
++      fips_drbg_pseudo,
++      fips_drbg_status
++      };
++
++const RAND_METHOD *FIPS_drbg_method(void)
++      {
++      return &rand_drbg_meth;
++      }
++
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.c.fips  2012-02-29 10:33:02.795294907 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.c       2012-02-29 10:33:02.795294907 +0100
+@@ -0,0 +1,862 @@
++/* fips/rand/fips_drbg_selftest.c */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++#include <string.h>
++#include <openssl/crypto.h>
++#include <openssl/err.h>
++#include <openssl/fips_rand.h>
++#include "fips_rand_lcl.h"
++#include "fips_locl.h"
++
++#include "fips_drbg_selftest.h"
++
++typedef struct {
++      int post;
++      int nid;
++      unsigned int flags;
++
++      /* KAT data for no PR */
++      const unsigned char *ent;
++      size_t entlen;
++      const unsigned char *nonce;
++      size_t noncelen;
++      const unsigned char *pers;
++      size_t perslen;
++      const unsigned char *adin;
++      size_t adinlen;
++      const unsigned char *entreseed;
++      size_t entreseedlen;
++      const unsigned char *adinreseed;
++      size_t adinreseedlen;
++      const unsigned char *adin2;
++      size_t adin2len;
++      const unsigned char *kat;
++      size_t katlen;
++      const unsigned char *kat2;
++      size_t kat2len;
++
++      /* KAT data for PR */
++      const unsigned char *ent_pr;
++      size_t entlen_pr;
++      const unsigned char *nonce_pr;
++      size_t noncelen_pr;
++      const unsigned char *pers_pr;
++      size_t perslen_pr;
++      const unsigned char *adin_pr;
++      size_t adinlen_pr;
++      const unsigned char *entpr_pr;
++      size_t entprlen_pr;
++      const unsigned char *ading_pr;
++      size_t adinglen_pr;
++      const unsigned char *entg_pr;
++      size_t entglen_pr;
++      const unsigned char *kat_pr;
++      size_t katlen_pr;
++      const unsigned char *kat2_pr;
++      size_t kat2len_pr;
++
++      } DRBG_SELFTEST_DATA;
++
++#define make_drbg_test_data(nid, flag, pr, p) {p, nid, flag | DRBG_FLAG_TEST, \
++      pr##_entropyinput, sizeof(pr##_entropyinput), \
++      pr##_nonce, sizeof(pr##_nonce), \
++      pr##_personalizationstring, sizeof(pr##_personalizationstring), \
++      pr##_additionalinput, sizeof(pr##_additionalinput), \
++      pr##_entropyinputreseed, sizeof(pr##_entropyinputreseed), \
++      pr##_additionalinputreseed, sizeof(pr##_additionalinputreseed), \
++      pr##_additionalinput2, sizeof(pr##_additionalinput2), \
++      pr##_int_returnedbits, sizeof(pr##_int_returnedbits), \
++      pr##_returnedbits, sizeof(pr##_returnedbits), \
++      pr##_pr_entropyinput, sizeof(pr##_pr_entropyinput), \
++      pr##_pr_nonce, sizeof(pr##_pr_nonce), \
++      pr##_pr_personalizationstring, sizeof(pr##_pr_personalizationstring), \
++      pr##_pr_additionalinput, sizeof(pr##_pr_additionalinput), \
++      pr##_pr_entropyinputpr, sizeof(pr##_pr_entropyinputpr), \
++      pr##_pr_additionalinput2, sizeof(pr##_pr_additionalinput2), \
++      pr##_pr_entropyinputpr2, sizeof(pr##_pr_entropyinputpr2), \
++      pr##_pr_int_returnedbits, sizeof(pr##_pr_int_returnedbits), \
++      pr##_pr_returnedbits, sizeof(pr##_pr_returnedbits), \
++      }
++
++#define make_drbg_test_data_df(nid, pr, p) \
++      make_drbg_test_data(nid, DRBG_FLAG_CTR_USE_DF, pr, p)
++
++#define make_drbg_test_data_ec(curve, md, pr, p) \
++      make_drbg_test_data((curve << 16) | md , 0, pr, p)
++
++static DRBG_SELFTEST_DATA drbg_test[] = {
++      make_drbg_test_data_df(NID_aes_128_ctr, aes_128_use_df, 0),
++      make_drbg_test_data_df(NID_aes_192_ctr, aes_192_use_df, 0),
++      make_drbg_test_data_df(NID_aes_256_ctr, aes_256_use_df, 1),
++      make_drbg_test_data(NID_aes_128_ctr, 0, aes_128_no_df, 0),
++      make_drbg_test_data(NID_aes_192_ctr, 0, aes_192_no_df, 0),
++      make_drbg_test_data(NID_aes_256_ctr, 0, aes_256_no_df, 1),
++      make_drbg_test_data(NID_sha1, 0, sha1, 0),
++      make_drbg_test_data(NID_sha224, 0, sha224, 0),
++      make_drbg_test_data(NID_sha256, 0, sha256, 1),
++      make_drbg_test_data(NID_sha384, 0, sha384, 0),
++      make_drbg_test_data(NID_sha512, 0, sha512, 0),
++      make_drbg_test_data(NID_hmacWithSHA1, 0, hmac_sha1, 0),
++      make_drbg_test_data(NID_hmacWithSHA224, 0, hmac_sha224, 0),
++      make_drbg_test_data(NID_hmacWithSHA256, 0, hmac_sha256, 1),
++      make_drbg_test_data(NID_hmacWithSHA384, 0, hmac_sha384, 0),
++      make_drbg_test_data(NID_hmacWithSHA512, 0, hmac_sha512, 0),
++      {0,0,0}
++      };
++
++typedef struct 
++      {
++      const unsigned char *ent;
++      size_t entlen;
++      int entcnt;
++      const unsigned char *nonce;
++      size_t noncelen;
++      int noncecnt;
++      } TEST_ENT;
++
++static size_t test_entropy(DRBG_CTX *dctx, unsigned char **pout,
++                                int entropy, size_t min_len, size_t max_len)
++      {
++      TEST_ENT *t = FIPS_drbg_get_app_data(dctx);
++      *pout = (unsigned char *)t->ent;
++      t->entcnt++;
++      return t->entlen;
++      }
++
++static size_t test_nonce(DRBG_CTX *dctx, unsigned char **pout,
++                                int entropy, size_t min_len, size_t max_len)
++      {
++      TEST_ENT *t = FIPS_drbg_get_app_data(dctx);
++      *pout = (unsigned char *)t->nonce;
++      t->noncecnt++;
++      return t->noncelen;
++      }
++
++static int fips_drbg_single_kat(DRBG_CTX *dctx, DRBG_SELFTEST_DATA *td,
++                                                              int quick)
++      {
++      TEST_ENT t;
++      int rv = 0;
++      size_t adinlen;
++      unsigned char randout[1024];
++
++      /* Initial test without PR */
++
++      /* Instantiate DRBG with test entropy, nonce and personalisation
++       * string.
++       */
++
++      if (!FIPS_drbg_init(dctx, td->nid, td->flags))
++              return 0;
++      if (!FIPS_drbg_set_callbacks(dctx, test_entropy, 0, 0, test_nonce, 0))
++              return 0;
++
++      FIPS_drbg_set_app_data(dctx, &t);
++
++      t.ent = td->ent;
++      t.entlen = td->entlen;
++      t.nonce = td->nonce;
++      t.noncelen = td->noncelen;
++      t.entcnt = 0;
++      t.noncecnt = 0;
++
++      if (!FIPS_drbg_instantiate(dctx, td->pers, td->perslen))
++              goto err;
++
++      /* Note for CTR without DF some additional input values
++       * ignore bytes after the keylength: so reduce adinlen
++       * to half to ensure invalid data is fed in.
++       */
++      if (!fips_post_corrupt(FIPS_TEST_DRBG, dctx->type, &dctx->iflags))
++              adinlen = td->adinlen / 2;
++      else
++              adinlen = td->adinlen;
++
++      /* Generate with no PR and verify output matches expected data */
++      if (!FIPS_drbg_generate(dctx, randout, td->katlen, 0,
++                              td->adin, adinlen))
++              goto err;
++
++      if (memcmp(randout, td->kat, td->katlen))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_SINGLE_KAT, FIPS_R_NOPR_TEST1_FAILURE);
++              goto err2;
++              }
++      /* If abbreviated POST end of test */
++      if (quick)
++              {
++              rv = 1;
++              goto err;
++              }
++      /* Reseed DRBG with test entropy and additional input */
++      t.ent = td->entreseed;
++      t.entlen = td->entreseedlen;
++
++      if (!FIPS_drbg_reseed(dctx, td->adinreseed, td->adinreseedlen))
++              goto err;
++
++      /* Generate with no PR and verify output matches expected data */
++      if (!FIPS_drbg_generate(dctx, randout, td->kat2len, 0,
++                              td->adin2, td->adin2len))
++              goto err;
++
++      if (memcmp(randout, td->kat2, td->kat2len))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_SINGLE_KAT, FIPS_R_NOPR_TEST2_FAILURE);
++              goto err2;
++              }
++
++      FIPS_drbg_uninstantiate(dctx);
++
++      /* Now test with PR */
++
++      /* Instantiate DRBG with test entropy, nonce and personalisation
++       * string.
++       */
++      if (!FIPS_drbg_init(dctx, td->nid, td->flags))
++              return 0;
++      if (!FIPS_drbg_set_callbacks(dctx, test_entropy, 0, 0, test_nonce, 0))
++              return 0;
++
++      FIPS_drbg_set_app_data(dctx, &t);
++
++      t.ent = td->ent_pr;
++      t.entlen = td->entlen_pr;
++      t.nonce = td->nonce_pr;
++      t.noncelen = td->noncelen_pr;
++      t.entcnt = 0;
++      t.noncecnt = 0;
++
++      if (!FIPS_drbg_instantiate(dctx, td->pers_pr, td->perslen_pr))
++              goto err;
++
++      /* Now generate with PR: we need to supply entropy as this will
++       * perform a reseed operation. Check output matches expected value.
++       */
++
++      t.ent = td->entpr_pr;
++      t.entlen = td->entprlen_pr;
++
++      /* Note for CTR without DF some additional input values
++       * ignore bytes after the keylength: so reduce adinlen
++       * to half to ensure invalid data is fed in.
++       */
++      if (!fips_post_corrupt(FIPS_TEST_DRBG, dctx->type, &dctx->iflags))
++              adinlen = td->adinlen_pr / 2;
++      else
++              adinlen = td->adinlen_pr;
++      if (!FIPS_drbg_generate(dctx, randout, td->katlen_pr, 1,
++                              td->adin_pr, adinlen))
++              goto err;
++
++      if (memcmp(randout, td->kat_pr, td->katlen_pr))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_SINGLE_KAT, FIPS_R_PR_TEST1_FAILURE);
++              goto err2;
++              }
++
++      /* Now generate again with PR: supply new entropy again.
++       * Check output matches expected value.
++       */
++
++      t.ent = td->entg_pr;
++      t.entlen = td->entglen_pr;
++
++      if (!FIPS_drbg_generate(dctx, randout, td->kat2len_pr, 1,
++                              td->ading_pr, td->adinglen_pr))
++              goto err;
++
++      if (memcmp(randout, td->kat2_pr, td->kat2len_pr))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_SINGLE_KAT, FIPS_R_PR_TEST2_FAILURE);
++              goto err2;
++              }
++      /* All OK, test complete */
++      rv = 1;
++
++      err:
++      if (rv == 0)
++              FIPSerr(FIPS_F_FIPS_DRBG_SINGLE_KAT, FIPS_R_SELFTEST_FAILED);
++      err2:
++      FIPS_drbg_uninstantiate(dctx);
++      
++      return rv;
++
++      }
++
++/* Initialise a DRBG based on selftest data */
++
++static int do_drbg_init(DRBG_CTX *dctx, DRBG_SELFTEST_DATA *td, TEST_ENT *t)
++      {
++
++      if (!FIPS_drbg_init(dctx, td->nid, td->flags))
++              return 0;
++
++      if (!FIPS_drbg_set_callbacks(dctx, test_entropy, 0, 0, test_nonce, 0))
++              return 0;
++
++      FIPS_drbg_set_app_data(dctx, t);
++
++      t->ent = td->ent;
++      t->entlen = td->entlen;
++      t->nonce = td->nonce;
++      t->noncelen = td->noncelen;
++      t->entcnt = 0;
++      t->noncecnt = 0;
++      return 1;
++      }
++
++/* Initialise and instantiate DRBG based on selftest data */
++static int do_drbg_instantiate(DRBG_CTX *dctx, DRBG_SELFTEST_DATA *td,
++                                                              TEST_ENT *t)
++      {
++      if (!do_drbg_init(dctx, td, t))
++              return 0;
++      if (!FIPS_drbg_instantiate(dctx, td->pers, td->perslen))
++              return 0;
++
++      return 1;
++      }
++
++/* This function performs extensive error checking as required by SP800-90.
++ * Induce several failure modes and check an error condition is set.
++ * This function along with fips_drbg_single_kat peforms the health checking
++ * operation.
++ */
++
++static int fips_drbg_error_check(DRBG_CTX *dctx, DRBG_SELFTEST_DATA *td)
++      {
++      unsigned char randout[1024];
++      TEST_ENT t;
++      size_t i;
++      unsigned int reseed_counter_tmp;
++      unsigned char *p = (unsigned char *)dctx;
++
++      /* Initialise DRBG */
++
++      if (!do_drbg_init(dctx, td, &t))
++              goto err;
++
++      /* Don't report induced errors */
++      dctx->iflags |= DRBG_FLAG_NOERR;
++
++      /* Personalisation string tests */
++
++      /* Test detection of too large personlisation string */
++
++      if (FIPS_drbg_instantiate(dctx, td->pers, dctx->max_pers + 1) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_PERSONALISATION_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      /* Entropy source tests */
++
++      /* Test entropy source failure detecion: i.e. returns no data */
++
++      t.entlen = 0;
++
++      if (FIPS_drbg_instantiate(dctx, td->pers, td->perslen) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      /* Try to generate output from uninstantiated DRBG */
++      if (FIPS_drbg_generate(dctx, randout, td->katlen, 0,
++                              td->adin, td->adinlen))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_GENERATE_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      dctx->iflags &= ~DRBG_FLAG_NOERR;
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      if (!do_drbg_init(dctx, td, &t))
++              goto err;
++
++      dctx->iflags |= DRBG_FLAG_NOERR;
++
++      /* Test insufficient entropy */
++
++      t.entlen = dctx->min_entropy - 1;
++
++      if (FIPS_drbg_instantiate(dctx, td->pers, td->perslen) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      dctx->iflags &= ~DRBG_FLAG_NOERR;
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      /* Test too much entropy */
++
++      if (!do_drbg_init(dctx, td, &t))
++              goto err;
++
++      dctx->iflags |= DRBG_FLAG_NOERR;
++
++      t.entlen = dctx->max_entropy + 1;
++
++      if (FIPS_drbg_instantiate(dctx, td->pers, td->perslen) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      dctx->iflags &= ~DRBG_FLAG_NOERR;
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      /* Nonce tests */
++
++      /* Test too small nonce */
++
++      if (dctx->min_nonce)
++              {
++
++              if (!do_drbg_init(dctx, td, &t))
++                      goto err;
++
++              dctx->iflags |= DRBG_FLAG_NOERR;
++
++              t.noncelen = dctx->min_nonce - 1;
++
++              if (FIPS_drbg_instantiate(dctx, td->pers, td->perslen) > 0)
++                      {
++                      FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_NONCE_ERROR_UNDETECTED);
++                      goto err;
++                      }
++
++              dctx->iflags &= ~DRBG_FLAG_NOERR;
++              if (!FIPS_drbg_uninstantiate(dctx))
++                      {
++                      FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++                      goto err;
++                      }
++
++              }
++
++      /* Test too large nonce */
++
++      if (dctx->max_nonce)
++              {
++
++              if (!do_drbg_init(dctx, td, &t))
++                      goto err;
++
++              dctx->iflags |= DRBG_FLAG_NOERR;
++
++              t.noncelen = dctx->max_nonce + 1;
++
++              if (FIPS_drbg_instantiate(dctx, td->pers, td->perslen) > 0)
++                      {
++                      FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_NONCE_ERROR_UNDETECTED);
++                      goto err;
++                      }
++
++              dctx->iflags &= ~DRBG_FLAG_NOERR;
++              if (!FIPS_drbg_uninstantiate(dctx))
++                      {
++                      FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++                      goto err;
++                      }
++
++              }
++
++      /* Instantiate with valid data. */
++      if (!do_drbg_instantiate(dctx, td, &t))
++                      goto err;
++
++      /* Check generation is now OK */
++      if (!FIPS_drbg_generate(dctx, randout, td->katlen, 0,
++                              td->adin, td->adinlen))
++              goto err;
++
++      dctx->iflags |= DRBG_FLAG_NOERR;
++
++      /* Request too much data for one request */
++      if (FIPS_drbg_generate(dctx, randout, dctx->max_request + 1, 0,
++                              td->adin, td->adinlen))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_REQUEST_LENGTH_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      /* Try too large additional input */
++      if (FIPS_drbg_generate(dctx, randout, td->katlen, 0,
++                              td->adin, dctx->max_adin + 1))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ADDITIONAL_INPUT_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      /* Check prediction resistance request fails if entropy source
++       * failure.
++       */
++
++      t.entlen = 0;
++
++      if (FIPS_drbg_generate(dctx, randout, td->katlen, 1,
++                              td->adin, td->adinlen))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++              
++      dctx->iflags &= ~DRBG_FLAG_NOERR;
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++
++      /* Instantiate again with valid data */
++
++      if (!do_drbg_instantiate(dctx, td, &t))
++                      goto err;
++      /* Test reseed counter works */
++      /* Save initial reseed counter */
++      reseed_counter_tmp = dctx->reseed_counter;
++      /* Set reseed counter to beyond interval */
++      dctx->reseed_counter = dctx->reseed_interval;
++
++      /* Generate output and check entropy has been requested for reseed */
++      t.entcnt = 0;
++      if (!FIPS_drbg_generate(dctx, randout, td->katlen, 0,
++                              td->adin, td->adinlen))
++              goto err;
++      if (t.entcnt != 1)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_NOT_REQUESTED_FOR_RESEED);
++              goto err;
++              }
++      /* Check reseed counter has been reset */
++      if (dctx->reseed_counter != reseed_counter_tmp + 1)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_RESEED_COUNTER_ERROR);
++              goto err;
++              }
++
++      dctx->iflags &= ~DRBG_FLAG_NOERR;
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      /* Check prediction resistance request fails if entropy source
++       * failure.
++       */
++
++      t.entlen = 0;
++
++      dctx->iflags |= DRBG_FLAG_NOERR;
++      if (FIPS_drbg_generate(dctx, randout, td->katlen, 1,
++                              td->adin, td->adinlen))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++              
++      dctx->iflags &= ~DRBG_FLAG_NOERR;
++
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++
++      if (!do_drbg_instantiate(dctx, td, &t))
++                      goto err;
++      /* Test reseed counter works */
++      /* Save initial reseed counter */
++      reseed_counter_tmp = dctx->reseed_counter;
++      /* Set reseed counter to beyond interval */
++      dctx->reseed_counter = dctx->reseed_interval;
++
++      /* Generate output and check entropy has been requested for reseed */
++      t.entcnt = 0;
++      if (!FIPS_drbg_generate(dctx, randout, td->katlen, 0,
++                              td->adin, td->adinlen))
++              goto err;
++      if (t.entcnt != 1)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_NOT_REQUESTED_FOR_RESEED);
++              goto err;
++              }
++      /* Check reseed counter has been reset */
++      if (dctx->reseed_counter != reseed_counter_tmp + 1)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_RESEED_COUNTER_ERROR);
++              goto err;
++              }
++
++      dctx->iflags &= ~DRBG_FLAG_NOERR;
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      /* Explicit reseed tests */
++
++      /* Test explicit reseed with too large additional input */
++      if (!do_drbg_init(dctx, td, &t))
++              goto err;
++
++      dctx->iflags |= DRBG_FLAG_NOERR;
++
++      if (FIPS_drbg_reseed(dctx, td->adin, dctx->max_adin + 1) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ADDITIONAL_INPUT_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      /* Test explicit reseed with entropy source failure */
++
++      t.entlen = 0;
++
++      if (FIPS_drbg_reseed(dctx, td->adin, td->adinlen) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      /* Test explicit reseed with too much entropy */
++
++      if (!do_drbg_init(dctx, td, &t))
++              goto err;
++
++      dctx->iflags |= DRBG_FLAG_NOERR;
++
++      t.entlen = dctx->max_entropy + 1;
++
++      if (FIPS_drbg_reseed(dctx, td->adin, td->adinlen) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      /* Test explicit reseed with too little entropy */
++
++      if (!do_drbg_init(dctx, td, &t))
++              goto err;
++
++      dctx->iflags |= DRBG_FLAG_NOERR;
++
++      t.entlen = dctx->min_entropy - 1;
++
++      if (FIPS_drbg_reseed(dctx, td->adin, td->adinlen) > 0)
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_ENTROPY_ERROR_UNDETECTED);
++              goto err;
++              }
++
++      if (!FIPS_drbg_uninstantiate(dctx))
++              {
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ERROR);
++              goto err;
++              }
++
++      p = (unsigned char *)&dctx->d;
++      /* Standard says we have to check uninstantiate really zeroes
++       * the data...
++       */
++      for (i = 0; i < sizeof(dctx->d); i++)
++              {
++              if (*p != 0)
++                      {
++                      FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_UNINSTANTIATE_ZEROISE_ERROR);
++                      goto err;
++                      }
++              p++;
++              }
++
++      return 1;
++
++      err:
++      /* A real error as opposed to an induced one: underlying function will
++       * indicate the error.
++       */
++      if (!(dctx->iflags & DRBG_FLAG_NOERR))
++              FIPSerr(FIPS_F_FIPS_DRBG_ERROR_CHECK, FIPS_R_FUNCTION_ERROR);
++      FIPS_drbg_uninstantiate(dctx);
++      return 0;
++
++      }
++
++int fips_drbg_kat(DRBG_CTX *dctx, int nid, unsigned int flags)
++      {
++      DRBG_SELFTEST_DATA *td;
++      flags |= DRBG_FLAG_TEST;
++      for (td = drbg_test; td->nid != 0; td++)
++              {
++              if (td->nid == nid && td->flags == flags)
++                      {
++                      if (!fips_drbg_single_kat(dctx, td, 0))
++                              return 0;
++                      return fips_drbg_error_check(dctx, td);
++                      }
++              }
++      return 0;
++      }
++
++int FIPS_drbg_health_check(DRBG_CTX *dctx)
++      {
++      int rv;
++      DRBG_CTX *tctx = NULL;
++      tctx = FIPS_drbg_new(0, 0);
++      fips_post_started(FIPS_TEST_DRBG, dctx->type, &dctx->xflags);
++      if (!tctx)
++              return 0;
++      rv = fips_drbg_kat(tctx, dctx->type, dctx->xflags);
++      if (tctx)
++              FIPS_drbg_free(tctx);
++      if (rv)
++              fips_post_success(FIPS_TEST_DRBG, dctx->type, &dctx->xflags);
++      else
++              fips_post_failed(FIPS_TEST_DRBG, dctx->type, &dctx->xflags);
++      if (!rv)
++              dctx->status = DRBG_STATUS_ERROR;
++      else
++              dctx->health_check_cnt = 0;
++      return rv;
++      }
++
++int FIPS_selftest_drbg(void)
++      {
++      DRBG_CTX *dctx;
++      DRBG_SELFTEST_DATA *td;
++      int rv = 1;
++      dctx = FIPS_drbg_new(0, 0);
++      if (!dctx)
++              return 0;
++      for (td = drbg_test; td->nid != 0; td++)
++              {
++              if (td->post != 1)
++                      continue;
++              if (!fips_post_started(FIPS_TEST_DRBG, td->nid, &td->flags))
++                      return 1;
++              if (!fips_drbg_single_kat(dctx, td, 1))
++                      {
++                      fips_post_failed(FIPS_TEST_DRBG, td->nid, &td->flags);
++                      rv = 0;
++                      continue;
++                      }
++              if (!fips_post_success(FIPS_TEST_DRBG, td->nid, &td->flags))
++                      return 0;
++              }
++      FIPS_drbg_free(dctx);
++      return rv;
++      }
++
++
++int FIPS_selftest_drbg_all(void)
++      {
++      DRBG_CTX *dctx;
++      DRBG_SELFTEST_DATA *td;
++      int rv = 1;
++      dctx = FIPS_drbg_new(0, 0);
++      if (!dctx)
++              return 0;
++      for (td = drbg_test; td->nid != 0; td++)
++              {
++              if (!fips_post_started(FIPS_TEST_DRBG, td->nid, &td->flags))
++                      return 1;
++              if (!fips_drbg_single_kat(dctx, td, 0))
++                      {
++                      fips_post_failed(FIPS_TEST_DRBG, td->nid, &td->flags);
++                      rv = 0;
++                      continue;
++                      }
++              if (!fips_drbg_error_check(dctx, td))
++                      {
++                      fips_post_failed(FIPS_TEST_DRBG, td->nid, &td->flags);
++                      rv = 0;
++                      continue;
++                      }
++              if (!fips_post_success(FIPS_TEST_DRBG, td->nid, &td->flags))
++                      return 0;
++              }
++      FIPS_drbg_free(dctx);
++      return rv;
++      }
++
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.h.fips openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.h
+--- openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.h.fips  2012-02-29 10:33:02.796294915 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_drbg_selftest.h       2012-02-29 10:33:02.796294915 +0100
+@@ -0,0 +1,2335 @@
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++/* Selftest and health check data for the SP800-90 DRBG */
++
++#define __fips_constseg
++
++/* AES-128 use df PR  */
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_entropyinput[] =
++      {
++      0x61,0x52,0x7c,0xe3,0x23,0x7d,0x0a,0x07,0x10,0x0c,0x50,0x33,
++      0xc8,0xdb,0xff,0x12
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_nonce[] =
++      {
++      0x51,0x0d,0x85,0x77,0xed,0x22,0x97,0x28
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_personalizationstring[] =
++      {
++      0x59,0x9f,0xbb,0xcd,0xd5,0x25,0x69,0xb5,0xcb,0xb5,0x03,0xfe,
++      0xd7,0xd7,0x01,0x67
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_additionalinput[] =
++      {
++      0xef,0x88,0x76,0x01,0xaf,0x3c,0xfe,0x8b,0xaf,0x26,0x06,0x9e,
++      0x9a,0x47,0x08,0x76
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_entropyinputpr[] =
++      {
++      0xe2,0x76,0xf9,0xf6,0x3a,0xba,0x10,0x9f,0xbf,0x47,0x0e,0x51,
++      0x09,0xfb,0xa3,0xb6
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_int_returnedbits[] =
++      {
++      0xd4,0x98,0x8a,0x46,0x80,0x4c,0xdb,0xa3,0x59,0x02,0x57,0x52,
++      0x66,0x1c,0xea,0x5b
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_additionalinput2[] =
++      {
++      0x88,0x8c,0x91,0xd6,0xbe,0x56,0x6e,0x08,0x9a,0x62,0x2b,0x11,
++      0x3f,0x5e,0x31,0x06
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_entropyinputpr2[] =
++      {
++      0xc0,0x5c,0x6b,0x98,0x01,0x0d,0x58,0x18,0x51,0x18,0x96,0xae,
++      0xa7,0xe3,0xa8,0x67
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_pr_returnedbits[] =
++      {
++      0xcf,0x01,0xac,0x22,0x31,0x06,0x8e,0xfc,0xce,0x56,0xea,0x24,
++      0x0f,0x38,0x43,0xc6
++      };
++
++
++/* AES-128 use df No PR  */
++__fips_constseg
++static const unsigned char aes_128_use_df_entropyinput[] =
++      {
++      0x1f,0x8e,0x34,0x82,0x0c,0xb7,0xbe,0xc5,0x01,0x3e,0xd0,0xa3,
++      0x9d,0x7d,0x1c,0x9b
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_nonce[] =
++      {
++      0xd5,0x4d,0xbd,0x4a,0x93,0x7f,0xb8,0x96
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_personalizationstring[] =
++      {
++      0xab,0xd6,0x3f,0x04,0xfe,0x27,0x6b,0x2d,0xd7,0xc3,0x1c,0xf3,
++      0x38,0x66,0xba,0x1b
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_additionalinput[] =
++      {
++      0xfe,0xf4,0x09,0xa8,0xb7,0x73,0x27,0x9c,0x5f,0xa7,0xea,0x46,
++      0xb5,0xe2,0xb2,0x41
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_int_returnedbits[] =
++      {
++      0x42,0xe4,0x4e,0x7b,0x27,0xdd,0xcb,0xbc,0x0a,0xcf,0xa6,0x67,
++      0xe7,0x57,0x11,0xb4
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_entropyinputreseed[] =
++      {
++      0x14,0x26,0x69,0xd9,0xf3,0x65,0x03,0xd6,0x6b,0xb9,0x44,0x0b,
++      0xc7,0xc4,0x9e,0x39
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_additionalinputreseed[] =
++      {
++      0x55,0x2e,0x60,0x9a,0x05,0x72,0x8a,0xa8,0xef,0x22,0x81,0x5a,
++      0xc8,0x93,0xfa,0x84
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_additionalinput2[] =
++      {
++      0x3c,0x40,0xc8,0xc4,0x16,0x0c,0x21,0xa4,0x37,0x2c,0x8f,0xa5,
++      0x06,0x0c,0x15,0x2c
++      };
++
++__fips_constseg
++static const unsigned char aes_128_use_df_returnedbits[] =
++      {
++      0xe1,0x3e,0x99,0x98,0x86,0x67,0x0b,0x63,0x7b,0xbe,0x3f,0x88,
++      0x46,0x81,0xc7,0x19
++      };
++
++
++/* AES-192 use df PR  */
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_entropyinput[] =
++      {
++      0x2b,0x4e,0x8b,0xe1,0xf1,0x34,0x80,0x56,0x81,0xf9,0x74,0xec,
++      0x17,0x44,0x2a,0xf1,0x14,0xb0,0xbf,0x97,0x39,0xb7,0x04,0x7d
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_nonce[] =
++      {
++      0xd6,0x9d,0xeb,0x14,0x4e,0x6c,0x30,0x1e,0x39,0x55,0x73,0xd0,
++      0xd1,0x80,0x78,0xfa
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_personalizationstring[] =
++      {
++      0xfc,0x43,0x4a,0xf8,0x9a,0x55,0xb3,0x53,0x83,0xe2,0x18,0x16,
++      0x0c,0xdc,0xcd,0x5e,0x4f,0xa0,0x03,0x01,0x2b,0x9f,0xe4,0xd5,
++      0x7d,0x49,0xf0,0x41,0x9e,0x3d,0x99,0x04
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_additionalinput[] =
++      {
++      0x5e,0x9f,0x49,0x6f,0x21,0x8b,0x1d,0x32,0xd5,0x84,0x5c,0xac,
++      0xaf,0xdf,0xe4,0x79,0x9e,0xaf,0xa9,0x82,0xd0,0xf8,0x4f,0xcb,
++      0x69,0x10,0x0a,0x7e,0x81,0x57,0xb5,0x36
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_entropyinputpr[] =
++      {
++      0xd4,0x81,0x0c,0xd7,0x66,0x39,0xec,0x42,0x53,0x87,0x41,0xa5,
++      0x1e,0x7d,0x80,0x91,0x8e,0xbb,0xed,0xac,0x14,0x02,0x1a,0xd5
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_int_returnedbits[] =
++      {
++      0xdf,0x1d,0x39,0x45,0x7c,0x9b,0xc6,0x2b,0x7d,0x8c,0x93,0xe9,
++      0x19,0x30,0x6b,0x67
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_additionalinput2[] =
++      {
++      0x00,0x71,0x27,0x4e,0xd3,0x14,0xf1,0x20,0x7f,0x4a,0x41,0x32,
++      0x2a,0x97,0x11,0x43,0x8f,0x4a,0x15,0x7b,0x9b,0x51,0x79,0xda,
++      0x49,0x3d,0xde,0xe8,0xbc,0x93,0x91,0x99
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_entropyinputpr2[] =
++      {
++      0x90,0xee,0x76,0xa1,0x45,0x8d,0xb7,0x40,0xb0,0x11,0xbf,0xd0,
++      0x65,0xd7,0x3c,0x7c,0x4f,0x20,0x3f,0x4e,0x11,0x9d,0xb3,0x5e
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_pr_returnedbits[] =
++      {
++      0x24,0x3b,0x20,0xa4,0x37,0x66,0xba,0x72,0x39,0x3f,0xcf,0x3c,
++      0x7e,0x1a,0x2b,0x83
++      };
++
++
++/* AES-192 use df No PR  */
++__fips_constseg
++static const unsigned char aes_192_use_df_entropyinput[] =
++      {
++      0x8d,0x74,0xa4,0x50,0x1a,0x02,0x68,0x0c,0x2a,0x69,0xc4,0x82,
++      0x3b,0xbb,0xda,0x0e,0x7f,0x77,0xa3,0x17,0x78,0x57,0xb2,0x7b
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_nonce[] =
++      {
++      0x75,0xd5,0x1f,0xac,0xa4,0x8d,0x42,0x78,0xd7,0x69,0x86,0x9d,
++      0x77,0xd7,0x41,0x0e
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_personalizationstring[] =
++      {
++      0x4e,0x33,0x41,0x3c,0x9c,0xc2,0xd2,0x53,0xaf,0x90,0xea,0xcf,
++      0x19,0x50,0x1e,0xe6,0x6f,0x63,0xc8,0x32,0x22,0xdc,0x07,0x65,
++      0x9c,0xd3,0xf8,0x30,0x9e,0xed,0x35,0x70
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_additionalinput[] =
++      {
++      0x5d,0x8b,0x8c,0xc1,0xdf,0x0e,0x02,0x78,0xfb,0x19,0xb8,0x69,
++      0x78,0x4e,0x9c,0x52,0xbc,0xc7,0x20,0xc9,0xe6,0x5e,0x77,0x22,
++      0x28,0x3d,0x0c,0x9e,0x68,0xa8,0x45,0xd7
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_int_returnedbits[] =
++      {
++      0xd5,0xe7,0x08,0xc5,0x19,0x99,0xd5,0x31,0x03,0x0a,0x74,0xb6,
++      0xb7,0xed,0xe9,0xea
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_entropyinputreseed[] =
++      {
++      0x9c,0x26,0xda,0xf1,0xac,0xd9,0x5a,0xd6,0xa8,0x65,0xf5,0x02,
++      0x8f,0xdc,0xa2,0x09,0x54,0xa6,0xe2,0xa4,0xde,0x32,0xe0,0x01
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_additionalinputreseed[] =
++      {
++      0x9b,0x90,0xb0,0x3a,0x0e,0x3a,0x80,0x07,0x4a,0xf4,0xda,0x76,
++      0x28,0x30,0x3c,0xee,0x54,0x1b,0x94,0x59,0x51,0x43,0x56,0x77,
++      0xaf,0x88,0xdd,0x63,0x89,0x47,0x06,0x65
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_additionalinput2[] =
++      {
++      0x3c,0x11,0x64,0x7a,0x96,0xf5,0xd8,0xb8,0xae,0xd6,0x70,0x4e,
++      0x16,0x96,0xde,0xe9,0x62,0xbc,0xee,0x28,0x2f,0x26,0xa6,0xf0,
++      0x56,0xef,0xa3,0xf1,0x6b,0xa1,0xb1,0x77
++      };
++
++__fips_constseg
++static const unsigned char aes_192_use_df_returnedbits[] =
++      {
++      0x0b,0xe2,0x56,0x03,0x1e,0xdb,0x2c,0x6d,0x7f,0x1b,0x15,0x58,
++      0x1a,0xf9,0x13,0x28
++      };
++
++
++/* AES-256 use df PR  */
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_entropyinput[] =
++      {
++      0x61,0x68,0xfc,0x1a,0xf0,0xb5,0x95,0x6b,0x85,0x09,0x9b,0x74,
++      0x3f,0x13,0x78,0x49,0x3b,0x85,0xec,0x93,0x13,0x3b,0xa9,0x4f,
++      0x96,0xab,0x2c,0xe4,0xc8,0x8f,0xdd,0x6a
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_nonce[] =
++      {
++      0xad,0xd2,0xbb,0xba,0xb7,0x65,0x89,0xc3,0x21,0x6c,0x55,0x33,
++      0x2b,0x36,0xff,0xa4
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_personalizationstring[] =
++      {
++      0x6e,0xca,0xe7,0x20,0x72,0xd3,0x84,0x5a,0x32,0xd3,0x4b,0x24,
++      0x72,0xc4,0x63,0x2b,0x9d,0x12,0x24,0x0c,0x23,0x26,0x8e,0x83,
++      0x16,0x37,0x0b,0xd1,0x06,0x4f,0x68,0x6d
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_additionalinput[] =
++      {
++      0x7e,0x08,0x4a,0xbb,0xe3,0x21,0x7c,0xc9,0x23,0xd2,0xf8,0xb0,
++      0x73,0x98,0xba,0x84,0x74,0x23,0xab,0x06,0x8a,0xe2,0x22,0xd3,
++      0x7b,0xce,0x9b,0xd2,0x4a,0x76,0xb8,0xde
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_entropyinputpr[] =
++      {
++      0x0b,0x23,0xaf,0xdf,0xf1,0x62,0xd7,0xd3,0x43,0x97,0xf8,0x77,
++      0x04,0xa8,0x42,0x20,0xbd,0xf6,0x0f,0xc1,0x17,0x2f,0x9f,0x54,
++      0xbb,0x56,0x17,0x86,0x68,0x0e,0xba,0xa9
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_int_returnedbits[] =
++      {
++      0x31,0x8e,0xad,0xaf,0x40,0xeb,0x6b,0x74,0x31,0x46,0x80,0xc7,
++      0x17,0xab,0x3c,0x7a
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_additionalinput2[] =
++      {
++      0x94,0x6b,0xc9,0x9f,0xab,0x8d,0xc5,0xec,0x71,0x88,0x1d,0x00,
++      0x8c,0x89,0x68,0xe4,0xc8,0x07,0x77,0x36,0x17,0x6d,0x79,0x78,
++      0xc7,0x06,0x4e,0x99,0x04,0x28,0x29,0xc3
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_entropyinputpr2[] =
++      {
++      0xbf,0x6c,0x59,0x2a,0x0d,0x44,0x0f,0xae,0x9a,0x5e,0x03,0x73,
++      0xd8,0xa6,0xe1,0xcf,0x25,0x61,0x38,0x24,0x86,0x9e,0x53,0xe8,
++      0xa4,0xdf,0x56,0xf4,0x06,0x07,0x9c,0x0f
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_pr_returnedbits[] =
++      {
++      0x22,0x4a,0xb4,0xb8,0xb6,0xee,0x7d,0xb1,0x9e,0xc9,0xf9,0xa0,
++      0xd9,0xe2,0x97,0x00
++      };
++
++
++/* AES-256 use df No PR  */
++__fips_constseg
++static const unsigned char aes_256_use_df_entropyinput[] =
++      {
++      0xa5,0x3e,0x37,0x10,0x17,0x43,0x91,0x93,0x59,0x1e,0x47,0x50,
++      0x87,0xaa,0xdd,0xd5,0xc1,0xc3,0x86,0xcd,0xca,0x0d,0xdb,0x68,
++      0xe0,0x02,0xd8,0x0f,0xdc,0x40,0x1a,0x47
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_nonce[] =
++      {
++      0xa9,0x4d,0xa5,0x5a,0xfd,0xc5,0x0c,0xe5,0x1c,0x9a,0x3b,0x8a,
++      0x4c,0x44,0x84,0x40
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_personalizationstring[] =
++      {
++      0x8b,0x52,0xa2,0x4a,0x93,0xc3,0x4e,0xa7,0x1e,0x1c,0xa7,0x05,
++      0xeb,0x82,0x9b,0xa6,0x5d,0xe4,0xd4,0xe0,0x7f,0xa3,0xd8,0x6b,
++      0x37,0x84,0x5f,0xf1,0xc7,0xd5,0xf6,0xd2
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_additionalinput[] =
++      {
++      0x20,0xf4,0x22,0xed,0xf8,0x5c,0xa1,0x6a,0x01,0xcf,0xbe,0x5f,
++      0x8d,0x6c,0x94,0x7f,0xae,0x12,0xa8,0x57,0xdb,0x2a,0xa9,0xbf,
++      0xc7,0xb3,0x65,0x81,0x80,0x8d,0x0d,0x46
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_int_returnedbits[] =
++      {
++      0x4e,0x44,0xfd,0xf3,0x9e,0x29,0xa2,0xb8,0x0f,0x5d,0x6c,0xe1,
++      0x28,0x0c,0x3b,0xc1
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_entropyinputreseed[] =
++      {
++      0xdd,0x40,0xe5,0x98,0x7b,0x27,0x16,0x73,0x15,0x68,0xd2,0x76,
++      0xbf,0x0c,0x67,0x15,0x75,0x79,0x03,0xd3,0xde,0xde,0x91,0x46,
++      0x42,0xdd,0xd4,0x67,0xc8,0x79,0xc8,0x1e
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_additionalinputreseed[] =
++      {
++      0x7f,0xd8,0x1f,0xbd,0x2a,0xb5,0x1c,0x11,0x5d,0x83,0x4e,0x99,
++      0xf6,0x5c,0xa5,0x40,0x20,0xed,0x38,0x8e,0xd5,0x9e,0xe0,0x75,
++      0x93,0xfe,0x12,0x5e,0x5d,0x73,0xfb,0x75
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_additionalinput2[] =
++      {
++      0xcd,0x2c,0xff,0x14,0x69,0x3e,0x4c,0x9e,0xfd,0xfe,0x26,0x0d,
++      0xe9,0x86,0x00,0x49,0x30,0xba,0xb1,0xc6,0x50,0x57,0x77,0x2a,
++      0x62,0x39,0x2c,0x3b,0x74,0xeb,0xc9,0x0d
++      };
++
++__fips_constseg
++static const unsigned char aes_256_use_df_returnedbits[] =
++      {
++      0x4f,0x78,0xbe,0xb9,0x4d,0x97,0x8c,0xe9,0xd0,0x97,0xfe,0xad,
++      0xfa,0xfd,0x35,0x5e
++      };
++
++
++/* AES-128 no df PR  */
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_entropyinput[] =
++      {
++      0x9a,0x25,0x65,0x10,0x67,0xd5,0xb6,0x6b,0x70,0xa1,0xb3,0xa4,
++      0x43,0x95,0x80,0xc0,0x84,0x0a,0x79,0xb0,0x88,0x74,0xf2,0xbf,
++      0x31,0x6c,0x33,0x38,0x0b,0x00,0xb2,0x5a
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_nonce[] =
++      {
++      0x78,0x47,0x6b,0xf7,0x90,0x8e,0x87,0xf1
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_personalizationstring[] =
++      {
++      0xf7,0x22,0x1d,0x3a,0xbe,0x1d,0xca,0x32,0x1b,0xbd,0x87,0x0c,
++      0x51,0x24,0x19,0xee,0xa3,0x23,0x09,0x63,0x33,0x3d,0xa8,0x0c,
++      0x1c,0xfa,0x42,0x89,0xcc,0x6f,0xa0,0xa8
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_additionalinput[] =
++      {
++      0xc9,0xe0,0x80,0xbf,0x8c,0x45,0x58,0x39,0xff,0x00,0xab,0x02,
++      0x4c,0x3e,0x3a,0x95,0x9b,0x80,0xa8,0x21,0x2a,0xee,0xba,0x73,
++      0xb1,0xd9,0xcf,0x28,0xf6,0x8f,0x9b,0x12
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_entropyinputpr[] =
++      {
++      0x4c,0xa8,0xc5,0xf0,0x59,0x9e,0xa6,0x8d,0x26,0x53,0xd7,0x8a,
++      0xa9,0xd8,0xf7,0xed,0xb2,0xf9,0x12,0x42,0xe1,0xe5,0xbd,0xe7,
++      0xe7,0x1d,0x74,0x99,0x00,0x9d,0x31,0x3e
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_int_returnedbits[] =
++      {
++      0xe2,0xac,0x20,0xf0,0x80,0xe7,0xbc,0x7e,0x9c,0x7b,0x65,0x71,
++      0xaf,0x19,0x32,0x16
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_additionalinput2[] =
++      {
++      0x32,0x7f,0x38,0x8b,0x73,0x0a,0x78,0x83,0xdc,0x30,0xbe,0x9f,
++      0x10,0x1f,0xf5,0x1f,0xca,0x00,0xb5,0x0d,0xd6,0x9d,0x60,0x83,
++      0x51,0x54,0x7d,0x38,0x23,0x3a,0x52,0x50
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_entropyinputpr2[] =
++      {
++      0x18,0x61,0x53,0x56,0xed,0xed,0xd7,0x20,0xfb,0x71,0x04,0x7a,
++      0xb2,0xac,0xc1,0x28,0xcd,0xf2,0xc2,0xfc,0xaa,0xb1,0x06,0x07,
++      0xe9,0x46,0x95,0x02,0x48,0x01,0x78,0xf9
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_pr_returnedbits[] =
++      {
++      0x29,0xc8,0x1b,0x15,0xb1,0xd1,0xc2,0xf6,0x71,0x86,0x68,0x33,
++      0x57,0x82,0x33,0xaf
++      };
++
++
++/* AES-128 no df No PR  */
++__fips_constseg
++static const unsigned char aes_128_no_df_entropyinput[] =
++      {
++      0xc9,0xc5,0x79,0xbc,0xe8,0xc5,0x19,0xd8,0xbc,0x66,0x73,0x67,
++      0xf6,0xd3,0x72,0xaa,0xa6,0x16,0xb8,0x50,0xb7,0x47,0x3a,0x42,
++      0xab,0xf4,0x16,0xb2,0x96,0xd2,0xb6,0x60
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_nonce[] =
++      {
++      0x5f,0xbf,0x97,0x0c,0x4b,0xa4,0x87,0x13
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_personalizationstring[] =
++      {
++      0xce,0xfb,0x7b,0x3f,0xd4,0x6b,0x29,0x0d,0x69,0x06,0xff,0xbb,
++      0xf2,0xe5,0xc6,0x6c,0x0a,0x10,0xa0,0xcf,0x1a,0x48,0xc7,0x8b,
++      0x3c,0x16,0x88,0xed,0x50,0x13,0x81,0xce
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_additionalinput[] =
++      {
++      0x4b,0x22,0x46,0x18,0x02,0x7b,0xd2,0x1b,0x22,0x42,0x7c,0x37,
++      0xd9,0xf6,0xe8,0x9b,0x12,0x30,0x5f,0xe9,0x90,0xe8,0x08,0x24,
++      0x4f,0x06,0x66,0xdb,0x19,0x2b,0x13,0x95
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_int_returnedbits[] =
++      {
++      0x2e,0x96,0x70,0x64,0xfa,0xdf,0xdf,0x57,0xb5,0x82,0xee,0xd6,
++      0xed,0x3e,0x65,0xc2
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_entropyinputreseed[] =
++      {
++      0x26,0xc0,0x72,0x16,0x3a,0x4b,0xb7,0x99,0xd4,0x07,0xaf,0x66,
++      0x62,0x36,0x96,0xa4,0x51,0x17,0xfa,0x07,0x8b,0x17,0x5e,0xa1,
++      0x2f,0x3c,0x10,0xe7,0x90,0xd0,0x46,0x00
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_additionalinputreseed[] =
++      {
++      0x83,0x39,0x37,0x7b,0x02,0x06,0xd2,0x12,0x13,0x8d,0x8b,0xf2,
++      0xf0,0xf6,0x26,0xeb,0xa4,0x22,0x7b,0xc2,0xe7,0xba,0x79,0xe4,
++      0x3b,0x77,0x5d,0x4d,0x47,0xb2,0x2d,0xb4
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_additionalinput2[] =
++      {
++      0x0b,0xb9,0x67,0x37,0xdb,0x83,0xdf,0xca,0x81,0x8b,0xf9,0x3f,
++      0xf1,0x11,0x1b,0x2f,0xf0,0x61,0xa6,0xdf,0xba,0xa3,0xb1,0xac,
++      0xd3,0xe6,0x09,0xb8,0x2c,0x6a,0x67,0xd6
++      };
++
++__fips_constseg
++static const unsigned char aes_128_no_df_returnedbits[] =
++      {
++      0x1e,0xa7,0xa4,0xe4,0xe1,0xa6,0x7c,0x69,0x9a,0x44,0x6c,0x36,
++      0x81,0x37,0x19,0xd4
++      };
++
++
++/* AES-192 no df PR  */
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_entropyinput[] =
++      {
++      0x9d,0x2c,0xd2,0x55,0x66,0xea,0xe0,0xbe,0x18,0xb7,0x76,0xe7,
++      0x73,0x35,0xd8,0x1f,0xad,0x3a,0xe3,0x81,0x0e,0x92,0xd0,0x61,
++      0xc9,0x12,0x26,0xf6,0x1c,0xdf,0xfe,0x47,0xaa,0xfe,0x7d,0x5a,
++      0x17,0x1f,0x8d,0x9a
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_nonce[] =
++      {
++      0x44,0x82,0xed,0xe8,0x4c,0x28,0x5a,0x14,0xff,0x88,0x8d,0x19,
++      0x61,0x5c,0xee,0x0f
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_personalizationstring[] =
++      {
++      0x47,0xd7,0x9b,0x99,0xaa,0xcb,0xe7,0xd2,0x57,0x66,0x2c,0xe1,
++      0x78,0xd6,0x2c,0xea,0xa3,0x23,0x5f,0x2a,0xc1,0x3a,0xf0,0xa4,
++      0x20,0x3b,0xfa,0x07,0xd5,0x05,0x02,0xe4,0x57,0x01,0xb6,0x10,
++      0x57,0x2e,0xe7,0x55
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_additionalinput[] =
++      {
++      0x4b,0x74,0x0b,0x40,0xce,0x6b,0xc2,0x6a,0x24,0xb4,0xf3,0xad,
++      0x7a,0xa5,0x7a,0xa2,0x15,0xe2,0xc8,0x61,0x15,0xc6,0xb7,0x85,
++      0x69,0x11,0xad,0x7b,0x14,0xd2,0xf6,0x12,0xa1,0x95,0x5d,0x3f,
++      0xe2,0xd0,0x0c,0x2f
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_entropyinputpr[] =
++      {
++      0x0c,0x9c,0xad,0x05,0xee,0xae,0x48,0x23,0x89,0x59,0xa1,0x94,
++      0xd7,0xd8,0x75,0xd5,0x54,0x93,0xc7,0x4a,0xd9,0x26,0xde,0xeb,
++      0xba,0xb0,0x7e,0x30,0x1d,0x5f,0x69,0x40,0x9c,0x3b,0x17,0x58,
++      0x1d,0x30,0xb3,0x78
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_int_returnedbits[] =
++      {
++      0xf7,0x93,0xb0,0x6d,0x77,0x83,0xd5,0x38,0x01,0xe1,0x52,0x40,
++      0x7e,0x3e,0x0c,0x26
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_additionalinput2[] =
++      {
++      0xbc,0x4b,0x37,0x44,0x1c,0xc5,0x45,0x5f,0x8f,0x51,0x62,0x8a,
++      0x85,0x30,0x1d,0x7c,0xe4,0xcf,0xf7,0x44,0xce,0x32,0x3e,0x57,
++      0x95,0xa4,0x2a,0xdf,0xfd,0x9e,0x38,0x41,0xb3,0xf6,0xc5,0xee,
++      0x0c,0x4b,0xee,0x6e
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_entropyinputpr2[] =
++      {
++      0xec,0xaf,0xf6,0x4f,0xb1,0xa0,0x54,0xb5,0x5b,0xe3,0x46,0xb0,
++      0x76,0x5a,0x7c,0x3f,0x7b,0x94,0x69,0x21,0x51,0x02,0xe5,0x9f,
++      0x04,0x59,0x02,0x98,0xc6,0x43,0x2c,0xcc,0x26,0x4c,0x87,0x6b,
++      0x8e,0x0a,0x83,0xdf
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_pr_returnedbits[] =
++      {
++      0x74,0x45,0xfb,0x53,0x84,0x96,0xbe,0xff,0x15,0xcc,0x41,0x91,
++      0xb9,0xa1,0x21,0x68
++      };
++
++
++/* AES-192 no df No PR  */
++__fips_constseg
++static const unsigned char aes_192_no_df_entropyinput[] =
++      {
++      0x3c,0x7d,0xb5,0xe0,0x54,0xd9,0x6e,0x8c,0xa9,0x86,0xce,0x4e,
++      0x6b,0xaf,0xeb,0x2f,0xe7,0x75,0xe0,0x8b,0xa4,0x3b,0x07,0xfe,
++      0xbe,0x33,0x75,0x93,0x80,0x27,0xb5,0x29,0x47,0x8b,0xc7,0x28,
++      0x94,0xc3,0x59,0x63
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_nonce[] =
++      {
++      0x43,0xf1,0x7d,0xb8,0xc3,0xfe,0xd0,0x23,0x6b,0xb4,0x92,0xdb,
++      0x29,0xfd,0x45,0x71
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_personalizationstring[] =
++      {
++      0x9f,0x24,0x29,0x99,0x9e,0x01,0xab,0xe9,0x19,0xd8,0x23,0x08,
++      0xb7,0xd6,0x7e,0x8c,0xc0,0x9e,0x7f,0x6e,0x5b,0x33,0x20,0x96,
++      0x0b,0x23,0x2c,0xa5,0x6a,0xf8,0x1b,0x04,0x26,0xdb,0x2e,0x2b,
++      0x3b,0x88,0xce,0x35
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_additionalinput[] =
++      {
++      0x94,0xe9,0x7c,0x3d,0xa7,0xdb,0x60,0x83,0x1f,0x98,0x3f,0x0b,
++      0x88,0x59,0x57,0x51,0x88,0x9f,0x76,0x49,0x9f,0xa6,0xda,0x71,
++      0x1d,0x0d,0x47,0x16,0x63,0xc5,0x68,0xe4,0x5d,0x39,0x69,0xb3,
++      0x3e,0xbe,0xd4,0x8e
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_int_returnedbits[] =
++      {
++      0xf9,0xd7,0xad,0x69,0xab,0x8f,0x23,0x56,0x70,0x17,0x4f,0x2a,
++      0x45,0xe7,0x4a,0xc5
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_entropyinputreseed[] =
++      {
++      0xa6,0x71,0x6a,0x3d,0xba,0xd1,0xe8,0x66,0xa6,0xef,0xb2,0x0e,
++      0xa8,0x9c,0xaa,0x4e,0xaf,0x17,0x89,0x50,0x00,0xda,0xa1,0xb1,
++      0x0b,0xa4,0xd9,0x35,0x89,0xc8,0xe5,0xb0,0xd9,0xb7,0xc4,0x33,
++      0x9b,0xcb,0x7e,0x75
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_additionalinputreseed[] =
++      {
++      0x27,0x21,0xfc,0xc2,0xbd,0xf3,0x3c,0xce,0xc3,0xca,0xc1,0x01,
++      0xe0,0xff,0x93,0x12,0x7d,0x54,0x42,0xe3,0x9f,0x03,0xdf,0x27,
++      0x04,0x07,0x3c,0x53,0x7f,0xa8,0x66,0xc8,0x97,0x4b,0x61,0x40,
++      0x5d,0x7a,0x25,0x79
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_additionalinput2[] =
++      {
++      0x2d,0x8e,0x16,0x5d,0x0b,0x9f,0xeb,0xaa,0xd6,0xec,0x28,0x71,
++      0x7c,0x0b,0xc1,0x1d,0xd4,0x44,0x19,0x47,0xfd,0x1d,0x7c,0xe5,
++      0xf3,0x27,0xe1,0xb6,0x72,0x0a,0xe0,0xec,0x0e,0xcd,0xef,0x1a,
++      0x91,0x6a,0xe3,0x5f
++      };
++
++__fips_constseg
++static const unsigned char aes_192_no_df_returnedbits[] =
++      {
++      0xe5,0xda,0xb8,0xe0,0x63,0x59,0x5a,0xcc,0x3d,0xdc,0x9f,0xe8,
++      0x66,0x67,0x2c,0x92
++      };
++
++
++/* AES-256 no df PR  */
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_entropyinput[] =
++      {
++      0x15,0xc7,0x5d,0xcb,0x41,0x4b,0x16,0x01,0x3a,0xd1,0x44,0xe8,
++      0x22,0x32,0xc6,0x9c,0x3f,0xe7,0x43,0xf5,0x9a,0xd3,0xea,0xf2,
++      0xd7,0x4e,0x6e,0x6a,0x55,0x73,0x40,0xef,0x89,0xad,0x0d,0x03,
++      0x96,0x7e,0x78,0x81,0x2f,0x91,0x1b,0x44,0xb0,0x02,0xba,0x1c
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_nonce[] =
++      {
++      0xdc,0xe4,0xd4,0x27,0x7a,0x90,0xd7,0x99,0x43,0xa1,0x3c,0x30,
++      0xcc,0x4b,0xee,0x2e
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_personalizationstring[] =
++      {
++      0xe3,0xe6,0xb9,0x11,0xe4,0x7a,0xa4,0x40,0x6b,0xf8,0x73,0xf7,
++      0x7e,0xec,0xc7,0xb9,0x97,0xbf,0xf8,0x25,0x7b,0xbe,0x11,0x9b,
++      0x5b,0x6a,0x0c,0x2e,0x2b,0x01,0x51,0xcd,0x41,0x4b,0x6b,0xac,
++      0x31,0xa8,0x0b,0xf7,0xe6,0x59,0x42,0xb8,0x03,0x0c,0xf8,0x06
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_additionalinput[] =
++      {
++      0x6a,0x9f,0x00,0x91,0xae,0xfe,0xcf,0x84,0x99,0xce,0xb1,0x40,
++      0x6d,0x5d,0x33,0x28,0x84,0xf4,0x8c,0x63,0x4c,0x7e,0xbd,0x2c,
++      0x80,0x76,0xee,0x5a,0xaa,0x15,0x07,0x31,0xd8,0xbb,0x8c,0x69,
++      0x9d,0x9d,0xbc,0x7e,0x49,0xae,0xec,0x39,0x6b,0xd1,0x1f,0x7e
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_entropyinputpr[] =
++      {
++      0xf3,0xb9,0x75,0x9c,0xbd,0x88,0xea,0xa2,0x50,0xad,0xd6,0x16,
++      0x1a,0x12,0x3c,0x86,0x68,0xaf,0x6f,0xbe,0x19,0xf2,0xee,0xcc,
++      0xa5,0x70,0x84,0x53,0x50,0xcb,0x9f,0x14,0xa9,0xe5,0xee,0xb9,
++      0x48,0x45,0x40,0xe2,0xc7,0xc9,0x9a,0x74,0xff,0x8c,0x99,0x1f
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_int_returnedbits[] =
++      {
++      0x2e,0xf2,0x45,0x4c,0x62,0x2e,0x0a,0xb9,0x6b,0xa2,0xfd,0x56,
++      0x79,0x60,0x93,0xcf
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_additionalinput2[] =
++      {
++      0xaf,0x69,0x20,0xe9,0x3b,0x37,0x9d,0x3f,0xb4,0x80,0x02,0x7a,
++      0x25,0x7d,0xb8,0xde,0x71,0xc5,0x06,0x0c,0xb4,0xe2,0x8f,0x35,
++      0xd8,0x14,0x0d,0x7f,0x76,0x63,0x4e,0xb5,0xee,0xe9,0x6f,0x34,
++      0xc7,0x5f,0x56,0x14,0x4a,0xe8,0x73,0x95,0x5b,0x1c,0xb9,0xcb
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_entropyinputpr2[] =
++      {
++      0xe5,0xb0,0x2e,0x7e,0x52,0x30,0xe3,0x63,0x82,0xb6,0x44,0xd3,
++      0x25,0x19,0x05,0x24,0x9a,0x9f,0x5f,0x27,0x6a,0x29,0xab,0xfa,
++      0x07,0xa2,0x42,0x0f,0xc5,0xa8,0x94,0x7c,0x17,0x7b,0x85,0x83,
++      0x0c,0x25,0x0e,0x63,0x0b,0xe9,0x12,0x60,0xcd,0xef,0x80,0x0f
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_pr_returnedbits[] =
++      {
++      0x5e,0xf2,0x26,0xef,0x9f,0x58,0x5d,0xd5,0x4a,0x10,0xfe,0xa7,
++      0x2d,0x5f,0x4a,0x46
++      };
++
++
++/* AES-256 no df No PR  */
++__fips_constseg
++static const unsigned char aes_256_no_df_entropyinput[] =
++      {
++      0xfb,0xcf,0x1b,0x61,0x16,0x89,0x78,0x23,0xf5,0xd8,0x96,0xe3,
++      0x4e,0x64,0x0b,0x29,0x9a,0x3f,0xf8,0xa5,0xed,0xf2,0xfe,0xdb,
++      0x16,0xca,0x7f,0x10,0xfa,0x5e,0x18,0x76,0x2c,0x63,0x5e,0x96,
++      0xcf,0xb3,0xd6,0xfc,0xaf,0x99,0x39,0x28,0x9c,0x61,0xe8,0xb3
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_nonce[] =
++      {
++      0x12,0x96,0xf0,0x52,0xf3,0x8d,0x81,0xcf,0xde,0x86,0xf2,0x99,
++      0x43,0x96,0xb9,0xf0
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_personalizationstring[] =
++      {
++      0x63,0x0d,0x78,0xf5,0x90,0x8e,0x32,0x47,0xb0,0x4d,0x37,0x60,
++      0x09,0x96,0xbc,0xbf,0x97,0x7a,0x62,0x14,0x45,0xbd,0x8d,0xcc,
++      0x69,0xfb,0x03,0xe1,0x80,0x1c,0xc7,0xe2,0x2a,0xf9,0x37,0x3f,
++      0x66,0x4d,0x62,0xd9,0x10,0xe0,0xad,0xc8,0x9a,0xf0,0xa8,0x6d
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_additionalinput[] =
++      {
++      0x36,0xc6,0x13,0x60,0xbb,0x14,0xad,0x22,0xb0,0x38,0xac,0xa6,
++      0x18,0x16,0x93,0x25,0x86,0xb7,0xdc,0xdc,0x36,0x98,0x2b,0xf9,
++      0x68,0x33,0xd3,0xc6,0xff,0xce,0x8d,0x15,0x59,0x82,0x76,0xed,
++      0x6f,0x8d,0x49,0x74,0x2f,0xda,0xdc,0x1f,0x17,0xd0,0xde,0x17
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_int_returnedbits[] =
++      {
++      0x16,0x2f,0x8e,0x3f,0x21,0x7a,0x1c,0x20,0x56,0xd1,0x92,0xf6,
++      0xd2,0x25,0x75,0x0e
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_entropyinputreseed[] =
++      {
++      0x91,0x79,0x76,0xee,0xe0,0xcf,0x9e,0xc2,0xd5,0xd4,0x23,0x9b,
++      0x12,0x8c,0x7e,0x0a,0xb7,0xd2,0x8b,0xd6,0x7c,0xa3,0xc6,0xe5,
++      0x0e,0xaa,0xc7,0x6b,0xae,0x0d,0xfa,0x53,0x06,0x79,0xa1,0xed,
++      0x4d,0x6a,0x0e,0xd8,0x9d,0xbe,0x1b,0x31,0x93,0x7b,0xec,0xfb
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_additionalinputreseed[] =
++      {
++      0xd2,0x46,0x50,0x22,0x10,0x14,0x63,0xf7,0xea,0x0f,0xb9,0x7e,
++      0x0d,0xe1,0x94,0x07,0xaf,0x09,0x44,0x31,0xea,0x64,0xa4,0x18,
++      0x5b,0xf9,0xd8,0xc2,0xfa,0x03,0x47,0xc5,0x39,0x43,0xd5,0x3b,
++      0x62,0x86,0x64,0xea,0x2c,0x73,0x8c,0xae,0x9d,0x98,0x98,0x29
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_additionalinput2[] =
++      {
++      0x8c,0xab,0x18,0xf8,0xc3,0xec,0x18,0x5c,0xb3,0x1e,0x9d,0xbe,
++      0x3f,0x03,0xb4,0x00,0x98,0x9d,0xae,0xeb,0xf4,0x94,0xf8,0x42,
++      0x8f,0xe3,0x39,0x07,0xe1,0xc9,0xad,0x0b,0x1f,0xed,0xc0,0xba,
++      0xf6,0xd1,0xec,0x27,0x86,0x7b,0xd6,0x55,0x9b,0x60,0xa5,0xc6
++      };
++
++__fips_constseg
++static const unsigned char aes_256_no_df_returnedbits[] =
++      {
++      0xef,0xd2,0xd8,0x5c,0xdc,0x62,0x25,0x9f,0xaa,0x1e,0x2c,0x67,
++      0xf6,0x02,0x32,0xe2
++      };
++
++
++/* SHA-1 PR  */
++__fips_constseg
++static const unsigned char sha1_pr_entropyinput[] =
++      {
++      0xd2,0x36,0xa5,0x27,0x31,0x73,0xdd,0x11,0x4f,0x93,0xbd,0xe2,
++      0x31,0xa5,0x91,0x13
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_nonce[] =
++      {
++      0xb5,0xb3,0x60,0xef,0xf7,0x63,0x31,0xf3
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_personalizationstring[] =
++      {
++      0xd4,0xbb,0x02,0x10,0xb2,0x71,0xdb,0x81,0xd6,0xf0,0x42,0x60,
++      0xda,0xea,0x77,0x52
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_additionalinput[] =
++      {
++      0x4d,0xd2,0x6c,0x87,0xfb,0x2c,0x4f,0xa6,0x8d,0x16,0x63,0x22,
++      0x6a,0x51,0xe3,0xf8
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_entropyinputpr[] =
++      {
++      0xc9,0x83,0x9e,0x16,0xf6,0x1c,0x0f,0xb2,0xec,0x60,0x31,0xa9,
++      0xcb,0xa9,0x36,0x7a
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_int_returnedbits[] =
++      {
++      0xa8,0x13,0x4f,0xf4,0x31,0x02,0x44,0xe3,0xd3,0x3d,0x61,0x9e,
++      0xe5,0xc6,0x3e,0x89,0xb5,0x9b,0x0f,0x35
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_additionalinput2[] =
++      {
++      0xf9,0xe8,0xd2,0x72,0x13,0x34,0x95,0x6f,0x15,0x49,0x47,0x99,
++      0x16,0x03,0x19,0x47
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_entropyinputpr2[] =
++      {
++      0x4e,0x8c,0x49,0x9b,0x4a,0x5c,0x9b,0x9c,0x3a,0xee,0xfb,0xd2,
++      0xae,0xcd,0x8c,0xc4
++      };
++
++__fips_constseg
++static const unsigned char sha1_pr_returnedbits[] =
++      {
++      0x50,0xb4,0xb4,0xcd,0x68,0x57,0xfc,0x2e,0xc1,0x52,0xcc,0xf6,
++      0x68,0xa4,0x81,0xed,0x7e,0xe4,0x1d,0x87
++      };
++
++
++/* SHA-1 No PR  */
++__fips_constseg
++static const unsigned char sha1_entropyinput[] =
++      {
++      0xa9,0x47,0x1b,0x29,0x2d,0x1c,0x05,0xdf,0x76,0xd0,0x62,0xf9,
++      0xe2,0x7f,0x4c,0x7b
++      };
++
++__fips_constseg
++static const unsigned char sha1_nonce[] =
++      {
++      0x53,0x23,0x24,0xe3,0xec,0x0c,0x54,0x14
++      };
++
++__fips_constseg
++static const unsigned char sha1_personalizationstring[] =
++      {
++      0x7a,0x87,0xa1,0xac,0x1c,0xfd,0xab,0xae,0xf7,0xd6,0xfb,0x76,
++      0x28,0xec,0x6d,0xca
++      };
++
++__fips_constseg
++static const unsigned char sha1_additionalinput[] =
++      {
++      0xfc,0x92,0x35,0xd6,0x7e,0xb7,0x24,0x65,0xfd,0x12,0x27,0x35,
++      0xc0,0x72,0xca,0x28
++      };
++
++__fips_constseg
++static const unsigned char sha1_int_returnedbits[] =
++      {
++      0x57,0x88,0x82,0xe5,0x25,0xa5,0x2c,0x4a,0x06,0x20,0x6c,0x72,
++      0x55,0x61,0xdd,0x90,0x71,0x9f,0x95,0xea
++      };
++
++__fips_constseg
++static const unsigned char sha1_entropyinputreseed[] =
++      {
++      0x69,0xa5,0x40,0x62,0x98,0x47,0x56,0x73,0x4a,0x8f,0x60,0x96,
++      0xd6,0x99,0x27,0xed
++      };
++
++__fips_constseg
++static const unsigned char sha1_additionalinputreseed[] =
++      {
++      0xe5,0x40,0x4e,0xbd,0x50,0x00,0xf5,0x15,0xa6,0xee,0x45,0xda,
++      0x84,0x3d,0xd4,0xc0
++      };
++
++__fips_constseg
++static const unsigned char sha1_additionalinput2[] =
++      {
++      0x11,0x51,0x14,0xf0,0x09,0x1b,0x4e,0x56,0x0d,0xe9,0xf6,0x1e,
++      0x52,0x65,0xcd,0x96
++      };
++
++__fips_constseg
++static const unsigned char sha1_returnedbits[] =
++      {
++      0xa1,0x9c,0x94,0x6e,0x29,0xe1,0x33,0x0d,0x32,0xd6,0xaa,0xce,
++      0x71,0x3f,0x52,0x72,0x8b,0x42,0xa8,0xd7
++      };
++
++
++/* SHA-224 PR  */
++__fips_constseg
++static const unsigned char sha224_pr_entropyinput[] =
++      {
++      0x12,0x69,0x32,0x4f,0x83,0xa6,0xf5,0x14,0xe3,0x49,0x3e,0x75,
++      0x3e,0xde,0xad,0xa1,0x29,0xc3,0xf3,0x19,0x20,0xb5,0x4c,0xd9
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_nonce[] =
++      {
++      0x6a,0x78,0xd0,0xeb,0xbb,0x5a,0xf0,0xee,0xe8,0xc3,0xba,0x71
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_personalizationstring[] =
++      {
++      0xd5,0xb8,0xb6,0xbc,0xc1,0x5b,0x60,0x31,0x3c,0xf5,0xe5,0xc0,
++      0x8e,0x52,0x7a,0xbd,0xea,0x47,0xa9,0x5f,0x8f,0xf9,0x8b,0xae
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_additionalinput[] =
++      {
++      0x1f,0x55,0xec,0xae,0x16,0x12,0x84,0xba,0x84,0x16,0x19,0x88,
++      0x8e,0xb8,0x33,0x25,0x54,0xff,0xca,0x79,0xaf,0x07,0x25,0x50
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_entropyinputpr[] =
++      {
++      0x92,0xa3,0x32,0xa8,0x9a,0x0a,0x58,0x7c,0x1d,0x5a,0x7e,0xe1,
++      0xb2,0x73,0xab,0x0e,0x16,0x79,0x23,0xd3,0x29,0x89,0x81,0xe1
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_int_returnedbits[] =
++      {
++      0xf3,0x38,0x91,0x40,0x37,0x7a,0x51,0x72,0x42,0x74,0x78,0x0a,
++      0x69,0xfd,0xa6,0x44,0x43,0x45,0x6c,0x0c,0x5a,0x19,0xff,0xf1,
++      0x54,0x60,0xee,0x6a
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_additionalinput2[] =
++      {
++      0x75,0xf3,0x04,0x25,0xdd,0x36,0xa8,0x37,0x46,0xae,0x0c,0x52,
++      0x05,0x79,0x4c,0x26,0xdb,0xe9,0x71,0x16,0x4c,0x0a,0xf2,0x60
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_entropyinputpr2[] =
++      {
++      0xea,0xc5,0x03,0x0a,0x4f,0xb0,0x38,0x8d,0x23,0xd4,0xc8,0x77,
++      0xe2,0x6d,0x9c,0x0b,0x44,0xf7,0x2d,0x5b,0xbf,0x5d,0x2a,0x11
++      };
++
++__fips_constseg
++static const unsigned char sha224_pr_returnedbits[] =
++      {
++      0x60,0x50,0x2b,0xe7,0x86,0xd8,0x26,0x73,0xe3,0x1d,0x95,0x20,
++      0xb3,0x2c,0x32,0x1c,0xf5,0xce,0x57,0xa6,0x67,0x2b,0xdc,0x4e,
++      0xdd,0x11,0x4c,0xc4
++      };
++
++
++/* SHA-224 No PR  */
++__fips_constseg
++static const unsigned char sha224_entropyinput[] =
++      {
++      0xb2,0x1c,0x77,0x4d,0xf6,0xd3,0xb6,0x40,0xb7,0x30,0x3e,0x29,
++      0xb0,0x85,0x1c,0xbe,0x4a,0xea,0x6b,0x5a,0xb5,0x8a,0x97,0xeb
++      };
++
++__fips_constseg
++static const unsigned char sha224_nonce[] =
++      {
++      0x42,0x02,0x0a,0x1c,0x98,0x9a,0x77,0x9e,0x9f,0x80,0xba,0xe0
++      };
++
++__fips_constseg
++static const unsigned char sha224_personalizationstring[] =
++      {
++      0x98,0xb8,0x04,0x41,0xfc,0xc1,0x5d,0xc5,0xe9,0xb9,0x08,0xda,
++      0xf9,0xfa,0x0d,0x90,0xce,0xdf,0x1d,0x10,0xa9,0x8d,0x50,0x0c
++      };
++
++__fips_constseg
++static const unsigned char sha224_additionalinput[] =
++      {
++      0x9a,0x8d,0x39,0x49,0x42,0xd5,0x0b,0xae,0xe1,0xaf,0xb7,0x00,
++      0x02,0xfa,0x96,0xb1,0xa5,0x1d,0x2d,0x25,0x78,0xee,0x83,0x3f
++      };
++
++__fips_constseg
++static const unsigned char sha224_int_returnedbits[] =
++      {
++      0xe4,0xf5,0x53,0x79,0x5a,0x97,0x58,0x06,0x08,0xba,0x7b,0xfa,
++      0xf0,0x83,0x05,0x8c,0x22,0xc0,0xc9,0xdb,0x15,0xe7,0xde,0x20,
++      0x55,0x22,0x9a,0xad
++      };
++
++__fips_constseg
++static const unsigned char sha224_entropyinputreseed[] =
++      {
++      0x67,0x09,0x48,0xaa,0x07,0x16,0x99,0x89,0x7f,0x6d,0xa0,0xe5,
++      0x8f,0xdf,0xbc,0xdb,0xfe,0xe5,0x6c,0x7a,0x95,0x4a,0x66,0x17
++      };
++
++__fips_constseg
++static const unsigned char sha224_additionalinputreseed[] =
++      {
++      0x0f,0x4b,0x1c,0x6f,0xb7,0xe3,0x47,0xe5,0x5d,0x7d,0x38,0xd6,
++      0x28,0x9b,0xeb,0x55,0x63,0x09,0x3e,0x7c,0x56,0xea,0xf8,0x19
++      };
++
++__fips_constseg
++static const unsigned char sha224_additionalinput2[] =
++      {
++      0x2d,0x26,0x7c,0x37,0xe4,0x7a,0x28,0x5e,0x5a,0x3c,0xaf,0x3d,
++      0x5a,0x8e,0x55,0xa2,0x1a,0x6e,0xc0,0xe5,0xf6,0x21,0xd3,0xf6
++      };
++
++__fips_constseg
++static const unsigned char sha224_returnedbits[] =
++      {
++      0x4d,0x83,0x35,0xdf,0x67,0xa9,0xfc,0x17,0xda,0x70,0xcc,0x8b,
++      0x7f,0x77,0xae,0xa2,0x5f,0xb9,0x7e,0x74,0x4c,0x26,0xc1,0x7a,
++      0x3b,0xa7,0x5c,0x93
++      };
++
++
++/* SHA-256 PR  */
++__fips_constseg
++static const unsigned char sha256_pr_entropyinput[] =
++      {
++      0xce,0x49,0x00,0x7a,0x56,0xe3,0x67,0x8f,0xe1,0xb6,0xa7,0xd4,
++      0x4f,0x08,0x7a,0x1b,0x01,0xf4,0xfa,0x6b,0xef,0xb7,0xe5,0xeb,
++      0x07,0x3d,0x11,0x0d,0xc8,0xea,0x2b,0xfe
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_nonce[] =
++      {
++      0x73,0x41,0xc8,0x92,0x94,0xe2,0xc5,0x5f,0x93,0xfd,0x39,0x5d,
++      0x2b,0x91,0x4d,0x38
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_personalizationstring[] =
++      {
++      0x50,0x6d,0x01,0x01,0x07,0x5a,0x80,0x35,0x7a,0x56,0x1a,0x56,
++      0x2f,0x9a,0x0b,0x35,0xb2,0xb1,0xc9,0xe5,0xca,0x69,0x61,0x48,
++      0xff,0xfb,0x0f,0xd9,0x4b,0x79,0x1d,0xba
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_additionalinput[] =
++      {
++      0x20,0xb8,0xdf,0x44,0x77,0x5a,0xb8,0xd3,0xbf,0xf6,0xcf,0xac,
++      0x5e,0xa6,0x96,0x62,0x73,0x44,0x40,0x4a,0x30,0xfb,0x38,0xa5,
++      0x7b,0x0d,0xe4,0x0d,0xc6,0xe4,0x9a,0x1f
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_entropyinputpr[] =
++      {
++      0x04,0xc4,0x65,0xf4,0xd3,0xbf,0x83,0x4b,0xab,0xc8,0x41,0xa8,
++      0xc2,0xe0,0x44,0x63,0x77,0x4c,0x6f,0x6c,0x49,0x46,0xff,0x94,
++      0x17,0xea,0xe6,0x1a,0x9d,0x5e,0x66,0x78
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_int_returnedbits[] =
++      {
++      0x07,0x4d,0xac,0x9b,0x86,0xca,0x4a,0xaa,0x6e,0x7a,0x03,0xa2,
++      0x5d,0x10,0xea,0x0b,0xf9,0x83,0xcc,0xd1,0xfc,0xe2,0x07,0xc7,
++      0x06,0x34,0x60,0x6f,0x83,0x94,0x99,0x76
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_additionalinput2[] =
++      {
++      0x89,0x4e,0x45,0x8c,0x11,0xf9,0xbc,0x5b,0xac,0x74,0x8b,0x4b,
++      0x5f,0xf7,0x19,0xf3,0xf5,0x24,0x54,0x14,0xd1,0x15,0xb1,0x43,
++      0x12,0xa4,0x5f,0xd4,0xec,0xfc,0xcd,0x09
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_entropyinputpr2[] =
++      {
++      0x0e,0xeb,0x1f,0xd7,0xfc,0xd1,0x9d,0xd4,0x05,0x36,0x8b,0xb2,
++      0xfb,0xe4,0xf4,0x51,0x0c,0x87,0x9b,0x02,0x44,0xd5,0x92,0x4d,
++      0x44,0xfe,0x1a,0x03,0x43,0x56,0xbd,0x86
++      };
++
++__fips_constseg
++static const unsigned char sha256_pr_returnedbits[] =
++      {
++      0x02,0xaa,0xb6,0x1d,0x7e,0x2a,0x40,0x03,0x69,0x2d,0x49,0xa3,
++      0x41,0xe7,0x44,0x0b,0xaf,0x7b,0x85,0xe4,0x5f,0x53,0x3b,0x64,
++      0xbc,0x89,0xc8,0x82,0xd4,0x78,0x37,0xa2
++      };
++
++
++/* SHA-256 No PR  */
++__fips_constseg
++static const unsigned char sha256_entropyinput[] =
++      {
++      0x5b,0x1b,0xec,0x4d,0xa9,0x38,0x74,0x5a,0x34,0x0b,0x7b,0xc5,
++      0xe5,0xd7,0x66,0x7c,0xbc,0x82,0xb9,0x0e,0x2d,0x1f,0x92,0xd7,
++      0xc1,0xbc,0x67,0x69,0xec,0x6b,0x03,0x3c
++      };
++
++__fips_constseg
++static const unsigned char sha256_nonce[] =
++      {
++      0xa4,0x0c,0xd8,0x9c,0x61,0xd8,0xc3,0x54,0xfe,0x53,0xc9,0xe5,
++      0x5d,0x6f,0x6d,0x35
++      };
++
++__fips_constseg
++static const unsigned char sha256_personalizationstring[] =
++      {
++      0x22,0x5e,0x62,0x93,0x42,0x83,0x78,0x24,0xd8,0x40,0x8c,0xde,
++      0x6f,0xf9,0xa4,0x7a,0xc5,0xa7,0x3b,0x88,0xa3,0xee,0x42,0x20,
++      0xfd,0x61,0x56,0xc6,0x4c,0x13,0x41,0x9c
++      };
++
++__fips_constseg
++static const unsigned char sha256_additionalinput[] =
++      {
++      0xbf,0x74,0x5b,0xf6,0xc5,0x64,0x5e,0x99,0x34,0x8f,0xbc,0xa4,
++      0xe2,0xbd,0xd8,0x85,0x26,0x37,0xea,0xba,0x4f,0xf2,0x9a,0x9a,
++      0x66,0xfc,0xdf,0x63,0x26,0x26,0x19,0x87
++      };
++
++__fips_constseg
++static const unsigned char sha256_int_returnedbits[] =
++      {
++      0xb3,0xc6,0x07,0x07,0xd6,0x75,0xf6,0x2b,0xd6,0x21,0x96,0xf1,
++      0xae,0xdb,0x2b,0xac,0x25,0x2a,0xae,0xae,0x41,0x72,0x03,0x5e,
++      0xbf,0xd3,0x64,0xbc,0x59,0xf9,0xc0,0x76
++      };
++
++__fips_constseg
++static const unsigned char sha256_entropyinputreseed[] =
++      {
++      0xbf,0x20,0x33,0x56,0x29,0xa8,0x37,0x04,0x1f,0x78,0x34,0x3d,
++      0x81,0x2a,0xc9,0x86,0xc6,0x7a,0x2f,0x88,0x5e,0xd5,0xbe,0x34,
++      0x46,0x20,0xa4,0x35,0xeb,0xc7,0xe2,0x9d
++      };
++
++__fips_constseg
++static const unsigned char sha256_additionalinputreseed[] =
++      {
++      0x9b,0xae,0x2d,0x2d,0x61,0xa4,0x89,0xeb,0x43,0x46,0xa7,0xda,
++      0xef,0x40,0xca,0x4a,0x99,0x11,0x41,0xdc,0x5c,0x94,0xe9,0xac,
++      0xd4,0xd0,0xe6,0xbd,0xfb,0x03,0x9c,0xa8
++      };
++
++__fips_constseg
++static const unsigned char sha256_additionalinput2[] =
++      {
++      0x23,0xaa,0x0c,0xbd,0x28,0x33,0xe2,0x51,0xfc,0x71,0xd2,0x15,
++      0x1f,0x76,0xfd,0x0d,0xe0,0xb7,0xb5,0x84,0x75,0x5b,0xbe,0xf3,
++      0x5c,0xca,0xc5,0x30,0xf2,0x75,0x1f,0xda
++      };
++
++__fips_constseg
++static const unsigned char sha256_returnedbits[] =
++      {
++      0x90,0x3c,0xc1,0x10,0x8c,0x12,0x01,0xc6,0xa6,0x3a,0x0f,0x4d,
++      0xb6,0x3a,0x4f,0x41,0x9c,0x61,0x75,0x84,0xe9,0x74,0x75,0xfd,
++      0xfe,0xf2,0x1f,0x43,0xd8,0x5e,0x24,0xa3
++      };
++
++
++/* SHA-384 PR  */
++__fips_constseg
++static const unsigned char sha384_pr_entropyinput[] =
++      {
++      0x71,0x9d,0xb2,0x5a,0x71,0x6d,0x04,0xe9,0x1e,0xc7,0x92,0x24,
++      0x6e,0x12,0x33,0xa9,0x52,0x64,0x31,0xef,0x71,0xeb,0x22,0x55,
++      0x28,0x97,0x06,0x6a,0xc0,0x0c,0xa0,0x7e
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_nonce[] =
++      {
++      0xf5,0x0d,0xfa,0xb0,0xec,0x6a,0x7c,0xd6,0xbd,0x9b,0x05,0xfd,
++      0x38,0x3e,0x2e,0x56
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_personalizationstring[] =
++      {
++      0x74,0xac,0x7e,0x6d,0xb1,0xa4,0xe7,0x21,0xd1,0x1e,0x6e,0x96,
++      0x6d,0x4d,0x53,0x46,0x82,0x96,0x6e,0xcf,0xaa,0x81,0x8d,0x7d,
++      0x9e,0xe1,0x0f,0x15,0xea,0x41,0xbf,0xe3
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_additionalinput[] =
++      {
++      0xda,0x95,0xd4,0xd0,0xb8,0x11,0xd3,0x49,0x27,0x5d,0xa9,0x39,
++      0x68,0xf3,0xa8,0xe9,0x5d,0x19,0x8a,0x2b,0x66,0xe8,0x69,0x06,
++      0x7c,0x9e,0x03,0xa1,0x8b,0x26,0x2d,0x6e
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_entropyinputpr[] =
++      {
++      0x49,0xdf,0x44,0x00,0xe4,0x1c,0x75,0x0b,0x26,0x5a,0x59,0x64,
++      0x1f,0x4e,0xb1,0xb2,0x13,0xf1,0x22,0x4e,0xb4,0x6d,0x9a,0xcc,
++      0xa0,0x48,0xe6,0xcf,0x1d,0xd1,0x92,0x0d
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_int_returnedbits[] =
++      {
++      0xc8,0x52,0xae,0xbf,0x04,0x3c,0x27,0xb7,0x78,0x18,0xaa,0x8f,
++      0xff,0xcf,0xa4,0xf1,0xcc,0xe7,0x68,0xfa,0x22,0xa2,0x13,0x45,
++      0xe8,0xdd,0x87,0xe6,0xf2,0x6e,0xdd,0xc7,0x52,0x90,0x9f,0x7b,
++      0xfa,0x61,0x2d,0x9d,0x9e,0xcf,0x98,0xac,0x52,0x40,0xce,0xaf
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_additionalinput2[] =
++      {
++      0x61,0x7c,0x03,0x9a,0x3e,0x50,0x57,0x60,0xc5,0x83,0xc9,0xb2,
++      0xd1,0x87,0x85,0x66,0x92,0x5d,0x84,0x0e,0x53,0xfb,0x70,0x03,
++      0x72,0xfd,0xba,0xae,0x9c,0x8f,0xf8,0x18
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_entropyinputpr2[] =
++      {
++      0xf8,0xeb,0x89,0xb1,0x8d,0x78,0xbe,0x21,0xe0,0xbb,0x9d,0xb7,
++      0x95,0x0e,0xd9,0x46,0x0c,0x8c,0xe2,0x63,0xb7,0x9d,0x67,0x90,
++      0xbd,0xc7,0x0b,0xa5,0xce,0xb2,0x65,0x81
++      };
++
++__fips_constseg
++static const unsigned char sha384_pr_returnedbits[] =
++      {
++      0xe6,0x9f,0xfe,0x68,0xd6,0xb5,0x79,0xf1,0x06,0x5f,0xa3,0xbb,
++      0x23,0x85,0xd8,0xf0,0x29,0x5a,0x68,0x9e,0xf5,0xf4,0xa6,0x12,
++      0xe0,0x9a,0xe2,0xac,0x00,0x1d,0x98,0x26,0xfc,0x53,0x95,0x53,
++      0xe4,0x3e,0x17,0xd5,0x08,0x0b,0x70,0x3d,0x67,0x99,0xac,0x66
++      };
++
++
++/* SHA-384 No PR  */
++__fips_constseg
++static const unsigned char sha384_entropyinput[] =
++      {
++      0x07,0x15,0x27,0x2a,0xaf,0x74,0x24,0x37,0xbc,0xd5,0x14,0x69,
++      0xce,0x11,0xff,0xa2,0x6b,0xb8,0x05,0x67,0x34,0xf8,0xbd,0x6d,
++      0x6a,0xcc,0xcd,0x60,0xa3,0x68,0xca,0xf4
++      };
++
++__fips_constseg
++static const unsigned char sha384_nonce[] =
++      {
++      0x70,0x17,0xc2,0x5b,0x5d,0x22,0x0b,0x06,0x15,0x54,0x78,0x77,
++      0x44,0xaf,0x2f,0x09
++      };
++
++__fips_constseg
++static const unsigned char sha384_personalizationstring[] =
++      {
++      0x89,0x39,0x28,0xb0,0x60,0xeb,0x3d,0xdc,0x55,0x75,0x86,0xeb,
++      0xae,0xa2,0x8f,0xbc,0x1b,0x75,0xd4,0xe1,0x0f,0xaa,0x38,0xca,
++      0x62,0x8b,0xcb,0x2c,0x26,0xf6,0xbc,0xb1
++      };
++
++__fips_constseg
++static const unsigned char sha384_additionalinput[] =
++      {
++      0x30,0x2b,0x42,0x35,0xef,0xda,0x40,0x55,0x28,0xc6,0x95,0xfb,
++      0x54,0x01,0x62,0xd7,0x87,0x14,0x48,0x6d,0x90,0x4c,0xa9,0x02,
++      0x54,0x40,0x22,0xc8,0x66,0xa5,0x48,0x48
++      };
++
++__fips_constseg
++static const unsigned char sha384_int_returnedbits[] =
++      {
++      0x82,0xc4,0xa1,0x9c,0x21,0xd2,0xe7,0xa5,0xa6,0xf6,0x5f,0x04,
++      0x5c,0xc7,0x31,0x9d,0x8d,0x59,0x74,0x50,0x19,0x89,0x2f,0x63,
++      0xd5,0xb7,0x7e,0xeb,0x15,0xe3,0x70,0x83,0xa1,0x24,0x59,0xfa,
++      0x2c,0x56,0xf6,0x88,0x3a,0x92,0x93,0xa1,0xfb,0x79,0xc1,0x7a
++      };
++
++__fips_constseg
++static const unsigned char sha384_entropyinputreseed[] =
++      {
++      0x39,0xa6,0xe8,0x5c,0x82,0x17,0x71,0x26,0x57,0x4f,0x9f,0xc2,
++      0x55,0xff,0x5c,0x9b,0x53,0x1a,0xd1,0x5f,0xbc,0x62,0xe4,0x27,
++      0x2d,0x32,0xf0,0xe4,0x52,0x8c,0xc5,0x0c
++      };
++
++__fips_constseg
++static const unsigned char sha384_additionalinputreseed[] =
++      {
++      0x8d,0xcb,0x8d,0xce,0x08,0xea,0x80,0xe8,0x9b,0x61,0xa8,0x0f,
++      0xaf,0x49,0x20,0x9e,0x74,0xcb,0x57,0x80,0x42,0xb0,0x84,0x5e,
++      0x30,0x2a,0x67,0x08,0xf4,0xe3,0x40,0x22
++      };
++
++__fips_constseg
++static const unsigned char sha384_additionalinput2[] =
++      {
++      0x7c,0x8f,0xc2,0xae,0x22,0x4a,0xd6,0xf6,0x05,0xa4,0x7a,0xea,
++      0xbb,0x25,0xd0,0xb7,0x5a,0xd6,0xcf,0x9d,0xf3,0x6c,0xe2,0xb2,
++      0x4e,0xb4,0xbd,0xf4,0xe5,0x40,0x80,0x94
++      };
++
++__fips_constseg
++static const unsigned char sha384_returnedbits[] =
++      {
++      0x9e,0x7e,0xfb,0x59,0xbb,0xaa,0x3c,0xf7,0xe1,0xf8,0x76,0xdd,
++      0x63,0x5f,0xaf,0x23,0xd6,0x64,0x61,0xc0,0x9a,0x09,0x47,0xc9,
++      0x33,0xdf,0x6d,0x55,0x91,0x34,0x79,0x70,0xc4,0x99,0x6e,0x54,
++      0x09,0x64,0x21,0x1a,0xbd,0x1e,0x80,0x40,0x34,0xad,0xfa,0xd7
++      };
++
++
++/* SHA-512 PR  */
++__fips_constseg
++static const unsigned char sha512_pr_entropyinput[] =
++      {
++      0x13,0xf7,0x61,0x75,0x65,0x28,0xa2,0x59,0x13,0x5a,0x4a,0x4f,
++      0x56,0x60,0x8c,0x53,0x7d,0xb0,0xbd,0x06,0x4f,0xed,0xcc,0xd2,
++      0xa2,0xb5,0xfd,0x5b,0x3a,0xab,0xec,0x28
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_nonce[] =
++      {
++      0xbe,0xa3,0x91,0x93,0x1d,0xc3,0x31,0x3a,0x23,0x33,0x50,0x67,
++      0x88,0xc7,0xa2,0xc4
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_personalizationstring[] =
++      {
++      0x1f,0x59,0x4d,0x7b,0xe6,0x46,0x91,0x48,0xc1,0x25,0xfa,0xff,
++      0x89,0x12,0x77,0x35,0xdf,0x3e,0xf4,0x80,0x5f,0xd9,0xb0,0x07,
++      0x22,0x41,0xdd,0x48,0x78,0x6b,0x77,0x2b
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_additionalinput[] =
++      {
++      0x30,0xff,0x63,0x6f,0xac,0xd9,0x84,0x39,0x6f,0xe4,0x99,0xce,
++      0x91,0x7d,0x7e,0xc8,0x58,0xf2,0x12,0xc3,0xb6,0xad,0xda,0x22,
++      0x04,0xa0,0xd2,0x21,0xfe,0xf2,0x95,0x1d
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_entropyinputpr[] =
++      {
++      0x64,0x54,0x13,0xec,0x4f,0x77,0xda,0xb2,0x92,0x2e,0x52,0x80,
++      0x11,0x10,0xc2,0xf8,0xe6,0xa7,0xcd,0x4b,0xfc,0x32,0x2e,0x9e,
++      0xeb,0xbb,0xb1,0xbf,0x15,0x5c,0x73,0x08
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_int_returnedbits[] =
++      {
++      0xef,0x1e,0xdc,0x0a,0xa4,0x36,0x91,0x9c,0x3d,0x27,0x97,0x50,
++      0x8d,0x36,0x29,0x8d,0xce,0x6a,0x0c,0xf7,0x21,0xc0,0x91,0xae,
++      0x0c,0x96,0x72,0xbd,0x52,0x81,0x58,0xfc,0x6d,0xe5,0xf7,0xa5,
++      0xfd,0x5d,0xa7,0x58,0x68,0xc8,0x99,0x58,0x8e,0xc8,0xce,0x95,
++      0x01,0x7d,0xff,0xa4,0xc8,0xf7,0x63,0xfe,0x5f,0x69,0x83,0x53,
++      0xe2,0xc6,0x8b,0xc3
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_additionalinput2[] =
++      {
++      0xe6,0x9b,0xc4,0x88,0x34,0xca,0xea,0x29,0x2f,0x98,0x05,0xa4,
++      0xd3,0xc0,0x7b,0x11,0xe8,0xbb,0x75,0xf2,0xbd,0x29,0xb7,0x40,
++      0x25,0x7f,0xc1,0xb7,0xb1,0xf1,0x25,0x61
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_entropyinputpr2[] =
++      {
++      0x23,0x6d,0xff,0xde,0xfb,0xd1,0xba,0x33,0x18,0xe6,0xbe,0xb5,
++      0x48,0x77,0x6d,0x7f,0xa7,0xe1,0x4d,0x48,0x1e,0x3c,0xa7,0x34,
++      0x1a,0xc8,0x60,0xdb,0x8f,0x99,0x15,0x99
++      };
++
++__fips_constseg
++static const unsigned char sha512_pr_returnedbits[] =
++      {
++      0x70,0x27,0x31,0xdb,0x92,0x70,0x21,0xfe,0x16,0xb6,0xc8,0x51,
++      0x34,0x87,0x65,0xd0,0x4e,0xfd,0xfe,0x68,0xec,0xac,0xdc,0x93,
++      0x41,0x38,0x92,0x90,0xb4,0x94,0xf9,0x0d,0xa4,0xf7,0x4e,0x80,
++      0x92,0x67,0x48,0x40,0xa7,0x08,0xc7,0xbc,0x66,0x00,0xfd,0xf7,
++      0x4c,0x8b,0x17,0x6e,0xd1,0x8f,0x9b,0xf3,0x6f,0xf6,0x34,0xdd,
++      0x67,0xf7,0x68,0xdd
++      };
++
++
++/* SHA-512 No PR  */
++__fips_constseg
++static const unsigned char sha512_entropyinput[] =
++      {
++      0xb6,0x0b,0xb7,0xbc,0x84,0x56,0xf6,0x12,0xaf,0x45,0x67,0x17,
++      0x7c,0xd1,0xb2,0x78,0x2b,0xa0,0xf2,0xbe,0xb6,0x6d,0x8b,0x56,
++      0xc6,0xbc,0x4d,0xe1,0xf7,0xbe,0xce,0xbd
++      };
++
++__fips_constseg
++static const unsigned char sha512_nonce[] =
++      {
++      0x9d,0xed,0xc0,0xe5,0x5a,0x98,0x6a,0xcb,0x51,0x7d,0x76,0x31,
++      0x5a,0x64,0xf0,0xf7
++      };
++
++__fips_constseg
++static const unsigned char sha512_personalizationstring[] =
++      {
++      0xc2,0x6d,0xa3,0xc3,0x06,0x74,0xe5,0x01,0x5c,0x10,0x17,0xc7,
++      0xaf,0x83,0x9d,0x59,0x8d,0x2d,0x29,0x38,0xc5,0x59,0x70,0x8b,
++      0x46,0x48,0x2d,0xcf,0x36,0x7d,0x59,0xc0
++      };
++
++__fips_constseg
++static const unsigned char sha512_additionalinput[] =
++      {
++      0xec,0x8c,0xd4,0xf7,0x61,0x6e,0x0d,0x95,0x79,0xb7,0x28,0xad,
++      0x5f,0x69,0x74,0x5f,0x2d,0x36,0x06,0x8a,0x6b,0xac,0x54,0x97,
++      0xc4,0xa1,0x12,0x85,0x0a,0xdf,0x4b,0x34
++      };
++
++__fips_constseg
++static const unsigned char sha512_int_returnedbits[] =
++      {
++      0x84,0x2f,0x1f,0x68,0x6a,0xa3,0xad,0x1e,0xfb,0xf4,0x15,0xbd,
++      0xde,0x38,0xd4,0x30,0x80,0x51,0xe9,0xd3,0xc7,0x20,0x88,0xe9,
++      0xf5,0xcc,0xdf,0x57,0x5c,0x47,0x2f,0x57,0x3c,0x5f,0x13,0x56,
++      0xcc,0xc5,0x4f,0x84,0xf8,0x10,0x41,0xd5,0x7e,0x58,0x6e,0x19,
++      0x19,0x9e,0xaf,0xc2,0x22,0x58,0x41,0x50,0x79,0xc2,0xd8,0x04,
++      0x28,0xd4,0x39,0x9a
++      };
++
++__fips_constseg
++static const unsigned char sha512_entropyinputreseed[] =
++      {
++      0xfa,0x7f,0x46,0x51,0x83,0x62,0x98,0x16,0x9a,0x19,0xa2,0x49,
++      0xa9,0xe6,0x4a,0xd8,0x85,0xe7,0xd4,0x3b,0x2c,0x82,0xc5,0x82,
++      0xbf,0x11,0xf9,0x9e,0xbc,0xd0,0x01,0xee
++      };
++
++__fips_constseg
++static const unsigned char sha512_additionalinputreseed[] =
++      {
++      0xb9,0x12,0xe0,0x4f,0xf7,0xa7,0xc4,0xd8,0xd0,0x8e,0x99,0x29,
++      0x7c,0x9a,0xe9,0xcf,0xc4,0x6c,0xf8,0xc3,0xa7,0x41,0x83,0xd6,
++      0x2e,0xfa,0xb8,0x5e,0x8e,0x6b,0x78,0x20
++      };
++
++__fips_constseg
++static const unsigned char sha512_additionalinput2[] =
++      {
++      0xd7,0x07,0x52,0xb9,0x83,0x2c,0x03,0x71,0xee,0xc9,0xc0,0x85,
++      0xe1,0x57,0xb2,0xcd,0x3a,0xf0,0xc9,0x34,0x24,0x41,0x1c,0x42,
++      0x99,0xb2,0x84,0xe9,0x17,0xd2,0x76,0x92
++      };
++
++__fips_constseg
++static const unsigned char sha512_returnedbits[] =
++      {
++      0x36,0x17,0x5d,0x98,0x2b,0x65,0x25,0x8e,0xc8,0x29,0xdf,0x27,
++      0x05,0x36,0x26,0x12,0x8a,0x68,0x74,0x27,0x37,0xd4,0x7f,0x32,
++      0xb1,0x12,0xd6,0x85,0x83,0xeb,0x2e,0xa0,0xed,0x4b,0xb5,0x7b,
++      0x6f,0x39,0x3c,0x71,0x77,0x02,0x12,0xcc,0x2c,0x3a,0x8e,0x63,
++      0xdf,0x4a,0xbd,0x6f,0x6e,0x2e,0xed,0x0a,0x85,0xa5,0x2f,0xa2,
++      0x68,0xde,0x42,0xb5
++      };
++
++
++/* HMAC SHA-1 PR  */
++__fips_constseg
++static const unsigned char hmac_sha1_pr_entropyinput[] =
++      {
++      0x26,0x5f,0x36,0x14,0xff,0x3d,0x83,0xfa,0x73,0x5e,0x75,0xdc,
++      0x2c,0x18,0x17,0x1b
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_nonce[] =
++      {
++      0xc8,0xe3,0x57,0xa5,0x7b,0x74,0x86,0x6e
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_personalizationstring[] =
++      {
++      0x6e,0xdb,0x0d,0xfe,0x7d,0xac,0x79,0xd0,0xa5,0x3a,0x48,0x85,
++      0x80,0xe2,0x7f,0x2a
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_additionalinput[] =
++      {
++      0x31,0xcd,0x5e,0x43,0xdc,0xfb,0x7a,0x79,0xca,0x88,0xde,0x1f,
++      0xd7,0xbb,0x42,0x09
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_entropyinputpr[] =
++      {
++      0x7c,0x23,0x95,0x38,0x00,0x95,0xc1,0x78,0x1f,0x8f,0xd7,0x63,
++      0x23,0x87,0x2a,0xed
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_int_returnedbits[] =
++      {
++      0xbb,0x34,0xe7,0x93,0xa3,0x02,0x2c,0x4a,0xd0,0x89,0xda,0x7f,
++      0xed,0xf4,0x4c,0xde,0x17,0xec,0xe5,0x6c
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_additionalinput2[] =
++      {
++      0x49,0xbc,0x2d,0x2c,0xb7,0x32,0xcb,0x20,0xdf,0xf5,0x77,0x58,
++      0xa0,0x4b,0x93,0x6e
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_entropyinputpr2[] =
++      {
++      0x3c,0xaa,0xb0,0x21,0x42,0xb0,0xdd,0x34,0xf0,0x16,0x7f,0x0c,
++      0x0f,0xff,0x2e,0xaf
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_pr_returnedbits[] =
++      {
++      0x8e,0xcb,0xa3,0x64,0xb2,0xb8,0x33,0x6c,0x64,0x3b,0x78,0x16,
++      0x99,0x35,0xc8,0x30,0xcb,0x3e,0xa0,0xd8
++      };
++
++
++/* HMAC SHA-1 No PR  */
++__fips_constseg
++static const unsigned char hmac_sha1_entropyinput[] =
++      {
++      0x32,0x9a,0x2a,0x87,0x7b,0x89,0x7c,0xf6,0xcb,0x95,0xd5,0x40,
++      0x17,0xfe,0x47,0x70
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_nonce[] =
++      {
++      0x16,0xd8,0xe0,0xc7,0x52,0xcf,0x4a,0x25
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_personalizationstring[] =
++      {
++      0x35,0x35,0xa9,0xa5,0x40,0xbe,0x9b,0xd1,0x56,0xdd,0x44,0x00,
++      0x72,0xf7,0xd3,0x5e
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_additionalinput[] =
++      {
++      0x1b,0x2c,0x84,0x2d,0x4a,0x89,0x8f,0x69,0x19,0xf1,0xf3,0xdb,
++      0xbb,0xe3,0xaa,0xea
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_int_returnedbits[] =
++      {
++      0xcf,0xfa,0x7d,0x72,0x0f,0xe6,0xc7,0x96,0xa0,0x69,0x31,0x11,
++      0x9b,0x0b,0x1a,0x20,0x1f,0x3f,0xaa,0xd1
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_entropyinputreseed[] =
++      {
++      0x90,0x75,0x15,0x04,0x95,0xf1,0xba,0x81,0x0c,0x37,0x94,0x6f,
++      0x86,0x52,0x6d,0x9c
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_additionalinputreseed[] =
++      {
++      0x5b,0x40,0xba,0x5f,0x17,0x70,0xf0,0x4b,0xdf,0xc9,0x97,0x92,
++      0x79,0xc5,0x82,0x28
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_additionalinput2[] =
++      {
++      0x97,0xc8,0x80,0x90,0xb3,0xaa,0x6e,0x60,0xea,0x83,0x7a,0xe3,
++      0x8a,0xca,0xa4,0x7f
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha1_returnedbits[] =
++      {
++      0x90,0xbd,0x05,0x56,0x6d,0xb5,0x22,0xd5,0xb9,0x5a,0x29,0x2d,
++      0xe9,0x0b,0xe1,0xac,0xde,0x27,0x0b,0xb0
++      };
++
++
++/* HMAC SHA-224 PR  */
++__fips_constseg
++static const unsigned char hmac_sha224_pr_entropyinput[] =
++      {
++      0x17,0x32,0x2b,0x2e,0x6f,0x1b,0x9c,0x6d,0x31,0xe0,0x34,0x07,
++      0xcf,0xed,0xf6,0xb6,0x5a,0x76,0x4c,0xbc,0x62,0x85,0x01,0x90
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_nonce[] =
++      {
++      0x38,0xbf,0x5f,0x20,0xb3,0x68,0x2f,0x43,0x61,0x05,0x8f,0x23
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_personalizationstring[] =
++      {
++      0xc0,0xc9,0x45,0xac,0x8d,0x27,0x77,0x08,0x0b,0x17,0x6d,0xed,
++      0xc1,0x7d,0xd5,0x07,0x9d,0x6e,0xf8,0x23,0x2a,0x22,0x13,0xbd
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_additionalinput[] =
++      {
++      0xa4,0x3c,0xe7,0x3b,0xea,0x19,0x45,0x32,0xc2,0x83,0x6d,0x21,
++      0x8a,0xc0,0xee,0x67,0x45,0xde,0x13,0x7d,0x9d,0x61,0x00,0x3b
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_entropyinputpr[] =
++      {
++      0x15,0x05,0x74,0x4a,0x7f,0x8d,0x5c,0x60,0x16,0xe5,0x7b,0xad,
++      0xf5,0x41,0x8f,0x55,0x60,0xc4,0x09,0xee,0x1e,0x11,0x81,0xab
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_int_returnedbits[] =
++      {
++      0x6f,0xf5,0x9a,0xe2,0x54,0x53,0x30,0x3d,0x5a,0x27,0x29,0x38,
++      0x27,0xf2,0x0d,0x05,0xe9,0x26,0xcb,0x16,0xc3,0x51,0x5f,0x13,
++      0x41,0xfe,0x99,0xf2
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_additionalinput2[] =
++      {
++      0x73,0x81,0x88,0x84,0x8f,0xed,0x6f,0x10,0x9f,0x93,0xbf,0x17,
++      0x35,0x7c,0xef,0xd5,0x8d,0x26,0xa6,0x7a,0xe8,0x09,0x36,0x4f
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_entropyinputpr2[] =
++      {
++      0xe6,0xcf,0xcf,0x7e,0x12,0xe5,0x43,0xd2,0x38,0xd8,0x24,0x6f,
++      0x5a,0x37,0x68,0xbf,0x4f,0xa0,0xff,0xd5,0x61,0x8a,0x93,0xe0
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_pr_returnedbits[] =
++      {
++      0xaf,0xf9,0xd8,0x19,0x91,0x30,0x82,0x6f,0xa9,0x1e,0x9d,0xd7,
++      0xf3,0x50,0xe0,0xc7,0xd5,0x64,0x96,0x7d,0x4c,0x4d,0x78,0x03,
++      0x6d,0xd8,0x9e,0x72
++      };
++
++
++/* HMAC SHA-224 No PR  */
++__fips_constseg
++static const unsigned char hmac_sha224_entropyinput[] =
++      {
++      0x11,0x82,0xfd,0xd9,0x42,0xf4,0xfa,0xc8,0xf2,0x41,0xe6,0x54,
++      0x01,0xae,0x22,0x6e,0xc6,0xaf,0xaf,0xd0,0xa6,0xb2,0xe2,0x6d
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_nonce[] =
++      {
++      0xa9,0x48,0xd7,0x92,0x39,0x7e,0x2a,0xdc,0x30,0x1f,0x0e,0x2b
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_personalizationstring[] =
++      {
++      0x11,0xd5,0xf4,0xbd,0x67,0x8c,0x31,0xcf,0xa3,0x3f,0x1e,0x6b,
++      0xa8,0x07,0x02,0x0b,0xc8,0x2e,0x6c,0x64,0x41,0x5b,0xc8,0x37
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_additionalinput[] =
++      {
++      0x68,0x18,0xc2,0x06,0xeb,0x3e,0x04,0x95,0x44,0x5e,0xfb,0xe6,
++      0x41,0xc1,0x5c,0xcc,0x40,0x2f,0xb7,0xd2,0x0f,0xf3,0x6b,0xe7
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_int_returnedbits[] =
++      {
++      0x7f,0x45,0xc7,0x5d,0x32,0xe6,0x17,0x60,0xba,0xdc,0xb8,0x42,
++      0x1b,0x9c,0xf1,0xfa,0x3b,0x4d,0x29,0x54,0xc6,0x90,0xff,0x5c,
++      0xcd,0xd6,0xa9,0xcc
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_entropyinputreseed[] =
++      {
++      0xc4,0x8e,0x37,0x95,0x69,0x53,0x28,0xd7,0x37,0xbb,0x70,0x95,
++      0x1c,0x07,0x1d,0xd9,0xb7,0xe6,0x1b,0xbb,0xfe,0x41,0xeb,0xc9
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_additionalinputreseed[] =
++      {
++      0x53,0x17,0xa1,0x6a,0xfa,0x77,0x47,0xb0,0x95,0x56,0x9a,0x20,
++      0x57,0xde,0x5c,0x89,0x9f,0x7f,0xe2,0xde,0x17,0x3a,0x50,0x23
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_additionalinput2[] =
++      {
++      0x3a,0x32,0xf9,0x85,0x0c,0xc1,0xed,0x76,0x2d,0xdf,0x40,0xc3,
++      0x06,0x22,0x66,0xd4,0x9a,0x9a,0xff,0x5a,0x7e,0x7a,0xf3,0x96
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha224_returnedbits[] =
++      {
++      0x43,0xb4,0x57,0x5c,0x38,0x25,0x9d,0xae,0xec,0x96,0xd1,0x85,
++      0x3a,0x84,0x8d,0xfe,0x68,0xd5,0x0e,0x5c,0x8f,0x65,0xa5,0x4e,
++      0x45,0x84,0xa8,0x94
++      };
++
++
++/* HMAC SHA-256 PR  */
++__fips_constseg
++static const unsigned char hmac_sha256_pr_entropyinput[] =
++      {
++      0x4d,0xb0,0x43,0xd8,0x34,0x4b,0x10,0x70,0xb1,0x8b,0xed,0xea,
++      0x07,0x92,0x9f,0x6c,0x79,0x31,0xaf,0x81,0x29,0xeb,0x6e,0xca,
++      0x32,0x48,0x28,0xe7,0x02,0x5d,0xa6,0xa6
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_nonce[] =
++      {
++      0x3a,0xae,0x15,0xa9,0x99,0xdc,0xe4,0x67,0x34,0x3b,0x70,0x15,
++      0xaa,0xd3,0x30,0x9a
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_personalizationstring[] =
++      {
++      0x13,0x1d,0x24,0x04,0xb0,0x18,0x81,0x15,0x21,0x51,0x2a,0x24,
++      0x52,0x61,0xbe,0x64,0x82,0x6b,0x55,0x2f,0xe2,0xf1,0x40,0x7d,
++      0x71,0xd8,0x01,0x86,0x15,0xb7,0x8b,0xb5
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_additionalinput[] =
++      {
++      0x8f,0xa6,0x54,0x5f,0xb1,0xd0,0xd8,0xc3,0xe7,0x0c,0x15,0xa9,
++      0x23,0x6e,0xfe,0xfb,0x93,0xf7,0x3a,0xbd,0x59,0x01,0xfa,0x18,
++      0x8e,0xe9,0x1a,0xa9,0x78,0xfc,0x79,0x0b
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_entropyinputpr[] =
++      {
++      0xcf,0x24,0xb9,0xeb,0xb3,0xd4,0xcd,0x17,0x37,0x38,0x75,0x79,
++      0x15,0xcb,0x2d,0x75,0x51,0xf1,0xcc,0xaa,0x32,0xa4,0xa7,0x36,
++      0x7c,0x5c,0xe4,0x47,0xf1,0x3e,0x1d,0xe5
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_int_returnedbits[] =
++      {
++      0x52,0x42,0xfa,0xeb,0x85,0xe0,0x30,0x22,0x79,0x00,0x16,0xb2,
++      0x88,0x2f,0x14,0x6a,0xb7,0xfc,0xb7,0x53,0xdc,0x4a,0x12,0xef,
++      0x54,0xd6,0x33,0xe9,0x20,0xd6,0xfd,0x56
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_additionalinput2[] =
++      {
++      0xf4,0xf6,0x49,0xa1,0x2d,0x64,0x2b,0x30,0x58,0xf8,0xbd,0xb8,
++      0x75,0xeb,0xbb,0x5e,0x1c,0x9b,0x81,0x6a,0xda,0x14,0x86,0x6e,
++      0xd0,0xda,0x18,0xb7,0x88,0xfb,0x59,0xf3
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_entropyinputpr2[] =
++      {
++      0x21,0xcd,0x6e,0x46,0xad,0x99,0x07,0x17,0xb4,0x3d,0x76,0x0a,
++      0xff,0x5b,0x52,0x50,0x78,0xdf,0x1f,0x24,0x06,0x0d,0x3f,0x74,
++      0xa9,0xc9,0x37,0xcf,0xd8,0x26,0x25,0x91
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_pr_returnedbits[] =
++      {
++      0xa7,0xaf,0x2f,0x29,0xe0,0x3a,0x72,0x95,0x96,0x1c,0xa9,0xf0,
++      0x4a,0x17,0x4d,0x66,0x06,0x10,0xbf,0x39,0x89,0x88,0xb8,0x91,
++      0x37,0x18,0x99,0xcf,0x8c,0x53,0x3b,0x7e
++      };
++
++
++/* HMAC SHA-256 No PR  */
++__fips_constseg
++static const unsigned char hmac_sha256_entropyinput[] =
++      {
++      0x96,0xb7,0x53,0x22,0x1e,0x52,0x2a,0x96,0xb1,0x15,0x3c,0x35,
++      0x5a,0x8b,0xd3,0x4a,0xa6,0x6c,0x83,0x0a,0x7d,0xa3,0x23,0x3d,
++      0x43,0xa1,0x07,0x2c,0x2d,0xe3,0x81,0xcc
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_nonce[] =
++      {
++      0xf1,0xac,0x97,0xcb,0x5e,0x06,0x48,0xd2,0x94,0xbe,0x15,0x2e,
++      0xc7,0xfc,0xc2,0x01
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_personalizationstring[] =
++      {
++      0x98,0xc5,0x1e,0x35,0x5e,0x89,0x0d,0xce,0x64,0x6d,0x18,0xa7,
++      0x5a,0xc6,0xf3,0xe7,0xd6,0x9e,0xc0,0xea,0xb7,0x3a,0x8d,0x65,
++      0xb8,0xeb,0x10,0xd7,0x57,0x18,0xa0,0x32
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_additionalinput[] =
++      {
++      0x1b,0x10,0xaf,0xac,0xd0,0x65,0x95,0xad,0x04,0xad,0x03,0x1c,
++      0xe0,0x40,0xd6,0x3e,0x1c,0x46,0x53,0x39,0x7c,0xe2,0xbc,0xda,
++      0x8c,0xa2,0x33,0xa7,0x9a,0x26,0xd3,0x27
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_int_returnedbits[] =
++      {
++      0xba,0x61,0x0e,0x55,0xfe,0x11,0x8a,0x9e,0x0f,0x80,0xdf,0x1d,
++      0x03,0x0a,0xfe,0x15,0x94,0x28,0x4b,0xba,0xf4,0x9f,0x51,0x25,
++      0x88,0xe5,0x4e,0xfb,0xaf,0xce,0x69,0x90
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_entropyinputreseed[] =
++      {
++      0x62,0x7f,0x1e,0x6b,0xe8,0x8e,0xe1,0x35,0x7d,0x9b,0x4f,0xc7,
++      0xec,0xc8,0xac,0xef,0x6b,0x13,0x9e,0x05,0x56,0xc1,0x08,0xf9,
++      0x2f,0x0f,0x27,0x9c,0xd4,0x15,0xed,0x2d
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_additionalinputreseed[] =
++      {
++      0xc7,0x76,0x6e,0xa9,0xd2,0xb2,0x76,0x40,0x82,0x25,0x2c,0xb3,
++      0x6f,0xac,0xe9,0x74,0xef,0x8f,0x3c,0x8e,0xcd,0xf1,0xbf,0xb3,
++      0x49,0x77,0x34,0x88,0x52,0x36,0xe6,0x2e
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_additionalinput2[] =
++      {
++      0x8d,0xb8,0x0c,0xd1,0xbf,0x70,0xf6,0x19,0xc3,0x41,0x80,0x9f,
++      0xe1,0xa5,0xa4,0x1f,0x2c,0x26,0xb1,0xe5,0xd8,0xeb,0xbe,0xf8,
++      0xdf,0x88,0x6a,0x89,0xd6,0x05,0xd8,0x9d
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha256_returnedbits[] =
++      {
++      0x43,0x12,0x2a,0x2c,0x40,0x53,0x2e,0x7c,0x66,0x34,0xac,0xc3,
++      0x43,0xe3,0xe0,0x6a,0xfc,0xfa,0xea,0x87,0x21,0x1f,0xe2,0x26,
++      0xc4,0xf9,0x09,0x9a,0x0d,0x6e,0x7f,0xe0
++      };
++
++
++/* HMAC SHA-384 PR  */
++__fips_constseg
++static const unsigned char hmac_sha384_pr_entropyinput[] =
++      {
++      0x69,0x81,0x98,0x88,0x44,0xf5,0xd6,0x2e,0x00,0x08,0x3b,0xc5,
++      0xfb,0xd7,0x8e,0x6f,0x23,0xf8,0x6d,0x09,0xd6,0x85,0x49,0xd1,
++      0xf8,0x6d,0xa4,0x58,0x54,0xfd,0x88,0xa9
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_nonce[] =
++      {
++      0x6e,0x38,0x81,0xca,0xb7,0xe8,0x6e,0x66,0x49,0x8a,0xb2,0x59,
++      0xee,0x16,0xc9,0xde
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_personalizationstring[] =
++      {
++      0xfe,0x4c,0xd9,0xf4,0x78,0x3b,0x08,0x41,0x8d,0x8f,0x55,0xc4,
++      0x43,0x56,0xb6,0x12,0x36,0x6b,0x30,0xb7,0x5e,0xe1,0xb9,0x47,
++      0x04,0xb1,0x4e,0xa9,0x00,0xa1,0x52,0xa1
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_additionalinput[] =
++      {
++      0x89,0xe9,0xcc,0x8f,0x27,0x3c,0x26,0xd1,0x95,0xc8,0x7d,0x0f,
++      0x5b,0x1a,0xf0,0x78,0x39,0x56,0x6f,0xa4,0x23,0xe7,0xd1,0xda,
++      0x7c,0x66,0x33,0xa0,0x90,0xc9,0x92,0x88
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_entropyinputpr[] =
++      {
++      0xbe,0x3d,0x7c,0x0d,0xca,0xda,0x7c,0x49,0xb8,0x12,0x36,0xc0,
++      0xdb,0xad,0x35,0xa8,0xc7,0x0b,0x2a,0x2c,0x69,0x6d,0x25,0x56,
++      0x63,0x82,0x11,0x3e,0xa7,0x33,0x70,0x72
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_int_returnedbits[] =
++      {
++      0x82,0x3d,0xe6,0x54,0x80,0x42,0xf8,0xba,0x90,0x4f,0x06,0xa6,
++      0xd2,0x7f,0xbf,0x79,0x7c,0x12,0x7d,0xa6,0xa2,0x66,0xe8,0xa6,
++      0xc0,0xd6,0x4a,0x55,0xbf,0xd8,0x0a,0xc5,0xf8,0x03,0x88,0xdd,
++      0x8e,0x87,0xd1,0x5a,0x48,0x26,0x72,0x2a,0x8e,0xcf,0xee,0xba
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_additionalinput2[] =
++      {
++      0x8f,0xff,0xd9,0x84,0xbb,0x85,0x3a,0x66,0xa1,0x21,0xce,0xb2,
++      0x3a,0x3a,0x17,0x22,0x19,0xae,0xc7,0xb6,0x63,0x81,0xd5,0xff,
++      0x0d,0xc8,0xe1,0xaf,0x57,0xd2,0xcb,0x60
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_entropyinputpr2[] =
++      {
++      0xd7,0xfb,0xc9,0xe8,0xe2,0xf2,0xaa,0x4c,0xb8,0x51,0x2f,0xe1,
++      0x22,0xba,0xf3,0xda,0x0a,0x19,0x76,0x71,0x57,0xb2,0x1d,0x94,
++      0x09,0x69,0x6c,0xd3,0x97,0x51,0x81,0x87
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_pr_returnedbits[] =
++      {
++      0xe6,0x19,0x28,0xa8,0x21,0xce,0x5e,0xdb,0x24,0x79,0x8c,0x76,
++      0x5d,0x73,0xb2,0xdf,0xac,0xef,0x85,0xa7,0x3b,0x19,0x09,0x8b,
++      0x7f,0x98,0x28,0xa9,0x93,0xd8,0x7a,0xad,0x55,0x8b,0x24,0x9d,
++      0xe6,0x98,0xfe,0x47,0xd5,0x48,0xc1,0x23,0xd8,0x1d,0x62,0x75
++      };
++
++
++/* HMAC SHA-384 No PR  */
++__fips_constseg
++static const unsigned char hmac_sha384_entropyinput[] =
++      {
++      0xc3,0x56,0x2b,0x1d,0xc2,0xbb,0xa8,0xf0,0xae,0x1b,0x0d,0xd3,
++      0x5a,0x6c,0xda,0x57,0x8e,0xa5,0x8a,0x0d,0x6c,0x4b,0x18,0xb1,
++      0x04,0x3e,0xb4,0x99,0x35,0xc4,0xc0,0x5f
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_nonce[] =
++      {
++      0xc5,0x49,0x1e,0x66,0x27,0x92,0xbe,0xec,0xb5,0x1e,0x4b,0xb1,
++      0x38,0xe3,0xeb,0x62
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_personalizationstring[] =
++      {
++      0xbe,0xe7,0x6b,0x57,0xde,0x88,0x11,0x96,0x9b,0x6e,0xea,0xe5,
++      0x63,0x83,0x4c,0xb6,0x8d,0x66,0xaa,0x1f,0x8b,0x54,0xe7,0x62,
++      0x6d,0x5a,0xfc,0xbf,0x97,0xba,0xcd,0x77
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_additionalinput[] =
++      {
++      0xe5,0x28,0x5f,0x43,0xf5,0x83,0x6e,0x0a,0x83,0x5c,0xe3,0x81,
++      0x03,0xf2,0xf8,0x78,0x00,0x7c,0x95,0x87,0x16,0xd6,0x6c,0x58,
++      0x33,0x6c,0x53,0x35,0x0d,0x66,0xe3,0xce
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_int_returnedbits[] =
++      {
++      0xe2,0x1f,0xf3,0xda,0x0d,0x19,0x99,0x87,0xc4,0x90,0xa2,0x31,
++      0xca,0x2a,0x89,0x58,0x43,0x44,0xb8,0xde,0xcf,0xa4,0xbe,0x3b,
++      0x53,0x26,0x22,0x31,0x76,0x41,0x22,0xb5,0xa8,0x70,0x2f,0x4b,
++      0x64,0x95,0x4d,0x48,0x96,0x35,0xe6,0xbd,0x3c,0x34,0xdb,0x1b
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_entropyinputreseed[] =
++      {
++      0x77,0x61,0xba,0xbc,0xf2,0xc1,0xf3,0x4b,0x86,0x65,0xfd,0x48,
++      0x0e,0x3c,0x02,0x5e,0xa2,0x7a,0x6b,0x7c,0xed,0x21,0x5e,0xf9,
++      0xcd,0xcd,0x77,0x07,0x2b,0xbe,0xc5,0x5c
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_additionalinputreseed[] =
++      {
++      0x18,0x24,0x5f,0xc6,0x84,0xd1,0x67,0xc3,0x9a,0x11,0xa5,0x8c,
++      0x07,0x39,0x21,0x83,0x4d,0x04,0xc4,0x6a,0x28,0x19,0xcf,0x92,
++      0x21,0xd9,0x9e,0x41,0x72,0x6c,0x9e,0x63
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_additionalinput2[] =
++      {
++      0x96,0x67,0x41,0x28,0x9b,0xb7,0x92,0x8d,0x64,0x3b,0xe4,0xcf,
++      0x7e,0xaa,0x1e,0xb1,0x4b,0x1d,0x09,0x56,0x67,0x9c,0xc6,0x6d,
++      0x3b,0xe8,0x91,0x9d,0xe1,0x8a,0xb7,0x32
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha384_returnedbits[] =
++      {
++      0xe3,0x59,0x61,0x38,0x92,0xec,0xe2,0x3c,0xff,0xb7,0xdb,0x19,
++      0x0f,0x5b,0x93,0x68,0x0d,0xa4,0x94,0x40,0x72,0x0b,0xe0,0xed,
++      0x4d,0xcd,0x68,0xa0,0x1e,0xfe,0x67,0xb2,0xfa,0x21,0x56,0x74,
++      0xa4,0xad,0xcf,0xb7,0x60,0x66,0x2e,0x40,0xde,0x82,0xca,0xfb
++      };
++
++
++/* HMAC SHA-512 PR  */
++__fips_constseg
++static const unsigned char hmac_sha512_pr_entropyinput[] =
++      {
++      0xaa,0x9e,0x45,0x67,0x0e,0x00,0x2a,0x67,0x98,0xd6,0xda,0x0b,
++      0x0f,0x17,0x7e,0xac,0xfd,0x27,0xc4,0xca,0x84,0xdf,0xde,0xba,
++      0x85,0xd9,0xbe,0x8f,0xf3,0xff,0x91,0x4d
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_nonce[] =
++      {
++      0x8c,0x49,0x2f,0x58,0x1e,0x7a,0xda,0x4b,0x7e,0x8a,0x30,0x7b,
++      0x86,0xea,0xaf,0xa2
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_personalizationstring[] =
++      {
++      0x71,0xe1,0xbb,0xad,0xa7,0x4b,0x2e,0x31,0x3b,0x0b,0xec,0x24,
++      0x99,0x38,0xbc,0xaa,0x05,0x4c,0x46,0x44,0xfa,0xad,0x8e,0x02,
++      0xc1,0x7e,0xad,0xec,0x54,0xa6,0xd0,0xad
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_additionalinput[] =
++      {
++      0x3d,0x6e,0xa6,0xa8,0x29,0x2a,0xb2,0xf5,0x98,0x42,0xe4,0x92,
++      0x78,0x22,0x67,0xfd,0x1b,0x15,0x1e,0x29,0xaa,0x71,0x3c,0x3c,
++      0xe7,0x05,0x20,0xa9,0x29,0xc6,0x75,0x71
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_entropyinputpr[] =
++      {
++      0xab,0xb9,0x16,0xd8,0x55,0x35,0x54,0xb7,0x97,0x3f,0x94,0xbc,
++      0x2f,0x7c,0x70,0xc7,0xd0,0xed,0xb7,0x4b,0xf7,0xf6,0x6c,0x03,
++      0x0c,0xb0,0x03,0xd8,0xbb,0x71,0xd9,0x10
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_int_returnedbits[] =
++      {
++      0x8e,0xd3,0xfd,0x52,0x9e,0x83,0x08,0x49,0x18,0x6e,0x23,0x56,
++      0x5c,0x45,0x93,0x34,0x05,0xe2,0x98,0x8f,0x0c,0xd4,0x32,0x0c,
++      0xfd,0xda,0x5f,0x92,0x3a,0x8c,0x81,0xbd,0xf6,0x6c,0x55,0xfd,
++      0xb8,0x20,0xce,0x8d,0x97,0x27,0xe8,0xe8,0xe0,0xb3,0x85,0x50,
++      0xa2,0xc2,0xb2,0x95,0x1d,0x48,0xd3,0x7b,0x4b,0x78,0x13,0x35,
++      0x05,0x17,0xbe,0x0d
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_additionalinput2[] =
++      {
++      0xc3,0xfc,0x95,0xaa,0x69,0x06,0xae,0x59,0x41,0xce,0x26,0x08,
++      0x29,0x6d,0x45,0xda,0xe8,0xb3,0x6c,0x95,0x60,0x0f,0x70,0x2c,
++      0x10,0xba,0x38,0x8c,0xcf,0x29,0x99,0xaa
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_entropyinputpr2[] =
++      {
++      0x3b,0x9a,0x25,0xce,0xd7,0xf9,0x5c,0xd1,0x3a,0x3e,0xaa,0x71,
++      0x14,0x3e,0x19,0xe8,0xce,0xe6,0xfe,0x51,0x84,0xe9,0x1b,0xfe,
++      0x3f,0xa7,0xf2,0xfd,0x76,0x5f,0x6a,0xe7
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_pr_returnedbits[] =
++      {
++      0xb7,0x82,0xa9,0x57,0x81,0x67,0x53,0xb5,0xa1,0xe9,0x3d,0x35,
++      0xf9,0xe4,0x97,0xbe,0xa6,0xca,0xf1,0x01,0x13,0x09,0xe7,0x21,
++      0xc0,0xed,0x93,0x5d,0x4b,0xf4,0xeb,0x8d,0x53,0x25,0x8a,0xc4,
++      0xb1,0x6f,0x6e,0x37,0xcd,0x2e,0xac,0x39,0xb2,0xb6,0x99,0xa3,
++      0x82,0x00,0xb0,0x21,0xf0,0xc7,0x2f,0x4c,0x73,0x92,0xfd,0x00,
++      0xb6,0xaf,0xbc,0xd3
++      };
++
++
++/* HMAC SHA-512 No PR  */
++__fips_constseg
++static const unsigned char hmac_sha512_entropyinput[] =
++      {
++      0x6e,0x85,0xe6,0x25,0x96,0x29,0xa7,0x52,0x5b,0x60,0xba,0xaa,
++      0xde,0xdb,0x36,0x0a,0x51,0x9a,0x15,0xae,0x6e,0x18,0xd3,0xfe,
++      0x39,0xb9,0x4a,0x96,0xf8,0x77,0xcb,0x95
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_nonce[] =
++      {
++      0xe0,0xa6,0x5d,0x08,0xc3,0x7c,0xae,0x25,0x2e,0x80,0xd1,0x3e,
++      0xd9,0xaf,0x43,0x3c
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_personalizationstring[] =
++      {
++      0x53,0x99,0x52,0x5f,0x11,0xa9,0x64,0x66,0x20,0x5e,0x1b,0x5f,
++      0x42,0xb3,0xf4,0xda,0xed,0xbb,0x63,0xc1,0x23,0xaf,0xd0,0x01,
++      0x90,0x3b,0xd0,0x78,0xe4,0x0b,0xa7,0x20
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_additionalinput[] =
++      {
++      0x85,0x90,0x80,0xd3,0x98,0xf1,0x53,0x6d,0x68,0x15,0x8f,0xe5,
++      0x60,0x3f,0x17,0x29,0x55,0x8d,0x33,0xb1,0x45,0x64,0x64,0x8d,
++      0x50,0x21,0x89,0xae,0xf6,0xfd,0x32,0x73
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_int_returnedbits[] =
++      {
++      0x28,0x56,0x30,0x6f,0xf4,0xa1,0x48,0xe0,0xc9,0xf5,0x75,0x90,
++      0xcc,0xfb,0xdf,0xdf,0x71,0x3d,0x0a,0x9a,0x03,0x65,0x3b,0x18,
++      0x61,0xe3,0xd1,0xda,0xcc,0x4a,0xfe,0x55,0x38,0xf8,0x21,0x6b,
++      0xfa,0x18,0x01,0x42,0x39,0x2f,0x99,0x53,0x38,0x15,0x82,0x34,
++      0xc5,0x93,0x92,0xbc,0x4d,0x75,0x1a,0x5f,0x21,0x27,0xcc,0xa1,
++      0xb1,0x57,0x69,0xe8
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_entropyinputreseed[] =
++      {
++      0x8c,0x52,0x7e,0x77,0x72,0x3f,0xa3,0x04,0x97,0x10,0x9b,0x41,
++      0xbd,0xe8,0xff,0x89,0xed,0x80,0xe3,0xbd,0xaa,0x12,0x2d,0xca,
++      0x75,0x82,0x36,0x77,0x88,0xcd,0xa6,0x73
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_additionalinputreseed[] =
++      {
++      0x7e,0x32,0xe3,0x69,0x69,0x07,0x34,0xa2,0x16,0xa2,0x5d,0x1a,
++      0x10,0x91,0xd3,0xe2,0x21,0xa2,0xa3,0xdd,0xcd,0x0c,0x09,0x86,
++      0x11,0xe1,0x50,0xff,0x5c,0xb7,0xeb,0x5c
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_additionalinput2[] =
++      {
++      0x7f,0x78,0x66,0xd8,0xfb,0x67,0xcf,0x8d,0x8c,0x08,0x30,0xa5,
++      0xf8,0x7d,0xcf,0x44,0x59,0xce,0xf8,0xdf,0x58,0xd3,0x60,0xcb,
++      0xa8,0x60,0xb9,0x07,0xc4,0xb1,0x95,0x48
++      };
++
++__fips_constseg
++static const unsigned char hmac_sha512_returnedbits[] =
++      {
++      0xdf,0xa7,0x36,0xd4,0xdc,0x5d,0x4d,0x31,0xad,0x69,0x46,0x9f,
++      0xf1,0x7c,0xd7,0x3b,0x4f,0x55,0xf2,0xd7,0xb9,0x9d,0xad,0x7a,
++      0x79,0x08,0x59,0xa5,0xdc,0x74,0xf5,0x9b,0x73,0xd2,0x13,0x25,
++      0x0b,0x81,0x08,0x08,0x25,0xfb,0x39,0xf2,0xf0,0xa3,0xa4,0x8d,
++      0xef,0x05,0x9e,0xb8,0xc7,0x52,0xe4,0x0e,0x42,0xaa,0x7c,0x79,
++      0xc2,0xd6,0xfd,0xa5
++      };
++
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_dsa_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_dsa_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_dsa_selftest.c.fips   2012-02-29 10:33:02.796294915 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_dsa_selftest.c        2012-02-29 10:33:02.796294915 +0100
+@@ -0,0 +1,193 @@
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/crypto.h>
++#include <openssl/dsa.h>
++#include <openssl/fips.h>
++#include <openssl/err.h>
++#include <openssl/evp.h>
++#include <openssl/bn.h>
++#include "fips_locl.h"
++
++#ifdef OPENSSL_FIPS
++
++static const unsigned char dsa_test_2048_p[] = {
++      0xa8,0x53,0x78,0xd8,0xfd,0x3f,0x8d,0x72,0xec,0x74,0x18,0x08,
++      0x0d,0xa2,0x13,0x17,0xe4,0x3e,0xc4,0xb6,0x2b,0xa8,0xc8,0x62,
++      0x3b,0x7e,0x4d,0x04,0x44,0x1d,0xd1,0xa0,0x65,0x86,0x62,0x59,
++      0x64,0x93,0xca,0x8e,0x9e,0x8f,0xbb,0x7e,0x34,0xaa,0xdd,0xb6,
++      0x2e,0x5d,0x67,0xb6,0xd0,0x9a,0x6e,0x61,0xb7,0x69,0xe7,0xc3,
++      0x52,0xaa,0x2b,0x10,0xe2,0x0c,0xa0,0x63,0x69,0x63,0xb5,0x52,
++      0x3e,0x86,0x47,0x0d,0xec,0xbb,0xed,0xa0,0x27,0xe7,0x97,0xe7,
++      0xb6,0x76,0x35,0xd4,0xd4,0x9c,0x30,0x70,0x0e,0x74,0xaf,0x8a,
++      0x0f,0xf1,0x56,0xa8,0x01,0xaf,0x57,0xa2,0x6e,0x70,0x78,0xf1,
++      0xd8,0x2f,0x74,0x90,0x8e,0xcb,0x6d,0x07,0xe7,0x0b,0x35,0x03,
++      0xee,0xd9,0x4f,0xa3,0x2c,0xf1,0x7a,0x7f,0xc3,0xd6,0xcf,0x40,
++      0xdc,0x7b,0x00,0x83,0x0e,0x6a,0x25,0x66,0xdc,0x07,0x3e,0x34,
++      0x33,0x12,0x51,0x7c,0x6a,0xa5,0x15,0x2b,0x4b,0xfe,0xcd,0x2e,
++      0x55,0x1f,0xee,0x34,0x63,0x18,0xa1,0x53,0x42,0x3c,0x99,0x6b,
++      0x0d,0x5d,0xcb,0x91,0x02,0xae,0xdd,0x38,0x79,0x86,0x16,0xf1,
++      0xf1,0xe0,0xd6,0xc4,0x03,0x52,0x5b,0x1f,0x9b,0x3d,0x4d,0xc7,
++      0x66,0xde,0x2d,0xfc,0x4a,0x56,0xd7,0xb8,0xba,0x59,0x63,0xd6,
++      0x0f,0x3e,0x16,0x31,0x88,0x70,0xad,0x43,0x69,0x52,0xe5,0x57,
++      0x65,0x37,0x4e,0xab,0x85,0xe8,0xec,0x17,0xd6,0xb9,0xa4,0x54,
++      0x7b,0x9b,0x5f,0x27,0x52,0xf3,0x10,0x5b,0xe8,0x09,0xb2,0x3a,
++      0x2c,0x8d,0x74,0x69,0xdb,0x02,0xe2,0x4d,0x59,0x23,0x94,0xa7,
++      0xdb,0xa0,0x69,0xe9
++};
++
++static const unsigned char dsa_test_2048_q[] = {
++      0xd2,0x77,0x04,0x4e,0x50,0xf5,0xa4,0xe3,0xf5,0x10,0xa5,0x0a,
++      0x0b,0x84,0xfd,0xff,0xbc,0xa0,0x47,0xed,0x27,0x60,0x20,0x56,
++      0x74,0x41,0xa0,0xa5
++};
++
++static const unsigned char dsa_test_2048_g[] = {
++      0x13,0xd7,0x54,0xe2,0x1f,0xd2,0x41,0x65,0x5d,0xa8,0x91,0xc5,
++      0x22,0xa6,0x5a,0x72,0xa8,0x9b,0xdc,0x64,0xec,0x9b,0x54,0xa8,
++      0x21,0xed,0x4a,0x89,0x8b,0x49,0x0e,0x0c,0x4f,0xcb,0x72,0x19,
++      0x2a,0x4a,0x20,0xf5,0x41,0xf3,0xf2,0x92,0x53,0x99,0xf0,0xba,
++      0xec,0xf9,0x29,0xaa,0xfb,0xf7,0x9d,0xfe,0x43,0x32,0x39,0x3b,
++      0x32,0xcd,0x2e,0x2f,0xcf,0x27,0x2f,0x32,0xa6,0x27,0x43,0x4a,
++      0x0d,0xf2,0x42,0xb7,0x5b,0x41,0x4d,0xf3,0x72,0x12,0x1e,0x53,
++      0xa5,0x53,0xf2,0x22,0xf8,0x36,0xb0,0x00,0xf0,0x16,0x48,0x5b,
++      0x6b,0xd0,0x89,0x84,0x51,0x80,0x1d,0xcd,0x8d,0xe6,0x4c,0xd5,
++      0x36,0x56,0x96,0xff,0xc5,0x32,0xd5,0x28,0xc5,0x06,0x62,0x0a,
++      0x94,0x2a,0x03,0x05,0x04,0x6d,0x8f,0x18,0x76,0x34,0x1f,0x1e,
++      0x57,0x0b,0xc3,0x97,0x4b,0xa6,0xb9,0xa4,0x38,0xe9,0x70,0x23,
++      0x02,0xa2,0xe6,0xe6,0x7b,0xfd,0x06,0xd3,0x2b,0xc6,0x79,0x96,
++      0x22,0x71,0xd7,0xb4,0x0c,0xd7,0x2f,0x38,0x6e,0x64,0xe0,0xd7,
++      0xef,0x86,0xca,0x8c,0xa5,0xd1,0x42,0x28,0xdc,0x2a,0x4f,0x16,
++      0xe3,0x18,0x98,0x86,0xb5,0x99,0x06,0x74,0xf4,0x20,0x0f,0x3a,
++      0x4c,0xf6,0x5a,0x3f,0x0d,0xdb,0xa1,0xfa,0x67,0x2d,0xff,0x2f,
++      0x5e,0x14,0x3d,0x10,0xe4,0xe9,0x7a,0xe8,0x4f,0x6d,0xa0,0x95,
++      0x35,0xd5,0xb9,0xdf,0x25,0x91,0x81,0xa7,0x9b,0x63,0xb0,0x69,
++      0xe9,0x49,0x97,0x2b,0x02,0xba,0x36,0xb3,0x58,0x6a,0xab,0x7e,
++      0x45,0xf3,0x22,0xf8,0x2e,0x4e,0x85,0xca,0x3a,0xb8,0x55,0x91,
++      0xb3,0xc2,0xa9,0x66
++};
++
++static const unsigned char dsa_test_2048_pub_key[] = {
++      0x24,0x52,0xf3,0xcc,0xbe,0x9e,0xd5,0xca,0x7d,0xc7,0x4c,0x60,
++      0x2b,0x99,0x22,0x6e,0x8f,0x2f,0xab,0x38,0xe7,0xd7,0xdd,0xfb,
++      0x75,0x53,0x9b,0x17,0x15,0x5e,0x9f,0xcf,0xd1,0xab,0xa5,0x64,
++      0xeb,0x85,0x35,0xd8,0x12,0xc9,0xc2,0xdc,0xf9,0x72,0x84,0x44,
++      0x1b,0xc4,0x82,0x24,0x36,0x24,0xc7,0xf4,0x57,0x58,0x0c,0x1c,
++      0x38,0xa5,0x7c,0x46,0xc4,0x57,0x39,0x24,0x70,0xed,0xb5,0x2c,
++      0xb5,0xa6,0xe0,0x3f,0xe6,0x28,0x7b,0xb6,0xf4,0x9a,0x42,0xa2,
++      0x06,0x5a,0x05,0x4f,0x03,0x08,0x39,0xdf,0x1f,0xd3,0x14,0x9c,
++      0x4c,0xa0,0x53,0x1d,0xd8,0xca,0x8a,0xaa,0x9c,0xc7,0x33,0x71,
++      0x93,0x38,0x73,0x48,0x33,0x61,0x18,0x22,0x45,0x45,0xe8,0x8c,
++      0x80,0xff,0xd8,0x76,0x5d,0x74,0x36,0x03,0x33,0xcc,0xab,0x99,
++      0x72,0x77,0x9b,0x65,0x25,0xa6,0x5b,0xdd,0x0d,0x10,0xc6,0x75,
++      0xc1,0x09,0xbb,0xd3,0xe5,0xbe,0x4d,0x72,0xef,0x6e,0xba,0x6e,
++      0x43,0x8d,0x52,0x26,0x23,0x7d,0xb8,0x88,0x37,0x9c,0x5f,0xcc,
++      0x47,0xa3,0x84,0x7f,0xf6,0x37,0x11,0xba,0xed,0x6d,0x03,0xaf,
++      0xe8,0x1e,0x69,0x4a,0x41,0x3b,0x68,0x0b,0xd3,0x8a,0xb4,0x90,
++      0x3f,0x83,0x70,0xa7,0x07,0xef,0x55,0x1d,0x49,0x41,0x02,0x6d,
++      0x95,0x79,0xd6,0x91,0xde,0x8e,0xda,0xa1,0x61,0x05,0xeb,0x9d,
++      0xba,0x3c,0x2f,0x4c,0x1b,0xec,0x50,0x82,0x75,0xaa,0x02,0x07,
++      0xe2,0x51,0xb5,0xec,0xcb,0x28,0x6a,0x4b,0x01,0xd4,0x49,0xd3,
++      0x0a,0xcb,0x67,0x37,0x17,0xa0,0xd2,0xfb,0x3b,0x50,0xc8,0x93,
++      0xf7,0xda,0xb1,0x4f
++};
++
++static const unsigned char dsa_test_2048_priv_key[] = {
++      0x0c,0x4b,0x30,0x89,0xd1,0xb8,0x62,0xcb,0x3c,0x43,0x64,0x91,
++      0xf0,0x91,0x54,0x70,0xc5,0x27,0x96,0xe3,0xac,0xbe,0xe8,0x00,
++      0xec,0x55,0xf6,0xcc
++};
++
++static int corrupt_dsa;
++
++void FIPS_corrupt_dsa()
++    {
++    corrupt_dsa = 1;
++    }
++
++int FIPS_selftest_dsa()
++      {
++      DSA *dsa = NULL;
++      EVP_PKEY *pk = NULL;
++      int ret = 0;
++
++      dsa = DSA_new();
++
++      if(dsa == NULL)
++              goto err;
++
++      fips_load_key_component(dsa, p, dsa_test_2048);
++      fips_load_key_component(dsa, q, dsa_test_2048);
++      fips_load_key_component(dsa, g, dsa_test_2048);
++      fips_load_key_component(dsa, pub_key, dsa_test_2048);
++      fips_load_key_component(dsa, priv_key, dsa_test_2048);
++
++      if (corrupt_dsa)
++              BN_set_bit(dsa->pub_key, 2047);
++
++      if ((pk=EVP_PKEY_new()) == NULL)
++              goto err;
++
++      EVP_PKEY_assign_DSA(pk, dsa);
++
++      if (!fips_pkey_signature_test(pk, NULL, 0,
++                                      NULL, 0, EVP_sha256(), 0,
++                                      "DSA SHA256"))
++              goto err;
++      ret = 1;
++
++      err:
++      if (pk)
++              EVP_PKEY_free(pk);
++      else if (dsa)
++              DSA_free(dsa);
++      return ret;
++      }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_enc.c.fips openssl-1.0.1-beta3/crypto/fips/fips_enc.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_enc.c.fips    2012-02-29 10:33:02.796294915 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_enc.c 2012-02-29 10:33:02.796294915 +0100
+@@ -0,0 +1,191 @@
++/* fipe/evp/fips_enc.c */
++/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
++ * All rights reserved.
++ *
++ * This package is an SSL implementation written
++ * by Eric Young (eay@cryptsoft.com).
++ * The implementation was written so as to conform with Netscapes SSL.
++ * 
++ * This library is free for commercial and non-commercial use as long as
++ * the following conditions are aheared to.  The following conditions
++ * apply to all code found in this distribution, be it the RC4, RSA,
++ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
++ * included with this distribution is covered by the same copyright terms
++ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
++ * 
++ * Copyright remains Eric Young's, and as such any Copyright notices in
++ * the code are not to be removed.
++ * If this package is used in a product, Eric Young should be given attribution
++ * as the author of the parts of the library used.
++ * This can be in the form of a textual message at program startup or
++ * in documentation (online or textual) provided with the package.
++ * 
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. All advertising materials mentioning features or use of this software
++ *    must display the following acknowledgement:
++ *    "This product includes cryptographic software written by
++ *     Eric Young (eay@cryptsoft.com)"
++ *    The word 'cryptographic' can be left out if the rouines from the library
++ *    being used are not cryptographic related :-).
++ * 4. If you include any Windows specific code (or a derivative thereof) from 
++ *    the apps directory (application code) you must include an acknowledgement:
++ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
++ * 
++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ * 
++ * The licence and distribution terms for any publically available version or
++ * derivative of this code cannot be changed.  i.e. this code cannot simply be
++ * copied and put under another distribution licence
++ * [including the GNU Public Licence.]
++ */
++
++#include <stdio.h>
++#include <string.h>
++#include <openssl/evp.h>
++#include <openssl/err.h>
++#include <openssl/fips.h>
++
++const EVP_CIPHER *FIPS_get_cipherbynid(int nid)
++      {
++      switch (nid)
++              {
++              case NID_aes_128_cbc:
++              return EVP_aes_128_cbc();
++
++              case NID_aes_128_ccm:
++              return EVP_aes_128_ccm();
++
++              case NID_aes_128_cfb1:
++              return EVP_aes_128_cfb1();
++
++              case NID_aes_128_cfb128:
++              return EVP_aes_128_cfb128();
++
++              case NID_aes_128_cfb8:
++              return EVP_aes_128_cfb8();
++
++              case NID_aes_128_ctr:
++              return EVP_aes_128_ctr();
++
++              case NID_aes_128_ecb:
++              return EVP_aes_128_ecb();
++
++              case NID_aes_128_gcm:
++              return EVP_aes_128_gcm();
++
++              case NID_aes_128_ofb128:
++              return EVP_aes_128_ofb();
++
++              case NID_aes_128_xts:
++              return EVP_aes_128_xts();
++
++              case NID_aes_192_cbc:
++              return EVP_aes_192_cbc();
++
++              case NID_aes_192_ccm:
++              return EVP_aes_192_ccm();
++
++              case NID_aes_192_cfb1:
++              return EVP_aes_192_cfb1();
++
++              case NID_aes_192_cfb128:
++              return EVP_aes_192_cfb128();
++
++              case NID_aes_192_cfb8:
++              return EVP_aes_192_cfb8();
++
++              case NID_aes_192_ctr:
++              return EVP_aes_192_ctr();
++
++              case NID_aes_192_ecb:
++              return EVP_aes_192_ecb();
++
++              case NID_aes_192_gcm:
++              return EVP_aes_192_gcm();
++
++              case NID_aes_192_ofb128:
++              return EVP_aes_192_ofb();
++
++              case NID_aes_256_cbc:
++              return EVP_aes_256_cbc();
++
++              case NID_aes_256_ccm:
++              return EVP_aes_256_ccm();
++
++              case NID_aes_256_cfb1:
++              return EVP_aes_256_cfb1();
++
++              case NID_aes_256_cfb128:
++              return EVP_aes_256_cfb128();
++
++              case NID_aes_256_cfb8:
++              return EVP_aes_256_cfb8();
++
++              case NID_aes_256_ctr:
++              return EVP_aes_256_ctr();
++
++              case NID_aes_256_ecb:
++              return EVP_aes_256_ecb();
++
++              case NID_aes_256_gcm:
++              return EVP_aes_256_gcm();
++
++              case NID_aes_256_ofb128:
++              return EVP_aes_256_ofb();
++
++              case NID_aes_256_xts:
++              return EVP_aes_256_xts();
++
++              case NID_des_ede_ecb:
++              return EVP_des_ede();
++
++              case NID_des_ede3_ecb:
++              return EVP_des_ede3();
++
++              case NID_des_ede3_cbc:
++              return EVP_des_ede3_cbc();
++
++              case NID_des_ede3_cfb1:
++              return EVP_des_ede3_cfb1();
++
++              case NID_des_ede3_cfb64:
++              return EVP_des_ede3_cfb64();
++
++              case NID_des_ede3_cfb8:
++              return EVP_des_ede3_cfb8();
++
++              case NID_des_ede3_ofb64:
++              return EVP_des_ede3_ofb();
++
++              case NID_des_ede_cbc:
++              return EVP_des_ede_cbc();
++
++              case NID_des_ede_cfb64:
++              return EVP_des_ede_cfb64();
++
++              case NID_des_ede_ofb64:
++              return EVP_des_ede_ofb();
++
++              default:
++              return NULL;
++
++              }
++      }
++
+diff -up openssl-1.0.1-beta3/crypto/fips/fips.h.fips openssl-1.0.1-beta3/crypto/fips/fips.h
+--- openssl-1.0.1-beta3/crypto/fips/fips.h.fips        2012-02-29 10:33:02.797294923 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips.h     2012-02-29 10:33:02.797294923 +0100
+@@ -0,0 +1,279 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <openssl/opensslconf.h>
++#include <openssl/crypto.h>
++#include <stdarg.h>
++
++#ifndef OPENSSL_FIPS
++#error FIPS is disabled.
++#endif
++
++#ifdef OPENSSL_FIPS
++
++#ifdef  __cplusplus
++extern "C" {
++#endif
++
++struct dsa_st;
++struct rsa_st;
++struct evp_pkey_st;
++struct env_md_st;
++struct env_md_ctx_st;
++struct evp_cipher_st;
++struct evp_cipher_ctx_st;
++struct dh_method;
++struct CMAC_CTX_st;
++struct hmac_ctx_st;
++
++int FIPS_module_mode_set(int onoff, const char *auth);
++int FIPS_module_mode(void);
++const void *FIPS_rand_check(void);
++int FIPS_selftest(void);
++int FIPS_selftest_failed(void);
++void FIPS_corrupt_sha1(void);
++int FIPS_selftest_sha1(void);
++int FIPS_selftest_sha2(void);
++void FIPS_corrupt_aes(void);
++int FIPS_selftest_aes_ccm(void);
++int FIPS_selftest_aes_gcm(void);
++int FIPS_selftest_aes_xts(void);
++int FIPS_selftest_aes(void);
++void FIPS_corrupt_des(void);
++int FIPS_selftest_des(void);
++void FIPS_corrupt_rsa(void);
++void FIPS_corrupt_rsa_keygen(void);
++int FIPS_selftest_rsa(void);
++void FIPS_corrupt_dsa(void);
++void FIPS_corrupt_dsa_keygen(void);
++int FIPS_selftest_dsa(void);
++void FIPS_corrupt_rng(void);
++void FIPS_rng_stick(void);
++void FIPS_x931_stick(int onoff);
++void FIPS_drbg_stick(int onoff);
++int FIPS_selftest_rng(void);
++int FIPS_selftest_x931(void);
++int FIPS_selftest_hmac(void);
++int FIPS_selftest_drbg(void);
++int FIPS_selftest_drbg_all(void);
++int FIPS_selftest_cmac(void);
++
++void FIPS_get_timevec(unsigned char *buf, unsigned long *pctr);
++
++#define FIPS_ERROR_IGNORED(alg) OpenSSLDie(__FILE__, __LINE__, \
++              alg " previous FIPS forbidden algorithm error ignored");
++
++int fips_pkey_signature_test(struct evp_pkey_st *pkey,
++                      const unsigned char *tbs, int tbslen,
++                      const unsigned char *kat, unsigned int katlen,
++                      const struct env_md_st *digest, unsigned int md_flags,
++                      const char *fail_str);
++
++int fips_cipher_test(struct evp_cipher_ctx_st *ctx,
++                      const struct evp_cipher_st *cipher,
++                      const unsigned char *key,
++                      const unsigned char *iv,
++                      const unsigned char *plaintext,
++                      const unsigned char *ciphertext,
++                      int len);
++
++void fips_set_selftest_fail(void);
++
++const struct env_md_st *FIPS_get_digestbynid(int nid);
++
++const struct evp_cipher_st *FIPS_get_cipherbynid(int nid);
++
++
++/* BEGIN ERROR CODES */
++/* The following lines are auto generated by the script mkerr.pl. Any changes
++ * made after this point may be overwritten when the script is next run.
++ */
++void ERR_load_FIPS_strings(void);
++
++/* Error codes for the FIPS functions. */
++
++/* Function codes. */
++#define FIPS_F_DH_BUILTIN_GENPARAMS                    100
++#define FIPS_F_DH_INIT                                         148
++#define FIPS_F_DRBG_RESEED                             162
++#define FIPS_F_DSA_BUILTIN_PARAMGEN                    101
++#define FIPS_F_DSA_BUILTIN_PARAMGEN2                   107
++#define FIPS_F_DSA_DO_SIGN                             102
++#define FIPS_F_DSA_DO_VERIFY                           103
++#define FIPS_F_ECDH_COMPUTE_KEY                                163
++#define FIPS_F_ECDSA_DO_SIGN                           164
++#define FIPS_F_ECDSA_DO_VERIFY                                 165
++#define FIPS_F_EC_KEY_GENERATE_KEY                     166
++#define FIPS_F_EVP_CIPHERINIT_EX                       124
++#define FIPS_F_EVP_DIGESTINIT_EX                       125
++#define FIPS_F_FIPS_CHECK_DSA                          104
++#define FIPS_F_FIPS_CHECK_DSA_PRNG                     151
++#define FIPS_F_FIPS_CHECK_EC                           142
++#define FIPS_F_FIPS_CHECK_EC_PRNG                      152
++#define FIPS_F_FIPS_CHECK_INCORE_FINGERPRINT           105
++#define FIPS_F_FIPS_CHECK_RSA                          106
++#define FIPS_F_FIPS_CHECK_RSA_PRNG                     150
++#define FIPS_F_FIPS_CIPHER                             160
++#define FIPS_F_FIPS_CIPHERINIT                                 143
++#define FIPS_F_FIPS_CIPHER_CTX_CTRL                    161
++#define FIPS_F_FIPS_DIGESTFINAL                                158
++#define FIPS_F_FIPS_DIGESTINIT                                 128
++#define FIPS_F_FIPS_DIGESTUPDATE                       159
++#define FIPS_F_FIPS_DRBG_BYTES                                 131
++#define FIPS_F_FIPS_DRBG_CHECK                                 146
++#define FIPS_F_FIPS_DRBG_CPRNG_TEST                    132
++#define FIPS_F_FIPS_DRBG_ERROR_CHECK                   136
++#define FIPS_F_FIPS_DRBG_GENERATE                      134
++#define FIPS_F_FIPS_DRBG_INIT                          135
++#define FIPS_F_FIPS_DRBG_INSTANTIATE                   138
++#define FIPS_F_FIPS_DRBG_NEW                           139
++#define FIPS_F_FIPS_DRBG_RESEED                                140
++#define FIPS_F_FIPS_DRBG_SINGLE_KAT                    141
++#define FIPS_F_FIPS_DSA_CHECK         /* unused */     107
++#define FIPS_F_FIPS_DSA_SIGN_DIGEST                    154
++#define FIPS_F_FIPS_DSA_VERIFY_DIGEST                  155
++#define FIPS_F_FIPS_GET_ENTROPY                                147
++#define FIPS_F_FIPS_MODE_SET          /* unused */     108
++#define FIPS_F_FIPS_MODULE_MODE_SET                    108
++#define FIPS_F_FIPS_PKEY_SIGNATURE_TEST                        109
++#define FIPS_F_FIPS_RAND_ADD                           137
++#define FIPS_F_FIPS_RAND_BYTES                                 122
++#define FIPS_F_FIPS_RAND_PSEUDO_BYTES                  167
++#define FIPS_F_FIPS_RAND_SEED                          168
++#define FIPS_F_FIPS_RAND_SET_METHOD                    126
++#define FIPS_F_FIPS_RAND_STATUS                                127
++#define FIPS_F_FIPS_RSA_SIGN_DIGEST                    156
++#define FIPS_F_FIPS_RSA_VERIFY_DIGEST                  157
++#define FIPS_F_FIPS_SELFTEST_AES                       110
++#define FIPS_F_FIPS_SELFTEST_AES_CCM                   145
++#define FIPS_F_FIPS_SELFTEST_AES_GCM                   129
++#define FIPS_F_FIPS_SELFTEST_AES_XTS                   144
++#define FIPS_F_FIPS_SELFTEST_CMAC                      130
++#define FIPS_F_FIPS_SELFTEST_DES                       111
++#define FIPS_F_FIPS_SELFTEST_DSA                       112
++#define FIPS_F_FIPS_SELFTEST_ECDSA                     133
++#define FIPS_F_FIPS_SELFTEST_HMAC                      113
++#define FIPS_F_FIPS_SELFTEST_RNG      /* unused */     114
++#define FIPS_F_FIPS_SELFTEST_SHA1                      115
++#define FIPS_F_FIPS_SELFTEST_X931                      114
++#define FIPS_F_FIPS_SET_PRNG_KEY                       153
++#define FIPS_F_HASH_FINAL                              123
++#define FIPS_F_RSA_BUILTIN_KEYGEN                      116
++#define FIPS_F_RSA_EAY_INIT                            149
++#define FIPS_F_RSA_EAY_PRIVATE_DECRYPT                         117
++#define FIPS_F_RSA_EAY_PRIVATE_ENCRYPT                         118
++#define FIPS_F_RSA_EAY_PUBLIC_DECRYPT                  119
++#define FIPS_F_RSA_EAY_PUBLIC_ENCRYPT                  120
++#define FIPS_F_RSA_X931_GENERATE_KEY_EX                        121
++#define FIPS_F_SSLEAY_RAND_BYTES      /* unused */     122
++
++/* Reason codes. */
++#define FIPS_R_ADDITIONAL_INPUT_ERROR_UNDETECTED       150
++#define FIPS_R_ADDITIONAL_INPUT_TOO_LONG               125
++#define FIPS_R_ALREADY_INSTANTIATED                    134
++#define FIPS_R_AUTHENTICATION_FAILURE                  151
++#define FIPS_R_CANNOT_READ_EXE                /* unused */     103
++#define FIPS_R_CANNOT_READ_EXE_DIGEST /* unused */     104
++#define FIPS_R_CONTRADICTING_EVIDENCE                  114
++#define FIPS_R_DRBG_NOT_INITIALISED                    152
++#define FIPS_R_DRBG_STUCK                              103
++#define FIPS_R_ENTROPY_ERROR_UNDETECTED                        104
++#define FIPS_R_ENTROPY_NOT_REQUESTED_FOR_RESEED                105
++#define FIPS_R_ENTROPY_SOURCE_STUCK                    142
++#define FIPS_R_ERROR_INITIALISING_DRBG                         115
++#define FIPS_R_ERROR_INSTANTIATING_DRBG                        127
++#define FIPS_R_ERROR_RETRIEVING_ADDITIONAL_INPUT       124
++#define FIPS_R_ERROR_RETRIEVING_ENTROPY                        122
++#define FIPS_R_ERROR_RETRIEVING_NONCE                  140
++#define FIPS_R_EXE_DIGEST_DOES_NOT_MATCH   /* unused */        105
++#define FIPS_R_FINGERPRINT_DOES_NOT_MATCH              110
++#define FIPS_R_FINGERPRINT_DOES_NOT_MATCH_NONPIC_RELOCATED 111
++#define FIPS_R_FINGERPRINT_DOES_NOT_MATCH_SEGMENT_ALIASING 112
++#define FIPS_R_FIPS_MODE_ALREADY_SET                   102
++#define FIPS_R_FIPS_SELFTEST_FAILED                    106
++#define FIPS_R_FUNCTION_ERROR                          116
++#define FIPS_R_GENERATE_ERROR                          137
++#define FIPS_R_GENERATE_ERROR_UNDETECTED               118
++#define FIPS_R_INSTANTIATE_ERROR                       119
++#define FIPS_R_INSUFFICIENT_SECURITY_STRENGTH          120
++#define FIPS_R_INTERNAL_ERROR                          121
++#define FIPS_R_INVALID_KEY_LENGTH                      109
++#define FIPS_R_INVALID_PARAMETERS                      144
++#define FIPS_R_IN_ERROR_STATE                          123
++#define FIPS_R_KEY_TOO_SHORT                           108
++#define FIPS_R_NONCE_ERROR_UNDETECTED                  149
++#define FIPS_R_NON_FIPS_METHOD                                 100
++#define FIPS_R_NOPR_TEST1_FAILURE                      145
++#define FIPS_R_NOPR_TEST2_FAILURE                      146
++#define FIPS_R_NOT_INSTANTIATED                                126
++#define FIPS_R_PAIRWISE_TEST_FAILED                    107
++#define FIPS_R_PERSONALISATION_ERROR_UNDETECTED                128
++#define FIPS_R_PERSONALISATION_STRING_TOO_LONG                 129
++#define FIPS_R_PRNG_STRENGTH_TOO_LOW                   143
++#define FIPS_R_PR_TEST1_FAILURE                                147
++#define FIPS_R_PR_TEST2_FAILURE                                148
++#define FIPS_R_REQUEST_LENGTH_ERROR_UNDETECTED                 130
++#define FIPS_R_REQUEST_TOO_LARGE_FOR_DRBG              131
++#define FIPS_R_RESEED_COUNTER_ERROR                    132
++#define FIPS_R_RESEED_ERROR                            133
++#define FIPS_R_RSA_DECRYPT_ERROR      /* unused */     115
++#define FIPS_R_RSA_ENCRYPT_ERROR      /* unused */     116
++#define FIPS_R_SELFTEST_FAILED                                 101
++#define FIPS_R_SELFTEST_FAILURE                                135
++#define FIPS_R_STRENGTH_ERROR_UNDETECTED               136
++#define FIPS_R_TEST_FAILURE                            117
++#define FIPS_R_UNINSTANTIATE_ERROR                     141
++#define FIPS_R_UNINSTANTIATE_ZEROISE_ERROR             138
++#define FIPS_R_UNSUPPORTED_DRBG_TYPE                   139
++#define FIPS_R_UNSUPPORTED_PLATFORM                    113
++
++#ifdef  __cplusplus
++}
++#endif
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_hmac_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_hmac_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_hmac_selftest.c.fips  2012-02-29 10:33:02.797294923 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_hmac_selftest.c       2012-02-29 10:33:02.797294923 +0100
+@@ -0,0 +1,137 @@
++/* ====================================================================
++ * Copyright (c) 2005 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/err.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++#include <openssl/hmac.h>
++
++#ifdef OPENSSL_FIPS
++typedef struct {
++      const EVP_MD *(*alg)(void);
++      const char *key, *iv;
++      unsigned char kaval[EVP_MAX_MD_SIZE];
++} HMAC_KAT;
++
++static const HMAC_KAT vector[] = {
++    { EVP_sha1,
++      /* from http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf */
++      "0123456789:;<=>?@ABC",
++      "Sample #2",
++      { 0x09,0x22,0xd3,0x40,0x5f,0xaa,0x3d,0x19,
++        0x4f,0x82,0xa4,0x58,0x30,0x73,0x7d,0x5c,
++        0xc6,0xc7,0x5d,0x24 }
++    },
++    { EVP_sha224,
++      /* just keep extending the above... */
++      "0123456789:;<=>?@ABC",
++      "Sample #2",
++      { 0xdd,0xef,0x0a,0x40,0xcb,0x7d,0x50,0xfb,
++        0x6e,0xe6,0xce,0xa1,0x20,0xba,0x26,0xaa,
++        0x08,0xf3,0x07,0x75,0x87,0xb8,0xad,0x1b,
++        0x8c,0x8d,0x12,0xc7 }
++    },
++    { EVP_sha256,
++      "0123456789:;<=>?@ABC",
++      "Sample #2",
++      { 0xb8,0xf2,0x0d,0xb5,0x41,0xea,0x43,0x09,
++        0xca,0x4e,0xa9,0x38,0x0c,0xd0,0xe8,0x34,
++        0xf7,0x1f,0xbe,0x91,0x74,0xa2,0x61,0x38,
++        0x0d,0xc1,0x7e,0xae,0x6a,0x34,0x51,0xd9 }
++    },
++    { EVP_sha384,
++      "0123456789:;<=>?@ABC",
++      "Sample #2",
++      { 0x08,0xbc,0xb0,0xda,0x49,0x1e,0x87,0xad,
++        0x9a,0x1d,0x6a,0xce,0x23,0xc5,0x0b,0xf6,
++        0xb7,0x18,0x06,0xa5,0x77,0xcd,0x49,0x04,
++        0x89,0xf1,0xe6,0x23,0x44,0x51,0x51,0x9f,
++        0x85,0x56,0x80,0x79,0x0c,0xbd,0x4d,0x50,
++        0xa4,0x5f,0x29,0xe3,0x93,0xf0,0xe8,0x7f }
++    },
++    { EVP_sha512,
++      "0123456789:;<=>?@ABC",
++      "Sample #2",
++      { 0x80,0x9d,0x44,0x05,0x7c,0x5b,0x95,0x41,
++        0x05,0xbd,0x04,0x13,0x16,0xdb,0x0f,0xac,
++        0x44,0xd5,0xa4,0xd5,0xd0,0x89,0x2b,0xd0,
++        0x4e,0x86,0x64,0x12,0xc0,0x90,0x77,0x68,
++        0xf1,0x87,0xb7,0x7c,0x4f,0xae,0x2c,0x2f,
++        0x21,0xa5,0xb5,0x65,0x9a,0x4f,0x4b,0xa7,
++        0x47,0x02,0xa3,0xde,0x9b,0x51,0xf1,0x45,
++        0xbd,0x4f,0x25,0x27,0x42,0x98,0x99,0x05 }
++    },
++};
++
++int FIPS_selftest_hmac()
++    {
++    int n;
++    unsigned int    outlen;
++    unsigned char   out[EVP_MAX_MD_SIZE];
++    const EVP_MD   *md;
++    const HMAC_KAT *t;
++
++    for(n=0,t=vector; n<sizeof(vector)/sizeof(vector[0]); n++,t++)
++      {
++      md = (*t->alg)();
++      HMAC(md,t->key,strlen(t->key),
++              (const unsigned char *)t->iv,strlen(t->iv),
++              out,&outlen);
++
++      if(memcmp(out,t->kaval,outlen))
++          {
++          FIPSerr(FIPS_F_FIPS_SELFTEST_HMAC,FIPS_R_SELFTEST_FAILED);
++          return 0;
++          }
++      }
++    return 1;
++    }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_locl.h.fips openssl-1.0.1-beta3/crypto/fips/fips_locl.h
+--- openssl-1.0.1-beta3/crypto/fips/fips_locl.h.fips   2012-02-29 10:33:02.797294923 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_locl.h        2012-02-29 10:33:02.797294923 +0100
+@@ -0,0 +1,71 @@
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#ifdef OPENSSL_FIPS
++
++#ifdef  __cplusplus
++extern "C" {
++#endif
++
++#define FIPS_MAX_CIPHER_TEST_SIZE     32
++#define fips_load_key_component(key, comp, pre) \
++      key->comp = BN_bin2bn(pre##_##comp, sizeof(pre##_##comp), key->comp); \
++      if (!key->comp) \
++              goto err
++
++#define fips_post_started(id, subid, ex) 1
++#define fips_post_success(id, subid, ex) 1
++#define fips_post_failed(id, subid, ex) 1
++#define fips_post_corrupt(id, subid, ex) 1
++#define fips_post_status() 1
++
++#ifdef  __cplusplus
++}
++#endif
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_md.c.fips openssl-1.0.1-beta3/crypto/fips/fips_md.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_md.c.fips     2012-02-29 10:33:02.797294923 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_md.c  2012-02-29 10:33:02.797294923 +0100
+@@ -0,0 +1,145 @@
++/* fips/evp/fips_md.c */
++/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
++ * All rights reserved.
++ *
++ * This package is an SSL implementation written
++ * by Eric Young (eay@cryptsoft.com).
++ * The implementation was written so as to conform with Netscapes SSL.
++ * 
++ * This library is free for commercial and non-commercial use as long as
++ * the following conditions are aheared to.  The following conditions
++ * apply to all code found in this distribution, be it the RC4, RSA,
++ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
++ * included with this distribution is covered by the same copyright terms
++ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
++ * 
++ * Copyright remains Eric Young's, and as such any Copyright notices in
++ * the code are not to be removed.
++ * If this package is used in a product, Eric Young should be given attribution
++ * as the author of the parts of the library used.
++ * This can be in the form of a textual message at program startup or
++ * in documentation (online or textual) provided with the package.
++ * 
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. All advertising materials mentioning features or use of this software
++ *    must display the following acknowledgement:
++ *    "This product includes cryptographic software written by
++ *     Eric Young (eay@cryptsoft.com)"
++ *    The word 'cryptographic' can be left out if the rouines from the library
++ *    being used are not cryptographic related :-).
++ * 4. If you include any Windows specific code (or a derivative thereof) from 
++ *    the apps directory (application code) you must include an acknowledgement:
++ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
++ * 
++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ * 
++ * The licence and distribution terms for any publically available version or
++ * derivative of this code cannot be changed.  i.e. this code cannot simply be
++ * copied and put under another distribution licence
++ * [including the GNU Public Licence.]
++ */
++/* ====================================================================
++ * Copyright (c) 1998-2001 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This product includes cryptographic software written by Eric Young
++ * (eay@cryptsoft.com).  This product includes software written by Tim
++ * Hudson (tjh@cryptsoft.com).
++ *
++ */
++
++/* Minimal standalone FIPS versions of Digest operations */
++
++#define OPENSSL_FIPSAPI
++
++#include <stdio.h>
++#include <string.h>
++#include <openssl/objects.h>
++#include <openssl/evp.h>
++#include <openssl/err.h>
++#include <openssl/fips.h>
++
++const EVP_MD *FIPS_get_digestbynid(int nid)
++      {
++      switch (nid)
++              {
++              case NID_sha1:
++              return EVP_sha1();
++
++              case NID_sha224:
++              return EVP_sha224();
++
++              case NID_sha256:
++              return EVP_sha256();
++
++              case NID_sha384:
++              return EVP_sha384();
++
++              case NID_sha512:
++              return EVP_sha512();
++
++              default:
++              return NULL;
++              }
++      }
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_post.c.fips openssl-1.0.1-beta3/crypto/fips/fips_post.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_post.c.fips   2012-02-29 10:33:02.797294923 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_post.c        2012-02-29 10:33:02.797294923 +0100
+@@ -0,0 +1,205 @@
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#define OPENSSL_FIPSAPI
++
++#include <openssl/crypto.h>
++#include <openssl/rand.h>
++#include <openssl/fips_rand.h>
++#include <openssl/err.h>
++#include <openssl/bio.h>
++#include <openssl/hmac.h>
++#include <openssl/rsa.h>
++#include <openssl/dsa.h>
++#include <string.h>
++#include <limits.h>
++
++#ifdef OPENSSL_FIPS
++
++/* Power on self test (POST) support functions */
++
++#include <openssl/fips.h>
++#include "fips_locl.h"
++
++/* Run all selftests */
++int FIPS_selftest(void)
++      {
++      int rv = 1;
++      if (!FIPS_selftest_drbg())
++              rv = 0;
++      if (!FIPS_selftest_x931())
++              rv = 0;
++      if (!FIPS_selftest_sha1())
++              rv = 0;
++      if (!FIPS_selftest_sha2())
++              rv = 0;
++      if (!FIPS_selftest_hmac())
++              rv = 0;
++      if (!FIPS_selftest_cmac())
++              rv = 0;
++      if (!FIPS_selftest_aes())
++              rv = 0;
++      if (!FIPS_selftest_aes_ccm())
++              rv = 0;
++      if (!FIPS_selftest_aes_gcm())
++              rv = 0;
++      if (!FIPS_selftest_aes_xts())
++              rv = 0;
++      if (!FIPS_selftest_des())
++              rv = 0;
++      if (!FIPS_selftest_rsa())
++              rv = 0;
++      if (!FIPS_selftest_dsa())
++              rv = 0;
++      return rv;
++      }
++
++/* Generalized public key test routine. Signs and verifies the data
++ * supplied in tbs using mesage digest md and setting option digest
++ * flags md_flags. If the 'kat' parameter is not NULL it will
++ * additionally check the signature matches it: a known answer test
++ * The string "fail_str" is used for identification purposes in case
++ * of failure. If "pkey" is NULL just perform a message digest check.
++ */
++
++int fips_pkey_signature_test(EVP_PKEY *pkey,
++                      const unsigned char *tbs, int tbslen,
++                      const unsigned char *kat, unsigned int katlen,
++                      const EVP_MD *digest, unsigned int md_flags,
++                      const char *fail_str)
++      {       
++      int ret = 0;
++      unsigned char sigtmp[256], *sig = sigtmp;
++      unsigned int siglen;
++      EVP_MD_CTX mctx;
++      EVP_MD_CTX_init(&mctx);
++
++      if (digest == NULL)
++              digest = EVP_sha256();
++
++      if ((pkey->type == EVP_PKEY_RSA)
++              && (RSA_size(pkey->pkey.rsa) > sizeof(sigtmp)))
++              {
++              sig = OPENSSL_malloc(RSA_size(pkey->pkey.rsa));
++              if (!sig)
++                      {
++                      FIPSerr(FIPS_F_FIPS_PKEY_SIGNATURE_TEST,ERR_R_MALLOC_FAILURE);
++                      return 0;
++                      }
++              }
++
++      if (tbslen == -1)
++              tbslen = strlen((char *)tbs);
++
++      if (md_flags)
++              EVP_MD_CTX_set_flags(&mctx, md_flags);
++
++      if (!EVP_SignInit_ex(&mctx, digest, NULL))
++              goto error;
++      if (!EVP_SignUpdate(&mctx, tbs, tbslen))
++              goto error;
++      if (!EVP_SignFinal(&mctx, sig, &siglen, pkey))
++              goto error;
++
++      if (kat && ((siglen != katlen) || memcmp(kat, sig, katlen)))
++              goto error;
++
++      if (!EVP_VerifyInit_ex(&mctx, digest, NULL))
++              goto error;
++      if (!EVP_VerifyUpdate(&mctx, tbs, tbslen))
++              goto error;
++      ret = EVP_VerifyFinal(&mctx, sig, siglen, pkey);
++
++      error:
++      if (sig != sigtmp)
++              OPENSSL_free(sig);
++      EVP_MD_CTX_cleanup(&mctx);
++      if (ret != 1)
++              {
++              FIPSerr(FIPS_F_FIPS_PKEY_SIGNATURE_TEST,FIPS_R_TEST_FAILURE);
++              if (fail_str)
++                      ERR_add_error_data(2, "Type=", fail_str);
++              return 0;
++              }
++      return 1;
++      }
++
++/* Generalized symmetric cipher test routine. Encrypt data, verify result
++ * against known answer, decrypt and compare with original plaintext.
++ */
++
++int fips_cipher_test(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
++                      const unsigned char *key,
++                      const unsigned char *iv,
++                      const unsigned char *plaintext,
++                      const unsigned char *ciphertext,
++                      int len)
++      {
++      unsigned char pltmp[FIPS_MAX_CIPHER_TEST_SIZE];
++      unsigned char citmp[FIPS_MAX_CIPHER_TEST_SIZE];
++
++      OPENSSL_assert(len <= FIPS_MAX_CIPHER_TEST_SIZE);
++      memset(pltmp, 0, FIPS_MAX_CIPHER_TEST_SIZE);
++      memset(citmp, 0, FIPS_MAX_CIPHER_TEST_SIZE);
++
++      if (EVP_CipherInit_ex(ctx, cipher, NULL, key, iv, 1) <= 0)
++              return 0;
++      if (EVP_Cipher(ctx, citmp, plaintext, len) <= 0)
++              return 0;
++      if (memcmp(citmp, ciphertext, len))
++              return 0;
++      if (EVP_CipherInit_ex(ctx, cipher, NULL, key, iv, 0) <= 0)
++              return 0;
++      if (EVP_Cipher(ctx, pltmp, citmp, len) <= 0)
++              return 0;
++      if (memcmp(pltmp, plaintext, len))
++              return 0;
++      return 1;
++      }
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_rand.c.fips openssl-1.0.1-beta3/crypto/fips/fips_rand.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_rand.c.fips   2012-02-29 10:33:02.798294931 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_rand.c        2012-02-29 10:33:02.798294931 +0100
+@@ -0,0 +1,457 @@
++/* ====================================================================
++ * Copyright (c) 2007 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++/*
++ * This is a FIPS approved AES PRNG based on ANSI X9.31 A.2.4.
++ */
++#include <openssl/crypto.h>
++#include "e_os.h"
++
++/* If we don't define _XOPEN_SOURCE_EXTENDED, struct timeval won't
++   be defined and gettimeofday() won't be declared with strict compilers
++   like DEC C in ANSI C mode.  */
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED 1
++#endif
++
++#include <openssl/rand.h>
++#include <openssl/aes.h>
++#include <openssl/err.h>
++#include <openssl/fips_rand.h>
++#if !(defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS))
++# include <sys/time.h>
++#endif
++#if defined(OPENSSL_SYS_VXWORKS)
++# include <time.h>
++#endif
++#include <assert.h>
++#ifndef OPENSSL_SYS_WIN32
++# ifdef OPENSSL_UNISTD
++#  include OPENSSL_UNISTD
++# else
++#  include <unistd.h>
++# endif
++#endif
++#include <string.h>
++#include <openssl/fips.h>
++#include "fips_locl.h"
++
++#ifdef OPENSSL_FIPS
++
++void *OPENSSL_stderr(void);
++
++#define AES_BLOCK_LENGTH      16
++
++
++/* AES FIPS PRNG implementation */
++
++typedef struct 
++      {
++      int seeded;
++      int keyed;
++      int test_mode;
++      int second;
++      int error;
++      unsigned long counter;
++      AES_KEY ks;
++      int vpos;
++      /* Temporary storage for key if it equals seed length */
++      unsigned char tmp_key[AES_BLOCK_LENGTH];
++      unsigned char V[AES_BLOCK_LENGTH];
++      unsigned char DT[AES_BLOCK_LENGTH];
++      unsigned char last[AES_BLOCK_LENGTH];
++      } FIPS_PRNG_CTX;
++
++static FIPS_PRNG_CTX sctx;
++
++static int fips_prng_fail = 0;
++
++void FIPS_x931_stick(int onoff)
++      {
++      fips_prng_fail = onoff;
++      }
++
++void FIPS_rng_stick(void)
++      {
++      FIPS_x931_stick(1);
++      }
++
++static void fips_rand_prng_reset(FIPS_PRNG_CTX *ctx)
++      {
++      ctx->seeded = 0;
++      ctx->keyed = 0;
++      ctx->test_mode = 0;
++      ctx->counter = 0;
++      ctx->second = 0;
++      ctx->error = 0;
++      ctx->vpos = 0;
++      OPENSSL_cleanse(ctx->V, AES_BLOCK_LENGTH);
++      OPENSSL_cleanse(&ctx->ks, sizeof(AES_KEY));
++      }
++      
++
++static int fips_set_prng_key(FIPS_PRNG_CTX *ctx,
++                      const unsigned char *key, unsigned int keylen)
++      {
++      if (FIPS_selftest_failed())
++              {
++              FIPSerr(FIPS_F_FIPS_SET_PRNG_KEY, FIPS_R_SELFTEST_FAILED);
++              return 0;
++              }
++      if (keylen != 16 && keylen != 24 && keylen != 32)
++              {
++              /* error: invalid key size */
++              return 0;
++              }
++      AES_set_encrypt_key(key, keylen << 3, &ctx->ks);
++      if (keylen == 16)
++              {
++              memcpy(ctx->tmp_key, key, 16);
++              ctx->keyed = 2;
++              }
++      else
++              ctx->keyed = 1;
++      ctx->seeded = 0;
++      ctx->second = 0;
++      return 1;
++      }
++
++static int fips_set_prng_seed(FIPS_PRNG_CTX *ctx,
++                      const unsigned char *seed, unsigned int seedlen)
++      {
++      unsigned int i;
++      if (!ctx->keyed)
++              return 0;
++      /* In test mode seed is just supplied data */
++      if (ctx->test_mode)
++              {
++              if (seedlen != AES_BLOCK_LENGTH)
++                      return 0;
++              memcpy(ctx->V, seed, AES_BLOCK_LENGTH);
++              ctx->seeded = 1;
++              return 1;
++              }
++      /* Outside test mode XOR supplied data with existing seed */
++      for (i = 0; i < seedlen; i++)
++              {
++              ctx->V[ctx->vpos++] ^= seed[i];
++              if (ctx->vpos == AES_BLOCK_LENGTH)
++                      {
++                      ctx->vpos = 0;
++                      /* Special case if first seed and key length equals
++                       * block size check key and seed do not match.
++                       */ 
++                      if (ctx->keyed == 2)
++                              {
++                              if (!memcmp(ctx->tmp_key, ctx->V, 16))
++                                      {
++                                      RANDerr(RAND_F_FIPS_SET_PRNG_SEED,
++                                              RAND_R_PRNG_SEED_MUST_NOT_MATCH_KEY);
++                                      return 0;
++                                      }
++                              OPENSSL_cleanse(ctx->tmp_key, 16);
++                              ctx->keyed = 1;
++                              }
++                      ctx->seeded = 1;
++                      }
++              }
++      return 1;
++      }
++
++static int fips_set_test_mode(FIPS_PRNG_CTX *ctx)
++      {
++      if (ctx->keyed)
++              {
++              RANDerr(RAND_F_FIPS_SET_TEST_MODE,RAND_R_PRNG_KEYED);
++              return 0;
++              }
++      ctx->test_mode = 1;
++      return 1;
++      }
++
++int FIPS_x931_test_mode(void)
++      {
++      return fips_set_test_mode(&sctx);
++      }
++
++int FIPS_rand_test_mode(void)
++      {
++      return fips_set_test_mode(&sctx);
++      }
++
++
++int FIPS_x931_set_dt(unsigned char *dt)
++      {
++      if (!sctx.test_mode)
++              {
++              RANDerr(RAND_F_FIPS_X931_SET_DT,RAND_R_NOT_IN_TEST_MODE);
++              return 0;
++              }
++      memcpy(sctx.DT, dt, AES_BLOCK_LENGTH);
++      return 1;
++      }
++
++int FIPS_rand_set_dt(unsigned char *dt)
++      {
++      if (!sctx.test_mode)
++              {
++              RANDerr(RAND_F_FIPS_RAND_SET_DT,RAND_R_NOT_IN_TEST_MODE);
++              return 0;
++              }
++      memcpy(sctx.DT, dt, AES_BLOCK_LENGTH);
++      return 1;
++      }
++
++void FIPS_get_timevec(unsigned char *buf, unsigned long *pctr)
++      {
++#ifdef OPENSSL_SYS_WIN32
++      FILETIME ft;
++#elif defined(OPENSSL_SYS_VXWORKS)
++        struct timespec ts;
++#else
++      struct timeval tv;
++#endif
++
++#ifndef GETPID_IS_MEANINGLESS
++      unsigned long pid;
++#endif
++
++#ifdef OPENSSL_SYS_WIN32
++      GetSystemTimeAsFileTime(&ft);
++      buf[0] = (unsigned char) (ft.dwHighDateTime & 0xff);
++      buf[1] = (unsigned char) ((ft.dwHighDateTime >> 8) & 0xff);
++      buf[2] = (unsigned char) ((ft.dwHighDateTime >> 16) & 0xff);
++      buf[3] = (unsigned char) ((ft.dwHighDateTime >> 24) & 0xff);
++      buf[4] = (unsigned char) (ft.dwLowDateTime & 0xff);
++      buf[5] = (unsigned char) ((ft.dwLowDateTime >> 8) & 0xff);
++      buf[6] = (unsigned char) ((ft.dwLowDateTime >> 16) & 0xff);
++      buf[7] = (unsigned char) ((ft.dwLowDateTime >> 24) & 0xff);
++#elif defined(OPENSSL_SYS_VXWORKS)
++      clock_gettime(CLOCK_REALTIME, &ts);
++      buf[0] = (unsigned char) (ts.tv_sec & 0xff);
++      buf[1] = (unsigned char) ((ts.tv_sec >> 8) & 0xff);
++      buf[2] = (unsigned char) ((ts.tv_sec >> 16) & 0xff);
++      buf[3] = (unsigned char) ((ts.tv_sec >> 24) & 0xff);
++      buf[4] = (unsigned char) (ts.tv_nsec & 0xff);
++      buf[5] = (unsigned char) ((ts.tv_nsec >> 8) & 0xff);
++      buf[6] = (unsigned char) ((ts.tv_nsec >> 16) & 0xff);
++      buf[7] = (unsigned char) ((ts.tv_nsec >> 24) & 0xff);
++#else
++      gettimeofday(&tv,NULL);
++      buf[0] = (unsigned char) (tv.tv_sec & 0xff);
++      buf[1] = (unsigned char) ((tv.tv_sec >> 8) & 0xff);
++      buf[2] = (unsigned char) ((tv.tv_sec >> 16) & 0xff);
++      buf[3] = (unsigned char) ((tv.tv_sec >> 24) & 0xff);
++      buf[4] = (unsigned char) (tv.tv_usec & 0xff);
++      buf[5] = (unsigned char) ((tv.tv_usec >> 8) & 0xff);
++      buf[6] = (unsigned char) ((tv.tv_usec >> 16) & 0xff);
++      buf[7] = (unsigned char) ((tv.tv_usec >> 24) & 0xff);
++#endif
++      buf[8] = (unsigned char) (*pctr & 0xff);
++      buf[9] = (unsigned char) ((*pctr >> 8) & 0xff);
++      buf[10] = (unsigned char) ((*pctr >> 16) & 0xff);
++      buf[11] = (unsigned char) ((*pctr >> 24) & 0xff);
++
++      (*pctr)++;
++
++
++#ifndef GETPID_IS_MEANINGLESS
++      pid=(unsigned long)getpid();
++      buf[12] = (unsigned char) (pid & 0xff);
++      buf[13] = (unsigned char) ((pid >> 8) & 0xff);
++      buf[14] = (unsigned char) ((pid >> 16) & 0xff);
++      buf[15] = (unsigned char) ((pid >> 24) & 0xff);
++#endif
++    }
++
++static int fips_rand(FIPS_PRNG_CTX *ctx,
++                      unsigned char *out, unsigned int outlen)
++      {
++      unsigned char R[AES_BLOCK_LENGTH], I[AES_BLOCK_LENGTH];
++      unsigned char tmp[AES_BLOCK_LENGTH];
++      int i;
++      if (ctx->error)
++              {
++              RANDerr(RAND_F_FIPS_RAND,RAND_R_PRNG_ERROR);
++              return 0;
++              }
++      if (!ctx->keyed)
++              {
++              RANDerr(RAND_F_FIPS_RAND,RAND_R_NO_KEY_SET);
++              return 0;
++              }
++      if (!ctx->seeded)
++              {
++              RANDerr(RAND_F_FIPS_RAND,RAND_R_PRNG_NOT_SEEDED);
++              return 0;
++              }
++      for (;;)
++              {
++              if (!ctx->test_mode)
++                      FIPS_get_timevec(ctx->DT, &ctx->counter);
++              AES_encrypt(ctx->DT, I, &ctx->ks);
++              for (i = 0; i < AES_BLOCK_LENGTH; i++)
++                      tmp[i] = I[i] ^ ctx->V[i];
++              AES_encrypt(tmp, R, &ctx->ks);
++              for (i = 0; i < AES_BLOCK_LENGTH; i++)
++                      tmp[i] = R[i] ^ I[i];
++              AES_encrypt(tmp, ctx->V, &ctx->ks);
++              /* Continuous PRNG test */
++              if (ctx->second)
++                      {
++                      if (fips_prng_fail)
++                              memcpy(ctx->last, R, AES_BLOCK_LENGTH);
++                      if (!memcmp(R, ctx->last, AES_BLOCK_LENGTH))
++                              {
++                              RANDerr(RAND_F_FIPS_RAND,RAND_R_PRNG_STUCK);
++                              ctx->error = 1;
++                              fips_set_selftest_fail();
++                              return 0;
++                              }
++                      }
++              memcpy(ctx->last, R, AES_BLOCK_LENGTH);
++              if (!ctx->second)
++                      {
++                      ctx->second = 1;
++                      if (!ctx->test_mode)
++                              continue;
++                      }
++
++              if (outlen <= AES_BLOCK_LENGTH)
++                      {
++                      memcpy(out, R, outlen);
++                      break;
++                      }
++
++              memcpy(out, R, AES_BLOCK_LENGTH);
++              out += AES_BLOCK_LENGTH;
++              outlen -= AES_BLOCK_LENGTH;
++              }
++      return 1;
++      }
++
++
++int FIPS_x931_set_key(const unsigned char *key, int keylen)
++      {
++      int ret;
++      CRYPTO_w_lock(CRYPTO_LOCK_RAND);
++      ret = fips_set_prng_key(&sctx, key, keylen);
++      CRYPTO_w_unlock(CRYPTO_LOCK_RAND);
++      return ret;
++      }
++
++int FIPS_rand_set_key(const unsigned char *key, FIPS_RAND_SIZE_T keylen)
++      {
++      return FIPS_x931_set_key(key, keylen);
++      }
++
++int FIPS_x931_seed(const void *seed, int seedlen)
++      {
++      int ret;
++      CRYPTO_w_lock(CRYPTO_LOCK_RAND);
++      ret = fips_set_prng_seed(&sctx, seed, seedlen);
++      CRYPTO_w_unlock(CRYPTO_LOCK_RAND);
++      return ret;
++      }
++
++
++int FIPS_x931_bytes(unsigned char *out, int count)
++      {
++      int ret;
++      CRYPTO_w_lock(CRYPTO_LOCK_RAND);
++      ret = fips_rand(&sctx, out, count);
++      CRYPTO_w_unlock(CRYPTO_LOCK_RAND);
++      return ret;
++      }
++
++int FIPS_x931_status(void)
++      {
++      int ret;
++      CRYPTO_r_lock(CRYPTO_LOCK_RAND);
++      ret = sctx.seeded;
++      CRYPTO_r_unlock(CRYPTO_LOCK_RAND);
++      return ret;
++      }
++
++void FIPS_x931_reset(void)
++      {
++      CRYPTO_w_lock(CRYPTO_LOCK_RAND);
++      fips_rand_prng_reset(&sctx);
++      CRYPTO_w_unlock(CRYPTO_LOCK_RAND);
++      }
++
++static int fips_do_rand_seed(const void *seed, int seedlen)
++      {
++      FIPS_x931_seed(seed, seedlen);
++      return 1;
++      }
++
++static int fips_do_rand_add(const void *seed, int seedlen,
++                                      double add_entropy)
++      {
++      FIPS_x931_seed(seed, seedlen);
++      return 1;
++      }
++
++static const RAND_METHOD rand_x931_meth=
++    {
++    fips_do_rand_seed,
++    FIPS_x931_bytes,
++    FIPS_x931_reset,
++    fips_do_rand_add,
++    FIPS_x931_bytes,
++    FIPS_x931_status
++    };
++
++const RAND_METHOD *FIPS_x931_method(void)
++{
++  return &rand_x931_meth;
++}
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_rand.h.fips openssl-1.0.1-beta3/crypto/fips/fips_rand.h
+--- openssl-1.0.1-beta3/crypto/fips/fips_rand.h.fips   2012-02-29 10:33:02.798294931 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_rand.h        2012-02-29 10:33:02.798294931 +0100
+@@ -0,0 +1,145 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#ifndef HEADER_FIPS_RAND_H
++#define HEADER_FIPS_RAND_H
++
++#include <openssl/aes.h>
++#include <openssl/evp.h>
++#include <openssl/hmac.h>
++#include <openssl/rand.h>
++
++#ifdef OPENSSL_FIPS
++
++#ifdef  __cplusplus
++extern "C" {
++#endif
++
++int FIPS_x931_set_key(const unsigned char *key, int keylen);
++int FIPS_x931_seed(const void *buf, int num);
++int FIPS_x931_bytes(unsigned char *out, int outlen);
++
++int FIPS_x931_test_mode(void);
++void FIPS_x931_reset(void);
++int FIPS_x931_set_dt(unsigned char *dt);
++
++int FIPS_x931_status(void);
++
++const RAND_METHOD *FIPS_x931_method(void);
++
++typedef struct drbg_ctx_st DRBG_CTX;
++/* DRBG external flags */
++/* Flag for CTR mode only: use derivation function ctr_df */
++#define       DRBG_FLAG_CTR_USE_DF            0x1
++/* PRNG is in test state */
++#define       DRBG_FLAG_TEST                  0x2
++
++DRBG_CTX *FIPS_drbg_new(int type, unsigned int flags);
++int FIPS_drbg_init(DRBG_CTX *dctx, int type, unsigned int flags);
++int FIPS_drbg_instantiate(DRBG_CTX *dctx,
++                              const unsigned char *pers, size_t perslen);
++int FIPS_drbg_reseed(DRBG_CTX *dctx, const unsigned char *adin, size_t adinlen);
++int FIPS_drbg_generate(DRBG_CTX *dctx, unsigned char *out, size_t outlen,
++                      int prediction_resistance,
++                      const unsigned char *adin, size_t adinlen);
++
++int FIPS_drbg_uninstantiate(DRBG_CTX *dctx);
++void FIPS_drbg_free(DRBG_CTX *dctx);
++
++int FIPS_drbg_set_callbacks(DRBG_CTX *dctx,
++      size_t (*get_entropy)(DRBG_CTX *ctx, unsigned char **pout,
++                              int entropy, size_t min_len, size_t max_len),
++      void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen),
++      size_t entropy_blocklen,
++      size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout,
++                              int entropy, size_t min_len, size_t max_len),
++      void (*cleanup_nonce)(DRBG_CTX *ctx, unsigned char *out, size_t olen));
++
++int FIPS_drbg_set_rand_callbacks(DRBG_CTX *dctx,
++      size_t (*get_adin)(DRBG_CTX *ctx, unsigned char **pout),
++      void (*cleanup_adin)(DRBG_CTX *ctx, unsigned char *out, size_t olen),
++      int (*rand_seed_cb)(DRBG_CTX *ctx, const void *buf, int num),
++      int (*rand_add_cb)(DRBG_CTX *ctx,
++                              const void *buf, int num, double entropy));
++
++void *FIPS_drbg_get_app_data(DRBG_CTX *ctx);
++void FIPS_drbg_set_app_data(DRBG_CTX *ctx, void *app_data);
++size_t FIPS_drbg_get_blocklength(DRBG_CTX *dctx);
++int FIPS_drbg_get_strength(DRBG_CTX *dctx);
++void FIPS_drbg_set_check_interval(DRBG_CTX *dctx, int interval);
++void FIPS_drbg_set_reseed_interval(DRBG_CTX *dctx, int interval);
++
++int FIPS_drbg_health_check(DRBG_CTX *dctx);
++
++DRBG_CTX *FIPS_get_default_drbg(void);
++const RAND_METHOD *FIPS_drbg_method(void);
++
++
++int FIPS_rand_set_method(const RAND_METHOD *meth);
++const RAND_METHOD *FIPS_rand_get_method(void);
++
++void FIPS_rand_set_bits(int nbits);
++
++int FIPS_rand_strength(void);
++
++/* 1.0.0 compat functions */
++int FIPS_rand_set_key(const unsigned char *key, FIPS_RAND_SIZE_T keylen);
++int FIPS_rand_seed(const void *buf, FIPS_RAND_SIZE_T num);
++int FIPS_rand_bytes(unsigned char *out, FIPS_RAND_SIZE_T outlen);
++int FIPS_rand_test_mode(void);
++void FIPS_rand_reset(void);
++int FIPS_rand_set_dt(unsigned char *dt);
++int FIPS_rand_status(void);
++const RAND_METHOD *FIPS_rand_method(void);
++
++#ifdef  __cplusplus
++}
++#endif
++#endif
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_rand_lcl.h.fips openssl-1.0.1-beta3/crypto/fips/fips_rand_lcl.h
+--- openssl-1.0.1-beta3/crypto/fips/fips_rand_lcl.h.fips       2012-02-29 10:33:02.798294931 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_rand_lcl.h    2012-02-29 10:33:02.798294931 +0100
+@@ -0,0 +1,219 @@
++/* fips/rand/fips_rand_lcl.h */
++/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
++ * project.
++ */
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    licensing@OpenSSL.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ */
++
++typedef struct drbg_hash_ctx_st DRBG_HASH_CTX;
++typedef struct drbg_hmac_ctx_st DRBG_HMAC_CTX;
++typedef struct drbg_ctr_ctx_st DRBG_CTR_CTX;
++
++/* 888 bits from 10.1 table 2 */
++#define HASH_PRNG_MAX_SEEDLEN 111
++
++struct drbg_hash_ctx_st
++      {
++      const EVP_MD *md;
++      EVP_MD_CTX mctx;
++      unsigned char V[HASH_PRNG_MAX_SEEDLEN];
++      unsigned char C[HASH_PRNG_MAX_SEEDLEN];
++      /* Temporary value storage: should always exceed max digest length */
++      unsigned char vtmp[HASH_PRNG_MAX_SEEDLEN];
++      };
++
++struct drbg_hmac_ctx_st
++      {
++      const EVP_MD *md;
++      HMAC_CTX hctx;
++      unsigned char K[EVP_MAX_MD_SIZE];
++      unsigned char V[EVP_MAX_MD_SIZE];
++      };
++
++struct drbg_ctr_ctx_st
++      {
++      AES_KEY ks;
++      size_t keylen;
++      unsigned char K[32];
++      unsigned char V[16];
++      /* Temp variables used by derivation function */
++      AES_KEY df_ks;
++      AES_KEY df_kxks;
++      /* Temporary block storage used by ctr_df */
++      unsigned char bltmp[16];
++      size_t bltmp_pos;
++      unsigned char KX[48];
++      };
++
++/* DRBG internal flags */
++
++/* Functions shouldn't call err library */
++#define       DRBG_FLAG_NOERR                 0x1
++/* Custom reseed checking */
++#define       DRBG_CUSTOM_RESEED              0x2
++
++/* DRBG status values */
++/* not initialised */
++#define DRBG_STATUS_UNINITIALISED     0
++/* ok and ready to generate random bits */
++#define DRBG_STATUS_READY             1
++/* reseed required */
++#define DRBG_STATUS_RESEED            2
++/* fatal error condition */
++#define DRBG_STATUS_ERROR             3
++
++/* A default maximum length: larger than any reasonable value used in pratice */
++
++#define DRBG_MAX_LENGTH                       0x7ffffff0
++/* Maximum DRBG block length: all md sizes are bigger than cipher blocks sizes
++ * so use max digest length.
++ */
++#define DRBG_MAX_BLOCK                        EVP_MAX_MD_SIZE
++
++#define DRBG_HEALTH_INTERVAL          (1 << 24)
++
++/* DRBG context structure */
++
++struct drbg_ctx_st
++      {
++      /* First types common to all implementations */
++      /* DRBG type: a NID for the underlying algorithm */
++      int type;
++      /* Various external flags */
++      unsigned int xflags;
++      /* Various internal use only flags */
++      unsigned int iflags;
++      /* Used for periodic health checks */
++      int health_check_cnt, health_check_interval;
++
++      /* The following parameters are setup by mechanism drbg_init() call */
++      int strength;
++      size_t blocklength;
++      size_t max_request;
++
++      size_t min_entropy, max_entropy;
++      size_t min_nonce, max_nonce;
++      size_t max_pers, max_adin;
++      unsigned int reseed_counter;
++      unsigned int reseed_interval;
++      size_t seedlen;
++      int status;
++      /* Application data: typically used by test get_entropy */
++      void *app_data;
++      /* Implementation specific structures */
++      union 
++              {
++              DRBG_HASH_CTX hash;
++              DRBG_HMAC_CTX hmac;
++              DRBG_CTR_CTX  ctr;
++              } d;
++      /* Initialiase PRNG and setup callbacks below */
++      int (*init)(DRBG_CTX *ctx, int nid, int security, unsigned int flags);
++      /* Intantiate PRNG */
++      int (*instantiate)(DRBG_CTX *ctx,
++                              const unsigned char *ent, size_t entlen,
++                              const unsigned char *nonce, size_t noncelen,
++                              const unsigned char *pers, size_t perslen);
++      /* reseed */
++      int (*reseed)(DRBG_CTX *ctx,
++                              const unsigned char *ent, size_t entlen,
++                              const unsigned char *adin, size_t adinlen);
++      /* generat output */
++      int (*generate)(DRBG_CTX *ctx,
++                              unsigned char *out, size_t outlen,
++                              const unsigned char *adin, size_t adinlen);
++      /* uninstantiate */
++      int (*uninstantiate)(DRBG_CTX *ctx);
++
++      /* Entropy source block length */
++      size_t entropy_blocklen;
++
++      /* entropy gathering function */
++      size_t (*get_entropy)(DRBG_CTX *ctx, unsigned char **pout,
++                              int entropy, size_t min_len, size_t max_len);
++      /* Indicates we have finished with entropy buffer */
++      void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen);
++
++      /* nonce gathering function */
++      size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout,
++                              int entropy, size_t min_len, size_t max_len);
++      /* Indicates we have finished with nonce buffer */
++      void (*cleanup_nonce)(DRBG_CTX *ctx, unsigned char *out, size_t olen);
++
++      /* Continuous random number test temporary area */
++      /* Last block */        
++      unsigned char lb[EVP_MAX_MD_SIZE];
++      /* set if lb is valid */
++      int lb_valid;
++
++      /* Callbacks used when called through RAND interface */
++      /* Get any additional input for generate */
++      size_t (*get_adin)(DRBG_CTX *ctx, unsigned char **pout);
++      void (*cleanup_adin)(DRBG_CTX *ctx, unsigned char *out, size_t olen);
++      /* Callback for RAND_seed(), RAND_add() */
++      int (*rand_seed_cb)(DRBG_CTX *ctx, const void *buf, int num);
++      int (*rand_add_cb)(DRBG_CTX *ctx,
++                              const void *buf, int num, double entropy);
++      };
++
++
++int fips_drbg_ctr_init(DRBG_CTX *dctx);
++int fips_drbg_hash_init(DRBG_CTX *dctx);
++int fips_drbg_hmac_init(DRBG_CTX *dctx);
++int fips_drbg_kat(DRBG_CTX *dctx, int nid, unsigned int flags);
++int fips_drbg_cprng_test(DRBG_CTX *dctx, const unsigned char *out);
++
++const struct env_md_st *FIPS_get_digestbynid(int nid);
++
++const struct evp_cipher_st *FIPS_get_cipherbynid(int nid);
++
++#define FIPS_digestinit EVP_DigestInit
++#define FIPS_digestupdate EVP_DigestUpdate
++#define FIPS_digestfinal EVP_DigestFinal
++#define M_EVP_MD_size EVP_MD_size
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_rand_lib.c.fips openssl-1.0.1-beta3/crypto/fips/fips_rand_lib.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_rand_lib.c.fips       2012-02-29 10:33:02.798294931 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_rand_lib.c    2012-02-29 10:33:02.798294931 +0100
+@@ -0,0 +1,191 @@
++/* ====================================================================
++ * Copyright (c) 2011 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <openssl/crypto.h>
++#include <openssl/rand.h>
++#include <openssl/err.h>
++#include <openssl/fips.h>
++#include <openssl/fips_rand.h>
++#include "e_os.h"
++
++/* FIPS API for PRNG use. Similar to RAND functionality but without
++ * ENGINE and additional checking for non-FIPS rand methods.
++ */
++
++static const RAND_METHOD *fips_rand_meth = NULL;
++static int fips_approved_rand_meth = 0;
++static int fips_rand_bits = 0;
++
++/* Allows application to override number of bits and uses non-FIPS methods */
++void FIPS_rand_set_bits(int nbits)
++      {
++      fips_rand_bits = nbits;
++      }
++
++int FIPS_rand_set_method(const RAND_METHOD *meth)
++      {
++      if (!fips_rand_bits)
++              {
++              if (meth == FIPS_drbg_method())
++                      fips_approved_rand_meth = 1;
++              else if (meth == FIPS_x931_method())
++                      fips_approved_rand_meth = 2;
++              else
++                      {
++                      fips_approved_rand_meth = 0;
++                      if (FIPS_module_mode())
++                              {
++                              FIPSerr(FIPS_F_FIPS_RAND_SET_METHOD,
++                                              FIPS_R_NON_FIPS_METHOD);
++                              return 0;
++                              }
++                      }
++              }
++      fips_rand_meth = meth;
++      return 1;
++      }
++
++const RAND_METHOD *FIPS_rand_get_method(void)
++      {
++      return fips_rand_meth;
++      }
++
++const RAND_METHOD *FIPS_rand_method(void)
++      {
++      return FIPS_rand_get_method();
++      }
++
++void FIPS_rand_reset(void)
++      {
++      if (fips_rand_meth && fips_rand_meth->cleanup)
++              fips_rand_meth->cleanup();
++      }
++
++int FIPS_rand_seed(const void *buf, FIPS_RAND_SIZE_T num)
++      {
++      if (!fips_approved_rand_meth && FIPS_module_mode())
++              {
++              FIPSerr(FIPS_F_FIPS_RAND_SEED, FIPS_R_NON_FIPS_METHOD);
++              return 0;
++              }
++      if (fips_rand_meth && fips_rand_meth->seed)
++              fips_rand_meth->seed(buf,num);
++      return 1;
++      }
++
++void FIPS_rand_add(const void *buf, int num, double entropy)
++      {
++      if (!fips_approved_rand_meth && FIPS_module_mode())
++              {
++              FIPSerr(FIPS_F_FIPS_RAND_ADD, FIPS_R_NON_FIPS_METHOD);
++              return;
++              }
++      if (fips_rand_meth && fips_rand_meth->add)
++              fips_rand_meth->add(buf,num,entropy);
++      }
++
++int FIPS_rand_bytes(unsigned char *buf, FIPS_RAND_SIZE_T num)
++      {
++      if (!fips_approved_rand_meth && FIPS_module_mode())
++              {
++              FIPSerr(FIPS_F_FIPS_RAND_BYTES, FIPS_R_NON_FIPS_METHOD);
++              return 0;
++              }
++      if (fips_rand_meth && fips_rand_meth->bytes)
++              return fips_rand_meth->bytes(buf,num);
++      return 0;
++      }
++
++int FIPS_rand_pseudo_bytes(unsigned char *buf, int num)
++      {
++      if (!fips_approved_rand_meth && FIPS_module_mode())
++              {
++              FIPSerr(FIPS_F_FIPS_RAND_PSEUDO_BYTES, FIPS_R_NON_FIPS_METHOD);
++              return 0;
++              }
++      if (fips_rand_meth && fips_rand_meth->pseudorand)
++              return fips_rand_meth->pseudorand(buf,num);
++      return -1;
++      }
++
++int FIPS_rand_status(void)
++      {
++      if (!fips_approved_rand_meth && FIPS_module_mode())
++              {
++              FIPSerr(FIPS_F_FIPS_RAND_STATUS, FIPS_R_NON_FIPS_METHOD);
++              return 0;
++              }
++      if (fips_rand_meth && fips_rand_meth->status)
++              return fips_rand_meth->status();
++      return 0;
++      }
++
++/* Return instantiated strength of PRNG. For DRBG this is an internal
++ * parameter. For X9.31 PRNG it is 80 bits (from SP800-131). Any other
++ * type of PRNG is not approved and returns 0 in FIPS mode and maximum
++ * 256 outside FIPS mode.
++ */
++
++int FIPS_rand_strength(void)
++      {
++      if (fips_rand_bits)
++              return fips_rand_bits;
++      if (fips_approved_rand_meth == 1)
++              return FIPS_drbg_get_strength(FIPS_get_default_drbg());
++      else if (fips_approved_rand_meth == 2)
++              return 80;
++      else if (fips_approved_rand_meth == 0)
++              {
++              if (FIPS_module_mode())
++                      return 0;
++              else
++                      return 256;
++              }
++      return 0;
++      }
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_rand_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_rand_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_rand_selftest.c.fips  2012-02-29 10:33:02.798294931 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_rand_selftest.c       2012-02-29 10:33:02.798294931 +0100
+@@ -0,0 +1,183 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/err.h>
++#include <openssl/fips.h>
++#include <openssl/rand.h>
++#include <openssl/fips_rand.h>
++#include "fips_locl.h"
++
++#ifdef OPENSSL_FIPS
++
++
++
++typedef struct
++      {
++      unsigned char DT[16];
++      unsigned char V[16];
++      unsigned char R[16];
++      } AES_PRNG_TV;
++
++/* The following test vectors are taken directly from the RGNVS spec */
++
++static unsigned char aes_128_key[16] =
++              {0xf3,0xb1,0x66,0x6d,0x13,0x60,0x72,0x42,
++               0xed,0x06,0x1c,0xab,0xb8,0xd4,0x62,0x02};
++
++static AES_PRNG_TV aes_128_tv = 
++      {
++                              /* DT */
++              {0xe6,0xb3,0xbe,0x78,0x2a,0x23,0xfa,0x62,
++               0xd7,0x1d,0x4a,0xfb,0xb0,0xe9,0x22,0xf9},
++                              /* V */
++              {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
++               0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
++                              /* R */
++              {0x59,0x53,0x1e,0xd1,0x3b,0xb0,0xc0,0x55,
++               0x84,0x79,0x66,0x85,0xc1,0x2f,0x76,0x41}
++      };
++
++static unsigned char aes_192_key[24] =
++              {0x15,0xd8,0x78,0x0d,0x62,0xd3,0x25,0x6e,
++               0x44,0x64,0x10,0x13,0x60,0x2b,0xa9,0xbc,
++               0x4a,0xfb,0xca,0xeb,0x4c,0x8b,0x99,0x3b};
++
++static AES_PRNG_TV aes_192_tv = 
++      {
++                              /* DT */
++              {0x3f,0xd8,0xff,0xe8,0x80,0x69,0x8b,0xc1,
++               0xbf,0x99,0x7d,0xa4,0x24,0x78,0xf3,0x4b},
++                              /* V */
++              {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
++               0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
++                              /* R */
++              {0x17,0x07,0xd5,0x28,0x19,0x79,0x1e,0xef,
++               0xa5,0x0c,0xbf,0x25,0xe5,0x56,0xb4,0x93}
++      };
++
++static unsigned char aes_256_key[32] =
++              {0x6d,0x14,0x06,0x6c,0xb6,0xd8,0x21,0x2d,
++               0x82,0x8d,0xfa,0xf2,0x7a,0x03,0xb7,0x9f,
++               0x0c,0xc7,0x3e,0xcd,0x76,0xeb,0xee,0xb5,
++               0x21,0x05,0x8c,0x4f,0x31,0x7a,0x80,0xbb};
++
++static AES_PRNG_TV aes_256_tv =
++      {
++                              /* DT */
++              {0xda,0x3a,0x41,0xec,0x1d,0xa3,0xb0,0xd5,
++               0xf2,0xa9,0x4e,0x34,0x74,0x8e,0x9e,0x88},
++                              /* V */
++              {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
++               0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
++                              /* R */
++              {0x35,0xc7,0xef,0xa7,0x78,0x4d,0x29,0xbc,
++               0x82,0x79,0x99,0xfb,0xd0,0xb3,0x3b,0x72}
++      };
++
++void FIPS_corrupt_rng()
++    {
++    aes_192_tv.V[0]++;
++    }
++
++#define fips_x931_test(key, tv) \
++      do_x931_test(key, sizeof key, &tv)
++
++static int do_x931_test(unsigned char *key, int keylen,
++                      AES_PRNG_TV *tv)
++      {
++      unsigned char R[16], V[16];
++      int rv = 1;
++      memcpy(V, tv->V, sizeof(V));
++      if (!FIPS_x931_set_key(key, keylen))
++              return 0;
++      if (!fips_post_started(FIPS_TEST_X931, keylen, NULL))
++              return 1;
++      if (!fips_post_corrupt(FIPS_TEST_X931, keylen, NULL))
++              V[0]++;
++      FIPS_x931_seed(V, 16);
++      FIPS_x931_set_dt(tv->DT);
++      FIPS_x931_bytes(R, 16);
++      if (memcmp(R, tv->R, 16))
++              {
++              fips_post_failed(FIPS_TEST_X931, keylen, NULL);
++              rv = 0;
++              }
++      else if (!fips_post_success(FIPS_TEST_X931, keylen, NULL))
++              return 0;
++      return rv;
++      }
++
++int FIPS_selftest_x931()
++      {
++      int rv = 1;
++      FIPS_x931_reset();
++      if (!FIPS_x931_test_mode())
++              {
++              FIPSerr(FIPS_F_FIPS_SELFTEST_X931,FIPS_R_SELFTEST_FAILED);
++              return 0;
++              }
++      if (!fips_x931_test(aes_128_key,aes_128_tv))
++              rv = 0;
++      if (!fips_x931_test(aes_192_key, aes_192_tv))
++              rv = 0;
++      if (!fips_x931_test(aes_256_key, aes_256_tv))
++              rv = 0;
++      FIPS_x931_reset();
++      if (!rv)
++              FIPSerr(FIPS_F_FIPS_SELFTEST_X931,FIPS_R_SELFTEST_FAILED);
++      return rv;
++      }
++
++int FIPS_selftest_rng(void)
++      {
++      return FIPS_selftest_x931();
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_randtest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_randtest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_randtest.c.fips       2012-02-29 10:33:02.798294931 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_randtest.c    2012-02-29 10:33:02.799294939 +0100
+@@ -0,0 +1,250 @@
++/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
++ * All rights reserved.
++ *
++ * This package is an SSL implementation written
++ * by Eric Young (eay@cryptsoft.com).
++ * The implementation was written so as to conform with Netscapes SSL.
++ * 
++ * This library is free for commercial and non-commercial use as long as
++ * the following conditions are aheared to.  The following conditions
++ * apply to all code found in this distribution, be it the RC4, RSA,
++ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
++ * included with this distribution is covered by the same copyright terms
++ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
++ * 
++ * Copyright remains Eric Young's, and as such any Copyright notices in
++ * the code are not to be removed.
++ * If this package is used in a product, Eric Young should be given attribution
++ * as the author of the parts of the library used.
++ * This can be in the form of a textual message at program startup or
++ * in documentation (online or textual) provided with the package.
++ * 
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. All advertising materials mentioning features or use of this software
++ *    must display the following acknowledgement:
++ *    "This product includes cryptographic software written by
++ *     Eric Young (eay@cryptsoft.com)"
++ *    The word 'cryptographic' can be left out if the rouines from the library
++ *    being used are not cryptographic related :-).
++ * 4. If you include any Windows specific code (or a derivative thereof) from 
++ *    the apps directory (application code) you must include an acknowledgement:
++ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
++ * 
++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ * 
++ * The licence and distribution terms for any publically available version or
++ * derivative of this code cannot be changed.  i.e. this code cannot simply be
++ * copied and put under another distribution licence
++ * [including the GNU Public Licence.]
++ */
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <ctype.h>
++#include <openssl/rand.h>
++#include <openssl/fips_rand.h>
++#include <openssl/err.h>
++#include <openssl/bn.h>
++
++#include "e_os.h"
++
++#ifndef OPENSSL_FIPS
++int main(int argc, char *argv[])
++{
++    printf("No FIPS RAND support\n");
++    return(0);
++}
++
++#else
++
++#include "fips_utl.h"
++#include <openssl/fips.h>
++
++typedef struct
++      {
++      unsigned char DT[16];
++      unsigned char V[16];
++      unsigned char R[16];
++      } AES_PRNG_MCT;
++
++static const unsigned char aes_128_mct_key[16] =
++      {0x9f,0x5b,0x51,0x20,0x0b,0xf3,0x34,0xb5,
++       0xd8,0x2b,0xe8,0xc3,0x72,0x55,0xc8,0x48};
++
++static const AES_PRNG_MCT aes_128_mct_tv = {
++                      /* DT */
++      {0x63,0x76,0xbb,0xe5,0x29,0x02,0xba,0x3b,
++       0x67,0xc9,0x25,0xfa,0x70,0x1f,0x11,0xac},
++                      /* V */
++      {0x57,0x2c,0x8e,0x76,0x87,0x26,0x47,0x97,
++       0x7e,0x74,0xfb,0xdd,0xc4,0x95,0x01,0xd1},
++                      /* R */
++      {0x48,0xe9,0xbd,0x0d,0x06,0xee,0x18,0xfb,
++       0xe4,0x57,0x90,0xd5,0xc3,0xfc,0x9b,0x73}
++};
++
++static const unsigned char aes_192_mct_key[24] =
++      {0xb7,0x6c,0x34,0xd1,0x09,0x67,0xab,0x73,
++       0x4d,0x5a,0xd5,0x34,0x98,0x16,0x0b,0x91,
++       0xbc,0x35,0x51,0x16,0x6b,0xae,0x93,0x8a};
++
++static const AES_PRNG_MCT aes_192_mct_tv = {
++                      /* DT */
++      {0x84,0xce,0x22,0x7d,0x91,0x5a,0xa3,0xc9,
++       0x84,0x3c,0x0a,0xb3,0xa9,0x63,0x15,0x52},
++                      /* V */
++      {0xb6,0xaf,0xe6,0x8f,0x99,0x9e,0x90,0x64,
++       0xdd,0xc7,0x7a,0xc1,0xbb,0x90,0x3a,0x6d},
++                      /* R */
++      {0xfc,0x85,0x60,0x9a,0x29,0x6f,0xef,0x21,
++       0xdd,0x86,0x20,0x32,0x8a,0x29,0x6f,0x47}
++};
++
++static const unsigned char aes_256_mct_key[32] =
++      {0x9b,0x05,0xc8,0x68,0xff,0x47,0xf8,0x3a,
++       0xa6,0x3a,0xa8,0xcb,0x4e,0x71,0xb2,0xe0,
++       0xb8,0x7e,0xf1,0x37,0xb6,0xb4,0xf6,0x6d,
++       0x86,0x32,0xfc,0x1f,0x5e,0x1d,0x1e,0x50};
++
++static const AES_PRNG_MCT aes_256_mct_tv = {
++                      /* DT */
++      {0x31,0x6e,0x35,0x9a,0xb1,0x44,0xf0,0xee,
++       0x62,0x6d,0x04,0x46,0xe0,0xa3,0x92,0x4c},
++                      /* V */
++      {0x4f,0xcd,0xc1,0x87,0x82,0x1f,0x4d,0xa1,
++       0x3e,0x0e,0x56,0x44,0x59,0xe8,0x83,0xca},
++                      /* R */
++      {0xc8,0x87,0xc2,0x61,0x5b,0xd0,0xb9,0xe1,
++       0xe7,0xf3,0x8b,0xd7,0x5b,0xd5,0xf1,0x8d}
++};
++
++static void dump(const unsigned char *b,int n)
++    {
++    while(n-- > 0)
++      {
++      printf(" %02x",*b++);
++      }
++    }
++
++static void compare(const unsigned char *result,const unsigned char *expected,
++                  int n)
++    {
++    int i;
++
++    for(i=0 ; i < n ; ++i)
++      if(result[i] != expected[i])
++          {
++          puts("Random test failed, got:");
++          dump(result,n);
++          puts("\n               expected:");
++          dump(expected,n);
++          putchar('\n');
++          EXIT(1);
++          }
++    }
++
++
++static void run_test(const unsigned char *key, int keylen,
++                                                      const AES_PRNG_MCT *tv)
++    {
++    unsigned char buf[16], dt[16];
++    int i, j;
++    FIPS_x931_reset();
++    FIPS_x931_test_mode();
++    FIPS_x931_set_key(key, keylen);
++    FIPS_x931_seed(tv->V, 16);
++    memcpy(dt, tv->DT, 16);
++    for (i = 0; i < 10000; i++)
++      {
++      FIPS_x931_set_dt(dt);
++      FIPS_x931_bytes(buf, 16);
++      /* Increment DT */
++      for (j = 15; j >= 0; j--)
++              {
++              dt[j]++;
++              if (dt[j])
++                      break;
++              }
++      }
++
++    compare(buf,tv->R, 16);
++    }
++
++int main()
++      {
++      run_test(aes_128_mct_key, 16, &aes_128_mct_tv);
++      printf("FIPS PRNG test 1 done\n");
++      run_test(aes_192_mct_key, 24, &aes_192_mct_tv);
++      printf("FIPS PRNG test 2 done\n");
++      run_test(aes_256_mct_key, 32, &aes_256_mct_tv);
++      printf("FIPS PRNG test 3 done\n");
++      return 0;
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_rsa_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_rsa_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_rsa_selftest.c.fips   2012-02-29 10:33:02.799294939 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_rsa_selftest.c        2012-02-29 10:33:02.799294939 +0100
+@@ -0,0 +1,444 @@
++/* ====================================================================
++ * Copyright (c) 2003-2007 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/err.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++#include <openssl/rsa.h>
++#include <openssl/evp.h>
++#include <openssl/bn.h>
++#include <openssl/opensslconf.h>
++
++#ifdef OPENSSL_FIPS
++
++static const unsigned char n[] =
++"\x00\xBB\xF8\x2F\x09\x06\x82\xCE\x9C\x23\x38\xAC\x2B\x9D\xA8\x71"
++"\xF7\x36\x8D\x07\xEE\xD4\x10\x43\xA4\x40\xD6\xB6\xF0\x74\x54\xF5"
++"\x1F\xB8\xDF\xBA\xAF\x03\x5C\x02\xAB\x61\xEA\x48\xCE\xEB\x6F\xCD"
++"\x48\x76\xED\x52\x0D\x60\xE1\xEC\x46\x19\x71\x9D\x8A\x5B\x8B\x80"
++"\x7F\xAF\xB8\xE0\xA3\xDF\xC7\x37\x72\x3E\xE6\xB4\xB7\xD9\x3A\x25"
++"\x84\xEE\x6A\x64\x9D\x06\x09\x53\x74\x88\x34\xB2\x45\x45\x98\x39"
++"\x4E\xE0\xAA\xB1\x2D\x7B\x61\xA5\x1F\x52\x7A\x9A\x41\xF6\xC1\x68"
++"\x7F\xE2\x53\x72\x98\xCA\x2A\x8F\x59\x46\xF8\xE5\xFD\x09\x1D\xBD"
++"\xCB";
++
++static int corrupt_rsa;
++
++static int setrsakey(RSA *key)
++    {
++    static const unsigned char e[] = "\x11";
++
++    static const unsigned char d[] =
++"\x00\xA5\xDA\xFC\x53\x41\xFA\xF2\x89\xC4\xB9\x88\xDB\x30\xC1\xCD"
++"\xF8\x3F\x31\x25\x1E\x06\x68\xB4\x27\x84\x81\x38\x01\x57\x96\x41"
++"\xB2\x94\x10\xB3\xC7\x99\x8D\x6B\xC4\x65\x74\x5E\x5C\x39\x26\x69"
++"\xD6\x87\x0D\xA2\xC0\x82\xA9\x39\xE3\x7F\xDC\xB8\x2E\xC9\x3E\xDA"
++"\xC9\x7F\xF3\xAD\x59\x50\xAC\xCF\xBC\x11\x1C\x76\xF1\xA9\x52\x94"
++"\x44\xE5\x6A\xAF\x68\xC5\x6C\x09\x2C\xD3\x8D\xC3\xBE\xF5\xD2\x0A"
++"\x93\x99\x26\xED\x4F\x74\xA1\x3E\xDD\xFB\xE1\xA1\xCE\xCC\x48\x94"
++"\xAF\x94\x28\xC2\xB7\xB8\x88\x3F\xE4\x46\x3A\x4B\xC8\x5B\x1C\xB3"
++"\xC1";
++
++    static const unsigned char p[] =
++"\x00\xEE\xCF\xAE\x81\xB1\xB9\xB3\xC9\x08\x81\x0B\x10\xA1\xB5\x60"
++"\x01\x99\xEB\x9F\x44\xAE\xF4\xFD\xA4\x93\xB8\x1A\x9E\x3D\x84\xF6"
++"\x32\x12\x4E\xF0\x23\x6E\x5D\x1E\x3B\x7E\x28\xFA\xE7\xAA\x04\x0A"
++"\x2D\x5B\x25\x21\x76\x45\x9D\x1F\x39\x75\x41\xBA\x2A\x58\xFB\x65"
++"\x99";
++
++    static const unsigned char q[] =
++"\x00\xC9\x7F\xB1\xF0\x27\xF4\x53\xF6\x34\x12\x33\xEA\xAA\xD1\xD9"
++"\x35\x3F\x6C\x42\xD0\x88\x66\xB1\xD0\x5A\x0F\x20\x35\x02\x8B\x9D"
++"\x86\x98\x40\xB4\x16\x66\xB4\x2E\x92\xEA\x0D\xA3\xB4\x32\x04\xB5"
++"\xCF\xCE\x33\x52\x52\x4D\x04\x16\xA5\xA4\x41\xE7\x00\xAF\x46\x15"
++"\x03";
++
++    static const unsigned char dmp1[] =
++"\x54\x49\x4C\xA6\x3E\xBA\x03\x37\xE4\xE2\x40\x23\xFC\xD6\x9A\x5A"
++"\xEB\x07\xDD\xDC\x01\x83\xA4\xD0\xAC\x9B\x54\xB0\x51\xF2\xB1\x3E"
++"\xD9\x49\x09\x75\xEA\xB7\x74\x14\xFF\x59\xC1\xF7\x69\x2E\x9A\x2E"
++"\x20\x2B\x38\xFC\x91\x0A\x47\x41\x74\xAD\xC9\x3C\x1F\x67\xC9\x81";
++
++    static const unsigned char dmq1[] =
++"\x47\x1E\x02\x90\xFF\x0A\xF0\x75\x03\x51\xB7\xF8\x78\x86\x4C\xA9"
++"\x61\xAD\xBD\x3A\x8A\x7E\x99\x1C\x5C\x05\x56\xA9\x4C\x31\x46\xA7"
++"\xF9\x80\x3F\x8F\x6F\x8A\xE3\x42\xE9\x31\xFD\x8A\xE4\x7A\x22\x0D"
++"\x1B\x99\xA4\x95\x84\x98\x07\xFE\x39\xF9\x24\x5A\x98\x36\xDA\x3D";
++    
++    static const unsigned char iqmp[] =
++"\x00\xB0\x6C\x4F\xDA\xBB\x63\x01\x19\x8D\x26\x5B\xDB\xAE\x94\x23"
++"\xB3\x80\xF2\x71\xF7\x34\x53\x88\x50\x93\x07\x7F\xCD\x39\xE2\x11"
++"\x9F\xC9\x86\x32\x15\x4F\x58\x83\xB1\x67\xA9\x67\xBF\x40\x2B\x4E"
++"\x9E\x2E\x0F\x96\x56\xE6\x98\xEA\x36\x66\xED\xFB\x25\x79\x80\x39"
++"\xF7";
++
++    key->n = BN_bin2bn(n, sizeof(n)-1, key->n);
++    if (corrupt_rsa)
++      BN_set_bit(key->n, 1024);
++    key->e = BN_bin2bn(e, sizeof(e)-1, key->e);
++    key->d = BN_bin2bn(d, sizeof(d)-1, key->d);
++    key->p = BN_bin2bn(p, sizeof(p)-1, key->p);
++    key->q = BN_bin2bn(q, sizeof(q)-1, key->q);
++    key->dmp1 = BN_bin2bn(dmp1, sizeof(dmp1)-1, key->dmp1);
++    key->dmq1 = BN_bin2bn(dmq1, sizeof(dmq1)-1, key->dmq1);
++    key->iqmp = BN_bin2bn(iqmp, sizeof(iqmp)-1, key->iqmp);
++    return 1;
++    }
++
++void FIPS_corrupt_rsa()
++    {
++    corrupt_rsa = 1;
++    }
++
++/* Known Answer Test (KAT) data for the above RSA private key signing
++ * kat_tbs.
++ */
++
++static const unsigned char kat_tbs[] = "OpenSSL FIPS 140-2 Public Key RSA KAT";
++
++static const unsigned char kat_RSA_PSS_SHA1[] = {
++  0x2D, 0xAF, 0x6E, 0xC2, 0x98, 0xFB, 0x8A, 0xA1, 0xB9, 0x46, 0xDA, 0x0F,
++  0x01, 0x1E, 0x37, 0x93, 0xC2, 0x55, 0x27, 0xE4, 0x1D, 0xD2, 0x90, 0xBB,
++  0xF4, 0xBF, 0x4A, 0x74, 0x39, 0x51, 0xBB, 0xE8, 0x0C, 0xB7, 0xF8, 0xD3,
++  0xD1, 0xDF, 0xE7, 0xBE, 0x80, 0x05, 0xC3, 0xB5, 0xC7, 0x83, 0xD5, 0x4C,
++  0x7F, 0x49, 0xFB, 0x3F, 0x29, 0x9B, 0xE1, 0x12, 0x51, 0x60, 0xD0, 0xA7,
++  0x0D, 0xA9, 0x28, 0x56, 0x73, 0xD9, 0x07, 0xE3, 0x5E, 0x3F, 0x9B, 0xF5,
++  0xB6, 0xF3, 0xF2, 0x5E, 0x74, 0xC9, 0x83, 0x81, 0x47, 0xF0, 0xC5, 0x45,
++  0x0A, 0xE9, 0x8E, 0x38, 0xD7, 0x18, 0xC6, 0x2A, 0x0F, 0xF8, 0xB7, 0x31,
++  0xD6, 0x55, 0xE4, 0x66, 0x78, 0x81, 0xD4, 0xE6, 0xDB, 0x9F, 0xBA, 0xE8,
++  0x23, 0xB5, 0x7F, 0xDC, 0x08, 0xEA, 0xD5, 0x26, 0x1E, 0x20, 0x25, 0x84,
++  0x26, 0xC6, 0x79, 0xC9, 0x9B, 0x3D, 0x7E, 0xA9
++};
++
++static const unsigned char kat_RSA_PSS_SHA224[] = {
++  0x39, 0x4A, 0x6A, 0x20, 0xBC, 0xE9, 0x33, 0xED, 0xEF, 0xC5, 0x58, 0xA7,
++  0xFE, 0x81, 0xC4, 0x36, 0x50, 0x9A, 0x2C, 0x82, 0x98, 0x08, 0x95, 0xFA,
++  0xB1, 0x9E, 0xD2, 0x55, 0x61, 0x87, 0x21, 0x59, 0x87, 0x7B, 0x1F, 0x57,
++  0x30, 0x9D, 0x0D, 0x4A, 0x06, 0xEB, 0x52, 0x37, 0x55, 0x54, 0x1C, 0x89,
++  0x83, 0x75, 0x59, 0x65, 0x64, 0x90, 0x2E, 0x16, 0xCC, 0x86, 0x05, 0xEE,
++  0xB1, 0xE6, 0x7B, 0xBA, 0x16, 0x75, 0x0D, 0x0C, 0x64, 0x0B, 0xAB, 0x22,
++  0x15, 0x78, 0x6B, 0x6F, 0xA4, 0xFB, 0x77, 0x40, 0x64, 0x62, 0xD1, 0xB5,
++  0x37, 0x1E, 0xE0, 0x3D, 0xA8, 0xF9, 0xD2, 0xBD, 0xAA, 0x38, 0x24, 0x49,
++  0x58, 0xD2, 0x74, 0x85, 0xF4, 0xB5, 0x93, 0x8E, 0xF5, 0x03, 0xEA, 0x2D,
++  0xC8, 0x52, 0xFA, 0xCF, 0x7E, 0x35, 0xB0, 0x6A, 0xAF, 0x95, 0xC0, 0x00,
++  0x54, 0x76, 0x3D, 0x0C, 0x9C, 0xB2, 0xEE, 0xC0
++};
++
++static const unsigned char kat_RSA_PSS_SHA256[] = {
++  0x6D, 0x3D, 0xBE, 0x8F, 0x60, 0x6D, 0x25, 0x14, 0xF0, 0x31, 0xE3, 0x89,
++  0x00, 0x97, 0xFA, 0x99, 0x71, 0x28, 0xE5, 0x10, 0x25, 0x9A, 0xF3, 0x8F,
++  0x7B, 0xC5, 0xA8, 0x4A, 0x74, 0x51, 0x36, 0xE2, 0x8D, 0x7D, 0x73, 0x28,
++  0xC1, 0x77, 0xC6, 0x27, 0x97, 0x00, 0x8B, 0x00, 0xA3, 0x96, 0x73, 0x4E,
++  0x7D, 0x2E, 0x2C, 0x34, 0x68, 0x8C, 0x8E, 0xDF, 0x9D, 0x49, 0x47, 0x05,
++  0xAB, 0xF5, 0x01, 0xD6, 0x81, 0x47, 0x70, 0xF5, 0x1D, 0x6D, 0x26, 0xBA,
++  0x2F, 0x7A, 0x54, 0x53, 0x4E, 0xED, 0x71, 0xD9, 0x5A, 0xF3, 0xDA, 0xB6,
++  0x0B, 0x47, 0x34, 0xAF, 0x90, 0xDC, 0xC8, 0xD9, 0x6F, 0x56, 0xCD, 0x9F,
++  0x21, 0xB7, 0x7E, 0xAD, 0x7C, 0x2F, 0x75, 0x50, 0x47, 0x12, 0xE4, 0x6D,
++  0x5F, 0xB7, 0x01, 0xDF, 0xC3, 0x11, 0x6C, 0xA9, 0x9E, 0x49, 0xB9, 0xF6,
++  0x72, 0xF4, 0xF6, 0xEF, 0x88, 0x1E, 0x2D, 0x1C
++};
++
++static const unsigned char kat_RSA_PSS_SHA384[] = {
++  0x40, 0xFB, 0xA1, 0x21, 0xF4, 0xB2, 0x40, 0x9A, 0xB4, 0x31, 0xA8, 0xF2,
++  0xEC, 0x1C, 0xC4, 0xC8, 0x7C, 0x22, 0x65, 0x9C, 0x57, 0x45, 0xCD, 0x5E,
++  0x86, 0x00, 0xF7, 0x25, 0x78, 0xDE, 0xDC, 0x7A, 0x71, 0x44, 0x9A, 0xCD,
++  0xAA, 0x25, 0xF4, 0xB2, 0xFC, 0xF0, 0x75, 0xD9, 0x2F, 0x78, 0x23, 0x7F,
++  0x6F, 0x02, 0xEF, 0xC1, 0xAF, 0xA6, 0x28, 0x16, 0x31, 0xDC, 0x42, 0x6C,
++  0xB2, 0x44, 0xE5, 0x4D, 0x66, 0xA2, 0xE6, 0x71, 0xF3, 0xAC, 0x4F, 0xFB,
++  0x91, 0xCA, 0xF5, 0x70, 0xEF, 0x6B, 0x9D, 0xA4, 0xEF, 0xD9, 0x3D, 0x2F,
++  0x3A, 0xBE, 0x89, 0x38, 0x59, 0x01, 0xBA, 0xDA, 0x32, 0xAD, 0x42, 0x89,
++  0x98, 0x8B, 0x39, 0x44, 0xF0, 0xFC, 0x38, 0xAC, 0x87, 0x1F, 0xCA, 0x6F,
++  0x48, 0xF6, 0xAE, 0xD7, 0x45, 0xEE, 0xAE, 0x88, 0x0E, 0x60, 0xF4, 0x55,
++  0x48, 0x44, 0xEE, 0x1F, 0x90, 0x18, 0x4B, 0xF1
++};
++
++static const unsigned char kat_RSA_PSS_SHA512[] = {
++  0x07, 0x1E, 0xD8, 0xD5, 0x05, 0xE8, 0xE6, 0xE6, 0x57, 0xAE, 0x63, 0x8C,
++  0xC6, 0x83, 0xB7, 0xA0, 0x59, 0xBB, 0xF2, 0xC6, 0x8F, 0x12, 0x53, 0x9A,
++  0x9B, 0x54, 0x9E, 0xB3, 0xC1, 0x1D, 0x23, 0x4D, 0x51, 0xED, 0x9E, 0xDD,
++  0x4B, 0xF3, 0x46, 0x9B, 0x6B, 0xF6, 0x7C, 0x24, 0x60, 0x79, 0x23, 0x39,
++  0x01, 0x1C, 0x51, 0xCB, 0xD8, 0xE9, 0x9A, 0x01, 0x67, 0x5F, 0xFE, 0xD7,
++  0x7C, 0xE3, 0x7F, 0xED, 0xDB, 0x87, 0xBB, 0xF0, 0x3D, 0x78, 0x55, 0x61,
++  0x57, 0xE3, 0x0F, 0xE3, 0xD2, 0x9D, 0x0C, 0x2A, 0x20, 0xB0, 0x85, 0x13,
++  0xC5, 0x47, 0x34, 0x0D, 0x32, 0x15, 0xC8, 0xAE, 0x9A, 0x6A, 0x39, 0x63,
++  0x2D, 0x60, 0xF5, 0x4C, 0xDF, 0x8A, 0x48, 0x4B, 0xBF, 0xF4, 0xA8, 0xFE,
++  0x76, 0xF2, 0x32, 0x1B, 0x9C, 0x7C, 0xCA, 0xFE, 0x7F, 0x80, 0xC2, 0x88,
++  0x5C, 0x97, 0x70, 0xB4, 0x26, 0xC9, 0x14, 0x8B
++};
++
++static const unsigned char kat_RSA_SHA1[] = {
++  0x71, 0xEE, 0x1A, 0xC0, 0xFE, 0x01, 0x93, 0x54, 0x79, 0x5C, 0xF2, 0x4C,
++  0x4A, 0xFD, 0x1A, 0x05, 0x8F, 0x64, 0xB1, 0x6D, 0x61, 0x33, 0x8D, 0x9B,
++  0xE7, 0xFD, 0x60, 0xA3, 0x83, 0xB5, 0xA3, 0x51, 0x55, 0x77, 0x90, 0xCF,
++  0xDC, 0x22, 0x37, 0x8E, 0xD0, 0xE1, 0xAE, 0x09, 0xE3, 0x3D, 0x1E, 0xF8,
++  0x80, 0xD1, 0x8B, 0xC2, 0xEC, 0x0A, 0xD7, 0x6B, 0x88, 0x8B, 0x8B, 0xA1,
++  0x20, 0x22, 0xBE, 0x59, 0x5B, 0xE0, 0x23, 0x24, 0xA1, 0x49, 0x30, 0xBA,
++  0xA9, 0x9E, 0xE8, 0xB1, 0x8A, 0x62, 0x16, 0xBF, 0x4E, 0xCA, 0x2E, 0x4E,
++  0xBC, 0x29, 0xA8, 0x67, 0x13, 0xB7, 0x9F, 0x1D, 0x04, 0x44, 0xE5, 0x5F,
++  0x35, 0x07, 0x11, 0xBC, 0xED, 0x19, 0x37, 0x21, 0xCF, 0x23, 0x48, 0x1F,
++  0x72, 0x05, 0xDE, 0xE6, 0xE8, 0x7F, 0x33, 0x8A, 0x76, 0x4B, 0x2F, 0x95,
++  0xDF, 0xF1, 0x5F, 0x84, 0x80, 0xD9, 0x46, 0xB4
++};
++
++static const unsigned char kat_RSA_SHA224[] = {
++  0x62, 0xAA, 0x79, 0xA9, 0x18, 0x0E, 0x5F, 0x8C, 0xBB, 0xB7, 0x15, 0xF9,
++  0x25, 0xBB, 0xFA, 0xD4, 0x3A, 0x34, 0xED, 0x9E, 0xA0, 0xA9, 0x18, 0x8D,
++  0x5B, 0x55, 0x9A, 0x7E, 0x1E, 0x08, 0x08, 0x60, 0xC5, 0x1A, 0xC5, 0x89,
++  0x08, 0xE2, 0x1B, 0xBD, 0x62, 0x50, 0x17, 0x76, 0x30, 0x2C, 0x9E, 0xCD,
++  0xA4, 0x02, 0xAD, 0xB1, 0x6D, 0x44, 0x6D, 0xD5, 0xC6, 0x45, 0x41, 0xE5,
++  0xEE, 0x1F, 0x8D, 0x7E, 0x08, 0x16, 0xA6, 0xE1, 0x5E, 0x0B, 0xA9, 0xCC,
++  0xDB, 0x59, 0x55, 0x87, 0x09, 0x25, 0x70, 0x86, 0x84, 0x02, 0xC6, 0x3B,
++  0x0B, 0x44, 0x4C, 0x46, 0x95, 0xF4, 0xF8, 0x5A, 0x91, 0x28, 0x3E, 0xB2,
++  0x58, 0x2E, 0x06, 0x45, 0x49, 0xE0, 0x92, 0xE2, 0xC0, 0x66, 0xE6, 0x35,
++  0xD9, 0x79, 0x7F, 0x17, 0x5E, 0x02, 0x73, 0x04, 0x77, 0x82, 0xE6, 0xDC,
++  0x40, 0x21, 0x89, 0x8B, 0x37, 0x3E, 0x1E, 0x8D
++};
++
++static const unsigned char kat_RSA_SHA256[] = {
++  0x0D, 0x55, 0xE2, 0xAA, 0x81, 0xDB, 0x8E, 0x82, 0x05, 0x17, 0xA5, 0x23,
++  0xE7, 0x3B, 0x1D, 0xAF, 0xFB, 0x8C, 0xD0, 0x81, 0x20, 0x7B, 0xAA, 0x23,
++  0x92, 0x87, 0x8C, 0xD1, 0x53, 0x85, 0x16, 0xDC, 0xBE, 0xAD, 0x6F, 0x35,
++  0x98, 0x2D, 0x69, 0x84, 0xBF, 0xD9, 0x8A, 0x01, 0x17, 0x58, 0xB2, 0x6E,
++  0x2C, 0x44, 0x9B, 0x90, 0xF1, 0xFB, 0x51, 0xE8, 0x6A, 0x90, 0x2D, 0x18,
++  0x0E, 0xC0, 0x90, 0x10, 0x24, 0xA9, 0x1D, 0xB3, 0x58, 0x7A, 0x91, 0x30,
++  0xBE, 0x22, 0xC7, 0xD3, 0xEC, 0xC3, 0x09, 0x5D, 0xBF, 0xE2, 0x80, 0x3A,
++  0x7C, 0x85, 0xB4, 0xBC, 0xD1, 0xE9, 0xF0, 0x5C, 0xDE, 0x81, 0xA6, 0x38,
++  0xB8, 0x42, 0xBB, 0x86, 0xC5, 0x9D, 0xCE, 0x7C, 0x2C, 0xEE, 0xD1, 0xDA,
++  0x27, 0x48, 0x2B, 0xF5, 0xAB, 0xB9, 0xF7, 0x80, 0xD1, 0x90, 0x27, 0x90,
++  0xBD, 0x44, 0x97, 0x60, 0xCD, 0x57, 0xC0, 0x7A
++};
++
++static const unsigned char kat_RSA_SHA384[] = {
++  0x1D, 0xE3, 0x6A, 0xDD, 0x27, 0x4C, 0xC0, 0xA5, 0x27, 0xEF, 0xE6, 0x1F,
++  0xD2, 0x91, 0x68, 0x59, 0x04, 0xAE, 0xBD, 0x99, 0x63, 0x56, 0x47, 0xC7,
++  0x6F, 0x22, 0x16, 0x48, 0xD0, 0xF9, 0x18, 0xA9, 0xCA, 0xFA, 0x5D, 0x5C,
++  0xA7, 0x65, 0x52, 0x8A, 0xC8, 0x44, 0x7E, 0x86, 0x5D, 0xA9, 0xA6, 0x55,
++  0x65, 0x3E, 0xD9, 0x2D, 0x02, 0x38, 0xA8, 0x79, 0x28, 0x7F, 0xB6, 0xCF,
++  0x82, 0xDD, 0x7E, 0x55, 0xE1, 0xB1, 0xBC, 0xE2, 0x19, 0x2B, 0x30, 0xC2,
++  0x1B, 0x2B, 0xB0, 0x82, 0x46, 0xAC, 0x4B, 0xD1, 0xE2, 0x7D, 0xEB, 0x8C,
++  0xFF, 0x95, 0xE9, 0x6A, 0x1C, 0x3D, 0x4D, 0xBF, 0x8F, 0x8B, 0x9C, 0xCD,
++  0xEA, 0x85, 0xEE, 0x00, 0xDC, 0x1C, 0xA7, 0xEB, 0xD0, 0x8F, 0x99, 0xF1,
++  0x16, 0x28, 0x24, 0x64, 0x04, 0x39, 0x2D, 0x58, 0x1E, 0x37, 0xDC, 0x04,
++  0xBD, 0x31, 0xA2, 0x2F, 0xB3, 0x35, 0x56, 0xBF
++};
++
++static const unsigned char kat_RSA_SHA512[] = {
++  0x69, 0x52, 0x1B, 0x51, 0x5E, 0x06, 0xCA, 0x9B, 0x16, 0x51, 0x5D, 0xCF,
++  0x49, 0x25, 0x4A, 0xA1, 0x6A, 0x77, 0x4C, 0x36, 0x40, 0xF8, 0xB2, 0x9A,
++  0x15, 0xEA, 0x5C, 0xE5, 0xE6, 0x82, 0xE0, 0x86, 0x82, 0x6B, 0x32, 0xF1,
++  0x04, 0xC1, 0x5A, 0x1A, 0xED, 0x1E, 0x9A, 0xB6, 0x4C, 0x54, 0x9F, 0xD8,
++  0x8D, 0xCC, 0xAC, 0x8A, 0xBB, 0x9C, 0x82, 0x3F, 0xA6, 0x53, 0x62, 0xB5,
++  0x80, 0xE2, 0xBC, 0xDD, 0x67, 0x2B, 0xD9, 0x3F, 0xE4, 0x75, 0x92, 0x6B,
++  0xAF, 0x62, 0x7C, 0x52, 0xF0, 0xEE, 0x33, 0xDF, 0x1B, 0x1D, 0x47, 0xE6,
++  0x59, 0x56, 0xA5, 0xB9, 0x5C, 0xE6, 0x77, 0x78, 0x16, 0x63, 0x84, 0x05,
++  0x6F, 0x0E, 0x2B, 0x31, 0x9D, 0xF7, 0x7F, 0xB2, 0x64, 0x71, 0xE0, 0x2D,
++  0x3E, 0x62, 0xCE, 0xB5, 0x3F, 0x88, 0xDF, 0x2D, 0xAB, 0x98, 0x65, 0x91,
++  0xDF, 0x70, 0x14, 0xA5, 0x3F, 0x36, 0xAB, 0x84
++};
++
++static const unsigned char kat_RSA_X931_SHA1[] = {
++  0x86, 0xB4, 0x18, 0xBA, 0xD1, 0x80, 0xB6, 0x7C, 0x42, 0x45, 0x4D, 0xDF,
++  0xE9, 0x2D, 0xE1, 0x83, 0x5F, 0xB5, 0x2F, 0xC9, 0xCD, 0xC4, 0xB2, 0x75,
++  0x80, 0xA4, 0xF1, 0x4A, 0xE7, 0x83, 0x12, 0x1E, 0x1E, 0x14, 0xB8, 0xAC,
++  0x35, 0xE2, 0xAA, 0x0B, 0x5C, 0xF8, 0x38, 0x4D, 0x04, 0xEE, 0xA9, 0x97,
++  0x70, 0xFB, 0x5E, 0xE7, 0xB7, 0xE3, 0x62, 0x23, 0x4B, 0x38, 0xBE, 0xD6,
++  0x53, 0x15, 0xF7, 0xDF, 0x87, 0xB4, 0x0E, 0xCC, 0xB1, 0x1A, 0x11, 0x19,
++  0xEE, 0x51, 0xCC, 0x92, 0xDD, 0xBC, 0x63, 0x29, 0x63, 0x0C, 0x59, 0xD7,
++  0x6F, 0x4C, 0x3C, 0x37, 0x5B, 0x37, 0x03, 0x61, 0x7D, 0x24, 0x1C, 0x99,
++  0x48, 0xAF, 0x82, 0xFE, 0x32, 0x41, 0x9B, 0xB2, 0xDB, 0xEA, 0xED, 0x76,
++  0x8E, 0x6E, 0xCA, 0x7E, 0x4E, 0x14, 0xBA, 0x30, 0x84, 0x1C, 0xB3, 0x67,
++  0xA3, 0x29, 0x80, 0x70, 0x54, 0x68, 0x7D, 0x49
++};
++
++static const unsigned char kat_RSA_X931_SHA256[] = {
++  0x7E, 0xA2, 0x77, 0xFE, 0xB8, 0x54, 0x8A, 0xC7, 0x7F, 0x64, 0x54, 0x89,
++  0xE5, 0x52, 0x15, 0x8E, 0x52, 0x96, 0x4E, 0xA6, 0x58, 0x92, 0x1C, 0xDD,
++  0xEA, 0xA2, 0x2D, 0x5C, 0xD1, 0x62, 0x00, 0x49, 0x05, 0x95, 0x73, 0xCF,
++  0x16, 0x76, 0x68, 0xF6, 0xC6, 0x5E, 0x80, 0xB8, 0xB8, 0x7B, 0xC8, 0x9B,
++  0xC6, 0x53, 0x88, 0x26, 0x20, 0x88, 0x73, 0xB6, 0x13, 0xB8, 0xF0, 0x4B,
++  0x00, 0x85, 0xF3, 0xDD, 0x07, 0x50, 0xEB, 0x20, 0xC4, 0x38, 0x0E, 0x98,
++  0xAD, 0x4E, 0x49, 0x2C, 0xD7, 0x65, 0xA5, 0x19, 0x0E, 0x59, 0x01, 0xEC,
++  0x7E, 0x75, 0x89, 0x69, 0x2E, 0x63, 0x76, 0x85, 0x46, 0x8D, 0xA0, 0x8C,
++  0x33, 0x1D, 0x82, 0x8C, 0x03, 0xEA, 0x69, 0x88, 0x35, 0xA1, 0x42, 0xBD,
++  0x21, 0xED, 0x8D, 0xBC, 0xBC, 0xDB, 0x30, 0xFF, 0x86, 0xF0, 0x5B, 0xDC,
++  0xE3, 0xE2, 0xE8, 0x0A, 0x0A, 0x29, 0x94, 0x80
++};
++
++static const unsigned char kat_RSA_X931_SHA384[] = {
++  0x5C, 0x7D, 0x96, 0x35, 0xEC, 0x7E, 0x11, 0x38, 0xBB, 0x7B, 0xEC, 0x7B,
++  0xF2, 0x82, 0x8E, 0x99, 0xBD, 0xEF, 0xD8, 0xAE, 0xD7, 0x39, 0x37, 0xCB,
++  0xE6, 0x4F, 0x5E, 0x0A, 0x13, 0xE4, 0x2E, 0x40, 0xB9, 0xBE, 0x2E, 0xE3,
++  0xEF, 0x78, 0x83, 0x18, 0x44, 0x35, 0x9C, 0x8E, 0xD7, 0x4A, 0x63, 0xF6,
++  0x57, 0xC2, 0xB0, 0x08, 0x51, 0x73, 0xCF, 0xCA, 0x99, 0x66, 0xEE, 0x31,
++  0xD8, 0x69, 0xE9, 0xAB, 0x13, 0x27, 0x7B, 0x41, 0x1E, 0x6D, 0x8D, 0xF1,
++  0x3E, 0x9C, 0x35, 0x95, 0x58, 0xDD, 0x2B, 0xD5, 0xA0, 0x60, 0x41, 0x79,
++  0x24, 0x22, 0xE4, 0xB7, 0xBF, 0x47, 0x53, 0xF6, 0x34, 0xD5, 0x7C, 0xFF,
++  0x0E, 0x09, 0xEE, 0x2E, 0xE2, 0x37, 0xB9, 0xDE, 0xC5, 0x12, 0x44, 0x35,
++  0xEF, 0x01, 0xE6, 0x5E, 0x39, 0x31, 0x2D, 0x71, 0xA5, 0xDC, 0xC6, 0x6D,
++  0xE2, 0xCD, 0x85, 0xDB, 0x73, 0x82, 0x65, 0x28
++};
++
++static const unsigned char kat_RSA_X931_SHA512[] = {
++  0xA6, 0x65, 0xA2, 0x77, 0x4F, 0xB3, 0x86, 0xCB, 0x64, 0x3A, 0xC1, 0x63,
++  0xFC, 0xA1, 0xAA, 0xCB, 0x9B, 0x79, 0xDD, 0x4B, 0xE1, 0xD9, 0xDA, 0xAC,
++  0xE7, 0x47, 0x09, 0xB2, 0x11, 0x4B, 0x8A, 0xAA, 0x05, 0x9E, 0x77, 0xD7,
++  0x3A, 0xBD, 0x5E, 0x53, 0x09, 0x4A, 0xE6, 0x0F, 0x5E, 0xF9, 0x14, 0x28,
++  0xA0, 0x99, 0x74, 0x64, 0x70, 0x4E, 0xF2, 0xE3, 0xFA, 0xC7, 0xF8, 0xC5,
++  0x6E, 0x2B, 0x79, 0x96, 0x0D, 0x0C, 0xC8, 0x10, 0x34, 0x53, 0xD2, 0xAF,
++  0x17, 0x0E, 0xE0, 0xBF, 0x79, 0xF6, 0x04, 0x72, 0x10, 0xE0, 0xF6, 0xD0,
++  0xCE, 0x8A, 0x6F, 0xA1, 0x95, 0x89, 0xBF, 0x58, 0x8F, 0x46, 0x5F, 0x09,
++  0x9F, 0x09, 0xCA, 0x84, 0x15, 0x85, 0xE0, 0xED, 0x04, 0x2D, 0xFB, 0x7C,
++  0x36, 0x35, 0x21, 0x31, 0xC3, 0xFD, 0x92, 0x42, 0x11, 0x30, 0x71, 0x1B,
++  0x60, 0x83, 0x18, 0x88, 0xA3, 0xF5, 0x59, 0xC3
++};
++
++
++int FIPS_selftest_rsa()
++      {
++      int ret = 0;
++      RSA *key;
++      EVP_PKEY *pk = NULL;
++
++      if ((key=RSA_new()) == NULL)
++              goto err;
++      setrsakey(key);
++      if ((pk=EVP_PKEY_new()) == NULL)
++              goto err;
++
++      EVP_PKEY_assign_RSA(pk, key);
++
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_SHA1, sizeof(kat_RSA_SHA1),
++                              EVP_sha1(), EVP_MD_CTX_FLAG_PAD_PKCS1,
++                              "RSA SHA1 PKCS#1"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_SHA224, sizeof(kat_RSA_SHA224),
++                              EVP_sha224(), EVP_MD_CTX_FLAG_PAD_PKCS1,
++                              "RSA SHA224 PKCS#1"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_SHA256, sizeof(kat_RSA_SHA256),
++                              EVP_sha256(), EVP_MD_CTX_FLAG_PAD_PKCS1,
++                              "RSA SHA256 PKCS#1"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_SHA384, sizeof(kat_RSA_SHA384),
++                              EVP_sha384(), EVP_MD_CTX_FLAG_PAD_PKCS1,
++                              "RSA SHA384 PKCS#1"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_SHA512, sizeof(kat_RSA_SHA512),
++                              EVP_sha512(), EVP_MD_CTX_FLAG_PAD_PKCS1,
++                              "RSA SHA512 PKCS#1"))
++              goto err;
++
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_PSS_SHA1, sizeof(kat_RSA_PSS_SHA1),
++                              EVP_sha1(), EVP_MD_CTX_FLAG_PAD_PSS,
++                              "RSA SHA1 PSS"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_PSS_SHA224, sizeof(kat_RSA_PSS_SHA224),
++                              EVP_sha224(), EVP_MD_CTX_FLAG_PAD_PSS,
++                              "RSA SHA224 PSS"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_PSS_SHA256, sizeof(kat_RSA_PSS_SHA256),
++                              EVP_sha256(), EVP_MD_CTX_FLAG_PAD_PSS,
++                              "RSA SHA256 PSS"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_PSS_SHA384, sizeof(kat_RSA_PSS_SHA384),
++                              EVP_sha384(), EVP_MD_CTX_FLAG_PAD_PSS,
++                              "RSA SHA384 PSS"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                              kat_RSA_PSS_SHA512, sizeof(kat_RSA_PSS_SHA512),
++                              EVP_sha512(), EVP_MD_CTX_FLAG_PAD_PSS,
++                              "RSA SHA512 PSS"))
++              goto err;
++
++
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                      kat_RSA_X931_SHA1, sizeof(kat_RSA_X931_SHA1),
++                      EVP_sha1(), EVP_MD_CTX_FLAG_PAD_X931,
++                      "RSA SHA1 X931"))
++              goto err;
++      /* NB: SHA224 not supported in X9.31 */
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                      kat_RSA_X931_SHA256, sizeof(kat_RSA_X931_SHA256),
++                      EVP_sha256(), EVP_MD_CTX_FLAG_PAD_X931,
++                      "RSA SHA256 X931"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                      kat_RSA_X931_SHA384, sizeof(kat_RSA_X931_SHA384),
++                      EVP_sha384(), EVP_MD_CTX_FLAG_PAD_X931,
++                      "RSA SHA384 X931"))
++              goto err;
++      if (!fips_pkey_signature_test(pk, kat_tbs, sizeof(kat_tbs) - 1,
++                      kat_RSA_X931_SHA512, sizeof(kat_RSA_X931_SHA512),
++                      EVP_sha512(), EVP_MD_CTX_FLAG_PAD_X931,
++                      "RSA SHA512 X931"))
++              goto err;
++
++
++      ret = 1;
++
++      err:
++      if (pk)
++              EVP_PKEY_free(pk);
++      else if (key)
++              RSA_free(key);
++      return ret;
++      }
++
++#endif /* def OPENSSL_FIPS */
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_rsa_x931g.c.fips openssl-1.0.1-beta3/crypto/fips/fips_rsa_x931g.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_rsa_x931g.c.fips      2012-02-29 10:33:02.799294939 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_rsa_x931g.c   2012-02-29 10:33:02.799294939 +0100
+@@ -0,0 +1,282 @@
++/* crypto/rsa/rsa_gen.c */
++/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
++ * All rights reserved.
++ *
++ * This package is an SSL implementation written
++ * by Eric Young (eay@cryptsoft.com).
++ * The implementation was written so as to conform with Netscapes SSL.
++ * 
++ * This library is free for commercial and non-commercial use as long as
++ * the following conditions are aheared to.  The following conditions
++ * apply to all code found in this distribution, be it the RC4, RSA,
++ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
++ * included with this distribution is covered by the same copyright terms
++ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
++ * 
++ * Copyright remains Eric Young's, and as such any Copyright notices in
++ * the code are not to be removed.
++ * If this package is used in a product, Eric Young should be given attribution
++ * as the author of the parts of the library used.
++ * This can be in the form of a textual message at program startup or
++ * in documentation (online or textual) provided with the package.
++ * 
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. All advertising materials mentioning features or use of this software
++ *    must display the following acknowledgement:
++ *    "This product includes cryptographic software written by
++ *     Eric Young (eay@cryptsoft.com)"
++ *    The word 'cryptographic' can be left out if the rouines from the library
++ *    being used are not cryptographic related :-).
++ * 4. If you include any Windows specific code (or a derivative thereof) from 
++ *    the apps directory (application code) you must include an acknowledgement:
++ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
++ * 
++ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ * 
++ * The licence and distribution terms for any publically available version or
++ * derivative of this code cannot be changed.  i.e. this code cannot simply be
++ * copied and put under another distribution licence
++ * [including the GNU Public Licence.]
++ */
++
++#include <stdio.h>
++#include <string.h>
++#include <time.h>
++#include <openssl/err.h>
++#include <openssl/bn.h>
++#include <openssl/rsa.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++
++extern int fips_check_rsa(RSA *rsa);
++#endif
++
++/* X9.31 RSA key derivation and generation */
++
++int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, BIGNUM *q2,
++                      const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *Xp,
++                      const BIGNUM *Xq1, const BIGNUM *Xq2, const BIGNUM *Xq,
++                      const BIGNUM *e, BN_GENCB *cb)
++      {
++      BIGNUM *r0=NULL,*r1=NULL,*r2=NULL,*r3=NULL;
++      BN_CTX *ctx=NULL,*ctx2=NULL;
++
++      if (!rsa) 
++              goto err;
++
++      ctx = BN_CTX_new();
++      if (!ctx) 
++              goto err;
++      BN_CTX_start(ctx);
++
++      r0 = BN_CTX_get(ctx);
++      r1 = BN_CTX_get(ctx);
++      r2 = BN_CTX_get(ctx);
++      r3 = BN_CTX_get(ctx);
++
++      if (r3 == NULL)
++              goto err;
++      if (!rsa->e)
++              {
++              rsa->e = BN_dup(e);
++              if (!rsa->e)
++                      goto err;
++              }
++      else
++              e = rsa->e;
++
++      /* If not all parameters present only calculate what we can.
++       * This allows test programs to output selective parameters.
++       */
++
++      if (Xp && !rsa->p)
++              {
++              rsa->p = BN_new();
++              if (!rsa->p)
++                      goto err;
++
++              if (!BN_X931_derive_prime_ex(rsa->p, p1, p2,
++                                      Xp, Xp1, Xp2, e, ctx, cb))
++                      goto err;
++              }
++
++      if (Xq && !rsa->q)
++              {
++              rsa->q = BN_new();
++              if (!rsa->q)
++                      goto err;
++              if (!BN_X931_derive_prime_ex(rsa->q, q1, q2,
++                                      Xq, Xq1, Xq2, e, ctx, cb))
++                      goto err;
++              }
++
++      if (!rsa->p || !rsa->q)
++              {
++              BN_CTX_end(ctx);
++              BN_CTX_free(ctx);
++              return 2;
++              }
++
++      /* Since both primes are set we can now calculate all remaining 
++       * components.
++       */
++
++      /* calculate n */
++      rsa->n=BN_new();
++      if (rsa->n == NULL)
++              goto err;
++      if (!BN_mul(rsa->n,rsa->p,rsa->q,ctx))
++              goto err;
++
++      /* calculate d */
++      if (!BN_sub(r1,rsa->p,BN_value_one()))
++              goto err;       /* p-1 */
++      if (!BN_sub(r2,rsa->q,BN_value_one()))
++              goto err;       /* q-1 */
++      if (!BN_mul(r0,r1,r2,ctx))
++              goto err;       /* (p-1)(q-1) */
++
++      if (!BN_gcd(r3, r1, r2, ctx))
++              goto err;
++
++      if (!BN_div(r0, NULL, r0, r3, ctx))
++              goto err;       /* LCM((p-1)(q-1)) */
++
++      ctx2 = BN_CTX_new();
++      if (!ctx2)
++              goto err;
++
++      rsa->d=BN_mod_inverse(NULL,rsa->e,r0,ctx2);     /* d */
++      if (rsa->d == NULL)
++              goto err;
++
++      /* calculate d mod (p-1) */
++      rsa->dmp1=BN_new();
++      if (rsa->dmp1 == NULL)
++              goto err;
++      if (!BN_mod(rsa->dmp1,rsa->d,r1,ctx))
++              goto err;
++
++      /* calculate d mod (q-1) */
++      rsa->dmq1=BN_new();
++      if (rsa->dmq1 == NULL)
++              goto err;
++      if (!BN_mod(rsa->dmq1,rsa->d,r2,ctx))
++              goto err;
++
++      /* calculate inverse of q mod p */
++      rsa->iqmp=BN_mod_inverse(NULL,rsa->q,rsa->p,ctx2);
++
++      err:
++      if (ctx)
++              {
++              BN_CTX_end(ctx);
++              BN_CTX_free(ctx);
++              }
++      if (ctx2)
++              BN_CTX_free(ctx2);
++      /* If this is set all calls successful */
++      if (rsa && rsa->iqmp != NULL)
++              return 1;
++
++      return 0;
++
++      }
++
++int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e, BN_GENCB *cb)
++      {
++      int ok = 0;
++      BIGNUM *Xp = NULL, *Xq = NULL;
++      BN_CTX *ctx = NULL;
++
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode() && !(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW) && 
++              (bits < OPENSSL_RSA_FIPS_MIN_MODULUS_BITS))
++          {
++          FIPSerr(FIPS_F_RSA_X931_GENERATE_KEY_EX,FIPS_R_KEY_TOO_SHORT);
++          return 0;
++          }
++
++      if (bits & 0xff)
++          {
++          FIPSerr(FIPS_F_RSA_X931_GENERATE_KEY_EX,FIPS_R_INVALID_KEY_LENGTH);
++          return 0;
++          }
++
++      if(FIPS_selftest_failed())
++          {
++          FIPSerr(FIPS_F_RSA_X931_GENERATE_KEY_EX,FIPS_R_FIPS_SELFTEST_FAILED);
++          return 0;
++          }
++#endif
++
++      ctx = BN_CTX_new();
++      if (!ctx)
++              goto error;
++
++      BN_CTX_start(ctx);
++      Xp = BN_CTX_get(ctx);
++      Xq = BN_CTX_get(ctx);
++      if (!BN_X931_generate_Xpq(Xp, Xq, bits, ctx))
++              goto error;
++
++      rsa->p = BN_new();
++      rsa->q = BN_new();
++      if (!rsa->p || !rsa->q)
++              goto error;
++
++      /* Generate two primes from Xp, Xq */
++
++      if (!BN_X931_generate_prime_ex(rsa->p, NULL, NULL, NULL, NULL, Xp,
++                                      e, ctx, cb))
++              goto error;
++
++      if (!BN_X931_generate_prime_ex(rsa->q, NULL, NULL, NULL, NULL, Xq,
++                                      e, ctx, cb))
++              goto error;
++
++      /* Since rsa->p and rsa->q are valid this call will just derive
++       * remaining RSA components.
++       */
++
++      if (!RSA_X931_derive_ex(rsa, NULL, NULL, NULL, NULL,
++                              NULL, NULL, NULL, NULL, NULL, NULL, e, cb))
++              goto error;
++
++#ifdef OPENSSL_FIPS
++      if(!fips_check_rsa(rsa))
++          goto error;
++#endif
++
++      ok = 1;
++
++      error:
++      if (ctx)
++              {
++              BN_CTX_end(ctx);
++              BN_CTX_free(ctx);
++              }
++
++      if (ok)
++              return 1;
++
++      return 0;
++
++      }
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_sha_selftest.c.fips openssl-1.0.1-beta3/crypto/fips/fips_sha_selftest.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_sha_selftest.c.fips   2012-02-29 10:33:02.799294939 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_sha_selftest.c        2012-02-29 10:33:02.799294939 +0100
+@@ -0,0 +1,140 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <string.h>
++#include <openssl/err.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++#include <openssl/evp.h>
++#include <openssl/sha.h>
++
++#ifdef OPENSSL_FIPS
++static const char test[][60]=
++    {
++    "",
++    "abc",
++    "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
++    };
++
++static const unsigned char ret[][SHA_DIGEST_LENGTH]=
++    {
++    { 0xda,0x39,0xa3,0xee,0x5e,0x6b,0x4b,0x0d,0x32,0x55,
++      0xbf,0xef,0x95,0x60,0x18,0x90,0xaf,0xd8,0x07,0x09 },
++    { 0xa9,0x99,0x3e,0x36,0x47,0x06,0x81,0x6a,0xba,0x3e,
++      0x25,0x71,0x78,0x50,0xc2,0x6c,0x9c,0xd0,0xd8,0x9d },
++    { 0x84,0x98,0x3e,0x44,0x1c,0x3b,0xd2,0x6e,0xba,0xae,
++      0x4a,0xa1,0xf9,0x51,0x29,0xe5,0xe5,0x46,0x70,0xf1 },
++    };
++
++static int corrupt_sha;
++
++void FIPS_corrupt_sha1()
++    {
++    corrupt_sha = 1;
++    }
++
++int FIPS_selftest_sha1()
++    {
++    int n;
++
++    for(n=0 ; n<sizeof(test)/sizeof(test[0]) ; ++n)
++      {
++      unsigned char md[SHA_DIGEST_LENGTH];
++
++      EVP_Digest(test[n],strlen(test[n])+corrupt_sha,md, NULL, EVP_sha1(), NULL);
++      if(memcmp(md,ret[n],sizeof md))
++          {
++          FIPSerr(FIPS_F_FIPS_SELFTEST_SHA1,FIPS_R_SELFTEST_FAILED);
++          return 0;
++          }
++      }
++    return 1;
++    }
++
++static const unsigned char msg_sha256[] = { 0xfa, 0x48, 0x59, 0x2a, 0xe1, 0xae, 0x1f, 0x30,
++                                          0xfc };
++static const unsigned char dig_sha256[] = { 0xf7, 0x26, 0xd8, 0x98, 0x47, 0x91, 0x68, 0x5b,
++                                          0x9e, 0x39, 0xb2, 0x58, 0xbb, 0x75, 0xbf, 0x01,
++                                          0x17, 0x0c, 0x84, 0x00, 0x01, 0x7a, 0x94, 0x83,
++                                          0xf3, 0x0b, 0x15, 0x84, 0x4b, 0x69, 0x88, 0x8a };
++
++static const unsigned char msg_sha512[] = { 0x37, 0xd1, 0x35, 0x9d, 0x18, 0x41, 0xe9, 0xb7,
++                                          0x6d, 0x9a, 0x13, 0xda, 0x5f, 0xf3, 0xbd };
++static const unsigned char dig_sha512[] = { 0x11, 0x13, 0xc4, 0x19, 0xed, 0x2b, 0x1d, 0x16,
++                                          0x11, 0xeb, 0x9b, 0xbe, 0xf0, 0x7f, 0xcf, 0x44,
++                                          0x8b, 0xd7, 0x57, 0xbd, 0x8d, 0xa9, 0x25, 0xb0,
++                                          0x47, 0x25, 0xd6, 0x6c, 0x9a, 0x54, 0x7f, 0x8f,
++                                          0x0b, 0x53, 0x1a, 0x10, 0x68, 0x32, 0x03, 0x38,
++                                          0x82, 0xc4, 0x87, 0xc4, 0xea, 0x0e, 0xd1, 0x04,
++                                          0xa9, 0x98, 0xc1, 0x05, 0xa3, 0xf3, 0xf8, 0xb1,
++                                          0xaf, 0xbc, 0xd9, 0x78, 0x7e, 0xee, 0x3d, 0x43 };
++
++int FIPS_selftest_sha2(void)
++      {
++      unsigned char md[SHA512_DIGEST_LENGTH];
++
++      EVP_Digest(msg_sha256, sizeof(msg_sha256), md, NULL, EVP_sha256(), NULL);
++      if(memcmp(dig_sha256, md, sizeof(dig_sha256)))
++              {
++              FIPSerr(FIPS_F_FIPS_MODE_SET, FIPS_R_SELFTEST_FAILED);
++              return 0;
++              }
++
++      EVP_Digest(msg_sha512, sizeof(msg_sha512), md, NULL, EVP_sha512(), NULL);
++      if(memcmp(dig_sha512, md, sizeof(dig_sha512)))
++              {
++              FIPSerr(FIPS_F_FIPS_MODE_SET, FIPS_R_SELFTEST_FAILED);
++              return 0;
++              }
++
++      return 1;
++      }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_standalone_hmac.c.fips openssl-1.0.1-beta3/crypto/fips/fips_standalone_hmac.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_standalone_hmac.c.fips        2012-02-29 10:33:02.799294939 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_standalone_hmac.c     2012-02-29 10:33:02.799294939 +0100
+@@ -0,0 +1,180 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer. 
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in
++ *    the documentation and/or other materials provided with the
++ *    distribution.
++ *
++ * 3. All advertising materials mentioning features or use of this
++ *    software must display the following acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
++ *
++ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
++ *    endorse or promote products derived from this software without
++ *    prior written permission. For written permission, please contact
++ *    openssl-core@openssl.org.
++ *
++ * 5. Products derived from this software may not be called "OpenSSL"
++ *    nor may "OpenSSL" appear in their names without prior written
++ *    permission of the OpenSSL Project.
++ *
++ * 6. Redistributions of any form whatsoever must retain the following
++ *    acknowledgment:
++ *    "This product includes software developed by the OpenSSL Project
++ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
++ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
++ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++ * OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <openssl/opensslconf.h>
++#include <openssl/sha.h>
++#include <openssl/hmac.h>
++
++#ifndef FIPSCANISTER_O
++int FIPS_selftest_failed() { return 0; }
++void FIPS_selftest_check() {}
++void OPENSSL_cleanse(void *p,size_t len) {}
++#endif
++
++#if   defined(__i386)   || defined(__i386__)   || defined(_M_IX86) || \
++      defined(__INTEL__) || \
++      defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
++
++unsigned int  OPENSSL_ia32cap_P[2];
++#endif
++
++#ifdef OPENSSL_FIPS
++
++static void hmac_init(SHA256_CTX *md_ctx,SHA256_CTX *o_ctx,
++                    const char *key)
++    {
++    size_t len=strlen(key);
++    int i;
++    unsigned char keymd[HMAC_MAX_MD_CBLOCK];
++    unsigned char pad[HMAC_MAX_MD_CBLOCK];
++
++    if (len > SHA_CBLOCK)
++      {
++      SHA256_Init(md_ctx);
++      SHA256_Update(md_ctx,key,len);
++      SHA256_Final(keymd,md_ctx);
++      len=SHA256_DIGEST_LENGTH;
++      }
++    else
++      memcpy(keymd,key,len);
++    memset(&keymd[len],'\0',HMAC_MAX_MD_CBLOCK-len);
++
++    for(i=0 ; i < HMAC_MAX_MD_CBLOCK ; i++)
++      pad[i]=0x36^keymd[i];
++    SHA256_Init(md_ctx);
++    SHA256_Update(md_ctx,pad,SHA256_CBLOCK);
++
++    for(i=0 ; i < HMAC_MAX_MD_CBLOCK ; i++)
++      pad[i]=0x5c^keymd[i];
++    SHA256_Init(o_ctx);
++    SHA256_Update(o_ctx,pad,SHA256_CBLOCK);
++    }
++
++static void hmac_final(unsigned char *md,SHA256_CTX *md_ctx,SHA256_CTX *o_ctx)
++    {
++    unsigned char buf[SHA256_DIGEST_LENGTH];
++
++    SHA256_Final(buf,md_ctx);
++    SHA256_Update(o_ctx,buf,sizeof buf);
++    SHA256_Final(md,o_ctx);
++    }
++
++#endif
++
++int main(int argc,char **argv)
++    {
++#ifdef OPENSSL_FIPS
++    static char key[]="orboDeJITITejsirpADONivirpUkvarP";
++    int n,binary=0;
++
++    if(argc < 2)
++      {
++      fprintf(stderr,"%s [<file>]+\n",argv[0]);
++      exit(1);
++      }
++
++    n=1;
++    if (!strcmp(argv[n],"-binary"))
++      {
++      n++;
++      binary=1;       /* emit binary fingerprint... */
++      }
++
++    for(; n < argc ; ++n)
++      {
++      FILE *f=fopen(argv[n],"rb");
++      SHA256_CTX md_ctx,o_ctx;
++      unsigned char md[SHA256_DIGEST_LENGTH];
++      int i;
++
++      if(!f)
++          {
++          perror(argv[n]);
++          exit(2);
++          }
++
++      hmac_init(&md_ctx,&o_ctx,key);
++      for( ; ; )
++          {
++          char buf[1024];
++          size_t l=fread(buf,1,sizeof buf,f);
++
++          if(l == 0)
++              {
++              if(ferror(f))
++                  {
++                  perror(argv[n]);
++                  exit(3);
++                  }
++              else
++                  break;
++              }
++          SHA256_Update(&md_ctx,buf,l);
++          }
++      hmac_final(md,&md_ctx,&o_ctx);
++
++      if (binary)
++          {
++          fwrite(md,SHA256_DIGEST_LENGTH,1,stdout);
++          break;      /* ... for single(!) file */
++          }
++
++/*    printf("HMAC-SHA1(%s)= ",argv[n]); */
++      for(i=0 ; i < SHA256_DIGEST_LENGTH ; ++i)
++          printf("%02x",md[i]);
++      printf("\n");
++      }
++#endif
++    return 0;
++    }
++
++
+diff -up openssl-1.0.1-beta3/crypto/fips/fips_test_suite.c.fips openssl-1.0.1-beta3/crypto/fips/fips_test_suite.c
+--- openssl-1.0.1-beta3/crypto/fips/fips_test_suite.c.fips     2012-02-29 10:33:02.800294947 +0100
++++ openssl-1.0.1-beta3/crypto/fips/fips_test_suite.c  2012-02-29 10:33:02.800294947 +0100
+@@ -0,0 +1,588 @@
++/* ====================================================================
++ * Copyright (c) 2003 The OpenSSL Project.  All rights reserved.
++ *
++ *
++ * This command is intended as a test driver for the FIPS-140 testing
++ * lab performing FIPS-140 validation.  It demonstrates the use of the
++ * OpenSSL library ito perform a variety of common cryptographic
++ * functions.  A power-up self test is demonstrated by deliberately
++ * pointing to an invalid executable hash
++ *
++ * Contributed by Steve Marquess.
++ *
++ */
++#include <stdio.h>
++#include <assert.h>
++#include <ctype.h>
++#include <string.h>
++#include <stdlib.h>
++#include <openssl/aes.h>
++#include <openssl/des.h>
++#include <openssl/rsa.h>
++#include <openssl/dsa.h>
++#include <openssl/dh.h>
++#include <openssl/hmac.h>
++#include <openssl/err.h>
++
++#include <openssl/bn.h>
++#include <openssl/rand.h>
++#include <openssl/sha.h>
++
++
++#ifndef OPENSSL_FIPS
++int main(int argc, char *argv[])
++    {
++    printf("No FIPS support\n");
++    return(0);
++    }
++#else
++
++#include <openssl/fips.h>
++#include "fips_utl.h"
++
++/* AES: encrypt and decrypt known plaintext, verify result matches original plaintext
++*/
++static int FIPS_aes_test(void)
++      {
++      int ret = 0;
++      unsigned char pltmp[16];
++      unsigned char citmp[16];
++      unsigned char key[16] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
++      unsigned char plaintext[16] = "etaonrishdlcu";
++      EVP_CIPHER_CTX ctx;
++      EVP_CIPHER_CTX_init(&ctx);
++      if (EVP_CipherInit_ex(&ctx, EVP_aes_128_ecb(),NULL, key, NULL, 1) <= 0)
++              goto err;
++      EVP_Cipher(&ctx, citmp, plaintext, 16);
++      if (EVP_CipherInit_ex(&ctx, EVP_aes_128_ecb(),NULL, key, NULL, 0) <= 0)
++              goto err;
++      EVP_Cipher(&ctx, pltmp, citmp, 16);
++      if (memcmp(pltmp, plaintext, 16))
++              goto err;
++      ret = 1;
++      err:
++      EVP_CIPHER_CTX_cleanup(&ctx);
++      return ret;
++      }
++
++static int FIPS_des3_test(void)
++      {
++      int ret = 0;
++      unsigned char pltmp[8];
++      unsigned char citmp[8];
++      unsigned char key[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,
++                            19,20,21,22,23,24};
++      unsigned char plaintext[] = { 'e', 't', 'a', 'o', 'n', 'r', 'i', 's' };
++      EVP_CIPHER_CTX ctx;
++      EVP_CIPHER_CTX_init(&ctx);
++      if (EVP_CipherInit_ex(&ctx, EVP_des_ede3_ecb(),NULL, key, NULL, 1) <= 0)
++              goto err;
++      EVP_Cipher(&ctx, citmp, plaintext, 8);
++      if (EVP_CipherInit_ex(&ctx, EVP_des_ede3_ecb(),NULL, key, NULL, 0) <= 0)
++              goto err;
++      EVP_Cipher(&ctx, pltmp, citmp, 8);
++      if (memcmp(pltmp, plaintext, 8))
++              goto err;
++      ret = 1;
++      err:
++      EVP_CIPHER_CTX_cleanup(&ctx);
++      return ret;
++      }
++
++/*
++ * DSA: generate keys and sign, verify input plaintext.
++ */
++static int FIPS_dsa_test(int bad)
++    {
++    DSA *dsa = NULL;
++    EVP_PKEY pk;
++    unsigned char dgst[] = "etaonrishdlc";
++    unsigned char buf[60];
++    unsigned int slen;
++    int r = 0;
++    EVP_MD_CTX mctx;
++
++    ERR_clear_error();
++    EVP_MD_CTX_init(&mctx);
++    dsa = DSA_new();
++    if (!dsa)
++      goto end;
++    if (!DSA_generate_parameters_ex(dsa, 1024,NULL,0,NULL,NULL,NULL))
++      goto end;
++    if (!DSA_generate_key(dsa))
++      goto end;
++    if (bad)
++          BN_add_word(dsa->pub_key, 1);
++
++    pk.type = EVP_PKEY_DSA;
++    pk.pkey.dsa = dsa;
++
++    if (!EVP_SignInit_ex(&mctx, EVP_dss1(), NULL))
++      goto end;
++    if (!EVP_SignUpdate(&mctx, dgst, sizeof(dgst) - 1))
++      goto end;
++    if (!EVP_SignFinal(&mctx, buf, &slen, &pk))
++      goto end;
++
++    if (!EVP_VerifyInit_ex(&mctx, EVP_dss1(), NULL))
++      goto end;
++    if (!EVP_VerifyUpdate(&mctx, dgst, sizeof(dgst) - 1))
++      goto end;
++    r = EVP_VerifyFinal(&mctx, buf, slen, &pk);
++    end:
++    EVP_MD_CTX_cleanup(&mctx);
++    if (dsa)
++        DSA_free(dsa);
++    if (r != 1)
++      return 0;
++    return 1;
++    }
++
++/*
++ * RSA: generate keys and sign, verify input plaintext.
++ */
++static int FIPS_rsa_test(int bad)
++    {
++    RSA *key;
++    unsigned char input_ptext[] = "etaonrishdlc";
++    unsigned char buf[256];
++    unsigned int slen;
++    BIGNUM *bn;
++    EVP_MD_CTX mctx;
++    EVP_PKEY pk;
++    int r = 0;
++
++    ERR_clear_error();
++    EVP_MD_CTX_init(&mctx);
++    key = RSA_new();
++    bn = BN_new();
++    if (!key || !bn)
++      return 0;
++    BN_set_word(bn, 65537);
++    if (!RSA_generate_key_ex(key, 1024,bn,NULL))
++      return 0;
++    BN_free(bn);
++    if (bad)
++          BN_add_word(key->n, 1);
++
++    pk.type = EVP_PKEY_RSA;
++    pk.pkey.rsa = key;
++
++    if (!EVP_SignInit_ex(&mctx, EVP_sha1(), NULL))
++      goto end;
++    if (!EVP_SignUpdate(&mctx, input_ptext, sizeof(input_ptext) - 1))
++      goto end;
++    if (!EVP_SignFinal(&mctx, buf, &slen, &pk))
++      goto end;
++
++    if (!EVP_VerifyInit_ex(&mctx, EVP_sha1(), NULL))
++      goto end;
++    if (!EVP_VerifyUpdate(&mctx, input_ptext, sizeof(input_ptext) - 1))
++      goto end;
++    r = EVP_VerifyFinal(&mctx, buf, slen, &pk);
++    end:
++    EVP_MD_CTX_cleanup(&mctx);
++    if (key)
++          RSA_free(key);
++    if (r != 1)
++      return 0;
++    return 1;
++    }
++
++/* SHA1: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_sha1_test()
++    {
++    unsigned char digest[SHA_DIGEST_LENGTH] =
++        { 0x11, 0xf1, 0x9a, 0x3a, 0xec, 0x1a, 0x1e, 0x8e, 0x65, 0xd4, 0x9a, 0x38, 0x0c, 0x8b, 0x1e, 0x2c, 0xe8, 0xb3, 0xc5, 0x18 };
++    unsigned char str[] = "etaonrishd";
++
++    unsigned char md[SHA_DIGEST_LENGTH];
++
++    ERR_clear_error();
++    if (!EVP_Digest(str,sizeof(str) - 1,md, NULL, EVP_sha1(), NULL)) return 0;
++    if (memcmp(md,digest,sizeof(md)))
++        return 0;
++    return 1;
++    }
++
++/* SHA256: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_sha256_test()
++    {
++    unsigned char digest[SHA256_DIGEST_LENGTH] =
++      {0xf5, 0x53, 0xcd, 0xb8, 0xcf, 0x1, 0xee, 0x17, 0x9b, 0x93, 0xc9, 0x68, 0xc0, 0xea, 0x40, 0x91,
++       0x6, 0xec, 0x8e, 0x11, 0x96, 0xc8, 0x5d, 0x1c, 0xaf, 0x64, 0x22, 0xe6, 0x50, 0x4f, 0x47, 0x57};
++    unsigned char str[] = "etaonrishd";
++
++    unsigned char md[SHA256_DIGEST_LENGTH];
++
++    ERR_clear_error();
++    if (!EVP_Digest(str,sizeof(str) - 1,md, NULL, EVP_sha256(), NULL)) return 0;
++    if (memcmp(md,digest,sizeof(md)))
++        return 0;
++    return 1;
++    }
++
++/* SHA512: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_sha512_test()
++    {
++    unsigned char digest[SHA512_DIGEST_LENGTH] =
++      {0x99, 0xc9, 0xe9, 0x5b, 0x88, 0xd4, 0x78, 0x88, 0xdf, 0x88, 0x5f, 0x94, 0x71, 0x64, 0x28, 0xca,
++       0x16, 0x1f, 0x3d, 0xf4, 0x1f, 0xf3, 0x0f, 0xc5, 0x03, 0x99, 0xb2, 0xd0, 0xe7, 0x0b, 0x94, 0x4a,
++       0x45, 0xd2, 0x6c, 0x4f, 0x20, 0x06, 0xef, 0x71, 0xa9, 0x25, 0x7f, 0x24, 0xb1, 0xd9, 0x40, 0x22,
++       0x49, 0x54, 0x10, 0xc2, 0x22, 0x9d, 0x27, 0xfe, 0xbd, 0xd6, 0xd6, 0xeb, 0x2d, 0x42, 0x1d, 0xa3};
++    unsigned char str[] = "etaonrishd";
++
++    unsigned char md[SHA512_DIGEST_LENGTH];
++
++    ERR_clear_error();
++    if (!EVP_Digest(str,sizeof(str) - 1,md, NULL, EVP_sha512(), NULL)) return 0;
++    if (memcmp(md,digest,sizeof(md)))
++        return 0;
++    return 1;
++    }
++
++/* HMAC-SHA1: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_hmac_sha1_test()
++    {
++    unsigned char key[] = "etaonrishd";
++    unsigned char iv[] = "Sample text";
++    unsigned char kaval[EVP_MAX_MD_SIZE] =
++      {0x73, 0xf7, 0xa0, 0x48, 0xf8, 0x94, 0xed, 0xdd, 0x0a, 0xea, 0xea, 0x56, 0x1b, 0x61, 0x2e, 0x70,
++       0xb2, 0xfb, 0xec, 0xc6};
++
++    unsigned char out[EVP_MAX_MD_SIZE];
++    unsigned int outlen;
++
++    ERR_clear_error();
++    if (!HMAC(EVP_sha1(),key,sizeof(key)-1,iv,sizeof(iv)-1,out,&outlen)) return 0;
++    if (memcmp(out,kaval,outlen))
++        return 0;
++    return 1;
++    }
++
++/* HMAC-SHA224: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_hmac_sha224_test()
++    {
++    unsigned char key[] = "etaonrishd";
++    unsigned char iv[] = "Sample text";
++    unsigned char kaval[EVP_MAX_MD_SIZE] =
++      {0x75, 0x58, 0xd5, 0xbd, 0x55, 0x6d, 0x87, 0x0f, 0x75, 0xff, 0xbe, 0x1c, 0xb2, 0xf0, 0x20, 0x35,
++       0xe5, 0x62, 0x49, 0xb6, 0x94, 0xb9, 0xfc, 0x65, 0x34, 0x33, 0x3a, 0x19};
++
++    unsigned char out[EVP_MAX_MD_SIZE];
++    unsigned int outlen;
++
++    ERR_clear_error();
++    if (!HMAC(EVP_sha224(),key,sizeof(key)-1,iv,sizeof(iv)-1,out,&outlen)) return 0;
++    if (memcmp(out,kaval,outlen))
++        return 0;
++    return 1;
++    }
++
++/* HMAC-SHA256: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_hmac_sha256_test()
++    {
++    unsigned char key[] = "etaonrishd";
++    unsigned char iv[] = "Sample text";
++    unsigned char kaval[EVP_MAX_MD_SIZE] =
++      {0xe9, 0x17, 0xc1, 0x7b, 0x4c, 0x6b, 0x77, 0xda, 0xd2, 0x30, 0x36, 0x02, 0xf5, 0x72, 0x33, 0x87,
++       0x9f, 0xc6, 0x6e, 0x7b, 0x7e, 0xa8, 0xea, 0xaa, 0x9f, 0xba, 0xee, 0x51, 0xff, 0xda, 0x24, 0xf4};
++
++    unsigned char out[EVP_MAX_MD_SIZE];
++    unsigned int outlen;
++
++    ERR_clear_error();
++    if (!HMAC(EVP_sha256(),key,sizeof(key)-1,iv,sizeof(iv)-1,out,&outlen)) return 0;
++    if (memcmp(out,kaval,outlen))
++        return 0;
++    return 1;
++    }
++
++/* HMAC-SHA384: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_hmac_sha384_test()
++    {
++    unsigned char key[] = "etaonrishd";
++    unsigned char iv[] = "Sample text";
++    unsigned char kaval[EVP_MAX_MD_SIZE] =
++      {0xb2, 0x9d, 0x40, 0x58, 0x32, 0xc4, 0xe3, 0x31, 0xb6, 0x63, 0x08, 0x26, 0x99, 0xef, 0x3b, 0x10,
++       0xe2, 0xdf, 0xf8, 0xff, 0xc6, 0xe1, 0x03, 0x29, 0x81, 0x2a, 0x1b, 0xac, 0xb0, 0x07, 0x39, 0x08,
++       0xf3, 0x91, 0x35, 0x11, 0x76, 0xd6, 0x4c, 0x20, 0xfb, 0x4d, 0xc3, 0xf3, 0xb8, 0x9b, 0x88, 0x1c};
++
++    unsigned char out[EVP_MAX_MD_SIZE];
++    unsigned int outlen;
++
++    ERR_clear_error();
++    if (!HMAC(EVP_sha384(),key,sizeof(key)-1,iv,sizeof(iv)-1,out,&outlen)) return 0;
++    if (memcmp(out,kaval,outlen))
++        return 0;
++    return 1;
++    }
++
++/* HMAC-SHA512: generate hash of known digest value and compare to known
++   precomputed correct hash
++*/
++static int FIPS_hmac_sha512_test()
++    {
++    unsigned char key[] = "etaonrishd";
++    unsigned char iv[] = "Sample text";
++    unsigned char kaval[EVP_MAX_MD_SIZE] =
++      {0xcd, 0x3e, 0xb9, 0x51, 0xb8, 0xbc, 0x7f, 0x9a, 0x23, 0xaf, 0xf3, 0x77, 0x59, 0x85, 0xa9, 0xe6,
++       0xf7, 0xd1, 0x51, 0x96, 0x17, 0xe0, 0x92, 0xd8, 0xa6, 0x3b, 0xc1, 0xad, 0x7e, 0x24, 0xca, 0xb1,
++       0xd7, 0x79, 0x0a, 0xa5, 0xea, 0x2c, 0x02, 0x58, 0x0b, 0xa6, 0x52, 0x6b, 0x61, 0x7f, 0xeb, 0x9c,
++       0x47, 0x86, 0x5d, 0x74, 0x2b, 0x88, 0xdf, 0xee, 0x46, 0x69, 0x96, 0x3d, 0xa6, 0xd9, 0x2a, 0x53};
++
++    unsigned char out[EVP_MAX_MD_SIZE];
++    unsigned int outlen;
++
++    ERR_clear_error();
++    if (!HMAC(EVP_sha512(),key,sizeof(key)-1,iv,sizeof(iv)-1,out,&outlen)) return 0;
++    if (memcmp(out,kaval,outlen))
++        return 0;
++    return 1;
++    }
++
++
++/* DH: generate shared parameters
++*/
++static int dh_test()
++    {
++    DH *dh;
++    ERR_clear_error();
++    dh = FIPS_dh_new();
++    if (!dh)
++      return 0;
++    if (!DH_generate_parameters_ex(dh, 1024, 2, NULL))
++      return 0;
++    FIPS_dh_free(dh);
++    return 1;
++    }
++
++/* Zeroize
++*/
++static int Zeroize()
++    {
++    RSA *key;
++    BIGNUM *bn;
++    unsigned char userkey[16] = 
++      { 0x48, 0x50, 0xf0, 0xa3, 0x3a, 0xed, 0xd3, 0xaf, 0x6e, 0x47, 0x7f, 0x83, 0x02, 0xb1, 0x09, 0x68 };
++    int i, n;
++
++    key = FIPS_rsa_new();
++    bn = BN_new();
++    if (!key || !bn)
++      return 0;
++    BN_set_word(bn, 65537);
++    if (!RSA_generate_key_ex(key, 1024,bn,NULL))
++      return 0;
++    BN_free(bn);
++    
++    n = BN_num_bytes(key->d);
++    printf(" Generated %d byte RSA private key\n", n);
++    printf("\tBN key before overwriting:\n");
++    do_bn_print(stdout, key->d);
++    BN_rand(key->d,n*8,-1,0);
++    printf("\tBN key after overwriting:\n");
++    do_bn_print(stdout, key->d);
++
++    printf("\tchar buffer key before overwriting: \n\t\t");
++    for(i = 0; i < sizeof(userkey); i++) printf("%02x", userkey[i]);
++        printf("\n");
++    RAND_bytes(userkey, sizeof userkey);
++    printf("\tchar buffer key after overwriting: \n\t\t");
++    for(i = 0; i < sizeof(userkey); i++) printf("%02x", userkey[i]);
++        printf("\n");
++
++    return 1;
++    }
++
++static int Error;
++const char * Fail(const char *msg)
++    {
++    do_print_errors();
++    Error++;
++    return msg; 
++    }
++
++int main(int argc,char **argv)
++    {
++
++    int do_corrupt_rsa_keygen = 0, do_corrupt_dsa_keygen = 0;
++    int bad_rsa = 0, bad_dsa = 0;
++    int do_rng_stick = 0;
++    int no_exit = 0;
++
++    printf("\tFIPS-mode test application\n\n");
++
++    /* Load entropy from external file, if any */
++    RAND_load_file(".rnd", 1024);
++
++    if (argv[1]) {
++        /* Corrupted KAT tests */
++        if (!strcmp(argv[1], "aes")) {
++            FIPS_corrupt_aes();
++            printf("AES encryption/decryption with corrupted KAT...\n");
++        } else if (!strcmp(argv[1], "des")) {
++            FIPS_corrupt_des();
++            printf("DES3-ECB encryption/decryption with corrupted KAT...\n");
++        } else if (!strcmp(argv[1], "dsa")) {
++            FIPS_corrupt_dsa();
++            printf("DSA key generation and signature validation with corrupted KAT...\n");
++        } else if (!strcmp(argv[1], "rsa")) {
++            FIPS_corrupt_rsa();
++            printf("RSA key generation and signature validation with corrupted KAT...\n");
++        } else if (!strcmp(argv[1], "rsakey")) {
++            printf("RSA key generation and signature validation with corrupted key...\n");
++          bad_rsa = 1;
++          no_exit = 1;
++        } else if (!strcmp(argv[1], "rsakeygen")) {
++          do_corrupt_rsa_keygen = 1;
++          no_exit = 1;
++            printf("RSA key generation and signature validation with corrupted keygen...\n");
++        } else if (!strcmp(argv[1], "dsakey")) {
++            printf("DSA key generation and signature validation with corrupted key...\n");
++          bad_dsa = 1;
++          no_exit = 1;
++        } else if (!strcmp(argv[1], "dsakeygen")) {
++          do_corrupt_dsa_keygen = 1;
++          no_exit = 1;
++            printf("DSA key generation and signature validation with corrupted keygen...\n");
++        } else if (!strcmp(argv[1], "sha1")) {
++            FIPS_corrupt_sha1();
++            printf("SHA-1 hash with corrupted KAT...\n");
++      } else if (!strcmp(argv[1], "rng")) {
++          FIPS_corrupt_rng();
++      } else if (!strcmp(argv[1], "rngstick")) {
++          do_rng_stick = 1;
++          no_exit = 1;
++          printf("RNG test with stuck continuous test...\n");
++        } else {
++            printf("Bad argument \"%s\"\n", argv[1]);
++            exit(1);
++        }
++      if (!no_exit) {
++              if (!FIPS_mode_set(1)) {
++                  do_print_errors();
++                  printf("Power-up self test failed\n");
++                  exit(1);
++              }
++              printf("Power-up self test successful\n");
++              exit(0);
++      }
++    }
++
++    /* Non-Approved cryptographic operation
++    */
++    printf("1. Non-Approved cryptographic operation test...\n");
++    printf("\ta. Included algorithm (D-H)...");
++    printf( dh_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* Power-up self test
++    */
++    ERR_clear_error();
++    printf("2. Automatic power-up self test...");
++    if (!FIPS_mode_set(1))
++      {
++      do_print_errors();
++        printf(Fail("FAILED!\n"));
++      exit(1);
++      }
++    printf("successful\n");
++    if (do_corrupt_dsa_keygen)
++            FIPS_corrupt_dsa_keygen();
++    if (do_corrupt_rsa_keygen)
++            FIPS_corrupt_rsa_keygen();
++    if (do_rng_stick)
++            FIPS_rng_stick();
++
++    /* AES encryption/decryption
++    */
++    printf("3. AES encryption/decryption...");
++    printf( FIPS_aes_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* RSA key generation and encryption/decryption
++    */
++    printf("4. RSA key generation and encryption/decryption...");
++    printf( FIPS_rsa_test(bad_rsa) ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* DES-CBC encryption/decryption
++    */
++    printf("5. DES-ECB encryption/decryption...");
++    printf( FIPS_des3_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* DSA key generation and signature validation
++    */
++    printf("6. DSA key generation and signature validation...");
++    printf( FIPS_dsa_test(bad_dsa) ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* SHA-1 hash
++    */
++    printf("7a. SHA-1 hash...");
++    printf( FIPS_sha1_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* SHA-256 hash
++    */
++    printf("7b. SHA-256 hash...");
++    printf( FIPS_sha256_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* SHA-512 hash
++    */
++    printf("7c. SHA-512 hash...");
++    printf( FIPS_sha512_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* HMAC-SHA-1 hash
++    */
++    printf("7d. HMAC-SHA-1 hash...");
++    printf( FIPS_hmac_sha1_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* HMAC-SHA-224 hash
++    */
++    printf("7e. HMAC-SHA-224 hash...");
++    printf( FIPS_hmac_sha224_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* HMAC-SHA-256 hash
++    */
++    printf("7f. HMAC-SHA-256 hash...");
++    printf( FIPS_hmac_sha256_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* HMAC-SHA-384 hash
++    */
++    printf("7g. HMAC-SHA-384 hash...");
++    printf( FIPS_hmac_sha384_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* HMAC-SHA-512 hash
++    */
++    printf("7h. HMAC-SHA-512 hash...");
++    printf( FIPS_hmac_sha512_test() ? "successful\n" :  Fail("FAILED!\n") );
++
++    /* Non-Approved cryptographic operation
++    */
++    printf("8. Non-Approved cryptographic operation test...\n");
++    printf("\ta. Included algorithm (D-H)...");
++    printf( dh_test() ? "successful as expected\n"
++          : Fail("failed INCORRECTLY!\n") );
++
++    /* Zeroization
++    */
++    printf("9. Zero-ization...\n");
++    printf( Zeroize() ? "\tsuccessful as expected\n"
++          : Fail("\tfailed INCORRECTLY!\n") );
++
++    printf("\nAll tests completed with %d errors\n", Error);
++    return Error ? 1 : 0;
++    }
++
++#endif
+diff -up openssl-1.0.1-beta3/crypto/fips/Makefile.fips openssl-1.0.1-beta3/crypto/fips/Makefile
+--- openssl-1.0.1-beta3/crypto/fips/Makefile.fips      2012-02-29 10:33:02.800294947 +0100
++++ openssl-1.0.1-beta3/crypto/fips/Makefile   2012-02-29 10:33:02.800294947 +0100
+@@ -0,0 +1,340 @@
++#
++# OpenSSL/crypto/fips/Makefile
++#
++
++DIR=  fips
++TOP=  ../..
++CC=   cc
++INCLUDES=
++CFLAG=-g
++MAKEFILE=     Makefile
++AR=           ar r
++
++CFLAGS= $(INCLUDES) $(CFLAG)
++
++GENERAL=Makefile
++TEST=fips_test_suite.c fips_randtest.c
++APPS=
++
++PROGRAM= fips_standalone_hmac
++EXE= $(PROGRAM)$(EXE_EXT)
++
++LIB=$(TOP)/libcrypto.a
++LIBSRC=fips_aes_selftest.c fips_des_selftest.c fips_hmac_selftest.c fips_rand_selftest.c \
++    fips_rsa_selftest.c fips_sha_selftest.c fips.c fips_dsa_selftest.c  fips_rand.c \
++    fips_rsa_x931g.c fips_post.c fips_drbg_ctr.c fips_drbg_hash.c fips_drbg_hmac.c \
++    fips_drbg_lib.c fips_drbg_rand.c fips_drbg_selftest.c fips_rand_lib.c \
++    fips_cmac_selftest.c fips_enc.c fips_md.c
++
++LIBOBJ=fips_aes_selftest.o fips_des_selftest.o fips_hmac_selftest.o fips_rand_selftest.o \
++    fips_rsa_selftest.o fips_sha_selftest.o fips.o fips_dsa_selftest.o  fips_rand.o \
++    fips_rsa_x931g.o fips_post.o fips_drbg_ctr.o fips_drbg_hash.o fips_drbg_hmac.o \
++    fips_drbg_lib.o fips_drbg_rand.o fips_drbg_selftest.o fips_rand_lib.o \
++    fips_cmac_selftest.o fips_enc.o fips_md.o
++
++LIBCRYPTO=-L.. -lcrypto
++
++SRC= $(LIBSRC) fips_standalone_hmac.c
++
++EXHEADER= fips.h fips_rand.h
++HEADER=       $(EXHEADER)
++
++ALL=    $(GENERAL) $(SRC) $(HEADER)
++
++top:
++      (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
++
++all:  lib exe
++
++lib:  $(LIBOBJ)
++      $(AR) $(LIB) $(LIBOBJ)
++      $(RANLIB) $(LIB) || echo Never mind.
++      @touch lib
++
++exe:  $(EXE)
++
++files:
++      $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
++
++links:
++      @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
++      @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
++      @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
++
++install:
++      @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
++      @headerlist="$(EXHEADER)"; for i in $$headerlist ; \
++      do  \
++      (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
++      chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
++      done;
++
++tags:
++      ctags $(SRC)
++
++tests:
++
++lint:
++      lint -DLINT $(INCLUDES) $(SRC)>fluff
++
++depend:
++      @[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile...
++      $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
++
++dclean:
++      $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
++      mv -f Makefile.new $(MAKEFILE)
++
++clean:
++      rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
++
++$(EXE): $(PROGRAM).o
++      FIPS_SHA_ASM=""; for i in $(SHA1_ASM_OBJ) sha256.o; do FIPS_SHA_ASM="$$FIPS_SHA_ASM ../sha/$$i" ; done; \
++      $(CC) -o $@ $(CFLAGS) $(PROGRAM).o $$FIPS_SHA_ASM
++
++# DO NOT DELETE THIS LINE -- make depend depends on it.
++
++fips.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
++fips.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips.o: ../../include/openssl/fips_rand.h ../../include/openssl/hmac.h
++fips.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++fips.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
++fips.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++fips.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
++fips.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
++fips.o: ../../include/openssl/symhacks.h fips.c fips_locl.h
++fips_aes_selftest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_aes_selftest.o: ../../include/openssl/crypto.h
++fips_aes_selftest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_aes_selftest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_aes_selftest.o: ../../include/openssl/lhash.h
++fips_aes_selftest.o: ../../include/openssl/obj_mac.h
++fips_aes_selftest.o: ../../include/openssl/objects.h
++fips_aes_selftest.o: ../../include/openssl/opensslconf.h
++fips_aes_selftest.o: ../../include/openssl/opensslv.h
++fips_aes_selftest.o: ../../include/openssl/ossl_typ.h
++fips_aes_selftest.o: ../../include/openssl/safestack.h
++fips_aes_selftest.o: ../../include/openssl/stack.h
++fips_aes_selftest.o: ../../include/openssl/symhacks.h fips_aes_selftest.c
++fips_des_selftest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_des_selftest.o: ../../include/openssl/crypto.h
++fips_des_selftest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_des_selftest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_des_selftest.o: ../../include/openssl/lhash.h
++fips_des_selftest.o: ../../include/openssl/obj_mac.h
++fips_des_selftest.o: ../../include/openssl/objects.h
++fips_des_selftest.o: ../../include/openssl/opensslconf.h
++fips_des_selftest.o: ../../include/openssl/opensslv.h
++fips_des_selftest.o: ../../include/openssl/ossl_typ.h
++fips_des_selftest.o: ../../include/openssl/safestack.h
++fips_des_selftest.o: ../../include/openssl/stack.h
++fips_des_selftest.o: ../../include/openssl/symhacks.h fips_des_selftest.c
++fips_drbg_ctr.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_drbg_ctr.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
++fips_drbg_ctr.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h
++fips_drbg_ctr.o: ../../include/openssl/fips.h ../../include/openssl/fips_rand.h
++fips_drbg_ctr.o: ../../include/openssl/hmac.h ../../include/openssl/obj_mac.h
++fips_drbg_ctr.o: ../../include/openssl/objects.h
++fips_drbg_ctr.o: ../../include/openssl/opensslconf.h
++fips_drbg_ctr.o: ../../include/openssl/opensslv.h
++fips_drbg_ctr.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
++fips_drbg_ctr.o: ../../include/openssl/safestack.h
++fips_drbg_ctr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++fips_drbg_ctr.o: fips_drbg_ctr.c fips_rand_lcl.h
++fips_drbg_hash.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_drbg_hash.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
++fips_drbg_hash.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h
++fips_drbg_hash.o: ../../include/openssl/fips.h
++fips_drbg_hash.o: ../../include/openssl/fips_rand.h
++fips_drbg_hash.o: ../../include/openssl/hmac.h ../../include/openssl/obj_mac.h
++fips_drbg_hash.o: ../../include/openssl/objects.h
++fips_drbg_hash.o: ../../include/openssl/opensslconf.h
++fips_drbg_hash.o: ../../include/openssl/opensslv.h
++fips_drbg_hash.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
++fips_drbg_hash.o: ../../include/openssl/safestack.h
++fips_drbg_hash.o: ../../include/openssl/stack.h
++fips_drbg_hash.o: ../../include/openssl/symhacks.h fips_drbg_hash.c
++fips_drbg_hash.o: fips_rand_lcl.h
++fips_drbg_hmac.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_drbg_hmac.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
++fips_drbg_hmac.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h
++fips_drbg_hmac.o: ../../include/openssl/fips.h
++fips_drbg_hmac.o: ../../include/openssl/fips_rand.h
++fips_drbg_hmac.o: ../../include/openssl/hmac.h ../../include/openssl/obj_mac.h
++fips_drbg_hmac.o: ../../include/openssl/objects.h
++fips_drbg_hmac.o: ../../include/openssl/opensslconf.h
++fips_drbg_hmac.o: ../../include/openssl/opensslv.h
++fips_drbg_hmac.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
++fips_drbg_hmac.o: ../../include/openssl/safestack.h
++fips_drbg_hmac.o: ../../include/openssl/stack.h
++fips_drbg_hmac.o: ../../include/openssl/symhacks.h fips_drbg_hmac.c
++fips_drbg_hmac.o: fips_rand_lcl.h
++fips_drbg_lib.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_drbg_lib.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
++fips_drbg_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_drbg_lib.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_drbg_lib.o: ../../include/openssl/fips_rand.h ../../include/openssl/hmac.h
++fips_drbg_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
++fips_drbg_lib.o: ../../include/openssl/objects.h
++fips_drbg_lib.o: ../../include/openssl/opensslconf.h
++fips_drbg_lib.o: ../../include/openssl/opensslv.h
++fips_drbg_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
++fips_drbg_lib.o: ../../include/openssl/safestack.h
++fips_drbg_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++fips_drbg_lib.o: fips_drbg_lib.c fips_locl.h fips_rand_lcl.h
++fips_drbg_rand.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_drbg_rand.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
++fips_drbg_rand.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_drbg_rand.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_drbg_rand.o: ../../include/openssl/fips_rand.h
++fips_drbg_rand.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h
++fips_drbg_rand.o: ../../include/openssl/obj_mac.h
++fips_drbg_rand.o: ../../include/openssl/objects.h
++fips_drbg_rand.o: ../../include/openssl/opensslconf.h
++fips_drbg_rand.o: ../../include/openssl/opensslv.h
++fips_drbg_rand.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
++fips_drbg_rand.o: ../../include/openssl/safestack.h
++fips_drbg_rand.o: ../../include/openssl/stack.h
++fips_drbg_rand.o: ../../include/openssl/symhacks.h fips_drbg_rand.c
++fips_drbg_rand.o: fips_rand_lcl.h
++fips_drbg_selftest.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_drbg_selftest.o: ../../include/openssl/bio.h
++fips_drbg_selftest.o: ../../include/openssl/crypto.h
++fips_drbg_selftest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_drbg_selftest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_drbg_selftest.o: ../../include/openssl/fips_rand.h
++fips_drbg_selftest.o: ../../include/openssl/hmac.h
++fips_drbg_selftest.o: ../../include/openssl/lhash.h
++fips_drbg_selftest.o: ../../include/openssl/obj_mac.h
++fips_drbg_selftest.o: ../../include/openssl/objects.h
++fips_drbg_selftest.o: ../../include/openssl/opensslconf.h
++fips_drbg_selftest.o: ../../include/openssl/opensslv.h
++fips_drbg_selftest.o: ../../include/openssl/ossl_typ.h
++fips_drbg_selftest.o: ../../include/openssl/rand.h
++fips_drbg_selftest.o: ../../include/openssl/safestack.h
++fips_drbg_selftest.o: ../../include/openssl/stack.h
++fips_drbg_selftest.o: ../../include/openssl/symhacks.h fips_drbg_selftest.c
++fips_drbg_selftest.o: fips_drbg_selftest.h fips_locl.h fips_rand_lcl.h
++fips_dsa_selftest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_dsa_selftest.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
++fips_dsa_selftest.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
++fips_dsa_selftest.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++fips_dsa_selftest.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++fips_dsa_selftest.o: ../../include/openssl/obj_mac.h
++fips_dsa_selftest.o: ../../include/openssl/objects.h
++fips_dsa_selftest.o: ../../include/openssl/opensslconf.h
++fips_dsa_selftest.o: ../../include/openssl/opensslv.h
++fips_dsa_selftest.o: ../../include/openssl/ossl_typ.h
++fips_dsa_selftest.o: ../../include/openssl/safestack.h
++fips_dsa_selftest.o: ../../include/openssl/stack.h
++fips_dsa_selftest.o: ../../include/openssl/symhacks.h fips_dsa_selftest.c
++fips_dsa_selftest.o: fips_locl.h
++fips_hmac_selftest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_hmac_selftest.o: ../../include/openssl/crypto.h
++fips_hmac_selftest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_hmac_selftest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_hmac_selftest.o: ../../include/openssl/hmac.h
++fips_hmac_selftest.o: ../../include/openssl/lhash.h
++fips_hmac_selftest.o: ../../include/openssl/obj_mac.h
++fips_hmac_selftest.o: ../../include/openssl/objects.h
++fips_hmac_selftest.o: ../../include/openssl/opensslconf.h
++fips_hmac_selftest.o: ../../include/openssl/opensslv.h
++fips_hmac_selftest.o: ../../include/openssl/ossl_typ.h
++fips_hmac_selftest.o: ../../include/openssl/safestack.h
++fips_hmac_selftest.o: ../../include/openssl/stack.h
++fips_hmac_selftest.o: ../../include/openssl/symhacks.h fips_hmac_selftest.c
++fips_post.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_post.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
++fips_post.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
++fips_post.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++fips_post.o: ../../include/openssl/fips.h ../../include/openssl/fips_rand.h
++fips_post.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h
++fips_post.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++fips_post.o: ../../include/openssl/opensslconf.h
++fips_post.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++fips_post.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h
++fips_post.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
++fips_post.o: ../../include/openssl/symhacks.h fips_locl.h fips_post.c
++fips_rand.o: ../../e_os.h ../../include/openssl/aes.h
++fips_rand.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_rand.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
++fips_rand.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++fips_rand.o: ../../include/openssl/fips.h ../../include/openssl/fips_rand.h
++fips_rand.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h
++fips_rand.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
++fips_rand.o: ../../include/openssl/opensslconf.h
++fips_rand.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
++fips_rand.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
++fips_rand.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++fips_rand.o: fips_locl.h fips_rand.c
++fips_rand_lib.o: ../../e_os.h ../../include/openssl/aes.h
++fips_rand_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_rand_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
++fips_rand_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
++fips_rand_lib.o: ../../include/openssl/fips.h ../../include/openssl/fips_rand.h
++fips_rand_lib.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h
++fips_rand_lib.o: ../../include/openssl/obj_mac.h
++fips_rand_lib.o: ../../include/openssl/objects.h
++fips_rand_lib.o: ../../include/openssl/opensslconf.h
++fips_rand_lib.o: ../../include/openssl/opensslv.h
++fips_rand_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h
++fips_rand_lib.o: ../../include/openssl/safestack.h
++fips_rand_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
++fips_rand_lib.o: fips_rand_lib.c
++fips_rand_selftest.o: ../../include/openssl/aes.h ../../include/openssl/asn1.h
++fips_rand_selftest.o: ../../include/openssl/bio.h
++fips_rand_selftest.o: ../../include/openssl/crypto.h
++fips_rand_selftest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_rand_selftest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_rand_selftest.o: ../../include/openssl/fips_rand.h
++fips_rand_selftest.o: ../../include/openssl/hmac.h
++fips_rand_selftest.o: ../../include/openssl/lhash.h
++fips_rand_selftest.o: ../../include/openssl/obj_mac.h
++fips_rand_selftest.o: ../../include/openssl/objects.h
++fips_rand_selftest.o: ../../include/openssl/opensslconf.h
++fips_rand_selftest.o: ../../include/openssl/opensslv.h
++fips_rand_selftest.o: ../../include/openssl/ossl_typ.h
++fips_rand_selftest.o: ../../include/openssl/rand.h
++fips_rand_selftest.o: ../../include/openssl/safestack.h
++fips_rand_selftest.o: ../../include/openssl/stack.h
++fips_rand_selftest.o: ../../include/openssl/symhacks.h fips_locl.h
++fips_rand_selftest.o: fips_rand_selftest.c
++fips_rsa_selftest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_rsa_selftest.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
++fips_rsa_selftest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_rsa_selftest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_rsa_selftest.o: ../../include/openssl/lhash.h
++fips_rsa_selftest.o: ../../include/openssl/obj_mac.h
++fips_rsa_selftest.o: ../../include/openssl/objects.h
++fips_rsa_selftest.o: ../../include/openssl/opensslconf.h
++fips_rsa_selftest.o: ../../include/openssl/opensslv.h
++fips_rsa_selftest.o: ../../include/openssl/ossl_typ.h
++fips_rsa_selftest.o: ../../include/openssl/rsa.h
++fips_rsa_selftest.o: ../../include/openssl/safestack.h
++fips_rsa_selftest.o: ../../include/openssl/stack.h
++fips_rsa_selftest.o: ../../include/openssl/symhacks.h fips_rsa_selftest.c
++fips_rsa_x931g.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_rsa_x931g.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
++fips_rsa_x931g.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_rsa_x931g.o: ../../include/openssl/fips.h ../../include/openssl/lhash.h
++fips_rsa_x931g.o: ../../include/openssl/opensslconf.h
++fips_rsa_x931g.o: ../../include/openssl/opensslv.h
++fips_rsa_x931g.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h
++fips_rsa_x931g.o: ../../include/openssl/safestack.h
++fips_rsa_x931g.o: ../../include/openssl/stack.h
++fips_rsa_x931g.o: ../../include/openssl/symhacks.h fips_rsa_x931g.c
++fips_sha_selftest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
++fips_sha_selftest.o: ../../include/openssl/crypto.h
++fips_sha_selftest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
++fips_sha_selftest.o: ../../include/openssl/evp.h ../../include/openssl/fips.h
++fips_sha_selftest.o: ../../include/openssl/lhash.h
++fips_sha_selftest.o: ../../include/openssl/obj_mac.h
++fips_sha_selftest.o: ../../include/openssl/objects.h
++fips_sha_selftest.o: ../../include/openssl/opensslconf.h
++fips_sha_selftest.o: ../../include/openssl/opensslv.h
++fips_sha_selftest.o: ../../include/openssl/ossl_typ.h
++fips_sha_selftest.o: ../../include/openssl/safestack.h
++fips_sha_selftest.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
++fips_sha_selftest.o: ../../include/openssl/symhacks.h fips_sha_selftest.c
+diff -up openssl-1.0.1-beta3/crypto/hmac/hmac.c.fips openssl-1.0.1-beta3/crypto/hmac/hmac.c
+--- openssl-1.0.1-beta3/crypto/hmac/hmac.c.fips        2011-06-12 17:07:26.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/hmac/hmac.c     2012-02-29 10:33:02.800294947 +0100
+@@ -81,11 +81,6 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const vo
+                       EVPerr(EVP_F_HMAC_INIT_EX, EVP_R_DISABLED_FOR_FIPS);
+                       return 0;
+                       }
+-              /* Other algorithm blocking will be done in FIPS_cmac_init,
+-               * via FIPS_hmac_init_ex().
+-               */
+-              if (!impl && !ctx->i_ctx.engine)
+-                      return FIPS_hmac_init_ex(ctx, key, len, md, NULL);
+               }
+ #endif
+@@ -99,6 +94,13 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const vo
+       if (key != NULL)
+               {
++#ifdef OPENSSL_FIPS
++              if (FIPS_mode() && !(md->flags & EVP_MD_FLAG_FIPS)
++              && (!(ctx->md_ctx.flags & EVP_MD_CTX_FLAG_NON_FIPS_ALLOW)
++               || !(ctx->i_ctx.flags & EVP_MD_CTX_FLAG_NON_FIPS_ALLOW)
++               || !(ctx->o_ctx.flags & EVP_MD_CTX_FLAG_NON_FIPS_ALLOW)))
++                      goto err;
++#endif
+               reset=1;
+               j=EVP_MD_block_size(md);
+               OPENSSL_assert(j <= (int)sizeof(ctx->key));
+@@ -155,10 +157,6 @@ int HMAC_Init(HMAC_CTX *ctx, const void
+ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len)
+       {
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !ctx->i_ctx.engine)
+-              return FIPS_hmac_update(ctx, data, len);
+-#endif
+       return EVP_DigestUpdate(&ctx->md_ctx,data,len);
+       }
+@@ -166,10 +164,6 @@ int HMAC_Final(HMAC_CTX *ctx, unsigned c
+       {
+       unsigned int i;
+       unsigned char buf[EVP_MAX_MD_SIZE];
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !ctx->i_ctx.engine)
+-              return FIPS_hmac_final(ctx, md, len);
+-#endif
+       if (!EVP_DigestFinal_ex(&ctx->md_ctx,buf,&i))
+               goto err;
+@@ -209,13 +203,6 @@ int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_C
+ void HMAC_CTX_cleanup(HMAC_CTX *ctx)
+       {
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !ctx->i_ctx.engine)
+-              {
+-              FIPS_hmac_ctx_cleanup(ctx);
+-              return;
+-              }
+-#endif
+       EVP_MD_CTX_cleanup(&ctx->i_ctx);
+       EVP_MD_CTX_cleanup(&ctx->o_ctx);
+       EVP_MD_CTX_cleanup(&ctx->md_ctx);
+diff -up openssl-1.0.1-beta3/crypto/md2/md2_dgst.c.fips openssl-1.0.1-beta3/crypto/md2/md2_dgst.c
+--- openssl-1.0.1-beta3/crypto/md2/md2_dgst.c.fips     2011-06-01 15:39:43.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/md2/md2_dgst.c  2012-02-29 10:33:02.800294947 +0100
+@@ -62,6 +62,11 @@
+ #include <openssl/md2.h>
+ #include <openssl/opensslv.h>
+ #include <openssl/crypto.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++
++#include <openssl/err.h>
+ const char MD2_version[]="MD2" OPENSSL_VERSION_PTEXT;
+@@ -116,7 +121,7 @@ const char *MD2_options(void)
+               return("md2(int)");
+       }
+-fips_md_init(MD2)
++nonfips_md_init(MD2)
+       {
+       c->num=0;
+       memset(c->state,0,sizeof c->state);
+diff -up openssl-1.0.1-beta3/crypto/md4/md4_dgst.c.fips openssl-1.0.1-beta3/crypto/md4/md4_dgst.c
+--- openssl-1.0.1-beta3/crypto/md4/md4_dgst.c.fips     2011-06-01 15:39:43.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/md4/md4_dgst.c  2012-02-29 10:33:02.801294956 +0100
+@@ -71,7 +71,7 @@ const char MD4_version[]="MD4" OPENSSL_V
+ #define INIT_DATA_C (unsigned long)0x98badcfeL
+ #define INIT_DATA_D (unsigned long)0x10325476L
+-fips_md_init(MD4)
++nonfips_md_init(MD4)
+       {
+       memset (c,0,sizeof(*c));
+       c->A=INIT_DATA_A;
+diff -up openssl-1.0.1-beta3/crypto/md5/md5_dgst.c.fips openssl-1.0.1-beta3/crypto/md5/md5_dgst.c
+--- openssl-1.0.1-beta3/crypto/md5/md5_dgst.c.fips     2011-06-01 15:39:43.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/md5/md5_dgst.c  2012-02-29 10:33:02.801294956 +0100
+@@ -71,7 +71,7 @@ const char MD5_version[]="MD5" OPENSSL_V
+ #define INIT_DATA_C (unsigned long)0x98badcfeL
+ #define INIT_DATA_D (unsigned long)0x10325476L
+-fips_md_init(MD5)
++nonfips_md_init(MD5)
+       {
+       memset (c,0,sizeof(*c));
+       c->A=INIT_DATA_A;
+diff -up openssl-1.0.1-beta3/crypto/mdc2/mdc2dgst.c.fips openssl-1.0.1-beta3/crypto/mdc2/mdc2dgst.c
+--- openssl-1.0.1-beta3/crypto/mdc2/mdc2dgst.c.fips    2011-06-01 15:39:44.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/mdc2/mdc2dgst.c 2012-02-29 10:33:02.801294956 +0100
+@@ -76,7 +76,7 @@
+                       *((c)++)=(unsigned char)(((l)>>24L)&0xff))
+ static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len);
+-fips_md_init(MDC2)
++nonfips_md_init(MDC2)
+       {
+       c->num=0;
+       c->pad_type=1;
+diff -up openssl-1.0.1-beta3/crypto/o_init.c.fips openssl-1.0.1-beta3/crypto/o_init.c
+--- openssl-1.0.1-beta3/crypto/o_init.c.fips   2011-05-26 16:19:19.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/o_init.c        2012-02-29 10:33:02.801294956 +0100
+@@ -55,28 +55,63 @@
+ #include <e_os.h>
+ #include <openssl/err.h>
+ #ifdef OPENSSL_FIPS
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <errno.h>
++#include <stdlib.h>
+ #include <openssl/fips.h>
+ #include <openssl/rand.h>
++
++#define FIPS_MODE_SWITCH_FILE "/proc/sys/crypto/fips_enabled"
++
++static void init_fips_mode(void)
++      {
++      char buf[2] = "0";
++      int fd;
++      
++      if (getenv("OPENSSL_FORCE_FIPS_MODE") != NULL)
++              {
++              buf[0] = '1';
++              }
++      else if ((fd = open(FIPS_MODE_SWITCH_FILE, O_RDONLY)) >= 0)
++              {
++              while (read(fd, buf, sizeof(buf)) < 0 && errno == EINTR);
++              close(fd);
++              }
++      /* Failure reading the fips mode switch file means just not
++       * switching into FIPS mode. We would break too many things
++       * otherwise. 
++       */
++      
++      if (buf[0] == '1')
++              {
++              FIPS_mode_set(1);
++              }
++      }
+ #endif
+ /* Perform any essential OpenSSL initialization operations.
+  * Currently only sets FIPS callbacks
+  */
+-void OPENSSL_init(void)
++void OPENSSL_init_library(void)
+       {
+       static int done = 0;
+       if (done)
+               return;
+       done = 1;
+ #ifdef OPENSSL_FIPS
+-      FIPS_set_locking_callbacks(CRYPTO_lock, CRYPTO_add_lock);
+-      FIPS_set_error_callbacks(ERR_put_error, ERR_add_error_vdata);
+-      FIPS_set_malloc_callbacks(CRYPTO_malloc, CRYPTO_free);
+       RAND_init_fips();
++      init_fips_mode();
+ #endif
+ #if 0
+       fprintf(stderr, "Called OPENSSL_init\n");
+ #endif
+       }
++void OPENSSL_init(void)
++      {
++      OPENSSL_init_library();
++      }
+diff -up openssl-1.0.1-beta3/crypto/opensslconf.h.in.fips openssl-1.0.1-beta3/crypto/opensslconf.h.in
+--- openssl-1.0.1-beta3/crypto/opensslconf.h.in.fips   2005-12-16 11:37:23.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/opensslconf.h.in        2012-02-29 10:33:02.801294956 +0100
+@@ -1,5 +1,20 @@
+ /* crypto/opensslconf.h.in */
++#ifdef OPENSSL_DOING_MAKEDEPEND
++
++/* Include any symbols here that have to be explicitly set to enable a feature
++ * that should be visible to makedepend.
++ *
++ * [Our "make depend" doesn't actually look at this, we use actual build settings
++ * instead; we want to make it easy to remove subdirectories with disabled algorithms.]
++ */
++
++#ifndef OPENSSL_FIPS
++#define OPENSSL_FIPS
++#endif
++
++#endif
++
+ /* Generate 80386 code? */
+ #undef I386_ONLY
+diff -up openssl-1.0.1-beta3/crypto/pkcs12/p12_crt.c.fips openssl-1.0.1-beta3/crypto/pkcs12/p12_crt.c
+--- openssl-1.0.1-beta3/crypto/pkcs12/p12_crt.c.fips   2009-03-09 14:08:04.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/pkcs12/p12_crt.c        2012-02-29 10:33:02.801294956 +0100
+@@ -59,6 +59,10 @@
+ #include <stdio.h>
+ #include "cryptlib.h"
+ #include <openssl/pkcs12.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++
+ static int pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG *bag);
+@@ -90,7 +94,14 @@ PKCS12 *PKCS12_create(char *pass, char *
+       /* Set defaults */
+       if (!nid_cert)
++              {
++#ifdef OPENSSL_FIPS
++              if (FIPS_mode())
++                      nid_cert = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
++              else
++#endif
+               nid_cert = NID_pbe_WithSHA1And40BitRC2_CBC;
++              }
+       if (!nid_key)
+               nid_key = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
+       if (!iter)
+diff -up openssl-1.0.1-beta3/crypto/rand/md_rand.c.fips openssl-1.0.1-beta3/crypto/rand/md_rand.c
+--- openssl-1.0.1-beta3/crypto/rand/md_rand.c.fips     2011-01-26 15:55:23.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/rand/md_rand.c  2012-02-29 10:33:02.801294956 +0100
+@@ -389,7 +389,10 @@ static int ssleay_rand_bytes(unsigned ch
+       CRYPTO_w_unlock(CRYPTO_LOCK_RAND2);
+       crypto_lock_rand = 1;
+-      if (!initialized)
++      /* always poll for external entropy in FIPS mode, drbg provides the 
++       * expansion
++       */
++      if (!initialized || FIPS_module_mode()) 
+               {
+               RAND_poll();
+               initialized = 1;
+diff -up openssl-1.0.1-beta3/crypto/rand/rand.h.fips openssl-1.0.1-beta3/crypto/rand/rand.h
+--- openssl-1.0.1-beta3/crypto/rand/rand.h.fips        2012-02-29 10:33:02.283290504 +0100
++++ openssl-1.0.1-beta3/crypto/rand/rand.h     2012-02-29 10:33:02.802294965 +0100
+@@ -133,15 +133,33 @@ void ERR_load_RAND_strings(void);
+ /* Error codes for the RAND functions. */
+ /* Function codes. */
++#define RAND_F_ENG_RAND_GET_RAND_METHOD                        108
++#define RAND_F_FIPS_RAND                               103
++#define RAND_F_FIPS_RAND_BYTES                                 102
++#define RAND_F_FIPS_RAND_SET_DT                                106
++#define RAND_F_FIPS_X931_SET_DT                                106
++#define RAND_F_FIPS_SET_DT                             104
++#define RAND_F_FIPS_SET_PRNG_SEED                      107
++#define RAND_F_FIPS_SET_TEST_MODE                      105
+ #define RAND_F_RAND_GET_RAND_METHOD                    101
+-#define RAND_F_RAND_INIT_FIPS                          102
++#define RAND_F_RAND_INIT_FIPS                          109
+ #define RAND_F_SSLEAY_RAND_BYTES                       100
+ /* Reason codes. */
+-#define RAND_R_ERROR_INITIALISING_DRBG                         102
+-#define RAND_R_ERROR_INSTANTIATING_DRBG                        103
+-#define RAND_R_NO_FIPS_RANDOM_METHOD_SET               101
++#define RAND_R_ERROR_INITIALISING_DRBG                         112
++#define RAND_R_ERROR_INSTANTIATING_DRBG                        113
++#define RAND_R_NON_FIPS_METHOD                                 105
++#define RAND_R_NOT_IN_TEST_MODE                                106
++#define RAND_R_NO_FIPS_RANDOM_METHOD_SET               111
++#define RAND_R_NO_KEY_SET                              107
++#define RAND_R_PRNG_ASKING_FOR_TOO_MUCH                        101
++#define RAND_R_PRNG_ERROR                              108
++#define RAND_R_PRNG_KEYED                              109
++#define RAND_R_PRNG_NOT_REKEYED                                102
++#define RAND_R_PRNG_NOT_RESEEDED                       103
+ #define RAND_R_PRNG_NOT_SEEDED                                 100
++#define RAND_R_PRNG_SEED_MUST_NOT_MATCH_KEY            110
++#define RAND_R_PRNG_STUCK                              104
+ #ifdef  __cplusplus
+ }
+diff -up openssl-1.0.1-beta3/crypto/ripemd/rmd_dgst.c.fips openssl-1.0.1-beta3/crypto/ripemd/rmd_dgst.c
+--- openssl-1.0.1-beta3/crypto/ripemd/rmd_dgst.c.fips  2011-06-01 15:39:44.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/ripemd/rmd_dgst.c       2012-02-29 10:33:02.802294965 +0100
+@@ -70,7 +70,7 @@ const char RMD160_version[]="RIPE-MD160"
+      void ripemd160_block(RIPEMD160_CTX *c, unsigned long *p,size_t num);
+ #  endif
+-fips_md_init(RIPEMD160)
++nonfips_md_init(RIPEMD160)
+       {
+       memset (c,0,sizeof(*c));
+       c->A=RIPEMD160_A;
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa_crpt.c.fips openssl-1.0.1-beta3/crypto/rsa/rsa_crpt.c
+--- openssl-1.0.1-beta3/crypto/rsa/rsa_crpt.c.fips     2011-06-02 20:22:42.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/rsa/rsa_crpt.c  2012-02-29 10:33:02.802294965 +0100
+@@ -90,10 +90,9 @@ int RSA_private_encrypt(int flen, const
+            RSA *rsa, int padding)
+       {
+ #ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !(rsa->meth->flags & RSA_FLAG_FIPS_METHOD)
+-                      && !(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW))
++      if(FIPS_mode() && !(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW))
+               {
+-              RSAerr(RSA_F_RSA_PRIVATE_ENCRYPT, RSA_R_NON_FIPS_RSA_METHOD);
++              RSAerr(RSA_F_RSA_PRIVATE_ENCRYPT, RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE);
+               return -1;
+               }
+ #endif
+@@ -118,10 +117,9 @@ int RSA_public_decrypt(int flen, const u
+            RSA *rsa, int padding)
+       {
+ #ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !(rsa->meth->flags & RSA_FLAG_FIPS_METHOD)
+-                      && !(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW))
++      if(FIPS_mode() && !(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW))
+               {
+-              RSAerr(RSA_F_RSA_PUBLIC_DECRYPT, RSA_R_NON_FIPS_RSA_METHOD);
++              RSAerr(RSA_F_RSA_PUBLIC_DECRYPT, RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE);
+               return -1;
+               }
+ #endif
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa_eay.c.fips openssl-1.0.1-beta3/crypto/rsa/rsa_eay.c
+--- openssl-1.0.1-beta3/crypto/rsa/rsa_eay.c.fips      2011-10-19 16:58:59.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/rsa/rsa_eay.c   2012-02-29 10:33:02.802294965 +0100
+@@ -114,6 +114,10 @@
+ #include <openssl/bn.h>
+ #include <openssl/rsa.h>
+ #include <openssl/rand.h>
++#include <openssl/err.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
+ #ifndef RSA_NULL
+@@ -138,7 +142,7 @@ static RSA_METHOD rsa_pkcs1_eay_meth={
+       BN_mod_exp_mont, /* XXX probably we should not use Montgomery if  e == 3 */
+       RSA_eay_init,
+       RSA_eay_finish,
+-      0, /* flags */
++      RSA_FLAG_FIPS_METHOD, /* flags */
+       NULL,
+       0, /* rsa_sign */
+       0, /* rsa_verify */
+@@ -158,6 +162,24 @@ static int RSA_eay_public_encrypt(int fl
+       unsigned char *buf=NULL;
+       BN_CTX *ctx=NULL;
++#ifdef OPENSSL_FIPS
++      if(FIPS_mode())
++              {
++              if (FIPS_selftest_failed())
++                      {
++                      FIPSerr(FIPS_F_RSA_EAY_PUBLIC_ENCRYPT,FIPS_R_FIPS_SELFTEST_FAILED);
++                      goto err;
++                      }
++
++              if (!(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW)
++                      && (BN_num_bits(rsa->n) < OPENSSL_RSA_FIPS_MIN_MODULUS_BITS))
++                      {
++                      RSAerr(RSA_F_RSA_EAY_PUBLIC_ENCRYPT, RSA_R_KEY_SIZE_TOO_SMALL);
++                      return -1;
++                      }
++              }
++#endif
++
+       if (BN_num_bits(rsa->n) > OPENSSL_RSA_MAX_MODULUS_BITS)
+               {
+               RSAerr(RSA_F_RSA_EAY_PUBLIC_ENCRYPT, RSA_R_MODULUS_TOO_LARGE);
+@@ -361,6 +383,24 @@ static int RSA_eay_private_encrypt(int f
+       BIGNUM *unblind = NULL;
+       BN_BLINDING *blinding = NULL;
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode())
++              {
++              if(FIPS_selftest_failed())
++                      {
++                      FIPSerr(FIPS_F_RSA_EAY_PRIVATE_ENCRYPT,FIPS_R_FIPS_SELFTEST_FAILED);
++                      return -1;
++                      }
++
++              if (!(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW)
++                      && (BN_num_bits(rsa->n) < OPENSSL_RSA_FIPS_MIN_MODULUS_BITS))
++                      {
++                      RSAerr(RSA_F_RSA_EAY_PRIVATE_ENCRYPT, RSA_R_KEY_SIZE_TOO_SMALL);
++                      return -1;
++                      }
++              }
++#endif
++
+       if ((ctx=BN_CTX_new()) == NULL) goto err;
+       BN_CTX_start(ctx);
+       f   = BN_CTX_get(ctx);
+@@ -504,6 +544,24 @@ static int RSA_eay_private_decrypt(int f
+       BIGNUM *unblind = NULL;
+       BN_BLINDING *blinding = NULL;
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode())
++              {
++              if(FIPS_selftest_failed())
++                      {
++                      FIPSerr(FIPS_F_RSA_EAY_PRIVATE_DECRYPT,FIPS_R_FIPS_SELFTEST_FAILED);
++                      return -1;
++                      }
++
++              if (!(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW)
++                      && (BN_num_bits(rsa->n) < OPENSSL_RSA_FIPS_MIN_MODULUS_BITS))
++                      {
++                      RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT, RSA_R_KEY_SIZE_TOO_SMALL);
++                      return -1;
++                      }
++              }
++#endif
++
+       if((ctx = BN_CTX_new()) == NULL) goto err;
+       BN_CTX_start(ctx);
+       f   = BN_CTX_get(ctx);
+@@ -639,6 +697,24 @@ static int RSA_eay_public_decrypt(int fl
+       unsigned char *buf=NULL;
+       BN_CTX *ctx=NULL;
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode())
++              {
++              if(FIPS_selftest_failed())
++                      {
++                      FIPSerr(FIPS_F_RSA_EAY_PUBLIC_DECRYPT,FIPS_R_FIPS_SELFTEST_FAILED);
++                      goto err;
++                      }
++
++              if (!(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW)
++                      && (BN_num_bits(rsa->n) < OPENSSL_RSA_FIPS_MIN_MODULUS_BITS))
++                      {
++                      RSAerr(RSA_F_RSA_EAY_PUBLIC_DECRYPT, RSA_R_KEY_SIZE_TOO_SMALL);
++                      return -1;
++                      }
++              }
++#endif
++
+       if (BN_num_bits(rsa->n) > OPENSSL_RSA_MAX_MODULUS_BITS)
+               {
+               RSAerr(RSA_F_RSA_EAY_PUBLIC_DECRYPT, RSA_R_MODULUS_TOO_LARGE);
+@@ -847,12 +923,12 @@ static int RSA_eay_mod_exp(BIGNUM *r0, c
+       if (!BN_mod(r0,pr1,rsa->p,ctx)) goto err;
+       /* If p < q it is occasionally possible for the correction of
+-         * adding 'p' if r0 is negative above to leave the result still
++       * adding 'p' if r0 is negative above to leave the result still
+        * negative. This can break the private key operations: the following
+        * second correction should *always* correct this rare occurrence.
+        * This will *never* happen with OpenSSL generated keys because
+-         * they ensure p > q [steve]
+-         */
++       * they ensure p > q [steve]
++       */
+       if (BN_is_negative(r0))
+               if (!BN_add(r0,r0,rsa->p)) goto err;
+       if (!BN_mul(r1,r0,rsa->q,ctx)) goto err;
+@@ -897,6 +973,9 @@ err:
+ static int RSA_eay_init(RSA *rsa)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       rsa->flags|=RSA_FLAG_CACHE_PUBLIC|RSA_FLAG_CACHE_PRIVATE;
+       return(1);
+       }
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa_err.c.fips openssl-1.0.1-beta3/crypto/rsa/rsa_err.c
+--- openssl-1.0.1-beta3/crypto/rsa/rsa_err.c.fips      2011-10-10 01:13:50.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/rsa/rsa_err.c   2012-02-29 10:33:02.802294965 +0100
+@@ -121,6 +121,8 @@ static ERR_STRING_DATA RSA_str_functs[]=
+ {ERR_FUNC(RSA_F_RSA_PUBLIC_ENCRYPT),  "RSA_public_encrypt"},
+ {ERR_FUNC(RSA_F_RSA_PUB_DECODE),      "RSA_PUB_DECODE"},
+ {ERR_FUNC(RSA_F_RSA_SETUP_BLINDING),  "RSA_setup_blinding"},
++{ERR_FUNC(RSA_F_RSA_SET_DEFAULT_METHOD),      "RSA_set_default_method"},
++{ERR_FUNC(RSA_F_RSA_SET_METHOD),      "RSA_set_method"},
+ {ERR_FUNC(RSA_F_RSA_SIGN),    "RSA_sign"},
+ {ERR_FUNC(RSA_F_RSA_SIGN_ASN1_OCTET_STRING),  "RSA_sign_ASN1_OCTET_STRING"},
+ {ERR_FUNC(RSA_F_RSA_VERIFY),  "RSA_verify"},
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa_gen.c.fips openssl-1.0.1-beta3/crypto/rsa/rsa_gen.c
+--- openssl-1.0.1-beta3/crypto/rsa/rsa_gen.c.fips      2011-06-09 15:18:07.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/rsa/rsa_gen.c   2012-02-29 10:33:02.803294974 +0100
+@@ -69,6 +69,78 @@
+ #include <openssl/rsa.h>
+ #ifdef OPENSSL_FIPS
+ #include <openssl/fips.h>
++#include <openssl/err.h>
++#include <openssl/evp.h>
++
++static int fips_rsa_pairwise_fail = 0;
++
++void FIPS_corrupt_rsa_keygen(void)
++      {
++      fips_rsa_pairwise_fail = 1;
++      }
++
++int fips_check_rsa(RSA *rsa)
++      {
++      const unsigned char tbs[] = "RSA Pairwise Check Data";
++      unsigned char *ctbuf = NULL, *ptbuf = NULL;
++      int len, ret = 0;
++      EVP_PKEY *pk;
++
++      if ((pk=EVP_PKEY_new()) == NULL)
++              goto err;
++
++      EVP_PKEY_set1_RSA(pk, rsa);
++
++      /* Perform pairwise consistency signature test */
++      if (!fips_pkey_signature_test(pk, tbs, -1,
++                      NULL, 0, EVP_sha1(), EVP_MD_CTX_FLAG_PAD_PKCS1, NULL)
++              || !fips_pkey_signature_test(pk, tbs, -1,
++                      NULL, 0, EVP_sha1(), EVP_MD_CTX_FLAG_PAD_X931, NULL)
++              || !fips_pkey_signature_test(pk, tbs, -1,
++                      NULL, 0, EVP_sha1(), EVP_MD_CTX_FLAG_PAD_PSS, NULL))
++              goto err;
++      /* Now perform pairwise consistency encrypt/decrypt test */
++      ctbuf = OPENSSL_malloc(RSA_size(rsa));
++      if (!ctbuf)
++              goto err;
++
++      len = RSA_public_encrypt(sizeof(tbs) - 1, tbs, ctbuf, rsa, RSA_PKCS1_PADDING);
++      if (len <= 0)
++              goto err;
++      /* Check ciphertext doesn't match plaintext */
++      if ((len == (sizeof(tbs) - 1)) && !memcmp(tbs, ctbuf, len))
++              goto err;
++      ptbuf = OPENSSL_malloc(RSA_size(rsa));
++
++      if (!ptbuf)
++              goto err;
++      len = RSA_private_decrypt(len, ctbuf, ptbuf, rsa, RSA_PKCS1_PADDING);
++      if (len != (sizeof(tbs) - 1))
++              goto err;
++      if (memcmp(ptbuf, tbs, len))
++              goto err;
++
++      ret = 1;
++
++      if (!ptbuf)
++              goto err;
++      
++      err:
++      if (ret == 0)
++              {
++              fips_set_selftest_fail();
++              FIPSerr(FIPS_F_FIPS_CHECK_RSA,FIPS_R_PAIRWISE_TEST_FAILED);
++              }
++
++      if (ctbuf)
++              OPENSSL_free(ctbuf);
++      if (ptbuf)
++              OPENSSL_free(ptbuf);
++      if (pk)
++              EVP_PKEY_free(pk);
++
++      return ret;
++      }
+ #endif
+ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb);
+@@ -81,7 +153,7 @@ static int rsa_builtin_keygen(RSA *rsa,
+ int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb)
+       {
+ #ifdef OPENSSL_FIPS
+-      if (FIPS_mode() && !(rsa->meth->flags & RSA_FLAG_FIPS_METHOD)
++      if (FIPS_module_mode() && !(rsa->meth->flags & RSA_FLAG_FIPS_METHOD)
+                       && !(rsa->flags & RSA_FLAG_NON_FIPS_ALLOW))
+               {
+               RSAerr(RSA_F_RSA_GENERATE_KEY_EX, RSA_R_NON_FIPS_RSA_METHOD);
+@@ -90,10 +162,6 @@ int RSA_generate_key_ex(RSA *rsa, int bi
+ #endif
+       if(rsa->meth->rsa_keygen)
+               return rsa->meth->rsa_keygen(rsa, bits, e_value, cb);
+-#ifdef OPENSSL_FIPS
+-      if (FIPS_mode())
+-              return FIPS_rsa_generate_key_ex(rsa, bits, e_value, cb);
+-#endif
+       return rsa_builtin_keygen(rsa, bits, e_value, cb);
+       }
+@@ -105,6 +173,23 @@ static int rsa_builtin_keygen(RSA *rsa,
+       int bitsp,bitsq,ok= -1,n=0;
+       BN_CTX *ctx=NULL;
++#ifdef OPENSSL_FIPS
++      if (FIPS_module_mode())
++              {
++              if(FIPS_selftest_failed())
++              {
++                  FIPSerr(FIPS_F_RSA_BUILTIN_KEYGEN,FIPS_R_FIPS_SELFTEST_FAILED);
++              return 0;
++              }
++
++              if (bits < OPENSSL_RSA_FIPS_MIN_MODULUS_BITS)
++                  {
++                  FIPSerr(FIPS_F_RSA_BUILTIN_KEYGEN,FIPS_R_KEY_TOO_SHORT);
++                  return 0;
++                  }
++              }
++#endif
++
+       ctx=BN_CTX_new();
+       if (ctx == NULL) goto err;
+       BN_CTX_start(ctx);
+@@ -216,6 +301,17 @@ static int rsa_builtin_keygen(RSA *rsa,
+               p = rsa->p;
+       if (!BN_mod_inverse(rsa->iqmp,rsa->q,p,ctx)) goto err;
++#ifdef OPENSSL_FIPS
++      if (FIPS_module_mode())
++              {
++              if (fips_rsa_pairwise_fail)
++                      BN_add_word(rsa->n, 1);
++
++              if(!fips_check_rsa(rsa))
++                  goto err;
++              }
++#endif
++
+       ok=1;
+ err:
+       if (ok == -1)
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa.h.fips openssl-1.0.1-beta3/crypto/rsa/rsa.h
+--- openssl-1.0.1-beta3/crypto/rsa/rsa.h.fips  2012-02-29 10:33:02.577293030 +0100
++++ openssl-1.0.1-beta3/crypto/rsa/rsa.h       2012-02-29 10:33:02.803294974 +0100
+@@ -164,6 +164,8 @@ struct rsa_st
+ # define OPENSSL_RSA_MAX_MODULUS_BITS 16384
+ #endif
++#define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024
++
+ #ifndef OPENSSL_RSA_SMALL_MODULUS_BITS
+ # define OPENSSL_RSA_SMALL_MODULUS_BITS       3072
+ #endif
+@@ -290,6 +292,11 @@ RSA *     RSA_generate_key(int bits, unsigne
+ /* New version */
+ int   RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);
++int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, BIGNUM *q2,
++                      const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *Xp,
++                      const BIGNUM *Xq1, const BIGNUM *Xq2, const BIGNUM *Xq,
++                      const BIGNUM *e, BN_GENCB *cb);
++int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e, BN_GENCB *cb);
+ int   RSA_check_key(const RSA *);
+       /* next 4 return -1 on error */
+@@ -487,7 +494,7 @@ void ERR_load_RSA_strings(void);
+ #define RSA_F_RSA_PADDING_ADD_NONE                     107
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP               121
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_PSS                        125
+-#define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1           148
++#define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1           158
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1             108
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2             109
+ #define RSA_F_RSA_PADDING_ADD_SSLV23                   110
+@@ -500,20 +507,22 @@ void ERR_load_RSA_strings(void);
+ #define RSA_F_RSA_PADDING_CHECK_X931                   128
+ #define RSA_F_RSA_PRINT                                        115
+ #define RSA_F_RSA_PRINT_FP                             116
+-#define RSA_F_RSA_PRIVATE_DECRYPT                      150
+-#define RSA_F_RSA_PRIVATE_ENCRYPT                      151
++#define RSA_F_RSA_PRIVATE_DECRYPT                      157
++#define RSA_F_RSA_PRIVATE_ENCRYPT                      148
+ #define RSA_F_RSA_PRIV_DECODE                          137
+ #define RSA_F_RSA_PRIV_ENCODE                          138
+-#define RSA_F_RSA_PUBLIC_DECRYPT                       152
++#define RSA_F_RSA_PUBLIC_DECRYPT                       149
+ #define RSA_F_RSA_PUBLIC_ENCRYPT                       153
+ #define RSA_F_RSA_PUB_DECODE                           139
+ #define RSA_F_RSA_SETUP_BLINDING                       136
++#define RSA_F_RSA_SET_DEFAULT_METHOD                   150
++#define RSA_F_RSA_SET_METHOD                           151
+ #define RSA_F_RSA_SIGN                                         117
+ #define RSA_F_RSA_SIGN_ASN1_OCTET_STRING               118
+ #define RSA_F_RSA_VERIFY                               119
+ #define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING             120
+ #define RSA_F_RSA_VERIFY_PKCS1_PSS                     126
+-#define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1                        149
++#define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1                        152
+ /* Reason codes. */
+ #define RSA_R_ALGORITHM_MISMATCH                       100
+@@ -542,21 +551,22 @@ void ERR_load_RSA_strings(void);
+ #define RSA_R_INVALID_MGF1_MD                          156
+ #define RSA_R_INVALID_PADDING                          138
+ #define RSA_R_INVALID_PADDING_MODE                     141
+-#define RSA_R_INVALID_PSS_PARAMETERS                   149
++#define RSA_R_INVALID_PSS_PARAMETERS                   157
+ #define RSA_R_INVALID_PSS_SALTLEN                      146
+-#define RSA_R_INVALID_SALT_LENGTH                      150
++#define RSA_R_INVALID_SALT_LENGTH                      158
+ #define RSA_R_INVALID_TRAILER                          139
+ #define RSA_R_INVALID_X931_DIGEST                      142
+ #define RSA_R_IQMP_NOT_INVERSE_OF_Q                    126
+ #define RSA_R_KEY_SIZE_TOO_SMALL                       120
+ #define RSA_R_LAST_OCTET_INVALID                       134
+ #define RSA_R_MODULUS_TOO_LARGE                                105
+-#define RSA_R_NON_FIPS_RSA_METHOD                      157
++#define RSA_R_NON_FIPS_RSA_METHOD                      149
++#define RSA_R_NON_FIPS_METHOD                          149
+ #define RSA_R_NO_PUBLIC_EXPONENT                       140
+ #define RSA_R_NULL_BEFORE_BLOCK_MISSING                        113
+ #define RSA_R_N_DOES_NOT_EQUAL_P_Q                     127
+ #define RSA_R_OAEP_DECODING_ERROR                      121
+-#define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE       158
++#define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE       150
+ #define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE         148
+ #define RSA_R_PADDING_CHECK_FAILED                     114
+ #define RSA_R_P_NOT_PRIME                              128
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa_lib.c.fips openssl-1.0.1-beta3/crypto/rsa/rsa_lib.c
+--- openssl-1.0.1-beta3/crypto/rsa/rsa_lib.c.fips      2011-06-20 21:41:13.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/rsa/rsa_lib.c   2012-02-29 10:33:02.803294974 +0100
+@@ -84,6 +84,13 @@ RSA *RSA_new(void)
+ void RSA_set_default_method(const RSA_METHOD *meth)
+       {
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode() && !(meth->flags & RSA_FLAG_FIPS_METHOD))
++              {
++              RSAerr(RSA_F_RSA_SET_DEFAULT_METHOD, RSA_R_NON_FIPS_METHOD);
++              return;
++              }
++#endif
+       default_RSA_meth = meth;
+       }
+@@ -91,18 +98,11 @@ const RSA_METHOD *RSA_get_default_method
+       {
+       if (default_RSA_meth == NULL)
+               {
+-#ifdef OPENSSL_FIPS
+-              if (FIPS_mode())
+-                      return FIPS_rsa_pkcs1_ssleay();
+-              else
+-                      return RSA_PKCS1_SSLeay();
+-#else
+ #ifdef RSA_NULL
+               default_RSA_meth=RSA_null_method();
+ #else
+               default_RSA_meth=RSA_PKCS1_SSLeay();
+ #endif
+-#endif
+               }
+       return default_RSA_meth;
+@@ -118,6 +118,13 @@ int RSA_set_method(RSA *rsa, const RSA_M
+       /* NB: The caller is specifically setting a method, so it's not up to us
+        * to deal with which ENGINE it comes from. */
+       const RSA_METHOD *mtmp;
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode() && !(meth->flags & RSA_FLAG_FIPS_METHOD))
++              {
++              RSAerr(RSA_F_RSA_SET_METHOD, RSA_R_NON_FIPS_METHOD);
++              return 0;
++              }
++#endif
+       mtmp = rsa->meth;
+       if (mtmp->finish) mtmp->finish(rsa);
+ #ifndef OPENSSL_NO_ENGINE
+@@ -170,6 +177,18 @@ RSA *RSA_new_method(ENGINE *engine)
+                       }
+               }
+ #endif
++#ifdef OPENSSL_FIPS
++      if (FIPS_mode() && !(ret->meth->flags & RSA_FLAG_FIPS_METHOD))
++              {
++              RSAerr(RSA_F_RSA_NEW_METHOD, RSA_R_NON_FIPS_METHOD);
++#ifndef OPENSSL_NO_ENGINE
++              if (ret->engine)
++                      ENGINE_finish(ret->engine);
++#endif
++              OPENSSL_free(ret);
++              return NULL;
++              }
++#endif
+       ret->pad=0;
+       ret->version=0;
+@@ -188,7 +207,7 @@ RSA *RSA_new_method(ENGINE *engine)
+       ret->blinding=NULL;
+       ret->mt_blinding=NULL;
+       ret->bignum_data=NULL;
+-      ret->flags=ret->meth->flags & ~RSA_FLAG_NON_FIPS_ALLOW;
++      ret->flags=ret->meth->flags;
+       if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_RSA, ret, &ret->ex_data))
+               {
+ #ifndef OPENSSL_NO_ENGINE
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa_pmeth.c.fips openssl-1.0.1-beta3/crypto/rsa/rsa_pmeth.c
+--- openssl-1.0.1-beta3/crypto/rsa/rsa_pmeth.c.fips    2012-02-15 15:14:01.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/rsa/rsa_pmeth.c 2012-02-29 10:34:56.290320046 +0100
+@@ -206,22 +206,6 @@ static int pkey_rsa_sign(EVP_PKEY_CTX *c
+                                       RSA_R_INVALID_DIGEST_LENGTH);
+                       return -1;
+                       }
+-#ifdef OPENSSL_FIPS
+-              if (ret > 0)
+-                      {
+-                      unsigned int slen;
+-                      ret = FIPS_rsa_sign_digest(rsa, tbs, tbslen, rctx->md,
+-                                                      rctx->pad_mode,
+-                                                      rctx->saltlen,
+-                                                      rctx->mgf1md,
+-                                                      sig, &slen);
+-                      if (ret > 0)
+-                              *siglen = slen;
+-                      else
+-                              *siglen = 0;
+-                      return ret;
+-                      }
+-#endif
+               if (EVP_MD_type(rctx->md) == NID_mdc2)
+                       {
+@@ -354,19 +338,6 @@ static int pkey_rsa_verify(EVP_PKEY_CTX
+ #endif
+       if (rctx->md)
+               {
+-#ifdef OPENSSL_FIPS
+-              if (rv > 0)
+-                      {
+-                      return FIPS_rsa_verify_digest(rsa,
+-                                                      tbs, tbslen,
+-                                                      rctx->md,
+-                                                      rctx->pad_mode,
+-                                                      rctx->saltlen,
+-                                                      rctx->mgf1md,
+-                                                      sig, siglen);
+-                                                      
+-                      }
+-#endif
+               if (rctx->pad_mode == RSA_PKCS1_PADDING)
+                       return RSA_verify(EVP_MD_type(rctx->md), tbs, tbslen,
+                                       sig, siglen, rsa);
+diff -up openssl-1.0.1-beta3/crypto/rsa/rsa_sign.c.fips openssl-1.0.1-beta3/crypto/rsa/rsa_sign.c
+--- openssl-1.0.1-beta3/crypto/rsa/rsa_sign.c.fips     2012-02-15 15:00:09.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/rsa/rsa_sign.c  2012-02-29 10:37:54.916857424 +0100
+@@ -138,7 +138,8 @@ int RSA_sign(int type, const unsigned ch
+               i2d_X509_SIG(&sig,&p);
+               s=tmps;
+       }
+-      i=RSA_private_encrypt(i,s,sigret,rsa,RSA_PKCS1_PADDING);
++      /* NB: call underlying method directly to avoid FIPS blocking */
++      i = rsa->meth->rsa_priv_enc ? rsa->meth->rsa_priv_enc(i,s,sigret,rsa,RSA_PKCS1_PADDING) : 0;
+       if (i <= 0)
+               ret=0;
+       else
+@@ -178,8 +179,8 @@ int int_rsa_verify(int dtype, const unsi
+       if((dtype == NID_md5_sha1) && rm)
+               {
+-              i = RSA_public_decrypt((int)siglen,
+-                                      sigbuf,rm,rsa,RSA_PKCS1_PADDING);
++              i = rsa->meth->rsa_pub_dec ? rsa->meth->rsa_pub_dec((int)siglen,
++                                      sigbuf,rm,rsa,RSA_PKCS1_PADDING) : 0;
+               if (i <= 0)
+                       return 0;
+               *prm_len = i;
+@@ -196,7 +197,8 @@ int int_rsa_verify(int dtype, const unsi
+                       RSAerr(RSA_F_INT_RSA_VERIFY,RSA_R_INVALID_MESSAGE_LENGTH);
+                       goto err;
+       }
+-      i=RSA_public_decrypt((int)siglen,sigbuf,s,rsa,RSA_PKCS1_PADDING);
++      /* NB: call underlying method directly to avoid FIPS blocking */
++      i = rsa->meth->rsa_pub_dec ? rsa->meth->rsa_pub_dec((int)siglen,sigbuf,s,rsa,RSA_PKCS1_PADDING) : 0;
+       if (i <= 0) goto err;
+       /* Oddball MDC2 case: signature can be OCTET STRING.
+diff -up openssl-1.0.1-beta3/crypto/sha/sha256.c.fips openssl-1.0.1-beta3/crypto/sha/sha256.c
+--- openssl-1.0.1-beta3/crypto/sha/sha256.c.fips       2011-06-01 15:39:44.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/sha/sha256.c    2012-02-29 10:33:02.804294983 +0100
+@@ -12,12 +12,19 @@
+ #include <openssl/crypto.h>
+ #include <openssl/sha.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++
+ #include <openssl/opensslv.h>
+ const char SHA256_version[]="SHA-256" OPENSSL_VERSION_PTEXT;
+ fips_md_init_ctx(SHA224, SHA256)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       memset (c,0,sizeof(*c));
+       c->h[0]=0xc1059ed8UL;   c->h[1]=0x367cd507UL;
+       c->h[2]=0x3070dd17UL;   c->h[3]=0xf70e5939UL;
+@@ -29,6 +36,9 @@ fips_md_init_ctx(SHA224, SHA256)
+ fips_md_init(SHA256)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       memset (c,0,sizeof(*c));
+       c->h[0]=0x6a09e667UL;   c->h[1]=0xbb67ae85UL;
+       c->h[2]=0x3c6ef372UL;   c->h[3]=0xa54ff53aUL;
+diff -up openssl-1.0.1-beta3/crypto/sha/sha512.c.fips openssl-1.0.1-beta3/crypto/sha/sha512.c
+--- openssl-1.0.1-beta3/crypto/sha/sha512.c.fips       2011-11-14 21:58:01.000000000 +0100
++++ openssl-1.0.1-beta3/crypto/sha/sha512.c    2012-02-29 10:33:02.804294983 +0100
+@@ -5,6 +5,10 @@
+  * ====================================================================
+  */
+ #include <openssl/opensslconf.h>
++#ifdef OPENSSL_FIPS
++#include <openssl/fips.h>
++#endif
++
+ #if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA512)
+ /*
+  * IMPLEMENTATION NOTES.
+@@ -61,6 +65,9 @@ const char SHA512_version[]="SHA-512" OP
+ fips_md_init_ctx(SHA384, SHA512)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       c->h[0]=U64(0xcbbb9d5dc1059ed8);
+       c->h[1]=U64(0x629a292a367cd507);
+       c->h[2]=U64(0x9159015a3070dd17);
+@@ -77,6 +84,9 @@ fips_md_init_ctx(SHA384, SHA512)
+ fips_md_init(SHA512)
+       {
++#ifdef OPENSSL_FIPS
++      FIPS_selftest_check();
++#endif
+       c->h[0]=U64(0x6a09e667f3bcc908);
+       c->h[1]=U64(0xbb67ae8584caa73b);
+       c->h[2]=U64(0x3c6ef372fe94f82b);
+diff -up openssl-1.0.1-beta3/crypto/sha/sha.h.fips openssl-1.0.1-beta3/crypto/sha/sha.h
+--- openssl-1.0.1-beta3/crypto/sha/sha.h.fips  2012-02-29 10:33:02.108288997 +0100
++++ openssl-1.0.1-beta3/crypto/sha/sha.h       2012-02-29 10:33:02.804294983 +0100
+@@ -116,9 +116,6 @@ unsigned char *SHA(const unsigned char *
+ void SHA_Transform(SHA_CTX *c, const unsigned char *data);
+ #endif
+ #ifndef OPENSSL_NO_SHA1
+-#ifdef OPENSSL_FIPS
+-int private_SHA1_Init(SHA_CTX *c);
+-#endif
+ int SHA1_Init(SHA_CTX *c);
+ int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
+ int SHA1_Final(unsigned char *md, SHA_CTX *c);
+@@ -141,10 +138,6 @@ typedef struct SHA256state_st
+       } SHA256_CTX;
+ #ifndef OPENSSL_NO_SHA256
+-#ifdef OPENSSL_FIPS
+-int private_SHA224_Init(SHA256_CTX *c);
+-int private_SHA256_Init(SHA256_CTX *c);
+-#endif
+ int SHA224_Init(SHA256_CTX *c);
+ int SHA224_Update(SHA256_CTX *c, const void *data, size_t len);
+ int SHA224_Final(unsigned char *md, SHA256_CTX *c);
+@@ -192,10 +185,6 @@ typedef struct SHA512state_st
+ #endif
+ #ifndef OPENSSL_NO_SHA512
+-#ifdef OPENSSL_FIPS
+-int private_SHA384_Init(SHA512_CTX *c);
+-int private_SHA512_Init(SHA512_CTX *c);
+-#endif
+ int SHA384_Init(SHA512_CTX *c);
+ int SHA384_Update(SHA512_CTX *c, const void *data, size_t len);
+ int SHA384_Final(unsigned char *md, SHA512_CTX *c);
+diff -up openssl-1.0.1-beta3/crypto/sha/sha_locl.h.fips openssl-1.0.1-beta3/crypto/sha/sha_locl.h
+--- openssl-1.0.1-beta3/crypto/sha/sha_locl.h.fips     2012-02-29 10:33:02.114289051 +0100
++++ openssl-1.0.1-beta3/crypto/sha/sha_locl.h  2012-02-29 10:33:02.804294983 +0100
+@@ -123,11 +123,14 @@ void sha1_block_data_order (SHA_CTX *c,
+ #define INIT_DATA_h4 0xc3d2e1f0UL
+ #ifdef SHA_0
+-fips_md_init(SHA)
++nonfips_md_init(SHA)
+ #else
+ fips_md_init_ctx(SHA1, SHA)
+ #endif
+       {
++#if defined(SHA_1) && defined(OPENSSL_FIPS)
++      FIPS_selftest_check();
++#endif
+       memset (c,0,sizeof(*c));
+       c->h0=INIT_DATA_h0;
+       c->h1=INIT_DATA_h1;
+diff -up openssl-1.0.1-beta3/crypto/whrlpool/wp_dgst.c.fips openssl-1.0.1-beta3/crypto/whrlpool/wp_dgst.c
+--- openssl-1.0.1-beta3/crypto/whrlpool/wp_dgst.c.fips 2011-06-01 15:39:45.000000000 +0200
++++ openssl-1.0.1-beta3/crypto/whrlpool/wp_dgst.c      2012-02-29 10:33:02.805294992 +0100
+@@ -55,7 +55,7 @@
+ #include <openssl/crypto.h>
+ #include <string.h>
+-fips_md_init(WHIRLPOOL)
++nonfips_md_init(WHIRLPOOL)
+       {
+       memset (c,0,sizeof(*c));
+       return(1);
+diff -up openssl-1.0.1-beta3/Makefile.org.fips openssl-1.0.1-beta3/Makefile.org
+--- openssl-1.0.1-beta3/Makefile.org.fips      2012-02-29 10:33:02.746294484 +0100
++++ openssl-1.0.1-beta3/Makefile.org   2012-02-29 10:33:02.805294992 +0100
+@@ -136,6 +136,9 @@ FIPSCANLIB=
+ BASEADDR=
++# Non-empty if FIPS enabled
++FIPS=
++
+ DIRS=   crypto ssl engines apps test tools
+ ENGDIRS= ccgost
+ SHLIBDIRS= crypto ssl
+@@ -148,7 +151,7 @@ SDIRS=  \
+       bn ec rsa dsa ecdsa dh ecdh dso engine \
+       buffer bio stack lhash rand err \
+       evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
+-      cms pqueue ts jpake srp store cmac
++      cms pqueue ts jpake srp store cmac fips
+ # keep in mind that the above list is adjusted by ./Configure
+ # according to no-xxx arguments...
+@@ -237,6 +240,7 @@ BUILDENV=  PLATFORM='$(PLATFORM)' PROCESS
+               FIPSLIBDIR='${FIPSLIBDIR}'                      \
+               FIPSDIR='${FIPSDIR}'                            \
+               FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}"      \
++              FIPS="$${FIPS:-$(FIPS)}"        \
+               THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
+ # MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
+ # which in turn eliminates ambiguities in variable treatment with -e.
+diff -up openssl-1.0.1-beta3/ssl/ssl_algs.c.fips openssl-1.0.1-beta3/ssl/ssl_algs.c
+--- openssl-1.0.1-beta3/ssl/ssl_algs.c.fips    2012-01-15 14:42:50.000000000 +0100
++++ openssl-1.0.1-beta3/ssl/ssl_algs.c 2012-02-29 10:33:02.805294992 +0100
+@@ -64,6 +64,12 @@
+ int SSL_library_init(void)
+       {
++#ifdef OPENSSL_FIPS
++      OPENSSL_init_library();
++      if (!FIPS_mode())
++              {
++#endif
++
+ #ifndef OPENSSL_NO_DES
+       EVP_add_cipher(EVP_des_cbc());
+       EVP_add_cipher(EVP_des_ede3_cbc());
+@@ -136,6 +142,50 @@ int SSL_library_init(void)
+       EVP_add_digest(EVP_sha());
+       EVP_add_digest(EVP_dss());
+ #endif
++#ifdef OPENSSL_FIPS
++              }
++      else
++              {
++#ifndef OPENSSL_NO_DES
++      EVP_add_cipher(EVP_des_ede3_cbc());
++#endif
++#ifndef OPENSSL_NO_AES
++      EVP_add_cipher(EVP_aes_128_cbc());
++      EVP_add_cipher(EVP_aes_192_cbc());
++      EVP_add_cipher(EVP_aes_256_cbc());
++      EVP_add_cipher(EVP_aes_128_gcm());
++      EVP_add_cipher(EVP_aes_256_gcm());
++#endif
++#ifndef OPENSSL_NO_MD5
++      /* needed even in the FIPS mode for TLS MAC */
++      EVP_add_digest(EVP_md5());
++      EVP_add_digest_alias(SN_md5,"ssl2-md5");
++      EVP_add_digest_alias(SN_md5,"ssl3-md5");
++#endif
++#ifndef OPENSSL_NO_SHA
++      EVP_add_digest(EVP_sha1()); /* RSA with sha1 */
++      EVP_add_digest_alias(SN_sha1,"ssl3-sha1");
++      EVP_add_digest_alias(SN_sha1WithRSAEncryption,SN_sha1WithRSA);
++#endif
++#ifndef OPENSSL_NO_SHA256
++      EVP_add_digest(EVP_sha224());
++      EVP_add_digest(EVP_sha256());
++#endif
++#ifndef OPENSSL_NO_SHA512
++      EVP_add_digest(EVP_sha384());
++      EVP_add_digest(EVP_sha512());
++#endif
++#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_DSA)
++      EVP_add_digest(EVP_dss1()); /* DSA with sha1 */
++      EVP_add_digest_alias(SN_dsaWithSHA1,SN_dsaWithSHA1_2);
++      EVP_add_digest_alias(SN_dsaWithSHA1,"DSS1");
++      EVP_add_digest_alias(SN_dsaWithSHA1,"dss1");
++#endif
++#ifndef OPENSSL_NO_ECDSA
++      EVP_add_digest(EVP_ecdsa());
++#endif
++              }
++#endif
+ #ifndef OPENSSL_NO_COMP
+       /* This will initialise the built-in compression algorithms.
+          The value returned is a STACK_OF(SSL_COMP), but that can
diff --git a/openssl/patches/openssl-1.0.1-beta4-fips-md5-allow.patch b/openssl/patches/openssl-1.0.1-beta4-fips-md5-allow.patch
new file mode 100644 (file)
index 0000000..d654730
--- /dev/null
@@ -0,0 +1,21 @@
+diff -up openssl-1.0.1-beta2/crypto/md5/md5_dgst.c.md5-allow openssl-1.0.1-beta2/crypto/md5/md5_dgst.c
+--- openssl-1.0.1-beta2/crypto/md5/md5_dgst.c.md5-allow        2012-02-06 20:09:56.000000000 +0100
++++ openssl-1.0.1-beta2/crypto/md5/md5_dgst.c  2012-02-06 20:14:02.332117603 +0100
+@@ -71,7 +71,16 @@ const char MD5_version[]="MD5" OPENSSL_V
+ #define INIT_DATA_C (unsigned long)0x98badcfeL
+ #define INIT_DATA_D (unsigned long)0x10325476L
+-nonfips_md_init(MD5)
++int MD5_Init(MD5_CTX *c)
++#ifdef OPENSSL_FIPS
++      {
++      if (FIPS_mode() && getenv("OPENSSL_FIPS_NON_APPROVED_MD5_ALLOW") == NULL)
++              OpenSSLDie(__FILE__, __LINE__, \
++                "Digest MD5 forbidden in FIPS mode!");
++      return private_MD5_Init(c);
++      }
++int private_MD5_Init(MD5_CTX *c)
++#endif
+       {
+       memset (c,0,sizeof(*c));
+       c->A=INIT_DATA_A;
diff --git a/openssl/patches/openssl-1.0.1-version.patch b/openssl/patches/openssl-1.0.1-version.patch
new file mode 100644 (file)
index 0000000..2ac38c5
--- /dev/null
@@ -0,0 +1,55 @@
+diff -up openssl-1.0.1/crypto/cversion.c.version openssl-1.0.1/crypto/cversion.c
+--- openssl-1.0.1/crypto/cversion.c.version    2004-04-19 20:09:22.000000000 +0200
++++ openssl-1.0.1/crypto/cversion.c    2012-03-14 20:58:20.630352536 +0100
+@@ -110,8 +110,15 @@ const char *SSLeay_version(int t)
+       return("not available");
+       }
+-unsigned long SSLeay(void)
++unsigned long _original_SSLeay(void)
++      {
++      return(0x10000003);
++      }
++
++unsigned long _current_SSLeay(void)
+       {
+       return(SSLEAY_VERSION_NUMBER);
+       }
++__asm__(".symver _original_SSLeay,SSLeay@");
++__asm__(".symver _current_SSLeay,SSLeay@@OPENSSL_1.0.1");
+diff -up openssl-1.0.1/crypto/opensslv.h.version openssl-1.0.1/crypto/opensslv.h
+--- openssl-1.0.1/crypto/opensslv.h.version    2012-03-14 20:58:19.914337879 +0100
++++ openssl-1.0.1/crypto/opensslv.h    2012-03-14 20:58:20.630352536 +0100
+@@ -83,7 +83,7 @@
+  * should only keep the versions that are binary compatible with the current.
+  */
+ #define SHLIB_VERSION_HISTORY ""
+-#define SHLIB_VERSION_NUMBER "1.0.0"
++#define SHLIB_VERSION_NUMBER "1.0.1"
+ #endif /* HEADER_OPENSSLV_H */
+diff -up openssl-1.0.1/Makefile.shared.version openssl-1.0.1/Makefile.shared
+--- openssl-1.0.1/Makefile.shared.version      2012-03-14 20:58:20.553350959 +0100
++++ openssl-1.0.1/Makefile.shared      2012-03-14 20:58:20.631352556 +0100
+@@ -151,7 +151,7 @@ DO_GNU_SO=$(CALC_VERSIONS); \
+       SHLIB_SUFFIX=; \
+       ALLSYMSFLAGS='-Wl,--whole-archive'; \
+       NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+-      SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
++      SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--default-symver,--version-script=version.map -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+ DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+diff -up openssl-1.0.1/version.map.version openssl-1.0.1/version.map
+--- openssl-1.0.1/version.map.version  2012-03-14 20:58:20.631352556 +0100
++++ openssl-1.0.1/version.map  2012-03-14 20:58:20.631352556 +0100
+@@ -0,0 +1,7 @@
++OPENSSL_1.0.1 {
++    global:
++          SSLeay;
++    local:
++          _original*;
++          _current*;
++};
index 3d4bbe2980c35cf9d2ec0b4cd4be5afe2710cdf0..56051452d7b2c9f59ffb498567cec0979efbd8a9 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = openvpn
 version    = 2.2.1
-release    = 1
+release    = 2
 
 groups     = Networking/VPN
 url        = http://openvpn.net/
@@ -43,10 +43,10 @@ build
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/usr/lib/%{name}/plugin/lib
+               mkdir -pv %{BUILDROOT}%{libdir}/%{name}/plugin/lib
                for plugin in %{PLUGINS}; do
                        install -m 0755 plugin/$plugin/openvpn-$plugin.so \
-                               %{BUILDROOT}/usr/lib/%{name}/plugin/lib/openvpn-$plugin.so
+                               %{BUILDROOT}%{libdir}/%{name}/plugin/lib/openvpn-$plugin.so
                done
        end
 end
index 8292df0647959927ba7da3fba10d16c14456c75c..eef125a4a355b016f2f8a89cd856060911db2032 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = pakfire
-version    = 0.9.19
-release    = 2
+version    = 0.9.22
+release    = 3
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Packaging
@@ -33,7 +33,8 @@ build
        end
 
        # libgomp was broken in earlier releases.
-       requires += gcc>=4.6.2-4, beecrypt>=4.2.1-2
+       requires += gcc >= 4.6.2-4
+       requires += beecrypt >= 4.2.1-2
 
        CFLAGS += -fno-strict-aliasing
 
@@ -42,56 +43,115 @@ build
                cd %{DIR_APP}/python/src/ && python -c "import _pakfire"
                cd %{DIR_APP}/python/src/ && python -c "import _lzma"
        end
+
+       install_cmds
+               # Remove all example repository definitions.
+               # Those will be solely provided by system-release.
+               rm -rfv %{BUILDROOT}%{sysconfdir}/pakfire/repos/*
+       end
 end
 
 packages
        package %{name}
                groups += Base
 
-               requires = pakfire-common=%{thisver}
+               requires = pakfire-common = %{thisver}
        end
 
        package %{name}-common
                requires
+                       pygpgme
                        python-progressbar
                        python-urlgrabber
                        system-release
                end
 
                files
+                       %{sysconfdir}/pakfire/general.conf
+                       %{bindir}/pakfire-key
                        /usr/lib/pakfire/pakfire-multicall.py
                        %{libdir}/python*/site-packages/pakfire*
                        /usr/share/locale
                end
+               configfiles = %{sysconfdir}/pakfire/general.conf
        end
-       
+
        package %{name}-builder
-               summary = The pakfire builder.
+               summary = The Pakfire builder.
                description
                        The tools that are needed to build new pakfire packages.
                end
                groups += Build
 
                requires
-                       %{name}=%{thisver}
-                       quality-agent=%{thisver}
+                       # For --rpm-requires.
+                       bash >= 4.2-7
 
+                       %{name} = %{thisver}
+                       quality-agent = %{thisver}
                        cpio
                        elfutils
                end
-               provides = pakfire-build=%{thisver}
-               obsoletes = pakfire-build<%{thisver}
-               conflicts = build-essentials
+               provides = pakfire-build = %{thisver}
+               obsoletes = pakfire-build < %{thisver}
+
+               conflicts
+                       build-essentials
+                       systemd-devel < 38
+               end
+
+               configfiles
+                       /etc/pakfire/builder.conf
+                       /etc/pakfire/distros
+               end
 
                files
+                       /etc/pakfire/builder.conf
+                       /etc/pakfire/distros
                        %{libdir}/libpakfire_preload.so
-                       /usr/bin/pakfire-builder
-                       /usr/bin/pakfire-server
+                       %{bindir}/pakfire-builder
+                       %{bindir}/pakfire-server
                        /usr/lib/pakfire/*
                        !/usr/lib/pakfire/pakfire-multicall.py
                end
        end
 
+       package %{name}-client
+               summary = The Pakfire XMLRPC client.
+               description
+                       The pakfire client has the power to create build jobs
+                       and communicate with the Pakfire Build Service.
+               end
+
+               requires
+                       pakfire-common = %{thisver}
+               end
+
+               files
+                       %{sysconfdir}/pakfire/client.conf
+                       %{bindir}/pakfire-client
+               end
+               configfiles = %{sysconfdir}/pakfire/client.conf
+       end
+
+       package %{name}-daemon
+               summary = The Pakfire daemon.
+               description
+                       The Pakfire daemon takes build jobs from the
+                       Pakfire Build Service and compiles them.
+               end
+
+               requires
+                       pakfire-builder = %{thisver}
+               end
+
+               files
+                       %{sysconfdir}/pakfire/daemon.conf
+                       %{bindir}/pakfire-daemon
+               end
+               configfiles = %{sysconfdir}/pakfire/daemon.conf
+       end
+
        package quality-agent
                arch = noarch
 
@@ -104,13 +164,18 @@ packages
                end
 
                files
-                       /usr/lib/pakfire/quality-agent*
+                       /usr/lib/pakfire/quality-agent
+                       /usr/lib/quality-agent*
                end
 
                requires
+                       gawk
                        binutils
+                       coreutils
+                       findutils
                        file
                        grep
+                       sed
                end
        end
 
diff --git a/pakfire/patches/0001-Fix-accessing-index-data-after-the-transaction-is-do.patch b/pakfire/patches/0001-Fix-accessing-index-data-after-the-transaction-is-do.patch
new file mode 100644 (file)
index 0000000..8559607
--- /dev/null
@@ -0,0 +1,39 @@
+From b856696a0a8173eaacdd03833971272de06118ce Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sat, 14 Apr 2012 21:16:30 +0200
+Subject: [PATCH 1/8] Fix accessing index data after the transaction is done.
+
+---
+ python/pakfire/client/builder.py    |    1 +
+ python/pakfire/repository/system.py |    3 +++
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/python/pakfire/client/builder.py b/python/pakfire/client/builder.py
+index a039e65..2ade5dc 100644
+--- a/python/pakfire/client/builder.py
++++ b/python/pakfire/client/builder.py
+@@ -334,6 +334,7 @@ class ClientBuilder(object):
+               pkgs = []
+               for pkg in installed_packages:
++                      assert pkg.uuid, "%s has got no UUID"
+                       pkgs.append((pkg.friendly_name, pkg.uuid))
+               return self.conn.build_upload_buildroot(self.build_id, pkgs)
+diff --git a/python/pakfire/repository/system.py b/python/pakfire/repository/system.py
+index 642c4bd..5dcdd04 100644
+--- a/python/pakfire/repository/system.py
++++ b/python/pakfire/repository/system.py
+@@ -52,6 +52,9 @@ class RepositorySystem(base.RepositoryFactory):
+               # Commit the database to disk.
+               self.db.commit()
++              # Make sure that all data in the index is accessable.
++              self.index.optimize()
++
+       def add_package(self, pkg):
+               # Add package to the database.
+               self.db.add_package(pkg)
+-- 
+1.7.7.6
+
diff --git a/pakfire/patches/0002-find-provides-Accept-bogous-soname.patch b/pakfire/patches/0002-find-provides-Accept-bogous-soname.patch
new file mode 100644 (file)
index 0000000..49920bf
--- /dev/null
@@ -0,0 +1,28 @@
+From cf4f218f42c2a43a520eac4f3a6251d557dcbe80 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Tue, 17 Apr 2012 17:36:52 +0200
+Subject: [PATCH 2/8] find-provides: Accept bogous soname.
+
+This is a kind of weird bug. Some libs are "versioned" by
+using their SONAME for symbol maps. This caused trouble
+because the SONAME was not added to the list of provides
+which is now changed by this commit.
+---
+ tools/find-provides |    1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/tools/find-provides b/tools/find-provides
+index 2e138ba..06b3c47 100755
+--- a/tools/find-provides
++++ b/tools/find-provides
+@@ -69,7 +69,6 @@ for file in ${binary_files}; do
+               /Version definitions:/ { START=1; }
+               /^[0-9]/ && (START==1) { print $4; }
+               /^$/ { START=0; }' | \
+-                grep -v ${soname} | \
+                 while read symbol ; do
+                     echo "${soname}(${symbol})$(${is_64} && echo ${mark64} | sed 's/()//')"
+                 done
+-- 
+1.7.7.6
+
diff --git a/pakfire/patches/0003-Fix-adding-right-package-format-to-all-actions-in-th.patch b/pakfire/patches/0003-Fix-adding-right-package-format-to-all-actions-in-th.patch
new file mode 100644 (file)
index 0000000..31b2fab
--- /dev/null
@@ -0,0 +1,75 @@
+From 39097e291ae050dbefe2dfa265e55dd330328acd Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 19 Apr 2012 16:56:03 +0200
+Subject: [PATCH 3/8] Fix adding right package format to all actions in the
+ transaction.
+
+---
+ python/pakfire/transaction.py |   23 +++++++++++++++--------
+ 1 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/python/pakfire/transaction.py b/python/pakfire/transaction.py
+index 0b417d2..58b52c6 100644
+--- a/python/pakfire/transaction.py
++++ b/python/pakfire/transaction.py
+@@ -301,7 +301,7 @@ class Transaction(object):
+       @property
+       def downloads(self):
+-              return sorted([a for a in self.actions if a.needs_download])
++              return sorted([a.pkg_solv for a in self.actions if a.needs_download])
+       def download(self, logger=None):
+               if logger is None:
+@@ -309,16 +309,13 @@ class Transaction(object):
+               # Get all download actions as a list.
+               downloads = [d for d in self.downloads]
+-              downloads.sort()
+               # If there are no downloads, we can just stop here.
+               if not downloads:
+                       return
+               # Calculate downloadsize.
+-              download_size = 0
+-              for action in downloads:
+-                      download_size += action.pkg.size
++              download_size = sum([d.size for d in downloads])
+               # Get free space of the download location.
+               path = os.path.realpath(REPO_CACHE_DIR)
+@@ -334,9 +331,19 @@ class Transaction(object):
+               time_start = time.time()
+               i = 0
+-              for action in downloads:
++              for pkg in downloads:
+                       i += 1
+-                      action.download(text="(%d/%d): " % (i, len(downloads)), logger=logger)
++
++                      # Download the package file.
++                      bin_pkg = pkg.download(text="(%d/%d): " % (i, len(downloads)), logger=logger)
++
++                      # Search in every action if we need to replace the package.
++                      for action in self.actions:
++                              if not action.pkg_solv.uuid == bin_pkg.uuid:
++                                      continue
++
++                              # Replace the package.
++                              action.pkg = bin_pkg
+               # Write an empty line to the console when there have been any downloads.
+               width, height = util.terminal_size()
+@@ -420,7 +427,7 @@ class Transaction(object):
+               # Calculate the size of all files that need to be downloaded this this
+               # transaction.
+-              download_size = sum([a.pkg.size for a in self.downloads])
++              download_size = sum([d.size for d in self.downloads])
+               if download_size:
+                       s.append(_("Total download size: %s") % util.format_size(download_size))
+-- 
+1.7.7.6
+
diff --git a/pakfire/patches/0004-client-daemon-Don-t-make-internal-server-errors-fata.patch b/pakfire/patches/0004-client-daemon-Don-t-make-internal-server-errors-fata.patch
new file mode 100644 (file)
index 0000000..5112827
--- /dev/null
@@ -0,0 +1,500 @@
+From e3eb933336605515fe8cc9968a83a37b7df6b257 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 19 Apr 2012 17:02:09 +0200
+Subject: [PATCH 4/8] client/daemon: Don't make internal server errors fatal
+ for keepalives/updates.
+
+Because sometime, the hub could have some hiccups, this is no
+reason to kill the daemon. It should retry sending the request in a short
+time.
+
+However, we should now about the error and so the last try would
+raise an exception.
+---
+ po/pakfire.pot                     |  137 ++++++++++++++++++++----------------
+ python/pakfire/client/base.py      |   43 ++++++++----
+ python/pakfire/client/transport.py |    8 ++
+ python/pakfire/errors.py           |    4 +
+ 4 files changed, 117 insertions(+), 75 deletions(-)
+
+diff --git a/po/pakfire.pot b/po/pakfire.pot
+index 10f4e2a..4fd12e7 100644
+--- a/po/pakfire.pot
++++ b/po/pakfire.pot
+@@ -8,7 +8,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2012-04-14 14:32+0200\n"
++"POT-Creation-Date: 2012-04-19 16:57+0200\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+@@ -116,7 +116,7 @@ msgstr ""
+ #: ../python/pakfire/base.py:382 ../python/pakfire/base.py:450
+ #: ../python/pakfire/base.py:487 ../python/pakfire/base.py:546
+-#: ../python/pakfire/base.py:567 ../python/pakfire/transaction.py:389
++#: ../python/pakfire/base.py:567 ../python/pakfire/transaction.py:396
+ msgid "Nothing to do"
+ msgstr ""
+@@ -416,7 +416,7 @@ msgstr ""
+ msgid "Give name of at least one package to check."
+ msgstr ""
+-#: ../python/pakfire/cli.py:348 ../python/pakfire/transaction.py:398
++#: ../python/pakfire/cli.py:348 ../python/pakfire/transaction.py:405
+ msgid "Repository"
+ msgstr ""
+@@ -740,7 +740,7 @@ msgid "Job: %(name)s"
+ msgstr ""
+ #: ../python/pakfire/cli.py:1078 ../python/pakfire/packages/base.py:107
+-#: ../python/pakfire/transaction.py:397
++#: ../python/pakfire/transaction.py:404
+ msgid "Arch"
+ msgstr ""
+@@ -777,140 +777,151 @@ msgstr ""
+ msgid "Pakfire daemon command line interface."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1161
++#: ../python/pakfire/cli.py:1156
+ msgid "Pakfire key command line interface."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1205 ../python/pakfire/cli.py:1215
++#: ../python/pakfire/cli.py:1200 ../python/pakfire/cli.py:1210
+ msgid "Import a key from file."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1207
++#: ../python/pakfire/cli.py:1202
+ msgid "The real name of the owner of this key."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1209
++#: ../python/pakfire/cli.py:1204
+ msgid "The email address of the owner of this key."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1217
++#: ../python/pakfire/cli.py:1212
+ msgid "Filename of that key to import."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1223
++#: ../python/pakfire/cli.py:1218
+ msgid "Export a key to a file."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1225
++#: ../python/pakfire/cli.py:1220
+ msgid "The ID of the key to export."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1227
++#: ../python/pakfire/cli.py:1222
+ msgid "Write the key to this file."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1233
++#: ../python/pakfire/cli.py:1228
+ msgid "Delete a key from the local keyring."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1235
++#: ../python/pakfire/cli.py:1230
+ msgid "The ID of the key to delete."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1241
++#: ../python/pakfire/cli.py:1236
+ msgid "List all imported keys."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1247
++#: ../python/pakfire/cli.py:1242
+ msgid "Sign one or more packages."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1249
++#: ../python/pakfire/cli.py:1244
+ msgid "Key that is used sign the package(s)."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1251
++#: ../python/pakfire/cli.py:1246
+ msgid "Package(s) to sign."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1257
++#: ../python/pakfire/cli.py:1252
+ msgid "Verify one or more packages."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1261
++#: ../python/pakfire/cli.py:1256
+ msgid "Package(s) to verify."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1268
++#: ../python/pakfire/cli.py:1263
+ msgid "Generating the key may take a moment..."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1316
++#: ../python/pakfire/cli.py:1311
+ #, python-format
+ msgid "Signing %s..."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1333
++#: ../python/pakfire/cli.py:1328
+ #, python-format
+ msgid "Verifying %s..."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1343
++#: ../python/pakfire/cli.py:1338
+ msgid "This signature is valid."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1346
++#: ../python/pakfire/cli.py:1341
+ msgid "Unknown key"
+ msgstr ""
+-#: ../python/pakfire/cli.py:1347
++#: ../python/pakfire/cli.py:1342
+ msgid "Could not check if this signature is valid."
+ msgstr ""
+-#: ../python/pakfire/cli.py:1350 ../python/pakfire/keyring.py:96
++#: ../python/pakfire/cli.py:1345 ../python/pakfire/keyring.py:96
+ #, python-format
+ msgid "Created: %s"
+ msgstr ""
+-#: ../python/pakfire/cli.py:1354 ../python/pakfire/keyring.py:99
++#: ../python/pakfire/cli.py:1349 ../python/pakfire/keyring.py:99
+ #, python-format
+ msgid "Expires: %s"
+ msgstr ""
+-#: ../python/pakfire/client/builder.py:173
++#. If the keepalive message could not successfully be sent, we don't
++#. bother, because the client will soon retry.
++#: ../python/pakfire/client/base.py:213
++msgid "Could not send a keepalive message to the hub."
++msgstr ""
++
++#. Don't give a shit either.
++#: ../python/pakfire/client/base.py:247
++msgid "Could not update the host information."
++msgstr ""
++
++#: ../python/pakfire/client/builder.py:179
+ msgid "Less than 2GB of free space. Cannot request a new job."
+ msgstr ""
+ #. Log all XMLRPC protocol errors.
+-#: ../python/pakfire/client/transport.py:78
++#: ../python/pakfire/client/transport.py:90
+ msgid "XMLRPC protocol error:"
+ msgstr ""
+-#: ../python/pakfire/client/transport.py:79
++#: ../python/pakfire/client/transport.py:91
+ #, python-format
+ msgid "URL: %s"
+ msgstr ""
+-#: ../python/pakfire/client/transport.py:80
++#: ../python/pakfire/client/transport.py:92
+ msgid "  HTTP headers:"
+ msgstr ""
+-#: ../python/pakfire/client/transport.py:83
++#: ../python/pakfire/client/transport.py:95
+ #, python-format
+ msgid "Error code: %s"
+ msgstr ""
+-#: ../python/pakfire/client/transport.py:84
++#: ../python/pakfire/client/transport.py:96
+ #, python-format
+ msgid "Error message: %s"
+ msgstr ""
+-#: ../python/pakfire/client/transport.py:104
++#: ../python/pakfire/client/transport.py:116
+ #, python-format
+ msgid "Trying again in %(timeout)s second(s). %(tries)s tries left."
+ msgstr ""
+-#: ../python/pakfire/client/transport.py:109
++#: ../python/pakfire/client/transport.py:121
+ msgid "Maximum number of tries was reached. Giving up."
+ msgstr ""
+@@ -981,7 +992,7 @@ msgstr ""
+ msgid "Running pakfire-build in a pakfire container?"
+ msgstr ""
+-#: ../python/pakfire/errors.py:94 ../python/pakfire/transaction.py:468
++#: ../python/pakfire/errors.py:94 ../python/pakfire/transaction.py:475
+ msgid "Transaction test was not successful"
+ msgstr ""
+@@ -996,10 +1007,14 @@ msgid ""
+ msgstr ""
+ #: ../python/pakfire/errors.py:106
+-msgid "Could not find the requested URL."
++msgid "A request could not be fulfilled by the server."
+ msgstr ""
+ #: ../python/pakfire/errors.py:110
++msgid "Could not find the requested URL."
++msgstr ""
++
++#: ../python/pakfire/errors.py:114
+ msgid "An unforseable problem on the XML-RPC transport connection occured."
+ msgstr ""
+@@ -1070,7 +1085,7 @@ msgstr ""
+ msgid "Name"
+ msgstr ""
+-#: ../python/pakfire/packages/base.py:110 ../python/pakfire/transaction.py:397
++#: ../python/pakfire/packages/base.py:110 ../python/pakfire/transaction.py:404
+ msgid "Version"
+ msgstr ""
+@@ -1078,7 +1093,7 @@ msgstr ""
+ msgid "Release"
+ msgstr ""
+-#: ../python/pakfire/packages/base.py:115 ../python/pakfire/transaction.py:398
++#: ../python/pakfire/packages/base.py:115 ../python/pakfire/transaction.py:405
+ msgid "Size"
+ msgstr ""
+@@ -1356,93 +1371,93 @@ msgid ""
+ "perform transaction."
+ msgstr ""
+-#: ../python/pakfire/transaction.py:330
++#: ../python/pakfire/transaction.py:327
+ #, python-format
+ msgid "Not enough space to download %s of packages."
+ msgstr ""
+-#: ../python/pakfire/transaction.py:333
++#: ../python/pakfire/transaction.py:330
+ msgid "Downloading packages:"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:397
++#: ../python/pakfire/transaction.py:404
+ msgid "Package"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:402
++#: ../python/pakfire/transaction.py:409
+ msgid "Installing:"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:403
++#: ../python/pakfire/transaction.py:410
+ msgid "Reinstalling:"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:404
++#: ../python/pakfire/transaction.py:411
+ msgid "Updating:"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:405
++#: ../python/pakfire/transaction.py:412
+ msgid "Downgrading:"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:406
++#: ../python/pakfire/transaction.py:413
+ msgid "Removing:"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:412
++#: ../python/pakfire/transaction.py:419
+ msgid "Transaction Summary"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:419
++#: ../python/pakfire/transaction.py:426
+ msgid "package"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:425
++#: ../python/pakfire/transaction.py:432
+ #, python-format
+ msgid "Total download size: %s"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:429
++#: ../python/pakfire/transaction.py:436
+ #, python-format
+ msgid "Installed size: %s"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:432
++#: ../python/pakfire/transaction.py:439
+ #, python-format
+ msgid "Freed size: %s"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:443
++#: ../python/pakfire/transaction.py:450
+ msgid "Is this okay?"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:449
++#: ../python/pakfire/transaction.py:456
+ msgid "Running Transaction Test"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:461
++#: ../python/pakfire/transaction.py:468
+ msgid "Transaction Test Succeeded"
+ msgstr ""
+ #. Make a nice progressbar.
+-#: ../python/pakfire/transaction.py:494
++#: ../python/pakfire/transaction.py:501
+ msgid "Verifying signatures..."
+ msgstr ""
+-#: ../python/pakfire/transaction.py:526
++#: ../python/pakfire/transaction.py:533
+ #, python-format
+ msgid "Found %s signature error(s)!"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:531
++#: ../python/pakfire/transaction.py:538
+ msgid "Going on because we are running in permissive mode."
+ msgstr ""
+-#: ../python/pakfire/transaction.py:532
++#: ../python/pakfire/transaction.py:539
+ msgid "This is dangerous!"
+ msgstr ""
+-#: ../python/pakfire/transaction.py:553
++#: ../python/pakfire/transaction.py:560
+ msgid "Running transaction"
+ msgstr ""
+diff --git a/python/pakfire/client/base.py b/python/pakfire/client/base.py
+index 632ec8b..cd661ca 100644
+--- a/python/pakfire/client/base.py
++++ b/python/pakfire/client/base.py
+@@ -204,7 +204,15 @@ class PakfireBuilderClient(BuildMixin, PakfireClient):
+               # Collect the current loadavg and send it to the hub.
+               loadavg = ", ".join(("%.2f" % round(l, 2) for l in os.getloadavg()))
+-              needs_update = self.conn.send_keepalive(loadavg, overload, free_space)
++              try:
++                      needs_update = self.conn.send_keepalive(loadavg, overload, free_space)
++
++              except XMLRPCInternalServerError:
++                      # If the keepalive message could not successfully be sent, we don't
++                      # bother, because the client will soon retry.
++                      log.warning(_("Could not send a keepalive message to the hub."))
++
++                      return
+               if force or needs_update:
+                       log.debug("The hub is requesting an update.")
+@@ -215,20 +223,27 @@ class PakfireBuilderClient(BuildMixin, PakfireClient):
+               config = pakfire.config.ConfigDaemon()
+-              self.conn.send_update(
+-                      # Supported architectures.
+-                      system.supported_arches,
++              try:
++                      self.conn.send_update(
++                              # Supported architectures.
++                              system.supported_arches,
++
++                              # CPU information.
++                              system.cpu_model,
++                              system.cpu_count,
++
++                              # Amount of memory in bytes.
++                              system.memory / 1024,
+-                      # CPU information.
+-                      system.cpu_model,
+-                      system.cpu_count,
++                              # Send the currently running version of Pakfire.
++                              PAKFIRE_VERSION,
+-                      # Amount of memory in bytes.
+-                      system.memory / 1024,
++                              # Send the host key.
++                              config.get("signatures", "host_key", None),
++                      )
+-                      # Send the currently running version of Pakfire.
+-                      PAKFIRE_VERSION,
++              except XMLRPCInternalServerError:
++                      # Don't give a shit either.
++                      log.warning(_("Could not update the host information."))
+-                      # Send the host key.
+-                      config.get("signatures", "host_key", None),
+-              )
++                      return
+diff --git a/python/pakfire/client/transport.py b/python/pakfire/client/transport.py
+index 4fb8a8f..ac7de8d 100644
+--- a/python/pakfire/client/transport.py
++++ b/python/pakfire/client/transport.py
+@@ -72,6 +72,14 @@ class XMLRPCMixin:
+                                       # Cannot go on.
+                                       raise XMLRPCNotFoundError(e)
++                              elif e.errcode == 500:
++                                      # This could have various reasons, so we can not
++                                      # be sure to kill connections here.
++                                      # But to visualize the issue, we will raise an
++                                      # exception on the last try.
++                                      if tries == 1:
++                                              raise XMLRPCInternalServerError(e)
++
+                               elif e.errcode == 503:
+                                       # Possibly the hub is not running but the SSL proxy
+                                       # is. Just try again in a short time.
+diff --git a/python/pakfire/errors.py b/python/pakfire/errors.py
+index c0f711f..3af257d 100644
+--- a/python/pakfire/errors.py
++++ b/python/pakfire/errors.py
+@@ -102,6 +102,10 @@ class XMLRPCForbiddenError(XMLRPCError):
+       message = _("You are forbidden to perform this action. Maybe you need to check your credentials.")
++class XMLRPCInternalServerError(XMLRPCError):
++      message = _("A request could not be fulfilled by the server.")
++
++
+ class XMLRPCNotFoundError(XMLRPCError):
+       message = _("Could not find the requested URL.")
+-- 
+1.7.7.6
+
diff --git a/pakfire/patches/0005-Allow-to-install-multiple-non-default-kernels.patch b/pakfire/patches/0005-Allow-to-install-multiple-non-default-kernels.patch
new file mode 100644 (file)
index 0000000..4d9d888
--- /dev/null
@@ -0,0 +1,32 @@
+From acf9ff3a740f37550287b4e263e6d7e76cef3e36 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 22 Apr 2012 14:42:37 +0200
+Subject: [PATCH 5/8] Allow to install multiple non-default kernels.
+
+---
+ python/pakfire/constants.py |    9 ++++++++-
+ 1 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/python/pakfire/constants.py b/python/pakfire/constants.py
+index 0899dd0..44d1d02 100644
+--- a/python/pakfire/constants.py
++++ b/python/pakfire/constants.py
+@@ -184,7 +184,14 @@ end
+ PACKAGE_INFO_DESCRIPTION_LINE = PACKAGE_INFO_DEPENDENCY_LINE = "\t\t%s"
+ # XXX make this configurable in pakfire.conf
+-PAKFIRE_MULTIINSTALL = ["kernel", "kernel-PAE",]
++PAKFIRE_MULTIINSTALL = [
++      "kernel",
++      "kernel-kirkwood",
++      "kernel-legacy",
++      "kernel-omap",
++      "kernel-versatile",
++      "kernel-devel",
++]
+ SCRIPTLET_INTERPRETER = "/bin/sh"
+ SCRIPTLET_TIMEOUT = 60 * 15
+-- 
+1.7.7.6
+
diff --git a/pakfire/patches/0006-Actually-remove-installed-packages-from-database.patch b/pakfire/patches/0006-Actually-remove-installed-packages-from-database.patch
new file mode 100644 (file)
index 0000000..3867cf1
--- /dev/null
@@ -0,0 +1,26 @@
+From e13f4e02e11afa45d8bcb6ceb46bd50c3b6c9aae Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 22 Apr 2012 14:44:51 +0200
+Subject: [PATCH 6/8] Actually remove installed packages from database.
+
+When removing packages, the metadata was not removed from
+the local package database.
+---
+ python/pakfire/repository/system.py |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/python/pakfire/repository/system.py b/python/pakfire/repository/system.py
+index 5dcdd04..ce3e979 100644
+--- a/python/pakfire/repository/system.py
++++ b/python/pakfire/repository/system.py
+@@ -62,6 +62,7 @@ class RepositorySystem(base.RepositoryFactory):
+       def rem_package(self, pkg):
+               # Remove package from the database.
++              self.db.rem_package(pkg)
+               self.index.rem_package(pkg)
+       @property
+-- 
+1.7.7.6
+
diff --git a/pakfire/patches/0007-Select-packages-from-the-database-by-their-UUIDs.patch b/pakfire/patches/0007-Select-packages-from-the-database-by-their-UUIDs.patch
new file mode 100644 (file)
index 0000000..29901e5
--- /dev/null
@@ -0,0 +1,29 @@
+From b8f51d988734a75e8e41496a5d272057d18ecfda Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 22 Apr 2012 14:47:43 +0200
+Subject: [PATCH 7/8] Select packages from the database by their UUIDs.
+
+---
+ python/pakfire/repository/database.py |    6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/python/pakfire/repository/database.py b/python/pakfire/repository/database.py
+index 11321ae..6f8f397 100644
+--- a/python/pakfire/repository/database.py
++++ b/python/pakfire/repository/database.py
+@@ -334,9 +334,9 @@ class DatabaseLocal(Database):
+               # Get the ID of the package in the database.
+               c = self.cursor()
+-              #c.execute("SELECT id FROM packages WHERE uuid = ? LIMIT 1", (pkg.uuid,))
+-              c.execute("SELECT id FROM packages WHERE name = ? AND epoch = ? AND version = ?"
+-                      " AND release = ? LIMIT 1", (pkg.name, pkg.epoch, pkg.version, pkg.release,))
++              c.execute("SELECT id FROM packages WHERE uuid = ? LIMIT 1", (pkg.uuid,))
++              #c.execute("SELECT id FROM packages WHERE name = ? AND epoch = ? AND version = ?"
++              #       " AND release = ? LIMIT 1", (pkg.name, pkg.epoch, pkg.version, pkg.release,))
+               id = None
+               for row in c:
+-- 
+1.7.7.6
+
diff --git a/pakfire/patches/0008-Fixes-for-removing-files-and-configfiles.patch b/pakfire/patches/0008-Fixes-for-removing-files-and-configfiles.patch
new file mode 100644 (file)
index 0000000..53d8acd
--- /dev/null
@@ -0,0 +1,51 @@
+From d38612fe50395a35d6fdc0774d56c7c2ddc58cf7 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 22 Apr 2012 14:48:10 +0200
+Subject: [PATCH 8/8] Fixes for removing files (and configfiles).
+
+There were some problems when the user removed those
+files earlier.
+---
+ python/pakfire/packages/base.py |   12 ++++++++++++
+ 1 files changed, 12 insertions(+), 0 deletions(-)
+
+diff --git a/python/pakfire/packages/base.py b/python/pakfire/packages/base.py
+index e27c3f7..9162536 100644
+--- a/python/pakfire/packages/base.py
++++ b/python/pakfire/packages/base.py
+@@ -516,6 +516,12 @@ class Package(object):
+                       # Rename configuration files.
+                       if _file.is_config():
++                              # Skip already removed config files.
++                              try:
++                                      os.lstat(file)
++                              except OSError:
++                                      continue
++
+                               file_save = "%s%s" % (file, CONFIG_FILE_SUFFIX_SAVE)
+                               try:
+@@ -530,6 +536,7 @@ class Package(object):
+                       # Handle regular files and symlinks.
+                       if os.path.isfile(file) or os.path.islink(file):
++                              log.debug("Removing %s..." % _file)
+                               try:
+                                       os.remove(file)
+                               except OSError:
+@@ -545,6 +552,11 @@ class Package(object):
+                               except OSError:
+                                       pass
++                      # Handle files that have already been removed
++                      # by somebody else.
++                      elif not os.path.exists(file):
++                              pass
++
+                       # Log all unhandled types.
+                       else:
+                               log.warning("Cannot remove file: %s. Filetype is unhandled." % file)
+-- 
+1.7.7.6
+
diff --git a/pam/man/config-util.5 b/pam/man/config-util.5
new file mode 100644 (file)
index 0000000..17d7f8a
--- /dev/null
@@ -0,0 +1,36 @@
+.TH SYSTEM-AUTH 5 "2006 Feb 3" "Red Hat" "Linux-PAM Manual"
+.SH NAME
+
+config-util \- Common PAM configuration file for configuration utilities
+
+.SH SYNOPSIS
+.B /etc/pam.d/config-util
+.sp 2
+.SH DESCRIPTION
+
+The purpose of this configuration file is to provide common 
+configuration file for all configuration utilities which must be run
+from the supervisor account and use the userhelper wrapper application.
+
+.sp
+The
+.BR config-util
+configuration file is included from all individual configuration
+files of such utilities with the help of the
+.BR include
+directive.
+There are not usually any other modules in the individual configuration
+files of these utilities.
+
+.sp
+It is possible for example to modify duration of the validity of the 
+authentication timestamp there. See
+.BR pam_timestamp(8)
+for details.
+
+.SH BUGS
+.sp 2
+None known.
+
+.SH "SEE ALSO"
+pam(8), config-util(5), pam_timestamp(8)
diff --git a/pam/man/postlogin.5 b/pam/man/postlogin.5
new file mode 100644 (file)
index 0000000..3a8abcf
--- /dev/null
@@ -0,0 +1,46 @@
+.TH POSTLOGIN 5 "2010 Dec 22" "Red Hat" "Linux-PAM Manual"
+.SH NAME
+
+postlogin \- Common configuration file for PAMified services
+
+.SH SYNOPSIS
+.B /etc/pam.d/postlogin
+.sp 2
+.SH DESCRIPTION
+
+The purpose of this PAM configuration file is to provide a common
+place for all PAM modules which should be called after the stack
+configured in
+.BR system-auth
+or the other common PAM configuration files.
+
+.sp
+The
+.BR postlogin
+configuration file is included from all individual service configuration
+files that provide login service with shell or file access.
+
+.SH NOTES
+The modules in the postlogin configuration file are executed regardless
+of the success or failure of the modules in the
+.BR system-auth
+configuration file.
+
+.SH BUGS
+.sp 2
+Sometimes it would be useful to be able to skip the postlogin modules in
+case the substack of the
+.BR system-auth
+modules failed. Unfortunately the current Linux-PAM library does not
+provide any way how to achieve this.
+
+.SH "SEE ALSO"
+pam(8), config-util(5), system-auth(5)
+
+The three
+.BR Linux-PAM
+Guides, for
+.BR "system administrators" ", "
+.BR "module developers" ", "
+and
+.BR "application developers" ". "
diff --git a/pam/man/system-auth.5 b/pam/man/system-auth.5
new file mode 100644 (file)
index 0000000..c0ca80b
--- /dev/null
@@ -0,0 +1,58 @@
+.TH SYSTEM-AUTH 5 "2010 Dec 22" "Red Hat" "Linux-PAM Manual"
+.SH NAME
+
+system-auth \- Common configuration file for PAMified services
+
+.SH SYNOPSIS
+.B /etc/pam.d/system-auth
+.B /etc/pam.d/password-auth
+.B /etc/pam.d/fingerprint-auth
+.B /etc/pam.d/smartcard-auth
+.sp 2
+.SH DESCRIPTION
+
+The purpose of these configuration files are to provide a common
+interface for all applications and service daemons calling into
+the PAM library.
+
+.sp
+The
+.BR system-auth
+configuration file is included from nearly all individual service configuration
+files with the help of the
+.BR substack
+directive.
+
+.sp
+The
+.BR password-auth
+.BR fingerprint-auth
+.BR smartcard-auth
+configuration files are for applications which handle authentication from
+different types of devices via simultaneously running individual conversations
+instead of one aggregate conversation.
+
+.SH NOTES
+Previously these common configuration files were included with the help
+of the
+.BR include
+directive. This limited the use of the different action types of modules.
+With the use of
+.BR substack
+directive to include these common configuration files this limitation
+no longer applies.
+
+.SH BUGS
+.sp 2
+None known.
+
+.SH "SEE ALSO"
+pam(8), config-util(5), postlogin(5)
+
+The three
+.BR Linux-PAM
+Guides, for
+.BR "system administrators" ", "
+.BR "module developers" ", "
+and
+.BR "application developers" ". "
diff --git a/pam/pam.d/config-util b/pam/pam.d/config-util
new file mode 100644 (file)
index 0000000..8e70d9a
--- /dev/null
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth           sufficient      pam_rootok.so
+auth           sufficient      pam_timestamp.so
+auth           include         system-auth
+account                required        pam_permit.so
+session                required        pam_permit.so
+session                optional        pam_xauth.so
+session                optional        pam_timestamp.so
diff --git a/pam/pam.d/fingerprint-auth b/pam/pam.d/fingerprint-auth
new file mode 100644 (file)
index 0000000..fdcbcc0
--- /dev/null
@@ -0,0 +1,18 @@
+#%PAM-1.0
+# This file is auto-generated.
+# User changes will be destroyed the next time authconfig is run.
+auth        required      pam_env.so
+auth        sufficient    pam_fprintd.so
+auth        required      pam_deny.so
+
+account     required      pam_unix.so
+account     sufficient    pam_localuser.so
+account     sufficient    pam_succeed_if.so uid < 500 quiet
+account     required      pam_permit.so
+
+password    required      pam_deny.so
+
+session     optional      pam_keyinit.so revoke
+session     required      pam_limits.so
+session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
+session     required      pam_unix.so
diff --git a/pam/pam.d/password-auth b/pam/pam.d/password-auth
new file mode 100644 (file)
index 0000000..d598c67
--- /dev/null
@@ -0,0 +1,17 @@
+#%PAM-1.0
+# This file is auto-generated.
+# User changes will be destroyed the next time authconfig is run.
+auth        required      pam_env.so
+auth        sufficient    pam_unix.so try_first_pass nullok
+auth        required      pam_deny.so
+
+account     required      pam_unix.so
+
+password    requisite     pam_pwquality.so try_first_pass retry=3 type=
+password    sufficient    pam_unix.so try_first_pass use_authtok nullok sha512 shadow
+password    required      pam_deny.so
+
+session     optional      pam_keyinit.so revoke
+session     required      pam_limits.so
+session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
+session     required      pam_unix.so
diff --git a/pam/pam.d/postlogin b/pam/pam.d/postlogin
new file mode 100644 (file)
index 0000000..43d25c5
--- /dev/null
@@ -0,0 +1,3 @@
+#%PAM-1.0
+# This file is auto-generated.
+# User changes will be destroyed the next time authconfig is run.
diff --git a/pam/pam.d/smartcard-auth b/pam/pam.d/smartcard-auth
new file mode 100644 (file)
index 0000000..07f03f3
--- /dev/null
@@ -0,0 +1,18 @@
+#%PAM-1.0
+# This file is auto-generated.
+# User changes will be destroyed the next time authconfig is run.
+auth        required      pam_env.so
+auth        [success=done ignore=ignore default=die] pam_pkcs11.so wait_for_card
+auth        required      pam_deny.so
+
+account     required      pam_unix.so
+account     sufficient    pam_localuser.so
+account     sufficient    pam_succeed_if.so uid < 500 quiet
+account     required      pam_permit.so
+
+password    optional      pam_pkcs11.so
+
+session     optional      pam_keyinit.so revoke
+session     required      pam_limits.so
+session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
+session     required      pam_unix.so
index 0fa221b4893e3e2f8d081665bc4eb6094466e7fb..d598c67d7244d266f7b118a3bdc2b75de46eaf46 100644 (file)
@@ -1,23 +1,17 @@
 #%PAM-1.0
+# This file is auto-generated.
+# User changes will be destroyed the next time authconfig is run.
 auth        required      pam_env.so
-auth        sufficient    pam_unix.so nullok try_first_pass
-auth        requisite     pam_succeed_if.so uid >= 500 quiet
-auth        sufficient    pam_ldap.so use_first_pass
+auth        sufficient    pam_unix.so try_first_pass nullok
 auth        required      pam_deny.so
 
-account     required      pam_unix.so broken_shadow
-account     sufficient    pam_localuser.so
-account     sufficient    pam_succeed_if.so uid < 500 quiet
-account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
-account     required      pam_permit.so
+account     required      pam_unix.so
 
-password    requisite     pam_cracklib.so try_first_pass retry=3
-password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
-password    sufficient    pam_ldap.so use_authtok
+password    requisite     pam_pwquality.so try_first_pass retry=3 type=
+password    sufficient    pam_unix.so try_first_pass use_authtok nullok sha512 shadow
 password    required      pam_deny.so
 
 session     optional      pam_keyinit.so revoke
 session     required      pam_limits.so
 session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
 session     required      pam_unix.so
-session     optional      pam_ldap.so
index 4bb01c956be791fb48d403511985561ce44181ef..be4f7a242816dbc5e07cab93056b867e4d2d088e 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = pam
 version    = 1.1.5
-release    = 1
+release    = 3
 thisapp    = Linux-PAM-%{version}
 
 groups     = System/Base
@@ -34,20 +34,12 @@ build
        end
 
        configure_options += \
-               --libdir=/%{lib} \
                --includedir=%{includedir}/security \
                --docdir=/usr/share/doc/Linux-PAM-%{version} \
                --enable-read-both-confs \
                --disable-rpath
 
        install_cmds
-               mkdir -pv %{BUILDROOT}%{libdir}
-               for LINK in libpam{,c,_misc}.so; do
-                       ln -v -sf ../../%{lib}/$(readlink %{BUILDROOT}/%{lib}/${LINK}) \
-                               %{BUILDROOT}%{libdir}/${LINK}
-                       rm -v %{BUILDROOT}/%{lib}/${LINK}
-               done
-
                #useradd -D -b /home
                #sed -i 's/yes/no/' %{BUILDROOT}/etc/default/useradd
                mkdir -pv %{BUILDROOT}/etc/security
@@ -56,14 +48,25 @@ build
 
                # Included in setup package
                rm -f %{BUILDROOT}/etc/environment
+
+               # Install man pages.
+               mkdir -pv %{BUILDROOT}%{mandir}/man5
+               for file in config-util.5 postlogin.5 system-auth.5; do
+                       install -v -m 644 %{DIR_SOURCE}/man/${file} \
+                               %{BUILDROOT}%{mandir}/man5
+               done
        end
 end
 
 packages
        package %{name}
-               #requires
-               #       pam_ldap
-               #end
+               requires
+                       pam_ldap
+               end
+
+               configfiles
+                       /etc/pam.d
+               end
        end
 
        package %{name}-devel
index 05a88ab1493441beedd5358a9610a72a1d0277b0..9d9154b2e7528463749053f55d6a13a63ac81624 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = pam_ldap
 version    = 186
-release    = 2
+release    = 3
 
 groups     = System/Base
 url        = http://www.padl.com/OSS/pam_ldap.html
@@ -33,9 +33,6 @@ build
        end
 
        configure_options += \
-               --sysconfdir=/etc \
-               --libdir=/%{lib} \
-               --mandir=/usr/share/man \
                --with-ldap-conf-file=/etc/pam_ldap.conf \
                --with-ldap-secret-file=/etc/pam_ldap.secret
 
@@ -64,7 +61,7 @@ build
 
        install
                # Create directory layout
-               mkdir -pv %{BUILDROOT}/{etc,%{lib}/security,%{libdir}}
+               mkdir -pv %{BUILDROOT}/{etc,%{libdir}/security}
 
                # Prevent to install an ldap.conf
                touch %{BUILDROOT}/etc/ldap.conf
@@ -82,6 +79,10 @@ end
 
 packages
        package %{name}
+               conflicts
+                       filesystem < 002
+               end
+       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index dda6e6104a7dd811d9a3e22a50eee2783006a8fd..bfe7cdd8a4c528570da5c094343662d1b98833bb 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = parted
 version    = 2.1
-release    = 2
+release    = 3
 
 groups     = Applications/System
 url        = http://www.gnu.org/software/parted
@@ -33,21 +33,21 @@ build
        end
 
        configure_options += \
-               --libdir=/lib \
-               --enable-selinux
+               --libdir=/%{lib} \
+               --enable-selinux \
+               --disable-Werror
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/usr/lib
-               mv -v %{BUILDROOT}/lib/pkgconfig %{BUILDROOT}/usr/lib/
-               rm -rf %{BUILDROOT}/lib/libparted{,-2.1}.so
-               ln -svf ../../lib/libparted-%{version}.so.0 %{BUILDROOT}/usr/lib/libparted-%{version}.so
-               ln -svf libparted-%{version}.so %{BUILDROOT}/usr/lib/libparted.so
+               mkdir -pv %{BUILDROOT}%{libdir}
+               mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir}
+               rm -rf %{BUILDROOT}/%{lib}/libparted{,-2.1}.so
+               ln -svf ../../%{lib}/libparted-%{version}.so.0 %{BUILDROOT}%{libdir}/libparted-%{version}.so
+               ln -svf libparted-%{version}.so %{BUILDROOT}%{libdir}/libparted.so
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index 662e49b37fc65312279e4088cc1757d6dce78f73..cae3a7cee0ff0ce89ed49d2c2f128e71a79fd053 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = paxtest
 version    = 0.9.9
-release    = 3
+release    = 4
 
 groups     = Security/Tools
 url        = http://pax.grsecurity.org/
@@ -22,20 +22,24 @@ sources    = %{thisapp}.tgz
 
 build
        build
-               make -f Makefile.psm RUNDIR=/usr/lib/paxtest \
+               make -f Makefile.psm RUNDIR=%{libdir}/paxtest \
                        %{PARALLELISMFLAGS}
        end
 
        install
                make -f Makefile.psm install DESTDIR=%{BUILDROOT} \
-                       RUNDIR=/usr/lib/paxtest BINDIR=/usr/bin
+                       RUNDIR=%{libdir}/paxtest BINDIR=%{bindir}
        end
 
+       # Ignore errors on extract-debuginfo, because this
+       # package contains wrong/broken/unoptimized files by
+       # intention.
+       debuginfo_options = || :
 end
 
 quality-agent
        whitelist_execstack
-               /usr/lib/paxtest
+               %{libdir}/paxtest
        end
 end
 
index 1875f29260b4db016d88d828498f465fcb7739b4..9615bb355c7ed194a4300b55cec38bf5909824a8 100644 (file)
@@ -4,8 +4,10 @@
 ###############################################################################
 
 name       = pcre
-version    = 8.21
-release    = 2
+version    = 8.30
+release    = 1
+
+compat_version = 8.21
 
 groups     = System/Libraries
 url        = http://www.pcre.org/
@@ -19,12 +21,12 @@ description
 end
 
 source_dl  = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+sources   += %{name}-%{compat_version}.tar.gz
 
 build
        requires
                bzip2-devel
                gcc-c++
-               pkg-config
                readline-devel
                zlib-devel
        end
@@ -33,14 +35,23 @@ build
                --disable-static \
                --docdir=/usr/share/doc/pcre-%{version} \
                --enable-utf8 \
+               --enable-jit \
                --enable-pcregrep-libz \
                --enable-pcregrep-libbz2 \
                --enable-unicode-properties
 
+       build_cmds
+               cd %{DIR_SRC}/%{name}-%{compat_version}
+               ./configure \
+                       %{configure_options}
+
+               make %{PARALLELISMFLAGS}
+       end
+
        install_cmds
-               mkdir -pv %{BUILDROOT}/{,usr/}%{lib}
-               mv -v %{BUILDROOT}%{libdir}/libpcre.so.* %{BUILDROOT}/%{lib}
-               ln -v -sf ../../%{lib}/libpcre.so.0 %{BUILDROOT}%{libdir}/libpcre.so
+               cd %{DIR_SRC}/%{name}-%{compat_version}
+               install -m 644 .libs/libpcre.so.0.0.1 %{BUILDROOT}%{libdir}
+               ln -svf libpcre.so.0.0.1 %{BUILDROOT}%{libdir}/libprce.so.0
        end
 end
 
@@ -51,6 +62,14 @@ packages
                template DEVEL
        end
 
+       package %{name}-compat
+               summary = Compat libraries of %{thisapp}.
+
+               files
+                       %{libdir}/libpcre.so.0*
+               end
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
index dc91a5c96b103335916959996efdeb671a0dbb8e..a044e997fa5d1a19840176456bbacceb098f9375 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = pdns-recursor
 version    = 3.3
-release    = 6
+release    = 7
 
 groups     = Networking/DNS
 url        = http://powerdns.com/
@@ -72,7 +72,10 @@ packages
                        /etc/%{name}/recursor.conf
                end
 
-               prerequires = shadow-utils systemd-units
+               prerequires
+                       shadow-utils
+                       systemd-units
+               end
 
                script prein
                        %{create_user}
index 0d0737c0a31dd09e2538651ec41fe31743a5080d..a56570c65135819407c0f9e7147bc2f0825760ef 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = pdns
-version    = 3.0
+version    = 3.0.1
 release    = 1
 
 groups     = Networking/DNS
@@ -19,7 +19,7 @@ description
        Furthermore, PowerDNS interfaces with almost any database.
 end
 
-source_dl  =
+source_dl  = http://downloads.powerdns.com/releases/
 
 build
        requires
@@ -38,7 +38,7 @@ build
 
        configure_options += \
                --sysconfdir=/etc/pdns \
-               --libdir=/usr/lib/powerdns \
+               --libdir=%{libdir}/powerdns \
                --with-modules="" \
                --with-dynmodules="pipe geo ldap gsqlite3" \
                --with-lua \
@@ -49,9 +49,9 @@ build
                chrpath --delete %{BUILDROOT}/usr/bin/zone2ldap
                chrpath --delete %{BUILDROOT}/usr/bin/zone2sql
                chrpath --delete %{BUILDROOT}/usr/sbin/pdns_server
-               chrpath --delete %{BUILDROOT}/usr/lib/powerdns/*.so
+               chrpath --delete %{BUILDROOT}%{libdir}/powerdns/*.so
                chrpath --delete %{BUILDROOT}/usr/bin/dnsreplay
-               chrpath --delete %{BUILDROOT}//usr/bin/pdnssec
+               chrpath --delete %{BUILDROOT}/usr/bin/pdnssec
        end
 end
 
diff --git a/perl-BDB/perl-BDB.nm b/perl-BDB/perl-BDB.nm
new file mode 100644 (file)
index 0000000..508e914
--- /dev/null
@@ -0,0 +1,52 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-BDB
+version    = 1.9
+release    = 1
+thisapp    = BDB-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/BDB/
+license    = GPL+ or Artistic
+summary    = Asynchronous Berkeley DB access.
+
+description
+       Asynchronous Berkeley DB access.
+end
+
+source_dl  = http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
+
+build
+       requires
+               perl(common::sense)
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
+               libdb-devel
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+
+       make_install_targets = pure_install DESTDIR=%{BUILDROOT}
+end
+
+packages
+       package %{name}
+               requires
+                       perl
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/perl-Coro/perl-Coro.nm b/perl-Coro/perl-Coro.nm
new file mode 100644 (file)
index 0000000..e263a67
--- /dev/null
@@ -0,0 +1,65 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Coro
+version    = 6.08
+release    = 1
+thisapp    = Coro-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Coro/
+license    = GPL+ or Artistic
+summary    = The only real threads in perl.
+
+description
+       This module collection manages continuations in general, most often in the
+       form of cooperative threads (also called coros, or simply "coro" in the
+       documentation). They are similar to kernel threads but don't (in general) run
+       in parallel at the same time even on SMP machines
+end
+
+source_dl  = http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
+       end
+
+       prepare_cmds
+               # Fix bad path for perl interpreter.
+               for F in Coro/jit-*.pl; do
+                       sed -i -e '/^#!/d' "$F"
+               done
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=perl OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       make_install_targets = pure_install DESTDIR=%{BUILDROOT}
+end
+
+packages
+       package %{name}
+               filter_requires
+                       AnyEvent
+                       EV
+                       Event
+                       Guard
+                       Storable
+                       Coro
+               end
+
+               requires
+                       perl
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 8eb1500c0916082eb401ecc6e8aefd8f29af7db5..9e5a596f9f84938e35b82226f201bd77443bd57f 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-Crypt-PasswdMD5
 version    = 1.3
-release    = 1
+release    = 2
 arch       = noarch
 thisapp    = Crypt-PasswdMD5-%{version}
 
@@ -30,7 +30,7 @@ build
                make %{PARALLELISMFLAGS}
        end
 
-       make_install_targets = pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
+       make_install_targets = pure_install
 end
 
 packages
diff --git a/perl-DBI/perl-DBI.nm b/perl-DBI/perl-DBI.nm
new file mode 100644 (file)
index 0000000..84cb0e1
--- /dev/null
@@ -0,0 +1,58 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-DBI
+version    = 1.618
+release    = 1
+thisapp    = DBI-%{version}
+
+groups     = Development/Libraries
+url        = http://dbi.perl.org
+license    = GPL+ or Artistic
+summary    = A database access API for perl.
+
+description
+       DBI is a database access Application Programming Interface (API) for
+       the Perl Language.
+end
+
+source_dl  = http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
+               perl(Carp)
+               perl(Test::Simple)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+
+       make_install_targets = pure_install DESTDIR=%{BUILDROOT}
+end
+
+packages
+       package %{name}
+               filter_requires
+                       RPC
+                       Win32
+               end
+
+               requires
+                       perl
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 96ad90b98fbe8542e7f52fbf1ea96303744b4298..8c34a8610c3d1d4d4a426ca9f9ca411f4f10bf52 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-Digest-SHA1
 version    = 2.13
-release    = 1
+release    = 3
 thisapp    = Digest-SHA1-%{version}
 
 groups     = Development/Libraries
@@ -32,6 +32,7 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/
 build
        requires
                perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
        end
 
        build
@@ -39,7 +40,7 @@ build
                make %{PARALLELISMFLAGS}
        end
 
-       make_install_targets = pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
+       make_install_targets = pure_install
 end
 
 packages
index 439449cb71e77e9f1d10b0b166e7dd562d3bf2de..b5bce3ffab11b51ba1b2b64060ba02b1311a95db 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-FCGI
 version    = 0.74
-release    = 1
+release    = 2
 thisapp    = FCGI-%{version}
 
 groups     = Development/Libraries
@@ -22,6 +22,7 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/
 build
        requires
                perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
        end
 
        build
diff --git a/perl-IO-AIO/perl-IO-AIO.nm b/perl-IO-AIO/perl-IO-AIO.nm
new file mode 100644 (file)
index 0000000..2565f49
--- /dev/null
@@ -0,0 +1,58 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-IO-AIO
+version    = 4.15
+release    = 1
+thisapp    = IO-AIO-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/IO-AIO/
+license    = GPL+ or Artistic
+summary    = Perl module for Asynchronous Input/Output.
+
+description
+       This module implements asynchronous I/O using whatever means your operating
+       system supports.
+end
+
+source_dl  = http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
+               perl(Carp)
+               perl(common::sense)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+
+       make_install_targets = pure_install DESTDIR=%{BUILDROOT}
+
+       install_cmds
+               # Remove script we don't want packaged
+               rm -rvf %{BUILDROOT}%{bindir}/treescan
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 9b1cf1a8f134cee0d305f2ef0db037620ef92b87..8a20f72211cdaa148f3557b2046af6a1330226b7 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-WWW-Curl
 version    = 4.15
-release    = 1
+release    = 2
 thisapp    = WWW-Curl-%{version}
 
 groups     = Development/Libraries
@@ -31,7 +31,7 @@ build
                make %{PARALLELISMFLAGS}
        end
 
-       make_install_targets = pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
+       make_install_targets = pure_install
 end
 
 packages
diff --git a/perl-common-sense/perl-common-sense.nm b/perl-common-sense/perl-common-sense.nm
new file mode 100644 (file)
index 0000000..f6dfb0e
--- /dev/null
@@ -0,0 +1,53 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-common-sense
+version    = 3.5
+release    = 1
+arch       = noarch
+thisapp    = common-sense-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/common-sense
+license    = GPL+ or Artistic
+summary    = "Common sense" Perl defaults.
+
+description
+       This module implements some sane defaults for Perl programs, as defined
+       by two typical (or not so typical - use your common sense) specimens of
+
+       Perl coders:
+               - use strict qw(vars subs);
+               - use feature qw(say state switch);
+               - no warnings;
+end
+
+source_dl  = http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+
+       make_install_targets = pure_install DESTDIR=%{BUILDROOT}
+end
+
+packages
+       package %{name}
+               requires
+                       perl
+               end
+       end
+end
diff --git a/plymouth/boot-duration b/plymouth/boot-duration
new file mode 100644 (file)
index 0000000..7fe728c
--- /dev/null
@@ -0,0 +1,39 @@
+0.222:RCkernelparam
+0.223:RChostname
+0.238:RCmountfs
+0.275:RCswap
+0.330:microcode_ctl
+0.357:cpuspeed
+0.365:ip6tables
+0.380:iptables
+0.385:isdn
+0.504:auditd
+0.508:restorecond
+0.523:rsyslog
+0.530:irqbalance
+0.533:rpcbind
+0.549:nfslock
+0.561:mdmonitor
+0.563:rpcidmapd
+0.578:rpcgssd
+0.579:messagebus
+0.580:fuse
+0.594:netfs
+0.600:acpid
+0.611:haldaemon
+0.660:pcscd
+0.691:udev-post
+0.703:portreserve
+0.712:setroubleshoot
+0.749:bluetooth
+0.738:sshd
+0.763:ntpd
+0.807:sendmail
+0.876:crond
+0.902:kerneloops
+0.907:smolt
+0.915:atd
+0.927:avahi-daemon
+0.941:cups
+0.983:anacron
+0.992:local
diff --git a/plymouth/patches/plymouth-0.8.0-everything-is-better-in-red.patch b/plymouth/patches/plymouth-0.8.0-everything-is-better-in-red.patch
new file mode 100644 (file)
index 0000000..57635cd
--- /dev/null
@@ -0,0 +1,16 @@
+diff -up plymouth-0.8.0/src/plugins/splash/text/plugin.c.red plymouth-0.8.0/src/plugins/splash/text/plugin.c
+--- plymouth-0.8.0/src/plugins/splash/text/plugin.c.red        2009-11-19 14:40:24.000000000 -0500
++++ plymouth-0.8.0/src/plugins/splash/text/plugin.c    2009-11-19 14:41:40.000000000 -0500
+@@ -184,10 +184,10 @@ view_start_animation (view_t *view)
+                                     0xffffff);
+   ply_terminal_set_color_hex_value (terminal,
+                                     PLY_TERMINAL_COLOR_BLUE,
+-                                    0x0073B3);
++                                    0x880400);
+   ply_terminal_set_color_hex_value (terminal,
+                                     PLY_TERMINAL_COLOR_BROWN,
+-                                    0x00457E);
++                                    0x880400);
+   ply_text_display_set_background_color (view->display,
+                                          PLY_TERMINAL_COLOR_BLACK);
diff --git a/plymouth/patches/plymouth-no-gtk.patch b/plymouth/patches/plymouth-no-gtk.patch
new file mode 100644 (file)
index 0000000..e9bf703
--- /dev/null
@@ -0,0 +1,32 @@
+diff -Nur plymouth-0.8.4.orig/configure.ac plymouth-0.8.4/configure.ac
+--- plymouth-0.8.4.orig/configure.ac   2011-03-31 02:45:20.000000000 +0000
++++ plymouth-0.8.4/configure.ac        2011-11-04 10:12:55.436686905 +0000
+@@ -52,10 +52,6 @@
+   AC_SUBST(PANGO_LIBS)
+ fi
+-PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.12.0 ])
+-AC_SUBST(GTK_CFLAGS)
+-AC_SUBST(GTK_LIBS)
+-
+ AC_ARG_ENABLE(libdrm_intel, AS_HELP_STRING([--enable-libdrm_intel],[enable building with libdrm_intel support]),enable_libdrm_intel=$enableval,enable_libdrm_intel=yes)
+ AM_CONDITIONAL(ENABLE_LIBDRM_INTEL,  [test "$enable_libdrm_intel" = yes])
+diff -Nur plymouth-0.8.4.orig/src/Makefile.am plymouth-0.8.4/src/Makefile.am
+--- plymouth-0.8.4.orig/src/Makefile.am        2011-03-31 02:48:57.000000000 +0000
++++ plymouth-0.8.4/src/Makefile.am     2011-11-04 10:13:42.687191109 +0000
+@@ -1,4 +1,4 @@
+-SUBDIRS = libply libply-splash-core libply-splash-graphics . plugins client viewer tests
++SUBDIRS = libply libply-splash-core libply-splash-graphics . plugins client tests
+ if ENABLE_UPSTART_MONITORING
+ SUBDIRS += upstart-bridge
+ endif
+diff -Nur plymouth-0.8.4.orig/src/plugins/renderers/Makefile.am plymouth-0.8.4/src/plugins/renderers/Makefile.am
+--- plymouth-0.8.4.orig/src/plugins/renderers/Makefile.am      2011-02-01 19:22:26.000000000 +0000
++++ plymouth-0.8.4/src/plugins/renderers/Makefile.am   2011-11-04 10:14:15.185225691 +0000
+@@ -1,3 +1,3 @@
+-SUBDIRS = frame-buffer x11 drm
++SUBDIRS = frame-buffer drm
+ MAINTAINERCLEANFILES = Makefile.in
+
diff --git a/plymouth/plymouth-update-initrd b/plymouth/plymouth-update-initrd
new file mode 100644 (file)
index 0000000..c07b561
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/bash
+/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)
diff --git a/plymouth/plymouth.nm b/plymouth/plymouth.nm
new file mode 100644 (file)
index 0000000..c46ceb7
--- /dev/null
@@ -0,0 +1,321 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = plymouth
+version    = 0.8.4
+release    = 2
+
+groups     = System/Base
+url        = http://www.freedesktop.org/wiki/Software/Plymouth
+license    = GPLv2+
+summary    = Graphical Boot Animation and Logger.
+
+description
+       Plymouth provides an attractive graphical boot animation in
+       place of the text messages that normally get shown. Text
+       messages are instead redirected to a log file for viewing
+       after boot.
+end
+
+source_dl  = http://www.freedesktop.org/software/plymouth/releases/
+sources    = %{thisapp}.tar.bz2
+
+build
+       requires
+               autoconf
+               automake
+               cairo-devel
+               glib2-devel
+               pkgconfig(libdrm)
+               pkgconfig(libdrm_radeon)
+               pkgconfig(libdrm_nouveau)
+               libpng-devel
+               pango-devel
+       end
+
+       enable_libdrm_intel = 0
+
+       if "%{DISTRO_MACHINE}" == "x86_64"
+               enable_libdrm_intel = 1
+               requires += pkgconfig(libdrm_intel)
+       end
+
+       if "%{DISTRO_MACHINE}" == "i686"
+               enable_libdrm_intel = 1
+               requires += pkgconfig(libdrm_intel)
+       end
+
+       CFLAGS += -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
+
+       configure_options += \
+               --libexecdir=/usr/lib \
+               --enable-tracing \
+               --disable-tests \
+               --with-logo=%{datadir}/pixmaps/system-logo-white.png \
+               --with-background-start-color-stop=0x880400 \
+               --with-background-end-color-stop=0x000000 \
+               --with-background-color=0x880400 \
+               --disable-gdm-transition \
+               --enable-systemd-integration \
+               --without-system-root-install \
+               --without-rhgb-compat-link \
+               --without-log-viewer
+
+       if "%{enable_libdrm_intel}" == "0"
+               configure_options += --disable-libdrm_intel
+       end
+
+       prepare_cmds
+               autoreconf -vfi
+       end
+
+       install_cmds
+               mkdir -pv %{BUILDROOT}%{datadir}/plymouth
+               mkdir -pv %{BUILDROOT}%{localstatedir}/lib/plymouth
+               cp -vf %{DIR_SOURCE}/boot-duration \
+                       %{BUILDROOT}%{datadir}/plymouth/default-boot-duration
+               cp -vf %{DIR_SOURCE}/boot-duration \
+                       %{BUILDROOT}%{localstatedir}/lib/plymouth
+
+               # Override plymouth-update-initrd to work dracut or mkinitrd
+               cp -vf %{DIR_SOURCE}/plymouth-update-initrd \
+                       %{BUILDROOT}/usr/lib/plymouth/plymouth-update-initrd
+               chmod 755 %{BUILDROOT}/usr/lib/plymouth/plymouth-update-initrd
+       end
+end
+
+packages
+       package %{name}
+               groups += Base
+
+               prerequires
+                       coreutils
+               end
+
+               requires
+                       %{name}-libs = %{thisver}
+                       %{name}-scripts = %{thisver}
+                       %{name}-system-theme = %{thisver}
+                       initscripts
+               end
+
+               configfiles
+                       /etc/plymouth/plymouthd.conf
+               end
+
+               script postin
+                       if [ ! -f "%{localstatedir}/lib/plymouth/boot-duration" ]; then
+                               cp -f %{datadir}/plymouth/default-boot-duration \
+                                       %{localstatedir}/lib/plymouth/boot-duration
+                       fi
+               end
+
+               script posttransin
+                       /usr/lib/plymouth/plymouth-generate-initrd >/dev/null 2>&1
+               end
+
+               script postun
+                       rm -f /boot/initrd-plymouth.img
+               end
+       end
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+
+               requires = plymouth-libs = %{thisver}
+       end
+
+       package %{name}-scripts
+               summary = Plymouth related scripts.
+               descrtiption
+                       This package contains scripts that help to integrate
+                       Plymouth with the system.
+               end
+
+               prerequires = /usr/bin/plymouth
+
+               requires
+                       plymouth = %{thisver}
+                       coreutils
+                       cpio
+                       dracut
+                       findutils
+                       grubby
+                       gzip
+               end
+
+               files
+                       %{sbindir}/plymouth-set-default-theme
+                       %{sbindir}/plymouth-set-default-plugin
+                       /usr/lib/plymouth/plymouth-update-initrd
+                       /usr/lib/plymouth/plymouth-generate-initrd
+                       /usr/lib/plymouth/plymouth-populate-initrd
+               end
+       end
+
+       package %{name}-plugin-label
+               summary = Plymouth label plugin.
+               description
+                       This package contains the label plugin for Plymouth.
+                       It provides the ability to render text on graphical boot
+                       splashes using pango and cairo.
+               end
+
+               files
+                       %{libdir}/plymouth/label.so
+               end
+       end
+
+       package %{name}-plugin-fade-throbber
+               summary = Plymouth fade-throbber plugin.
+               description
+                       The package contains the fade-throbber plugin for Plymouth.
+                       It features a centered image that fades in and out while
+                       other images pulsate around during system boot up.
+               end
+
+               requires
+                       %{name}-plugin-label
+               end
+
+               files
+                       %{libdir}/plymouth/fade-throbber.so
+               end
+       end
+
+       package %{name}-plugin-throbgress
+               summary = Plymouth throbgress plugin.
+               description
+                       This package contains the throbgress plugin for Plymouth.
+                       It features a centered logo and animated spinner that spins
+                       repeatedly while a progress bar advances at the bootom of the
+                       screen.
+               end
+
+               requires
+                       %{name}-plugin-label
+               end
+
+               files
+                       %{libdir}/plymouth/throbgress.so
+               end
+       end
+
+       package %{name}-plugin-space-flares
+               summary = Plymouth space-flares plugin.
+               description
+                       This package contains the space-flares plugin for Plymouth.
+                       It features a corner image with animated flares.
+               end
+
+               requires
+                       %{name}-plugin-label
+               end
+
+               files
+                       %{libdir}/plymouth/space-flares.so
+               end
+       end
+
+       package %{name}-plugin-two-step
+               summary = Plymouth two-step plugin.
+               description
+                       This package contains the two-step plugin for Plymouth.
+                       It features a corner image with animated flares.
+               end
+
+               requires
+                       %{name}-plugin-label
+               end
+
+               files
+                       %{libdir}/plymouth/two-step.so
+               end
+       end
+
+       package %{name}-plugin-script
+               files
+                       %{libdir}/plymouth/script.so
+               end
+       end
+
+       template THEME
+               summary = The plymouth "%{theme_name}" theme.
+               description
+                       This package contains the "%{theme_name}" boot
+                       splash theme for plymouth.
+               end
+
+               requires
+                       %{name}-scripts = %{thisver}
+               end
+
+               files
+                       %{datadir}/plymouth/themes/%{theme_name}
+               end
+
+               script postun
+                       if [ "$(%{sbindir}/plymouth-set-default-theme)" = %{theme_name}" ]; then
+                               %{sbindir}/plymouth-set-default-theme --reset
+                               /usr/lib/plymouth/plymouth-generate-initrd
+                       fi
+               end
+       end
+
+       package %{name}-theme-fade-in
+               template THEME
+               theme_name = fade-in
+
+               requires += %{name}-plugin-fade-throbber=%{thisver}
+       end
+
+       package %{name}-theme-spinner
+               template THEME
+               theme_name = spinner
+
+               requires += %{name}-plugin-two-step=%{thisver}
+       end
+
+       package %{name}-theme-spinfinity
+               template THEME
+               theme_name = spinfinity
+
+               requires += %{name}-plugin-throbgress=%{thisver}
+       end
+
+       package %{name}-theme-script
+               template THEME
+               theme_name = script
+
+               requires += %{name}-plugin-script=%{thisver}
+       end
+
+       package %{name}-theme-solar
+               template THEME
+               theme_name = solar
+
+               requires += %{name}-plugin-space-flares=%{thisver}
+       end
+
+       package %{name}-system-theme
+               summary = Plymouth default theme.
+               description
+                       This metapackage tracks the current distribution default theme.
+               end
+
+               groups += Base
+
+               requires
+                       system-logos
+               end
+
+               # Don't package any files.
+               files =
+       end
+end
diff --git a/policycoreutils/patches/policycoreutils-gui.patch b/policycoreutils/patches/policycoreutils-gui.patch
new file mode 100644 (file)
index 0000000..f956a2b
--- /dev/null
@@ -0,0 +1,14286 @@
+diff -up policycoreutils-2.1.8/gui/booleansPage.py.gui policycoreutils-2.1.8/gui/booleansPage.py
+--- policycoreutils-2.1.8/gui/booleansPage.py.gui      2011-11-07 15:12:01.891834224 -0500
++++ policycoreutils-2.1.8/gui/booleansPage.py  2011-11-07 15:12:01.892834224 -0500
+@@ -0,0 +1,247 @@
++#
++# booleansPage.py - GUI for Booleans page in system-config-securitylevel
++#
++# Dan Walsh <dwalsh@redhat.com>
++#
++# Copyright 2006, 2007 Red Hat, Inc.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# 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
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++from glob import fnmatch
++
++class Modifier:
++    def __init__(self,name, on, save):
++        self.on=on
++        self.name=name
++        self.save=save
++
++    def set(self,value):
++        self.on=value
++        self.save=True
++
++    def isOn(self):
++        return self.on
++
++class Boolean(Modifier):
++    def __init__(self,name, val, save=False):
++        Modifier.__init__(self,name, val, save)
++
++ACTIVE = 0
++MODULE = 1
++DESC = 2
++BOOLEAN = 3
++
++class booleansPage:
++    def __init__(self, xml, doDebug=None):
++        self.xml = xml
++        xml.signal_connect("on_lockdown_clicked", self.on_lockdown_clicked)
++        self.window = self.xml.get_widget("mainWindow").get_root_window()
++        self.local = False
++        self.types=[]
++        self.selinuxsupport = True
++        self.typechanged = False
++        self.doDebug = doDebug
++        self.busy_cursor = gtk.gdk.Cursor(gtk.gdk.WATCH)
++        self.ready_cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
++
++        # Bring in widgets from glade file.
++        self.typeHBox = xml.get_widget("typeHBox")
++        self.booleanSW = xml.get_widget("booleanSW")
++        self.booleansFilter = xml.get_widget("booleansFilter")
++        self.booleansFilter.connect("focus_out_event", self.filter_changed)
++        self.booleansFilter.connect("activate", self.filter_changed)
++        
++        self.booleansView = xml.get_widget("booleansView")
++        self.typeLabel = xml.get_widget("typeLabel")
++        self.modifySeparator = xml.get_widget("modifySeparator")
++
++        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)        
++        self.booleansView.set_model(self.store)
++
++        checkbox = gtk.CellRendererToggle()
++        checkbox.connect("toggled", self.boolean_toggled)
++        col = gtk.TreeViewColumn('Active', checkbox, active = ACTIVE)
++        col.set_clickable(True)
++        col.set_sort_column_id(ACTIVE)
++        self.booleansView.append_column(col)
++
++        col = gtk.TreeViewColumn("Module", gtk.CellRendererText(), text=MODULE)
++        col.set_sort_column_id(MODULE)
++        col.set_resizable(True)
++        self.booleansView.append_column(col)
++
++        col = gtk.TreeViewColumn("Description", gtk.CellRendererText(), text=DESC)
++      col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
++        col.set_fixed_width(400)
++        col.set_sort_column_id(DESC)
++        col.set_resizable(True)
++        self.booleansView.append_column(col)
++
++        col = gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=BOOLEAN)
++        col.set_sort_column_id(BOOLEAN)
++        col.set_resizable(True)
++        self.booleansView.set_search_equal_func(self.__search)
++        self.booleansView.append_column(col)
++        self.filter=""
++        self.load(self.filter)
++            
++    def __search(self, model, col, key, i):
++        sort_col = self.store.get_sort_column_id()[0]
++        if sort_col > 0:
++            val = model.get_value(i, sort_col)
++            if val.lower().startswith(key.lower()):
++                return False
++        return True
++
++    def wait(self):
++        self.window.set_cursor(self.busy_cursor)
++        semanagePage.idle_func()
++    
++    def ready(self):
++        self.window.set_cursor(self.ready_cursor)
++        semanagePage.idle_func()
++    
++    def deleteDialog(self):
++        store, iter = self.booleansView.get_selection().get_selected()
++        if iter == None:
++            return
++        boolean = store.get_value(iter, BOOLEAN)
++        # change cursor
++        if boolean == None:
++            return
++        try:
++            self.wait()
++            (rc, out) = commands.getstatusoutput("semanage boolean -d %s" % boolean)
++            
++            self.ready()
++            if rc != 0:
++                return self.error(out)
++            self.load(self.filter)
++        except ValueError, e:
++            self.error(e.args[0])
++
++    def filter_changed(self, *arg):
++        filter =  arg[0].get_text()
++        if filter != self.filter:
++            self.load(filter)
++            self.filter=filter
++        
++    def use_menus(self):
++        return False
++    
++    def get_description(self):
++        return _("Boolean")
++
++    def match(self,key, filter=""):
++        try:
++            f=filter.lower()
++            cat=self.booleans.get_category(key).lower()
++            val=self.booleans.get_desc(key).lower()
++            k=key.lower()
++            return val.find(f) >= 0 or k.find(f) >= 0 or cat.find(f) >= 0
++        except:
++            return False
++
++
++    def load(self, filter=None):
++        self.store.clear()
++        self.booleans = seobject.booleanRecords()
++        booleansList = self.booleans.get_all(self.local)
++        for name in booleansList:
++            rec = booleansList[name]
++            if self.match(name, filter):
++                iter=self.store.append()
++                self.store.set_value(iter, ACTIVE, rec[2] == 1)
++                self.store.set_value(iter, MODULE, self.booleans.get_category(name))
++                self.store.set_value(iter, DESC, self.booleans.get_desc(name))
++                self.store.set_value(iter, BOOLEAN, name)
++
++    def boolean_toggled(self, widget, row):
++        iter = self.store.get_iter(row)
++        val = self.store.get_value(iter, ACTIVE)
++        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)
++        commands.getstatusoutput(setsebool)
++        self.load(self.filter)
++        self.ready()
++
++    def on_revert_clicked(self, button):
++        self.wait()
++        setsebool="semanage boolean --deleteall"
++        commands.getstatusoutput(setsebool)
++        self.load(self.filter)
++        self.ready()
++
++    def on_lockdown_clicked(self, button):
++        try:
++            os.spawnl(os.P_NOWAIT, "/usr/share/system-config-selinux/lockdown.py")
++        except ValueError, e:
++            self.error(e.args[0])
++
++    def on_local_clicked(self, button):
++        self.local = not self.local
++        self.revertButton.set_sensitive(self.local)
++
++        if self.local:
++            button.set_label(_("all"))
++        else:
++            button.set_label(_("Customized"))
++
++        self.load(self.filter)
++        return True
++        
+diff -up policycoreutils-2.1.8/gui/domainsPage.py.gui policycoreutils-2.1.8/gui/domainsPage.py
+--- policycoreutils-2.1.8/gui/domainsPage.py.gui       2011-11-07 15:12:01.892834224 -0500
++++ policycoreutils-2.1.8/gui/domainsPage.py   2011-11-07 15:12:01.892834224 -0500
+@@ -0,0 +1,154 @@
++## domainsPage.py - show selinux domains
++## Copyright (C) 2009 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import commands
++import gobject
++import sys
++import seobject
++import selinux
++from semanagePage import *;
++import polgen
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++class domainsPage(semanagePage):
++    def __init__(self, xml):
++        semanagePage.__init__(self, xml, "domains", _("Process Domain"))
++        self.domain_filter = xml.get_widget("domainsFilterEntry")
++        self.domain_filter.connect("focus_out_event", self.filter_changed)
++        self.domain_filter.connect("activate", self.filter_changed)
++
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
++        self.view.set_model(self.store)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Domain Name"), gtk.CellRendererText(), text = 0)
++        col.set_sort_column_id(0)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
++        col = gtk.TreeViewColumn(_("Mode"), gtk.CellRendererText(), text = 1)
++        col.set_sort_column_id(1)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.view.get_selection().connect("changed", self.itemSelected)
++
++        self.permissive_button = xml.get_widget("permissiveButton")
++        self.enforcing_button = xml.get_widget("enforcingButton")
++
++        self.domains=polgen.get_all_domains()
++        self.load()
++        
++    def get_modules(self):
++        modules=[]
++        fd=os.popen("semodule -l")
++        mods = fd.readlines()
++        fd.close()
++        for l in mods:
++            modules.append(l.split()[0])
++        return modules
++
++    def load(self, filter=""):
++        self.filter=filter            
++        self.store.clear()
++        try:
++            modules=self.get_modules()
++            for domain in self.domains:
++                if not self.match(domain, filter):
++                    continue
++                iter = self.store.append()
++                self.store.set_value(iter, 0, domain)
++                t = "permissive_%s_t" % domain 
++                if t in modules:
++                    self.store.set_value(iter, 1, _("Permissive"))
++                else:
++                    self.store.set_value(iter, 1, "")
++        except:
++            pass
++        self.view.get_selection().select_path ((0,))
++    
++    def itemSelected(self, selection):
++        store, iter = selection.get_selected()
++        if iter == None:
++            return
++        p = store.get_value(iter, 1) == _("Permissive")
++        self.permissive_button.set_sensitive(not p)
++        self.enforcing_button.set_sensitive(p)
++
++    def deleteDialog(self):
++        # Do nothing
++        return self.delete()
++    
++    def delete(self):
++        selection = self.view.get_selection()
++        store, iter = selection.get_selected()
++        domain = store.get_value(iter, 0)
++        try:
++            self.wait()
++            status, output = commands.getstatusoutput("semanage permissive -d %s_t" % domain)
++            self.ready()
++            if status != 0:
++                self.error(output)
++            else:
++                domain = store.set_value(iter, 1, "")
++                self.itemSelected(selection)
++                
++        except ValueError, e:
++            self.error(e.args[0])
++
++    def propertiesDialog(self):
++        # Do nothing
++        return
++    
++    def addDialog(self):
++        # Do nothing
++        return self.add()
++    
++    def add(self):
++        selection = self.view.get_selection()
++        store, iter = selection.get_selected()
++        domain = store.get_value(iter, 0)
++        try:
++            self.wait()
++            status, output = commands.getstatusoutput("semanage permissive -a %s_t" % domain)
++            self.ready()
++            if status != 0:
++                self.error(output)
++            else:
++                domain = store.set_value(iter, 1, _("Permissive"))
++                self.itemSelected(selection)
++                
++        except ValueError, e:
++            self.error(e.args[0])
+diff -up policycoreutils-2.1.8/gui/fcontextPage.py.gui policycoreutils-2.1.8/gui/fcontextPage.py
+--- policycoreutils-2.1.8/gui/fcontextPage.py.gui      2011-11-07 15:12:01.893834225 -0500
++++ policycoreutils-2.1.8/gui/fcontextPage.py  2011-11-07 15:12:01.893834225 -0500
+@@ -0,0 +1,223 @@
++## fcontextPage.py - show selinux mappings
++## Copyright (C) 2006 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import gtk
++import gtk.glade
++import os
++import gobject
++import seobject
++import commands
++from semanagePage import *;
++
++SPEC_COL = 0
++TYPE_COL = 1
++FTYPE_COL = 2
++
++class context:
++    def __init__(self, scontext):
++        self.scontext = scontext
++        con=scontext.split(":")
++        self.type = con[0]
++        if len(con) > 1:
++            self.mls = con[1]
++        else:
++            self.mls = "s0"
++        
++    def __str__(self):
++        return self.scontext
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++
++class fcontextPage(semanagePage):
++    def __init__(self, xml):
++        semanagePage.__init__(self, xml, "fcontext", _("File Labeling"))
++        self.fcontextFilter = xml.get_widget("fcontextFilterEntry")
++        self.fcontextFilter.connect("focus_out_event", self.filter_changed)
++        self.fcontextFilter.connect("activate", self.filter_changed)
++
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
++        self.view = xml.get_widget("fcontextView")
++        self.view.set_model(self.store)
++        self.view.set_search_equal_func(self.search)
++
++        col = gtk.TreeViewColumn(_("File\nSpecification"), gtk.CellRendererText(), text=SPEC_COL)
++      col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
++      col.set_fixed_width(250)
++        
++        col.set_sort_column_id(SPEC_COL)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        col = gtk.TreeViewColumn(_("Selinux\nFile Type"), gtk.CellRendererText(), text=TYPE_COL)
++
++      col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
++      col.set_fixed_width(250)
++        col.set_sort_column_id(TYPE_COL)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        col = gtk.TreeViewColumn(_("File\nType"), gtk.CellRendererText(), text=2)
++        col.set_sort_column_id(FTYPE_COL)
++        col.set_resizable(True)
++        self.view.append_column(col)
++
++        self.store.set_sort_column_id(SPEC_COL, gtk.SORT_ASCENDING)        
++        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):
++        try:
++            f=filter.lower()
++            for con in k:
++                k=con.lower()
++                if k.find(f) >= 0:
++                    return True
++            for con in fcon_dict[k]:
++                k=con.lower()
++                if k.find(f) >= 0:
++                    return True
++        except:
++            pass
++        return False
++
++    def load(self, filter=""):
++        self.filter=filter            
++        self.fcontext=seobject.fcontextRecords()
++        self.store.clear()
++        fcon_dict=self.fcontext.get_all(self.local)
++        keys = fcon_dict.keys()
++        keys.sort()
++        for k in keys:
++            if not self.match(fcon_dict, k, filter):
++                continue
++            iter=self.store.append()
++            self.store.set_value(iter, SPEC_COL, k[0])
++            self.store.set_value(iter, FTYPE_COL, k[1])
++            if fcon_dict[k]:
++                rec="%s:%s" % (fcon_dict[k][2], seobject.translate(fcon_dict[k][3],False))
++            else:
++                rec="<<None>>"
++            self.store.set_value(iter, 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)
++
++    def dialogInit(self):
++        store, iter = self.view.get_selection().get_selected()
++        self.fcontextEntry.set_text(store.get_value(iter, SPEC_COL))
++        self.fcontextEntry.set_sensitive(False)
++        scontext = store.get_value(iter, 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)
++        self.fcontextFileTypeCombo.set_sensitive(False)
++        
++    def dialogClear(self):
++        self.fcontextEntry.set_text("")
++        self.fcontextEntry.set_sensitive(True)
++        self.fcontextFileTypeCombo.set_sensitive(True)
++        self.fcontextTypeEntry.set_text("")
++        self.fcontextMLSEntry.set_text("s0")
++        
++    def delete(self):
++        store, iter = self.view.get_selection().get_selected()
++        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])
++
++    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()
++        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)
++            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)
++        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)
++            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 -up policycoreutils-2.1.8/gui/html_util.py.gui policycoreutils-2.1.8/gui/html_util.py
+--- policycoreutils-2.1.8/gui/html_util.py.gui 2011-11-07 15:12:01.894834226 -0500
++++ policycoreutils-2.1.8/gui/html_util.py     2011-11-07 15:12:01.894834226 -0500
+@@ -0,0 +1,164 @@
++# Authors: John Dennis <jdennis@redhat.com>
++#
++# Copyright (C) 2007 Red Hat, Inc.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++
++
++__all__ = [
++    'escape_html',
++    'unescape_html',
++    'html_to_text',
++
++    'html_document',
++]
++
++import htmllib
++import formatter as Formatter
++import string
++from types import *
++import StringIO
++
++#------------------------------------------------------------------------------
++
++class TextWriter(Formatter.DumbWriter):
++    def __init__(self, file=None, maxcol=80, indent_width=4):
++        Formatter.DumbWriter.__init__(self, file, maxcol)
++        self.indent_level = 0
++        self.indent_width = indent_width
++        self._set_indent()
++
++    def _set_indent(self):
++        self.indent_col = self.indent_level * self.indent_width
++        self.indent = ' ' * self.indent_col
++
++    def new_margin(self, margin, level):
++        self.indent_level = level
++        self._set_indent()
++
++    def send_label_data(self, data):
++        data = data + ' '
++        if len(data) > self.indent_col:
++            self.send_literal_data(data)
++        else:
++            offset = self.indent_col - len(data)
++            self.send_literal_data(' ' * offset + data)
++
++    def send_flowing_data(self, data):
++        if not data: return
++        atbreak = self.atbreak or data[0] in string.whitespace
++        col = self.col
++        maxcol = self.maxcol
++        write = self.file.write
++        col = self.col
++        if col == 0:
++            write(self.indent)
++            col = self.indent_col
++        for word in data.split():
++            if atbreak:
++                if col + len(word) >= maxcol:
++                    write('\n' + self.indent)
++                    col = self.indent_col
++                else:
++                    write(' ')
++                    col = col + 1
++            write(word)
++            col = col + len(word)
++            atbreak = 1
++        self.col = col
++        self.atbreak = data[-1] in string.whitespace
++            
++class HTMLParserAnchor(htmllib.HTMLParser):
++
++    def __init__(self, formatter, verbose=0):
++        htmllib.HTMLParser.__init__(self, formatter, verbose)
++
++    def anchor_bgn(self, href, name, type):
++        self.anchor = href
++
++    def anchor_end(self):
++        if self.anchor:
++            self.handle_data(' (%s) ' % self.anchor)
++            self.anchor = None
++
++#------------------------------------------------------------------------------
++
++def escape_html(s):
++    if s is None: return None
++    s = s.replace("&", "&amp;") # Must be done first!
++    s = s.replace("<", "&lt;")
++    s = s.replace(">", "&gt;")
++    s = s.replace("'", "&apos;")
++    s = s.replace('"', "&quot;")
++    return s
++
++
++def unescape_html(s):
++    if s is None: return None
++    if '&' not in s:
++        return s
++    s = s.replace("&lt;", "<")
++    s = s.replace("&gt;", ">")
++    s = s.replace("&apos;", "'")
++    s = s.replace("&quot;", '"')
++    s = s.replace("&amp;", "&") # Must be last
++    return s
++
++def html_to_text(html, maxcol=80):
++    try:
++        buffer = StringIO.StringIO()
++        formatter = Formatter.AbstractFormatter(TextWriter(buffer, maxcol))
++        parser = HTMLParserAnchor(formatter)
++        parser.feed(html)
++        parser.close()
++        text = buffer.getvalue()
++        buffer.close()
++        return text
++    except Exception, e:
++        log_program.error('cannot convert html to text: %s' % e)
++        return None
++
++def html_document(*body_components):
++    '''Wrap the body components in a HTML document structure with a valid header.
++    Accepts a variable number of arguments of of which canb be:
++    * string
++    * a sequences of strings (tuple or list).
++    * a callable object taking no parameters and returning a string or sequence of strings.
++    '''
++    head = '<html>\n  <head>\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\n  </head>\n  <body>\n'
++    tail = '\n  </body>\n</html>'
++
++    doc = head
++
++    for body_component in body_components:
++        if type(body_component) is StringTypes:
++            doc += body_component
++        elif type(body_component) in [TupleType, ListType]:
++            for item in body_component:
++                doc += item
++        elif callable(body_component):
++            result = body_component()
++            if type(result) in [TupleType, ListType]:
++                for item in result:
++                    doc += item
++            else:
++                doc += result
++        else:
++            doc += body_component
++
++    doc += tail
++    return doc
++
+diff -up policycoreutils-2.1.8/gui/lockdown.glade.gui policycoreutils-2.1.8/gui/lockdown.glade
+--- policycoreutils-2.1.8/gui/lockdown.glade.gui       2011-11-07 15:12:01.895834226 -0500
++++ policycoreutils-2.1.8/gui/lockdown.glade   2011-11-07 15:12:01.895834226 -0500
+@@ -0,0 +1,771 @@
++<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
++<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
++
++<glade-interface>
++<requires lib="gnome"/>
++<requires lib="bonobo"/>
++
++<widget class="GtkAboutDialog" id="aboutWindow">
++  <property name="border_width">5</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="name" translatable="yes">system-config-selinux</property>
++  <property name="copyright" translatable="yes">Copyright (c)2006 Red Hat, Inc.
++Copyright (c) 2006 Dan Walsh &lt;dwalsh@redhat.com&gt;</property>
++  <property name="wrap_license">False</property>
++  <property name="authors">Daniel Walsh &lt;dwalsh@redhat.com&gt;
++</property>
++  <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property>
++  <property name="logo">system-config-selinux.png</property>
++</widget>
++
++<widget class="GnomeApp" id="mainWindow">
++  <property name="width_request">800</property>
++  <property name="height_request">400</property>
++  <property name="title" translatable="yes">SELinux Boolean Lockdown</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_NONE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="icon">system-config-selinux.png</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++  <property name="enable_layout_config">True</property>
++
++  <child internal-child="dock">
++    <widget class="BonoboDock" id="bonobodock2">
++      <property name="visible">True</property>
++      <property name="allow_floating">True</property>
++
++      <child>
++      <widget class="BonoboDockItem" id="bonobodockitem3">
++        <property name="visible">True</property>
++        <property name="shadow_type">GTK_SHADOW_NONE</property>
++
++        <child>
++          <widget class="GtkMenuBar" id="menubar1">
++            <property name="visible">True</property>
++            <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
++            <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
++
++            <child>
++              <widget class="GtkMenuItem" id="file1">
++                <property name="visible">True</property>
++                <property name="stock_item">GNOMEUIINFO_MENU_FILE_TREE</property>
++
++                <child>
++                  <widget class="GtkMenu" id="file1_menu">
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="forward_menu_item">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">_Forward</property>
++                        <property name="use_underline">True</property>
++                        <signal name="activate" handler="on_forward_clicked" last_modification_time="Thu, 24 Apr 2008 10:18:41 GMT"/>
++                        <accelerator key="f" modifiers="GDK_CONTROL_MASK" signal="activate"/>
++
++                        <child internal-child="image">
++                          <widget class="GtkImage" id="image46">
++                            <property name="visible">True</property>
++                            <property name="stock">gtk-media-next</property>
++                            <property name="icon_size">1</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                          </widget>
++                        </child>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="previous_menu_item">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">_Previous</property>
++                        <property name="use_underline">True</property>
++                        <signal name="activate" handler="on_previous_clicked" last_modification_time="Thu, 24 Apr 2008 10:18:41 GMT"/>
++                        <accelerator key="p" modifiers="GDK_CONTROL_MASK" signal="activate"/>
++
++                        <child internal-child="image">
++                          <widget class="GtkImage" id="image47">
++                            <property name="visible">True</property>
++                            <property name="stock">gtk-media-previous</property>
++                            <property name="icon_size">1</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                          </widget>
++                        </child>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkSeparatorMenuItem" id="separator1">
++                        <property name="visible">True</property>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="save_as2">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Save As</property>
++                        <property name="use_underline">True</property>
++                        <signal name="activate" handler="on_save_clicked" last_modification_time="Thu, 03 Jul 2008 13:30:05 GMT"/>
++                        <accelerator key="s" modifiers="GDK_CONTROL_MASK" signal="activate"/>
++
++                        <child internal-child="image">
++                          <widget class="GtkImage" id="image48">
++                            <property name="visible">True</property>
++                            <property name="stock">gtk-save-as</property>
++                            <property name="icon_size">1</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                          </widget>
++                        </child>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="apply1">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Apply</property>
++                        <property name="use_underline">True</property>
++                        <signal name="activate" handler="on_apply_clicked" last_modification_time="Thu, 03 Jul 2008 13:25:23 GMT"/>
++                        <accelerator key="a" modifiers="GDK_CONTROL_MASK" signal="activate"/>
++
++                        <child internal-child="image">
++                          <widget class="GtkImage" id="image49">
++                            <property name="visible">True</property>
++                            <property name="stock">gtk-apply</property>
++                            <property name="icon_size">1</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                          </widget>
++                        </child>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="cancel">
++                        <property name="visible">True</property>
++                        <property name="stock_item">GNOMEUIINFO_MENU_EXIT_ITEM</property>
++                        <signal name="activate" handler="on_cancel_clicked" last_modification_time="Thu, 24 Apr 2008 10:18:41 GMT"/>
++                      </widget>
++                    </child>
++                  </widget>
++                </child>
++              </widget>
++            </child>
++
++            <child>
++              <widget class="GtkMenuItem" id="help1">
++                <property name="visible">True</property>
++                <property name="stock_item">GNOMEUIINFO_MENU_HELP_TREE</property>
++
++                <child>
++                  <widget class="GtkMenu" id="help1_menu">
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="about">
++                        <property name="visible">True</property>
++                        <property name="stock_item">GNOMEUIINFO_MENU_ABOUT_ITEM</property>
++                        <signal name="activate" handler="on_about_activate" last_modification_time="Fri, 06 Oct 2006 13:58:02 GMT"/>
++                      </widget>
++                    </child>
++                  </widget>
++                </child>
++              </widget>
++            </child>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="placement">BONOBO_DOCK_TOP</property>
++        <property name="band">0</property>
++        <property name="position">0</property>
++        <property name="offset">0</property>
++        <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE|BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL|BONOBO_DOCK_ITEM_BEH_LOCKED</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkHPaned" id="hpaned1">
++        <property name="visible">True</property>
++        <property name="can_focus">True</property>
++        <property name="position">0</property>
++
++        <child>
++          <widget class="GtkFrame" id="frame1">
++            <property name="border_width">5</property>
++            <property name="visible">True</property>
++            <property name="label_xalign">0</property>
++            <property name="label_yalign">0.5</property>
++            <property name="shadow_type">GTK_SHADOW_NONE</property>
++
++            <child>
++              <widget class="GtkAlignment" id="alignment1">
++                <property name="visible">True</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xscale">1</property>
++                <property name="yscale">1</property>
++                <property name="top_padding">0</property>
++                <property name="bottom_padding">0</property>
++                <property name="left_padding">12</property>
++                <property name="right_padding">0</property>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow21">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="booleanView">
++                        <property name="width_request">300</property>
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Select Management Object</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">False</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                </child>
++              </widget>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label45">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">label_item</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="shrink">False</property>
++            <property name="resize">False</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox1">
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkVBox" id="radio_vbox">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="html_scrolledwindow">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <placeholder/>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHButtonBox" id="savebox">
++                    <property name="visible">True</property>
++                    <property name="layout_style">GTK_BUTTONBOX_END</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkButton" id="button4">
++                        <property name="visible">True</property>
++                        <property name="can_default">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label">gtk-apply</property>
++                        <property name="use_stock">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_apply_clicked" last_modification_time="Thu, 03 Jul 2008 12:39:08 GMT"/>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkButton" id="savebutton">
++                        <property name="visible">True</property>
++                        <property name="can_default">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label">gtk-save-as</property>
++                        <property name="use_stock">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_save_clicked" last_modification_time="Thu, 03 Jul 2008 12:38:54 GMT"/>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                    <property name="pack_type">GTK_PACK_END</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="radiobox">
++                    <property name="homogeneous">True</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkRadioButton" id="enable_radiobutton">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <property name="active">False</property>
++                        <property name="inconsistent">False</property>
++                        <property name="draw_indicator">True</property>
++
++                        <child>
++                          <widget class="GtkAlignment" id="alignment2">
++                            <property name="visible">True</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xscale">0</property>
++                            <property name="yscale">0</property>
++                            <property name="top_padding">0</property>
++                            <property name="bottom_padding">0</property>
++                            <property name="left_padding">0</property>
++                            <property name="right_padding">0</property>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox15">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">2</property>
++
++                                <child>
++                                  <widget class="GtkImage" id="image20">
++                                    <property name="visible">True</property>
++                                    <property name="stock">gtk-yes</property>
++                                    <property name="icon_size">4</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkLabel" id="button1">
++                                    <property name="label" translatable="yes">Enable</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                            </child>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkRadioButton" id="disable_radiobutton">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <property name="active">False</property>
++                        <property name="inconsistent">False</property>
++                        <property name="draw_indicator">True</property>
++                        <property name="group">enable_radiobutton</property>
++
++                        <child>
++                          <widget class="GtkAlignment" id="alignment3">
++                            <property name="visible">True</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xscale">0</property>
++                            <property name="yscale">0</property>
++                            <property name="top_padding">0</property>
++                            <property name="bottom_padding">0</property>
++                            <property name="left_padding">0</property>
++                            <property name="right_padding">0</property>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox16">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">2</property>
++
++                                <child>
++                                  <widget class="GtkImage" id="image21">
++                                    <property name="visible">True</property>
++                                    <property name="stock">gtk-no</property>
++                                    <property name="icon_size">4</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label60">
++                                    <property name="visible">True</property>
++                                    <property name="label" translatable="yes">Disable</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                            </child>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkRadioButton" id="default_radiobutton">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <property name="active">False</property>
++                        <property name="inconsistent">False</property>
++                        <property name="draw_indicator">True</property>
++                        <property name="group">enable_radiobutton</property>
++
++                        <child>
++                          <widget class="GtkAlignment" id="alignment4">
++                            <property name="visible">True</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xscale">0</property>
++                            <property name="yscale">0</property>
++                            <property name="top_padding">0</property>
++                            <property name="bottom_padding">0</property>
++                            <property name="left_padding">0</property>
++                            <property name="right_padding">0</property>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox17">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">2</property>
++
++                                <child>
++                                  <widget class="GtkImage" id="image22">
++                                    <property name="visible">True</property>
++                                    <property name="stock">gtk-undo</property>
++                                    <property name="icon_size">4</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label61">
++                                    <property name="visible">True</property>
++                                    <property name="label" translatable="yes">Default</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                            </child>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">11</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHButtonBox" id="hbuttonbox4">
++                    <property name="visible">True</property>
++                    <property name="layout_style">GTK_BUTTONBOX_END</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkButton" id="cancelButton">
++                        <property name="visible">True</property>
++                        <property name="can_default">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label">gtk-quit</property>
++                        <property name="use_stock">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_cancel_clicked" last_modification_time="Thu, 24 Apr 2008 10:14:10 GMT"/>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkButton" id="previousButton">
++                        <property name="visible">True</property>
++                        <property name="can_default">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label">gtk-media-previous</property>
++                        <property name="use_stock">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_previous_clicked" last_modification_time="Thu, 24 Apr 2008 10:14:23 GMT"/>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkButton" id="forwardButton">
++                        <property name="visible">True</property>
++                        <property name="can_default">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label">gtk-media-forward</property>
++                        <property name="use_stock">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_forward_clicked" last_modification_time="Thu, 24 Apr 2008 10:14:38 GMT"/>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="shrink">True</property>
++            <property name="resize">True</property>
++          </packing>
++        </child>
++      </widget>
++      </child>
++    </widget>
++    <packing>
++      <property name="padding">0</property>
++      <property name="expand">True</property>
++      <property name="fill">True</property>
++    </packing>
++  </child>
++
++  <child internal-child="appbar">
++    <widget class="GnomeAppBar" id="appbar2">
++      <property name="visible">True</property>
++      <property name="has_progress">True</property>
++      <property name="has_status">True</property>
++    </widget>
++    <packing>
++      <property name="padding">0</property>
++      <property name="expand">True</property>
++      <property name="fill">True</property>
++    </packing>
++  </child>
++</widget>
++
++<widget class="GtkFileChooserDialog" id="filechooserdialog">
++  <property name="border_width">5</property>
++  <property name="tooltip" translatable="yes">Select file name to save  boolean settings.</property>
++  <property name="action">GTK_FILE_CHOOSER_ACTION_SAVE</property>
++  <property name="local_only">True</property>
++  <property name="select_multiple">False</property>
++  <property name="show_hidden">False</property>
++  <property name="do_overwrite_confirmation">False</property>
++  <property name="title" translatable="yes">Save Boolean Configuration File</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_MOUSE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++
++  <child internal-child="vbox">
++    <widget class="GtkVBox" id="dialog-vbox1">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">2</property>
++
++      <child internal-child="action_area">
++      <widget class="GtkHButtonBox" id="dialog-action_area1">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++
++        <child>
++          <widget class="GtkButton" id="button7">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-6</property>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="button8">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="has_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-save</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-5</property>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">False</property>
++        <property name="fill">True</property>
++        <property name="pack_type">GTK_PACK_END</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++</glade-interface>
+diff -up policycoreutils-2.1.8/gui/lockdown.gladep.gui policycoreutils-2.1.8/gui/lockdown.gladep
+--- policycoreutils-2.1.8/gui/lockdown.gladep.gui      2011-11-07 15:12:01.896834226 -0500
++++ policycoreutils-2.1.8/gui/lockdown.gladep  2011-11-07 15:12:01.896834226 -0500
+@@ -0,0 +1,7 @@
++<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
++<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
++
++<glade-project>
++  <name></name>
++  <program_name></program_name>
++</glade-project>
+diff -up policycoreutils-2.1.8/gui/lockdown.py.gui policycoreutils-2.1.8/gui/lockdown.py
+--- policycoreutils-2.1.8/gui/lockdown.py.gui  2011-11-07 15:12:01.897834227 -0500
++++ policycoreutils-2.1.8/gui/lockdown.py      2011-11-07 15:12:01.897834227 -0500
+@@ -0,0 +1,375 @@
++#!/usr/bin/python
++#
++# lockdown.py - GUI for Booleans page in system-config-securitylevel
++#
++# Dan Walsh <dwalsh@redhat.com>
++#
++# Copyright 2008 Red Hat, Inc.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++import signal
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import gnome
++import sys
++import selinux
++import seobject
++import webkit
++import commands
++import tempfile
++
++from html_util import *
++
++gnome.program_init("SELinux Boolean Lockdown Tool", "5")
++
++INSTALLPATH='/usr/share/system-config-selinux'
++sys.path.append(INSTALLPATH)
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++from glob import fnmatch
++
++STATUS=(_("Disable"), _("Enable"), _("Default"))
++DISABLE = 0
++ENABLE = 1
++DEFAULT = 2
++
++def idle_func():
++    while gtk.events_pending():
++        gtk.main_iteration()
++        
++def td_fmt(val):
++    return '<td>%s</td>' % val
++
++tr_fmt = '<tr>%s</tr>\n'
++
++p_fmt = '<p>%s\n'
++
++##
++## Pull in the Glade file
++##
++if os.access("system-config-selinux.glade", os.F_OK):
++    xml = gtk.glade.XML ("lockdown.glade", domain=PROGNAME)
++else:
++    xml = gtk.glade.XML ("/usr/share/system-config-selinux/lockdown.glade", domain=PROGNAME)
++BOOLEAN = 0
++class booleanWindow:
++    def __init__(self):
++        self.tabs=[]
++        self.xml = xml
++        xml.signal_connect("on_cancel_clicked", self.cancel)
++        xml.signal_connect("on_forward_clicked", self.forward)
++        xml.signal_connect("on_previous_clicked", self.previous)
++        xml.signal_connect("on_save_clicked", self.save)
++        xml.signal_connect("on_apply_clicked", self.apply)
++        self.xml = xml
++        self.mainWindow = self.xml.get_widget("mainWindow")
++        self.forwardbutton = self.xml.get_widget("forwardButton")
++        self.window = self.xml.get_widget("mainWindow").get_root_window()
++        self.busy_cursor = gtk.gdk.Cursor(gtk.gdk.WATCH)
++        self.ready_cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
++        self.radiobox = self.xml.get_widget("radiobox")
++        self.savebox = self.xml.get_widget("savebox")
++        self.file_dialog = self.xml.get_widget("filechooserdialog")
++        self.vbox = self.xml.get_widget("vbox")
++        self.enable_radiobutton = self.xml.get_widget("enable_radiobutton")
++        self.enable_radiobutton.connect("toggled", self.toggled)
++        self.disable_radiobutton = self.xml.get_widget("disable_radiobutton")
++        self.disable_radiobutton.connect("toggled", self.toggled)
++        self.default_radiobutton = self.xml.get_widget("default_radiobutton")
++        self.default_radiobutton.connect("toggled", self.toggled)
++        self.html_scrolledwindow = self.xml.get_widget("html_scrolledwindow")
++        self.view = xml.get_widget("booleanView")
++        self.view.get_selection().connect("changed", self.itemSelected)
++
++        self.store = gtk.TreeStore(gobject.TYPE_STRING)
++        self.view.set_model(self.store)
++
++        col = gtk.TreeViewColumn("Boolean", gtk.CellRendererText(), text=BOOLEAN)
++        col.set_sort_column_id(BOOLEAN)
++        col.set_resizable(True)
++        self.view.append_column(col)
++
++        self.html_view = self.create_htmlview(self.html_scrolledwindow)
++        self.load()
++        self.view.get_selection().select_path ((0,))
++
++    def create_htmlview(self, container):
++        view = webkit.WebView()
++        container.add(view)
++        return (view)
++
++    def wait(self):
++        self.window.set_cursor(self.busy_cursor)
++        idle_func()
++    
++    def ready(self):
++        self.window.set_cursor(self.ready_cursor)
++        idle_func()
++    
++    def load(self):
++        self.store.clear()
++        self.booleans = seobject.booleanRecords()
++        booleansList = self.booleans.get_all(0)
++        self.booldict = {}
++        for name in booleansList:
++            cat = self.booleans.get_category(name)
++            if cat not in self.booldict:
++                self.booldict[cat] = {}
++            
++            rec = booleansList[name]
++            self.booldict[cat][name]= [rec[2], self.booleans.get_desc(name)]
++
++        cats = self.booldict.keys()
++        cats.sort()
++
++        citer = self.store.append(None)
++        self.store.set_value(citer, BOOLEAN, "Begin")
++        for cat in  cats:
++            citer = self.store.append(None)
++            self.store.set_value(citer, BOOLEAN, cat)
++            bools = self.booldict[cat].keys()
++            for bool in  bools:
++                biter = self.store.append(citer)
++                self.store.set_value(biter, BOOLEAN, bool)
++            biter = self.store.append(citer)
++            self.store.set_value(biter, BOOLEAN, "Finish")
++        citer = self.store.append(None)
++        self.store.set_value(citer, BOOLEAN, "Finish")
++
++    def on_about_activate(self, args):
++        dlg = xml.get_widget ("aboutWindow")
++        dlg.run ()
++        dlg.hide ()
++
++    def cancel(self, args):
++        gtk.main_quit()
++
++    def error(self, message):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
++                                gtk.BUTTONS_CLOSE,
++                                message)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        dlg.run()
++        dlg.destroy()
++
++    def __out(self):
++        out = ''
++        for c in self.booldict.keys():
++            for b in self.booldict[c]:
++                out += "%s=%s\n" % (b, self.booldict[c][b][0])
++        return out
++
++    def save(self, args):
++        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_SAVE)
++        rc = self.file_dialog.run()
++        self.file_dialog.hide()
++        if rc == gtk.RESPONSE_OK:
++            try:
++                fd = open(self.file_dialog.get_filename(), "w")
++                fd.write(self.__out())
++                fd.close()
++
++            except IOError, e:
++                self.error(e)
++
++    def apply(self, args):
++        fd = tempfile.NamedTemporaryFile(dir = "/var/lib/selinux")
++        fd.write(self.__out())
++        fd.flush()
++        self.wait()
++        rc, err = commands.getstatusoutput("semanage boolean -m -F %s" % fd.name)
++        self.ready()
++        fd.close()
++        if rc != 0:
++            self.error(err)
++
++    def forward(self, args):
++        selection = self.view.get_selection()
++        store, iter = selection.get_selected()
++        if self.store.iter_has_child(iter):
++            store, rows = selection.get_selected_rows()
++            self.view.expand_to_path(rows[0])
++            niter = self.store.iter_nth_child(iter, 0)
++        else:
++            niter = store.iter_next(iter)
++
++        if niter == None:
++            piter = self.store.iter_parent(iter)
++            if piter == None:
++                return
++            niter = store.iter_next(piter)
++
++        if niter != None:
++            selection.select_iter(niter)
++            store, rows = selection.get_selected_rows()
++            self.view.scroll_to_cell(rows[0])
++        else:
++            print "Finish"
++
++    def toggled(self, button):
++        if button.get_active() == False:
++            return
++        if self.cat == None:
++            return
++        if self.disable_radiobutton == button:
++            self.booldict[self.cat][self.name][0] = DISABLE
++        if self.enable_radiobutton == button:
++            self.booldict[self.cat][self.name][0] = ENABLE
++        if self.default_radiobutton == button:
++            self.booldict[self.cat][self.name][0] = DEFAULT
++
++    def previous(self, args):
++        selection = self.view.get_selection()
++        store, iter = selection.get_selected()
++        store, rows = selection.get_selected_rows()
++        row = rows[0]
++        if len(row) == 1 or self.store.iter_has_child(iter):
++            if row[0] == 0:
++                return
++            nrow = row[0] - 1
++            iter = self.store.get_iter((nrow,))
++            if self.store.iter_has_child(iter):
++                self.view.expand_to_path((nrow,))
++                n = store.iter_n_children(iter) -1
++                piter = store.iter_nth_child(iter, n)
++            else:
++                piter = iter
++        else:
++            if row[1] == 0:
++                piter = self.store.iter_parent(iter)
++            else:
++                r0 = row[0]
++                r1 = row[1] - 1
++                piter = self.store.get_iter((r0,r1))
++        if piter != None:
++            selection.select_iter(piter)
++            store, rows = selection.get_selected_rows()
++            self.view.scroll_to_cell(rows[0])
++        else:
++            print "Finish"
++                
++    def html_cat(self, cat):
++        html = ""
++        row = td_fmt(_("<b>Boolean</b>")) + td_fmt(_("<b>Description</b>")) + td_fmt(_("<b>Status</b>"))
++        html += tr_fmt % row
++        
++        for b in self.booldict[cat]:
++            row = td_fmt(b) + td_fmt(self.booleans.get_desc(b)) + td_fmt(STATUS[self.booldict[cat][b][0]])
++            html += tr_fmt % row
++        return html
++
++    def html_table(self, title, body):
++        html = self.html_head(title)
++        html += '<table width="100%" cellspacing="1" cellpadding="2">\n'
++        html += body
++        html += '</table>'
++        return html
++
++    def html_head(self, val):
++        # Wrap entire alert in one table
++        # 1st table: primary Information
++
++        html = '<b>%s</b>\n\n\n' % val
++        return html
++ 
++    def html_all(self):
++        html = ""
++        cats = self.booldict.keys()
++        cats.sort()
++        for cat in  cats:
++            html += self.html_table((_("Category: %s <br>") % cat), self.html_cat(cat))
++        return html
++
++    def itemSelected(self, selection):
++        store, iter = selection.get_selected()
++        if iter == None:
++            return
++
++        piter = self.store.iter_parent(iter)
++        if piter != None:
++            self.cat =  store.get_value(piter, BOOLEAN)
++        else:
++            self.cat =  None
++
++        self.name =  store.get_value(iter, BOOLEAN)
++
++        html = ''
++
++        self.radiobox.hide()
++        self.savebox.hide()
++
++        if self.name == _("Begin"):
++            html += self.html_head(_("Welcome to the SELinux Lockdown Tool.<br> <br>This tool can be used to lockdown SELinux booleans.The tool will generate a configuration file which can be used to lockdown this system or other SELinux systems.<br>"))
++            html += self.html_all()
++        else:
++            if self.name == _("Finish"):
++                if self.cat != None:
++                    html += self.html_head(_("Category %s booleans completed <br><br>") % self.cat)
++                    html += self.html_table(_("Current settings:<br><br>"), self.html_cat(self.cat))
++                else:
++                    html += self.html_head(_("Finish: <br><br>"))
++                    html += self.html_all()
++                    self.savebox.show()
++            else:
++                if self.store.iter_has_child(iter):
++                    html += self.html_table(_("Category: %s<br><br>Current Settings<br><br>") % self.name, self.html_cat(self.name))
++                else:
++                    self.radiobox.show()
++                    html += self.html_table(_("Boolean:   %s<br><br>") % self.name, tr_fmt % td_fmt(self.booleans.get_desc(self.name)))
++                    if self.booldict[self.cat][self.name][0] == ENABLE:
++                        self.enable_radiobutton.set_active(True)
++                    if self.booldict[self.cat][self.name][0] == DISABLE:
++                        self.disable_radiobutton.set_active(True)
++                    if self.booldict[self.cat][self.name][0] == DEFAULT:
++                        self.default_radiobutton.set_active(True)
++        html_doc= html_document(html)
++
++        self.html_view.load_html_string(html, "")
++
++    def stand_alone(self):
++        desktopName = _("Lockdown SELinux Booleans")
++
++        self.mainWindow.connect("destroy", self.cancel)
++
++        self.mainWindow.show_all()
++        self.radiobox.hide()
++        self.savebox.hide()
++        gtk.main()
++
++if __name__ == "__main__":
++    signal.signal (signal.SIGINT, signal.SIG_DFL)
++
++    app = booleanWindow()
++    app.stand_alone()
+diff -up policycoreutils-2.1.8/gui/loginsPage.py.gui policycoreutils-2.1.8/gui/loginsPage.py
+--- policycoreutils-2.1.8/gui/loginsPage.py.gui        2011-11-07 15:12:01.898834228 -0500
++++ policycoreutils-2.1.8/gui/loginsPage.py    2011-11-07 15:12:01.898834228 -0500
+@@ -0,0 +1,185 @@
++## loginsPage.py - show selinux mappings
++## Copyright (C) 2006 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import sys
++import commands
++import seobject
++from semanagePage import *;
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++class loginsPage(semanagePage):
++    def __init__(self, xml):
++        self.firstTime = False
++        semanagePage.__init__(self, xml, "logins", _("User Mapping"))
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
++        self.view.set_model(self.store)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Login\nName"), gtk.CellRendererText(), text = 0)
++        col.set_sort_column_id(0)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        col = gtk.TreeViewColumn(_("SELinux\nUser"), gtk.CellRendererText(), text = 1)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        col = gtk.TreeViewColumn(_("MLS/\nMCS Range"), gtk.CellRendererText(), text = 2)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.load()
++        self.loginsNameEntry = xml.get_widget("loginsNameEntry")
++        self.loginsSelinuxUserCombo = xml.get_widget("loginsSelinuxUserCombo")
++        self.loginsMLSEntry = xml.get_widget("loginsMLSEntry")
++        
++    def load(self, filter = ""):
++        self.filter=filter            
++        self.login = seobject.loginRecords()
++        dict = self.login.get_all(0)
++        keys = 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,))
++
++    def __dialogSetup(self):
++        if self.firstTime == True:
++            return
++        self.firstTime = True
++        liststore = gtk.ListStore(gobject.TYPE_STRING)
++        self.loginsSelinuxUserCombo.set_model(liststore)
++        cell = gtk.CellRendererText()
++        self.loginsSelinuxUserCombo.pack_start(cell, True)
++        self.loginsSelinuxUserCombo.add_attribute(cell, 'text', 0)
++        
++        selusers = seobject.seluserRecords().get_all(0)
++        keys = 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)
++        
++    def dialogInit(self):
++        self.__dialogSetup()
++        store, iter = self.view.get_selection().get_selected()
++        self.loginsNameEntry.set_text(store.get_value(iter, 0))
++        self.loginsNameEntry.set_sensitive(False)
++        
++        self.loginsMLSEntry.set_text(store.get_value(iter, 2))
++        seuser = store.get_value(iter, 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)
++        
++        
++    def dialogClear(self):
++        self.__dialogSetup()
++        self.loginsNameEntry.set_text("")
++        self.loginsNameEntry.set_sensitive(True)
++        self.loginsMLSEntry.set_text("s0")
++        
++    def delete(self):
++        store, iter = self.view.get_selection().get_selected()
++        try:
++            login=store.get_value(iter, 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)
++                return False
++            store.remove(iter)
++            self.view.get_selection().select_path ((0,))
++        except ValueError, 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)
++        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)
++            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)
++        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)
++            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 -up policycoreutils-2.1.8/gui/Makefile.gui policycoreutils-2.1.8/gui/Makefile
+--- policycoreutils-2.1.8/gui/Makefile.gui     2011-11-07 15:12:01.898834228 -0500
++++ policycoreutils-2.1.8/gui/Makefile 2011-11-07 15:12:01.898834228 -0500
+@@ -0,0 +1,40 @@
++# Installation directories.
++PREFIX ?= ${DESTDIR}/usr
++BINDIR ?= $(PREFIX)/bin
++SHAREDIR ?= $(PREFIX)/share/system-config-selinux
++
++TARGETS= \
++booleansPage.py \
++domainsPage.py \
++fcontextPage.py \
++html_util.py \
++loginsPage.py \
++mappingsPage.py \
++modulesPage.py \
++polgen.glade \
++portsPage.py \
++lockdown.glade \
++semanagePage.py \
++statusPage.py \
++system-config-selinux.glade \
++usersPage.py \
++selinux.tbl
++
++all: $(TARGETS) system-config-selinux.py polgengui.py templates lockdown.py polgen.py 
++
++install: all
++      -mkdir -p $(SHAREDIR)/templates
++      -mkdir -p $(BINDIR)
++      install -m 755 system-config-selinux.py $(SHAREDIR)
++      install -m 755 polgengui.py $(SHAREDIR)
++      install -m 755 polgen.py $(SHAREDIR)
++      (cd $(BINDIR);  ln -fs ../share/system-config-selinux/polgen.py sepolgen)
++      install -m 755 lockdown.py $(SHAREDIR)
++      install -m 644 $(TARGETS) $(SHAREDIR)
++      install -m 644 templates/*.py $(SHAREDIR)/templates/
++
++clean:
++
++indent:
++
++relabel:
+diff -up policycoreutils-2.1.8/gui/mappingsPage.py.gui policycoreutils-2.1.8/gui/mappingsPage.py
+--- policycoreutils-2.1.8/gui/mappingsPage.py.gui      2011-11-07 15:12:01.899834229 -0500
++++ policycoreutils-2.1.8/gui/mappingsPage.py  2011-11-07 15:12:01.899834229 -0500
+@@ -0,0 +1,56 @@
++## mappingsPage.py - show selinux mappings
++## Copyright (C) 2006 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import sys
++import seobject
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++class loginsPage:
++    def __init__(self, xml):
++        self.xml = xml
++        self.view = xml.get_widget("mappingsView")
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        self.view.set_model(self.store)
++        self.login = loginRecords()
++        dict = self.login.get_all(0)
++        keys = dict.keys()
++        keys.sort()
++        for k in keys:
++            print "%-25s %-25s %-25s" % (k, dict[k][0], translate(dict[k][1]))
++
+diff -up policycoreutils-2.1.8/gui/modulesPage.py.gui policycoreutils-2.1.8/gui/modulesPage.py
+--- policycoreutils-2.1.8/gui/modulesPage.py.gui       2011-11-07 15:12:01.899834229 -0500
++++ policycoreutils-2.1.8/gui/modulesPage.py   2011-11-07 15:12:01.899834229 -0500
+@@ -0,0 +1,190 @@
++## modulesPage.py - show selinux mappings
++## Copyright (C) 2006-2009 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import commands
++import gobject
++import sys
++import seobject
++import selinux
++from semanagePage import *;
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++class modulesPage(semanagePage):
++    def __init__(self, xml):
++        semanagePage.__init__(self, xml, "modules", _("Policy Module"))
++        self.module_filter = xml.get_widget("modulesFilterEntry")
++        self.module_filter.connect("focus_out_event", self.filter_changed)
++        self.module_filter.connect("activate", self.filter_changed)
++        self.audit_enabled = False
++
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
++        self.view.set_model(self.store)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Module Name"), gtk.CellRendererText(), text = 0)
++        col.set_sort_column_id(0)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
++        col = gtk.TreeViewColumn(_("Version"), gtk.CellRendererText(), text = 1)
++        self.enable_audit_button = xml.get_widget("enableAuditButton")
++        self.enable_audit_button.connect("clicked", self.enable_audit)
++        self.new_button = xml.get_widget("newModuleButton")
++        self.new_button.connect("clicked", self.new_module)
++        col.set_sort_column_id(1)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.store.set_sort_func(1,self.sort_int, "")
++        status, self.policy_type = selinux.selinux_getpolicytype()
++
++        self.load()
++        
++    def sort_int(self, treemodel, iter1, iter2, user_data):
++        try:
++            p1 = int(treemodel.get_value(iter1,1))
++            p2 = int(treemodel.get_value(iter1,1))
++            if p1 > p2:
++                return 1
++            if p1 == p2:
++                return 0
++            return -1
++        except:
++            return 0
++
++    def load(self, filter=""):
++        self.filter=filter            
++        self.store.clear()
++        try:
++            fd=os.popen("semodule -l")
++            l = fd.readlines()
++            fd.close()
++            for i in l:
++                module, ver, newline = i.split('\t')
++                if not (self.match(module, filter) or self.match(ver, filter)):
++                    continue
++                iter = self.store.append()
++                self.store.set_value(iter, 0, module.strip())
++                self.store.set_value(iter, 1, ver.strip())
++        except:
++            pass
++        self.view.get_selection().select_path ((0,))
++    
++
++    def new_module(self, args):
++        try:
++            os.spawnl(os.P_NOWAIT, "/usr/share/system-config-selinux/polgengui.py")
++        except ValueError, e:
++            self.error(e.args[0])
++
++    def delete(self):
++        store, iter = self.view.get_selection().get_selected()
++        module = store.get_value(iter, 0)
++        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])
++
++    def enable_audit(self, button):
++        self.audit_enabled = not self.audit_enabled 
++        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])
++
++    def disable_audit(self, button):
++        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])
++
++    def propertiesDialog(self):
++        # Do nothing
++        return
++    
++    def addDialog(self):
++        dialog = gtk.FileChooserDialog(_("Load Policy Module"),
++                                       None,
++                                       gtk.FILE_CHOOSER_ACTION_OPEN,
++                                       (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
++                                        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)
++
++        response = dialog.run()
++        if response == gtk.RESPONSE_OK:
++            self.add(dialog.get_filename())
++        dialog.destroy()
++
++    def add(self, 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])
+diff -up policycoreutils-2.1.8/gui/polgen.glade.gui policycoreutils-2.1.8/gui/polgen.glade
+--- policycoreutils-2.1.8/gui/polgen.glade.gui 2011-11-07 15:12:01.902834231 -0500
++++ policycoreutils-2.1.8/gui/polgen.glade     2011-11-07 15:12:01.903834231 -0500
+@@ -0,0 +1,3432 @@
++<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
++<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
++
++<glade-interface>
++<requires lib="gnome"/>
++
++<widget class="GtkFileChooserDialog" id="filechooserdialog">
++  <property name="border_width">5</property>
++  <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
++  <property name="local_only">True</property>
++  <property name="select_multiple">True</property>
++  <property name="show_hidden">True</property>
++  <property name="do_overwrite_confirmation">False</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_MOUSE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++
++  <child internal-child="vbox">
++    <widget class="GtkVBox" id="dialog-vbox1">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">24</property>
++
++      <child internal-child="action_area">
++      <widget class="GtkHButtonBox" id="dialog-action_area1">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++
++        <child>
++          <widget class="GtkButton" id="button5">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-6</property>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="button6">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="has_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-add</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-5</property>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">False</property>
++        <property name="fill">True</property>
++        <property name="pack_type">GTK_PACK_END</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++<widget class="GtkAboutDialog" id="about_dialog">
++  <property name="border_width">5</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="name" translatable="yes">Polgen</property>
++  <property name="copyright" translatable="yes">Red Hat 2007</property>
++  <property name="license" translatable="yes">GPL</property>
++  <property name="wrap_license">False</property>
++  <property name="website">www.redhat.com</property>
++  <property name="authors">Daniel Walsh &lt;dwalsh@redhat.com&gt;</property>
++  <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property>
++</widget>
++
++<widget class="GtkWindow" id="main_window">
++  <property name="visible">True</property>
++  <property name="title" translatable="yes">SELinux Policy Generation Tool</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_NONE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++
++  <child>
++    <widget class="GtkVBox" id="vbox11">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">18</property>
++
++      <child>
++      <widget class="GtkNotebook" id="notebook">
++        <property name="visible">True</property>
++        <property name="show_tabs">False</property>
++        <property name="show_border">True</property>
++        <property name="tab_pos">GTK_POS_LEFT</property>
++        <property name="scrollable">False</property>
++        <property name="enable_popup">False</property>
++
++        <child>
++          <widget class="GtkVBox" id="vbox59">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_type_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select the policy type for the application or user role you want to confine:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox58">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkVBox" id="vbox14">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkHBox" id="hbox16">
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">12</property>
++
++                        <child>
++                          <widget class="GtkVBox" id="vbox18">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">6</property>
++
++                            <child>
++                              <widget class="GtkLabel" id="label41">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">&lt;b&gt;Applications&lt;/b&gt;</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">True</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox17">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">0</property>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label52">
++                                    <property name="visible">True</property>
++                                    <property name="label">    </property>
++                                    <property name="use_underline">False</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkVBox" id="vbox6">
++                                    <property name="visible">True</property>
++                                    <property name="homogeneous">False</property>
++                                    <property name="spacing">6</property>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="init_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">Standard Init Daemon are daemons started on boot via init scripts.  Usually requires a script in /etc/rc.d/init.d</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Standard Init Daemon</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="dbus_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">Standard Init Daemon are daemons started on boot via init scripts.  Usually requires a script in /etc/rc.d/init.d</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">DBUS System Daemon</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="inetd_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">Internet Services Daemon are daemons started by xinetd</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Internet Services Daemon (inetd)</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="cgi_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">Web Applications/Script (CGI) CGI scripts started by the web server (apache)</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Web Application/Script (CGI)</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="user_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">User Application are any application that you would like to confine that is started by a user</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">User Application</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="sandbox_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">User Application are any application that you would like to confine that is started by a user</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Sandbox</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">False</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkVBox" id="vbox19">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">6</property>
++
++                            <child>
++                              <widget class="GtkLabel" id="label42">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">&lt;b&gt;Login Users&lt;/b&gt;</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">True</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox18">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">0</property>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label53">
++                                    <property name="visible">True</property>
++                                    <property name="label">    </property>
++                                    <property name="use_underline">False</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkVBox" id="vbox15">
++                                    <property name="visible">True</property>
++                                    <property name="homogeneous">False</property>
++                                    <property name="spacing">6</property>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="existing_user_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">Modify an existing login user record.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Existing User Roles</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="terminal_user_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">This user will login to a machine only via a terminal or remote login.  By default this user will have  no setuid, no networking, no su, no sudo.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Minimal Terminal User Role</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="xwindows_user_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">This user can login to a machine via X or terminal.  By default this user will have no setuid, no networking, no sudo, no su</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Minimal X Windows User Role</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="login_user_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">User with full networking, no setuid applications without transition, no sudo, no su.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">User Role</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="admin_user_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">User with full networking, no setuid applications without transition, no su, can sudo to Root Administration Roles</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Admin User Role</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">True</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">False</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkVBox" id="vbox20">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">6</property>
++
++                            <child>
++                              <widget class="GtkLabel" id="label50">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">&lt;b&gt;Root Users&lt;/b&gt;</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">True</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox19">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">0</property>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label54">
++                                    <property name="visible">True</property>
++                                    <property name="label">    </property>
++                                    <property name="use_underline">False</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkVBox" id="vbox21">
++                                    <property name="visible">True</property>
++                                    <property name="homogeneous">False</property>
++                                    <property name="spacing">0</property>
++
++                                    <child>
++                                      <widget class="GtkRadioButton" id="root_user_radiobutton">
++                                        <property name="visible">True</property>
++                                        <property name="tooltip" translatable="yes">Select Root Administrator User Role, if this user will be used to administer the machine while running as root.  This user will not be able to login to the system directly.</property>
++                                        <property name="can_focus">True</property>
++                                        <property name="label" translatable="yes">Root Admin User Role</property>
++                                        <property name="use_underline">True</property>
++                                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                                        <property name="focus_on_click">True</property>
++                                        <property name="active">False</property>
++                                        <property name="inconsistent">False</property>
++                                        <property name="draw_indicator">True</property>
++                                        <property name="group">init_radiobutton</property>
++                                      </widget>
++                                      <packing>
++                                        <property name="padding">0</property>
++                                        <property name="expand">False</property>
++                                        <property name="fill">False</property>
++                                      </packing>
++                                    </child>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">True</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label104">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label104</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox60">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_name_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Enter name of application or user role:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkTable" id="table5">
++                <property name="visible">True</property>
++                <property name="n_rows">3</property>
++                <property name="n_columns">3</property>
++                <property name="homogeneous">False</property>
++                <property name="row_spacing">6</property>
++                <property name="column_spacing">12</property>
++
++                <child>
++                  <widget class="GtkLabel" id="label1">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">Name</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">0</property>
++                    <property name="right_attach">1</property>
++                    <property name="top_attach">0</property>
++                    <property name="bottom_attach">1</property>
++                    <property name="x_options">fill</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkEntry" id="exec_entry">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Enter complete path for executable to be confined.</property>
++                    <property name="can_focus">True</property>
++                    <property name="editable">True</property>
++                    <property name="visibility">True</property>
++                    <property name="max_length">0</property>
++                    <property name="text" translatable="yes"></property>
++                    <property name="has_frame">True</property>
++                    <property name="invisible_char">•</property>
++                    <property name="activates_default">False</property>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">1</property>
++                    <property name="right_attach">2</property>
++                    <property name="top_attach">1</property>
++                    <property name="bottom_attach">2</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkButton" id="exec_button">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">...</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <signal name="clicked" handler="on_exec_select_clicked" last_modification_time="Wed, 21 Feb 2007 18:45:26 GMT"/>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">2</property>
++                    <property name="right_attach">3</property>
++                    <property name="top_attach">1</property>
++                    <property name="bottom_attach">2</property>
++                    <property name="x_options">fill</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkEntry" id="name_entry">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Enter unique name for the confined application or user role.</property>
++                    <property name="can_focus">True</property>
++                    <property name="editable">True</property>
++                    <property name="visibility">True</property>
++                    <property name="max_length">0</property>
++                    <property name="text" translatable="yes"></property>
++                    <property name="has_frame">True</property>
++                    <property name="invisible_char">•</property>
++                    <property name="activates_default">False</property>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">1</property>
++                    <property name="right_attach">3</property>
++                    <property name="top_attach">0</property>
++                    <property name="bottom_attach">1</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkLabel" id="label2">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">Executable</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">0</property>
++                    <property name="right_attach">1</property>
++                    <property name="top_attach">1</property>
++                    <property name="bottom_attach">2</property>
++                    <property name="x_options">fill</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkLabel" id="label40">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">Init script</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">0</property>
++                    <property name="right_attach">1</property>
++                    <property name="top_attach">2</property>
++                    <property name="bottom_attach">3</property>
++                    <property name="x_options">fill</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkEntry" id="init_script_entry">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Enter complete path to init script used to start the confined application.</property>
++                    <property name="can_focus">True</property>
++                    <property name="editable">True</property>
++                    <property name="visibility">True</property>
++                    <property name="max_length">0</property>
++                    <property name="text" translatable="yes"></property>
++                    <property name="has_frame">True</property>
++                    <property name="invisible_char">•</property>
++                    <property name="activates_default">False</property>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">1</property>
++                    <property name="right_attach">2</property>
++                    <property name="top_attach">2</property>
++                    <property name="bottom_attach">3</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkButton" id="init_script_button">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">...</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <signal name="clicked" handler="on_init_script_select_clicked" last_modification_time="Thu, 30 Aug 2007 15:36:47 GMT"/>
++                  </widget>
++                  <packing>
++                    <property name="left_attach">2</property>
++                    <property name="right_attach">3</property>
++                    <property name="top_attach">2</property>
++                    <property name="bottom_attach">3</property>
++                    <property name="x_options">fill</property>
++                    <property name="y_options"></property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="select_name_label">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label105</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox61">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_existing_role_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select existing role to modify:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkScrolledWindow" id="scrolledwindow5">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
++                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
++                <property name="shadow_type">GTK_SHADOW_IN</property>
++                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                <child>
++                  <widget class="GtkTreeView" id="existing_user_treeview">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Select the user roles that will transiton to the %s domain.</property>
++                    <property name="can_focus">True</property>
++                    <property name="headers_visible">False</property>
++                    <property name="rules_hint">False</property>
++                    <property name="reorderable">False</property>
++                    <property name="enable_search">True</property>
++                    <property name="fixed_height_mode">False</property>
++                    <property name="hover_selection">False</property>
++                    <property name="hover_expand">False</property>
++                  </widget>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label106">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label106</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox62">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select roles that %s will transition to:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkScrolledWindow" id="scrolledwindow12">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="shadow_type">GTK_SHADOW_NONE</property>
++                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                <child>
++                  <widget class="GtkTreeView" id="transition_treeview">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Select applications domains that %s will transition to.</property>
++                    <property name="can_focus">True</property>
++                    <property name="headers_visible">False</property>
++                    <property name="rules_hint">False</property>
++                    <property name="reorderable">False</property>
++                    <property name="enable_search">True</property>
++                    <property name="fixed_height_mode">False</property>
++                    <property name="hover_selection">False</property>
++                    <property name="hover_expand">False</property>
++                  </widget>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label107">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label107</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox63">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_user_roles_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select the user_roles that will transition to %s:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkScrolledWindow" id="scrolledwindow13">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="shadow_type">GTK_SHADOW_NONE</property>
++                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                <child>
++                  <widget class="GtkTreeView" id="user_transition_treeview">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Select the user roles that will transiton to this applications domains.</property>
++                    <property name="can_focus">True</property>
++                    <property name="headers_visible">False</property>
++                    <property name="rules_hint">False</property>
++                    <property name="reorderable">False</property>
++                    <property name="enable_search">True</property>
++                    <property name="fixed_height_mode">False</property>
++                    <property name="hover_selection">False</property>
++                    <property name="hover_expand">False</property>
++                  </widget>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label108">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label108</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox64">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_domain_admin_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select domains that %s will administer:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkScrolledWindow" id="scrolledwindow14">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="shadow_type">GTK_SHADOW_NONE</property>
++                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                <child>
++                  <widget class="GtkTreeView" id="admin_treeview">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Select the domains that you would like this user administer.</property>
++                    <property name="can_focus">True</property>
++                    <property name="headers_visible">False</property>
++                    <property name="rules_hint">False</property>
++                    <property name="reorderable">False</property>
++                    <property name="enable_search">True</property>
++                    <property name="fixed_height_mode">False</property>
++                    <property name="hover_selection">False</property>
++                    <property name="hover_expand">False</property>
++                  </widget>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label109">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label109</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox65">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_role_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select additional roles for %s:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkScrolledWindow" id="scrolledwindow15">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                <property name="shadow_type">GTK_SHADOW_NONE</property>
++                <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                <child>
++                  <widget class="GtkTreeView" id="role_treeview">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Select the domains that you would like this user administer.</property>
++                    <property name="can_focus">True</property>
++                    <property name="headers_visible">False</property>
++                    <property name="rules_hint">False</property>
++                    <property name="reorderable">False</property>
++                    <property name="enable_search">True</property>
++                    <property name="fixed_height_mode">False</property>
++                    <property name="hover_selection">False</property>
++                    <property name="hover_expand">False</property>
++                  </widget>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="in_net_page">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label111</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="in_net_page">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_in_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Enter network ports that %s binds on:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox22">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">6</property>
++
++                <child>
++                  <widget class="GtkLabel" id="label55">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">&lt;b&gt;TCP Ports&lt;/b&gt;</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">True</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox20">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label56">
++                        <property name="visible">True</property>
++                        <property name="label">    </property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkVBox" id="vbox23">
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">6</property>
++
++                        <child>
++                          <widget class="GtkHBox" id="hbox21">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">12</property>
++
++                            <child>
++                              <widget class="GtkCheckButton" id="in_tcp_all_checkbutton">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Allows %s to bind to any udp port</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">All</property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">10</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkCheckButton" id="in_tcp_reserved_checkbutton">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Allow %s to call bindresvport with 0. Binding to port 600-1024</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">600-1024</property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">10</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkCheckButton" id="in_tcp_unreserved_checkbutton">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Enter a comma separated list of udp ports or ranges of ports that %s binds to. Example: 612, 650-660</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">Unreserved Ports (&gt;1024)</property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">10</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkHBox" id="hbox22">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">12</property>
++
++                            <child>
++                              <widget class="GtkLabel" id="label57">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">Select Ports</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">5</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkEntry" id="in_tcp_entry">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Allows %s to bind to any udp ports &gt; 1024</property>
++                                <property name="can_focus">True</property>
++                                <property name="editable">True</property>
++                                <property name="visibility">True</property>
++                                <property name="max_length">0</property>
++                                <property name="text" translatable="yes"></property>
++                                <property name="has_frame">True</property>
++                                <property name="invisible_char">•</property>
++                                <property name="activates_default">False</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox24">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">6</property>
++
++                <child>
++                  <widget class="GtkLabel" id="label58">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">&lt;b&gt;UDP Ports&lt;/b&gt;</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">True</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox23">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label59">
++                        <property name="visible">True</property>
++                        <property name="label">    </property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkVBox" id="vbox25">
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">6</property>
++
++                        <child>
++                          <widget class="GtkHBox" id="hbox24">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">12</property>
++
++                            <child>
++                              <widget class="GtkCheckButton" id="in_udp_all_checkbutton">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Allows %s to bind to any udp port</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">All</property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">10</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkCheckButton" id="in_udp_reserved_checkbutton">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Allow %s to call bindresvport with 0. Binding to port 600-1024</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">600-1024</property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">10</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkCheckButton" id="in_udp_unreserved_checkbutton">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Enter a comma separated list of udp ports or ranges of ports that %s binds to. Example: 612, 650-660</property>
++                                <property name="can_focus">True</property>
++                                <property name="label" translatable="yes">Unreserved Ports (&gt;1024)</property>
++                                <property name="use_underline">True</property>
++                                <property name="relief">GTK_RELIEF_NORMAL</property>
++                                <property name="focus_on_click">True</property>
++                                <property name="active">False</property>
++                                <property name="inconsistent">False</property>
++                                <property name="draw_indicator">True</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">10</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkHBox" id="hbox25">
++                            <property name="visible">True</property>
++                            <property name="homogeneous">False</property>
++                            <property name="spacing">12</property>
++
++                            <child>
++                              <widget class="GtkLabel" id="label60">
++                                <property name="visible">True</property>
++                                <property name="label" translatable="yes">Select Ports</property>
++                                <property name="use_underline">False</property>
++                                <property name="use_markup">False</property>
++                                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                <property name="wrap">False</property>
++                                <property name="selectable">False</property>
++                                <property name="xalign">0</property>
++                                <property name="yalign">0.5</property>
++                                <property name="xpad">0</property>
++                                <property name="ypad">0</property>
++                                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                <property name="width_chars">-1</property>
++                                <property name="single_line_mode">False</property>
++                                <property name="angle">0</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">5</property>
++                                <property name="expand">False</property>
++                                <property name="fill">False</property>
++                              </packing>
++                            </child>
++
++                            <child>
++                              <widget class="GtkEntry" id="in_udp_entry">
++                                <property name="visible">True</property>
++                                <property name="tooltip" translatable="yes">Allows %s to bind to any udp ports &gt; 1024</property>
++                                <property name="can_focus">True</property>
++                                <property name="editable">True</property>
++                                <property name="visibility">True</property>
++                                <property name="max_length">0</property>
++                                <property name="text" translatable="yes"></property>
++                                <property name="has_frame">True</property>
++                                <property name="invisible_char">•</property>
++                                <property name="activates_default">False</property>
++                              </widget>
++                              <packing>
++                                <property name="padding">0</property>
++                                <property name="expand">True</property>
++                                <property name="fill">True</property>
++                              </packing>
++                            </child>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label113">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label113</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox75">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_out_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select network ports that %s connects to:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox26">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">6</property>
++
++                <child>
++                  <widget class="GtkLabel" id="label37">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">&lt;b&gt;TCP Ports&lt;/b&gt;</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">True</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox26">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label61">
++                        <property name="visible">True</property>
++                        <property name="label">    </property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkHBox" id="hbox15">
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">12</property>
++
++                        <child>
++                          <widget class="GtkCheckButton" id="out_tcp_all_checkbutton">
++                            <property name="tooltip" translatable="yes">Allows %s to connect to any tcp port</property>
++                            <property name="visible">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="label" translatable="yes">All</property>
++                            <property name="use_underline">True</property>
++                            <property name="relief">GTK_RELIEF_NORMAL</property>
++                            <property name="focus_on_click">True</property>
++                            <property name="active">False</property>
++                            <property name="inconsistent">False</property>
++                            <property name="draw_indicator">True</property>
++                          </widget>
++                          <packing>
++                            <property name="padding">10</property>
++                            <property name="expand">False</property>
++                            <property name="fill">False</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkLabel" id="label38">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">Select Ports</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                          </widget>
++                          <packing>
++                            <property name="padding">5</property>
++                            <property name="expand">False</property>
++                            <property name="fill">False</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkEntry" id="out_tcp_entry">
++                            <property name="visible">True</property>
++                            <property name="tooltip" translatable="yes">Enter a comma separated list of tcp ports or ranges of ports that %s connects to. Example: 612, 650-660</property>
++                            <property name="can_focus">True</property>
++                            <property name="editable">True</property>
++                            <property name="visibility">True</property>
++                            <property name="max_length">0</property>
++                            <property name="text" translatable="yes"></property>
++                            <property name="has_frame">True</property>
++                            <property name="invisible_char">•</property>
++                            <property name="activates_default">False</property>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox27">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">6</property>
++
++                <child>
++                  <widget class="GtkLabel" id="label23">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">&lt;b&gt;UDP Ports&lt;/b&gt;</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">True</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox27">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label62">
++                        <property name="visible">True</property>
++                        <property name="label">    </property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkHBox" id="hbox12">
++                        <property name="visible">True</property>
++                        <property name="homogeneous">False</property>
++                        <property name="spacing">12</property>
++
++                        <child>
++                          <widget class="GtkCheckButton" id="out_udp_all_checkbutton">
++                            <property name="tooltip" translatable="yes">Allows %s to connect to any udp port</property>
++                            <property name="visible">True</property>
++                            <property name="can_focus">True</property>
++                            <property name="label" translatable="yes">All</property>
++                            <property name="use_underline">True</property>
++                            <property name="relief">GTK_RELIEF_NORMAL</property>
++                            <property name="focus_on_click">True</property>
++                            <property name="active">False</property>
++                            <property name="inconsistent">False</property>
++                            <property name="draw_indicator">True</property>
++                          </widget>
++                          <packing>
++                            <property name="padding">10</property>
++                            <property name="expand">False</property>
++                            <property name="fill">False</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkLabel" id="label22">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes">Select Ports</property>
++                            <property name="use_underline">False</property>
++                            <property name="use_markup">False</property>
++                            <property name="justify">GTK_JUSTIFY_LEFT</property>
++                            <property name="wrap">False</property>
++                            <property name="selectable">False</property>
++                            <property name="xalign">0</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                            <property name="width_chars">-1</property>
++                            <property name="single_line_mode">False</property>
++                            <property name="angle">0</property>
++                          </widget>
++                          <packing>
++                            <property name="padding">5</property>
++                            <property name="expand">False</property>
++                            <property name="fill">False</property>
++                          </packing>
++                        </child>
++
++                        <child>
++                          <widget class="GtkEntry" id="out_udp_entry">
++                            <property name="visible">True</property>
++                            <property name="tooltip" translatable="yes">Enter a comma separated list of udp ports or ranges of ports that %s connects to. Example: 612, 650-660</property>
++                            <property name="can_focus">True</property>
++                            <property name="editable">True</property>
++                            <property name="visibility">True</property>
++                            <property name="max_length">0</property>
++                            <property name="text" translatable="yes"></property>
++                            <property name="has_frame">True</property>
++                            <property name="invisible_char">•</property>
++                            <property name="activates_default">False</property>
++                          </widget>
++                          <packing>
++                            <property name="padding">0</property>
++                            <property name="expand">True</property>
++                            <property name="fill">True</property>
++                          </packing>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label114">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label114</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox68">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_common_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select common application traits for %s:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox4">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">6</property>
++
++                <child>
++                  <widget class="GtkCheckButton" id="syslog_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Writes syslog messages  </property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkCheckButton" id="tmp_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Create/Manipulate temporary files in /tmp</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkCheckButton" id="pam_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Uses Pam for authentication</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkCheckButton" id="uid_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Uses nsswitch or getpw* calls</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkCheckButton" id="dbus_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Uses dbus</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkCheckButton" id="audit_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Sends audit messages</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkCheckButton" id="terminal_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Interacts with the terminal</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkCheckButton" id="mail_checkbutton">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">Sends email</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                    <property name="active">False</property>
++                    <property name="inconsistent">False</property>
++                    <property name="draw_indicator">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label115">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label115</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox69">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_manages_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Add files/directories that %s manages&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkHBox" id="hbox1">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">12</property>
++
++                <child>
++                  <widget class="GtkVBox" id="vbox3">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">6</property>
++
++                    <child>
++                      <widget class="GtkButton" id="button2">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_add_clicked" last_modification_time="Wed, 21 Feb 2007 18:47:51 GMT"/>
++
++                        <child>
++                          <widget class="GtkAlignment" id="alignment6">
++                            <property name="visible">True</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xscale">0</property>
++                            <property name="yscale">0</property>
++                            <property name="top_padding">0</property>
++                            <property name="bottom_padding">0</property>
++                            <property name="left_padding">0</property>
++                            <property name="right_padding">0</property>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox4">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">2</property>
++
++                                <child>
++                                  <widget class="GtkImage" id="image3">
++                                    <property name="visible">True</property>
++                                    <property name="stock">gtk-add</property>
++                                    <property name="icon_size">4</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label17">
++                                    <property name="visible">True</property>
++                                    <property name="label">Add File</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                            </child>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkButton" id="button9">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_add_dir_clicked" last_modification_time="Wed, 21 Feb 2007 22:15:43 GMT"/>
++
++                        <child>
++                          <widget class="GtkAlignment" id="alignment5">
++                            <property name="visible">True</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xscale">0</property>
++                            <property name="yscale">0</property>
++                            <property name="top_padding">0</property>
++                            <property name="bottom_padding">0</property>
++                            <property name="left_padding">0</property>
++                            <property name="right_padding">0</property>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox3">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">2</property>
++
++                                <child>
++                                  <widget class="GtkImage" id="image2">
++                                    <property name="visible">True</property>
++                                    <property name="stock">gtk-add</property>
++                                    <property name="icon_size">4</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label16">
++                                    <property name="visible">True</property>
++                                    <property name="label">Add Directory</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                            </child>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkButton" id="button4">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label">gtk-delete</property>
++                        <property name="use_stock">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Wed, 21 Feb 2007 18:48:10 GMT"/>
++                        <accelerator key="Delete" modifiers="0" signal="clicked"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">4</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow2">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
++                    <property name="shadow_type">GTK_SHADOW_IN</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="write_treeview">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Files/Directories which the %s &quot;manages&quot;. Pid Files, Log Files, /var/lib Files ...</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">False</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label116">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">label116</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox70">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_booleans_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Add booleans from the %s policy:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">5</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkHBox" id="hbox1">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">12</property>
++
++                <child>
++                  <widget class="GtkVBox" id="vbox3">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">6</property>
++
++                    <child>
++                      <widget class="GtkButton" id="button2">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_add_boolean_clicked" last_modification_time="Wed, 17 Oct 2007 00:02:27 GMT"/>
++
++                        <child>
++                          <widget class="GtkAlignment" id="alignment6">
++                            <property name="visible">True</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xscale">0</property>
++                            <property name="yscale">0</property>
++                            <property name="top_padding">0</property>
++                            <property name="bottom_padding">0</property>
++                            <property name="left_padding">0</property>
++                            <property name="right_padding">0</property>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox4">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">2</property>
++
++                                <child>
++                                  <widget class="GtkImage" id="image3">
++                                    <property name="visible">True</property>
++                                    <property name="stock">gtk-add</property>
++                                    <property name="icon_size">4</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label17">
++                                    <property name="visible">True</property>
++                                    <property name="label">Add Boolean</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                            </child>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkButton" id="button4">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="label">gtk-delete</property>
++                        <property name="use_stock">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <signal name="clicked" handler="on_delete_boolean_clicked" last_modification_time="Wed, 17 Oct 2007 00:02:39 GMT"/>
++                        <accelerator key="Delete" modifiers="0" signal="clicked"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">4</property>
++                    <property name="expand">False</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow2">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
++                    <property name="shadow_type">GTK_SHADOW_IN</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="boolean_treeview">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Add/Remove booleans used by the %s domain</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">True</property>
++                <property name="fill">True</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="GtkLabel">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes"></property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkVBox" id="vbox71">
++            <property name="visible">True</property>
++            <property name="homogeneous">False</property>
++            <property name="spacing">0</property>
++
++            <child>
++              <widget class="GtkLabel" id="select_dir_label">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Which directory you will generate the %s policy?&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="padding">0</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkHBox" id="hbox6">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">12</property>
++
++                <child>
++                  <widget class="GtkLabel" id="label18">
++                    <property name="visible">True</property>
++                    <property name="label" translatable="yes">Policy Directory</property>
++                    <property name="use_underline">False</property>
++                    <property name="use_markup">False</property>
++                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                    <property name="wrap">False</property>
++                    <property name="selectable">False</property>
++                    <property name="xalign">0.5</property>
++                    <property name="yalign">0.5</property>
++                    <property name="xpad">0</property>
++                    <property name="ypad">0</property>
++                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                    <property name="width_chars">-1</property>
++                    <property name="single_line_mode">False</property>
++                    <property name="angle">0</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">5</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkEntry" id="output_entry">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="editable">True</property>
++                    <property name="visibility">True</property>
++                    <property name="max_length">0</property>
++                    <property name="text" translatable="yes"></property>
++                    <property name="has_frame">True</property>
++                    <property name="invisible_char">•</property>
++                    <property name="activates_default">False</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkButton" id="output_button">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="label" translatable="yes">...</property>
++                    <property name="use_underline">True</property>
++                    <property name="relief">GTK_RELIEF_NORMAL</property>
++                    <property name="focus_on_click">True</property>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="padding">12</property>
++                <property name="expand">False</property>
++                <property name="fill">False</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="tab_expand">False</property>
++            <property name="tab_fill">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="GtkLabel">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes"></property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0.5</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="type">tab</property>
++          </packing>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">True</property>
++        <property name="fill">True</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkHButtonBox" id="hbuttonbox2">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++        <property name="spacing">0</property>
++
++        <child>
++          <widget class="GtkButton" id="cancel_button">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <signal name="activate" handler="on_cancel_activate" last_modification_time="Wed, 02 Feb 2011 21:21:29 GMT"/>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="back_button">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-go-back</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <signal name="activate" handler="on_back_activate" last_modification_time="Wed, 02 Feb 2011 21:22:00 GMT"/>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="forward_button">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-media-forward</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <signal name="activate" handler="on_forward_activate" last_modification_time="Wed, 02 Feb 2011 21:22:32 GMT"/>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">5</property>
++        <property name="expand">False</property>
++        <property name="fill">False</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++<widget class="GtkDialog" id="boolean_dialog">
++  <property name="border_width">12</property>
++  <property name="title" translatable="yes">Add Booleans Dialog</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_MOUSE</property>
++  <property name="modal">False</property>
++  <property name="default_width">400</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++  <property name="has_separator">False</property>
++
++  <child internal-child="vbox">
++    <widget class="GtkVBox" id="dialog-vbox2">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">6</property>
++
++      <child internal-child="action_area">
++      <widget class="GtkHButtonBox" id="dialog-action_area2">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++
++        <child>
++          <widget class="GtkButton" id="cancelbutton1">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-6</property>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="okbutton1">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-add</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-5</property>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">False</property>
++        <property name="fill">True</property>
++        <property name="pack_type">GTK_PACK_END</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkTable" id="table6">
++        <property name="visible">True</property>
++        <property name="n_rows">2</property>
++        <property name="n_columns">2</property>
++        <property name="homogeneous">False</property>
++        <property name="row_spacing">6</property>
++        <property name="column_spacing">12</property>
++
++        <child>
++          <widget class="GtkLabel" id="label48">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">Boolean Name</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="left_attach">0</property>
++            <property name="right_attach">1</property>
++            <property name="top_attach">0</property>
++            <property name="bottom_attach">1</property>
++            <property name="x_options">fill</property>
++            <property name="y_options"></property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkLabel" id="label49">
++            <property name="visible">True</property>
++            <property name="label" translatable="yes">Description</property>
++            <property name="use_underline">False</property>
++            <property name="use_markup">False</property>
++            <property name="justify">GTK_JUSTIFY_LEFT</property>
++            <property name="wrap">False</property>
++            <property name="selectable">False</property>
++            <property name="xalign">0</property>
++            <property name="yalign">0.5</property>
++            <property name="xpad">0</property>
++            <property name="ypad">0</property>
++            <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++            <property name="width_chars">-1</property>
++            <property name="single_line_mode">False</property>
++            <property name="angle">0</property>
++          </widget>
++          <packing>
++            <property name="left_attach">0</property>
++            <property name="right_attach">1</property>
++            <property name="top_attach">1</property>
++            <property name="bottom_attach">2</property>
++            <property name="x_options">fill</property>
++            <property name="y_options"></property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkEntry" id="boolean_name_entry">
++            <property name="visible">True</property>
++            <property name="can_focus">True</property>
++            <property name="editable">True</property>
++            <property name="visibility">True</property>
++            <property name="max_length">0</property>
++            <property name="text" translatable="yes"></property>
++            <property name="has_frame">True</property>
++            <property name="invisible_char">•</property>
++            <property name="activates_default">False</property>
++          </widget>
++          <packing>
++            <property name="left_attach">1</property>
++            <property name="right_attach">2</property>
++            <property name="top_attach">0</property>
++            <property name="bottom_attach">1</property>
++            <property name="y_options"></property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkEntry" id="boolean_description_entry">
++            <property name="visible">True</property>
++            <property name="can_focus">True</property>
++            <property name="editable">True</property>
++            <property name="visibility">True</property>
++            <property name="max_length">0</property>
++            <property name="text" translatable="yes"></property>
++            <property name="has_frame">True</property>
++            <property name="invisible_char">•</property>
++            <property name="activates_default">False</property>
++          </widget>
++          <packing>
++            <property name="left_attach">1</property>
++            <property name="right_attach">2</property>
++            <property name="top_attach">1</property>
++            <property name="bottom_attach">2</property>
++            <property name="y_options"></property>
++          </packing>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">True</property>
++        <property name="fill">True</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++</glade-interface>
+diff -up policycoreutils-2.1.8/gui/polgen.gladep.gui policycoreutils-2.1.8/gui/polgen.gladep
+--- policycoreutils-2.1.8/gui/polgen.gladep.gui        2011-11-07 15:12:01.903834231 -0500
++++ policycoreutils-2.1.8/gui/polgen.gladep    2011-11-07 15:12:01.903834231 -0500
+@@ -0,0 +1,7 @@
++<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
++<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
++
++<glade-project>
++  <name></name>
++  <program_name></program_name>
++</glade-project>
+diff -up policycoreutils-2.1.8/gui/polgengui.py.gui policycoreutils-2.1.8/gui/polgengui.py
+--- policycoreutils-2.1.8/gui/polgengui.py.gui 2011-11-07 15:12:01.904834232 -0500
++++ policycoreutils-2.1.8/gui/polgengui.py     2011-11-07 15:12:01.904834232 -0500
+@@ -0,0 +1,750 @@
++#!/usr/bin/python -Es
++#
++# polgengui.py - GUI for SELinux Config tool in system-config-selinux
++#
++# Dan Walsh <dwalsh@redhat.com>
++#
++# Copyright (C) 2007-2011 Red Hat 
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++import signal
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import gnome
++import sys
++import polgen
++import re
++
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++gnome.program_init("SELinux Policy Generation Tool", "5")
++
++version = "1.0"
++
++sys.path.append('/usr/share/system-config-selinux')
++sys.path.append('.')
++
++# From John Hunter http://www.daa.com.au/pipermail/pygtk/2003-February/004454.html
++def foreach(model, path, iter, selected):
++    selected.append(model.get_value(iter, 0))
++
++##
++## Pull in the Glade file
++##
++if os.access("polgen.glade", os.F_OK):
++    xml = gtk.glade.XML ("polgen.glade", domain=PROGNAME)
++else:
++    xml = gtk.glade.XML ("/usr/share/system-config-selinux/polgen.glade", domain=PROGNAME)
++
++FILE = 1
++DIR = 2
++
++class childWindow:
++    START_PAGE = 0
++    SELECT_TYPE_PAGE = 0
++    APP_PAGE = 1
++    EXISTING_USER_PAGE = 2
++    TRANSITION_PAGE = 3
++    USER_TRANSITION_PAGE = 4
++    ADMIN_PAGE = 5
++    ROLE_PAGE = 6
++    IN_NET_PAGE = 7
++    OUT_NET_PAGE = 8
++    COMMON_APPS_PAGE = 9
++    FILES_PAGE = 10
++    BOOLEAN_PAGE = 11
++    SELECT_DIR_PAGE = 12
++    FINISH_PAGE = 12
++
++    def __init__(self):
++        self.xml = xml
++        self.notebook = xml.get_widget ("notebook")
++        self.label_dict = {}
++        self.tooltip_dict = {}
++        label = xml.get_widget ("select_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_user_roles_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_dir_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_domain_admin_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_in_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_out_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_common_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_manages_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("select_booleans_label")
++        self.label_dict[label] = label.get_text()
++
++        label = xml.get_widget ("existing_user_treeview")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("transition_treeview")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_tcp_all_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_tcp_reserved_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_tcp_unreserved_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_tcp_entry")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_udp_all_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_udp_reserved_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_udp_unreserved_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("in_udp_entry")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("out_tcp_entry")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("out_udp_entry")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("out_tcp_all_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("out_udp_all_checkbutton")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("boolean_treeview")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        label = xml.get_widget ("write_treeview")
++        self.tooltip_dict[label] = label.get_tooltip_text()
++
++        try:
++            self.all_types = polgen.get_all_types()
++            self.all_modules = polgen.get_all_modules()
++            self.all_roles = polgen.get_all_roles()
++            self.all_users = polgen.get_all_users()
++        except RuntimeError, e:
++            self.all_types = []
++            self.all_modules = []
++            self.all_roles = []
++            self.all_users = []
++            self.error(str(e))
++
++        self.name=""
++        xml.signal_connect("on_delete_clicked", self.delete)
++        xml.signal_connect("on_delete_boolean_clicked", self.delete_boolean)
++        xml.signal_connect("on_exec_select_clicked", self.exec_select)
++        xml.signal_connect("on_init_script_select_clicked", self.init_script_select)
++        xml.signal_connect("on_add_clicked", self.add)
++        xml.signal_connect("on_add_boolean_clicked", self.add_boolean)
++        xml.signal_connect("on_add_dir_clicked", self.add_dir)
++        xml.signal_connect("on_about_clicked", self.on_about_clicked)
++        xml.get_widget ("cancel_button").connect("clicked",self.quit)
++        self.forward_button = xml.get_widget ("forward_button")
++        self.forward_button.connect("clicked",self.forward)
++        self.back_button = xml.get_widget ("back_button")
++        self.back_button.connect("clicked",self.back)
++
++        self.boolean_dialog = xml.get_widget ("boolean_dialog")
++        self.boolean_name_entry = xml.get_widget ("boolean_name_entry")
++        self.boolean_description_entry = xml.get_widget ("boolean_description_entry")
++
++        self.pages={}
++        for i in polgen.USERS:
++            self.pages[i] = [ self.SELECT_TYPE_PAGE, self.APP_PAGE, self.TRANSITION_PAGE, self.ROLE_PAGE, self.IN_NET_PAGE, self.OUT_NET_PAGE, self.BOOLEAN_PAGE, self.SELECT_DIR_PAGE ]
++        self.pages[polgen.RUSER] = [ self.SELECT_TYPE_PAGE, self.APP_PAGE,  self.ADMIN_PAGE, self.USER_TRANSITION_PAGE, self.BOOLEAN_PAGE, self.SELECT_DIR_PAGE ]
++        self.pages[polgen.LUSER] = [ self.SELECT_TYPE_PAGE, self.APP_PAGE, self.TRANSITION_PAGE, self.IN_NET_PAGE, self.OUT_NET_PAGE, self.BOOLEAN_PAGE, self.SELECT_DIR_PAGE ]
++        self.pages[polgen.SANDBOX] = [ self.SELECT_TYPE_PAGE, self.APP_PAGE, self.IN_NET_PAGE, self.OUT_NET_PAGE, self.BOOLEAN_PAGE, self.SELECT_DIR_PAGE]
++        self.pages[polgen.EUSER] = [ self.SELECT_TYPE_PAGE, self.EXISTING_USER_PAGE, self.TRANSITION_PAGE, self.ROLE_PAGE, self.IN_NET_PAGE, self.OUT_NET_PAGE, self.BOOLEAN_PAGE, self.SELECT_DIR_PAGE ]
++
++        for i in polgen.APPLICATIONS:
++            self.pages[i] = [ self.SELECT_TYPE_PAGE, self.APP_PAGE, self.IN_NET_PAGE, self.OUT_NET_PAGE, self.COMMON_APPS_PAGE, self.FILES_PAGE, self.BOOLEAN_PAGE, self.SELECT_DIR_PAGE]
++        self.pages[polgen.USER] = [ self.SELECT_TYPE_PAGE, self.APP_PAGE, self.USER_TRANSITION_PAGE, self.IN_NET_PAGE, self.OUT_NET_PAGE, self.COMMON_APPS_PAGE, self.FILES_PAGE, self.BOOLEAN_PAGE, self.SELECT_DIR_PAGE ]
++        
++        self.current_page = 0
++        self.back_button.set_sensitive(0)
++
++        self.network_buttons = {}
++
++        self.in_tcp_all_checkbutton = xml.get_widget ("in_tcp_all_checkbutton")
++        self.in_tcp_reserved_checkbutton = xml.get_widget ("in_tcp_reserved_checkbutton")
++        self.in_tcp_unreserved_checkbutton = xml.get_widget ("in_tcp_unreserved_checkbutton")
++        self.in_tcp_entry = self.xml.get_widget("in_tcp_entry")
++        self.network_buttons[self.in_tcp_all_checkbutton] = [ self.in_tcp_reserved_checkbutton, self.in_tcp_unreserved_checkbutton, self.in_tcp_entry ]
++
++
++        self.out_tcp_all_checkbutton = xml.get_widget ("out_tcp_all_checkbutton")
++        self.out_tcp_reserved_checkbutton = xml.get_widget ("out_tcp_reserved_checkbutton")
++        self.out_tcp_unreserved_checkbutton = xml.get_widget ("out_tcp_unreserved_checkbutton")
++        self.out_tcp_entry = self.xml.get_widget("out_tcp_entry")
++
++        self.network_buttons[self.out_tcp_all_checkbutton] = [ self.out_tcp_entry ]
++
++        self.in_udp_all_checkbutton = xml.get_widget ("in_udp_all_checkbutton")
++        self.in_udp_reserved_checkbutton = xml.get_widget ("in_udp_reserved_checkbutton")
++        self.in_udp_unreserved_checkbutton = xml.get_widget ("in_udp_unreserved_checkbutton")
++        self.in_udp_entry = self.xml.get_widget("in_udp_entry")
++
++        self.network_buttons[self.in_udp_all_checkbutton] = [ self.in_udp_reserved_checkbutton, self.in_udp_unreserved_checkbutton, self.in_udp_entry ]
++
++        self.out_udp_all_checkbutton = xml.get_widget ("out_udp_all_checkbutton")
++        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)
++
++        self.boolean_treeview = self.xml.get_widget("boolean_treeview")
++        self.boolean_store = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING)
++        self.boolean_treeview.set_model(self.boolean_store)
++        self.boolean_store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Name"), gtk.CellRendererText(), text = 0)
++        self.boolean_treeview.append_column(col)
++        col = gtk.TreeViewColumn(_("Description"), gtk.CellRendererText(), text = 1)
++        self.boolean_treeview.append_column(col)
++
++        self.role_treeview = self.xml.get_widget("role_treeview")
++        self.role_store = gtk.ListStore(gobject.TYPE_STRING)
++        self.role_treeview.set_model(self.role_store)
++        self.role_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
++        self.role_store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Role"), gtk.CellRendererText(), text = 0)
++        self.role_treeview.append_column(col)
++
++        self.existing_user_treeview = self.xml.get_widget("existing_user_treeview")
++        self.existing_user_store = gtk.ListStore(gobject.TYPE_STRING)
++        self.existing_user_treeview.set_model(self.existing_user_store)
++        self.existing_user_store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Existing_User"), gtk.CellRendererText(), text = 0)
++        self.existing_user_treeview.append_column(col)
++
++        for i in self.all_roles:
++            iter = self.role_store.append()
++            self.role_store.set_value(iter, 0, i[:-2])
++
++        self.in_tcp_reserved_checkbutton = xml.get_widget ("in_tcp_reserved_checkbutton")
++
++        self.transition_treeview = self.xml.get_widget("transition_treeview")
++        self.transition_store = gtk.ListStore(gobject.TYPE_STRING)
++        self.transition_treeview.set_model(self.transition_store)
++        self.transition_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
++        self.transition_store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Application"), gtk.CellRendererText(), text = 0)
++        self.transition_treeview.append_column(col)
++
++        self.user_transition_treeview = self.xml.get_widget("user_transition_treeview")
++        self.user_transition_store = gtk.ListStore(gobject.TYPE_STRING)
++        self.user_transition_treeview.set_model(self.user_transition_store)
++        self.user_transition_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
++        self.user_transition_store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Application"), gtk.CellRendererText(), text = 0)
++        self.user_transition_treeview.append_column(col)
++
++        for i in self.all_users:
++            iter = self.user_transition_store.append()
++            self.user_transition_store.set_value(iter, 0, i[:-2])
++            iter = self.existing_user_store.append()
++            self.existing_user_store.set_value(iter, 0, i[:-2])
++
++        self.admin_treeview = self.xml.get_widget("admin_treeview")
++        self.admin_store = gtk.ListStore(gobject.TYPE_STRING)
++        self.admin_treeview.set_model(self.admin_store)
++        self.admin_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
++        self.admin_store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++        col = gtk.TreeViewColumn(_("Application"), gtk.CellRendererText(), text = 0)
++        self.admin_treeview.append_column(col)
++
++        for i in polgen.methods:
++            m = re.findall("(.*)%s" % polgen.USER_TRANSITION_INTERFACE, i) 
++            if len(m) > 0:
++                if "%s_exec_t" % m[0] in self.all_types:
++                    iter = self.transition_store.append()
++                    self.transition_store.set_value(iter, 0, m[0])
++                continue
++
++            m = re.findall("(.*)%s" % polgen.ADMIN_TRANSITION_INTERFACE, i) 
++            if len(m) > 0:
++                iter = self.admin_store.append()
++                self.admin_store.set_value(iter, 0, m[0])
++                continue
++        
++    def confine_application(self):
++        return self.get_type() in polgen.APPLICATIONS
++
++    def forward(self, arg):
++        type = self.get_type()
++        if self.current_page == self.START_PAGE:
++            self.back_button.set_sensitive(1)
++
++        if self.pages[type][self.current_page] == self.SELECT_TYPE_PAGE:
++            if self.on_select_type_page_next():
++                return
++
++        if self.pages[type][self.current_page] == self.IN_NET_PAGE:
++            if self.on_in_net_page_next():
++                return
++
++        if self.pages[type][self.current_page] == self.OUT_NET_PAGE:
++            if self.on_out_net_page_next():
++                return
++
++        if self.pages[type][self.current_page] == self.APP_PAGE:
++            if self.on_name_page_next():
++                return
++
++        if self.pages[type][self.current_page] == self.EXISTING_USER_PAGE:
++            if self.on_existing_user_page_next():
++                return
++
++        if self.pages[type][self.current_page] == self.SELECT_DIR_PAGE:
++            outputdir = self.output_entry.get_text()
++            if not os.path.isdir(outputdir):
++                self.error(_("%s must be a directory") % outputdir )
++                return False
++
++        if self.pages[type][self.current_page] == self.FINISH_PAGE:
++            self.generate_policy()
++            self.xml.get_widget ("cancel_button").set_label(gtk.STOCK_CLOSE)
++        else:
++            self.current_page = self.current_page + 1
++            self.notebook.set_current_page(self.pages[type][self.current_page])
++            if self.pages[type][self.current_page] == self.FINISH_PAGE:
++                self.forward_button.set_label(gtk.STOCK_APPLY)
++        
++    def back(self,arg):
++        type = self.get_type()
++        if self.pages[type][self.current_page] == self.FINISH_PAGE:
++            self.forward_button.set_label(gtk.STOCK_GO_FORWARD)
++
++        self.current_page = self.current_page - 1 
++        self.notebook.set_current_page(self.pages[type][self.current_page])
++        if self.pages[type][self.current_page] == self.START_PAGE:
++            self.back_button.set_sensitive(0)
++        
++    def network_all_clicked(self, button):
++        active = button.get_active()
++        for b in self.network_buttons[button]:
++            b.set_sensitive(not active)
++        
++    def verify(self, message, title="" ):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
++                                gtk.BUTTONS_YES_NO,
++                                message)
++        dlg.set_title(title)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        rc = dlg.run()
++        dlg.destroy()
++        return rc
++
++    def info(self, message):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
++                                gtk.BUTTONS_OK,
++                                message)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        dlg.run()
++        dlg.destroy()
++
++    def error(self, message):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
++                                gtk.BUTTONS_CLOSE,
++                                message)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        dlg.run()
++        dlg.destroy()
++
++    def get_name(self):
++        if self.existing_user_radiobutton.get_active():
++            store, iter = self.existing_user_treeview.get_selection().get_selected()
++            if iter == None:
++                raise ValueError(_("You must select a user"))
++            return store.get_value(iter, 0)
++        else:
++            return self.name_entry.get_text()
++
++    def get_type(self):
++        if self.sandbox_radiobutton.get_active():
++            return polgen.SANDBOX
++        if self.cgi_radiobutton.get_active():
++            return polgen.CGI
++        if self.user_radiobutton.get_active():
++            return polgen.USER
++        if self.init_radiobutton.get_active():
++            return polgen.DAEMON
++        if self.dbus_radiobutton.get_active():
++            return polgen.DBUS
++        if self.inetd_radiobutton.get_active():
++            return polgen.INETD
++        if self.login_user_radiobutton.get_active():
++            return polgen.LUSER
++        if self.admin_user_radiobutton.get_active():
++            return polgen.AUSER
++        if self.xwindows_user_radiobutton.get_active():
++            return polgen.XUSER
++        if self.terminal_user_radiobutton.get_active():
++            return polgen.TUSER
++        if self.root_user_radiobutton.get_active():
++            return polgen.RUSER
++        if self.existing_user_radiobutton.get_active():
++            return polgen.EUSER
++
++    def generate_policy(self, *args):
++        outputdir = self.output_entry.get_text()
++        try:
++            my_policy=polgen.policy(self.get_name(), self.get_type())
++
++            iter= self.boolean_store.get_iter_first()
++            while(iter):
++                my_policy.add_boolean(self.boolean_store.get_value(iter, 0), self.boolean_store.get_value(iter, 1))
++                iter= self.boolean_store.iter_next(iter)
++
++            if self.get_type() in polgen.APPLICATIONS:
++                my_policy.set_program(self.exec_entry.get_text())
++                my_policy.gen_symbols()
++
++                my_policy.set_use_syslog(self.syslog_checkbutton.get_active() == 1)
++                my_policy.set_use_tmp(self.tmp_checkbutton.get_active() == 1)
++                my_policy.set_use_uid(self.uid_checkbutton.get_active() == 1)
++                my_policy.set_use_pam(self.pam_checkbutton.get_active() == 1)
++
++                my_policy.set_use_dbus(self.dbus_checkbutton.get_active() == 1)
++                my_policy.set_use_audit(self.audit_checkbutton.get_active() == 1)
++                my_policy.set_use_terminal(self.terminal_checkbutton.get_active() == 1)
++                my_policy.set_use_mail(self.mail_checkbutton.get_active() == 1)
++                if self.get_type() is polgen.DAEMON:
++                    my_policy.set_init_script(self.init_script_entry.get_text())
++                if self.get_type() == polgen.USER:
++                    selected = []
++                    self.user_transition_treeview.get_selection().selected_foreach(foreach, selected)
++                    my_policy.set_transition_users(selected)
++            else:
++                if self.get_type() == polgen.RUSER:
++                    selected = []
++                    self.admin_treeview.get_selection().selected_foreach(foreach, selected)
++                    my_policy.set_admin_domains(selected)
++                    selected = []
++                    self.user_transition_treeview.get_selection().selected_foreach(foreach, selected)
++                    my_policy.set_transition_users(selected)
++                else:
++                    selected = []
++                    self.transition_treeview.get_selection().selected_foreach(foreach, selected)
++                    my_policy.set_transition_domains(selected)
++                
++                    selected = []
++                    self.role_treeview.get_selection().selected_foreach(foreach, selected)
++                    my_policy.set_admin_roles(selected)
++
++            my_policy.set_in_tcp(self.in_tcp_all_checkbutton.get_active(), self.in_tcp_reserved_checkbutton.get_active(), self.in_tcp_unreserved_checkbutton.get_active(), self.in_tcp_entry.get_text())
++            my_policy.set_in_udp(self.in_udp_all_checkbutton.get_active(), self.in_udp_reserved_checkbutton.get_active(), self.in_udp_unreserved_checkbutton.get_active(), self.in_udp_entry.get_text())
++            my_policy.set_out_tcp(self.out_tcp_all_checkbutton.get_active(), self.out_tcp_entry.get_text())
++            my_policy.set_out_udp(self.out_udp_all_checkbutton.get_active(), self.out_udp_entry.get_text())
++                
++            iter= self.store.get_iter_first()
++            while(iter):
++                if self.store.get_value(iter, 1) == FILE:
++                    my_policy.add_file(self.store.get_value(iter, 0))
++                else:
++                    my_policy.add_dir(self.store.get_value(iter, 0))
++                iter= self.store.iter_next(iter)
++                
++            self.info(my_policy.generate(outputdir))
++            return False
++        except ValueError, e:
++            self.error(e.message)
++        
++    def delete(self, args):
++        store, iter = self.view.get_selection().get_selected()
++        if iter != None:
++            store.remove(iter)
++            self.view.get_selection().select_path ((0,))
++
++    def delete_boolean(self, args):
++        store, iter = self.boolean_treeview.get_selection().get_selected()
++        if iter != None:
++            store.remove(iter)
++            self.boolean_treeview.get_selection().select_path ((0,))
++
++    def add_boolean(self,type):
++        self.boolean_name_entry.set_text("")
++        self.boolean_description_entry.set_text("")
++        rc = self.boolean_dialog.run()
++        self.boolean_dialog.hide()
++        if rc == gtk.RESPONSE_CANCEL:
++            return
++        iter = self.boolean_store.append()
++        self.boolean_store.set_value(iter, 0, self.boolean_name_entry.get_text())
++        self.boolean_store.set_value(iter, 1, self.boolean_description_entry.get_text())
++        
++    def __add(self,type):
++        rc = self.file_dialog.run()
++        self.file_dialog.hide()
++        if rc == gtk.RESPONSE_CANCEL:
++            return
++        for i in self.file_dialog.get_filenames():
++            iter = self.store.append()
++            self.store.set_value(iter, 0, i)
++            self.store.set_value(iter, 1, type)
++        
++    def exec_select(self, args):
++        self.file_dialog.set_select_multiple(0)
++        self.file_dialog.set_title(_("Select executable file to be confined."))
++        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN)
++        self.file_dialog.set_current_folder("/usr/sbin")
++        rc = self.file_dialog.run()
++        self.file_dialog.hide()
++        if rc == gtk.RESPONSE_CANCEL:
++            return
++        self.exec_entry.set_text(self.file_dialog.get_filename())
++
++    def init_script_select(self, args):
++        self.file_dialog.set_select_multiple(0)
++        self.file_dialog.set_title(_("Select init script file to be confined."))
++        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN)
++        self.file_dialog.set_current_folder("/etc/rc.d/init.d")
++        rc = self.file_dialog.run()
++        self.file_dialog.hide()
++        if rc == gtk.RESPONSE_CANCEL:
++            return
++        self.init_script_entry.set_text(self.file_dialog.get_filename())
++
++    def add(self, args):
++        self.file_dialog.set_title(_("Select file(s) that confined application creates or writes"))
++        self.file_dialog.set_current_folder("/")
++        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN)
++        self.file_dialog.set_select_multiple(1)
++        self.__add(FILE)
++
++    def add_dir(self, args):
++        self.file_dialog.set_title(_("Select directory(s) that the confined application owns and writes into"))
++        self.file_dialog.set_current_folder("/")
++        self.file_dialog.set_select_multiple(1)
++        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
++        self.__add(DIR)
++        
++    def on_about_clicked(self, args):
++        dlg = xml.get_widget ("about_dialog")
++        dlg.run ()
++        dlg.hide ()
++
++    def quit(self, args):
++        gtk.main_quit()
++
++    def setupScreen(self):
++        # Bring in widgets from glade file.
++        self.mainWindow = self.xml.get_widget("main_window")
++        self.druid = self.xml.get_widget("druid")
++        self.type = 0
++        self.name_entry = self.xml.get_widget("name_entry")
++        self.name_entry.connect("insert_text",self.on_name_entry_changed)
++        self.name_entry.connect("focus_out_event",self.on_focus_out_event)
++        self.exec_entry = self.xml.get_widget("exec_entry")
++        self.exec_button = self.xml.get_widget("exec_button")
++        self.init_script_entry = self.xml.get_widget("init_script_entry")
++        self.init_script_button = self.xml.get_widget("init_script_button")
++        self.output_entry = self.xml.get_widget("output_entry")
++        self.output_entry.set_text(os.getcwd())
++        self.xml.get_widget("output_button").connect("clicked",self.output_button_clicked)
++        
++        self.xwindows_user_radiobutton = self.xml.get_widget("xwindows_user_radiobutton")
++        self.terminal_user_radiobutton = self.xml.get_widget("terminal_user_radiobutton")
++        self.root_user_radiobutton = self.xml.get_widget("root_user_radiobutton")
++        self.login_user_radiobutton = self.xml.get_widget("login_user_radiobutton")
++        self.admin_user_radiobutton = self.xml.get_widget("admin_user_radiobutton")
++        self.existing_user_radiobutton = self.xml.get_widget("existing_user_radiobutton")
++
++        self.user_radiobutton = self.xml.get_widget("user_radiobutton")
++        self.init_radiobutton = self.xml.get_widget("init_radiobutton")
++        self.inetd_radiobutton = self.xml.get_widget("inetd_radiobutton")
++        self.dbus_radiobutton = self.xml.get_widget("dbus_radiobutton")
++        self.cgi_radiobutton = self.xml.get_widget("cgi_radiobutton")
++        self.sandbox_radiobutton = self.xml.get_widget("sandbox_radiobutton")
++        self.tmp_checkbutton = self.xml.get_widget("tmp_checkbutton")
++        self.uid_checkbutton = self.xml.get_widget("uid_checkbutton")
++        self.pam_checkbutton = self.xml.get_widget("pam_checkbutton")
++        self.dbus_checkbutton = self.xml.get_widget("dbus_checkbutton")
++        self.audit_checkbutton = self.xml.get_widget("audit_checkbutton")
++        self.terminal_checkbutton = self.xml.get_widget("terminal_checkbutton")
++        self.mail_checkbutton = self.xml.get_widget("mail_checkbutton")
++        self.syslog_checkbutton = self.xml.get_widget("syslog_checkbutton")
++        self.view = self.xml.get_widget("write_treeview")
++        self.file_dialog = self.xml.get_widget("filechooserdialog")
++
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_INT)
++        self.view.set_model(self.store)
++        col = gtk.TreeViewColumn("",  gtk.CellRendererText(), text = 0)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.view.get_selection().select_path ((0,))
++
++    def output_button_clicked(self, *args):
++        self.file_dialog.set_title(_("Select directory to generate policy files in"))
++        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
++        self.file_dialog.set_select_multiple(0)
++        rc = self.file_dialog.run()
++        self.file_dialog.hide()
++        if rc == gtk.RESPONSE_CANCEL:
++            return
++        self.output_entry.set_text(self.file_dialog.get_filename())
++        
++    def on_name_entry_changed(self, entry, text, size, position):
++        if text.find(" ") >= 0:
++            entry.emit_stop_by_name("insert_text")
++            
++    def on_focus_out_event(self, entry, third):
++        name = entry.get_text()
++        if self.name != name:
++            if name in self.all_types:
++                if self.verify(_("Type %s_t already defined in current policy.\nDo you want to continue?") % name, _("Verify Name")) == gtk.RESPONSE_NO:
++                    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:
++                    entry.set_text("")
++                    return False
++
++            file = "/etc/rc.d/init.d/" + name
++            if os.path.isfile(file) and self.init_script_entry.get_text() == "":
++                self.init_script_entry.set_text(file)
++                
++            file = "/usr/sbin/" + name
++            if os.path.isfile(file) and self.exec_entry.get_text() == "":
++                self.exec_entry.set_text(file)
++
++        self.name = name
++        return False
++
++    def on_in_net_page_next(self, *args):
++        try:
++            polgen.verify_ports(self.in_tcp_entry.get_text())
++            polgen.verify_ports(self.in_udp_entry.get_text())
++        except ValueError, e:
++            self.error(e.message)
++            return True
++        
++    def on_out_net_page_next(self, *args):
++        try:
++            polgen.verify_ports(self.out_tcp_entry.get_text())
++            polgen.verify_ports(self.out_udp_entry.get_text())
++        except ValueError, e:
++            self.error(e.message)
++            return True
++        
++    def on_select_type_page_next(self, *args):
++        self.exec_entry.set_sensitive(self.confine_application())
++        self.exec_button.set_sensitive(self.confine_application())
++        self.init_script_entry.set_sensitive(self.init_radiobutton.get_active())
++        self.init_script_button.set_sensitive(self.init_radiobutton.get_active())
++
++    def on_existing_user_page_next(self, *args):
++        store, iter = self.view.get_selection().get_selected()
++        if iter != None:
++            self.error(_("You must select a user"))
++            return True
++        
++    def on_name_page_next(self, *args):
++        name=self.name_entry.get_text()
++        if not name.isalnum():
++            self.error(_("You must add a name made up of letters and numbers and containing no spaces."))
++            return True
++        
++        for i in self.label_dict:
++            text = '<b>%s</b>' % (self.label_dict[i] % ("'" + name + "'"))
++            i.set_markup(text)
++
++        for i in self.tooltip_dict:
++            text = self.tooltip_dict[i] % ("'" + name + "'")
++            i.set_tooltip_text(text)
++
++        if self.confine_application():
++            exe = self.exec_entry.get_text()
++            if exe == "":
++                self.error(_("You must enter a executable"))
++                return True
++            policy=polgen.policy(name, self.get_type())
++            policy.set_program(exe)
++            policy.gen_writeable()
++            policy.gen_symbols()
++            for f in 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():
++                iter = self.store.append()
++                self.store.set_value(iter, 0, f)
++                self.store.set_value(iter, 1, DIR)
++            self.tmp_checkbutton.set_active(policy.use_tmp)
++            self.uid_checkbutton.set_active(policy.use_uid)
++            self.pam_checkbutton.set_active(policy.use_pam)
++            self.dbus_checkbutton.set_active(policy.use_dbus)
++            self.audit_checkbutton.set_active(policy.use_audit)
++            self.terminal_checkbutton.set_active(policy.use_terminal)
++            self.mail_checkbutton.set_active(policy.use_mail)
++            self.syslog_checkbutton.set_active(policy.use_syslog)
++
++    def stand_alone(self):
++        desktopName = _("Configue SELinux")
++
++        self.setupScreen()
++        self.mainWindow.connect("destroy", self.quit)
++
++        self.mainWindow.show_all()
++        gtk.main()
++
++if __name__ == "__main__":
++    signal.signal (signal.SIGINT, signal.SIG_DFL)
++
++    app = childWindow()
++    app.stand_alone()
+diff -up policycoreutils-2.1.8/gui/polgen.py.gui policycoreutils-2.1.8/gui/polgen.py
+--- policycoreutils-2.1.8/gui/polgen.py.gui    2011-11-07 15:12:01.905834233 -0500
++++ policycoreutils-2.1.8/gui/polgen.py        2011-11-07 15:12:39.045857808 -0500
+@@ -0,0 +1,1351 @@
++#!/usr/bin/python -Es
++#
++# Copyright (C) 2007-2011 Red Hat 
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     
++#                                        02111-1307  USA
++#
++#  
++import os, sys, stat
++import re
++import commands
++import setools
++
++from templates import executable
++from templates import boolean
++from templates import etc_rw
++from templates import var_cache
++from templates import var_spool
++from templates import var_lib
++from templates import var_log
++from templates import var_run
++from templates import tmp
++from templates import rw
++from templates import network
++from templates import script
++from templates import user
++import sepolgen.interfaces as interfaces
++import sepolgen.defaults as defaults
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++methods = []
++fn = defaults.interface_info()
++try:
++    fd = open(fn)
++    # List of per_role_template interfaces
++    ifs = interfaces.InterfaceSet()
++    ifs.from_file(fd)
++    methods = ifs.interfaces.keys()
++    fd.close()
++except:
++    sys.stderr.write("could not open interface info [%s]\n" % fn)
++    sys.exit(1)
++
++all_types = None
++def get_all_types():
++    global all_types
++    if all_types == None:
++        all_types = map(lambda x: x['name'], setools.seinfo(setools.TYPE))
++    return all_types
++
++def get_all_ports():
++    dict = {}
++    for p in setools.seinfo(setools.PORT):
++        if p['type'] == "reserved_port_t" or \
++                p['type'] == "port_t" or \
++                p['type'] == "hi_reserved_port_t":
++            continue
++        dict[(p['low'], p['high'], p['protocol'])]=(p['type'], p['range'])
++    return dict
++
++def get_all_roles():
++    roles = map(lambda x: x['name'], setools.seinfo(setools.ROLE))
++    roles.remove("object_r")
++    roles.sort()
++    return roles
++
++def get_all_attributes():
++    attributes = map(lambda x: x['name'], setools.seinfo(setools.ATTRIBUTE))
++    attributes.sort()
++    return attributes
++
++def get_all_domains():
++    all_domains = []
++    types=get_all_types()
++    types.sort()
++    for i in types:
++        m = re.findall("(.*)%s" % "_exec_t$", i) 
++        if len(m) > 0:
++            if len(re.findall("(.*)%s" % "_initrc$", m[0])) == 0 and m[0] not in all_domains:
++                all_domains.append(m[0])
++    return all_domains
++
++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
++
++def get_all_users():
++    users = map(lambda x: x['name'], setools.seinfo(setools.USER))
++    users.remove("system_u")
++    users.remove("root")
++    users.sort()
++    return users
++
++ALL = 0
++RESERVED = 1
++UNRESERVED = 2
++PORTS = 3
++ADMIN_TRANSITION_INTERFACE = "_admin$"
++USER_TRANSITION_INTERFACE = "_role$"
++
++DAEMON = 0
++DBUS = 1
++INETD = 2
++USER = 3
++CGI = 4
++XUSER = 5
++TUSER = 6
++LUSER = 7
++AUSER = 8
++EUSER = 9
++RUSER = 10
++SANDBOX = 11
++
++poltype={} 
++poltype[DAEMON] = _("Standard Init Daemon")
++poltype[DBUS] = _("DBUS System Daemon")
++poltype[INETD] = _("Internet Services Daemon") 
++poltype[CGI] = _("Web Application/Script (CGI)")
++poltype[USER] = _("User Application")
++poltype[TUSER] = _("Minimal Terminal User Role")
++poltype[XUSER] = _("Minimal X Windows User Role")
++poltype[LUSER] = _("User Role")
++poltype[AUSER] = _("Admin User Role")
++poltype[RUSER] = _("Root Admin User Role")
++poltype[SANDBOX] = _("Sandbox")
++
++APPLICATIONS = [ DAEMON, DBUS, INETD, USER, CGI ]
++USERS = [ XUSER, TUSER, LUSER, AUSER, EUSER, RUSER]
++
++def verify_ports(ports):
++    if ports == "":
++        return []
++    max_port=2**16
++    try:
++        temp = []
++        for a in ports.split(","):
++            r =  a.split("-")
++            if len(r) > 2:
++                raise  ValueError
++            if len(r) == 1:
++                begin = int (r[0])
++                end = int (r[0])
++            else:
++                begin = int (r[0])
++                end = int (r[1])
++                
++                if begin > end:
++                    raise  ValueError
++                
++            for p in range(begin, end + 1):
++                if p < 1 or p > max_port:
++                    raise  ValueError
++                temp.append(p)
++        return temp
++    except ValueError:
++        raise  ValueError(_("Ports must be numbers or ranges of numbers from 1 to %d " % max_port ))
++
++class policy:
++    
++      def __init__(self, name, type):
++                self.ports = []
++                try:
++                    self.ports = get_all_ports()
++                except ValueError, e:
++                    print "Can not get port types, must be root for this information"
++                except RuntimeError, e:
++                    print "Can not get port types", e
++
++                self.symbols = {} 
++                self.symbols["openlog"] = "set_use_kerberos(True)"
++                self.symbols["openlog"] = "set_use_kerb_rcache(True)"
++                self.symbols["openlog"] = "set_use_syslog(True)"
++                self.symbols["gethostby"] = "set_use_resolve(True)"
++                self.symbols["getaddrinfo"] = "set_use_resolve(True)"
++                self.symbols["getnameinfo"] = "set_use_resolve(True)"
++                self.symbols["krb"] = "set_use_kerberos(True)"
++                self.symbols["gss_accept_sec_context"] = "set_manage_krb5_rcache(True)"
++                self.symbols["krb5_verify_init_creds"] = "set_manage_krb5_rcache(True)"
++                self.symbols["krb5_rd_req"] = "set_manage_krb5_rcache(True)"
++                self.symbols["__syslog_chk"] = "set_use_syslog(True)"
++                self.symbols["getpwnam"] = "set_use_uid(True)"
++                self.symbols["getpwuid"] = "set_use_uid(True)"
++                self.symbols["dbus_"] = "set_use_dbus(True)"
++                self.symbols["pam_"] = "set_use_pam(True)"
++                self.symbols["pam_"] = "set_use_audit(True)"
++                self.symbols["fork"] = "add_process('fork')"
++                self.symbols["transition"] = "add_process('transition')"
++                self.symbols["sigchld"] = "add_process('sigchld')"
++                self.symbols["sigkill"] = "add_process('sigkill')"
++                self.symbols["sigstop"] = "add_process('sigstop')"
++                self.symbols["signull"] = "add_process('signull')"
++                self.symbols["signal"] = "add_process('signal')"
++                self.symbols["ptrace"] = "add_process('ptrace')"
++                self.symbols["getsched"] = "add_process('getsched')"
++                self.symbols["setsched"] = "add_process('setsched')"
++                self.symbols["getsession"] = "add_process('getsession')"
++                self.symbols["getpgid"] = "add_process('getpgid')"
++                self.symbols["setpgid"] = "add_process('setpgid')"
++                self.symbols["getcap"] = "add_process('getcap')"
++                self.symbols["setcap"] = "add_process('setcap')"
++                self.symbols["share"] = "add_process('share')"
++                self.symbols["getattr"] = "add_process('getattr')"
++                self.symbols["setexec"] = "add_process('setexec')"
++                self.symbols["setfscreate"] = "add_process('setfscreate')"
++                self.symbols["noatsecure"] = "add_process('noatsecure')"
++                self.symbols["siginh"] = "add_process('siginh')"
++                self.symbols["setrlimit"] = "add_process('setrlimit')"
++                self.symbols["rlimitinh"] = "add_process('rlimitinh')"
++                self.symbols["dyntransition"] = "add_process('dyntransition')"
++                self.symbols["setcurrent"] = "add_process('setcurrent')"
++                self.symbols["execmem"] = "add_process('execmem')"
++                self.symbols["execstack"] = "add_process('execstack')"
++                self.symbols["execheap"] = "add_process('execheap')"
++                self.symbols["setkeycreate"] = "add_process('setkeycreate')"
++                self.symbols["setsockcreate"] = "add_process('setsockcreate')"
++
++                self.symbols["chown"] = "add_capability('chown')"
++                self.symbols["dac_override"] = "add_capability('dac_override')"
++                self.symbols["dac_read_search"] = "add_capability('dac_read_search')"
++                self.symbols["fowner"] = "add_capability('fowner')"
++                self.symbols["fsetid"] = "add_capability('fsetid')"
++                self.symbols["kill"] = "add_capability('kill')"
++                self.symbols["setgid"] = "add_capability('setgid')"
++                self.symbols["setresuid"] = "add_capability('setuid')"
++                self.symbols["setuid"] = "add_capability('setuid')"
++                self.symbols["setpcap"] = "add_capability('setpcap')"
++                self.symbols["linux_immutable"] = "add_capability('linux_immutable')"
++                self.symbols["net_bind_service"] = "add_capability('net_bind_service')"
++                self.symbols["net_broadcast"] = "add_capability('net_broadcast')"
++                self.symbols["net_admin"] = "add_capability('net_admin')"
++                self.symbols["net_raw"] = "add_capability('net_raw')"
++                self.symbols["ipc_lock"] = "add_capability('ipc_lock')"
++                self.symbols["ipc_owner"] = "add_capability('ipc_owner')"
++                self.symbols["sys_module"] = "add_capability('sys_module')"
++                self.symbols["sys_rawio"] = "add_capability('sys_rawio')"
++                self.symbols["chroot"] = "add_capability('sys_chroot')"
++                self.symbols["sys_chroot"] = "add_capability('sys_chroot')"
++                self.symbols["sys_ptrace"] = "add_capability('sys_ptrace')"
++                self.symbols["sys_pacct"] = "add_capability('sys_pacct')"
++                self.symbols["mount"] = "add_capability('sys_admin')"
++                self.symbols["unshare"] = "add_capability('sys_admin')"
++                self.symbols["sys_admin"] = "add_capability('sys_admin')"
++                self.symbols["sys_boot"] = "add_capability('sys_boot')"
++                self.symbols["sys_nice"] = "add_capability('sys_nice')"
++                self.symbols["sys_resource"] = "add_capability('sys_resource')"
++                self.symbols["sys_time"] = "add_capability('sys_time')"
++                self.symbols["sys_tty_config"] = "add_capability('sys_tty_config')"
++                self.symbols["mknod"] = "add_capability('mknod')"
++                self.symbols["lease"] = "add_capability('lease')"
++                self.symbols["audit_write"] = "add_capability('audit_write')"
++                self.symbols["audit_control"] = "add_capability('audit_control')"
++                self.symbols["setfcap"] = "add_capability('setfcap')"
++                
++              self.DEFAULT_DIRS = {}
++              self.DEFAULT_DIRS["/etc"] = ["etc_rw", [], etc_rw];
++              self.DEFAULT_DIRS["/tmp"] = ["tmp", [], tmp];
++              self.DEFAULT_DIRS["rw"] = ["rw", [], rw];
++              self.DEFAULT_DIRS["/var/cache"] = ["var_cache", [], var_cache];
++              self.DEFAULT_DIRS["/var/lib"] = ["var_lib", [], var_lib];
++              self.DEFAULT_DIRS["/var/log"] = ["var_log", [], var_log];
++              self.DEFAULT_DIRS["/var/run"] = ["var_run", [], var_run];
++              self.DEFAULT_DIRS["/var/spool"] = ["var_spool", [], var_spool];
++
++                self.DEFAULT_KEYS=["/etc", "/var/cache", "/var/log", "/tmp", "rw", "/var/lib", "/var/run", "/var/spool"]
++
++              self.DEFAULT_TYPES = (\
++( self.generate_daemon_types, self.generate_daemon_rules), \
++( self.generate_dbusd_types, self.generate_dbusd_rules), \
++( self.generate_inetd_types, self.generate_inetd_rules), \
++( self.generate_userapp_types, self.generate_userapp_rules), \
++( self.generate_cgi_types, self.generate_cgi_rules), \
++( self.generate_x_login_user_types, self.generate_x_login_user_rules), \
++( self.generate_min_login_user_types, self.generate_login_user_rules), \
++( self.generate_login_user_types, self.generate_login_user_rules), \
++( self.generate_admin_user_types, self.generate_login_user_rules), \
++( self.generate_existing_user_types, self.generate_existing_user_rules), \
++( self.generate_root_user_types, self.generate_root_user_rules), \
++( self.generate_sandbox_types, self.generate_sandbox_rules))
++              if name == "":
++                      raise ValueError(_("You must enter a name for your confined process/user"))
++                if not name.isalnum():
++                    raise ValueError(_("Name must be alpha numberic with no spaces. Consider using option \"-n MODULENAME\""))
++
++              if type == CGI:
++                      self.name = "httpd_%s_script" % name
++              else:
++                      self.name = name
++
++                self.file_name = name
++
++                self.capabilities = []
++                self.processes = []
++              self.type = type
++              self.initscript = ""
++                self.program = ""
++              self.in_tcp = [False, False, False, []]
++              self.in_udp = [False, False, False, []]
++              self.out_tcp = [False, False, False, []]
++              self.out_udp = [False, False, False, []]
++              self.use_resolve = False
++              self.use_tmp = False
++              self.use_uid = False
++              self.use_syslog = False
++              self.use_kerberos = False
++              self.manage_krb5_rcache = False
++              self.use_pam = False
++              self.use_dbus = False
++              self.use_audit = False
++              self.use_etc = True
++              self.use_localization = True
++              self.use_fd = True
++              self.use_terminal = False
++              self.use_mail = False
++              self.booleans = {}
++              self.files = {}
++              self.dirs = {}
++                self.found_tcp_ports=[]
++                self.found_udp_ports=[]
++                self.need_tcp_type=False
++                self.need_udp_type=False
++              self.admin_domains = []
++              self.transition_domains = []
++              self.transition_users = []
++                self.roles = []
++
++        def __isnetset(self, l):
++            return l[ALL] or l[RESERVED] or l[UNRESERVED] or len(l[PORTS]) > 0
++
++        def set_admin_domains(self, admin_domains):
++            self.admin_domains = admin_domains
++
++        def set_admin_roles(self, roles):
++            self.roles = roles
++
++        def set_transition_domains(self, transition_domains):
++            self.transition_domains = transition_domains
++
++        def set_transition_users(self, transition_users):
++            self.transition_users = transition_users
++
++        def use_in_udp(self):
++            return self.__isnetset(self.in_udp)
++            
++        def use_out_udp(self):
++            return self.__isnetset(self.out_udp)
++            
++        def use_udp(self):
++            return self.use_in_udp() or self.use_out_udp()
++
++        def use_in_tcp(self):
++            return self.__isnetset(self.in_tcp)
++            
++        def use_out_tcp(self):
++            return self.__isnetset(self.out_tcp)
++        
++        def use_tcp(self):
++            return self.use_in_tcp() or self.use_out_tcp()
++
++        def use_network(self):
++            return self.use_tcp() or self.use_udp()
++        
++        def find_port(self, port, protocol="tcp"):
++            for begin,end,p in self.ports.keys():
++                if port >= begin and port <= end and protocol == p:
++                    return self.ports[begin, end, protocol]
++            return  None
++
++      def set_program(self, program):
++                if self.type not in APPLICATIONS:
++                    raise ValueError(_("User Role types can not be assigned executables."))
++
++              self.program = program
++
++      def set_init_script(self, initscript):
++                if self.type != DAEMON:
++                    raise ValueError(_("Only Daemon apps can use an init script.."))
++
++              self.initscript = initscript
++
++      def set_in_tcp(self, all, reserved, unreserved, ports):
++              self.in_tcp = [ all, reserved, unreserved, verify_ports(ports)]
++
++      def set_in_udp(self, all, reserved, unreserved, ports):
++              self.in_udp = [ all, reserved, unreserved, verify_ports(ports)]
++
++      def set_out_tcp(self, all, ports):
++              self.out_tcp = [ all , False, False, verify_ports(ports) ]
++
++      def set_out_udp(self, all, ports):
++              self.out_udp = [ all , False, False, verify_ports(ports) ]
++
++      def set_use_resolve(self, val):
++              if val != True and val != False:
++                      raise  ValueError(_("use_resolve must be a boolean value "))
++            
++              self.use_resolve = val
++              
++      def set_use_syslog(self, val):
++              if val != True and val != False:
++                      raise  ValueError(_("use_syslog must be a boolean value "))
++            
++              self.use_syslog = val
++              
++      def set_use_kerberos(self, val):
++              if val != True and val != False:
++                      raise  ValueError(_("use_kerberos must be a boolean value "))
++            
++              self.use_kerberos = val
++              
++      def set_manage_krb5_rcache(self, val):
++              if val != True and val != False:
++                      raise  ValueError(_("manage_krb5_rcache must be a boolean value "))
++            
++              self.manage_krb5_rcache = val
++              
++      def set_use_pam(self, val):
++              self.use_pam = val == True
++              
++      def set_use_dbus(self, val):
++              self.use_dbus = val == True
++              
++      def set_use_audit(self, val):
++              self.use_audit = val == True
++              
++      def set_use_etc(self, val):
++              self.use_etc = val == True
++              
++      def set_use_localization(self, val):
++              self.use_localization = val == True
++              
++      def set_use_fd(self, val):
++              self.use_fd = val == True
++              
++      def set_use_terminal(self, val):
++              self.use_terminal = val == True
++              
++      def set_use_mail(self, val):
++              self.use_mail = val == True
++              
++      def set_use_tmp(self, val):
++            if self.type in USERS:
++                raise ValueError(_("USER Types automatically get a tmp type"))
++
++            if val:
++              self.DEFAULT_DIRS["/tmp"][1].append("/tmp");
++            else:
++              self.DEFAULT_DIRS["/tmp"][1]=[]
++              
++      def set_use_uid(self, val):
++              self.use_uid = val == True
++
++      def generate_uid_rules(self):
++                if self.use_uid:
++                    return re.sub("TEMPLATETYPE", self.name, executable.te_uid_rules)
++                else:
++                    return ""
++
++      def generate_syslog_rules(self):
++                if self.use_syslog:
++                    return re.sub("TEMPLATETYPE", self.name, executable.te_syslog_rules)
++                else:
++                    return ""
++
++      def generate_resolve_rules(self):
++                if self.use_resolve:
++                    return re.sub("TEMPLATETYPE", self.name, executable.te_resolve_rules)
++                else:
++                    return ""
++
++      def generate_kerberos_rules(self):
++                if self.use_kerberos:
++                    return re.sub("TEMPLATETYPE", self.name, executable.te_kerberos_rules)
++                else:
++                    return ""
++
++      def generate_manage_krb5_rcache_rules(self):
++                if self.manage_krb5_rcache:
++                    return re.sub("TEMPLATETYPE", self.name, executable.te_manage_krb5_rcache_rules)
++                else:
++                    return ""
++
++      def generate_pam_rules(self):
++                newte =""
++                if self.use_pam:
++                    newte = re.sub("TEMPLATETYPE", self.name, executable.te_pam_rules)
++                return newte
++
++      def generate_audit_rules(self):
++                newte =""
++                if self.use_audit:
++                    newte = re.sub("TEMPLATETYPE", self.name, executable.te_audit_rules)
++                return newte
++
++      def generate_etc_rules(self):
++                newte =""
++                if self.use_etc:
++                    newte = re.sub("TEMPLATETYPE", self.name, executable.te_etc_rules)
++                return newte
++
++      def generate_fd_rules(self):
++                newte =""
++                if self.use_fd:
++                    newte = re.sub("TEMPLATETYPE", self.name, executable.te_fd_rules)
++                return newte
++
++      def generate_localization_rules(self):
++                newte =""
++                if self.use_localization:
++                    newte = re.sub("TEMPLATETYPE", self.name, executable.te_localization_rules)
++                return newte
++
++      def generate_dbus_rules(self):
++                newte =""
++                if self.type != DBUS and self.use_dbus:
++                    newte = re.sub("TEMPLATETYPE", self.name, executable.te_dbus_rules)
++                return newte
++
++      def generate_mail_rules(self):
++                newte =""
++                if self.use_mail:
++                    newte = re.sub("TEMPLATETYPE", self.name, executable.te_mail_rules)
++                return newte
++
++        def generate_network_action(self, protocol, action, port_name):
++            line = ""
++            method = "corenet_%s_%s_%s" % (protocol, action, port_name)
++            if method in methods:
++                line = "%s(%s_t)\n" % (method, self.name)
++            else:
++                line = """
++gen_require(`
++    type %s_t;
++')
++allow %s_t %s_t:%s_socket name_%s;
++""" % (port_name, self.name, port_name, protocol, action)
++            return line
++                
++      def generate_network_types(self):
++            for i in self.in_tcp[PORTS]:
++                rec = self.find_port(int(i), "tcp")
++                if rec == None:
++                    self.need_tcp_type = True;
++                else:
++                    port_name = rec[0][:-2]
++                    line = self.generate_network_action("tcp", "bind", port_name)
++#                   line = "corenet_tcp_bind_%s(%s_t)\n" % (port_name, self.name)
++                    if line not in self.found_tcp_ports:
++                        self.found_tcp_ports.append(line)
++
++            for i in self.out_tcp[PORTS]:
++                rec = self.find_port(int(i), "tcp")
++                if rec == None:
++                    self.need_tcp_type = True;
++                else:
++                    port_name = rec[0][:-2]
++                    line = self.generate_network_action("tcp", "connect", port_name)
++#                   line = "corenet_tcp_connect_%s(%s_t)\n" % (port_name, self.name)
++                    if line not in self.found_tcp_ports:
++                        self.found_tcp_ports.append(line)
++                        
++            for i in self.in_udp[PORTS]:
++                rec = self.find_port(int(i),"udp")
++                if rec == None:
++                    self.need_udp_type = True;
++                else:
++                    port_name = rec[0][:-2]
++                    line = self.generate_network_action("udp", "bind", port_name)
++#                   line = "corenet_udp_bind_%s(%s_t)\n" % (port_name, self.name)
++                    if line not in self.found_udp_ports:
++                        self.found_udp_ports.append(line)
++                
++            if self.need_udp_type == True or self.need_tcp_type == True:
++                return re.sub("TEMPLATETYPE", self.name, network.te_port_types)
++            return ""
++      
++      def __find_path(self, file):
++            for d in self.DEFAULT_DIRS:
++                if file.find(d) == 0:
++                    self.DEFAULT_DIRS[d][1].append(file)
++                    return self.DEFAULT_DIRS[d]
++            self.DEFAULT_DIRS["rw"][1].append(file)
++            return self.DEFAULT_DIRS["rw"]
++      
++      def add_capability(self, capability):
++            if capability not in self.capabilities:
++                self.capabilities.append(capability)
++
++      def add_process(self, process):
++            if process not in self.processes:
++                self.processes.append(process)
++
++      def add_boolean(self, name, description):
++                self.booleans[name] = description
++
++      def add_file(self, file):
++              self.files[file] = self.__find_path(file)
++
++      def add_dir(self, file):
++              self.dirs[file] = self.__find_path(file)
++              
++      def generate_capabilities(self):
++            newte = ""
++            self.capabilities.sort()
++            if len(self.capabilities) > 0:
++                newte = "allow %s_t self:capability { %s };\n" % (self.name, " ".join(self.capabilities))
++            return newte
++
++      def generate_process(self):
++            newte = ""
++            self.processes.sort()
++            if len(self.processes) > 0:
++                newte = "allow %s_t self:process { %s };\n" % (self.name, " ".join(self.processes))
++            return newte
++
++
++      def generate_network_rules(self):
++              newte = ""
++              if self.use_network():
++                    newte = "\n"
++
++                    newte += re.sub("TEMPLATETYPE", self.name, network.te_network)
++                    
++                    if self.use_tcp():
++                        newte += "\n"
++                        newte += re.sub("TEMPLATETYPE", self.name, network.te_tcp)
++
++                        if self.use_in_tcp():
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_tcp)
++
++                            if self.need_tcp_type and len(self.in_tcp[PORTS]) > 0:
++                                newte += re.sub("TEMPLATETYPE", self.name, network.te_in_need_port_tcp)
++
++                        if self.need_tcp_type and len(self.out_tcp[PORTS]) > 0:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_out_need_port_tcp)
++
++
++                        if self.in_tcp[ALL]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_all_ports_tcp)
++                        if self.in_tcp[RESERVED]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_reserved_ports_tcp)
++                        if self.in_tcp[UNRESERVED]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_unreserved_ports_tcp)
++                            
++                        if self.out_tcp[ALL]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_out_all_ports_tcp)
++                        if self.out_tcp[RESERVED]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_out_reserved_ports_tcp)
++                        if self.out_tcp[UNRESERVED]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_out_unreserved_ports_tcp)
++
++                        for i in self.found_tcp_ports:
++                            newte += i
++
++                    if self.use_udp():
++                        newte += "\n"
++                        newte += re.sub("TEMPLATETYPE", self.name, network.te_udp)
++
++                        if self.need_udp_type:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_need_port_udp)
++                        if self.use_in_udp():
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_udp)
++                        if self.in_udp[ALL]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_all_ports_udp)
++                        if self.in_udp[RESERVED]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_reserved_ports_udp)
++                        if self.in_udp[UNRESERVED]:
++                            newte += re.sub("TEMPLATETYPE", self.name, network.te_in_unreserved_ports_udp)
++
++                        for i in self.found_udp_ports:
++                            newte += i
++              return newte
++      
++        def generate_transition_rules(self):
++            newte = ""
++            for app in self.transition_domains:
++                tmp = re.sub("TEMPLATETYPE", self.name, user.te_transition_rules)
++                newte += re.sub("APPLICATION", app, tmp)
++
++            if self.type == USER:
++                for u in self.transition_users:
++                    temp =  re.sub("TEMPLATETYPE", self.name, executable.te_run_rules)
++                    newte += re.sub("USER", u.split("_u")[0], temp)
++
++            return newte
++
++        def generate_admin_rules(self):
++            newte = ""
++            if self.type == RUSER:
++                newte += re.sub("TEMPLATETYPE", self.name, user.te_admin_rules)
++            
++                for app in self.admin_domains:
++                    tmp = re.sub("TEMPLATETYPE", self.name, user.te_admin_domain_rules)
++                    newte += re.sub("APPLICATION", app, tmp)
++
++                all_roles = []
++                try:
++                    all_roles = get_all_roles()
++                except ValueError, e:
++                    print "Can not get all roles, must be root for this information"
++                except RuntimeError, e:
++                    print "Can not get all roles", e
++
++                for u in self.transition_users:
++                    role = u.split("_u")[0]
++                    
++                    if (role + "_r") in all_roles:
++                        tmp =  re.sub("TEMPLATETYPE", self.name, user.te_admin_trans_rules)
++                        newte += re.sub("USER", role, tmp)
++
++            return newte
++
++      def generate_dbus_if(self):
++                newif = ""
++                if self.use_dbus:
++                    newif = re.sub("TEMPLATETYPE", self.name, executable.if_dbus_rules)
++                return newif
++
++        def generate_sandbox_if(self):
++            newif = ""
++            if self.type != SANDBOX:
++                return newif
++            newif = re.sub("TEMPLATETYPE", self.name, executable.if_sandbox_rules)
++            return newif
++            
++            
++        def generate_admin_if(self):
++            newif = ""
++            newtypes = ""
++            if self.initscript != "":
++                newtypes += re.sub("TEMPLATETYPE", self.name, executable.if_initscript_admin_types)
++                newif += re.sub("TEMPLATETYPE", self.name, executable.if_initscript_admin)
++            for d in self.DEFAULT_KEYS:
++                if len(self.DEFAULT_DIRS[d][1]) > 0:
++                    newtypes += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].if_admin_types)
++                    newif += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].if_admin_rules)
++
++            if newif != "":
++                ret = re.sub("TEMPLATETYPE", self.name, executable.if_begin_admin)
++                ret += newtypes
++
++                ret += re.sub("TEMPLATETYPE", self.name, executable.if_middle_admin)
++                ret += newif
++                ret += re.sub("TEMPLATETYPE", self.name, executable.if_end_admin)
++                return ret
++                
++            return ""
++                
++      def generate_cgi_types(self):
++              return re.sub("TEMPLATETYPE", self.file_name, executable.te_cgi_types)
++      
++      def generate_sandbox_types(self):
++              return re.sub("TEMPLATETYPE", self.file_name, executable.te_sandbox_types)
++      
++      def generate_userapp_types(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_userapp_types)
++      
++      def generate_inetd_types(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_inetd_types)
++      
++      def generate_dbusd_types(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_dbusd_types)
++      
++      def generate_min_login_user_types(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_min_login_user_types)
++      
++      def generate_login_user_types(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_login_user_types)
++      
++      def generate_admin_user_types(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_admin_user_types)
++
++      def generate_existing_user_types(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_existing_user_types)
++      
++      def generate_x_login_user_types(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_x_login_user_types)
++      
++      def generate_root_user_types(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_root_user_types)
++      
++      def generate_daemon_types(self):
++                newte = re.sub("TEMPLATETYPE", self.name, executable.te_daemon_types)
++                if self.initscript != "":
++                    newte += re.sub("TEMPLATETYPE", self.name, executable.te_initscript_types)
++              return newte
++      
++      def generate_tmp_types(self):
++              if self.use_tmp:
++                    return re.sub("TEMPLATETYPE", self.name, tmp.te_types)
++                else:
++                    return ""
++      
++      def generate_booleans(self):
++            newte = ""
++            for b in self.booleans:
++                tmp = re.sub("BOOLEAN", b, boolean.te_boolean)
++                newte += re.sub("DESCRIPTION", self.booleans[b], tmp)
++            return newte
++
++      def generate_boolean_rules(self):
++            newte = ""
++            for b in self.booleans:
++                newte += re.sub("BOOLEAN", b, boolean.te_rules)
++            return newte
++
++      def generate_sandbox_te(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_sandbox_types)
++
++      def generate_cgi_te(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_cgi_types)
++
++      def generate_daemon_rules(self):
++                newif =  re.sub("TEMPLATETYPE", self.name, executable.te_daemon_rules)
++
++                return  newif
++      
++      def generate_login_user_rules(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_login_user_rules)
++      
++      def generate_existing_user_rules(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_existing_user_rules)
++      
++      def generate_x_login_user_rules(self):
++              return re.sub("TEMPLATETYPE", self.name, user.te_x_login_user_rules)
++      
++      def generate_root_user_rules(self):
++                newte =re.sub("TEMPLATETYPE", self.name, user.te_root_user_rules)
++              return newte
++      
++      def generate_userapp_rules(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_userapp_rules)
++      
++      def generate_inetd_rules(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_inetd_rules)
++      
++      def generate_dbusd_rules(self):
++              return re.sub("TEMPLATETYPE", self.name, executable.te_dbusd_rules)
++      
++      def generate_tmp_rules(self):
++              if self.use_tmp:
++                    return re.sub("TEMPLATETYPE", self.name, tmp.te_rules)
++                else:
++                    return ""
++      
++      def generate_cgi_rules(self):
++              newte = ""
++              newte += re.sub("TEMPLATETYPE", self.name, executable.te_cgi_rules)
++              return newte
++      
++      def generate_sandbox_rules(self):
++              newte = ""
++              newte += re.sub("TEMPLATETYPE", self.name, executable.te_sandbox_rules)
++              return newte
++      
++      def generate_user_if(self):
++                newif =""
++                if self.use_terminal or self.type == USER:
++                    newif = re.sub("TEMPLATETYPE", self.name, executable.if_user_program_rules)
++
++                if self.type in ( TUSER, XUSER, AUSER, LUSER):
++                    newif += re.sub("TEMPLATETYPE", self.name, executable.if_role_change_rules)
++                return newif
++                
++      def generate_if(self):
++                newif = ""
++                newif += re.sub("TEMPLATETYPE", self.name, executable.if_heading_rules)
++                if self.program != "":
++                    newif += re.sub("TEMPLATETYPE", self.name, executable.if_program_rules)
++                if self.initscript != "":
++                    newif += re.sub("TEMPLATETYPE", self.name, executable.if_initscript_rules)
++              
++                for d in self.DEFAULT_KEYS:
++                      if len(self.DEFAULT_DIRS[d][1]) > 0:
++                              newif += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].if_rules)
++                                for i in self.DEFAULT_DIRS[d][1]:
++                                        if os.path.exists(i) and stat.S_ISSOCK(os.stat(i)[stat.ST_MODE]):
++                                            newif += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].if_stream_rules)
++                                            break
++                newif += self.generate_user_if()
++                newif += self.generate_dbus_if()
++                newif += self.generate_admin_if()
++                newif += self.generate_sandbox_if()
++    
++              return newif
++
++      def generate_default_types(self):
++              return self.DEFAULT_TYPES[self.type][0]()
++              
++      def generate_default_rules(self):
++              return self.DEFAULT_TYPES[self.type][1]()
++              
++      def generate_roles_rules(self):
++            newte = ""
++            if self.type in ( TUSER, XUSER, AUSER, LUSER, EUSER):
++                roles = ""
++                if len(self.roles) > 0:
++                    newte += re.sub("TEMPLATETYPE", self.name, user.te_sudo_rules)
++                    newte += re.sub("TEMPLATETYPE", self.name, user.te_newrole_rules)
++                    for role in self.roles:
++                        tmp = re.sub("TEMPLATETYPE", self.name, user.te_roles_rules)
++                        newte += re.sub("ROLE", role, tmp)
++            return newte
++        
++      def generate_te(self):
++              newte = self.generate_default_types()
++                for d in self.DEFAULT_KEYS:
++                      if len(self.DEFAULT_DIRS[d][1]) > 0:
++                              # CGI scripts already have a rw_t 
++                              if self.type != CGI or d != "rw":
++                                      newte += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].te_types)
++
++                newte +="""
++########################################
++#
++# %s local policy
++#
++""" % self.name
++                newte += self.generate_capabilities()
++                newte += self.generate_process()
++              newte += self.generate_network_types()
++              newte += self.generate_tmp_types()
++              newte += self.generate_booleans()
++              newte += self.generate_default_rules()
++              newte += self.generate_boolean_rules()
++
++                for d in self.DEFAULT_KEYS:
++                      if len(self.DEFAULT_DIRS[d][1]) > 0:
++                              newte += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].te_rules)
++                                for i in self.DEFAULT_DIRS[d][1]:
++                                        if os.path.exists(i) and stat.S_ISSOCK(os.stat(i)[stat.ST_MODE]):
++                                            newte += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].te_stream_rules)
++                                            break
++
++              newte += self.generate_tmp_rules()
++              newte += self.generate_network_rules()
++              newte += self.generate_fd_rules()
++              newte += self.generate_etc_rules()
++              newte += self.generate_pam_rules()
++              newte += self.generate_uid_rules()              
++              newte += self.generate_audit_rules()    
++              newte += self.generate_syslog_rules()           
++              newte += self.generate_localization_rules()
++              newte += self.generate_resolve_rules()          
++              newte += self.generate_roles_rules()
++              newte += self.generate_mail_rules()             
++              newte += self.generate_transition_rules()
++              newte += self.generate_admin_rules()
++              newte += self.generate_dbus_rules()
++              newte += self.generate_kerberos_rules()
++              newte += self.generate_manage_krb5_rcache_rules()               
++
++              return newte
++              
++      def generate_fc(self):
++              newfc = ""
++                fclist = []
++                if self.type in USERS +  [ SANDBOX ]:
++                    return re.sub("EXECUTABLE", self.program, executable.fc_user)
++                if self.program == "":
++                    raise ValueError(_("You must enter the executable path for your confined process"))
++
++              t1 = re.sub("EXECUTABLE", self.program, executable.fc_program)
++              fclist.append(re.sub("TEMPLATETYPE", self.name, t1))
++
++                if self.initscript != "":
++                    t1 = re.sub("EXECUTABLE", self.initscript, executable.fc_initscript)
++                    fclist.append(re.sub("TEMPLATETYPE", self.name, t1))
++
++              for i in self.files.keys():
++                        if os.path.exists(i) and stat.S_ISSOCK(os.stat(i)[stat.ST_MODE]):
++                            t1 = re.sub("TEMPLATETYPE", self.name, self.files[i][2].fc_sock_file)
++                        else:
++                            t1 = re.sub("TEMPLATETYPE", self.name, self.files[i][2].fc_file)
++                      t2 = re.sub("FILENAME", i, t1)
++                        fclist.append(re.sub("FILETYPE", self.files[i][0], t2))
++
++              for i in self.dirs.keys():
++                      t1 = re.sub("TEMPLATETYPE", self.name, self.dirs[i][2].fc_dir)
++                      t2 = re.sub("FILENAME", i, t1)
++                        fclist.append(re.sub("FILETYPE", self.dirs[i][0], t2))
++
++                fclist.sort()
++                newfc="\n".join(fclist)
++              return newfc
++      
++      def generate_user_sh(self):
++            newsh = ""
++            if self.type not in ( TUSER, XUSER, AUSER, LUSER, EUSER):
++                return newsh
++
++            roles = ""
++            for role in self.roles:
++                roles += " %s_r" % role
++            if roles != "":
++                roles += " system_r"
++            if self.type == EUSER:
++                tmp = re.sub("TEMPLATETYPE", self.name, script.eusers)
++            else:
++                tmp = re.sub("TEMPLATETYPE", self.name, script.users)
++            newsh += re.sub("ROLES", roles, tmp)
++
++            if self.type == RUSER:
++                for u in self.transition_users:
++                    tmp =  re.sub("TEMPLATETYPE", self.name, script.admin_trans)
++                    newsh += re.sub("USER", u, tmp)
++
++            if self.type == LUSER:
++                    newsh +=  re.sub("TEMPLATETYPE", self.name, script.min_login_user_default_context)
++            else:
++                    newsh +=  re.sub("TEMPLATETYPE", self.name, script.x_login_user_default_context)
++
++                
++            return newsh
++        
++      def generate_sh(self):
++                temp  = re.sub("TEMPLATETYPE", self.file_name, script.compile)
++                if self.type == EUSER:
++                    newsh  = re.sub("TEMPLATEFILE", "my%s" % self.file_name, temp)
++                else:
++                    newsh  = re.sub("TEMPLATEFILE", self.file_name, temp)
++                if self.program != "":
++                    newsh += re.sub("FILENAME", self.program, script.restorecon)
++                if self.initscript != "":
++                    newsh += re.sub("FILENAME", self.initscript, script.restorecon)
++
++              for i in self.files.keys():
++                      newsh += re.sub("FILENAME", i, script.restorecon)
++
++              for i in self.dirs.keys():
++                      newsh += re.sub("FILENAME", i, script.restorecon)
++
++                for i in self.in_tcp[PORTS] + self.out_tcp[PORTS]:
++                    if self.find_port(i,"tcp") == None:
++                        t1 = re.sub("PORTNUM", "%d" % i, script.tcp_ports)
++                        newsh += re.sub("TEMPLATETYPE", self.name, t1)
++
++                for i in self.in_udp[PORTS]:
++                    if self.find_port(i,"udp") == None:
++                      t1 = re.sub("PORTNUM", "%d" % i, script.udp_ports)
++                      newsh += re.sub("TEMPLATETYPE", self.name, t1)
++
++                newsh += self.generate_user_sh()
++                      
++              return newsh
++      
++      def write_te(self, out_dir):
++                if self.type == EUSER:
++                    tefile = "%s/my%s.te" % (out_dir, self.file_name)
++                else:
++                    tefile = "%s/%s.te" % (out_dir, self.file_name)
++              fd = open(tefile, "w")
++              fd.write(self.generate_te())
++              fd.close()
++              return tefile
++
++      def write_sh(self, out_dir):
++                if self.type == EUSER:
++                    shfile = "%s/my%s.sh" % (out_dir, self.file_name)
++                else:
++                    shfile = "%s/%s.sh" % (out_dir, self.file_name)
++              fd = open(shfile, "w")
++              fd.write(self.generate_sh())
++              fd.close()
++                os.chmod(shfile, 0750)
++              return shfile
++
++      def write_if(self, out_dir):
++                if self.type == EUSER:
++                    iffile = "%s/my%s.if" % (out_dir, self.file_name)
++                else:
++                    iffile = "%s/%s.if" % (out_dir, self.file_name)
++              fd = open(iffile, "w")
++              fd.write(self.generate_if())
++              fd.close()
++              return iffile
++
++      def write_fc(self,out_dir):
++                if self.type == EUSER:
++                    fcfile = "%s/my%s.fc" % (out_dir, self.file_name)
++                else:
++                    fcfile = "%s/%s.fc" % (out_dir, self.file_name)
++                fd = open(fcfile, "w")
++                fd.write(self.generate_fc())
++                fd.close()
++              return fcfile
++
++        def gen_writeable(self):
++            fd = os.popen("rpm -qlf %s" % self.program)
++            for f in fd.read().split():
++                for b in self.DEFAULT_DIRS:
++                    if b == "/etc":
++                        continue
++                    if f.startswith(b):
++                        if os.path.isfile(f):
++                            self.add_file(f)
++                        else:
++                            self.add_dir(f)
++            fd.close()
++            if os.path.isfile("/var/run/%s.pid"  % self.name):
++                self.add_file("/var/run/%s.pid"  % self.name)
++
++            if os.path.isfile("/etc/rc.d/init.d/%s"  % self.name):
++                self.set_init_script("/etc/rc\.d/init\.d/%s"  % self.name)
++
++
++        def gen_symbols(self):
++            if self.type not in APPLICATIONS:
++                return
++
++            fd = os.popen("nm -D %s | grep U" % self.program)
++            for s in fd.read().split():
++                for b in self.symbols:
++                    if s.startswith(b):
++                        exec "self.%s" %  self.symbols[b]
++            fd.close()
++
++      def generate(self, out_dir = "."):
++            self.write_te(out_dir)
++            self.write_if(out_dir)
++            self.write_fc(out_dir)
++            self.write_sh(out_dir)
++            out = "Created the following files in:\n%s/\n" %  out_dir
++            out += "%s.te # %s\n" % (self.file_name, _("Type Enforcement file"))
++            out += "%s.if # %s\n" % (self.file_name, _("Interface file"))
++            out += "%s.fc # %s\n" % (self.file_name, _("File Contexts file"))
++            out += "%s.sh # %s\n" % (self.file_name, _("Setup Script"))
++            return out
++
++def errorExit(error):
++      sys.stderr.write("%s: " % sys.argv[0])
++      sys.stderr.write("%s\n" % error)
++      sys.stderr.flush()
++      sys.exit(1)
++
++def test():
++    import tempfile
++
++    tmpdir = tempfile.mkdtemp(prefix="polgen_")
++
++    mypolicy = policy("myrwho", DAEMON)
++    mypolicy.set_program("/usr/sbin/myrwhod")
++    mypolicy.set_init_script("/etc/init.d/myrwhod")
++    mypolicy.add_dir("/etc/nasd")
++    mypolicy.set_in_tcp(1, 0, 0, "513")
++    mypolicy.set_use_uid(True)
++    mypolicy.set_use_tmp(True)
++    mypolicy.set_use_syslog(True)
++    mypolicy.set_use_pam(True)
++    mypolicy.add_dir("/var/run/myrwho")
++    mypolicy.add_dir("/var/lib/myrwho")
++    print mypolicy.generate(tmpdir)
++
++    mypolicy = policy("mywhois", USER)
++    mypolicy.set_program("/usr/bin/jwhois")
++    mypolicy.set_out_tcp(0, "43,63,4321")
++    mypolicy.set_out_udp(0, "43,63,4321")
++    mypolicy.add_dir("/var/cache/jwhois")
++    mypolicy.set_transition_users(["staff_u"])
++    print mypolicy.generate(tmpdir)
++
++    mypolicy = policy("mytuser", TUSER)
++    mypolicy.set_admin_roles(["mydbadm"])
++    mypolicy.add_boolean("allow_mytuser_setuid", "Allow mytuser users to run setuid applications")
++    print mypolicy.generate(tmpdir)
++    
++    mypolicy = policy("mycgi", CGI)
++    mypolicy.set_program("/var/www/cgi-bin/cgi")
++    mypolicy.set_in_tcp(1, 0, 0, "512, 55000-55000")
++    mypolicy.set_in_udp(1, 0, 0, "1513")
++    mypolicy.set_use_uid(True)
++    mypolicy.set_use_tmp(False)
++    mypolicy.set_use_syslog(True)
++    mypolicy.set_use_pam(True)
++    mypolicy.set_out_tcp(0,"8000")
++    print mypolicy.generate(tmpdir)
++
++    mypolicy = policy("myinetd", INETD)
++    mypolicy.set_program("/usr/bin/mytest")
++    mypolicy.set_in_tcp(1, 0, 0, "513")
++    mypolicy.set_in_udp(1, 0, 0, "1513")
++    mypolicy.set_use_uid(True)
++    mypolicy.set_use_tmp(True)
++    mypolicy.set_use_syslog(True)
++    mypolicy.set_use_pam(True)
++    mypolicy.add_file("/var/lib/mysql/mysql.sock")
++    mypolicy.add_file("/var/run/rpcbind.sock")
++    mypolicy.add_file("/var/run/daemon.pub")
++    mypolicy.add_file("/var/log/daemon.log")
++    mypolicy.add_dir("/var/lib/daemon")
++    mypolicy.add_dir("/etc/daemon")
++    mypolicy.add_dir("/etc/daemon/special")
++    mypolicy.set_use_uid(True)
++    mypolicy.set_use_syslog(True)
++    mypolicy.set_use_pam(True)
++    mypolicy.set_use_audit(True)
++    mypolicy.set_use_dbus(True)
++    mypolicy.set_use_terminal(True)
++    mypolicy.set_use_mail(True)
++    mypolicy.set_out_tcp(0,"8000")
++    print mypolicy.generate(tmpdir)
++
++
++    mypolicy = policy("mydbus", DBUS)
++    mypolicy.set_program("/usr/libexec/mydbus")
++    mypolicy.set_in_tcp(1, 0, 0, "513")
++    mypolicy.set_in_udp(1, 0, 0, "1513")
++    mypolicy.set_use_uid(True)
++    mypolicy.set_use_tmp(True)
++    mypolicy.set_use_syslog(True)
++    mypolicy.set_use_pam(True)
++    print mypolicy.generate(tmpdir)
++
++    mypolicy = policy("myxuser", XUSER)
++    mypolicy.set_in_tcp(1, 1, 1, "28920")
++    mypolicy.set_in_udp(0, 0, 1, "1513")
++    mypolicy.set_transition_domains(["mozilla"])
++    print mypolicy.generate(tmpdir)
++    
++    mypolicy = policy("myuser", USER)
++    mypolicy.set_program("/usr/bin/myuser")
++    mypolicy.set_in_tcp(1, 0, 0, "513")
++    mypolicy.set_in_udp(1, 0, 0, "1513")
++    mypolicy.set_use_uid(True)
++    mypolicy.set_use_tmp(True)
++    mypolicy.set_use_syslog(True)
++    mypolicy.set_use_pam(True)
++    mypolicy.add_file("/var/lib/myuser/myuser.sock")
++    mypolicy.set_out_tcp(0,"8000")
++    mypolicy.set_transition_users(["unconfined_u", "staff_u"])
++    print mypolicy.generate(tmpdir)
++    
++    mypolicy = policy("mysandbox", SANDBOX)
++    mypolicy.set_out_udp(0, "993")
++    print mypolicy.generate("/tmp")
++
++    mypolicy = policy("mydbadm", RUSER)
++    mypolicy.set_admin_domains(["postgresql", "mysql"])
++    print mypolicy.generate(tmpdir)
++    os.chdir(tmpdir)
++    rc, output=commands.getstatusoutput("make -f /usr/share/selinux/devel/Makefile")
++    print output
++    sys.exit(os.WEXITSTATUS(rc))
++
++import os, sys, getopt, socket, random, fcntl
++    
++def usage(msg):
++    print _("""
++%s
++
++sepolgen [ -n moduleName ] [ -m ] [ -t type ] [ executable | Name ]
++valid Types:
++""") % msg
++    keys=poltype.keys()
++    for i in keys:
++        print "\t%s\t%s" % (i, poltype[i])
++    sys.exit(-1)
++        
++if __name__ == '__main__':
++    setype = DAEMON
++    name = None
++    try:
++        gopts, cmds = getopt.getopt(sys.argv[1:], "ht:mn:", 
++                                    ["type=", 
++                                     "mount",
++                                     "test",
++                                     "name=",
++                                     "help"])
++        for o, a in gopts:
++            if o == "-t" or o == "--type":
++                try:
++                    if int(a) not in poltype:
++                        usage ("invalid type %s" % a )
++                except:
++                    usage ("invalid type %s" % a )
++
++                setype = int(a)
++
++            if o == "-m" or o == "--mount":
++                mount_ind = True
++                
++            if o == "-n" or o == "--name":
++                name = a
++                
++            if o == "-h" or o == "--help":
++                usage("")
++
++            if o == "--test":
++                test()
++                sys.exit(0)
++            
++    except getopt.error, error:
++        usage(_("Options Error %s ") % error.msg)
++
++    if len(cmds) == 0:
++           usage(_("Executable or Name required"))
++
++    try:
++        if not name:
++            name = os.path.basename(cmds[0]).replace("-","_")
++        cmd = cmds[0]
++        mypolicy = policy(name, setype)
++        if setype not in USERS +  [ SANDBOX ]:
++            mypolicy.set_program(cmd)
++
++        if setype in APPLICATIONS:
++            mypolicy.gen_writeable()
++            mypolicy.gen_symbols()
++        print mypolicy.generate()
++        sys.exit(0)
++    except ValueError, e:
++        usage(e)
+diff -up policycoreutils-2.1.8/gui/portsPage.py.gui policycoreutils-2.1.8/gui/portsPage.py
+--- policycoreutils-2.1.8/gui/portsPage.py.gui 2011-11-07 15:12:01.906834233 -0500
++++ policycoreutils-2.1.8/gui/portsPage.py     2011-11-07 15:12:01.906834233 -0500
+@@ -0,0 +1,259 @@
++## portsPage.py - show selinux mappings
++## Copyright (C) 2006 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import sys
++import seobject
++import commands
++from semanagePage import *;
++
++##
++## I18N
++## 
++PROGNAME = "policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++TYPE_COL = 0
++PROTOCOL_COL = 1
++MLS_COL = 2
++PORT_COL = 3
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++class portsPage(semanagePage):
++    def __init__(self, xml):
++        semanagePage.__init__(self, xml, "ports", _("Network Port"))
++        xml.signal_connect("on_group_clicked", self.on_group_clicked)
++        self.group = False
++        self.ports_filter = xml.get_widget("portsFilterEntry")
++        self.ports_filter.connect("focus_out_event", self.filter_changed)
++        self.ports_filter.connect("activate", self.filter_changed)
++        self.ports_name_entry = xml.get_widget("portsNameEntry")
++        self.ports_protocol_combo = xml.get_widget("portsProtocolCombo")
++        self.ports_number_entry = xml.get_widget("portsNumberEntry")
++        self.ports_mls_entry = xml.get_widget("portsMLSEntry")
++        self.ports_add_button = xml.get_widget("portsAddButton")
++        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)
++        self.init_store()
++        self.edit = True
++        self.load()
++
++    def filter_changed(self, *arg):
++        filter =  arg[0].get_text()
++        if filter != self.filter:
++            if self.edit:
++                self.load(filter)
++            else:
++                self.group_load(filter)
++        
++    def init_store(self):
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING , gobject.TYPE_STRING)
++        self.view.set_model(self.store)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++
++        self.view.set_search_equal_func(self.search)
++        col = gtk.TreeViewColumn(_("SELinux Port\nType"), gtk.CellRendererText(), text = TYPE_COL)
++        col.set_sort_column_id(TYPE_COL)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.store.set_sort_column_id(TYPE_COL, gtk.SORT_ASCENDING)
++
++        col = gtk.TreeViewColumn(_("Protocol"), gtk.CellRendererText(), text = PROTOCOL_COL)
++        col.set_sort_column_id(PROTOCOL_COL)
++        col.set_resizable(True)
++        self.view.append_column(col)
++
++        self.mls_col = gtk.TreeViewColumn(_("MLS/MCS\nLevel"), gtk.CellRendererText(), text = MLS_COL)
++        self.mls_col.set_resizable(True)
++        self.mls_col.set_sort_column_id(MLS_COL)
++        self.view.append_column(self.mls_col)
++
++        col = gtk.TreeViewColumn(_("Port"), gtk.CellRendererText(), text = PORT_COL)
++        col.set_sort_column_id(PORT_COL)
++        col.set_resizable(True)
++        self.view.append_column(col)
++        self.store.set_sort_func(PORT_COL,self.sort_int, "")
++
++    def sort_int(self, treemodel, iter1, iter2, user_data):
++        try:
++            p1 = int(treemodel.get_value(iter1,PORT_COL).split('-')[0])
++            p2 = int(treemodel.get_value(iter2,PORT_COL).split('-')[0])
++            if p1 > p2:
++                return 1
++            if p1 == p2:
++                return 0
++            return -1
++        except:
++            return 0
++
++    def load(self,filter = ""):
++        self.filter=filter            
++        self.port = seobject.portRecords()
++        dict = self.port.get_all(self.local)
++        keys = dict.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)):
++                continue
++            iter = self.store.append()
++            if k[0] == k[1]:
++                self.store.set_value(iter, 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,))
++    
++    def group_load(self, filter = ""):
++        self.filter=filter            
++        self.port = seobject.portRecords()
++        dict = self.port.get_all_by_type(self.local)
++        keys = dict.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) ):
++                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,))
++
++    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))
++        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)
++        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)
++        
++    def dialogClear(self):
++        self.ports_number_entry.set_text("")
++        self.ports_number_entry.set_sensitive(True)
++        self.ports_protocol_combo.set_sensitive(True)
++        self.ports_name_entry.set_text("")
++        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)
++        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])
++
++    def add(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()
++        if port_number == "":
++            port_number = "1"
++        for i in port_number.split("-"):
++            if not i.isdigit():
++                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)
++        self.wait()
++        (rc, out) = commands.getstatusoutput("semanage port -a -p %s -r %s -t %s %s" % (protocol, mls, target, port_number))
++        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)
++        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)
++            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)
++        self.ports_properties_button.set_sensitive(self.group)
++        self.ports_delete_button.set_sensitive(self.group)
++        self.mls_col.set_visible(self.group)
++
++        self.group = not self.group
++        if self.group:
++            button.set_label(_("List View"))
++            self.group_load(self.filter)
++        else:
++            button.set_label(_("Group View"))
++            self.load(self.filter)
++
++        return True
++        
+diff -up policycoreutils-2.1.8/gui/selinux.tbl.gui policycoreutils-2.1.8/gui/selinux.tbl
+--- policycoreutils-2.1.8/gui/selinux.tbl.gui  2011-11-07 15:12:01.907834233 -0500
++++ policycoreutils-2.1.8/gui/selinux.tbl      2011-11-07 15:12:01.907834233 -0500
+@@ -0,0 +1,234 @@
++acct_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for acct daemon")
++allow_daemons_dump_core _("Admin") _("Allow all daemons to write corefiles to /")
++allow_daemons_use_tty _("Admin") _("Allow all daemons the ability to use unallocated ttys")
++allow_gadmin_exec_content _("User Privs") _("Allow gadmin SELinux user account to execute files in home directory or /tmp")
++allow_guest_exec_content _("User Privs") _("Allow guest SELinux user account to execute files in home directory or /tmp")
++allow_java_execstack _("Memory Protection") _("Allow java executable stack")
++allow_mount_anyfile _("Mount") _("Allow mount to mount any file")
++allow_mounton_anydir  _("Mount") _("Allow mount to mount any directory")
++allow_mplayer_execstack _("Memory Protection") _("Allow mplayer executable stack")
++allow_ssh_keysign _("SSH") _("Allow ssh to run ssh-keysign")
++allow_staff_exec_content _("User Privs") _("Allow staff SELinux user account to execute files in home directory or /tmp")
++allow_sysadm_exec_content _("User Privs") _("Allow sysadm SELinux user account to execute files in home directory or /tmp")
++allow_unconfined_exec_content _("User Privs") _("Allow unconfined SELinux user account to execute files in home directory or /tmp")
++allow_unlabeled_packets _("Network Configuration") _("Allow unlabeled packets to flow on the network")
++allow_user_exec_content _("User Privs") _("Allow user SELinux user account to execute files in home directory or /tmp")
++allow_unconfined_execmem_dyntrans _("Memory Protection") _("Allow unconfined to dyntrans to unconfined_execmem")
++allow_user_mysql_connect _("Databases") _("Allow user to connect to mysql socket")
++allow_user_postgresql_connect _("Databases") _("Allow user to connect to postgres socket")
++allow_write_xshm _("XServer") _("Allow clients to write to X shared memory")
++allow_xguest_exec_content _("User Privs") _("Allow xguest SELinux user account to execute files in home directory or /tmp")
++allow_ypbind _("NIS") _("Allow daemons to run with NIS")
++browser_confine_staff _("Web Applications") _("Transition staff SELinux user to Web Browser Domain")
++browser_confine_sysadm _("Web Applications") _("Transition sysadm SELinux user to Web Browser Domain")
++browser_confine_user _("Web Applications") _("Transition user SELinux user to Web Browser Domain")
++browser_confine_xguest _("Web Applications") _("Transition xguest SELinux user to Web Browser Domain")
++browser_write_staff_data _("Web Applications") _("Allow staff Web Browsers to write to home directories")
++browser_write_sysadm_data _("Web Applications") _("Allow staff Web Browsers to write to home directories")
++browser_write_user_data _("Web Applications") _("Allow staff Web Browsers to write to home directories")
++browser_write_xguest_data _("Web Applications") _("Allow staff Web Browsers to write to home directories")
++amanda_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for amanda")
++amavis_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for amavis")
++apmd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for apmd daemon")
++arpwatch_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for arpwatch daemon")
++auditd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for auditd daemon")
++automount_disable_trans _("Mount") _("Disable SELinux protection for automount daemon")
++avahi_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for avahi")
++bluetooth_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for bluetooth daemon")
++canna_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for canna daemon")
++cardmgr_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for cardmgr daemon")
++ccs_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for Cluster Server")
++cdrecord_read_content _("User Privs") _("Allow cdrecord to read various content. nfs, samba, removable devices, user temp and untrusted content files")
++ciped_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ciped daemon")
++clamd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for clamd daemon")
++clamscan_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for clamscan")
++clvmd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for clvmd")
++comsat_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for comsat daemon")
++courier_authdaemon_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for courier daemon")
++courier_pcp_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for courier daemon")
++courier_pop_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for courier daemon")
++courier_sqwebmail_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for courier daemon")
++courier_tcpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for courier daemon")
++cpucontrol_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for cpucontrol daemon")
++cpuspeed_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for cpuspeed daemon")
++crond_disable_trans _("Cron") _("Disable SELinux protection for crond daemon")
++cupsd_config_disable_trans _("Printing") _("Disable SELinux protection for cupsd back end server")
++cupsd_disable_trans _("Printing") _("Disable SELinux protection for cupsd daemon")
++cupsd_lpd_disable_trans _("Printing") _("Disable SELinux protection for cupsd_lpd")
++cvs_disable_trans _("CVS") _("Disable SELinux protection for cvs daemon")
++cyrus_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for cyrus daemon")
++dbskkd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dbskkd daemon")
++dbusd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dbusd daemon")
++dccd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dccd")
++dccifd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dccifd")
++dccm_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dccm")
++ddt_client_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ddt daemon")
++devfsd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for devfsd daemon")
++dhcpc_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dhcpc daemon")
++dhcpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dhcpd daemon")
++dictd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dictd daemon")
++direct_sysadm_daemon _("Admin") _("Allow sysadm_t to directly start daemons")
++disable_evolution_trans _("Web Applications") _("Disable SELinux protection for Evolution")
++disable_games_trans _("Games") _("Disable SELinux protection for games")
++disable_mozilla_trans _("Web Applications") _("Disable SELinux protection for the web browsers")
++disable_thunderbird_trans _("Web Applications") _("Disable SELinux protection for Thunderbird")
++distccd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for distccd daemon")
++dmesg_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dmesg daemon")
++dnsmasq_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dnsmasq daemon")
++dovecot_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for dovecot daemon")
++entropyd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for entropyd daemon")
++fetchmail_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for fetchmail")
++fingerd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for fingerd daemon")
++freshclam_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for freshclam daemon")
++fsdaemon_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for fsdaemon daemon")
++gpm_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for gpm daemon")
++gssd_disable_trans _("NFS") _("Disable SELinux protection for gss daemon")
++hald_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for Hal daemon")
++hide_broken_symptoms _("Compatibility") _("Do not audit things that we know to be broken but which are not security risks")
++hostname_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for hostname daemon")
++hotplug_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for hotplug daemon")
++howl_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for howl daemon")
++hplip_disable_trans _("Printing") _("Disable SELinux protection for cups hplip daemon")
++httpd_rotatelogs_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for httpd rotatelogs")
++httpd_suexec_disable_trans _("HTTPD Service") _("Disable SELinux protection for http suexec")
++hwclock_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for hwclock daemon")
++i18n_input_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for i18n daemon")
++imazesrv_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for imazesrv daemon")
++inetd_child_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for inetd child daemons")
++inetd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for inetd daemon")
++innd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for innd daemon")
++iptables_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for iptables daemon")
++ircd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ircd daemon")
++irqbalance_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for irqbalance daemon")
++iscsid_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for iscsi daemon")
++jabberd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for jabberd daemon")
++kadmind_disable_trans _("Kerberos") _("Disable SELinux protection for kadmind daemon")
++klogd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for klogd daemon")
++krb5kdc_disable_trans _("Kerberos") _("Disable SELinux protection for krb5kdc daemon")
++ktalkd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ktalk daemons")
++kudzu_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for kudzu daemon")
++locate_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for locate daemon")
++lpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for lpd daemon")
++lrrd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for lrrd daemon")
++lvm_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for lvm daemon")
++mailman_mail_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for mailman")
++mail_read_content _("Web Applications") _("Allow evolution and thunderbird to read user files")
++mdadm_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for mdadm daemon")
++monopd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for monopd daemon")
++mozilla_read_content _("Web Applications") _("Allow the mozilla browser to read user files")
++mrtg_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for mrtg daemon")
++mysqld_disable_trans _("Databases") _("Disable SELinux protection for mysqld daemon")
++nagios_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for nagios daemon")
++named_disable_trans _("Name Service") _("Disable SELinux protection for named daemon")
++nessusd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for nessusd daemon")
++NetworkManager_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for NetworkManager")
++nfsd_disable_trans _("NFS") _("Disable SELinux protection for nfsd daemon")
++nmbd_disable_trans _("Samba") _("Disable SELinux protection for nmbd daemon")
++nrpe_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for nrpe daemon")
++nscd_disable_trans _("Name Service") _("Disable SELinux protection for nscd daemon")
++nsd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for nsd daemon")
++ntpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ntpd daemon")
++oddjob_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for oddjob")
++oddjob_mkhomedir_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for oddjob_mkhomedir")
++openvpn_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for openvpn daemon")
++pam_console_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for pam daemon")
++pegasus_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for pegasus")
++perdition_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for perdition daemon")
++portmap_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for portmap daemon")
++portslave_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for portslave daemon")
++postfix_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for postfix")
++postgresql_disable_trans _("Databases") _("Disable SELinux protection for postgresql daemon")
++pppd_for_user _("pppd") _("Allow pppd to be run for a regular user")
++pptp_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for pptp")
++prelink_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for prelink daemon")
++privoxy_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for privoxy daemon")
++ptal_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ptal daemon")
++pxe_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for pxe daemon")
++pyzord_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for pyzord")
++quota_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for quota daemon")
++radiusd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for radiusd daemon")
++radvd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for radvd daemon")
++rdisc_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for rdisc")
++readahead_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for readahead")
++read_default_t _("Admin") _("Allow programs to read files in non-standard locations (default_t)")
++restorecond_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for restorecond")
++rhgb_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for rhgb daemon")
++ricci_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ricci")
++ricci_modclusterd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ricci_modclusterd")
++rlogind_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for rlogind daemon")
++rpcd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for rpcd daemon")
++rshd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for rshd")
++rsync_disable_trans _("rsync") _("Disable SELinux protection for rsync daemon")
++run_ssh_inetd _("SSH") _("Allow ssh to run from inetd instead of as a daemon")
++samba_share_nfs _("Samba") _("Allow Samba to share nfs directories")
++allow_saslauthd_read_shadow _("SASL authentication server") _("Allow sasl authentication server to read /etc/shadow")
++allow_xserver_execmem _("XServer") _("Allow X-Windows server to map a memory region as both executable and writable")
++saslauthd_disable_trans _("SASL authentication server") _("Disable SELinux protection for saslauthd daemon")
++scannerdaemon_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for scannerdaemon daemon")
++secure_mode  _("Admin") _("Do not allow transition to sysadm_t, sudo and su effected")
++secure_mode_insmod  _("Admin") _("Do not allow any processes to load kernel modules")
++secure_mode_policyload  _("Admin") _("Do not allow any processes to modify kernel SELinux policy")
++sendmail_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for sendmail daemon")
++setrans_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for setrans")
++setroubleshootd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for setroubleshoot daemon")
++slapd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for slapd daemon")
++slrnpull_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for slrnpull daemon")
++smbd_disable_trans _("Samba") _("Disable SELinux protection for smbd daemon")
++snmpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for snmpd daemon")
++snort_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for snort daemon")
++soundd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for soundd daemon")
++sound_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for sound daemon")
++spamd_disable_trans _("Spam Protection") _("Disable SELinux protection for spamd daemon")
++spamd_enable_home_dirs _("Spam Protection") _("Allow spamd to access home directories")
++spamassassin_can_network _("Spam Protection") _("Allow Spam Assassin daemon network access")
++speedmgmt_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for speedmgmt daemon")
++squid_connect_any _("Squid") _("Allow squid daemon to connect to the network")
++squid_disable_trans _("Squid") _("Disable SELinux protection for squid daemon")
++ssh_keygen_disable_trans _("SSH") _("Disable SELinux protection for ssh daemon")
++ssh_sysadm_login _("SSH") _("Allow ssh logins as sysadm_r:sysadm_t")
++staff_read_sysadm_file _("Admin") _("Allow staff_r users to search the sysadm home dir and read files (such as ~/.bashrc)")
++stunnel_disable_trans _("Universal SSL tunnel") _("Disable SELinux protection for stunnel daemon")
++stunnel_is_daemon _("Universal SSL tunnel") _("Allow stunnel daemon to run as standalone, outside of xinetd")
++swat_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for swat daemon")
++sxid_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for sxid daemon")
++syslogd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for syslogd daemon")
++system_crond_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for system cron jobs")
++tcpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for tcp daemon")
++telnetd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for telnet daemon")
++tftpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for tftpd daemon")
++transproxy_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for transproxy daemon")
++udev_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for udev daemon")
++uml_switch_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for uml daemon")
++unlimitedInetd _("Admin") _("Allow xinetd to run unconfined, including any services it starts that do not have a domain transition explicitly defined")
++unlimitedRC _("Admin") _("Allow rc scripts to run unconfined, including any daemon started by an rc script that does not have a domain transition explicitly defined")
++unlimitedRPM _("Admin") _("Allow rpm to run unconfined")
++unlimitedUtils _("Admin") _("Allow privileged utilities like hotplug and insmod to run unconfined")
++updfstab_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for updfstab daemon")
++uptimed_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for uptimed daemon")
++user_canbe_sysadm _("User Privs") _("Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only staff_r can do so")
++user_can_mount _("Mount") _("Allow users to execute the mount command")
++user_direct_mouse _("User Privs") _("Allow regular users direct mouse access (only allow the X server)")
++user_dmesg _("User Privs") _("Allow users to run the dmesg command")
++user_net_control _("User Privs") _("Allow users to control network interfaces (also needs USERCTL=true)")
++user_ping _("User Privs") _("Allow normal user to execute ping")
++user_rw_noexattrfile _("User Privs") _("Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)")
++user_rw_usb _("User Privs") _("Allow users to rw usb devices")
++user_tcp_server _("User Privs") _("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")
++user_ttyfile_stat _("User Privs") _("Allow user to stat ttyfiles")
++uucpd_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for uucpd daemon")
++vmware_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for vmware daemon")
++watchdog_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for watchdog daemon")
++winbind_disable_trans _("Samba") _("Disable SELinux protection for winbind daemon")
++xdm_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for xdm daemon")
++xdm_sysadm_login _("XServer") _("Allow xdm logins as sysadm_r:sysadm_t")
++xend_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for xen daemon")
++xen_use_raw_disk _("XEN") _("Allow xen to read/write physical disk devices")
++xfs_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for xfs daemon")
++xm_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for xen control")
++ypbind_disable_trans _("NIS") _("Disable SELinux protection for ypbind daemon")
++yppasswdd_disable_trans _("NIS") _("Disable SELinux protection for NIS Password Daemon")
++ypserv_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for ypserv daemon")
++ypxfr_disable_trans _("NIS") _("Disable SELinux protection for NIS Transfer Daemon")
++webadm_manage_user_files _("HTTPD Service") _("Allow SELinux webadm user to manage unprivileged users home directories")
++webadm_read_user_files _("HTTPD Service") _("Allow SELinux webadm user to read unprivileged users home directories")
++
+diff -up policycoreutils-2.1.8/gui/semanagePage.py.gui policycoreutils-2.1.8/gui/semanagePage.py
+--- policycoreutils-2.1.8/gui/semanagePage.py.gui      2011-11-07 15:12:01.908834234 -0500
++++ policycoreutils-2.1.8/gui/semanagePage.py  2011-11-07 15:12:01.908834234 -0500
+@@ -0,0 +1,168 @@
++## semanagePage.py - show selinux mappings
++## Copyright (C) 2006 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import sys
++import seobject
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++def idle_func():
++    while gtk.events_pending():
++        gtk.main_iteration()
++        
++class semanagePage:
++    def __init__(self, xml, name, description):
++        self.xml = xml
++        self.window = self.xml.get_widget("mainWindow").get_root_window()
++        self.busy_cursor = gtk.gdk.Cursor(gtk.gdk.WATCH)
++        self.ready_cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
++
++        self.local = False
++        self.view = xml.get_widget("%sView" % name)
++        self.dialog = xml.get_widget("%sDialog" % name)
++        self.filter_entry = xml.get_widget("%sFilterEntry" % name )
++        self.filter_entry.connect("focus_out_event", self.filter_changed)
++        self.filter_entry.connect("activate", self.filter_changed)
++
++        self.view.connect("row_activated", self.rowActivated)
++        self.view.get_selection().connect("changed", self.itemSelected)
++        self.description = description;
++
++    def wait(self):
++        self.window.set_cursor(self.busy_cursor)
++        idle_func()
++    
++    def ready(self):
++        self.window.set_cursor(self.ready_cursor)
++        idle_func()
++    
++    def get_description(self):
++        return self.description 
++        
++    def itemSelected(self, args):
++        return
++
++    def filter_changed(self, *arg):
++        filter =  arg[0].get_text()
++        if filter != self.filter:
++            self.load(filter)
++        
++    def search(self, model, col, key, i):
++        sort_col = self.store.get_sort_column_id()[0]
++        val = model.get_value(i,sort_col)
++        if val.lower().startswith(key.lower()):
++            return False
++        return True
++
++    def match(self, target, filter):
++        try:
++            f=filter.lower()
++            t=target.lower()
++            if t.find(f) >= 0:
++                return True
++        except:
++            pass
++        return False
++
++    def rowActivated(self, view, row, Column):
++        self.propertiesDialog()
++
++    def verify(self, message, title="" ):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
++                                gtk.BUTTONS_YES_NO,
++                                message)
++        dlg.set_title(title)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        rc = dlg.run()
++        dlg.destroy()
++        return rc
++
++    def error(self, message):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
++                                gtk.BUTTONS_CLOSE,
++                                message)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        dlg.run()
++        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:
++            self.delete()
++        
++    def use_menus(self):
++        return True
++    
++    def addDialog(self):
++        self.dialogClear()
++        self.dialog.set_title(_("Add %s" % self.description))
++        self.dialog.set_position(gtk.WIN_POS_MOUSE)
++
++        while self.dialog.run() ==  gtk.RESPONSE_OK:
++            try:
++                if self.add() == False:
++                    continue
++                break;
++            except ValueError, e:
++                self.error(e.args[0])
++        self.dialog.hide()
++
++    def propertiesDialog(self):
++        self.dialogInit()
++        self.dialog.set_title(_("Modify %s" % self.description))
++        self.dialog.set_position(gtk.WIN_POS_MOUSE)
++        while self.dialog.run() ==  gtk.RESPONSE_OK:
++            try:
++                if self.modify() == False:
++                    continue
++                break;
++            except ValueError, e:
++                self.error(e.args[0])
++        self.dialog.hide()
++    
++    def on_local_clicked(self, button):
++        self.local = not self.local
++        if self.local:
++            button.set_label(_("all"))
++        else:
++            button.set_label(_("Customized"))
++
++        self.load(self.filter)
++        return True
++        
+diff -up policycoreutils-2.1.8/gui/statusPage.py.gui policycoreutils-2.1.8/gui/statusPage.py
+--- policycoreutils-2.1.8/gui/statusPage.py.gui        2011-11-07 15:12:01.909834235 -0500
++++ policycoreutils-2.1.8/gui/statusPage.py    2011-11-07 15:12:01.909834235 -0500
+@@ -0,0 +1,190 @@
++# statusPage.py - show selinux status
++## Copyright (C) 2006-2009 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import sys
++import tempfile
++
++INSTALLPATH = '/usr/share/system-config-selinux'
++sys.path.append(INSTALLPATH)
++
++import commands
++ENFORCING = 1
++PERMISSIVE = 0
++DISABLED = -1
++modearray = ( "disabled", "permissive",  "enforcing" )
++
++SELINUXDIR = "/etc/selinux/"
++RELABELFILE = "/.autorelabel"
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++import selinux
++try:
++    gettext.install(PROGNAME, localedir="/usr/share/locale", unicode=1)
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++class statusPage:
++    def __init__(self, xml):
++        self.xml = xml
++        self.needRelabel = False
++
++        self.type = selinux.selinux_getpolicytype()
++        # Bring in widgets from glade file.
++        self.typeHBox = xml.get_widget("typeHBox")
++        self.selinuxTypeOptionMenu = xml.get_widget("selinuxTypeOptionMenu")
++        self.typeLabel = xml.get_widget("typeLabel")
++        self.enabledOptionMenu = xml.get_widget("enabledOptionMenu")
++        self.currentOptionMenu = xml.get_widget("currentOptionMenu")
++        self.relabel_checkbutton = xml.get_widget("relabelCheckbutton")
++        self.relabel_checkbutton.set_active(self.is_relabel())
++        self.relabel_checkbutton.connect("toggled", self.on_relabel_toggle)
++        if self.get_current_mode() == ENFORCING or self.get_current_mode() == PERMISSIVE:
++                self.currentOptionMenu.append_text(_("Permissive"))
++                self.currentOptionMenu.append_text(_("Enforcing"))
++                self.currentOptionMenu.set_active(self.get_current_mode())
++                self.currentOptionMenu.connect("changed", self.set_current_mode)
++                self.currentOptionMenu.set_sensitive(True)
++        else:
++                self.currentOptionMenu.append_text(_("Disabled"))
++                self.currentOptionMenu.set_active(0)
++                self.currentOptionMenu.set_sensitive(False)
++
++        if self.read_selinux_config() == None:
++            self.selinuxsupport = False
++        else:
++            self.enabledOptionMenu.connect("changed", self.enabled_changed)
++        #
++        # This line must come after read_selinux_config
++        #
++        self.selinuxTypeOptionMenu.connect("changed", self.typemenu_changed)
++
++        self.typeLabel.set_mnemonic_widget(self.selinuxTypeOptionMenu)
++        
++    def use_menus(self):
++        return False
++    
++    def get_description(self):
++        return _("Status")
++
++    def get_current_mode(self):
++        if selinux.is_selinux_enabled():
++            if selinux.security_getenforce() > 0:
++                return ENFORCING
++            else:
++                return PERMISSIVE
++        else:
++            return DISABLED
++
++    def set_current_mode(self,menu):
++        selinux.security_setenforce(menu.get_active() == 1)
++
++    def is_relabel(self):
++        return os.access(RELABELFILE, os.F_OK) != 0
++
++    def on_relabel_toggle(self,button):
++        if button.get_active():
++            fd = open(RELABELFILE,"w")
++            fd.close()
++        else:
++            if os.access(RELABELFILE, os.F_OK) != 0:
++                os.unlink(RELABELFILE)
++
++    def verify(self, message):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
++                                gtk.BUTTONS_YES_NO,
++                                message)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        rc = dlg.run()
++        dlg.destroy()
++        return rc
++
++    def typemenu_changed(self, menu):
++        type = self.get_type()
++        enabled = self.enabledOptionMenu.get_active()
++        if self.initialtype != type:
++            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.typeHistory = menu.get_active()
++        
++    def enabled_changed(self, combo):
++        enabled = combo.get_active()
++        type = 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:
++                combo.set_active(self.enabled)
++                return None
++
++        if self.initEnabled == DISABLED and enabled < 2:
++            if self.verify(_("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 file system.  Do you wish to continue?")) == gtk.RESPONSE_NO:
++                combo.set_active(self.enabled)
++                return None
++            self.relabel_checkbutton.set_active(True)
++
++        self.write_selinux_config(modearray[enabled], type )
++        self.enabled = enabled
++
++    def write_selinux_config(self, enforcing, type):
++        import commands
++        commands.getstatusoutput("/usr/sbin/lokkit --selinuxtype=%s --selinux=%s" % (type, enforcing))
++
++    def read_selinux_config(self):
++        self.initialtype = selinux.selinux_getpolicytype()[1]
++        self.initEnabled = selinux.selinux_getenforcemode()[1]
++        self.enabled = self.initEnabled
++        self.enabledOptionMenu.set_active(self.enabled + 1 )
++
++        self.types = []
++
++        n = 0
++        current = n
++
++        for i in os.listdir(SELINUXDIR):
++            if os.path.isdir(SELINUXDIR+i) and os.path.isdir(SELINUXDIR+i+"/policy"):
++                self.types.append(i)
++                self.selinuxTypeOptionMenu.append_text(i)
++                if i == self.initialtype:
++                    current = n
++                n = n+1
++        self.selinuxTypeOptionMenu.set_active(current)
++        self.typeHistory = current
++
++        return 0
++
++    def get_type(self):
++        return self.types[self.selinuxTypeOptionMenu.get_active()]
++
++
+diff -up policycoreutils-2.1.8/gui/system-config-selinux.glade.gui policycoreutils-2.1.8/gui/system-config-selinux.glade
+--- policycoreutils-2.1.8/gui/system-config-selinux.glade.gui  2011-11-07 15:12:01.913834238 -0500
++++ policycoreutils-2.1.8/gui/system-config-selinux.glade      2011-11-07 15:12:01.913834238 -0500
+@@ -0,0 +1,3024 @@
++<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
++<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
++
++<glade-interface>
++<requires lib="gnome"/>
++<requires lib="bonobo"/>
++
++<widget class="GtkAboutDialog" id="aboutWindow">
++  <property name="border_width">5</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="name" translatable="yes">system-config-selinux</property>
++  <property name="copyright" translatable="yes">Copyright (c)2006 Red Hat, Inc.
++Copyright (c) 2006 Dan Walsh &lt;dwalsh@redhat.com&gt;</property>
++  <property name="wrap_license">False</property>
++  <property name="authors">Daniel Walsh &lt;dwalsh@redhat.com&gt;
++</property>
++  <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property>
++  <property name="logo">system-config-selinux.png</property>
++</widget>
++
++<widget class="GtkDialog" id="loginsDialog">
++  <property name="title" translatable="yes">Add SELinux Login Mapping</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_NONE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++  <property name="has_separator">True</property>
++
++  <child internal-child="vbox">
++    <widget class="GtkVBox" id="dialog-vbox1">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">0</property>
++
++      <child internal-child="action_area">
++      <widget class="GtkHButtonBox" id="dialog-action_area1">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++
++        <child>
++          <widget class="GtkButton" id="cancelbutton1">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-6</property>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="okbutton1">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-ok</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-5</property>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">False</property>
++        <property name="fill">True</property>
++        <property name="pack_type">GTK_PACK_END</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkVBox" id="vbox2">
++        <property name="visible">True</property>
++        <property name="homogeneous">False</property>
++        <property name="spacing">0</property>
++
++        <child>
++          <widget class="GtkTable" id="table1">
++            <property name="visible">True</property>
++            <property name="n_rows">3</property>
++            <property name="n_columns">2</property>
++            <property name="homogeneous">False</property>
++            <property name="row_spacing">4</property>
++            <property name="column_spacing">6</property>
++
++            <child>
++              <widget class="GtkLabel" id="label15">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">Login Name</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label16">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">SELinux User</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label17">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">MLS/MCS Range</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="loginsNameEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkComboBox" id="loginsSelinuxUserCombo">
++                <property name="visible">True</property>
++                <property name="add_tearoffs">False</property>
++                <property name="focus_on_click">True</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="x_options">fill</property>
++                <property name="y_options">fill</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="loginsMLSEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="padding">5</property>
++            <property name="expand">True</property>
++            <property name="fill">True</property>
++          </packing>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">True</property>
++        <property name="fill">True</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++<widget class="GtkDialog" id="portsDialog">
++  <property name="title" translatable="yes">Add SELinux Network Ports</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_NONE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++  <property name="has_separator">True</property>
++
++  <child internal-child="vbox">
++    <widget class="GtkVBox" id="vbox3">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">0</property>
++
++      <child internal-child="action_area">
++      <widget class="GtkHButtonBox" id="hbuttonbox1">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++
++        <child>
++          <widget class="GtkButton" id="button1">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-6</property>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="button2">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-ok</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-5</property>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">False</property>
++        <property name="fill">True</property>
++        <property name="pack_type">GTK_PACK_END</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkVBox" id="vbox4">
++        <property name="visible">True</property>
++        <property name="homogeneous">False</property>
++        <property name="spacing">0</property>
++
++        <child>
++          <widget class="GtkTable" id="table2">
++            <property name="visible">True</property>
++            <property name="n_rows">4</property>
++            <property name="n_columns">2</property>
++            <property name="homogeneous">False</property>
++            <property name="row_spacing">4</property>
++            <property name="column_spacing">6</property>
++
++            <child>
++              <widget class="GtkLabel" id="label18">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">Port Number</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label19">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">Protocol</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label20">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">SELinux Type</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="portsNumberEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkComboBox" id="portsProtocolCombo">
++                <property name="visible">True</property>
++                <property name="items">tcp
++udp</property>
++                <property name="add_tearoffs">False</property>
++                <property name="focus_on_click">True</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="x_options">fill</property>
++                <property name="y_options">fill</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="portsNameEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label21">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">MLS/MCS
++Level</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">3</property>
++                <property name="bottom_attach">4</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="portsMLSEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">3</property>
++                <property name="bottom_attach">4</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="padding">5</property>
++            <property name="expand">True</property>
++            <property name="fill">True</property>
++          </packing>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">True</property>
++        <property name="fill">True</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++<widget class="GtkDialog" id="fcontextDialog">
++  <property name="title" translatable="yes">Add SELinux Login Mapping</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_NONE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++  <property name="has_separator">True</property>
++
++  <child internal-child="vbox">
++    <widget class="GtkVBox" id="vbox7">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">0</property>
++
++      <child internal-child="action_area">
++      <widget class="GtkHButtonBox" id="hbuttonbox3">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++
++        <child>
++          <widget class="GtkButton" id="button5">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-6</property>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="button6">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-ok</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-5</property>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">False</property>
++        <property name="fill">True</property>
++        <property name="pack_type">GTK_PACK_END</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkVBox" id="vbox8">
++        <property name="visible">True</property>
++        <property name="homogeneous">False</property>
++        <property name="spacing">0</property>
++
++        <child>
++          <widget class="GtkTable" id="table4">
++            <property name="visible">True</property>
++            <property name="n_rows">4</property>
++            <property name="n_columns">2</property>
++            <property name="homogeneous">False</property>
++            <property name="row_spacing">4</property>
++            <property name="column_spacing">6</property>
++
++            <child>
++              <widget class="GtkLabel" id="label25">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">File Specification</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label26">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">File Type</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label27">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">SELinux Type</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="fcontextEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkComboBox" id="fcontextFileTypeCombo">
++                <property name="visible">True</property>
++                <property name="items" translatable="yes">all files
++regular file
++directory
++character device
++block device
++socket
++symbolic link
++named pipe
++</property>
++                <property name="add_tearoffs">False</property>
++                <property name="focus_on_click">True</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="x_options">fill</property>
++                <property name="y_options">fill</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="fcontextTypeEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label31">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">MLS</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">3</property>
++                <property name="bottom_attach">4</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="fcontextMLSEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">3</property>
++                <property name="bottom_attach">4</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="padding">5</property>
++            <property name="expand">True</property>
++            <property name="fill">True</property>
++          </packing>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">True</property>
++        <property name="fill">True</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++<widget class="GtkDialog" id="usersDialog">
++  <property name="title" translatable="yes">Add SELinux User</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_NONE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++  <property name="has_separator">True</property>
++
++  <child internal-child="vbox">
++    <widget class="GtkVBox" id="vbox9">
++      <property name="visible">True</property>
++      <property name="homogeneous">False</property>
++      <property name="spacing">0</property>
++
++      <child internal-child="action_area">
++      <widget class="GtkHButtonBox" id="hbuttonbox4">
++        <property name="visible">True</property>
++        <property name="layout_style">GTK_BUTTONBOX_END</property>
++
++        <child>
++          <widget class="GtkButton" id="button7">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-cancel</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-6</property>
++          </widget>
++        </child>
++
++        <child>
++          <widget class="GtkButton" id="button8">
++            <property name="visible">True</property>
++            <property name="can_default">True</property>
++            <property name="can_focus">True</property>
++            <property name="label">gtk-ok</property>
++            <property name="use_stock">True</property>
++            <property name="relief">GTK_RELIEF_NORMAL</property>
++            <property name="focus_on_click">True</property>
++            <property name="response_id">-5</property>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">False</property>
++        <property name="fill">True</property>
++        <property name="pack_type">GTK_PACK_END</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkVBox" id="vbox10">
++        <property name="visible">True</property>
++        <property name="homogeneous">False</property>
++        <property name="spacing">0</property>
++
++        <child>
++          <widget class="GtkTable" id="table5">
++            <property name="visible">True</property>
++            <property name="n_rows">3</property>
++            <property name="n_columns">2</property>
++            <property name="homogeneous">False</property>
++            <property name="row_spacing">4</property>
++            <property name="column_spacing">6</property>
++
++            <child>
++              <widget class="GtkLabel" id="label32">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">SELinux User</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label34">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">MLS/MCS Range</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="mlsRangeEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">1</property>
++                <property name="bottom_attach">2</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label36">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">SELinux Roles</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="left_attach">0</property>
++                <property name="right_attach">1</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="x_options">fill</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="selinuxRolesEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">2</property>
++                <property name="bottom_attach">3</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkEntry" id="selinuxUserEntry">
++                <property name="visible">True</property>
++                <property name="can_focus">True</property>
++                <property name="editable">True</property>
++                <property name="visibility">True</property>
++                <property name="max_length">0</property>
++                <property name="text" translatable="yes"></property>
++                <property name="has_frame">True</property>
++                <property name="invisible_char">*</property>
++                <property name="activates_default">False</property>
++              </widget>
++              <packing>
++                <property name="left_attach">1</property>
++                <property name="right_attach">2</property>
++                <property name="top_attach">0</property>
++                <property name="bottom_attach">1</property>
++                <property name="y_options"></property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="padding">5</property>
++            <property name="expand">True</property>
++            <property name="fill">True</property>
++          </packing>
++        </child>
++      </widget>
++      <packing>
++        <property name="padding">0</property>
++        <property name="expand">True</property>
++        <property name="fill">True</property>
++      </packing>
++      </child>
++    </widget>
++  </child>
++</widget>
++
++<widget class="GnomeApp" id="mainWindow">
++  <property name="width_request">800</property>
++  <property name="height_request">500</property>
++  <property name="title" translatable="yes">SELinux Administration</property>
++  <property name="type">GTK_WINDOW_TOPLEVEL</property>
++  <property name="window_position">GTK_WIN_POS_NONE</property>
++  <property name="modal">False</property>
++  <property name="resizable">True</property>
++  <property name="destroy_with_parent">False</property>
++  <property name="icon">system-config-selinux.png</property>
++  <property name="decorated">True</property>
++  <property name="skip_taskbar_hint">False</property>
++  <property name="skip_pager_hint">False</property>
++  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
++  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
++  <property name="focus_on_map">True</property>
++  <property name="urgency_hint">False</property>
++  <property name="enable_layout_config">True</property>
++
++  <child internal-child="dock">
++    <widget class="BonoboDock" id="bonobodock2">
++      <property name="visible">True</property>
++      <property name="allow_floating">True</property>
++
++      <child>
++      <widget class="BonoboDockItem" id="bonobodockitem3">
++        <property name="visible">True</property>
++        <property name="shadow_type">GTK_SHADOW_NONE</property>
++
++        <child>
++          <widget class="GtkMenuBar" id="menubar1">
++            <property name="visible">True</property>
++            <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
++            <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
++
++            <child>
++              <widget class="GtkMenuItem" id="file1">
++                <property name="visible">True</property>
++                <property name="stock_item">GNOMEUIINFO_MENU_FILE_TREE</property>
++
++                <child>
++                  <widget class="GtkMenu" id="file1_menu">
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="add_menu_item">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Add</property>
++                        <property name="use_underline">True</property>
++                        <signal name="activate" handler="on_add_clicked" last_modification_time="Sat, 17 Mar 2007 12:21:12 GMT"/>
++                        <accelerator key="a" modifiers="GDK_CONTROL_MASK" signal="activate"/>
++
++                        <child internal-child="image">
++                          <widget class="GtkImage" id="image13">
++                            <property name="visible">True</property>
++                            <property name="stock">gtk-add</property>
++                            <property name="icon_size">1</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                          </widget>
++                        </child>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="properties_menu_item">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">_Properties</property>
++                        <property name="use_underline">True</property>
++                        <signal name="activate" handler="on_properties_clicked" last_modification_time="Sat, 17 Mar 2007 12:21:12 GMT"/>
++                        <accelerator key="p" modifiers="GDK_CONTROL_MASK" signal="activate"/>
++
++                        <child internal-child="image">
++                          <widget class="GtkImage" id="image14">
++                            <property name="visible">True</property>
++                            <property name="stock">gtk-properties</property>
++                            <property name="icon_size">1</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                          </widget>
++                        </child>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="delete_menu_item">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">_Delete</property>
++                        <property name="use_underline">True</property>
++                        <signal name="activate" handler="on_delete_clicked" last_modification_time="Sat, 17 Mar 2007 12:21:12 GMT"/>
++                        <accelerator key="Delete" modifiers="0" signal="activate"/>
++
++                        <child internal-child="image">
++                          <widget class="GtkImage" id="image15">
++                            <property name="visible">True</property>
++                            <property name="stock">gtk-delete</property>
++                            <property name="icon_size">1</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xpad">0</property>
++                            <property name="ypad">0</property>
++                          </widget>
++                        </child>
++                      </widget>
++                    </child>
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="quit">
++                        <property name="visible">True</property>
++                        <property name="stock_item">GNOMEUIINFO_MENU_EXIT_ITEM</property>
++                        <signal name="activate" handler="on_quit_activate" last_modification_time="Fri, 06 Oct 2006 13:58:19 GMT"/>
++                      </widget>
++                    </child>
++                  </widget>
++                </child>
++              </widget>
++            </child>
++
++            <child>
++              <widget class="GtkMenuItem" id="help1">
++                <property name="visible">True</property>
++                <property name="stock_item">GNOMEUIINFO_MENU_HELP_TREE</property>
++
++                <child>
++                  <widget class="GtkMenu" id="help1_menu">
++
++                    <child>
++                      <widget class="GtkImageMenuItem" id="about">
++                        <property name="visible">True</property>
++                        <property name="stock_item">GNOMEUIINFO_MENU_ABOUT_ITEM</property>
++                        <signal name="activate" handler="on_about_activate" last_modification_time="Fri, 06 Oct 2006 13:58:02 GMT"/>
++                      </widget>
++                    </child>
++                  </widget>
++                </child>
++              </widget>
++            </child>
++          </widget>
++        </child>
++      </widget>
++      <packing>
++        <property name="placement">BONOBO_DOCK_TOP</property>
++        <property name="band">0</property>
++        <property name="position">0</property>
++        <property name="offset">0</property>
++        <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE|BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL|BONOBO_DOCK_ITEM_BEH_LOCKED</property>
++      </packing>
++      </child>
++
++      <child>
++      <widget class="GtkHPaned" id="hpaned1">
++        <property name="visible">True</property>
++        <property name="can_focus">True</property>
++        <property name="position">0</property>
++
++        <child>
++          <widget class="GtkFrame" id="frame1">
++            <property name="border_width">5</property>
++            <property name="visible">True</property>
++            <property name="label_xalign">0</property>
++            <property name="label_yalign">0.5</property>
++            <property name="shadow_type">GTK_SHADOW_NONE</property>
++
++            <child>
++              <widget class="GtkAlignment" id="alignment1">
++                <property name="visible">True</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xscale">1</property>
++                <property name="yscale">1</property>
++                <property name="top_padding">0</property>
++                <property name="bottom_padding">0</property>
++                <property name="left_padding">12</property>
++                <property name="right_padding">0</property>
++
++                <child>
++                  <widget class="GtkTreeView" id="selectView">
++                    <property name="visible">True</property>
++                    <property name="tooltip" translatable="yes">Select Management Object</property>
++                    <property name="can_focus">True</property>
++                    <property name="headers_visible">False</property>
++                    <property name="rules_hint">False</property>
++                    <property name="reorderable">False</property>
++                    <property name="enable_search">True</property>
++                    <property name="fixed_height_mode">False</property>
++                    <property name="hover_selection">False</property>
++                    <property name="hover_expand">False</property>
++                  </widget>
++                </child>
++              </widget>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label45">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">&lt;b&gt;Select:&lt;/b&gt;</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">True</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">label_item</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="shrink">False</property>
++            <property name="resize">True</property>
++          </packing>
++        </child>
++
++        <child>
++          <widget class="GtkNotebook" id="notebook">
++            <property name="visible">True</property>
++            <property name="show_tabs">False</property>
++            <property name="show_border">True</property>
++            <property name="tab_pos">GTK_POS_TOP</property>
++            <property name="scrollable">False</property>
++            <property name="enable_popup">False</property>
++
++            <child>
++              <widget class="GtkVBox" id="vbox1">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkTable" id="table6">
++                    <property name="visible">True</property>
++                    <property name="n_rows">4</property>
++                    <property name="n_columns">2</property>
++                    <property name="homogeneous">False</property>
++                    <property name="row_spacing">5</property>
++                    <property name="column_spacing">5</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label29">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">System Default Enforcing Mode</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">1</property>
++                        <property name="top_attach">0</property>
++                        <property name="bottom_attach">1</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options"></property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkComboBox" id="enabledOptionMenu">
++                        <property name="visible">True</property>
++                        <property name="items" translatable="yes">Disabled
++Permissive
++Enforcing
++</property>
++                        <property name="add_tearoffs">False</property>
++                        <property name="focus_on_click">True</property>
++                      </widget>
++                      <packing>
++                        <property name="left_attach">1</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">0</property>
++                        <property name="bottom_attach">1</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkLabel" id="label48">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Current Enforcing Mode</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">1</property>
++                        <property name="top_attach">1</property>
++                        <property name="bottom_attach">2</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options"></property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkComboBox" id="currentOptionMenu">
++                        <property name="visible">True</property>
++                        <property name="items" translatable="yes"></property>
++                        <property name="add_tearoffs">False</property>
++                        <property name="focus_on_click">True</property>
++                      </widget>
++                      <packing>
++                        <property name="left_attach">1</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">1</property>
++                        <property name="bottom_attach">2</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkLabel" id="typeLabel">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">System Default Policy Type: </property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">1</property>
++                        <property name="top_attach">2</property>
++                        <property name="bottom_attach">3</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options"></property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkComboBox" id="selinuxTypeOptionMenu">
++                        <property name="visible">True</property>
++                        <property name="items" translatable="yes"></property>
++                        <property name="add_tearoffs">False</property>
++                        <property name="focus_on_click">True</property>
++                      </widget>
++                      <packing>
++                        <property name="left_attach">1</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">2</property>
++                        <property name="bottom_attach">3</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkCheckButton" id="relabelCheckbutton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Select if you wish to relabel then entire file system on next reboot.  Relabeling can take a very long time, depending on the size of the system.  If you are changing policy types or going from disabled to enforcing, a relabel is required.</property>
++                        <property name="can_focus">True</property>
++                        <property name="relief">GTK_RELIEF_NORMAL</property>
++                        <property name="focus_on_click">True</property>
++                        <property name="active">False</property>
++                        <property name="inconsistent">False</property>
++                        <property name="draw_indicator">True</property>
++
++                        <child>
++                          <widget class="GtkAlignment" id="alignment4">
++                            <property name="visible">True</property>
++                            <property name="xalign">0.5</property>
++                            <property name="yalign">0.5</property>
++                            <property name="xscale">0</property>
++                            <property name="yscale">0</property>
++                            <property name="top_padding">0</property>
++                            <property name="bottom_padding">0</property>
++                            <property name="left_padding">0</property>
++                            <property name="right_padding">0</property>
++
++                            <child>
++                              <widget class="GtkHBox" id="hbox6">
++                                <property name="visible">True</property>
++                                <property name="homogeneous">False</property>
++                                <property name="spacing">2</property>
++
++                                <child>
++                                  <widget class="GtkImage" id="image2">
++                                    <property name="visible">True</property>
++                                    <property name="stock">gtk-refresh</property>
++                                    <property name="icon_size">4</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++
++                                <child>
++                                  <widget class="GtkLabel" id="label49">
++                                    <property name="visible">True</property>
++                                    <property name="label" translatable="yes">Relabel on next reboot.</property>
++                                    <property name="use_underline">True</property>
++                                    <property name="use_markup">False</property>
++                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
++                                    <property name="wrap">False</property>
++                                    <property name="selectable">False</property>
++                                    <property name="xalign">0.5</property>
++                                    <property name="yalign">0.5</property>
++                                    <property name="xpad">0</property>
++                                    <property name="ypad">0</property>
++                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                                    <property name="width_chars">-1</property>
++                                    <property name="single_line_mode">False</property>
++                                    <property name="angle">0</property>
++                                  </widget>
++                                  <packing>
++                                    <property name="padding">0</property>
++                                    <property name="expand">False</property>
++                                    <property name="fill">False</property>
++                                  </packing>
++                                </child>
++                              </widget>
++                            </child>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="left_attach">0</property>
++                        <property name="right_attach">2</property>
++                        <property name="top_attach">3</property>
++                        <property name="bottom_attach">4</property>
++                        <property name="x_options">fill</property>
++                        <property name="y_options">fill</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label37">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label37</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox18">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkToolbar" id="toolbar9">
++                    <property name="visible">True</property>
++                    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
++                    <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
++                    <property name="tooltips">True</property>
++                    <property name="show_arrow">True</property>
++
++                    <child>
++                      <widget class="GtkToolButton" id="booleanRevertButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Revert boolean setting to system default</property>
++                        <property name="stock_id">gtk-revert-to-saved</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton34">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Toggle between Customized and All Booleans</property>
++                        <property name="label" translatable="yes">Customized</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-find</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_local_clicked" last_modification_time="Wed, 19 Sep 2007 19:14:08 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton36">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Run booleans lockdown wizard</property>
++                        <property name="label" translatable="yes">Lockdown...</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-print-error</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_lockdown_clicked" last_modification_time="Thu, 03 Jul 2008 16:51:17 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox7">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label51">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Filter</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">10</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkEntry" id="booleansFilter">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="editable">True</property>
++                        <property name="visibility">True</property>
++                        <property name="max_length">0</property>
++                        <property name="text" translatable="yes"></property>
++                        <property name="has_frame">True</property>
++                        <property name="invisible_char">•</property>
++                        <property name="activates_default">False</property>
++                        <signal name="changed" handler="on_booleansFilter_changed" last_modification_time="Fri, 06 Apr 2007 12:39:26 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">10</property>
++                    <property name="expand">False</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow18">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="booleansView">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Boolean</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label50">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label50</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox11">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkToolbar" id="toolbar2">
++                    <property name="visible">True</property>
++                    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
++                    <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
++                    <property name="tooltips">True</property>
++                    <property name="show_arrow">True</property>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton5">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Add File Context</property>
++                        <property name="stock_id">gtk-add</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006 18:27:03 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton6">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Modify File Context</property>
++                        <property name="stock_id">gtk-properties</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_properties_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:51 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton7">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Delete File Context</property>
++                        <property name="stock_id">gtk-delete</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="customizedButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Toggle between all and customized file context</property>
++                        <property name="label" translatable="yes">Customized</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-find</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_local_clicked" last_modification_time="Wed, 19 Sep 2007 19:14:08 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox14">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label58">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Filter</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">10</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkEntry" id="fcontextFilterEntry">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="editable">True</property>
++                        <property name="visibility">True</property>
++                        <property name="max_length">0</property>
++                        <property name="text" translatable="yes"></property>
++                        <property name="has_frame">True</property>
++                        <property name="invisible_char">•</property>
++                        <property name="activates_default">False</property>
++                        <signal name="changed" handler="on_fcontextFilter_changed" last_modification_time="Mon, 05 Nov 2007 21:22:11 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow19">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="fcontextView">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">File Labeling</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label38">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label38</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox12">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkToolbar" id="toolbar3">
++                    <property name="visible">True</property>
++                    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
++                    <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
++                    <property name="tooltips">True</property>
++                    <property name="show_arrow">True</property>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton8">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Add SELinux User Mapping</property>
++                        <property name="stock_id">gtk-add</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006 18:27:03 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton29">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Modify SELinux User Mapping</property>
++                        <property name="stock_id">gtk-properties</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_properties_clicked" last_modification_time="Wed, 15 Nov 2006 16:38:33 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton10">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Delete SELinux User Mapping</property>
++                        <property name="stock_id">gtk-delete</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox13">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label57">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Filter</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">10</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkEntry" id="loginsFilterEntry">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="editable">True</property>
++                        <property name="visibility">True</property>
++                        <property name="max_length">0</property>
++                        <property name="text" translatable="yes"></property>
++                        <property name="has_frame">True</property>
++                        <property name="invisible_char">•</property>
++                        <property name="activates_default">False</property>
++                        <signal name="changed" handler="on_booleansFilter_changed" last_modification_time="Fri, 06 Apr 2007 12:39:26 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">5</property>
++                    <property name="expand">False</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow16">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="loginsView">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">User Mapping</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label39">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label39</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox14">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkToolbar" id="toolbar5">
++                    <property name="visible">True</property>
++                    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
++                    <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
++                    <property name="tooltips">True</property>
++                    <property name="show_arrow">True</property>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton14">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Add User</property>
++                        <property name="stock_id">gtk-add</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006 18:27:03 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton15">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Modify User</property>
++                        <property name="stock_id">gtk-properties</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_properties_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:51 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton16">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Delete User</property>
++                        <property name="stock_id">gtk-delete</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox12">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label56">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Filter</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">10</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkEntry" id="usersFilterEntry">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="editable">True</property>
++                        <property name="visibility">True</property>
++                        <property name="max_length">0</property>
++                        <property name="text" translatable="yes"></property>
++                        <property name="has_frame">True</property>
++                        <property name="invisible_char">•</property>
++                        <property name="activates_default">False</property>
++                        <signal name="changed" handler="on_booleansFilter_changed" last_modification_time="Fri, 06 Apr 2007 12:39:26 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">5</property>
++                    <property name="expand">False</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow11">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="usersView">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">SELinux User</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label41">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label41</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox15">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkToolbar" id="toolbar6">
++                    <property name="visible">True</property>
++                    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
++                    <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
++                    <property name="tooltips">False</property>
++                    <property name="show_arrow">True</property>
++
++                    <child>
++                      <widget class="GtkToolButton" id="portsAddButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Add Network Port</property>
++                        <property name="stock_id">gtk-add</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006 18:27:03 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="portsPropertiesButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Edit Network Port</property>
++                        <property name="stock_id">gtk-properties</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_properties_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:51 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="portsDeleteButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Delete Network Port</property>
++                        <property name="stock_id">gtk-delete</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolItem" id="toolitem2">
++                        <property name="visible">True</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++
++                        <child>
++                          <widget class="GtkVSeparator" id="vseparator1">
++                            <property name="width_request">32</property>
++                            <property name="visible">True</property>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="listViewButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Toggle between Customized and All Ports</property>
++                        <property name="label" translatable="yes">Group View</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-indent</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_group_clicked" last_modification_time="Mon, 01 Oct 2007 21:31:19 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton35">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Toggle between Customized and All Ports</property>
++                        <property name="label" translatable="yes">Customized</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-find</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_local_clicked" last_modification_time="Wed, 19 Sep 2007 19:14:08 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox9">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label53">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Filter</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">10</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkEntry" id="portsFilterEntry">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="editable">True</property>
++                        <property name="visibility">True</property>
++                        <property name="max_length">0</property>
++                        <property name="text" translatable="yes"></property>
++                        <property name="has_frame">True</property>
++                        <property name="invisible_char">•</property>
++                        <property name="activates_default">False</property>
++                        <signal name="changed" handler="on_booleansFilter_changed" last_modification_time="Fri, 06 Apr 2007 12:39:26 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">5</property>
++                    <property name="expand">False</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow13">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="portsView">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Network Port</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label42">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label42</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox17">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkToolbar" id="toolbar8">
++                    <property name="visible">True</property>
++                    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
++                    <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
++                    <property name="tooltips">True</property>
++                    <property name="show_arrow">True</property>
++
++                    <child>
++                      <widget class="GtkToolButton" id="newModuleButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Generate new policy module</property>
++                        <property name="stock_id">gtk-new</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_new_clicked" last_modification_time="Sat, 17 Mar 2007 15:53:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton23">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Load policy module</property>
++                        <property name="stock_id">gtk-add</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006 18:27:03 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="toolbutton25">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Remove loadable policy module</property>
++                        <property name="stock_id">gtk-remove</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolItem" id="toolitem3">
++                        <property name="visible">True</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++
++                        <child>
++                          <widget class="GtkVSeparator" id="vseparator2">
++                            <property name="width_request">10</property>
++                            <property name="visible">True</property>
++                          </widget>
++                        </child>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="enableAuditButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Enable/Disable additional audit rules, that are normally not reported in the log files.</property>
++                        <property name="label" translatable="yes">Enable Audit</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-zoom-in</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_disable_audit_clicked" last_modification_time="Wed, 15 Nov 2006 16:29:34 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox11">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label55">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Filter</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">10</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkEntry" id="modulesFilterEntry">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="editable">True</property>
++                        <property name="visibility">True</property>
++                        <property name="max_length">0</property>
++                        <property name="text" translatable="yes"></property>
++                        <property name="has_frame">True</property>
++                        <property name="invisible_char">•</property>
++                        <property name="activates_default">False</property>
++                        <signal name="changed" handler="on_booleansFilter_changed" last_modification_time="Fri, 06 Apr 2007 12:39:26 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">5</property>
++                    <property name="expand">False</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow15">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="modulesView">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Policy Module</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label44">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label44</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkVBox" id="vbox19">
++                <property name="visible">True</property>
++                <property name="homogeneous">False</property>
++                <property name="spacing">0</property>
++
++                <child>
++                  <widget class="GtkToolbar" id="toolbar10">
++                    <property name="visible">True</property>
++                    <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
++                    <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
++                    <property name="tooltips">True</property>
++                    <property name="show_arrow">True</property>
++
++                    <child>
++                      <widget class="GtkToolButton" id="permissiveButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Change process mode to permissive.</property>
++                        <property name="label" translatable="yes">Permissive</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-dialog-warning</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006 18:27:03 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkToolButton" id="enforcingButton">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Change process mode to enforcing</property>
++                        <property name="label" translatable="yes">Enforcing</property>
++                        <property name="use_underline">True</property>
++                        <property name="stock_id">gtk-dialog-error</property>
++                        <property name="visible_horizontal">True</property>
++                        <property name="visible_vertical">True</property>
++                        <property name="is_important">False</property>
++                        <signal name="clicked" handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006 18:26:29 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="homogeneous">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkHBox" id="hbox15">
++                    <property name="visible">True</property>
++                    <property name="homogeneous">False</property>
++                    <property name="spacing">0</property>
++
++                    <child>
++                      <widget class="GtkLabel" id="label60">
++                        <property name="visible">True</property>
++                        <property name="label" translatable="yes">Filter</property>
++                        <property name="use_underline">False</property>
++                        <property name="use_markup">False</property>
++                        <property name="justify">GTK_JUSTIFY_LEFT</property>
++                        <property name="wrap">False</property>
++                        <property name="selectable">False</property>
++                        <property name="xalign">0.5</property>
++                        <property name="yalign">0.5</property>
++                        <property name="xpad">0</property>
++                        <property name="ypad">0</property>
++                        <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                        <property name="width_chars">-1</property>
++                        <property name="single_line_mode">False</property>
++                        <property name="angle">0</property>
++                      </widget>
++                      <packing>
++                        <property name="padding">10</property>
++                        <property name="expand">False</property>
++                        <property name="fill">False</property>
++                      </packing>
++                    </child>
++
++                    <child>
++                      <widget class="GtkEntry" id="domainsFilterEntry">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="editable">True</property>
++                        <property name="visibility">True</property>
++                        <property name="max_length">0</property>
++                        <property name="text" translatable="yes"></property>
++                        <property name="has_frame">True</property>
++                        <property name="invisible_char">•</property>
++                        <property name="activates_default">False</property>
++                        <signal name="changed" handler="on_booleansFilter_changed" last_modification_time="Fri, 06 Apr 2007 12:39:26 GMT"/>
++                      </widget>
++                      <packing>
++                        <property name="padding">0</property>
++                        <property name="expand">True</property>
++                        <property name="fill">True</property>
++                      </packing>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">5</property>
++                    <property name="expand">False</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++
++                <child>
++                  <widget class="GtkScrolledWindow" id="scrolledwindow20">
++                    <property name="visible">True</property>
++                    <property name="can_focus">True</property>
++                    <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
++                    <property name="shadow_type">GTK_SHADOW_NONE</property>
++                    <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
++
++                    <child>
++                      <widget class="GtkTreeView" id="domainsView">
++                        <property name="visible">True</property>
++                        <property name="tooltip" translatable="yes">Process Domain</property>
++                        <property name="can_focus">True</property>
++                        <property name="headers_visible">True</property>
++                        <property name="rules_hint">False</property>
++                        <property name="reorderable">False</property>
++                        <property name="enable_search">True</property>
++                        <property name="fixed_height_mode">False</property>
++                        <property name="hover_selection">False</property>
++                        <property name="hover_expand">False</property>
++                      </widget>
++                    </child>
++                  </widget>
++                  <packing>
++                    <property name="padding">0</property>
++                    <property name="expand">True</property>
++                    <property name="fill">True</property>
++                  </packing>
++                </child>
++              </widget>
++              <packing>
++                <property name="tab_expand">False</property>
++                <property name="tab_fill">True</property>
++              </packing>
++            </child>
++
++            <child>
++              <widget class="GtkLabel" id="label59">
++                <property name="visible">True</property>
++                <property name="label" translatable="yes">label59</property>
++                <property name="use_underline">False</property>
++                <property name="use_markup">False</property>
++                <property name="justify">GTK_JUSTIFY_LEFT</property>
++                <property name="wrap">False</property>
++                <property name="selectable">False</property>
++                <property name="xalign">0.5</property>
++                <property name="yalign">0.5</property>
++                <property name="xpad">0</property>
++                <property name="ypad">0</property>
++                <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
++                <property name="width_chars">-1</property>
++                <property name="single_line_mode">False</property>
++                <property name="angle">0</property>
++              </widget>
++              <packing>
++                <property name="type">tab</property>
++              </packing>
++            </child>
++          </widget>
++          <packing>
++            <property name="shrink">True</property>
++            <property name="resize">True</property>
++          </packing>
++        </child>
++      </widget>
++      </child>
++    </widget>
++    <packing>
++      <property name="padding">0</property>
++      <property name="expand">True</property>
++      <property name="fill">True</property>
++    </packing>
++  </child>
++
++  <child internal-child="appbar">
++    <widget class="GnomeAppBar" id="appbar2">
++      <property name="visible">True</property>
++      <property name="has_progress">True</property>
++      <property name="has_status">True</property>
++    </widget>
++    <packing>
++      <property name="padding">0</property>
++      <property name="expand">True</property>
++      <property name="fill">True</property>
++    </packing>
++  </child>
++</widget>
++
++</glade-interface>
+diff -up policycoreutils-2.1.8/gui/system-config-selinux.gladep.gui policycoreutils-2.1.8/gui/system-config-selinux.gladep
+--- policycoreutils-2.1.8/gui/system-config-selinux.gladep.gui 2011-11-07 15:12:01.914834238 -0500
++++ policycoreutils-2.1.8/gui/system-config-selinux.gladep     2011-11-07 15:12:01.914834238 -0500
+@@ -0,0 +1,7 @@
++<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
++<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
++
++<glade-project>
++  <name></name>
++  <program_name></program_name>
++</glade-project>
+diff -up policycoreutils-2.1.8/gui/system-config-selinux.py.gui policycoreutils-2.1.8/gui/system-config-selinux.py
+--- policycoreutils-2.1.8/gui/system-config-selinux.py.gui     2011-11-07 15:12:01.914834238 -0500
++++ policycoreutils-2.1.8/gui/system-config-selinux.py 2011-11-07 15:12:01.915834239 -0500
+@@ -0,0 +1,187 @@
++#!/usr/bin/python -Es
++#
++# system-config-selinux.py - GUI for SELinux Config tool in system-config-selinux
++#
++# Dan Walsh <dwalsh@redhat.com>
++#
++# Copyright 2006-2009 Red Hat, Inc.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++import signal
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import gnome
++import sys
++import statusPage
++import booleansPage
++import loginsPage
++import usersPage
++import portsPage
++import modulesPage
++import domainsPage
++import fcontextPage
++import selinux
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME,
++                    localedir="/usr/share/locale",
++                    unicode=False,
++                    codeset = 'utf-8')
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++gnome.program_init("SELinux Management Tool", "5")
++
++version = "1.0"
++
++sys.path.append('/usr/share/system-config-selinux')
++
++
++
++##
++## Pull in the Glade file
++##
++if os.access("system-config-selinux.glade", os.F_OK):
++    xml = gtk.glade.XML ("system-config-selinux.glade", domain=PROGNAME)
++else:
++    xml = gtk.glade.XML ("/usr/share/system-config-selinux/system-config-selinux.glade", domain=PROGNAME)
++
++class childWindow:
++    def __init__(self):
++        self.tabs=[]
++        self.xml = xml
++        xml.signal_connect("on_quit_activate", self.destroy)
++        xml.signal_connect("on_delete_clicked", self.delete)
++        xml.signal_connect("on_add_clicked", self.add)
++        xml.signal_connect("on_properties_clicked", self.properties)
++        xml.signal_connect("on_local_clicked", self.on_local_clicked)
++        self.add_page(statusPage.statusPage(xml))
++        if selinux.is_selinux_enabled() > 0:
++            try:
++                self.add_page(booleansPage.booleansPage(xml))
++                self.add_page(fcontextPage.fcontextPage(xml))
++                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.error(e.message)
++
++        xml.signal_connect("on_quit_activate", self.destroy)
++        xml.signal_connect("on_policy_activate", self.policy)
++        xml.signal_connect("on_logging_activate", self.logging)
++        xml.signal_connect("on_about_activate", self.on_about_activate)
++
++        self.add_menu = xml.get_widget("add_menu_item")
++        self.properties_menu = xml.get_widget("properties_menu_item")
++        self.delete_menu = xml.get_widget("delete_menu_item")
++
++    def error(self, message):
++        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
++                                gtk.BUTTONS_CLOSE,
++                                message)
++        dlg.set_position(gtk.WIN_POS_MOUSE)
++        dlg.show_all()
++        dlg.run()
++        dlg.destroy()
++
++    def add_page(self, page):
++        self.tabs.append(page)
++        
++    def policy(self, args):
++        os.spawnl(os.P_NOWAIT, "/usr/share/system-config-selinux/semanagegui.py")
++    def logging(self, args):
++        os.spawnl(os.P_NOWAIT, "/usr/bin/seaudit")
++    
++    def delete(self, args):
++        self.tabs[self.notebook.get_current_page()].deleteDialog()
++
++    def add(self, args):
++        self.tabs[self.notebook.get_current_page()].addDialog()
++
++    def properties(self, args):
++        self.tabs[self.notebook.get_current_page()].propertiesDialog()
++
++    def on_local_clicked(self, button):
++        self.tabs[self.notebook.get_current_page()].on_local_clicked(button)
++
++    def on_about_activate(self, args):
++        dlg = xml.get_widget ("aboutWindow")
++        dlg.run ()
++        dlg.hide ()
++
++    def destroy(self, args):
++        gtk.main_quit()
++
++    def use_menus(self, use_menus):
++        self.add_menu.set_sensitive(use_menus)
++        self.properties_menu.set_sensitive(use_menus)
++        self.delete_menu.set_sensitive(use_menus)
++
++    def itemSelected(self, selection):
++        store, rows = selection.get_selected_rows()
++        if store != None and len(rows) > 0:
++            self.notebook.set_current_page(rows[0][0])
++            self.use_menus(self.tabs[rows[0][0]].use_menus())
++        else:
++            self.notebook.set_current_page(0)
++            self.use_menus(self.tabs[0].use_menus())
++            
++
++    def setupScreen(self):
++        # Bring in widgets from glade file.
++        self.mainWindow = self.xml.get_widget("mainWindow")
++        self.notebook = self.xml.get_widget("notebook")
++        self.view = self.xml.get_widget("selectView")
++        self.view.get_selection().connect("changed", self.itemSelected)
++        self.store = gtk.ListStore(gobject.TYPE_STRING)
++        self.view.set_model(self.store)
++        col = gtk.TreeViewColumn("",  gtk.CellRendererText(), text = 0)
++        col.set_resizable(True)
++        self.view.append_column(col)
++
++        for page in self.tabs:
++            iter = self.store.append()
++            self.store.set_value(iter, 0, page.get_description())
++        self.view.get_selection().select_path ((0,))
++
++    def stand_alone(self):
++        desktopName = _("Configue SELinux")
++
++        self.setupScreen()
++
++        self.mainWindow.connect("destroy", self.destroy)
++
++        self.mainWindow.show_all()
++        gtk.main()
++
++if __name__ == "__main__":
++    signal.signal (signal.SIGINT, signal.SIG_DFL)
++
++    app = childWindow()
++    app.stand_alone()
+diff -up policycoreutils-2.1.8/gui/templates/boolean.py.gui policycoreutils-2.1.8/gui/templates/boolean.py
+--- policycoreutils-2.1.8/gui/templates/boolean.py.gui 2011-11-07 15:12:01.915834239 -0500
++++ policycoreutils-2.1.8/gui/templates/boolean.py     2011-11-07 15:12:01.916834240 -0500
+@@ -0,0 +1,40 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### boolean Template File ###########################
++
++te_boolean="""
++## <desc>
++##    <p>
++##    DESCRIPTION
++##    </p>
++## </desc>
++gen_tunable(BOOLEAN, false)
++"""
++
++te_rules="""
++tunable_policy(`BOOLEAN',`
++#TRUE
++',`
++#FALSE
++')
++"""
++
+diff -up policycoreutils-2.1.8/gui/templates/etc_rw.py.gui policycoreutils-2.1.8/gui/templates/etc_rw.py
+--- policycoreutils-2.1.8/gui/templates/etc_rw.py.gui  2011-11-07 15:12:01.916834240 -0500
++++ policycoreutils-2.1.8/gui/templates/etc_rw.py      2011-11-07 15:12:01.916834240 -0500
+@@ -0,0 +1,112 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### etc_rw Template File #############################
++
++########################### Type Enforcement File #############################
++te_types="""
++type TEMPLATETYPE_etc_rw_t;
++files_type(TEMPLATETYPE_etc_rw_t)
++"""
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_etc_rw_t, TEMPLATETYPE_etc_rw_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_etc_rw_t, TEMPLATETYPE_etc_rw_t)
++files_etc_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_etc_rw_t, { dir file })
++"""
++
++########################### Interface File #############################
++if_rules="""
++########################################
++## <summary>
++##    Search TEMPLATETYPE conf directories.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_search_conf',`
++      gen_require(`
++              type TEMPLATETYPE_etc_rw_t;
++      ')
++
++      allow $1 TEMPLATETYPE_etc_rw_t:dir search_dir_perms;
++      files_search_etc($1)
++')
++
++########################################
++## <summary>
++##    Read TEMPLATETYPE conf files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_read_conf_files',`
++      gen_require(`
++              type TEMPLATETYPE_etc_rw_t;
++      ')
++
++      allow $1 TEMPLATETYPE_etc_rw_t:file read_file_perms;
++      allow $1 TEMPLATETYPE_etc_rw_t:dir list_dir_perms;
++      files_search_etc($1)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE conf files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_conf_files',`
++      gen_require(`
++              type TEMPLATETYPE_etc_rw_t;
++      ')
++
++      manage_files_pattern($1, TEMPLATETYPE_etc_rw_t, TEMPLATETYPE_etc_rw_t)
++      files_search_etc($1)
++')
++
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_etc_rw_t;"""
++
++if_admin_rules="""
++      files_search_etc($1)
++      admin_pattern($1, TEMPLATETYPE_etc_rw_t)
++"""
++
++########################### File Context ##################################
++fc_file="""\
++FILENAME              --      gen_context(system_u:object_r:TEMPLATETYPE_etc_rw_t,s0)
++"""
++
++fc_dir="""\
++FILENAME(/.*)?                gen_context(system_u:object_r:TEMPLATETYPE_etc_rw_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/executable.py.gui policycoreutils-2.1.8/gui/templates/executable.py
+--- policycoreutils-2.1.8/gui/templates/executable.py.gui      2011-11-07 15:12:01.916834240 -0500
++++ policycoreutils-2.1.8/gui/templates/executable.py  2011-11-07 15:12:01.917834240 -0500
+@@ -0,0 +1,451 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### Type Enforcement File #############################
++te_daemon_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++type TEMPLATETYPE_t;
++type TEMPLATETYPE_exec_t;
++init_daemon_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t)
++
++permissive TEMPLATETYPE_t;
++"""
++
++te_initscript_types="""
++type TEMPLATETYPE_initrc_exec_t;
++init_script_file(TEMPLATETYPE_initrc_exec_t)
++"""
++
++te_dbusd_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++type TEMPLATETYPE_t;
++type TEMPLATETYPE_exec_t;
++dbus_system_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t)
++
++permissive TEMPLATETYPE_t;
++"""
++
++te_inetd_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++type TEMPLATETYPE_t;
++type TEMPLATETYPE_exec_t;
++inetd_service_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t)
++
++permissive TEMPLATETYPE_t;
++"""
++
++te_userapp_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++type TEMPLATETYPE_t;
++type TEMPLATETYPE_exec_t;
++application_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t)
++role system_r types TEMPLATETYPE_t;
++
++permissive TEMPLATETYPE_t;
++"""
++
++te_sandbox_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++sandbox_x_domain_template(TEMPLATETYPE)
++
++permissive TEMPLATETYPE_t;
++permissive TEMPLATETYPE_client_t;
++
++"""
++
++te_cgi_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++apache_content_template(TEMPLATETYPE)
++
++permissive httpd_TEMPLATETYPE_script_t;
++"""
++
++te_daemon_rules="""
++allow TEMPLATETYPE_t self:fifo_file rw_fifo_file_perms;
++allow TEMPLATETYPE_t self:unix_stream_socket create_stream_socket_perms;
++"""
++
++te_inetd_rules="""
++"""
++
++te_dbusd_rules="""
++"""
++
++te_userapp_rules="""
++allow TEMPLATETYPE_t self:fifo_file manage_fifo_file_perms;
++allow TEMPLATETYPE_t self:unix_stream_socket create_stream_socket_perms;
++"""
++
++te_cgi_rules="""
++"""
++
++te_sandbox_rules="""
++"""
++
++te_uid_rules="""
++auth_use_nsswitch(TEMPLATETYPE_t)
++"""
++
++te_syslog_rules="""
++logging_send_syslog_msg(TEMPLATETYPE_t)
++"""
++
++te_resolve_rules="""
++sysnet_dns_name_resolve(TEMPLATETYPE_t)
++"""
++
++te_pam_rules="""
++auth_domtrans_chk_passwd(TEMPLATETYPE_t)
++"""
++
++te_mail_rules="""
++mta_send_mail(TEMPLATETYPE_t)
++"""
++
++te_dbus_rules="""
++optional_policy(`
++      dbus_system_bus_client(TEMPLATETYPE_t)
++      dbus_connect_system_bus(TEMPLATETYPE_t)
++')
++"""
++
++te_kerberos_rules="""
++optional_policy(`
++      kerberos_use(TEMPLATETYPE_t)
++')
++"""
++
++te_manage_krb5_rcache_rules="""
++optional_policy(`
++      kerberos_keytab_template(TEMPLATETYPE, TEMPLATETYPE_t)
++      kerberos_manage_host_rcache(TEMPLATETYPE_t)
++')
++"""
++
++te_audit_rules="""
++logging_send_audit_msgs(TEMPLATETYPE_t)
++"""
++
++te_run_rules="""
++optional_policy(`
++      gen_require(`
++              type USER_t;
++              role USER_r;
++      ')
++
++      TEMPLATETYPE_run(USER_t, USER_r)
++')
++"""
++
++te_fd_rules="""
++domain_use_interactive_fds(TEMPLATETYPE_t)
++"""
++
++te_etc_rules="""
++files_read_etc_files(TEMPLATETYPE_t)
++"""
++
++te_localization_rules="""
++miscfiles_read_localization(TEMPLATETYPE_t)
++"""
++
++########################### Interface File #############################
++
++if_heading_rules="""
++## <summary>policy for TEMPLATETYPE</summary>
++"""
++
++if_program_rules="""
++
++########################################
++## <summary>
++##    Transition to TEMPLATETYPE.
++## </summary>
++## <param name=\"domain\">
++## <summary>
++##    Domain allowed to transition.
++## </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_domtrans',`
++      gen_require(`
++              type TEMPLATETYPE_t, TEMPLATETYPE_exec_t;
++      ')
++
++      corecmd_search_bin($1)
++      domtrans_pattern($1, TEMPLATETYPE_exec_t, TEMPLATETYPE_t)
++')
++
++"""
++
++if_user_program_rules="""
++########################################
++## <summary>
++##    Execute TEMPLATETYPE in the TEMPLATETYPE domain, and
++##    allow the specified role the TEMPLATETYPE domain.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed to transition
++##    </summary>
++## </param>
++## <param name="role">
++##    <summary>
++##    The role to be allowed the TEMPLATETYPE domain.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_run',`
++      gen_require(`
++              type TEMPLATETYPE_t;
++      ')
++
++      TEMPLATETYPE_domtrans($1)
++      role $2 types TEMPLATETYPE_t;
++')
++
++########################################
++## <summary>
++##    Role access for TEMPLATETYPE
++## </summary>
++## <param name="role">
++##    <summary>
++##    Role allowed access
++##    </summary>
++## </param>
++## <param name="domain">
++##    <summary>
++##    User domain for the role
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_role',`
++      gen_require(`
++              type TEMPLATETYPE_t;
++      ')
++
++      role $1 types TEMPLATETYPE_t;
++
++      TEMPLATETYPE_domtrans($2)
++
++      ps_process_pattern($2, TEMPLATETYPE_t)
++      allow $2 TEMPLATETYPE_t:process signal;
++')
++
++"""
++
++if_sandbox_rules="""
++########################################
++## <summary>
++##    Execute sandbox in the TEMPLATETYPE_t domain, and
++##    allow the specified role the TEMPLATETYPE_t domain.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed to transition.
++##    </summary>
++## </param>
++## <param name="role">
++##    <summary>
++##    The role to be allowed the TEMPLATETYPE_t domain.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_transition',`
++      gen_require(`
++              type TEMPLATETYPE_t;
++              type TEMPLATETYPE_client_t;
++      ')
++
++      allow $1 TEMPLATETYPE_t:process { signal_perms transition };
++      dontaudit $1 TEMPLATETYPE_t:process { noatsecure siginh rlimitinh };
++      role $2 types TEMPLATETYPE_t;
++      role $2 types TEMPLATETYPE_client_t;
++
++      allow TEMPLATETYPE_t $1:process { sigchld signull };
++      allow TEMPLATETYPE_t $1:fifo_file rw_inherited_fifo_file_perms;
++      allow TEMPLATETYPE_client_t $1:process { sigchld signull };
++      allow TEMPLATETYPE_client_t $1:fifo_file rw_inherited_fifo_file_perms;
++')
++
++"""
++
++if_role_change_rules="""
++########################################
++## <summary>
++##    Change to the TEMPLATETYPE role.
++## </summary>
++## <param name="role">
++##    <summary>
++##    Role allowed access.
++##    </summary>
++## </param>
++## <rolecap/>
++#
++interface(`TEMPLATETYPE_role_change',`
++      gen_require(`
++              role TEMPLATETYPE_r;
++      ')
++
++      allow $1 TEMPLATETYPE_r;
++')
++
++"""
++
++if_initscript_rules="""
++########################################
++## <summary>
++##    Execute TEMPLATETYPE server in the TEMPLATETYPE domain.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_initrc_domtrans',`
++      gen_require(`
++              type TEMPLATETYPE_initrc_exec_t;
++      ')
++
++      init_labeled_script_domtrans($1, TEMPLATETYPE_initrc_exec_t)
++')
++
++"""
++
++if_dbus_rules="""
++########################################
++## <summary>
++##    Send and receive messages from
++##    TEMPLATETYPE over dbus.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_dbus_chat',`
++      gen_require(`
++              type TEMPLATETYPE_t;
++              class dbus send_msg;
++      ')
++
++      allow $1 TEMPLATETYPE_t:dbus send_msg;
++      allow TEMPLATETYPE_t $1:dbus send_msg;
++')
++
++"""
++
++if_begin_admin="""
++########################################
++## <summary>
++##    All of the rules required to administrate
++##    an TEMPLATETYPE environment
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++## <param name="role">
++##    <summary>
++##    Role allowed access.
++##    </summary>
++## </param>
++## <rolecap/>
++#
++interface(`TEMPLATETYPE_admin',`
++      gen_require(`
++              type TEMPLATETYPE_t;"""
++
++if_middle_admin="""
++      ')
++
++      allow $1 TEMPLATETYPE_t:process { ptrace signal_perms };
++      ps_process_pattern($1, TEMPLATETYPE_t)
++"""
++
++if_initscript_admin_types="""
++      type TEMPLATETYPE_initrc_exec_t;"""
++
++if_initscript_admin="""
++      TEMPLATETYPE_initrc_domtrans($1)
++      domain_system_change_exemption($1)
++      role_transition $2 TEMPLATETYPE_initrc_exec_t system_r;
++      allow $2 system_r;
++"""
++
++if_end_admin="""
++')
++
++"""
++
++########################### File Context ##################################
++fc_program="""\
++
++EXECUTABLE            --      gen_context(system_u:object_r:TEMPLATETYPE_exec_t,s0)
++"""
++
++fc_user="""\
++# Users do not have file context, leave blank
++"""
++
++fc_initscript="""\
++
++EXECUTABLE    --      gen_context(system_u:object_r:TEMPLATETYPE_initrc_exec_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/__init__.py.gui policycoreutils-2.1.8/gui/templates/__init__.py
+--- policycoreutils-2.1.8/gui/templates/__init__.py.gui        2011-11-07 15:12:01.917834240 -0500
++++ policycoreutils-2.1.8/gui/templates/__init__.py    2011-11-07 15:12:01.917834240 -0500
+@@ -0,0 +1,18 @@
++#
++# Copyright (C) 2007-2011 Red Hat
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++
+diff -up policycoreutils-2.1.8/gui/templates/network.py.gui policycoreutils-2.1.8/gui/templates/network.py
+--- policycoreutils-2.1.8/gui/templates/network.py.gui 2011-11-07 15:12:01.917834240 -0500
++++ policycoreutils-2.1.8/gui/templates/network.py     2011-11-07 15:12:01.918834240 -0500
+@@ -0,0 +1,102 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### Type Enforcement File #############################
++te_port_types="""
++type TEMPLATETYPE_port_t;
++corenet_port(TEMPLATETYPE_port_t)
++"""
++
++te_network="""\
++sysnet_dns_name_resolve(TEMPLATETYPE_t)
++corenet_all_recvfrom_unlabeled(TEMPLATETYPE_t)
++"""
++
++te_tcp="""\
++allow TEMPLATETYPE_t self:tcp_socket create_stream_socket_perms;
++corenet_tcp_sendrecv_generic_if(TEMPLATETYPE_t)
++corenet_tcp_sendrecv_generic_node(TEMPLATETYPE_t)
++corenet_tcp_sendrecv_all_ports(TEMPLATETYPE_t)
++"""
++
++te_in_tcp="""\
++corenet_tcp_bind_generic_node(TEMPLATETYPE_t)
++"""
++
++te_in_need_port_tcp="""\
++allow TEMPLATETYPE_t TEMPLATETYPE_port_t:tcp_socket name_bind;
++"""
++
++te_out_need_port_tcp="""\
++allow TEMPLATETYPE_t TEMPLATETYPE_port_t:tcp_socket name_connect;
++"""
++
++te_udp="""\
++allow TEMPLATETYPE_t self:udp_socket { create_socket_perms listen };
++corenet_udp_sendrecv_generic_if(TEMPLATETYPE_t)
++corenet_udp_sendrecv_generic_node(TEMPLATETYPE_t)
++corenet_udp_sendrecv_all_ports(TEMPLATETYPE_t)
++"""
++
++te_in_udp="""\
++corenet_udp_bind_generic_node(TEMPLATETYPE_t)
++"""
++
++te_in_need_port_udp="""\
++allow TEMPLATETYPE_t TEMPLATETYPE_port_t:udp_socket name_bind;
++"""
++
++te_out_all_ports_tcp="""\
++corenet_tcp_connect_all_ports(TEMPLATETYPE_t)
++"""
++
++te_out_reserved_ports_tcp="""\
++corenet_tcp_connect_all_rpc_ports(TEMPLATETYPE_t)
++"""
++
++te_out_unreserved_ports_tcp="""\
++corenet_tcp_connect_all_unreserved_ports(TEMPLATETYPE_t)
++"""
++
++te_in_all_ports_tcp="""\
++corenet_tcp_bind_all_ports(TEMPLATETYPE_t)
++"""
++
++te_in_reserved_ports_tcp="""\
++corenet_tcp_bind_all_rpc_ports(TEMPLATETYPE_t)
++"""
++
++te_in_unreserved_ports_tcp="""\
++corenet_tcp_bind_all_unreserved_ports(TEMPLATETYPE_t)
++"""
++
++te_in_all_ports_udp="""\
++corenet_udp_bind_all_ports(TEMPLATETYPE_t)
++"""
++
++te_in_reserved_ports_udp="""\
++corenet_udp_bind_all_rpc_ports(TEMPLATETYPE_t)
++"""
++
++te_in_unreserved_ports_udp="""\
++corenet_udp_bind_all_unreserved_ports(TEMPLATETYPE_t)
++"""
++
+diff -up policycoreutils-2.1.8/gui/templates/rw.py.gui policycoreutils-2.1.8/gui/templates/rw.py
+--- policycoreutils-2.1.8/gui/templates/rw.py.gui      2011-11-07 15:12:01.918834240 -0500
++++ policycoreutils-2.1.8/gui/templates/rw.py  2011-11-07 15:12:01.918834240 -0500
+@@ -0,0 +1,129 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++
++########################### tmp Template File #############################
++te_types="""
++type TEMPLATETYPE_rw_t;
++files_type(TEMPLATETYPE_rw_t)
++"""
++
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_rw_t, TEMPLATETYPE_rw_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_rw_t, TEMPLATETYPE_rw_t)
++"""
++
++########################### Interface File #############################
++if_rules="""
++########################################
++## <summary>
++##    Search TEMPLATETYPE rw directories.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_search_rw_dir',`
++      gen_require(`
++              type TEMPLATETYPE_rw_t;
++      ')
++
++      allow $1 TEMPLATETYPE_rw_t:dir search_dir_perms;
++      files_search_rw($1)
++')
++
++########################################
++## <summary>
++##    Read TEMPLATETYPE rw files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_read_rw_files',`
++      gen_require(`
++              type TEMPLATETYPE_rw_t;
++      ')
++
++      allow $1 TEMPLATETYPE_rw_t:file read_file_perms;
++      allow $1 TEMPLATETYPE_rw_t:dir list_dir_perms;
++      files_search_rw($1)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE rw files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_rw_files',`
++      gen_require(`
++              type TEMPLATETYPE_rw_t;
++      ')
++
++      manage_files_pattern($1, TEMPLATETYPE_rw_t, TEMPLATETYPE_rw_t)
++')
++
++########################################
++## <summary>
++##    Create, read, write, and delete
++##    TEMPLATETYPE rw dirs.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_rw_dirs',`
++      gen_require(`
++              type TEMPLATETYPE_rw_t;
++      ')
++
++      manage_dirs_pattern($1, TEMPLATETYPE_rw_t, TEMPLATETYPE_rw_t)
++')
++
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_rw_t;"""
++
++if_admin_rules="""
++      files_search_etc($1)
++      admin_pattern($1, TEMPLATETYPE_rw_t)
++"""
++
++########################### File Context ##################################
++fc_file="""
++FILENAME              --      gen_context(system_u:object_r:TEMPLATETYPE_rw_t,s0)
++"""
++
++fc_dir="""
++FILENAME(/.*)?                gen_context(system_u:object_r:TEMPLATETYPE_rw_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/script.py.gui policycoreutils-2.1.8/gui/templates/script.py
+--- policycoreutils-2.1.8/gui/templates/script.py.gui  2011-11-07 15:12:01.918834240 -0500
++++ policycoreutils-2.1.8/gui/templates/script.py      2011-11-07 15:12:01.919834241 -0500
+@@ -0,0 +1,126 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++
++########################### tmp Template File #############################
++compile="""\
++#!/bin/sh -e
++
++DIRNAME=`dirname $0`
++cd $DIRNAME
++USAGE="$0 [ --update ]"
++if [ `id -u` != 0 ]; then
++echo 'You must be root to run this script'
++exit 1
++fi
++
++if [ $# -eq 1 ]; then
++      if [ "$1" = "--update" ] ; then
++              time=`ls -l --time-style="+%x %X" TEMPLATEFILE.te | awk '{ printf "%s %s", $6, $7 }'`
++              rules=`ausearch --start $time -m avc --raw -se TEMPLATETYPE`
++              if [ x"$rules" != "x" ] ; then
++                      echo "Found avc's to update policy with"
++                      echo -e "$rules" | audit2allow -R
++                      echo "Do you want these changes added to policy [y/n]?"
++                      read ANS
++                      if [ "$ANS" = "y" -o "$ANS" = "Y" ] ; then
++                              echo "Updating policy"
++                              echo -e "$rules" | audit2allow -R >> TEMPLATEFILE.te
++                              # Fall though and rebuild policy
++                      else
++                              exit 0
++                      fi
++              else
++                      echo "No new avcs found"
++                      exit 0
++              fi
++      else
++              echo -e $USAGE
++              exit 1
++      fi
++elif [ $# -ge 2 ] ; then
++      echo -e $USAGE
++      exit 1
++fi
++
++echo "Building and Loading Policy"
++set -x
++make -f /usr/share/selinux/devel/Makefile || exit
++/usr/sbin/semodule -i TEMPLATEFILE.pp
++
++"""
++
++restorecon="""\
++# Fixing the file context on FILENAME
++/sbin/restorecon -F -R -v FILENAME
++"""
++
++tcp_ports="""\
++# Adding SELinux tcp port to port PORTNUM
++/usr/sbin/semanage port -a -t TEMPLATETYPE_port_t -p tcp PORTNUM
++"""
++
++udp_ports="""\
++# Adding SELinux udp port to port PORTNUM
++/usr/sbin/semanage port -a -t TEMPLATETYPE_port_t -p udp PORTNUM
++"""
++
++users="""\
++# Adding SELinux user TEMPLATETYPE_u
++/usr/sbin/semanage user -a -R "TEMPLATETYPE_rROLES" TEMPLATETYPE_u
++"""
++
++eusers="""\
++# Adding roles to SELinux user TEMPLATETYPE_u
++/usr/sbin/semanage user -m -R "TEMPLATETYPE_rROLES" TEMPLATETYPE_u
++"""
++
++admin_trans="""\
++# Adding roles to SELinux user USER
++/usr/sbin/semanage user -m -R +TEMPLATETYPE_r USER
++"""
++
++min_login_user_default_context="""\
++if [ ! -f /etc/selinux/targeted/contexts/users/TEMPLATETYPE_u ]; then
++cat > /etc/selinux/targeted/contexts/users/TEMPLATETYPE_u << _EOF
++TEMPLATETYPE_r:TEMPLATETYPE_t:s0      TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:crond_t              TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:initrc_su_t          TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:local_login_t                TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:remote_login_t               TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:sshd_t                       TEMPLATETYPE_r:TEMPLATETYPE_t
++_EOF
++fi
++"""
++
++x_login_user_default_context="""\
++if [ ! -f /etc/selinux/targeted/contexts/users/TEMPLATETYPE_u ]; then
++cat > /etc/selinux/targeted/contexts/users/TEMPLATETYPE_u << _EOF
++TEMPLATETYPE_r:TEMPLATETYPE_t TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:crond_t              TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:initrc_su_t          TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:local_login_t                TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:remote_login_t               TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:sshd_t                               TEMPLATETYPE_r:TEMPLATETYPE_t
++system_r:xdm_t                                TEMPLATETYPE_r:TEMPLATETYPE_t
++_EOF
++fi
++"""
+diff -up policycoreutils-2.1.8/gui/templates/semodule.py.gui policycoreutils-2.1.8/gui/templates/semodule.py
+--- policycoreutils-2.1.8/gui/templates/semodule.py.gui        2011-11-07 15:12:01.919834241 -0500
++++ policycoreutils-2.1.8/gui/templates/semodule.py    2011-11-07 15:12:01.919834241 -0500
+@@ -0,0 +1,41 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     
++#                                        02111-1307  USA
++#
++#  
++
++########################### tmp Template File #############################
++compile="""
++#!/bin/sh
++make -f /usr/share/selinux/devel/Makefile
++semodule -i TEMPLATETYPE.pp
++"""
++
++restorecon="""
++restorecon -R -v FILENAME
++"""
++
++tcp_ports="""
++semanage ports -a -t TEMPLATETYPE_port_t -p tcp PORTNUM
++"""
++
++udp_ports="""
++semanage ports -a -t TEMPLATETYPE_port_t -p udp PORTNUM
++"""
++
+diff -up policycoreutils-2.1.8/gui/templates/tmp.py.gui policycoreutils-2.1.8/gui/templates/tmp.py
+--- policycoreutils-2.1.8/gui/templates/tmp.py.gui     2011-11-07 15:12:01.919834241 -0500
++++ policycoreutils-2.1.8/gui/templates/tmp.py 2011-11-07 15:12:01.920834242 -0500
+@@ -0,0 +1,102 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### tmp Template File #############################
++
++te_types="""
++type TEMPLATETYPE_tmp_t;
++files_tmp_file(TEMPLATETYPE_tmp_t)
++"""
++
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_tmp_t, TEMPLATETYPE_tmp_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_tmp_t, TEMPLATETYPE_tmp_t)
++files_tmp_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_tmp_t, { dir file })
++"""
++
++if_rules="""
++########################################
++## <summary>
++##    Do not audit attempts to read,
++##    TEMPLATETYPE tmp files
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain to not audit.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_dontaudit_read_tmp_files',`
++      gen_require(`
++              type TEMPLATETYPE_tmp_t;
++      ')
++
++      dontaudit $1 TEMPLATETYPE_tmp_t:file read_file_perms;
++')
++
++########################################
++## <summary>
++##    Read TEMPLATETYPE tmp files
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_read_tmp_files',`
++      gen_require(`
++              type TEMPLATETYPE_tmp_t;
++      ')
++
++      files_search_tmp($1)
++      allow $1 TEMPLATETYPE_tmp_t:file read_file_perms;
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE tmp files
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_tmp',`
++      gen_require(`
++              type TEMPLATETYPE_tmp_t;
++      ')
++
++      files_search_tmp($1)
++      manage_dirs_pattern($1, TEMPLATETYPE_tmp_t, TEMPLATETYPE_tmp_t)
++      manage_files_pattern($1, TEMPLATETYPE_tmp_t, TEMPLATETYPE_tmp_t)
++      manage_lnk_files_pattern($1, TEMPLATETYPE_tmp_t, TEMPLATETYPE_tmp_t)
++')
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_tmp_t;"""
++
++if_admin_rules="""
++      files_search_tmp($1)
++      admin_pattern($1, TEMPLATETYPE_tmp_t)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/user.py.gui policycoreutils-2.1.8/gui/templates/user.py
+--- policycoreutils-2.1.8/gui/templates/user.py.gui    2011-11-07 15:12:01.920834242 -0500
++++ policycoreutils-2.1.8/gui/templates/user.py        2011-11-07 15:12:01.920834242 -0500
+@@ -0,0 +1,204 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### Type Enforcement File #############################
++
++te_login_user_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++userdom_unpriv_user_template(TEMPLATETYPE)
++"""
++
++te_admin_user_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++userdom_admin_user_template(TEMPLATETYPE)
++"""
++
++te_min_login_user_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++userdom_restricted_user_template(TEMPLATETYPE)
++"""
++
++te_x_login_user_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++userdom_restricted_xwindows_user_template(TEMPLATETYPE)
++"""
++
++te_existing_user_types="""\
++policy_module(myTEMPLATETYPE, 1.0.0)
++
++gen_require(`
++      type TEMPLATETYPE_t, TEMPLATETYPE_devpts_t;
++      role TEMPLATETYPE_r;
++')
++
++"""
++
++te_root_user_types="""\
++policy_module(TEMPLATETYPE, 1.0.0)
++
++########################################
++#
++# Declarations
++#
++
++userdom_base_user_template(TEMPLATETYPE)
++"""
++
++te_login_user_rules="""\
++
++########################################
++#
++# TEMPLATETYPE local policy
++#
++
++"""
++
++te_existing_user_rules="""\
++
++########################################
++#
++# TEMPLATETYPE customized policy
++#
++
++"""
++
++te_x_login_user_rules="""\
++
++########################################
++#
++# TEMPLATETYPE local policy
++#
++"""
++
++te_root_user_rules="""\
++
++########################################
++#
++# TEMPLATETYPE local policy
++#
++"""
++
++te_transition_rules="""
++optional_policy(`
++      APPLICATION_role(TEMPLATETYPE_r, TEMPLATETYPE_t)
++')
++"""
++
++te_user_trans_rules="""
++optional_policy(`
++      gen_require(`
++              role USER_r;
++      ')
++
++      TEMPLATETYPE_role_change(USER_r)
++')
++"""
++
++te_admin_rules="""
++allow TEMPLATETYPE_t self:capability { dac_override dac_read_search kill sys_ptrace sys_nice };
++files_dontaudit_search_all_dirs(TEMPLATETYPE_t)
++
++selinux_get_enforce_mode(TEMPLATETYPE_t)
++seutil_domtrans_setfiles(TEMPLATETYPE_t)
++seutil_search_default_contexts(TEMPLATETYPE_t)
++
++logging_send_syslog_msg(TEMPLATETYPE_t)
++
++kernel_read_system_state(TEMPLATETYPE_t)
++
++domain_dontaudit_search_all_domains_state(TEMPLATETYPE_t)
++domain_dontaudit_ptrace_all_domains(TEMPLATETYPE_t)
++
++userdom_dontaudit_search_admin_dir(TEMPLATETYPE_t)
++userdom_dontaudit_search_user_home_dirs(TEMPLATETYPE_t)
++
++bool TEMPLATETYPE_read_user_files false;
++bool TEMPLATETYPE_manage_user_files false;
++
++if (TEMPLATETYPE_read_user_files) {
++      userdom_read_user_home_content_files(TEMPLATETYPE_t)
++      userdom_read_user_tmp_files(TEMPLATETYPE_t)
++}
++
++if (TEMPLATETYPE_manage_user_files) {
++      userdom_manage_user_home_content(TEMPLATETYPE_t)
++      userdom_manage_user_tmp_files(TEMPLATETYPE_t)
++}
++
++"""
++
++te_admin_trans_rules="""
++gen_require(`
++      role USER_r;
++')
++
++allow USER_r TEMPLATETYPE_r;
++"""
++
++te_admin_domain_rules="""
++optional_policy(`
++      APPLICATION_admin(TEMPLATETYPE_t, TEMPLATETYPE_r)
++')
++"""
++
++te_roles_rules="""
++optional_policy(`
++      gen_require(`
++              role ROLE_r;
++      ')
++
++      allow TEMPLATETYPE_r ROLE_r;
++')
++"""
++
++te_sudo_rules="""
++optional_policy(`
++      sudo_role_template(TEMPLATETYPE, TEMPLATETYPE_r, TEMPLATETYPE_t)
++')
++"""
++
++te_newrole_rules="""
++seutil_run_newrole(TEMPLATETYPE_t, TEMPLATETYPE_r)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/var_cache.py.gui policycoreutils-2.1.8/gui/templates/var_cache.py
+--- policycoreutils-2.1.8/gui/templates/var_cache.py.gui       2011-11-07 15:12:01.920834242 -0500
++++ policycoreutils-2.1.8/gui/templates/var_cache.py   2011-11-07 15:12:01.921834243 -0500
+@@ -0,0 +1,132 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### cache Template File #############################
++
++########################### Type Enforcement File #############################
++te_types="""
++type TEMPLATETYPE_cache_t;
++files_type(TEMPLATETYPE_cache_t)
++"""
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_cache_t, TEMPLATETYPE_cache_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_cache_t, TEMPLATETYPE_cache_t)
++manage_lnk_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_cache_t, TEMPLATETYPE_cache_t)
++files_var_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_cache_t, { dir file })
++"""
++
++########################### Interface File #############################
++if_rules="""
++########################################
++## <summary>
++##    Search TEMPLATETYPE cache directories.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_search_cache',`
++      gen_require(`
++              type TEMPLATETYPE_cache_t;
++      ')
++
++      allow $1 TEMPLATETYPE_cache_t:dir search_dir_perms;
++      files_search_var($1)
++')
++
++########################################
++## <summary>
++##    Read TEMPLATETYPE cache files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_read_cache_files',`
++      gen_require(`
++              type TEMPLATETYPE_cache_t;
++      ')
++
++      files_search_var($1)
++      read_files_pattern($1, TEMPLATETYPE_cache_t TEMPLATETYPE_cache_t)
++')
++
++########################################
++## <summary>
++##    Create, read, write, and delete
++##    TEMPLATETYPE cache files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_cache_files',`
++      gen_require(`
++              type TEMPLATETYPE_cache_t;
++      ')
++
++      files_search_var($1)
++      manage_files_pattern($1, TEMPLATETYPE_cache_t, TEMPLATETYPE_cache_t)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE cache dirs.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_cache_dirs',`
++      gen_require(`
++              type TEMPLATETYPE_cache_t;
++      ')
++
++      files_search_var($1)
++      manage_dirs_pattern($1, TEMPLATETYPE_cache_t, TEMPLATETYPE_cache_t)
++')
++
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_cache_t;"""
++
++if_admin_rules="""
++      files_search_var($1)
++      admin_pattern($1, TEMPLATETYPE_cache_t)
++"""
++
++########################### File Context ##################################
++fc_file="""\
++FILENAME              --      gen_context(system_u:object_r:TEMPLATETYPE_cache_t,s0)
++"""
++
++fc_dir="""\
++FILENAME(/.*)?                gen_context(system_u:object_r:TEMPLATETYPE_cache_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/var_lib.py.gui policycoreutils-2.1.8/gui/templates/var_lib.py
+--- policycoreutils-2.1.8/gui/templates/var_lib.py.gui 2011-11-07 15:12:01.921834243 -0500
++++ policycoreutils-2.1.8/gui/templates/var_lib.py     2011-11-07 15:12:01.921834243 -0500
+@@ -0,0 +1,160 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### var_lib Template File #############################
++
++########################### Type Enforcement File #############################
++te_types="""
++type TEMPLATETYPE_var_lib_t;
++files_type(TEMPLATETYPE_var_lib_t)
++"""
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_var_lib_t, TEMPLATETYPE_var_lib_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_var_lib_t, TEMPLATETYPE_var_lib_t)
++files_var_lib_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_var_lib_t, { dir file })
++"""
++
++te_stream_rules="""\
++allow TEMPLATETYPE_t TEMPLATETYPE_var_lib_t:sock_file manage_sock_file_perms;
++files_var_lib_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_var_lib_t, sock_file)
++"""
++
++
++########################### Interface File #############################
++if_rules="""
++########################################
++## <summary>
++##    Search TEMPLATETYPE lib directories.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_search_lib',`
++      gen_require(`
++              type TEMPLATETYPE_var_lib_t;
++      ')
++
++      allow $1 TEMPLATETYPE_var_lib_t:dir search_dir_perms;
++      files_search_var_lib($1)
++')
++
++########################################
++## <summary>
++##    Read TEMPLATETYPE lib files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_read_lib_files',`
++      gen_require(`
++              type TEMPLATETYPE_var_lib_t;
++      ')
++
++      files_search_var_lib($1)
++      read_files_pattern($1, TEMPLATETYPE_var_lib_t, TEMPLATETYPE_var_lib_t)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE lib files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_lib_files',`
++      gen_require(`
++              type TEMPLATETYPE_var_lib_t;
++      ')
++
++      files_search_var_lib($1)
++      manage_files_pattern($1, TEMPLATETYPE_var_lib_t, TEMPLATETYPE_var_lib_t)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE lib directories.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_lib_dirs',`
++      gen_require(`
++              type TEMPLATETYPE_var_lib_t;
++      ')
++
++      files_search_var_lib($1)
++      manage_dirs_pattern($1, TEMPLATETYPE_var_lib_t, TEMPLATETYPE_var_lib_t)
++')
++
++"""
++
++if_stream_rules="""
++########################################
++## <summary>
++##    Connect to TEMPLATETYPE over an unix stream socket.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_stream_connect',`
++      gen_require(`
++              type TEMPLATETYPE_t, TEMPLATETYPE_var_lib_t;
++      ')
++
++      stream_connect_pattern($1, TEMPLATETYPE_var_lib_t, TEMPLATETYPE_var_lib_t)
++')
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_var_lib_t;"""
++
++if_admin_rules="""
++      files_search_var_lib($1)
++      admin_pattern($1, TEMPLATETYPE_var_lib_t)
++"""
++
++########################### File Context ##################################
++fc_file="""\
++FILENAME              --      gen_context(system_u:object_r:TEMPLATETYPE_var_lib_t,s0)
++"""
++
++fc_sock_file="""\
++FILENAME              -s      gen_context(system_u:object_r:TEMPLATETYPE_var_lib_t,s0)
++"""
++
++fc_dir="""\
++FILENAME(/.*)?                gen_context(system_u:object_r:TEMPLATETYPE_var_lib_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/var_log.py.gui policycoreutils-2.1.8/gui/templates/var_log.py
+--- policycoreutils-2.1.8/gui/templates/var_log.py.gui 2011-11-07 15:12:01.921834243 -0500
++++ policycoreutils-2.1.8/gui/templates/var_log.py     2011-11-07 15:12:01.922834244 -0500
+@@ -0,0 +1,114 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### var_log Template File #############################
++
++########################### Type Enforcement File #############################
++te_types="""
++type TEMPLATETYPE_log_t;
++logging_log_file(TEMPLATETYPE_log_t)
++"""
++
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
++logging_log_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_log_t, { dir file })
++"""
++
++########################### Interface File #############################
++if_rules="""
++########################################
++## <summary>
++##    Read TEMPLATETYPE's log files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++## <rolecap/>
++#
++interface(`TEMPLATETYPE_read_log',`
++      gen_require(`
++              type TEMPLATETYPE_log_t;
++      ')
++
++      logging_search_logs($1)
++      read_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
++')
++
++########################################
++## <summary>
++##    Append to TEMPLATETYPE log files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_append_log',`
++      gen_require(`
++              type TEMPLATETYPE_log_t;
++      ')
++
++      logging_search_logs($1)
++      append_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE log files
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_log',`
++      gen_require(`
++              type TEMPLATETYPE_log_t;
++      ')
++
++      logging_search_logs($1)
++      manage_dirs_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
++      manage_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
++      manage_lnk_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
++')
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_log_t;"""
++
++if_admin_rules="""
++      logging_search_logs($1)
++      admin_pattern($1, TEMPLATETYPE_log_t)
++"""
++
++########################### File Context ##################################
++fc_file="""\
++FILENAME              --      gen_context(system_u:object_r:TEMPLATETYPE_log_t,s0)
++"""
++
++fc_dir="""\
++FILENAME(/.*)?                gen_context(system_u:object_r:TEMPLATETYPE_log_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/var_run.py.gui policycoreutils-2.1.8/gui/templates/var_run.py
+--- policycoreutils-2.1.8/gui/templates/var_run.py.gui 2011-11-07 15:12:01.922834244 -0500
++++ policycoreutils-2.1.8/gui/templates/var_run.py     2011-11-07 15:12:01.922834244 -0500
+@@ -0,0 +1,101 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### var_run Template File #############################
++
++te_types="""
++type TEMPLATETYPE_var_run_t;
++files_pid_file(TEMPLATETYPE_var_run_t)
++"""
++
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_var_run_t, TEMPLATETYPE_var_run_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_var_run_t, TEMPLATETYPE_var_run_t)
++files_pid_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_var_run_t, { dir file })
++"""
++
++te_stream_rules="""
++allow TEMPLATETYPE_t TEMPLATETYPE_var_run_t:sock_file manage_sock_file_perms;
++files_pid_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_var_run_t, sock_file)
++"""
++
++if_rules="""
++########################################
++## <summary>
++##    Read TEMPLATETYPE PID files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_read_pid_files',`
++      gen_require(`
++              type TEMPLATETYPE_var_run_t;
++      ')
++
++      files_search_pids($1)
++      allow $1 TEMPLATETYPE_var_run_t:file read_file_perms;
++')
++
++"""
++
++if_stream_rules="""\
++########################################
++## <summary>
++##    Connect to TEMPLATETYPE over an unix stream socket.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_stream_connect',`
++      gen_require(`
++              type TEMPLATETYPE_t, TEMPLATETYPE_var_run_t;
++      ')
++
++      files_search_pids($1)
++      stream_connect_pattern($1, TEMPLATETYPE_var_run_t, TEMPLATETYPE_var_run_t, TEMPLATETYPE_t)
++')
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_var_run_t;"""
++
++if_admin_rules="""
++      files_search_pids($1)
++      admin_pattern($1, TEMPLATETYPE_var_run_t)
++"""
++
++fc_file="""\
++FILENAME              --      gen_context(system_u:object_r:TEMPLATETYPE_var_run_t,s0)
++"""
++
++fc_sock_file="""\
++FILENAME              -s      gen_context(system_u:object_r:TEMPLATETYPE_var_run_t,s0)
++"""
++
++fc_dir="""\
++FILENAME(/.*)?                gen_context(system_u:object_r:TEMPLATETYPE_var_run_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/templates/var_spool.py.gui policycoreutils-2.1.8/gui/templates/var_spool.py
+--- policycoreutils-2.1.8/gui/templates/var_spool.py.gui       2011-11-07 15:12:01.922834244 -0500
++++ policycoreutils-2.1.8/gui/templates/var_spool.py   2011-11-07 15:12:01.923834245 -0500
+@@ -0,0 +1,131 @@
++# Copyright (C) 2007-2011 Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# policygentool is a tool for the initial generation of SELinux policy
++#
++#    This program is free software; you can redistribute it and/or
++#    modify it under the terms of the GNU General Public License as
++#    published by the Free Software Foundation; either version 2 of
++#    the License, or (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++#                                        02111-1307  USA
++#
++#
++########################### var_spool Template File #############################
++
++########################### Type Enforcement File #############################
++te_types="""
++type TEMPLATETYPE_spool_t;
++files_type(TEMPLATETYPE_spool_t)
++"""
++te_rules="""
++manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_spool_t, TEMPLATETYPE_spool_t)
++manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_spool_t, TEMPLATETYPE_spool_t)
++manage_lnk_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_spool_t, TEMPLATETYPE_spool_t)
++files_spool_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_spool_t, { dir file })
++"""
++
++########################### Interface File #############################
++if_rules="""
++########################################
++## <summary>
++##    Search TEMPLATETYPE spool directories.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_search_spool',`
++      gen_require(`
++              type TEMPLATETYPE_spool_t;
++      ')
++
++      allow $1 TEMPLATETYPE_spool_t:dir search_dir_perms;
++      files_search_spool($1)
++')
++
++########################################
++## <summary>
++##    Read TEMPLATETYPE spool files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_read_spool_files',`
++      gen_require(`
++              type TEMPLATETYPE_spool_t;
++      ')
++
++      files_search_spool($1)
++      read_files_pattern($1, TEMPLATETYPE_spool_t, TEMPLATETYPE_spool_t)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE spool files.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_spool_files',`
++      gen_require(`
++              type TEMPLATETYPE_spool_t;
++      ')
++
++      files_search_spool($1)
++      manage_files_pattern($1, TEMPLATETYPE_spool_t, TEMPLATETYPE_spool_t)
++')
++
++########################################
++## <summary>
++##    Manage TEMPLATETYPE spool dirs.
++## </summary>
++## <param name="domain">
++##    <summary>
++##    Domain allowed access.
++##    </summary>
++## </param>
++#
++interface(`TEMPLATETYPE_manage_spool_dirs',`
++      gen_require(`
++              type TEMPLATETYPE_spool_t;
++      ')
++
++      files_search_spool($1)
++      manage_dirs_pattern($1, TEMPLATETYPE_spool_t, TEMPLATETYPE_spool_t)
++')
++
++"""
++
++if_admin_types="""
++      type TEMPLATETYPE_spool_t;"""
++
++if_admin_rules="""
++      files_search_spool($1)
++      admin_pattern($1, TEMPLATETYPE_spool_t)
++"""
++
++########################### File Context ##################################
++fc_file="""\
++FILENAME              --      gen_context(system_u:object_r:TEMPLATETYPE_spool_t,s0)
++"""
++
++fc_dir="""\
++FILENAME(/.*)?                gen_context(system_u:object_r:TEMPLATETYPE_spool_t,s0)
++"""
+diff -up policycoreutils-2.1.8/gui/usersPage.py.gui policycoreutils-2.1.8/gui/usersPage.py
+--- policycoreutils-2.1.8/gui/usersPage.py.gui 2011-11-07 15:12:01.923834245 -0500
++++ policycoreutils-2.1.8/gui/usersPage.py     2011-11-07 15:12:01.923834245 -0500
+@@ -0,0 +1,150 @@
++## usersPage.py - show selinux mappings
++## Copyright (C) 2006,2007,2008 Red Hat, Inc.
++
++## This program is free software; you can redistribute it and/or modify
++## it under the terms of the GNU General Public License as published by
++## the Free Software Foundation; either version 2 of the License, or
++## (at your option) any later version.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License
++## along with this program; if not, write to the Free Software
++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++## Author: Dan Walsh
++import string
++import gtk
++import gtk.glade
++import os
++import gobject
++import sys
++import commands
++import seobject
++from semanagePage import *;
++
++##
++## I18N
++## 
++PROGNAME="policycoreutils"
++import gettext
++gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
++gettext.textdomain(PROGNAME)
++try:
++    gettext.install(PROGNAME, localedir="/usr/share/locale", unicode=1)
++except IOError:
++    import __builtin__
++    __builtin__.__dict__['_'] = unicode
++
++class usersPage(semanagePage):
++    def __init__(self, xml):
++        semanagePage.__init__(self, xml, "users", _("SELinux User"))
++
++        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
++        self.view.set_model(self.store)
++        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)        
++
++        col = gtk.TreeViewColumn(_("SELinux\nUser"), gtk.CellRendererText(), text = 0)
++        col.set_sort_column_id(0)
++        col.set_resizable(True)
++        self.view.append_column(col)
++
++        col = gtk.TreeViewColumn(_("MLS/\nMCS Range"), gtk.CellRendererText(), text = 1)
++        col.set_resizable(True)
++        self.view.append_column(col)
++
++        col = gtk.TreeViewColumn(_("SELinux Roles"), gtk.CellRendererText(), text = 2)
++        col.set_resizable(True)
++        self.view.append_column(col)
++
++        self.load()
++        self.selinuxUserEntry = xml.get_widget("selinuxUserEntry")
++        self.mlsRangeEntry = xml.get_widget("mlsRangeEntry")
++        self.selinuxRolesEntry = xml.get_widget("selinuxRolesEntry")
++
++    def load(self, filter = ""):
++        self.filter=filter            
++        self.user = seobject.seluserRecords()
++        dict = self.user.get_all()
++        keys = dict.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)):
++                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
++
++    def dialogInit(self):
++        store, iter = self.view.get_selection().get_selected()
++        self.selinuxUserEntry.set_text(store.get_value(iter, 0))
++        self.selinuxUserEntry.set_sensitive(False)
++        self.mlsRangeEntry.set_text(store.get_value(iter, 1))
++        self.selinuxRolesEntry.set_text(store.get_value(iter, 2))
++        
++    def dialogClear(self):
++        self.selinuxUserEntry.set_text("")
++        self.selinuxUserEntry.set_sensitive(True)
++        self.mlsRangeEntry.set_text("s0")
++        self.selinuxRolesEntry.set_text("")
++        
++    def add(self):
++        user = self.selinuxUserEntry.get_text()
++        range = 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)
++            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()
++        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)
++            return False
++        self.load(self.filter)
++
++    def delete(self):
++        store, iter = self.view.get_selection().get_selected()
++        try:
++            user=store.get_value(iter, 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)
++                return False
++            store.remove(iter)
++            self.view.get_selection().select_path ((0,))
++        except ValueError, e:
++            self.error(e.args[0])
++
diff --git a/policycoreutils/patches/policycoreutils-po.patch b/policycoreutils/patches/policycoreutils-po.patch
new file mode 100644 (file)
index 0000000..a1162c4
--- /dev/null
@@ -0,0 +1,292875 @@
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/af.po policycoreutils-2.0.85/po/af.po
+--- nsapolicycoreutils/po/af.po        2011-02-17 15:11:25.504728610 -0500
++++ policycoreutils-2.0.85/po/af.po    2011-02-18 16:03:41.328975464 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/am.po policycoreutils-2.0.85/po/am.po
+--- nsapolicycoreutils/po/am.po        2011-02-17 15:11:25.659726051 -0500
++++ policycoreutils-2.0.85/po/am.po    2011-02-18 16:03:41.332975492 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ar.po policycoreutils-2.0.85/po/ar.po
+--- nsapolicycoreutils/po/ar.po        2011-02-17 15:11:25.688725570 -0500
++++ policycoreutils-2.0.85/po/ar.po    2011-02-18 16:03:41.336975520 -0500
+@@ -1,20 +1,44 @@
+-# 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 <EMAIL@ADDRESS>, YEAR.
+ #
+-#, fuzzy
++# Amjad Al-Obaili <moltaheb@hotmail.com>, 2010.
++# Majed Abdullah <majed1ksu@hotmail.com>, 2010.
++# Saud Al-Otaibi <ss08ss08@hotmail.com>, 2010.
++# Ali Al-Ammari <ali.a.alammari@gmail.com>, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: PACKAGE VERSION\n"
++"Project-Id-Version: \n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+-"Language-Team: LANGUAGE <LL@li.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-14 13:36+0300\n"
++"Last-Translator: Ali Al-Ammari <ali.a.alammari@gmail.com>\n"
++"Language-Team: Arabic <trans-ar@lists.fedoraproject.org>\n"
++"Language: ar\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++"X-Generator: Lokalize 1.0\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"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "إنشاء وحدة سياسة جديدة"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux أداة توليد السياسة"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -22,1251 +46,3455 @@
+ "  where: <script> is the name of the init script to run,\n"
+ "         <args ...> are the arguments to that script."
+ msgstr ""
++"الاستخدام: run_init <script> <args ...>\n"
++"  عند: <script> هو اسم برنامج init النصي الذي سيعمل,\n"
++"         <args ...> هي المدخلات لهذا البرنامج النصي."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+ msgid "failed to initialize PAM\n"
+-msgstr ""
++msgstr "خطأ في تهيئة PAM\n"
+ #: ../run_init/run_init.c:139
+ #, c-format
+ msgid "failed to get account information\n"
+-msgstr ""
++msgstr "خطأ في الحصول على معلومات الحساب\n"
+ #: ../run_init/run_init.c:162 ../newrole/newrole.c:338
+ msgid "Password:"
+-msgstr ""
++msgstr "كلمة المرور:"
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr ""
++msgstr "لم يتم العثور على حسابك في ملف كلمات السر المظللة (passwd).\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+ msgid "getpass cannot open /dev/tty\n"
+-msgstr ""
++msgstr "لم يستطع getpass فتح /dev/tty\n"
+ #: ../run_init/run_init.c:275
+ #, c-format
+ msgid "run_init: incorrect password for %s\n"
+-msgstr ""
++msgstr "run_init: كلمة مرور خاطئة لـ %s\n"
+ #: ../run_init/run_init.c:309
+ #, c-format
+ msgid "Could not open file %s\n"
+-msgstr ""
++msgstr "لا يمكن فتح الملف %s\n"
+ #: ../run_init/run_init.c:336
+ #, c-format
+ msgid "No context in file %s\n"
+-msgstr ""
++msgstr "لا يوجد سياق في الملف %s\n"
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr ""
++msgstr "عفوا، لا يمكن استعمال run_init إلا على نواة SELinux.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+ msgid "authentication failed.\n"
+-msgstr ""
++msgstr "فشل في التوثيق.\n"
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+ msgid "Could not set exec context to %s.\n"
+-msgstr ""
++msgstr "لا يمكن ضبط سياق exec لـ %s.\n"
+ #: ../audit2allow/audit2allow:217
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
++msgstr "******************** مهم ***********************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "لتفعيل حزمة السياسات هذه، نفذ:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+-msgstr ""
++msgstr "لا يمكن إنشاء معالج semanage"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr ""
++msgstr "سياسة SELinux غير مُدارة أو لا يمكن الوصول إلى المخزن."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr ""
++msgstr "لا يمكن قراءة مخزن السياسات."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+-msgstr ""
++msgstr "لا يمكن  إنشاء اتصال semanage"
+ #: ../semanage/seobject.py:70
+ msgid "Could not test MLS enabled status"
+-msgstr ""
++msgstr "لا يمكن اختبار حالة تفعيل MLS"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "شامل"
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr ""
++msgstr "لا يمكن فتح %s: الترجمات غير مدعومة على غير أجهزة MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "مستوى"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "ترجمة"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr ""
++msgstr "لا يمكن للترجمة أن تحتوي على فراغات '%s'"
+ #: ../semanage/seobject.py:250
+ #, python-format
+ msgid "Invalid Level '%s' "
+-msgstr ""
++msgstr "مستوى خاطئ '%s'"
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr ""
++msgstr "%s معرفة مسبقا في الترجمات"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr ""
++msgstr "%s غير معرفة في الترجمات"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "غير مطبقة بعد"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "عملية semanage تحت التنفيذ"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+-msgstr ""
++msgstr "لا يمكن بدء عملية semanage"
+ #: ../semanage/seobject.py:309
+ msgid "Could not commit semanage transaction"
+-msgstr ""
++msgstr "لا يمكن تنفيذ عملية semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "عملية semanage ليست تحت التنفيذ"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة وحدات SELinux"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "الأنواع المتساهلة"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "لا يمكن ضبط النطاق المتساهل %s (خطأ في تثبيت الوحدة)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "لا يمكن إزالة النطاق المتساهل %s (فشل في الإزالة)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء مفتاح لـ %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr ""
++msgstr "لا يمكن التحقق في إذا ما كان مخطط الدخول لـ %s معرفا"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr ""
++msgstr "مخطط الدخول لـ %s معرف سابقا"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr ""
++msgstr "مجموعة لينكس %s غير موجودة"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+-msgstr ""
++msgstr "مستخدم لينكس %s غير موجود"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء مخطط الدخول لـ %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط اسم لـ %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط مدى MLS لـ %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط مستخدم SELinux لـ %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr ""
++msgstr "لا يمكن إضافة مخطط الدخول لـ %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr ""
++msgstr "إضافة مخطط مستخدم SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+-msgstr ""
++msgstr "بحاجة إلى seuser أو serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr ""
++msgstr "مخطط الدخول لـ %s غير معرّف"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+-msgstr ""
++msgstr "لا يمكن استعلام seuser لـ %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr ""
++msgstr "لا يمكن تغيير مخطط الدخول لـ %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "تخطيط الدخول لـ %s معرف في السياسة، لا يمكن حذفه"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr ""
++msgstr "لا يمكن حذف تخطيط الدخول لـ %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة تخطيطات الدخول"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "اسم الدخول"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr ""
++msgstr "مستخدم SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr ""
++msgstr "مدى MLS/MCS"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+-msgstr ""
++msgstr "يجب إضافة دور واحد على الأقل لـ %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+-msgstr ""
++msgstr "لا يمكن التحقق من إذا كان مستخدم SELinux %s معرفا"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr ""
++msgstr "مستخدم SELinux %s معرف مسبقا"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء مستخدم SELinux لـ %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+-msgstr ""
++msgstr "لا يمكن إضافة دور %s لـ %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط مستوى MLS لـ %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr ""
++msgstr "لا يمكن إضافة البادئة %s لـ %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+-msgstr ""
++msgstr "لا يمكن استخراج مفتاح لـ %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+-msgstr ""
++msgstr "لا يمكن إضافة مستخدم SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+-msgstr ""
++msgstr "يحتاج إلى بادئة، أدوار، مستويات أو مدى"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+-msgstr ""
++msgstr "يحتاج إلى بادئة أو أدوار"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr ""
++msgstr "مستخدم SELinux %s غير معرف"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+-msgstr ""
++msgstr "لا يمكن استعلام المستخدم عن %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+-msgstr ""
++msgstr "لا يمكن تعديل مستخدم SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "مستخدم SELinux لـ %s معرف في السياسة، لا يمكن حذفه"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+-msgstr ""
++msgstr "لا يمكن حذف مستخدم SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة مستخدمي SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة أدوار المستخدم %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "عنونة"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "بادئة"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr ""
++msgstr "مستوى MSC"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr ""
++msgstr "مدى MSC"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "أدوار SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+-msgstr ""
++msgstr "بروتوكول udp أو tcp مطلوب"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+-msgstr ""
++msgstr "المنفذ مطلوب"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+-msgstr ""
++msgstr "لا يمكن إنشاء مفتاح لـ %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+-msgstr ""
++msgstr "النوع مطلوب"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+-msgstr ""
++msgstr "لا يمكن التحقق من إذا كان المنفذ %s/%s معرفا"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+-msgstr ""
++msgstr "المنفذ %s/%s معرف مسبقا"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+-msgstr ""
++msgstr "لا يمكن إنشاء منفذ لـ %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+-msgstr ""
++msgstr "لا يمكن إنشاء سياق لـ %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr ""
++msgstr "لا يمكن ضبط مستخدم في سياق المنفذ لـ %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr ""
++msgstr "لا يمكن ضبط دور في سياق المنفذ لـ %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr ""
++msgstr "لا يمكن ضبط نوع في سياق المنفذ لـ %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr ""
++msgstr "لا يمكن ضبط حقل mls في سياق المنفذ لـ %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr ""
++msgstr "لا يمكن ضبط سياق المنفذ لـ %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+-msgstr ""
++msgstr "لا يمكن إضافة المنفذ %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+-msgstr ""
++msgstr "يتطلب setype أو serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+-msgstr ""
++msgstr "يتطلب setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+-msgstr ""
++msgstr "المنفذ %s/%s غير معرفة"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+-msgstr ""
++msgstr "لا يمكن استعلام المنفذ %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+-msgstr ""
++msgstr "لا يمكن تعديل المنفذ %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة المنافذ"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+-msgstr ""
++msgstr "لا يمكن حذف المنفذ %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "المنفذ %s/%s معرف في السياسة، لا يمكن حذفه"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+-msgstr ""
++msgstr "لا يمكن حذف المنفذ %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة المنافذ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "نوع منفذ SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "الأول"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr ""
++msgstr "رقم المنفذ"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr ""
++msgstr "عنوان العقدة مطلوب"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr ""
++msgstr "قناع شبكة العقدة مطلوب"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "البروتوكول غير معروف أو مفقود"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+-msgstr ""
++msgstr "نوع SELinux مطلوب"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء مفتاح لـ %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr ""
++msgstr "لا يمكن التحقق من إذا كان العنوان %s معرفا"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+-msgstr ""
++msgstr "العنوان %s معرف مسبقا"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء العنوان لـ %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء سياق لـ %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط قناع لـ %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط مستخدم في سياق العنوان لـ %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط دور في سياق العنوان لـ %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط نوع في سياق العنوان لـ %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط حقل mls في سياق العنوان لـ %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط سياق العنوان لـ %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+-msgstr ""
++msgstr "لا يمكن إضافة العنوان %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+-msgstr ""
++msgstr "العنوان %s غير معرف"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+-msgstr ""
++msgstr "لا يمكن استعلام العنوان %s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+-msgstr ""
++msgstr "لا يمكن تعديل العنوان %s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "العنوان %s معرف في السياسة، لا يمكن حذفه"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+-msgstr ""
++msgstr "لا يمكن حذف العنوان %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة العناوين"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr ""
++msgstr "لا يمكن التحقق من إذا كانت الواجهة %s معرفة"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr ""
++msgstr "الواجهة %s معرفة مسبقا"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء واجهة لـ %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط مستخدم في سياق الواجهة لـ %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط دور في سياق الواجهة لـ %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط نوع في سياق الواجهة لـ %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط حقل mls في سياق الواجهة لـ %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط سياق المنفذ لـ %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط سياق الرسالة ل%s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+-msgstr ""
++msgstr "لا يمكن إضافة الواجهة %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+-msgstr ""
++msgstr "الواجهة %s غير معرفة"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+-msgstr ""
++msgstr "لا يمكن استعلام الواجهة %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+-msgstr ""
++msgstr "لا يمكن تعديل الواجهة %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "الواجهة %s معرفة في السياسة، لا يمكن حذفها"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+-msgstr ""
++msgstr "لا يمكن حذف الواجهة %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة الواجهات"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "واجهة SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr ""
++msgstr "سياق"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط مستخدم في سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط دور في سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط حقل mls في سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "مواصفات ملف خاطئة"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr ""
++msgstr "لا يمكن التحقق من إذا كان سياق الملف لـ %s معرفا"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr ""
++msgstr "سياق الملف لـ %s معرف مسبقا"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr ""
++msgstr "لا يمكن إنشاء سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط نوع في سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr ""
++msgstr "لا يمكن ضبط سياق ملف لـ %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr ""
++msgstr "لا يمكن إضافة سياق ملف لـ %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+-msgstr ""
++msgstr "يتطلب setype، serange أو seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr ""
++msgstr "سياق الملف لـ %s غير معرف"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr ""
++msgstr "لا يمكن استعلام سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr ""
++msgstr "لا يمكن تعديل سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة سياقات الملفات"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+-msgstr ""
++msgstr "لا يمكن حذف سياق الملف %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "سياق الملف لـ %s معرف في السياسة، لا يمكن حذفه"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr ""
++msgstr "لا يمكن حذف سياق الملف لـ %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة سياقات الملفات"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة سياقات الملفات المحلية"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "نوع"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr ""
++msgstr "لا يمكن التحقق من إذا كانت القيمة المنطقية %s معرفة"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+-msgstr ""
++msgstr "القيمة المنطقية %s غير معرفة"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr ""
++msgstr "لا يمكن استعلام سياق الملف %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr ""
++msgstr "يجب أن تحدد أحد القيم التالية: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr ""
++msgstr "لا يمكن ضبط القيمة المنطقية النشطة %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr ""
++msgstr "لا يمكن تعديل القيمة المنطقية %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "بنية خاطئة %s: سجّل %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "القيمة المنطقية %s معرفة في السياسة، لا يمكن حذفها"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr ""
++msgstr "لا يمكن حذف القيمة المنطقية %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr ""
++msgstr "لا يمكن عرض قائمة القيم المنطقية"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "غير معروف"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "إلغاء التشغيل"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "تشغيل"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "قيمة منطقية لـSELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "وصف"
+ #: ../newrole/newrole.c:198
+ #, c-format
+ msgid "failed to set PAM_TTY\n"
+-msgstr ""
++msgstr "خطأ في ضبط PAM_TTY\n"
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "دور جديد: جدول مختصرات إعدادات أسماء الخدمات فائضة\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "دور جديد: %s: خطأ في سطر %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr ""
++msgstr "لم يتم الوجود على قيد صالح في ملف كلمات السر (passwd).\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+ msgid "Out of memory!\n"
+-msgstr ""
++msgstr "نفذت الذاكرة!\n"
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr ""
++msgstr "خطأ! القشرة (Shell) غير صالحة.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+ msgid "Unable to clear environment\n"
+-msgstr ""
++msgstr "لا يمكن في إخلاء البيئة\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+ #, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr ""
++msgstr "خطأ في ابتداء القدرات، سيتم الإلغاء.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr ""
++msgstr "خطأ في إعداد القدرات، سيتم الإلغاء.\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+ msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr ""
++msgstr "خطأ في إعداد KEEPCAPS، سيتم الإلغاء.\n"
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+ msgid "Error dropping capabilities, aborting\n"
+-msgstr ""
++msgstr "خطأ في إسقاط القدرات، سيتم الإلغاء.\n"
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr ""
++msgstr "خطأ في تغيير uid، سيتم الإلغاء.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr ""
++msgstr "خطأ في إعادة KEEPCAPS، سيتم الإلغاء.\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr ""
++msgstr "خطأ في إسقاط قدرات SETUID، سيتم الإلغاء.\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+ msgid "Error freeing caps\n"
+-msgstr ""
++msgstr "خطأ في إلغاء الحروف الكبيرة\n"
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr ""
++msgstr "خطأ في الاتصال بنظام التدوين.\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+ msgid "Error allocating memory.\n"
+-msgstr ""
++msgstr "خطأ في تعيين الذاكرة.\n"
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr ""
++msgstr "خطأ في إرسال رسالة التدوين.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr ""
++msgstr "لا يمكن تحديد ضبط الإلزام.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr ""
++msgstr "خطأ! لا يمكن فتح %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+-msgstr ""
++msgstr "%s! لا يمكن الحصول على السياق الحالي لـ %s، لن تعاد عنونة tty.\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+-msgstr ""
++msgstr "%s! لا يمكن الحصول على السياق الجديد لـ %s، لن تعاد عنونة tty.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr ""
++msgstr "%s! لا يمكن ضبط السياق الجديد لـ %s.\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr ""
++msgstr "تغيرت عناوين %s.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr ""
++msgstr "تحذير! لا يمكن استعادة السياق لـ %s\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr ""
++msgstr "خطأ: تم تعريف أكثر من دور\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+ msgid "Error: multiple types specified\n"
+-msgstr ""
++msgstr "خطأ: تم تعريف أكثر من نوع\n"
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr ""
++msgstr "عفوا، -l يمكن استعمالها مع دعم SELinux MLS.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+ msgid "Error: multiple levels specified\n"
+-msgstr ""
++msgstr "خطأ: تم تعريف أكثر من مستوى\n"
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr ""
++msgstr "خطأ: لا يسمح لك بتغيير المستويات من خلال وحدة طرفية غير آمنة \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr ""
++msgstr "لا يمكن الحصول على النوع الافتراضي.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr ""
++msgstr "فشل في الحصول على سياق جديد.\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+ msgid "failed to set new role %s\n"
+-msgstr ""
++msgstr "فشل في ضبط دور جديد %s\n"
+ #: ../newrole/newrole.c:981
+ #, c-format
+ msgid "failed to set new type %s\n"
+-msgstr ""
++msgstr "فشل في ضبط نوع جديد %s\n"
+ #: ../newrole/newrole.c:991
+ #, c-format
+ msgid "failed to build new range with level %s\n"
+-msgstr ""
++msgstr "فشل في بناء مدى جديد مع مستوى %s\n"
+ #: ../newrole/newrole.c:996
+ #, c-format
+ msgid "failed to set new range %s\n"
+-msgstr ""
++msgstr "فشل في ضبط مدى جديد %s\n"
+ #: ../newrole/newrole.c:1004
+ #, c-format
+ msgid "failed to convert new context to string\n"
+-msgstr ""
++msgstr "فشل في في تحويل السياق الجديد إلى نص\n"
+ #: ../newrole/newrole.c:1009
+ #, c-format
+ msgid "%s is not a valid context\n"
+-msgstr ""
++msgstr "%s ليس سياقا صالحا\n"
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr ""
++msgstr "غير قادر على تعيين ذاكرة لـnew_context"
+ #: ../newrole/newrole.c:1042
+ #, c-format
+ msgid "Unable to obtain empty signal set\n"
+-msgstr ""
++msgstr "غير قادر على الحصول على مجموعة الإشارات الفارغة\n"
+ #: ../newrole/newrole.c:1050
+ #, c-format
+ msgid "Unable to set SIGHUP handler\n"
+-msgstr ""
++msgstr "غير قادر على ضبط معالج SIGHUP\n"
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr ""
++msgstr "عفوا، لا يمكن استعمال newrole إلا على نواة SELinux.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr ""
++msgstr "فشل في الحصول على old_context.\n"
+ #: ../newrole/newrole.c:1140
+ #, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr ""
++msgstr "تحذير! استعادة معلومات tty غير ممكنة.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "خطأ في قراءة إعدادات خدمة PAM.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr ""
++msgstr "newrole: كلمة المرور خاطئة لـ %s\n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+ msgid "newrole: failure forking: %s"
+-msgstr ""
++msgstr "newrole: فشل في التفرع: %s"
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr ""
++msgstr "غير قادر لاستعادة عنوان tty...\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+ msgid "Failed to close tty properly\n"
+-msgstr ""
++msgstr "فشل في إغلاق tty بصورة صحيحة\n"
+ #: ../newrole/newrole.c:1287
+ #, c-format
+ msgid "Could not close descriptors.\n"
+-msgstr ""
++msgstr "لا يمكن إغلاق الواصفات.\n"
+ #: ../newrole/newrole.c:1314
+ #, c-format
+ msgid "Error allocating shell's argv0.\n"
+-msgstr ""
++msgstr "خطأ في تعيين argv0 الخاص بالقشرة (shell).\n"
+ #: ../newrole/newrole.c:1346
+ #, c-format
+ msgid "Unable to restore the environment, aborting\n"
+-msgstr ""
++msgstr "غير قادر على استعادة البيئة، سيتم الإلغاء\n"
+ #: ../newrole/newrole.c:1357
+ msgid "failed to exec shell\n"
+-msgstr ""
++msgstr "فشل في تنفيذ القشرة (shell)\n"
+ #: ../load_policy/load_policy.c:22
+ #, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr ""
++msgstr "الاستخدام:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s: تم تحميل السياسة مسبقاً وتم طلب التحميل المبدئي\n"
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr ""
++msgstr "%s:  لا يمكن تحميل السياسة وتم طلب الوضع الملزم:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr ""
++msgstr "%s:  لا يمكن تحميل السياسة:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+-msgstr ""
++msgstr "يتطلب تصنيف واحد على الأقل"
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+ msgid "Can not modify sensitivity levels using '+' on %s"
+-msgstr ""
++msgstr "لا يمكن تعديل مستويات الحساسية باستخدام '+' على %s"
+ #: ../scripts/chcat:110
+ #, c-format
+ msgid "%s is already in %s"
+-msgstr ""
++msgstr "%s موجود في %s مسبقا"
+ #: ../scripts/chcat:188 ../scripts/chcat:198
+ #, c-format
+ msgid "%s is not in %s"
+-msgstr ""
++msgstr "%s ليس في %s"
+ #: ../scripts/chcat:267 ../scripts/chcat:272
+ msgid "Can not combine +/- with other types of categories"
+-msgstr ""
++msgstr "لا يمكن الجمع +/- مع أنواع أخرى من التصنيفات"
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+-msgstr ""
++msgstr "لا يمكن أن يكون متعدد الحساسيات"
+ #: ../scripts/chcat:325
+ #, c-format
+ msgid "Usage %s CATEGORY File ..."
+-msgstr ""
++msgstr "الاستخدام %s CATEGORY ملف ..."
+ #: ../scripts/chcat:326
+ #, c-format
+ msgid "Usage %s -l CATEGORY user ..."
+-msgstr ""
++msgstr "الاستخدام %s -l CATEGORY مستخدم ..."
+ #: ../scripts/chcat:327
+ #, c-format
+ msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
+-msgstr ""
++msgstr "الاستخدام %s [[+|-]CATEGORY],...]q ملف ..."
+ #: ../scripts/chcat:328
+ #, c-format
+ msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
+-msgstr ""
++msgstr "الاستخدام %s -l [[+|-]CATEGORY],...]q مستخدم ..."
+ #: ../scripts/chcat:329
+ #, c-format
+ msgid "Usage %s -d File ..."
+-msgstr ""
++msgstr "الاستخدام %s -d ملف ..."
+ #: ../scripts/chcat:330
+ #, c-format
+ msgid "Usage %s -l -d user ..."
+-msgstr ""
++msgstr "الاستخدام %s -l -d مستخدم ..."
+ #: ../scripts/chcat:331
+ #, c-format
+ msgid "Usage %s -L"
+-msgstr ""
++msgstr "الاستخدام %s -L"
+ #: ../scripts/chcat:332
+ #, c-format
+ msgid "Usage %s -L -l user"
+-msgstr ""
++msgstr "الاستخدام %s -L -l مستخدم"
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr ""
++msgstr "استخدم -- لإنهاء قائمة الخيارات. على سبيل المثال"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+-msgstr ""
++msgstr "chcat -- -CompanyConfidential /docs/businessplan.odt"
+ #: ../scripts/chcat:335
+ msgid "chcat -l +CompanyConfidential juser"
+-msgstr ""
++msgstr "chcat -l +CompanyConfidential juser"
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
++msgstr "خطأ في الخيارات %s "
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "قيمة منطقية"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "كل"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "مخصص"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "عنونة الملف"
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ملف\n"
++"المواصفات"
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
+ msgstr ""
++"Selinux\n"
++"نوع الملف"
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ملف\n"
++"النوع"
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "تخطيط المستخدم"
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"تسجيل دخول\n"
++"الاسم"
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"مستخدم"
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"نطاق MCS"
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "تسجيل الدخول '%s' مطلوب"
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "وحدة السياسة"
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "اسم الوحدة"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "إصدار"
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "تعطيل التدوين"
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "تمكين التدوين"
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "وحدة سياسة التحميل"
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "رد هات (Red Hat) 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "translator-credits"
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"هذه الأداة يمكن أن تستخدم لإنشاء إطار عمل السياسة، لحصرالتطبيقات أو "
++"المستخدمين المستعملين لـ SELinux.   \n"
++"\n"
++"الأداة تولد:\n"
++"ملف إلزام النوع (te)\n"
++"ملف الواجهة (if)\n"
++"ملف سياق الملف (fc)\n"
++"برنامج القشرة (shell) النصي (sh) - يستخدم لتجميع وتثبيت السياسة."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "اختر نوع التطبيقات/دور المستخدم الذي تريد حصره"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>التطبيقات</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"خادم Init القياسي هو خادم يبدأ مع بداية التشغيل بواسطة برامج init النصية. "
++"عادة يتطلب برنامج نصي في /etc/rc.d/init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "خادم Init القياسي"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "خادم نظام DBUS"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "خادم خدمات الإنترنت هو خادم بُدِأ بواسطة xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "خادم خدمات الإنترنت (inetd)"
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"تطبيق الإنترنت/البرنامج النصي (CGI) البرنامج النصي CGI بُدِأ بواسطة خادم "
++"الأنترنت (apache)"
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "تطبيق الإنترنت/البرنامج النصي (CGI)"
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"تطبيقات المستخدم هي أي تطبيقات تريد حصرها وقد تم تشغيلها من قبل المستخدم"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "تطبيقات المستخدم"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>تسجيل دخول المستخدمين</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "تعديل أحد سجلات تسجيل الدخول الموجودة."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "أدوار المستخدم الموجودة"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"هذا المستخدم سيسجل الدخول للجهاز فقط عن طريق الوحدة الطرفية أو الدخول عن "
++"بُعد. افتراضياً هذا المستخدم لن يكون لديه setuid، ولا شبكة، ولا su، ولا sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "دور مستخدم الوحدة الطرفية الصغرى"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"هذا المستخدم يمكن أن يسجل الدخول عن طريق X أو الوحدة الطرفية. افتراضياً هذا "
++"المستخدم لن يكون لديه setuid، ولا شبكة، ولا sudo، ولا su"
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "دور مستخدم X Windows الأدنى"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"المستخدم مع شبكة كاملة، لا يوجد تطبيقات setuid بدون الانتقال، ولا sudo، ولا "
++"su."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "دور المستخدم"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"المستخدم مع شبكة كاملة، لا يوجد تطبيقات setuid بدون الانتقال، ولا su، يمكن "
++"أن يستخدم sudo لأدوار مدير النظام"
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "دور المستخدم المشرف"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>مستخدمو مدير النظام</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"اختر دور مستخدم مدير النظام, إذا كان سيتم استعمال المستخدم لإدارة الجهاز "
++"أثناء التشغيل كمدير النظام. هذا المستخدم لن يكون قادر على تسجيل الدخول "
++"للنظام مباشرةً."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "دور مستخدم مدير النظام"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "أدخل اسم التطبيق أو دور المستخدم المراد حصره"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "الاسم"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "أدخل المسار الكامل للملف القابل للتنفيذ المراد حصره"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "أدخل اسماً مميزاً للتطبيقات المحصورة أو دور المستخدم المحصور"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "قابل للتنفيذ"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "برنامج Init النصي"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "أدخل المسار الكامل لبرنامج init النصي المستخدم لبدء التطبيق المحصور"
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "اختر أدوار المستخدم التي تريد تخصيصها"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "اختر أدوار المستخدم التي ستنتقل لمجالات التطبيقات هذه"
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "اختر النطاقات الإضافية التي سينتقل لها دور المستخدم هذا"
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "اختر نطاقات البرامج التي تريد نقل دور المستخدم هذا لها."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "اختر أدوار المستخدم التي ستنتقل لهذا النطاق"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "اختر النطاقات الإضافية التي سيديرها دور المستخدم هذا"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "اختر النطاقات التي ترغب في أن يديرها هذا المستخدم"
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "اختر أدوار إضافية لهذا المستخدم"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "أدخل منافذ الشبكة التي ستستمع لها التطبيقات/دور المستخدم"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>منافذ TCP</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "يسمح لتطبيق/دور المستخدم بالارتباط بأي منفذ udp"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "كل"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"سماح للتطبيق/دور المستخدم باستدعاء bindresvport مع 0. الربط مع منفذ 600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"أدخل قائمة مفرقة بفواصل من منافذ أو نطاقات منافذ udp التي يرتبط بها التطبيق/"
++"دور المستخدم. مثال: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "منافذ غير محجوزة (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "اختر المنافذ"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "يسمح للتطبيق/دور المستخدم بالارتباط مع من أي منافذ udp > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>منافذ UDP</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "أدخل منافذ الشبكة التي يتصل بها التطبيق/دور المستخدم"
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"أدخل قائمة مفرقة بفواصل من منافذ أو نطاقات منافذ tcp التي يتصل بها التطبيق/"
++"دور المستخدم. مثال: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"أدخل قائمة مفصولة بفواصل من منافذ أو نطاقات منافذ udp التي يتصل بها التطبيق/"
++"دور المستخدم. مثال: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "اختر سمات التطبيق المشتركة"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "يكتب رسائل syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "إنشاء/استعمال الملفات المؤقتة في /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "يستخدم Pam للتوثيق"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "يستخدم استدعاءات nsswitch أو getpw*"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "يستخدم dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "يرسل رسائل التدوين"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "يتفاعل مع الوحدة الطرفية"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "يرسل بريد إلكتروني"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "اختر الملفات/المجلدات التي يديرها التطبيق"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"أضف الملفات/المجلدات التي سوف يحتاج التطبيق الـ\"كتابة\" فيها. ملفات Pid، "
++"ملفات Log، ملفات /var/lib ..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "اختر القيم المنطقية التي يستخدمها التطبيق"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "أضف/أزل القيم المنطقية المستخدمة للتطبيق/المستخدم المحصور"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "اختر المجلد الذي تريد توليد السياسة فيه"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "مجلد السياسة"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "ملفات السياسة المولدة"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"هذه الأداة ستولد التالي:  \n"
++"كتابة التطبيق(te), سياق الملف(fc), الواجهة(if), برنامج القشرة (shell) النصي"
++"(sh)\n"
++"لتنفيذ البرنامج النصي للقشرة كمدير للنظام للتثبيت والترجمة وإعادة عنونة "
++"الملفات/المجلدات.  \n"
++"استخدم semanage أو useradd لترتيب دخول مستخدمي لينكس أدوار المستخدم.\n"
++"ضع الجهاز  في وضع متساهل(setenforce 0). \n"
++"سجل دخول كمستخدم واختبر دور المستخدم.\n"
++"استخدم audit2allow -R لتوليد قوانين إضافية لملف te.\n"
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"هذه الأداة ستولد التالي  \n"
++"كتابة التطبيق(te), سياق الملف(fc), الواجهة(if), برنامج القشرة (shell) النصي"
++"(sh)\n"
++"\n"
++"لتنفيذ البرنامج النصي للقشرة كمدير للنظام للتثبيت والترجمة وإعادة عنونة "
++"الملفات/المجلدات.  \n"
++"ضع الجهاز  في وضع متساهل(setenforce 0). \n"
++"تشغيل/إعادة التشغيل التطبيق لتوليد رسائل avc.\n"
++"استخدم audit2allow -R لتوليد أدوار إضافية لملف te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "إضافة مربع حوار القيم المنطقية"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "اسم القيم المنطقية"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "دور"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Existing_User"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "التطبيق"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s يجب أن يكون مجلد"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "يجب أن تختار مستخدماً"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "اختر ملف قابل للتنفيذ ليتم حصره."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "اختر برنامج init النصي المراد حجزه."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr " اختر الملفات التي ينشئها ويكتبها البرنامج المقيد "
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr " اختر المجلدات التي يملكها ويكتب فيها البرنامج المقيد "
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "اختر المجلد الذي تريد توليد ملفات السياسة فيه"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"النوع %s_t معرف مسبقاً في السياسة الحالية.\n"
++"هل تريد الاستمرار؟"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "تحقق من الاسم"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"وحدة %s.pp تم تحميلها في السياسة الحالية مسبقا.\n"
++"هل تريد الاستمرار؟"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "يجب إدخال اسم"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "يجب إدخال ملف قابل للتنفيذ"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "أعِد SELinux"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "المنافذ يجب أن تكون أرقاماً أو مجالات من الأرقام تبدأ من 1 إلى %d"
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "يجب إدخال اسم من أجل العملية/المستخدم المحصور الخاص بك"
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "نوع المستخدم USER غير مسموح له ملفات قابلة للتنفيذ"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "فقط برامج الخادم تستطيع استخدام برنامج init النصي"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog يجب أن تكون قيمة منطقية"
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "نوع المستخدم USER يحصل آليا على نوع tmp"
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "يجب أن تدخل المسار القابل للتنفيذ من أجل عمليتك المحصورة"
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "ملف إلزام النوع"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ملف الواجهة"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ملف سياقات الملف"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "إعداد البرنامج النصي"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "منفذ الشبكة"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"منفذ SELinux\n"
++"نوع"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "بروتوكول"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"مستوى"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "منفذ"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "رقم المنفذ \"%s\" غير مسموح .  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "رؤية القائمة"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "رؤية المجموعة"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "حماية خدمة SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "منع حماية SELinux لخادم acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "المشرف"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "السماح لجميع الخادمات لكتابة corefiles في /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "إعطاء القدرة لجميع الخوادم لاستخدام ttys غير المخصصة"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "صلاحيات المستخدم"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"السماح لحساب مستخدم SELinux gadmin بتنفيذ الملفات في المجلد الرئيسي أو /tmp"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"السماح لحساب مستخدم SELinux guest (ضيف) بتنفيذ الملفات في المجلد الرئيسي أو /"
++"tmp"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "حماية الذاكرة"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "السماح لكومة java القابلة للتنفيذ"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "ضم"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "السماح لـ mount بضم أي ملف"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "السماح بضم أي مجلد"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "السماح لكومة mplayer القابلة للتنفيذ"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "السماح لـ ssh بتشغيل ssh-keysign"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"السماح لحساب مستخدم SELinux staff (طاقم) بتنفيذ الملفات في المجلد الرئيسي "
++"أو /tmp"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"السماح لحساب مستخدم SELinux sysadm (مدير النظام) بتنفيذ الملفات في المجلد "
++"الرئيسي أو /tmp"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"السماح لحساب مستخدم SELinux unconfined (غير المقيد) بتنفيذ الملفات في المجلد "
++"الرئيسي أو /tmp"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "إعدادات الشبكة"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "السماح للحزمة غير المعنونة بالسير داخل الشبكة"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"السماح لحساب مستخدم SELinux user (مستخدم) بتنفيذ الملفات في المجلد الرئيسي "
++"أو /tmp"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "السماح لغير المقيد بـ dyntrans إلى unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "قواعد بيانات"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "السماح للمستخدم بالاتصال بمقبس mysql"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "السماح للمستخدم بالاتصال بمقبس postgress"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "السماح للعميل بالكتابة على الذاكرة المشتركة X"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"السماح لحساب الزائر xguest SELinux لتنفيذ الملفات في المجلد الرئيسي أو /tmp"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "السماح للخادم بالعمل مع NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "تطبيقات الأنترنت"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "نقل مستخدم SELinux staff (طاقم)  إلى مجال متصفح الأنترنت"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "نقل مستخدم sysadm SELinux  إلى مجال متصفح الأنترنت"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "نقل مستخدم SELinux إلى مجال متصفح الأنترنت"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "نقل مستخدم xguest SELinux  إلى مجال متصفح الأنترنت"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "السماح طاقم متصفحو الأنترنت للكتابة في المجلد الأنترنت"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "منع حماية SELinux  من أجل amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "منع حماية SELinux  من أجل amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "منع حماية SELinux  من أجل خادم apmd"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "منع حماية SELinux  من أجل خادم arpwatch"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "منع حماية SELinux  من أجل خادم auditd"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "منع حماية SELinux  من أجل خادم automount"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "منع حماية SELinux  من أجل avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "منع حماية SELinux  من أجل خادم البلوتوث"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "منع حماية SELinux  من أجل خادم canna"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "تعطيل حماية SELinux  لخادم cardmgr"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "منع حماية SELinux  من أجل خادم Cluster"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"السماح cdrecord لقراءة محتوى مختلف .نظام ملف الشبكة و  سامبا و جهاز قابل "
++"للإزالة و المستخدم المؤقت و ومحتوى الملفات الغير موثوقة"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "تعطيل حماية SELnux لخادم ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "تعطيل حماية SELnux لخادم clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "تعطيل حماية SELnux لـ ciamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "تعطيل حماية SELnux لـ clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "تعطيل حماية SELnux لخادم comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "تعطيل حماية SELnux لـ courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "تعطيل حماية SELnux لخادم cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "تعطيل حماية SELnux لخادم cpuspeed"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Corn"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "تعطيل حماية SELnux لخادم crond"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "الطباعة"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "تعطيل حماية SELnux لـ cupsd back  و الخادم"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "تعطيل حماية SELnux لخادم cupsd"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "تعطيل حماية SELnux cupsd lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "تعطيل حماية SELnux لخادم cvs"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "تعطيل حماية SELnux لخادم cyrus"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "تعطيل حماية SELnux لخادم dbskkd"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "تعطيل حماية SELnux لخادم dbusd"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "تعطيل حماية SELnux لـ dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "تعطيل حماية SELnux لـ dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "تعطيل حماية SELnux لـ dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "تعطيل حماية SELnux لخادم  ddt"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "تعطيل حماية SELnux لخادم devfsd"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "تعطيل حماية SELnux لخادم dhcpc"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "تعطيل حماية SELnux لخادم dhcpd"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "تعطيل حماية SELnux لخادم dictd"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "السماح لـ sysadm_t لبدء الخادم مباشرة"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "تعطيل حماية SELnux للتقييم"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "الألعاب"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "تعطيل حماية SELnux لـ الألعاب"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "تعطيل حماية SELnux لتطبيقات الأنترنت"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "تعطيل حماية SELnux لـ Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "تعطيل حماية SELnux لخادم distccd"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "تعطيل حماية SELnux لخادم dmesg"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "تعطيل حماية SELnux لخادم dnsmasq"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "تعطيل حماية SELnux لخادم dovecot"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "تعطيل حماية SELnux لخادم entropyd"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "تعطيل حماية SELnux لخادم fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "تعطيل حماية SELnux لخادم fingerd"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "تعطيل حماية SELnux لخادم freshclam"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "تعطيل حماية SELnux لخادم fsdeamon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "تعطيل حماية SELnux لخادم gpm"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "تعطيل حماية SELnux لخادم gss"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "تعطيل حماية SELnux لخادم Hal"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "توافق"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "عدم تدوين الأمور المعطوبة  ولكن ليست ذات مخاطر أمنية"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "تعطيل حماية SELnux لخادم hostname"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "تعطيل حماية SELnux لخادم hotplug"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "تعطيل حماية SELnux لخادم howl"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "تعطيل حماية SELnux لخادم hplip"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "تعطيل حماية SELnux لـ httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "خدمات HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "تعطيل حماية SELnux لـ http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "تعطيل حماية SELinux لخادم hwclock"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "تعطيل حماية SELinux لخادم i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "تعطيل حماية SELinux لخادم imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "تعطيل حماية SELinux لأبناء خوادم inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "تعطيل حماية SELinux لخادم inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "تعطيل حماية SELinux لخادم innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "تعطيل حماية SELinux لخادم iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "تعطيل حماية SELinux لخادم ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "تعطيل حماية SELinux لخادم irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "تعطيل حماية SELinux لخادم iscsi"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "تعطيل حماية SELinux لخادم jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "تعطيل حماية SELinux لخادم kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "تعطيل حماية SELinux لخادم klogd "
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "تعطيل حماية SELinux لخادم krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "تعطيل حماية SELinux لخادم ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "تعطيل حماية SELinux لخادم kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "تعطيل حماية SELinux لخادم locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "تعطيل حماية SELinux لخادم lpd"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "تعطيل حماية SELinux لخادم lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "تعطيل حماية SELinux لخادم lvm"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "تعطيل حماية SELinux لـ mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "السماح لـ evolution و thunderbird بقراءة ملفات المستخدم"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "تعطيل حماية SELinux لخادم mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "تعطيل حماية SELinux لخادم monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "السماح للمستعرض mozilla بقراءة ملفات المستخدم"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "تعطيل حماية SELinux لخادم mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "تعطيل حماية SELinux لخادم mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "تعطيل حماية SELinux لخادم nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "خادم الأسماء"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "تعطيل حماية SELinux لخادم named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "تعطيل حماية SELinux لخادم nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "تعطيل حماية SELinux لـ NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "تعطيل حماية SELinux لخادم nfsd"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "تعطيل حماية SELinux لخادم nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "تعطيل حماية SELinux لخادم nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "تعطيل حماية SELinux لخادم nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "تعطيل حماية SELinux لخادم nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "تعطيل حماية SELinux لخادم ntpd"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "تعطيل حماية SELinux لـ oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "تعطيل حماية SELinux لـ oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "تعطيل حماية SELinux لخادم openvpn"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "تعطيل حماية SELinux لخادم pam"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "تعطيل حماية SELinux لـ pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "تعطيل حماية SELinux لخادم perdition"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "تعطيل حماية SELinux لخادم portmap"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "تعطيل حماية SELinux لخادم portslave"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "تعطيل حماية SELinux لـ postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "تعطيل حماية SELinux لخادم postgresql"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "السماح لـ pppd ليتم تشغيله للمستخدم العادي"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "تعطيل حماية SELinux لـ pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "تعطيل حماية SELinux لخادم prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "تعطيل حماية SELinux لخادم privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "تعطيل حماية SELinux لخادم ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "تعطيل حماية SELinux لخادم pxe"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "تعطيل حماية SELinux لـ pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "تعطيل حماية SELinux لخادم quota"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "تعطيل حماية SELinux لخادم radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "تعطيل حماية SELinux لخادم radvd"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "تعطيل حماية SELinux لـ rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "تعطيل حماية SELinux لـ readahead"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "السماح للبرامج بقراءة ملفات في أماكن غير قياسية (default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "تعطيل حماية SELinux لـ restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "تعطيل حماية SELinux لخادم rhgb"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "تعطيل حماية SELinux لـ ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "تعطيل حماية SELinux لـ ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "تعطيل حماية SELinux لخادم rlogind"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "تعطيل حماية SELinux لخادم rpcd"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "تعطيل حماية SELinux لـ rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "تعطيل حماية SELinux لخادم rsync"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "السماح لـ ssh ليشتغل من inetd بدلاً منه كخادم"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "السماح لسامبا لمشاركة مجلدات nfs"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "خادم التوثيق SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "السماح لخادم التوثيق sasl بقراءة /etc/shadow"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"السماح لخادم X-Windows لعمل توافق بين أجزاء الذاكرة كـ قابلة للتنفيذ "
++"والكتابة معاً"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "تعطيل حماية SELinux لخادم saslauthd"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "تعطيل حماية SELinux لخادم scannerdaemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "لا تسمح بالانتقال إلى sysadm_t، sudo، و su يؤثر"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "لا تسمح لأي عمليات بتحميل وحدات نواة النظام"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "لا تسمح لأي عمليات بتعديل سياسة نواة النظام SELinux"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "تعطيل حماية SELinux لخادم sendmail"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "تعطيل حماية SELinux لـ setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "تعطيل حماية SELinux لخادم setroubleshoot"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "تعطيل حماية SELinux لخادم slapd"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "تعطيل حماية SELinux لخادم slrnpull"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "تعطيل حماية SELinux لخادم smbd"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "تعطيل حماية SELinux لخادم snmpd"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "تعطيل حماية SELinux لخادم snort"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "تعطيل حماية SELinux لخادم soundd"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "تعطيل حماية SELinux لخادم sound"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "الحماية ضد البريد المزعج"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "تعطيل حماية SELinux لخادم spamd"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "السماح لـ spamd للوصول إلى المجلدات الرئيسية"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "السماح لخادم Spam Assassin الوصول للشبكة"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "تعطيل حماية SELinux لخادم speedmgmt"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "السماح لخادم squid بالاتصال بالشبكة"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "تعطيل حماية SELinux لخادم squid"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "تعطيل حماية SELinux لخادم ssh"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "السماح لـتسجيل الدخول ssh كـ sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"السماح لمستخدمي staff_r بالبحث في المجلدات الرئيسية وقراءة الملفات في sysadm "
++"(مثل ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "نفق SSL الشامل"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "تعطيل حماية SELinux لخادم stunnel"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "السماح لخادم stunnel ليشتغل كـ مستقل، خارج xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "تعطيل حماية SELinux لخادم swat"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "تعطيل حماية SELinux لخادم sxid"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "تعطيل حماية SELinux لخادم syslogd"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "تعطيل حماية SELinux لوظائف نظام cron"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "تعطيل حماية SELinux لخادم tcp"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "تعطيل حماية SELinux لخادم telnet"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "تعطيل حماية SELinux لخادم tftpd"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "تعطيل حماية SELinux لخادم transproxy"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "تعطيل حماية SELinux لخادم udev"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "تعطيل حماية SELinux لخادم uml"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"السماح لـ xinetd ليشتغل بدون قيود، بما في ذلك أي خدمات تبدأ وليس لديها نطاق "
++"انتقال معرّف"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"السماح لبرامج rc النصية للعمل بدون قيود، بما في ذلك أي خادم بدأ ببرنامج rc "
++"النصي الذي ليس لديه نطاق انتقال معرّف"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "السماح لـ rpm للعمل بدون قيود"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr "السماح للأدوات ذات الامتياز مثل hotplug و insmod للعمل بدون قيود"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "تعطيل حماية SELinux لخادم updfstab"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "تعطيل حماية SELinux لخادم uptimed"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"السماح لـ user_r بالوصول إلى sysadm_r بواسطة su، sudo، أو userhelper. وإلا، "
++"فقط staff_r يقوم بذلك"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "السماح للمستخدمين لتنفيذ الأمر mount"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "السماح للمستخدمين العاديين الوصول المباشر للفأرة (فقط يسمح بخادم X)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "السماح للمستخدمين بتنفيذ الأمر dmesg"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"السماح للمستخدمين بتحكم واجهات شبكة الاتصال ( أيضا يحتاج USERCTL=صحيح )"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "السماح للمستخدم العادي لتنفيذ ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "السماح للمستخدمين قراءة وكتابة noextattrfile (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "السماح للمستخدمين قراءة وكتابة أجهزة usb"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"السماح للمستخدمين تشغيل خوادم TCP (ربط المنافذ وقبول الاتصال من نفس المجال "
++"والمستخدمين الخارجيين) تعطيل هذه يجعل FTP وضع سلبي وقد تتغير بروتوكولات أخرى"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "السماح للمستخدم بتنفيذ الأمر stat ttyfiles"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "تعطيل حماية SELinux لخادم uucpd"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "تعطيل حماية SELinux لخادم vmware"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "تعطيل حماية SELinux لخادم watchdog"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "تعطيل حماية SELinux لخادم winbind"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "تعطيل حماية SELinux لخادم xdm"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "تسمح xdm بتسجيل دخول كـ sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "تعطيل حماية SELinux لخادم xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "تسمح xen لقراءة وكتابة أجهزة القرص الفعلي"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "تعطيل حماية SELinux لخادم xfs"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "تعطيل حماية SELinux لتحكم xen"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "تعطيل حماية SELinux لخادم ypbind"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "تعطيل حماية SELinux لخادم NIS Password"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "تعطيل حماية SELinux لخادم ypserv"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "تعطيل حماية SELinux لخادم NIS Transfer"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr "السماح لمستخدم SELinux webadm لإدارة المجلد الرئيسي لمستخدمين الامتياز"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr "السماح لمستخدم SELinux webadm لقراءة المجلد الرئيسي لمستخدمين الامتياز"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "هل انت متأكد أنك تريد حذف %s '%s'؟"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "حذف %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "إضافة %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "تعديل %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "متساهل"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "إلزامي"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "معطّل"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "الحالة"
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++"تغيير لتعطيل SELinux يتطلب إعادة التشغيل. وهو غير مستحسن. إذا قررت في وقت "
++"لاحق لقيام SELinux بدوره مرة أخرى، النظام سيتطلب إعادة عنونة. إذا كنت ترغب "
++"لمعرفة ما إذا كان SELinux يسبب مشكلة في نظامك، يمكنك الذهاب لوضع التساهل "
++"الذي سيسجل فقط الأخطاء ولا يفرض سياسة SELinux. وضع التساهل لا يتطلب إعادة "
++"تشغيل، هل ترغب في الاستمرار؟"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"تغيير لتمكين SELinux سوف يسبب إعادة عنونة نظام الملفات الكلي عند إعادة "
++"التشغيل. إعادة العنونة يمكن أن تستغرق وقتاً طويلاً، اعتماداً على حجم النظام. هل "
++"ترغب في الاستمرار؟"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"الحقوق محفوظة (c) 2006 Red Hat, Inc.\n"
++"الحقوق محفوظة (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "إضافة مخطط دخول SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "إضافة منافذ شبكة SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "نوع SELinux"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"مستوى"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "مواصفات الملف"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "نوع الملف"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"جميع الملفات\n"
++"ملف عادي\n"
++"دليل\n"
++"جهاز حرفي\n"
++"جهاز كتلي\n"
++"مقبس\n"
++"اختصار\n"
++"named pipe\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "إضافة مستخدم SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "إدارة SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "إضافة"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_خصائص"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_حذف"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "اختيار كائن الإدارة"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>اختيار:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "وضع النظام الافتراضي إلزامي"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"تعطيل\n"
++"تساهل\n"
++"إلزامي\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "الوضع الحالي الإلزامي"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "نوع نظام السياسة الافتراضي:"
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"حدد إذا كنت ترغب في إعادة عنونة نظام الملفات الكلي عند إعادة التشغيل.إعادة "
++"العنونة يمكن أن تستغرق وقتاً طويلاً، اعتماداً على حجم النظام.إذا كنت تقوم "
++"بتغيير أنواع السياسة أو الانتقال من تعطيل إلى إلزامي، إعادة العنونة تكون "
++"مطلوبة."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "إعادة العنونة عند إعادة التشغيل"
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "إعادة ضبط الإعداد المنطقي إلى النظام الافتراضي"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "تبديل بين القيم المنطقية الكلية والمخصصة"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "تشغيل تأمين المعالج المنطقي"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "تأمين..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "مرشح"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "إضافة سياق الملف"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "تعديل سياق الملف"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "حذف سياق الملف"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "تبديل بين سياق الملف الكلي والمخصص"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "إضافة مخطط مستخدم SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "تغيير مخطط مستخدم SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "حذف مخطط مستخدم SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "إضافة مستخدم"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "تعديل مستخدم"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "حذف مستخدم"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "إضافة ترجمة"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "تعديل الترجمة"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "حذف الترجمة"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "إضافة منفذ الشبكة"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "تغيير منفذ الشبكة"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "حذف منفذ الشبكة"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "تبديل المنافذ بين الكل والمخصصة"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "إنشاء وحدة سياسة جديدة"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "تحميل وحدة السياسة"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "إزالة وحدة السياسة القابلة للتحميل (ديناميكياً)"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr "تمكين/تعطيل قواعد تدوين إضافية، التي لم يبلغ عنها عادة في ملفات السجل."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "تغيير حالة العملية لمتساهل"
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "تغيير حالة العملية لإلزامي"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "نطاق العملية"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "مستخدم SELinux '%s' مطلوب"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "مستوى الحساسية"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/as.po policycoreutils-2.0.85/po/as.po
+--- nsapolicycoreutils/po/as.po        2011-02-17 15:11:25.843723011 -0500
++++ policycoreutils-2.0.85/po/as.po    2011-02-18 16:03:41.339975541 -0500
+@@ -1,23 +1,43 @@
+-# translation of as.po to Assamese
++# translation of policycoreutils.HEAD.po to Assamese
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # Amitakhya Phukan <amitakhya.phukan@gmail.com>, 2006.
+ # Amitakhya Phukan <aphukan@redhat.com>, 2008.
+-# Amitakhya Phukan <aphukan@fedoraproject.org>, 2008.
++# Amitakhya Phukan <aphukan@fedoraproject.org>, 2008, 2009.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: as\n"
++"Project-Id-Version: policycoreutils.HEAD\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-01-31 12:04+0530\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2009-06-03 15:55+0530\n"
+ "Last-Translator: Amitakhya Phukan <aphukan@fedoraproject.org>\n"
+ "Language-Team: Assamese\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms: nplurals=2; plural=(n!=1)\n"
++"Plural-Forms: nplurals=2; plural=n != 1\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "নতুন নিয়মনীতিৰ মডিউল নিৰ্মাণ কৰক"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux Policy নিৰ্মাণৰ সামগ্ৰী"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -109,24 +129,24 @@
+ msgstr "semanage সংযোগ স্থাপন কৰা নাযায়"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s'ৰ ক্ষেত্ৰত MLS ৰেঞ্জ নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "MLS-ৰ সক্ৰিয় অৱস্থা পৰীক্ষা কৰা নাযায়"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "আন্তৰ্জাতিক"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "%s খোলোঁতে ব্যৰ্থ: MLS-বিহীন যন্ত্ৰত অনুবাদ সমৰ্থন কৰা নহয়"
++msgstr "%s খোলোঁতে ব্যৰ্থ: MLS-বিহীন যন্ত্ৰত অনুবাদ সমৰ্থন কৰা নহয়: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "স্তৰ"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "অনুবাদ"
+@@ -143,16 +163,16 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "অনুবাদত %s বৰ্তমানে ব্যাখ্যা কৰা হৈছে"
++msgstr "অনুবাদত %s বৰ্তমানে বেখ্যা কৰা হৈছে"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "অনুবাদত %s'ৰ ব্যাখ্যা কৰা নহয়"
++msgstr "অনুবাদত %s'ৰ বেখ্যা কৰা নহয়"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "বাস্তবায়িত নহয়"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+@@ -163,768 +183,764 @@
+ msgstr "semanage আদান-প্ৰদান আৰম্ভ কৰা নাযায়"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage আদান-প্ৰদান আৰম্ভ কৰা নাযায়"
++msgstr "semanage আদান-প্ৰদান সমাপ্ত কৰা নাযায়"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+ msgstr ""
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux ব্যৱহাৰকৰোঁতাসকলৰ তালিকা নিৰ্মাণ কৰা নাযায়"
++msgstr "SELinux অংশৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Permissive (সতৰ্কতামূলক) ধৰন"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "permissive ডোমেইন %s নিৰ্ধাৰণ কৰা নাযায় (মডিউল সংস্থাপন কৰিবলৈ ব্যৰ্থ)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "permissive ডোমেইন %s সৰিয়ে ফেলা নাযায় (অপসাৰণ কৰিবলৈ ব্যৰ্থ)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s'ৰ বাবে চাবি নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰৱেশ মেপিং ব্যৱস্থা নিৰ্ধাৰিত হৈছে নে নাই পৰীক্ষা কৰা নাযায়"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰৱেশ মেপিং ব্যৱস্থা বৰ্তমানে নিৰ্ধাৰিত হৈছে"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux ব্যৱহাৰকৰোঁতা %s বৰ্তমানে উপস্থিত নাই"
++msgstr "Linux সমষ্টি %s উপস্থিত নাই"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux ব্যৱহাৰকৰোঁতা %s বৰ্তমানে উপস্থিত নাই"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰৱেশ মেপিং ব্যৱস্থা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s'ৰ নাম নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত MLS ৰেঞ্জ নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত SELinux ব্যৱহাৰকৰোঁতা নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰৱেশ মেপিং ব্যৱস্থা যোগ কৰা নাযায়"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা মেপিং যোগ কৰা হ'ব"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser অথবা serange আৱশ্যক"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰৱেশ মেপিং ব্যৱস্থা নিৰ্ধাৰিত নহয়"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত seuser সন্ধান কৰা নাযায়"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰৱেশ মেপিং ব্যৱস্থা পৰিবৰ্তন কৰা নাযায়"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "%s'ৰ বাবে প্ৰৱেশ মেপিং ব্যৱস্থা নিয়মনীতিত নিৰ্ধাৰিত হোৱাৰ ফলত আঁতৰুৱা সম্ভৱ নহয়"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰৱেশ মেপিং আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "প্ৰৱেশ মেপিং তালিকাভুক্ত কৰা নাযায়"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "প্ৰৱেশ নাম"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS সীমা"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰ context যোগ কৰা নাযায়"
++msgstr "%s'ৰ অন্তত এটা ভূমিকা যোগ কৰা আৱশ্যক"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা %s'ৰ বৈশিষ্ট্য নিৰ্ধাৰিত নে নাই পৰীক্ষা কৰা নাযায়"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা %s'ৰ বৈশিষ্ট্য বৰ্তমানে নিৰ্ধাৰিত হৈছে"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s'ৰ বাবে SELinux ব্যৱহাৰকৰোঁতা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "%s ভূমিকাটি, %s'ৰ বাবে নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত MLS স্তৰ নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "%s প্ৰেফিক্সটি %s'ৰ ক্ষেত্ৰত যোগ কৰা নাযায়"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s'ৰ বাবে চাবি প্ৰাপ্ত কৰা নাযায়"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা %s যোগ কৰা নাযায়"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "প্ৰেফিক্স, ভূমিকা, স্তৰ অথবা ৰেঞ্জ উল্লেখ কৰা আৱশ্যক"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "প্ৰেফিক্স অথবা ভূমিকা উল্লেখ কৰা আৱশ্যক"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা %s'ৰ বৈশিষ্ট্য নিৰ্ধাৰিত নহয়"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s'ৰ বাবে ব্যৱহাৰকৰোঁতা সন্ধান কৰা নাযায়"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা %s'ৰ বৈশিষ্ট্য পৰিবৰ্তন কৰা নাযায়"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "SELinux ব্যৱহাৰকৰোঁতা %s'ৰ বৈশিষ্ট্য নিয়মনীতিত নিৰ্ধাৰিত হৈছে যাৰ ফলত অপসাৰণযোগ্য "
+ "নহয়"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতা %s আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux ব্যৱহাৰকৰোঁতাসকলৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "ব্যৱহাৰকৰোঁতা %s'ৰ ভূমিকাৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "লেবেল ব্যৱস্থা"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "প্ৰেফিক্স"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS স্তৰ"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS সীমা"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux ৰোল"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "udp অথবা tcp প্ৰোটোকল আৱশ্যক"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "পোৰ্ট উল্লেখ কৰা আৱশ্যক"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s'ৰ বাবে চাবি নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "ধৰন উল্লেখ কৰা আৱশ্যক"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "পোৰ্ট %s/%s নিৰ্ধাৰিত হৈছে নে নাই পৰীক্ষা কৰা নাযায়"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "পোৰ্ট %s/%s বৰ্তমানে নিৰ্ধাৰিত আছে"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s'ৰ বাবে পোৰ্ট নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s'ৰ বাবে context নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s'ৰ ক্ষেত্ৰত পোৰ্ট context'ত ব্যৱহাৰকৰোঁতা নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s'ৰ ক্ষেত্ৰত পোৰ্ট context'ত ভূমিকা নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s'ৰ ক্ষেত্ৰত পোৰ্ট context'ত ধৰন নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s'ৰ ক্ষেত্ৰত পোৰ্ট context'ত mls ক্ষেত্ৰ নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s'ৰ ক্ষেত্ৰত পোৰ্ট context নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "%s/%s পোৰ্ট যোগ কৰা নাযায়"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype অথবা serange আৱশ্যক"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype আৱশ্যক"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "%s/%s পোৰ্ট নিৰ্ধাৰিত নহয়"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "%s/%s পোৰ্ট সন্ধান কৰা নাযায়"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "%s/%s পোৰ্ট পৰিবৰ্তন কৰা নাযায়"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "পোৰ্টেৰ তালিকা নিৰ্মাণ কৰা নাযায়"
++msgstr "প'ৰ্টৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "%s/%s পোৰ্ট আঁতৰুৱা নাযায়"
++msgstr "%s পোৰ্ট আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "%s/%s পোৰ্টটি নিয়মনীতিত নিৰ্ধাৰিত হোৱাৰ ফলত অপসাৰণযোগ্য নহয়"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "%s/%s পোৰ্ট আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+-msgstr "পোৰ্টেৰ তালিকা নিৰ্মাণ কৰা নাযায়"
++msgstr "প'ৰ্টৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux পোৰ্টৰ ধৰন"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "প্ৰোটো"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "পোৰ্ট সংখ্যা"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "পোৰ্ট উল্লেখ কৰা আৱশ্যক"
++msgstr "নোডৰ ঠিকনা উল্লেখ কৰা আৱশ্যক"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "পোৰ্ট উল্লেখ কৰা আৱশ্যক"
++msgstr "নোডৰ নেটমাস্ক উল্লেখ কৰা আৱশ্যক"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "অজ্ঞাত বা হেৰুৱা আচাৰবিধি"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux Type আৱশ্যক"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s'ৰ চাবি নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "পোৰ্ট %s/%s নিৰ্ধাৰিত হৈছে নে নাই পৰীক্ষা কৰা নাযায়"
++msgstr "addr %s নিৰ্ধাৰিত হৈছে নে নাই পৰীক্ষা কৰা নাযায়"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "পোৰ্ট %s/%s বৰ্তমানে নিৰ্ধাৰিত আছে"
++msgstr "addr %s বৰ্তমানে নিৰ্ধাৰিত আছে"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s'ৰ বাবে চাবি নিৰ্মাণ কৰা নাযায়"
++msgstr "%s-ৰ বাবে addr নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s'ৰ বাবে context নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s'ৰ নাম নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s-ৰ মাস্ক নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ ব্যৱহাৰকৰোঁতা বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত addr context লৈ ব্যৱহাৰকৰ্তা বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ ভূমিকা নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত addr context লৈ ভূমিকা নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ ধৰন নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত addr context লৈ ধৰন নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ mls ক্ষেত্ৰ নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত addr context লৈ mls ক্ষেত্ৰ নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত addr context নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s পোৰ্ট যোগ কৰা নাযায়"
++msgstr "%s addr যোগ কৰা নাযায়"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "%s/%s পোৰ্ট নিৰ্ধাৰিত নহয়"
++msgstr "%s addr নিৰ্ধাৰিত নহয়"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "%s/%s পোৰ্ট সন্ধান কৰা নাযায়"
++msgstr "%s addr প্ৰশ্ন কৰা নাযায়"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "%s/%s পোৰ্ট পৰিবৰ্তন কৰা নাযায়"
++msgstr "%s addr পৰিবৰ্তন কৰা নাযায়"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "%s/%s পোৰ্টটি নিয়মনীতিত নিৰ্ধাৰিত হোৱাৰ ফলত অপসাৰণযোগ্য নহয়"
++msgstr "%s addr নিয়মনীতিত নিৰ্ধাৰিত হোৱাৰ ফলত অপসাৰণযোগ্য নহয়"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s প্ৰেক্ষাপট আঁতৰুৱা নাযায়"
++msgstr "%s addr আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "পোৰ্টেৰ তালিকা নিৰ্মাণ কৰা নাযায়"
++msgstr "addr-ৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "%s প্ৰেক্ষাপটৰ বৈশিষ্ট্য নিৰ্ধাৰিত হৈছে নে নাই পৰীক্ষা কৰা নাযায়"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "%s প্ৰেক্ষাপট বৰ্তমানে নিৰ্ধাৰিত আছে"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s'ৰ প্ৰেক্ষাপট নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context'এ ব্যৱহাৰকৰোঁতা বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context লৈ ব্যৱহাৰকৰোঁতা বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context'এ ভূমিকাৰ বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context লৈ ভূমিকাৰ বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context'এ ধৰন নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context লৈ ধৰন নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context'এ mls ক্ষেত্ৰ নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context লৈ mls ক্ষেত্ৰ নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত প্ৰেক্ষাপটৰ context'ৰ বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত বাৰ্তাৰ context নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "%s প্ৰেক্ষাপট যোগ কৰা নাযায়"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "%s প্ৰেক্ষাপটৰ বৈশিষ্ট্য নিৰ্ধাৰিত নহয়"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "%s প্ৰেক্ষাপট সন্ধান কৰা নাযায়"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "%s প্ৰেক্ষাপট পৰিবৰ্তন কৰা নাযায়"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "%s প্ৰেক্ষাপটটি নিয়মনীতিত নিৰ্ধাৰিত হৈছে আৰু অপসাৰণযোগ্য নহয়"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "%s প্ৰেক্ষাপট আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "প্ৰেক্ষাপটৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux সংযোগমাধ্যম"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "কনটেক্সট"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ ব্যৱহাৰকৰোঁতা বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context লৈ ব্যৱহাৰকৰোঁতা বৈশিষ্ট্য নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ ভূমিকা নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context লৈ ভূমিকা নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ mls ক্ষেত্ৰ নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context লৈ mls ক্ষেত্ৰ নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1436
+-#, fuzzy
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
+-"নথিপত্ৰ\n"
+-"গুণ"
++msgstr "নথিপত্ৰৰ বৈশিষ্ট্য বৈধ নহয়"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s'ৰ নথিপত্ৰ context নিৰ্ধাৰিত হৈছে নে নাই পৰীক্ষা কৰা নাযায়"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s'ৰ নথিপত্ৰ context বৰ্তমানে নিৰ্ধাৰিত আছে"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s'ৰ নথিপত্ৰ contex নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context'এ ধৰন নিৰ্ধাৰণ কৰা নাযায়"
++msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context লৈ ধৰন নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰৰ context নিৰ্ধাৰণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s'ৰ ক্ষেত্ৰত নথিপত্ৰ context যোগ কৰা নাযায়"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange অথবা seuser আৱশ্যক"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s'ৰ নথিপত্ৰ context আৱশ্যক"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s'ৰ বাবে নথিপত্ৰ context সন্ধান কৰা নাযায়"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s'ৰ বাবে নথিপত্ৰ context পৰিবৰ্তন কৰা নাযায়"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "নথিপত্ৰ context'ৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "%s'ৰ নথিপত্ৰ context আঁতৰুৱা নাযায়"
++msgstr "নথিপত্ৰ context %s  আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "%s'ৰ নথিপত্ৰ context নিয়মনীতিত নিৰ্ধাৰিত হোৱাৰ ফলত তাক অপসাৰণ কৰা সম্ভৱ নহয়"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s'ৰ নথিপত্ৰ context আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "নথিপত্ৰ context'ৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "স্থানীয় নথিপত্ৰৰ context'ৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "ধৰন"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "বুলিয়েন %s'ৰ বৈশিষ্ট্য নিৰ্ধাৰিত হৈছে নে নাই তাক পৰীক্ষা কৰা নাযায়"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "বুলিয়েন %s'ৰ মান বৰ্তমানে নিৰ্ধাৰিত আছে"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "%s'ৰ নথিপত্ৰ context সন্ধান কৰা নাযায়"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "নাম উল্লেখ কৰা আৱশ্যক"
++msgstr "নিম্নলিখিত এটা মান উল্লেখ কৰা আৱশ্যক: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "বুলিয়েন %s আঁতৰুৱা নাযায়"
++msgstr "%s বুলিয়েনৰ সক্ৰিয় মান নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "%s বুলিয়েনৰ মান পৰিবৰ্তন কৰা নাযায়"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "ভুল বিন্যাস %s: ৰেকৰ্ড %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "বুলিয়েন %s'ৰ মান নিয়মনীতিত নিৰ্ধাৰিত হোৱাৰ ফলত অপসাৰণযোগ্য নহয়"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "বুলিয়েন %s আঁতৰুৱা নাযায়"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "বুলিয়েনৰ তালিকা নিৰ্মাণ কৰা নাযায়"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "অজানা"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "বন্ধ"
+-#: ../semanage/seobject.py:1780
+-#, fuzzy
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr "Cron"
++msgstr "আৰম্ভ"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux বুলিয়েন"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "বিৱৰণ"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -954,7 +970,7 @@
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "ত্ৰুটি!  বৈধ শেল ব্যৱহাৰ কৰা নহয় ।\n"
++msgstr "ত্ৰুটি!  বৈধ শ্বেল ব্যৱহাৰ কৰা নহয় ।\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+@@ -962,9 +978,9 @@
+ msgstr "পৰিবেশ পৰিশ্ৰুত কৰোঁতে ব্যৰ্থ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "কৰ্ম init কৰোঁতে ব্যৰ্থ, পৰিত্যাগ কৰা হৈছে ।\n"
++msgstr "ক্ষমতাৰ বৈশিষ্ট্যসমূহ আৰম্ভ ব্যৰ্থ, পৰিত্যাগ কৰা হৈছে ।\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1004,7 +1020,7 @@
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr "অডিট সিস্টেমেৰ সৈতে সংযোগ কৰোঁতে ব্যৰ্থ ।\n"
++msgstr "অডিট প্ৰণালীতৰ সৈতে সংযোগ কৰোঁতে ব্যৰ্থ ।\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+@@ -1037,7 +1053,7 @@
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s!  %s'ৰ ক্ষেত্ৰত নতুন context প্ৰাপ্ত কৰা নাযায়, tty'ৰ লেবেল পৰিবৰ্তন কৰা হ'ব না "
++"%s!  %s'ৰ ক্ষেত্ৰত নতুন context প্ৰাপ্ত কৰা নাযায়, tty'ৰ লেবেল পৰিবৰ্তন কৰা ন'হ'ব  "
+ "।\n"
+ #: ../newrole/newrole.c:791
+@@ -1063,12 +1079,12 @@
+ #: ../newrole/newrole.c:909
+ #, c-format
+ msgid "Error: multiple types specified\n"
+-msgstr "ত্ৰুটি: একাধিক ধৰনেৰ নথিপত্ৰ নিৰ্ধাৰিত হৈছে\n"
++msgstr "ত্ৰুটি: একাধিক ধৰনৰ নথিপত্ৰ নিৰ্ধাৰিত হৈছে\n"
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr "দূঃক্ষিত, -l অকল SELinux MLS সমৰ্থনেৰ সৈতে ব্যৱহাৰ কৰা যাবে\n"
++msgstr "দূঃক্ষিত, -l অকল SELinux MLS সমৰ্থনৰ সৈতে ব্যৱহাৰ কৰা যাবে\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+@@ -1076,9 +1092,9 @@
+ msgstr "ত্ৰুটি: একাধিক স্তৰ নিৰ্ধাৰিত হৈছে\n"
+ #: ../newrole/newrole.c:931
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr "ত্ৰুটি: কম নিৰাপত্তাসম্পন্ন টাৰ্মিনালে স্তৰ পৰিবৰ্তনেৰ অনুমতি অনুপস্থিত\n"
++msgstr "ত্ৰুটি: নিম্ন নিৰাপত্তাসম্পন্ন টাৰ্মিনেলত মাত্ৰা পৰিবৰ্তনৰ অনুমতি উপলব্ধ নহয় \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1138,7 +1154,7 @@
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr "দুঃক্ষিত, newrole অকল একটি SELinux কাৰ্ণেলে ব্যৱহাৰ কৰা যাবে ।\n"
++msgstr "দুঃক্ষিত, newrole অকল এটা SELinux কাৰ্ণেলে ব্যৱহাৰ কৰা যাবে ।\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+@@ -1146,7 +1162,7 @@
+ msgstr "old_context প্ৰাপ্ত কৰোঁতে ব্যৰ্থ ।\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+ msgstr "ত্ৰুটি!  tty সংক্ৰান্ত তথ্য প্ৰাপ্ত কৰা নাযায় ।\n"
+@@ -1178,12 +1194,12 @@
+ #: ../newrole/newrole.c:1287
+ #, c-format
+ msgid "Could not close descriptors.\n"
+-msgstr "বিবৰণ প্ৰদৰ্শন বন্ধ কৰা নাযায় ।\n"
++msgstr "বিৱৰণ প্ৰদৰ্শন বন্ধ কৰা নাযায় ।\n"
+ #: ../newrole/newrole.c:1314
+ #, c-format
+ msgid "Error allocating shell's argv0.\n"
+-msgstr "শেল'ৰ argv0 বৰাদ্দ কৰোঁতে ব্যৰ্থ ।\n"
++msgstr "শ্বেল'ৰ argv0 বৰাদ্দ কৰোঁতে ব্যৰ্থ ।\n"
+ #: ../newrole/newrole.c:1346
+ #, c-format
+@@ -1192,31 +1208,31 @@
+ #: ../newrole/newrole.c:1357
+ msgid "failed to exec shell\n"
+-msgstr "শেল exec কৰোঁতে ব্যৰ্থ\n"
++msgstr "শ্বেল exec কৰোঁতে ব্যৰ্থ\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "ব্যৱহাৰপ্ৰণালী:  %s [-q]\n"
++msgstr "ব্যৱহাৰপ্ৰণালী:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s:  পলিচি তুলি লোৱা হৈছে আৰু প্ৰাৰম্ভিক লোডৰ অনুৰোধ জনোৱা হৈছে\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  চিহ্নিত নিয়মনীতি লোড কৰা নাযায়:  %s\n"
++msgstr "%s:  পলিচি তুলি লোৱা নাযায় আৰু enforcing মোডৰ অনুৰোধ জনোৱা হৈছে:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s:  চিহ্নিত নিয়মনীতি লোড কৰা নাযায়:  %s\n"
++msgstr "%s:  চিহ্নিত নিয়মনীতি তুলি লোৱা নাযায়:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+-msgstr "অন্তত একটি শ্ৰেণী উল্লেখ কৰা আৱশ্যক"
++msgstr "অন্তত এটা শ্ৰেণী উল্লেখ কৰা আৱশ্যক"
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+@@ -1239,7 +1255,7 @@
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+-msgstr "একাধিক প্ৰকৃতিৰ সংবেদনশীলতা থাকা সম্ভৱ হ'ব না"
++msgstr "একাধিক প্ৰকৃতিৰ সংবেদনশীলতা থকা সম্ভৱ ন'হ'ব"
+ #: ../scripts/chcat:325
+ #, c-format
+@@ -1298,1483 +1314,2196 @@
+ msgid "Options Error %s "
+ msgstr "বিকল্প সংক্ৰান্ত ত্ৰুটি %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "MLS-বিহীন যন্ত্ৰত অনুবাদ সমৰ্থন কৰা নহয়"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "বুলিয়েন"
+-
+-#, fuzzy
+-#~ msgid "all"
+-#~ msgstr "সকল"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "নথিপত্ৰ লেবেল ব্যৱস্থা"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "নথিপত্ৰ\n"
+-#~ "গুণ"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "নথিপত্ৰ কনটেক্সট"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "নথিপত্ৰ\n"
+-#~ "ধৰন"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "ব্যৱহাৰকৰোঁতা মেপিং"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "প্ৰৱেশ\n"
+-#~ "নাম"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ব্যৱহাৰকৰোঁতা"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS সীমা"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "প্ৰৱেশ '%s' আৱশ্যক"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "পলিচি অংশ"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "অংশেৰ নাম"
+-
+-#~ msgid "Version"
+-#~ msgstr "ভাৰ্সান"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "পলিচি অংশ লোড কৰক"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat ২০০৭"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "অমিতাক্ষ ফুকন (aphukan@fedoraproject.org)"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux Policy নিৰ্মাণেৰ সামগ্ৰী"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ " SELinux প্ৰয়োগকাৰী অ্যাপ্লিকেশন অথবা ব্যৱহাৰকৰোঁতাসকলৰ confine কৰোঁতে ব্যৱহৃত "
+-#~ "পলিচিৰ পৰিকাঠামো নিৰ্মাণেৰ বাবে এই সামগ্ৰী ব্যৱহাৰ কৰা যাবে ।\n"
+-#~ "\n"
+-#~ "এই সামগ্ৰী প্ৰয়োগ কৰে নিৰ্মাণ কৰা যাবে:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - পলিচি কম্পাইল ও ইনস্টল কৰোঁতে ব্যৱহৃত ।"
+-
+-#, fuzzy
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "আৱদ্ধ কৰাৰ বাবে অ্যাপ্লিকেশন অথবা ব্যৱহাৰকৰোঁতাৰ ভূমিকা নিৰ্বাচন কৰক ।"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "বুলিয়েন"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "সকলো"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "স্বনিৰ্ধাৰিত"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "নথিপত্ৰ লেবেল ব্যৱস্থা"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>অ্যাপ্লিকেশন</b>"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "বুট কৰাৰ সময় init স্ক্ৰিপ্টৰ মাধ্যমে আৰম্ভ হওয়া ডেমনগুলি প্ৰমিত Init ডেমন নামে "
+-#~ "পৰিচিত । সাধাৰণত /etc/init.d-ত একটি স্ক্ৰিপ্ট উপস্থিত থাকা আৱশ্যক ।"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "প্ৰমিত Init ডেমন"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Internet Services Daemon-ৰ ডেমনগুলি xinetd দ্বাৰা আৰম্ভ কৰা হয় ।"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Internet Services Daemon (inetd)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "ওয়েব সাৰ্ভাৰ (apache) দ্বাৰা আৰম্ভ কৰা ওয়েব অ্যাপ্লিকেশন/স্ক্ৰিপ্ট (CGI) CGI "
+-#~ "স্ক্ৰিপ্ট"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "ওয়েব অ্যাপ্লিকেশন/স্ক্ৰিপ্ট (CGI)"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "ব্যৱহাৰকৰোঁতা দ্বাৰা আৰম্ভ কৰা কোনো অ্যাপ্লিকেশন যা আৱদ্ধ কৰাৰ বাবে চিহ্নিত তাক "
+-#~ "ব্যৱহাৰকৰোঁতাসকলৰ অ্যাপ্লিকেশন নামে পৰিচিত"
+-
+-#~ msgid "User Application"
+-#~ msgstr "ব্যৱহাৰকৰোঁতাসকলৰ অ্যাপ্লিকেশন"
+-
+-#, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>ব্যৱহাৰকৰোঁতা</b>"
+-
+-#, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "ভূমিকা"
+-
+-#, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>ব্যৱহাৰকৰোঁতা</b>"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "এই ব্যৱহাৰকৰোঁতা দ্বাৰা root পৰিচয়ে মেশিন পৰিচালনা কৰা হলে root ব্যৱহাৰকৰোঁতা "
+-#~ "নিৰ্বাচন কৰক । সিস্টেমে, এই ব্যৱহাৰকৰোঁতা সৰাসৰি প্ৰৱেশ কৰোঁতে সক্ষম হ'বন না ।"
+-
+-#, fuzzy
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Root ব্যৱহাৰকৰোঁতা"
+-
+-#, fuzzy
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "আৱদ্ধ কৰাৰ বাবে অ্যাপ্লিকেশন অথবা ব্যৱহাৰকৰোঁতাৰ ভূমিকা নিৰ্বাচন কৰক ।"
+-
+-#~ msgid "Name"
+-#~ msgstr "নাম"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "confine কৰাৰ বাবে এক্সেকিউটেবিলেৰ সম্পূৰ্ণ পাথ লিখুন ।"
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#, fuzzy
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "confine কৰা ব্যৱহাৰকৰোঁতা অথবা অ্যাপ্লিকেশনেৰ ধৰনেৰ স্বতন্ত্ৰ নাম লিখুন ।"
+-
+-#~ msgid "Executable"
+-#~ msgstr "এক্সেকিউটেবল"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Init স্ক্ৰিপ্ট"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "confine কৰা অ্যাপ্লিকেশন আৰম্ভেৰ বাবে init স্ক্ৰিপ্টৰ সম্পূৰ্ণ পাথ লিখুন ।"
+-
+-#, fuzzy
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "চিহ্নিত ব্যৱহাৰকৰোঁতা দ্বাৰা যে সমস্ত role ধাৰণ কৰা সম্ভৱ তাক নিৰ্বাচন কৰক"
+-
+-#, fuzzy
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "ৰূপান্তৰেৰ বাবে অতিৰিক্ত ব্যৱহাৰকৰোঁতা ডোমেইল নিৰ্বাচন কৰক"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "চিহ্নিত ব্যৱহাৰকৰোঁতা দ্বাৰা পৰিচালনাৰ উদ্দেশ্যে ডোমেইন নিৰ্বাচন কৰক ।"
+-
+-#, fuzzy
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "ব্যৱহাৰকৰোঁতা দ্বাৰা যে সমস্ত ডোমেইন পৰিচালিত হ'ব সেগুলি নিৰ্বাচন কৰক"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "চিহ্নিত ব্যৱহাৰকৰোঁতা দ্বাৰা পৰিচালনাৰ উদ্দেশ্যে ডোমেইন নিৰ্বাচন কৰক ।"
+-
+-#, fuzzy
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "ৰূপান্তৰেৰ বাবে অতিৰিক্ত ব্যৱহাৰকৰোঁতা ডোমেইল নিৰ্বাচন কৰক"
+-
+-#, fuzzy
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "তালিকা সৰ্বমোট."
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP পোৰ্ট</b>"
+-
+-#, fuzzy
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "confine কৰা অ্যাপ্লিকেশন/ব্যৱহাৰকৰোঁতাসকলৰ যে কোনো tcp পোৰ্টেৰ সৈতে bind কৰাৰ "
+-#~ "সুযোগ দেয় ।"
+-
+-#~ msgid "All"
+-#~ msgstr "সকল"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr "১০২৪"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr "তালিকা সৰ্বমোট."
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "অসংৰক্ষিত পোৰ্ট (>1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "নিৰ্বাচিত পোৰ্ট"
+-
+-#, fuzzy
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr "১০২৪"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP পোৰ্ট</b>"
+-
+-#, fuzzy
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "তালিকা সৰ্বমোট."
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr "তালিকা সৰ্বমোট."
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr "তালিকা সৰ্বমোট."
+-
+-#, fuzzy
+-#~ msgid "Select common application traits"
+-#~ msgstr "অ্যাপ্লিকেশন"
+-
+-#, fuzzy
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "অ্যাপ্লিকেশন"
+-
+-#, fuzzy
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "অ্যাপ্লিকেশন তৈৰি কৰক"
+-
+-#, fuzzy
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "অ্যাপ্লিকেশন উল্লিখিত সময় অবধি"
+-
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "অডিট সংক্ৰান্ত বাৰ্তা পাঠাতে ব্যৰ্থ ।\n"
+-
+-#, fuzzy
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "পঞ্জিকা"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr "নথিপত্ৰ নথিপত্ৰ নথিপত্ৰ নথিপত্ৰ."
+-
+-#, fuzzy
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "নথিপত্ৰ"
+-
+-#, fuzzy
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "confine কৰা অ্যাপ্লিকেশন আৰম্ভেৰ বাবে init স্ক্ৰিপ্টৰ সম্পূৰ্ণ পাথ লিখুন ।"
+-
+-#, fuzzy
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "পঞ্জিকা"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "পলিচি পঞ্জিকা"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "নথিপত্ৰ"
+-
+-#, fuzzy
+-#~ msgid "Boolean Name"
+-#~ msgstr "বুলিয়েন"
+-
+-#~ msgid "Role"
+-#~ msgstr "ভূমিকা"
+-
+-#~ msgid "Application"
+-#~ msgstr "অ্যাপ্লিকেশন"
+-
+-#, fuzzy
+-#~ msgid "%s must be a directory"
+-#~ msgstr "পঞ্জিকা"
+-
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "নাম উল্লেখ কৰা আৱশ্যক"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "confine কৰাৰ উদ্দেশ্যে এক্সিকিউটেবিল নথিপত্ৰ নিৰ্বাচন কৰক"
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "confine কৰাৰ উদ্দেশ্যে init script নথিপত্ৰ নিৰ্বাচন কৰক ।"
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "নথিপত্ৰ"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"নথিপত্ৰ\n"
++"গুণ"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"নথিপত্ৰৰ ধৰন"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"নথিপত্ৰ\n"
++"ধৰন"
+-#~ msgid "You must enter a name"
+-#~ msgstr "নাম উল্লেখ কৰা আৱশ্যক"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "ব্যৱহাৰকৰোঁতা মেপিং"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "এক্সেকিউটেবল উল্লেখ কৰা আৱশ্যক"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"প্ৰৱেশ\n"
++"নাম"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux কনফিগাৰ কৰক"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"ব্যৱহাৰকৰোঁতা"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "পোৰ্ট সংখ্যা 1 থেকে %d-ত হওয়া আৱশ্যক "
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS সীমা"
+-#, fuzzy
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "প্ৰৱেশ '%s' আৱশ্যক"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "বুলিয়েন মান "
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "পলিচি অংশ"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "ধৰন"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "অংশেৰ নাম"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "ভাৰ্সান"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "ধৰন নথিপত্ৰ"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "অডিট নিষ্ক্ৰিয় কৰা হ'ব"
+-#~ msgid "Interface file"
+-#~ msgstr "সংযোগমাধ্যম সংক্ৰান্ত নথিপত্ৰ"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "অডিট সক্ৰিয় কৰা হ'ব"
+-#~ msgid "File Contexts file"
+-#~ msgstr "নথিপত্ৰ কনটেক্সটেৰ নথিপত্ৰ"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "পলিচি অংশ লোড কৰক"
+-#~ msgid "Setup Script"
+-#~ msgstr "বৈশিষ্ট্য"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux পোৰ্ট\n"
+-#~ "ধৰন"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat ২০০৭"
+-#~ msgid "Protocol"
+-#~ msgstr "প্ৰোটোকল"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "স্তৰ"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "অমিতাক্ষ ফুকন (aphukan@fedoraproject.org)"
+-#~ msgid "Port"
+-#~ msgstr "পোৰ্ট"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++" SELinux প্ৰয়োগকাৰী অনুপ্ৰয়োগ অথবা ব্যৱহাৰকৰোঁতাসকলৰ confine কৰোঁতে ব্যৱহৃত পলিচিৰ "
++"পৰিকাঠামো নিৰ্মাণৰ বাবে এই সামগ্ৰী ব্যৱহাৰ কৰা যাবে ।\n"
++"\n"
++"এই সামগ্ৰী প্ৰয়োগ কৰে নিৰ্মাণ কৰা যাবে:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - পলিচি কম্পাইল আৰু সংস্থাপন কৰোঁতে ব্যৱহৃত ।"
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "আৱদ্ধ কৰাৰ বাবে অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তাৰ ভূমিকা নিৰ্বাচন কৰক ।"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>অনুপ্ৰয়োগ</b>"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "প'ৰ্ট সংখ্যা \"%s\" বৈধ নহয় ।  0 < PORT_NUMBER < 65536 "
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"বুট কৰাৰ সময় init স্ক্ৰিপ্টৰ মাধ্যমে আৰম্ভ হোৱা ডেমনসমূহ প্ৰমিত Init ডেমন নামে "
++"পৰিচিত । সাধাৰণতে /etc/rc.d/init.d-ত এটা স্ক্ৰিপ্ট উপস্থিত থকা আৱশ্যক ।"
+-#~ msgid "Group View"
+-#~ msgstr "দল ভিউ"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "প্ৰমিত Init ডেমন"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "সেৱা"
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS প্ৰণালী ডেমন"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet Services Daemon-ৰ ডেমনসমূহ xinetd দ্বাৰা আৰম্ভ কৰা হয় ।"
+-#~ msgid "Admin"
+-#~ msgstr "প্ৰশাসক"
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "ওয়েব সেৱক (apache) দ্বাৰা আৰম্ভ কৰা ওয়েব অনুপ্ৰয়োগ/স্ক্ৰিপ্ট (CGI) CGI স্ক্ৰিপ্ট"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "ওয়েব অনুপ্ৰয়োগ/স্ক্ৰিপ্ট (CGI)"
+-#~ msgid "Memory Protection"
+-#~ msgstr "স্মৃতিশক্তি সংৰক্ষণ"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"ব্যৱহাৰকৰোঁতা দ্বাৰা আৰম্ভ কৰা কোনো অনুপ্ৰয়োগ যা আৱদ্ধ কৰাৰ বাবে চিহ্নিত তাক "
++"ব্যৱহাৰকৰোঁতাসকলৰ অনুপ্ৰয়োগ নামে পৰিচিত"
+-#~ msgid "Mount"
+-#~ msgstr "মাউন্ট কৰক"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "ব্যৱহাৰকৰোঁতাসকলৰ অনুপ্ৰয়োগ"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "নথিপত্ৰ"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>ব্যৱহাৰকৰ্তাৰ লগ-ইন</b>"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "বৰ্তমানে উপস্থিত লগ-ইন ব্যৱহাৰকৰ্তাৰ তথ্য পৰিবৰ্তন কৰক ।"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "বৰ্তমানে উপস্থিত ব্যৱহাৰকৰ্তা ভূমিকা"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "পঞ্জিকা"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"চিহ্নিত ব্যৱহাৰকৰ্তা টাৰ্মিন্যাল অথবা দূৰবৰ্তী লগ-ইনৰ মাধ্যমে যন্ত্ৰে লগ-ইন কৰিবলৈ "
++"পাৰিবন ।  ডিফল্টৰূপে, এই যন্ত্ৰে কোনো setuid, নে'টৱৰ্ক, sudo অথবা su উপস্থিত থাকবে "
++"না"
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "সৰ্বনিম্ন টাৰ্মিন্যাল ব্যৱহাৰকৰ্তাৰ ভূমিকা"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"চিহ্নিত ব্যৱহাৰকৰ্তা X অথবা টাৰ্মিন্যালৰ মাধ্যমে যন্ত্ৰে লগ-ইন কৰিবলৈ পাৰিবন ।  "
++"ডিফল্টৰূপে, এই যন্ত্ৰে কোনো setuid, নে'টৱৰ্ক, sudo অথবা su উপস্থিত থাকবে না"
+-#~ msgid "Network Configuration"
+-#~ msgstr "নে'টৱৰ্ক বিন্যাস"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "সৰ্বনিম্ন X Windows ব্যৱহাৰকৰ্তাৰ ভূমিকা"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "উপৰ নে'টৱৰ্ক"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"সম্পূৰ্ণ নে'টৱৰ্ক, ৰূপান্তৰবিহীন setuid অনুপ্ৰয়োগ বিনা, su বিনা আৰু sudo বিনা "
++"ব্যৱহাৰকৰ্তা ভূমিকা ।"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "ব্যৱহাৰকৰ্তাৰ ভূমিকা"
+-#~ msgid "Databases"
+-#~ msgstr "তথ্যভঁৰাল"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"সম্পূৰ্ণ নে'টৱৰ্ক, ৰূপান্তৰবিহীন setuid অনুপ্ৰয়োগ বিনা আৰু su বিনা ব্যৱহাৰকৰ্তা ভূমিকা । "
++"sudo সহযোগে root ব্যৱহাৰকৰ্তাৰ প্ৰশাসনিক ভূমিকা প্ৰয়োগ কৰা যাবে ।"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "অ্যাডমিন ব্যৱহাৰকৰ্তাৰ ভূমিকা"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "এক্স স্থানাঙ্ক"
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>root ব্যৱহাৰকৰ্তা</b>"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "পঞ্জিকা"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"এই ব্যৱহাৰকৰ্তা দ্বাৰা root পৰিচয়ে যন্ত্ৰ পৰিচালনা কৰা হলে 'Root প্ৰশাসনিক "
++"ব্যৱহাৰকৰ্তাৰ ভূমিকা' নিৰ্বাচন কৰক । প্ৰণালীত, এই ব্যৱহাৰকৰ্তাই পোনেপোনে লগ-ইন "
++"কৰিবলৈ সক্ষম ন'হ'ব ।"
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root প্ৰশাসনিক ব্যৱহাৰকৰ্তাৰ ভূমিকা"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "confine কৰাৰ বাবে অনুপ্ৰয়োগ অথবা ব্যৱহাৰকৰ্তাৰ নাম নিৰ্বাচন কৰক ।"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "নাম"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "confine কৰাৰ বাবে এক্সেকিউটেবিলৰ সম্পূৰ্ণ পাথ লিখক ।"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "confine কৰা ব্যৱহাৰকৰ্তা অথবা অনুপ্ৰয়োগ ভূমিকাৰ স্বতন্ত্ৰ নাম লিখক ।"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "এক্সেকিউটেবল"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init স্ক্ৰিপ্ট"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "confine কৰা অনুপ্ৰয়োগ আৰম্ভেৰ বাবে init স্ক্ৰিপ্টৰ সম্পূৰ্ণ পাথ লিখক ।"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "স্বনিৰ্ধাৰণৰ বাবে প্ৰযোজ্য ব্যৱহাৰকৰ্তাৰ ভূমিকা চিহ্নিত কৰক"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "চিহ্নিত অনুপ্ৰয়োগ ডোমেইনেত ৰূপান্তৰযোগ্য ব্যৱহাৰকৰ্তাৰ ভূমিকা নিৰ্বাচন কৰক"
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "এই ব্যৱহাৰকৰ্তা ভূমিকা দ্বাৰা ৰূপান্তৰৰ বাবে অতিৰিক্ত ডোমেইন নিৰ্বাচন কৰক"
+-#~ msgid "Web Applications"
+-#~ msgstr "ওয়েব অ্যাপ্লিকেশন"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"চিহ্নিত ব্যৱহাৰকৰ্তাৰ ভূমিকা দ্বাৰা যি সকলো অনুপ্ৰয়োগ ডোমেইনলৈ ৰূপান্তৰ কৰা সম্ভৱ হ'ব "
++"সেইটো নিৰ্বাচন কৰক ।"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "চিহ্নিত ডোমেইনেত ৰূপান্তৰযোগ্য ব্যৱহাৰকৰ্তাৰ ভূমিকা নিৰ্বাচন কৰক"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++"ব্যৱহাৰকৰ্তা দ্বাৰা যি সকলো অতিৰিক্ত ডোমেইন পৰিচালিত হ'ব সেইসমূহ নিৰ্বাচন কৰক"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "চিহ্নিত ব্যৱহাৰকৰোঁতা দ্বাৰা পৰিচালনাৰ উদ্দেশ্যে ডোমেইন নিৰ্বাচন কৰক ।"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "চিহ্নিত ব্যৱহাৰকৰ্তাৰ বাবে অতিৰিক্ত ভূমিকা নিৰ্বাচন কৰক"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তা ভূমিকা দ্বাৰা যি সকলো নে'টৱৰ্ক পোৰ্টত অপেক্ষা কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP পোৰ্ট</b>"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"confine কৰা অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তাৰ যি কোনো udp পোৰ্টৰ সৈতে bind কৰাৰ সুযোগ দিয়ে ।"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "সকল"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তাৰ 0 প্ৰয়োগ কৰি bindresvport কল কৰাৰ সুযোগ দিয়া হ'ব । পোৰ্ট "
++"সংখ্যা ৬০০-১০২৪-ৰ সৈতে bind কৰা হ'ব ।"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Cluster Server-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তা ভূমিকা দ্বাৰা যি সকলো udp পোৰ্ট অথবা পোৰ্ট সীমাত উপস্থিত পোৰ্টৰ "
++"সৈতে বাইন্ড কৰিবলৈ সক্ষম হ'ব সেইসমূহৰ তালিকা নিৰ্মাণ কৰক আৰু কমা চিহ্ন দ্বাৰা "
++"বিভাজন কৰক । উদাহৰণস্বৰূপ: 612, 650-660"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "অসংৰক্ষিত পোৰ্ট (>1024)"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "নিৰ্বাচিত পোৰ্ট"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তাৰ 1024-ৰ অধিক যি কোনো udp পোৰ্টৰ সৈতে bind কৰাৰ সুযোগ দিয়া "
++"হয় ।"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP পোৰ্ট</b>"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তা ভূমিকা দ্বাৰা যি সকলো নে'টৱৰ্ক পোৰ্টৰ সৈতে সংযোগ স্থাপন কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তা ভূমিকা দ্বাৰা যি সকলো tcp পোৰ্ট অথবা পোৰ্ট সীমাত উপস্থিত পোৰ্টৰ "
++"সৈতে সংযোগ কৰিবলৈ সক্ষম হ'ব সেইসমূহৰ তালিকা নিৰ্মাণ কৰক আৰু কমা চিহ্ন দ্বাৰা "
++"বিভাজন কৰক । উদাহৰণস্বৰূপ: 612, 650-660"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তা ভূমিকা দ্বাৰা যি সকলো udp পোৰ্ট অথবা পোৰ্ট সীমাত উপস্থিত পোৰ্টৰ "
++"সৈতে সংযোগ কৰিবলৈ সক্ষম হ'ব সেইসমূহৰ তালিকা নিৰ্মাণ কৰক আৰু কমা চিহ্ন দ্বাৰা "
++"বিভাজন কৰক । উদাহৰণস্বৰূপ: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "সাধাৰণ অনুপ্ৰয়োগৰ বৈশিষ্ট্য নিৰ্বাচন কৰক"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog বাৰ্তা লিখা হয়\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp-ত উপস্থিত অস্থায়ী নথিপত্ৰ নিৰ্মাণ/পৰিবৰ্তন কৰক"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "অনুমোদনৰ বাবে Pam ব্যৱহাৰ কৰক"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch অথবা getpw* কল ব্যৱহাৰ কৰা হয়"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus ব্যৱহাৰ কৰা হয়"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "অডিট সংক্ৰান্ত বাৰ্তা পঠিওৱা হয়"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "টাৰ্মিন্যালৰ সৈতে যোগাযোগ"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ই-মেইল বাৰ্তা পঠিওৱা হয়"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "অনুপ্ৰয়োগ দ্বাৰা পৰিচালিত নথিপত্ৰ/পঞ্জিকা নিৰ্বাচন কৰক"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"অনুপ্ৰয়োগ যি সকলো নথিপত্ৰ/পঞ্জিকাত \"Write\" লিখিবলৈ পাৰিব সেইসমূহৰ নাম যোগ কৰক । "
++"Pid নথিপত্ৰ, লগ নথিপত্ৰ, /var/lib নথিপত্ৰ ..."
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "অনুপ্ৰয়োগ দ্বাৰা ব্যৱহৃত বুলিয়েন নিৰ্বাচন কৰক"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "কনফাইন কৰা অনুপ্ৰয়োগ/ব্যৱহাৰকৰ্তাৰ বাবে প্ৰয়োগ হোৱা বুলিয়েন যোগ কৰক/আঁতৰাওক"
+-#~ msgid "Printing"
+-#~ msgstr "প্ৰিন্ট ব্যৱস্থা"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "নিয়মনীতি নিৰ্মাণৰ বাবে ব্যৱহাৰযোগ্য পঞ্জিকা নিৰ্বাচন কৰক"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd ব্যাক-এন্ড সাৰ্ভাৰেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "পলিচি পঞ্জিকা"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "নথিপত্ৰ"
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"এই সৰঞ্জাম দ্বাৰা নিম্নলিখিত সামগ্ৰী নিৰ্মিত হ'ব: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"নথিপত্ৰ/পঞ্জিকা কম্পাইল/সংস্থাপন আৰু পুনৰায় লেবেল কৰাৰ বাবে root পৰিচয়ে শ্বেল "
++"স্ক্ৰিপ্ট সঞ্চালন কৰক ।  \n"
++"Linux লগ-ইন ব্যৱহাৰকৰ্তাৰ সৈতে ব্যৱহাৰকৰ্তাৰ ভূমিকাৰ যোগসূত্ৰ স্থাপন কৰাৰ বাবে "
++"semange অথবা useradd প্ৰয়োগ কৰক ।\n"
++"যন্ত্ৰ permissive (সতৰ্কতামূলক) মোডত স্থাপন কৰক (setenforce 0) । \n"
++"ব্যৱহাৰকৰ্তা ৰূপে লগ-ইন কৰক আৰু ব্যৱহাৰকৰ্তাৰ ভূমিকা পৰীক্ষা কৰক ।\n"
++"te নথিপত্ৰৰ বাবে অতিৰিক্ত নিয়ম নিৰ্ধাৰণ কৰাৰ বাবে audit2allow -R প্ৰয়োগ কৰক ।\n"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"এই সৰঞ্জাম দ্বাৰা নিম্নলিখিত সামগ্ৰী নিৰ্মিত হ'ব: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"নথিপত্ৰ/পঞ্জিকা কম্পাইল/সংস্থাপন আৰু পুনৰায় লেবেল কৰাৰ বাবে root পৰিচয়ে শ্বেল "
++"স্ক্ৰিপ্ট সঞ্চালন কৰক ।  \n"
++"যন্ত্ৰটি permissive (সতৰ্কতামূলক) মোডে স্থাপন কৰক (setenforce 0) । \n"
++"ব্যৱহাৰকৰ্তা ৰূপে লগ-ইন কৰক আৰু ব্যৱহাৰকৰ্তাৰ ভূমিকা পৰীক্ষা কৰক ।\n"
++"te নথিপত্ৰৰ বাবে অতিৰিক্ত নিয়ম নিৰ্ধাৰণ কৰাৰ বাবে audit2allow -R প্ৰয়োগ কৰক ।\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "বুলিয়েন ডায়লগ যোগ কৰক"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "বুলিয়েন নাম"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "ভূমিকা"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "উপস্থিত_ব্যৱহাৰকৰ্তা"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "অনুপ্ৰয়োগ"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s পঞ্জিকা হোৱা আৱশ্যক"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "এটা ব্যৱহাৰকৰ্তা নিৰ্বাচন কৰা আৱশ্যক"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "confine কৰাৰ উদ্দেশ্যে এক্সিকিউটেবিল নথিপত্ৰ নিৰ্বাচন কৰক"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "confine কৰাৰ উদ্দেশ্যে init script নথিপত্ৰ নিৰ্বাচন কৰক ।"
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "নথিপত্ৰ"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "পঞ্জিকা"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "পঞ্জিকা"
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"বৰ্তমান নিয়মনীতিত %s_t ধৰন বৰ্তমানে বেখ্যা কৰা হৈছে ।\n"
++"আগবাঢ়িব'লৈ ইচ্ছুক নেকি?"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "নাম পৰীক্ষণ"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"বৰ্তমান নিয়মনীতিত %s.pp মডিউল বৰ্তমানে বেখ্যা কৰা হৈছে ।\n"
++"আগবাঢ়িব'লৈ ইচ্ছুক নেকি?"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "নাম উল্লেখ কৰা আৱশ্যক"
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "এক্সেকিউটেবল উল্লেখ কৰা আৱশ্যক"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux কনফিগাৰ কৰক"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "পোৰ্ট সংখ্যাৰ ক্ষেত্ৰত 1 ৰ পৰা %d-ত সংখ্যা অথবা সংখ্যামালা ব্যৱহাৰ কৰা আৱশ্যক "
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "কনফাইন কৰা প্ৰক্ৰিয়া/ব্যৱহাৰকৰ্তাৰ বাবে নাম লিখা আৱশ্যক"
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER ধৰনটি অনুমোদিত এক্সেকিউটেবল নহয়"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "শুধুমাত্ৰ DAEMON অনুপ্ৰয়োগ দ্বাৰা init স্ক্ৰিপ্ট ব্যৱহাৰ কৰা যাবে"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "বুলিয়েন মান "
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER ধৰনৰ ক্ষেত্ৰত স্বয়ংক্ৰিয়ৰূপে tmp ধৰন নিৰ্ধাৰিত হ'ব"
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Evolution-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Games"
+-#~ msgstr "খেলা"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "ধৰন প্ৰয়োগকাৰী নথিপত্ৰ"
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "সংযোগমাধ্যম সংক্ৰান্ত নথিপত্ৰ"
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "নথিপত্ৰ কনটেক্সটেৰ নথিপত্ৰ"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Thunderbird-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "বৈশিষ্ট্য"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "নে'টৱৰ্ক পোৰ্ট"
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux পোৰ্ট\n"
++"ধৰন"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "প্ৰোটোকল"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"স্তৰ"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "পোৰ্ট"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "প'ৰ্ট সংখ্যা \"%s\" বৈধ নহয় ।  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "তালিকা অনুসাৰে প্ৰদৰ্শন"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "দল ভিউ"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "সেৱা"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "প্ৰশাসক"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "সৰ্বধৰনৰ ডেমন দ্বাৰা /-ত corefile লিখাৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "সৰ্বধৰনৰ ডেমনকে অব্যৱহৃত ttys ব্যৱহাৰৰ ক্ষমতা প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "ব্যৱহাৰকৰ্তাৰ অধিকাৰ"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux ব্যৱহাৰকৰ্তা হিচাপৰ ক্ষেত্ৰত ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত পঞ্জিকা (home) "
++"অথবা /tmp পঞ্জিকাত নথিপত্ৰ সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"guest SELinux ব্যৱহাৰকৰ্তা হিচাপৰ ক্ষেত্ৰত ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত পঞ্জিকা (home) "
++"অথবা /tmp পঞ্জিকাত নথিপত্ৰ সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "স্মৃতিশক্তি সংৰক্ষণ"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java এক্সেকিউটেবল স্ট্যাকেৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "মাউন্ট কৰক"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "নথিপত্ৰ"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "পঞ্জিকা"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer এক্সেকিউটেবল স্ট্যাকেৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh দ্বাৰা ssh-keysign সঞ্চালনৰ অনুমতি দিয়া হ'ব"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"staff SELinux ব্যৱহাৰকৰ্তা হিচাপৰ ক্ষেত্ৰত ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত পঞ্জিকা (home) "
++"অথবা /tmp পঞ্জিকাত নথিপত্ৰ সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux ব্যৱহাৰকৰ্তা হিচাপৰ ক্ষেত্ৰত ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত পঞ্জিকা (home) "
++"অথবা /tmp পঞ্জিকাত নথিপত্ৰ সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"আন-কনফাইন কৰা SELinux ব্যৱহাৰকৰ্তা হিচাপৰ ক্ষেত্ৰত ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত পঞ্জিকা "
++"(home) অথবা /tmp পঞ্জিকাত নথিপত্ৰ সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "নে'টৱৰ্ক বিন্যাস"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "hal ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "উপৰ নে'টৱৰ্ক"
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"user SELinux ব্যৱহাৰকৰ্তা হিচাপৰ ক্ষেত্ৰত ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত পঞ্জিকা (home) "
++"অথবা /tmp পঞ্জিকাত নথিপত্ৰ সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"আন-কনফাইন কৰা সামগ্ৰী unconfined_execmem-এ dyntrans কৰাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "তথ্যভঁৰাল"
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "hplip ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "ব্যৱহাৰকৰ্তাৰ mysql সকেটেৰ সৈতে সংযোগ কৰাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogs-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "ব্যৱহাৰকৰ্তাৰ postgres সকেটেৰ সৈতে সংযোগ কৰাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD সেৱা"
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "এক্স স্থানাঙ্ক"
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux ব্যৱহাৰকৰ্তা হিচাপৰ ক্ষেত্ৰত ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত পঞ্জিকা (home) "
++"অথবা /tmp পঞ্জিকাত নথিপত্ৰ সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "ওয়েব অনুপ্ৰয়োগ"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "staff SELinux ব্যৱহাৰকৰ্তাকে ওয়েব ব্ৰাউজাৰ ডোমেইনেত ৰূপান্তৰ কৰা হ'ব"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux ব্যৱহাৰকৰ্তাকে ওয়েব ব্ৰাউজাৰ ডোমেইনেত ৰূপান্তৰ কৰা হ'ব"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "user SELinux ব্যৱহাৰকৰ্তাকে ওয়েব ব্ৰাউজাৰ ডোমেইনেত ৰূপান্তৰ কৰা হ'ব"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux ব্যৱহাৰকৰ্তাকে ওয়েব ব্ৰাউজাৰ ডোমেইনেত ৰূপান্তৰ কৰা হ'ব"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"staff ওয়েব ব্ৰাউজাৰ দ্বাৰা ব্যক্তিগত (home) পঞ্জিকাত লিখাৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Cluster Server-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord দ্বাৰা বিবিধ বস্তু পাঠেৰ অনুমতি প্ৰদান কৰা হ'ব । nfs, samba, অপসাৰণযোগ্য "
++"ডিভাইস, user temp আৰু অবিশ্বস্ত তথ্য সহ নথিপত্ৰ"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd চাইল্ড ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "প্ৰিন্ট ব্যৱস্থা"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd বেক-এন্ড সেৱকৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t দ্বাৰা পোনেপোনে ডেমন আৰম্ভেৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Evolution-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "খেলা"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbird-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "সুসংগতি"
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "বিপদেৰ আশঙ্কাবিহীন জ্ঞাত সমস্যাসহ সামগ্ৰীৰ বাবে অডিট কৰা ন'হ'ব"
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "hplip ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD সেৱা"
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec-ৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd চাইল্ড ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Name Service"
+-#~ msgstr "নাম সেৱা"
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++"evolution আৰু thunderbird দ্বাৰা ব্যৱহাৰকৰ্তাৰ নথিপত্ৰ পাঠ কৰাৰ অনুমতি প্ৰদান কৰা "
++"হ'ব"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "mozilla ব্ৰাউজাৰ দ্বাৰা ব্যৱহাৰকৰ্তাৰ নথিপত্ৰ পড়াৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "নাম সেৱা"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি rsync"
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "সৰ্বমোট"
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr "এক্স স্থানাঙ্ক মেপ"
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "উল্লিখিত সময় অবধি"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"প্ৰমিত অৱস্থান ভিন্ন অন্য অৱস্থানত উপস্থিত নথিপত্ৰসমূহ বিভিন্ন প্ৰোগ্ৰাম দ্বাৰা পাঠ কৰাৰ "
++"অনুমতি প্ৰদান কৰা হ'ব (default_t)"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "স্মৃতিশক্তি সংৰক্ষণ"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#, fuzzy
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "নে'টৱৰ্ক"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "উল্লিখিত সময় অবধি rsync"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "সৰ্বমোট"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "নে'টৱৰ্ক"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL অনুমোদনৰ সেৱক"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl অনুমোদন সেৱক দ্বাৰা /etc/shadow নথিপত্ৰ পাঠ কৰাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr "এক্স স্থানাঙ্ক মেপ"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "সৰ্বমোট"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t-এ ৰূপান্তৰৰ অনুমতি প্ৰদান কৰা ন'হ'ব, sudo আৰু su প্ৰভাবিত হ'ব"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "কোনো প্ৰক্ৰিয়া দ্বাৰা কাৰ্নেল মডিউল তুলি লোৱাৰ অনুমতি প্ৰদান কৰা ন'হ'ব"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "কোনো প্ৰক্ৰিয়া দ্বাৰা SELinux নিয়মনীতি পৰিবৰ্তনৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "স্পেমৰ পৰা সুৰক্ষা"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd দ্বাৰা ব্যক্তিগত (home) পঞ্জিকা ব্যৱহাৰৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assassin ডেমনৰ ক্ষেত্ৰত নে'টৱৰ্ক ব্যৱহাৰৰ অনুমতি প্ৰদান কৰা হ'ব"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "নে'টৱৰ্ক"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "উল্লিখিত সময় অবধি"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "sysadm_r:sysadm_t ৰূপে ssh লগ-ইনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r ব্যৱহাৰকৰ্তাৰ দ্বাৰা sysadm-ৰ ব্যক্তিগত (home) পঞ্জিকাত অনুসন্ধান আৰু নথিপত্ৰ "
++"(যেমন ~/.bashrc) পাঠেৰ অনুমতি প্ৰদান কৰা হ'ব "
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "সাৰ্বজনীন SSL টানেল"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "সৰ্বমোট"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr "ডোমেইম"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr "ডোমেইম"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr "এক্স স্থানাঙ্ক"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr "ডোমেইম"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr "নে'টৱৰ্ক"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr "ডোমেইম"
+-#~ 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 "ডোমেইম FTP"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm আন-কননথিপত্ৰ অৱস্থায় সঞ্চালনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"বিশেষ অধিকাৰপ্ৰাপ্ত সামগ্ৰী যেম hotplug আৰু insmod-কে আন-কনফাইন ৰূপে সঞ্চালনৰ "
++"অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r-কে su, sudo অথবা userhelper-ৰ সাহায্যে sysadm_r প্ৰাপ্ত কৰাৰ অনুমতি প্ৰদান "
++"কৰা হ'ব । অন্যথা, শুধুমাত্ৰ staff_r দ্বাৰা এটি কৰা সম্ভৱ হ'ব"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "ব্যৱহাৰকৰ্তাৰ দ্বাৰা mount কমান্ড প্ৰয়োগ কৰাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "এক্স স্থানাঙ্ক"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "ব্যৱহাৰকৰ্তাৰ dmesg কমান্ড প্ৰয়োগেৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr "নে'টৱৰ্ক"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "সাধাৰণ ব্যৱহাৰকৰ্তাৰকে ping প্ৰয়োগ কৰাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি NIS"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"ব্যৱহাৰকৰ্তাৰ noextattrfile পড়তে/লিখিবলৈ (r/w) অনুমতি প্ৰদান কৰা হ'ব (FAT, "
++"CDROM, FLOPPY)"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "ব্যৱহাৰকৰ্তাৰ usb পড়তে আৰু লিখিবলৈ (rw) অনুমোদন কৰা হ'ব"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি NIS"
++#: ../gui/selinux.tbl:216
++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 "ডোমেইম FTP"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ব্যৱহাৰকৰ্তাৰ ttyfiles stat কৰাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Disabled"
+-#~ msgstr "Disabled"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Status"
+-#~ msgstr "অবস্থা"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ 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/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ 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 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?"
+-#~ msgstr "হলো উপৰ হলো উপৰ?"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr "সৰ্বমোট নথিপত্ৰ উপৰ উপৰ সৰ্বমোট নথিপত্ৰ?"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "sysadm_r:sysadm_t ৰূপে xdm লগ-ইনৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr "লাল<dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "প্ৰৱেশ"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux Type"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen-কে প্ৰকৃত ডিস্ক ডিভাইস পড়তে/লিখিবলৈ অনুমদোন প্ৰদান কৰা হ'ব"
+-#~ msgid "File Type"
+-#~ msgstr "ধৰন"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux ব্যৱহাৰকৰোঁতা যোগ কৰক"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen নিয়ন্ত্ৰণৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-#~ msgid "_Properties"
+-#~ msgstr "বৈশিষ্ট্যাবলী (_P)"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "_Delete"
+-#~ msgstr "মুছে ফেলুন (_D)"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "উল্লিখিত সময় অবধি NIS"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "ব্যৱস্থাপ্ৰণালী ডিফল্ট"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "উল্লিখিত সময় অবধি"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "ব্যৱস্থাপ্ৰণালী ডিফল্ট ধৰন "
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "উল্লিখিত সময় অবধি NIS"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr "নথিপত্ৰ উপৰ উপৰ সৰ্বমোট হলো."
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm ব্যৱহাৰকৰ্তাকে অধিকাৰবিহীন ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত (home) পঞ্জিকা "
++"পৰিচালনাৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "উপৰ."
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm ব্যৱহাৰকৰ্তাকে অধিকাৰবিহীন ব্যৱহাৰকৰ্তাৰ ব্যক্তিগত (home) পঞ্জিকা "
++"পড়াৰ অনুমতি প্ৰদান কৰা হ'ব"
+-#~ msgid "Add File Context"
+-#~ msgstr "কনটেক্সট"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "আপনি কি নিশ্চিতৰূপে %s '%s' মুছে ফেলতে ইচ্ছুক?"
+-#~ msgid "Modify File Context"
+-#~ msgstr "পৰিবৰ্তন কৰক কনটেক্সট"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s আঁতৰাওক"
+-#~ msgid "Delete File Context"
+-#~ msgstr "মুছে ফেলুন কনটেক্সট"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s যোগ কৰক"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "পৰিবৰ্তন কৰক"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s পৰিবৰ্তন কৰক"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "মুছে ফেলুন"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissive (সতৰ্কতামূলক)"
+-#~ msgid "Add Translation"
+-#~ msgstr "অনুবাদ"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Enforcing (সক্ৰিয়)"
+-#~ msgid "Modify Translation"
+-#~ msgstr "পৰিবৰ্তন কৰক অনুবাদ"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Disabled"
+-#~ msgid "Delete Translation"
+-#~ msgstr "মুছে ফেলুন অনুবাদ"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "অৱস্থা"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "পৰিবৰ্তন কৰক"
++#: ../gui/statusPage.py:133
++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 "ধৰন সৰ্বমোট নথিপত্ৰ উপৰ উপৰ সৰ্বমোট নথিপত্ৰ?"
+-#~ msgid "Add Network Port"
+-#~ msgstr "পোৰ্ট"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr "হলো উপৰ হলো উপৰ?"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "সম্পাদন পোৰ্ট"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr "সৰ্বমোট নথিপত্ৰ উপৰ উপৰ সৰ্বমোট নথিপত্ৰ?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "মুছে ফেলুন পোৰ্ট"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr "লাল<dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "প্ৰৱেশ"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux নে'টৱৰ্ক পোৰ্ট যোগ কৰা হ'ব"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux Type"
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "স্তৰ"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"মাত্ৰা"
+-#~ msgid "Requires value"
+-#~ msgstr "মান আৱশ্যক"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "নথিপত্ৰৰ বৈশিষ্ট্য"
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "প্ৰেফিক্স বৈধ নহয় %s"
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ধৰন"
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux পলিচি নিৰ্মাণেৰ Druid"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"সৰ্বধৰনৰ নথিপত্ৰ\n"
++"সাধাৰণ নথিপত্ৰ\n"
++"পঞ্জিকা\n"
++"ক্যাৰেক্টাৰ ডিভাইস\n"
++"ব্লক-ডিভাইস\n"
++"সকেট\n"
++"সিম্বলিক লিঙ্ক\n"
++"নেমড পাইপ\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux ব্যৱহাৰকৰোঁতা যোগ কৰক"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux পৰিচালনা"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "যোগ কৰক"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "বৈশিষ্ট্যাবলী (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "আঁতৰাওক (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "পৰিচালনাৰ বিষয় নিৰ্বাচন কৰক"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>নিৰ্বাচন কৰক:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "ব্যৱস্থাপ্ৰণালী ডিফল্ট"
+-#~ msgid "label25"
+-#~ msgstr "label25"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Disabled (নিষ্ক্ৰিয়)\n"
++"Permissive (সতৰ্কতামূলক)\n"
++"Enforcing (সক্ৰিয়)\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "বৰ্তমানে প্ৰয়োগ হোৱা মোড"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "ব্যৱস্থাপ্ৰণালী ডিফল্ট ধৰন "
+-#~ msgid "label26"
+-#~ msgstr "label26"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr "নথিপত্ৰ উপৰ উপৰ সৰ্বমোট হলো."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "উপৰ."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "বুলিয়েন বৈশিষ্ট্যৰ মান প্ৰণালীৰ অবিকল্পিতলৈ প্ৰত্যাবৰ্তন কৰা হ'ব"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "স্বনিৰ্ধাৰিত আৰু সকল বুলিয়েনেত অদল-বদল কৰক"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "বুলিয়েনৰ লক-ডাউন ইউজাৰ্ড সঞ্চালন কৰা হ'ব"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "লক-ডাউন..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "ফিল্টাৰ"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
+-#~ msgid "label28"
+-#~ msgstr "label28"
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "কনটেক্সট"
+-#~ msgid "label30"
+-#~ msgstr "label30"
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "পৰিবৰ্তন কৰক কনটেক্সট"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "আঁতৰাওক কনটেক্সট"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "স্বনিৰ্ধাৰিত নথিপত্ৰ কনটেক্সট আৰু সকলেত অদল-বদল কৰক"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux ব্যৱহাৰকৰ্তা ম্যাপ ব্যৱস্থা যোগ কৰা হ'ব"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "পৰিবৰ্তন কৰক"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "আঁতৰাওক"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "ব্যৱহাৰকৰ্তা যোগ কৰক"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "ব্যৱহাৰকৰ্তা পৰিবৰ্তন কৰক"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "ব্যৱহাৰকৰ্তা আঁতৰাওক"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
+-#~ msgid "label31"
+-#~ msgstr "label31"
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "অনুবাদ"
+-#~ msgid "label32"
+-#~ msgstr "label32"
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "পৰিবৰ্তন কৰক অনুবাদ"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "আঁতৰাওক অনুবাদ"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "পোৰ্ট"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "সম্পাদন পোৰ্ট"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "আঁতৰাওক পোৰ্ট"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "স্বনিৰ্ধাৰিত আৰু সকল পোৰ্টেত অদল-বদল কৰক"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "নতুন নিয়মনীতিৰ মডিউল নিৰ্মাণ কৰক"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "নিয়মনীতিৰ মডিউল তুলি লোৱা হ'ব"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "তুলি লোৱাৰ যোগ্য নিয়মনীতিৰ মডিউল আঁতৰুৱা হ'ব"
+-#~ msgid "label33"
+-#~ msgstr "label33"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"লগ নথিপত্ৰ দ্বাৰা সাধাৰণত উল্লেখ নোহোৱা অতিৰিক্ত অডিট নিয়ম সক্ৰিয়/নিষ্ক্ৰিয় কৰা হ'ব "
++"।"
+-#, fuzzy
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "confine কৰা অ্যাপ্লিকেশন/ব্যৱহাৰকৰোঁতাসকলৰ যে কোনো tcp পোৰ্টেৰ সৈতে bind কৰাৰ "
+-#~ "সুযোগ দেয় ।"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "আপোনাৰ অ্যাপ্লিকেশন দ্বাৰা 0 মান সহ bindresvport কল কৰা হলে এই চেক-বাটনটি "
+-#~ "ব্যৱহাৰ কৰক ।"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#, fuzzy
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যৱহাৰকৰোঁতাসকলৰ 1024-ৰ অধিক যে কোনো tcp পোৰ্টেৰ সৈতে bind কৰাৰা "
+-#~ "সুযোগ দেয়"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "প্ৰক্ৰিয়াটি permissive (সতৰ্কতামূলক) মোডে পৰিবৰ্তন কৰক ।"
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "অসংৰক্ষিত পোৰ্ট  (> 1024)"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "প্ৰক্ৰিয়াটি enforcing (সক্ৰিয়) মোডে পৰিবৰ্তন কৰক ।"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr "তালিকা সৰ্বমোট "
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "প্ৰক্ৰিয়ােৰ ডোমেইন"
+-#~ msgid "label34"
+-#~ msgstr "label34"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "label35"
+-#~ msgstr "label35"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux ব্যৱহাৰকৰ্তা '%s'-ৰ উপস্থিত আৱশ্যক"
+ #, fuzzy
+-#~ msgid "label51"
+-#~ msgstr "label25"
+-
+-#~ msgid "value"
+-#~ msgstr "মান"
+-
+-#~ msgid "You must be root to run %s."
+-#~ msgstr "%s সঞ্চালনেৰ বাবে root পৰিচয় ধাৰণ কৰা আৱশ্যক ।"
+-
+-#~ msgid "Other"
+-#~ msgstr "অন্যান্য"
+-
+-#~ msgid ""
+-#~ "Select XWindows login user, if this is a user who will login to a machine "
+-#~ "via X"
+-#~ msgstr ""
+-#~ "ব্যৱহাৰকৰোঁতা যদি X-ৰ মাধ্যমে যন্ত্ৰত প্ৰৱেশ কৰেন তাহলে XWindows প্ৰৱেশ "
+-#~ "ব্যৱহাৰকৰোঁতা নিৰ্বাচন কৰক"
+-
+-#~ msgid "XWindows Login User"
+-#~ msgstr "XWindows প্ৰৱেশ ব্যৱহাৰকৰোঁতা"
+-
+-#~ msgid ""
+-#~ "Select Terminal Login User, if this user will login to a machine only via "
+-#~ "a terminal or remote login"
+-#~ msgstr ""
+-#~ "ব্যৱহাৰকৰোঁতা দ্বাৰা অকল টাৰ্মিনাল অথবা দূৰবৰ্তী প্ৰৱেশেৰ সাহায্যে যন্ত্ৰত প্ৰৱেশ "
+-#~ "কৰা হলে টাৰ্মিনাল প্ৰৱেশ ব্যৱহাৰকৰোঁতা নিৰ্বাচন কৰক"
+-
+-#~ msgid "Terminal Login User"
+-#~ msgstr "টাৰ্মিনাল প্ৰৱেশ ব্যৱহাৰকৰোঁতা"
+-
+-#~ msgid "Name of application to be confined"
+-#~ msgstr "confine কৰাৰ বাবে চিহ্নিত অ্যাপ্লিকেশন"
+-
+-#~ msgid "Incoming Network Port Connections"
+-#~ msgstr "আগমনকাৰী নে'টৱৰ্ক পোৰ্ট সংযোগ"
+-
+-#~ msgid "Outgoing Network Port Connections"
+-#~ msgstr "বাহিৰমুখী নে'টৱৰ্ক পোৰ্ট সংযোগ"
+-
+-#~ msgid ""
+-#~ "Application uses nsswitch or translates UID's (daemons that run as non "
+-#~ "root)"
+-#~ msgstr "অ্যাপ্লিকেশন UID"
+-
+-#~ msgid "Files and Directories"
+-#~ msgstr "নথিপত্ৰ ও পঞ্জিকা"
+-
+-#~ msgid "Generate policy in this directory"
+-#~ msgstr "পঞ্জিকা"
+-
+-#~ msgid "Login"
+-#~ msgstr "প্ৰৱেশ"
+-
+-#~ msgid "Allow direct login to the console device. Requiered for System 390"
+-#~ msgstr "উল্লিখিত সময় অবধি ব্যৱস্থাপ্ৰণালী"
+-
+-#~ 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 "হলো"
+-
+-#~ msgid ""
+-#~ "Allow unconfined executables to map a memory region as both executable "
+-#~ "and writable, this is dangerous and the executable should be reported in "
+-#~ "bugzilla"
+-#~ msgstr "মেপ হলো"
+-
+-#~ msgid "FTP"
+-#~ msgstr "FTP"
+-
+-#~ msgid "Allow ftp servers to use cifs used for public file transfer services"
+-#~ msgstr "উল্লিখিত সময় অবধি নথিপত্ৰ"
+-
+-#~ msgid "Allow ftp servers to use nfs used for public file transfer services"
+-#~ msgstr "উল্লিখিত সময় অবধি নথিপত্ৰ"
+-
+-#~ msgid "Allow gssd to read temp directory"
+-#~ msgstr "পঞ্জিকা"
+-
+-#~ msgid ""
+-#~ "Allow nfs servers to modify public files used for public file transfer "
+-#~ "services"
+-#~ msgstr "উল্লিখিত সময় অবধি নথিপত্ৰ"
+-
+-#~ msgid "Polyinstatiation"
+-#~ msgstr "Polyinstatiation"
+-
+-#~ msgid "Enable polyinstantiated directory support"
+-#~ msgstr "পঞ্জিকা"
+-
+-#~ msgid ""
+-#~ "Allow rsync to write files in directories labeled public_content_rw_t"
+-#~ msgstr "rsync"
+-
+-#~ msgid ""
+-#~ "Allow Samba to write files in directories labeled public_content_rw_t"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Zebra"
+-#~ msgstr "জেবৰা"
+-
+-#~ msgid ""
+-#~ "Allow system cron jobs to relabel filesystem for restoring file contexts"
+-#~ msgstr "উল্লিখিত সময় অবধি নথিপত্ৰ"
+-
+-#~ msgid "Enable extra rules in the cron domain to support fcron"
+-#~ msgstr "ডোমেইম"
+-
+-#~ msgid "Disable SELinux protection for ftpd daemon"
+-#~ msgstr "ftpd ডেমনেৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-
+-#~ msgid ""
+-#~ "This should be enabled when all programs are compiled with ProPolice/SSP "
+-#~ "stack smashing protection.  All domains will be allowed to read from /dev/"
+-#~ "urandom"
+-#~ msgstr "সকল"
+-
+-#~ msgid "Allow HTTPD scripts and modules to network connect to databases"
+-#~ msgstr "নে'টৱৰ্ক"
+-
+-#~ msgid "Allow HTTPD scripts and modules to connect to the network"
+-#~ msgstr "নে'টৱৰ্ক"
+-
+-#~ msgid "Disable SELinux protection for httpd daemon"
+-#~ msgstr "httpd ডেমনৰ বাবে SELinux নিৰাপত্তা নিষ্ক্ৰিয় কৰক"
+-
+-#~ msgid ""
+-#~ "Allow HTTPD to run SSI executables in the same domain as system CGI "
+-#~ "scripts"
+-#~ msgstr "ডোমেইম"
+-
+-#~ msgid ""
+-#~ "Unify HTTPD to communicate with the terminal.  Needed for handling "
+-#~ "certificates"
+-#~ msgstr "উল্লিখিত সময় অবধি"
+-
+-#~ msgid "Unify HTTPD handling of all content files"
+-#~ msgstr "সৰ্বমোট"
+-
+-#~ msgid "Allow NFS to share any file/directory read only"
+-#~ msgstr "NFS নথিপত্ৰ পঞ্জিকা"
+-
+-#~ msgid "Allow NFS to share any file/directory read/write"
+-#~ msgstr "NFS নথিপত্ৰ পঞ্জিকা"
+-
+-#~ msgid "Disable SELinux protection for pppd daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
+-
+-#~ msgid "Disable SELinux protection for the mozilla ppp daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
+-
+-#~ msgid "Allow spammassasin to access the network"
+-#~ msgstr "নে'টৱৰ্ক"
+-
+-#~ msgid "Use lpd server instead of cups"
+-#~ msgstr "সৰ্বমোট"
+-
+-#~ msgid "Support NFS home directories"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for zebra daemon"
+-#~ msgstr "উল্লিখিত সময় অবধি"
+-
+-#~ msgid "Allow httpd to access samba/cifs file systems"
+-#~ msgstr "নথিপত্ৰ"
+-
+-#~ msgid "Allow httpd to access nfs file systems"
+-#~ msgstr "নথিপত্ৰ"
+-
+-#~ msgid ""
+-#~ "Allow samba to act as the domain controller, add users, groups and change "
+-#~ "passwords"
+-#~ msgstr "ডোমেইম"
+-
+-#~ msgid "Allow Samba to share any file/directory read only"
+-#~ msgstr "Samba নথিপত্ৰ পঞ্জিকা"
+-
+-#~ msgid "Allow Samba to share any file/directory read/write"
+-#~ msgstr "Samba নথিপত্ৰ পঞ্জিকা"
+-
+-#~ msgid ""
+-#~ "Allow Samba to run unconfined scripts in /var/lib/samba/scripts directory"
+-#~ msgstr "Samba পঞ্জিকা"
+-
+-#~ msgid "Label Prefix"
+-#~ msgstr "লেবেল প্ৰেফিক্স"
+-
+-#~ msgid "MLS/MCS Level"
+-#~ msgstr "স্তৰ"
+-
+-#~ msgid "Group/ungroup network ports by SELinux type."
+-#~ msgstr "দল নে'টৱৰ্ক ধৰন."
+-
+-#~ msgid ""
+-#~ "Labeling\n"
+-#~ "Prefix"
+-#~ msgstr "লেবেল ব্যৱস্থা"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Level"
++#~ msgid "Sensitivity Level"
+ #~ msgstr "স্তৰ"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/be.po policycoreutils-2.0.85/po/be.po
+--- nsapolicycoreutils/po/be.po        2011-02-17 15:11:25.556727752 -0500
++++ policycoreutils-2.0.85/po/be.po    2011-02-18 16:03:41.342975562 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/bg.po policycoreutils-2.0.85/po/bg.po
+--- nsapolicycoreutils/po/bg.po        2011-02-17 15:11:25.232733103 -0500
++++ policycoreutils-2.0.85/po/bg.po    2011-02-18 16:03:41.343975569 -0500
+@@ -8,14 +8,34 @@
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: 2008-03-10 21:37+0100\n"
+ "Last-Translator: Alexander Todorov <atodorov@redhat.com>\n"
+ "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
++"Language: bg\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux ф.контекст"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Генериране на нов модул с политика"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Инструмент за генериране на SELinux политики"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -122,7 +142,8 @@
+ msgid "Level"
+ msgstr "Ниво"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Превод"
+@@ -177,745 +198,752 @@
+ msgid "Permissive Types"
+ msgstr "Пасивен"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Не може да се създаде ключ за %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Не може да се провери дали е дефинирано съответствие за вход на %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Вече е дефинирано съответствие за вход на %s"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, fuzzy, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux потребител %s не съществува"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux потребител %s не съществува"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Не може да се създаде съответствие за вход за %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Не може да се зададе името за %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Не може да се зададе MLS диапазон за %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Не може да се зададе SELinux потребител за %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Не може да се добави съответствие за вход за %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "добавяне на SELinux съответствие за потребител"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Изисква seuser или serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Не е дефинирано съответствие за вход за %s"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Не може да се запита seuser за %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Не може да се промени съответствието за вход за %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Съответствие за вход за %s е дефинирано в политиката, не може да бъде изтрито"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Не може да се изтрие съответствието за вход за %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Грешка при получаване на съответствията за вход"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Потребителско име"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux потребител"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS интервал"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Не може да се добави контекст на файл за %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Не може да се провери дали SELinux потребител %s е дефиниран"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux потребител %s вече е дефиниран"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Не може да се създаде SELinux потребител за %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Не може да се добави роля %s за %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Не може да се зададе MLS ниво за %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Не може да се добави префикс %s за %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Не може да се извлече ключ за %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Не може да се добави SELinux потребител %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Изисква префикс, роли, ниво или диапазон"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Изисква префикс или роли"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux потребител %s не е дефиниран"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Не може да се провери потребителя за %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Не може да се промени SELinux потребител %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux потребител %s е дефиниран в политиката, не може да се изтрие"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Не може да се изтрие SELinux потребител %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Не могат да бъдат получени SELinux потребителите"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Не могат да бъдат получени ролите за потребител %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Етикиране"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Префикс"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS ниво"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS интервал"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux роли"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Изисква се протокол udp или tcp"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Изисква се порт"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Не може да се създаде ключ за %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Изисква се тип"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Не може да се провери дали порт %s/%s е дефиниран"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Порт %s/%s вече е дефиниран"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Не може да се създаде порт за %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Не може да се създаде контекст за %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Не може да се приведе потребителя в контекст на порта за %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Не може да се приведе ролята в контекст на порта за %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Не може да се приведе типа в контекст на порта за %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Не могат да се приведат mls полетата в контекст на порта за %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Не може да се приведе контекста на порта за %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Не може да се добави порт %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Необходим е setype или serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Необходим е setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Порт %s/%s не е дефиниран"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Не може да се провери порт %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Не може да се промени порт %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ #, fuzzy
+ msgid "Could not list the ports"
+ msgstr "Не може да се получи списък на портовете"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Не може да се изтрие порт %s/%s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Порт %s/%s е дефиниран в политиката, не може да се изтрие"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Не може да се изтрие порт %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Не може да се получи списък на портовете"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux тип порт"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Протокол"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Номер на порт"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ #, fuzzy
+ msgid "Node Address is required"
+ msgstr "Изисква се порт"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ #, fuzzy
+ msgid "Node Netmask is required"
+ msgstr "Изисква се порт"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Необходим е SELinux тип"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Не може да се създаде ключ за %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, fuzzy, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Не може да се провери дали порт %s/%s е дефиниран"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "Порт %s/%s вече е дефиниран"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Не може да се създаде ключ за %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Не може да се създаде контекст за %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Не може да се зададе името за %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Не може да се приведе потребителя в контекст на файл за %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Не може да се приведе ролята в контекст на файл за %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Не може да се приведе типа в контекст на файл за %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Не могат да се приведат mls полетата в контекст на файл за %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Не може да се установи контекст на файл за %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Не може да се добави порт %s/%s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Порт %s/%s не е дефиниран"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Не може да се провери порт %s/%s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Не може да се промени порт %s/%s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, fuzzy, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Порт %s/%s е дефиниран в политиката, не може да се изтрие"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Не може да се изтрие интерфейс %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Не може да се получи списък на портовете"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Не може да се провери дали интерфейс %s е дефинирано"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Интерфейс %s вече е дефиниран"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Не може да се създаде интерфейс за %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Не може да се приведе потребителя в интерфейсен контекст за %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Не може да се приведе ролята в интерфейсен контекст за %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Не може да се приведе типа в интерфейсен контекст за %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Не могат да се приведат mls полетата в интерфейсен контекст за %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Не може да се установи интерфейсен контекст за %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Не може да се установи контекста на съобщението за %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Не може да се добави интерфейс %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Интерфейс %s не е дефиниран"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Не може да се провери интерфейс %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Не може да се промени интерфейс %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Интерфейс %s е дефиниран в политиката, не може да се изтрие"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Не може да се изтрие интерфейс %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Не може да се получи списък с интерфейсите"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux интерфейс"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Контекст"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Не може да се приведе потребителя в контекст на файл за %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Не може да се приведе ролята в контекст на файл за %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Не могат да се приведат mls полетата в контекст на файл за %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ #, fuzzy
+ msgid "Invalid file specification"
+ msgstr "Файлова спецификация"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Не може да се провери дали файловия контекст за %s е дефиниран"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Файловия контекст за %s вече е дефиниран"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Не може да се създаде файлов контекст за %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Не може да се приведе типа в контекст на файл за %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Не може да се установи контекст на файл за %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Не може да се добави контекст на файл за %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Изисква setype, serange или seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Не е дефиниран файлов контекст за %s"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Не може да се провери файловия контекст за %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Не може да се промени файловия контекст за %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ #, fuzzy
+ msgid "Could not list the file contexts"
+ msgstr "Не може да се получат файловите контексти"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, fuzzy, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Не може да се изтрие файловия контекст за %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Файловия контекст за %s е дефиниран в политиката, не може да бъде изтрит"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Не може да се изтрие файловия контекст за %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Не може да се получат файловите контексти"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Не може да се получат локалните файловите контексти"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux ф.контекст"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "тип"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Не може да се провери дали булевата променлива %s е дефинирана"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Булева променлива %s не е дефинирана"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Не може да се провери файловия контекст %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Следва да въведете име"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Не може да се изтрие булева променлива %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Не може да се промени булевата променлива %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Булевата променлива %s е дефинирана в политика, не може да се изтрие"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Не може да се изтрие булева променлива %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Не могат да се получат булевите променливи"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ #, fuzzy
+ msgid "on"
+ msgstr "Cron"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux булева"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1292,1459 +1320,2293 @@
+ msgid "Options Error %s "
+ msgstr "Грешка в опциите %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "не се поддържат преводи на машини без MLS"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Булева"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++#, fuzzy
++msgid "all"
++msgstr "Всички"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
+-#~ msgid "Boolean"
+-#~ msgstr "Булева"
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Етикиране на файл"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Файлова\n"
++"спецификация"
++
++#: ../gui/fcontextPage.py:81
+ #, fuzzy
+-#~ msgid "all"
+-#~ msgstr "Всички"
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"файлов контекст"
+-#~ msgid "File Labeling"
+-#~ msgstr "Етикиране на файл"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Файлов\n"
++"Тип"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Файлова\n"
+-#~ "спецификация"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Съответствия за потребител"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "файлов контекст"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Потребителско\n"
++"Име"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Файлов\n"
+-#~ "Тип"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Потребител"
+-#~ msgid "User Mapping"
+-#~ msgstr "Съответствия за потребител"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS интервал"
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Потребителско\n"
+-#~ "Име"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Изисква се '%s' за вход"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Потребител"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Модул с политика"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS интервал"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Име на модула"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Версия"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Изисква се '%s' за вход"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Изключване на одита"
+-#~ msgid "Policy Module"
+-#~ msgstr "Модул с политика"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Включване на одита"
+-#~ msgid "Module Name"
+-#~ msgstr "Име на модула"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Зареждане на модул с политика"
+-#~ msgid "Version"
+-#~ msgstr "Версия"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable Audit"
+-#~ msgstr "Изключване на одита"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Enable Audit"
+-#~ msgstr "Включване на одита"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "ОПЛ"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Зареждане на модул с политика"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Doncho N. Gunchev <gunchev@gmail.com>, 2007."
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"С този инструмент можете да генерирате политики за ограничаване на "
++"приложения или потребители чрез SELinux.   \n"
++"\n"
++"Инструмента генерира:\n"
++"Файлове за налагане на тип (te)\n"
++"Интерфейсни файлове (if)\n"
++"Файлове за контекст (fc)\n"
++"Скриптове на средата (sh) - ползват се за компилиране и инсталиране на "
++"политиката. "
++
++#: ../gui/polgen.glade:165
++#, fuzzy
++msgid "Select type of the application/user role to be confined"
++msgstr "Изберете приложение или потребителска роля за ограничаване."
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Приложения</b>"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++#, fuzzy
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Стандартен init демон са тези демони, които се стартират при зареждане от "
++"init скриптовете.  Обикновено изисква скрипт в /etc/init.d"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Стандартен init демон"
+-#~ msgid "GPL"
+-#~ msgstr "ОПЛ"
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
+-#~ msgid "translator-credits"
+-#~ msgstr "Doncho N. Gunchev <gunchev@gmail.com>, 2007."
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Демони за Интернет услуги са демони, които се стартират от xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Демони за Интернет услуги (inetd)"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Инструмент за генериране на SELinux политики"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Уеб приложения/Скриптове (CGI) са скриптове стартирани от уеб сървъра "
++"(apache)"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "С този инструмент можете да генерирате политики за ограничаване на "
+-#~ "приложения или потребители чрез SELinux.   \n"
+-#~ "\n"
+-#~ "Инструмента генерира:\n"
+-#~ "Файлове за налагане на тип (te)\n"
+-#~ "Интерфейсни файлове (if)\n"
+-#~ "Файлове за контекст (fc)\n"
+-#~ "Скриптове на средата (sh) - ползват се за компилиране и инсталиране на "
+-#~ "политиката. "
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Уеб приложения/Скриптове (CGI)"
+-#, fuzzy
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Изберете приложение или потребителска роля за ограничаване."
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Потребителски приложения са всички приложения, които бихте искали да "
++"ограничите, стартирани от потребител"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Приложения</b>"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Потребителски приложения"
++#: ../gui/polgen.glade:389
+ #, fuzzy
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Стандартен init демон са тези демони, които се стартират при зареждане от "
+-#~ "init скриптовете.  Обикновено изисква скрипт в /etc/init.d"
++msgid "<b>Login Users</b>"
++msgstr "<b>Потребители</b>"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Стандартен init демон"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Демони за Интернет услуги са демони, които се стартират от xinetd"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Демони за Интернет услуги (inetd)"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Уеб приложения/Скриптове (CGI) са скриптове стартирани от уеб сървъра "
+-#~ "(apache)"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Уеб приложения/Скриптове (CGI)"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Потребителски приложения са всички приложения, които бихте искали да "
+-#~ "ограничите, стартирани от потребител"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
+-#~ msgid "User Application"
+-#~ msgstr "Потребителски приложения"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++#: ../gui/polgen.glade:516
+ #, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Потребители</b>"
++msgid "User Role"
++msgstr "Роля"
+-#, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "Роля"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++#: ../gui/polgen.glade:583
+ #, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Потребители</b>"
++msgid "<b>Root Users</b>"
++msgstr "<b>Потребители</b>"
++#: ../gui/polgen.glade:645
+ #, fuzzy
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Изберете root потребител ако този потребител ще се ползва за "
+-#~ "администриране на машината работейки като root.  Този потребител няма да "
+-#~ "може да влиза в системата директно."
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Изберете root потребител ако този потребител ще се ползва за администриране "
++"на машината работейки като root.  Този потребител няма да може да влиза в "
++"системата директно."
++#: ../gui/polgen.glade:647
+ #, fuzzy
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Root потребител"
++msgid "Root Admin User Role"
++msgstr "Root потребител"
++#: ../gui/polgen.glade:732
+ #, fuzzy
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Изберете приложение или потребителска роля за ограничаване."
++msgid "Enter name of application or user role to be confined"
++msgstr "Изберете приложение или потребителска роля за ограничаване."
+-#~ msgid "Name"
+-#~ msgstr "Име"
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Име"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Въведете пълния път за изпълнимия файл за ограничаване."
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Въведете пълния път за изпълнимия файл за ограничаване."
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++#: ../gui/polgen.glade:823
+ #, fuzzy
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Въведете уникално име на тип за конфигурирания потребител или приложение."
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++"Въведете уникално име на тип за конфигурирания потребител или приложение."
+-#~ msgid "Executable"
+-#~ msgstr "Изпълним файл"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Изпълним файл"
+-#~ msgid "Init script"
+-#~ msgstr "Init скрипт"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init скрипт"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Въведете пълния път на init скрипта ползван за стартиране на "
+-#~ "ограничаваното приложение."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Въведете пълния път на init скрипта ползван за стартиране на ограничаваното "
++"приложение."
++#: ../gui/polgen.glade:981
+ #, fuzzy
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Изберете ролите, които този потребител ще може да приема"
++msgid "Select user roles that you want to customize"
++msgstr "Изберете ролите, които този потребител ще може да приема"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++#: ../gui/polgen.glade:1055
+ #, fuzzy
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "Изберете допълнителни потребителски домейни за преход"
++msgid "Select additional domains to which this user role will transition"
++msgstr "Изберете допълнителни потребителски домейни за преход"
++#: ../gui/polgen.glade:1076
+ #, fuzzy
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Изберете домейните за приложения, към които бихте искали този потребител "
+-#~ "да преминава."
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Изберете домейните за приложения, към които бихте искали този потребител да "
++"преминава."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++#: ../gui/polgen.glade:1203
+ #, fuzzy
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "Изберете домейните, които този потребител ще администрира"
++msgid "Select additional domains that this user role will administer"
++msgstr "Изберете домейните, които този потребител ще администрира"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr ""
+-#~ "Изберете домейните, които бихте искали този потребител да администрира."
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++"Изберете домейните, които бихте искали този потребител да администрира."
++#: ../gui/polgen.glade:1277
+ #, fuzzy
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Изберете допълнителни потребителски домейни за преход"
++msgid "Select additional roles for this user"
++msgstr "Изберете допълнителни потребителски домейни за преход"
++#: ../gui/polgen.glade:1351
+ #, fuzzy
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Въведете разделен със запетаи списък от udp портове, към които "
+-#~ "приложението/потребителя се свързва."
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Въведете разделен със запетаи списък от udp портове, към които приложението/"
++"потребителя се свързва."
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP портове</b>"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP портове</b>"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
+ #, fuzzy
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Разрешаване на ограничаваното приложение/потребител да се слуша на всеки "
+-#~ "udp порт"
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Разрешаване на ограничаваното приложение/потребител да се слуша на всеки udp "
++"порт"
+-#~ msgid "All"
+-#~ msgstr "Всички"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Всички"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Разрешаване на приложението/потребителя да извиква bindresvport с 0. "
+-#~ "Слушане на портове 600-1024"
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Разрешаване на приложението/потребителя да извиква bindresvport с 0. Слушане "
++"на портове 600-1024"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
+ #, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Въведете разделен със запетаи списък от udp портове, към които "
+-#~ "приложението/потребителя се свързва."
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Въведете разделен със запетаи списък от udp портове, към които приложението/"
++"потребителя се свързва."
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Нерезервирани портове (> 1024)"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Нерезервирани портове (> 1024)"
+-#~ msgid "Select Ports"
+-#~ msgstr "Избор на портове"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Избор на портове"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
+ #, fuzzy
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Разрешаване на приложението/потребителя да слуша на всеки udp порт > 1024"
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Разрешаване на приложението/потребителя да слуша на всеки udp порт > 1024"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP портове</b>"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP портове</b>"
++#: ../gui/polgen.glade:1834
+ #, fuzzy
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Въведете разделен със запетаи списък от udp портове, към които "
+-#~ "приложението/потребителя се свързва."
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Въведете разделен със запетаи списък от udp портове, към които приложението/"
++"потребителя се свързва."
++#: ../gui/polgen.glade:1958
+ #, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Въведете разделен със запетаи списък от udp портове, към които "
+-#~ "приложението/потребителя се свързва."
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Въведете разделен със запетаи списък от udp портове, към които приложението/"
++"потребителя се свързва."
++#: ../gui/polgen.glade:2111
+ #, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Въведете разделен със запетаи списък от udp портове, към които "
+-#~ "приложението/потребителя се свързва."
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Въведете разделен със запетаи списък от udp портове, към които приложението/"
++"потребителя се свързва."
++#: ../gui/polgen.glade:2183
+ #, fuzzy
+-#~ msgid "Select common application traits"
+-#~ msgstr "Общи белези на приложението"
++msgid "Select common application traits"
++msgstr "Общи белези на приложението"
++#: ../gui/polgen.glade:2202
+ #, fuzzy
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Приложението ползва syslog за запис в дневник\t"
++msgid "Writes syslog messages\t"
++msgstr "Приложението ползва syslog за запис в дневник\t"
++#: ../gui/polgen.glade:2221
+ #, fuzzy
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr ""
+-#~ "Приложението ползва /tmp за създаваме/манипулиран на временни файлове"
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Приложението ползва /tmp за създаваме/манипулиран на временни файлове"
++#: ../gui/polgen.glade:2240
+ #, fuzzy
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Приложението ползва PAM за удостоверяване"
++msgid "Uses Pam for authentication"
++msgstr "Приложението ползва PAM за удостоверяване"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++#: ../gui/polgen.glade:2297
+ #, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Грешка при изпращане на одит съобщение.\n"
++msgid "Sends audit messages"
++msgstr "Грешка при изпращане на одит съобщение.\n"
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
+ #, fuzzy
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr ""
+-#~ "Изберете директориите които ограничаваното приложение притежава и в които "
+-#~ "то пише"
++msgid "Select files/directories that the application manages"
++msgstr ""
++"Изберете директориите които ограничаваното приложение притежава и в които то "
++"пише"
++#: ../gui/polgen.glade:2607
+ #, fuzzy
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Добавяне на файлове/директории, в които това приложение ще трябва да може "
+-#~ "да пише. Pid файлове, дневници, /var/lib файлове ..."
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Добавяне на файлове/директории, в които това приложение ще трябва да може да "
++"пише. Pid файлове, дневници, /var/lib файлове ..."
++#: ../gui/polgen.glade:2667
+ #, fuzzy
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Изберете файл(овете) които ограничаваното приложение създава/пише"
++msgid "Select booleans that the application uses"
++msgstr "Изберете файл(овете) които ограничаваното приложение създава/пише"
++#: ../gui/polgen.glade:2804
+ #, fuzzy
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Въведете пълния път на init скрипта ползван за стартиране на "
+-#~ "ограничаваното приложение."
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Въведете пълния път на init скрипта ползван за стартиране на ограничаваното "
++"приложение."
++#: ../gui/polgen.glade:2864
+ #, fuzzy
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Изберете директория в която да се генерират файловете на политиката"
++msgid "Select directory to generate policy in"
++msgstr "Изберете директория в която да се генерират файловете на политиката"
+-#~ msgid "Policy Directory"
+-#~ msgstr "Директория с политики"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Директория с политики"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Генериране на файловете на политиката"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Генериране на файловете на политиката"
++#: ../gui/polgen.glade:2982
+ #, fuzzy
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Този инструмент ще генерира следното: Файлове за налагане на тип (te), "
+-#~ "файлове за контекст (fc), интерфейсни файлове (if), скриптове на средата "
+-#~ "(sh).\n"
+-#~ "Стартирайте скрипта за средата за компилиране/инсталиране и преетикиране "
+-#~ "на файлове/директории.  Сега можете да превключите SELinux в пасивен "
+-#~ "режим (setenforce 0). \n"
+-#~ "(Ре)стартирайте приложението за да се генерират avc съобщения.\n"
+-#~ "Ползвайте audit2allow -R за генериране на допълнителни правила за te "
+-#~ "файла.\n"
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Този инструмент ще генерира следното: Файлове за налагане на тип (te), "
++"файлове за контекст (fc), интерфейсни файлове (if), скриптове на средата "
++"(sh).\n"
++"Стартирайте скрипта за средата за компилиране/инсталиране и преетикиране на "
++"файлове/директории.  Сега можете да превключите SELinux в пасивен режим "
++"(setenforce 0). \n"
++"(Ре)стартирайте приложението за да се генерират avc съобщения.\n"
++"Ползвайте audit2allow -R за генериране на допълнителни правила за te файла.\n"
++#: ../gui/polgen.glade:3025
+ #, fuzzy
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Този инструмент ще генерира следното: Файлове за налагане на тип (te), "
+-#~ "файлове за контекст (fc), интерфейсни файлове (if), скриптове на средата "
+-#~ "(sh).\n"
+-#~ "Стартирайте скрипта за средата за компилиране/инсталиране и преетикиране "
+-#~ "на файлове/директории.  Сега можете да превключите SELinux в пасивен "
+-#~ "режим (setenforce 0). \n"
+-#~ "(Ре)стартирайте приложението за да се генерират avc съобщения.\n"
+-#~ "Ползвайте audit2allow -R за генериране на допълнителни правила за te "
+-#~ "файла.\n"
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Този инструмент ще генерира следното: Файлове за налагане на тип (te), "
++"файлове за контекст (fc), интерфейсни файлове (if), скриптове на средата "
++"(sh).\n"
++"Стартирайте скрипта за средата за компилиране/инсталиране и преетикиране на "
++"файлове/директории.  Сега можете да превключите SELinux в пасивен режим "
++"(setenforce 0). \n"
++"(Ре)стартирайте приложението за да се генерират avc съобщения.\n"
++"Ползвайте audit2allow -R за генериране на допълнителни правила за te файла.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++#: ../gui/polgen.glade:3200
+ #, fuzzy
+-#~ msgid "Boolean Name"
+-#~ msgstr "Булева"
++msgid "Boolean Name"
++msgstr "Булева"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Роля"
+-#~ msgid "Role"
+-#~ msgstr "Роля"
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
+-#~ msgid "Application"
+-#~ msgstr "Приложение"
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Приложение"
+-#, fuzzy
+-#~ msgid "%s must be a directory"
+-#~ msgstr "Разрешаване на mount да монтира всяка директория"
++#: ../gui/polgengui.py:269
++#, fuzzy, python-format
++msgid "%s must be a directory"
++msgstr "Разрешаване на mount да монтира всяка директория"
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
+ #, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Следва да въведете име"
++msgid "You must select a user"
++msgstr "Следва да въведете име"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Изберете изпълнимия файл за ограничаване."
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Изберете изпълнимия файл за ограничаване."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Изберете init скрипта за ограничаване."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Изберете файл(овете) които ограничаваното приложение създава/пише"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Изберете init скрипта за ограничаване."
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Изберете директориите които ограничаваното приложение притежава и в които то "
++"пише"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Изберете файл(овете) които ограничаваното приложение създава/пише"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Изберете директория в която да се генерират файловете на политиката"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Изберете директориите които ограничаваното приложение притежава и в които "
+-#~ "то пише"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Изберете директория в която да се генерират файловете на политиката"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
+-#~ msgid "You must enter a name"
+-#~ msgstr "Следва да въведете име"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Следва да укажете изпълним файл"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Следва да въведете име"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Настройка на SELinux"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Следва да укажете изпълним файл"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Портовете трябва да са числа от 1 до %d "
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Настройка на SELinux"
++#: ../gui/polgen.py:174
++#, fuzzy, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Портовете трябва да са числа от 1 до %d "
++
++#: ../gui/polgen.py:204
+ #, fuzzy
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "Следва да въведете име за конфигурирания от Вас процес"
++msgid "You must enter a name for your confined process/user"
++msgstr "Следва да въведете име за конфигурирания от Вас процес"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Типовете ПОТРЕБИТЕЛ не са позволени за програми"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Типовете ПОТРЕБИТЕЛ не са позволени за програми"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Само ДЕМОНИТЕ могат да ползват init скрипт"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Само ДЕМОНИТЕ могат да ползват init скрипт"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog трябва да бъде булева стойност "
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog трябва да бъде булева стойност "
++#: ../gui/polgen.py:327
+ #, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Типовете ПОТРЕБИТЕЛ автоматично получават временен тип"
++msgid "USER Types automatically get a tmp type"
++msgstr "Типовете ПОТРЕБИТЕЛ автоматично получават временен тип"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "Трябва да въведете пътя на изпълнимия файл за вашия ограничаван процес"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Трябва да въведете пътя на изпълнимия файл за вашия ограничаван процес"
++#: ../gui/polgen.py:848
+ #, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Файл за налагане на тип"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "Интерфейсен файл"
++msgid "Type Enforcement file"
++msgstr "Файл за налагане на тип"
+-#~ msgid "File Contexts file"
+-#~ msgstr "Файл с контексти"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Интерфейсен файл"
+-#~ msgid "Setup Script"
+-#~ msgstr "Настройващ скрипт"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Файл с контексти"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "тип порт"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Настройващ скрипт"
+-#~ msgid "Protocol"
+-#~ msgstr "Протокол "
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Ниво"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++#, fuzzy
++msgid "Network Port"
++msgstr "Добавяне на мрежов порт"
+-#~ msgid "Port"
+-#~ msgstr "Порт"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux\n"
++"тип порт"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Номера на порт \"%s\" не е валиден.  0 < НОМЕР_НА_ПОРТ < 65536 "
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Протокол "
+-#~ msgid "Group View"
+-#~ msgstr "Групов преглед"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"Ниво"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux защита на услугите"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Порт"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона acct"
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Номера на порт \"%s\" не е валиден.  0 < НОМЕР_НА_ПОРТ < 65536 "
+-#~ msgid "Admin"
+-#~ msgstr "Администратор"
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Разрешаване на всички демони да пишат core файлове в /"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "Разрешаване на всички демони да ползват незаделени tty конзоли"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "Потребителски привилегии"
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Групов преглед"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux защита на услугите"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Изключване на SELinux защитата за демона acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Администратор"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Разрешаване на всички демони да пишат core файлове в /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Разрешаване на всички демони да ползват незаделени tty конзоли"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Потребителски привилегии"
++#: ../gui/selinux.tbl:4
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Разрешаване на gadmin SELinux потребителските акаунти да стартират "
+-#~ "файлове в домашната си директория или в /tmp"
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешаване на gadmin SELinux потребителските акаунти да стартират файлове в "
++"домашната си директория или в /tmp"
++#: ../gui/selinux.tbl:5
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Разрешаване на SELinux гост акаунта да стартира файлове в домашната си "
+-#~ "директория или /tmp"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "Защита на паметта"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Разрешаване на изпълним стек за java"
+-
+-#~ msgid "Mount"
+-#~ msgstr "Монтиране"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Разрешаване на mount да монтира всеки файл"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Разрешаване на mount да монтира всяка директория"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Разрешаване на изпълним стек за mplayer"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешаване на SELinux гост акаунта да стартира файлове в домашната си "
++"директория или /tmp"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Разрешаване на ssh да стартира ssh-keysign"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Защита на паметта"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Разрешаване на изпълним стек за java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Монтиране"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Разрешаване на mount да монтира всеки файл"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Разрешаване на mount да монтира всяка директория"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Разрешаване на изпълним стек за mplayer"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Разрешаване на ssh да стартира ssh-keysign"
++#: ../gui/selinux.tbl:11
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Разрешаване на staff SELinux потребителските акаунти да изпълняват "
+-#~ "файлове в домашната си директория или /tmp"
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешаване на staff SELinux потребителските акаунти да изпълняват файлове в "
++"домашната си директория или /tmp"
++#: ../gui/selinux.tbl:12
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Разрешаване на sysadm SELinux потребителските акаунти да изпълняват "
+-#~ "файлове в домашната си директория или /tmp"
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешаване на sysadm SELinux потребителските акаунти да изпълняват файлове "
++"в домашната си директория или /tmp"
++#: ../gui/selinux.tbl:13
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Разрешаване на неограничените SELinux потребителски акаунти да изпълняват "
+-#~ "файлове в домашната си директория или /tmp"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "Мрежова конфигурация"
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Разрешаване на неограничените SELinux потребителски акаунти да изпълняват "
++"файлове в домашната си директория или /tmp"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Разрешаване на неетикирани пакети да пътуват в мрежата"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Мрежова конфигурация"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Разрешаване на неетикирани пакети да пътуват в мрежата"
++#: ../gui/selinux.tbl:15
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Разрешаване на user SELinux потребителските акаунти да изпълняват файлове "
+-#~ "в домашната си директория или /tmp"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr ""
+-#~ "Разрешаване на unconfined (неограничените) динамично да преминава към "
+-#~ "unconfined_execmem"
+-
+-#~ msgid "Databases"
+-#~ msgstr "Бази данни"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Разрешаване на потребителите да се свързват с mysql гнездо"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Разрешаване на потребителите да се свързват с postgres гнездо"
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешаване на user SELinux потребителските акаунти да изпълняват файлове в "
++"домашната си директория или /tmp"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"Разрешаване на unconfined (неограничените) динамично да преминава към "
++"unconfined_execmem"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Разрешаване на клиентите да пишат в споделената памет на X"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Бази данни"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Разрешаване на потребителите да се свързват с mysql гнездо"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Разрешаване на потребителите да се свързват с postgres гнездо"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Разрешаване на клиентите да пишат в споделената памет на X"
++#: ../gui/selinux.tbl:20
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Разрешаване на xguest SELinux потребителските акаунти да изпълняват "
+-#~ "файлове в домашната си директория или /tmp"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Разрешаване на демоните да работят с NIS"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "Уеб приложения"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "Преход на staff SELinux потребителите към уеб браузър домейна"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "Преход на sysadm SELinux потребителите към уеб браузър домейна"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "Преход на user SELinux потребителите към уеб браузър домейна"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "Преход на xguest SELinux потребителите към уеб браузър домейна"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "Разрешаване на staff уеб браузърите да пишат в домашните директории"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Изключване на SELinux защитата за amanda"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Изключване на SELinux защитата за amavis"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона apmd"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона arpwatch"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона auditd"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона automount"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Изключване на SELinux защитата за avahi"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона bluetooth"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона canna"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона cardmgr"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Изключване на SELinux защитата за Cluster Server"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Разрешаване на cdrecord да чете разнородно съдържание. nfs, samba, "
+-#~ "преносими устройства, потребителски временни файлове и файлове с "
+-#~ "несигурно съдържание"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ciped"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона clamd"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Изключване на SELinux защитата за clamscan"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Изключване на SELinux защитата за clvmd"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона comsat"
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешаване на xguest SELinux потребителските акаунти да изпълняват файлове "
++"в домашната си директория или /tmp"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона courier"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Разрешаване на демоните да работят с NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Уеб приложения"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Преход на staff SELinux потребителите към уеб браузър домейна"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Преход на sysadm SELinux потребителите към уеб браузър домейна"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Преход на user SELinux потребителите към уеб браузър домейна"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Преход на xguest SELinux потребителите към уеб браузър домейна"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Разрешаване на staff уеб браузърите да пишат в домашните директории"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Изключване на SELinux защитата за amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Изключване на SELinux защитата за amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Изключване на SELinux защитата за демона apmd"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Изключване на SELinux защитата за демона arpwatch"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Изключване на SELinux защитата за демона auditd"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Изключване на SELinux защитата за демона automount"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Изключване на SELinux защитата за avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Изключване на SELinux защитата за демона bluetooth"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Изключване на SELinux защитата за демона canna"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Изключване на SELinux защитата за демона cardmgr"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Изключване на SELinux защитата за Cluster Server"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона cpucontrol"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Разрешаване на cdrecord да чете разнородно съдържание. nfs, samba, преносими "
++"устройства, потребителски временни файлове и файлове с несигурно съдържание"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона cpuspeed"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Изключване на SELinux защитата за демона ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Изключване на SELinux защитата за демона clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Изключване на SELinux защитата за clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Изключване на SELinux защитата за clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Изключване на SELinux защитата за демона comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Изключване на SELinux защитата за демона courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Изключване на SELinux защитата за демона cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Изключване на SELinux защитата за демона cpuspeed"
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона crond"
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Изключване на SELinux защитата за демона crond"
+-#~ msgid "Printing"
+-#~ msgstr "Печат"
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Печат"
++#: ../gui/selinux.tbl:55
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Изключване на SELinux защитата за сървъра на ниско ниво на cupsd"
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Изключване на SELinux защитата за сървъра на ниско ниво на cupsd"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона cupsd"
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Изключване на SELinux защитата за демона cupsd"
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Изключване на SELinux защитата за cupsd_lpd"
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Изключване на SELinux защитата за cupsd_lpd"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона cvs"
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Изключване на SELinux защитата за демона cvs"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона cyrus"
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Изключване на SELinux защитата за демона cyrus"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dbskkd"
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Изключване на SELinux защитата за демона dbskkd"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dbusd"
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Изключване на SELinux защитата за демона dbusd"
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Изключване на SELinux защитата за dccd"
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Изключване на SELinux защитата за dccd"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Изключване на SELinux защитата за dccifd"
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Изключване на SELinux защитата за dccifd"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Изключване на SELinux защитата за dccm"
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Изключване на SELinux защитата за dccm"
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ddt"
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Изключване на SELinux защитата за демона ddt"
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона devfsd"
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Изключване на SELinux защитата за демона devfsd"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dhcpc"
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Изключване на SELinux защитата за демона dhcpc"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dhcpd"
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Изключване на SELinux защитата за демона dhcpd"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dictd"
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Изключване на SELinux защитата за демона dictd"
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Разрешаване на sysadm_t да стартира директно демони"
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Разрешаване на sysadm_t да стартира директно демони"
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Изключване на SELinux защитата за Evolution"
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Изключване на SELinux защитата за Evolution"
+-#~ msgid "Games"
+-#~ msgstr "Игри"
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Игри"
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Изключване на SELinux защитата за игрите"
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Изключване на SELinux защитата за игрите"
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Изключване на SELinux защитата за уеб браузърите"
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Изключване на SELinux защитата за уеб браузърите"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Изключване на SELinux защитата за Thunderbird"
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Изключване на SELinux защитата за Thunderbird"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона distccd"
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Изключване на SELinux защитата за демона distccd"
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dmesg"
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Изключване на SELinux защитата за демона dmesg"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dnsmasq"
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Изключване на SELinux защитата за демона dnsmasq"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона dovecot"
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Изключване на SELinux защитата за демона dovecot"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона entropyd"
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Изключване на SELinux защитата за демона entropyd"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Изключване на SELinux защитата за fetchmail"
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Изключване на SELinux защитата за fetchmail"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона fingerd"
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Изключване на SELinux защитата за демона fingerd"
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона freshclam"
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Изключване на SELinux защитата за демона freshclam"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона fsdaemon"
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Изключване на SELinux защитата за демона fsdaemon"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона gpm"
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Изключване на SELinux защитата за демона gpm"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона gss"
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Изключване на SELinux защитата за демона gss"
++#: ../gui/selinux.tbl:86
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона hal"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "Съвместимост"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Да не се прави одит на неща, които се знае че са счупени, но не "
+-#~ "представляват риск за сигурността"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона hostname"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона hotplug"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона howl"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона cups hplip"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Изключване на SELinux защитата за превъртане на httpd дневниците"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD услуга"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Изключване на SELinux защитата за http suexec"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона hwclock"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона i18n"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона imazesrv"
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Изключване на SELinux защитата за демона hal"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Изключване на SELinux защитата за демоните деца на inetd"
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Съвместимост"
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона inetd"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона innd"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона iptables"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ircd"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона irqbalance"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона iscsi"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона jabberd"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона kadmind"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона klogd"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона krb5kdc"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Изключване на SELinux защитата за демоните ktalk"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона kudzu"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона locate"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Да не се прави одит на неща, които се знае че са счупени, но не "
++"представляват риск за сигурността"
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона lpd"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Изключване на SELinux защитата за демона hostname"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Изключване на SELinux защитата за демона hotplug"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Изключване на SELinux защитата за демона howl"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Изключване на SELinux защитата за демона cups hplip"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Изключване на SELinux защитата за превъртане на httpd дневниците"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD услуга"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Изключване на SELinux защитата за http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Изключване на SELinux защитата за демона hwclock"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Изключване на SELinux защитата за демона i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Изключване на SELinux защитата за демона imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Изключване на SELinux защитата за демоните деца на inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Изключване на SELinux защитата за демона inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Изключване на SELinux защитата за демона innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Изключване на SELinux защитата за демона iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Изключване на SELinux защитата за демона ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Изключване на SELinux защитата за демона irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Изключване на SELinux защитата за демона iscsi"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Изключване на SELinux защитата за демона jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Изключване на SELinux защитата за демона kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Изключване на SELinux защитата за демона klogd"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Изключване на SELinux защитата за демона krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Изключване на SELinux защитата за демоните ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Изключване на SELinux защитата за демона kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Изключване на SELinux защитата за демона locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Изключване на SELinux защитата за демона lpd"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Изключване на SELinux защитата за демона lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Изключване на SELinux защитата за демона lvm"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Изключване на SELinux защитата за mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Разрешаване на evolution и thunderbird да четат потребителски файлове"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Изключване на SELinux защитата за демона mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Изключване на SELinux защитата за демона monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Разрешаване на mozilla браузъра да чете потребителски файлове"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Изключване на SELinux защитата за демона mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Изключване на SELinux защитата за демона mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Изключване на SELinux защитата за демона nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Услуга за имена"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Изключване на SELinux защитата за демона named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Изключване на SELinux защитата за демона nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Изключване на SELinux защитата за NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Изключване на SELinux защитата за демона nfsd"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Изключване на SELinux защитата за демона nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Изключване на SELinux защитата за демона nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Изключване на SELinux защитата за демона nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Изключване на SELinux защитата за демона nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Изключване на SELinux защитата за демона ntpd"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Изключване на SELinux защитата за oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Изключване на SELinux защитата за oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Изключване на SELinux защитата за демона openvpn"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Изключване на SELinux защитата за демона pam"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Изключване на SELinux защитата за pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Изключване на SELinux защитата за демона  perdition"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Изключване на SELinux защитата за демона portmap"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Изключване на SELinux защитата за демона portslave"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Изключване на SELinux защитата за postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Изключване на SELinux защитата за демона postgresql"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Разрешаване pppd да се стартира за обикновен потребител"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Изключване на SELinux защитата за pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Изключване на SELinux защитата за демона prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Изключване на SELinux защитата за демона privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Изключване на SELinux защитата за демона ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Изключване на SELinux защитата за демона pxe"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Изключване на SELinux защитата за pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Изключване на SELinux защитата за демона quota"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Изключване на SELinux защитата за демона radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Изключване на SELinux защитата за демона radvd"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Изключване на SELinux защитата за rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Изключване на SELinux защитата за readahead"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона lrrd"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Разрешаване на програмите да четат файлове от настандартни места (default_t)"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона lvm"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Изключване на SELinux защитата за restorecond"
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Изключване на SELinux защитата за mailman"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Изключване на SELinux защитата за демона rhgb"
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr ""
+-#~ "Разрешаване на evolution и thunderbird да четат потребителски файлове"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Изключване на SELinux защитата за ricci"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона mdadm"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Изключване на SELinux защитата за ricci_modclusterd"
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона monopd"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Изключване на SELinux защитата за демона rlogind"
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Разрешаване на mozilla браузъра да чете потребителски файлове"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Изключване на SELinux защитата за демона rpcd"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона mrtg"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Изключване на SELinux защитата за rshd"
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона mysqld"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона nagios"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Изключване на SELinux защитата за демона rsync"
+-#~ msgid "Name Service"
+-#~ msgstr "Услуга за имена"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Разрешаване ssh да се стартира от inetd вместо като демон"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона named"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Разрешаване на Samba да споделя nfs директории"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона nessusd"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL сървър за удостоверяване"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Изключване на SELinux защитата за NetworkManager"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Разрешаване на удостоверяващия сървър sasl да чете /etc/shadow"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона nfsd"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Разрешаване на сървъра X-Windows да ползва части от паметта едновременно за "
++"писане и изпълнение"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона nmbd"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Изключване на SELinux защитата за демона saslauthd"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона nrpe"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Изключване на SELinux защитата за демона scannerdaemon"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона nscd"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Забрана за преход към sysadm_t, засягат се sudo и su"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона nsd"
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Забрана на всички процеси да зареждат модули в ядрото"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ntpd"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Забрана на всички процеси да променят SELinux политиката в ядрото"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Изключване на SELinux защитата за oddjob"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Изключване на SELinux защитата за демона sendmail"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Изключване на SELinux защитата за oddjob_mkhomedir"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Изключване на SELinux защитата за setrans"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона openvpn"
++#: ../gui/selinux.tbl:173
++#, fuzzy
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Изключване на SELinux защитата за демона setroublesoot"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона pam"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Изключване на SELinux защитата за демона slapd"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Изключване на SELinux защитата за pegasus"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Изключване на SELinux защитата за демона slrnpull"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона  perdition"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Изключване на SELinux защитата за демона smbd"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона portmap"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Изключване на SELinux защитата за демона snmpd"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона portslave"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Изключване на SELinux защитата за демона snort"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Изключване на SELinux защитата за postfix"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Изключване на SELinux защитата за демона soundd"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона postgresql"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Изключване на SELinux защитата за демона sound"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++#, fuzzy
++msgid "Spam Protection"
++msgstr "Spam защита"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Разрешаване pppd да се стартира за обикновен потребител"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Изключване на SELinux защитата за демона spamd"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Изключване на SELinux защитата за pptp"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Разрешаване на достъп до домашните директории на spamd"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона prelink"
++#: ../gui/selinux.tbl:183
++#, fuzzy
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Разрешаване на мрежов достъп на демона Spam Assasin"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона privoxy"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Изключване на SELinux защитата за демона speedmgmt"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ptal"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона pxe"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Разрешаване на мрежов достъп на демона squid"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Изключване на SELinux защитата за pyzord"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Изключване на SELinux защитата за демона squid"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона quota"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Изключване на SELinux защитата за демона ssh"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона radiusd"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Разрешаване на ssh вход като sysadm_r:sysadm_t"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона radvd"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Разрешаване на staff_r потребителите да претърсват sysadm домашната "
++"директория и да четат файлове (като ~/.bashrc примерно)"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Изключване на SELinux защитата за rdisc"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Универсален SSL тунел"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Изключване на SELinux защитата за демона stunnel"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Разрешаване на демона stunnel да работи самостоятелно, извън xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Изключване на SELinux защитата за демона swat"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Изключване на SELinux защитата за демона sxid"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Изключване на SELinux защитата за демона syslogd"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Изключване на SELinux защитата за системните cron задачи"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Изключване на SELinux защитата за демона tcp"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Изключване на SELinux защитата за демона telnet"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Изключване на SELinux защитата за демона tftpd"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Изключване на SELinux защитата за демона transproxy"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Изключване на SELinux защитата за демона udev"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Изключване на SELinux защитата за демона uml"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Изключване на SELinux защитата за readahead"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Разрешаване на xinetd да стартира неограничени, включително нямащи изрично "
++"дефиниран преход към домейн услуги"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Разрешаване на програмите да четат файлове от настандартни места "
+-#~ "(default_t)"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Разрешаване на rc скриптовете да стартират неограничени, включително всеки "
++"rc скрипт, който няма изрично дефиниран преход към домейн"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Изключване на SELinux защитата за restorecond"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Разрешаване на rpm да стартира неограничен"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона rhgb"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Разрешаване на привилегировани инструменти като hotplug и insmod да работят "
++"неограничени"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Изключване на SELinux защитата за ricci"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Изключване на SELinux защитата за демона updfstab"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Изключване на SELinux защитата за демона uptimed"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Изключване на SELinux защитата за ricci_modclusterd"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Разрешаване на user_r преход към sysadm_r чрез su, sudo, или userhelper. В "
++"противен случай, само staff_r може да го прави"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона rlogind"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Разрешаване на потребителите да изпълняват командата mount"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона rpcd"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Разрешаване на обикновените потребители директен достъп до мишката (само на "
++"X сървъра)"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Изключване на SELinux защитата за rshd"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Разрешаване на потребителите да стартират командата dmesg"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Разрешаване на потребителите да контролират мрежови интерфейси (трябва и "
++"USERCTL=true за интерфейса)"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона rsync"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Разрешаване на нормалните потребители да стартират ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "Разрешаване на потребителите ч/з noextattrfile (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Разрешаване на потребителите ч/з на usb устройства"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "Разрешаване ssh да се стартира от inetd вместо като демон"
++#: ../gui/selinux.tbl:216
++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 ""
++"Разрешаване на потребителите да стартират TCP услуги (се закачат на портове "
++"и да приемат връзки от същия домейн и външни потребители).  Забраната на "
++"това налага ползването на пасивен FTP режим и може да промени и други "
++"протоколи"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Разрешаване на Samba да споделя nfs директории"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Разрешаване на потребителите stat върху tty файлове"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL сървър за удостоверяване"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Изключване на SELinux защитата за демона uucpd"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Разрешаване на удостоверяващия сървър sasl да чете /etc/shadow"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Изключване на SELinux защитата за демона vmware"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Разрешаване на сървъра X-Windows да ползва части от паметта едновременно "
+-#~ "за писане и изпълнение"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Изключване на SELinux защитата за демона watchdog"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона saslauthd"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Изключване на SELinux защитата за демона winbind"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона scannerdaemon"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Изключване на SELinux защитата за демона xdm"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Забрана за преход към sysadm_t, засягат се sudo и su"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Разрешаване на xdm вход като sysadm_r:sysadm_t"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Забрана на всички процеси да зареждат модули в ядрото"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Изключване на SELinux защитата за демона xen"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "Забрана на всички процеси да променят SELinux политиката в ядрото"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона sendmail"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Разрешаване на xen да чете/пише физически дискови устройства"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Изключване на SELinux защитата за setrans"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Изключване на SELinux защитата за демона xfs"
++#: ../gui/selinux.tbl:227
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона setroublesoot"
++msgid "Disable SELinux protection for xen control"
++msgstr "Изключване на SELinux защитата за xen constrol"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона slapd"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Изключване на SELinux защитата за демона ypbind"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона slrnpull"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Изключване на SELinux защитата за демона за NIS пароли"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона smbd"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Изключване на SELinux защитата за демона ypserv"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона snmpd"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона snort"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона soundd"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона sound"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Изключване на SELinux защитата за демона NIS трансфери"
++#: ../gui/selinux.tbl:232
+ #, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "Spam защита"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона spamd"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Разрешаване на достъп до домашните директории на spamd"
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Разрешаване на SELinux webadm потребителя да управлява домашните директории "
++"на непривилегированите потребители"
++#: ../gui/selinux.tbl:233
+ #, fuzzy
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Разрешаване на мрежов достъп на демона Spam Assasin"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона speedmgmt"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Разрешаване на мрежов достъп на демона squid"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона squid"
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Разрешаване на SELinux webadm потребителя да чете домашните директории на "
++"непривилегированите потребители"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ssh"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Сигурни ли сте, че искате да изтриете %s '%s'?"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Разрешаване на ssh вход като sysadm_r:sysadm_t"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Изтриване на %s"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Разрешаване на staff_r потребителите да претърсват sysadm домашната "
+-#~ "директория и да четат файлове (като ~/.bashrc примерно)"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Добавяне на %s"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Универсален SSL тунел"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Промяна на %s"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона stunnel"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Пасивен"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "Разрешаване на демона stunnel да работи самостоятелно, извън xinetd"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Активен"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Изключен"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Състояние"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона swat"
++#: ../gui/statusPage.py:133
++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 ""
++"Смяната на типа на политиката ще предизвика преетикиране на цялата система "
++"следващия рестарт. Преетикирането отнема много време в зависимост от размера "
++"на файловата система.  Искате ли да продължите?"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона sxid"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Изключването на SELinux изисква рестарт.  Не е препоръчително.  Ако по-късно "
++"решите да включите отново SELinux, системата ще трябва да се преетикира.  "
++"Ако просто искате да видите дали SELinux предизвиква проблем във Вашата "
++"система, можете да преминете в пасивен режим, който само ще рапортува в "
++"дневниците грешките и няма да налага SELinux политиката.  Пасивния режим не "
++"изисква рестарт. Искате ли да продължите?"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона syslogd"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Включването на SELinux ще предизвика преетикиране на цялата файлова система "
++"следващия рестарт. Преетикирането отнема много време в зависимост от размера "
++"на файловата система.  Искате ли да продължите?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Изключване на SELinux защитата за системните cron задачи"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона tcp"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Добавяне на SELinux входно съответствие"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Добавяне на SELinux мрежови портове"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux тип"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона telnet"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"ниво"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона tftpd"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Файлова спецификация"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона transproxy"
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Файлов тип"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона udev"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"всички файлове\n"
++"нормален файл\n"
++"директория\n"
++"знаково устройство\n"
++"блоково устройство\n"
++"гнездо\n"
++"символна връзка\n"
++"именована тръба\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Добавяне на SELinux потребител"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux администрация"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Добавяне"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Свойства"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Изтриване"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Избор на обект за менажиране"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Изберете:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Основен режим на системата: "
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона uml"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Разрешаване на xinetd да стартира неограничени, включително нямащи "
+-#~ "изрично дефиниран преход към домейн услуги"
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Текущ активен режим"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Основен тип политика на системата: "
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Разрешаване на rc скриптовете да стартират неограничени, включително "
+-#~ "всеки rc скрипт, който няма изрично дефиниран преход към домейн"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Изберете дали искате да преетикирате цялата файлова система на следващото "
++"рестартиране. Преетикирането може да отнеме много дълго време, в зависимост "
++"от размера на файловата система.  Ако променяте типове от политиката или "
++"преминавате от изключена към активна политика, то преетикирането е "
++"необходимо."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Преетикиране на следващия рестарт."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Разрешаване на rpm да стартира неограничен"
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Разрешаване на привилегировани инструменти като hotplug и insmod да "
+-#~ "работят неограничени"
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона updfstab"
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона uptimed"
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Разрешаване на user_r преход към sysadm_r чрез su, sudo, или userhelper. "
+-#~ "В противен случай, само staff_r може да го прави"
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Филтър"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Добавяне на файлов контекст"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Промяна на файлов контекст"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Изтриване на файлов контекст"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Разрешаване на потребителите да изпълняват командата mount"
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Разрешаване на обикновените потребители директен достъп до мишката (само "
+-#~ "на X сървъра)"
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Разрешаване на потребителите да стартират командата dmesg"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Добавяне на SELinux съответствие за потребител"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Разрешаване на потребителите да контролират мрежови интерфейси (трябва и "
+-#~ "USERCTL=true за интерфейса)"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Промяна на SELinux съответствие за потребител"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Разрешаване на нормалните потребители да стартират ping"
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Изтриване на SELinux съответствие за потребител"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "Разрешаване на потребителите ч/з noextattrfile (FAT, CDROM, FLOPPY)"
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Разрешаване на потребителите ч/з на usb устройства"
++#: ../gui/system-config-selinux.glade:2374
++#, fuzzy
++msgid "Add User"
++msgstr "Добавяне на %s"
+-#~ 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 ""
+-#~ "Разрешаване на потребителите да стартират TCP услуги (се закачат на "
+-#~ "портове и да приемат връзки от същия домейн и външни потребители).  "
+-#~ "Забраната на това налага ползването на пасивен FTP режим и може да "
+-#~ "промени и други протоколи"
++#: ../gui/system-config-selinux.glade:2390
++#, fuzzy
++msgid "Modify User"
++msgstr "Промяна на %s"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Разрешаване на потребителите stat върху tty файлове"
++#: ../gui/system-config-selinux.glade:2406
++#, fuzzy
++msgid "Delete User"
++msgstr "Изтриване на %s"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона uucpd"
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона vmware"
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Добавяне на превод"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона watchdog"
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Промяна на превод"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона winbind"
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Изтриване на превод"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона xdm"
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Разрешаване на xdm вход като sysadm_r:sysadm_t"
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Добавяне на мрежов порт"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона xen"
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Редакция на мрежов порт"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Изтриване на мрежов порт"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Разрешаване на xen да чете/пише физически дискови устройства"
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона xfs"
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Генериране на нов модул с политика"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Зареждане на модул с политика"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Деактивиране на зареждаем модул с политика"
++#: ../gui/system-config-selinux.glade:3059
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Изключване на SELinux защитата за xen constrol"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ypbind"
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Спиране на допълнителните одит правила, които нормално не се рапортуват във "
++"файловете на дневника."
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона за NIS пароли"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона ypserv"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Изключване на SELinux защитата за демона NIS трансфери"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Разрешаване на SELinux webadm потребителя да управлява домашните "
+-#~ "директории на непривилегированите потребители"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++#: ../gui/system-config-selinux.glade:3354
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Разрешаване на SELinux webadm потребителя да чете домашните директории на "
+-#~ "непривилегированите потребители"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Сигурни ли сте, че искате да изтриете %s '%s'?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "Изтриване на %s"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "Добавяне на %s"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "Промяна на %s"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "Пасивен"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "Активен"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Изключен"
+-
+-#~ msgid "Status"
+-#~ msgstr "Състояние"
+-
+-#~ 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 ""
+-#~ "Смяната на типа на политиката ще предизвика преетикиране на цялата "
+-#~ "система следващия рестарт. Преетикирането отнема много време в зависимост "
+-#~ "от размера на файловата система.  Искате ли да продължите?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Изключването на SELinux изисква рестарт.  Не е препоръчително.  Ако по-"
+-#~ "късно решите да включите отново SELinux, системата ще трябва да се "
+-#~ "преетикира.  Ако просто искате да видите дали SELinux предизвиква проблем "
+-#~ "във Вашата система, можете да преминете в пасивен режим, който само ще "
+-#~ "рапортува в дневниците грешките и няма да налага SELinux политиката.  "
+-#~ "Пасивния режим не изисква рестарт. Искате ли да продължите?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Включването на SELinux ще предизвика преетикиране на цялата файлова "
+-#~ "система следващия рестарт. Преетикирането отнема много време в зависимост "
+-#~ "от размера на файловата система.  Искате ли да продължите?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++msgid "label59"
++msgstr "label50"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Необходим е SELinux потребител '%s'"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Добавяне на SELinux входно съответствие"
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Ниво на чувствителност"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Добавяне на SELinux мрежови портове"
++#~ msgid "Modify SELinux User"
++#~ msgstr "Промяна на SELinux потребител"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux тип"
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "не се поддържат преводи на машини без MLS"
+ #~ msgid ""
+ #~ "tcp\n"
+@@ -2753,175 +3615,6 @@
+ #~ "tcp\n"
+ #~ "udp"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "ниво"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "Файлова спецификация"
+-
+-#~ msgid "File Type"
+-#~ msgstr "Файлов тип"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "всички файлове\n"
+-#~ "нормален файл\n"
+-#~ "директория\n"
+-#~ "знаково устройство\n"
+-#~ "блоково устройство\n"
+-#~ "гнездо\n"
+-#~ "символна връзка\n"
+-#~ "именована тръба\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Добавяне на SELinux потребител"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux администрация"
+-
+-#~ msgid "Add"
+-#~ msgstr "Добавяне"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "_Свойства"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "_Изтриване"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "Избор на обект за менажиране"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Изберете:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Основен режим на системата: "
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Текущ активен режим"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Основен тип политика на системата: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Изберете дали искате да преетикирате цялата файлова система на следващото "
+-#~ "рестартиране. Преетикирането може да отнеме много дълго време, в "
+-#~ "зависимост от размера на файловата система.  Ако променяте типове от "
+-#~ "политиката или преминавате от изключена към активна политика, то "
+-#~ "преетикирането е необходимо."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Преетикиране на следващия рестарт."
+-
+-#~ msgid "label37"
+-#~ msgstr "label37"
+-
+-#~ msgid "Filter"
+-#~ msgstr "Филтър"
+-
+-#~ msgid "label50"
+-#~ msgstr "label50"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "Добавяне на файлов контекст"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "Промяна на файлов контекст"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "Изтриване на файлов контекст"
+-
+-#~ msgid "label38"
+-#~ msgstr "label38"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Добавяне на SELinux съответствие за потребител"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Промяна на SELinux съответствие за потребител"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Изтриване на SELinux съответствие за потребител"
+-
+-#~ msgid "label39"
+-#~ msgstr "label39"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "Добавяне на превод"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "Промяна на превод"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "Изтриване на превод"
+-
+-#~ msgid "label41"
+-#~ msgstr "label41"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Промяна на SELinux потребител"
+-
+-#~ msgid "label40"
+-#~ msgstr "label40"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "Добавяне на мрежов порт"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Редакция на мрежов порт"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Изтриване на мрежов порт"
+-
+-#~ msgid "label42"
+-#~ msgstr "label42"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Генериране на нов модул с политика"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "Зареждане на модул с политика"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Деактивиране на зареждаем модул с политика"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Спиране на допълнителните одит правила, които нормално не се рапортуват "
+-#~ "във файловете на дневника."
+-
+-#~ msgid "label44"
+-#~ msgstr "label44"
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "Ниво на чувствителност"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Необходим е SELinux потребител '%s'"
+-
+ #~ msgid "Requires value"
+ #~ msgstr "Изисква стойност"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/bn_IN.po policycoreutils-2.0.85/po/bn_IN.po
+--- nsapolicycoreutils/po/bn_IN.po     2011-02-17 15:11:24.953737714 -0500
++++ policycoreutils-2.0.85/po/bn_IN.po 2011-02-18 16:03:41.345975583 -0500
+@@ -2,17 +2,18 @@
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+-# Runa Bhattacharjee <runab@redhat.com>, 2006.
++# Runa Bhattacharjee <runab@redhat.com>, 2006, 2010.
+ # Runa Bhattacharjee <runabh@gmail.com>, 2007.
+ # Runa Bhattacharjee <runab@fedoraproject.org>, 2008.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils.HEAD\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-04-04 18:56+0530\n"
+-"Last-Translator: Runa Bhattacharjee <runab@fedoraproject.org>\n"
+-"Language-Team: Bengali INDIA <fedora-trans-bn_IN@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-02 17:47+0530\n"
++"Last-Translator: Runa Bhattacharjee <runab@redhat.com>\n"
++"Language-Team: Bengali INDIA <anubad@lists.ankur.org.in>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -21,6 +22,23 @@
+ "\n"
+ "\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "গ্রাফিক্যাল পরিবেশে SELinux কনফিগার করুন"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux পরিচালনা"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux নিয়মনীতির মডিউল নির্মাণ করুন"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux Policy নির্মাণের সামগ্রী"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -110,9 +128,8 @@
+ msgstr "semanage সংযোগ স্থাপন করা যায়নি"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s'র ক্ষেত্রে MLS রেঞ্জ নির্ধারণ করা যায়নি"
++msgstr "MLS-র সক্রিয় অবস্থা পরীক্ষা করা যায়নি"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -121,35 +138,36 @@
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "%s খুলতে ব্যর্থ: MLS-বিহীন মেশিনে অনুবাদ সমর্থন করা হয় না: %s"
++msgstr "%s খুলতে ব্যর্থ: MLS-বিহীন মেশিনের মধ্যে অনুবাদ সমর্থিত নয়: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "স্তর"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "অনুবাদ"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "অনুবাদের মধ্যে শূণ্যস্থান ব্যবহার করা যাবে না '%s' "
++msgstr "অনুবাদের মধ্যে শূণ্যস্থান থাকা চলবে না '%s' "
+ #: ../semanage/seobject.py:250
+ #, python-format
+ msgid "Invalid Level '%s' "
+-msgstr "স্তর বৈধ নয় '%s' "
++msgstr "অবৈধ স্তর '%s' "
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "অনুবাদের মধ্যে %s বর্তমানে ব্যাখ্যা করা হয়েছে"
++msgstr "অনুবাদের মধ্যে %s পূর্বেই ব্যাখ্যা করা হয়েছে"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "অনুবাদের মধ্যে %s'র ব্যাখ্যা করা হয়নি"
++msgstr "অনুবাদের মধ্যে %s ব্যাখ্যা করা হয়নি"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+@@ -157,769 +175,770 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage ট্রানস্যাকশন বর্তমানে চলছে"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage আদান-প্রদান আরম্ভ করা যায়নি"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage আদান-প্রদান আরম্ভ করা যায়নি"
++msgstr "semanage আদান-প্রদান সমাপ্ত করা যায়নি"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage বর্তমানে চলছে না"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux ব্যবহারকারীদের তালিকা নির্মাণ করা যায়নি"
++msgstr "SELinux মডিউলের তালিকা নির্মাণ করা যায়নি"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "Permissive (সতর্কতামূলক)"
++msgstr "Permissive (সতর্কতামূলক) ধরন"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "permissive ডোমেইন %s নির্ধারণ করা যায়নি (মডিউল ইনস্টল করতে ব্যর্থ)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "permissive ডোমেইন %s সরিয়ে ফেলা যায়নি (অপসারণ করতে ব্যর্থ)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s'র জন্য কি নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s'র ক্ষেত্রে লগ-ইন ম্যাপিং ব্যবস্থা নির্ধারিত হয়েছে কিনা পরীক্ষা করা যায়নি"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s'র ক্ষেত্রে লগ-ইন ম্যাপিং ব্যবস্থা বর্তমানে নির্ধারিত হয়েছে"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux ব্যবহারকারী %s বর্তমানে উপস্থিত নেই"
++msgstr "Linux দল %s বর্তমানে উপস্থিত নেই"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux ব্যবহারকারী %s বর্তমানে উপস্থিত নেই"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s'র ক্ষেত্রে লগ-ইন ম্যাপিং ব্যবস্থা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s'র নাম নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s'র ক্ষেত্রে MLS রেঞ্জ নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s'র ক্ষেত্রে SELinux ব্যবহারকারী নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s'র ক্ষেত্রে লগ-ইন ম্যাপিং ব্যবস্থা যোগ করা যায়নি"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux ব্যবহারকারী ম্যাপার যোগ করা হবে"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser অথবা serange আবশ্যক"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s'র ক্ষেত্রে লগ-ইন ম্যাপিং ব্যবস্থা নির্ধারিত হয়নি"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "%s'র ক্ষেত্রে seuser কোয়েরি করা যায়নি"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s'র ক্ষেত্রে লগ-ইন ম্যাপিং ব্যবস্থা পরিবর্তন করা যায়নি"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "%s'র জন্য লগ-ইন ম্যাপিং ব্যবস্থা নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে মুছে ফেলা সম্ভব "
+ "নয়"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s'র ক্ষেত্রে লগ-ইন ম্যাপিং মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "লগ-ইন ম্যাপিং তালিকাভুক্ত করা যায়নি"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "লগ-ইন নাম"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux ব্যবহারকারী"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS সীমা"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s'র ক্ষেত্রে ফাইল context যোগ করা যায়নি"
++msgstr "%s'র অন্তত একটি ভূমিকা যোগ করা আবশ্যক"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "SELinux ব্যবহারকারী %s'র বৈশিষ্ট্য নির্ধারিত কিনা পরীক্ষা করা যায়নি"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux ব্যবহারকারী %s'র বৈশিষ্ট্য বর্তমানে নির্ধারিত হয়েছে"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s'র জন্য SELinux ব্যবহারকারী নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "%s ভূমিকাটি, %s'র জন্য নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s'র ক্ষেত্রে MLS স্তর নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "%s প্রেফিক্সটি %s'র ক্ষেত্রে যোগ করা যায়নি"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s'র জন্য কি প্রাপ্ত করা যায়নি"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux ব্যবহারকারী %s যোগ করা যায়নি"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "প্রেফিক্স, ভূমিকা, স্তর অথবা রেঞ্জ উল্লেখ করা আবশ্যক"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "প্রেফিক্স অথবা ভূমিকা উল্লেখ করা আবশ্যক"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux ব্যবহারকারী %s'র বৈশিষ্ট্য নির্ধারিত হয়নি"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s'র জন্য ব্যবহারকারী কোয়েরি করা যায়নি"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux ব্যবহারকারী %s'র বৈশিষ্ট্য পরিবর্তন করা যায়নি"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "SELinux ব্যবহারকারী %s'র বৈশিষ্ট্য নিয়মনীতির মধ্যে নির্ধারিত হয়েছে যার ফলে "
+ "অপসারণযোগ্য নয়"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux ব্যবহারকারী %s মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux ব্যবহারকারীদের তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "ব্যবহারকারী %s'র ভূমিকার তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "লেবেল ব্যবস্থা"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "প্রেফিক্স"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS স্তর"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS সীমা"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux রোল"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "udp অথবা tcp প্রোটোকল আবশ্যক"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "পোর্ট উল্লেখ করা আবশ্যক"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s'র জন্য কি নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "ধরন উল্লেখ করা আবশ্যক"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "পোর্ট %s/%s নির্ধারিত হয়েছে কিনা পরীক্ষা করা যায়নি"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "পোর্ট %s/%s বর্তমানে নির্ধারিত আছে"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s'র জন্য পোর্ট নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s'র জন্য context নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s'র ক্ষেত্রে পোর্ট context'র মধ্যে ব্যবহারকারী নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s'র ক্ষেত্রে পোর্ট context'র মধ্যে ভূমিকা নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s'র ক্ষেত্রে পোর্ট context'র মধ্যে ধরন নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s'র ক্ষেত্রে পোর্ট context'র মধ্যে mls ক্ষেত্র নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s'র ক্ষেত্রে পোর্ট context নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "%s/%s পোর্ট যোগ করা যায়নি"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype অথবা serange আবশ্যক"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype আবশ্যক"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "%s/%s পোর্ট নির্ধারিত হয়নি"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "%s/%s পোর্ট কোয়েরি করা যায়নি"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "%s/%s পোর্ট পরিবর্তন করা যায়নি"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "পোর্টের তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "%s পোর্ট মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "%s/%s পোর্টটি নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে অপসারণযোগ্য নয়"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "%s/%s পোর্ট মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "পোর্টের তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux পোর্টের ধরন"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "প্রোটো"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "পোর্ট সংখ্যা"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "পোর্ট উল্লেখ করা আবশ্যক"
++msgstr "নোডের ঠিকানা উল্লেখ করা আবশ্যক"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "পোর্ট উল্লেখ করা আবশ্যক"
++msgstr "নোডের নেটমাস্ক উল্লেখ করা আবশ্যক"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "প্রোটোকল অজানা অথবা অনুপস্থিত"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux Type আবশ্যক"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s'র কি নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "পোর্ট %s/%s নির্ধারিত হয়েছে কিনা পরীক্ষা করা যায়নি"
++msgstr "addr %s নির্ধারিত হয়েছে কিনা পরীক্ষা করা যায়নি"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "পোর্ট %s/%s বর্তমানে নির্ধারিত আছে"
++msgstr "addr %s বর্তমানে নির্ধারিত আছে"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s'র জন্য কি নির্মাণ করা যায়নি"
++msgstr "%s-র জন্য addr নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s'র জন্য context নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s'র নাম নির্ধারণ করা যায়নি"
++msgstr "%s-র মাস্ক নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s'র ক্ষেত্রে ফাইলের context'এ ব্যবহারকারী বৈশিষ্ট্য নির্ধারণ করা যায়নি"
++msgstr "%s'র ক্ষেত্রে addr context'এ ব্যবহারকারী বৈশিষ্ট্য নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s'র ক্ষেত্রে ফাইলের context'এ ভূমিকা নির্ধারণ করা যায়নি"
++msgstr "%s'র ক্ষেত্রে addr context'এ ভূমিকা নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s'র ক্ষেত্রে ফাইলের context'এ ধরন নির্ধারণ করা যায়নি"
++msgstr "%s'র ক্ষেত্রে addr context'এ ধরন নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s'র ক্ষেত্রে ফাইলের context'এ mls ক্ষেত্র নির্ধারণ করা যায়নি"
++msgstr "%s'র ক্ষেত্রে addr context'এ mls ক্ষেত্র নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s'র ক্ষেত্রে ফাইলের context নির্ধারণ করা যায়নি"
++msgstr "%s'র ক্ষেত্রে addr context নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s পোর্ট যোগ করা যায়নি"
++msgstr "%s addr যোগ করা যায়নি"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "%s/%s পোর্ট নির্ধারিত হয়নি"
++msgstr "%s addr নির্ধারিত হয়নি"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "%s/%s পোর্ট কোয়েরি করা যায়নি"
++msgstr "%s addr কোয়েরি করা যায়নি"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "%s/%s পোর্ট পরিবর্তন করা যায়নি"
++msgstr "%s addr পরিবর্তন করা যায়নি"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "%s/%s পোর্টটি নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে অপসারণযোগ্য নয়"
++msgstr "%s addr নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে অপসারণযোগ্য নয়"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s মুছে ফেলা যায়নি"
++msgstr "%s addr মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "পোর্টের তালিকা নির্মাণ করা যায়নি"
++msgstr "addr-র তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "%s প্রেক্ষাপটের বৈশিষ্ট্য নির্ধারিত হয়েছে কিনা পরীক্ষা করা যায়নিis defined"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "%s প্রেক্ষাপট বর্তমানে নির্ধারিত রয়েছে"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s'র প্রেক্ষাপট নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s'র ক্ষেত্রে প্রেক্ষাপটের context'এ ব্যবহারকারী বৈশিষ্ট্য নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s'র ক্ষেত্রে প্রেক্ষাপটের context'এ ভূমিকার বৈশিষ্ট্য নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s'র ক্ষেত্রে প্রেক্ষাপটের context'এ ধরন নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s'র ক্ষেত্রে প্রেক্ষাপটের context'এ mls ক্ষেত্র নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s'র ক্ষেত্রে প্রেক্ষাপটের context'র বৈশিষ্ট্য নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s'র ক্ষেত্রে বার্তার context নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "%s প্রেক্ষাপট যোগ করা যায়নি"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "%s প্রেক্ষাপটের বৈশিষ্ট্য নির্ধারিত হয়নি"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "%s প্রেক্ষাপট কোয়েরি করা যায়নি"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "%s প্রেক্ষাপট পরিবর্তন করা যায়নি"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "%s প্রেক্ষাপটটি নিয়মনীতির মধ্যে নির্ধারিত হয়েছে এবং অপসারণযোগ্য নয়"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "%s প্রেক্ষাপট মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "প্রেক্ষাপটের তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux ইন্টারফেস"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "কনটেক্সট"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s'র ক্ষেত্রে ফাইলের context'এ ব্যবহারকারী বৈশিষ্ট্য নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s'র ক্ষেত্রে ফাইলের context'এ ভূমিকা নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s'র ক্ষেত্রে ফাইলের context'এ mls ক্ষেত্র নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "ফাইলের বৈশিষ্ট্য বৈধ নয়"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s'র ফাইল context নির্ধারিত হয়েছে কিনা পরীক্ষা করা যায়নি"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s'র ফাইল context বর্তমানে নির্ধারিত রয়েছে"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s'র ফাইল contex নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s'র ক্ষেত্রে ফাইলের context'এ ধরন নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s'র ক্ষেত্রে ফাইলের context নির্ধারণ করা যায়নি"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s'র ক্ষেত্রে ফাইল context যোগ করা যায়নি"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange অথবা seuser আবশ্যক"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s'র ফাইল context আবশ্যক"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s'র জন্য ফাইল context কোয়েরি করা যায়নি"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s'র জন্য ফাইল context পরিবর্তন করা যায়নি"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "ফাইল context'র তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "ফাইল context %s  মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "%s'র ফাইল context নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে তা অপসারণ করা সম্ভব নয়"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s'র ফাইল context মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "ফাইল context'র তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "স্থানীয় ফাইলের context'র তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "ধরন"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "বুলিয়ান %s'র বৈশিষ্ট্য নির্ধারিত হয়েছে কিনা তা পরীক্ষা করা যায়নি"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "বুলিয়ান %s'র মান বর্তমানে নির্ধারিত রয়েছে"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "%s'র ফাইল context কোয়েরি করা যায়নি"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "মান উল্লেখ করা আবশ্যক"
++msgstr "নিম্নলিখিত একটি মান উল্লেখ করা আবশ্যক: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "বুলিয়ান %s মুছে ফেলা যায়নি"
++msgstr "%s বুলিয়েনের সক্রিয় মান নির্ধারণ করতে ব্যর্থ"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "%s বুলিয়ানের মান পরিবর্তন করা যায়নি"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "ভুল বিন্যাস %s: রেকর্ড %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "বুলিয়ান %s'র মান নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে অপসারণযোগ্য নয়"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "বুলিয়ান %s মুছে ফেলা যায়নি"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "বুলিয়ানের তালিকা নির্মাণ করা যায়নি"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "অজানা"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "বন্ধ"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "চালু"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux বুলিয়ান"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "বিবরণ"
+@@ -959,9 +978,9 @@
+ msgstr "পরিবেশ পরিশ্রুত করতে ব্যর্থ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "কর্ম init করতে ব্যর্থ, পরিত্যাগ করা হচ্ছে।\n"
++msgstr "ক্ষমতার বৈশিষ্ট্যগুলি আরম্ভ ব্যর্থ, পরিত্যাগ করা হচ্ছে।\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1295,1626 +1314,2233 @@
+ msgid "Options Error %s "
+ msgstr "বিকল্প সংক্রান্ত ত্রুটি %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "MLS-বিহীন মেশিনে অনুবাদ সমর্থন করা হয় না"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "বুলিয়ান"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "সকল"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "স্বনির্ধারিত"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "ফাইল লেবেল ব্যবস্থা"
+-#~ msgid "Boolean"
+-#~ msgstr "বুলিয়ান"
+-
+-#~ msgid "all"
+-#~ msgstr "সকল"
+-
+-#~ msgid "Customized"
+-#~ msgstr "স্বনির্ধারিত"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "ফাইল লেবেল ব্যবস্থা"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ফাইলের\n"
+-#~ "বৈশিষ্ট্য"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ফাইলের\n"
++"বৈশিষ্ট্য"
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "ফাইলের ধরন"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"ফাইলের ধরন"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "ফাইল\n"
+-#~ "ধরন"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ফাইল\n"
++"ধরন"
+-#~ msgid "User Mapping"
+-#~ msgstr "ব্যবহারকারী ম্যাপিং"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "ব্যবহারকারী ম্যাপিং"
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "লগ-ইন\n"
+-#~ "নাম"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"লগ-ইন\n"
++"নাম"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ব্যবহারকারী"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"ব্যবহারকারী"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS সীমা"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS সীমা"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "লগ-ইন '%s' আবশ্যক"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "লগ-ইন '%s' আবশ্যক"
+-#~ msgid "Policy Module"
+-#~ msgstr "পলিসি মডিউল"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "পলিসি মডিউল"
+-#~ msgid "Module Name"
+-#~ msgstr "মডিউলের নাম"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "মডিউলের নাম"
+-#~ msgid "Version"
+-#~ msgstr "সংস্করণ"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "সংস্করণ"
+-#~ msgid "Disable Audit"
+-#~ msgstr "অডিট নিষ্ক্রিয় করা হবে"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "অডিট নিষ্ক্রিয় করা হবে"
+-#~ msgid "Enable Audit"
+-#~ msgstr "অডিট সক্রিয় করা হবে"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "অডিট সক্রিয় করা হবে"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "পলিসি মডিউল লোড করুন"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "পলিসি মডিউল লোড করুন"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat ২০০৭"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat ২০০৭"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "translator-credits"
+-#~ msgstr "রুণা ভট্টাচার্য (runab@redhat.com)"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "রুণা ভট্টাচার্য (runab@redhat.com)"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux Policy নির্মাণের সামগ্রী"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++" SELinux প্রয়োগকারী অ্যাপ্লিকেশন অথবা ব্যবহারকারীদের confine করতে ব্যবহৃত পলিসির "
++"পরিকাঠামো নির্মাণের জন্য এই সামগ্রী ব্যবহার করা যাবে।\n"
++"\n"
++"এই সামগ্রী প্রয়োগ করে নির্মাণ করা যাবে:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - পলিসি কম্পাইল ও ইনস্টল করতে ব্যবহৃত।"
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "আবদ্ধ করার জন্য অ্যাপ্লিকেশন/ব্যবহারকারীর ভূমিকা নির্বাচন করুন।"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>অ্যাপ্লিকেশন</b>"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ " SELinux প্রয়োগকারী অ্যাপ্লিকেশন অথবা ব্যবহারকারীদের confine করতে ব্যবহৃত "
+-#~ "পলিসির পরিকাঠামো নির্মাণের জন্য এই সামগ্রী ব্যবহার করা যাবে।\n"
+-#~ "\n"
+-#~ "এই সামগ্রী প্রয়োগ করে নির্মাণ করা যাবে:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - পলিসি কম্পাইল ও ইনস্টল করতে ব্যবহৃত।"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"বুট করার সময় init স্ক্রিপ্টের মাধ্যমে আরম্ভ হওয়া ডেমনগুলি প্রমিত Init ডেমন নামে "
++"পরিচিত। সাধারণত /etc/rc.d/init.d-র মধ্যে একটি স্ক্রিপ্ট উপস্থিত থাকা আবশ্যক।"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "আবদ্ধ করার জন্য অ্যাপ্লিকেশন/ব্যবহারকারীর ভূমিকা নির্বাচন করুন।"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "প্রমিত Init ডেমন"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS সিস্টেম ডেমন"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet Services Daemon-র ডেমনগুলি xinetd দ্বারা আরম্ভ করা হয়।"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>অ্যাপ্লিকেশন</b>"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"ওয়েব সার্ভার (apache) দ্বারা আরম্ভ করা ওয়েব অ্যাপ্লিকেশন/স্ক্রিপ্ট (CGI) CGI স্ক্রিপ্ট"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "বুট করার সময় init স্ক্রিপ্টের মাধ্যমে আরম্ভ হওয়া ডেমনগুলি প্রমিত Init ডেমন নামে "
+-#~ "পরিচিত। সাধারণত /etc/rc.d/init.d-র মধ্যে একটি স্ক্রিপ্ট উপস্থিত থাকা আবশ্যক।"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "ওয়েব অ্যাপ্লিকেশন/স্ক্রিপ্ট (CGI)"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "প্রমিত Init ডেমন"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"ব্যবহারকারী দ্বারা আরম্ভ করা কোনো অ্যাপ্লিকেশন যা আবদ্ধ করার জন্য চিহ্নিত তা "
++"ব্যবহারকারীদের অ্যাপ্লিকেশন নামে পরিচিত"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Internet Services Daemon-র ডেমনগুলি xinetd দ্বারা আরম্ভ করা হয়।"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "ব্যবহারকারীদের অ্যাপ্লিকেশন"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>ব্যবহারকারীর লগ-ইন</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "বর্তমানে উপস্থিত লগ-ইন ব্যবহারকারীর তথ্য পরিবর্তন করুন।"
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "বর্তমানে উপস্থিত ব্যবহারকারী ভূমিকা"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Internet Services Daemon (inetd)"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"চিহ্নিত ব্যবহারকারী টার্মিন্যাল অথবা দূরবর্তী লগ-ইনের মাধ্যমে মেশিনে লগ-ইন করতে "
++"পারবেন।  ডিফল্টরূপে, এই মেশিনে কোনো setuid, নেটওয়ার্ক, sudo অথবা su উপস্থিত "
++"থাকবে না"
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "সর্বনিম্ন টার্মিন্যাল ব্যবহারকারীর ভূমিকা"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "ওয়েব সার্ভার (apache) দ্বারা আরম্ভ করা ওয়েব অ্যাপ্লিকেশন/স্ক্রিপ্ট (CGI) CGI "
+-#~ "স্ক্রিপ্ট"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"চিহ্নিত ব্যবহারকারী X অথবা টার্মিন্যালের মাধ্যমে মেশিনে লগ-ইন করতে পারবেন।  "
++"ডিফল্টরূপে, এই মেশিনে কোনো setuid, নেটওয়ার্ক, sudo অথবা su উপস্থিত থাকবে না"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "ওয়েব অ্যাপ্লিকেশন/স্ক্রিপ্ট (CGI)"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "সর্বনিম্ন X Windows ব্যবহারকারীর ভূমিকা"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "ব্যবহারকারী দ্বারা আরম্ভ করা কোনো অ্যাপ্লিকেশন যা আবদ্ধ করার জন্য চিহ্নিত তা "
+-#~ "ব্যবহারকারীদের অ্যাপ্লিকেশন নামে পরিচিত"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"সম্পূর্ণ নেটওয়ার্ক, রূপান্তরবিহীন setuid অ্যাপ্লিকেশন বিনা, su বিনা ও sudo বিনা "
++"ব্যবহারকারী ভূমিকা।"
+-#~ msgid "User Application"
+-#~ msgstr "ব্যবহারকারীদের অ্যাপ্লিকেশন"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "ব্যবহারকারীর ভূমিকা"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>ব্যবহারকারীর লগ-ইন</b>"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"সম্পূর্ণ নেটওয়ার্ক, রূপান্তরবিহীন setuid অ্যাপ্লিকেশন বিনা ও su বিনা ব্যবহারকারী "
++"ভূমিকা। sudo সহযোগে root ব্যবহারকারীর প্রশাসনিক ভূমিকা প্রয়োগ করা যাবে।"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "বর্তমানে উপস্থিত লগ-ইন ব্যবহারকারীর তথ্য পরিবর্তন করুন।"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "অ্যাডমিন ব্যবহারকারীর ভূমিকা"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>root ব্যবহারকারী</b>"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "বর্তমানে উপস্থিত ব্যবহারকারী ভূমিকা"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"এই ব্যবহারকারী দ্বারা root পরিচয়ে মেশিন পরিচালনা করা হলে 'Root প্রশাসনিক "
++"ব্যবহারকারীর ভূমিকা' নির্বাচন করুন। সিস্টেমে, এই ব্যবহারকারী সরাসরি লগ-ইন করতে "
++"সক্ষম হবেন না।"
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root প্রশাসনিক ব্যবহারকারীর ভূমিকা"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "confine করার জন্য অ্যাপ্লিকেশন অথবা ব্যবহারকারীর নাম নির্বাচন করুন।"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "নাম"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "confine করার জন্য এক্সেকিউটেবিলের সম্পূর্ণ পাথ লিখুন।"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "confine করা ব্যবহারকারী অথবা অ্যাপ্লিকেশন ভূমিকার স্বতন্ত্র নাম লিখুন।"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "এক্সেকিউটেবল"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init স্ক্রিপ্ট"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "চিহ্নিত ব্যবহারকারী টার্মিন্যাল অথবা দূরবর্তী লগ-ইনের মাধ্যমে মেশিনে লগ-ইন করতে "
+-#~ "পারবেন।  ডিফল্টরূপে, এই মেশিনে কোনো setuid, নেটওয়ার্ক, sudo অথবা su উপস্থিত "
+-#~ "থাকবে না"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "confine করা অ্যাপ্লিকেশন আরম্ভের জন্য init স্ক্রিপ্টের সম্পূর্ণ পাথ লিখুন।"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "সর্বনিম্ন টার্মিন্যাল ব্যবহারকারীর ভূমিকা"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "স্বনির্ধারণের জন্য প্রযোজ্য ব্যবহারকারীদের ভূমিকা চিহ্নিত করুন"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "চিহ্নিত ব্যবহারকারী X অথবা টার্মিন্যালের মাধ্যমে মেশিনে লগ-ইন করতে পারবেন।  "
+-#~ "ডিফল্টরূপে, এই মেশিনে কোনো setuid, নেটওয়ার্ক, sudo অথবা su উপস্থিত থাকবে না"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"চিহ্নিত অ্যাপ্লিকেশন ডোমেইনের মধ্যে রূপান্তরযোগ্য ব্যবহারকারীর ভূমিকা নির্বাচন করুন"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "সর্বনিম্ন X Windows ব্যবহারকারীর ভূমিকা"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "এই ব্যবহারকারী ভূমিকা দ্বারা রূপান্তরের জন্য অতিরিক্ত ডোমেইন নির্বাচন করুন"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "সম্পূর্ণ নেটওয়ার্ক, রূপান্তরবিহীন setuid অ্যাপ্লিকেশন বিনা, su বিনা ও sudo বিনা "
+-#~ "ব্যবহারকারী ভূমিকা।"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"চিহ্নিত ব্যবহারকারীর ভূমিকা দ্বারা যে সমস্ত অ্যাপ্লিকেশন ডোমেইনে রূপান্তর করা সম্ভব "
++"হবে তা নির্বাচন করুন।"
+-#~ msgid "User Role"
+-#~ msgstr "ব্যবহারকারীর ভূমিকা"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "চিহ্নিত ডোমেইনের মধ্যে রূপান্তরযোগ্য ব্যবহারকারীর ভূমিকা নির্বাচন করুন"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "ব্যবহারকারী দ্বারা যে সমস্ত অতিরিক্ত ডোমেইন পরিচালিত হবে সেগুলি নির্বাচন করুন"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "চিহ্নিত ব্যবহারকারী দ্বারা পরিচালনার উদ্দেশ্যে ডোমেইন নির্বাচন করুন।"
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "চিহ্নিত ব্যবহারকারীর জন্য অতিরিক্ত ভূমিকা নির্বাচন করুন"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "সম্পূর্ণ নেটওয়ার্ক, রূপান্তরবিহীন setuid অ্যাপ্লিকেশন বিনা ও su বিনা ব্যবহারকারী "
+-#~ "ভূমিকা। sudo সহযোগে root ব্যবহারকারীর প্রশাসনিক ভূমিকা প্রয়োগ করা যাবে।"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত নেটওয়ার্ক পোর্টে অপেক্ষা করা হবে"
+-#~ msgid "Admin User Role"
+-#~ msgstr "অ্যাডমিন ব্যবহারকারীর ভূমিকা"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP পোর্ট</b>"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>root ব্যবহারকারী</b>"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"confine করা অ্যাপ্লিকেশন/ব্যবহারকারীদের যে কোনো udp পোর্টের সাথে bind করার সুযোগ "
++"দেয়।"
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "এই ব্যবহারকারী দ্বারা root পরিচয়ে মেশিন পরিচালনা করা হলে 'Root প্রশাসনিক "
+-#~ "ব্যবহারকারীর ভূমিকা' নির্বাচন করুন। সিস্টেমে, এই ব্যবহারকারী সরাসরি লগ-ইন করতে "
+-#~ "সক্ষম হবেন না।"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "সকল"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Root প্রশাসনিক ব্যবহারকারীর ভূমিকা"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"অ্যাপ্লিকেশন/ব্যবহারকারীদের 0 প্রয়োগ করে bindresvport কল করার সুযোগ দেওয়া হবে। "
++"পোর্ট সংখ্যা ৬০০-১০২৪-র সাথে bind করা হবে।"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "confine করার জন্য অ্যাপ্লিকেশন অথবা ব্যবহারকারীর নাম নির্বাচন করুন।"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Name"
+-#~ msgstr "নাম"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত udp পোর্ট অথবা পোর্ট সীমার মধ্যে "
++"উপস্থিত পোর্টের সাথে বাইন্ড করতে সক্ষম হবে সেগুলির তালিকা নির্মাণ করুন ও কমা চিহ্ন "
++"দ্বারা বিভাজন করুন। উদাহরণস্বরূপ: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "অসংরক্ষিত পোর্ট (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "নির্বাচিত পোর্ট"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "confine করার জন্য এক্সেকিউটেবিলের সম্পূর্ণ পাথ লিখুন।"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"অ্যাপ্লিকেশন/ব্যবহারকারীদের 1024-র অধিক যে কোনো udp পোর্টের সাথে bind করার সুযোগ "
++"দেওয়া হয়।"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP পোর্ট</b>"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "confine করা ব্যবহারকারী অথবা অ্যাপ্লিকেশন ভূমিকার স্বতন্ত্র নাম লিখুন।"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত নেটওয়ার্ক পোর্টের সাথে সংযোগ স্থাপন "
++"করা হবে"
+-#~ msgid "Executable"
+-#~ msgstr "এক্সেকিউটেবল"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত tcp পোর্ট অথবা পোর্ট সীমার মধ্যে "
++"উপস্থিত পোর্টের সাথে সংযোগ করতে সক্ষম হবে সেগুলির তালিকা নির্মাণ করুন ও কমা চিহ্ন "
++"দ্বারা বিভাজন করুন। উদাহরণস্বরূপ: 612, 650-660"
+-#~ msgid "Init script"
+-#~ msgstr "Init স্ক্রিপ্ট"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত udp পোর্ট অথবা পোর্ট সীমার মধ্যে "
++"উপস্থিত পোর্টের সাথে সংযোগ করতে সক্ষম হবে সেগুলির তালিকা নির্মাণ করুন ও কমা চিহ্ন "
++"দ্বারা বিভাজন করুন। উদাহরণস্বরূপ: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "সাধারণ অ্যাপ্লিকেশনের বৈশিষ্ট্য নির্বাচন করুন"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog বার্তা লেখা হয়\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp-র মধ্যে উপস্থিত অস্থায়ী ফাইল নির্মাণ/পরিবর্তন করুন"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "অনুমোদনের জন্য Pam ব্যবহার করুন"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch অথবা getpw* কল ব্যবহার করা হয়"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus ব্যবহার করা হয়"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "অডিট সংক্রান্ত বার্তা পাঠানো হয়"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "টার্মিন্যালের সাথে যোগাযোগ"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ই-মেইল বার্তা পাঠানো হয়"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "অ্যাপ্লিকেশন দ্বারা পরিচালিত ফাইল/ডিরেক্টরি নির্বাচন করুন"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "confine করা অ্যাপ্লিকেশন আরম্ভের জন্য init স্ক্রিপ্টের সম্পূর্ণ পাথ লিখুন।"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"অ্যাপ্লিকেশন যে সমস্ত ফাইল/ডিরেক্টরিতে \"Write\" লিখতে পারবে সেগুলির নাম যোগ করুন। "
++"Pid ফাইল, লগ ফাইল, /var/lib ফাইল ..."
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "স্বনির্ধারণের জন্য প্রযোজ্য ব্যবহারকারীদের ভূমিকা চিহ্নিত করুন"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "অ্যাপ্লিকেশন দ্বারা ব্যবহৃত বুলিয়ান নির্বাচন করুন"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "চিহ্নিত অ্যাপ্লিকেশন ডোমেইনের মধ্যে রূপান্তরযোগ্য ব্যবহারকারীর ভূমিকা নির্বাচন করুন"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"কনফাইন করা অ্যাপ্লিকেশন/ব্যবহারকারীর জন্য প্রয়োগ হওয়া বুলিয়ান যোগ করুন/মুছে ফেলুন"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "এই ব্যবহারকারী ভূমিকা দ্বারা রূপান্তরের জন্য অতিরিক্ত ডোমেইন নির্বাচন করুন"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "নিয়মনীতি নির্মাণের জন্য ব্যবহারযোগ্য ডিরেক্টরি নির্বাচন করুন"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "চিহ্নিত ব্যবহারকারীর ভূমিকা দ্বারা যে সমস্ত অ্যাপ্লিকেশন ডোমেইনে রূপান্তর করা সম্ভব "
+-#~ "হবে তা নির্বাচন করুন।"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "নিয়মনীতির ডিরেক্টরি"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "চিহ্নিত ডোমেইনের মধ্যে রূপান্তরযোগ্য ব্যবহারকারীর ভূমিকা নির্বাচন করুন"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "উৎপন্ন নিয়মনীতির ফাইল"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr ""
+-#~ "ব্যবহারকারী দ্বারা যে সমস্ত অতিরিক্ত ডোমেইন পরিচালিত হবে সেগুলি নির্বাচন করুন"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"এই সরঞ্জাম দ্বারা নিম্নলিখিত সামগ্রী নির্মিত হবে: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"ফাইল/ডিরেক্টরি কম্পাইল/ইনস্টল ও পুনরায় লেবেল করার জন্য root পরিচয়ে শেল স্ক্রিপ্ট "
++"সঞ্চালন করুন।  \n"
++"Linux লগ-ইন ব্যবহারকারীর সাথে ব্যবহারকারীদের ভূমিকার যোগসূত্র স্থাপন করার জন্য "
++"semange অথবা useradd প্রয়োগ করুন।\n"
++"মেশিনটি permissive (সতর্কতামূলক) মোডে স্থাপন করুন (setenforce 0)। \n"
++"ব্যবহারকারী রূপে লগ-ইন করুন ও ব্যবহারকারীর ভূমিকা পরীক্ষা করুন।\n"
++"te ফাইলের জন্য অতিরিক্ত নিয়ম নির্ধারণ করার জন্য audit2allow -R প্রয়োগ করুন।\n"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "চিহ্নিত ব্যবহারকারী দ্বারা পরিচালনার উদ্দেশ্যে ডোমেইন নির্বাচন করুন।"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"এই সরঞ্জাম দ্বারা নিম্নলিখিত সামগ্রী নির্মিত হবে: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"ফাইল/ডিরেক্টরি কম্পাইল/ইনস্টল ও পুনরায় লেবেল করার জন্য root পরিচয়ে শেল স্ক্রিপ্ট "
++"সঞ্চালন করুন।  \n"
++"মেশিনটি permissive (সতর্কতামূলক) মোডে স্থাপন করুন (setenforce 0)। \n"
++"ব্যবহারকারী রূপে লগ-ইন করুন ও ব্যবহারকারীর ভূমিকা পরীক্ষা করুন।\n"
++"te ফাইলের জন্য অতিরিক্ত নিয়ম নির্ধারণ করার জন্য audit2allow -R প্রয়োগ করুন।\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "বুলিয়ান ডায়লগ যোগ করুন"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "বুলিয়ান নাম"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Role"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "উপস্থিত_ব্যবহারকারী"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "অ্যাপ্লিকেশন"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ডিরেক্টরি হওয়া আবশ্যক"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "একটি ব্যবহারকারী নির্বাচন করা আবশ্যক"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "confine করার উদ্দেশ্যে এক্সিকিউটেবিল ফাইল নির্বাচন করুন"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "confine করার উদ্দেশ্যে init script ফাইল নির্বাচন করুন।"
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "কনফাইন করা অ্যাপ্লিকেশন দ্বারা নির্মিত অথবা লেখা ফাইল নির্বাচন করুন"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "চিহ্নিত ব্যবহারকারীর জন্য অতিরিক্ত ভূমিকা নির্বাচন করুন"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"কনফাইন করা অ্যাপ্লিকেশনের মালিকানাধীন অথবা অ্যাপ্লিকেশন দ্বারা লিখনযোগ্য ডিরেক্টরি "
++"নির্বাচন করুন"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত নেটওয়ার্ক পোর্টে অপেক্ষা করা হবে"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "নিয়মনীতি সংক্রান্ত ফাইল নির্মাণের জন্য ডিরেক্টরি নির্বাচন করুন"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP পোর্ট</b>"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"বর্তমান নিয়মনীতির মধ্যে %s_t ধরন বর্তমানে ব্যাখ্যা করা হয়েছে।\n"
++"এগিয়ে যেতে ইচ্ছুক কি?"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "confine করা অ্যাপ্লিকেশন/ব্যবহারকারীদের যে কোনো udp পোর্টের সাথে bind করার "
+-#~ "সুযোগ দেয়।"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "নাম পরীক্ষণ"
+-#~ msgid "All"
+-#~ msgstr "সকল"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"বর্তমান নিয়মনীতির মধ্যে %s.pp মডিউল বর্তমানে ব্যাখ্যা করা হয়েছে।\n"
++"এগিয়ে যেতে ইচ্ছুক কি?"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারীদের 0 প্রয়োগ করে bindresvport কল করার সুযোগ দেওয়া হবে। "
+-#~ "পোর্ট সংখ্যা ৬০০-১০২৪-র সাথে bind করা হবে।"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "নাম উল্লেখ করা আবশ্যক"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "এক্সেকিউটেবল উল্লেখ করা আবশ্যক"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত udp পোর্ট অথবা পোর্ট সীমার মধ্যে "
+-#~ "উপস্থিত পোর্টের সাথে বাইন্ড করতে সক্ষম হবে সেগুলির তালিকা নির্মাণ করুন ও কমা "
+-#~ "চিহ্ন দ্বারা বিভাজন করুন। উদাহরণস্বরূপ: 612, 650-660"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux কনফিগার করুন"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "অসংরক্ষিত পোর্ট (>1024)"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++"পোর্ট সংখ্যার ক্ষেত্রে 1 থেকে %d-র মধ্যে সংখ্যা অথবা সংখ্যামালা ব্যবহার করা আবশ্যক "
+-#~ msgid "Select Ports"
+-#~ msgstr "নির্বাচিত পোর্ট"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "কনফাইন করা প্রসেস/ব্যবহারকারীর জন্য নাম লেখা আবশ্যক"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারীদের 1024-র অধিক যে কোনো udp পোর্টের সাথে bind করার "
+-#~ "সুযোগ দেওয়া হয়।"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER ধরনটি অনুমোদিত এক্সেকিউটেবল নয়"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP পোর্ট</b>"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "শুধুমাত্র DAEMON অ্যাপ্লিকেশন দ্বারা init স্ক্রিপ্ট ব্যবহার করা যাবে"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত নেটওয়ার্ক পোর্টের সাথে সংযোগ "
+-#~ "স্থাপন করা হবে"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog-র মান বুলিয়ান হওয়া আবশ্যক "
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত tcp পোর্ট অথবা পোর্ট সীমার মধ্যে "
+-#~ "উপস্থিত পোর্টের সাথে সংযোগ করতে সক্ষম হবে সেগুলির তালিকা নির্মাণ করুন ও কমা "
+-#~ "চিহ্ন দ্বারা বিভাজন করুন। উদাহরণস্বরূপ: 612, 650-660"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER ধরনের ক্ষেত্রে স্বয়ংক্রিয়রূপে tmp ধরন নির্ধারিত হবে"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত udp পোর্ট অথবা পোর্ট সীমার মধ্যে "
+-#~ "উপস্থিত পোর্টের সাথে সংযোগ করতে সক্ষম হবে সেগুলির তালিকা নির্মাণ করুন ও কমা "
+-#~ "চিহ্ন দ্বারা বিভাজন করুন। উদাহরণস্বরূপ: 612, 650-660"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "কনফাইন করা প্রসেসের ক্ষেত্রে এক্সেকিউটেবলের পাথ উল্লেখ করা আবশ্যক"
+-#~ msgid "Select common application traits"
+-#~ msgstr "সাধারণ অ্যাপ্লিকেশনের বৈশিষ্ট্য নির্বাচন করুন"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "ধরন প্রয়োগকারী ফাইল"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog বার্তা লেখা হয়\t"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ইন্টারফেস সংক্রান্ত ফাইল"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp-র মধ্যে উপস্থিত অস্থায়ী ফাইল নির্মাণ/পরিবর্তন করুন"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ফাইল কনটেক্সটের ফাইল"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "অনুমোদনের জন্য Pam ব্যবহার করুন"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "প্রস্তুতির স্ক্রিপ্ট"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch অথবা getpw* কল ব্যবহার করা হয়"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "নেটওয়ার্ক পোর্ট"
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus ব্যবহার করা হয়"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux পোর্ট\n"
++"ধরন"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "অডিট সংক্রান্ত বার্তা পাঠানো হয়"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "প্রোটোকল"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "টার্মিন্যালের সাথে যোগাযোগ"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"স্তর"
+-#~ msgid "Sends email"
+-#~ msgstr "ই-মেইল বার্তা পাঠানো হয়"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "পোর্ট"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "\"%s\" পোর্ট সংখ্যা বৈধ নয়।  0 < পোর্ট_সংখ্যা < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "তালিকা অনুসারে প্রদর্শন"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "সংকলন অনুযায়ী প্রদর্শন"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux Service Protection"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "অ্যাডমিন"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "সর্বধরনের ডেমন দ্বারা /-র মধ্যে corefile লেখার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "সর্বধরনের ডেমনকে অব্যবহৃত ttys ব্যবহারের ক্ষমতা প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "ব্যবহারকারীর অধিকার"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "অ্যাপ্লিকেশন দ্বারা পরিচালিত ফাইল/ডিরেক্টরি নির্বাচন করুন"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
++"(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন যে সমস্ত ফাইল/ডিরেক্টরিতে \"Write\" লিখতে পারবে সেগুলির নাম যোগ "
+-#~ "করুন। Pid ফাইল, লগ ফাইল, /var/lib ফাইল ..."
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"guest SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
++"(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "অ্যাপ্লিকেশন দ্বারা ব্যবহৃত বুলিয়ান নির্বাচন করুন"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "মেমরি সংরক্ষণ"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java এক্সেকিউটেবল স্ট্যাকের অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "mount দ্বারা যে কোনো ফাইল মাউন্ট করার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "mount দ্বারা যে কোনো ডিরেক্টরি মাউন্ট করার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer এক্সেকিউটেবল স্ট্যাকের অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh দ্বারা ssh-keysign সঞ্চালনের অনুমতি দেওয়া হবে"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "কনফাইন করা অ্যাপ্লিকেশন/ব্যবহারকারীর জন্য প্রয়োগ হওয়া বুলিয়ান যোগ করুন/মুছে ফেলুন"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"staff SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
++"(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "নিয়মনীতি নির্মাণের জন্য ব্যবহারযোগ্য ডিরেক্টরি নির্বাচন করুন"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
++"(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#~ msgid "Policy Directory"
+-#~ msgstr "নিয়মনীতির ডিরেক্টরি"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"আন-কনফাইন করা SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত "
++"ডিরেক্টরি (home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "উৎপন্ন নিয়মনীতির ফাইল"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "নেটওয়ার্ক কনফিগারেশন"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "লেবেল বিহীন প্যাকেটগুলি নেটওয়ার্কের মধ্যে চলাচলের অনুমতি প্রদান করা হবে"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "বুলিয়ান ডায়লগ যোগ করুন"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"user SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
++"(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#~ msgid "Boolean Name"
+-#~ msgstr "বুলিয়ান নাম"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"আন-কনফাইন করা সামগ্রী unconfined_execmem-এ dyntrans করার অনুমতি প্রদান করা হবে"
+-#~ msgid "Role"
+-#~ msgstr "Role"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "ডাটাবেস"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "ব্যবহারকারীদের mysql সকেটের সাথে সংযোগ করার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "ব্যবহারকারীদের postgres সকেটের সাথে সংযোগ করার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "ক্লায়েন্টদেরকে X শেয়ার মেমরিতে লেখার অনুমতি প্রদান করা হবে"
+-#~ msgid "Existing_User"
+-#~ msgstr "উপস্থিত_ব্যবহারকারী"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
++"(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#~ msgid "Application"
+-#~ msgstr "অ্যাপ্লিকেশন"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "NIS-র সাথে ডেমন সঞ্চালনের অনুমতি দেওয়া হবে"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "ওয়েব অ্যাপ্লিকেশন"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "staff SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "user SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"staff ওয়েব ব্রাউজার দ্বারা ব্যক্তিগত (home) ডিরেক্টরির মধ্যে লেখার অনুমতি প্রদান করা "
++"হবে"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s ডিরেক্টরি হওয়া আবশ্যক"
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Cluster Server-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "You must select a user"
+-#~ msgstr "একটি ব্যবহারকারী নির্বাচন করা আবশ্যক"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord দ্বারা বিবিধ বস্তু পাঠের অনুমতি প্রদান করা হবে। nfs, samba, অপসারণযোগ্য "
++"ডিভাইস, user temp ও অবিশ্বস্ত তথ্য সহ ফাইল"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "confine করার উদ্দেশ্যে এক্সিকিউটেবিল ফাইল নির্বাচন করুন"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "প্রিন্ট ব্যবস্থা"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd ব্যাক-এন্ড সার্ভারের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t দ্বারা সরাসরি ডেমন আরম্ভের অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Evolution-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "খেলা"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "খেলার জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "ওয়েব ব্রাউজারের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbird-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "সুসংগতি"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "confine করার উদ্দেশ্যে init script ফাইল নির্বাচন করুন।"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "বিপদের আশঙ্কাবিহীন জ্ঞাত সমস্যাসহ সামগ্রীর জন্য অডিট করা হবে না"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "hplip ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD পরিসেবা"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd চাইল্ড ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "কনফাইন করা অ্যাপ্লিকেশন দ্বারা নির্মিত অথবা লেখা ফাইল নির্বাচন করুন"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++"evolution ও thunderbird দ্বারা ব্যবহারকারীদের ফাইল পাঠ করার অনুমতি প্রদান করা হবে"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "কনফাইন করা অ্যাপ্লিকেশনের মালিকানাধীন অথবা অ্যাপ্লিকেশন দ্বারা লিখনযোগ্য "
+-#~ "ডিরেক্টরি নির্বাচন করুন"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "mozilla ব্রাউজার দ্বারা ব্যবহারকারীদের ফাইল পড়ার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Name পরিসেবা"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "সাধারণ ব্যবহারকারীর জন্য pppd সঞ্চালনের অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "নিয়মনীতি সংক্রান্ত ফাইল নির্মাণের জন্য ডিরেক্টরি নির্বাচন করুন"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"প্রমিত অবস্থান ভিন্ন অন্য অবস্থানে উপস্থিত ফাইলগুলি বিভিন্ন প্রোগ্রাম দ্বারা পাঠ করার "
++"অনুমতি প্রদান করা হবে (default_t)"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "বর্তমান নিয়মনীতির মধ্যে %s_t ধরন বর্তমানে ব্যাখ্যা করা হয়েছে।\n"
+-#~ "এগিয়ে যেতে ইচ্ছুক কি?"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh-কে ডেমনের পরিবর্তে inetd থেকে সঞ্চালনের অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba দ্বারা nfs ডিরেক্টরি শেয়ার করার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL অনুমোদনের সার্ভার"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl অনুমোদন সার্ভার দ্বারা /etc/shadow ফাইল পাঠ করার অনুমতি প্রদান করা হবে"
+-#~ msgid "Verify Name"
+-#~ msgstr "নাম পরীক্ষণ"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows সার্ভার দ্বারা মেমরির অংশকে এক্সিকিউটেবল ও লিখনযোগ্য রূপে ম্যাপ করা হবে"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "বর্তমান নিয়মনীতির মধ্যে %s.pp মডিউল বর্তমানে ব্যাখ্যা করা হয়েছে।\n"
+-#~ "এগিয়ে যেতে ইচ্ছুক কি?"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "You must enter a name"
+-#~ msgstr "নাম উল্লেখ করা আবশ্যক"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "এক্সেকিউটেবল উল্লেখ করা আবশ্যক"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t-এ রূপান্তরের অনুমতি প্রদান করা হবে না, sudo ও su প্রভাবিত হবে"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux কনফিগার করুন"
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "কোনো প্রসেস দ্বারা কার্নেল মডিউল লোড করার অনুমতি প্রদান করা হবে না"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr ""
+-#~ "পোর্ট সংখ্যার ক্ষেত্রে 1 থেকে %d-র মধ্যে সংখ্যা অথবা সংখ্যামালা ব্যবহার করা আবশ্যক "
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "কোনো প্রসেস দ্বারা SELinux নিয়মনীতি পরিবর্তনের অনুমতি প্রদান করা হবে"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "কনফাইন করা প্রসেস/ব্যবহারকারীর জন্য নাম লেখা আবশ্যক"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER ধরনটি অনুমোদিত এক্সেকিউটেবল নয়"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "শুধুমাত্র DAEMON অ্যাপ্লিকেশন দ্বারা init স্ক্রিপ্ট ব্যবহার করা যাবে"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog-র মান বুলিয়ান হওয়া আবশ্যক "
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER ধরনের ক্ষেত্রে স্বয়ংক্রিয়রূপে tmp ধরন নির্ধারিত হবে"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "কনফাইন করা প্রসেসের ক্ষেত্রে এক্সেকিউটেবলের পাথ উল্লেখ করা আবশ্যক"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "ধরন প্রয়োগকারী ফাইল"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Interface file"
+-#~ msgstr "ইন্টারফেস সংক্রান্ত ফাইল"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "File Contexts file"
+-#~ msgstr "ফাইল কনটেক্সটের ফাইল"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Setup Script"
+-#~ msgstr "প্রস্তুতির স্ক্রিপ্ট"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux পোর্ট\n"
+-#~ "ধরন"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "স্প্যাম থেকে সুরক্ষা"
+-#~ msgid "Protocol"
+-#~ msgstr "প্রোটোকল"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "স্তর"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd দ্বারা ব্যক্তিগত (home) ডিরেক্টরি ব্যবহারের অনুমতি প্রদান করা হবে"
+-#~ msgid "Port"
+-#~ msgstr "পোর্ট"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assassin ডেমনের ক্ষেত্রে নেটওয়ার্ক ব্যবহারের অনুমতি প্রদান করা হবে"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "\"%s\" পোর্ট সংখ্যা বৈধ নয়।  0 < পোর্ট_সংখ্যা < 65536 "
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "List View"
+-#~ msgstr "তালিকা অনুসারে প্রদর্শন"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Group View"
+-#~ msgstr "সংকলন অনুযায়ী প্রদর্শন"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid ডেমন দ্বারা নেটওয়ার্কের সাথে সংযোগ স্থাপনের অনুমতি প্রদান করা হবে"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux Service Protection"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Admin"
+-#~ msgstr "অ্যাডমিন"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "sysadm_r:sysadm_t রূপে ssh লগ-ইনের অনুমতি প্রদান করা হবে"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "সর্বধরনের ডেমন দ্বারা /-র মধ্যে corefile লেখার অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r ব্যবহারকারীদের দ্বারা sysadm-র ব্যক্তিগত (home) ডিরেক্টরির মধ্যে অনুসন্ধান ও "
++"ফাইল (যেমন ~/.bashrc) পাঠের অনুমতি প্রদান করা হবে "
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "সর্বধরনের ডেমনকে অব্যবহৃত ttys ব্যবহারের ক্ষমতা প্রদান করা হবে"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "সার্বজনীন SSL টানেল"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel ডেমনকে xinetd-র বাইরে স্বতন্ত্ররূপে সঞ্চালনের অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "সিস্টেমের cron কর্মের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "User Privs"
+-#~ msgstr "ব্যবহারকারীর অধিকার"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd আন-কনফাইন অবস্থায় সঞ্চালনের অনুমতি প্রদান করা হবে। xinetd দ্বারা আরম্ভ হওয়া "
++"যে সমস্ত পরিসেবার ক্ষেত্রে ডোমেইন রূপান্তর নির্ধারিত হয়নি সেগুলিও আন-কনফাইল অবস্থায় "
++"সঞ্চালিত হবে।"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
+-#~ "(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc স্ক্রিপ্ট আন-কনফাইন অবস্থায় সঞ্চালনের অনুমতি প্রদান করা হবে। rc স্ক্রিপ্ট দ্বারা "
++"আরম্ভ হওয়া যে সমস্ত ডেমনের ক্ষেত্রে ডোমেইন রূপান্তর নির্ধারিত হয়নি সেগুলিও আন-কনফাইল "
++"অবস্থায় সঞ্চালিত হবে।"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm আন-কনফাইল অবস্থায় সঞ্চালনের অনুমতি প্রদান করা হবে"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "guest SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
+-#~ "(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"বিশেষ অধিকারপ্রাপ্ত সামগ্রী যেম hotplug ও insmod-কে আন-কনফাইন রূপে সঞ্চালনের "
++"অনুমতি প্রদান করা হবে"
+-#~ msgid "Memory Protection"
+-#~ msgstr "মেমরি সংরক্ষণ"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "java এক্সেকিউটেবল স্ট্যাকের অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r-কে su, sudo অথবা userhelper-র সাহায্যে sysadm_r প্রাপ্ত করার অনুমতি প্রদান "
++"করা হবে। অন্যথা, শুধুমাত্র staff_r দ্বারা এটি করা সম্ভব হবে"
+-#~ msgid "Mount"
+-#~ msgstr "Mount"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "ব্যবহারকারীদের দ্বারা mount কমান্ড প্রয়োগ করার অনুমতি প্রদান করা হবে"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "mount দ্বারা যে কোনো ফাইল মাউন্ট করার অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"সাধারণ ব্যবহারকারীদের ক্ষেত্রে সরাসরি মাউসের ব্যবহারের অনুমতি প্রদান করা হবে "
++"(শুধুমাত্র X সার্ভার ব্যবহার করা হবে)"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "mount দ্বারা যে কোনো ডিরেক্টরি মাউন্ট করার অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "ব্যবহারকারীদের dmesg কমান্ড প্রয়োগের অনুমতি প্রদান করা হবে"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer এক্সেকিউটেবল স্ট্যাকের অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"ব্যবহারকারীদেরকে নেটওয়ার্ক ইন্টারফেস নিয়ন্ত্রণের অনুমতি প্রদান করা হবে "
++"(USERCTL=true আবশ্যক)"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "সাধারণ ব্যবহারকারীদেরকে ping প্রয়োগ করার অনুমতি প্রদান করা হবে"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh দ্বারা ssh-keysign সঞ্চালনের অনুমতি দেওয়া হবে"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"ব্যবহারকারীদের noextattrfile পড়তে/লিখতে (r/w) অনুমতি প্রদান করা হবে (FAT, "
++"CDROM, FLOPPY)"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "staff SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
+-#~ "(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "ব্যবহারকারীদের usb পড়তে ও লিখতে (rw) অনুমোদন করা হবে"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
+-#~ "(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:216
++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 ""
++"ব্যবহারকারীদের TCP সার্ভার সঞ্চালনের অনুমতি প্রদান করা হবে (পোর্টের সাথে বাইন্ড করা "
++"হবে ও একই ডোমেইন ও বাইরের ডোমেইনের ব্যবহারকারীদের থেকে আগত সংযোগ গ্রহণ করা "
++"হবে)  এটি নিষ্ক্রিয় করা হলে FTP passive মোড স্থাপন করা হবে ও অন্যান্য প্রোটোকল "
++"পরিবর্তন হতে পারে"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ব্যবহারকারীদের ttyfiles stat করার অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "sysadm_r:sysadm_t রূপে xdm লগ-ইনের অনুমতি প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen-কে প্রকৃত ডিস্ক ডিভাইস পড়তে/লিখতে অনুমদোন প্রদান করা হবে"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen নিয়ন্ত্রণের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS পাসওয়ার্ড ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS Transfer ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "আন-কনফাইন করা SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত "
+-#~ "ডিরেক্টরি (home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm ব্যবহারকারীকে অধিকারবিহীন ব্যবহারকারীদের ব্যক্তিগত (home) "
++"ডিরেক্টরি পরিচালনার অনুমতি প্রদান করা হবে"
+-#~ msgid "Network Configuration"
+-#~ msgstr "নেটওয়ার্ক কনফিগারেশন"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm ব্যবহারকারীকে অধিকারবিহীন ব্যবহারকারীদের ব্যক্তিগত (home) "
++"ডিরেক্টরি পড়ার অনুমতি প্রদান করা হবে"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "লেবেল বিহীন প্যাকেটগুলি নেটওয়ার্কের মধ্যে চলাচলের অনুমতি প্রদান করা হবে"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "আপনি কি নিশ্চিতরূপে %s '%s' মুছে ফেলতে ইচ্ছুক?"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "user SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
+-#~ "(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s মুছে ফেলুন"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr ""
+-#~ "আন-কনফাইন করা সামগ্রী unconfined_execmem-এ dyntrans করার অনুমতি প্রদান করা "
+-#~ "হবে"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s যোগ করুন"
+-#~ msgid "Databases"
+-#~ msgstr "ডাটাবেস"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s পরিবর্তন করুন"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "ব্যবহারকারীদের mysql সকেটের সাথে সংযোগ করার অনুমতি প্রদান করা হবে"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissive (সতর্কতামূলক)"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "ব্যবহারকারীদের postgres সকেটের সাথে সংযোগ করার অনুমতি প্রদান করা হবে"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Enforcing (সক্রিয়)"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Disabled (নিষ্ক্রিয়)"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "অবস্থা"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/statusPage.py:133
++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 ""
++"নিয়মনীতির ধরন পরিবর্তন করা হলে, পরবর্তী বার বুট করার সময় সম্পূর্ণ ফাইল-সিস্টেমের "
++"লেবেল নতুন করে লেখা হবে। ফাইল-সিস্টেমের মাপের ভিত্তিতে, লেবেল পরিবর্তন করতে অনেক "
++"সময় ব্যয় হওয়ার সম্ভাবনা রয়েছে।  আপনি কি এগিয়ে যেতে ইচ্ছুক?"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "ক্লায়েন্টদেরকে X শেয়ার মেমরিতে লেখার অনুমতি প্রদান করা হবে"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux-র অবস্থা disabled (নিষ্ক্রিয়) হিসাবে ধার্য করা জন্য, পুনরায় বুট করা আবশ্যক।  "
++"পরে SELinux পুনরায় সক্রিয় করার সময় সিস্টেমের লেবেল নতুন করে লেখা হবে এবং এই কাজে "
++"অনেক সময় ব্যয় হয়। এই কারণে নিষ্ক্রিয় না করাই বাঞ্ছনীয়।  SELinux-র কারণে আপনার "
++"সিস্টেমে কোনো সমস্যা হচ্ছে কি না জানার জন্য, SELinux permissive (সতর্কতামূলক) মোডে "
++"নির্ধারণ করুন। এই মোডে নিয়মনীতি প্রয়োগ করা হবে না কিন্তু উৎপন্ন ত্রুটির লগ সংরক্ষণ "
++"করা হবে। Permissive (সতর্কতামূলক) মোড নির্ধারণের জন্য পুনরায় বুট করা আবশ্যক নয়    "
++"এগিয়ে যেতে ইচ্ছুক কি?"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux ব্যবহারকারী অ্যাকাউন্টের ক্ষেত্রে ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরি "
+-#~ "(home) অথবা /tmp ডিরেক্টরির মধ্যে ফাইল সঞ্চালনের অনুমতি প্রদান করা হবে"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux-র enabled (সক্রিয়) মোডে পরিবর্তন করা হলে, পরবর্তী বার বুট করার সময় সম্পূর্ণ "
++"ফাইল-সিস্টেমের লেবেল পরিবর্তিত হবে। ফাইল-সিস্টেমের মাপের ভিত্তিতে, লেবেল পরিবর্তন "
++"করতে অনেক সময় ব্যয় হওয়ার সম্ভাবনা রয়েছে।  আপনি কি এগিয়ে যেতে ইচ্ছুক?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"স্বত্বাধিকার (c)২০০৬ Red Hat, Inc.\n"
++"স্বত্বাধিকার (c) ২০০৬ ড্যান ওয়াল্‌শ <dwalsh@redhat.com>"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "NIS-র সাথে ডেমন সঞ্চালনের অনুমতি দেওয়া হবে"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux লগ-ইন ম্যাপ ব্যবস্থা যোগ করা হবে"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux নেটওয়ার্ক পোর্ট যোগ করা হবে"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux Type"
+-#~ msgid "Web Applications"
+-#~ msgstr "ওয়েব অ্যাপ্লিকেশন"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"স্তর"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "staff SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "ফাইলের বৈশিষ্ট্য"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ফাইলের ধরন"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "sysadm SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"সর্বধরনের ফাইল\n"
++"সাধারণ ফাইল\n"
++"ডিরেক্টরি\n"
++"ক্যারেক্টার ডিভাইস\n"
++"ব্লক-ডিভাইস\n"
++"সকেট\n"
++"সিম্বলিক লিঙ্ক\n"
++"নেমড পাইপ\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux ব্যবহারকারী যোগ করুন"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux পরিচালনা"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "যোগ করুন"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "বৈশিষ্ট্য (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "মুছে ফেলুন (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "পরিচালনার বিষয় নির্বাচন করুন"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>নির্বাচন করুন:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "সিস্টেমের ডিফল্ট প্রয়োগ হওয়া মোড"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "user SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Disabled (নিষ্ক্রিয়)\n"
++"Permissive (সতর্কতামূলক)\n"
++"Enforcing (সক্রিয়)\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "বর্তমানে প্রয়োগ হওয়া মোড"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "সিস্টেমের ডিফল্ট নিয়মনীতির ধরন: "
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "xguest SELinux ব্যবহারকারীকে ওয়েব ব্রাউজার ডোমেইনের মধ্যে রূপান্তর করা হবে"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"পরবর্তী বার বুট করার সময় সম্পূর্ণ ফাইল-সিস্টেম নতুন করে লেবেল করা হবে কি না তা "
++"নির্ধারণ করুন। ফাইল-সিস্টেমের মাপের ভিত্তিতে, লেবেল পরিবর্তন করতে অনেক সময় ব্যয় "
++"হওয়ার সম্ভাবনা রয়েছে।  নিয়মনীতির ধরন পরিবর্তন করা হলে অথবা disabled (নিষ্ক্রিয়) "
++"থেকে enforcing (সক্রিয়) অবস্থায় পরিবর্তনের সময় নতুন করে লেবেল নির্ধারণ করা আবশ্যক।"
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "পরবর্তী বুটের পরে রি-লেবেল করা হবে।"
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "বুলিয়ান বৈশিষ্ট্যের মান সিস্টেম ডিফল্টে প্রত্যাবর্তন করা হবে"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "স্বনির্ধারিত ও সকল বুলিয়ানের মধ্যে অদল-বদল করুন"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "বুলিয়ানের লক-ডাউন ইউজার্ড সঞ্চালন করা হবে"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "লক-ডাউন..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "ফিল্টার"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "ফাইল কনটেক্সট যোগ করা হবে"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "ফাইল কনটেকস্ট পরিবর্তন করা হবে"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "ফাইল কনটেক্সট মুছে ফেলুন"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "স্বনির্ধারিত ফাইল কনটেক্সট ও সকলের মধ্যে অদল-বদল করুন"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux ব্যবহারকারী ম্যাপ ব্যবস্থা যোগ করা হবে"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux ব্যবহারকারীর ম্যাপিং পরিবর্তন করুন"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux ব্যবহারকারী ম্যাপিং মুছে ফেলুন"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "ব্যবহারকারী যোগ করুন"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "ব্যবহারকারী পরিবর্তন করুন"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "ব্যবহারকারী মুছে ফেলুন"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "অনুবাদ যোগ করুন"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "অনুবাদ পরিবর্তন করুন"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "অনুবাদ মুছে ফেলুন"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "নেটওয়ার্ক পোর্ট যোগ করা হবে"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "নেটওয়ার্ক পোর্ট সম্পাদনা"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "নেটওয়ার্ক পোর্ট মুছে ফেলুন"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "স্বনির্ধারিত ও সকল পোর্টের মধ্যে অদল-বদল করুন"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "নতুন নিয়মনীতির মডিউল নির্মাণ করুন"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "নিয়মনীতির মডিউল লোড করা হবে"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "লোড করার যোগ্য নিয়মনীতির মডিউল মুছে ফেলা হবে"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr ""
+-#~ "staff ওয়েব ব্রাউজার দ্বারা ব্যক্তিগত (home) ডিরেক্টরির মধ্যে লেখার অনুমতি প্রদান "
+-#~ "করা হবে"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"লগ ফাইল দ্বারা সাধারণত উল্লেখ না হওয়া অতিরিক্ত অডিট নিয়ম সক্রিয়/নিষ্ক্রিয় করা হবে।"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "প্রসেসটি permissive (সতর্কতামূলক) মোডে পরিবর্তন করুন।"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "প্রসেসটি enforcing (সক্রিয়) মোডে পরিবর্তন করুন।"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "প্রসেসের ডোমেইন"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Cluster Server-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "cdrecord দ্বারা বিবিধ বস্তু পাঠের অনুমতি প্রদান করা হবে। nfs, samba, "
+-#~ "অপসারণযোগ্য ডিভাইস, user temp ও অবিশ্বস্ত তথ্য সহ ফাইল"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Printing"
+-#~ msgstr "প্রিন্ট ব্যবস্থা"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd ব্যাক-এন্ড সার্ভারের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "sysadm_t দ্বারা সরাসরি ডেমন আরম্ভের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Evolution-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Games"
+-#~ msgstr "খেলা"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "খেলার জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "ওয়েব ব্রাউজারের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Thunderbird-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "সুসংগতি"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr "বিপদের আশঙ্কাবিহীন জ্ঞাত সমস্যাসহ সামগ্রীর জন্য অডিট করা হবে না"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "hplip ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogs-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD পরিসেবা"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd চাইল্ড ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr ""
+-#~ "evolution ও thunderbird দ্বারা ব্যবহারকারীদের ফাইল পাঠ করার অনুমতি প্রদান করা "
+-#~ "হবে"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "mozilla ব্রাউজার দ্বারা ব্যবহারকারীদের ফাইল পড়ার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "Name পরিসেবা"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManager-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "সাধারণ ব্যবহারকারীর জন্য pppd সঞ্চালনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readahead-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "প্রমিত অবস্থান ভিন্ন অন্য অবস্থানে উপস্থিত ফাইলগুলি বিভিন্ন প্রোগ্রাম দ্বারা পাঠ "
+-#~ "করার অনুমতি প্রদান করা হবে (default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ssh-কে ডেমনের পরিবর্তে inetd থেকে সঞ্চালনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Samba দ্বারা nfs ডিরেক্টরি শেয়ার করার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL অনুমোদনের সার্ভার"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr ""
+-#~ "sasl অনুমোদন সার্ভার দ্বারা /etc/shadow ফাইল পাঠ করার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "X-Windows সার্ভার দ্বারা মেমরির অংশকে এক্সিকিউটেবল ও লিখনযোগ্য রূপে ম্যাপ করা "
+-#~ "হবে"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "কোনো প্রসেস দ্বারা কার্নেল মডিউল লোড করার অনুমতি প্রদান করা হবে না"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "কোনো প্রসেস দ্বারা SELinux নিয়মনীতি পরিবর্তনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans-র জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroubleshoot ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "স্প্যাম থেকে সুরক্ষা"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd দ্বারা ব্যক্তিগত (home) ডিরেক্টরি ব্যবহারের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Spam Assassin ডেমনের ক্ষেত্রে নেটওয়ার্ক ব্যবহারের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid ডেমন দ্বারা নেটওয়ার্কের সাথে সংযোগ স্থাপনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "sysadm_r:sysadm_t রূপে ssh লগ-ইনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r ব্যবহারকারীদের দ্বারা sysadm-র ব্যক্তিগত (home) ডিরেক্টরির মধ্যে "
+-#~ "অনুসন্ধান ও ফাইল (যেমন ~/.bashrc) পাঠের অনুমতি প্রদান করা হবে "
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "সার্বজনীন SSL টানেল"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "stunnel ডেমনকে xinetd-র বাইরে স্বতন্ত্ররূপে সঞ্চালনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "সিস্টেমের cron কর্মের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "xinetd আন-কনফাইন অবস্থায় সঞ্চালনের অনুমতি প্রদান করা হবে। xinetd দ্বারা আরম্ভ "
+-#~ "হওয়া যে সমস্ত পরিসেবার ক্ষেত্রে ডোমেইন রূপান্তর নির্ধারিত হয়নি সেগুলিও আন-কনফাইল "
+-#~ "অবস্থায় সঞ্চালিত হবে।"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "rc স্ক্রিপ্ট আন-কনফাইন অবস্থায় সঞ্চালনের অনুমতি প্রদান করা হবে। rc স্ক্রিপ্ট দ্বারা "
+-#~ "আরম্ভ হওয়া যে সমস্ত ডেমনের ক্ষেত্রে ডোমেইন রূপান্তর নির্ধারিত হয়নি সেগুলিও আন-"
+-#~ "কনফাইল অবস্থায় সঞ্চালিত হবে।"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm আন-কনফাইল অবস্থায় সঞ্চালনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "বিশেষ অধিকারপ্রাপ্ত সামগ্রী যেম hotplug ও insmod-কে আন-কনফাইন রূপে সঞ্চালনের "
+-#~ "অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "user_r-কে su, sudo অথবা userhelper-র সাহায্যে sysadm_r প্রাপ্ত করার অনুমতি "
+-#~ "প্রদান করা হবে। অন্যথা, শুধুমাত্র staff_r দ্বারা এটি করা সম্ভব হবে"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "ব্যবহারকারীদের দ্বারা mount কমান্ড প্রয়োগ করার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "সাধারণ ব্যবহারকারীদের ক্ষেত্রে সরাসরি মাউসের ব্যবহারের অনুমতি প্রদান করা হবে "
+-#~ "(শুধুমাত্র X সার্ভার ব্যবহার করা হবে)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "ব্যবহারকারীদের dmesg কমান্ড প্রয়োগের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "ব্যবহারকারীদেরকে নেটওয়ার্ক ইন্টারফেস নিয়ন্ত্রণের অনুমতি প্রদান করা হবে "
+-#~ "(USERCTL=true আবশ্যক)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "সাধারণ ব্যবহারকারীদেরকে ping প্রয়োগ করার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "ব্যবহারকারীদের noextattrfile পড়তে/লিখতে (r/w) অনুমতি প্রদান করা হবে (FAT, "
+-#~ "CDROM, FLOPPY)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "ব্যবহারকারীদের usb পড়তে ও লিখতে (rw) অনুমোদন করা হবে"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "ব্যবহারকারীদের ttyfiles stat করার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "sysadm_r:sysadm_t রূপে xdm লগ-ইনের অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "xen-কে প্রকৃত ডিস্ক ডিভাইস পড়তে/লিখতে অনুমদোন প্রদান করা হবে"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen নিয়ন্ত্রণের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS পাসওয়ার্ড ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS Transfer ডেমনের জন্য SELinux নিরাপত্তা নিষ্ক্রিয় করুন"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm ব্যবহারকারীকে অধিকারবিহীন ব্যবহারকারীদের ব্যক্তিগত (home) "
+-#~ "ডিরেক্টরি পরিচালনার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm ব্যবহারকারীকে অধিকারবিহীন ব্যবহারকারীদের ব্যক্তিগত (home) "
+-#~ "ডিরেক্টরি পড়ার অনুমতি প্রদান করা হবে"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "আপনি কি নিশ্চিতরূপে %s '%s' মুছে ফেলতে ইচ্ছুক?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s মুছে ফেলুন"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s যোগ করুন"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s পরিবর্তন করুন"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "Permissive (সতর্কতামূলক)"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "Enforcing (সম্পূর্ণ সক্রিয়)"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Disabled (নিষ্ক্রিয়)"
+-
+-#~ msgid "Status"
+-#~ msgstr "অবস্থা"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "স্বত্বাধিকার (c)২০০৬ Red Hat, Inc.\n"
+-#~ "স্বত্বাধিকার (c) ২০০৬ ড্যান ওয়াল্‌শ <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux লগ-ইন ম্যাপ ব্যবস্থা যোগ করা হবে"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux নেটওয়ার্ক পোর্ট যোগ করা হবে"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux Type"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "মাত্রা"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "ফাইলের বৈশিষ্ট্য"
+-
+-#~ msgid "File Type"
+-#~ msgstr "ফাইলের ধরন"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "সর্বধরনের ফাইল\n"
+-#~ "সাধারণ ফাইল\n"
+-#~ "ডিরেক্টরি\n"
+-#~ "ক্যারেক্টার ডিভাইস\n"
+-#~ "ব্লক-ডিভাইস\n"
+-#~ "সকেট\n"
+-#~ "সিম্বলিক লিঙ্ক\n"
+-#~ "নেমড পাইপ\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux ব্যবহারকারী যোগ করুন"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux পরিচালনা"
+-
+-#~ msgid "Add"
+-#~ msgstr "যোগ করুন"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "বৈশিষ্ট্য (_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "মুছে ফেলুন (_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "পরিচালনার বিষয় নির্বাচন করুন"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>নির্বাচন করুন:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "সিস্টেমের ডিফল্ট প্রয়োগ হওয়া মোড"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "বর্তমানে প্রয়োগ হওয়া মোড"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "সিস্টেমের ডিফল্ট নিয়মনীতির ধরন: "
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "পরবর্তী বুটের পরে রি-লেবেল করা হবে।"
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "বুলিয়ান বৈশিষ্ট্যের মান সিস্টেম ডিফল্টে প্রত্যাবর্তন করা হবে"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "স্বনির্ধারিত ও সকল বুলিয়ানের মধ্যে অদল-বদল করুন"
+-
+-#~ msgid "Filter"
+-#~ msgstr "ফিল্টার"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "ফাইল কনটেক্সট যোগ করা হবে"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "ফাইল কনটেকস্ট পরিবর্তন করা হবে"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "ফাইল কনটেক্সট মুছে ফেলুন"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "স্বনির্ধারিত ফাইল কনটেক্সট ও সকলের মধ্যে অদল-বদল করুন"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux ব্যবহারকারী ম্যাপ ব্যবস্থা যোগ করা হবে"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux ব্যবহারকারীর ম্যাপিং পরিবর্তন করুন"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux ব্যবহারকারী ম্যাপিং মুছে ফেলুন"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "অনুবাদ যোগ করা হবে"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "অনুবাদ পরিবর্তন করুন"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "অনুবাদ মুছে ফেলুন"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux ব্যবহারকারী পরিবর্তন করুন"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "নেটওয়ার্ক পোর্ট যোগ করা হবে"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "নেটওয়ার্ক পোর্ট সম্পাদনা"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "নেটওয়ার্ক পোর্ট মুছে ফেলুন"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "স্বনির্ধারিত ও সকল পোর্টের মধ্যে অদল-বদল করুন"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "নতুন নিয়মনীতির মডিউল নির্মাণ করুন"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "নিয়মনীতির মডিউল লোড করা হবে"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "লোড করার যোগ্য নিয়মনীতির মডিউল মুছে ফেলা হবে"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "লগ ফাইল দ্বারা সাধারণত উল্লেখ না হওয়া অতিরিক্ত অডিট নিয়ম সক্রিয়/নিষ্ক্রিয় করা "
+-#~ "হবে।"
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "সংবেদনশীলতার মাত্রা"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux ব্যবহারকারী '%s'-র উপস্থিত আবশ্যক"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "মান আবশ্যক"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "প্রেফিক্স বৈধ নয় %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারীদের 1024-র অধিক যে কোনো tcp পোর্টের সাথে bind করার "
+-#~ "সুযোগ দেওয়া হবে"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "confine করা অ্যাপ্লিকেশন/ব্যবহারকারীদের যে কোনো tcp পোর্টের সাথে bind করার "
+-#~ "সুযোগ দেয়।"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "অ্যাপ্লিকেশন/ব্যবহারকারী ভূমিকা দ্বারা যে সমস্ত tcp পোর্ট অথবা পোর্ট সীমার মধ্যে "
+-#~ "উপস্থিত পোর্টের সাথে বাইন্ড করতে সক্ষম হবে সেগুলির তালিকা নির্মাণ করুন ও কমা "
+-#~ "চিহ্ন দ্বারা বিভাজন করুন। উদাহরণস্বরূপ: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux পলিসি নির্মাণের Druid"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "অসংরক্ষিত পোর্ট  (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "আপনার অ্যাপ্লিকেশন দ্বারা 0 মান সহ bindresvport কল করা হলে এই চেক-বাটনটি "
+-#~ "ব্যবহার করুন।"
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux ব্যবহারকারী '%s'-র উপস্থিত আবশ্যক"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/bn.po policycoreutils-2.0.85/po/bn.po
+--- nsapolicycoreutils/po/bn.po        2011-02-17 15:11:25.920721738 -0500
++++ policycoreutils-2.0.85/po/bn.po    2011-02-18 16:03:41.345975583 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/bs.po policycoreutils-2.0.85/po/bs.po
+--- nsapolicycoreutils/po/bs.po        2011-02-17 15:11:25.440729666 -0500
++++ policycoreutils-2.0.85/po/bs.po    2011-02-18 16:03:41.345975583 -0500
+@@ -4,10 +4,11 @@
+ msgstr ""
+ "Project-Id-Version: bs\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: 2007-01-23 16:51+0100\n"
+ "Last-Translator: Adnan Hodzic <AbsintheSyringe@gmail.com>\n"
+ "Language-Team: Bosnian <lokal@linux.org.ba>\n"
++"Language: bs\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -15,6 +16,25 @@
+ "X-Poedit-Country: CROATIA\n"
+ "X-Generator: KBabel 1.11.4\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "Potrebna je SELinux vrsta"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Čitanje pohrane pravila nije moguće."
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -125,7 +145,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -179,743 +200,750 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Izrada ključa za %s nije moguća"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Nije moguće provjeriti je li mapiranje za prijavu %s određeno"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Mapiranje prijave za %s već je određeno"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, fuzzy, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux korisnik %s ne postoji"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux korisnik %s ne postoji"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Izrada mapiranja prijave za %s nije moguća"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Zadavanje naziva za %s nije moguće"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Zadavanje MLS raspona za %s nije moguće"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Zadavanje SELinux korisnika za %s nije moguće"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Dodavanje mapiranja prijave za %s nije moguće"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ #, fuzzy
+ msgid "add SELinux user mapping"
+ msgstr "Dodavanje SELinux korisnika %s nije moguće"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Zahtijeva seuser ili serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Mapiranje prijave za %s nije određeno"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Propitivanje seusera za %s nije moguće"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Uređivanje mapiranja prijave za %s nije moguće"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "Mapiranje prijave za %s određeno je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Brisanje mapiranja prijave za %s nije moguće"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Ispisivanje popisa mapiranja prijava nije moguće"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ #, fuzzy
+ msgid "SELinux User"
+ msgstr "Potrebna je SELinux vrsta"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Dodavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Nije moguće provjeriti je li SELinux korisnik %s određen"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux korisnik %s već je određen"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Izrada SELinux korisnika za %s nije moguća"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Dodavanje uloge %s za %s nije moguće"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Zadavanje MLS razine za %s nije moguće"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Dodavanje prefiksa %s za %s nije moguće"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Izvlačenje ključa za %s nije moguće"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Dodavanje SELinux korisnika %s nije moguće"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Zahtijeva prefiks, uloge, razinu ili raspon"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Zahtijeva prefiks ili uloge"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux korisnik %s nije određen"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Propitivanje korisnika za %s nije moguće"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Uređivanje SELinux korisnika %s nije moguće"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux korisnik %s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Brisanje SELinux korisnika %s nije moguće"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Ispisivanje popisa SELinux korisnika nije moguće"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Ispisivanje popisa uloga korisnika %s nije moguće"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Potreban je UDP ili TCP protokol"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Potreban je port"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Izrada ključa za %s/%s nije moguća"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Potrebna je vrsta"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Nije moguće provjeriti je li port %s/%s određen"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s već je određen"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Izrada porta za %s/%s nije moguća"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Izrada konteksta za %s/%s nije moguća"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Zadavanje korisnika u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Zadavanje uloge u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Zadavanje vrste u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Zadavanje MLS polja u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Zadavanje konteksta porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Dodavanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Zahtijeva setype ili serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Zahtijeva setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s nije određen"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Propitivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Uređivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ #, fuzzy
+ msgid "Could not list the ports"
+ msgstr "Ispisivanje popisa portova nije moguće"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Brisanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Brisanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Ispisivanje popisa portova nije moguće"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ #, fuzzy
+ msgid "Node Address is required"
+ msgstr "Potreban je port"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ #, fuzzy
+ msgid "Node Netmask is required"
+ msgstr "Potreban je port"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Potrebna je SELinux vrsta"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Izrada ključa za %s nije moguća"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, fuzzy, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Nije moguće provjeriti je li port %s/%s određen"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "Port %s/%s već je određen"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Izrada ključa za %s nije moguća"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Izrada konteksta za %s nije moguća"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Zadavanje naziva za %s nije moguće"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Zadavanje korisnika u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Zadavanje uloge u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Zadavanje vrste u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Zadavanje MLS polja u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Zadavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Dodavanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Port %s/%s nije određen"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Propitivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Uređivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, fuzzy, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Brisanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Ispisivanje popisa portova nije moguće"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Nije moguće provjeriti je li sučelje %s određeno"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Sučelje %s već je određeno"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Izrada sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Zadavanje korisnika u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Zadavanje uloge u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Zadavanje vrste u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Zadavanje MLS polja u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Zadavanje konteksta sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Zadavanje konteksta poruke za %s nije moguće"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Dodavanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Sučelje %s nije određeno"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Propitivanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Uređivanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Sučelje %s određeno je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Brisanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Ispisivanje popisa sučelja nije moguće"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Zadavanje korisnika u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Zadavanje uloge u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Zadavanje MLS polja u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Nije moguće provjeriti je li kontekst datoteke za %s određen"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Kontekst datoteke za %s već je određen"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Izrada konteksta datoteke za %s nije moguća"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Zadavanje vrste u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Zadavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Dodavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Zahtijeva setype, serange ili seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Kontekst datoteke za %s nije određen"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Propitivanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Uređivanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ #, fuzzy
+ msgid "Could not list the file contexts"
+ msgstr "Ispisivanje popisa konteksta datoteke nije moguće"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, fuzzy, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Brisanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "Kontekst datoteke za %s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Brisanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Ispisivanje popisa konteksta datoteke nije moguće"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Izrada popisa konteksta lokalnih datoteka nije moguća"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Nije moguće provjeriti je li Booleova vrijednost %s određena"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Booleova vrijednost %s nije određena"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Propitivanje konteksta datoteke %s nije moguće"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Potrebno je odrediti prefiks"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Brisanje Booleove vrijednosti %s nije moguće"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Uređivanje Booleove vrijednosti %s nije moguće"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Booleova vrijednost %s određena je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Brisanje Booleove vrijednosti %s nije moguće"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Ispisivanje popisa Booleovih vrijednosti nije moguće"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1291,86 +1319,2087 @@
+ msgid "Options Error %s "
+ msgstr "Greška opcija %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "Prijevodi nisu podržani na ne-MLS računalima"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "Potrebna je SELinux vrsta"
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Potrebna je SELinux vrsta"
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Greška pri slanju poruke provjere.\n"
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Potrebno je odrediti ulogu"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++#: ../gui/fcontextPage.py:81
+ #, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Potrebno je odrediti ulogu"
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr "Potrebna je SELinux vrsta"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Potrebno je odrediti ulogu"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Generiranje datoteke prisile vrste: %s.te"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Sučelje %s nije određeno"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "Kontekst datoteke za %s nije određen"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux korisnik %s nije određen"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Pravila prevođenja"
++#: ../gui/loginsPage.py:133
++#, fuzzy, python-format
++msgid "Login '%s' is required"
++msgstr "Potrebna je SELinux vrsta"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Provjera autentičnosti %s.\n"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "Potrebna je SELinux vrsta"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Dodavanje SELinux korisnika %s nije moguće"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Uređivanje SELinux korisnika %s nije moguće"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Brisanje SELinux korisnika %s nije moguće"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Uređivanje SELinux korisnika %s nije moguće"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Čitanje pohrane pravila nije moguće."
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Potrebna je SELinux vrsta"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++#, fuzzy
++msgid "Sends audit messages"
++msgstr "Greška pri slanju poruke provjere.\n"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++#, fuzzy
++msgid "You must select a user"
++msgstr "Potrebno je odrediti ulogu"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++#, fuzzy
++msgid "You must enter a name"
++msgstr "Potrebno je odrediti ulogu"
++
++#: ../gui/polgengui.py:610
++#, fuzzy
++msgid "You must enter a executable"
++msgstr "Potrebno je odrediti ulogu"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++#, fuzzy
++msgid "Type Enforcement file"
++msgstr "Generiranje datoteke prisile vrste: %s.te"
++
++#: ../gui/polgen.py:849
++#, fuzzy
++msgid "Interface file"
++msgstr "Sučelje %s nije određeno"
++
++#: ../gui/polgen.py:850
++#, fuzzy
++msgid "File Contexts file"
++msgstr "Kontekst datoteke za %s nije određen"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++#, fuzzy
++msgid "SELinux Service Protection"
++msgstr "SELinux korisnik %s nije određen"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++#, fuzzy
++msgid "Compatibility"
++msgstr "Pravila prevođenja"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++#, fuzzy
++msgid "SASL authentication server"
++msgstr "Provjera autentičnosti %s.\n"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++#, fuzzy
++msgid "SELinux Type"
++msgstr "Potrebna je SELinux vrsta"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++#, fuzzy
++msgid "Add SELinux User"
++msgstr "Dodavanje SELinux korisnika %s nije moguće"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++#, fuzzy
++msgid "Modify SELinux User Mapping"
++msgstr "Uređivanje SELinux korisnika %s nije moguće"
++
++#: ../gui/system-config-selinux.glade:2219
++#, fuzzy
++msgid "Delete SELinux User Mapping"
++msgstr "Brisanje SELinux korisnika %s nije moguće"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++#, fuzzy
++msgid "Add User"
++msgstr "Dodavanje SELinux korisnika %s nije moguće"
++
++#: ../gui/system-config-selinux.glade:2390
++#, fuzzy
++msgid "Modify User"
++msgstr "Uređivanje SELinux korisnika %s nije moguće"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++#, fuzzy
++msgid "Load policy module"
++msgstr "Čitanje pohrane pravila nije moguće."
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, fuzzy, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Potrebna je SELinux vrsta"
++
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "Prijevodi nisu podržani na ne-MLS računalima"
+ #~ msgid "Requires value"
+ #~ msgstr "Zahtijeva vrijednost"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ca.po policycoreutils-2.0.85/po/ca.po
+--- nsapolicycoreutils/po/ca.po        2011-02-17 15:11:25.745724636 -0500
++++ policycoreutils-2.0.85/po/ca.po    2011-02-18 16:03:41.346975590 -0500
+@@ -5,6 +5,8 @@
+ #
+ # Josep Puigdemont Casamajó <josep.puigdemont@gmail.com>, 2006.
+ # Xavier Conde Rueda <xavi.conde@gmail.com>, 2006
++# Josep Torné Llavall <josep.torne@gmail.com>,2009
++# Albert Carabasa Giribet <albertc@asic.udl.cat>, 2009
+ #
+ # This file is translated according to the glossary and style guide of
+ #   Softcatalà. If you plan to modify this file, please read first the page
+@@ -22,14 +24,32 @@
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2006-12-03 01:04+0100\n"
+-"Last-Translator: Xavier Conde Rueda <xavi.conde@gmail.com>\n"
+-"Language-Team: Catalan <tradgnome@softcatala.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-09-15 20:40+0100\n"
++"Last-Translator: Robert Antoni Buj Gelonch <robert.buj@gmail.com>\n"
++"Language-Team: Catalan <fedora@softcatala.net>\n"
++"Language: ca\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Configureu les preferènciies de SELinux amb mode gràfic"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Gestió de SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Genera els mòduls de les polítiques de SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Eina de generació de polítiques del SELinux"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -97,25 +117,21 @@
+ msgstr "No s'ha pogut establir el context d'execució a %s.\n"
+ #: ../audit2allow/audit2allow:217
+-#, fuzzy
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
+-"\n"
+-"******************** IMPORTANT ***********************\n"
++msgstr "******************** IMPORTANT ***********************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "Per activar aquest paquet de política, executeu:"
+ #: ../semanage/seobject.py:48
+-#, fuzzy
+ msgid "Could not create semanage handle"
+-msgstr "No s'ha pogut iniciar la transacció del semanage"
++msgstr "No s'ha pogut crear el gestor del semanage"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+ msgstr ""
+-"No s'està gestionant les polítiques del SELinux o no es pot accedir el "
++"No s'està gestionant les polítiques del SELinux o no es pot accedir al "
+ "magatzem."
+ #: ../semanage/seobject.py:60
+@@ -127,28 +143,28 @@
+ msgstr "No es pot establir la connexió amb el semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "No s'ha pogut establir el rang MLS per a %s"
++msgstr "No s'ha pogut provar l'estat del MLS %s"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "global"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"No s'ha pogut obrir %s: les traduccions no estan suportades a màquines sense "
+-"MLS"
++"No s'ha pogut obrir %s: les traduccions no estan disponibles en màquines "
++"sense MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "Nivell"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "Traducció"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+@@ -172,778 +188,779 @@
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Encara no està implementat"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Tansacció semanage ja en progrés"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "No s'ha pogut iniciar la transacció del semanage"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "No s'ha pogut iniciar la transacció del semanage"
++msgstr "No s'ha pogut completar la transacció del semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Tansacció semanage no en progrés"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "No es pot llistar els usuaris SELinux"
++msgstr "No s'han pogut llistar els mòduls SELinux"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Tipus permissius"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"No s'ha pogut establir el domini permissiu %s (la instal·lació del mòdul ha "
++"fallat)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "No s'ha pogut eliminar el domini permissiu %s (l'eliminació ha fallat)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "No s'ha pogut crear una clau per a %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "No s'ha pogut comprovar si està definit el mapatge d'entrada per a %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Ja s'ha definit el mapatge per a %s"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "No existeix l'usuari de Linux %s"
++msgstr "No existeix el grup de Linux %s"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "No existeix l'usuari de Linux %s"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "No s'ha pogut crear el mapatge d'entrada per a %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "No s'ha pogut establir el nom per a %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "No s'ha pogut establir el rang MLS per a %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "No s'ha pogut establir l'usuari SELinux per a %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "No s'ha pogut afegir el mapatge d'entrada per a %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
+-#, fuzzy
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "No s'ha pogut afegir l'usuari SELinux %s"
++msgstr "afegeix el mapa d'usuaris de SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Es necessita el seuser o el serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "No s'ha definit el mapatge de l'entrada per a %s"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "No s'ha pogut consultar el seuser quant a %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "No s'ha pogut modificar el mapatge d'entrada per a %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "S'ha definit el mapatge per a %s a la política, no es pot suprimir"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "No s'ha pogut suprimir el mapatge d'entrada per a %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "No s'ha pogut llistar els mapatges d'entrada"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "Nom d'entrada"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-#, fuzzy
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "Cal el tipus SELinux"
++msgstr "Usuari SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr ""
++msgstr "Rang MLS/MCS"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "No s'ha pogut afegir el context de fitxer per a %s"
++msgstr "Heu d'afegir almenys un rol per %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "No s'ha pogut comprovar si està definit l'usuari SELinux %s"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "L'usuari SELinux %s ja està definit"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "No s'ha pogut crear l'usuari SELinux per a %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "No s'ha pogut afegir el rol %s per a %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "No s'ha pogut establir el nivell MLS per a %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "No s'ha pogut afegir el prefix %s per a %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "No s'ha pogut extreure la clau per a %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "No s'ha pogut afegir l'usuari SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Necessita prefix, rols, nivell o rang"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Necessita prefix o rols"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "L'usuari SELinux %s no està definit"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "No s'ha pogut demanar l'usuari per a %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "No s'ha pogut modificar l'usuari SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "L'usuari SELinux %s està definit a la política, no es pot suprimir"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "No s'ha pogut suprimir l'usuari SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr "No es pot llistar els usuaris SELinux"
++msgstr "No es poden llistar els usuaris SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "No es pot llistar els rols per a l'usuari %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Etiquetatge"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "Prefix"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr ""
++msgstr "Nivell MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr ""
++msgstr "Rang MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "Rols SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Es necessita el protocol udp o tcp"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Cal el port"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "No s'ha pogut crear una clau per a %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Cal el tipus"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "No s'ha pogut comprovar si el port %s/%s està definit"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "El port %s/%s està definit"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "No s'ha pogut crear el port per a %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "No s'ha pogut crear el context per a %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "No s'ha pogut establir l'usuari al context del port per a %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "No s'ha pogut establir el rol al context del port per a %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "No s'ha pogut establir el tipus al context del port per a %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-"No s'ha pogut establir els camps mls en el context del port per a %s/%s"
++"No s'han pogut establir els camps mls en el context del port per a %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "No s'ha pogut establir el context del port per a %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "No s'ha pogut afegir el port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Cal el setype o el serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Cal el setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "El port %s/%s no està definit"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "No es pot consultar el port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "No es pot modificar el port %s/%s"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "No s'ha pogut llistar els ports"
++msgstr "No s'han pogut llistar els ports"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "No s'ha pogut suprimir el port %s/%s"
++msgstr "No s'ha pogut suprimir el port %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "El port %s/%s està definit en la política, no es pot suprimir"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "No s'ha pogut suprimir el port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+-msgstr "No s'ha pogut llistar els ports"
++msgstr "No s'han pogut llistar els ports"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "Tipus de port SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr ""
++msgstr "Número de port"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Cal el port"
++msgstr "L'adreça del node és necessària"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Cal el port"
++msgstr "La màscara del node és necessària"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Manca el port o no es coneix"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Cal el tipus SELinux"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "No s'ha pogut crear la clau per a %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "No s'ha pogut comprovar si el port %s/%s està definit"
++msgstr "No s'ha pogut comprovar si l'adreça %s està definida"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "El port %s/%s està definit"
++msgstr "L'adreça %s està definida"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "No s'ha pogut crear una clau per a %s"
++msgstr "No s'ha pogut crear l'adreça per a %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "No s'ha pogut crear el context per a %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "No s'ha pogut establir el nom per a %s"
++msgstr "No s'ha pogut establir la màscara per a %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "No s'ha pogut establir l'usuari en el context del fitxer per a %s"
++msgstr "No s'ha pogut establir l'usuari en el context de l'adreça per a %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "No s'ha pogut establir el rol en el context del fitxer per a %s"
++msgstr "No s'ha pogut establir el rol en el context de l'adreça per a %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "No s'ha pogut establir el tipus en el context del fitxer per a %s"
++msgstr "No s'ha pogut establir el tipus en el context de l'adreça per a %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "No s'ha pogut establir els camps mls en el context de fitxer per a %s"
++msgstr ""
++"No s'ha pogut establir els camps mls en el context de l'adreça per a %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "No s'ha pogut establir el context de fitxer per a %s"
++msgstr "No s'ha pogut establir el context de l'adreça per a %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "No s'ha pogut afegir el port %s/%s"
++msgstr "No s'ha pogut afegir l'adreça %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "El port %s/%s no està definit"
++msgstr "L'adreça %s no està definida"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "No es pot consultar el port %s/%s"
++msgstr "No es pot consultar l'adreça %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "No es pot modificar el port %s/%s"
++msgstr "No es pot modificar l'adreça %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "El port %s/%s està definit en la política, no es pot suprimir"
++msgstr "L'adreça %s està definida en la política, no es pot suprimir"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "No s'ha pogut suprimir la interfície %s"
++msgstr "No s'ha pogut suprimir l'adreça %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "No s'ha pogut llistar els ports"
++msgstr "No s'han pogut llistar les adreces"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "No s'ha pogut comprovar si s'ha definit la interfície %s"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Ja s'ha definit la interfície %s"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "No s'ha pogut crear la interfície per a %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+ "No s'ha pogut establir l'usuari en el context de la interfície per a %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "No s'ha pogut establir el rol en el context d'interfície per a %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "No s'ha pogut establir el tipus en el context d'interfície per a %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-"No s'ha pogut establir els camps mls en el context d'interfície per a %s"
++"No s'han pogut establir els camps mls en el context d'interfície per a %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "No s'ha pogut establir el context d'interfície per a %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "No s'ha pogut establir el context de missatge per a %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "No s'ha pogut afegir la interfície per a %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "La interfície %s no s'ha definit"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "No s'ha pogut consultar la interfície %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "No s'ha pogut modificar la interfície %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "La interfície %s s'ha definit a la política, no es pot suprimir"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "No s'ha pogut suprimir la interfície %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "No s'han pogut llistar les interfícies"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "Interfície del SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr ""
++msgstr "Context"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "No s'ha pogut establir l'usuari en el context del fitxer per a %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "No s'ha pogut establir el rol en el context del fitxer per a %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "No s'ha pogut establir els camps mls en el context de fitxer per a %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "Especificació de fitxer no vàlida"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "No s'ha pogut comprovar si el context de fitxer per a %s està definit"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "El context de fitxer per a %s ja està definit"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "No s'ha pogut crear el fitxer de context per a %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "No s'ha pogut establir el tipus en el context del fitxer per a %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "No s'ha pogut establir el context de fitxer per a %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "No s'ha pogut afegir el context de fitxer per a %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Es necessita el setype, serange o seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "No s'ha definit el context del fitxer per a %s"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "No s'ha pogut consultar el context del fitxer per a %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "No s'ha pogut modificar el context de fitxer per a %s"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "No s'ha pogut llistar els contexts del fitxer"
++msgstr "No s'han pogut llistar els contexts de fitxer"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "No s'ha pogut suprimir el context de fitxer per a %s"
++msgstr "No s'ha pogut suprimir el context de fitxer %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "El context del fitxer per a %s està definit en la política, no es pot "
+ "suprimir"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "No s'ha pogut suprimir el context de fitxer per a %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "No s'ha pogut llistar els contexts del fitxer"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "No s'ha pogut llistar els contexts del fitxer local"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "tipus"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "No s'ha pogut comprovar si el booleà %s està definit"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "El booleà %s no s'ha definit"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "No s'ha pogut consultar el context %s del fitxer"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Heu d'especificar un prefix"
++msgstr "Heu d'especificar un dels següents valors: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "No s'ha pogut suprimir el booleà %s"
++msgstr "No s'ha pogut establir el valor actiu del booleà %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "No s'ha pogut modificar el booleà %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Format incorrecte %s: registre %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "El booleà %s està definit a la política, no es pot suprimir"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "No s'ha pogut suprimir el booleà %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "No s'ha pogut llistar els booleans"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "desconegut"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "inactiu"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "actiu"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "Booleà SELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Descripció"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -954,11 +971,13 @@
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+ msgstr ""
++"newrole: desbordament de la taula de dispersió del servei de configuració de "
++"noms\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "newrole:  %s:  error en la línia %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -981,7 +1000,7 @@
+ msgstr "No es pot buidar l'entorn\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "S'ha produït un error en iniciar les capacitats, s'està anul·lant.\n"
+@@ -1043,7 +1062,7 @@
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr "No s'ha pogut determinar el mode de reforç.\n"
++msgstr "No s'ha pogut determinar el mode de compliment.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+@@ -1103,6 +1122,8 @@
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+ msgstr ""
++"S'ha produït un error: no teniu autorització per canviar els nivells en un "
++"terminal no segur \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1170,14 +1191,14 @@
+ msgstr "no s'ha pogut obtenir l'old_context.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "No s'ha pogut obtenir informació de la tty.\n"
++msgstr "Avís! No s'ha pogut obtenir informació de la tty.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "error en la lectura de la configuració del servei PAM.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+@@ -1219,19 +1240,22 @@
+ msgstr "no s'ha pogut executar l'intèrpret d'ordres\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "Forma d'ús: %s [-bq]\n"
++msgstr "Forma d'ús: %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+ msgstr ""
++"%s: la política ja ha estat carregada i la càrrega inicial sol·licitada\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s: no es pot carregar la política: %s\n"
++msgstr ""
++"%s:  No s'ha pogut carregar la política, però s'ha demanat el mode de "
++"compliment: %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1323,121 +1347,2244 @@
+ msgid "Options Error %s "
+ msgstr "Error en les opcions %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "les traduccions no estan suportades en màquines sense MLS"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Booleà"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "tot"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Personalitzat"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Etiquetatge de fitxers"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "Cal el tipus SELinux"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Especificació\n"
++"de fitxer"
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Cal el tipus SELinux"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"Tipus de fitxer"
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "S'ha produït un error en enviar el missatge d'audit.\n"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Tipus\n"
++"de fitxer"
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Heu d'especificar un rol"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Mapatge d'usuari"
+-#, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Heu d'especificar un rol"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Nom\n"
++"d'entrada"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Heu d'especificar un rol"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"Usuari del\n"
++"SELinux"
+-# FIXME: enforce -> fer cumplir (josep)
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "S'està generant el fitxer de reforç del tipus: %s.te"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"Rang MCS"
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "La interfície %s no s'ha definit"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Cal l'entrada de '%s'"
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "No s'ha definit el context del fitxer per a %s"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Mòdul de política"
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "L'usuari SELinux %s no està definit"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Nom del mòdul"
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "S'està compilant la política"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versió"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "S'està autenticant %s.\n"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Inhabilita l'auditació"
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "Cal el tipus SELinux"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Habilita l'auditació"
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "No s'ha pogut afegir l'usuari SELinux %s"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Carregueu el mòdul de polítiques"
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "No s'ha pogut modificar l'usuari SELinux %s"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Generació de polítiques Polgen"
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "No s'ha pogut suprimir l'usuari SELinux %s"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "No s'ha pogut modificar l'usuari SELinux %s"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "No es pot llegir el magatzem de polítiques."
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Josep Puigdemont Casamajó <josep.puigdemont@gmail.com>, 2006\n"
++"Xavier Conde Rueda <xavi.conde@gmail.com>, 2006\n"
++"Josep Torné Llavall <josep.torne@gmail.com>,2009\n"
++"Albert Carabasa Giribet <albertc@asic.udl.cat>, 2009"
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Cal el tipus SELinux"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Aquesta eina pot ser utilitzada per a generar un marc de polítiques, per a "
++"limitar aplicacions o els usuaris que utilitzen SELinux.\n"
++"\n"
++"L'eina genera:\n"
++"Fitxer de compliment de tipus (te)\n"
++"Fitxers d'interfície (if)\n"
++"Fitxers de context (fc)\n"
++"Scripts d'intèrpret d'ordres (sh) - utilitzats per compilar i instal·lar les "
++"polítiques."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Seleccioneu el tipus d'aplicació/rol d'usuari a limitar"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Aplicacions</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Els dimonis d'inici estàndard són dimonis engegats a l'inici mitjançant "
++"scripts. Normalment requereixen un script a /etc/rc.d/init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Dimoni d'inici estàndard"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Dimoni del sistema DBUS"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Els dimonis de serveis d'internet són dimonis engegats per xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Dimoni de serveis d'internet (inetd)"
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Scripts CGI, aplicacions web o scripts engegats pel servidor web (apache)"
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Aplicació web/Script (CGI)"
+-#~ msgid "Requires value"
+-#~ msgstr "Requereix un valor"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"L'aplicació d'usuari és qualsevol aplicació que desitgeu limitar, engegada "
++"per l'usuari"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Aplicació d'usuari"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Entrada d'usuaris</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modifica un registre d'usuari d'entrada existent."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Rols d'usuari existents"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Aquest usuari entra a la màquina només via terminal o entrada remota. Per "
++"defecte aquest usuari es crea sense setuid, sense xarxa, sense su ni sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Rol d'usuari de terminal mínim"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Aquest usuari pot entrar a una màquina mitjançant X o terminal. Per defecte "
++"aquest usuari es crea sense setuid, sense xarxa, sense su ni sudo."
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Rol d'usuari d'X-Windows mínim"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Usuari amb xarxa completa, sense aplicacions setuid sense transició "
++"d'usuari, sense sudo, sense su."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Rol d'usuari"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Usuari amb xarxa completa, sense aplicacions setuid sense transició "
++"d'usuari, sense su, pot executar sudo per obtenir rols d'administració de "
++"roots"
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Rol d'usuari administrador"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Usuaris root</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Seleccioneu el rol d'usuari root, si aquest usuari s'utilitzarà per "
++"administrar la màquina executant com a root. Aquest usuari no podrà d'entrar "
++"al sistema directament."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Rol d'usuari administrador root"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Introduïu el nom de l'aplicació o rol d'usuari a limitar"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nom"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Introduïu el camí sencer de l'executable a limitar."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Introduïu un nom únic per a l'aplicació limitada o rol d'usuari."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Executable"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Script d'inici"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Introduïu el camí complet cap a l'script d'inici utilitzat per iniciar "
++"l'aplicació limitada."
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Seleccioneu els rols d'usuari que voleu personalitzar"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Seleccioneu els rols d'usuari que transicionaran a aquests dominis "
++"d'aplicacions."
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "El prefix %s invàlid"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Seleccioneu dominis addicionals als que aquest rol d'usuari podrà "
++"transicionar"
+-#~ msgid "Requires 2 or more arguments"
+-#~ msgstr "Necessita almenys dos arguments"
+-
+-#~ msgid "%s not defined"
+-#~ msgstr "%s no és definit"
+-
+-#~ msgid "%s not valid for %s objects\n"
+-#~ msgstr "%s no és vàlid per a objectes %s\n"
+-
+-#~ msgid "range not supported on Non MLS machines"
+-#~ msgstr "el rang no està implementat amb màquines sense MLS"
+-
+-#~ msgid "Invalid value %s"
+-#~ msgstr "Valor invàlid per a %s"
+-
+-#~ msgid ""
+-#~ "In order to load this newly created policy package into the kernel,\n"
+-#~ "you are required to execute \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "Per carregar aquest nou paquet de polítiques en el nucli,\n"
+-#~ "us cal executar\n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Seleccioneu els dominis d'aplicació als quals voldrieu que aquest usuari hi "
++"transicioni."
+-#~ msgid "Options Error: %s "
+-#~ msgstr "Error en les opcions: %s "
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Seleccioneu els rols d'usuari que transicionaran a aquest domini"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Seleccioneu dominis addicionals que aquest rol d'usuari administrarà"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Seleccioneu els dominis que voleu que administri aquest usuari."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Seleccioneu rols addicionals per a aquest usuari"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Entreu els ports de xarxa que l'aplicació/usuari escolta"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Ports TCP</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Autoritza l'aplicació/rol d'usuari limitat a vincular-se amb qualsevol port "
++"udp."
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Tot"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Autoritza l'aplicació/rol d'usuari a cridar bindresvport amb 0. Vinculació "
++"amb ports 600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Introduïu una llista separada per comes dels ports udp o rang de ports amb "
++"els quals es vincula l'aplicació/rol d'usuari. Exemple: 612,650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Ports no reservats (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Seleccioneu ports"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Autoritza l'aplicació/rol d'usuari a vincular-se amb qualsevol port udp > "
++"1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Ports UDP</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Introduïu els ports de xarxa amb els quals es connecta l'aplicació/rol "
++"d'usuari"
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Introduïu una llista separada per comes dels ports o rang de ports amb els "
++"quals es connecta l'aplicació/rol d'usuari. Exemple: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Introduïu una llista separada per comes dels ports udp o rang de ports amb "
++"els quals es connecta l'aplicació/rol d'usuari. Exemple 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Seleccioneu trets comuns de les aplicacions"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Escriu missatges del syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Crea/manipula fitxers temporals a /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Utilitza Pam per autenticar"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Utilitza nsswitch o crides getpw*"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Utilitza dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Envia missatges d'audit"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interactua amb la terminal"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Envia correu electrònic"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Seleccioneu els fitxers/directoris que l'aplicació administra"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Afegiu els fitxers/directoris que l'aplicació hi haurà d'\"Escriure\". "
++"Fitxers pid, fitxers de registre, fitxers a /var/lib..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Seleccioneu booleans que utilitza l'aplicació"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Afegiu/suprimiu booleans utilitzats per aquesta aplicació/usuari limitats"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Seleccioneu un directori per a generar-hi la política"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Directori de polítiques"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Fitxers de la política generada"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Aquesta eina generarà el següent: \n"
++"Compliment de tipus (te), fitxer de context(fc), interfície(if), scripts "
++"d'intèrpret d'ordres(sh)\n"
++"Executeu l'script d'intèrpret d'ordres com a administrador per a compilar/"
++"instal· lar i reetiquetar els fitxers/directoris.  \n"
++"Utilitzeu semanage o bé useradd per a mapejar els usuaris d'entrada de Linux "
++"amb els rols d'usuari.\n"
++"Poseu la màquina en mode permissiu (setenforce 0). \n"
++"Inicieu la sessió com a l'usuari i proveu el rol d'usuari.\n"
++"Utilitzeu audit2allow -R per a generar regles addicionals per als fitxers "
++"te.\n"
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Aquesta eina generarà el següent: \n"
++"Compliment de tipus (te), fitxer de context(fc), interfície(if), scripts "
++"d'intèrpret d'ordres(sh)\n"
++"Executeu l'script d'intèrpret d'ordres com a administrador per a compilar/"
++"instal· lar i reetiquetar els fitxers/directoris.  \n"
++"Poseu la màquina en mode permissiu (setenforce 0). \n"
++"Executeu/Reinicieu l'aplicació per a generar els missatges d'avc.\n"
++"Utilitzeu audit2allow -R per a generar regles addicionals per als fitxers "
++"te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Diàleg per afegir booleans"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Nom del booleà"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rol"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "_UsuariExistent"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Aplicació"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ha de ser un directori"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Heu de seleccionar un usuari"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Seleccioneu el fitxer executable a limitar"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Seleccioneu el fitxer d'script d'inici a limitar."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Seleccioneu els fitxers que crea o escriu l'aplicació limitada"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Seleccioneu els directoris propis i d'escriptura de l'aplicació limitada"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Seleccioneu un directori per a generar-hi els fitxers de la politica"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"El tipus %s_t ja està definit en l'actual política.\n"
++"Voleu continuar?"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verifica el nom"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"El mòdul %s.pp ja està carregat a la política actual.\n"
++"Voleu continuar?"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Heu d'introduir un nom"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Heu d'introduir un executable"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Configura el SELinux"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Els ports han de ser números o rangs de números d'1 a %d "
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Heu d'introduir un nom per al vostre procés/usuari limitat"
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "No es permeten executables de tipus USER"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Només les aplicacions DIMONI poden utilitzar un script d'inici"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog ha de ser un valor booleà"
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Els tipus USER automàticament obtenen un tipus tmp"
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Heu d'introduir el camí executable del vostre procés limitat"
++
++# FIXME: enforce -> fer cumplir (josep)
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Tipus de fitxer d'execució"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Fitxer d'interfície"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Fitxer de context de fitxers"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Script de configuració"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Port de xarxa"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Tipus de port\n"
++"SELinux"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocol"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"Nivell\n"
++"MLS/MCS"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "El número de port \"%s\" no és vàlid. 0 < PORT_NUMBER < 65536"
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Visualització de llista"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Visualització de grup"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Protecció de serveis del SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Administració"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Autoritza a tots els dimonis a escriure fitxers core a /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++"Autoritza a tots els dimonis la capacitat d'utilitzar ttys no asignades"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Privilegis d'usuari"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Autoritza el compte d'usuari gadmin de SELinux a executar fitxers al "
++"directori d'inici o /tmp"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Autoritza el compte d'usuari visitant de SELinux a executar fitxers al "
++"directori d'inici o /tmp"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Protecció de memòria"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Autoritza java a executar la pila"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Autoritza el mount a muntar qualsevol fitxer"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Autoritza el mount a muntar qualsevol directori"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Autoritza l'mplayer a executar la pila"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Autoritza l'ssh a executar ssh-keysign"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Autoritza el compte d'usuari staff de SELinux a executar fitxers del "
++"directori d'inici o /tmp"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Autoritza el compte d'usuari sysadm de SELinux a executar fitxers al "
++"directori d'inici o /tmp"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Autoritza el compte d'usuari unconfined de SELinux a executar fitxers del "
++"directori d'inici o /tmp"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Configuració de la xarxa"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Permet que paquets sense etiquetar travessin la xarxa"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Autoritza el compte d'usuari de SELinux a executar fitxers al directori "
++"d'inici o /tmp"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Autoritza als no confirmats a dyntrans a unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Bases de dades"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Autoritza l'usuari a connectar-se al sòcol mysql"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Autoritza l'usuari a connectar-se al sòcol postgres"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Autoritza els clients a escriure a la memòria compartida d'X"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Autoritza el compte d'usuari xguest de SELinux a executar fitxers al "
++"directori d'inici o /tmp"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Autoritza els dimonis a executar-se amb NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Aplicacions web"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Transició de l'usuari SELinux staff al domini del navegador web"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Transició de l'usuari SELinux sysadm al domini del navegador web"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Transició de l'usuari SELinux user al domini del navegador web"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Transició de l'usuari SELinux xguest al domini del navegador web"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Autoritza els navegadors web d'staff a escriure als directoris d'inici"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Desactiva la protecció del SELinux per a l'amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Desactiva la protecció del SELinux per a l'amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni apmd"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni arpwatch"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni auditd"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni automount"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Desactiva la protecció del SELinux per a l'avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni bluetooth"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni canna"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni cardmgr"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Desactiva la protecció del SELinux per al Cluster Server"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Autoritza cdrecord a llegir varis continguts. nfs, samba, dispositius "
++"extraïbles, usuaris temporals i fitxers de contingut no fiable"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Desactiva la protecció del SELinux per al clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Desactiva la protecció del SELinux per al clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni cpuspeed"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni crond"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Impressió"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Desactiva la protecció del SELinux per al servidor de rerefons cupsd"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni cupsd"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Desactiva la protecció del SELinux per al cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni cvs"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni cyrus"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dbskkd"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dbusd"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Desactiva la protecció del SELinux per al dimoni dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Desactiva la protecció del SELinux per a dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Desactiva la protecció del SELinux per al dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ddt"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni devfsd"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dhcpc"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dhcpd"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dictd"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Autoritza el sysadm_t a iniciar els dimonis directament"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Desactiva la protecció del SELinux per a l'Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Jocs"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Desactiva la protecció del SELinux per als jocs"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Desactiva la protecció del SELinux per als navegadors web"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Desactiva la protecció del SELinux per al Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni distccd"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dmesg"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dnsmasq"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni dovecot"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni entropyd"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Desactiva la protecció del SELinux per al fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni fingerd"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni freshclam"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni fsdaemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni gpm"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni gss"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni Hal"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibilitat"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"No auditis coses que sabem que no funcionen, però que no comporten riscos de "
++"seguretat"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni hostname"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni hotplug"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni howl"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni hplip"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Desactiva la protecció del SELinux per al rotatelogs d'httpd"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Servei HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Desactiva la protecció del SELinux per al http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni hwclock"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Desactiva la protecció del SELinux per als dimonis fills d'inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni iscsi"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni klogd"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Desactiva la protecció del SELinux per al dimoni ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni lpd"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni lvm"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Desactiva la protecció del SELinux per al mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Autoritza l'evolution i el thunderbird a llegir fitxers d'usuari"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Autoritza el navegador mozilla a llegir fitxers d'usuari"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Servei de noms"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Desactiva la protecció del SELinux per al NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni nfsd"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ntpd"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Desactiva la protecció del SELinux per al oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Desactiva la protecció del SELinux per al oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni openvpn"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni pam"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Desactiva la protecció del SELinux per al pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni perdition"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni portmap"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni portslave"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Desactiva la protecció del SELinux per al dimoni postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni postgresql"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Autoritza pppd a ser executat per un usuari normal"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Desactiva la protecció del SELinux per al pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni pxe"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Desactiva la protecció del SELinux per al pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni quota"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni radvd"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Desactiva la protecció del SELinux per al rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Desactiva la protecció del SELinux per al readahead"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Permet que els programes llegeixin fitxers a ubicacions no estàndard "
++"(default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Desactiva la protecció del SELinux per al restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni rhgb"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Desactiva la protecció del SELinux per al ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Desactiva la protecció del SELinux per al ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni rlogind"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni rpcd"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Desactiva la protecció del SELinux per al rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni rsync"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Autoritza l'ssh a executar-se des de inetd en comptes de com un dimoni"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Autoritza el Samba a compartir directoris nfs"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Servidor d'autenticació SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Autoritza el servidor d'autenticació sasl a llegir /etc/shadow"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Autoritza el servidor X-Windows a mapar una regió de memòria com a "
++"executable i escrivible"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni saslauthd"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni scannerdaemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "No permetis la transició a sysadm_t, afecta a sudo i su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "No autoritzis cap procés a carregar els mòduls del nucli"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "No autoritzis cap procés a modificar la política SELinux del nucli"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni sendmail"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Desactiva la protecció del SELinux per al setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni setroubleshoot"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni slapd"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni slrnpull"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni smbd"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni snmpd"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni snort"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni soundd"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni sound"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Protecció de correu brossa"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni spamd"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Autoritza el spamd a accedir els directoris d'inici"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Autoritza el dimoni Spam Assassin a accedir a la xarxa"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni speedmgmt"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Autoritza el dimoni squid a connectar-se a la xarxa"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni squid"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ssh"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Autoritza l'ssh a connectar-se com sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Permet que els usuaris d'staff_r cerquin el directori d'inici de sysadm i en "
++"llegeixin fitxers (com ara ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Túnel SSL universal"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni stunnel"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Permet que el dimoni stunnel s'executi sol, sense l'xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni swat"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni sxid"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni syslogd"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Desactiva la protecció del SELinux per el sistema de tasques cron"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni pam"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni telnet"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni tftpd"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni transproxy"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni udev"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni uml"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Autoritza a executar sense restriccions xinetd, incloent qualsevol servei "
++"que engegui i que no tingui un domini de transició definit explícitament"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Autoritza a executar sense restriccions els scripts rc, incloent qualsevol "
++"dimoni engegat per un script rc que no tingui un domini de transició definit "
++"explícitament"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Autoritza l'rpm a executar-se sense limitació"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Permet que les utilitats privilegiades com ara hotplug i insmod s'executin "
++"sense limitació"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni updfstab"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni uptimed"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Autoritza l'user_r a assolir sysadm_r mitjançant su, sudo, o userhelper. En "
++"cas contrari, només staff_r pot fer-ho"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Autoritza els usuaris a executar l'ordre mount"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Autoritza els usuaris normals a accedir el ratolí directament (només "
++"autoritza el servidor X)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Autoritza els usuaris a executar l'ordre dmesg"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Autoritza els usuaris a controlar les interfícies de xarxa (també necessita "
++"USERCTL=true)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Autoritza l'usuari normal a executar ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Autoritza l'usuari a llegir/escriure de noextattrfile (FAT, CDROM, DISQUET)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Autoritza els usuaris a llegir/escriure dispositius usb"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"Autoritza els usuaris a executar servidors TCP (vincular ports i acceptar "
++"connexions des del mateix domini i d'usuaris externs). Desactivant-ho, "
++"imposa el mode passiu de l'FTP i pot afectar altres protocols"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Autoritza l'usuari a les estadístiques dels ttyfiles"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni uucpd"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni vmware"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni watchdog"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni winbind"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni xdm"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Autoritza les entrades d'xdm com a sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Autoritza el xen a llegir/escriure dispositius de disc físics"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni xfs"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Desactiva la protecció del SELinux per al xen control"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ypbind"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Desactiva la protecció del SELinux per al NIS Password Daemon"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni ypserv"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Desactiva la protecció del SELinux per al dimoni NIS Transfer"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Autoritza l'usuari webadm del SELinux a gestionar els directoris d'inici "
++"d'usuaris no privilegiats"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Autoritza l'usuari webadm del SELinux a llegir els directoris d'inici "
++"d'usuaris no privilegiats"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Esteu segur que voleu suprimir %s '%s'?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Suprimeix %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Afegeix %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modifica %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissiu"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Fer complir"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Desactivat"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Estat"
++
++#: ../gui/statusPage.py:133
++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 ""
++"Canviar el tipus de política causarà un reetiquetatge de tot el sistema de "
++"fitxers en la següent arrencada. El reetiquetatge tarda molt temps depenent "
++"de la mida del sistema de fitxers. Desitgeu continuar?"
++
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Desactivar el SELinux requereix arrancar de nou. No és recomanable. Si més "
++"tard decidiu reactivar el SELinux, caldrà reetiquetar el sistema. Si només "
++"voleu veure si el SELinux està causant un problema al vostre ordinador, "
++"podeu canviar a mode permissiu i no aplicar la política de compliment del "
++"SELinux, als errors registrats. El mode permissiu no requereix tornar a "
++"arrencar. Voleu continuar?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Activar el SELinux provocarà el reetiquetatge de tot el sistema de fitxers "
++"en la següent arrencada. El reetiquetatge tarda molta estona depenent de la "
++"mida del sistema de fitxers. Desitgeu continuar?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Afegeix el mapatge d'entrada del SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Afegeix els ports de xarxa del SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Tipus SELinux"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"Nivell\n"
++"SELinux MLS/MCS"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Especificació del fitxer"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Tipus de fitxer"
++
++# ../gui/system-config-selinux.glade:919
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"tots els fitxers\n"
++"fitxer normal\n"
++"directori\n"
++"dispositiu de caràcters\n"
++"dispositiu de blocs\n"
++"sòcol\n"
++"enllaç simbòlic\n"
++"conducte amb nom\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Afegeix l'usuari SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Administració del SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Afegeix"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Propietats"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Suprimeix"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Seleccioneu l'objecte a gestionar"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Seleccioneu:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Mode de compliment predeterminat per al sistema"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Desactivat\n"
++"Permissiu\n"
++"Fer complir\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Mode de compliment actual"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Tipus de política predeterminada del sistema: "
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Seleccioneu si desitgeu reetiquetar tot el sistema de fitxers a la següent "
++"arrencada.  El reetiquetatge pot tardar molt temps, depenent de la mida del "
++"sistema.  Si s'està canviant els tipus de polítiques o s'està passant de "
++"desactivada a compliment, caldrà reetiquetar."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Reetiqueta en la següent arrencada."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "etiqueta37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Torna els valors booleans al valor predeterminat del sistema"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Alterna entre tots els valors booleans i els personalitzats"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Executa l'assistent de bloqueig de booleans"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Bloqueig...s"
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtre"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "etiqueta50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Afegeix context de fitxers"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modifica context de fitxers"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Suprimeix el context de fitxers"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Alterna entre el context per a tots i el personalitzat"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "etiqueta38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Afegeix el mapatge d'usuari SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modifica el mapatge d'usuari SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Elimina el mapatge d'usuari SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "etiqueta39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Afegeix usuari"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modifica usuari"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Suprimeix usuari"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "etiqueta41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Afegeix traducció"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modifica traducció"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Suprimeix traducció"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "etiqueta40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Afegeix port de xarxa"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Edita port de xarxa"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Suprimeix port de xarxa"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Alterna entre tots els ports i els personalitzats"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "etiqueta42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Genera un nou mòdul de política"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Carrega un mòdul de política"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Suprimeix el mòdul de política carregable"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Habilita/inhabilita regles addicionals d'auditoria, que normalment no es "
++"llisten en els fitxers de registre"
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "etiqueta44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Canvia el mode del procés a permissiu."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Canvia el mode del procés a Fer complir"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Domini del procés"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "etiqueta59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Cal l'usuari SELinux '%s'"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Nivell de sensibilitat"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/cs.po policycoreutils-2.0.85/po/cs.po
+--- nsapolicycoreutils/po/cs.po        2011-02-17 15:11:25.036736340 -0500
++++ policycoreutils-2.0.85/po/cs.po    2011-02-18 16:03:41.346975590 -0500
+@@ -9,16 +9,35 @@
+ msgstr ""
+ "Project-Id-Version: cs\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: 2008-03-03 05:55+0100\n"
+ "Last-Translator: Miloslav Trmač <mitr@volny.cz>\n"
+ "Language-Team: Czech <fedora-cs-list@redhat.com>\n"
++"Language: cs\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
++"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "Úprava rozhraní"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -124,7 +143,8 @@
+ msgid "Level"
+ msgstr "RAID Level:"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ #, fuzzy
+ msgid "Translation"
+ msgstr "Virtualizace"
+@@ -178,267 +198,273 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, fuzzy, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ #, fuzzy
+ msgid "Login Name"
+ msgstr "Jméno logického svazku (LV)"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Musíte vybrat alespoň jeden z protokolů (IPv4 nebo IPv6)."
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ #, fuzzy
+ msgid "Could not list SELinux users"
+ msgstr "Místo připojení je již používáno"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ #, fuzzy
+ msgid "Labeling"
+ msgstr "Název"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefix"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ #, fuzzy
+ msgid "MCS Level"
+ msgstr "RAID Level:"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, fuzzy, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+@@ -446,80 +472,80 @@
+ "\n"
+ "%s.%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Nemohu alokovat požadované oddíly: %s."
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, fuzzy, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+@@ -527,404 +553,405 @@
+ "\n"
+ "%s.%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "balíček je již nainstalován"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, fuzzy, python-format
+ msgid "Could not create context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Nelze odstranit volné místo."
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "%s není platné jméno počítače."
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Nelze odstranit volné místo."
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Nelze odstranit volné místo."
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Úprava rozhraní"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, fuzzy, python-format
+ msgid "Interface %s already defined"
+ msgstr "balíček je již nainstalován"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, fuzzy, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Nemohu alokovat oddíly pomocí cylindrů.\n"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, fuzzy, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Nelze odstranit volné místo."
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ #, fuzzy
+ msgid "Could not list interfaces"
+ msgstr "Úprava rozhraní"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ #, fuzzy
+ msgid "SELinux Interface"
+ msgstr "Úprava rozhraní"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ #, fuzzy
+ msgid "Context"
+ msgstr "Pokračovat"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ #, fuzzy
+ msgid "Invalid file specification"
+ msgstr "Chybná IP informace"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, fuzzy, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, fuzzy, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Nemohu vytvořit editor klonů disku"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ #, fuzzy
+ msgid "type"
+ msgstr "Typ"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Musíte vložit hodnotu"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Nelze odstranit volné místo."
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, fuzzy, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Nelze odstranit volné místo."
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "neznámý"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ #, fuzzy
+ msgid "on"
+ msgstr "Nic"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ #, fuzzy
+ msgid "Description"
+ msgstr "Oddíl"
+@@ -1104,437 +1131,2318 @@
+ msgid "failed to build new range with level %s\n"
+ msgstr ""
+-#: ../newrole/newrole.c:996
+-#, c-format
+-msgid "failed to set new range %s\n"
++#: ../newrole/newrole.c:996
++#, c-format
++msgid "failed to set new range %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1004
++#, c-format
++msgid "failed to convert new context to string\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1009
++#, fuzzy, c-format
++msgid "%s is not a valid context\n"
++msgstr "%s není platné jméno počítače."
++
++#: ../newrole/newrole.c:1016
++#, c-format
++msgid "Unable to allocate memory for new_context"
++msgstr ""
++
++#: ../newrole/newrole.c:1042
++#, fuzzy, c-format
++msgid "Unable to obtain empty signal set\n"
++msgstr "Nelze připojit souborový systém"
++
++#: ../newrole/newrole.c:1050
++#, c-format
++msgid "Unable to set SIGHUP handler\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1116
++#, c-format
++msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1133
++#, c-format
++msgid "failed to get old_context.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1140
++#, c-format
++msgid "Warning!  Could not retrieve tty information.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1161
++#, fuzzy, c-format
++msgid "error on reading PAM service configuration.\n"
++msgstr "Zapisuji nastavení po aktualizaci..."
++
++#: ../newrole/newrole.c:1196
++#, c-format
++msgid "newrole: incorrect password for %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1223
++#, c-format
++msgid "newrole: failure forking: %s"
++msgstr ""
++
++#: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
++#, fuzzy, c-format
++msgid "Unable to restore tty label...\n"
++msgstr "Nemohu přenést instalační obraz."
++
++#: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
++#, c-format
++msgid "Failed to close tty properly\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1287
++#, fuzzy, c-format
++msgid "Could not close descriptors.\n"
++msgstr "Nemohu alokovat oddíly pomocí cylindrů.\n"
++
++#: ../newrole/newrole.c:1314
++#, c-format
++msgid "Error allocating shell's argv0.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1346
++#, fuzzy, c-format
++msgid "Unable to restore the environment, aborting\n"
++msgstr "Nemohu přenést instalační obraz."
++
++#: ../newrole/newrole.c:1357
++msgid "failed to exec shell\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:22
++#, c-format
++msgid "usage:  %s [-qi]\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:71
++#, c-format
++msgid "%s:  Policy is already loaded and initial load requested\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:80
++#, c-format
++msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:90
++#, c-format
++msgid "%s:  Can't load policy:  %s\n"
++msgstr ""
++
++#: ../scripts/chcat:92 ../scripts/chcat:169
++#, fuzzy
++msgid "Requires at least one category"
++msgstr "Vložená hodnota není číslo"
++
++#: ../scripts/chcat:106 ../scripts/chcat:183
++#, c-format
++msgid "Can not modify sensitivity levels using '+' on %s"
++msgstr ""
++
++#: ../scripts/chcat:110
++#, c-format
++msgid "%s is already in %s"
++msgstr ""
++
++#: ../scripts/chcat:188 ../scripts/chcat:198
++#, fuzzy, c-format
++msgid "%s is not in %s"
++msgstr "%s není platné jméno počítače."
++
++#: ../scripts/chcat:267 ../scripts/chcat:272
++msgid "Can not combine +/- with other types of categories"
++msgstr ""
++
++#: ../scripts/chcat:319
++msgid "Can not have multiple sensitivities"
++msgstr ""
++
++#: ../scripts/chcat:325
++#, c-format
++msgid "Usage %s CATEGORY File ..."
++msgstr ""
++
++#: ../scripts/chcat:326
++#, c-format
++msgid "Usage %s -l CATEGORY user ..."
++msgstr ""
++
++#: ../scripts/chcat:327
++#, c-format
++msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
++msgstr ""
++
++#: ../scripts/chcat:328
++#, c-format
++msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
++msgstr ""
++
++#: ../scripts/chcat:329
++#, fuzzy, c-format
++msgid "Usage %s -d File ..."
++msgstr "Zavádím ovladač %s ..."
++
++#: ../scripts/chcat:330
++#, c-format
++msgid "Usage %s -l -d user ..."
++msgstr ""
++
++#: ../scripts/chcat:331
++#, c-format
++msgid "Usage %s -L"
++msgstr ""
++
++#: ../scripts/chcat:332
++#, c-format
++msgid "Usage %s -L -l user"
++msgstr ""
++
++#: ../scripts/chcat:333
++msgid "Use -- to end option list.  For example"
++msgstr ""
++
++#: ../scripts/chcat:334
++msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
++msgstr ""
++
++#: ../scripts/chcat:335
++msgid "chcat -l +CompanyConfidential juser"
++msgstr ""
++
++#: ../scripts/chcat:399
++#, fuzzy, c-format
++msgid "Options Error %s "
++msgstr "Chyby v oddílech"
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++#, fuzzy
++msgid "Boolean"
++msgstr "Korejština"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++#, fuzzy
++msgid "all"
++msgstr "_Instalovat"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++#, fuzzy
++msgid "Customized"
++msgstr "_Upravit teď"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++#, fuzzy
++msgid "File Labeling"
++msgstr "Jmenovka systému souborů:"
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++#, fuzzy
++msgid ""
++"File\n"
++"Type"
++msgstr "Typ"
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++#, fuzzy
++msgid "Version"
++msgstr "Perština"
++
++#: ../gui/modulesPage.py:134
++#, fuzzy
++msgid "Disable Audit"
++msgstr "Zakázáno"
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++#, fuzzy
++msgid "Enable Audit"
++msgstr "Nelze upravit"
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++#, fuzzy
++msgid "<b>Login Users</b>"
++msgstr "<b>Uživatelské jméno:</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++#, fuzzy
++msgid "User Role"
++msgstr "Uživatelské jméno"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++#, fuzzy
++msgid "<b>Root Users</b>"
++msgstr "<b>Uživatelské jméno:</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++#, fuzzy
++msgid "<b>TCP Ports</b>"
++msgstr "<b>FCP LUN:</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++#, fuzzy
++msgid "Select Ports"
++msgstr "Výběr oddílu"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++#, fuzzy
++msgid "<b>UDP Ports</b>"
++msgstr "<b>IPv4 adresa:</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++#, fuzzy
++msgid "Policy Directory"
++msgstr "Neplatné adresáře"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++#, fuzzy
++msgid "Existing_User"
++msgstr "Konec"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++#, fuzzy
++msgid "Application"
++msgstr "oddíl"
++
++#: ../gui/polgengui.py:269
++#, fuzzy, python-format
++msgid "%s must be a directory"
++msgstr "Adresář %s:"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++#, fuzzy
++msgid "You must select a user"
++msgstr "Zvolte oddíl, který chcete upravit"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++#, fuzzy
++msgid "Verify Name"
++msgstr "Název proxy:"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++#, fuzzy
++msgid "You must enter a name"
++msgstr "Musíte zadat jméno serveru."
++
++#: ../gui/polgengui.py:610
++#, fuzzy
++msgid "You must enter a executable"
++msgstr "Musíte zadat jméno serveru."
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++#, fuzzy
++msgid "Configue SELinux"
++msgstr "Nastavit proxy"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++#, fuzzy
++msgid "Interface file"
++msgstr "Úprava rozhraní"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++#, fuzzy
++msgid "Network Port"
++msgstr "Chyba sítě"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++#, fuzzy
++msgid "Protocol"
++msgstr "Chybějící protokol"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++#, fuzzy
++msgid "Port"
++msgstr "Formátovat"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++#, fuzzy
++msgid "Memory Protection"
++msgstr "Nastavení oddílu"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++#, fuzzy
++msgid "Mount"
++msgstr "Připojit do"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Nastavení sítě"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++#, fuzzy
++msgid "XServer"
++msgstr "Name server:"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++#, fuzzy
++msgid "NIS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++#, fuzzy
++msgid "Cron"
++msgstr "Chorvatština"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++#, fuzzy
++msgid "Printing"
++msgstr "Oddíl"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++#, fuzzy
++msgid "Games"
++msgstr "Ásámština"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++#, fuzzy
++msgid "HTTPD Service"
++msgstr "Zařízení"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++#, fuzzy
++msgid "Name Service"
++msgstr "Name server:"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++#, fuzzy
++msgid "Spam Protection"
++msgstr "oddíl"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
+ msgstr ""
+-#: ../newrole/newrole.c:1004
+-#, c-format
+-msgid "failed to convert new context to string\n"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
+ msgstr ""
+-#: ../newrole/newrole.c:1009
+-#, fuzzy, c-format
+-msgid "%s is not a valid context\n"
+-msgstr "%s není platné jméno počítače."
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
+-#: ../newrole/newrole.c:1016
+-#, c-format
+-msgid "Unable to allocate memory for new_context"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
+ msgstr ""
+-#: ../newrole/newrole.c:1042
+-#, fuzzy, c-format
+-msgid "Unable to obtain empty signal set\n"
+-msgstr "Nelze připojit souborový systém"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
+-#: ../newrole/newrole.c:1050
+-#, c-format
+-msgid "Unable to set SIGHUP handler\n"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
+ msgstr ""
+-#: ../newrole/newrole.c:1116
+-#, c-format
+-msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+ msgstr ""
+-#: ../newrole/newrole.c:1133
+-#, c-format
+-msgid "failed to get old_context.\n"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
+ msgstr ""
+-#: ../newrole/newrole.c:1140
+-#, c-format
+-msgid "Warning!  Could not retrieve tty information.\n"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+ msgstr ""
+-#: ../newrole/newrole.c:1161
+-#, fuzzy, c-format
+-msgid "error on reading PAM service configuration.\n"
+-msgstr "Zapisuji nastavení po aktualizaci..."
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
+-#: ../newrole/newrole.c:1196
+-#, c-format
+-msgid "newrole: incorrect password for %s\n"
++#: ../gui/selinux.tbl:216
++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 ""
+-#: ../newrole/newrole.c:1223
+-#, c-format
+-msgid "newrole: failure forking: %s"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
+ msgstr ""
+-#: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+-#, fuzzy, c-format
+-msgid "Unable to restore tty label...\n"
+-msgstr "Nemohu přenést instalační obraz."
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
+-#: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+-#, c-format
+-msgid "Failed to close tty properly\n"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
+ msgstr ""
+-#: ../newrole/newrole.c:1287
+-#, fuzzy, c-format
+-msgid "Could not close descriptors.\n"
+-msgstr "Nemohu alokovat oddíly pomocí cylindrů.\n"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
+-#: ../newrole/newrole.c:1314
+-#, c-format
+-msgid "Error allocating shell's argv0.\n"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
+ msgstr ""
+-#: ../newrole/newrole.c:1346
+-#, fuzzy, c-format
+-msgid "Unable to restore the environment, aborting\n"
+-msgstr "Nemohu přenést instalační obraz."
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
+-#: ../newrole/newrole.c:1357
+-msgid "failed to exec shell\n"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
+ msgstr ""
+-#: ../load_policy/load_policy.c:22
+-#, c-format
+-msgid "usage:  %s [-qi]\n"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
+ msgstr ""
+-#: ../load_policy/load_policy.c:71
+-#, c-format
+-msgid "%s:  Policy is already loaded and initial load requested\n"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
+ msgstr ""
+-#: ../load_policy/load_policy.c:80
+-#, c-format
+-msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
+ msgstr ""
+-#: ../load_policy/load_policy.c:90
+-#, c-format
+-msgid "%s:  Can't load policy:  %s\n"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
+ msgstr ""
+-#: ../scripts/chcat:92 ../scripts/chcat:169
+-#, fuzzy
+-msgid "Requires at least one category"
+-msgstr "Vložená hodnota není číslo"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
+-#: ../scripts/chcat:106 ../scripts/chcat:183
+-#, c-format
+-msgid "Can not modify sensitivity levels using '+' on %s"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
+ msgstr ""
+-#: ../scripts/chcat:110
+-#, c-format
+-msgid "%s is already in %s"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
+ msgstr ""
+-#: ../scripts/chcat:188 ../scripts/chcat:198
+-#, fuzzy, c-format
+-msgid "%s is not in %s"
+-msgstr "%s není platné jméno počítače."
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
+-#: ../scripts/chcat:267 ../scripts/chcat:272
+-msgid "Can not combine +/- with other types of categories"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
+ msgstr ""
+-#: ../scripts/chcat:319
+-msgid "Can not have multiple sensitivities"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
+ msgstr ""
+-#: ../scripts/chcat:325
+-#, c-format
+-msgid "Usage %s CATEGORY File ..."
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
+ msgstr ""
+-#: ../scripts/chcat:326
+-#, c-format
+-msgid "Usage %s -l CATEGORY user ..."
++#: ../gui/semanagePage.py:126
++#, fuzzy, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Opravdu chcete odstranit logický svazek (LV) \"%s\"?"
++
++#: ../gui/semanagePage.py:126
++#, fuzzy, python-format
++msgid "Delete %s"
++msgstr "Odstranit"
++
++#: ../gui/semanagePage.py:134
++#, fuzzy, python-format
++msgid "Add %s"
++msgstr "_Přidat"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
+ msgstr ""
+-#: ../scripts/chcat:327
+-#, c-format
+-msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
+ msgstr ""
+-#: ../scripts/chcat:328
+-#, c-format
+-msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
+ msgstr ""
+-#: ../scripts/chcat:329
+-#, fuzzy, c-format
+-msgid "Usage %s -d File ..."
+-msgstr "Zavádím ovladač %s ..."
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Zakázáno"
+-#: ../scripts/chcat:330
+-#, c-format
+-msgid "Usage %s -l -d user ..."
+-msgstr ""
++#: ../gui/statusPage.py:94
++#, fuzzy
++msgid "Status"
++msgstr "Začátek"
+-#: ../scripts/chcat:331
+-#, c-format
+-msgid "Usage %s -L"
++#: ../gui/statusPage.py:133
++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 ""
+-#: ../scripts/chcat:332
+-#, c-format
+-msgid "Usage %s -L -l user"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
+ msgstr ""
+-#: ../scripts/chcat:333
+-msgid "Use -- to end option list.  For example"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
+ msgstr ""
+-#: ../scripts/chcat:334
+-msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
+ msgstr ""
+-#: ../scripts/chcat:335
+-msgid "chcat -l +CompanyConfidential juser"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+ msgstr ""
+-#: ../scripts/chcat:399
+-#, fuzzy, c-format
+-msgid "Options Error %s "
+-msgstr "Chyby v oddílech"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Boolean"
+-#~ msgstr "Korejština"
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
+-#, fuzzy
+-#~ msgid "all"
+-#~ msgstr "_Instalovat"
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Customized"
+-#~ msgstr "_Upravit teď"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
+-#, fuzzy
+-#~ msgid "File Labeling"
+-#~ msgstr "Jmenovka systému souborů:"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++#: ../gui/system-config-selinux.glade:842
+ #, fuzzy
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr "Typ"
++msgid "File Type"
++msgstr "Typ systému souborů:"
+-#, fuzzy
+-#~ msgid "Version"
+-#~ msgstr "Perština"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Disable Audit"
+-#~ msgstr "Zakázáno"
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Enable Audit"
+-#~ msgstr "Nelze upravit"
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
+-#, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Uživatelské jméno:</b>"
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++#: ../gui/system-config-selinux.glade:1314
+ #, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "Uživatelské jméno"
++msgid "Add"
++msgstr "_Přidat"
+-#, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Uživatelské jméno:</b>"
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
+-#, fuzzy
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>FCP LUN:</b>"
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Odstranit"
+-#, fuzzy
+-#~ msgid "Select Ports"
+-#~ msgstr "Výběr oddílu"
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++#: ../gui/system-config-selinux.glade:1466
+ #, fuzzy
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>IPv4 adresa:</b>"
++msgid "<b>Select:</b>"
++msgstr "<b>Uživatelské jméno:</b>"
+-#, fuzzy
+-#~ msgid "Policy Directory"
+-#~ msgstr "Neplatné adresáře"
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Existing_User"
+-#~ msgstr "Konec"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Application"
+-#~ msgstr "oddíl"
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
+-#, fuzzy
+-#~ msgid "%s must be a directory"
+-#~ msgstr "Adresář %s:"
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Zvolte oddíl, který chcete upravit"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
+-#, fuzzy
+-#~ msgid "Verify Name"
+-#~ msgstr "Název proxy:"
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++#: ../gui/system-config-selinux.glade:1754
+ #, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Musíte zadat jméno serveru."
++msgid "label37"
++msgstr "Název"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Musíte zadat jméno serveru."
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Nastavit proxy"
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Úprava rozhraní"
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Protocol"
+-#~ msgstr "Chybějící protokol"
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
+-#, fuzzy
+-#~ msgid "Port"
+-#~ msgstr "Formátovat"
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++#: ../gui/system-config-selinux.glade:1945
+ #, fuzzy
+-#~ msgid "Memory Protection"
+-#~ msgstr "Nastavení oddílu"
++msgid "label50"
++msgstr "Název"
+-#, fuzzy
+-#~ msgid "Mount"
+-#~ msgstr "Připojit do"
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
+-#~ msgid "Network Configuration"
+-#~ msgstr "Nastavení sítě"
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
+-#, fuzzy
+-#~ msgid "XServer"
+-#~ msgstr "Name server:"
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
+-#, fuzzy
+-#~ msgid "NIS"
+-#~ msgstr "NFS"
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++#: ../gui/system-config-selinux.glade:2150
+ #, fuzzy
+-#~ msgid "Cron"
+-#~ msgstr "Chorvatština"
++msgid "label38"
++msgstr "Název"
+-#, fuzzy
+-#~ msgid "Printing"
+-#~ msgstr "Oddíl"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Games"
+-#~ msgstr "Ásámština"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++#: ../gui/system-config-selinux.glade:2337
+ #, fuzzy
+-#~ msgid "HTTPD Service"
+-#~ msgstr "Zařízení"
++msgid "label39"
++msgstr "Název"
++#: ../gui/system-config-selinux.glade:2374
+ #, fuzzy
+-#~ msgid "Name Service"
+-#~ msgstr "Name server:"
++msgid "Add User"
++msgstr "_Přidat"
++#: ../gui/system-config-selinux.glade:2390
+ #, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "oddíl"
++msgid "Modify User"
++msgstr "_Upravit repozitář"
++#: ../gui/system-config-selinux.glade:2406
+ #, fuzzy
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Opravdu chcete odstranit logický svazek (LV) \"%s\"?"
++msgid "Delete User"
++msgstr "Odstranit"
++#: ../gui/system-config-selinux.glade:2524
+ #, fuzzy
+-#~ msgid "Delete %s"
+-#~ msgstr "Odstranit"
++msgid "label41"
++msgstr "Název"
++#: ../gui/system-config-selinux.glade:2561
+ #, fuzzy
+-#~ msgid "Add %s"
+-#~ msgstr "_Přidat"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Zakázáno"
++msgid "Add Translation"
++msgstr "Přidat oddíl"
++#: ../gui/system-config-selinux.glade:2577
+ #, fuzzy
+-#~ msgid "Status"
+-#~ msgstr "Začátek"
++msgid "Modify Translation"
++msgstr "Nastavení oddílu"
+-#, fuzzy
+-#~ msgid "File Type"
+-#~ msgstr "Typ systému souborů:"
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++#: ../gui/system-config-selinux.glade:2711
+ #, fuzzy
+-#~ msgid "Add"
+-#~ msgstr "_Přidat"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "_Odstranit"
++msgid "label40"
++msgstr "Název"
++#: ../gui/system-config-selinux.glade:2748
+ #, fuzzy
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Uživatelské jméno:</b>"
++msgid "Add Network Port"
++msgstr "Chyba sítě"
++#: ../gui/system-config-selinux.glade:2764
+ #, fuzzy
+-#~ msgid "label37"
+-#~ msgstr "Název"
++msgid "Edit Network Port"
++msgstr "Chyba sítě"
++#: ../gui/system-config-selinux.glade:2780
+ #, fuzzy
+-#~ msgid "label50"
+-#~ msgstr "Název"
++msgid "Delete Network Port"
++msgstr "Chyba sítě"
+-#, fuzzy
+-#~ msgid "label38"
+-#~ msgstr "Název"
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++#: ../gui/system-config-selinux.glade:2954
+ #, fuzzy
+-#~ msgid "label39"
+-#~ msgstr "Název"
++msgid "label42"
++msgstr "Název"
+-#, fuzzy
+-#~ msgid "Add Translation"
+-#~ msgstr "Přidat oddíl"
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify Translation"
+-#~ msgstr "Nastavení oddílu"
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "label41"
+-#~ msgstr "Název"
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "label40"
+-#~ msgstr "Název"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++#: ../gui/system-config-selinux.glade:3179
+ #, fuzzy
+-#~ msgid "Add Network Port"
+-#~ msgstr "Chyba sítě"
++msgid "label44"
++msgstr "Název"
+-#, fuzzy
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Chyba sítě"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
+-#, fuzzy
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Chyba sítě"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++#: ../gui/system-config-selinux.glade:3326
+ #, fuzzy
+-#~ msgid "label42"
+-#~ msgstr "Název"
++msgid "Process Domain"
++msgstr "Zpracovávání"
++#: ../gui/system-config-selinux.glade:3354
+ #, fuzzy
+-#~ msgid "label44"
+-#~ msgstr "Název"
++msgid "label59"
++msgstr "Název"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+ #, fuzzy
+ #~ msgid "Requires value"
+@@ -3059,8 +4967,8 @@
+ #~ msgstr "Místo připojení \"%s\" je již používáno. Zadejte jiné."
+ #~ msgid ""
+-#~ "The size of the %s partition (%10.2f MB) exceeds the maximum size of %"
+-#~ "10.2f MB."
++#~ "The size of the %s partition (%10.2f MB) exceeds the maximum size of "
++#~ "%10.2f MB."
+ #~ msgstr ""
+ #~ "Velikost oddílu %s (%10.2f MB) překračuje maximální velikost %10.2f MB."
+@@ -3514,9 +5422,6 @@
+ #~ msgid "%s Bytes"
+ #~ msgstr "%s bajtů"
+-#~ msgid "Processing"
+-#~ msgstr "Zpracovávání"
+-
+ #~ msgid "Preparing transaction from installation source..."
+ #~ msgstr "Připravuje se transakce z instalačního zdroje..."
+@@ -3633,8 +5538,8 @@
+ #~ "%s\n"
+ #~ msgid ""
+-#~ "There was an error running your transaction for the following reason(s): %"
+-#~ "s.\n"
++#~ "There was an error running your transaction for the following reason(s): "
++#~ "%s.\n"
+ #~ msgstr "Při provádění transakce došlo k chybě z následujících důvodů: %s.\n"
+ #~ msgid "Error Running Transaction"
+@@ -3954,21 +5859,21 @@
+ #~ msgstr "_Pokračovat"
+ #~ msgid ""
+-#~ "The physical extent size cannot be changed because the value selected (%"
+-#~ "10.2f MB) is larger than the smallest physical volume (%10.2f MB) in the "
+-#~ "volume group."
++#~ "The physical extent size cannot be changed because the value selected "
++#~ "(%10.2f MB) is larger than the smallest physical volume (%10.2f MB) in "
++#~ "the volume group."
+ #~ msgstr ""
+ #~ "Velikost fyzického oddílu nelze změnit, protože zvolená hodnota (%10.2f "
+ #~ "MB) je větší, než nejmenší fyzický svazek (%10.2f MB) ve skupině svazků."
+ #~ msgid ""
+-#~ "The physical extent size cannot be changed because the value selected (%"
+-#~ "10.2f MB) is too large compared to the size of the smallest physical "
++#~ "The physical extent size cannot be changed because the value selected "
++#~ "(%10.2f MB) is too large compared to the size of the smallest physical "
+ #~ "volume (%10.2f MB) in the volume group."
+ #~ msgstr ""
+ #~ "Velikost fyzického svazku nelze změnit, protože zvolená hodnota (%10.2f "
+-#~ "MB) je příliš velká vzhledem k velikosti nejmenšího fyzického svazku (%"
+-#~ "10.2f MB) ve skupině svazků."
++#~ "MB) je příliš velká vzhledem k velikosti nejmenšího fyzického svazku "
++#~ "(%10.2f MB) ve skupině svazků."
+ #~ msgid "Too small"
+ #~ msgstr "Příliš malý"
+@@ -4673,8 +6578,8 @@
+ #~ "You must remove these partitions or restrict them to this drive before "
+ #~ "this drive can be cloned. "
+ #~ msgstr ""
+-#~ "Zvolený zdrojový disk obsahuje oddíly, které nejsou omezeny na disk /dev/%"
+-#~ "s.\n"
++#~ "Zvolený zdrojový disk obsahuje oddíly, které nejsou omezeny na disk /dev/"
++#~ "%s.\n"
+ #~ "\n"
+ #~ "Aby bylo možné klonovat disk, musíte je odstranit nebo omezit pouze na "
+ #~ "zdrojový disk."
+@@ -5808,8 +7713,8 @@
+ #~ "médium % s a opakujte stisknutím %s."
+ #~ msgid ""
+-#~ "The %s disc was not found in any of your CDROM drives. Please insert the %"
+-#~ "s disc and press %s to retry."
++#~ "The %s disc was not found in any of your CDROM drives. Please insert the "
++#~ "%s disc and press %s to retry."
+ #~ msgstr ""
+ #~ "Nemohu nalézt médium %s v žádné jednotce. Vložte médium s distribucí %s a "
+ #~ "stiskněte tlačítko %s pro opakování."
+@@ -6604,9 +8509,6 @@
+ #~ msgid "_Add additional software repositories"
+ #~ msgstr "_Přidat rozšiřující repozitáře"
+-#~ msgid "_Modify repository"
+-#~ msgstr "_Upravit repozitář"
+-
+ #~ msgid "<b>Device number:</b>"
+ #~ msgstr "<b>Číslo zařízení:</b>"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/cy.po policycoreutils-2.0.85/po/cy.po
+--- nsapolicycoreutils/po/cy.po        2011-02-17 15:11:25.483728954 -0500
++++ policycoreutils-2.0.85/po/cy.po    2011-02-18 16:03:41.347975597 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/da.po policycoreutils-2.0.85/po/da.po
+--- nsapolicycoreutils/po/da.po        2011-02-17 15:11:25.544727951 -0500
++++ policycoreutils-2.0.85/po/da.po    2011-02-18 16:03:41.347975597 -0500
+@@ -1,24 +1,43 @@
+-# translation of da.po to
+-# Danish messages for policycoreutils.
++# Danish translation of policycoreutils.
+ # Copyright (C) 2006 Christian Rose.
+ #
+-# $Id: da.po,v 1.15 2008/09/09 17:25:39 dwalsh Exp $
+ # Christian Rose <menthos@menthos.com>, 2006.
+ # Keld Simonsen <keld@dkuug.dk>, 2006.
+ # Keld Simonsen <keld@rap.dk>, 2007.
++# Kris Thomsen <lakristho@gmail.com>, 2009, 2010.
++#
++# Konventioner:
++#     policy => regelsæt
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: da\n"
++"Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-04-15 09:36+0200\n"
+-"Last-Translator: Keld Simonsen <keld@rap.dk>\n"
+-"Language-Team:  <da@li.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-12-21 20:00+0100\n"
++"Last-Translator: Kris Thomsen <lakristho@gmail.com>\n"
++"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.10.2\n"
++"Language: da\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Konfigurér SELinux i et grafisk miljø"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Håndtering af SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Generér SELinux-regelsætmodul"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Regelsætgenereringsværktøj til SELinux"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -27,18 +46,18 @@
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+ "BRUG: run_init <skript> <args ...>\n"
+-"  hvor: <skript> er navnet på init skript som skal køres,\n"
+-"         <args ...> er argumenter til dette skript."
++"  hvor: <skript> er navnet på init-skriptet som skal køres,\n"
++"         <args ...> er argumenterne til dette skript."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+ msgid "failed to initialize PAM\n"
+-msgstr "kunne ikke initiere PAM\n"
++msgstr "kunne ikke initialisere PAM\n"
+ #: ../run_init/run_init.c:139
+ #, c-format
+ msgid "failed to get account information\n"
+-msgstr "kunne ikke få fat i konto-information.\n"
++msgstr "kunne ikke hente kontoinformation\n"
+ #: ../run_init/run_init.c:162 ../newrole/newrole.c:338
+ msgid "Password:"
+@@ -47,7 +66,7 @@
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr "Kan ikke finde din post i skyggeadgangskodesfilen.\n"
++msgstr "Kan ikke finde din post i skyggeadgangskode-filen.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+@@ -72,12 +91,12 @@
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr "Desværre, run_init kan kun bruges på en SELinux-kerne.\n"
++msgstr "Beklager, run_init kan kun bruges på en SELinux-kerne.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+ msgid "authentication failed.\n"
+-msgstr "autentisering mislykkedes.\n"
++msgstr "godkendelse mislykkedes.\n"
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+@@ -85,61 +104,57 @@
+ msgstr "Kunne ikke sætte kørselskontekst til %s.\n"
+ #: ../audit2allow/audit2allow:217
+-#, fuzzy
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
+-"\n"
+-"********************* VIGTIGT ************************\n"
++msgstr "********************* VIGTIGT ************************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "For at gøre denne regelsætpakke aktiv, kør:"
+ #: ../semanage/seobject.py:48
+-#, fuzzy
+ msgid "Could not create semanage handle"
+-msgstr "Kunne ikke starte semanage-transaktion"
++msgstr "Kunne ikke oprette semanage-håndtering"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr "SELinux policy er ikke håndteret, eller der er ikke adgang til lager."
++msgstr "SELinux regelsæt er ikke håndteret, eller lager kan ikke tilgåes."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "Kan ikke læse policylager."
++msgstr "Kan ikke læse regelsætlager."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+-msgstr "Kunne ikke sætte en semanage-opkobling op"
++msgstr "Kunne ikke starte en semanage-forbindelse"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Kunne ikke sætte MLS-interval for %s"
++msgstr "Kunne ikke teste MLS-aktiveret status"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "global"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"Kan ikke åbne %s: oversættelser understøttes ikke på maskiner som ikke har "
+-"MLS"
++"Kan ikke åbne %s: oversættelser understøttes ikke på maskiner, som ikke har "
++"MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "Niveau"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "Oversættelse"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "oversættelser kan ikke indeholde mellemrum \"%s\" "
++msgstr "Oversættelser kan ikke indeholde mellemrum \"%s\" "
+ #: ../semanage/seobject.py:250
+ #, python-format
+@@ -158,788 +173,788 @@
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Ikke implementeret endnu"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage-transaktion er allerede i gang"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Kunne ikke starte semanage-transaktion"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Kunne ikke starte semanage-transaktion"
++msgstr "Kunne ikke sende semanage-transaktion"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage-transaktion er ikke i gang"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Kan ikke liste SELinuxtbrugere"
++msgstr "Kunne ikke liste SELinux-moduler"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Tilladelsestyper"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Kunne ikke indstille tilladelsesdomæne %s (installation af modul fejlede)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Kunne ikke fjerne tilladelsesdomæne %s (fjernelse fejlede)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+-msgstr "Kunne ikke oprette en nøgle for %s"
++msgstr "Kunne ikke oprette en nøgle til %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr "Kunne ikke kontrollere om indlogningskortlægning for %s er defineret"
++msgstr "Kunne ikke kontrollere om indlogningtilknytning for %s er defineret"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "Indlogningskortlægning for %s er allerede defineret"
++msgstr "Indlogningstilknytning for %s er allerede defineret"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linuxbruger %s findes ikke"
++msgstr "Linux-gruppe %s findes ikke"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+-msgstr "Linuxbruger %s findes ikke"
++msgstr "Linux-bruger %s findes ikke"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr "Kunne ikke oprette indlogningskortlægning for %s"
++msgstr "Kunne ikke oprette indlogningtilknytning for %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr "Kunne ikke sætte navn for %s"
++msgstr "Kunne ikke indstille navn for %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr "Kunne ikke sætte MLS-interval for %s"
++msgstr "Kunne ikke indstille MLS-interval for %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+-msgstr "Kunne ikke sætte SELinux-bruger for %s"
++msgstr "Kunne ikke indstille SELinux-bruger for %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "Kunne ikke tilføje indlogningskortlægning for %s"
++msgstr "Kunne ikke tilføje indlogningstilknytning for %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
+-#, fuzzy
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "Kunne ikke tilføje SELinux-bruger %s"
++msgstr "tilføj SELinux-brugertilknytning"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Kræver seuser eller serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr "Indlogningskortlægning for %s er ikke defineret"
++msgstr "Indlogningstilknytning for %s er ikke defineret"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Kunne ikke forespørge seuser om %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr "Kunne ikke ændre indlognings-kortlægning for %s"
++msgstr "Kunne ikke ændre indlogningstilknytning for %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+-msgstr "Indlogningskortlægning for %s er defineret i policy, kan ikke fjernes"
++msgstr ""
++"Indlogningstilknytning for %s er defineret i regelsæt, kan ikke slettes"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr "Kunne ikke fjerne indlogningkortlægning for %s"
++msgstr "Kunne ikke slette indlogningstilknytning for %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr "Kunne ikke liste indlogningskortlægninger"
++msgstr "Kunne ikke liste indlogningstilknytninger"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "Logindnavn"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-#, fuzzy
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "SELinux Type kræves"
++msgstr "SELinux-bruger"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr ""
++msgstr "MLS/MCS-interval"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Kunne ikke tilføje filkontekst for %s"
++msgstr "Du skal tilføje mindst én rolle for %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Kunne ikke kontrollere om SELinux-bruger %s er defineret"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux-bruger %s er allerede defineret"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Kunne ikke oprette SELinux-bruger for %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+-msgstr "Kunne ikke tilføje rolle %s for %s"
++msgstr "Kunne ikke tilføje rolle %s til %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+-msgstr "Kunne ikke sætte MLS-niveau for %s"
++msgstr "Kunne ikke indstille MLS-niveau for %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr "Kunne ikke tilføje præfiks %s for %s"
++msgstr "Kunne ikke tilføje præfiks %s til %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Kunne ikke finde nøgle for %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Kunne ikke tilføje SELinux-bruger %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+-msgstr "Kræver præfiks, roller, niveau eller område"
++msgstr "Kræver præfiks, roller, niveau eller interval"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Kræver præfiks eller roller"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux-bruger %s er ikke defineret"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+-msgstr "Kan ikke forespørge bruger om %s"
++msgstr "Kunne ikke forespørge bruger om %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+-msgstr "Kan ikke ændre SELinux-bruger %s"
++msgstr "Kunne ikke ændre SELinux-bruger %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr "SELinux-bruger %s er defineret i policy, kan ikke fjernes"
++msgstr "SELinux-bruger %s er defineret i regelsæt, kan ikke slettes"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+-msgstr "Kan ikke fjerne SELinuxtbruger %s"
++msgstr "Kunne ikke fjerne SELinux-bruger %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr "Kan ikke liste SELinuxtbrugere"
++msgstr "Kunne ikke liste SELinux-brugere"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+-msgstr "Kan ikke liste roller for bruger %s"
++msgstr "Kunne ikke liste roller for bruger %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Mærkning"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "Præfiks"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr ""
++msgstr "MCS-niveau"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr ""
++msgstr "MCS-interval"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "SELinux-roller"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+-msgstr "Protokol udp eller tcp kræves"
++msgstr "Protokol udp eller tcp er påkrævet"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+-msgstr "Port kræves"
++msgstr "Port er påkrævet"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Kunne ikke oprette en nøgle for %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+-msgstr "Type kræves"
++msgstr "Type er påkrævet"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Kunne ikke kontrollere om port %s/%s er defineret"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s allerede defineret"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+-msgstr "Kunne ikke oprette port for %s/%s"
++msgstr "Kunne ikke oprette port til %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+-msgstr "Kunne ikke oprette kontekst for %s/%s"
++msgstr "Kunne ikke oprette kontekst til %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr "Kunne ikke sætte bruger i port-kontekst for %s/%s"
++msgstr "Kunne ikke indstille bruger i portkontekst for %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr "Kunne ikke sætte rolle i port-kontekst for %s/%s"
++msgstr "Kunne ikke indstille rolle i portkontekst for %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr "Kunne ikke sætte type i port-kontekst for %s/%s"
++msgstr "Kunne ikke indstille type i portkontekst for %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr "Kunne ikke sætte mls-felter i port-kontekst for %s/%s"
++msgstr "Kunne ikke indstille MLS-felter i portkontekst for %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr "Kunne ikke sætte port-kontekst for %s/%s"
++msgstr "Kunne ikke indstille portkontekst for %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Kunne ikke tilføje port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Kræver setype eller serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Kræver setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s er ikke defineret"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Kunne ikke forespørge port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Kunne ikke ændre port %s/%s"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "Kunne ikke liste porte"
++msgstr "Kunne ikke liste portene"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "Kan ikke fjerne port %s/%s"
++msgstr "Kunne ikke slette porten %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "Port %s/%s er defineret i policy, kan ikke fjernes"
++msgstr "Port %s/%s er defineret i regelsæt, kan ikke slettes"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+-msgstr "Kan ikke fjerne port %s/%s"
++msgstr "Kan ikke slette port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Kunne ikke liste porte"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "SELinux-porttype"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr ""
++msgstr "Portnummer"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Port kræves"
++msgstr "Knudeadresse er påkrævet"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Port kræves"
++msgstr "Knude-netmaske er påkrævet"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Ukendt eller manglende protokol"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+-msgstr "SELinux Type kræves"
++msgstr "SELinux-type er påkrævet"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+-msgstr "Kunne ikke oprette nøgle for %s"
++msgstr "Kunne ikke oprette nøgle til %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Kunne ikke kontrollere om port %s/%s er defineret"
++msgstr "Kunne ikke kontrollere om adresse %s er defineret"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Port %s/%s allerede defineret"
++msgstr "Adresse %s allerede defineret"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Kunne ikke oprette en nøgle for %s"
++msgstr "Kunne ikke oprette adresse for %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr "Kunne ikke oprette-kontekst for %s"
++msgstr "Kunne ikke oprette kontekst for %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Kunne ikke sætte navn for %s"
++msgstr "Kunne ikke indstille maske for %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Kunne ikke sætte bruger i filkontekst for %s"
++msgstr "Kunne ikke indstille bruger i adressekontekst for %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Kunne ikke sætte rolle i filkontekst for %s"
++msgstr "Kunne ikke indstille rolle i adressekontekst for %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Kunne ikke sætte type i filkontekst for %s"
++msgstr "Kunne ikke indstille type i adressekontekst for %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Kunne ikke sætte mls-felter i filkontekst for %s"
++msgstr "Kunne ikke indstille MLS-felter i adressekontekst for %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Kunne ikke sætte filkontekst for %s"
++msgstr "Kunne ikke indstille adressekontekst for %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Kunne ikke tilføje port %s/%s"
++msgstr "Kunne ikke tilføje adresse %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Port %s/%s er ikke defineret"
++msgstr "Adresse %s er ikke defineret"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Kunne ikke forespørge port %s/%s"
++msgstr "Kunne ikke forespørge adresse %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Kunne ikke ændre port %s/%s"
++msgstr "Kunne ikke ændre adresse %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Port %s/%s er defineret i policy, kan ikke fjernes"
++msgstr "Adresse %s er defineret i regelsæt, kan ikke slettes"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Kunne ikke fjerne grænsefladen %s"
++msgstr "Kunne ikke slette adresse %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Kunne ikke liste porte"
++msgstr "Kunne ikke liste adresser"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr "Kunne ikke kontrollere om grænsefladen %s er defineret"
++msgstr "Kunne ikke kontrollere om grænseflade %s er defineret"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr "Grænsefladen %s er allerede defineret"
++msgstr "Grænseflade %s er allerede defineret"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Kunne ikke oprette grænseflade for %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "Kunne ikke sætte bruger i grænseflade-kontekst for %s"
++msgstr "Kunne ikke indstille bruger i grænsefladekontekst for %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "Kunne ikke sætte rolle i grænseflade-kontekst for %s"
++msgstr "Kunne ikke indstille rolle i grænsefladekontekst for %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "Kan ikke sætte type i grænseflade-kontekst for %s"
++msgstr "Kunne ikke indstille type i grænsefladekontekst for %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "Kan ikke sætte mls-felt i grænseflade-kontekst for %s"
++msgstr "Kunne ikke indstille MLS-felter i grænsefladekontekst for %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "Kan ikke sætte grænseflade-kontekst for %s"
++msgstr "Kunne ikke indstille grænsefladekontekst for %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr "Kan ikke sætte meddelelse-kontekst for %s"
++msgstr "Kunne ikke indstille meddelelseskontekst for %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+-msgstr "Kunne ikke tilføje grænsefladen %s"
++msgstr "Kunne ikke tilføje grænseflade %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Grænsefladen %s er ikke defineret"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+-msgstr "Kunne ikke spørge grænsefladen %s"
++msgstr "Kunne ikke spørge grænseflade %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+-msgstr "Kunne ikke ændre grænsefladen %s"
++msgstr "Kunne ikke ændre grænseflade %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "Grænseflade %s er defineret i policy, kan ikke fjernes"
++msgstr "Grænseflade %s er defineret i regelsæt, kan ikke slettes"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+-msgstr "Kunne ikke fjerne grænsefladen %s"
++msgstr "Kunne ikke slette grænseflade %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Kunne ikke liste grænseflader"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "SELinux-grænseflade"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr ""
++msgstr "Kontekst"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "Kunne ikke sætte bruger i filkontekst for %s"
++msgstr "Kunne ikke indstille bruger i filkontekst for %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "Kunne ikke sætte rolle i filkontekst for %s"
++msgstr "Kunne ikke indstille rolle i filkontekst for %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "Kunne ikke sætte mls-felter i filkontekst for %s"
++msgstr "Kunne ikke indstille MLS-felter i filkontekst for %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "Ugyldig filangivelse"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "Kan ikke kontrollere om fil-kontekst for %s er defineret"
++msgstr "Kunne ikke kontrollere om filkontekst for %s er defineret"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Filkontekst for %s allerede defineret"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Kunne ikke oprette filkontekst for %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "Kunne ikke sætte type i filkontekst for %s"
++msgstr "Kunne ikke indstille type i filkontekst for %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "Kunne ikke sætte filkontekst for %s"
++msgstr "Kunne ikke indstille filkontekst for %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Kunne ikke tilføje filkontekst for %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Kræver setype, serange eller seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Filkontekst for %s er ikke defineret"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr "Kunne ikke spørge filkontekst for %s"
++msgstr "Kunne ikke forespørge filkontekst for %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Kunne ikke ændre filkontekst for %s"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Kunne ikke liste filkontekst"
++msgstr "Kunne ikke liste filkontekster"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Kunne ikke slette filkontekst for %s"
++msgstr "Kunne ikke slette filkonteksten %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+-msgstr "Filkontekst for %s er defineret i policy, kan ikke fjernes"
++msgstr "Filkontekst for %s er defineret i regelsæt, kan ikke slettes"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Kunne ikke slette filkontekst for %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Kunne ikke liste filkontekst"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Kunne ikke liste lokale filkontekster"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux kontekst"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "type"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr "Kunne ikke kontrollere om flaget %s er defineret"
++msgstr "Kunne ikke kontrollere om boolesk %s er defineret"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+-msgstr "Flaget %s er ikke defineret"
++msgstr "Boolesk %s er ikke defineret"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Kunne ikke forespørge filkontekst %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Du skal angive et præfiks"
++msgstr "Du skal angive én af de følgende værdier: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Kunne ikke fjerne flag %s"
++msgstr "Kunne ikke indstille aktiv værdi af boolesk %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr "Kunne ikke ændre flag %s"
++msgstr "Kunne ikke ændre boolesk %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Dårligt format %s: Notér %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "Flag %s er defineret i policy, kan ikke fjernes"
++msgstr "Boolesk %s er defineret i regelsæt, kan ikke slettes"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr "Kunne ikke fjerne flag %s"
++msgstr "Kunne ikke slette boolesk %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr "Kunne ikke liste flag"
++msgstr "Kunne ikke liste boolesker"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "ukendt"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "inaktiv"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "aktiv"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "SELinux boolesk"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Beskrivelse"
+ #: ../newrole/newrole.c:198
+ #, c-format
+ msgid "failed to set PAM_TTY\n"
+-msgstr "kunne ikke sætte PAM_TTY\n"
++msgstr "kunne ikke indstille PAM_TTY\n"
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "ny rolle: tjenestenavnskonfiguration overløb for hashtabel\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "ny rolle:  %s:  fejl på linje %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -949,27 +964,27 @@
+ #: ../newrole/newrole.c:447
+ #, c-format
+ msgid "Out of memory!\n"
+-msgstr "Ikke mere hukommelse!\n"
++msgstr "Løbet tør for hukommelse!\n"
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "Fejl! Skallen er ikke gyldig.\n"
++msgstr "Fejl!  Skallen er ugyldig.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+ msgid "Unable to clear environment\n"
+-msgstr "Kunne ikke nulstille miljøet\n"
++msgstr "Kunne ikke nulstille miljø\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Fejl ved initiering af kapabiliteter, afbryder.\n"
++msgstr "Fejl ved initialisering af egenskaber, afbryder.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr "Fejl ved indstilling af kapabiliteter, afbryder.\n"
++msgstr "Fejl ved indstilling af egenskaber, afbryder.\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+@@ -979,12 +994,12 @@
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+ msgid "Error dropping capabilities, aborting\n"
+-msgstr "Fejl ved fjernelse af kapabiliteter, afbryder\n"
++msgstr "Fejl ved fjernelse af egenskaber, afbryder\n"
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr "Fejl ved skift af uid, afbryder.\n"
++msgstr "Fejl ved skift af UID, afbryder.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+@@ -994,7 +1009,7 @@
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr "Fejl ved fjernelse af SETUID kapabilitet, afbryder\n"
++msgstr "Fejl ved fjernelse af SETUID-egenskab, afbryder\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+@@ -1004,27 +1019,27 @@
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr "Fejl ved forbindelse til auditeringssystem.\n"
++msgstr "Fejl ved forbindelse til revisionssystem.\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+ msgid "Error allocating memory.\n"
+-msgstr "Fejl ved hukommelsesallokering.\n"
++msgstr "Fejl ved allokering afhukommelse.\n"
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr "Fejl ved sending af auditeringsmeddelelse.\n"
++msgstr "Fejl ved afsendelse af revisionsmeddelelse.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr "Kunne ikke bestemme gennemtvingnings-tilstand.\n"
++msgstr "Kunne ikke bestemme tvungentilstand.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr "Fejl! Kunne ikke åbne %s.\n"
++msgstr "Fejl!  Kunne ikke åbne %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+@@ -1034,7 +1049,7 @@
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+-msgstr "%s!  Kunne ikke få ny kontekst for %s, ommærker ikke tty.\n"
++msgstr "%s!  Kunne ikke modtage ny kontekst for %s, ommærker ikke tty.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+@@ -1044,17 +1059,17 @@
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr "%s ændrede mærkninger.\n"
++msgstr "%s ændrede mærker.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr "Advarsel!  Kunne ikke genetablere kontekst for %s\n"
++msgstr "Advarsel! Kunne ikke genetablere kontekst for %s\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr "Fejl: flere roller specificeret\n"
++msgstr "Fejl: flere roller angivet\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+@@ -1064,7 +1079,7 @@
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr "Desværre, -l kan bruges med SELinux MLS understøttelse.\n"
++msgstr "Beklager, -l skal bruges med SELinux MLS-understøttelse.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+@@ -1075,26 +1090,27 @@
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+ msgstr ""
++"Fejl: du har ikke tilladelse til at ændre niveauer fra en usikker terminal \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr "Kunne ikke få fat i standardtype.\n"
++msgstr "Kunne ikke hente standardtype.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr "kunne ikke få fat i ny kontekst.\n"
++msgstr "kunne ikke hente ny kontekst.\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+ msgid "failed to set new role %s\n"
+-msgstr "kunne ikke sætte ny rolle %s\n"
++msgstr "kunne ikke indstille ny rolle %s\n"
+ #: ../newrole/newrole.c:981
+ #, c-format
+ msgid "failed to set new type %s\n"
+-msgstr "kunne ikke sætte ny type %s\n"
++msgstr "kunne ikke indstille ny type %s\n"
+ #: ../newrole/newrole.c:991
+ #, c-format
+@@ -1104,7 +1120,7 @@
+ #: ../newrole/newrole.c:996
+ #, c-format
+ msgid "failed to set new range %s\n"
+-msgstr "kunne ikke sætte nyt interval %s\n"
++msgstr "kunne ikke indstille nyt interval %s\n"
+ #: ../newrole/newrole.c:1004
+ #, c-format
+@@ -1119,42 +1135,42 @@
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr "Kunne ikke tildele hukommelse for new_context"
++msgstr "Kunne ikke allokere hukommelse for new_context"
+ #: ../newrole/newrole.c:1042
+ #, c-format
+ msgid "Unable to obtain empty signal set\n"
+-msgstr "Kunne ikke hente tomt signal-samling\n"
++msgstr "Kunne ikke hente tom signalsæt\n"
+ #: ../newrole/newrole.c:1050
+ #, c-format
+ msgid "Unable to set SIGHUP handler\n"
+-msgstr "Kunne ikke sætte SIGHUP-behandler\n"
++msgstr "Kunne ikke indstille SIGHUP-håndtering\n"
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr "Desværre, newrole kan kun bruges på en SELinux-kerne.\n"
++msgstr "Beklager, newrole kan kun bruges på en SELinux-kerne.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr "kunne ikke få fat i old_context.\n"
++msgstr "kunne ikke modtage old_context.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Fejl! Kunne ikke få fat på tty-information.\n"
++msgstr "Fejl!  Kunne ikke hente tty-information.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "fejl ved læsning af servicekonfiguration af PAM.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr "newrole: fejlagtig adgangskode for %s\n"
++msgstr "newrole: forkert adgangskode for %s\n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+@@ -1164,7 +1180,7 @@
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr "Kunne ikke genetablere tty-etikette...\n"
++msgstr "Kunne ikke genetablere tty-mærke...\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+@@ -1179,7 +1195,7 @@
+ #: ../newrole/newrole.c:1314
+ #, c-format
+ msgid "Error allocating shell's argv0.\n"
+-msgstr "Fejl ved tildeling af skallens argv0.\n"
++msgstr "Fejl ved allokering af skallens argv0.\n"
+ #: ../newrole/newrole.c:1346
+ #, c-format
+@@ -1188,27 +1204,27 @@
+ #: ../newrole/newrole.c:1357
+ msgid "failed to exec shell\n"
+-msgstr "kunne ikke udføre skál\n"
++msgstr "kunne ikke udføre skal\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "brug: %s [-bq]\n"
++msgstr "brug:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s:  Regelsæt er allerede indlæst og første indlæsning anmodet\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s: Kan ikke indlæse policy: %s\n"
++msgstr "%s:  Kan ikke indlæse regelsæt og anmodet tvungen tilstand:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s: Kan ikke indlæse policy: %s\n"
++msgstr "%s:  Kan ikke indlæse regelsæt:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+@@ -1217,12 +1233,12 @@
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+ msgid "Can not modify sensitivity levels using '+' on %s"
+-msgstr "Kan ikke ændre følsomhedsniveau ved at bruge '+' på %s"
++msgstr "Kan ikke ændre følsomhedsniveau ved at bruge \"+\" på %s"
+ #: ../scripts/chcat:110
+ #, c-format
+ msgid "%s is already in %s"
+-msgstr "%s er allerede i %s"
++msgstr "%s findes allerede i %s"
+ #: ../scripts/chcat:188 ../scripts/chcat:198
+ #, c-format
+@@ -1279,101 +1295,2231 @@
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr "Brug -- for afslutte option-listen.  For eksempel"
++msgstr "Brug -- for at afslutte tilvalgslisten.  For eksempel"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+-msgstr "chcat -- -Hemmeligt /dok/forretningsplan.odt"
++msgstr "chcat -- -ForretningsHemmeligt /dok/forretningsplan.odt"
+ #: ../scripts/chcat:335
+ msgid "chcat -l +CompanyConfidential juser"
+-msgstr "chcat -l +Hemmeligt juser"
++msgstr "chcat -l +ForretningsHemmeligt juser"
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
+-msgstr "Flagfejl %s "
++msgstr "Tilvalgsfejl %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "oversættelser understøttes ikke på maskiner som ikke har MLS"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Boolesk"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "alle"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Tilpasset"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Filmærkning"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "SELinux Type kræves"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Fil\n"
++"angivelse"
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "SELinux Type kræves"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"SELinux\n"
++"filtype"
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Fejl ved sending af auditeringsmeddelelse.\n"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Fil\n"
++"type"
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Du skal angive en rolle"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Brugertilknytning"
+-#, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Du skal angive en rolle"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Logind\n"
++"navn"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Du skal angive en rolle"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"bruger"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Genererer gennemtvingnings-type fil: %s.te"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS-interval"
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Grænsefladen %s er ikke defineret"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Logind \"%s\" er påkrævet"
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "Filkontekst for %s er ikke defineret"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Regelsætmodul"
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux-bruger %s er ikke defineret"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Modulnavn"
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Kompilerer policy"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Version"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Autentifiserer %s.\n"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Deaktivér revisionsspor"
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux Type kræves"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Aktivér revisionsspor"
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Kunne ikke tilføje SELinux-bruger %s"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Indlæs regelsætmodul"
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Kan ikke ændre SELinux-bruger %s"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Kan ikke fjerne SELinuxtbruger %s"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Kan ikke ændre SELinux-bruger %s"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Kan ikke læse policylager."
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Kris Thomsen\n"
++"\n"
++"Dansk-gruppen <dansk@dansk-gruppen.dk>\n"
++"Mere info: http://www.dansk-gruppen.dk"
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux Type kræves"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Dette værktøj kan bruges til at generere et rammeregelsæt, til at begrænse "
++"programmer og brugere der bruger SELinux.   \n"
++"\n"
++"Værktøjet genererer:\n"
++"Håndhævningsfil (te)\n"
++"Grænseflade-fil (if)\n"
++"Filkontekst-fil (fc)\n"
++"Skalskript (sh) - brugt til at tolke og installere regelsættet. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Vælg typen af program/bruger-rollen som skal begrænses"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Programmer</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standard init-dæmon er tjenester som startes under opstart via init-"
++"skripter. Kræver normalt et skript i /etc/rc.d/init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standard init-dæmon"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS-systemdæmon"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet-tjenester-dæmon er tjenester som startes af xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet-tjenester-dæmon (inetd)"
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Internetprogrammer/skript (CGI) CGI-skripter startes af webserveren (apache)"
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Internetprogram/skript (CGI)"
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Brugerprogram er ethvert program, som du vil begrænse som er startet af en "
++"bruger"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Brugerprogram"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Logindbrugere</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Ændr en eksisterende logindbrugers post."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Eksisterende brugerroller"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Denne bruger vil kun logge ind på en maskine via en terminal eller "
++"fjernindlogning. Som standard vil denne bruger ikke have setuid, intet "
++"netværk, ingen su, ingen sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimal terminalbrugerrolle"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Denne bruger kan logge ind på en maskine via X eller terminal.  Som standard "
++"vil denne bruger ikke have setuid, intet netværk, ingen sudo, ingen su"
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimal X Windows-brugerrolle"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Bruger med fuldt netværk, ingen setuid-programmer uden overgang, ingen sudo, "
++"ingen su."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Brugerrolle"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Bruger med fuldt netværk, ingen setuid-programmer uden overgang, ingen su, "
++"kan bruge sudo til Root-administrationsroller"
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Administratorbrugerrolle"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Administratorbrugere</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Vælg Root-administratorbrugerrolle, hvis denne bruger skal bruges til at "
++"administrere maskinen som administrator (root).  Denne bruger vil ikke være "
++"istand til at logge direkte ind i systemet."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root-administratorbrugerrolle"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Indtast navn på program- eller brugerrolle som skal begrænses"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Navn"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Indtast fuld sti til kørbar som skal begrænses."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Indtast unikt navn for den begrænsede program- eller brugerrolle."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Kørbar"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init-skript"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Indtast fuld sti til init-skript som bruges til at starte det begrænsede "
++"program."
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Vælg brugerroller som du vil tilpasse"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "Vælg brugerrollerne som overføres til disse programdomæner."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Vælg ekstra domæner, som disse brugerroller vil overføres til"
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "Vælg programdomænerne som du vil have denne brugerrolle overført til."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Vælg brugerroller som vil overføres til dette domæne"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Vælg ekstra domæner som denne brugerrolle vil administrere"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Vælg domænerne som du vil have denne bruger til at administrere."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Vælg ekstra roller for denne bruger"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Indtast netværksporte som denne program-/brugerrolle vil lytte på"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP-porte</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "Tillad begrænset program-/brugerrolle at forbinde til enhver UDP-port"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Alle"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port 600-"
++"1024"
++msgstr ""
++"Tillad program-/brugerrolle at kalde bindresvport med 0. Forbinder til port "
++"600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Indtast en liste over UDP-porte og intervaller, adskilt af komma, som "
++"program-/brugerroller forbinder til. For eksempel: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Ikke reserverede porte (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Vælg porte"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "Tillad program-/brugerrolle at forbinde til alle UDP-porte > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP-porte</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "Indtast netværksporte som program-/brugerrolle forbinder til"
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Indtast en liste over TCP-porte eller intervaller af porte, adskilt af "
++"komma, som program-/brugerrolle forbinder til. For eksempel: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Indtast en liste over UDP-porte eller intervaller af porte, adskilt af "
++"komma, som program-/brugerrolle forbinder til. For eksempel: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Vælg almindelige karaktertræk for programmer"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Skriver syslog-meddelser\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Opret/Manipulér midlertidige filer i /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Bruger PAM til godkendelse"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Bruger nnswitch eller getpw* kald"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Bruger dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Send revisionssmeddelser"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interagerer med terminalen"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Sender e-post"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Vælg filer/mapper som programmet håndterer"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Tilføj filer/mapper som programmet skal kunne \"Skrive\" til. PID-filer, log-"
++"filer, /var/lib-filer ..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Vælg boolesker som programmet bruger"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "Tilføj/fjern boolesker som bruges til denne begrænsede program/bruger"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Vælg mappe at generere regelsæt i"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Regelsætmappe"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Genererede regelsætfiler"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Dette værktøj vil generere følgende: \n"
++"Type tvang(te), filkontekst(fc), grænseflade(if), skalskript(sh)\n"
++"Kør skalskript som administrator (root) for at tolke/installere og "
++"genetiketere filer/mapper.  \n"
++"Brug semanage eller useradd til at tilknytte Linux-indlogningsbrugere til "
++"brugerroller.\n"
++"Put maskinen i tolerant-tilstand (setenforce 0). \n"
++"Logind som brugeren og test denne brugerrolle.\n"
++"Brug audit2allow -R til at generere ekstra regler for te-filen.\n"
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Dette værktøj vil generere følgende: \n"
++"Type tvang(te), filkontekst(fc), grænseflade(if), skalskript(sh)\n"
++"\n"
++"Kør skalskript som for at tolke/installere og genmærke filer/mapper.  \n"
++"Put maskinen i tolerant-tilstand (setenforce 0). \n"
++"Logind som brugeren og test denne brugerrolle.\n"
++"Brug audit2allow -R til at generere ekstra regler for te-filen.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Tilføj Boolesker-dialog"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Navn på boolesk"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rolle"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Eksisterende _bruger"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Program"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s skal være en mappe"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Du skal vælge en bruger"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Vælg kørbar-fil som skal begrænses."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Vælg init-skript-fil som skal begrænses."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Vælg fil(er) som det begrænsede program opretter eller skriver"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "Vælg mappe(r) som det begrænsede program ejer eller skriver i"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Vælg mappe til at generere regelsætfiler i"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Type %s_t allerede defineret i nuværende regelsæt.\n"
++"Vil du fortsætte?"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verificér navn"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Modul %s.pp allerede indlæst i nuværende regelsæt.\n"
++"Vil du fortsætte?"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Du skal indtaste et navn"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Du skal indtaste en kørbar"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Konfigurér SELinux"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Porte skal have numre eller intervaller af numre fra 1 til %d "
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Du skal indtaste et navn for din begrænsede handling/bruger"
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER-typer er ikke tilladt kørbare"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Kun DAEMON-programmer kan bruge et init-skript"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog skal være en boolesk-værdi "
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER-typer får automatisk en tmp-type"
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Du skal indtaste den kørbare sti til din begrænsede handling"
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Indtast tvangsfil"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Grænseflade-fil"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Filkontekst-fil"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Indstillingsskript"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Netværksport"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux\n"
++"porttype"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokol"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"niveau"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Portnummer \"%s\" er ikke gyldigt.  0 < PORT_NUMMER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Listevisning"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Gruppevisning"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Tjenestebeskyttelse til SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Deaktivér SELinux beskyttelse for acct-tjeneste"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Administrator"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Tillad alle tjenester at skrive kernefiler til /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Tillad alle tjenester muligheden til at bruge uallokerede tty'er"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Brugerprivilegier"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillad administrator-SELinux-brugerkonto at køre filer i hjemmemappe eller /"
++"tmp"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillad gæste-SELinux-brugerkonto at køre filer i hjemmemappe eller /tmp"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Hukommelsesbeskyttelse"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Tillad Java-kørbarstak"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Montér"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Tillad mount at montere enhver fil"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Tillad mount at montere enhver mappe"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Tillad mplayer-kørbarstak"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Tillad SSH at køre ssh-keysign"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillad stabs-SELinux-brugerkonto at køre filer i hjemmemappe eller /tmp"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillad systemadministrator-SELinux-brugerkonto at køre filer i hjemmemappe "
++"eller /tmp"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Tillad ubegrænset-SELinux-brugerkonto at køre filer i hjemmemappe eller /tmp"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Netværkskonfiguration"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Tillad umærkede pakker at flyde på netværket"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillad bruger-SELinux-brugerkonto at køre filer i hjemmemappe eller /tmp"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Tillad ubegrænset at dyntrans til unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Databaser"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Tillad bruger at forbinde til MySQL-sokkel"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Tillad bruger at forbinde til Postgre-sokkel"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "X-server"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Tillad klienter at skrive til X-delt hukommelse"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillad xgæste-SELinux-brugerkonto at køre filer i hjemmemappe eller /tmp"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Tillad tjenester at køre med NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Internetprogrammer"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Overfør stab-SELinux-bruger til webbrowserdomæne"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Overfør systemadministrator-SELinux-bruger til webbrowserdomæne"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Overfør bruger-SELinux-bruger til webbrowserdomæne"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Overfør xgæste-SELinux-bruger til webbrowserdomæne"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Tillad stabs webbrowsere at skrive til hjemmemapper"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Deaktivér SELinux-beskyttelse for amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Deaktivér SELinux-beskyttelse for amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for apmd-tjeneste"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Deaktivér SELinux-beskyttelse for arpwatch-tjeneste"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for auditd-tjeneste"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Deaktivér SELinux-beskyttelse for automount-tjeneste"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Deaktivér SELinux-beskyttelse for avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Deaktivér SELinux-beskyttelse for bluetooth-tjeneste"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Deaktivér SELinux-beskyttelse for canna-tjeneste"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Deaktivér SELinux-beskyttelse for cardmgr-tjeneste"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Deaktivér SELinux-beskyttelse for Cluster-server"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Tillad cdrecord at læse forskelligt indhold. nfs, samba, flytbare enheder, "
++"bruger midlertidige og ikke betroet indhold-filer"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ciped-tjeneste"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for clamd-tjeneste"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Deaktivér SELinux-beskyttelse for clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Deaktivér SELinux-beskyttelse for clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Deaktivér SELinux-beskyttelse for comsat-tjeneste"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Deaktivér SELinux-beskyttelse for courier-tjeneste"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Deaktivér SELinux-beskyttelse for cpucontrol-tjeneste"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Deaktivér SELinux-beskyttelse for cpuspeed-tjeneste"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Deaktivér SELinux-beskyttelse for crond-tjeneste"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Udskrift"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Deaktivér SELinux-beskyttelse for cupsd-backend-server"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for cupsd-tjeneste"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Deaktivér SELinux-beskyttelse for cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Deaktivér SELinux-beskyttelse for cvs-tjeneste"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Deaktivér SELinux-beskyttelse for cyrus-tjeneste"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dbskkd-tjeneste"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dbusd-tjeneste"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Deaktivér SELinux-beskyttelse for dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Deaktivér SELinux-beskyttelse for dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Deaktivér SELinux-beskyttelse for dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ddt-tjeneste"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for devfsd-tjeneste"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dhcpc-tjeneste"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dhcp-tjeneste"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dictd-tjeneste"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Tillad sysadm_t at starte tjenester direkte"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Deaktivér SELinux-beskyttelse for Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Spil"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Deaktivér SELinux-beskyttelse for spil"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Deaktivér SELinux-beskyttelse for webbrowsere"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Deaktivér SELinux-beskyttelse for Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for distccd-tjeneste"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dmesg-tjeneste"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dnsmasq-tjeneste"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Deaktivér SELinux-beskyttelse for dovecot-tjeneste"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for etropyd-tjeneste"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Deaktivér SELinux-beskyttelse for fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for fingerd-tjeneste"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Deaktivér SELinux-beskyttelse for freshclam-tjeneste"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Deaktivér SELinux-beskyttelse for fsdaemon-tjeneste"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Deaktivér SELinux-beskyttelse for gpm-tjeneste"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Deaktivér SELinux-beskyttelse for gss-tjeneste"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Deaktivér SELinux-beskyttelse for Hal-tjeneste"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Kompatibilitet"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Gennemgå ikke ting, som vi ved er i stykker, men som ikke er "
++"sikkerhedsfarlige"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Deaktivér SELinux-beskyttelse for hostname-tjeneste"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Deaktivér SELinux-beskyttelse for hotplug-tjeneste"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Deaktivér SELinux-beskyttelse for howl-tjeneste"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Deaktivér SELinux-beskyttelse for cups hplip-tjeneste"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Deaktivér SELinux-beskyttelse for httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD-tjeneste"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Deaktivér SELinux-beskyttelse for http-suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Deaktivér SELinux-beskyttelse for hwclock-tjeneste"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Deaktivér SELinux-beskyttelse for i18n-tjeneste"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Deaktivér SELinux-beskyttelse for imazesrv-tjeneste"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Deaktivér SELinux-beskyttelse for inetd-undertjenester"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for inetd-tjeneste"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for innd-tjeneste"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Deaktivér SELinux-beskyttelse for iptables-tjeneste"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ircd-tjeneste"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Deaktivér SELinux-beskyttelse for irqbalance-tjeneste"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Deaktivér SELinux-beskyttelse for iscsi-tjeneste"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for jabberd-tjeneste"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Deaktivér SELinux-beskyttelse for kadmind-tjeneste"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for klogd-tjeneste"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Deaktivér SELinux-beskyttelse for krb5kdc-tjeneste"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Deaktivér SELinux-beskyttelse for ktalk-tjenester"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Deaktivér SELinux-beskyttelse for kudzu-tjeneste"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Deaktivér SELinux-beskyttelse for locate-tjeneste"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for lpd-tjeneste"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for lrrd-tjeneste"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Deaktivér SELinux-beskyttelse for lvm-tjeneste"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Deaktivér SELinux-beskyttelse for mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Tillad Evolution og Thunderbird at læse brugerfiler"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Deaktivér SELinux-beskyttelse for mdadm-tjeneste"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for monopd-tjeneste"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Tillad Mozilla-browseren at læse brugerfiler"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Deaktivér SELinux-beskyttelse for mrtg-tjeneste"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Deaktivér SELinux-beskyttelse for mysqld-tjeneste"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Deaktivér SELinux-beskyttelse for nagios-tjeneste"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Navnetjeneste"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Deaktivér SELinux-beskyttelse for named-tjeneste"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for nessusd-tjeneste"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Deaktivér SELinux-beskyttelse for NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for nfsd-tjeneste"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for nmbd-tjeneste"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Deaktivér SELinux-beskyttelse for nrpe-tjeneste"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for nscd-tjeneste"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for nst-tjeneste"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ntpd-tjeneste"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Deaktivér SELinux-beskyttelse for oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Deaktivér SELinux-beskyttelse for oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Deaktivér SELinux-beskyttelse for openvpn-tjeneste"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Deaktivér SELinux-beskyttelse for PAM-tjeneste"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Deaktivér SELinux-beskyttelse for pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Deaktivér SELinux-beskyttelse for perdition-tjeneste"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Deaktivér SELinux-beskyttelse for portmap-tjeneste"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Deaktivér SELinux-beskyttelse for portslave-tjeneste"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Deaktivér SELinux-beskyttelse for postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Deaktivér SELinux-beskyttelse for postgresql-tjeneste"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Tillad pppd at blive kørt for en almindelig bruger"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Deaktivér SELinux-beskyttelse for pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Deaktivér SELinux-beskyttelse for prelink-tjeneste"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Deaktivér SELinux-beskyttelse for privoxy-tjeneste"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ptal-tjeneste"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Deaktivér SELinux-beskyttelse for pxe-tjeneste"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Deaktivér SELinux-beskyttelse for pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Deaktivér SELinux-beskyttelse for quota-tjeneste"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for radiusd-tjeneste"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for radvd-tjeneste"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Deaktivér SELinux-beskyttelse for rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Deaktivér SELinux-beskyttelse for readahead"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Tillad programmer at læse filer i ikke-standard placeringer (standar_d)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Deaktivér SELinux-beskyttelse for restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Deaktivér SELinux-beskyttelse for rhgb-tjeneste"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Deaktivér SELinux-beskyttelse for ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Deaktivér SELinux-beskyttelse for ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Deaktivér SELinux-beskyttelse for rlogind-tjeneste"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for rpcd-tjeneste"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Deaktivér SELinux-beskyttelse for rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Deaktivér SELinux-beskyttelse for rsync-tjeneste"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Tillad ssh at køre fra inetd istedet for som en tjeneste"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Tillad Samba at dele NFS-mapper"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL-godkendelsesserver"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Tillad SASL-godkendelsesserver at læse /etc/shadow"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Tillad X Windows-server at tilknytte en hukommelsesregion som både kørbar og "
++"skrivbar"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for saslauthd-tjeneste"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Deaktivér SELinux-beskyttelse for scannerdaemon-tjeneste"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Tillad ikke overførsler til sysadm_t, sudo and su berørt"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Tillad ikke nogen processer at indlæse kernemoduler"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Tillad ikke nogen processer at ændre kerne-SELinux-regelsæt"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Deaktivér SELinux-beskyttelse for sendmail-tjeneste"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Deaktivér SELinux-beskyttelse for setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Deaktivér SELinux-beskyttelse for setroubleshoot-tjeneste"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for slapd-tjeneste"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Deaktivér SELinux-beskyttelse for slrnpull-tjeneste"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for smbd-tjeneste"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for snmpd-tjeneste"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Deaktivér SELinux-beskyttelse for snort-tjeneste"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for soundd-tjeneste"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Deaktivér SELinux-beskyttelse for sound-tjeneste"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Beskyttelse mod spam"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for spamd-tjeneste"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Tillad spamd adgang til hjemmemapper"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Tillad Spam Assassin-tjeneste netværksadgang"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Deaktivér SELinux-beskyttelse for speedmgmt-tjeneste"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Tillad squid-tjeneste at forbinde til netværket"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Deaktivér SELinux-beskyttelse for squid-tjeneste"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ssh-tjeneste"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Tillad ssh-indlogninger som sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Tillad stabsbrugere at søge i systemadministratorens hjemmemappe og "
++"læsefiler (f.eks. ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Universel SSL-tunnel"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Deaktivér SELinux-beskyttelse for stunnel-tjeneste"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Tillad stunnel-tjeneste at køre for sig selv, udenfor xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Deaktivér SELinux-beskyttelse for swat-tjeneste"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Deaktivér SELinux-beskyttelse for sxid-tjeneste"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for syslogd-tjeneste"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Deaktivér SELinux-beskyttelse for system cron-job"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Deaktivér SELinux-beskyttelse for tcp-tjeneste"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Deaktivér SELinux-beskyttelse for telnet-tjeneste"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for tftpd-tjeneste"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Deaktivér SELinux-beskyttelse for transproxy-tjeneste"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Deaktivér SELinux-beskyttelse for udev-tjeneste"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Deaktivér SELinux-beskyttelse for uml-tjeneste"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Tillad xinetd at køre ubegrænset, inklusiv enhver tjeneste den starter som "
++"ikke har en domæneoverførsel eksplicit defineret"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Tillad rc-skripter at køre ubegrænset, inklusiv enhver tjeneste startet af "
++"et rc-skript som ikke har en domæneoverførsel eksplicit defineret"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Tillad rpm at køre ubegrænset"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Tillad priviligerede værktøjer, som f.eks. hotplug og insmod at køre "
++"ubegrænset"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Deaktivér SELinux-beskyttelse for updfstab-tjeneste"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Deaktivér SELinux-beskyttelse for uptimed-tjeneste"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Tillad bruger at nå systemadministrator via su, sudo eller userhelper. "
++"Normalt kan kun staben gøre sådan"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Tillad brugere at køre mount-kommandoen"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "Tillad normale brugere direkte museadgang (kun tillad X-serveren)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Tillad brugere at køre dmesg-kommandoen"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Tillad brugere at håndtere netværksgrænseflader (kræver også USERCTL=true)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Tillad normal bruger at køre ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "Tillad bruger at læse/skrive noextattrfile (FAT, cd-rom, floppy)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Tillad brugere at læse/skrive til USB-enheder"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"Tillad brugere at køre TCP-servere (forbinde til porte og acceptér "
++"forbindelse fra det samme domæne og brugere udenfor)  at deaktivere dette "
++"tvinger FTP passivtilstand og kan ændre andre protokoller"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Tillad bruger at føre statisk over tty-filer"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Deaktivér SELinux-beskyttelse for uupcd-tjeneste"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Deaktivér SELinux-beskyttelse for vmware-tjeneste"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Deaktivér SELinux-beskyttelse for watchdog-tjeneste"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Deaktivér SELinux-beskyttelse for windbind-tjeneste"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Deaktivér SELinux-beskyttelse for xdm-tjeneste"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Tillad xdm-indlogninger som sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Deaktivér SELinux-beskyttelse for xen-tjeneste"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Tillad xen at læse/skrive til fysiske diskenheder"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Deaktivér SELinux-beskyttelse for xfs-tjeneste"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Deaktivér SELinux-beskyttelse for xen-kontrol"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ypbind-tjeneste"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Deaktivér SELinux-beskyttelse for NIS-adgangskodetjeneste"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Deaktivér SELinux-beskyttelse for ypserv-tjeneste"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Deaktivér SELinux-beskyttelse for NIS-overførselstjeneste"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Tillad SELinuc-webadministratorbrugeren at håndtere upriviligerede brugeres "
++"hjemmemapper"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Tillad SELinux-webadministratorbrugeren at læse upriviligerede brugeres "
++"hjemmemapper"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Er du sikker på at du vil slette %s \"%s\"?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Slet %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Tilføj %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Ændr %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Tolerant"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Gennemtving"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Deaktiveret"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
++
++#: ../gui/statusPage.py:133
++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 ""
++"At ændre regelsættypen vil resultere i en ommærkning af hele filsystemet ved "
++"næste opstart. Ommærkning tager lang tid, alt efter størrelsen på "
++"filsystemet.  Vil du fortsætte?"
++
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"At ændre til SELinux deaktiveret kræver en genstart.  Dette er ikke "
++"anbefalet.  Hvis du senere vælger at aktivere SELinux igen, vil systemet "
++"kræver en ommærkning.  Hvis du bare ønsker at se om SELinux er skyld i et "
++"problem på dit system, kan du gå i tolerant-tilstand, som kun vil logge fejl "
++"og ikke tvinge SELinux-regelsæt  Tolerant-tilstand kræver ikke en "
++"genstart    Vil du fortsætte?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"At ændre til SELinux aktiveret vil resultere i en ommærkning af hele "
++"filsystemet ved næste opstart. Ommærkning tager lang tid, alt efter "
++"størrelsen på filsystemet.  Vil du fortsætte?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Ophavsret (c) 2006 Red Hat, Inc.\n"
++"Ophavsret (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Tilføj SELinux-indlogningstilknytning"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Tilføj SELinux-netværksporte"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux-type"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"niveau"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Filangivelse"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Filtype"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"alle filer\n"
++"standardfil\n"
++"mappekarakterenhed\n"
++"blokenhed\n"
++"sokkel\n"
++"symbolsk henvisning\n"
++"navngivet kanal\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Tilføj SELinux-bruger"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Administration af SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Tilføj"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Indstillinger"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Slet"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Vælg håndteringsobjekt"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Vælg:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Tvangstilstand som systemstandard"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Deaktiveret\n"
++"Tolerant\n"
++"Gennemtving\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Nuværende tvangstilstand"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Regelsættype som systemstandard: "
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Vælg hvis du vil ommærke hele filsystemet ved næste genstart.  Ommærkning "
++"kan tage meget lang tid, alt efter størrelsen på systemet.  Hvis du ændrer "
++"regelsættyper eller går fra deaktiveret til gennemtving, er en ommærkning "
++"påkrævet."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Ommærk ved næste genstart."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "etiket37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Sæt boolesk-indstilling til systemstandard"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Skift mellem Tilpasset og Alle boolesk"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Kør boolesk-nedlukningsguide"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Luk ned..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filter"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "etiket50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Tilføj filkontekst"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Ændr filkontekst"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Slet filkontekst"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Skift mellem alle og tilpasset filkontekst"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "etiket38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Tilføj SELinux-brugertilknytning"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Ændr SELinux-brugertilknytning"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Slet SELinux-brugertilknytning"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "etiket39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Tilføj bruger"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Ændr bruger"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Slet bruger"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "etiket41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Tilføj oversættelse"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Ændr oversættelse"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Slet oversættelse"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "etiket40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Tilføj netværksport"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Redigér netværksport"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Slet netværksport"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Skift mellem Tilpasset og Alle porte"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "etiket42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Generér nyt regelsætmodul"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Kan ikke indlæse regelsætlager"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Fjern indlæsbart regelsætmodul"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Aktivér/deaktivér ekstra revisionsregler, som ikke normalt er rapporteret i "
++"logfilerne."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "etiket44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Ændr procestilstand til tolerant."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Ændr procestilstand til gennemtving"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Procesdomæne"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "etiket159"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux-bruger \"%s\" er påkrævet"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Følsomhedsniveau"
++
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "oversættelser understøttes ikke på maskiner som ikke har MLS"
+ #~ msgid "Requires value"
+ #~ msgstr "Kræver værdi"
+@@ -1403,7 +3549,7 @@
+ #~ "semodule -i %s.pp\n"
+ #~ "\n"
+ #~ msgstr ""
+-#~ "For at indlæse denne nye policy-pakke in i kernen,\n"
++#~ "For at indlæse denne nye regelsætpakke in i kernen,\n"
+ #~ "skal du køre \n"
+ #~ "\n"
+ #~ "semodule -i %s.pp\n"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/de.po policycoreutils-2.0.85/po/de.po
+--- nsapolicycoreutils/po/de.po        2011-02-17 15:11:25.933721523 -0500
++++ policycoreutils-2.0.85/po/de.po    2011-02-18 16:03:41.347975597 -0500
+@@ -1,28 +1,50 @@
+-# translation of policycoreutils.HEAD.de.po to German
++# translation of policycoreutils.HEAD.po to
++# translation of policycoreutils.HEAD.de.po to
+ # German translation of policycoreutils.
+-# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ #
+ #
+ # Holger Wansing <linux@wansing-online.de>, 2006.
+ # Timo Trinks <ttrinks@redhat.com>, 2006, 2007.
+ # Michael Schönitzer <michael@schoenitzer.de>, 2007.
+-# Fabian Affolter <fab@fedoraproject.org>, 2008.
++# Fabian Affolter <fab@fedoraproject.org>, 2008,2009.
+ # Timo Trinks <ttrinks@redhat.com>, 2008.
+ # Daniela Kugelmann <dkugelma@redhat.com >, 2008.
++# Michael Münch <micm@fedoraproject.org.org>, 2009.
++# Hedda Peters <hpeters@redhat.com>, 2009.
++# sknirT omiT <moc.tahder@sknirtt>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils.HEAD.de\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-09-11 10:30+1000\n"
+-"Last-Translator: Daniela Kugelmann <dkugelma@redhat.com >\n"
+-"Language-Team: German <i18@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 11:31+1000\n"
++"Last-Translator: \n"
++"Language-Team:  <en@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.11.4\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+ "X-Poedit-Language: German\n"
++"X-Generator: KBabel 1.11.4\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinux in einer grafischen Einstellung konfigurieren"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux-Management"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux Richtlinien-Module generieren"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Tool zur Erstellung von SELinux-Richtlinien"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -77,9 +99,7 @@
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr ""
+-"Entschuldigung, run_init sollte nur auf einem SELinux-Kernel benutzt "
+-"werden.\n"
++msgstr "Sorry, run_init darf nur auf einem SELinux-Kernel benutzt werden.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+@@ -97,7 +117,7 @@
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr "Um dieses Richtlinien-Paket zu aktivieren, führen sie folgendes aus:"
++msgstr "Um dieses Richtlinien-Paket zu aktivieren, führen Sie folgendes aus:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+@@ -118,9 +138,8 @@
+ msgstr "Konnte semanage-Verbindung nicht herstellen"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "MLS-Bereich für %s konnte nicht gesetzt werden"
++msgstr "MLS-Status konnte nicht auf Aktivierung überprüft werden"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -137,7 +156,8 @@
+ msgid "Level"
+ msgstr "Level"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Übersetzung"
+@@ -167,7 +187,7 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage-Transaktion bereits im Gang"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+@@ -179,7 +199,7 @@
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage-Transaktion nicht im Gang"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+@@ -189,749 +209,756 @@
+ msgid "Permissive Types"
+ msgstr "Permissive Typen"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+ "Konnte permissive Domain %s nicht setzen (Modul-Installation fehlgeschlagen)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr "Konnte permissive Domain %s nicht entfernen (Entfernen fehlgeschlagen)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Konnte keinen Schlüssel für %s erstellen"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Konnte nicht überprüfen ob die Login-Zuweisung für %s zugewiesen ist"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Login-Zuordung für %s ist bereits festgelegt"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux-Gruppe %s existiert nicht"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux-Benutzer %s existiert nicht"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Login-Zuweisung für %s konnte nicht erstellt werden"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Bezeichnung für %s konnte nicht gesetzt werden"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "MLS-Bereich für %s konnte nicht gesetzt werden"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "SELinux-Benutzer für %s konnte nicht gesetzt werden"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Login-Zuweisung für %s konnte nicht hinzugefügt werden"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux-Benutzerzuordnung hinzufügen"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Benötigt seuser oder serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Login-Zuordnung für %s ist nicht definiert"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Konnte seuser für %s nicht abfragen"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Konnte Login-Zuweisung für %s nicht ändern"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Login-Zuordnung für %s ist in der Richtlinie festgelegt und kann nicht "
+ "entfernt werden"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Konnte Login-Zuweisung für %s nicht löschen"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Konnte Login-Zuweisungen nicht anzeigen"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Benutzername:"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "SELinux-User"
++msgstr "SELinux-Benutzer"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr "MLS/MCS Bereich"
++msgstr "MLS/MCS-Bereich"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Sie müssen mindestens eine Rolle für %s hinzufügen"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Konnte nicht überprüfen ob SELinux-Benutzer %s definiert ist"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux-Benutzer %s ist bereits angelegt"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Konnte SELinux-Benutzer für %s nicht erstellen"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Konnte Funktion %s für %s nicht hinzufügen"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Konnte MLS-Level für %s nicht setzen"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Konnte Präfix %s für %s nicht hinzufügen"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Konnte Schlüssel für %s nicht extrahieren"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Konnte SELinux-Benutzer %s nicht hinzufügen"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Benötigt Präfix, Funktionen, Level oder Bereich"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Benötigt Präfix oder Funktionen"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux-Benutzer %s ist nicht definiert"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Konnte Benutzer für %s nicht abfragen"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Konnte SELinux-Benutzer %s nicht ändern"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "SELinux-Benutzer %s ist in der Richtlinie definiert und kann nicht entfernt "
+ "werden"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Konnte SELinux-Benutzer %s nicht löschen"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Konnte SELinux-Benutzer nicht auflisten"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Konnte Funktionen für Benutzer %s nicht auflisten"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Kennzeichnung"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Präfix"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS-Stufe"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS-Bereich"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux-Rollen"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Protokoll UDP oder TCP wird benötigt"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Port wird benötigt"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Konnte Schlüssel für %s/%s nicht erstellen"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Typ wird benötigt"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Konnte nicht prüfen, ob Port %s/%s definiert ist"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s ist bereits definiert"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Konnte Port für %s/%s nicht erstellen"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Konnte Kontext für %s/%s nicht erstellen"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Konnte Benutzer in Port-Kontext für %s/%s nicht setzen"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Konnte Funktion in Port-Kontext für %s/%s nicht setzen"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Konnte Typ in Port-Kontext für %s/%s nicht setzen"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Konnte MLS-Felder in Port-Kontext für %s/%s nicht setzen"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Konnte Port-Kontext für %s/%s nicht setzen"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Konnte Port %s/%s nicht hinzufügen"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Benötigt setype oder serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Benötigt setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s ist nicht definiert"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Konnte Port %s/%s nicht abfragen"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Konnte Port %s/%s nicht ändern"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Konnte Ports nicht auflisten"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Konnte Port %s nicht löschen"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Port %s/%s ist in der Richtlinie festgelegt und kann nicht entfernt werden"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Konnte Port %s/%s nicht löschen"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Konnte Ports nicht auflisten"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux Port-Typ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Port-Nummer"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr "Node-Adresse wird benötigt"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr "Node-Netzmaske wird benötigt"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr "Unbekanntes oder fehlendes Protokoll"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux-Typ wird benötigt"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Konnte Schlüssel für %s nicht kreieren"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Konnte nicht prüfen, ob addr %s definiert ist"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr "Addr %s ist bereits definiert"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Konnte keine addr für %s erstellen"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Konnte keinen Kontext für %s kreieren"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Maske für %s konnte nicht gesetzt werden"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Konnte Benutzer in Addr-Kontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Konnte Aufgabe in addr-Kontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Konnte Typ in addr-Kontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Konnte die mls-Felder in addr-Kontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Konnte addr-Kontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr "Konnte addr %s nicht hinzufügen"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Addr %s ist nicht definiert"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr "Konnte addr %s nicht abfragen"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Konnte addr %s nicht ändern"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Addr %s ist in der Richtlinie festgelegt und kann nicht entfernt werden"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Konnte addr %s nicht löschen"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr "Konnte addrs nicht auflisten"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Konnte nicht überprüfen, ob die Schnittstelle %s definiert ist"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Schnittstelle %s ist bereits definiert"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Konnte keine Schnittstelle für %s kreieren"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "Konnte Benutzer in Schnittstellen-Kontext für %s nicht setzen"
++msgstr "Konnte Benutzer in Schnittstellenkontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "Konnte Aufgabe in Schnittstellen-Kontext für %s nicht setzen"
++msgstr "Konnte Aufgabe in Schnittstellenkontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "Konnte Typ in Schnittstellen-Kontext für %s nicht setzen"
++msgstr "Konnte Typ in Schnittstellenkontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "Konnte die mls-Felder in Schnittstellen-Kontext für %s nicht setzen"
++msgstr "Konnte die mls-Felder in Schnittstellenkontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "Konnte Schnittstellen-Kontext für %s nicht setzen"
++msgstr "Konnte Schnittstellenkontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Konnte Nachricht-Kontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Konnte Schnittstelle %s nicht hinzufügen"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Schnittstelle %s ist nicht definiert"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Konnte Schnittstelle %s nicht abfragen"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Konnte Schnittstelle %s nicht modifizieren"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Schnittstelle %s ist in der Richtlinie festgelegt und kann nicht entfernt "
+ "werden"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Konnte Schnittstelle %s nicht löschen"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Konnte Schnittstellen nicht auflisten"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux-Schnittstelle"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Inhalt"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "Konnte Benutzer in Datei-Kontext für %s nicht setzen"
++msgstr "Konnte Benutzer in Dateikontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "Konnte Aufgabe in Datei-Kontext für %s nicht setzen"
++msgstr "Konnte Aufgabe in Dateikontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "Konnte die mls-Felder in Datei-Kontext für %s nicht setzen"
++msgstr "Konnte die mls-Felder in Dateikontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "Ungültige Dateiangabe"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "Konnte nicht überprüfen, ob Datei-Kontext für %s definiert ist"
++msgstr "Konnte nicht überprüfen, ob Dateikontext für %s definiert ist"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr "Datei-Kontext für %s ist bereits definiert"
++msgstr "Dateikontext für %s ist bereits definiert"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr "Konnte Datei-Kontext für %s nicht kreieren"
++msgstr "Konnte Dateikontext für %s nicht kreieren"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "Konnte Typ in Datei-Kontext für %s nicht setzen"
++msgstr "Konnte Typ in Dateikontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "Konnte Datei-Kontext für %s nicht setzen"
++msgstr "Konnte Dateikontext für %s nicht setzen"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr "Konnte Datei-Kontext für %s nicht hinzufügen"
++msgstr "Konnte Dateikontext für %s nicht hinzufügen"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Benötigt setype, serange oder seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr "Datei-Kontext für %s ist nicht definiert"
++msgstr "Dateikontext für %s ist nicht definiert"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr "Konnte Datei-Kontext für %s nicht abfragen"
++msgstr "Konnte Dateikontext für %s nicht abfragen"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr "Konnte Datei-Kontext für %s nicht erneuern"
++msgstr "Konnte Dateikontext für %s nicht erneuern"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Konnte Datei-Kontexte nicht auflisten"
++msgstr "Konnte Dateikontexte nicht auflisten"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Konnte Datei-Kontext für %s nicht löschen"
++msgstr "Konnte Dateikontext für %s nicht löschen"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Der Kontext für Datei %s ist in der Richtlinie festgelegt und kann nicht "
+ "entfernt werden"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr "Konnte Datei-Kontext für %s nicht löschen"
++msgstr "Konnte Dateikontext für %s nicht löschen"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr "Konnte Datei-Kontexte nicht auflisten"
++msgstr "Konnte Dateikontexte nicht auflisten"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr "Konnte lokale Datei-Kontexte nicht auflisten"
++msgstr "Konnte lokale Dateikontexte nicht auflisten"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux-fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "Typ"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr "Konnte nicht überprüfen, ob Boolesch %s definiert ist"
++msgstr "Konnte nicht überprüfen, ob Boolesche Variable %s definiert ist"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+-msgstr "Boolescher Wert %s ist nicht definiert"
++msgstr "Boolesche Variable %s ist nicht definiert"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr "Konnte den Datei-Kontext %s nicht abfragen"
++msgstr "Konnte den Dateikontext %s nicht abfragen"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Sie müssen einen der folgenden Werte angeben: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Konnte Boolesch %s nicht auf aktiv setzen"
++msgstr "Konnte Boolesche Variable %s nicht auf aktiv setzen"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr "Konnte Boolesch %s nicht erneuern"
++msgstr "Konnte Boolesche Variable %s nicht ändern"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr "Ungültiges Format %s: Auszeichnung %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"Boolescher Wert %s ist in der Richtlinie festgelegt und kann nicht entfernt "
+-"werden"
++"Boolesche Variable %s ist in der Richtlinie festgelegt und kann nicht "
++"gelöscht werden"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr "Konnte Boolesch %s nicht löschen"
++msgstr "Konnte Boolesche Variable %s nicht löschen"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr "Konnte Boolesche Werte nicht auflisten"
++msgstr "Konnte Boolesche Variablen nicht auflisten"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "unbekannt"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "aus"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "ein"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr "SELinux Wahrheitswert"
++msgstr "SELinux Boolesche Variablen"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Beschreibung"
+@@ -954,7 +981,7 @@
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr "Kann keinen gültigen Eintrag in der \"passwd\"-Datei finden.\n"
++msgstr "Kann keinen gültigen Eintrag in der passwd-Datei finden.\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+@@ -972,14 +999,14 @@
+ msgstr "Kann Umgebung nicht löschen\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Fehler bei der Funktions-Initialisierung, Abbruch.\n"
++msgstr "Fehler bei der Funktionsinitialisierung, Abbruch.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr "Fehler bei der Leistungsinitialisierung, Abbruch.\n"
++msgstr "Fehler bei der Leistungsinitialisierung, Abbruch\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+@@ -999,7 +1026,7 @@
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr "Fehler beim zurücksetzen von KEEPCAPS, Abbruch\n"
++msgstr "Fehler beim Zurücksetzen von KEEPCAPS, Abbruch\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+@@ -1053,7 +1080,7 @@
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s! Konnte neuen Kontext für »%s« nicht setzen.\n"
++msgstr "%s! Konnte neuen Kontext für %s nicht setzen.\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+@@ -1068,24 +1095,22 @@
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr "Fehler: Mehrere Funktionen festgelegt\n"
++msgstr "Fehler: mehrere Funktionen angegeben\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+ msgid "Error: multiple types specified\n"
+-msgstr "Fehler: mehrere Typen festgelegt\n"
++msgstr "Fehler: mehrere Typen angegeben\n"
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr ""
+-"Entschuldigung, ich sollte nur mit SELinux-MLS-Unterstützung benutzt "
+-"werden.\n"
++msgstr "Sorry, -l darf nur mit SELinux-MLS-Unterstützung benutzt werden.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+ msgid "Error: multiple levels specified\n"
+-msgstr "Fehler: mehrere Ebenen festgelegt\n"
++msgstr "Fehler: mehrere Stufen angegeben\n"
+ #: ../newrole/newrole.c:931
+ #, c-format
+@@ -1096,17 +1121,17 @@
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr "Konnte Standardtyp nicht feststellen.\n"
++msgstr "Standardtyp konnte nicht abgerufen werden.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr "Erwerb des neuen Kontexts fehlgeschlagen.\n"
++msgstr "Erhalt des neuen Kontexts fehlgeschlagen.\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+ msgid "failed to set new role %s\n"
+-msgstr "Setzen einer neuen Funktion %s fehlgeschlagen\n"
++msgstr "Setzen der neuen Rolle %s fehlgeschlagen\n"
+ #: ../newrole/newrole.c:981
+ #, c-format
+@@ -1116,7 +1141,7 @@
+ #: ../newrole/newrole.c:991
+ #, c-format
+ msgid "failed to build new range with level %s\n"
+-msgstr "Erstellung von neuem Bereich mit Level %s fehlgeschlagen\n"
++msgstr "Erstellung von neuem Bereich mit Stufe %s fehlgeschlagen\n"
+ #: ../newrole/newrole.c:996
+ #, c-format
+@@ -1126,8 +1151,7 @@
+ #: ../newrole/newrole.c:1004
+ #, c-format
+ msgid "failed to convert new context to string\n"
+-msgstr ""
+-"Konvertieren des neuen Kontexts in Zeichenfolge (String) fehlgeschlagen\n"
++msgstr "Konvertierung des neuen Kontexts in String fehlgeschlagen\n"
+ #: ../newrole/newrole.c:1009
+ #, c-format
+@@ -1137,7 +1161,7 @@
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr "Kann keinen Speicher für new_context zuweisen"
++msgstr "Kann new_context keinen Speicher zuweisen"
+ #: ../newrole/newrole.c:1042
+ #, c-format
+@@ -1152,14 +1176,12 @@
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr ""
+-"Entschuldigung, diese neue Eingabe sollte nur auf einem SELinux-Kernel "
+-"benutzt werden.\n"
++msgstr "Sorry, newrole darf nur auf einem SELinux-Kernel benutzt werden.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr "Konnte alten Kontext nicht bekommen.\n"
++msgstr "Erhalt von old_context fehlgeschlagen.\n"
+ #: ../newrole/newrole.c:1140
+ #, c-format
+@@ -1169,12 +1191,12 @@
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr "Fehler beim Lesen der PAM-Dienst Konfiguration.\n"
++msgstr "Fehler beim Lesen der PAM-Dienstkonfiguration.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr "Neue Eingabe: falsches Passwort für %s\n"
++msgstr "newrole: falsches Passwort für %s\n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+@@ -1184,12 +1206,12 @@
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr "Kann TTY-Label nicht wiederherstellen...\n"
++msgstr "Kann tty-Label nicht wiederherstellen ...\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+ msgid "Failed to close tty properly\n"
+-msgstr "Schliessen von TTY fehlgeschlagen\n"
++msgstr "Ordnungsgemässes Schliessen von tty fehlgeschlagen\n"
+ #: ../newrole/newrole.c:1287
+ #, c-format
+@@ -1218,27 +1240,28 @@
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr "%s:  Richtlinie bereits geladen und initiale Ladeanforderung\n"
++msgstr ""
++"%s:  Richtlinie ist bereits geladen und initiale Ladeanforderung ist "
++"erfolgt\n"
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  Kann Richtlinie nicht laden und fordere Zwangsmodus an:  %s\n"
++msgstr "%s:  Kann angefragte Richtlinie und Enforcing-Modus nicht laden:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s: Kann Richtlinie nicht laden: %s\n"
++msgstr "%s:  Kann Richtlinie nicht laden:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+ msgstr "Benötigt mindestens eine Kategorie"
+-# Translation of sensitivity fuzzy
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+ msgid "Can not modify sensitivity levels using '+' on %s"
+-msgstr "Kann Sensivitätsstufe mittels '+' auf %s nicht ändern"
++msgstr "Kann Sensitivitätsstufen mittels '+' auf %s nicht ändern"
+ #: ../scripts/chcat:110
+ #, c-format
+@@ -1254,10 +1277,9 @@
+ msgid "Can not combine +/- with other types of categories"
+ msgstr "Kann +/- nicht mit anderen Kategorietypen kombinieren"
+-# Translation of 'sensitivities' fuzzy
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+-msgstr "Kann nicht mehrere Empfindlichkeiten besitzen"
++msgstr "Kann nicht mehrere Sensitivitäten besitzen"
+ #: ../scripts/chcat:325
+ #, c-format
+@@ -1282,7 +1304,7 @@
+ #: ../scripts/chcat:329
+ #, c-format
+ msgid "Usage %s -d File ..."
+-msgstr "Aufruf %s -d Datei ..."
++msgstr "Verwendung %s -d Datei ..."
+ #: ../scripts/chcat:330
+ #, c-format
+@@ -1292,20 +1314,20 @@
+ #: ../scripts/chcat:331
+ #, c-format
+ msgid "Usage %s -L"
+-msgstr "Aufruf %s -L"
++msgstr "Verwendung %s -L"
+ #: ../scripts/chcat:332
+ #, c-format
+ msgid "Usage %s -L -l user"
+-msgstr "Aufruf: %s -L -l Benutzer"
++msgstr "Verwendung %s -L -l Benutzer"
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr "Benutze -- um die Optionsliste abzuschliessen. Beispiel:"
++msgstr "Verwenden Sie -- zum Abschluss der Optionsliste. Zum Beispiel"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+-msgstr "chcat -- -Vertraulich /docs/geschaeftsplanung.odt"
++msgstr "chcat -- -Vertraulich /docs/geschäftsplanung.odt"
+ #: ../scripts/chcat:335
+ msgid "chcat -l +CompanyConfidential juser"
+@@ -1314,1714 +1336,2270 @@
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
+-msgstr "Optionsfehler %s"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "Übersetzungen auf Nicht-MLS Machinen werden nicht unterstützt"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Boolesche"
+-
+-#~ msgid "all"
+-#~ msgstr "alle"
+-
+-#~ msgid "Customized"
+-#~ msgstr "Angepasst"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "Dateikennzeichnung"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Datei\n"
+-#~ "Spezifikation"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Datei-Typ"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Datei\n"
+-#~ "Typ"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Benutzerzuordnung"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Anmelden\n"
+-#~ "Name"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Benutzer"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS-Bereich"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Login '%s' wird benötigt"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "Richtlinien-Modul"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "Modul-Name"
+-
+-#~ msgid "Version"
+-#~ msgstr "Version"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "Audit deaktivieren"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "Audit aktivieren"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Richtlinien-Modul laden"
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Applikationen</b>"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Melde Benutzer an</b>"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Root-Benutzer</b>"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP-Ports</b>"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP Ports</b>"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Fügen Boolean-Dialog hinzu"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Hinzufügen von Dateien/Ordnern, in welche diese Applikation \"Schreiben\" "
+-#~ "muss. Pid Files, Log Files, /var/lib Files ..."
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Boolsche Werte, die für diese eingeschränkte Applikation/Benutzer "
+-#~ "verwendet werden hinzufügen/entfernen"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "Admin-Benutzerrolle"
+-
+-#~ msgid "All"
+-#~ msgstr "Alle"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Erlaubt Applikationsrolle/Benutzer-Rolle bindresvport mit 0 aufzurufen. "
+-#~ "Verbinde mit Ports 600-1024"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Erlaubt Applikationsrolle/Benutzer-Rolle sich mit einem beliebigen UDP-"
+-#~ "Port > 1024 zu verbinden"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Erlaubt einer eingeschränkten Applikationsrolle/einem eingeschränkten "
+-#~ "Benutzer-Rolle sich mit jedem beliebigen UDP-Port zu verbinden"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "Boolean-Name:"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "Erstelle/ändert temporäre Dateien in /tmp"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Geben Sie eine durch Kommas getrennte Liste von TCP-Ports oder einen "
+-#~ "Bereich an, an welche Applikation/Benutzer-Rollen gebunden werden. "
+-#~ "Beispiel: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Geben Sie eine durch Kommas getrennte Liste von UDP-Ports oder einen "
+-#~ "Bereich an, an welche Applikation/Benutzer-Rollen gebunden werden. "
+-#~ "Beispiel: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Geben Sie eine durch Kommas getrennte Liste von UDP-Ports an, mit denen "
+-#~ "sich die Applikation/der Benutzer verbindet. Beispiel: 612, 650-660"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr ""
+-#~ "Geben Sie den vollständigen Pfad der ausführbaren Datei ein, die "
+-#~ "eingeschränkt werden soll."
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Geben Sie einen vollständigen Pfad zum Init-Skript ein, das verwendet "
+-#~ "wird, um die eingeschränkte Applikation zu starten."
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Geben Sie die einzuschränkende Applikation oder Benutzerrollen ein."
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Geben Sie die Netzwerkports an, mit denen sich die Applikation/der "
+-#~ "Benutzer verbinden können"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Geben Sie die Netzwerksports an, auf denen Applikation/Benutzer hören"
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Geben Sie einen eindeutigen Namen für die eingeschränkte Benutzer- oder "
+-#~ "Applikationsrolle ein."
+-
+-#~ msgid "Executable"
+-#~ msgstr "Ausführbar"
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Existierende Benutzer-Rollen"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Generierte Richtliniendateien"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Init Skript"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "Interagiere mit dem Terminal"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Internet Services Daemon (inetd)"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr ""
+-#~ "'Internet Services Daemon' sind Daemons, die von xinetd gestartet werden"
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Minimale Terminal-Benutzerrolle"
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Minimale X-Windows-Benutzerrolle"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Ändere einen existierenden Benutzer-Datensatz."
+-
+-#~ msgid "Name"
+-#~ msgstr "Name"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "Richtlinienverzeichnis"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Root-Admin-Benutzerrolle"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Tool zum Erstellen von SELinux-Richtlinien"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "Ports auswählen"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Wählen Sie 'Root-Administrator Benutzerrolle', wenn dieser Benutzer zur "
+-#~ "Verwaltung des Rechners als Root-Benutzer verwendet wird.  Dieser "
+-#~ "Benutzer kann sich nicht direkt auf dem System einloggen."
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr ""
+-#~ "Wählen Sie zusätzliche Domains, die dieser Benutzer administrieren soll."
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr ""
+-#~ "Wählen Sie zusätzliche Domain(s), in die diese Benutzerrolle übergeht"
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Wählen Sie zusätzliche Rollen für diesen Benutzer"
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Wählen Sie booleschen Werte, die diese Applikation verwendet"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "Wählen Sie allgemeine Applikationseigenschaften"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr ""
+-#~ "Wählen Sie das Verzeichnis, in das die Richtliniendateien generiert "
+-#~ "werden sollen"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Wählen Sie die Dateien/Verzeichnisse, die die Applikation verwaltet"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Wählen Sie die Applikation-Domains, auf die dieser Benutzerrolle wechseln "
+-#~ "soll."
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "Wählen Sie die Domains, die dieser Benutzer administrieren soll."
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "Wählen Sie die Applikation-Domains, auf die diese Benutzerrole wechseln "
+-#~ "soll."
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr ""
+-#~ "Wählen Sie den Typ der einzuschränkenden Applikation oder Benutzerrolle"
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr ""
+-#~ "Wählen Sie die Benutzerrolle(n), die auf diese Domain übertragen werden "
+-#~ "soll"
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Wählen Sie die Rolle, welche Sie anpassen wollen"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Sende Audit-Meldungen"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "Sende Nachricht"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Standard Init Daemon"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Standard-Init-Daemon sind Daemons, die beim Booten via Init-Skripte "
+-#~ "gestartet werden. Benötigt normalerweise ein Skript in /etc/rc.d/init.d"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Dieses Tool kann dazu verwendet werden, ein Richtlinien-Framework zur "
+-#~ "Abgrenzung von Applikationen oder Benutzern mit SELinux zu erstellen.   \n"
+-#~ "\n"
+-#~ "Das Tool generiert:\n"
+-#~ "Typ-Enforcement-Datei (te)\n"
+-#~ "Interface-Datei (if)\n"
+-#~ "Dateikontextdatei (fc)\n"
+-#~ "Shell-Skript (sh) - wird für das Kompilieren und Installieren der "
+-#~ "Richtlinie verwendet. "
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Dieses Werkzeug erstellt das folgende: \n"
+-#~ "Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
+-#~ "\n"
+-#~ "Führen Sie das Shell-Skript aus, um Dateien/Verzeichnisse zu kompilieren/"
+-#~ "installieren und neu zu kennzeichnen.\n"
+-#~ "Anschliessend können Sie den Rechner in 'permissive' Modus versetzen. \n"
+-#~ "Führen Sie die Applikation aus oder starten Sie diese neu, um 'avc'-"
+-#~ "Meldungen zu generieren.\n"
+-#~ "Verwenden Sie 'audit2allow -R', um zusätzliche Regeln für die 'te'-Datei "
+-#~ "zu erstellen.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Dieses Werkzeug erstellt das folgende: \n"
+-#~ "Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
+-#~ "Führen Sie das Shell-Skript als root aus, um Dateien/Verzeichnisse zu "
+-#~ "kompilieren/installieren und neu zu kennzeichnen.\n"
+-#~ "Benutzen Sie semanage oder useradd, um Linux-Anmeldebenutzer den "
+-#~ "Beutzerrollen zuzuordnen.\n"
+-#~ "Anschliessend können Sie den Rechner in permissive-Modus versetzen. \n"
+-#~ "Melden Sie sich als Benutzer an und testen Sie die Benutzerrolle.\n"
+-#~ "Verwenden Sie audit2allow -R, um zusätzliche Regeln für die Datei zu "
+-#~ "erstellen.\n"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Dieser Benutzer kann sich via X oder Terminal auf einer Maschine "
+-#~ "einloggen.  Standardmäßig besitzt dieser Benutzer kein setuid, kein "
+-#~ "Netzwerk, kein sudo und kein su."
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Dieser Benutzer loggt sich auf einer Maschine nur via Terminal oder Login "
+-#~ "von Remote aus ein.  Standardmäßig besitzt dieser Benutzer kein setuid, "
+-#~ "kein Netzwerk, kein su und kein sudo."
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Nicht reservierte Ports (>1024)"
+-
+-#~ msgid "User Application"
+-#~ msgstr "Benutzerapplikation"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Eine Benutzerapplikation ist eine beliebige Applikation, die von einem "
+-#~ "Benutzer gestartet wird und die Sie einschränken möchten"
+-
+-#~ msgid "User Role"
+-#~ msgstr "Benutzer-Rolle"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "Benutzer mit vollem Zugriff auf das Netzwerk, keine setuid-Applikationen "
+-#~ "ohne Übertragung, kein su und kann mit sudo in Root Administration Roles "
+-#~ "wechseln."
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "Benutzer mit vollem Zugriff auf das Netzwerk, keine setuid-Applikationen "
+-#~ "ohne Übertragung, kein sudo und kein su."
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Benutzt PAM zur Authentifizierung"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "Benutzt DBus"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Benutzt nsswitch- oder getpw*-Aufrufe"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Web Application/Script (CGI)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Web-Applikationen/Skript (CGI) CGI-Skripte, die vom Web-Server (Apache) "
+-#~ "gestartet werden"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Schreibt syslog-Nachricht\t"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "N/A"
++msgstr "Optionenfehler %s "
+-#~ msgid "Role"
+-#~ msgstr "Funktion"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Boolesche Variablen"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "Alle"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Angepasst"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Dateikennzeichnung"
+-#~ msgid "Existing_User"
+-#~ msgstr "Bestehender_Benutzer"
+-
+-#~ msgid "Application"
+-#~ msgstr "Applikation"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s muss ein Verzeichnis sein"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "Sie müssen eine Benutzer auswählen"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Wählen Sie eine einzuschränkende ausführbare Datei."
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Wählen Sie eine Init-Skript-Datei, die eingeschränkt werden soll."
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr ""
+-#~ "Wählen Sie die Datei(en), die eine eingeschränkte Applikation erstellt "
+-#~ "oder schreibt"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Wählen Sie das/die Verzeichnis(se), die die eingeschränkte Applikation "
+-#~ "besitzt und in die sie schreibt"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr ""
+-#~ "Wählen Sie das Verzeichnis, in das die Richtliniendateien generiert "
+-#~ "werden sollen"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Typ %s_t bereits definiert in aktueller Richtlinie.\n"
+-#~ "Wollen Sie fortfahren?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "Überprüfe Name"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Modul %s.pp bereits geladen in aktueller Richtlinie.\n"
+-#~ "Wollen Sie fortfahren?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "Sie müssen einen Namen angeben"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Sie müssen eine ausführbare Datei angeben"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux konfigurieren"
+-
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Ports müssen Zahlen zwischen 1 und %d sein"
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr ""
+-#~ "Sie müssen einen Pfad für Ihren eingeschränkten Prozess/Benutzer eingeben"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER-Types sind keine erlaubten ausführbaren Dateien"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Nur DAEMON-Applikationen können ein Init-Skript verwenden"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog muss ein Boolescher Wert sein"
+-
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER-Types erhalten automatisch ein tmp-Type"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "Sie müssen einen ausführbaren Pfad für Ihren eingeschränkten Prozess "
+-#~ "eingeben"
+-
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Type Enforcement Datei"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "Schnittstellendatei"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "Datei-Kontexte-Datei"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "Skript für das Einrichten"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux Port\n"
+-#~ "Typ"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "Protokoll"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-
+-#~ msgid "Port"
+-#~ msgstr "Port"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Portnummer \"%s\" ist nicht gültig. 0 < PORTNUMMER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "Listenansicht"
+-
+-#~ msgid "Group View"
+-#~ msgstr "Gruppenansicht"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux-Dienst-Schutz"
+-
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für acct daemon"
+-
+-#~ msgid "Admin"
+-#~ msgstr "Administrator"
+-
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Allen Daemons erlauben, 'corefiles' nach \"/\" zu schreiben"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr ""
+-#~ "Allen Daemons die Fähigkeit geben, nicht zugewiesene TTYs zu verwenden"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "Benutzer-Privs"
+-
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin-SELinux-Benutzer erlauben, Dateien in seinem Stammverzeichnis "
+-#~ "oder /tmp auszuführen"
+-
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "SELinux Gast-Benutzerkonten erlauben, Dateien in ihrem Stammverzeichnis "
+-#~ "oder /tmp auszuführen"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "Speicherschutz"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Ausführbaren Java-Stapel erlauben"
+-
+-#~ msgid "Mount"
+-#~ msgstr "Einhängen"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "'mount' gestatten, jede beliebige Datei einzuhängen"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "'mount' gestatten, jedes beliebige Verzeichnis einzuhängen"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "'mplayer' einen ausführbaren Stapel erlauben"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "SSH gestatten, 'ssh-keysign' auszuführen"
+-
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "staff-SELinux-Benutzerkonten gestatten, Dateien in ihren "
+-#~ "Stammverzeichnissen oder /tmp auszuführen"
+-
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm-SELinux-Benutzerkonten gestatten, Dateien in ihren "
+-#~ "Stammverzeichnissen oder /tmp auszuführen"
+-
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Uneingeschränkten SELinux-Benutzerkonten gestatten, Dateien in ihren "
+-#~ "Stammverzeichnissen oder /tmp auszuführen"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "Netzwerkkonfiguration"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Datei-\n"
++"spezifikation"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr ""
+-#~ "Nicht gekennzeichneten Paketen gestatten, sich durch das Netzwerk "
+-#~ "fortzubewegen"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux-\n"
++"Dateityp"
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "user-SELinux-Benutzerkonten gestatten, Dateien in ihren "
+-#~ "Stammverzeichnissen oder /tmp auszuführen"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Datei-\n"
++"typ"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "'unconfined' zu 'dyntrans' zu 'unconfined_execmem' gestatten"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Benutzerzuordnung"
+-#~ msgid "Databases"
+-#~ msgstr "Datenbanken"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Benutzer-\n"
++"name"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Benutzer gestatten, sich mit dem MySQL-Socket zu verbinden"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux-\n"
++"Benutzer"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Benutzer gestatten, sich mit dem Postgres-Socket zu verbinden"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS-Bereich"
+-#~ msgid "XServer"
+-#~ msgstr "X-Server"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Anmeldung mit '%s' wird benötigt"
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Richtlinienmodul"
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Modulname"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Version"
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Audit deaktivieren"
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Audit aktivieren"
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Lade Richtlinienmodul"
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Holger Wansing <linux@wansing-online.de>, 2006.\n"
++"Timo Trinks <ttrinks@redhat.com>, 2006, 2007.\n"
++"Michael Schönitzer <michael@schoenitzer.de>, 2007.\n"
++"Fabian Affolter <fab@fedoraproject.org>, 2008,2009.\n"
++"Timo Trinks <ttrinks@redhat.com>, 2008.\n"
++"Daniela Kugelmann <dkugelma@redhat.com >, 2008.\n"
++"Hedda Peters <hpeters@redhat.com>, 2009."
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr ""
+-#~ "Clients gestatten, in von X gemeinsam genutzten Speicher zu schreiben"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Dieses Tool kann dazu verwendet werden, ein Richtlinien-Framework zur "
++"Einschränkung von Anwendungen oder Benutzer mit SELinux zu erstellen.   \n"
++"\n"
++"Dieses Tool erzeugt:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - zum Kompilieren und Installieren der Richtlinie. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Wählen Sie den Typ der einzuschränkenden Anwendung oder Benutzerrolle"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Anwendungen</b>"
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest-SELinux-Benutzerkonten gestatten, Dateien in ihren "
+-#~ "Stammverzeichnissen oder /tmp auszuführen"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standard-Init-Daemons sind Daemons, die beim Booten mittels Init-Skripten "
++"gestartet werden. Erfordert normalerweise ein Skript in /etc/rc.d/init.d"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standard-Init-Daemon"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Daemons gestatten, mit NIS zu laufen"
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS-System-Daemon"
+-#~ msgid "Web Applications"
+-#~ msgstr "Web-Applikationen"
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet Services Daemon sind von xinited gestartete Daemons"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "'staff'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "'sysadmin'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Web-Applikationen/Skript (CGI) CGI-Skripte, die vom Web-Server (Apache) "
++"gestartet werden"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "'user'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Web-Applikation/Skript (CGI)"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "'xguest'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Eine Benutzeranwendung ist eine beliebige Anwendung, die von einem Benutzer "
++"gestartet wird und die Sie einschränken möchten"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "'staff'-Web-Browsern gestatten, in Stammverzeichnisse zu schreiben"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Benutzeranwendung"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Deaktiviere SELinux Schutz für amanda"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Login-Benutzer</b>"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Deaktiviere SELinux Schutz für amavis"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Ändere einen existierenden Benutzerdatensatz."
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für apmd daemon"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Vorhandene Benutzerrollen"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für arpwatch daemon"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Dieser Benutzer meldet sich auf einem Rechner nur via Terminal oder Remote-"
++"Login an. Standardmässig besitzt dieser Benutzer kein setuid, kein Netzwerk, "
++"kein su und kein sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimale Terminal-Benutzerrolle"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für auditd daemon"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Dieser Benutzer kann sich via X oder Terminal an einem Rechner anmelden. "
++"Standardmässig besitzt dieser Benutzer kein setuid, kein Netzwerk, kein sudo "
++"und kein su."
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimale X-Windows-Benutzerrolle"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für automount daemon"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Benutzer mit vollem Zugriff auf das Netzwerk, keine setuid-Anwendung ohne "
++"Übertragung, kein sudo, kein su."
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Deaktiviere SELinux Schutz für avahi"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Benutzerrolle"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für bluetooth daemon"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Benutzer mit vollem Zugriff auf das Netzwerk, keine setuid-Anwendung ohne "
++"Übertragung, kein su, kann mit sudo in Root-Administrationsrolle wechseln"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für canna daemon"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Admin-Benutzerrolle"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für cardmgr daemon"
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root-Benutzer</b>"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Deaktiviere SELinux Schutz für Cluster Server"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Wählen Sie Root-Administrator-Benutzerrolle, wenn dieser Benutzer zur "
++"Verwaltung des Rechners als Root-Benutzer verwendet wird. Dieser Benutzer "
++"kann sich nicht direkt auf dem System einloggen."
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "'cdrecord' gestatten, verschiedenen Inhalt zu lesen. NFS, SAMBA, "
+-#~ "entfernbare Geräte, temporäre Benutzerverzeichnisse und nicht "
+-#~ "vertrauenswürdige Inhaltsdateien"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root-Admin-Benutzerrolle"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ciped daemon"
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++"Geben Sie den Namen der einzuschränkenden Anwendung oder Benutzerrolle ein"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für clamd daemon"
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Name"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Deaktiviere SELinux Schutz für clamscan"
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++"Geben Sie den vollständigen Pfad der ausführbaren Datei ein, die "
++"eingeschränkt werden soll."
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Deaktiviere SELinux Schutz für clvmd"
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für comsat daemon"
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++"Geben Sie einen eindeutigen Namen für die eingeschränkte Anwendung oder "
++"Benutzerrolle ein."
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für courier daemon"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Ausführbare Datei"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für cpucontrol daemon"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init-Skript"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für cpuspeed daemon"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Geben Sie einen vollständigen Pfad zum Init-Skript ein, das verwendet wird, "
++"um die eingeschränkte Anwendung zu starten."
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Wählen Sie die Benutzerrolle(n), die Sie anpassen möchten"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für crond daemon"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Wählen Sie die Benutzerrolle(n), die auf diese Anwendungs-Domains wechseln "
++"sollen."
+-#~ msgid "Printing"
+-#~ msgstr "Drucken"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Wählen Sie zusätzliche Domains, in die diese Benutzerrolle wechseln soll"
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Deaktiviere SELinux-Schutz für cupsd backend-Server"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Wählen Sie die Anwendungs-Domains, in die diese Benutzerrolle wechseln soll."
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für cupsd daemon"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Wählen Sie die Benutzerrolle(n), die in diese Domain wechseln sollen."
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Deaktiviere SELinux Schutz für cupsd_lpd"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Wählen Sie zusätzliche Domains, die dieser Benutzer verwalten soll."
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Wählen Sie die Domains, die dieser Benutzer verwalten soll."
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für cvs daemon"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Wählen Sie zusätzliche Rollen für diesen Benutzer"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für cyrus daemon"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Geben Sie die Netzwerk-Ports an, auf denen die Anwendung/Benutzerrolle "
++"horchen soll"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dbskkd daemon"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP-Ports</b>"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dbusd daemon"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Erlaubt einer eingeschränkten Anwendung/Benutzerrolle, sich mit jedem "
++"beliebigen UPD-Port zu verbinden"
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Deaktiviere SELinux Schutz für dccd"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Alle"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Deaktiviere SELinux Schutz für dccifd"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Erlaubt Anwendungen/Benutzerrollen, bindresvport mit 0 aufzurufen. Verbinde "
++"mit Ports 600-1024"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Deaktiviere SELinux Schutz für dccm"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ddt daemon"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Geben Sie eine kommagetrennte Liste von UDP-Ports oder Port-Bereiche an, mit "
++"denen sich Anwendungen/Benutzerrollen verbinden sollen. Beispiel: 612, "
++"650-660"
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für devfsd daemon"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Nicht reservierte Ports (>1024)"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dhcpc daemon"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Ports auswählen"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dhcpd daemon"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Erlaubt Anwendungen/Benutzerrollen, sich mit einem beliebigen UDP-Port > "
++"1024 zu verbinden"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dictd daemon"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP-Ports</b>"
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "'sysadm_t' gestatten, Daemons direkt zu starten"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Geben Sie Netzwerk-Ports an, mit denen sich die Anwendungen/Benutzerrollen "
++"verbinden können"
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Deaktiviere SELinux Schutz für Evolution"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Geben Sie eine kommagetrennte Liste von TCP-Ports oder Port-Bereiche an, mit "
++"denen sich Anwendungen/Benutzerrollen verbinden sollen. Beispiel: 612, "
++"650-660"
+-#~ msgid "Games"
+-#~ msgstr "Spiele"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Geben Sie eine kommagetrennte Liste von UPD-Ports oder Port-Bereiche an, mit "
++"denen sich Anwendungen/Benutzerrollen verbinden sollen. Beispiel: 612, "
++"650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Wählen Sie allgemeine Anwendungseigenschaften"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Schreibt Syslog-Nachrichten\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Erstellt/Ändert temporäre Dateien in /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Benutzt Pam zur Authentifizierung"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Benutzt nsswitch- oder getpw*-Aufrufe"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Benutzt dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Sendet Audit-Meldungen"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interagiert mit dem Terminal"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Sendet E-Mail"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Wählt die Dateien/Verzeichnisse, welche die Anwendung verwaltet"
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Deaktiviere SELinux Schutz für games"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Fügt Dateien/Verzeichnisse hinzu, in welche die Anwendung schreiben muss. "
++"Pid-Dateien, Protokolldateien, /var/lib-Dateien usw."
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Deaktiviere SELinux Schutz für the web browsers"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Wählt Boolesche Variablen aus, welche die Anwendung verwendet"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Deaktiviere SELinux Schutz für Thunderbird"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Hinzufügen/Entfernen von Booleschen Variablen, die für diese eingeschränkte "
++"Anwendung/Benutzer verwendet werden"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für distccd daemon"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Wählt das Verzeichnis, in dem die Richtlinie generiert wird"
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dmesg daemon"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Richtlinienverzeichnis"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dnsmasq daemon"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Erstellte Richtliniendateien"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für dovecot daemon"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Dieses Tool erstellt Folgendes: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Führen Sie das Shell-Skript als Root aus, um Dateien/Verzeichnisse zu "
++"kompilieren, installieren und neu zu kennzeichnen. \n"
++"Verwenden Sie semanage oder useradd, um Linux-Login-Benutzer den "
++"Benutzerrollen zuzuordnen.\n"
++"Versetzen Sie den Rechner in 'permissive' Modus (setenforce 0). \n"
++"Melden Sie sich als der Benutzer an und testen diese Benutzerrolle.\n"
++"Verwenden Sie audit2allow -R, um zusätzliche Regeln für die te-Datei zu "
++"erstellen.\n"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für entropyd daemon"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Dieses Tool erstellt Folgendes: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Führen Sie das Shell-Skript als Root aus, um Dateien/Verzeichnisse zu "
++"kompilieren, installieren und neu zu kennzeichnen.  \n"
++"Versetzen Sie den Rechner in 'permissive' Modus (setenforce 0). \n"
++"Führen Sie die Anwendung aus bzw. starten diese neu, um avc-Meldungen zu "
++"generieren.\n"
++"Verwenden Sie audit2allow -R, um zusätzliche Regeln für die te-Datei zu "
++"erstellen.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Dialog zum Hinzufügen Boolescher Variablen"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Boolescher Variablenname"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rolle"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Bestehender_Benutzer"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Anwendung"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s muss ein Verzeichnis sein"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Sie müssen einen Benutzer auswählen"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Wählen Sie eine ausführbare Datei, die eingeschränkt werden soll."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Wählen Sie eine Init-Skript-Datei, die eingeschränkt werden soll."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"Wählen Sie die Datei(en), die eine eingeschränkte Anwendung erstellt oder "
++"schreibt"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Wählen Sie das/die Verzeichnis(se), die die eingeschränkte Anwendung besitzt "
++"und beschreibt"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Deaktiviere SELinux Schutz für fetchmail"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++"Wählen Sie das Verzeichnis, in dem die Richtliniendateien generiert werden "
++"sollen"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für fingerd daemon"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Typ %s_t ist in aktueller Richtlinie bereits definiert.\n"
++"Wollen Sie fortfahren?"
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für freshclam daemon"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Überprüfe Namen"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für fsdaemon daemon"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Modul %s.pp ist in aktueller Richtlinie bereits geladen.\n"
++"Wollen Sie fortfahren?"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für gpm daemon"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Sie müssen einen Namen angeben"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Sie müssen eine ausführbare Datei angeben"
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für gss daemon"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux konfigurieren"
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Deaktiviere SELinux-Schutz für Hal-Daemon"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Ports müssen Nummern oder Nummernbereiche von 1 bis %d sein"
+-#~ msgid "Compatibility"
+-#~ msgstr "Kompatibilität"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++"Sie müssen einen Namen für Ihren eingeschränkten Prozess/Benutzer angeben"
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Dinge, die als defekt bekannt sind, aber keine Gefährdung der Sicherheit "
+-#~ "darstellen, nicht überprüfen"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER-Typen sind keine zulässigen ausführbaren Dateien"
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für hostname daemon"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Nur DAEMON-Anwendungen können ein Init-Skript verwenden"
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für hotplug daemon"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog muss ein Boolescher Wert sein"
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für howl daemon"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER-Typen erhalten automatisch einen tmp-Typ"
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für hplip daemon"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++"Sie müssen einen ausführbaren Pfad für Ihren eingeschränkten Prozess eingeben"
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Deaktiviere SELinux Schutz für httpd rotatelogs"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Typ-Enforcement-Datei"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD-Dienst"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Schnittstellendatei"
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Deaktiviere SELinux Schutz für http suexec"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Dateikontextdatei"
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für hwclock daemon"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Skript zum Einrichten"
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für i18n daemon"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Netzwerk-Port"
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für imazesrv daemon"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux Port-\n"
++"Typ"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Deaktiviere SELinux Schutz für inetd child daemons"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokoll"
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für inetd daemon"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS-\n"
++"Stufe"
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für innd daemon"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Port-Nummer \"%s\" ist ungültig.  0 < PORT_NUMMER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Listenansicht"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Gruppenansicht"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux-Dienstschutz"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "SELinux-Schutz für acct-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Allen Daemons erlauben, corefiles nach / zu schreiben"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Allen Daemons erlauben, nicht zugewiesene TTYs zu verwenden"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Benutzerprivilegien"
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für iptables daemon"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin-SELinux-Benutzer erlauben, Dateien im Benutzerverzeichnis oder /tmp "
++"auszuführen"
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ircd daemon"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"SELinux Gast-Benutzerkonten erlauben, Dateien im Benutzerverzeichnis oder /"
++"tmp auszuführen"
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für irqbalance daemon"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Speicherschutz"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Ausführbaren Java-Stapel erlauben"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Einhängen"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "'mount' erlauben, jede beliebige Datei einzuhängen"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "'mount' erlauben, jedes beliebige Verzeichnis einzuhängen"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Ausführbaren 'mplayer'-Stapel erlauben"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "'ssh' erlauben, ssh-keyrun auszuführen"
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für iscsi daemon"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"staff-SELinux-Benutzerkonten erlauben, Dateien im Benutzerverzeichnis oder /"
++"tmp auszuführen"
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für jabberd daemon"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm-SELinux-Benutzerkonto erlauben, Dateien im Benutzerverzeichnis oder /"
++"tmp auszuführen"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"unconfined-SELinux-Benutzerkonto erlauben, Dateien im Benutzerverzeichnis "
++"oder /tmp auszuführen"
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für kadmind daemon"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Netzwerkkonfiguration"
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für klogd daemon"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++"Nicht gekennzeichneten Paketen erlauben, sich durch das Netzwerk "
++"fortzubewegen"
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für krb5kdc daemon"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"user-SELinux-Benutzerkonto erlauben, Dateien im Benutzerverzeichnis oder /"
++"tmp auszuführen"
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Deaktiviere SELinux Schutz für ktalk daemons"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"Unbeschränkten einen dynamischen Wechsel zu 'unconfined_execmem' erlauben"
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für kudzu daemon"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Datenbanken"
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für locate daemon"
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Erlaube Benutzer, auf mysql-Socket zu verbinden"
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für lpd daemon"
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Erlaube Benutzer, auf postgres-Socket zu verbinden"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für lrrd daemon"
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für lvm daemon"
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Clients erlauben, in von X gemeinsam genutzten Speicher zu schreiben"
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Deaktiviere SELinux Schutz für mailman"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest-SELinux-Benutzerkonto erlauben, Dateien im Benutzerverzeichnis oder /"
++"tmp auszuführen"
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "Evolution und Thunderbird gestatten, Benutzerdateien zu lesen"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Daemons erlauben, mit NIS zu laufen"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web-Anwendungen"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "'staff'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "'sysadmin'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "'user'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "'xguest'-SELinux-Benutzer auf Web-Browser-Domain übertragen"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "'staff'-Web-Browsern erlauben, in Benutzerverzeichnisse zu schreiben"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "SELinux-Schutz für amanda deaktivieren"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "SELinux-Schutz für amavis deaktivieren"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "SELinux-Schutz für apmd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "SELinux-Schutz für apmd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "SELinux-Schutz für auditd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "SELinux-Schutz für automount-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "SELinux-Schutz für avahi deaktivieren"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "SELinux-Schutz für bluetooth-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "SELinux-Schutz für canna-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "SELinux-Schutz für cardmgr-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "SELinux-Schutz für Cluster-Server deaktivieren"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für mdadm daemon"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"'cdrecord' erlauben, verschiedenen Inhalt zu lesen. NFS, SAMBA, entfernbare "
++"Geräte, temporäre Benutzerdateien und nicht vertrauenswürdige Inhaltsdateien"
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für monopd daemon"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "SELinux-Schutz für cardmgr-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "SELinux-Schutz für clamd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "SELinux-Schutz für clamscan deaktivieren"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "SELinux-Schutz für clvmd deaktivieren"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "SELinux-Schutz für comsat-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "SELinux-Schutz für courier-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "SELinux-Schutz für cpucontrol-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "SELinux-Schutz für cpuspeed-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "SELinux-Schutz für crond-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Drucken"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "SELinux-Schutz für cupsd Backend-Server deaktivieren"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "SELinux-Schutz für cupsd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "SELinux-Schutz für cupsd_lpd deaktivieren"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "SELinux-Schutz für cvs-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "SELinux-Schutz für cyrus-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "SELinux-Schutz für dbskkd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "SELinux-Schutz für dbusd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "SELinux-Schutz für dccd deaktivieren"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "SELinux-Schutz für dccifd deaktivieren"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "SELinux-Schutz für dccm deaktivieren"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "SELinux-Schutz für ddt-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "SELinux-Schutz für devfsd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "SELinux-Schutz für dhcpc-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "SELinux-Schutz für dhcpd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "SELinux-Schutz für dictd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Erlaube sysadm_t Daemons direkt zu starten"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "SELinux-Schutz für Evolution deaktivieren"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Spiele"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "SELinux-Schutz für Spiele deaktivieren"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "SELinux-Schutz für die Webbrowser deaktivieren"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "SELinux-Schutz für Thunderbird deaktivieren"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "SELinux-Schutz für distccd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "SELinux-Schutz für dmesg-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "SELinux-Schutz für dnsmasq-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "SELinux-Schutz für dovecot-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "SELinux-Schutz für entropyd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "SELinux-Schutz für fetchmail deaktivieren"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "SELinux-Schutz für fingerd-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "SELinux-Schutz für freshclam-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "SELinux-Schutz für fsdaemon-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "SELinux-Schutz für gpm-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "SELinux-Schutz für gss-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "SELinux-Schutz für Hal-Daemon deaktivieren"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Kompatibilität"
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Dem Mozilla-Browser gestatten, Benutzerdateien zu lesen"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Dinge, die als defekt bekannt sind, aber keine Gefährdung der Sicherheit "
++"darstellen, nicht überprüfen"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für mrtg daemon"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "SELinux-Schutz für hostname-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für mysqld daemon"
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "SELinux-Schutz für hotplug-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für nagios daemon"
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "SELinux-Schutz für howl-Daemon deaktivieren"
+-#~ msgid "Name Service"
+-#~ msgstr "Name-Dienst"
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "SELinux-Schutz für cups hplip-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für named daemon"
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "SELinux-Schutz für httpd rotatelogs deaktivieren"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für nessusd daemon"
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD-Dienst"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Deaktiviere SELinux Schutz für NetworkManager"
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "SELinux-Schutz für http suexec deaktivieren"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für nfsd daemon"
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "SELinux-Schutz für hwclock-Daemon deaktivieren"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "SELinux-Schutz für i18n-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für nmbd daemon"
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "SELinux-Schutz für imazesrv-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für nrpe daemon"
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "SELinux-Schutz für inetd-Kind-Daemons deaktivieren"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für nscd daemon"
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "SELinux-Schutz für inetd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für nsd daemon"
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "SELinux-Schutz für innd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ntpd daemon"
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "SELinux-Schutz für iptables-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Deaktiviere SELinux Schutz für oddjob"
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "SELinux-Schutz für ircd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Deaktiviere SELinux Schutz für oddjob_mkhomedir"
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "SELinux-Schutz für irqbalance-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für openvpn daemon"
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "SELinux-Schutz für iscsi-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für pam daemon"
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "SELinux-Schutz für jabberd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Deaktiviere SELinux Schutz für pegasus"
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für perdition daemon"
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "SELinux-Schutz für kadmind-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für portmap daemon"
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "SELinux-Schutz für klogd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für portslave daemon"
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "SELinux-Schutz für krb5kdc-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Deaktiviere SELinux Schutz für postfix"
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "SELinux-Schutz für ktalk-Daemons deaktivieren"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für postgresql daemon"
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "SELinux-Schutz für kudzu-Daemon deaktivieren"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "SELinux-Schutz für locate-Daemon deaktivieren"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Gestatten, dass 'pppd' für einen regulären Benutzer ausgeführt wird"
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "SELinux-Schutz für lpd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Deaktiviere SELinux Schutz für pptp"
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "SELinux-Schutz für lrrd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für prelink daemon"
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "SELinux-Schutz für lvm-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für privoxy daemon"
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "SELinux-Schutz für mailman deaktivieren"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ptal daemon"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Evolution und Thunderbird erlauben Benutzerdateien zu lesen"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für pxe daemon"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "SELinux-Schutz für mdadm-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Deaktiviere SELinux Schutz für pyzord"
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "SELinux-Schutz für monopd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für quota daemon"
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Dem Mozilla-Browser erlauben Benutzerdateien zu lesen"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für radiusd daemon"
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "SELinux-Schutz für mrtg-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für radvd daemon"
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "SELinux-Schutz für mysqld-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Deaktiviere SELinux Schutz für rdisc"
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "SELinux-Schutz für nagios-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Deaktiviere SELinux Schutz für readahead"
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Namensdienst"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Programmen gestatten, Dateien an nicht standardmässigen Orten zu lesen "
+-#~ "(default_t)"
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "SELinux-Schutz für named-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Deaktiviere SELinux Schutz für restorecond"
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "SELinux-Schutz für nessusd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für rhgb daemon"
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "SELinux-Schutz für NetworkManager deaktivieren"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Deaktiviere SELinux Schutz für ricci"
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "SELinux-Schutz für nfsd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Deaktiviere SELinux Schutz für ricci_modclusterd"
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für rlogind daemon"
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "SELinux-Schutz für nmbd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für rpcd daemon"
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "SELinux-Schutz für nrpe-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Deaktiviere SELinux Schutz für rshd"
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "SELinux-Schutz für nscd-Daemon deaktivieren"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "SELinux-Schutz für nsd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für rsync daemon"
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "SELinux-Schutz für ntpd-Daemon deaktivieren"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr ""
+-#~ "SSH gestatten, von 'inetd' aus gestartet zu werden, anstatt als Daemon"
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "SELinux-Schutz für oddjob deaktivieren"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Samba gestatten, NFS-Verzeichnisse freizugeben"
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "SELinux-Schutz für oddjob_mkhomedir deaktivieren"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL-Authentifizierungs-Server"
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "SELinux-Schutz für openvpn-Daemon deaktivieren"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "SASL-Authentifizierungs-Server gestatten, /etc/shadow zu lesen"
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "SELinux-Schutz für pam-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Dem X-Windows-Server gestatten, einen Speicherbereich sowohl als "
+-#~ "ausführbar, als auch beschreibbar auszuweisen"
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "SELinux-Schutz für pegasus deaktivieren"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für saslauthd daemon"
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "SELinux-Schutz für perdition-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für scannerdaemon daemon"
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "SELinux-Schutz für portmap-Daemon deaktivieren"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr ""
+-#~ "Wechsel zu 'sysadm_t' nicht gestatten. Davon betroffen sind 'sudo' und "
+-#~ "'su'"
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "SELinux-Schutz für portslave-Daemon deaktivieren"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Keinem Prozess gestatten, Kernel-Module zu laden"
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "SELinux-Schutz für postfix deaktivieren"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "Keinem Prozess gestatten, die Kernel SELinux-Richtlinien zu verändern"
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "SELinux-Schutz für postgresql-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für sendmail daemon"
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Deaktiviere SELinux Schutz für setrans"
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "'pppd' erlauben, für einen regulären Benutzer ausgeführt zu werden"
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Deaktiviere SELinux-Schutz für setroubleshoot-Daemon"
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "SELinux-Schutz für pptp deaktivieren"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für slapd daemon"
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "SELinux-Schutz für prelink-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für slrnpull daemon"
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "SELinux-Schutz für privoxy-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für smbd daemon"
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "SELinux-Schutz für ptal-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für snmpd daemon"
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "SELinux-Schutz für pxe-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für snort daemon"
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "SELinux-Schutz für pyzord deaktivieren"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für soundd daemon"
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "SELinux-Schutz für quota-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für sound daemon"
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "SELinux-Schutz für radiusd-Daemon deaktivieren"
+-#~ msgid "Spam Protection"
+-#~ msgstr "Spam-Schutz"
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "SELinux-Schutz für radvd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für spamd daemon"
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "SELinux-Schutz für rdisc deaktivieren"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "'spamd' Zugriff auf Stammverzeichnisse gestatten"
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "SELinux-Schutz für readahead deaktivieren"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Dem Spamassassin-Daemon Netzwerkzugriff gestatten"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Programmen erlauben, Dateien an nicht standardmässigen Orten zu lesen "
++"(default_t)"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für speedmgmt daemon"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "SELinux-Schutz für restorecond deaktivieren"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "SELinux-Schutz für rhgb-Daemon deaktivieren"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Dem Squid-Daemon gestatten, sich mit dem Netzwerk zu verbinden"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "SELinux-Schutz für ricci deaktivieren"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für squid daemon"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "SELinux-Schutz für ricci_modclusterd deaktivieren"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ssh daemon"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "SELinux-Schutz für rlogind-Daemon deaktivieren"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "SSH-Logins als 'sysadm_r:sysadm_t' gestatten"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "SELinux-Schutz für rpcd-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "'staff_r'-Benutzern gestatten, das 'sysadm'-Stammverzeichnis zu "
+-#~ "durchsuchen und Dateien zu lesen (z.B. ~/.bashrc)"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "SELinux-Schutz für rshd-Daemon deaktivieren"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Universeller SSL-Tunnel"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für stunnel daemon"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "SELinux-Schutz für rsync-Daemon deaktivieren"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "Dem stunnel-Daemon gestatten, als \"standalone\" zu laufen, ausserhalb "
+-#~ "von 'xinetd'"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "SSH erlauben von inetd anstatt als Daemon zu laufen"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für swat daemon"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba erlauben nfs-Verzeichnisse freizugeben"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für sxid daemon"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL-Authentifizierungs-Server"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für syslogd daemon"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "SASL-Authentifizierungs-Server erlauben, /etc/shadow zu lesen"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Deaktiviere SELinux Schutz für system cron jobs"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Dem X-Windows-Server erlauben, einen Speicherbereich sowohl als ausführbar, "
++"als auch beschreibbar auszuweisen"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für tcp daemon"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "SELinux-Schutz für saslauthd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für telnet daemon"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "SELinux-Schutz für scannerdaemon-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für tftpd daemon"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++"Wechsel zu 'sysadm_t' nicht erlauben. Davon betroffen sind 'sudo' und 'su'"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für transproxy daemon"
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Keinen Prozessen erlauben, Kernelmodule zu laden"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für udev daemon"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Keinem Prozess erlauben, die Kernel-SELinux-Richtlinie zu verändern"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für uml daemon"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "SELinux-Schutz für sendmail-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "'xinetd' gestatten, uneingeschränkt zu laufen, inklusive einiger Dienste, "
+-#~ "die gestartet werden, die keine Domain-Übertragung explizit definiert "
+-#~ "haben."
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "SELinux-Schutz für setrans deaktivieren"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "rc-Skripten gestatten, uneingeschränkt zu laufen, inklusive beliebiger "
+-#~ "Daemons, die von einem rc-Skript gestartet werden, das keine Domain-"
+-#~ "Übertragung explizit definiert hat"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "SELinux-Schutz für setroubleshoot-Daemon deaktivieren"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "'rpm' gestatten, ohne Einschränkungen zu laufen"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "SELinux-Schutz für slapd-Daemon deaktivieren"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Privilegierten Dienstprogrammen wie 'hotplug' und 'insmod' gestatten, "
+-#~ "ohne Einschränkung zu laufen"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "SELinux-Schutz für slrnpull-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für updfstab daemon"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "SELinux-Schutz für smbd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für uptimed daemon"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "SELinux-Schutz für snmpd-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "'user_r' gestatten, 'sysadm_r'-Rechte via 'su', 'sudo' oder 'userhelper' "
+-#~ "zu erlangen. Ansonsten ist dies lediglich 'staff_r' gestattet"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "SELinux-Schutz für snort-Daemon deaktivieren"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Benutzern gestatten, den Befehl 'mount' auszuführen"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "SELinux-Schutz für soundd-Daemon deaktivieren"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Regulären Benutzern direkten Zugriff auf die Maus gestatten (nur dem X-"
+-#~ "Server gestatten)"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "SELinux-Schutz für sound-Daemon deaktivieren"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Benutzern gestatten, den Befehl 'dmesg' auszuführen"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Spam-Schutz"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Benutzern gestatten, Netzwerkschnittstellen zu kontrollieren (setzt "
+-#~ "ebenfalls USERCTL=true voraus)"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "SELinux-Schutz für spamd-Daemon deaktivieren"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Einem normalen Benutzer gestatten, 'ping' auszuführen"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "'spamd' Zugriff auf Benutzerverzeichnisse erlauben"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "Benutzer r/w noextattrfile (FAT, CDROM, FLOPPY) gestatten"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Dem Spam-Assassin-Daemon Netzwerkzugriff erlauben"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Benutzern gestatten, USB-Geräte zu lesen/beschreiben"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "SELinux-Schutz für speedmgmt-Daemon deaktivieren"
+-#~ 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 ""
+-#~ "Benutzern gestatten, TCP-Server auszuführen (Verbindung zu Ports und "
+-#~ "Annahme der Verbindung aus derselben Domain und ausserhalb 'users'). Wird "
+-#~ "dies verweigert, muss FTP im Passiv-Modus laufen und verändert ggf. auch "
+-#~ "andere Protokolle"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Benutzer gestatten, 'ttyfiles' statistisch anzusehen"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Dem Squid-Daemon erlauben, sich mit dem Netzwerk zu verbinden"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für uucpd daemon"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "SELinux-Schutz für squid-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für vmware daemon"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "SELinux-Schutz für ssh-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für watchdog daemon"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "SSH-Logins als 'sysadm_r:sysadm_t' erlauben"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für winbind daemon"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"'staff_r'-Benutzern erlauben, das 'sysadm'-Benutzerverzeichnis zu "
++"durchsuchen und Dateien zu lesen (z.B. ~/.bashrc)"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für xdm daemon"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Universeller SSL-Tunnel"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "'xdm' Logins als 'sysadm_r:sysadm_t' gestatten"
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "SELinux-Schutz für stunnel-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für xen daemon"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"Dem stunnel-Daemon erlauben, eigenständig ausserhalb von 'xinetd' zu laufen"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "SELinux-Schutz für swat-Daemon deaktivieren"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "'xen' gestatten, physikalische Plattengeräte zu lesen/beschreiben"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "SELinux-Schutz für sxid-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für xfs daemon"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "SELinux-Schutz für syslogd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Deaktiviere SELinux-Schutz für xen-Daemon"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "SELinux-Schutz für System cron-Dienst deaktivieren"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ypbind daemon"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "SELinux-Schutz für tcp-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für NIS Password Daemon"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "SELinux-Schutz für telnet-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für ypserv daemon"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "SELinux-Schutz für tftpd-Daemon deaktivieren"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Deaktiviere SELinux Schutz für NIS Transfer Daemon"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "SELinux-Schutz für transproxy-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Dem SELinux-Benutzer webadm gestatten, nicht privilegierte "
+-#~ "Benutzerverzeichnisse zu verwalten"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "SELinux-Schutz für udev-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Dem SELinux-Benutzer webadm gestatten, nicht privilegierte "
+-#~ "Benutzerverzeichnisse zu lesen"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "SELinux-Schutz für uml-Daemon deaktivieren"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Möchten Sie %s '%s' wirklich löschen?"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"'xinetd' erlauben, uneingeschränkt zu laufen, inklusive einiger Dienste, die "
++"gestartet werden, welche Domain-Übertragung nicht explizit definiert haben."
+-#~ msgid "Delete %s"
+-#~ msgstr "%s löschen"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc-Skripten erlauben, uneingeschränkt zu laufen, inklusive beliebiger "
++"Daemons, die von einem rc-Skript gestartet werden, das Domain-Übertragung "
++"nicht explizit definiert hat"
+-#~ msgid "Add %s"
+-#~ msgstr "Hinzufügen von %s"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "'rpm' erlauben, ohne Einschränkungen zu laufen"
+-#~ msgid "Modify %s"
+-#~ msgstr "%s ändern"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Privilegierten Dienstprogrammen wie 'hotplug' und 'insmod' erlauben, ohne "
++"Einschränkung zu laufen"
+-#~ msgid "Permissive"
+-#~ msgstr "Permissive"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "SELinux-Schutz für updfstab-Daemon deaktivieren"
+-#~ msgid "Enforcing"
+-#~ msgstr "Enforcing"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "SELinux-Schutz für uptimed-Daemon deaktivieren"
+-#~ msgid "Disabled"
+-#~ msgstr "Deaktiviert"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"'user_r' erlauben, 'sysadm_r'-Rechte via 'su', 'sudo' oder 'userhelper' zu "
++"erlangen. Andernfalls ist dies lediglich 'staff_r' gestattet"
+-#~ msgid "Status"
+-#~ msgstr "Status"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Benutzern erlauben, den mount-Befehl auszuführen"
+-#~ 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 ""
+-#~ "Wenn der Richtlinientyp geändert wird, muss beim nächsten Neustart das "
+-#~ "vollständige Dateisystem neu beschriftet werden. Das Neubeschriften wird, "
+-#~ "je nach Grösse des Dateisystems, sehr lange dauern. Wollen Sie fortfahren?"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Regulären Benutzern direkten Zugriff auf die Maus erlauben (nur dem X-Server "
++"erlauben)"
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Das Deaktivieren von SELinux erfordert einen Neustart. Es wird nicht "
+-#~ "empfohlen. Falls Sie nachträglich entscheiden, SELinux wieder zu "
+-#~ "aktivieren, muss das System neu gekennzeichnet werden. Falls Sie nur "
+-#~ "überprüfen möchten, ob SELinux ein Problem auf Ihrem System verursacht, "
+-#~ "können Sie in den 'permissive' Modus wechseln, in dem Fehler lediglich "
+-#~ "protokolliert, die SELinux-Richtlinien jedoch nicht erzwungen werden. Der "
+-#~ "'permissive' Modus erfordert keinen Neustart. Möchten Sie fortfahren?"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Benutzern erlauben den dmesg-Befehl auszuführen"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Das Aktivieren von SELinux führt eine komplette Neu-Kennzeichnung des "
+-#~ "gesamten Dateisystems beim nächsten Neustart nach sich. Das Neu-"
+-#~ "Kennzeichnen dauert sehr lange, abhängig von der Grösse des Dateisystems. "
+-#~ "Möchten Sie fortfahren?"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Benutzern erlauben, Netzwerkschnittstellen zu kontrollieren (setzt zudem "
++"USERCTL=true voraus)"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Wählen Sie aus:</b>"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Normalen Benutzern erlauben, 'ping' auszuführen"
+-#~ msgid "Add"
+-#~ msgstr "Hinzufügen"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Benutzern erlauben, 'noextattrfile' (FAT, CDROM, FLOPPY) zu lesen/beschreiben"
+-#~ msgid "Add File Context"
+-#~ msgstr "Dateikontext hinzufügen"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Benutzern erlauben, USB-Geräte zu lesen/beschreiben"
+-#~ msgid "Add Network Port"
+-#~ msgstr "Netzwerk-Port hinzufügen"
++#: ../gui/selinux.tbl:216
++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 ""
++"Benutzern erlauben, TCP-Server auszuführen (Verbindung zu Ports und Annahme "
++"der Verbindung aus derselben Domain und ausserhalb 'users'). Wird dies "
++"verweigert, muss FTP im Passiv-Modus laufen und verändert ggf. auch andere "
++"Protokolle"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux Login-Zuweisung hinzufügen"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Benutzer erlauben, 'ttyfiles' statistisch anzusehen"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux Netzwerk-Ports hinzufügen"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "SELinux-Schutz für uucpd-Daemon deaktivieren"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux-Benutzer hinzufügen"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "SELinux-Schutz für vmware-Daemon deaktivieren"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux Benutzerzuweisung hinzufügen"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "SELinux-Schutz für watchdog-Daemon deaktivieren"
+-#~ msgid "Add Translation"
+-#~ msgstr "Übersetzung hinzufügen"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "SELinux-Schutz für winbind-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "SELinux-Schutz für xdm-Daemon deaktivieren"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Derzeitiger Enforcing-Modus"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "'xdm' Logins als 'sysadm_r:sysadm_t' erlauben"
+-#~ msgid "Delete File Context"
+-#~ msgstr "Dateikontext löschen"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "SELinux-Schutz für xen-Daemon deaktivieren"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Netzwerk-Port löschen"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux-Benutzerzuordnung löschen"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "'xen' erlauben, physische Festplatten zu lesen/beschreiben"
+-#~ msgid "Delete Translation"
+-#~ msgstr "Übersetzung löschen"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "SELinux-Schutz für xfs-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "Deaktiviert\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "SELinux-Schutz für xen-Steuerung deaktivieren"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Netzwerk-Port bearbeiten"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "SELinux-Schutz für ypbind-Daemon deaktivieren"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Zusätzliche Prüfregeln aktivieren/deaktivieren, die normalerweise nicht "
+-#~ "in den Protokolldateien erscheinen."
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "SELinux-Schutz für NIS-Passwort-Daemon deaktivieren"
+-#~ msgid "File Specification"
+-#~ msgstr "Dateispezifikation"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "SELinux-Schutz für ypserv-Daemon deaktivieren"
+-#~ msgid "File Type"
+-#~ msgstr "Dateityp"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "SELinux-Schutz für NIS-Transfer-Daemon deaktivieren"
+-#~ msgid "Filter"
+-#~ msgstr "Filter"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Dem SELinux-Benutzer webadm erlauben, nicht privilegierte "
++"Benutzerverzeichnisse zu verwalten"
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Neues Richtlinienmodul generieren"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Dem SELinux-Benutzer webadm erlauben, nicht privilegierte "
++"Benutzerverzeichnisse zu lesen"
+-#~ msgid "Load policy module"
+-#~ msgstr "Richtlinienmodul laden"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Wollen Sie %s '%s' wirklich löschen?"
+-#~ msgid "Lockdown..."
+-#~ msgstr "Abriegelung..."
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s löschen"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s hinzufügen"
+-#~ msgid "Modify File Context"
+-#~ msgstr "Datei-Kontext ändern"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s bearbeiten"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux-Benutzer modifizieren"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissive"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux-Benutzer Benutzerzuordnung"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Enforcing"
+-#~ msgid "Modify Translation"
+-#~ msgstr "Übersetzung bearbeiten"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Deaktiviert"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Beim nächsten Neustart neu kennzeichnen."
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Ladbares Richtlinienmodul entfernen"
++#: ../gui/statusPage.py:133
++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 ""
++"Wenn der Richtlinientyp geändert wird, muss beim nächsten Neustart das "
++"vollständige Dateisystem neu gekennzeichnet werden. Die Neukennzeichnung "
++"kann je nach Grösse des Dateisystems sehr lange dauern. Wollen Sie "
++"fortfahren?"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr ""
+-#~ "Boolsche Einstellungen auf Standardeinstellungen des Systems zurücksetzen"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Das Deaktivieren von SELinux erfordert einen Neustart. Es wird nicht "
++"empfohlen. Falls Sie nachträglich entscheiden, SELinux wieder zu aktivieren, "
++"muss das System neu gekennzeichnet werden. Falls Sie nur überprüfen möchten, "
++"ob SELinux ein Problem auf Ihrem System verursacht, können Sie in den "
++"'permissive' Modus wechseln, in dem Fehler lediglich protokolliert, die "
++"SELinux-Richtlinien jedoch nicht erzwungen werden. Der 'permissive' Modus "
++"erfordert keinen Neustart. Möchten Sie fortfahren?"
+-#~ msgid "Run booleans lockdown wizard"
+-#~ msgstr "Führe Boolean Abrieglungs-Konfigurationsassistenten aus"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Das Aktivieren von SELinux führt beim nächsten Neustart zu einer kompletten "
++"Neukennzeichnung des gesamten Dateisystems. Die Neukennzeichnung kann je "
++"nach Grösse des Dateisystems sehr lange dauern. Wollen Sie fortfahren?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux-Administration"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux-Login-Zuordnung hinzufügen"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux-Netzwerk-Ports hinzufügen"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux-Typ"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux-Typ"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS-\n"
++"Stufe"
+-#~ msgid "Select Management Object"
+-#~ msgstr "Management-Objekt auswählen"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Dateispezifikation"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Wählen Sie aus, ob Sie das gesamte Dateisystem beim nächsten Neustart neu "
+-#~ "kennzeichnen möchten. Das Neu-Kennzeichnen kann sehr lange dauern, "
+-#~ "abhängig von der Grösse des Systems. Falls Sie die Richtlinientypen "
+-#~ "ändern oder vom Zustand 'disabled' zu 'enforcing' wechseln, ist eine Neu-"
+-#~ "Kennzeichnung erforderlich."
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Dateityp"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Standard-Enforcing-Modus des Systems"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"alle Dateien\n"
++"reguläre Datei\n"
++"Verzeichnis\n"
++"Zeichengerät\n"
++"Blockgerät\n"
++"Socket\n"
++"symbolischer Link\n"
++"Named-Pipe\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux-Benutzer hinzufügen"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux-Administration"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Hinzufügen"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Eigenschaften"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Löschen"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Management-Objekt auswählen"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Auswählen:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Systemstandard Enforcing-Modus"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Systemstandard-Richtlinientyp: "
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Deaktiviert\n"
++"Permissive\n"
++"Enforcing\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Derzeitiger Enforcing-Modus"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Systemstandard-Richtlinientyp: "
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Zwischen 'Angepasst' und 'Alles Boolsche Werte' auswählen"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Wählen Sie aus, ob Sie das gesamte Dateisystem beim nächsten Neustart neu "
++"kennzeichnen möchten.  Die Neukennzeichnung kann je nach Grösse des "
++"Dateisystems sehr lange dauern. Falls Sie die Richtlinientypen ändern oder "
++"vom Zustand 'disabled' zu 'enforcing' wechseln, ist eine Neukennzeichnung "
++"erforderlich."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Beim nächsten Neustart neu kennzeichnen."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++"Einstellungen der Booleschen Variablen auf Standardeinstellungen des Systems "
++"zurücksetzen"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Zwischen 'Angepasst' und 'Alle' Boolschen Variablen wechseln"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Sperr-Assistenten für Boolesche Variablen ausführen"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Sperren..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filter"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Dateikontext hinzufügen"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Dateikontext ändern"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Dateikontext löschen"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Zwischen 'Angepassten' und 'Allen' Dateikontexten wechseln"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Zwischen 'Angepasst' und 'Alle Ports' auswählen"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux-Benutzerzuordnung hinzufügen"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "Zwischen 'Alles' oder 'Angepasstem Dateikontext' auswählen"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux-Benutzerzuordnung ändern"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux-Benutzerzuordnung löschen"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Benutzer hinzufügen"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Benutzer bearbeiten"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Benutzer löschen"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Übersetzung hinzufügen"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Übersetzung ändern"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Übersetzung löschen"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Netzwerk-Port hinzufügen"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Netzwerk-Port bearbeiten"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Netzwerk-Port löschen"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Zwischen 'Angepassten' und 'Allen' Ports wechseln"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Neues Richtlinienmodul erstellen"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Richtlinienmodul laden"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Ladbares Richtlinienmodul löschen"
+-#~ msgid "_Delete"
+-#~ msgstr "_Löschen"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Zusätzliche Audit-Regeln aktivieren/deaktivieren, die normalerweise nicht in "
++"den Protokolldateien erscheinen."
+-#~ msgid "_Properties"
+-#~ msgstr "_Einstellungen"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "alle Dateien\n"
+-#~ "reguläre Datei\n"
+-#~ "Verzeichnis\n"
+-#~ "Zeichengerät\n"
+-#~ "Blockgerät\n"
+-#~ "Socket\n"
+-#~ "symbolischer Link\n"
+-#~ "Named-Pipe\n"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Prozessmodus in 'permissive' ändern."
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Prozessmodus in 'enforcing' ändern"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Prozess-Domainn"
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "Empfindlichkeitsstufe"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux-Benutzer '%s' wird benötigt"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux-Benutzer '%s' wird benötigt"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/el.po policycoreutils-2.0.85/po/el.po
+--- nsapolicycoreutils/po/el.po        2011-02-17 15:11:25.850722895 -0500
++++ policycoreutils-2.0.85/po/el.po    2011-02-18 16:03:41.355975653 -0500
+@@ -1,22 +1,43 @@
+ # translation of el.po to Greek
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+ # This file is distributed under the same license as the PACKAGE package.
+-#
+ # Simos Xenitellis <simos@gnome.org>, 2006.
+ # Dimitris Glezos <dimitris@glezos.com>, 2006.
++# Thalia Papoutsaki <saliyath@gmail.com>, 2010.
++# Nikos Charonitakis <nikcha@ovi.com>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: el\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2006-09-18 14:49+0100\n"
+-"Last-Translator: Dimitris Glezos <dimitris@glezos.com>\n"
+-"Language-Team: Greek <fedora-trans-el@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-03-10 19:39+0300\n"
++"Last-Translator: Nikos Charonitakis <nikcha@ovi.com>\n"
++"Language-Team: Greek\n"
++"Language: el\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
++"Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"X-Generator: Virtaal 0.5.1\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Αδυναμία δημιουργίας συσκευής αναπαραγωγής"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -56,14 +77,14 @@
+ msgstr "run_init: λανθασμένο συνθηματικό για %s\n"
+ #: ../run_init/run_init.c:309
+-#, fuzzy, c-format
++#, c-format
+ msgid "Could not open file %s\n"
+-msgstr "Δεν ήταν δυνατό το άνοιγμα του αρχείου"
++msgstr "Δεν ήταν δυνατό το άνοιγμα του αρχείου %s\n"
+ #: ../run_init/run_init.c:336
+-#, fuzzy, c-format
++#, c-format
+ msgid "No context in file %s\n"
+-msgstr "Αδυναμία ανοίγματος αρχείου %s.\n"
++msgstr "Δεν υπάρχει περιεχόμενο στο αρχείο %s.\n"
+ #: ../run_init/run_init.c:361
+ #, c-format
+@@ -82,7 +103,7 @@
+ #: ../audit2allow/audit2allow:217
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
++msgstr "******************** ΣΗΜΑΝΤΙΚΟ ***********************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+@@ -127,11 +148,12 @@
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "Επίπεδο"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "Μετάφραση"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, fuzzy, python-format
+@@ -139,9 +161,9 @@
+ msgstr "Ο φάκελος δεν είναι δυνατό να περιέχει το χαρακτήρα '/'"
+ #: ../semanage/seobject.py:250
+-#, fuzzy, python-format
++#, python-format
+ msgid "Invalid Level '%s' "
+-msgstr "Μη έγκυρη στρατηγική '%s'"
++msgstr "Μη έγκυρο επίπεδο '%s'"
+ #: ../semanage/seobject.py:253
+ #, fuzzy, python-format
+@@ -184,553 +206,558 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
++#, python-format
+ msgid "Could not create a key for %s"
+-msgstr "Αδυναμία δημιουργίας cache για %s"
++msgstr "Αδυναμία δημιουργίας κλειδιού για %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, fuzzy, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Δεν ήταν δυνατό να ελεγχθεί το αρχείο μηνυμάτων %s: %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, fuzzy, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Constant \"%s\" έχει ήδη καθορισθεί"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Ο φάκελος `%s' δεν υπάρχει."
++msgstr "Η Ομάδα Linux  %s  δεν υπάρχει"
+-#: ../semanage/seobject.py:426
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:422
++#, python-format
+ msgid "Linux User %s does not exist"
+-msgstr "Ο φάκελος `%s' δεν υπάρχει."
++msgstr "Ο χρήστης Linux %s δεν υπάρχει"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, fuzzy, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Αδυναμία δημιουργίας journal για %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, fuzzy, python-format
+ msgid "Could not set name for %s"
+ msgstr "Δεν ήταν δυνατή η μετονομασία του φακέλου : %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, fuzzy, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Αδυναμία αποθήκευσης φακέλου : %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, fuzzy, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Αδυναμία δημιουργίας journal για %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, fuzzy, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Δεν ήταν δυνατή η φόρτωση της περίληψης για  %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ #, fuzzy
+ msgid "add SELinux user mapping"
+ msgstr "Αδυναμία προσθήκης αγαπημένου: %s"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, fuzzy, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, fuzzy, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Δεν ήταν δυνατή η φόρτωση της περίληψης για  %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, fuzzy, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Δεν είναι δυνατή η ανάγνωση πληροφοριών συμβολικού δεσμού για %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, fuzzy, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Αδυναμία δημιουργίας journal για %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ #, fuzzy
+ msgid "Could not list login mappings"
+ msgstr "Αποτυχία δημιουργίας δεσμού στο pipeline"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-#, fuzzy
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "Χρειάζεται ένας διοργανωτής."
++msgstr "Χρήστης SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Αδυναμία φόρτωσης εικονιδίου για %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
++#, python-format
+ msgid "Could not check if SELinux user %s is defined"
+-msgstr "Δεν ήταν δυνατό να ελεγχθεί το αρχείο μηνυμάτων %s: %s"
++msgstr "Δεν ήταν δυνατό να ελεγχθεί αν ο χρήστης SELinux %s έχει καθοριστεί"
+-#: ../semanage/seobject.py:604
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:600
++#, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr "Constant \"%s\" έχει ήδη καθορισθεί"
++msgstr "Ο χρήστης SELinux %s έχει ήδη καθορισθεί"
+-#: ../semanage/seobject.py:608
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:604
++#, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr "Αδυναμία δημιουργίας journal για %s"
++msgstr "Αδυναμία δημιουργίας χρήστη SELinux για %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, fuzzy, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Αδυναμία προσθήκης αγαπημένου: %s"
+ #
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, fuzzy, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Αποτυχία ρύθμισης των διαπιστευτηρίων για %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, fuzzy, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Αδυναμία προσθήκης αγαπημένου: %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, fuzzy, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, fuzzy, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Αδυναμία προσθήκης αγαπημένου: %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ #, fuzzy
+ msgid "Requires prefix or roles"
+ msgstr "_Απαιτούμενα άτομα"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
++#, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
++msgstr "Ο χρήστης SELinux %s δεν έχει ορισθεί"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, fuzzy, python-format
+ msgid "Could not query user for %s"
+ msgstr "Αδυναμία δημιουργίας journal για %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, fuzzy, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Αδυναμία φόρτωσης εικονιδίου \"%s\": %s\n"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, fuzzy, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ #, fuzzy
+ msgid "Could not list SELinux users"
+ msgstr "Αδυναμία εκκίνησης Sound Juicer"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, fuzzy, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Αδυναμία αποθήκευσης φακέλου : %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "Prefix"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ #, fuzzy
+ msgid "Protocol udp or tcp is required"
+ msgstr "Δεν υποστηρίζεται το πρωτόκολλο"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ #, fuzzy
+ msgid "Port is required"
+ msgstr "Απαιτείται κωδικός."
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, fuzzy, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ #, fuzzy
+ msgid "Type is required"
+ msgstr "Απαιτείται πληρωμή"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, fuzzy, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Δεν ήταν δυνατό να ελεγχθεί το αρχείο μηνυμάτων %s: %s"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, fuzzy, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Constant \"%s\" έχει ήδη καθορισθεί"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, fuzzy, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Αδυναμία δημιουργίας journal για %s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, fuzzy, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, fuzzy, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Δεν ήταν δυνατό το κλείσιμο του φακέλου πηγής %s: %s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, fuzzy, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Δεν είναι δυνατή η ανάγνωση πληροφοριών συμβολικού δεσμού για %s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, fuzzy, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Αδυναμία συγχρονισμού φακέλου spool %s: %s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Δεν ήταν δυνατή η δημιουργία αρχείου κλειδώματος για %s: %s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, fuzzy, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Δεν ήταν δυνατό το κλείσιμο του φακέλου πηγής %s: %s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, fuzzy, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Αδυναμία προσθήκης αγαπημένου: %s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ #, fuzzy
+ msgid "Requires setype"
+ msgstr "_Απαιτούμενα άτομα"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, fuzzy, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, fuzzy, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Δεν ήταν δυνατή η φόρτωση της περίληψης για  %s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, fuzzy, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Δεν ήταν δυνατή η δικράνωση: %s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ #, fuzzy
+ msgid "Could not list the ports"
+ msgstr "Αδυναμία αποθήκευσης φακέλου : %s"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Δεν ήταν δυνατή η διαγραφή του φακέλου `%s': %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, fuzzy, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Δεν ήταν δυνατή η διαγραφή του φακέλου `%s': %s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ #, fuzzy
+ msgid "Could not list ports"
+ msgstr "Αδυναμία αποθήκευσης φακέλου : %s"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ #, fuzzy
+ msgid "Node Address is required"
+ msgstr "Απαιτείται κωδικός."
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ #, fuzzy
+ msgid "Node Netmask is required"
+ msgstr "Απαιτείται κωδικός."
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "άγνωστο ή χαμένο πρωτόκολλο"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ #, fuzzy
+ msgid "SELinux Type is required"
+ msgstr "Χρειάζεται ένας διοργανωτής."
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, fuzzy, python-format
+ msgid "Could not create key for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, fuzzy, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Δεν ήταν δυνατό να ελεγχθεί το αρχείο μηνυμάτων %s: %s"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "Constant \"%s\" έχει ήδη καθορισθεί"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, fuzzy, python-format
+ msgid "Could not create context for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Δεν ήταν δυνατή η μετονομασία του φακέλου : %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Αδυναμία αναγνώρισης τύπου αρχείου %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Αδυναμία αναγνώρισης τύπου αρχείου %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Αδυναμία αποθήκευσης του αρχείου  %s."
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Δεν είναι δυνατή η ανάγνωση πληροφοριών συμβολικού δεσμού για %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Αδυναμία προσθήκης αγαπημένου: %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Δεν ήταν δυνατή η φόρτωση της περίληψης για  %s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Δεν ήταν δυνατή η δικράνωση: %s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, fuzzy, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Οι φάκελοι spool δε μπορούν να διαγραφούν"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Αδυναμία αποθήκευσης φακέλου : %s"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, fuzzy, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Αδυναμία σύνδεσης στο περιβάλλον χρήσης '%s'"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, fuzzy, python-format
+ msgid "Interface %s already defined"
+ msgstr "Constant \"%s\" έχει ήδη καθορισθεί"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, fuzzy, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, fuzzy, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Αδυναμία ανάλυσης ονόματος διεπαφής από  '%s'"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, fuzzy, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Αδυναμία ανάλυσης ονόματος διεπαφής από  '%s'"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, fuzzy, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Αδυναμία ανάλυσης ονόματος διεπαφής από  '%s'"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Αδυναμία ανάλυσης ονόματος διεπαφής από  '%s'"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, fuzzy, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Αδυναμία ανάλυσης ονόματος διεπαφής από  '%s'"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, fuzzy, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Δεν είναι δυνατή η αποστολή του μηνύματος : %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, fuzzy, python-format
+ msgid "Could not add interface %s"
+ msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, fuzzy, python-format
+ msgid "Interface %s is not defined"
+ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, fuzzy, python-format
+ msgid "Could not query interface %s"
+ msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, fuzzy, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+@@ -741,210 +768,211 @@
+ "#-#-#-#-#  gnome-volume-manager.HEAD.el.po (el)  #-#-#-#-#\n"
+ "Αδυναμία φόρτωσης κύριας διεπαφής"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, fuzzy, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ #, fuzzy
+ msgid "Could not list interfaces"
+ msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "Περιβάλλον SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, fuzzy, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Αδυναμία αναγνώρισης τύπου αρχείου %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, fuzzy, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Αδυναμία αναγνώρισης τύπου αρχείου %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Δεν είναι δυνατή η ανάγνωση πληροφοριών συμβολικού δεσμού για %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, fuzzy, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Δεν ήταν δυνατό να ελεγχθεί το αρχείο μηνυμάτων %s: %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, fuzzy, python-format
+ msgid "File context for %s already defined"
+ msgstr "Constant \"%s\" έχει ήδη καθορισθεί"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, fuzzy, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, fuzzy, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Αδυναμία αποθήκευσης του αρχείου  %s."
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, fuzzy, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, fuzzy, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Αδυναμία φόρτωσης εικονιδίου για %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, fuzzy, python-format
+ msgid "File context for %s is not defined"
+ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, fuzzy, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Αδυναμία δημιουργίας cache για %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, fuzzy, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Αδυναμία φόρτωσης εικονιδίου για %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ #, fuzzy
+ msgid "Could not list the file contexts"
+ msgstr "Αδυναμία προβολής περιεχομένου."
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, fuzzy, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+ "Δεν ήταν δυνατή η διαγραφή του αρχείου περιεχομένων του φακέλου `%s': %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, fuzzy, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+ "Δεν ήταν δυνατή η διαγραφή του αρχείου περιεχομένων του φακέλου `%s': %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ #, fuzzy
+ msgid "Could not list file contexts"
+ msgstr "Αδυναμία προβολής περιεχομένου."
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ #, fuzzy
+ msgid "Could not list local file contexts"
+ msgstr "Αδυναμία προβολής περιεχομένου."
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "τύπος"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, fuzzy, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Δεν ήταν δυνατό να ελεγχθεί το αρχείο μηνυμάτων %s: %s"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, fuzzy, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, fuzzy, python-format
+ msgid "Could not query file context %s"
+ msgstr "Δεν είναι δυνατό το άνοιγμα του αρχείου: %s: %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Θα πρέπει να καθορίσετε ένα μοτίβο"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Δεν ήταν δυνατή η διαγραφή του φακέλου `%s': %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, fuzzy, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Αδυναμία ανοίγματος \"%s\""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, fuzzy, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Οι φάκελοι spool δε μπορούν να διαγραφούν"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, fuzzy, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Δεν ήταν δυνατή η διαγραφή του φακέλου `%s': %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ #, fuzzy
+ msgid "Could not list booleans"
+ msgstr "Αδυναμία αποθήκευσης φακέλου : %s"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "άγνωστο"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "SELinux boolean"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Περιγραφή"
+ #
+ #: ../newrole/newrole.c:198
+@@ -968,9 +996,9 @@
+ msgstr ""
+ #: ../newrole/newrole.c:447
+-#, fuzzy, c-format
++#, c-format
+ msgid "Out of memory!\n"
+-msgstr "Η μνήμη εξαντλήθηκε"
++msgstr "Ανεπάρκεια μνήμης!\n"
+ #: ../newrole/newrole.c:452
+ #, c-format
+@@ -1217,9 +1245,9 @@
+ msgstr "Αποτυχία εκτέλεσης gpg: %s"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "Χρήση: %s\n"
++msgstr "Χρήση:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+@@ -1247,9 +1275,9 @@
+ msgstr ""
+ #: ../scripts/chcat:110
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s is already in %s"
+-msgstr "%s είναι ήδη στη λίστα"
++msgstr "%s είναι ήδη στο %s"
+ # #-#-#-#-#  nautilus.gnome-2-14.el.po (el)  #-#-#-#-#
+ #
+@@ -1297,9 +1325,9 @@
+ msgstr ""
+ #: ../scripts/chcat:331
+-#, fuzzy, c-format
++#, c-format
+ msgid "Usage %s -L"
+-msgstr "Χρήση: %s\n"
++msgstr "Χρήση %s -L"
+ #: ../scripts/chcat:332
+ #, c-format
+@@ -1312,98 +1340,2100 @@
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+-msgstr ""
++msgstr "chcat -- -CompanyConfidential /docs/businessplan.odt"
+ #: ../scripts/chcat:335
+ msgid "chcat -l +CompanyConfidential juser"
+-msgstr ""
++msgstr "chcat -l +CompanyConfidential juser"
+ #: ../scripts/chcat:399
+ #, fuzzy, c-format
+ msgid "Options Error %s "
+ msgstr "Σφάλμα πιστοποίησης: %s"
+-#, fuzzy
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr ""
+-#~ "#-#-#-#-#  epiphany.gnome-2-14.el.po (el)  #-#-#-#-#\n"
+-#~ "Δεν υποστηρίζεται η εκτύπωση σε αυτόν τον εκτυπωτή\n"
+-#~ "#-#-#-#-#  yelp.gnome-2-14.el.po (el)  #-#-#-#-#\n"
+-#~ "Η εκτύπωση δεν υποστηρίζεται σε αυτόν τον εκτυπωτή"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Boolean"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "Χρειάζεται ένας διοργανωτής."
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "όλα"
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Χρειάζεται ένας διοργανωτής."
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Σφάλμα ανάκτησης μηνύματος"
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Πρέπει να καθορίσετε ένα κατάλογο."
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Πρέπει να καθορίσετε ένα κατάλογο."
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"SELinux\n"
++"Τύπος αρχείου"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Πρέπει να καθορίσετε ένα κατάλογο."
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Γίνεται αντιγραφή δίσκου"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Πιστοποίηση %s.\n"
++#: ../gui/loginsPage.py:133
++#, fuzzy, python-format
++msgid "Login '%s' is required"
++msgstr "Χρειάζεται ένας διοργανωτής."
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "Χρειάζεται ένας διοργανωτής."
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Αδυναμία προσθήκης αγαπημένου: %s"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Αδυναμία φόρτωσης εικονιδίου \"%s\": %s\n"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Έκδοση"
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Αδυναμία φόρτωσης εικονιδίου \"%s\": %s\n"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Αδυναμία δημιουργίας συσκευής αναπαραγωγής"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Χρειάζεται ένας διοργανωτής."
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Εφαρμογές</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Όνομα"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Εκτελέσιμο"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Θύρες TCP</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Όλα"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Επιλογή θυρών"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Χρησιμοποιεί dbus"
++
++#: ../gui/polgen.glade:2297
++#, fuzzy
++msgid "Sends audit messages"
++msgstr "Σφάλμα ανάκτησης μηνύματος"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Εφαρμογή"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s πρέπει να είναι ένας κατάλογος"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Πρέπει να επιλέξετε έναν χρήστη"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Επιβεβαίωση ονόματος"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Πρέπει να εισάγεται ένα όνομα"
++
++#: ../gui/polgengui.py:610
++#, fuzzy
++msgid "You must enter a executable"
++msgstr "Πρέπει να καθορίσετε ένα κατάλογο."
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Ρύθμιση SELinux"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++#, fuzzy
++msgid "Interface file"
++msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
++
++#: ../gui/polgen.py:850
++#, fuzzy
++msgid "File Contexts file"
++msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Πρωτόκολλο"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Θύρα"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Προβολή λίστας"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++#, fuzzy
++msgid "SELinux Service Protection"
++msgstr "η γραμματοσειρά %d δεν έχει ορισθεί\n"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Ρύθμιση δικτύου"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Βάσεις δεδομένων"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Εφαρμογές Web"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Απενεργοποίηση προστασίας SELinux για amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Απενεργοποίηση προστασίας SELinux για amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για apmd daemon"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για arpwatch daemon"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για auditd daemon"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για automount daemon"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Απενεργοποίηση προστασίας SELinux για avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για bluetooth daemon"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για canna daemon"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για cardmgr daemon"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Απενεργοποίηση προστασίας SELinux για Cluster Server"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ciped daemon"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για clamd daemon"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Απενεργοποίηση προστασίας SELinux για clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Απενεργοποίηση προστασίας SELinux για clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για comsat daemon"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για courier daemon"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για cpucontrol daemon"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για cpuspeed daemon"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για crond daemon"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Εκτύπωση"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Απενεργοποίηση προστασίας SELinux για cupsd back end server"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για cupsd daemon"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Απενεργοποίηση προστασίας SELinux για cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για cvs daemon"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για cyrus daemon"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dbskkd daemon"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dbusd daemon"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Απενεργοποίηση προστασίας SELinux για dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Απενεργοποίηση προστασίας SELinux για dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Απενεργοποίηση προστασίας SELinux για dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ddt daemon"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για devfsd daemon"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dhcpc daemon"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dhcpd daemon"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dictd daemon"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Απενεργοποίηση προστασίας SELinux για το Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Παιχνίδια"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Απενεργοποίηση προστασίας SELinux για παιχνίδια"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Απενεργοποίηση προστασίας SELinux για τους web browsers"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Απενεργοποίηση προστασίας SELinux για το Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για distccd daemon"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dmesg daemon"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dnsmasq daemon"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για dovecot daemon"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για entropyd daemon"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Απενεργοποίηση προστασίας SELinux για fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για fingerd daemon"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για freshclam daemon"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για fsdaemon daemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για gpm daemon"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για gss daemon"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για Hal daemon"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Συμβατότητα"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για hostname daemon"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για hotplug daemon"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για howl daemon"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για cups hplip daemon"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Απενεργοποίηση προστασίας SELinux για httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD Service"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Απενεργοποίηση προστασίας SELinux για http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για hwclock daemon"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για i18n daemon"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για imazesrv daemon"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Απενεργοποίηση προστασίας SELinux για inetd child daemons"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για inetd daemons"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για innd daemon"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για iptables daemon"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ircd daemon"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για irqbalance daemon "
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για iscsi daemon"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για jabberd daemon"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για kadmind daemon"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για klogd daemon"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για krb5kdc daemon"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Απενεργοποίηση προστασίας SELinux για ktalk daemons"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για kudzu daemon"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για locate daemon"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για lpd daemon"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για lrrd daemon"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για lvm daemon"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Απενεργοποίηση προστασίας SELinux για mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για mdadm daemon"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για monopd daemon"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για mrtg daemon"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για mysqld daemon"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για nagios daemon"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για named daemon"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για nessusd daemon"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Απενεργοποίηση προστασίας SELinux για NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για nfsd daemon"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για nmbd daemon"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για nrpe daemon"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για nscd daemon"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για nsd daemon"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ntpd daemon"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Απενεργοποίηση προστασίας SELinux για oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Απενεργοποίηση προστασίας SELinux για oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για openvpn daemon"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για pam daemon"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Απενεργοποίηση προστασίας SELinux για pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για perdition daemon"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για portmap daemon"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για portslave daemon"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Απενεργοποίηση προστασίας SELinux για postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για postgresql daemon"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Απενεργοποίηση προστασίας SELinux για pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για prelink daemon"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για privoxy daemon"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ptal daemon"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για pxe daemon"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Απενεργοποίηση προστασίας SELinux για pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για quota daemon"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για radiusd daemon"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για radvd daemon"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Απενεργοποίηση προστασίας SELinux για rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Απενεργοποίηση προστασίας SELinux για readahead"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Απενεργοποίηση προστασίας SELinux για restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για rhgb daemon"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Απενεργοποίηση προστασίας SELinux για ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Απενεργοποίηση προστασίας SELinux για ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για rlogind daemon"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για rpcd daemon"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Απενεργοποίηση προστασίας SELinux για rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για rsync daemon"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++#, fuzzy
++msgid "SASL authentication server"
++msgstr "Πιστοποίηση %s.\n"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για saslauthd daemon"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για scannerdaemon daemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για sendmail daemon"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Απενεργοποίηση προστασίας SELinux για setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για setroubleshoot daemon"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για slapd daemon"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για slrnpull daemon"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για smbd daemon"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για snmpd daemon"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για snort daemon"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για soundd daemon"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για sound daemon"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για spamd daemon"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για speedmgmt daemon"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για squid daemon"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ssh daemon"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για stunnel daemon"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για swat daemon"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για sxid daemon"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για syslogd daemon"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Απενεργοποίηση προστασίας SELinux για system cron jobs"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για tcp daemon"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για telnet daemon"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για tftpd daemon"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για transproxy daemon"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για udev daemon"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για uml daemon"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για updfstab daemon"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για uptimed daemon"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για uucpd daemon"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για vmware daemon"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για watchdog daemon"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για winbind daemon"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Απενεργοποίηση της προστασίας SELinux για το xdm daemon"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για xen daemon"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για xfs daemon"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Απενεργοποίηση προστασίας SELinux για xen control"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ypbind daemon"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για NIS Password Daemon"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για ypserv daemon"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Απενεργοποίηση προστασίας SELinux για NIS Transfer Daemon"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Είστε σίγουρος πως θέλετε να διαγράψετε το %s '%s'?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Διαγραφή %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Προσθήκη %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Τροποποίηση %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissive"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Enforcing"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Ανενεργό"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Κατάσταση"
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Τύπος SELinux"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Level"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Τύπος αρχείου"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Προσθήκη χρήστη SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Διαχείρηση SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Προσθήκη"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Ιδιότητες"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Διαγραφή"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Επιλογή:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Φίλτρο"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++#, fuzzy
++msgid "Modify SELinux User Mapping"
++msgstr "Αδυναμία φόρτωσης εικονιδίου \"%s\": %s\n"
++
++#: ../gui/system-config-selinux.glade:2219
++#, fuzzy
++msgid "Delete SELinux User Mapping"
++msgstr "Αδυναμία ενεργοποίησης της διεπαφής %s"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Προσθήκη χρήστη"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Τροποποίηση χρήστη"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Διαγραφή χρήστη"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Προσθήκη Μετάφρασης"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Τροποποίηση Μετάφρασης"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Διαγραφή Μετάφρασης"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Προσθήκη θύρα δικτύου"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++#, fuzzy
++msgid "Load policy module"
++msgstr "Αδυναμία δημιουργίας συσκευής αναπαραγωγής"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, fuzzy, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Χρειάζεται ένας διοργανωτής."
++
++#, fuzzy
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr ""
++#~ "#-#-#-#-#  epiphany.gnome-2-14.el.po (el)  #-#-#-#-#\n"
++#~ "Δεν υποστηρίζεται η εκτύπωση σε αυτόν τον εκτυπωτή\n"
++#~ "#-#-#-#-#  yelp.gnome-2-14.el.po (el)  #-#-#-#-#\n"
++#~ "Η εκτύπωση δεν υποστηρίζεται σε αυτόν τον εκτυπωτή"
+ #, fuzzy
+ #~ msgid "Requires value"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/en_GB.po policycoreutils-2.0.85/po/en_GB.po
+--- nsapolicycoreutils/po/en_GB.po     2011-02-17 15:11:25.910721905 -0500
++++ policycoreutils-2.0.85/po/en_GB.po 2011-02-18 16:03:41.357975667 -0500
+@@ -1,19 +1,42 @@
+ # English (British) translation.
+ # Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER
+ # This file is distributed under the same license as the PACKAGE package.
+-# Abigail Brady <morwen@evilmagic.org>, Bastien Nocera <hadess@hadess.net>, 2007.
+-#
++# Abigail Brady <morwen@evilmagic.org>, 2007.
++# Bastien Nocera <hadess@hadess.net>, 2007.
++# Bruce Cowan <bruce@bcowan.me.uk>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-06-11 13:52+0000\n"
+-"Last-Translator: Abigail Brady <morwen@evilmagic.org>\n"
+-"Language-Team: \n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-06-15 15:24+0100\n"
++"Last-Translator: Bruce Cowan <bruce@bcowan.me.uk>\n"
++"Language-Team: British English <en@li.org>\n"
++"Language: en_GB\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"
++"X-Generator: Virtaal 0.6.1\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Generate new policy module"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux Policy Generation Tool"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -28,7 +51,7 @@
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+ msgid "failed to initialize PAM\n"
+-msgstr "failed to initialize PAM\n"
++msgstr "failed to initialise PAM\n"
+ #: ../run_init/run_init.c:139
+ #, c-format
+@@ -80,20 +103,16 @@
+ msgstr "Could not set exec context to %s.\n"
+ #: ../audit2allow/audit2allow:217
+-#, fuzzy
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
+-"\n"
+-"******************** IMPORTANT ***********************\n"
++msgstr "******************** IMPORTANT ***********************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "To make this policy package active, execute:"
+ #: ../semanage/seobject.py:48
+-#, fuzzy
+ msgid "Could not create semanage handle"
+-msgstr "Could not start semanage transaction"
++msgstr "Could not create semanage handle"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+@@ -108,26 +127,26 @@
+ msgstr "Could not establish semanage connection"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Could not set MLS range for %s"
++msgstr "Could not test MLS enabled status"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "global"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "Unable to open %s: translations not supported on non-MLS machines"
++msgstr "Unable to open %s: translations not supported on non-MLS machines: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "Level"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "Translation"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+@@ -151,773 +170,771 @@
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Not yet implemented"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage transaction already in progress"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Could not start semanage transaction"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Could not start semanage transaction"
++msgstr "Could not commit semanage transaction"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage transaction not in progress"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Could not list SELinux users"
++msgstr "Could not list SELinux modules"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Permissive Types"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "Could not set permissive domain %s (module installation failed)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Could not remove permissive domain %s (remove failed)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Could not create a key for %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Could not check if login mapping for %s is defined"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Login mapping for %s is already defined"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux User %s does not exist"
++msgstr "Linux Group %s does not exist"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux User %s does not exist"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Could not create login mapping for %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Could not set name for %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Could not set MLS range for %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Could not set SELinux user for %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Could not add login mapping for %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
+-#, fuzzy
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "Could not add SELinux user %s"
++msgstr "add SELinux user mapping"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Requires seuser or serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Login mapping for %s is not defined"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Could not query seuser for %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Could not modify login mapping for %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "Login mapping for %s is defined in policy, cannot be deleted"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Could not delete login mapping for %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Could not list login mappings"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "Login Name"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-#, fuzzy
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "SELinux Type is required"
++msgstr "SELinux User"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr ""
++msgstr "MLS/MCS Range"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Could not add file context for %s"
++msgstr "You must add at least one role for %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Could not check if SELinux user %s is defined"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux user %s is already defined"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Could not create SELinux user for %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Could not add role %s for %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Could not set MLS level for %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Could not add prefix %s for %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Could not extract key for %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Could not add SELinux user %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Requires prefix, roles, level or range"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Requires prefix or roles"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux user %s is not defined"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Could not query user for %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Could not modify SELinux user %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux user %s is defined in policy, cannot be deleted"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Could not delete SELinux user %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Could not list SELinux users"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Could not list roles for user %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Labelling"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "Prefix"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr ""
++msgstr "MCS Level"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr ""
++msgstr "MCS Range"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "SELinux Roles"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Protocol udp or tcp is required"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Port is required"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Could not create a key for %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Type is required"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Could not check if port %s/%s is defined"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s already defined"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Could not create port for %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Could not create context for %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Could not set user in port context for %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Could not set role in port context for %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Could not set type in port context for %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Could not set mls fields in port context for %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Could not set port context for %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Could not add port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Requires setype or serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Requires setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s is not defined"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Could not query port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Could not modify port %s/%s"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "Could not list ports"
++msgstr "Could not list the ports"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "Could not delete port %s/%s"
++msgstr "Could not delete the port %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s is defined in policy, cannot be deleted"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Could not delete port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Could not list ports"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "SELinux Port Type"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr ""
++msgstr "Port Number"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Port is required"
++msgstr "Node Address is required"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Port is required"
++msgstr "Node Netmask is required"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Unknown or missing protocol"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux Type is required"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Could not create key for %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Could not check if port %s/%s is defined"
++msgstr "Could not check if addr %s is defined"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Port %s/%s already defined"
++msgstr "Addr %s already defined"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Could not create a key for %s"
++msgstr "Could not create addr for %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Could not create context for %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Could not set name for %s"
++msgstr "Could not set mask for %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Could not set user in file context for %s"
++msgstr "Could not set user in addr context for %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Could not set role in file context for %s"
++msgstr "Could not set role in addr context for %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Could not set type in file context for %s"
++msgstr "Could not set type in addr context for %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Could not set mls fields in file context for %s"
++msgstr "Could not set mls fields in addr context for %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Could not set file context for %s"
++msgstr "Could not set addr context for %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Could not add port %s/%s"
++msgstr "Could not add addr %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Port %s/%s is not defined"
++msgstr "Addr %s is not defined"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Could not query port %s/%s"
++msgstr "Could not query addr %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Could not modify port %s/%s"
++msgstr "Could not modify addr %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Port %s/%s is defined in policy, cannot be deleted"
++msgstr "Addr %s is defined in policy, cannot be deleted"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Could not delete interface %s"
++msgstr "Could not delete addr %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Could not list ports"
++msgstr "Could not list addrs"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Could not check if interface %s is defined"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Interface %s already defined"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Could not create interface for %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Could not set user in interface context for %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Could not set role in interface context for %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Could not set type in interface context for %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Could not set mls fields in interface context for %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Could not set interface context for %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Could not set message context for %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Could not add interface %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Interface %s is not defined"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Could not query interface %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Could not modify interface %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Interface %s is defined in policy, cannot be deleted"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Could not delete interface %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Could not list interfaces"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "SELinux Interface"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr ""
++msgstr "Context"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Could not set user in file context for %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Could not set role in file context for %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Could not set mls fields in file context for %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "Invalid file specification"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Could not check if file context for %s is defined"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "File context for %s already defined"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Could not create file context for %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Could not set type in file context for %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Could not set file context for %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Could not add file context for %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Requires setype, serange or seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "File context for %s is not defined"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Could not query file context for %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Could not modify file context for %s"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Could not list file contexts"
++msgstr "Could not list the file contexts"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Could not delete file context for %s"
++msgstr "Could not delete the file context %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "File context for %s is defined in policy, cannot be deleted"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Could not delete file context for %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Could not list file contexts"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Could not list local file contexts"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "type"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Could not check if boolean %s is defined"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Boolean %s is not defined"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Could not query file context %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "You must specify a prefix"
++msgstr "You must specify one of the following values: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Could not delete boolean %s"
++msgstr "Could not set active value of boolean %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Could not modify boolean %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Bad format %s: Record %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Boolean %s is defined in policy, cannot be deleted"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Could not delete boolean %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Could not list booleans"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "unknown"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "off"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "on"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "SELinux boolean"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Description"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -927,12 +944,12 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "newrole: service name configuration hashtable overflow\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "newrole:  %s:  error on line %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -955,9 +972,9 @@
+ msgstr "Unable to clear environment\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Error initing capabilities, aborting.\n"
++msgstr "Error initialising capabilities, aborting.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1068,6 +1085,7 @@
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+ msgstr ""
++"Error: you are not allowed to change levels on a non secure terminal \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1135,14 +1153,14 @@
+ msgstr "failed to get old_context.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Error!  Could not retrieve tty information.\n"
++msgstr "Warning!  Could not retrieve tty information.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "error on reading PAM service configuration.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+@@ -1184,19 +1202,19 @@
+ msgstr "failed to exec shell\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "usage:  %s [-bq]\n"
++msgstr "usage:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s:  Policy is already loaded and initial load requested\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  Can't load policy:  %s\n"
++msgstr "%s:  Can't load policy and enforcing mode requested:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1287,86 +1305,2208 @@
+ msgid "Options Error %s "
+ msgstr "Options Error %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "translations not supported on non-MLS machines"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Boolean"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "all"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Customised"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "File Labelling"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "SELinux Type is required"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"File\n"
++"Specification"
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "SELinux Type is required"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"File Type"
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Error sending audit message.\n"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"File\n"
++"Type"
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "You must specify a role"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "User Mapping"
+-#, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "You must specify a role"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Login\n"
++"Name"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "You must specify a role"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"User"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Generating type enforcment file: %s.te"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS Range"
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Interface %s is not defined"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Login '%s' is required"
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "File context for %s is not defined"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Policy Module"
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux user %s is not defined"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Module Name"
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Compiling policy"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Version"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Authenticating %s.\n"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Disable Audit"
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux Type is required"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Enable Audit"
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Could not add SELinux user %s"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Load Policy Module"
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Could not modify SELinux user %s"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Could not delete SELinux user %s"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Could not modify SELinux user %s"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Cannot read policy store."
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Abigail Brady <morwen@evilmagic.org>\n"
++"Bastien Nocera <hadess@hadess.net>\n"
++"Bruce Cowan <bruce@bcowan.me.uk>"
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux Type is required"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Select type of the application/user role to be confined"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Applications</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standard Init Daemon"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS System Daemon"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet Services Daemon are daemons started by xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Web Application/Script (CGI)"
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "User Application"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Login Users</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modify an existing login user record."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Existing User Roles"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimal Terminal User Role"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimal X Windows User Role"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "User Role"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Admin User Role"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root Users</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root Admin User Role"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Enter name of application or user role to be confined"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Name"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Enter complete path for executable to be confined."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Enter unique name for the confined application or user role."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Executable"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init script"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Enter complete path to init script used to start the confined application."
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Select user roles that you want to customise"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Select the user roles that will transition to this applications domains."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Select additional domains to which this user role will transition"
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Select user roles that will transition to this domain"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Select additional domains that this user role will administer"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Select the domains that you would like this user administer."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Select additional roles for this user"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Enter network ports that application/user role listens to"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP Ports</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "Allows confined application/user role to bind to any udp port"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "All"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Unreserved Ports (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Select Ports"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "Allows application/user role to bind to any udp ports > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP Ports</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "Enter network ports that application/user role connects to"
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Select common application traits"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Writes syslog messages\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Create/Manipulate temporary files in /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Uses Pam for authentication"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Uses nsswitch or getpw* calls"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Uses dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Sends audit messages"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interacts with the terminal"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Sends e-mail"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Select files/directories that the application manages"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Add Files/Directories that application will need to « Write » to. Pid Files, "
++"Log Files, /var/lib Files ..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Select booleans that the application uses"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "Add/Remove booleans used for this confined application/user"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Select directory to generate policy in"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Policy Directory"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Generated Policy Files"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Add Booleans Dialogue"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Boolean Name"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Role"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Existing_User"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Application"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s must be a directory"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "You must select a user"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Select executable file to be confined."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Select init script file to be confined."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Select file(s) that confined application creates or writes"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "Select directory(s) that the confined application owns and writes into"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Select directory to generate policy files in"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue ?"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verify Name"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue ?"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "You must enter a name"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "You must enter a executable"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Configue SELinux"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Ports must be numbers or ranges of numbers from 1 to %d "
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "You must enter a name for your confined process/user"
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER Types are not allowed executables"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Only DAEMON apps can use an init script"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog must be a boolean value "
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER Types automatically get a tmp type"
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "You must enter the executable path for your confined process"
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Type Enforcement file"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Interface file"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "File Contexts file"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Setup Script"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Network Port"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux Port\n"
++"Type"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocol"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"Level"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "List View"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Group View"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux Service Protection"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Disable SELinux protection for acct daemon"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Allow all daemons to write corefiles to /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Allow all daemons the ability to use unallocated ttys"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "User Privs"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Memory Protection"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Allow java executable stack"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Allow mount to mount any file"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Allow mount to mount any directory"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Allow mplayer executable stack"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Allow ssh to run ssh-keysign"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Network Configuration"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Allow unlabelled packets to flow on the network"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Allow unconfined to dyntrans to unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Databases"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Allow user to connect to mysql socket"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Allow user to connect to postgres socket"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Allow clients to write to X shared memory"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Allow daemons to run with NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web Applications"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Transition staff SELinux user to Web Browser Domain"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Transition sysadm SELinux user to Web Browser Domain"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Transition user SELinux user to Web Browser Domain"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Transition xguest SELinux user to Web Browser Domain"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Allow staff Web Browsers to write to home directories"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Disable SELinux protection for amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Disable SELinux protection for amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Disable SELinux protection for apmd daemon"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Disable SELinux protection for arpwatch daemon"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Disable SELinux protection for auditd daemon"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Disable SELinux protection for automount daemon"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Disable SELinux protection for avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Disable SELinux protection for bluetooth daemon"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Disable SELinux protection for canna daemon"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Disable SELinux protection for cardmgr daemon"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Disable SELinux protection for Cluster Server"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Disable SELinux protection for ciped daemon"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Disable SELinux protection for clamd daemon"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Disable SELinux protection for clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Disable SELinux protection for clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Disable SELinux protection for comsat daemon"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Disable SELinux protection for courier daemon"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Disable SELinux protection for cpucontrol daemon"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Disable SELinux protection for cpuspeed daemon"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Disable SELinux protection for crond daemon"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Printing"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Disable SELinux protection for cupsd back end server"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Disable SELinux protection for cupsd daemon"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Disable SELinux protection for cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Disable SELinux protection for cvs daemon"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Disable SELinux protection for cyrus daemon"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Disable SELinux protection for dbskkd daemon"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Disable SELinux protection for dbusd daemon"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Disable SELinux protection for dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Disable SELinux protection for dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Disable SELinux protection for dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Disable SELinux protection for ddt daemon"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Disable SELinux protection for devfsd daemon"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Disable SELinux protection for dhcpc daemon"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Disable SELinux protection for dhcpd daemon"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Disable SELinux protection for dictd daemon"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Allow sysadm_t to directly start daemons"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Disable SELinux protection for Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Games"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Disable SELinux protection for games"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Disable SELinux protection for the web browsers"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Disable SELinux protection for Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Disable SELinux protection for distccd daemon"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Disable SELinux protection for dmesg daemon"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Disable SELinux protection for dnsmasq daemon"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Disable SELinux protection for dovecot daemon"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Disable SELinux protection for entropyd daemon"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Disable SELinux protection for fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Disable SELinux protection for fingerd daemon"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Disable SELinux protection for freshclam daemon"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Disable SELinux protection for fsdaemon daemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Disable SELinux protection for gpm daemon"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Disable SELinux protection for gss daemon"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Disable SELinux protection for Hal daemon"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibility"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Disable SELinux protection for hostname daemon"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Disable SELinux protection for hotplug daemon"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Disable SELinux protection for howl daemon"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Disable SELinux protection for cups hplip daemon"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Disable SELinux protection for httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD Service"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Disable SELinux protection for http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Disable SELinux protection for hwclock daemon"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Disable SELinux protection for i18n daemon"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Disable SELinux protection for imazesrv daemon"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Disable SELinux protection for inetd child daemons"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Disable SELinux protection for inetd daemon"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Disable SELinux protection for innd daemon"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Disable SELinux protection for iptables daemon"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Disable SELinux protection for ircd daemon"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Disable SELinux protection for irqbalance daemon"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Disable SELinux protection for iscsi daemon"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Disable SELinux protection for jabberd daemon"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Disable SELinux protection for kadmind daemon"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Disable SELinux protection for klogd daemon"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Disable SELinux protection for krb5kdc daemon"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Disable SELinux protection for ktalk daemons"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Disable SELinux protection for kudzu daemon"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Disable SELinux protection for locate daemon"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Disable SELinux protection for lpd daemon"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Disable SELinux protection for lrrd daemon"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Disable SELinux protection for lvm daemon"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Disable SELinux protection for mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Allow evolution and thunderbird to read user files"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Disable SELinux protection for mdadm daemon"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Disable SELinux protection for monopd daemon"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Allow the mozilla browser to read user files"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Disable SELinux protection for mrtg daemon"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Disable SELinux protection for mysqld daemon"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Disable SELinux protection for nagios daemon"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Name Service"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Disable SELinux protection for named daemon"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Disable SELinux protection for nessusd daemon"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Disable SELinux protection for NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Disable SELinux protection for nfsd daemon"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Disable SELinux protection for nmbd daemon"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Disable SELinux protection for nrpe daemon"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Disable SELinux protection for nscd daemon"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Disable SELinux protection for nsd daemon"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Disable SELinux protection for ntpd daemon"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Disable SELinux protection for oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Disable SELinux protection for oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Disable SELinux protection for openvpn daemon"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Disable SELinux protection for pam daemon"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Disable SELinux protection for pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Disable SELinux protection for perdition daemon"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Disable SELinux protection for portmap daemon"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Disable SELinux protection for portslave daemon"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Disable SELinux protection for postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Disable SELinux protection for postgresql daemon"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Allow pppd to be run for a regular user"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Disable SELinux protection for pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Disable SELinux protection for prelink daemon"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Disable SELinux protection for privoxy daemon"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Disable SELinux protection for ptal daemon"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Disable SELinux protection for pxe daemon"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Disable SELinux protection for pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Disable SELinux protection for quota daemon"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Disable SELinux protection for radiusd daemon"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Disable SELinux protection for radvd daemon"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Disable SELinux protection for rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Disable SELinux protection for readahead"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "Allow programs to read files in non-standard locations (default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Disable SELinux protection for restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Disable SELinux protection for rhgb daemon"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Disable SELinux protection for ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Disable SELinux protection for ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Disable SELinux protection for rlogind daemon"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Disable SELinux protection for rpcd daemon"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Disable SELinux protection for rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Disable SELinux protection for rsync daemon"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Allow ssh to run from inetd instead of as a daemon"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Allow Samba to share nfs directories"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL authentication server"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Allow sasl authentication server to read /etc/shadow"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Allow X-Windows server to map a memory region as both executable and "
++"writeable"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Disable SELinux protection for saslauthd daemon"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Disable SELinux protection for scannerdaemon daemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Do not allow transition to sysadm_t, sudo and su effected"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Do not allow any processes to load kernel modules"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Do not allow any processes to modify kernel SELinux policy"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Disable SELinux protection for sendmail daemon"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Disable SELinux protection for setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Disable SELinux protection for setroubleshoot daemon"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Disable SELinux protection for slapd daemon"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Disable SELinux protection for slrnpull daemon"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Disable SELinux protection for smbd daemon"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Disable SELinux protection for snmpd daemon"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Disable SELinux protection for snort daemon"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Disable SELinux protection for soundd daemon"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Disable SELinux protection for sound daemon"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Spam Protection"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Disable SELinux protection for spamd daemon"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Allow spamd to access home directories"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Allow Spam Assassin daemon network access"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Disable SELinux protection for speedmgmt daemon"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Allow squid daemon to connect to the network"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Disable SELinux protection for squid daemon"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Disable SELinux protection for ssh daemon"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Allow ssh logins as sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Universal SSL tunnel"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Disable SELinux protection for stunnel daemon"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Allow stunnel daemon to run as standalone, outside of xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Disable SELinux protection for swat daemon"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Disable SELinux protection for sxid daemon"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Disable SELinux protection for syslogd daemon"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Disable SELinux protection for system cron jobs"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Disable SELinux protection for tcp daemon"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Disable SELinux protection for telnet daemon"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Disable SELinux protection for tftpd daemon"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Disable SELinux protection for transproxy daemon"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Disable SELinux protection for udev daemon"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Disable SELinux protection for uml daemon"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Allow rpm to run unconfined"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr "Allow privileged utilities like hotplug and insmod to run unconfined"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Disable SELinux protection for updfstab daemon"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Disable SELinux protection for uptimed daemon"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Allow users to execute the mount command"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "Allow regular users direct mouse access (only allow the X server)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Allow users to run the dmesg command"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr "Allow users to control network interfaces (also needs USERCTL=true)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Allow normal user to execute ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Allow users to rw usb devices"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"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"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Allow user to stat ttyfiles"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Disable SELinux protection for uucpd daemon"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Disable SELinux protection for vmware daemon"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Disable SELinux protection for watchdog daemon"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Disable SELinux protection for winbind daemon"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Disable SELinux protection for xdm daemon"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Allow xdm logins as sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Disable SELinux protection for xen daemon"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Allow xen to read/write physical disk devices"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Disable SELinux protection for xfs daemon"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Disable SELinux protection for xen control"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Disable SELinux protection for ypbind daemon"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Disable SELinux protection for NIS Password Daemon"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Disable SELinux protection for ypserv daemon"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Disable SELinux protection for NIS Transfer Daemon"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Allow SELinux webadm user to manage unprivileged users home directories"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr "Allow SELinux webadm user to read unprivileged users home directories"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Are you sure you want to delete %s '%s'?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Delete %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Add %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modify %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissive"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Enforcing"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Disabled"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
++
++#: ../gui/statusPage.py:133
++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 ""
++"Changing the policy type will cause a relabel of the entire file system on "
++"the next boot. Relabelling takes a long time depending on the size of the "
++"file system.  Do you wish to continue?"
++
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"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?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Changing to SELinux enabled will cause a relabel of the entire file system "
++"on the next boot. Relabelling takes a long time depending on the size of the "
++"file system.  Do you wish to continue?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Add SELinux Login Mapping"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Add SELinux Network Ports"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux Type"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Level"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "File Specification"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "File Type"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Add SELinux User"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux Administration"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Add"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Properties"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Delete"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Select Management Object"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Select:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "System Default Enforcing Mode"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Current Enforcing Mode"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "System Default Policy Type: "
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabelling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Relabel on next reboot."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Revert boolean setting to system default"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Toggle between Customised and All Booleans"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Run booleans lockdown wizard"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Lockdown..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filter"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Add File Context"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modify File Context"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Delete File Context"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Toggle between all and customised file context"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Add SELinux User Mapping"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modify SELinux User Mapping"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Delete SELinux User Mapping"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Add User"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modify User"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Delete User"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Add Translation"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modify Translation"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Delete Translation"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Add Network Port"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Edit Network Port"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Delete Network Port"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Toggle between Customised and All Ports"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Generate new policy module"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Load policy module"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Remove loadable policy module"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Change process mode to permissive."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Change process mode to enforcing"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Process Domain"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux user '%s' is required"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Sensitivity Level"
++
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "translations not supported on non-MLS machines"
+ #~ msgid "Requires value"
+ #~ msgstr "Requires value"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/es.po policycoreutils-2.0.85/po/es.po
+--- nsapolicycoreutils/po/es.po        2011-02-17 15:11:25.399730344 -0500
++++ policycoreutils-2.0.85/po/es.po    2011-02-18 16:03:41.359975681 -0500
+@@ -1,22 +1,44 @@
+ # translation of policycoreutils.HEAD.es.po to Spanish
++# Fedora Spanish translation of policycoreutils.HEAD.
++# This file is distributed under the same license as the policycoreutils.HEAD package.
+ #
+ #
+-# Domingo E. Becker <beckerde@hotmail.com>, 2006.
+-# Domingo Becker <domingobecker@gmail.com>, 2008.
++# Domingo Becker <domingobecker@gmail.com>, 2006, 2008.
++# Héctor Daniel Cabrera <logan@fedoraproject.org>, 2010.
++# Gladys Guerrero <gguerrer@redhat.com>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils.HEAD.es\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-09-03 08:55-0300\n"
+-"Last-Translator: Domingo Becker <domingobecker@gmail.com>\n"
+-"Language-Team: Spanish <fedora-trans-es@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-31 17:40-0300\n"
++"Last-Translator: Claudio Rodrigo Pereyra Diaz <claudio@pereyradiaz.com.ar>\n"
++"Language-Team: Spanish <en@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+ "X-Poedit-Language: Spanish\n"
++"X-Poedit-Country: ARGENTINA\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Defina SELinux en una configuración de interfaz gráfica"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Administración de SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Generar módulos de política de SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Generador de Políticas de SELinux"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -108,9 +130,8 @@
+ msgstr "No se pudo establecer una conexión semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "No se pudo fijar el rango MLS para %s"
++msgstr "No se pudo probar si el estado de MLS es activado"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -125,7 +146,8 @@
+ msgid "Level"
+ msgstr "Nivel"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Traducción"
+@@ -155,11 +177,11 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Transacción semanage actualmente en progreso"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+-msgstr "No se puede iniciar transacción·semanage"
++msgstr "No se puede iniciar transacción semanage"
+ #: ../semanage/seobject.py:309
+ msgid "Could not commit semanage transaction"
+@@ -167,7 +189,7 @@
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Transacción semanage no ejecutándose"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+@@ -177,744 +199,749 @@
+ msgid "Permissive Types"
+ msgstr "Tipos de Permisivo"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+ "No se pudo poner el dominio %s permisivo (falló la instalación del módulo)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr "No se pudo eliminar el dominio permisivo %s (falló el borrado)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "No se pudo crear una clave para %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr "No se pudo chequear si está definido el mapeo de login para %s"
++msgstr "No se pudo chequear si la asignación de ingreso para %s está definida"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "El mapeo de login para %s ya fue definido"
++msgstr "La asignación de ingreso para %s ya fue definida"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "El Grupo Linux %s no existe"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "El Usuario de Linux %s no existe"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr "No se pudo crear mapeo de login para %s"
++msgstr "No se pudo crear asignación de ingreso para %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "No se pudo fijar el nombre para %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "No se pudo fijar el rango MLS para %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "No se pudo fijar el usuario SELinux para %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "No se pudo agregar el mapeo de ingreso para %s"
++msgstr "No se pudo agregar asignación de ingreso para %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "agregar mapeado de usuario SELinux"
++msgstr "agregar asignación de usuario SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Se requiere seuser o serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr "El mapeo de ingreso para %s no está definido"
++msgstr "La asignación de ingreso para %s no está definida"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "No se pudo consultar seuser para %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr "No se pudo modificar el mapeo de ingreso para %s"
++msgstr "No se pudo modificar la asignación de ingreso para %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"El mapeo de ingreso para %s se definió en la política, no se puede eliminar"
++"La asignación de ingreso para %s se definió en la política, no se puede "
++"eliminar"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr "No se pudo eliminar el mapeo de ingreso para %s"
++msgstr "No se pudo eliminar la asignación de ingreso para %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr "No se pudo listar los mapeos de ingreso"
++msgstr "No se pudieron listar las asignaciones de ingreso"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Nombre de Ingreso"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "Usuario SELinux "
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "Rango MLS/MCS"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Debe agregar al menos un rol para %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "No se pudo chequear si el usuario SELinux %s está definido"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "El usuario SELinux %s ya está definido"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr "N o se pudo crear el usuario SELinux para %s"
++msgstr "No se pudo crear el usuario SELinux para %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "No se pudo agregar el rol %s para %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "No se pudo fijar el nivel MLS para %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "No se pudo agregar el prefijo %s para %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "No se pudo extraer la clave para %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+-msgstr "no se pudo agregar el usuario SELinux %s"
++msgstr "No se pudo agregar el usuario SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Se requiere prefijo, roles, nivel o rango"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Se requiere prefijo o roles"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr "El usuario SELinux %s no es definido"
++msgstr "El usuario SELinux %s no está definido"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "No se pudo consultar usuario para %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "No se pudo modificar el usuario SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "El usuario SELinux %s está definido en política, no puede ser borrado"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "No se pudo borrar el usuario SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "No se pudieron listar los usuarios SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "No se pudieron listar los roles para el usuario %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Etiquetado"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefijo"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "Nivel MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "Rango MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "Roles SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Se requiere protocolo udp o tcp"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Se requiere un puerto"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "No se pudo crear una clave para %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Se requiere tipo"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "No se pudo chequear si el puerto %s/%s está definido"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "El puerto %s/%s ya está definido"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "No se pudo crear el puerto para %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "No se pudo crear el contexto para %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "No se pudo poner al usuario en el contexto de puerto para %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "No se pudo poner el rol en el contexto de puerto para %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "No se pudo poner el tipo en el contexto de puerto para %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr " No se pudo fijar los campos mls en el contexto de puerto para %s/%s"
++msgstr "No se pudo fijar los campos mls en el contexto de puerto para %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "No se pudo poner el contexto de puerto para %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "No se pudo agregar puerto %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Se requiere setype o serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Se requiere setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "El puerto %s/%s no está definido"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "No se pudo consultar el puerto %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "No se pudo modificar el puerto %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "No se pueden listar los puertos"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "No se puede borrar el puerto %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "El puerto %s/%s está definido en la política, no se puede borrar"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "No se puede borrar el puerto %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "No se pueden listar los puertos"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "Tipo de Puerto SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Número de Puerto"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Se requiere un puerto"
++msgstr "Se requiere una Dirección de Nodo"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Se requiere un puerto"
++msgstr "Se requiere una Máscara de red del Nodo"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Falta el protocolo o es desconocido"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Se requiere el tipo SELinux "
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "No se pudo crear clave para %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "No se pudo chequear si el puerto %s/%s está definido"
++msgstr "No se pudo chequear si la dirección %s está definida"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "El puerto %s/%s ya está definido"
++msgstr "La dirección %s ya está definida"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "No se pudo crear una clave para %s"
++msgstr "No se pudo crear la dirección para %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "No se pudo crear el contexto para %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "No se pudo fijar el nombre para %s"
++msgstr "No se pudo poner la máscara para %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "No se pudo poner al usuario en el contexto de archivo para %s"
++msgstr "No se pudo poner al usuario en el contexto de dirección para %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "No se pudo poner el rol en el contexto de archivo para %s"
++msgstr "No se pudo poner el rol en el contexto de dirección para %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "No se pudo poner el tipo en el contexto de archivo para %s"
++msgstr "No se pudo poner el tipo en el contexto de dirección para %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "No se pudieron poner los campos mls en el contexto de archivo para %s"
++msgstr ""
++"No se pudieron poner los campos mls en el contexto de dirección para %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "No se pudo poner el contexto de archivo para %s"
++msgstr "No se pudo poner el contexto de dirección para %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "No se pudo agregar puerto %s/%s"
++msgstr "No se pudo agregar la dirección %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "El puerto %s/%s no está definido"
++msgstr "La dirección %s no está definida"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "No se pudo consultar el puerto %s/%s"
++msgstr "No se pudo consultar la dirección %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "No se pudo modificar el puerto %s/%s"
++msgstr "No se pudo modificar la dirección %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "El puerto %s/%s está definido en la política, no se puede borrar"
++msgstr "La dirección %s está definido en la política, no se puede borrar"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "No se pudo borrar a %s"
++msgstr "No se pudo borrar la dirección %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "No se pueden listar los puertos"
++msgstr "No se pudieron listar las direcciones"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "No se pudo chequear si la interfase %s está definida"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr "La interfase %s ya está definida"
++msgstr "La interfaz %s ya está definida"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+-msgstr "No se pudo crear la interfase para %s"
++msgstr "No se pudo crear la interfaz para %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "No se pudo poner el usuario en el contexto de interfase para %s"
++msgstr "No se pudo poner el usuario en el contexto de interfaz para %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "No se pudo fijar el rol en el contexto de interfase para %s"
++msgstr "No se pudo fijar el rol en el contexto de interfaz para %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "No se pudo poner el tipo en el contexto de interfase para %s"
++msgstr "No se pudo poner el tipo en el contexto de interfaz para %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr ""
+-"No se pudieron poner los campos mls en el contexto de interfase para %s"
++msgstr "No se pudieron poner los campos mls en el contexto de interfaz para %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "No se pudo poner el contexto de interfase para %s"
++msgstr "No se pudo poner el contexto de interfaz para %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "No se pudo poner el contexto de mensaje para %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+-msgstr "No se pudo agregar la interfase %s"
++msgstr "No se pudo agregar la interfaz %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+-msgstr "La interfase %s no está definida"
++msgstr "La interfaz %s no está definida"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+-msgstr "No se pudo consultar la interfase %s"
++msgstr "No se pudo consultar la interfaz %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+-msgstr "No se pudo modificar la interfase %s"
++msgstr "No se pudo modificar la interfaz %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "La interfase %s está definida en la política, no se puede borrar"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+-msgstr "No se pudo borrar la interfase %s"
++msgstr "No se pudo borrar la interfaz %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+-msgstr "No se pudieron listar las interfases"
++msgstr "No se pudieron listar las interfaces"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr "Interfase SELinux"
++msgstr "Interfaz SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Contexto"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "No se pudo poner al usuario en el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "No se pudo poner el rol en el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "No se pudieron poner los campos mls en el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "Especificación de archivo inválida"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "No se pudo chequear si el contexto de archivo para %s está definido"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "El contexto de archivo para %s ya está definido"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "No se pudo crear el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "No se pudo poner el tipo en el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "No se pudo poner el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "No se pudo agregar el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Se requiere setype, serange o seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "El contexto de archivo para %s no está definido"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "No se pudo consultar el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "No se pudo modificar el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "No se pudieron listar los contextos de archivo"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "No se pudo borrar el contexto de archivo %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "El contexto de archivo para %s está definido en la política, no se puede "
+ "borrar"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "No se pudo borrar el contexto de archivo para %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "No se pudieron listar los contextos de archivo"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "No se pudieron listar los contextos de archivo"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "fcontext SELinux"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "tipo"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "No se pudo chequear si el booleano %s está definido"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "El booleano %s no está definido"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr "No se udo consultar el contexto de archivo %s"
++msgstr "No se pudo consultar el contexto de archivo %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Debe especificar uno de los siguientes valores: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "No se pudo poner el valor actual del booleano %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "No se pudo modificar el booleano %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr "Formato incorrecto %s: Registro %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "El booleano %s está definido en la política, no se puede borrar"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "No se puede borrar el booleano %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "No se pueden listar los booleanos"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "desconocido"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "apagado"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "encendido"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "booleano SELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Descripción"
+@@ -942,12 +969,12 @@
+ #: ../newrole/newrole.c:447
+ #, c-format
+ msgid "Out of memory!\n"
+-msgstr "Falta memoria!\n"
++msgstr "¡Falta memoria!\n"
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "Error! El shell no es válido.\n"
++msgstr "¡Error! El shell no es válido.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+@@ -955,9 +982,9 @@
+ msgstr "No se pudo limpiar el entorno\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Error al hacer init en las capacidades, abortando.\n"
++msgstr "Error iniciando las capacidades, abortando.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1017,25 +1044,26 @@
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr "Error! No se pudo abrir %s.\n"
++msgstr "¡Error! No se pudo abrir %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s!  No se pudo obtener el contexto actual para %s, no se reetiqueta el "
++"¡%s!  No se pudo obtener el contexto actual para %s, no se reetiqueta el "
+ "tty.\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s!  No se pudo obtener un contexto nuevo para %s, no se reetiqueta el tty.\n"
++"¡%s!  No se pudo obtener un contexto nuevo para %s, no se reetiqueta el "
++"tty.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s!  No se pudo fijar el nuevo contexto para %s\n"
++msgstr "¡%s!  No se pudo fijar el nuevo contexto para %s\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+@@ -1045,7 +1073,7 @@
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr "Precaución!  No se pudo restablecer el contexto para %s\n"
++msgstr "¡Precaución!  No se pudo restablecer el contexto para %s\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+@@ -1202,8 +1230,8 @@
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+ msgstr ""
+-"%s:  no se puede cargar la política y se está pidiendo el modo obediente:  %"
+-"s\n"
++"%s:  no se puede cargar la política y se está pidiendo el modo obediente:  "
++"%s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1294,1811 +1322,2240 @@
+ msgid "Options Error %s "
+ msgstr "Error en Opciones %s"
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "traducciones no soportadas en máquinas no MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Booleano"
+-
+-#~ msgid "all"
+-#~ msgstr "todos"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Booleano"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "todos"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Personalizado"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Etiquetado de Archivo"
+-#~ msgid "Customized"
+-#~ msgstr "Personalizado"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "Etiquetado de Archivo"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Especificación\n"
+-#~ "de Archivo"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "Tipo de Archivo"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Tipo de\n"
+-#~ "Archivo"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Mapeado de Usuario"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Nombre de\n"
+-#~ "Ingreso"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "Usuario\n"
+-#~ "SELinux"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "Rango\n"
+-#~ "MLS/MCS"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Se requiere el ingreso con '%s'"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "Módulo de Política"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "Nombre de Módulo"
+-
+-#~ msgid "Version"
+-#~ msgstr "Versión"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "Deshabilitar la Auditoría"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Especificación\n"
++"de Archivo"
+-#~ msgid "Enable Audit"
+-#~ msgstr "Permitir Auditar"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"Tipo de Archivo"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Cargar Módulo de Política"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Tipo de\n"
++"Archivo"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Mapeado de Usuario"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Nombre de\n"
++"Ingreso"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"Usuario\n"
++"SELinux"
+-#~ msgid "translator-credits"
+-#~ msgstr "Domingo Becker, domingobecker@gmail.com, 2007"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Rango\n"
++"MLS/MCS"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Herramienta de Generación de Políticas de SELinux"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Se requiere el ingreso con '%s'"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Esta herramienta se puede usar para generar un marco de trabajo de "
+-#~ "políticas, para confinar aplicaciones o usuarios usando SELinux.   \n"
+-#~ "\n"
+-#~ "La herramienta genera:\n"
+-#~ "Archivo de obediencia de tipo (te)\n"
+-#~ "Archivo de interfase (if)\n"
+-#~ "Archivo de contexto de archivo (fc)\n"
+-#~ "Script de shell (sh) - usado para compilar e instalar la política."
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Módulo de Política"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Seleccione el tipo de aplicación o rol de usuario a confinar"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Nombre de Módulo"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Aplicaciones</b>"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versión"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Los Demonios de Inicio Standard son los demonios que se inician al "
+-#~ "arrancar a través de los scripts de inicio. Normalmente requieren un "
+-#~ "script en /etc/rc.d/init.d"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Inhabilitar la Auditoría"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Demonio de Inicio Estándar"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Permitir Auditar"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr ""
+-#~ "Los Demonios de Servicios de Internet son los demonios iniciados por "
+-#~ "xinetd"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Cargar Módulo de Política"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Demonios de Servicios de Internet (inetd)"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Scripts (CGI)/Aplicaciones Web son los scripts CGI iniciados por el "
+-#~ "servidor web (apache)"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Aplicaciones Web/Scripts (CGI)"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "La Aplicación del Usuario es cualquier aplicación que desee confinar y "
+-#~ "que es iniciada por un usuario"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Domingo Becker, domingobecker@gmail.com, 2007, 2008, 2009"
+-#~ msgid "User Application"
+-#~ msgstr "Aplicación del Usuario"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Esta herramienta se puede usar para generar un marco de trabajo de "
++"políticas, para confinar aplicaciones o usuarios usando SELinux.   \n"
++"\n"
++"La herramienta genera:\n"
++"Archivo de obediencia de tipo (te)\n"
++"Archivo de interfase (if)\n"
++"Archivo de contexto de archivo (fc)\n"
++"Script de shell (sh) - usado para compilar e instalar la política."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Seleccione el tipo de aplicación o rol de usuario a confinar"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Aplicaciones</b>"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Usuarios que Ingresan</b>"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Los Demonios de Inicio Standard son los demonios que se inician al arrancar "
++"a través de los scripts de inicio. Normalmente requieren un script en /etc/"
++"rc.d/init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Demonio de Inicio Estándar"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Demonio del Sistema DBUS"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Modificar el registro de nombre de ingreso de usuario existente."
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++"Los Demonios de Servicios de Internet son los demonios iniciados por xinetd"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Roles de Usuario Existentes"
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Demonios de Servicios de Internet (inetd)"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Este usuario ingresará a una máquina sólo a través de una terminal o "
+-#~ "login remoto. Por defecto, este usuario no tendra setuid, ni red, ni su, "
+-#~ "ni sudo."
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Scripts (CGI)/Aplicaciones Web son los scripts CGI iniciados por el servidor "
++"web (apache)"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Rol de Usuario de la Terminal Mínima"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Aplicaciones Web/Scripts (CGI)"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Este usuario puede ingresar a una máquina vía X o una terminal. Por def "
+-#~ "scto este usuario no tendrá setuid, ni red, ni su,"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"La Aplicación del Usuario es cualquier aplicación que desee confinar y que "
++"es iniciada por un usuario"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Rol de Usuario de Ventanas X Mínimo."
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Aplicación del Usuario"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Usuarios que Ingresan</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modificar el registro de nombre de ingreso de usuario existente."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Roles de Usuario Existentes"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "Usuario con red completa, sin setuid para aplicaciones sin transición, "
+-#~ "sin sudo ni su."
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Este usuario ingresará a una máquina sólo a través de una terminal o login "
++"remoto. Por defecto, este usuario no tendrá setuid, ni red, ni su, ni sudo."
+-#~ msgid "User Role"
+-#~ msgstr "Rol de Usuario"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Rol de Usuario de la Terminal Mínima"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "El Usuario con red completo, no hay setuid de aplicaciones sin "
+-#~ "transición, sin su, y puede hacer sudo a Roles de Administración Root"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Este usuario puede ingresar a una máquina vía X o una terminal. Por def scto "
++"este usuario no tendrá setuid, ni red, ni su,"
+-#~ msgid "Admin User Role"
+-#~ msgstr "Rol de Usuario Admin"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Rol de Usuario de Ventanas X Mínimo."
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Usuarios Administrativos</b>"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Usuario con red completa, sin setuid para aplicaciones sin transición, sin "
++"sudo ni su."
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Seleccione el Rol de Usuario Root Administrativo, si este usuario será el "
+-#~ "usado para administrar la máquina mientras corra como root. Este usuario "
+-#~ "no podrá ingresar al sistema directamente."
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Rol de Usuario"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Rol de Usuario Root Administrativo"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"El Usuario con red completo, no hay setuid de aplicaciones sin transición, "
++"sin su, y puede hacer sudo a Roles de Administración Root"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Ingrese el nombre de la aplicación o rol de usuario a confinar"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Rol de Usuario Admin"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Usuarios Administrativos</b>"
+-#~ msgid "Name"
+-#~ msgstr "Nombre"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Seleccione el Rol de Usuario Root Administrativo, si este usuario será el "
++"usado para administrar la máquina mientras corra como root. Este usuario no "
++"podrá ingresar al sistema directamente."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Rol de Usuario Root Administrativo"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Ingrese el nombre de la aplicación o rol de usuario a confinar"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nombre"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Ingrese la dirección completa del ejecutable a confinar."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Ingrese un nombre único para la aplicación o rol de usuario confinado."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Ejecutable"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Script de inicio"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Ingrese la dirección completa del ejecutable a confinar."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Ingrese la dirección completa al script de inicio usado para iniciar la "
++"aplicación confinada."
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Seleccione los roles de usuario que quiere personalizar"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Ingrese un nombre único para la aplicación o rol de usuario confinado."
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Seleccione los roles de usuario que transicionarán a este dominio de "
++"aplicaciones"
+-#~ msgid "Executable"
+-#~ msgstr "Ejecutable"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Seleccione los dominios adicionales a los que este rol de usuario "
++"transicionará"
+-#~ msgid "Init script"
+-#~ msgstr "Script de inicio"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Seleccione los dominios de aplicación a los que desearía que este usuario "
++"transicione."
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Ingrese la dirección completa al script de inicio usado para iniciar la "
+-#~ "aplicación confinada."
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Seleccione los roles de usuario que transicionarán a este dominio"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Seleccione los dominios que este rol de usuario administrará"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Seleccione los dominios que desearía que administre este usuario."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Seleccione roles adicionales para este usuario"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Seleccione los roles de usuario que quiere personalizar"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Ingrese los puertos de red en los que esta aplicación/usuario se conecta"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "Seleccione los roles de usuario que transicionarán a este dominio de "
+-#~ "aplicaciones"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Puertos TCP</b>"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr ""
+-#~ "Seleccione los dominios adicionales a los que este rol de usuario "
+-#~ "transicionará"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Permitir a las aplicaciones/usuarios confinados engancharse a cualquier "
++"puerto udp"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Seleccione los dominios de aplicación a los que desearía que este usuario "
+-#~ "transicione."
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Todos"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "Seleccione los roles de usuario que transicionarán a este dominio"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Permitir a la aplicación/usuario llamar a bindresvport con 0. Engancharse a "
++"los puertos 600-1024"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "Seleccione los dominios que este rol de usuario administrará"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "Seleccione los dominios que desearía que administre este usuario."
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Ingrese una lista separada por comas de puertos udp o rangos de puertos a "
++"los que esta aplicación/rol de usuario se conecta. Ejemplo 612, 650-660"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Seleccione roles adicionales para este usuario"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Puertos No Reservados (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Seleccionar Puertos"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Ingrese los puertos de red en los que esta aplicación/usuario se conecta"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Permite a la aplicación/usuario engancharse a cualquier puerto udp > 1024"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>Puertos TCP</b>"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Puertos UDP</b>"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Permitir a las aplicaciones/usuarios confinados engancharse a cualquier "
+-#~ "puerto udp"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Ingrese los puertos de red a los que esta aplicación/rol de usuario se "
++"conecta"
+-#~ msgid "All"
+-#~ msgstr "Todos"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Ingrese una lista separada por comas de los rangos puertos a los que esta "
++"aplicación/rol de usuario se conecta. Ejemplo: 612, 650-660"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Permitir a la aplicación/usuario llamar a bindresvport con 0. Engancharse "
+-#~ "a los puertos 600-1024"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Ingrese una lista separada por comas de puertos udp o rangos de puertos a "
++"los que esta aplicación/rol de usuario se conecta. Ejemplo: 612, 650-660"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Seleccione las Características de Aplicación Comunes"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Escribe mensajes syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Crear/Manipular archivos temporales en /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Usa Pam para la autenticación"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Usa nsswitch o llamadas getpw*"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Usa dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Enviar mensajes de auditoría"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interactúa con la terminal"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Enviar correo"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Seleccione los archivos/directorios que administra la aplicación"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Ingrese una lista separada por comas de puertos udp o rangos de puertos a "
+-#~ "los que esta aplicación/rol de usuario se conecta. Ejemplo 612, 650-660"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Agregar Archivos/Directorios a los que esta aplicación necesitará \"Escribir"
++"\". Archivos con Pid, con Log, de /var/lib..."
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Puertos No Reservados (>1024)"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Seleccione los booleanosque usa esta aplicación"
+-#~ msgid "Select Ports"
+-#~ msgstr "Seleccionar Puertos"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Agregar/Quitar booleanos usados para esta aplicación/usuario confinada."
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Permite a la aplicación/usuario engancharse a cualquier puerto udp > 1024"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Seleccione el directorio donde generar las políticas"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>Puertos UDP</b>"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Directorio de Política"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Ingrese los puertos de red a los que esta aplicación/rol de usuario se "
+-#~ "conecta"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Archivos de Política Generado"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Ingrese una lista separada por comas de los rangos puertos a los que esta "
+-#~ "aplicación/rol de usuario se conecta. Ejemplo: 612, 650-660"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Esta herramienta generará lo siguiente: \n"
++"Obligación de Tipos(te), Contexto de Archivo (fc), Interfaz (if), Script de "
++"Shell (sh).\n"
++"Ejecute el script de shell para compilar/instalar y reetiquete archivos/"
++"directorios. \n"
++"Use semanage o useradd para asignar usuarios de ingreso a Linux a roles de "
++"usuarios.\n"
++"Ahora puede poner la máquina en modo permisivo (setenforce 0).\n"
++"Ingrese como ese usuario y pruebe el rol de usuario.\n"
++"Use audit2allow -R para generar reglas adicionales para el archivo te.\n"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Ingrese una lista separada por comas de puertos udp o rangos de puertos a "
+-#~ "los que esta aplicación/rol de usuario se conecta. Ejemplo: 612, 650-660"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Esta herramienta generará lo siguiente: \n"
++"Obligación de Tipos (te), Contexto deArchivo (fc), Interface (if), Script de "
++"Shell (sh).\n"
++"\n"
++"Ejecute el script de shell para compilar/instalar y reetiquete archivos/"
++"directorios. \n"
++"Ahora puede poner la máquina en modo permisivo (setenforce 0).\n"
++"Ejecute/reinicie la aplicación para generar mensajes avc.\n"
++"Use audit2allow -R para generar reglas adicionales para el archivo te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Diálogo para Agregar Booleanos"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Nombre del Booleano"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rol"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "_Usuario Existente"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Aplicación"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s debe ser un directorio"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Debe seleccionar un usuario"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Seleccione el archivo ejecutable a confinar."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Seleccione el script de inicio a confinar."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Seleccione los archivos a los que la aplicación escribe o genera"
+-#~ msgid "Select common application traits"
+-#~ msgstr "Seleccione las Características de Aplicación Comunes"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Seleccione el/los directorio(s) que pertenecen a la aplicación confinada y a "
++"los que escribe"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Escribe mensajes syslog\t"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Seleccione el directorio donde generar los archivos de política"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "Crear/Manipular archivos temporales en /tmp"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"El tipo  %s_t ya está definido en la política actual.\n"
++"¿Desea continuar?"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Usa Pam para la autenticación"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verificar Nombre"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Usa nsswitch o llamadas getpw*"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"El módulo %s.pp ya está cargado en la política actual.\n"
++"¿Desea continuar?"
+-#~ msgid "Uses dbus"
+-#~ msgstr "Usa dbus"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Debe ingresar un nombre"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Enviar mensajes de auditoría"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Debe ingresar un ejecutable"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "Interactúa con la terminal"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Configurar SELinux"
+-#~ msgid "Sends email"
+-#~ msgstr "Enviar correo"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Los puertos deben ser números o rangos entre 1 y %d"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Seleccione los archivos/directorios que administra la aplicación"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Debe ingresar un nombre para su proceso/usuario confinado"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Agregar Archivos/Directorios a los que esta aplicación necesitará "
+-#~ "\"Escribir\". Archivos con Pid, con Log, de /var/lib..."
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Los Tipos de USUARIOS no son ejecutables permitidos"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Seleccione los booleanosque usa esta aplicación"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Solo las aplicaciones DEMONIO puede usar un script de inicio"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Agregar/Quitar booleanos usados para esta aplicación/usuario confinada."
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog debe ser un valor booleano "
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Seleccione el directorio donde generar las políticas"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Los Tipos de USUARIO obtienen un tipo tmp automáticamente"
+-#~ msgid "Policy Directory"
+-#~ msgstr "Directorio de Política"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Debe ingresar la dirección del ejecutable para su proceso confinado"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Archivos de Política Generado"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Archivo de Tipo de Obediencia"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Esta herramienta generará lo siguiente: \n"
+-#~ "Obligación de Tipos (te), Contexto deArchivo (fc), Interface (if), Script "
+-#~ "de Shell (sh).\n"
+-#~ "Ejecute el script de shell para compilar/instalar y reetiquete archivos/"
+-#~ "directorios. \n"
+-#~ "Use semanage o useradd para mapear usuarios de ingreso a Linux a roles de "
+-#~ "usuarios.\n"
+-#~ "Ahora puede poner la máquina en modo permisivo (setenforce 0).\n"
+-#~ "Ingrese como ese usuario y pruebe el rol de usuario.\n"
+-#~ "Use audit2allow -R para generar reglas adicionales para el archivo te.\n"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Archivo de Interfase"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Esta herramienta generará lo siguiente: \n"
+-#~ "Obligación de Tipos (te), Contexto deArchivo (fc), Interface (if), Script "
+-#~ "de Shell (sh).\n"
+-#~ "\n"
+-#~ "Ejecute el script de shell para compilar/instalar y reetiquete archivos/"
+-#~ "directorios. \n"
+-#~ "Ahora puede poner la máquina en modo permisivo (setenforce 0).\n"
+-#~ "Ejecute/reinicie la aplicación para generar mensajes avc.\n"
+-#~ "Use audit2allow -R para generar reglas adicionales para el archivo te.\n"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Archivo de Contextos de Archivo"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Diálogo para Agregar Booleanos"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Script de Configuración"
+-#~ msgid "Boolean Name"
+-#~ msgstr "Nombre del Booleano"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Puerto de Red"
+-#~ msgid "Role"
+-#~ msgstr "Rol"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Puerto SELinux\n"
++"Tipo"
+-#~ msgid "Existing_User"
+-#~ msgstr "_Usuario Existente"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocolo"
+-#~ msgid "Application"
+-#~ msgstr "Aplicación"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"Nivel"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s debe ser un directorio"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Puerto"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "El número de puerto \"%s\" no es válido.  0 < NUMERO_DE_PUERTO < 65536"
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Ver como Lista"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Ver Grupo"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Protección de Servicios de SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Inhabilitar la protección SELinux para del demonio acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Permitir a los demonios escribir archivos principales a /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Permitir a todos los demonios la habilidad de usar ttys no asignadas"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Privados del Usuario"
+-#~ msgid "You must select a user"
+-#~ msgstr "Debe seleccionar un usuario"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir a la cuenta gadmin de usuario SELinux ejecutar archivos en su "
++"directorio home o /tmp"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Seleccione el archivo ejecutable a confinar."
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir a la cuenta guest de SELinux ejecutar archivos en su directorio "
++"home o /tmp"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Seleccione el script de inicio a confinar."
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Protección de Memoria"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Permitir la pila ejecutable a java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Montar"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Permitir a mount montar cualquier archivo"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Permitir a mount montar cualquier directorio"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Permitir a mplayer la pila ejecutable"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Permitir a ssh ejecutar ssh_keysign"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Seleccione los archivos a los que la aplicación escribe o genera"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir a la cuenta staff de SELinux ejecutar archivos en su directorio "
++"home o /tmp"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Seleccione el/los directorio(s) que pertenecen a la aplicación confinada "
+-#~ "y a los que escribe"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir a la cuenta sysadmin de SELinux ejecutar archivos en su directorio "
++"home o /tmp"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Seleccione el directorio donde generar los archivos de política"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Permitir a las cuentas de usuario SELinux no confinadas ejecutar archivos en "
++"su directorio home o /tmp"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "El tipo  %s_t ya está definido en la política actual.\n"
+-#~ "¿Desea continuar?"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Configuración de Red"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Permitir a los paquetes no etiquetados fluir por la red"
+-#~ msgid "Verify Name"
+-#~ msgstr "Verificar Nombre"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir a las cuentas de usuarios SELinux ejecutar archivos en su "
++"directorio home o /tmp"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "El módulo %s.pp ya está cargado en la política actual.\n"
+-#~ "¿Desea continuar?"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Permitir a las no confinadas a dyntrans a unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Bases de Datos"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Permitir a los usuarios conectar a socket mysql"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Permitir a los usuarios conectara  socket postgres"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "ServidorX"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Permitir a los clientes escribir a la memoria compartida de X"
+-#~ msgid "You must enter a name"
+-#~ msgstr "Debe ingresar un nombre"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir a las cuentas xguest de SELinux ejecutar archivos en el directorio "
++"home o /tmp"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Debe ingresar un ejecutable"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Permitir a los demonios ejecutar con NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Aplicaciones Web"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Configurar SELinux"
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++"Transicionar los usuarios SELinux del staff al Dominio del Navegador Web"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Los puertos deben ser números o rangos entre 1 y %d"
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Transicionar el usuario SELinux sysadm al Dominio del Navegador Web"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Transicionar el usuario SELinux user al Dominio del Navegador Web"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Transicionar el usuario SELinux xguest al Dominio del Navegador Web"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"Permitir al los Navegadores Web del staff escribir a sus directorios de "
++"inicio"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "Debe ingresar un nombre para su proceso/usuario confinado"
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Inhabilitar la protección SELinux para amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Inhabilitar la protección SELinux para amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio apmd"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio arpwatch"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio auditd"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio automount"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Inhabilitar la protección SELinux para avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio bluetooth"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio canna"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio cardmgr"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Inhabilitar la protección SELinux para el Servidor de Cluster"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Los Tipos de USUARIOS no son ejecutables permitidos"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Permitir a cdrecord leer varios contenidos. nfs, samba, dispositivos "
++"removibles, temporales del usuario y archivos de contenidos no confiable"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Solo las aplicaciones DEMONIO puede usar un script de inicio"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Inhabilitar la protección SELinux para clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Inhabilitar la protección SELinux para clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Inhabilitar la protección SELinux para el demonio cpuspeed"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio crond"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Impresión"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog debe ser un valor booleano "
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++"Inhabilitar la protección de SELinux para el servidor de bajo nivel de cupsd"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Los Tipos de USUARIO obtienen un tipo tmp automáticamente"
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio cupsd"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "Debe ingresar la dirección del ejecutable para su proceso confinado"
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Inhabilitar la protección de SELinux para cupsd_lpd"
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Archivo de Tipo de Obediencia"
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
+-#~ msgid "Interface file"
+-#~ msgstr "Archivo de Interfase"
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio cvs"
+-#~ msgid "File Contexts file"
+-#~ msgstr "Archivo de Contextos de Archivo"
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio cyrus"
+-#~ msgid "Setup Script"
+-#~ msgstr "Script de Configuración"
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dbskkd"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Puerto SELinux\n"
+-#~ "Tipo"
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dbusd"
+-#~ msgid "Protocol"
+-#~ msgstr "Protocolo"
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Inhabilitar la protección de SELinux para dccd"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Nivel"
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Inhabilitar la protección de SELinux para dccifd"
+-#~ msgid "Port"
+-#~ msgstr "Puerto"
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Inhabilitar la protección de SELinux para dccm"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr ""
+-#~ "El número de puerto \"%s\" no es válido.  0 < NUMERO_DE_PUERTO < 65536"
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio ddt"
+-#~ msgid "List View"
+-#~ msgstr "Ver como Lista"
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio devfsd"
+-#~ msgid "Group View"
+-#~ msgstr "Ver Grupo"
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dhcpc"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Protección de Servicios de SELinux"
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dhcpd"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para del demonio acct"
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dictd"
+-#~ msgid "Admin"
+-#~ msgstr "Admin"
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Permitir a sysadm_t iniciar directamente los demonios"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Permitir a los demonios escribir archivos principales a /"
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Inhabilitar la protección de SELinux para Evolution"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr ""
+-#~ "Permitir a todos los demonios la habilidad de usar ttys no asignadas"
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Juegos"
+-#~ msgid "User Privs"
+-#~ msgstr "Privados del Usuario"
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Inhabilitar la protección de SELinux para los juegos"
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir a la cuenta gadmin de usuario SELinux ejecutar archivos en su "
+-#~ "directorio home o /tmp"
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Inhabilitar la protección de SELinux para los navegadores web"
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir a la cuenta guest de SELinux ejecutar archivos en su directorio "
+-#~ "home o /tmp"
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Inhabilitar la protección de SELinux para Thunderbird"
+-#~ msgid "Memory Protection"
+-#~ msgstr "Protección de Memoria"
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio distccd"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Permitir la pila ejecutable a java"
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dmesg"
+-#~ msgid "Mount"
+-#~ msgstr "Montar"
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dnsmasq"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Permitir a mount montar cualquier archivo"
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio dovecot"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Permitir a mount montar cualquier directorio"
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio entropyd"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Permitir a mplayer la pila ejecutable"
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Inhabilitar la protección de SELinux para fetchmail"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio fingerd"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Permitir a ssh ejecutar ssh_keysign"
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio freshclam"
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir a la cuenta staff de SELinux ejecutar archivos en su directorio "
+-#~ "home o /tmp"
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio fsdaemon"
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir a la cuenta sysadmin de SELinux ejecutar archivos en su "
+-#~ "directorio home o /tmp"
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio gpm"
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Permitir a las cuentas de usuario SELinux no confinadas ejecutar archivos "
+-#~ "en su directorio home o /tmp"
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
+-#~ msgid "Network Configuration"
+-#~ msgstr "Configuración de Red"
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio gss"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Permitir a los paquetes no etiquetados fluir por la red"
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio Hal"
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Permitir a las cuentas de usuarios SELinux ejecutar archivos en su "
+-#~ "directorio home o /tmp"
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibilidad"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "Permitir a las no confinadas a dyntrans a unconfined_execmem"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"No auditar cosas que ya se saben que no andan bien y que no representan "
++"riesgos de seguridad"
+-#~ msgid "Databases"
+-#~ msgstr "Bases de Datos"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio hostname"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio hotplug"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio howl"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio cups hplip"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Inhabilitar la protección de SELinux para la rotación de logs de httpd"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Servicio HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Inhabilitar la protección de SELinux para suexec de http"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio hwclock"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Inhabilitar la protección de SELinux para los demonios hijos de inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio iscsi"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio klogd"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Inhabilitar la protección de SELinux para los demonios ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio lpd"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio lvm"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Inhabilitar la protección de SELinux para mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Permitir a evolution y a thunderbird leer archivos de los usuarios"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Permitir al navegador mozilla leer archivos de los usuarios"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Servicio de Nombre"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Inhabilitar la protección de SELinux para NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio nfsd"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio ntpd"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Inhabilitar la protección de SELinux para oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Inhabilitar la protección de SELinux para oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio openvpn"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio pam"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Inhabilitar la protección de SELinux para pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio perdition"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio portmap"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio portslave"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Inhabilitar la protección de SELinux para postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio postgresql"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Permitir a pppd correr para un usuario regular"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Inhabilitar la protección de SELinux para pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio pxe"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Inhabilitar la protección de SELinux para pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio quota"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio radvd"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Inhabilitar la protección de SELinux para rdisk"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Inhabilitar la protección de SELinux para readahead"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Permitir a los usuarios conectar a socket mysql"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Permitir a los programas leer los archivos en ubicaciones no estándares "
++"(default_t)"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Permitir a los usuarios conectara  socket postgres"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Inhabilitar la protección de SELinux para restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio rhgb"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Inhabilitar la protección de SELinux para ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Inhabilitar la protección de SELinux para ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio rlogind"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio rpcd"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Inhabilitar la protección de SELinux para el demonio rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio rsync"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Permitir a ssh correr desde inetd en vez de como un demonio"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Permitir a Samba compartir los directorios nfs"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Servidor de autenticación SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Permitir al servidor de autenticación sasl leer /etc/shadow"
+-#~ msgid "XServer"
+-#~ msgstr "ServidorX"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Permitir al servidor X-Windows asignar una región de memoria como ejecutable "
++"y de escritura"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Permitir a los clientes escribir a la memoria compartida de X"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio saslauthd"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio scannerdaemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "No permitir la transición a sysadm_t, sudo y su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "No permitir a ningún proceso cargar módulos del kernel"
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir a las cuentas xguest de SELinux ejecutar archivos en el "
+-#~ "directorio home o /tmp"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++"No permitir a ningún proceso modificar la política de SELinux del kernel"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio sendmail"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Permitir a los demonios ejecutar con NIS"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Inhabilitar la protección de SELinux para setrans"
+-#~ msgid "Web Applications"
+-#~ msgstr "Aplicaciones Web"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio setroubleshoot"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transicionar los usuarios SELinux del staff al Dominio del Navegador Web"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio slapd"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "Transicionar el usuario SELinux sysadm al Dominio del Navegador Web"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio slrnpull"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "Transicionar el usuario SELinux user al Dominio del Navegador Web"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio smbd"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "Transicionar el usuario SELinux xguest al Dominio del Navegador Web"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio snmpd"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr ""
+-#~ "Permitir al los Navegadores Web del staff escribir a sus directorios de "
+-#~ "inicio"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio snort"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Deshabilitar la protección SELinux para amanda"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio soundd"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Deshabilitar la protección SELinux para amavis"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio sound"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio apmd"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Protección contra spam"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio arpwatch"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio spamd"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio auditd"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Permitir a spamd acceder a los directorios home"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio automount"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Permitir el acceso a red al demonio Spam Assassin"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Deshabilitar la protección SELinux para avahi"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio speedmgmt"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio bluetooth"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio canna"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Permitir al demonio squid conectarse a la red"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio cardmgr"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio squid"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Deshabilitar la protección SELinux para el Servidor de Cluster"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio ssh"
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Permitir a cdrecord leer varios contenidos. nfs, samba, dispositivos "
+-#~ "removibles, temporales del usuario y archivos de contenidos no confiable"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Permitir ingresos a ssh como sysadm_r:sysadm_t"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio ciped"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Permitir a los usuarios staff_r buscar el directorio home de sysadm y leer "
++"archivos (tales como ~/.bashrc)"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio clamd"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Tunel SSL Universal"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio stunnel"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Permitir al demonio stunnel correr como aplicación, fuera de xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio swat"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio sxid"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio syslogd"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Inhabilitar la protección de SELinux para los trabajos cron de sistema"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio tcp"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio telnet"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio tftpd"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio transproxy"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio udev"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio uml"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Deshabilitar la protección SELinux para clamscan"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Permitir a xinetd correr no confinado, incluyendo cualquier servicio que "
++"inicie que no tenga una transición de dominio explícitamente definida"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Deshabilitar la protección SELinux para clvmd"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Permitir a los scripts de rc ejecutarse no confinados, incluyendo cualquier "
++"demonio iniciado en un script de rc que no tenga una transición de dominio "
++"explícitamente definida"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Permitir a rpm correr no confinado"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio comsat"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Permitir a las utilidades privilegiadas como hotplug e insmod ejecutarse no "
++"confinadas"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio courier"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio updfstab"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio uptimed"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio cpucontrol"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Permitir a user_r llegar a sysadm_r vía su, sudo o userhelper. Sinó, "
++"solamente staff_r podrán hacerlo"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Deshabilitar la protección SELinux para el demonio cpuspeed"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Permitir a los usuarios ejecutar el comando mount"
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Permitir a los usuarios regulares el acceso directo al ratón (solo permitir "
++"al servidor X)"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio crond"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Permitir a los usuarios ejecutar el comando dmesg"
+-#~ msgid "Printing"
+-#~ msgstr "Impresión"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Permitir a los usuarios controlar las interases de red (también necesita "
++"USERCTL=true)"
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr ""
+-#~ "Deshabilitar la protección de SELinux para el servidor de bajo nivel de "
+-#~ "cupsd"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Permitir a los usuarios normales ejecutar ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "Permitir a los usuarios l/e noextattrfile (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Permitir a los usuarios l/e dispositivos usb"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio cupsd"
++#: ../gui/selinux.tbl:216
++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 ""
++"Permitir a los usuarios ejecutar servidores TCP (adjuntarse a puertos y "
++"aceptar conexiones entrantes desde el mismo dominio o usuarios externos) "
++"inhabilitando esto fuerza el modo pasivo de FTP y puede cambiar otros "
++"protocolos"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Permitir a los usuarios hacer stat a archivos tty"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio uucpd"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio vmware"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio watchdog"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio winbind"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio xdm"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Permitir ingresos xdm como sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Permitir a xen leer/escribir dispositivos de disco físicos"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio xfs"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Inhabilitar la protección de SELinux para xen control"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio ypbind"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio NIS Password"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio ypserv"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Inhabilitar la protección de SELinux para el demonio NIS Transfer"
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Deshabilitar la protección de SELinux para cupsd_lpd"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Permitir al usuario SELinux webadm administrar los directorios de inicio de "
++"usuarios no privilegiados"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Permitir a los usuarios webadm de SELinux leer los directorios de inicio de "
++"los usuarios no privilegiados"
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio cvs"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "¿Está seguro que desea eliminar %s '%s'?"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio cyrus"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Borrar %s"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dbskkd"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Agregar %s"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dbusd"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modificar %s"
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Deshabilitar la protección de SELinux para dccd"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permisivo"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Deshabilitar la protección de SELinux para dccifd"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Obediente"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Deshabilitar la protección de SELinux para dccm"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Inhabilitado"
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio ddt"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Estado"
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio devfsd"
++#: ../gui/statusPage.py:133
++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 ""
++"El cambio del tipo de política puede causar un reetiquetado de todo el "
++"sistema de archivo en el siguiente arranque. El reetiquetado demora un "
++"tiempo largo, dependiendo del tamaño del sistema de archivo. ¿Desea "
++"continuar?"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dhcpc"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"El cambio de SELinux a inhabilitado requiere una reiniciada. No se "
++"recomienda. Si más tarde decide volver a activar SELinux, el sistema "
++"requerirá un reetiquetado. Si solo quiere ver si SELinux está causando un "
++"problema en su sistema, puede ir a modo permisivo que solamente registrará "
++"los errores pero no lo obligará a la política de SELinux. El modo permisivo "
++"no requiere una reiniciada. ¿Desea continuar?"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dhcpd"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"El cambio de SELinux a activado provocará el reetiquetado de todo el sistema "
++"de archivo en el siguiente arranque. El reetiquetado demora un tiempo largo, "
++"dependiendo del tamaño del sistema de archivo. ¿Desea continuar?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dictd"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Permitir a sysadm_t iniciar directamente los demonios"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Agregar la asignación de Ingreso SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Agregar Puertos de Red de SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Tipo SELinux"
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Deshabilitar la protección de SELinux para Evolution"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"Nivel MLS/MCS\n"
++"de SELinux"
+-#~ msgid "Games"
+-#~ msgstr "Juegos"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Especificación de Archivo"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Tipo de Archivo"
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Deshabilitar la protección de SELinux para los juegos"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"todos los archivos\n"
++"archivo regular\n"
++"directorio\n"
++"dispositivo de caracter\n"
++"dispositivo de bloque\n"
++"socket\n"
++"enlace simbólico\n"
++"tubería con nombre\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Agregar Usuario SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Administración de SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Agregar"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Propiedades"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Eliminar"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Seleccionar Objeto de Administración"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Seleccionar:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Modo de Obediencia por Defecto del Sistema"
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Deshabilitar la protección de SELinux para los navegadores web"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Inhabilitado\n"
++"Permisivo\n"
++"Obediente\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Modo de Obediencia Actual"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Tipo de Política por Defecto del Sistema:"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Deshabilitar la protección de SELinux para Thunderbird"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Seleccione si desea reetiquetar todo el sistema de archivo en la siguiente "
++"reiniciada. El reetiquetado toma mucho tiempo, dependiendo del tamaño del "
++"sistema. Si cambia los tipos de políticas o va de desactivado a obediente, "
++"se requiere un reetiquetado."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Reetiquetar en la próxima reiniciada."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Revertir los valores booleanos a los predeterminados del sistema"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Cambiar entre los Personalizados y Todos los Booleanos"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Ejecutar el asistente de bloqueo de booleanos"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Bloquear..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtro"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Agregar Contexto de Archivo"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modificar Contexto de Archivo"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Borrar Contexto de Archivo"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Cambiar entre todos los contextos de archivo y los personalizados"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Agregar Mapeo de Usuario SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modificar asignación de Usuario SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Borrar asignación de Usuario SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Agregar Usuario"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modificar Usuario"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Borrar Usuario"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Añadir Traducción"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modificar Traducción"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Borrar Traducción"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Agregar Puerto de Red"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Editar Puerto de Red"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Borrar Puerto de Red"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Cambiar entre los Personalizados y Todos los Puertos"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Generar nuevo módulo de política"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Cargar módulo de políticas"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Eliminar módulo de política cargable"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio distccd"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Inhabilitar reglas de auditoría adicional, que no son normalmente informadas "
++"en los archivos log."
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dmesg"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dnsmasq"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Cambiar el modo de proceso a permisivo."
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio dovecot"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Cambiar el modo de proceso a obediente"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio entropyd"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Dominio del Proceso"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Deshabilitar la protección de SELinux para fetchmail"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio fingerd"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio freshclam"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio fsdaemon"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio gpm"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio gss"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio Hal"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "Compatibilidad"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "No auditar cosas que ya se saben que no andan bien y que no representan "
+-#~ "riesgos de seguridad"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio hostname"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio hotplug"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio howl"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio cups hplip"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr ""
+-#~ "Deshabilitar la protección de SELinux para la rotación de logs de httpd"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "Servicio HTTPD"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Deshabilitar la protección de SELinux para suexec de http"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio hwclock"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio i18n"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio imazesrv"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr ""
+-#~ "Deshabilitar la protección de SELinux para los demonios hijos de inetd"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio inetd"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio innd"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio iptables"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio ircd"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio irqbalance"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio iscsi"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio jabberd"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio kadmind"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio klogd"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio krb5kdc"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Deshabilitar la protección de SELinux para los demonios ktalk"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio kudzu"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio locate"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio lpd"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio lrrd"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio lvm"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Deshabilitar la protección de SELinux para mailman"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "Permitir a evolution y a thunderbird leer archivos de los usuarios"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio mdadm"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio monopd"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Permitir al navegador mozilla leer archivos de los usuarios"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio mrtg"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio mysqld"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio nagios"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "Servicio de Nombre"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio named"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio nessusd"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Deshabilitar la protección de SELinux para NetworkManager"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio nfsd"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio nmbd"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio nrpe"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio nscd"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio nsd"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio ntpd"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Deshabilitar la protección de SELinux para oddjob"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Deshabilitar la protección de SELinux para oddjob_mkhomedir"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio openvpn"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio pam"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Deshabilitar la protección de SELinux para pegasus"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio perdition"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio portmap"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio portslave"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Deshabilitar la protección de SELinux para postfix"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio postgresql"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Permitir a pppd correr para un usuario regular"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Deshabilitar la protección de SELinux para pptp"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio prelink"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio privoxy"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio ptal"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio pxe"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Deshabilitar la protección de SELinux para pyzord"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio quota"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio radiusd"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio radvd"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Deshabilitar la protección de SELinux para rdisk"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Deshabilitar la protección de SELinux para readahead"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Permitir a los programas leer los archivos en ubicaciones no estándares "
+-#~ "(default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Deshabilitar la protección de SELinux para restorecond"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio rhgb"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Deshabilitar la protección de SELinux para ricci"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Deshabilitar la protección de SELinux para ricci_modclusterd"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio rlogind"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio rpcd"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio rshd"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio rsync"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "Permitir a ssh correr desde inetd en vez de como un demonio"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Permitir a Samba compartir los directorios nfs"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Servidor de autenticación SASL"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Permitir al servidor de autenticación sasl leer /etc/shadow"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Permitir al servidor X-Windows mapear una región de memoria como "
+-#~ "ejecutable y de escritura"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio saslauthd"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio scannerdaemon"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "No permitir la transición a sysadm_t, sudo y su"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "No permitir a ningún proceso cargar módulos del kernel"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "No permitir a ningún proceso modificar la política de SELinux del kernel"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio sendmail"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Deshabilitar la protección de SELinux para setrans"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr ""
+-#~ "Deshabilitar la protección de SELinux para el demonio setroubleshoot"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio slapd"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio slrnpull"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio smbd"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio snmpd"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio snort"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio soundd"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio sound"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "Protección contra spam"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio spamd"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Permitir a spamd acceder a los directorios home"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Permitir el acceso a red al demonio Spam Assassin"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio speedmgmt"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Permitir al demonio squid conectarse a la red"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio squid"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio ssh"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permitir ingresos a ssh como sysadm_r:sysadm_t"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Permitir a los usuarios staff_r buscar el directorio home de sysadm y "
+-#~ "leer archivos (tales como ~/.bashrc)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Tunel SSL Universal"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio stunnel"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "Permitir al demonio stunnel correr como aplicación, fuera de xinetd"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio swat"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio sxid"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio syslogd"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr ""
+-#~ "Deshabilitar la protección de SELinux para los trabajos cron de sistema"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio tcp"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio telnet"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio tftpd"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio transproxy"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio udev"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio uml"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permitir a xinetd correr no confinado, incluyendo cualquier servicio que "
+-#~ "inicie que no tenga una transición de dominio explícitamente definida"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permitir a los scripts de rc ejecutarse no confinados, incluyendo "
+-#~ "cualquier demonio iniciado en un script de rc que no tenga una transición "
+-#~ "de dominio explícitamente definida"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Permitir a rpm correr no confinado"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Permitir a las utilidades privilegiadas como hotplug e insmod ejecutarse "
+-#~ "no confinadas"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio updfstab"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio uptimed"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Permitir a user_r llegar a sysadm_r vía su, sudo o userhelper. Sinó, "
+-#~ "solamente staff_r podrán hacerlo"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Permitir a los usuarios ejecutar el comando mount"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Permitir a los usuarios regulares el acceso directo al ratón (solo "
+-#~ "permitir al servidor X)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Permitir a los usuarios ejecutar el comando dmesg"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Permitir a los usuarios controlar las interases de red (también necesita "
+-#~ "USERCTL=true)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Permitir a los usuarios normales ejecutar ping"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "Permitir a los usuarios l/e noextattrfile (FAT, CDROM, FLOPPY)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Permitir a los usuarios l/e dispositivos usb"
+-
+-#~ 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 ""
+-#~ "Permitir a los usuarios ejecutar servidores TCP (adjuntarse a puertos y "
+-#~ "aceptar conexiones entrantes desde el mismo dominio o usuarios externos) "
+-#~ "deshabilitando esto forza el modo pasivo de FTP y puede cambiar otros "
+-#~ "protocolos"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Permitir a los usuarios hacer stat a archivos tty"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio uucpd"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio vmware"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio watchdog"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio winbind"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio xdm"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permitir ingresos xdm como sysadm_r:sysadm_t"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio xen"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Permitir a xen leer/escribir dispositivos de disco físicos"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio xfs"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Deshabilitar la protección de SELinux para xen control"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio ypbind"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio NIS Password"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio ypserv"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Deshabilitar la protección de SELinux para el demonio NIS Transfer"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permitir al usuario SELinux webadm administrar los directorios de inicio "
+-#~ "de usuarios no privilegiados"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permitir a los usuarios webadm de SELinux leer los directorios de inicio "
+-#~ "de los usuarios no privilegiados"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "¿Está seguro que desea eliminar %s '%s'?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "Borrar %s"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "Agregar %s"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "Modificar %s"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "Permisivo"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "Obligatorio"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Deshabilitado"
+-
+-#~ msgid "Status"
+-#~ msgstr "Estado"
+-
+-#~ 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 ""
+-#~ "El cambio del tipo de política puede causar un reetiquetado de todo el "
+-#~ "sistema de archivo en el siguiente arranque. El reetiquetado demora un "
+-#~ "tiempo largo, dependiendo del tamaño del sistema de archivo. ¿Desea "
+-#~ "continuar?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "El cambio de SELinux a deshabilitado requiere una reiniciada. No se "
+-#~ "recomienda. Si más tarde decide volver a activar SELinux, el sistema "
+-#~ "requerirá un reetiquetado. Si solo quiere ver si SELinux está causando un "
+-#~ "problema en su sistema, puede ir a modo permisivo que solamente "
+-#~ "registrará los errores pero no lo obligará a la política de SELinux. El "
+-#~ "modo permisivo no requiere una reiniciada. ¿Desea continuar?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "El cambio de SELinux a activado provocará el reetiquetado de todo el "
+-#~ "sistema de archivo en el siguiente arranque. El reetiquetado demora un "
+-#~ "tiempo largo, dependiendo del tamaño del sistema de archivo. ¿Desea "
+-#~ "continuar?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Agregar el Mapeo de Ingreso SELinux"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Agregar Puertos de Red de SELinux"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "Tipo SELinux"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Nivel MLS/MCS\n"
+-#~ "de SELinux"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "Especificación de Archivo"
+-
+-#~ msgid "File Type"
+-#~ msgstr "Tipo de Archivo"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "todos los archivos\n"
+-#~ "archivo regular\n"
+-#~ "directorio\n"
+-#~ "dispositivo de caracter\n"
+-#~ "dispositivo de bloque\n"
+-#~ "socket\n"
+-#~ "enlace simbólico\n"
+-#~ "tubería con nombre\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Agregar Usuario SELinux"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "Administración de SELinux"
+-
+-#~ msgid "Add"
+-#~ msgstr "Agregar"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "_Propiedades"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "_Eliminar"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "Seleccionar Objeto de Administración"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Seleccionar:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Modo de Obligatorio por Defecto del Sistema"
+-
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "Deshabilitado\n"
+-#~ "Permisivo\n"
+-#~ "Obediente\n"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Modo Obligatorio Actual"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Tipo de Política por Defecto del Sistema:"
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Seleccione si desea reetiquetar todo el sistema de archivo en la "
+-#~ "siguiente reiniciada. El reetiquetado toma mucho tiempo, dependiendo del "
+-#~ "tamaño del sistema. Si cambia los tipos de políticas o va de desactivado "
+-#~ "a obligatorio, se requiere un reetiquetado."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Reetiquetar en la próxima reiniciada."
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "Revertir los valores booleanos a los predeterminados del sistema"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Cambiar entre los Personalizados y Todos los Booleanos"
+-
+-#~ msgid "Run booleans lockdown wizard"
+-#~ msgstr "Ejecutar el asistente de bloqueo de booleanos"
+-
+-#~ msgid "Lockdown..."
+-#~ msgstr "Bloquear..."
+-
+-#~ msgid "Filter"
+-#~ msgstr "Filtro"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "Agregar Contexto de Archivo"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "Modificar Contexto de Archivo"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "Borrar Contexto de Archivo"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "Cambiar entre todos los contextos de archivo y los personalizados"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Agregar Mapeo de Usuario SELinux"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Modificar Mapeo de Usuario SELinux"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Borrar el Mapeo de Usuario SELinux"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "Agregar Traducción"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "Modificar Traducción"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "Borrar Traducción"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Modificar Usuario SELinux"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "Agregar Puerto de Red"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Editar Puerto de Red"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Borrar Puerto de Red"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Cambiar entre los Personalizados y Todos los Puertos"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Generar nuevo módulo de política"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "Cargar módulo de políticas"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Eliminar módulo de política cargable"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Deshabilitar reglas de auditoría adicional, que no son normalmente "
+-#~ "informadas en los archivos log."
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "Nivel de Sensibilidad"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Se requiere el usuario SELinux '%s'"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Disable"
+-#~ msgstr "Deshabilitar"
+-
+-#~ msgid "Enable"
+-#~ msgstr "Habilitar"
+-
+-#~ msgid "Default"
+-#~ msgstr "Predeterminado"
+-
+-#~ msgid "<b>Boolean</b>"
+-#~ msgstr "<b>Booleano</b>"
+-
+-#~ msgid "<b>Description</b>"
+-#~ msgstr "<b>Descripción</b>"
+-
+-#~ msgid "<b>Status</b>"
+-#~ msgstr "<b>Estado</b>"
+-
+-#~ msgid "Category: %s <br>"
+-#~ msgstr "Categoría: %s <br>"
+-
+-#~ msgid "Begin"
+-#~ msgstr "Iniciar"
+-
+-#~ msgid ""
+-#~ "Welcome to the SELinux Lockdown Tool.<br> <br>This tool can be used to "
+-#~ "lockdown SELinux booleans.The tool will generate a configuration file "
+-#~ "which can be used to lockdown this system or other SELinux systems.<br>"
+-#~ msgstr ""
+-#~ "Bienvenido a la Herramienta de Bloqueo de SELinux. <br> <br>Esta "
+-#~ "herramienta se puede usar para bloquear booleanos de SELinux. La "
+-#~ "herramienta generará un archivo de configuración que se puede usar para "
+-#~ "bloquear este sistema u otros sistemas SELinux.<br>"
+-
+-#~ msgid "Finish"
+-#~ msgstr "Finalizar"
+-
+-#~ msgid "Category %s booleans completed <br><br>"
+-#~ msgstr "Categoría %s de booleanos completada <br><br>"
+-
+-#~ msgid "Current settings:<br><br>"
+-#~ msgstr "Configuración actual:<br><br>"
+-
+-#~ msgid "Finish: <br><br>"
+-#~ msgstr "Finalizar: <br><br>"
+-
+-#~ msgid "Category: %s<br><br>Current Settings<br><br>"
+-#~ msgstr "Categoría: %s<br><br>Configuración Actual<br><br>"
+-
+-#~ msgid "Boolean:   %s<br><br>"
+-#~ msgstr "Booleano:  %s<br><br>"
+-
+-#~ msgid "Lockdown SELinux Booleans"
+-#~ msgstr "Bloquear Booleanos de SELinux"
+-
+-#~ msgid "Apply"
+-#~ msgstr "Aplicar"
+-
+-#~ msgid "SELinux Boolean Lockdown"
+-#~ msgstr "Bloqueo de Booleanos de SELinux"
+-
+-#~ msgid "Save As"
+-#~ msgstr "Guardar Como"
+-
+-#~ msgid "Save Boolean Configuration File"
+-#~ msgstr "Guardar Archivo de Configuración de Booleanos"
+-
+-#~ msgid "Select file name to save  boolean settings."
+-#~ msgstr ""
+-#~ "Seleccione el nombre de archivo para guardar la configuración de "
+-#~ "booleanos."
+-
+-#~ msgid "_Forward"
+-#~ msgstr "_Siguiente"
+-
+-#~ msgid "_Previous"
+-#~ msgstr "_Previo"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "Se requiere un valor"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Prefijo inválido %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "Permitir a la aplicación/usuario engancharse a cualquier puerto tcp > 1024"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "Permitir que la aplicación/usuario confinado se enganche a cualquier "
+-#~ "puerto tcp"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Ingrese una lista separado por comas de los puertos tcp a los que esta  "
+-#~ "aplicación/rol de usuario se engancha. Ejemplo: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "Druid de Generación de Políticas de SELinux"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "Puertos No Reservados (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "Use esta casilla de verificación si su aplicación llama a bidresvport con "
+-#~ "0."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Obligatorio\n"
+-#~ "Permisivo\n"
+-#~ "Deshabilitado\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Se requiere el usuario SELinux '%s'"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/et.po policycoreutils-2.0.85/po/et.po
+--- nsapolicycoreutils/po/et.po        2011-02-17 15:11:25.969720930 -0500
++++ policycoreutils-2.0.85/po/et.po    2011-02-18 16:03:41.361975695 -0500
+@@ -1,3 +1,20 @@
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -100,7 +117,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -152,736 +170,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1252,3 +1277,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/eu_ES.po policycoreutils-2.0.85/po/eu_ES.po
+--- nsapolicycoreutils/po/eu_ES.po     2011-02-17 15:11:25.722725008 -0500
++++ policycoreutils-2.0.85/po/eu_ES.po 2011-02-18 16:03:41.362975702 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/fa.po policycoreutils-2.0.85/po/fa.po
+--- nsapolicycoreutils/po/fa.po        2011-02-17 15:11:25.649726215 -0500
++++ policycoreutils-2.0.85/po/fa.po    2011-02-18 16:03:41.363975709 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/fi.po policycoreutils-2.0.85/po/fi.po
+--- nsapolicycoreutils/po/fi.po        2011-02-17 15:11:24.918738320 -0500
++++ policycoreutils-2.0.85/po/fi.po    2011-02-18 16:03:41.364975716 -0500
+@@ -1,20 +1,37 @@
+-# 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 <EMAIL@ADDRESS>, YEAR.
+-#
+-#, fuzzy
++# Finnish translation of policycoreutils.
++# Copyright (C) 2009 policycoreutils' COPYRIGHT HOLDER
++# This file is distributed under the same license as the policycoreutils package.
++# Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>, 2009, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: PACKAGE VERSION\n"
++"Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+-"Language-Team: LANGUAGE <LL@li.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-29 19:56+0300\n"
++"Last-Translator: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>\n"
++"Language-Team: Finnish <laatu@lokalisointi.org>\n"
++"Language: fi\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"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Tee SELinuxin asetukset graafisesti"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinuxin ylläpito"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Generoi SELinuxin käytäntömoduuleja"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux-käytäntöjen generointityökalu"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -22,1251 +39,3516 @@
+ "  where: <script> is the name of the init script to run,\n"
+ "         <args ...> are the arguments to that script."
+ msgstr ""
++"Käyttö: run_init <komentosarja> <argumentit ...>\n"
++"  missä: <komentosarja> on suoritettavan käynnistyskomentosarjan nimi,\n"
++"         <argumentit ...> ovat sen argumentit."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+ msgid "failed to initialize PAM\n"
+-msgstr ""
++msgstr "PAMin alustaminen epäonnistui\n"
+ #: ../run_init/run_init.c:139
+ #, c-format
+ msgid "failed to get account information\n"
+-msgstr ""
++msgstr "kirjautumistietoja ei saatu\n"
+ #: ../run_init/run_init.c:162 ../newrole/newrole.c:338
+ msgid "Password:"
+-msgstr ""
++msgstr "Salasana:"
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr ""
++msgstr "Varjosalasanatiedostosta ei löydy tämän käyttäjän tietoja.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+ msgid "getpass cannot open /dev/tty\n"
+-msgstr ""
++msgstr "getpass ei voi avata laitetta /dev/tty\n"
+ #: ../run_init/run_init.c:275
+ #, c-format
+ msgid "run_init: incorrect password for %s\n"
+-msgstr ""
++msgstr "run_init: väärä salasana käyttäjälle %s\n"
+ #: ../run_init/run_init.c:309
+ #, c-format
+ msgid "Could not open file %s\n"
+-msgstr ""
++msgstr "Tiedostoa %s ei voitu avata\n"
+ #: ../run_init/run_init.c:336
+ #, c-format
+ msgid "No context in file %s\n"
+-msgstr ""
++msgstr "Tiedostolla %s ei ole kontekstia\n"
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr ""
++msgstr "run_initiä voi käyttää vain SELinux-kernelillä.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+ msgid "authentication failed.\n"
+-msgstr ""
++msgstr "tunnistautuminen epäonnistui.\n"
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+ msgid "Could not set exec context to %s.\n"
+-msgstr ""
++msgstr "Ei voitu asettaa suorituskontekstia kontekstiksi %s.\n"
+ #: ../audit2allow/audit2allow:217
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
++msgstr "******************** TÄRKEÄÄ ***********************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "Tämän käytäntöpakkauksen aktivoimiseksi suorita:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+-msgstr ""
++msgstr "Ei voitu luoda semanage-kahvaa"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr ""
++msgstr "SELinux-käytäntöä ei hallita tai säilöä ei voida käyttää."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr ""
++msgstr "Käytäntösäilöä ei voida lukea."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+-msgstr ""
++msgstr "Semanage-yhteyttä ei voitu muodostaa"
+ #: ../semanage/seobject.py:70
+ msgid "Could not test MLS enabled status"
+-msgstr ""
++msgstr "Ei voitu testata onko MLS käytössä"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "globaali"
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
++"Ei voitu avata tiedostoa %s: käännöksiä ei tueta koneissa, joissa ei ole MLS:"
++"ää: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "Taso"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "Käännös"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr ""
++msgstr "Käännökset eivät voi sisältää välilyöntejä ”%s” "
+ #: ../semanage/seobject.py:250
+ #, python-format
+ msgid "Invalid Level '%s' "
+-msgstr ""
++msgstr "Virheellinen taso ”%s” "
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr ""
++msgstr "%s on jo määritelty käännöksissä"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr ""
++msgstr "%s ei ole määritelty käännöksissä"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Ei vielä toteutettu"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage-transaktio on jo käynnissä"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+-msgstr ""
++msgstr "Semanage-transaktiota ei voitu käynnistää"
+ #: ../semanage/seobject.py:309
+ msgid "Could not commit semanage transaction"
+-msgstr ""
++msgstr "Semanage-transaktiota ei voitu toteuttaa"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage-transaktio ei ole käynnissä"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+-msgstr ""
++msgstr "SELinux-moduuleita ei voitu luetteloida"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Sallivat tyypit"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Ei voitu asettaa sallivaa toimialuetta %s (moduulin asennus epäonnistui)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Ei voitu poistaa sallivaa toimialuetta %s (poisto epäonnistui)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+-msgstr ""
++msgstr "Ei voitu luoda avainta käyttäjälle %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
++"Ei voitu tarkistaa onko käyttäjälle %s määritelty kirjautumisassosiaatiota"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr ""
++msgstr "Käyttäjälle %s on jo määritelty kirjautumisassosiaatio"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr ""
++msgstr "Linux-ryhmää %s ei ole olemassa"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+-msgstr ""
++msgstr "Linux-käyttäjää %s ei ole olemassa"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr ""
++msgstr "Käyttäjälle %s ei voitu tehdä kirjautumisassosiaatiota"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr ""
++msgstr "Käyttäjän %s nimeä ei voitu asettaa"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr ""
++msgstr "Käyttäjän %s MLS-aluetta ei voitu asettaa"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+-msgstr ""
++msgstr "Käyttäjän %s SELinux-käyttäjää ei voitu asettaa"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr ""
++msgstr "Käyttäjälle %s ei voitu lisätä kirjautumisassosiaatiota"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr ""
++msgstr "lisää SELinux-käyttäjäassosiaatio"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+-msgstr ""
++msgstr "Vaatii seuserin tai serangen"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr ""
++msgstr "Käyttäjälle %s ei ole määritelty kirjautumisassosiaatiota"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+-msgstr ""
++msgstr "Seuserilta ei voitu kysellä käyttäjän %s tietoja"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr ""
++msgstr "Käyttäjän %s kirjautumisassosiaatiota ei voitu muokata"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
++"Käyttäjän %s kirjautumisassosiaatio on määritelty SELinux-käytännössä, sitä "
++"ei voi poistaa"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr ""
++msgstr "Käyttäjän %s kirjautumisassosiaatiota ei voitu poistaa"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr ""
++msgstr "Kirjautumisassosiaatioita ei voitu luetteloida"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "Kirjautumisnimi"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr ""
++msgstr "SELinux-käyttäjä"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr ""
++msgstr "MLS/MCS-alue"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+-msgstr ""
++msgstr "Ainakin yksi rooli on lisättävä käyttäjälle %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+-msgstr ""
++msgstr "Ei voitu tarkistaa onko SELinux-käyttäjää %s määritelty"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr ""
++msgstr "SELinux-käyttäjä %s on jo määritelty"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr ""
++msgstr "Ei voitu luoda SELinux-käyttäjää käyttäjälle %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+-msgstr ""
++msgstr "Roolia %s ei voitu lisätä käyttäjälle %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+-msgstr ""
++msgstr "Käyttäjän %s MLS-tasoa ei voitu asettaa"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr ""
++msgstr "Etuliitettä %s ei voitu lisätä käyttäjälle %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+-msgstr ""
++msgstr "Ei voitu purkaa käyttäjän %s avainta"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+-msgstr ""
++msgstr "Ei voitu lisätä SELinux-käyttäjää %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+-msgstr ""
++msgstr "Vaatii etuliitteen, roolit, tasot tai alueen"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+-msgstr ""
++msgstr "Vaatii etuliitteen tai roolit"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr ""
++msgstr "SELinux-käyttäjää %s ei ole määritelty"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+-msgstr ""
++msgstr "Ei voitu kysellä käyttäjältä tietoja kohteesta %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+-msgstr ""
++msgstr "Ei voitu muokata SELinux-käyttäjää %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
++"SELinux-käyttäjä %s on määritelty SELinux-käytännössä, sitä ei voi poistaa"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+-msgstr ""
++msgstr "Ei voitu poistaa SELinux-käyttäjää %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr ""
++msgstr "SELinux-käyttäjiä ei voitu luetteloida"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+-msgstr ""
++msgstr "Käyttäjän %s rooleja ei voitu luetteloida"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Nimiöinti"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "Etuliite"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr ""
++msgstr "MCS-taso"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr ""
++msgstr "MCS-alue"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "SELinux-roolit"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+-msgstr ""
++msgstr "Udp- tai tcp-protokolla on pakollinen"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+-msgstr ""
++msgstr "Portti on pakollinen"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+-msgstr ""
++msgstr "Ei voitu luoda avainta yhdistelmälle %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+-msgstr ""
++msgstr "Tyyppi on pakollinen"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+-msgstr ""
++msgstr "Ei voitu tarkistaa onko portti %s/%s määritelty"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+-msgstr ""
++msgstr "Portti %s/%s on jo määritelty"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+-msgstr ""
++msgstr "Yhdistelmälle %s/%s ei voitu luoda porttia"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+-msgstr ""
++msgstr "Yhdistelmälle %s/%s ei voitu luoda kontekstia"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr ""
++msgstr "Ei voitu asettaa käyttäjää yhdistelmän %s/%s porttikontekstissa"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr ""
++msgstr "Ei voitu asettaa roolia yhdistelmän %s/%s porttikontekstissa"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr ""
++msgstr "Ei voitu asettaa tyyppiä yhdistelmän %s/%s porttikontekstissa"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr ""
++msgstr "Ei voitu asettaa mls-kenttiä yhdistelmän %s/%s porttikontekstissa"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr ""
++msgstr "Ei voitu asettaa porttikontekstia yhdistelmälle %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+-msgstr ""
++msgstr "Ei voitu lisätä porttia %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+-msgstr ""
++msgstr "Vaatii setypen tai serangen"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+-msgstr ""
++msgstr "Vaatii setypen"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+-msgstr ""
++msgstr "Porttia %s/%s ei ole määritelty"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+-msgstr ""
++msgstr "Ei voitu kysellä porttia %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+-msgstr ""
++msgstr "Ei voitu muokata porttia %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr ""
++msgstr "Ei voitu luetteloida portteja"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+-msgstr ""
++msgstr "Ei voitu poistaa porttia %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "Portti %s/%s on määritelty SELinux-käytännössä, sitä ei voi poistaa"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+-msgstr ""
++msgstr "Ei voitu poistaa porttia %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+-msgstr ""
++msgstr "Ei voitu luetteloida portteja"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "SELinux-porttityyppi"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Protokolla"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr ""
++msgstr "Porttinumero"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr ""
++msgstr "Koneen osoite on pakollinen"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr ""
++msgstr "Koneen aliverkon peite on pakollinen"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Tuntematon tai puuttuva protokolla"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+-msgstr ""
++msgstr "SELinux-tyyppi on pakollinen"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+-msgstr ""
++msgstr "Ei voitu luoda avainta osoitteelle %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr ""
++msgstr "Ei voitu tarkistaa onko osoite %s määritelty"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+-msgstr ""
++msgstr "Osoite %s on jo määritelty"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+-msgstr ""
++msgstr "Ei voitu luoda osoitetta kohteelle %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr ""
++msgstr "Ei voitu luoda kontekstia osoitteelle %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa peitettä osoitteelle %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa käyttäjää osoitekontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa roolia osoitekontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa tyyppiä osoitekontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa mls-kenttiä osoitekontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa osoitekontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+-msgstr ""
++msgstr "Ei voitu lisätä osoitetta %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+-msgstr ""
++msgstr "Osoitetta %s ei ole määritelty"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+-msgstr ""
++msgstr "Ei voitu kysellä osoitetta %s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+-msgstr ""
++msgstr "Ei voitu muokata osoitetta %s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "Osoite %s on määritelty SELinux-käytännössä, sitä ei voi poistaa"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+-msgstr ""
++msgstr "Ei voitu poistaa osoitetta %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr ""
++msgstr "Ei voitu luetteloida osoitteita"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr ""
++msgstr "Ei voitu tarkistaa onko verkkoliitäntä %s määritelty"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr ""
++msgstr "Verkkoliitäntä %s on jo määritelty"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+-msgstr ""
++msgstr "Ei voitu luoda verkkoliitäntää kohteelle %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa käyttäjää verkkoliitäntäkontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa roolia verkkoliitäntäkontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa tyyppiä verkkoliitäntäkontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa mls-kenttiä verkkoliitäntäkontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa verkkoliitäntäkontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa viestikontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+-msgstr ""
++msgstr "Ei voitu lisätä verkkoliitäntää %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+-msgstr ""
++msgstr "Verkkoliitäntää %s ei ole määritelty"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+-msgstr ""
++msgstr "Ei voitu kysellä verkkoliitäntää %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+-msgstr ""
++msgstr "Ei voitu muokata verkkoliitäntää %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
++"Verkkoliitäntä %s on määritelty SELinux-käytännössä, sitä ei voi poistaa"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+-msgstr ""
++msgstr "Ei voitu poistaa verkkoliitäntää %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+-msgstr ""
++msgstr "Ei voitu luetella verkkoliitäntöjä"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "SELinux-verkkoliitäntä"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr ""
++msgstr "Konteksti"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa käyttäjää tiedostokontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa roolia tiedostokontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa mls-kenttiä tiedostokontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "Virheellinen tiedostomääritys"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr ""
++msgstr "Ei voitu tarkistaa onko tiedostokonteksti määritelty kohteelle %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr ""
++msgstr "Tiedostokonteksti on jo määritelty kohteelle %s"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr ""
++msgstr "Ei voitu luoda tiedostokontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa tyyppiä tiedostokontekstissa kohteelle %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr ""
++msgstr "Ei voitu asettaa tiedostokontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr ""
++msgstr "Ei voitu lisätä tiedostokontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+-msgstr ""
++msgstr "Vaatii setypen, serangen tai seuserin"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr ""
++msgstr "Tiedostokonteksti ei ole määritelty kohteelle %s"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr ""
++msgstr "Ei voitu kysellä tiedostokontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr ""
++msgstr "Ei voitu muokata kohteen %s tiedostokontekstia"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr ""
++msgstr "Ei voitu luetella tiedostokonteksteja"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+-msgstr ""
++msgstr "Ei voitu poistaa kohteen %s tiedostokontekstia"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
++"Kohteen %s tiedostokonteksti on määritelty SELinux-käytännössä, sitä ei voi "
++"poistaa"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr ""
++msgstr "Ei voitu poistaa kohteen %s tiedostokontekstia"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr ""
++msgstr "Ei voitu luetella tiedostokonteksteja"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr ""
++msgstr "Ei voitu luetella paikallisia tiedostokonteksteja"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux-tiedostokonteksti"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "tyyppi"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr ""
++msgstr "Ei voitu tarkistaa onko totuusarvo %s määritelty"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+-msgstr ""
++msgstr "Totuusarvoa %s ei ole määritelty"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr ""
++msgstr "Ei voitu kysellä tiedostokontekstia kohteelle %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr ""
++msgstr "Yksi seuraavista arvoista on määriteltävä: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr ""
++msgstr "Ei voitu asettaa totuusarvon %s aktiivista arvoa"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr ""
++msgstr "Ei voitu muokata totuusarvoa %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Virheellinen muoto %s: tietue %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr ""
++msgstr "Totuusarvo %s on määritelty SELinux-käytännössä, sitä ei voi poistaa"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr ""
++msgstr "Ei voitu poistaa totuusarvoa %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr ""
++msgstr "Ei voitu luetteloida totuusarvoja"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "tuntematon"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "epätosi"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "tosi"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "SELinux-totuusarvo"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Kuvaus"
+ #: ../newrole/newrole.c:198
+ #, c-format
+ msgid "failed to set PAM_TTY\n"
+-msgstr ""
++msgstr "PAM_TTY:n asettaminen epäonnistui\n"
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "newrole: palveluiden nimiasetusten hajautustaulun ylivuoto\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "newrole: %s: virhe rivillä %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr ""
++msgstr "passwd-tiedostosta ei löydy kelvollista kohtaa.\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+ msgid "Out of memory!\n"
+-msgstr ""
++msgstr "Muisti loppui!\n"
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr ""
++msgstr "Virhe! Komentotulkki on virheellinen.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+ msgid "Unable to clear environment\n"
+-msgstr ""
++msgstr "Ympäristöä ei voida siivota\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+ #, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr ""
++msgstr "Virhe ominaisuuksien alustamisessa, lopetetaan.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr ""
++msgstr "Virhe ominaisuuksien asettamisessa, lopetetaan.\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+ msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr ""
++msgstr "Virhe asettaessa KEEPCAPSia, lopetetaan.\n"
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+ msgid "Error dropping capabilities, aborting\n"
+-msgstr ""
++msgstr "Virhe ominaisuuksien hylkäämisessä, lopetetaan\n"
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr ""
++msgstr "Virhe käyttäjätunnuksen vaihdossa, lopetetaan.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr ""
++msgstr "Virhe KEEPCAPSin uudelleenasetuksessa, lopetetaan.\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr ""
++msgstr "Virhe SETUID-ominaisuuden hylkäämisessä, lopetetaan\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+ msgid "Error freeing caps\n"
+-msgstr ""
++msgstr "Virhe ominaisuuksien vapauttamisessa\n"
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr ""
++msgstr "Virhe audit-järjestelmään yhdistämisessä.\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+ msgid "Error allocating memory.\n"
+-msgstr ""
++msgstr "Virhe muistivarauksessa.\n"
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr ""
++msgstr "Virhe audit-viestin lähettämisessä.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr ""
++msgstr "Ei voitu selvittää toimeenpanevaa tilaa.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr ""
++msgstr "Virhe! Ei voitu avata tty:tä %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+ msgstr ""
++"%s! Ei saatu nykyistä kontekstia tty:lle %s, ei nimiöidä sitä uudelleen.\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+ msgstr ""
++"%s! Ei saatu uutta kontekstia tty:lle %s, ei nimiöidä sitä uudelleen.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr ""
++msgstr "%s! Ei voitu asettaa uutta kontekstia tty:lle %s\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr ""
++msgstr "tty %s vaihtoi nimiötä.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr ""
++msgstr "Varoitus! Ei voitu palauttaa tty:n %s kontekstia\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr ""
++msgstr "Virhe: annettiin useita rooleja\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+ msgid "Error: multiple types specified\n"
+-msgstr ""
++msgstr "Virhe: annettiin useita tyyppejä\n"
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr ""
++msgstr "Valitsinta -l voi käyttää vain SELinuxin MLS-tuen kanssa.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+ msgid "Error: multiple levels specified\n"
+-msgstr ""
++msgstr "Virhe: annettiin useita tasoja\n"
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr ""
++msgstr "Virhe: tasoa ei voi vaihtaa turvattomassa päätteessä\n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr ""
++msgstr "Ei voitu hakea oletustyyppiä.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr ""
++msgstr "uuden kontekstin hakeminen epäonnistui.\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+ msgid "failed to set new role %s\n"
+-msgstr ""
++msgstr "uuden roolin %s asettaminen epäonnistui\n"
+ #: ../newrole/newrole.c:981
+ #, c-format
+ msgid "failed to set new type %s\n"
+-msgstr ""
++msgstr "uuden tyypin %s asettaminen epäonnistui\n"
+ #: ../newrole/newrole.c:991
+ #, c-format
+ msgid "failed to build new range with level %s\n"
+-msgstr ""
++msgstr "uuden alueen tekeminen tasolle %s epäonnistui\n"
+ #: ../newrole/newrole.c:996
+ #, c-format
+ msgid "failed to set new range %s\n"
+-msgstr ""
++msgstr "uuden alueen %s asettaminen epäonnistui\n"
+ #: ../newrole/newrole.c:1004
+ #, c-format
+ msgid "failed to convert new context to string\n"
+-msgstr ""
++msgstr "uuden kontekstin muuntaminen merkkijonoksi epäonnistui\n"
+ #: ../newrole/newrole.c:1009
+ #, c-format
+ msgid "%s is not a valid context\n"
+-msgstr ""
++msgstr "%s ei ole kelvollinen konteksti\n"
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr ""
++msgstr "new_contextille ei voida varata muistia"
+ #: ../newrole/newrole.c:1042
+ #, c-format
+ msgid "Unable to obtain empty signal set\n"
+-msgstr ""
++msgstr "Tyhjän signaalijoukon hankkiminen epäonnistui\n"
+ #: ../newrole/newrole.c:1050
+ #, c-format
+ msgid "Unable to set SIGHUP handler\n"
+-msgstr ""
++msgstr "SIGHUP-käsittelimen asetus epäonnistui\n"
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr ""
++msgstr "newrolea voi käyttää vain SELinux-kernelillä.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr ""
++msgstr "old_contextin hakeminen epäonnistui.\n"
+ #: ../newrole/newrole.c:1140
+ #, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr ""
++msgstr "Varoitus! Ei voitu hakea tty-tietoja.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "virhe luettaessa PAM-palveluasetuksia.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr ""
++msgstr "newrole: virheellinen salasana käyttäjälle %s\n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+ msgid "newrole: failure forking: %s"
+-msgstr ""
++msgstr "newrole: haarautuminen epäonnistui: %s"
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr ""
++msgstr "Tty:n nimiötä ei voitu palauttaa…\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+ msgid "Failed to close tty properly\n"
+-msgstr ""
++msgstr "Tty:n sulkeminen kunnolla epäonnistui\n"
+ #: ../newrole/newrole.c:1287
+ #, c-format
+ msgid "Could not close descriptors.\n"
+-msgstr ""
++msgstr "Kuvaajia ei voitu sulkea.\n"
+ #: ../newrole/newrole.c:1314
+ #, c-format
+ msgid "Error allocating shell's argv0.\n"
+-msgstr ""
++msgstr "Komentotulkin argv0:n varaamisessa tapahtui virhe.\n"
+ #: ../newrole/newrole.c:1346
+ #, c-format
+ msgid "Unable to restore the environment, aborting\n"
+-msgstr ""
++msgstr "Ei voitu palauttaa ympäristöä, lopetetaan\n"
+ #: ../newrole/newrole.c:1357
+ msgid "failed to exec shell\n"
+-msgstr ""
++msgstr "komentotulkin suorittaminen epäonnistui\n"
+ #: ../load_policy/load_policy.c:22
+ #, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr ""
++msgstr "käyttö:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s: Käytäntö on jo ladattu, silti pyydettiin ensimmäistä latausta\n"
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr ""
++msgstr "%s: Ei voida ladata käytäntöä, pyydettiin toimeenpanevaa tilaa: %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr ""
++msgstr "%s: Ei voida ladata käytäntöä: %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+-msgstr ""
++msgstr "Vaaditaan ainakin yksi kategoria"
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+ msgid "Can not modify sensitivity levels using '+' on %s"
+-msgstr ""
++msgstr "Ei voida muokata herkkyystasoja käyttämällä ”+”-merkkiä kohteessa %s"
+ #: ../scripts/chcat:110
+ #, c-format
+ msgid "%s is already in %s"
+-msgstr ""
++msgstr "%s on jo kohteessa %s"
+ #: ../scripts/chcat:188 ../scripts/chcat:198
+ #, c-format
+ msgid "%s is not in %s"
+-msgstr ""
++msgstr "%s ei ole kohteessa %s"
+ #: ../scripts/chcat:267 ../scripts/chcat:272
+ msgid "Can not combine +/- with other types of categories"
+-msgstr ""
++msgstr "Merkkejä + tai - ei voi yhdistää muiden kategoriatyyppien kanssa"
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+-msgstr ""
++msgstr "Ei voi olla useita herkkyyksiä"
+ #: ../scripts/chcat:325
+ #, c-format
+ msgid "Usage %s CATEGORY File ..."
+-msgstr ""
++msgstr "Käyttö %s KATEGORIA Tiedosto ..."
+ #: ../scripts/chcat:326
+ #, c-format
+ msgid "Usage %s -l CATEGORY user ..."
+-msgstr ""
++msgstr "Käyttö %s -l KATEGORIA käyttäjä ..."
+ #: ../scripts/chcat:327
+ #, c-format
+ msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
+-msgstr ""
++msgstr "Käyttö %s [[+|-]KATEGORIA],...]q Tiedosto ..."
+ #: ../scripts/chcat:328
+ #, c-format
+ msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
+-msgstr ""
++msgstr "Käyttö %s -l [[+|-]KATEGORIA],...]q käyttäjä ..."
+ #: ../scripts/chcat:329
+ #, c-format
+ msgid "Usage %s -d File ..."
+-msgstr ""
++msgstr "Käyttö %s -d Tiedosto ..."
+ #: ../scripts/chcat:330
+ #, c-format
+ msgid "Usage %s -l -d user ..."
+-msgstr ""
++msgstr "Käyttö %s -l -d käyttäjä ..."
+ #: ../scripts/chcat:331
+ #, c-format
+ msgid "Usage %s -L"
+-msgstr ""
++msgstr "Käyttö %s -L"
+ #: ../scripts/chcat:332
+ #, c-format
+ msgid "Usage %s -L -l user"
+-msgstr ""
++msgstr "Käyttö %s -L -l käyttäjä"
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr ""
++msgstr "Käytä -- valitsinluettelon lopettamiseksi. Esimerkiksi"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+-msgstr ""
++msgstr "chcat -- -CompanyConfidential /docs/businessplan.odt"
+ #: ../scripts/chcat:335
+ msgid "chcat -l +CompanyConfidential juser"
+-msgstr ""
++msgstr "chcat -l +CompanyConfidential juser"
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
++msgstr "Valitsinvirhe %s"
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Totuusarvo"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "kaikki"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Mukautettu"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Tiedostonimiöinti"
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Tiedosto-\n"
++"määrittely"
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux-\n"
++"tiedostotyyppi"
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Tiedosto-\n"
++"tyyppi"
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Käyttäjäassosiaatio"
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Kirjautumis-\n"
++"nimi"
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux-\n"
++"käyttäjä"
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS-alue"
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Vaaditaan kirjautuminen ”%s”"
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Käytäntömoduuli"
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Moduulin nimi"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versio"
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Poista Audit käytöstä"
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Ota Audit käyttöön"
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Lataa käytäntömoduuli"
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>, 2009"
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Tätä työkalua voidaan käyttää käytäntökehyksen generointiin sekä ohjelmien "
++"ja käyttäjien rajoittamiseen SELinuxilla.\n"
++"\n"
++"Tämä työkalu generoi:\n"
++"Tyyppitoimeenpanotiedoston (te)\n"
++"Verkkoliitäntätiedoston (if)\n"
++"Tiedostokontekstitiedoston (fc)\n"
++"Komentotulkin komentosarjan - käytetään käytännön kääntämiseen ja "
++"asentamiseen."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Valitse rajoitettavan ohjelman/käyttäjäroolin tyyppi"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Ohjelmat</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Oletus-init-taustaprosessit ovat init-komentosarjojen käynnistyksen "
++"yhteydessä käynnistämiä prosesseja. Ne yleensä tarvitsevat hakemistossa /etc/"
++"rc.d/init.d olevan komentosarjan"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Oletus-init-taustaprosessit"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS-järjestelmätaustaprosessi"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet-palvelut ovat xinetd:n käynnistämiä taustaprosesseja"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet-palvelut (intetd)"
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Web-sovellukset tai -komentosarjat ovat web-palvelimen (apache) käynnistämiä "
++"CGI-komentosarjoja"
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Web-sovellus tai -komentosarja (CGI)"
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Käyttäjän ohjelma on mikä tahansa käyttäjän käynnistämä ohjelma, jonka "
++"toimintaa halutaan rajoittaa"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Käyttäjän ohjelmia"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Kirjautuvat käyttäjät</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Muokkaa olemassa olevan kirjautuvan käyttäjän tietoja."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Olemassa olevat käyttäjäroolit"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Tämä käyttäjä kirjautuu koneelle vain päätteen kautta tai etäkirjautumalla. "
++"Oletuksena tällä käyttäjällä ei ole setuid-oikeutta, verkkoa, su:ta tai "
++"sudoa."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimaalisen päätekäyttäjän rooli"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Tämä käyttäjä voi kirjautua koneelle X:n tai päätteen kautta. Oletuksena "
++"tällä käyttäjällä ei ole setuid-oikeutta, verkkoa, su:ta tai sudoa."
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimaalisen X Windows -käyttäjän rooli"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
+ msgstr ""
++"Käyttäjä jolla on täysi verkonkäyttömahdollisuus, ei setuid-oikeuksia ilman "
++"siirtymistä, ei sudoa eikä su:ta."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Käyttäjän rooli"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Käyttäjät joilla on täysi verkonkäyttömahdollisuus, ei setuid-oikeuksia "
++"ilman siirtymistä, ei su:ta, voi siirtyä sudolla Pääkäyttäjän ylläpitorooliin"
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Ylläpitokäyttäjän rooli"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Pääkäyttäjät</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Valitse pääkäyttäjän ylläpitorooli, jos tämä käyttäjä ylläpitää konetta "
++"pääkäyttäjänä (root). Tämä käyttäjä ei pysty kirjautumaan järjestelmään "
++"suoraan."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Pääkäyttäjän ylläpitorooli"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Syötä rajoitettavan ohjelman tai käyttäjäroolin nimi"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nimi"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Syötä rajoitettavan suoritettavan tiedoston täysi polku"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Syötä uniikki nimi rajoitetulle ohjelmalle tai käyttäjäroolille"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Suoritettava tiedosto"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init-komentosarja"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Syötä rajoitetun ohjelman käynnistämiseen käytettävän komentosarjan täysi "
++"polku."
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Valitse muokattavat käyttäjäroolit"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "Valitse käyttäjäroolit, jotka siirtyvät tämän ohjelman toimialueelle."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Valitse muut toimialueet, joihin tämä käyttäjärooli siirtyy"
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Valitse ohjelmatoimialueet, joihin haluat tämän käyttäjäroolin siirtyvän."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Valitse käyttäjäroolit, jotka siirtyvät tälle toimialueelle"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Valitse lisätoimialueet, joita tämä käyttäjärooli ylläpitää"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Valitse toimialueet, joita haluat tämän käyttäjän ylläpitävän."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Valitse lisäroolit tälle käyttäjälle"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Syötä verkon portit, joita tämä sovellus/käyttäjärooli kuuntelee"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP-portit</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Sallii rajoitetun ohjelman/käyttäjäroolin liittyä mihin tahansa udp-porttiin"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Kaikki"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Salli ohjelman/käyttäjäroolin kutsua bindresvport:ia arvolla 0. Liittyy "
++"portteihin 600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Syötä pilkulla erotettu luettelo udp-porteista tai -porttialueista, joihin "
++"ohjelma/käyttäjärooli liittyy. Esimerkki: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Varaamattomat portit (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Valitse portit"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Sallii ohjelman/käyttäjäroolin liittyä mihin tahansa udp-porttiin > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP-portit</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "Syötä verkon portit, joihin tämä sovellus/käyttäjärooli yhdistää"
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Syötä pilkulla erotettu luettelo tcp-porteista tai -porttialueista, joihin "
++"ohjelma/käyttäjärooli yhdistää. Esimerkki: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Syötä pilkulla erotettu luettelo udp-porteista tai -porttialueista, joihin "
++"ohjelma/käyttäjärooli yhdistää. Esimerkki: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Valitse tyypillisiä ohjelman ominaisuuksia"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Kirjoittaa viestejä järjestelmälokiin"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Luo tai muuttaa väliaikaisia tiedostoja /tmp-hakemistossa"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Käyttää Pamia tunnistautumiseen"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Käyttää nsswitchiä tai getpw*-kutsuja"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Käyttää dbusia"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Lähettää audit-viestejä"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Toimii päätteen kanssa"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Lähettää sähköpostia"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Valitse tiedostoja/hakemistoja, joita ohjelma hallitsee"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Lisää tiedostoja/hakemistoja, joihin ohjelman täytyy kirjoittaa. Pid-"
++"tiedostoja, lokitiedostoja, /var/lib-tiedostoja..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Valitse totuusarvot, joita ohjelma käyttää"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Lisää tai poista tämän rajoitetun ohjelman tai käyttäjän käyttämiä "
++"totuusarvoja"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Valitse hakemisto, jonne käytäntö generoidaan"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Käytäntöhakemisto"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Generoidut käytäntötiedostot"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Tämä työkalu generoi seuraavat:\n"
++"Tyyppitoimeenpano (te), tiedostokonteksti (fc), verkoliitäntä (if), "
++"komentotulkin komentosarja (sh).\n"
++"Suorita komentotulkin komentosarja pääkäyttäjänä käännöksen/asennuksen "
++"tekemiseksi ja tiedostojen/hakemistojen nimiöimiseksi uudelleen.\n"
++"Käytä semanagea tai useraddia Linux-kirjautumiskäyttäjien assosioimiseksi "
++"käyttäjärooleihin.\n"
++"Aseta tietokone sallivaan tilaan (setenforce 0).\n"
++"Kirjaudu käyttäjänä ja kokeile tätä käyttäjäroolia.\n"
++"Käytä audit2allow -R:ää lisäsääntöjen generoimiseksi te-tiedostoon.\n"
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Tämä työkalu generoi seuraavat:\n"
++"Tyyppitoimeenpano (te), tiedostokonteksti (fc), verkoliitäntä (if), "
++"komentotulkin komentosarja (sh)\n"
++"\n"
++"Suorita komentotulkin komentosarja käännöksen/asennuksen tekemiseksi ja "
++"tiedostojen/hakemistojen nimiöimiseksi uudelleen.\n"
++"Aseta tietokone sallivaan tilaan (setenforce 0).\n"
++"Suorita ohjelma tai käynnistä se uudelleen avc-viestien generoimiseksi.\n"
++"Käytä audit2allow -R:ää lisäsääntöjen generoimiseksi te-tiedostoon.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Totuusarvojen lisäysikkuna"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Totuusarvon nimi"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rooli"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Olemassa_oleva_käyttäjä"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Ohjelma"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s on oltava hakemisto"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Käyttäjä on valittava"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Valitse rajoitettava suoritettava tiedosto."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Valitse rajoitettava init-komentosarja."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"Valitse tiedostot, joita rajoitettava ohjelma luo tai joihin se kirjoittaa"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Valitse hakemistot, jotka rajoitettava ohjelma omistaa tai joihin se "
++"kirjoittaa"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Valitse hakemisto, jonne käytäntötiedostot generoidaan"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Tyyppi %s_t on jo määritelty nykyisessä käytännössä.\n"
++"Haluatko jatkaa?"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Tarkista nimi"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Moduuli %s.pp on jo ladattu nykyisessä käytännössä.\n"
++"Haluatko jatkaa?"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Nimi on annettava"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Suoritettava tiedosto on annettava"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Tee SELinux-asetukset"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Porttien on oltava numeroita tai numeroalueita väliltä 1-%d"
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Rajoitetulle prosessille tai käyttäjälle on annettava nimi"
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER-tyypeille ei sallita suoritettavia tiedostoja"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Vain DAEMON-ohjelmat voivat käyttää init-komentosarjaa"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog:n on oltava totuusarvo"
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER-tyypit saavat automaattisesti tmp-tyypin"
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Rajoitetulle prosessille on annettava suoritettavan tiedoston polku"
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Tyyppitoimeenpanotiedosto"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Verkkoliitäntätiedosto"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Tiedostokontekstitiedosto"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Asetuskomentosarja"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Verkkoportti"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux-portti\n"
++"tyyppi"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokolla"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS-\n"
++"taso"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Portti"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Porttinumero ”%s” on virheellinen. 0 < PORTTINUMERO < 65536"
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Luettelonäkymä"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Ryhmänäkymä"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux-palvelusuojaus"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Poista SELinux-suojaus acct-taustaprosessilta"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Ylläpito"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++"Salli kaikkien taustaprosessien kirjoittaa vedostiedostoja hakemistoon /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++"Anna kaikille taustaprosesseille mahdollisuus käyttää varaamattomia tty:itä"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Käyttäjien oikeudet"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Salli gadmin-SELinux-käyttäjätunnuksen suorittaa kotihakemistossa tai /tmp:"
++"ssä olevia tiedostoja"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Salli guest-SELinux-käyttäjätunnuksen suorittaa kotihakemistossa tai /tmp:"
++"ssä olevia tiedostoja"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Muistin suojaus"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Salli javalle suoritettava pino"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Salli mountin liittää mikä tahansa tiedosto"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Salli mountin liittää mikä tahansa hakemisto"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Salli mplayerin suoritettavalle tiedostolle suoritettava pino"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Salli ssh:n suorittaa ssh-keysign"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Salli staff-SELinux-käyttäjätunnuksen suorittaa kotihakemistossa tai /tmp:"
++"ssä olevia tiedostoja"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Salli sysadm-SELinux-käyttäjätunnuksen suorittaa kotihakemistossa tai /tmp:"
++"ssä olevia tiedostoja"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Salli rajoittamattoman SELinux-käyttäjätunnuksen suorittaa kotihakemistossa "
++"tai /tmp:ssä olevia tiedostoja"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Verkkoasetukset"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Salli nimiöimättömien pakettien kulkea verkossa"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Salli user-SELinux-käyttäjätunnuksen suorittaa kotihakemistossa tai /tmp:ssä "
++"olevia tiedostoja"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Tietokannat"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Salli käyttäjän yhdistää mysql-pistokkeeseen"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Salli käyttäjän yhdistää postgres-pistokkeeseen"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "X-palvelin"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Salli asiakasohjelmien kirjoittaa X:n jaettuun muistiin"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Salli xguest-SELinux-käyttäjätunnuksen suorittaa kotihakemistossa tai /tmp:"
++"ssä olevia tiedostoja"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Salli taustaprosessien toimia NIS:n kanssa"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web-ohjelmat"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Siirrä staff-SELinux-käyttäjä verkkoselaimen toimialueelle"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Siirrä sysadm-SELinux-käyttäjä verkkoselaimen toimialueelle"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Siirrä user-SELinux-käyttäjä verkkoselaimen toimialueelle"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Siirrä xguest-SELinux-käyttäjä verkkoselaimen toimialueelle"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Salli staff-verkkoselainten kirjoittaa kotihakemistoihin"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Poista SELinux-suojaus amandalta"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Poista SELinux-suojaus amavisilta"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Poista SELinux-suojaus apmd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Poista SELinux-suojaus arpwatch-taustaprosessilta"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Poista SELinux-suojaus auditd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Poista SELinux-suojaus automount-taustaprosessilta"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Poista SELinux-suojaus avahilta"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Poista SELinux-suojaus bluetooth-taustaprosessilta"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Poista SELinux-suojaus canna-taustaprosessilta"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Poista SELinux-suojaus cardmgr-taustaprosessilta"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Poista SELinux-suojaus Cluster Serveriltä"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Salli cdrecodin lukevan eri kohteita, nfs:ää, sambaa, irrotettavia "
++"laitteita, käyttäjän väliaikaisia tiedostoja ja epäluotettavia "
++"sisältötiedostoja"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Poista SELinux-suojaus ciped-taustaprosessilta"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Poista SELinux-suojaus clamd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Poista SELinux-suojaus clamscan-taustaprosessilta"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Poista SELinux-suojaus clvmd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Poista SELinux-suojaus comscat-taustaprosessilta"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Poista SELinux-suojaus courier-taustaprosessilta"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Poista SELinux-suojaus cpucontrol-taustaprosessilta"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Poista SELinux-suojaus cpuspeed-taustaprosessilta"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Poista SELinux-suojaus crond-taustaprosessilta"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Tulostus"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Poista SELinux-suojaus cupsd-taustapalvelimelta"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Poista SELinux-suojaus cupsd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Poista SELinux-suojaus cupsd_lpd:ltä"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Poista SELinux-suojaus cvs-taustaprosessilta"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Poista SELinux-suojaus cyrus-taustaprosessilta"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Poista SELinux-suojaus dskkd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Poista SELinux-suojaus dbusd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Poista SELinux-suojaus dccd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Poista SELinux-suojaus dccifd:ltä"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Poista SELinux-suojaus dccm:ltä"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Poista SELinux-suojaus ddt-taustaprosessilta"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Poista SELinux-suojaus devfsd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Poista SELinux-suojaus dhcpc-taustaprosessilta"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Poista SELinux-suojaus dhcpd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Poista SELinux-suojaus dictd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Salli sysadm_t:n käynnistää taustaprosesseja suoraan"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Poista SELinux-suojaus Evolutionilta"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Pelit"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Poista SELinux-suojaus peleiltä"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Poista SELinux-suojaus verkkoselaimilta"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Poista SELinux-suojaus Thunderbirdiltä"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Poista SELinux-suojaus distccd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Poista SELinux-suojaus dmesg-taustaprosessilta"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Poista SELinux-suojaus dnsmasq-taustaprosessilta"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Poista SELinux-suojaus dovecot-taustaprosessilta"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Poista SELinux-suojaus entropyd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Poista SELinux-suojaus fetchmaililta"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Poista SELinux-suojaus fingerd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Poista SELinux-suojaus freshclam-taustaprosessilta"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Poista SELinux-suojaus fsdaemon-taustaprosessilta"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Poista SELinux-suojaus gpm-taustaprosessilta"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Poista SELinux-suojaus gss-taustaprosessilta"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Poista SELinux-suojaus Hal-taustaprosessilta"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Yhteensopivuus"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Älä auditoi asioita, joiden tiedetään olevan rikki, mutta jotka eivät ole "
++"turvallisuusriskejä"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Poista SELinux-suojaus hostname-taustaprosessilta"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Poista SELinux-suojaus hotplug-taustaprosessilta"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Poista SELinux-suojaus howl-taustaprosessilta"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Poista SELinux-suojaus cups hplip -taustaprosessilta"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Poista SELinux-suojaus httpd:n rotatelogsilta"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD-palvelu"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Poista SELinux-suojaus http:n suexeciltä"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Poista SELinux-suojaus hwclock-taustaprosessilta"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Poista SELinux-suojaus i18n-taustaprosessilta"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Poista SELinux-suojaus imazesrv-taustaprosessilta"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Poista SELinux-suojaus inetd-lapsitaustaprosesseilta"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Poista SELinux-suojaus inetd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Poista SELinux-suojaus innd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Poista SELinux-suojaus iptables-taustaprosessilta"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Poista SELinux-suojaus ircd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Poista SELinux-suojaus irqbalance-taustaprosessilta"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Poista SELinux-suojaus iscsi-taustaprosessilta"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Poista SELinux-suojaus jabberd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Poista SELinux-suojaus kadmind-taustaprosessilta"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Poista SELinux-suojaus klogd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Poista SELinux-suojaus krb5kdc-taustaprosessilta"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Poista SELinux-suojaus ktalk-taustaprosessilta"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Poista SELinux-suojaus kudzu-taustaprosessilta"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Poista SELinux-suojaus locate-taustaprosessilta"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Poista SELinux-suojaus lpd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Poista SELinux-suojaus lrrd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Poista SELinux-suojaus lvm-taustaprosessilta"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Poista SELinux-suojaus mailman-taustaprosessilta"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Salli Evolutionin ja Thunderbirdin lukea käyttäjätiedostoja"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Poista SELinux-suojaus mdadm-taustaprosessilta"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Poista SELinux-suojaus monopd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Salli mozilla-selaimen lukea käyttäjätiedostoja"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Poista SELinux-suojaus mrtg-taustaprosessilta"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Poista SELinux-suojaus mysqld-taustaprosessilta"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Poista SELinux-suojaus nagios-taustaprosessilta"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Nimipalvelu"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Poista SELinux-suojaus named-taustaprosessilta"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Poista SELinux-suojaus nessusd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Poista SELinux-suojaus NetworkManagerilta"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Poista SELinux-suojaus nfsd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Poista SELinux-suojaus nmbd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Poista SELinux-suojaus nrpe-taustaprosessilta"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Poista SELinux-suojaus nscd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Poista SELinux-suojaus nsd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Poista SELinux-suojaus ntpd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Poista SELinux-suojaus oddjob-taustaprosessilta"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Poista SELinux-suojaus oddjob_mkhomedir:iltä"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Poista SELinux-suojaus openvpn-taustaprosessilta"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Poista SELinux-suojaus pam-taustaprosessilta"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Poista SELinux-suojaus pegasukselta"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Poista SELinux-suojaus perdition-taustaprosessilta"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Poista SELinux-suojaus portmap-taustaprosessilta"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Poista SELinux-suojaus portslave-taustaprosessilta"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Poista SELinux-suojaus postfixilta"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Poista SELinux-suojaus postgresql-taustaprosessilta"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Salli pppd:n suoritus tavallisena käyttäjänä"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Poista SELinux-suojaus pptp:ltä"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Poista SELinux-suojaus prelink-taustaprosessilta"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Poista SELinux-suojaus privoxy-taustaprosessilta"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Poista SELinux-suojaus ptal-taustaprosessilta"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Poista SELinux-suojaus pxe-taustaprosessilta"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Poista SELinux-suojaus pyzord-taustaprosessilta"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Poista SELinux-suojaus quota-taustaprosessilta"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Poista SELinux-suojaus radiusd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Poista SELinux-suojaus radvd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Poista SELinux-suojaus rdisciltä"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Poista SELinux-suojaus readaheadilta"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Salli ohjelmien lukevan epätavallisissa sijainneissa olevia tiedostoja "
++"(default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Poista SELinux-suojaus restorecondilta"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Poista SELinux-suojaus rhgb-taustaprosessilta"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Poista SELinux-suojaus ricciltä"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Poista SELinux-suojaus ricci_modclusterd:ltä"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Poista SELinux-suojaus rlogind-taustaprosessilta"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Poista SELinux-suojaus rpcd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Poista SELinux-suojaus rshd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Poista SELinux-suojaus rsync-taustaprosessilta"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++"Salli ssh:ta suoritettavan inetd:n kautta sen sijaan, että sitä "
++"suoritettaisiin taustaprosessina"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Salli Samban jakaa nfs-hakemistoja"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL-tunnistautumispalvelin"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Salli sasl-tunnistautumispalvelimen lukea /etc/shadow-tiedostoa"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Salli X-ikkunointipalvelimen määrittää muistialue sekä suoritettavaksi että "
++"kirjoitettavaksi"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Poista SELinux-suojaus saslauthd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Poista SELinux-suojaus scannerdaemon-taustaprosessilta"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Älä salli siirtymistä sysadm_t:hen, vaikuttaa sudoon ja su:hun"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Älä salli prosessien ladata ytimen moduuleita"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Älä salli prosessien muokata ytimen SELinux-käytäntöä"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Poista SELinux-suojaus sendmail-taustaprosessilta"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Poista SELinux-suojaus setransilta"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Poista SELinux-suojaus setroubleshoot-taustaprosessilta"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Poista SELinux-suojaus slapd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Poista SELinux-suojaus slrnpull-taustaprosessilta"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Poista SELinux-suojaus smbd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Poista SELinux-suojaus snmpd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Poista SELinux-suojaus snort-taustaprosessilta"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Poista SELinux-suojaus soundd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Poista SELinux-suojaus soundd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Roskapostisuojaus"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Poista SELinux-suojaus spamd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Salli spamd:lle pääsy kotihakemistoihin"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Salli Spam Assassin -taustaprosessille verkon käyttö"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Poista SELinux-suojaus speedmgmt-taustaprosessilta"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Salli squid-taustaprosessin yhdistää verkkoon"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Poista SELinux-suojaus squid-taustaprosessilta"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Poista SELinux-suojaus ssh-taustaprosessilta"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Salli ssh-kirjautumiset sysadm_r:sysadm_t-käyttäjiltä"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Salli staff_r-käyttäjien etsiä sysadm-kotihakemistosta ja lukea tiedostoja "
++"(kuten ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Yleinen SSL-tunneli"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Poista SELinux-suojaus stunnel-taustaprosessilta"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"Salli stunnel-taustaprosessin suorittaminen itsenäisesti, xinetd:n "
++"ulkopuolella"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Poista SELinux-suojaus swat-taustaprosessilta"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Poista SELinux-suojaus sxid-taustaprosessilta"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Poista SELinux-suojaus syslogd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Poista SELinux-suojaus järjestelmän cron-töiltä"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Poista SELinux-suojaus tcp-taustaprosessilta"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Poista SELinux-suojaus telnet-taustaprosessilta"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Poista SELinux-suojaus tftpd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Poista SELinux-suojaus transproxy-taustaprosessilta"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Poista SELinux-suojaus udev-taustaprosessilta"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Poista SELinux-suojaus uml-taustaprosessilta"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Salli xinetd:n suoritus rajoittamattomana, mukaan lukien kaikki palvelut, "
++"jotka se käynnistää ja joilla ei ole erikseen määriteltyä toimialuesiirtymää"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Salli rc-komentosarjojen suoritus rajoittamattomana, mukaan lukien kaikki "
++"palvelut, jotka rc-komentosarja käynnistää ja joilla ei ole erikseen "
++"määriteltyä toimialuesiirtymää"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Salli rpm:n suorittaminen rajoittamattomana"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Salli erityisoikeuksilla varustettujen ohjelmien, kuten hotplugin ja "
++"insmodin, suoritus rajoittamattomina"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Poista SELinux-suojaus updfstab-taustaprosessilta"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Poista SELinux-suojaus uptimed-taustaprosessilta"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Salli user_r:n päästä sysadm_r:ksi su:n, sudon tai userhelperin avulla. "
++"Muuten vain staff_r voi tehdä niin."
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Salli käyttäjien suorittaa mount-komento"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Salli tavallisille käyttäjille suora hiiren käyttöoikeus (salli vain X-"
++"palvelin)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Salli käyttäjien suorittaa dmesg-komento"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Salli käyttäjien hallita verkkoliitäntöjä (tarvitsee myös asetuksen "
++"USERCTL=true)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Salli tavallisten käyttäjien suorittaa ping-komento"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Salli käyttäjille luku- ja kirjoitusoikeus noextattrfileen (FAT, CDROM, "
++"LEVYKE)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Salli käyttäjille luku- ja kirjoitusoikeus usb-laitteisiin"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"Salli käyttäjien suorittaa TCP-palvelimia (liittyä portteihin ja hyväksyä "
++"yhteys samasta osoitteesta ja ulkopuolisilta käyttäjiltä). Tämän poistaminen "
++"käytöstä pakottaa käyttämään FTP:n passiivista tilaa ja saattaa muuttaa "
++"muita protokollia."
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Salli käyttäjien kutsuvan stat:ia tty-tiedostoille"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Poista SELinux-suojaus uucpd-taustaprosessilta"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Poista SELinux-suojaus vmware-taustaprosessilta"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Poista SELinux-suojaus watchdog-taustaprosessilta"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Poista SELinux-suojaus winbind-taustaprosessilta"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Poista SELinux-suojaus xdm-taustaprosessilta"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Salli xdm-kirjautumiset sysadm_r:sysadm_t-käyttäjiltä"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Poista SELinux-suojaus xen-taustaprosessilta"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Salli xenin lukea ja kirjoittaa fyysisille levylaitteille"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Poista SELinux-suojaus xfs-taustaprosessilta"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Poista SELinux-suojaus xen-hallinnalta"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Poista SELinux-suojaus ypbind-taustaprosessilta"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Poista SELinux-suojaus NIS Password -taustaprosessilta"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Poista SELinux-suojaus ypserv-taustaprosessilta"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Poista SELinux-suojaus NIS Transfer -taustaprosessilta"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Salli SELinuxin webadm-käyttäjän hallita niiden käyttäjien kotihakemistoja, "
++"joilla ei ole erityisoikeuksia"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Salli SELinuxin webadm-käyttäjän lukea niiden käyttäjien kotihakemistoja, "
++"joilla ei ole erityisoikeuksia"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Haluatko varmasti poistaa %s ”%s”?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Poista %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Lisää %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Muokkaa kohdetta %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Salliva"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Toimeenpaneva"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Ei käytössä"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Tila"
++
++#: ../gui/statusPage.py:133
++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 ""
++"Käytäntötyypin vaihtaminen aiheuttaa seuraavan käynnistyksen yhteydessä koko "
++"tiedostojärjestelmän nimiöinnin uudelleen. Se saattaa viedä kauan aikaa "
++"riippuen tiedostojärjestelmän koosta. Haluatko jatkaa?"
++
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinuxin poistaminen käytöstä ei ole suositeltua ja vaatii järjestelmän "
++"käynnistämisen uudelleen. Jos kytket myöhemmin SELinuxin takaisin käyttöön, "
++"järjestelmä on nimiöitävä uudelleen. Jos haluat vain tarkistaa aiheuttaako "
++"SELinux ongelmia järjestelmässä, voit siirtyä sallivaan tilaan, joka vain "
++"kirjoittaa virheistä lokitietoja eikä toimeenpane SELinux-käytäntöä. "
++"Sallivaan tilaan siirtyminen ei vaadi järjestelmän käynnistämistä uudelleen. "
++"Haluatko jatkaa?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinuxin ottaminen käyttöön aiheuttaa seuraavan käynnistyksen yhteydessä "
++"koko tiedostojärjestelmän nimiöinnin uudelleen. Se saattaa viedä kauan aikaa "
++"riippuen tiedostojärjestelmän koosta. Haluatko jatkaa?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Tekijänoikeudet (c) 2006 Red Hat, Inc.\n"
++"Tekijänoikeudet (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Lisää SELinux-kirjautumisassosiaatio"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Lisää SELinux-verkkoportteja"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux-tyyppi"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinuxin MLS/MCS-\n"
++"taso"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Tiedostomäärittely"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Tiedostotyyppi"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"kaikki tiedostot\n"
++"tavallinen tiedosto\n"
++"hakemisto\n"
++"merkkilaite\n"
++"lohkolaite\n"
++"pistoke\n"
++"symbolinen linkki\n"
++"nimetty putki\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Lisää SELinux-käyttäjä"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinuxin ylläpito"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Lisää"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Ominaisuudet"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Poista"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Valitse hallintaobjekti"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Valitse:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Järjestelmän toimeenpaneva tila oletuksena"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Ei käytössä\n"
++"Salliva\n"
++"Toimeenpaneva\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Nykyinen toimeenpaneva tila"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Järjestelmän oletuskäytännön tyyppi:"
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Valitse haluatko nimiöidä koko tiedostojärjestelmän uudelleen seuraavan "
++"käynnistyksen yhteydessä. Se saattaa viedä kauan aikaa riippuen "
++"tiedostojärjestelmän koosta. Jos olet vaihtamassa käytäntötyyppiä tai "
++"ottamassa SELinuxia käyttöön toimeenpanevassa tilassa, uudelleennimiöinti on "
++"pakollista."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++"Nimiöi tiedostojärjestelmä uudelleen seuraavan käynnistyksen yhteydessä."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Palauta totuusarvo järjestelmän oletusasetuksiin"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Vaihda muokattujen ja kaikkien totuusarvojen välillä"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Suorita ohjattu totuusarvojen rajoitus"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Rajoitus..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Suodin"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Lisää tiedostokonteksti"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Muuta tiedostokontekstia"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Poista tiedostokonteksti"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Vaihda kaikkien ja muokattujen tiedostokontekstien välillä"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Lisää SELinux-käyttäjäassosiaatio"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Muokkaa SELinux-käyttäjäassosiaatiota"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Poista SELinux-käyttäjäassosiaatio"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Lisää käyttäjä"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Muokkaa käyttäjää"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Poista käyttäjä"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Lisää käännös"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Muokkaa käännöstä"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Poista käännös"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Lisää verkkoportti"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Muokkaa verkkoporttia"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Poista verkkoportti"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Vaihda muokattujen ja kaikkien porttien välillä"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Generoi uusi käytäntömoduuli"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Lataa käytäntömoduuli"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Poista ladattava käytäntömoduuli"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Ota käyttöön/poista käytöstä auditin lisäsäännöt, joita ei yleensä "
++"raportoida lokitiedostoissa."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Vaihda prosessin tila sallivaksi."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Vaihda prosessin tila toimeenpanevaksi."
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Prosessin toimialue"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux-käyttäjä ”%s” on pakollinen"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Herkkyystaso"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/fr.po policycoreutils-2.0.85/po/fr.po
+--- nsapolicycoreutils/po/fr.po        2011-02-17 15:11:25.965720995 -0500
++++ policycoreutils-2.0.85/po/fr.po    2011-02-18 16:03:41.366975730 -0500
+@@ -1,22 +1,43 @@
+-# translation of policycoreutils.HEAD.fr_modifié(1).po to french
+-# Thomas Canniot <mrtom@fedoraproject.org>, 2006.
++# translation of policycoreutils.HEAD.fr.po to French
++# Thomas Canniot <mrtom@fedoraproject.org>, 2006, 2010.
+ # Alain PORTAL <aportal@univ-montp2.fr>, 2007.
+ # Gauthier Ancelin <gauthier.ancelin@laposte.net>, 2007.
+ # Matthieu Rondeau <milanito1985@yahoo.fr>, 2008.
++# Charles-Antoine Couret <cacouret@wanadoo.fr>, 2009.
++# Sam Friedmann <sam.friedmann@redhat.com>, 2010.
+ # translation of Policy Core Utils.
+-# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils.HEAD.fr_modifié(1)\n"
++"Project-Id-Version: policycoreutils.HEAD.fr\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-04-05 22:13+0200\n"
+-"Last-Translator: Matthieu Rondeau <milanito1985@yahoo.fr>\n"
+-"Language-Team: french <fedora-trans-fr@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-04 12:16+1000\n"
++"Last-Translator: Sam Friedmann <sam.friedmann@redhat.com>\n"
++"Language-Team: French <trans-fr@lists.fedoraproject.org>\n"
++"Language: fr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
++"Plural-Forms: nplurals=2; plural=(n > 1);\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Configure SELinux dans un environnement graphique"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Gestion de SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Génére des modules de stratégie SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Outil de génération de stratégies SELinux"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -52,7 +73,7 @@
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+ msgid "getpass cannot open /dev/tty\n"
+-msgstr "getpass ne peut accéder à  /dev/tty\n"
++msgstr "getpass ne peut accéder à  /dev/tty\n"
+ #: ../run_init/run_init.c:275
+ #, c-format
+@@ -109,9 +130,8 @@
+ msgstr "Impossible d'établir de connexion semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Impossible de définir une plage MLS pour %s"
++msgstr "Impossible de tester les statuts MLS activés"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -121,14 +141,15 @@
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"Impossible d'ouvrir %s : Les translations ne sont pas supportées par des "
+-"machines non MLS : %s"
++"Impossible d'ouvrir %s : Les translations ne sont pas prises en charge par "
++"des machines non MLS : %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "Niveau"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Translation"
+@@ -145,7 +166,7 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s est déjà  défini dans les translations"
++msgstr "%s est déjà  défini dans les translations"
+ #: ../semanage/seobject.py:265
+ #, python-format
+@@ -158,781 +179,786 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Transaction de semanage déjà en cours"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Impossible de démarrer une transaction semanage"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Impossible de démarrer une transaction semanage"
++msgstr "Impossible de commiter une transaction semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Aucune transaction semanage en cours"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Impossible de lister les identités SELinux"
++msgstr "Impossible de lister les modules SELinux"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "Permissif"
++msgstr "Types permissifs"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Impossible de définir le domaine permissif %s (échec de l'installation du "
++"module)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
++"Impossible de supprimer le domaine permissif %s (échec de la suppression)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Impossible de créer une clef pour %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Ne peut vérifier si le mappage de connexion est défini pour %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "Mappage pour %s est déjà  défini"
++msgstr "Mappage pour %s est déjà  défini"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "L'utilisateur Linux %s n'existe pas"
++msgstr "Le groupe Linux %s n'existe pas"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "L'utilisateur Linux %s n'existe pas"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Ne peut mapper le nom d'utilisateur pour %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Impossible de définir le nom pour %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Impossible de définir une plage MLS pour %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Impossible de définir une identité SELinux pour %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Impossible d'ajouter un mappage pour %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "ajouter la correspondance utilisateurs - identités SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser ou un serange obligatoire"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Le mappage de connexion pour %s n'est pas défini"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Impossible d'interroger le seuser pour %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Impossible de modifier le mappage pour %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "La correspondance utilisateurs - identités SELinux pour %s est définie dans "
+ "une stratégie, elle ne peut être supprimée"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+ "Impossible de supprimer la correspondance utilisateurs - identités SELinux "
+ "pour %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Impossible de lister les mappages"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Nom pour l'ouverture de session"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "Identité SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "Intervalle MLS/MCS"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Impossible d'ajouter le contexte du fichier pour %s"
++msgstr "Vous devez ajouter au moins un rôle pour %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Impossible de vérifier si l'identité SELinux %s est définie"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr "L'identité SELinux %s est déjà  définie"
++msgstr "L'identité SELinux %s est déjà  définie"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Impossible de créer une identité SELinux pour %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Impossible d'ajouter un rôle %s pour %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Impossible de régler le niveau MLS pour %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr "Impossible d'ajouter le préfixe %s à  %s"
++msgstr "Impossible d'ajouter le préfixe %s à  %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Impossible d'extraire la clef pour %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Impossible d'ajouter l'identité SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Exige un préfixe, un rôle, un niveau ou une plage"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Exige un préfixe ou un rôle"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "L'identité SELinux %s n'existe pas"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Impossible d'interroger l'utilisateur pour %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Impossible de modifier l'identité SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "L'identité SELinux %s est définie dans une stratégie, elle ne peut être "
+ "supprimée"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Impossible de supprimer l'identité SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Impossible de lister les identités SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Impossible de lister les rôles de l'utilisateur %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Étiquetage"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Préfixe"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "Niveau MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "Intervalle MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "Rôles SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Protocole udp ou tcp obligatoire"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Un numéro de port nécessaire"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Impossible de créer une clef pour %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Indiquez un type"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Impossible de vérifier si le port %s/%s est défini"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Le port %s/%s est déjà défini"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Impossible de créer le port pour %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Impossible de créer le contexte pour %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+ "Impossible de définir l'utilisateur dans le contexte du port pour %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Impossible de définir le rôle dans le contexte du port pour %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Impossible de définir le type dans le contexte du port pour %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+ "Impossible de définir les champs MLS dans le contexte du port pour %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Impossible de définir le contexte du port pour %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Impossible d'ajouter le port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype ou serange obligatoire"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype obligatoire"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Le port %s/%s n'est pas défini"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Impossible d'interroger le port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Impossible de modifier le port %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Impossible d'énumérer les ports"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Impossible de supppimer le port %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Le port %s/%s est défini dans la stratégie, il ne peut être supprimé"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Impossible de supprimer le port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Impossible d'énumérer les ports"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "Types de port SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Protocole"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Numéro de port"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Un numéro de port nécessaire"
++msgstr "L'adresse du nœud est requise"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Un numéro de port nécessaire"
++msgstr "Le masque de réseau du nœud est requis"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Protocole inconnu ou manquant"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Type SELinux nécessaire"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Impossible de créer la clef pour %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Impossible de vérifier si le port %s/%s est défini"
++msgstr "Impossible de vérifier si l'adresse %s est définie"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Le port %s/%s est déjà défini"
++msgstr "L'adresse %s est déjà définie"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Impossible de créer une clef pour %s"
++msgstr "Impossible de créer une adresse pour %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Impossible de créer le contexte pour %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Impossible de définir le nom pour %s"
++msgstr "Impossible de définir le masque pour %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-"Impossible de définir l'utilisateur dans le contexte du fichier pour %s"
++"Impossible de définir l'utilisateur dans le contexte de l'adresse pour %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Impossible de définir le rôle dans le contexte du fichier pour %s"
++msgstr "Impossible de définir le rôle dans le contexte de l'adresse pour %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Impossible de définir le type dans le contexte du fichier pour %s"
++msgstr "Impossible de définir le type dans le contexte de l'adresse pour %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-"Impossible de définir les champs MLS dans le contexte du fichier pour %s"
++"Impossible de définir les champs MLS dans le contexte de l'adresse pour %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Impossible de définir le contexte du fichier %s"
++msgstr "Impossible de définir le contexte de l'adresse pour %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Impossible d'ajouter le port %s/%s"
++msgstr "Impossible d'ajouter l'adresse %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Le port %s/%s n'est pas défini"
++msgstr "L'adresse %s n'est pas définie"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Impossible d'interroger le port %s/%s"
++msgstr "Impossible d'interroger l'adresse %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Impossible de modifier le port %s/%s"
++msgstr "Impossible de modifier l'adresse %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Le port %s/%s est défini dans la stratégie, il ne peut être supprimé"
++msgstr ""
++"L'adresse %s est définie dans la stratégie, elle ne peut être supprimée"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Impossible de supprimer %s"
++msgstr "Impossible de supprimer l'adresse %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Impossible d'énumérer les ports"
++msgstr "Impossible d'énumérer les adresses"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Impossible de vérifier si l'interface %s existe"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr "L'interface %s existe déjà "
++msgstr "L'interface %s existe déjà "
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Impossible de créer l'interface pour %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+ "Impossible de définir l'utilisateur dans le contexte d'interface pour %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Impossible de définir le rôle dans le contexte d'interface pour %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Impossible de définir le type dans le contexte d'interface pour %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+ "Impossible de définir les champs MLS dans le contexte d'interface pour %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Impossible de définir le contexte d'interface pour %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Impossible de définir le contexte du message pour %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Impossible d'ajouter l'interface %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "L'interface %s n'est pas définie"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Impossible d'interroger l'interface %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Impossible de modifier l'interface %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "L'interface %s est définie dans la stratégie, elle ne peut être supprimée"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Impossible de supprimer l'interface %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Impossible d'énumérer les interfaces"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "Interface SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Contexte"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+ "Impossible de définir l'utilisateur dans le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Impossible de définir le rôle dans le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+ "Impossible de définir les champs MLS dans le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "Spécification de fichier invalide"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Impossible de vérifier si le contexte du fichier pour %s est défini"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Le contexte du fichier pour %s est déjà défini"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Impossible de créer le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Impossible de définir le type dans le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Impossible de définir le contexte du fichier %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Impossible d'ajouter le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange ou seuser nécessaire"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Le contexte du fichier pour %s n'est pas défini"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Impossible d'interroger le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Impossible de modifier le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "Impossible d'énumérer les contextes de fichiers"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Impossible de supprimer le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Le contexte du fichier pour %s est défini dans la stratégie, il ne peut être "
+ "supprimé"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Impossible de supprimer le contexte du fichier pour %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Impossible de lister les contextes de fichiers"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Impossible de lister les contextes de fichiers locaux"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "contexte fichier SELinux"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "type"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Impossible de vérifier si le booléen %s est défini"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Le booléen %s n'est pas défini"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Impossible d'interroger le contexte du fichier %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Vous devez spécifier une valeur"
++msgstr "Vous devez spécifier une des valeurs suivantes : %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Impossible de supprimer le booléen %s"
++msgstr "Impossible de définir une valeur active du booléen %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Impossible de modifier les booléens %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Mauvais format %s : Enregistrement de %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Le booléen %s est défini dans la stratégie, il ne peut être supprimé"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Impossible de supprimer le booléen %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Impossible d'énumérer les booléens"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "inconnu"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "fermé"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "ouvert"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "booléen SELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Description"
+@@ -974,9 +1000,9 @@
+ msgstr "Impossible de nettoyer l'environnement\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Erreur lors de l'initialisation des capacités, abandon\n"
++msgstr "Erreur lors de l'initialisation des capacités, abandon.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1243,7 +1269,7 @@
+ #: ../scripts/chcat:110
+ #, c-format
+ msgid "%s is already in %s"
+-msgstr "%s se trouve déjà  dans %s"
++msgstr "%s se trouve déjà  dans %s"
+ #: ../scripts/chcat:188 ../scripts/chcat:198
+ #, c-format
+@@ -1315,1751 +1341,2264 @@
+ msgid "Options Error %s "
+ msgstr "Erreur %s dans les options"
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "translations non prises en charge sur une machine non MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Booléen"
+-
+-#~ msgid "all"
+-#~ msgstr "tout"
+-
+-#~ msgid "Customized"
+-#~ msgstr "Personnalisé"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "Étiquetage de fichier"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Fichier\n"
+-#~ "Spécification"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Contexte du fichier"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Fichier\n"
+-#~ "Type"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Correspondance utilisateur"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Utilisateur\n"
+-#~ "Nom"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Identité"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "Plage MLS/\n"
+-#~ "MCS"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "L'ouverture de session en tant que « %s » est exigée"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "Module de stratégies"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "Nom du module"
+-
+-#~ msgid "Version"
+-#~ msgstr "Version"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "Désactiver l'audit"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "Activer l'audit"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Charger un module de stratégie"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "traducteurs"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Outil de génération de stratégies SELinux"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Cet outil peut être utilisé pour générer un modèle de stratégie, pour "
+-#~ "confiner des applications ou des utilisateurs qui se servent de SELinux.\n"
+-#~ "\n"
+-#~ "L'outil génère :\n"
+-#~ "un fichier de types applicables (te)\n"
+-#~ "un fichier d'interfaces (if)\n"
+-#~ "un fichier de contextes fichiers (fc)\n"
+-#~ "un script shell (sh) - utilisé pour compiler et installer la stratégie. "
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Sélectionner le modèle d'application ou d'utilisateur à confiner."
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Programmes</b>"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Les démons d'initialisation standards sont des démons chargés au "
+-#~ "démarrage par les scripts d'initialisation. Ils requièrent habituellement "
+-#~ "un script placé dans /etc/init.d"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Démons d'initialisation standards"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Les démons de services Internet sont des démons démarrés par xinetd"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Démons de services Internet (inetd)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Applications Web / script (CGI) Scripts SGI démarrés par le serveur web "
+-#~ "(Apache)"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Applications Web / scripts (CGI)"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Un programme utilisateur correspond à tout programme que vous aimeriez "
+-#~ "confiner et qui peut être démarré par un utilisateur"
+-
+-#~ msgid "User Application"
+-#~ msgstr "Programme utilisateur"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Identifiant de connexion</b>"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Modifier un enregistrement existant d'ouverture de session"
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Modèles d'utilisateurs existant"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Cet utilisateur va ouvrir une session sur une machine seulement par un "
+-#~ "terminal ou une connexion à distance. Par défaut cet utilisateur n'aura "
+-#~ "pas de propriété setuid, pas de réseautage, pas de commandes sudo et su."
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Modèle minimal de terminal utilisateur"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Cet utilisateur peut ouvrir une session sur une machine par X ou par un "
+-#~ "terminal. Par défaut cet utilisateur n'aura pas de propriété setuid, pas "
+-#~ "de réseautage, pas de commandes sudo et su."
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Modèle minimal de serveur X utilisateur"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "Utilisateur avec un réseautage complet, pas de propriété setuid sans "
+-#~ "transition, pas de commandes sudo et su."
+-
+-#~ msgid "User Role"
+-#~ msgstr "Modèle d'utilisateur"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "Utilisateur avec un réseautage complet, pas d'application setuid sans "
+-#~ "transition, pas de commande su, pouvant utiliser la commande sudo pour "
+-#~ "les tâches administratives réservées au Root"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "Rôle de l'administrateur"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Utilisateurs root</b>"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Sélectionner le rôle d'utilisateur root, si cet utilisateur doit "
+-#~ "administrer la machine en tant que root. Cet utilisateur ne pourra pas "
+-#~ "ouvrir de session sur le système directement."
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Modèle d'utilisateur root"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Sélectionner le modèle d'application ou d'utilisateur à confiner."
+-
+-#~ msgid "Name"
+-#~ msgstr "Nom"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Entrez le chemin d'accès aux exécutables à confiner."
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Entrer un nom de type unique pour le modèle d'utilisateur ou de programme "
+-#~ "à confiner."
+-
+-#~ msgid "Executable"
+-#~ msgstr "Exécutable"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Script d'initialisation"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Entrez le chemin d'accès complet au script d'initialisation utilisé pour "
+-#~ "démarrer le programme confiné."
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Sélectionnez les rôles d'utilisateur que vous voulez personnaliser"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "Sélectionnez le modèle d'utilisateur qui va faire la transition aux "
+-#~ "domaines de cette application"
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr ""
+-#~ "Sélectionner le(s) domaine(s) supplémentaire(s) de l'utilisateur pour la "
+-#~ "transition"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Sélectionner les domaines des applications vers lesquels vous souhaitez "
+-#~ "que ce modèle d'utilisateur effectue une transition."
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr ""
+-#~ "Sélectionnez le modèle d'utilisateur qui va faire la transition de ce "
+-#~ "domaine"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr ""
+-#~ "Sélectionner le(s) domaine(s) additionnel(s) que cet utilisateur "
+-#~ "administrera"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr ""
+-#~ "Sélectionner les domaines qui doivent être administrés par cet "
+-#~ "utilisateur."
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Sélectionner les rôles supplémentaires de cet utilisateur"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Entrez les ports réseau que ce modèle d'application/utilisateur écoute"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>Ports TCP</b>"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Permettre au modèle d'un utilisateur/programme confiné de se connecter à "
+-#~ "n'importe quel port UDP"
+-
+-#~ msgid "All"
+-#~ msgstr "Tout"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Permettre au modèle d'un utilisateur/programme d'appeler « bindresvport » "
+-#~ "avec 0. Connexion aux ports 600-1024"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Booléen"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "tout"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Personnalisé"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Étiquetage de fichier"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Entrez une liste, séparés par des virgules, ou une plage de ports UDP "
+-#~ "auxquels ce modèle programme/utilisateur se connecte. Par exemple : 612, "
+-#~ "650-660 "
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Ports non réservés (> 1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "Sélectionner des ports"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Permettre au modèle d'un utilisateur/programme de se connecter à "
+-#~ "n'importe quel port UDP > 1024"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>Ports UDP</b>"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Entrez les ports réseau auxquel ce modèle application/utilisateur se "
+-#~ "connecte"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Entrez une liste, séparés par des virgules, ou une plage de ports UDP "
+-#~ "auxquels ce modèle de programme/utilisateur se connecte. "
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Entrez une liste de ports UDP séparés par une virgule auxquels ce modèle "
+-#~ "programme/utilisateur se connecte. Par exemple : 612, 650-660"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "Sélectionner les caractéristiques communes de l'application"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Le programme utilise syslog pour journaliser des messages\t"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "Créer/manipuler des fichiers temporaires dans /tmp"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Utilise PAM pour l'authentification"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Utilise les appels nsswitch ou getpw"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "Utilise dbus"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Envoie des messages audit"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "Interagit avec le terminal"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "Envoie un courrier électronique"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Sélectionnez les fichiers/répertoires que le programme gère"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Ajoutez les fichiers/répertoires dans lesquels ce programme va devoir "
+-#~ "écrire. Fichiers PID, fichiers de journalisation, fichiers /var/lib..."
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Sélectionnez les booléens que le programme utilise"
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Ajoutez/enlevez les booléens utilisés pour cette application/utilisateur "
+-#~ "même"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr ""
+-#~ "Sélectionnez un répertoire dans lequel générer les fichiers de stratégie"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "Répertoire de stratégie"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Fichiers de stratégie générés"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Cet outil va générer les éléments suivantes : type applicable (TE), "
+-#~ "contexte fichier (FC), interface (IF), script shell (SH).\n"
+-#~ "Exécutez le script shell pour compiler/installer et re-étiqueter les "
+-#~ "fichiers/répertoires.\n"
+-#~ "Utilisez \"semanage\" ou \"useradd\" pour organiser les logins "
+-#~ "utilisateurs Linux par rapport aux modèles. Passez en mode permissif "
+-#~ "(\"setenforce 0).\n"
+-#~ "Utilisez « audit2allow -R » pour générer des règles supplémentaires pour "
+-#~ "le fichier.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Cet outil va générer les éléments suivantes : type applicable (TE), "
+-#~ "contexte fichier (FC), interface (IF), script shell (SH).\n"
+-#~ "Exécutez le script shell pour compiler/installer et re-étiqueter les "
+-#~ "fichiers/répertoires. Passez en mode permissif (« setenforce 0 »).\n"
+-#~ "Exécutez/redémarrez le programme pour générer les messages AVC.\n"
+-#~ "Utilisez « audit2allow -R » pour générer des règles supplémentaires pour "
+-#~ "le fichier.\n"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Ajout de boite de dialogue de booléens"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "Nom de Booléen"
+-
+-#~ msgid "Role"
+-#~ msgstr "Rôle"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "Utilisateur existant_"
+-
+-#~ msgid "Application"
+-#~ msgstr "Programme"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s doit être un répertoire"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "Vous devez sélectionner un utilisateur"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Sélectionner les fichiers exécutables à confiner."
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Sélectionnez le script d'initialisation à confiner."
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr ""
+-#~ "Sélectionnez un ou plusieurs fichiers que le programme confiné crée ou "
+-#~ "dans lesquels il écrit"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Sélectionnez les répertoires que le programme confiné possède et dans "
+-#~ "lesquels il écrit"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr ""
+-#~ "Sélectionnez un répertoire dans lequel générer les fichiers de stratégie"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Le type %s_t est déjà défini dans la stratégie.\n"
+-#~ "Voulez-vous continuer?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "Verifiez le nom"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Le module %s.pp est déjà chargé dans la stratégie.\n"
+-#~ "Voulez-vous continuer?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "Vous devez spécifier un nom"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Vous devez spécifier un exécutable"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Configurer SELinux"
+-
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr ""
+-#~ "Les ports doivent être des numéros ou des plages compris entre 1 et %d "
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr ""
+-#~ "Vous devez spécifier un nom pour votre processus/utilisateur confiné"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Les types USER ne sont pas autorisés à être exécutables"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr ""
+-#~ "Seuls les programmes démons peuvent utiliser un script d'initialisation"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "« use_syslog » doit avoir une valeur booléenne "
+-
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Les types USER obtiennent automatiquement un type tmp"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "Vous devez spécifier le chemin d'accès à l'exécutable pour votre "
+-#~ "processus confiné"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Fichier\n"
++"Spécification"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Fichier de types applicables"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"SELinux\n"
++"Contexte du fichier"
+-#~ msgid "Interface file"
+-#~ msgstr "Fichier d'interface"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Fichier\n"
++"Type"
+-#~ msgid "File Contexts file"
+-#~ msgstr "Fichier de contextes fichier"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Correspondance utilisateur"
+-#~ msgid "Setup Script"
+-#~ msgstr "Script de configuration"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Utilisateur\n"
++"Nom"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Port SELinux\n"
+-#~ "Type"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Identité"
+-#~ msgid "Protocol"
+-#~ msgstr "Protocole"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Plage MLS/\n"
++"MCS"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Niveau"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "L'ouverture de session en tant que « %s » est exigée"
+-#~ msgid "Port"
+-#~ msgstr "Port"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Module de stratégies"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Le numéro de port « %s » est invalide. 0 < NUMERO_DE_PORT < 65536 "
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Nom du module"
+-#~ msgid "List View"
+-#~ msgstr "Affichage par liste"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Version"
+-#~ msgid "Group View"
+-#~ msgstr "Affichage par groupe"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Désactiver l'audit"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Protection des services SELinux"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Activer l'audit"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon « acct »"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Charger un module de stratégie"
+-#~ msgid "Admin"
+-#~ msgstr "Administrateur"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Permettre à tous les démons d'écrire des vidages mémoires dans /"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "Permettre à tous les démons d'utiliser des TTY non alloués"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "User Privs"
+-#~ msgstr "Privilèges utilisateur"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "traducteurs"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permettre au compte d'identité SELinux « gadmin » d'éxecuter des fichiers "
+-#~ "dans son répertoire « home » ou dans /tmp"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Cet outil peut être utilisé pour générer un modèle de stratégie, pour "
++"confiner des applications ou des utilisateurs qui se servent de SELinux.\n"
++"\n"
++"L'outil génère :\n"
++"un fichier de types applicables (te)\n"
++"un fichier d'interfaces (if)\n"
++"un fichier de contextes fichiers (fc)\n"
++"un script shell (sh) - utilisé pour compiler et installer la stratégie. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Sélectionner le modèle d'application ou d'utilisateur à confiner."
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Programmes</b>"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permettre au compte d'identité SELinux « guest » d'éxecuter des fichiers "
+-#~ "dans son répertoire « home » ou dans /tmp"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Les démons d'initialisation standards sont des démons chargés au démarrage "
++"par les scripts d'initialisation. Ils requièrent habituellement un script "
++"placé dans /etc/init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Démons d'initialisation standards"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Démon système DBUS"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Les démons de services Internet sont des démons démarrés par xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Démons de services Internet (inetd)"
+-#~ msgid "Memory Protection"
+-#~ msgstr "Protection mémoire"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Applications Web / script (CGI) Scripts SGI démarrés par le serveur web "
++"(Apache)"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Autoriser l'exécution de code dans la pile de Java"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Applications Web / scripts (CGI)"
+-#~ msgid "Mount"
+-#~ msgstr "Monter"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Un programme utilisateur correspond à tout programme que vous aimeriez "
++"confiner et qui peut être démarré par un utilisateur"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Permettre à « mount » de monter n'importe quel fichier"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Programme utilisateur"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Permettre à « mount » de monter n'importe quel répertoire"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Identifiant de connexion</b>"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Autoriser l'exécution de code dans la pile de Mplayer"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modifier un enregistrement existant d'ouverture de session"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Modèles d'utilisateurs existant"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Permettre à ssh d'exécuter « ssh-keysign »"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Cet utilisateur va ouvrir une session sur une machine seulement par un "
++"terminal ou une connexion à distance. Par défaut cet utilisateur n'aura pas "
++"de propriété setuid, pas de réseautage, pas de commandes sudo et su."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Modèle minimal de terminal utilisateur"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permettre au compte d'identité SELinux « staff » d'exécuter des fichiers "
+-#~ "dans son répertoire « home » ou dans /tmp"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Cet utilisateur peut ouvrir une session sur une machine par X ou par un "
++"terminal. Par défaut cet utilisateur n'aura pas de propriété setuid, pas de "
++"réseautage, pas de commandes sudo et su."
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Modèle minimal de serveur X utilisateur"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permettre au compte d'identité SELinux « sysadm » d'exécuter des fichiers "
+-#~ "dans son répertoire « home » ou dans /tmp"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Utilisateur avec un réseautage complet, pas de propriété setuid sans "
++"transition, pas de commandes sudo et su."
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Permettre au compte d'identité SELinux « unconfined » d'exécuter des "
+-#~ "fichiers dans son répertoire « home » ou dans /tmp"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Modèle d'utilisateur"
+-#~ msgid "Network Configuration"
+-#~ msgstr "Configuration réseau"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Utilisateur avec un réseautage complet, pas d'application setuid sans "
++"transition, pas de commande su, pouvant utiliser la commande sudo pour les "
++"tâches administratives réservées au Root"
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Rôle de l'administrateur"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Utilisateurs root</b>"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Permettre aux paquets non étiquetés de circuler sur le réseau"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Sélectionner le rôle d'utilisateur root, si cet utilisateur doit administrer "
++"la machine en tant que root. Cet utilisateur ne pourra pas ouvrir de session "
++"sur le système directement."
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Permettre au compte d'identité SELinux « user » d'exécuter des fichiers "
+-#~ "dans son répertoire « home » ou dans /tmp"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Modèle d'utilisateur root"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr ""
+-#~ "Autoriser les non confinés à faire une transition dynamique en « "
+-#~ "unconfined_execmem »"
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Sélectionner le modèle d'application ou d'utilisateur à confiner."
+-#~ msgid "Databases"
+-#~ msgstr "Bases de données"
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nom"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Permettre à l'utilisateur de se connecter au socket « mysql »"
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Entrez le chemin d'accès aux exécutables à confiner."
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Permettre à l'utilisateur de se connecter au socket « postgres »"
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid "XServer"
+-#~ msgstr "Serveur X"
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++"Entrer un nom de type unique pour le modèle d'utilisateur ou de programme à "
++"confiner."
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Permettre aux clients d'écrire dans la mémoire partagée de X"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Exécutable"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permettre au compte utilisateur SELinux « xguest » d'exécuter des fichiers "
+-#~ "dans son répertoire « home » ou dans /tmp"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Script d'initialisation"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Entrez le chemin d'accès complet au script d'initialisation utilisé pour "
++"démarrer le programme confiné."
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Permettre aux démons de s'exécuter avec NIS"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Sélectionnez les rôles d'utilisateur que vous voulez personnaliser"
+-#~ msgid "Web Applications"
+-#~ msgstr "Applications Web"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Sélectionnez le modèle d'utilisateur qui va faire la transition aux domaines "
++"de cette application"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transition de l'identité SELinux « staff » vers le domaine « Web Browser »"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Sélectionner le(s) domaine(s) supplémentaire(s) de l'utilisateur pour la "
++"transition"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transition de l'identité SELinux « sysadm » vers le domaine « Web Browser »"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Sélectionner les domaines des applications vers lesquels vous souhaitez que "
++"ce modèle d'utilisateur effectue une transition."
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transition de l'identité SELinux « user » vers le domaine « Web Browser »"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++"Sélectionnez le modèle d'utilisateur qui va faire la transition de ce domaine"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transition de l'identité SELinux « xguest » vers le domaine « Web Browser »"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++"Sélectionner le(s) domaine(s) additionnel(s) que cet utilisateur administrera"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr ""
+-#~ "Permettre aux « Web Browsers » de staff d'écrire dans les répertoires "
+-#~ "personnels"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++"Sélectionner les domaines qui doivent être administrés par cet utilisateur."
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Désactiver la protection SELinux pour amanda"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Sélectionner les rôles supplémentaires de cet utilisateur"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Désactiver la protection SELinux pour amavis"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Entrez les ports réseau que ce modèle d'application/utilisateur écoute"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon apmd"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Ports TCP</b>"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon arpwatch"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Permettre au modèle d'un utilisateur/programme confiné de se connecter à "
++"n'importe quel port UDP"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon auditd"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Tout"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon automount"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Permettre au modèle d'un utilisateur/programme d'appeler « bindresvport » "
++"avec 0. Connexion aux ports 600-1024"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Désactiver la protection SELinux pour avahi"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon bluetooth"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Entrez une liste, séparés par des virgules, ou une plage de ports UDP "
++"auxquels ce modèle programme/utilisateur se connecte. Par exemple : 612, "
++"650-660 "
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon canna"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Ports non réservés (> 1024)"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon cardmgr"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Sélectionner des ports"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Désactiver la protection SELinux pour le serveur Cluster"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Permettre au modèle d'un utilisateur/programme de se connecter à n'importe "
++"quel port UDP > 1024"
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Permettre à cdrecord de lire de nombreux contenus : nfs, samba, "
+-#~ "périphériques extractibles, répertoires temp d'utilisateurs et fichiers "
+-#~ "non dignes de confiance"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Ports UDP</b>"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ciped"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Entrez les ports réseau auxquel ce modèle application/utilisateur se connecte"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon clamd"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Entrez une liste, séparés par des virgules, ou une plage de ports UDP "
++"auxquels ce modèle de programme/utilisateur se connecte. "
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Désactiver la protection SELinux pour clamscan"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Entrez une liste de ports UDP séparés par une virgule auxquels ce modèle "
++"programme/utilisateur se connecte. Par exemple : 612, 650-660"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Désactiver la protection SELinux pour clvmd"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Sélectionner les caractéristiques communes de l'application"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Désactiver la protection SELinux pour démon comsat"
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Le programme utilise syslog pour journaliser des messages\t"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon courier"
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Créer/manipuler des fichiers temporaires dans /tmp"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon cpucontrol"
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Utilise PAM pour l'authentification"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon cpuspeed"
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Utilise les appels nsswitch ou getpw"
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Utilise dbus"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon crond"
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Envoie des messages audit"
+-#~ msgid "Printing"
+-#~ msgstr "Impression"
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interagit avec le terminal"
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Désactiver la protection SELinux pour le serveur cupsd"
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Envoie un courrier électronique"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon cupsd"
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Sélectionnez les fichiers/répertoires que le programme gère"
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Désactiver la protection SELinux pour cupsd_lpd"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Ajoutez les fichiers/répertoires dans lesquels ce programme va devoir "
++"écrire. Fichiers PID, fichiers de journalisation, fichiers /var/lib..."
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Sélectionnez les booléens que le programme utilise"
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon CVS"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Ajoutez/enlevez les booléens utilisés pour cette application/utilisateur même"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon cyrus"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++"Sélectionnez un répertoire dans lequel générer les fichiers de stratégie"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dbskkd"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Répertoire de stratégie"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dbusd"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Fichiers de stratégie générés"
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Désactiver la protection SELinux pour dccd"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Cet outil va générer les éléments suivantes : type applicable (TE), contexte "
++"fichier (FC), interface (IF), script shell (SH).\n"
++"Exécutez le script shell pour compiler/installer et re-étiqueter les "
++"fichiers/répertoires.\n"
++"Utilisez \"semanage\" ou \"useradd\" pour organiser les logins utilisateurs "
++"Linux par rapport aux modèles. Passez en mode permissif (\"setenforce 0).\n"
++"Utilisez « audit2allow -R » pour générer des règles supplémentaires pour le "
++"fichier.\n"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Désactiver la protection SELinux pour dccifd"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Cet outil va générer les éléments suivantes : type applicable (TE), contexte "
++"fichier (FC), interface (IF), script shell (SH).\n"
++"Exécutez le script shell pour compiler/installer et re-étiqueter les "
++"fichiers/répertoires. Passez en mode permissif (« setenforce 0 »).\n"
++"Exécutez/redémarrez le programme pour générer les messages AVC.\n"
++"Utilisez « audit2allow -R » pour générer des règles supplémentaires pour le "
++"fichier.\n"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Désactiver la protection SELinux pour dccm"
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Ajout de boite de dialogue de booléens"
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ddt"
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Nom de Booléen"
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon devfsd"
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rôle"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dhcpc"
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Utilisateur existant_"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dhcpd"
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Programme"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dictd"
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s doit être un répertoire"
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Permettre à sysadmin_t de démarrer directement des démons"
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Vous devez sélectionner un utilisateur"
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Désactiver la protection SELinux pour Evolution"
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Sélectionner les fichiers exécutables à confiner."
+-#~ msgid "Games"
+-#~ msgstr "Jeux"
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Sélectionnez le script d'initialisation à confiner."
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Désactiver la protection SELinux pour games"
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"Sélectionnez un ou plusieurs fichiers que le programme confiné crée ou dans "
++"lesquels il écrit"
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Désactiver la protection SELinux pour web browsers"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Sélectionnez les répertoires que le programme confiné possède et dans "
++"lesquels il écrit"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Désactiver la protection SELinux pour Thunderbird"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++"Sélectionnez un répertoire dans lequel générer les fichiers de stratégie"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon distccd"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Le type %s_t est déjà défini dans la stratégie.\n"
++"Voulez-vous continuer?"
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dmesg"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verifiez le nom"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dnsmasq"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Le module %s.pp est déjà chargé dans la stratégie.\n"
++"Voulez-vous continuer?"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon dovecot"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Vous devez spécifier un nom"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon entropyd"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Vous devez spécifier un exécutable"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Désactiver la protection SELinux pour fetchmail"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Configurer SELinux"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon fingerd"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++"Les ports doivent être des nombres ou des plages de nombres compris entre 1 "
++"et %d "
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon freshclam"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Vous devez spécifier un nom pour votre processus/utilisateur confiné"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon fsdaemon"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Les types USER ne sont pas autorisés à être exécutables"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon gpm"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Seuls les démons peuvent utiliser un script d'init"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "« use_syslog » doit avoir une valeur booléenne "
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon gss"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Les types USER obtiennent automatiquement un type tmp"
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon hal"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++"Vous devez spécifier le chemin d'accès à l'exécutable pour votre processus "
++"confiné"
+-#~ msgid "Compatibility"
+-#~ msgstr "Compatibilité"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Fichier de types applicables"
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Ne pas auditer les éléments défectueux qui ne constituent pas un risque "
+-#~ "en terme de sécurité"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Fichier d'interface"
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon hostname"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Fichier de contextes fichier"
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon hotplug"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Script de configuration"
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon howl"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Port réseau"
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon cups hplip"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Port SELinux\n"
++"Type"
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Désactiver la protection SELinux pour httpd rotatelogs"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocole"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "Service HTTPD"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"Niveau"
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Désactiver la protection SELinux pour http suexec"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Le numéro de port « %s » est invalide. 0 < NUMERO_DE_PORT < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Affichage par liste"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Affichage par groupe"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Protection des services SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Désactiver la protection SELinux pour le démon « acct »"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Administrateur"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Permettre à tous les démons d'écrire des vidages mémoires dans /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Permettre à tous les démons d'utiliser des TTY non alloués"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Privilèges utilisateur"
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon hwclock"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permettre au compte d'identité SELinux « gadmin » d'éxecuter des fichiers "
++"dans son répertoire « home » ou dans /tmp"
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon i18n"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permettre au compte d'identité SELinux « guest » d'éxecuter des fichiers "
++"dans son répertoire « home » ou dans /tmp"
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon imazesrv"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Protection mémoire"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Autoriser l'exécution de code dans la pile de Java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Monter"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Permettre à « mount » de monter n'importe quel fichier"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Permettre à « mount » de monter n'importe quel répertoire"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Autoriser l'exécution de code dans la pile de Mplayer"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Permettre à ssh d'exécuter « ssh-keysign »"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Désactiver la protection SELinux pour les démons inetd child"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permettre au compte d'identité SELinux « staff » d'exécuter des fichiers "
++"dans son répertoire « home » ou dans /tmp"
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon inetd"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permettre au compte d'identité SELinux « sysadm » d'exécuter des fichiers "
++"dans son répertoire « home » ou dans /tmp"
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon innd"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Permettre au compte d'identité SELinux « unconfined » d'exécuter des "
++"fichiers dans son répertoire « home » ou dans /tmp"
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon iptables"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Configuration réseau"
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ircd"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Permettre aux paquets non étiquetés de circuler sur le réseau"
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon irqbalance"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permettre au compte d'identité SELinux « user » d'exécuter des fichiers dans "
++"son répertoire « home » ou dans /tmp"
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon iscsi"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"Autoriser les non confinés à faire une transition dynamique en « "
++"unconfined_execmem »"
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon jabberd"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Bases de données"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Permettre à l'utilisateur de se connecter au socket « mysql »"
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon kadmind"
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Permettre à l'utilisateur de se connecter au socket « postgres »"
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon klogd"
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "Serveur X"
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon krb5kdc"
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Permettre aux clients d'écrire dans la mémoire partagée de X"
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ktalk"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permettre au compte d'identité SELinux « xguest » d'exécuter des fichiers "
++"dans son répertoire « home » ou dans /tmp"
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon kudzu"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon locate"
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Permettre aux démons de s'exécuter avec NIS"
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon lpd"
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Applications Web"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon lrrd"
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++"Transition de l'identité SELinux « staff » vers le domaine « Web Browser »"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon lvm"
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++"Transition de l'identité SELinux « sysadm » vers le domaine « Web Browser »"
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Désactiver la protection SELinux pour mailman"
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++"Transition de l'identité SELinux « user » vers le domaine « Web Browser »"
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr ""
+-#~ "Permettre à Evolution et Thunderbird de lire les fichiers utilisateur"
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++"Transition de l'identité SELinux « xguest » vers le domaine « Web Browser »"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon mdadm"
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"Permettre aux « Web Browsers » de staff d'écrire dans les répertoires "
++"personnels"
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon monopd"
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Désactiver la protection SELinux pour amanda"
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Permettre au navigateur mozilla de lire les fichiers utilisateur"
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Désactiver la protection SELinux pour amavis"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon mrtg"
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Désactiver la protection SELinux pour le démon apmd"
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon mysqld"
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Désactiver la protection SELinux pour le démon arpwatch"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon nagios"
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Désactiver la protection SELinux pour le démon auditd"
+-#~ msgid "Name Service"
+-#~ msgstr "Service de nom"
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Désactiver la protection SELinux pour le démon automount"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon named"
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Désactiver la protection SELinux pour avahi"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon nessusd"
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Désactiver la protection SELinux pour le démon bluetooth"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Désactiver la protection SELinux pour NetworkManager"
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Désactiver la protection SELinux pour le démon canna"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon nfsd"
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Désactiver la protection SELinux pour le démon cardmgr"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Désactiver la protection SELinux pour le serveur Cluster"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon nmbd"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Permettre à cdrecord de lire de nombreux contenus : nfs, samba, "
++"périphériques extractibles, répertoires temp d'utilisateurs et fichiers non "
++"dignes de confiance"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Désactiver la protection SELinux pour le démon ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Désactiver la protection SELinux pour le démon clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Désactiver la protection SELinux pour clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Désactiver la protection SELinux pour clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Désactiver la protection SELinux pour démon comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Désactiver la protection SELinux pour le démon courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Désactiver la protection SELinux pour le démon cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Désactiver la protection SELinux pour le démon cpuspeed"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Désactiver la protection SELinux pour le démon crond"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Impression"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Désactiver la protection SELinux pour le serveur cupsd"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Désactiver la protection SELinux pour le démon cupsd"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Désactiver la protection SELinux pour cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Désactiver la protection SELinux pour le démon CVS"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Désactiver la protection SELinux pour le démon cyrus"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Désactiver la protection SELinux pour le démon dbskkd"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Désactiver la protection SELinux pour le démon dbusd"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Désactiver la protection SELinux pour dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Désactiver la protection SELinux pour dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Désactiver la protection SELinux pour dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Désactiver la protection SELinux pour le démon ddt"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Désactiver la protection SELinux pour le démon devfsd"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Désactiver la protection SELinux pour le démon dhcpc"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Désactiver la protection SELinux pour le démon dhcpd"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Désactiver la protection SELinux pour le démon dictd"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Permettre à sysadmin_t de démarrer directement des démons"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Désactiver la protection SELinux pour Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Jeux"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Désactiver la protection SELinux pour games"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Désactiver la protection SELinux pour web browsers"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Désactiver la protection SELinux pour Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Désactiver la protection SELinux pour le démon distccd"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Désactiver la protection SELinux pour le démon dmesg"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Désactiver la protection SELinux pour le démon dnsmasq"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Désactiver la protection SELinux pour le démon dovecot"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Désactiver la protection SELinux pour le démon entropyd"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Désactiver la protection SELinux pour fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Désactiver la protection SELinux pour le démon fingerd"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Désactiver la protection SELinux pour le démon freshclam"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Désactiver la protection SELinux pour le démon fsdaemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Désactiver la protection SELinux pour le démon gpm"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Désactiver la protection SELinux pour le démon gss"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Désactiver la protection SELinux pour le démon hal"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibilité"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon nrpe"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Ne pas auditer les éléments défectueux qui ne constituent pas un risque en "
++"terme de sécurité"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon nscd"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Désactiver la protection SELinux pour le démon hostname"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon nsd"
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Désactiver la protection SELinux pour le démon hotplug"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ntpd"
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Désactiver la protection SELinux pour le démon howl"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Désactiver la protection SELinux pour oddjob"
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Désactiver la protection SELinux pour le démon cups hplip"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Désactiver la protection SELinux pour oddjob_mkhomedir"
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Désactiver la protection SELinux pour httpd rotatelogs"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon openvpn"
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Service HTTPD"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon pam"
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Désactiver la protection SELinux pour http suexec"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Désactiver la protection SELinux pour pegasus"
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Désactiver la protection SELinux pour le démon hwclock"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon perdition"
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Désactiver la protection SELinux pour le démon i18n"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon portmap"
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Désactiver la protection SELinux pour le démon imazesrv"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon portslave"
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Désactiver la protection SELinux pour les démons inetd child"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Désactiver la protection SELinux pour postfix"
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Désactiver la protection SELinux pour le démon inetd"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon postgresql"
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Désactiver la protection SELinux pour le démon innd"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Désactiver la protection SELinux pour le démon iptables"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Permettre à un utilisateur ordinaire d'exécuter pppd"
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Désactiver la protection SELinux pour le démon ircd"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Désactiver la protection SELinux pour pptp"
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Désactiver la protection SELinux pour le démon irqbalance"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon prelink"
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Désactiver la protection SELinux pour le démon iscsi"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon privoxy"
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Désactiver la protection SELinux pour le démon jabberd"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ptal"
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon pxe"
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Désactiver la protection SELinux pour le démon kadmind"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Désactiver la protection SELinux pour pyzord"
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Désactiver la protection SELinux pour le démon klogd"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon quota"
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Désactiver la protection SELinux pour le démon krb5kdc"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon radiusd"
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Désactiver la protection SELinux pour le démon ktalk"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon radvd"
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Désactiver la protection SELinux pour le démon kudzu"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Désactiver la protection SELinux pour rdisc"
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Désactiver la protection SELinux pour le démon locate"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Désactiver la protection SELinux pour readahead"
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Désactiver la protection SELinux pour le démon lpd"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Permettre aux programmes de lire des fichiers à des emplacements non "
+-#~ "standards (default_t)"
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Désactiver la protection SELinux pour le démon lrrd"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Désactiver la protection SELinux pour restorecond"
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Désactiver la protection SELinux pour le démon lvm"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon rhgb"
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Désactiver la protection SELinux pour mailman"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Désactiver la protection SELinux pour ricci"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Permettre à Evolution et Thunderbird de lire les fichiers utilisateur"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Désactiver la protection SELinux pour ricci_modclusterd"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Désactiver la protection SELinux pour le démon mdadm"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon rlogind"
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Désactiver la protection SELinux pour le démon monopd"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon rpcd"
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Permettre au navigateur mozilla de lire les fichiers utilisateur"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Désactiver la protection SELinux pour rshd"
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Désactiver la protection SELinux pour le démon mrtg"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Désactiver la protection SELinux pour le démon mysqld"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon rsync"
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Désactiver la protection SELinux pour le démon nagios"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "Permettre à ssh de s'exécuter depuis inetd et non en tant que démon"
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Service de nom"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Permettre à Samba de partager des répertoires NFS"
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Désactiver la protection SELinux pour le démon named"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Serveur d'authentification SASL"
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Désactiver la protection SELinux pour le démon nessusd"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Permettre au serveur d'authentification SASL de lire /etc/shadow"
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Désactiver la protection SELinux pour NetworkManager"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Permettre au serveur X-Window de considérer une zone mémoire comme "
+-#~ "exécutable et pouvant être écrite"
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Désactiver la protection SELinux pour le démon nfsd"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon saslauthd"
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon scannerdaemon"
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Désactiver la protection SELinux pour le démon nmbd"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Interdire la transition vers sysadmin_t, effectuée par sudo et su"
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Désactiver la protection SELinux pour le démon nrpe"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Interdire à tout processus de charger des modules noyau"
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Désactiver la protection SELinux pour le démon nscd"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "Interdire à tout processus de modifier la stratégie SELinux du noyau"
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Désactiver la protection SELinux pour le démon nsd"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon sendmail"
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Désactiver la protection SELinux pour le démon ntpd"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Désactiver la protection SELinux pour setrans"
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Désactiver la protection SELinux pour oddjob"
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon setroubleshoot"
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Désactiver la protection SELinux pour oddjob_mkhomedir"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon slapd"
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Désactiver la protection SELinux pour le démon openvpn"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon slrnpull"
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Désactiver la protection SELinux pour le démon pam"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon smbd"
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Désactiver la protection SELinux pour pegasus"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon snmpd"
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Désactiver la protection SELinux pour le démon perdition"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon snort"
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Désactiver la protection SELinux pour le démon portmap"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon soundd"
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Désactiver la protection SELinux pour le démon portslave"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon sound"
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Désactiver la protection SELinux pour postfix"
+-#~ msgid "Spam Protection"
+-#~ msgstr "Protection anti-spam"
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Désactiver la protection SELinux pour le démon postgresql"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon spamd"
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Autoriser l'accès de spamd aux répertoires personnels"
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Permettre à un utilisateur ordinaire d'exécuter pppd"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Permettre l'accès réseau au  démon Spam Assassin"
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Désactiver la protection SELinux pour pptp"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon speedmgmt"
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Désactiver la protection SELinux pour le démon prelink"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Désactiver la protection SELinux pour le démon privoxy"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Autoriser l'accès réseau au démon squid"
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Désactiver la protection SELinux pour le démon ptal"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon squid"
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Désactiver la protection SELinux pour le démon pxe"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ssh"
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Désactiver la protection SELinux pour pyzord"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Autoriser l'ouverture de session ssh en tant que sysadm_r:sysadm_t"
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Désactiver la protection SELinux pour le démon quota"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Autoriser les utilisateurs staff_r à chercher dans le répertoire "
+-#~ "personnel de sysadm et à lire des fichiers (comme ~/.bashrc par exemple)"
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Désactiver la protection SELinux pour le démon radiusd"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Tunnel SSL universel"
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Désactiver la protection SELinux pour le démon radvd"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon stunnel"
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Désactiver la protection SELinux pour rdisc"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "Autoriser le démon stunnel à s'exécuter de manière autonome, hors de "
+-#~ "xinetd"
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Désactiver la protection SELinux pour readahead"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon swat"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Permettre aux programmes de lire des fichiers à des emplacements non "
++"standards (default_t)"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon sxid"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Désactiver la protection SELinux pour restorecond"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon syslogd"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Désactiver la protection SELinux pour le démon rhgb"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Désactiver la protection SELinux pour les travaux système cron"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Désactiver la protection SELinux pour ricci"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon tcp"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Désactiver la protection SELinux pour ricci_modclusterd"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon telnet"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Désactiver la protection SELinux pour le démon rlogind"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon tftpd"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Désactiver la protection SELinux pour le démon rpcd"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon transproxy"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Désactiver la protection SELinux pour rshd"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon udev"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon uml"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Désactiver la protection SELinux pour le démon rsync"
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Autoriser xinetd à s'exécuter de manière non confinée, y compris tout "
+-#~ "service qu'il démarre et qui n'a pas de transition de domaine "
+-#~ "explicitement définie"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Permettre à ssh de s'exécuter depuis inetd et non en tant que démon"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Autoriser les scripts rc à s'exécuter de manière non confinée, y compris "
+-#~ "tout service qu'ils démarrent et qui n'a pas de transition de domaine "
+-#~ "explicitement définie"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Permettre à Samba de partager des répertoires NFS"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Autoriser rpm à s'exécuter de manière non confinée"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Serveur d'authentification SASL"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Autoriser les utilitaires privilégiés comme hotplug et insmod à "
+-#~ "s'exécuter de manière non confinée"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Permettre au serveur d'authentification SASL de lire /etc/shadow"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon updfstab"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Permettre au serveur X-Window de considérer une zone mémoire comme "
++"exécutable et pouvant être écrite"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon uptimed"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Désactiver la protection SELinux pour le démon saslauthd"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Autoriser user_r à passer sysadm_r via su, sudo ou userhelper. Dans le "
+-#~ "cas contraire, seul staff_r est habilité à le faire"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Désactiver la protection SELinux pour le démon scannerdaemon"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Autoriser les utilisateurs à exécuter la commande « mount »"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Interdire la transition vers sysadmin_t, effectuée par sudo et su"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Donner aux utilisateurs ordinaires un accès direct à la souris (seul le "
+-#~ "serveur X a cet accès)"
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Interdire à tout processus de charger des modules noyau"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Autoriser les utilisateurs à exécuter la commande « dmesg »"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Interdire à tout processus de modifier la stratégie SELinux du noyau"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Autoriser les utilisateurs à contrôler les interfaces réseau (il faut "
+-#~ "aussi que USERCTL=true)"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Désactiver la protection SELinux pour le démon sendmail"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr ""
+-#~ "Autoriser les utilisateurs ordinaires à exécuter la commande « ping »"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Désactiver la protection SELinux pour setrans"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "Autoriser l'utilisateur à lire/écrire les noextattrfile (FAT, CDROM, "
+-#~ "disquette)"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Désactiver la protection SELinux pour le démon setroubleshoot"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Autoriser les utilisateurs à lire/écrire dans des périphériques USB"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Désactiver la protection SELinux pour le démon slapd"
+-#~ 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 ""
+-#~ "Autoriser les utilisateurs à lancer des serveurs TCP (lier à des ports et "
+-#~ "accepter des connexions d'un même domaine ou d'utilisateurs extérieurs). "
+-#~ "Désactiver cette option force le mode FTP passif et peut avoir une "
+-#~ "influence sur d'autres protocoles"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Désactiver la protection SELinux pour le démon slrnpull"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Autoriser l'utilisateur à effectuer un « stat » sur les fichiers TTY"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Désactiver la protection SELinux pour le démon smbd"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon uucpd"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Désactiver la protection SELinux pour le démon snmpd"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon vmware"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Désactiver la protection SELinux pour le démon snort"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon watchdog"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Désactiver la protection SELinux pour le démon soundd"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon winbind"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Désactiver la protection SELinux pour le démon sound"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon xdm"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Protection anti-spam"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr ""
+-#~ "Autoriser les ouvertures de session xdm en tant que sysadm_r:sysadm_t"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Désactiver la protection SELinux pour le démon spamd"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon xen"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Autoriser l'accès de spamd aux répertoires personnels"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Permettre l'accès réseau au  démon Spam Assassin"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Autoriser xen à lire/écrire sur des périphériques disques physiques"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Désactiver la protection SELinux pour le démon speedmgmt"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon xfs"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Désactiver la protection SELinux pour xen control"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Autoriser l'accès réseau au démon squid"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ypbind"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Désactiver la protection SELinux pour le démon squid"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon NIS Password"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Désactiver la protection SELinux pour le démon ssh"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon ypserv"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Autoriser l'ouverture de session ssh en tant que sysadm_r:sysadm_t"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Désactiver la protection SELinux pour le démon NIS Transfer"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Autoriser les utilisateurs staff_r à chercher dans le répertoire personnel "
++"de sysadm et à lire des fichiers (comme ~/.bashrc par exemple)"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Autoriser l'utilisateur SELinux webadm à gérer les répertoires personnels "
+-#~ "des utilisateurs non privilégiés"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Tunnel SSL universel"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Autoriser l'utilisateur SELinux webadm à lire les répertoires personnels "
+-#~ "des utilisateurs non privilégiés"
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Désactiver la protection SELinux pour le démon stunnel"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Êtes-vous sur de vouloir supprimer %s « %s » ?"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"Autoriser le démon stunnel à s'exécuter de manière autonome, hors de xinetd"
+-#~ msgid "Delete %s"
+-#~ msgstr "Supprimer %s"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Désactiver la protection SELinux pour le démon swat"
+-#~ msgid "Add %s"
+-#~ msgstr "Ajouter %s"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Désactiver la protection SELinux pour le démon sxid"
+-#~ msgid "Modify %s"
+-#~ msgstr "Modifier %s"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Désactiver la protection SELinux pour le démon syslogd"
+-#~ msgid "Permissive"
+-#~ msgstr "Permissif"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Désactiver la protection SELinux pour les travaux système cron"
+-#~ msgid "Enforcing"
+-#~ msgstr "Strict"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Désactiver la protection SELinux pour le démon tcp"
+-#~ msgid "Disabled"
+-#~ msgstr "Désactivé"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Désactiver la protection SELinux pour le démon telnet"
+-#~ msgid "Status"
+-#~ msgstr "État"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Désactiver la protection SELinux pour le démon tftpd"
+-#~ 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 ""
+-#~ "Changer de type de stratégie va entraîner un ré-étiqutage de l'ensemble "
+-#~ "du système de fichier au prochain démarrage. Le ré-étiquetage est une "
+-#~ "opération longue dont la durée dépend de la taille de votre système de "
+-#~ "fichiers. Voulez-vous continuer ?"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Désactiver la protection SELinux pour le démon transproxy"
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Désactiver SELinux exige un redémarrage. Cette opération n'est pas "
+-#~ "recommandée. Si vous décidez plus tard de réactiver SELinux, il faudra "
+-#~ "procéder à un ré-étiquetage du système de fichier. Si vous souhaitez "
+-#~ "seulement voir si SELinux pose un problème sur votre système, vous pouvez "
+-#~ "passer en mode permissif, ce qui permet de journaliser les erreurs sans "
+-#~ "modifier la stratégie SELinux. Le passage en mode permissif ne nécessite "
+-#~ "pas de redémarrage. Voulez-vous continuer malgré tout ?"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Désactiver la protection SELinux pour le démon udev"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Changer pour une stratégie active va entraîner un ré-étiqutage de "
+-#~ "l'ensemble du système de fichier au prochain démarrage. Le ré-étiquetage "
+-#~ "est une opération longue dont la durée dépend de la taille de votre "
+-#~ "système de fichiers. Voulez-vous continuer ?"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Désactiver la protection SELinux pour le démon uml"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Autoriser xinetd à s'exécuter de manière non confinée, y compris tout "
++"service qu'il démarre et qui n'a pas de transition de domaine explicitement "
++"définie"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c) 2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Autoriser les scripts rc à s'exécuter de manière non confinée, y compris "
++"tout service qu'ils démarrent et qui n'a pas de transition de domaine "
++"explicitement définie"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Ajouter les correspondances utilisateurs - identités SELinux"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Autoriser rpm à s'exécuter de manière non confinée"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Ajouter les ports réseau SELinux"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Autoriser les utilitaires privilégiés comme hotplug et insmod à s'exécuter "
++"de manière non confinée"
+-#~ msgid "SELinux Type"
+-#~ msgstr "Type SELinux"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Désactiver la protection SELinux pour le démon updfstab"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "TCP\n"
+-#~ "UDP"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Désactiver la protection SELinux pour le démon uptimed"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Niveau MLS/MCS\n"
+-#~ "SELinux"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Autoriser user_r à passer sysadm_r via su, sudo ou userhelper. Dans le cas "
++"contraire, seul staff_r est habilité à le faire"
+-#~ msgid "File Specification"
+-#~ msgstr "Spécification de fichier"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Autoriser les utilisateurs à exécuter la commande « mount »"
+-#~ msgid "File Type"
+-#~ msgstr "Type de fichier"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Donner aux utilisateurs ordinaires un accès direct à la souris (seul le "
++"serveur X a cet accès)"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "tout fichier\n"
+-#~ "fichier ordinaire\n"
+-#~ "répertoire\n"
+-#~ "périphérique en mode caractères\n"
+-#~ "périphérique en mode block\n"
+-#~ "socket\n"
+-#~ "lien symbolique\n"
+-#~ "tube nommé\n"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Autoriser les utilisateurs à exécuter la commande « dmesg »"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Autoriser les utilisateurs à contrôler les interfaces réseau (il faut aussi "
++"que USERCTL=true)"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Ajouter une identité SELinux"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Autoriser les utilisateurs ordinaires à exécuter la commande « ping »"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "Administration SELinux"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Autoriser l'utilisateur à lire/écrire les noextattrfile (FAT, CDROM, "
++"disquette)"
+-#~ msgid "Add"
+-#~ msgstr "Ajouter"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Autoriser les utilisateurs à lire/écrire dans des périphériques USB"
+-#~ msgid "_Properties"
+-#~ msgstr "_Propriétés"
++#: ../gui/selinux.tbl:216
++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 ""
++"Autoriser les utilisateurs à lancer des serveurs TCP (lier à des ports et "
++"accepter des connexions d'un même domaine ou d'utilisateurs extérieurs). "
++"Désactiver cette option force le mode FTP passif et peut avoir une influence "
++"sur d'autres protocoles"
+-#~ msgid "_Delete"
+-#~ msgstr "_Supprimer"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Autoriser l'utilisateur à effectuer un « stat » sur les fichiers TTY"
+-#~ msgid "Select Management Object"
+-#~ msgstr "Sélectionnez l'objet de gestion"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Désactiver la protection SELinux pour le démon uucpd"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Sélectionnez :</b>"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Désactiver la protection SELinux pour le démon vmware"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Mode de protection par défaut du système"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Désactiver la protection SELinux pour le démon watchdog"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Mode de protection en vigueur"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Désactiver la protection SELinux pour le démon winbind"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Type de stratégie par défaut pour le système : "
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Désactiver la protection SELinux pour le démon xdm"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Sélectionnez si vous souhaitez ré-étiqueter l'intégralité du système de "
+-#~ "fichiers au prochain démarrage. Le ré-étiquetage peut prendre un temps "
+-#~ "considérable, qui dépend de la taille de votre système de fichiers. Si "
+-#~ "vous êtes en train de changer de type de stratégie ou si vous passez de « "
+-#~ "désactivé » à « strict », un ré-étiquetage est obligatoire."
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Autoriser les ouvertures de session xdm en tant que sysadm_r:sysadm_t"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Ré-étiquetage au prochain redémarrage."
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Désactiver la protection SELinux pour le démon xen"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "Faire revenir les réglages booléens à ceux du sytéme par défaut"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Basculer entre les booléens personnalisés et tous les booléens"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Autoriser xen à lire/écrire sur des périphériques disques physiques"
+-#~ msgid "Filter"
+-#~ msgstr "Filtre"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Désactiver la protection SELinux pour le démon xfs"
+-#~ msgid "Add File Context"
+-#~ msgstr "Ajouter un contexte du fichier"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Désactiver la protection SELinux pour xen control"
+-#~ msgid "Modify File Context"
+-#~ msgstr "Modifier le contexte du fichier"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Désactiver la protection SELinux pour le démon ypbind"
+-#~ msgid "Delete File Context"
+-#~ msgstr "Supprimer un contexte du fichier"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Désactiver la protection SELinux pour le démon NIS Password"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr ""
+-#~ "Basculer entre les contextes de fichier personnalisés et tous les "
+-#~ "contextes de fichiers"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Désactiver la protection SELinux pour le démon ypserv"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Ajouter une correspondance utilisateurs - identités SELinux"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Désactiver la protection SELinux pour le démon NIS Transfer"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Modifier une correspondance utilisateurs - identités SELinux"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Autoriser l'utilisateur SELinux webadm à gérer les répertoires personnels "
++"des utilisateurs non privilégiés"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Supprimer une correspondance utilisateurs - identités SELinux"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Autoriser l'utilisateur SELinux webadm à lire les répertoires personnels des "
++"utilisateurs non privilégiés"
+-#~ msgid "Add Translation"
+-#~ msgstr "Ajouter une translation"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Êtes-vous sur de vouloir supprimer %s « %s » ?"
+-#~ msgid "Modify Translation"
+-#~ msgstr "Modifier une translation"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Supprimer %s"
+-#~ msgid "Delete Translation"
+-#~ msgstr "Supprimer une translation"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Ajouter %s"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Modifier une identité SELinux"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modifier %s"
+-#~ msgid "Add Network Port"
+-#~ msgstr "Ajouter un port réseau"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissif"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Éditer un port réseau"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Strict"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Désactivé"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "État"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Supprimer un port réseau"
++#: ../gui/statusPage.py:133
++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 ""
++"Changer de type de stratégie va entraîner un ré-étiqutage de l'ensemble du "
++"système de fichier au prochain démarrage. Le ré-étiquetage est une opération "
++"longue dont la durée dépend de la taille de votre système de fichiers. "
++"Voulez-vous continuer ?"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Basculer entre les ports personnalisés et tous les ports"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Désactiver SELinux exige un redémarrage. Cette opération n'est pas "
++"recommandée. Si vous décidez plus tard de réactiver SELinux, il faudra "
++"procéder à un ré-étiquetage du système de fichier. Si vous souhaitez "
++"seulement voir si SELinux pose un problème sur votre système, vous pouvez "
++"passer en mode permissif, ce qui permet de journaliser les erreurs sans "
++"modifier la stratégie SELinux. Le passage en mode permissif ne nécessite pas "
++"de redémarrage. Voulez-vous continuer malgré tout ?"
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Générer un module pour une nouvelle stratégie"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Changer pour une stratégie active va entraîner un ré-étiqutage de l'ensemble "
++"du système de fichier au prochain démarrage. Le ré-étiquetage est une "
++"opération longue dont la durée dépend de la taille de votre système de "
++"fichiers. Voulez-vous continuer ?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Load policy module"
+-#~ msgstr "Charger un module de stratégie"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c) 2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Effacer un module de stratégie chargeable"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Ajouter les correspondances utilisateurs - identités SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Ajouter les ports réseau SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Type SELinux"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Activer/désactiver les règles supplémentaires d'audit, qui ne sont "
+-#~ "normalement pas reportées dans les fichiers journaux."
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"Niveau MLS/MCS\n"
++"SELinux"
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "Niveau de sensibilité"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Spécification de fichier"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "L'identité SELinux « %s » est exigée"
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Type de fichier"
+-#~ msgid "Requires value"
+-#~ msgstr "Valeur requise"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"tout fichier\n"
++"fichier ordinaire\n"
++"répertoire\n"
++"périphérique en mode caractères\n"
++"périphérique en mode block\n"
++"socket\n"
++"lien symbolique\n"
++"tube nommé\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Ajouter une identité SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Administration SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Ajouter"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Propriétés"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Supprimer"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Sélectionnez l'objet de gestion"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Sélectionnez :</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Mode de protection par défaut du système"
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Désactivé\n"
++"Permissif\n"
++"Appliqué\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Mode de protection en vigueur"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Type de stratégie par défaut pour le système : "
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Préfixe invalide %s"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Sélectionnez si vous souhaitez ré-étiqueter l'intégralité du système de "
++"fichiers au prochain démarrage. Le ré-étiquetage peut prendre un temps "
++"considérable, qui dépend de la taille de votre système de fichiers. Si vous "
++"êtes en train de changer de type de stratégie ou si vous passez de « "
++"désactivé » à « strict », un ré-étiquetage est obligatoire."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Ré-étiquetage au prochain redémarrage."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "étiquette37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Faire revenir les réglages booléens à ceux du sytéme par défaut"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Basculer entre les booléens personnalisés et tous les booléens"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Lancer l'assistant pour les booléens de verrouillage"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Verrouillage..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtre"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "étiquette50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Ajouter un contexte du fichier"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modifier le contexte du fichier"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Supprimer un contexte du fichier"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++"Basculer entre les contextes de fichier personnalisés et tous les contextes "
++"de fichiers"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "étiquette38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Ajouter une correspondance utilisateurs - identités SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modifier une correspondance utilisateurs - identités SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Supprimer une correspondance utilisateurs - identités SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "étiquette39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Ajouter un utilisateur"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modifier un utilisateur"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Supprimer un utilisateur"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "étiquette41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Ajouter une translation"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modifier une translation"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Supprimer une translation"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "étiquette40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Ajouter un port réseau"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Éditer un port réseau"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Supprimer un port réseau"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Basculer entre les ports personnalisés et tous les ports"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "étiquette42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Générer un module pour une nouvelle stratégie"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Charger un module de stratégie"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Effacer un module de stratégie chargeable"
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "Permet au modèle d'un utilisateur ou d'un programme de se connecter à "
+-#~ "n'importe quel port TCP > 1024"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Activer/désactiver les règles supplémentaires d'audit, qui ne sont "
++"normalement pas reportées dans les fichiers journaux."
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "Permettre au modèle d'un utilisateur ou d'un programme confiné de se "
+-#~ "connecter à n'importe quel port TCP"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "étiquette44"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Entrez une liste, séparés par des virgules, ou une plage de ports TCP "
+-#~ "auxquels ce modèle de programme/utilisateur se connecte. "
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Changer le mode de fonctionnement en permissif."
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "Générateur de stratégies SELinux"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Changer le mode de fonctionnement en appliqué"
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "Ports non réservés  (> 1024)"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Domaine du processus"
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr "Cochez ce bouton si votre programme appelle « bindresvport » avec 0."
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "étiquette59"
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Strict\n"
+-#~ "Permissif\n"
+-#~ "Désactivé\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "L'identité SELinux « %s » est exigée"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/gl.po policycoreutils-2.0.85/po/gl.po
+--- nsapolicycoreutils/po/gl.po        2011-02-17 15:11:25.062735914 -0500
++++ policycoreutils-2.0.85/po/gl.po    2011-02-18 16:03:41.368975744 -0500
+@@ -1,3 +1,20 @@
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -100,7 +117,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -152,736 +170,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1252,3 +1277,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/gu.po policycoreutils-2.0.85/po/gu.po
+--- nsapolicycoreutils/po/gu.po        2011-02-17 15:11:25.602726991 -0500
++++ policycoreutils-2.0.85/po/gu.po    2011-02-18 16:03:41.369975751 -0500
+@@ -3,19 +3,38 @@
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # Ankit Patel <ankit@redhat.com>, 2006, 2007, 2008.
++# Sweta Kothari <swkothar@redhat.com>, 2008, 2009, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils.HEAD.gu\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-03-26 13:07+0530\n"
+-"Last-Translator: Ankit Patel <ankit@redhat.com>\n"
+-"Language-Team: Gujarati <fedora-trans-gu@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 12:20+0530\n"
++"Last-Translator: Sweta Kothari <swkothar@redhat.com>\n"
++"Language-Team: Gujarati\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms:  nplurals=2; plural=(n!=1);\n"
++"Plural-Forms: nplurals=2; plural=(n!=1);\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "ગ્રાફિકલ સુયોજનમાં SELinux ને રૂપરેખાંકિત કરો"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux સંચાલન"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux પોલિસી મોડ્યુલોને ઉત્પન્ન કરો"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux પોલિસી બનાવટ સાધન"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -106,9 +125,8 @@
+ msgstr "semanage જોડાણ અધિષ્ઠાપિત કરી શક્યું નહિં"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s માટે MLS મર્યાદા સુયોજિત કરી શક્યા નહિં"
++msgstr "MLS સક્રિય થયેલ સ્થિતિને ચકાસણી કરી શક્યા નહિં"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -123,7 +141,8 @@
+ msgid "Level"
+ msgstr "સ્તર"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "અનુવાદ"
+@@ -153,764 +172,765 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage પરિવહન પહેલેથી જ પ્રગતિમાં છે"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage લેવડદેવડ શરૂ કરી શક્યા નહિં"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage લેવડદેવડ શરૂ કરી શક્યા નહિં"
++msgstr "semanage લેવડદેવડ કમીટ કરી શક્યા નહિં"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage પરિવહન પ્રગતિમાં નથી"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux વપરાશકર્તાઓની યાદી કરી શક્યા નહિં"
++msgstr "SELinux મોડ્યુલોની યાદી કરી શક્યા નહિં"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "Permissive"
++msgstr "છૂટ અપાય એવા પ્રકારો"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "છૂટ અપાય એવુ ડોમેઇન %s સુયોજિત કરી શકાતુ નથી (મોડ્યુલ સ્થાપન નિષ્ફળ થયેલ છે)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "છૂટ અપાય એવુ ડોમેઇન %s દૂર કરી શકાતુ નથી (નિષ્ફળતા દૂર કરો)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s માટે કી બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "ચકાસી શક્યા નહિં કે શું %s માટે પ્રવેશ જોડણી વ્યાખ્યાયિત થયેલ છે"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s માટેનું પ્રવેશ જોડાણ પહેલાથી જ વ્યાખ્યાયિત થયેલ છે"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux વપરાશકર્તા %s અસ્તિત્વમાં નથી"
++msgstr "Linux જૂથ %s અસ્તિત્વમાં નથી"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux વપરાશકર્તા %s અસ્તિત્વમાં નથી"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s માટે પ્રવેશ જોડણી બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s માટે નામ સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s માટે MLS મર્યાદા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s માટે SELinux વપરાશકર્તા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s માટે પ્રવેશ જોડણી ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux વપરાશકર્તા માપન ઉમેરો"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser અથવા serange જરૂરી છે"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s માટેની પ્રવેશ જોડણી વ્યાખ્યાયિત નથી"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "%s માટે seuser પ્રશ્ન કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s માટે પ્રવેશ જોડણી સુધારી શક્યા નહિં"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s માટે પ્રવેશ જોડણી એ પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકાતી નથી"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s માટે પ્રવેશ જોડણી કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "પ્રવેશ જોડણીઓની યાદી કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "પ્રવેશ નામ"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux વપરાશકર્તા"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS વિસ્તાર"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s માટે ફાઈલ સંદર્ભ ઉમેરી શક્યા નહિં"
++msgstr "%s માટે ઓછામાં ઓછો એક ભૂમિકા ઉમેરાવી જ જોઇએ"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "શું SELinux વપરાશકર્તા %s એ વ્યાખ્યાયિત છે તે ચકાસી શક્યા નહિં"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux વપરાશકર્તા %s એ પહેલાથી જ વ્યાખ્યાયિત છે"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s માટે SELinux વપરાશકર્તા બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "ભૂમિકા %s ને %s માટે ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s માટે MLS સ્તર સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "પૂર્વગ %s ને %s માટે ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s માટે કીનો અર્ક કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux વપરાશકર્તા %s ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "પૂર્વગ, ભૂમિકાઓ, સ્તર અથવા વિસ્તાર જરૂરી છે"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "પૂર્વગ અથવા ભૂમિકાઓ જરૂરી છે"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux વપરાશકર્તા %s એ વ્યાખ્યાયિત નથી"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "વપરાશકર્તાને %s માટે પ્રશ્ન કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux વપરાશકર્તા %s સુધારી શક્યા નહિં"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux વપરાશકર્તા %s એ પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકાતા નથી"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux વપરાશકર્તા %s કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux વપરાશકર્તાઓની યાદી કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "વપરાશકર્તા %s માટે ભૂમિકાઓની યાદી આપી શક્યા નહિં"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "લેબલીંગ"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "પૂર્વગ"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS સ્તર"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS વિસ્તાર"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux ભૂમિકાઓ"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "પ્રોટોકોલ udp અથવા tcp જરૂરી છે"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "પોર્ટ જરૂરી છે"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s માટે કી બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "પ્રકાર જરૂરી છે"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "શું પોર્ટ %s/%s વ્યાખ્યાયિત છે કે નહિં તે ચકાસી શક્યા નહિં"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "પોર્ટ %s/%s પહેલાથી જ વ્યાખ્યાયિત છે"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s માટે પોર્ટ બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s માટે સંદર્ભ બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s માટે પોર્ટ સંદર્ભમાં વપરાશકર્તા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s માટે પોર્ટ સંદર્ભમાં ભૂમિકા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s માટે પોર્ટ સંદર્ભમાં પ્રકાર સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s માટે પોર્ટ સંદર્ભમાં mls ક્ષેત્રો સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s માટે પોર્ટ સંદર્ભ સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "પોર્ટ %s/%s ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype અથવા serange જરૂરી છે"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype જરૂરી છે"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "પોર્ટ %s/%s એ વ્યાખ્યાયિત નથી"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "પોર્ટ %s/%s નો પ્રશ્ન કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "પોર્ટ %s/%s સુધારી શક્યા નહિં"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "પોર્ટોની યાદી કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "પોર્ટ %s કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "પોર્ટ %s/%s એ પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકાતો નથી"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "પોર્ટ %s/%s કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "પોર્ટોની યાદી કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux પોર્ટ પ્રકાર"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "પ્રોટો"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "પોર્ટ નંબર"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "પોર્ટ જરૂરી છે"
++msgstr "નોડ સરનામું જરૂરી છે"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "પોર્ટ જરૂરી છે"
++msgstr "નોડ નેટમાસ્ક જરૂરી છે"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "અજ્ઞાત અથવા ગેરહાજર પ્રોટોકોલ"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux પ્રકાર જરૂરી છે"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s માટે કી બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "શું પોર્ટ %s/%s વ્યાખ્યાયિત છે કે નહિં તે ચકાસી શક્યા નહિં"
++msgstr "ચકાસી શક્યા નહિં જો સરનામું %s વ્યાખ્યાયિત થયેલ છે"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "પોર્ટ %s/%s પહેલાથી જ વ્યાખ્યાયિત છે"
++msgstr "સરનામું %s પહેલાથી જ વ્યાખ્યાયિત છે"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s માટે કી બનાવી શક્યા નહિં"
++msgstr "%s માટે સરનામું બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s માટે સંદર્ભ બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s માટે નામ સુયોજિત કરી શક્યા નહિં"
++msgstr "%s માટે માસ્ક સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s માટે ફાઈલ સંદર્ભમાં વપરાશકર્તા સુયોજિત કરી શક્યા નહિં"
++msgstr "%s માટે સરનામું સંદર્ભમાં વપરાશકર્તા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s માટે ફાઈલ સંદર્ભમાં ભૂમિકા સુયોજિત કરી શક્યા નહિં"
++msgstr "%s માટે સરનામું સંદર્ભમાં ભૂમિકા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s માટે ફાઈલ સંદર્ભમાં પ્રકાર સુયોજિત કરી શક્યા નહિં"
++msgstr "%s માટે સરનામું સંદર્ભમાં પ્રકાર સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s માટે ફાઈલ સંદર્ભમાં mls ક્ષેત્રો સુયોજિત કરી શક્યા નહિં"
++msgstr "%s માટે સરનામુ સંદર્ભમાં mls ક્ષેત્રો સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s માટે ફાઈલ સંદર્ભ સુયોજિત કરી શક્યા નહિં"
++msgstr "%s માટે સરનામા સંદર્ભ સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "પોર્ટ %s/%s ઉમેરી શક્યા નહિં"
++msgstr "સરનામું %s ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "પોર્ટ %s/%s એ વ્યાખ્યાયિત નથી"
++msgstr "સરનામું %s એ વ્યાખ્યાયિત નથી"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "પોર્ટ %s/%s નો પ્રશ્ન કરી શક્યા નહિં"
++msgstr "પ્રશ્ર્ન સરનામું %s કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "પોર્ટ %s/%s સુધારી શક્યા નહિં"
++msgstr "સરનામું %s બદલી શક્યા નહિં"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "પોર્ટ %s/%s એ પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકાતો નથી"
++msgstr "સરનામું %s એ પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકાતો નથી"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s કાઢી શક્યા નહિં"
++msgstr "સરનામાં %s કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "પોર્ટોની યાદી કરી શક્યા નહિં"
++msgstr "સરનામાંની યાદી કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "શું ઈન્ટરફેસ %s એ વ્યાખ્યાયિત થયેલ છે કે નહિં તે ચકાસી શક્યા નહિં"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "ઈન્ટરફેસ %s પહેલાથી જ વ્યાખ્યાયિત થયેલ છે"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s માટે ઈન્ટરફેસ બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s માટે ઈન્ટરફેસ સંદર્ભમાં વપરાશકર્તા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s માટે ઈન્ટરફેસ સંદર્ભમાં ભૂમિકા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s માટે ઈન્ટરફેસ સંદર્ભમાં પ્રકાર સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s માટે ઈન્ટરફેસ સંદર્ભમાં mls ક્ષેત્રો સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s માટે ઈન્ટરફેસ સંદર્ભ સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s માટે સંદેશા સંદર્ભ સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "%s ઈન્ટરફેસ ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "ઈન્ટરફેસ %s વ્યાખ્યાયિત નથી"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "ઈન્ટરફેસ %s ને પ્રશ્ન કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "ઈન્ટરફેસ %s સુધારી શક્યા નહિં"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "ઈન્ટરફેસ %s પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકતા નથી"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "ઈન્ટરફેસ %s કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "ઈન્ટરફેસોની યાદી આપી શક્યા નહિં"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux ઈન્ટરફેસ"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "સંદર્ભ"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભમાં વપરાશકર્તા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભમાં ભૂમિકા સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભમાં mls ક્ષેત્રો સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "અયોગ્ય ફાઈલ સ્પષ્ટીકરણ"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "શું %s માટેનો ફાઈલ સંદર્ભ વ્યાખ્યાયિત છે કે નહિં તે ચકાસી શક્યા નહિં"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s માટેનો ફાઈલ સંદર્ભ પહેલાથી જ વ્યાખ્યાયિત થયેલ છે"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભ બનાવી શક્યા નહિં"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભમાં પ્રકાર સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભ સુયોજિત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભ ઉમેરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange અથવા seuser જરૂરી છે"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s માટેનો ફાઈલ સંદર્ભ વ્યાખ્યાયિત નથી"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભ પ્રશ્ન કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભ સુધારી શક્યા નહિં"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "ફાઈલ સંદર્ભોની યાદી આપી શક્યા નહિં"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "ફાઈલ સંદર્ભ %s કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s માટે ફાઈલ સંદર્ભ પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકતા નથી"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s માટે ફાઈલ સંદર્ભ કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "ફાઈલ સંદર્ભોની યાદી આપી શક્યા નહિં"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "સ્થાનીક ફાઈલ સંદર્ભોની યાદી કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux સંદર્ભ"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "પ્રકાર"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "શું બુલિયન %s વ્યાખ્યાયિત છે તે ચકાસી શક્યા નહિં"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "બુલિયન %s એ વ્યાખ્યાયિત નથી"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "ફાઈલ સંદર્ભ %s નો પ્રશ્ન કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "તમારે કિંમત દાખલ કરવી જ પડશે"
++msgstr "નીચેની કિંમતો ની એક સ્પષ્ટ કરવી જ જોઇએ: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "બુલિયન %s કાઢી શક્યા નહિં"
++msgstr "બુલિયન %s ની સક્રિય કિંમત કરી શક્યા નહિં"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "બુલિયન %s સુધારી શક્યા નહિં"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "ખરાબ બંધારણ%s: રેકોર્ડ %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "બુલિયન %s પોલિસીમાં વ્યાખ્યાયિત છે, કાઢી શકતા નથી"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "બુલિયન %s કાઢી શક્યા નહિં"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "બુલિયનોની યાદી આપી શક્યા નહિં"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "અજ્ઞાત"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "બંધ"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "ચાલુ"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux બુલિયન"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "વર્ણન"
+@@ -950,7 +970,7 @@
+ msgstr "પર્યાવરણ સાફ કરવામાં અસમર્થ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "ક્ષમતાઓનો આરંભ કરવામાં ભૂલ, અડધેથી બંધ કરી રહ્યા છીએ.\n"
+@@ -1007,7 +1027,7 @@
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr "enforcing સ્થિતિ નક્કી કરી શક્યા નહિં.\n"
++msgstr "દબાણ સ્થિતિ નક્કી કરી શક્યા નહિં.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+@@ -1282,1684 +1302,2206 @@
+ msgid "Options Error %s "
+ msgstr "વિકલ્પો ભૂલ %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "બિન-MLS મશીનો પર ભાષાંતરો આધારભૂત નથી"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "બુલિયન"
+-
+-#~ msgid "all"
+-#~ msgstr "બધું"
+-
+-#~ msgid "Customized"
+-#~ msgstr "વૈવિધ્યપૂર્ણ બનાવેલ"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "ફાઈલ લેબલીંગ"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ફાઈલ\n"
+-#~ "સ્પષ્ટીકરણ"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "ફાઈલ પ્રકાર"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "ફાઈલ\n"
+-#~ "પ્રકાર"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "વપરાશકર્તા માપન"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "પ્રવેશ\n"
+-#~ "નામ"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "બુલિયન"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "બધું"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "વૈવિધ્યપૂર્ણ બનાવેલ"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "ફાઈલ લેબલીંગ"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "વપરાશકર્તા"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS વિસ્તાર"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "પ્રવેશ '%s' જરૂરી છે"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "પોલીસિ મોડ્યુલ"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "મોડ્યુલ નામ"
+-
+-#~ msgid "Version"
+-#~ msgstr "આવૃત્તિ"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "સંપાદન નિષ્ક્રિય કરો"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "સંપાદન સક્રિય કરો"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ફાઈલ\n"
++"સ્પષ્ટીકરણ"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "પોલિસી મોડ્યુલ લાવો"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"ફાઈલ પ્રકાર"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ફાઈલ\n"
++"પ્રકાર"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "વપરાશકર્તા માપન"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"પ્રવેશ\n"
++"નામ"
+-#~ msgid "translator-credits"
+-#~ msgstr "અંકિત પટેલ <ankit@redhat.com>"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"વપરાશકર્તા"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux પોલિસી બનાવટ સાધન"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS વિસ્તાર"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "આ સાધન પોલિસી ફ્રેમવર્ક બનાવવા માટે વાપરી શકાય છે, SELinux વાપરી રહેલ કાર્યક્રમો "
+-#~ "અથવા વપરાશકર્તાઓ સુરક્ષિત કરવા માટે.   \n"
+-#~ "\n"
+-#~ "સાધન આ બનાવે છે:\n"
+-#~ "પ્રકાર દબાણ ફાઈલ (te)\n"
+-#~ "ઈન્ટરફેસ ફાઈલ (if)\n"
+-#~ "ફાઈલ સંદર્ભ ફાઈલ (fc)\n"
+-#~ "શેલ સ્ક્રિપ્ટ (sh) - પોલિસી કમ્પાઈલ કરવા અને સ્થાપિત કરવા માટે વપરાય છે. "
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "પ્રવેશ '%s' જરૂરી છે"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "શુદ્ધિ કરવા માટે કાર્યક્રમ અથવા વપરાશકર્તા ભૂમિકા પસંદ કરો."
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "પોલીસિ મોડ્યુલ"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>કાર્યક્રમો</b>"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "મોડ્યુલ નામ"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "પ્રમાણભૂત આરંભ ડિમન એ init સ્ક્રિપ્ટો મારફતે બુટ કરવા પર શરૂ થતા ડિમનો છે.  સામાન્ય "
+-#~ "રીતે /etc/rc.d/init.d માં સ્ક્રિપ્ટની જરૂર પડે છે"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "આવૃત્તિ"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "પ્રમાણભૂત Init ડિમન"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "સંપાદન નિષ્ક્રિય કરો"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "ઈન્ટરનેટ સેવાઓ ડિમન એ xinetd દ્વારા શરૂ કરવામાં આવેલ ડિમનો છે"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "સંપાદન સક્રિય કરો"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "ઈન્ટરનેટ સેવાઓ ડિમન (inetd)"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "પોલિસી મોડ્યુલ લાવો"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "વેબ કાર્યક્રમો/સ્ક્રિપ્ટ (CGI) CGI સ્ક્રિપ્ટો વેબ સર્વર દ્વારા શરૂ કરવામાં આવેલ છે (અપાચે)"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "વેબ કાર્યક્રમ/સ્ક્રિપ્ટ (CGI)"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "વપરાશકર્તા કાર્યક્રમ એ કોઈપણ કાર્યક્રમ છે કે જેને તમે તે વપરાશકર્તા દ્વારા શરૂ કરીને "
+-#~ "શુદ્ધિ કરવા માંગો"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "User Application"
+-#~ msgstr "વપરાશકર્તા કાર્યક્રમ"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "અંકિત પટેલ <ankit@redhat.com>, શ્ર્વેતા કોઠારી <swkothar@redhat.com>"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>પ્રવેશ વપરાશકર્તાઓ</b>"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"આ સાધન પોલિસી ફ્રેમવર્ક બનાવવા માટે વાપરી શકાય છે, SELinux વાપરી રહેલ કાર્યક્રમો "
++"અથવા વપરાશકર્તાઓ સુરક્ષિત કરવા માટે.   \n"
++"\n"
++"સાધન આ બનાવે છે:\n"
++"પ્રકાર દબાણ ફાઈલ (te)\n"
++"ઈન્ટરફેસ ફાઈલ (if)\n"
++"ફાઈલ સંદર્ભ ફાઈલ (fc)\n"
++"શેલ સ્ક્રિપ્ટ (sh) - પોલિસી કમ્પાઈલ કરવા અને સ્થાપિત કરવા માટે વપરાય છે. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "શુદ્ધિ કરવા માટે કાર્યક્રમ અથવા વપરાશકર્તા ભૂમિકા પસંદ કરો"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>કાર્યક્રમો</b>"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "હાલનો પ્રવેશ રેકોર્ડ સુધારો."
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"પ્રમાણભૂત આરંભ ડિમન એ init સ્ક્રિપ્ટો મારફતે બુટ કરવા પર શરૂ થતા ડિમનો છે.  સામાન્ય "
++"રીતે /etc/rc.d/init.d માં સ્ક્રિપ્ટની જરૂર પડે છે"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "હાલની વપરાશકર્તા ભૂમિકાઓ"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "પ્રમાણભૂત Init ડિમન"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS સિસ્ટમ ડિમન"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "ઈન્ટરનેટ સેવાઓ ડિમન એ xinetd દ્વારા શરૂ કરવામાં આવેલ ડિમનો છે"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "ઈન્ટરનેટ સેવાઓ ડિમન (inetd)"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "આ વપરાશકર્તા મશીનમાં માત્ર ટર્મિનલ કે દૂરસ્થ પ્રવેશ મારફતે જ પ્રવેશી શકશે.  મૂળભૂત રીતે આ "
+-#~ "વપરાશકર્તાને કોઈ setuid હશે નહિં, કોઈ નેટવર્કીંગ, કોઈ su, કોઈ sudo હશે નહિં."
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"વેબ કાર્યક્રમો/સ્ક્રિપ્ટ (CGI) CGI સ્ક્રિપ્ટો વેબ સર્વર દ્વારા શરૂ કરવામાં આવેલ છે (અપાચે)"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "ન્યૂનતમ ટર્મિનલ વપરાશકર્તા ભૂમિકા"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "વેબ કાર્યક્રમ/સ્ક્રિપ્ટ (CGI)"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "આ વપરાશકર્તા મશીનમાં માત્ર X અથવા ટર્મિનલ મારફતે જ પ્રવેશ કરી શકશે.  મૂળભૂત રીતે આ "
+-#~ "વપરાશકર્તાને કોઈ setuid, કોઈ નેટવર્કીંગ, કોઈ sudo, કે કોઈ su હશે નહિં"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"વપરાશકર્તા કાર્યક્રમ એ કોઈપણ કાર્યક્રમ છે કે જેને તમે તે વપરાશકર્તા દ્વારા શરૂ કરીને શુદ્ધિ "
++"કરવા માંગો"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "ન્યૂનતમ X વિન્ડો વપરાશકર્તા ભૂમિકા"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "વપરાશકર્તા કાર્યક્રમ"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>પ્રવેશ વપરાશકર્તાઓ</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "હાલનો પ્રવેશ રેકોર્ડ સુધારો."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "હાલની વપરાશકર્તા ભૂમિકાઓ"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "પૂરેપૂરા નેટવર્કીંગ સાથેનો વપરાશકર્તા, કોઈ setuid કાર્યક્રમો પરિવહન વિના, કોઈ sudo, "
+-#~ "કોઈ su નથી."
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"આ વપરાશકર્તા મશીનમાં માત્ર ટર્મિનલ કે દૂરસ્થ પ્રવેશ મારફતે જ પ્રવેશી શકશે.  મૂળભૂત રીતે આ "
++"વપરાશકર્તાને કોઈ setuid હશે નહિં, કોઈ નેટવર્કીંગ, કોઈ su, કોઈ sudo હશે નહિં."
+-#~ msgid "User Role"
+-#~ msgstr "વપરાશકર્તા ભૂમિકા"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "ન્યૂનતમ ટર્મિનલ વપરાશકર્તા ભૂમિકા"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "પૂરેપૂરા નેટવર્કીંગ સાથેનો વપરાશકર્તા, કોઈ setuid કાર્યક્રમો પરિવહન વિના નથી, su "
+-#~ "નથી, તે રુટ સંચાલન ભૂમિકાઓમાં sudo કરી શકતું નથી"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"આ વપરાશકર્તા મશીનમાં માત્ર X અથવા ટર્મિનલ મારફતે જ પ્રવેશ કરી શકશે.  મૂળભૂત રીતે આ "
++"વપરાશકર્તાને કોઈ setuid, કોઈ નેટવર્કીંગ, કોઈ sudo, કે કોઈ su હશે નહિં"
+-#~ msgid "Admin User Role"
+-#~ msgstr "સંચાલક વપરાશકર્તા ભૂમિકા"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "ન્યૂનતમ X વિન્ડો વપરાશકર્તા ભૂમિકા"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>રુટ વપરાશકર્તાઓ</b>"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"પૂરેપૂરા નેટવર્કીંગ સાથેનો વપરાશકર્તા, કોઈ setuid કાર્યક્રમો પરિવહન વિના, કોઈ sudo, "
++"કોઈ su નથી."
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "રુટ સંચાલક વપરાશકર્તા ભૂમિકા પસંદ કરો, જો આ વપરાશકર્તા મશીનના સંચાલન માટે "
+-#~ "વાપરવામાં આવે જ્યારે રુટ તરીકે ચલાવી રહ્યા હોય.  આ વપરાશકર્તા સિસ્ટમમાં સીધો જ પ્રવેશ "
+-#~ "કરવા માટે સમર્થ હશે નહિં."
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "વપરાશકર્તા ભૂમિકા"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "રુટ સંચાલક વપરાશકર્તા ભૂમિકા"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"પૂરેપૂરા નેટવર્કીંગ સાથેનો વપરાશકર્તા, કોઈ setuid કાર્યક્રમો પરિવહન વિના નથી, su નથી, "
++"તે રુટ સંચાલન ભૂમિકાઓમાં sudo કરી શકતું નથી"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "શુદ્ધિ કરવા માટેના કાર્યક્રમ અથવા વપરાશકર્તા ભૂમિકાનું નામ દાખલ કરો"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "સંચાલક વપરાશકર્તા ભૂમિકા"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>રુટ વપરાશકર્તાઓ</b>"
+-#~ msgid "Name"
+-#~ msgstr "નામ"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"રુટ સંચાલક વપરાશકર્તા ભૂમિકા પસંદ કરો, જો આ વપરાશકર્તા મશીનના સંચાલન માટે વાપરવામાં "
++"આવે જ્યારે રુટ તરીકે ચલાવી રહ્યા હોય.  આ વપરાશકર્તા સિસ્ટમમાં સીધો જ પ્રવેશ કરવા માટે "
++"સમર્થ હશે નહિં."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "રુટ સંચાલક વપરાશકર્તા ભૂમિકા"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "શુદ્ધિ કરવા માટેના કાર્યક્રમ અથવા વપરાશકર્તા ભૂમિકાનું નામ દાખલ કરો"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "નામ"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "શુદ્ધિ કરવા માટેની એક્ઝેક્યુટેબલનો સંપૂર્ણ પાથ દાખલ કરો."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "શુદ્ધિ થયેલ કાર્યક્રમ કે વપરાશકર્તા ભૂમિકા માટે અનન્ય નામ દાખલ કરો."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "એક્ઝેક્યુટેબલ"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init સ્ક્રિપ્ટ"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "શુદ્ધિ કરવા માટેની એક્ઝેક્યુટેબલનો સંપૂર્ણ પાથ દાખલ કરો."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"શુદ્ધિ થયેલ કાર્યક્રમ શરૂ કરવા માટે વાપરવામાં આવતી init સ્ક્રિપ્ટનો આખો પાથ દાખલ કરો."
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "વપરાશકર્તા ભૂમિકાઓ પસંદ કરો કે જેને તમે વૈવિધ્યપૂર્ણ બનાવવા માંગો"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "શુદ્ધિ થયેલ કાર્યક્રમ કે વપરાશકર્તા ભૂમિકા માટે અનન્ય નામ દાખલ કરો."
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "વપરાશકર્તા ભૂમિકાઓ પસંદ કરો કે જે કાર્યક્રમ ડોમેઈનોમાં પરિવહન કરશે."
+-#~ msgid "Executable"
+-#~ msgstr "એક્ઝેક્યુટેબલ"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "વધારાના ડોમેઈનો પસંદ કરો કે જેમાં આ વપરાશકર્તા ભૂમિકા પરિવહન કરશે"
+-#~ msgid "Init script"
+-#~ msgstr "Init સ્ક્રિપ્ટ"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"કાર્યક્રમ ડોમેઈનો પસંદ કરો કે જેને તમે પરિવહન કરવા માટે આ વપરાશકર્તા ભૂમિકા આપવા ઈચ્છો."
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "શુદ્ધિ થયેલ કાર્યક્રમ શરૂ કરવા માટે વાપરવામાં આવતી init સ્ક્રિપ્ટનો આખો પાથ દાખલ કરો."
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "વપરાશકર્તા ભૂમિકાઓ પસંદ કરો કે જે આ ડોમેઈનમાં પરિવહન કરશે"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "વધારાના ડોમેઈનો પસંદ કરો કે જેને આ વપરાશકર્તા ભૂમિકા સંચાલિત કરશે"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "ડોમેઈનો પસંદ કરો કે જેને તમે આ વપરાશકર્તા મારફતે સંચાલિત કરવા માંગો."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "આ વપરાશકર્તા માટે વધારાની ભૂમિકાઓ પસંદ કરો"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "નેટવર્ક પોર્ટો દાખલ કરો કે જેને કાર્યક્રમ/વપરાશકર્તા ભૂમિકા સાંભળે છે"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP પોર્ટો</b>"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "વપરાશકર્તા ભૂમિકાઓ પસંદ કરો કે જેને તમે વૈવિધ્યપૂર્ણ બનાવવા માંગો"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"શુદ્ધિ થયેલ કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને કોઈપણ udp પોર્ટ સાથે બંધાવા માટે પરવાનગી આપે છે"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "વપરાશકર્તા ભૂમિકાઓ પસંદ કરો કે જે કાર્યક્રમ ડોમેઈનોમાં પરિવહન કરશે."
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "બધું"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "વધારાના ડોમેઈનો પસંદ કરો કે જેમાં આ વપરાશકર્તા ભૂમિકા પરિવહન કરશે"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને bindresvport ને 0 સાથે કોલ કરવા માટે પરવાનગી આપે છે. "
++"પોર્ટ 600-1024 સાધે બાંધી રહ્યા છીએ"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "કાર્યક્રમ ડોમેઈનો પસંદ કરો કે જેને તમે પરિવહન કરવા માટે આ વપરાશકર્તા ભૂમિકા આપવા "
+-#~ "ઈચ્છો."
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "વપરાશકર્તા ભૂમિકાઓ પસંદ કરો કે જે આ ડોમેઈનમાં પરિવહન કરશે"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા ભૂમિકા "
++"જોડાય. ઉદાહરણ: 612, 650-660"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "વધારાના ડોમેઈનો પસંદ કરો કે જેને આ વપરાશકર્તા ભૂમિકા સંચાલિત કરશે"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "બિનઆરક્ષિત પોર્ટો (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "પોર્ટો પસંદ કરો"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "ડોમેઈનો પસંદ કરો કે જેને તમે આ વપરાશકર્તા મારફતે સંચાલિત કરવા માંગો."
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને કોઈપણ udp પોર્ટો > 1024 સાથે બંધાવા માટે પરવાનગી આપે છે"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "આ વપરાશકર્તા માટે વધારાની ભૂમિકાઓ પસંદ કરો"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP પોર્ટો</b>"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "નેટવર્ક પોર્ટો દાખલ કરો કે જેને કાર્યક્રમ/વપરાશકર્તા ભૂમિકા સાંભળે છે"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા ભૂમિકા "
++"જોડાય"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP પોર્ટો</b>"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા ભૂમિકા "
++"જોડાય. ઉદાહરણ: 612, 650-660"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "શુદ્ધિ થયેલ કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને કોઈપણ udp પોર્ટ સાથે બંધાવા માટે પરવાનગી આપે "
+-#~ "છે"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા જોડાય. "
++"ઉદાહરણ: 612, 650-660"
+-#~ msgid "All"
+-#~ msgstr "બધું"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "સામાન્ય કાર્યક્રમ વર્તનો પસંદ કરો"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog સંદેશાઓ લખે છે\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp માં કામચલાઉ ફાઈલો બનાવે/જાળવે છે"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "સત્તાધિકરણ માટે Pam વાપરે છે"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch અથવા getpw* કોલ વાપરે છે"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus વાપરે છે"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "audit સંદેશાઓ મોકલે છે"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "ટર્મિનલ સાથે સંપર્ક કરે છે"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ઈમેઈલ મોકલે છે"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "ફાઈલો/ડિરેક્ટરીઓ પસંદ કરો કે જેની વ્યવસ્થા કાર્યક્રમ કરે છે"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને bindresvport ને 0 સાથે કોલ કરવા માટે પરવાનગી આપે છે. "
+-#~ "પોર્ટ 600-1024 સાધે બાંધી રહ્યા છીએ"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"ફાઈલો/ડિરેક્ટરીઓ ઉમેરો કે જેની આ કાર્યક્રમને \"લખવાની\" જરૂર પડે. Pid ફાઈલો, લોગ "
++"ફાઈલો, /var/lib ફાઈલો ..."
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "બુલિયનો પસંદ કરો કે જેનો આ કાર્યક્રમ વપરાશ કરે છે"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "આ શુદ્ધિ થયેલ કાર્યક્રમ/વપરાશકર્તા માટે વપરાયેલ બુલિયનો ઉમેરો/દૂર કરો"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "માં પોલીસિ બનાવવા માટે ડિરેક્ટરી પસંદ કરો"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "પોલિસી ડિરેક્ટરી"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "પોલિસી ફાઈલો બનાવાયેલ"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા "
+-#~ "ભૂમિકા જોડાય. ઉદાહરણ: 612, 650-660"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"આ સાધન નીચેનું બનાવશે: \n"
++"Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
++"કમ્પાઈલ/સ્થાપન કરવા માટે અને ફાઈલો/ડિરેક્ટરીઓ પુનઃલેબલ કરવા માટે શેલ સ્ક્રિપ્ટ ચલાવો.  હવે "
++"તમે મશીનને પરવાનગીય સ્થિતિમં મૂકી શકો છો (setenforce 0). \n"
++"avc સંદેશાઓ પેદા કરવા માટે કાર્યક્રમ ચલાવો/પુનઃશરૂ કરો.\n"
++"te ફાઈલ માટે વધારાના નિયમો બનાવવા માટે audit2allow -R વાપરો.\n"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "બિનઆરક્ષિત પોર્ટો (>1024)"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"આ સાધન નીચેનું બનાવશે: \n"
++"Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
++"કમ્પાઈલ/સ્થાપન કરવા માટે અને ફાઈલો/ડિરેક્ટરીઓ પુનઃલેબલ કરવા માટે શેલ સ્ક્રિપ્ટ ચલાવો.  હવે "
++"તમે મશીનને પરવાનગીય સ્થિતિમં મૂકી શકો છો (setenforce 0). \n"
++"avc સંદેશાઓ પેદા કરવા માટે કાર્યક્રમ ચલાવો/પુનઃશરૂ કરો.\n"
++"te ફાઈલ માટે વધારાના નિયમો બનાવવા માટે audit2allow -R વાપરો.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "બુલિયનો સંવાદ ઉમેરો"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "બુલિયન નામ"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "ભૂમિકા"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "હાલનો વપરાશકર્તા (_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "કાર્યક્રમ"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ડિરેક્ટરી હોવી જ જોઈએ"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "તમારે વપરાશકર્તા પસંદ કરવો જ પડશે"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "શુદ્ધિ કરવા માટે એક્ઝેક્યુટેબલ ફાઈલ પસંદ કરો."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "શુદ્ધિ કરવા માટે init સ્ક્રિપ્ટ ફાઈલ પસંદ કરો."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "ફાઈલ(ઓ) પસંદ કરો કે જેને શુદ્ધિ કરેલ કાર્યક્રમ બનાવે છે અથવા લખે છે"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "ડિરેક્ટરી(ઓ) પસંદ કરો કે જે શુદ્ધિ થયેલ કાર્યક્રમની માલિકીની છે અથવા જેમા લખે છે"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "પોલિસી ફાઈલો બનાવવા માટે ડિરેક્ટરી પસંદ કરો"
+-#~ msgid "Select Ports"
+-#~ msgstr "પોર્ટો પસંદ કરો"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"પ્રકાર %s_t વર્તમાન પોલીસિમાં પહેલાથી જ વ્યાખ્યાયિત છે.\n"
++"શું તમે ચાલુ રાખવા માંગો છો?"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને કોઈપણ udp પોર્ટો > 1024 સાથે બંધાવા માટે પરવાનગી આપે છે"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "નામની ખાતરી કરો"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP પોર્ટો</b>"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"મોડ્યુલ %s.pp પહેલાથી જ વર્તમાન પોલીસિમાં લોડ થયેલ છે.\n"
++"શું તમે ચાલુ રાખવા માંગો છો?"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા "
+-#~ "ભૂમિકા જોડાય."
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "તમારે નામ દાખલ કરવું જ પડશે"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા "
+-#~ "ભૂમિકા જોડાય. ઉદાહરણ: 612, 650-660"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "તમારે એક્ઝેક્યુટેબલ દાખલ કરવી જ પડશે"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "અલ્પવિરામથી અલગ પડેલ udp પોર્ટોની યાદી દાખલ કરો કે જેને આ કાર્યક્રમ/વપરાશકર્તા "
+-#~ "જોડાય. ઉદાહરણ: 612, 650-660"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux રૂપરેખાંકિત કરો"
+-#~ msgid "Select common application traits"
+-#~ msgstr "સામાન્ય કાર્યક્રમ વર્તનો પસંદ કરો"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "પોર્ટો નંબરો કે 1 થી %d સુધીના વિસ્તારના નંબરો હોવા જ જોઈએ "
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog સંદેશાઓ લખે છે\t"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "તમારે તમારી શુદ્ધિ થયેલ પ્રક્રિયા/વપરાશકર્તા માટે નામ દાખલ કરવું જ પડશે"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp માં કામચલાઉ ફાઈલો બનાવે/જાળવે છે"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER પ્રકારો માન્ય એક્ઝેક્યુટેબલો નથી"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "સત્તાધિકરણ માટે Pam વાપરે છે"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "માત્ર DAEMON કાર્યક્રમો init સ્ક્રિપ્ટ વાપરી શકે"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch અથવા getpw* કોલ વાપરે છે"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog એ બુલિયન કિંમત હોવો જ જોઈએ "
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus વાપરે છે"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER પ્રકારો આપોઆપ tmp પ્રકાર મેળવે છે"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "audit સંદેશાઓ મોકલે છે"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "તમારી શુદ્ધિ પ્રક્રિયા માટે તમારે એક્ઝેક્યુટેબલ પાથ દાખલ કરવો જ પડશે"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "ટર્મિનલ સાથે સંપર્ક કરે છે"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "પ્રકાર દબાણ ફાઈલ"
+-#~ msgid "Sends email"
+-#~ msgstr "ઈમેઈલ મોકલે છે"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ઈન્ટરફેસ ફાઈલ"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "ફાઈલો/ડિરેક્ટરીઓ પસંદ કરો કે જેની વ્યવસ્થા કાર્યક્રમ કરે છે"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ફાઈલ સંદર્ભો ફાઈલ"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "ફાઈલો/ડિરેક્ટરીઓ ઉમેરો કે જેની આ કાર્યક્રમને \"લખવાની\" જરૂર પડે. Pid ફાઈલો, લોગ "
+-#~ "ફાઈલો, /var/lib ફાઈલો ..."
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "સેટઅપ સ્ક્રિપ્ટ"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "બુલિયનો પસંદ કરો કે જેનો આ કાર્યક્રમ વપરાશ કરે છે"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "નેટવર્ક પોર્ટ"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "આ શુદ્ધિ થયેલ કાર્યક્રમ/વપરાશકર્તા માટે વપરાયેલ બુલિયનો ઉમેરો/દૂર કરો"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux પોર્ટ\n"
++"પ્રકાર"
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "માં પોલીસિ બનાવવા માટે ડિરેક્ટરી પસંદ કરો"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "પ્રોટોકોલ"
+-#~ msgid "Policy Directory"
+-#~ msgstr "પોલિસી ડિરેક્ટરી"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"સ્તર"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "પોલિસી ફાઈલો બનાવાયેલ"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "પોર્ટ"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "પોર્ટ નંબર \"%s\" એ માન્ય નથી.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "યાદી દેખાવ"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "જૂથ દેખાવ"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux સેવા સુરક્ષા"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "સંચાલક"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "ડિમનોને મૂળફાઈલો / માં લખવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "બધા ડિમનોને બિન ફાળવેલ ttys વાપરવા માટેની ક્ષમતા આપો"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "વપરાશકર્તા વિશેષાધિકારો"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "આ સાધન નીચેનું બનાવશે: \n"
+-#~ "Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
+-#~ "કમ્પાઈલ/સ્થાપન કરવા માટે અને ફાઈલો/ડિરેક્ટરીઓ પુનઃલેબલ કરવા માટે શેલ સ્ક્રિપ્ટ ચલાવો.  "
+-#~ "હવે તમે મશીનને પરવાનગીય સ્થિતિમં મૂકી શકો છો (setenforce 0). \n"
+-#~ "avc સંદેશાઓ પેદા કરવા માટે કાર્યક્રમ ચલાવો/પુનઃશરૂ કરો.\n"
+-#~ "te ફાઈલ માટે વધારાના નિયમો બનાવવા માટે audit2allow -R વાપરો.\n"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા "
++"માટે પરવાનગી આપો"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "આ સાધન નીચેનું બનાવશે: \n"
+-#~ "Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
+-#~ "કમ્પાઈલ/સ્થાપન કરવા માટે અને ફાઈલો/ડિરેક્ટરીઓ પુનઃલેબલ કરવા માટે શેલ સ્ક્રિપ્ટ ચલાવો.  "
+-#~ "હવે તમે મશીનને પરવાનગીય સ્થિતિમં મૂકી શકો છો (setenforce 0). \n"
+-#~ "avc સંદેશાઓ પેદા કરવા માટે કાર્યક્રમ ચલાવો/પુનઃશરૂ કરો.\n"
+-#~ "te ફાઈલ માટે વધારાના નિયમો બનાવવા માટે audit2allow -R વાપરો.\n"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"મહેમાન SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp ડિરેક્ટરીમાં ફાઈલો "
++"ચલાવવાની પરવાનગી આપો"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "બુલિયનો સંવાદ ઉમેરો"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "મેમરી સુરક્ષા"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java એક્ઝેક્યુટેબલ સ્ટેકને પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "માઉન્ટ"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "mount ને કોઈપણ ફાઈલ માઉન્ટ કરવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "mount ને કોઈપણ ડિરેક્ટરી માઉન્ટ કરવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer એક્ઝેક્યુટેબલ સ્ટેકને પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh ને ssh-keysign ચલાવવા માટે પરવાનગી આપો"
+-#~ msgid "Boolean Name"
+-#~ msgstr "બુલિયન નામ"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"સ્ટાફ SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા માટે "
++"પરવાનગી આપો"
+-#~ msgid "Role"
+-#~ msgstr "ભૂમિકા"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux વપરાશકર્તા ખાતાઓને તેની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા માટે "
++"પરવાનગી આપો"
+-#~ msgid "Existing_User"
+-#~ msgstr "હાલનો વપરાશકર્તા (_U)"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"unconfined SELinux વપરાશકર્તા ખાતાઓને તેની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા "
++"માટે પરવાનગી આપો"
+-#~ msgid "Application"
+-#~ msgstr "કાર્યક્રમ"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "નેટવર્ક રૂપરેખાંકન"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "લેબલ વિનાના પેકેટોને નેટવર્ક પર વહેવા માટે પરવાનગી આપો"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s ડિરેક્ટરી હોવી જ જોઈએ"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"SELinux વપરાશકર્તા ખાતાઓને તેની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા માટે "
++"વપરાશકર્તાને પરવાનગી આપો"
+-#~ msgid "You must select a user"
+-#~ msgstr "તમારે વપરાશકર્તા પસંદ કરવો જ પડશે"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "unconfined dyntrans ને unconfined_execmem ની પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "ડેટાબેઝો"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "વપરાશકર્તાને mysql સોકેટ સાથે જોડાવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "વપરાશકર્તાને postgres સોકેટ સાથે જોડાવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "ક્લાઈન્ટોને X વહેંચાયેલ મેમરીમાં લખવા માટે પરવાનગી આપો"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "શુદ્ધિ કરવા માટે એક્ઝેક્યુટેબલ ફાઈલ પસંદ કરો."
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા "
++"માટે પરવાનગી આપો"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "શુદ્ધિ કરવા માટે init સ્ક્રિપ્ટ ફાઈલ પસંદ કરો."
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "ડિમનોને NIS સાથે ચલાવવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "વેબ કાર્યક્રમો"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "પરિવહન સ્ટાફ SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈનમાં"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "પરિવહન sysadm SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈન"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "પરિવહન વપરાશકર્તા SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈન"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "પરિવહન xguest SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈન"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "સ્ટાફ વેબ બ્રાઉઝરોને ઘર ડિરેક્ટરીઓમાં લખવાની પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "SELinux સુરક્ષાને amanda માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "SELinux સુરક્ષાને amavis માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "SELinux સુરક્ષાને apmd ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "SELinux સુરક્ષાને arpwatch ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "SELinux સુરક્ષાને auditd ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "SELinux સુરક્ષાને automount ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "SELinux સુરક્ષાને avahi માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "SELinux સુરક્ષાને bluetooth ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "SELinux સુરક્ષાને canna ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "SELinux સુરક્ષાને cardmgr ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "SELinux સુરક્ષાને ક્લસ્ટર સર્વર માટે નિષ્ક્રિય કરો"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "ફાઈલ(ઓ) પસંદ કરો કે જેને શુદ્ધિ કરેલ કાર્યક્રમ બનાવે છે અથવા લખે છે"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord ને વિવિધ સમાવિષ્ટ વાંચવા માટે પરવાનગી આપો. nfs, samba, દૂર કરી શકાય તેવા "
++"ઉપકરણો, વપરાશકર્તા કામચલાઉ અને અવિશ્વાસુ સમાવિષ્ટ ફાઈલો"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "ડિરેક્ટરી(ઓ) પસંદ કરો કે જે શુદ્ધિ થયેલ કાર્યક્રમની માલિકીની છે અથવા જેમા લખે છે"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "SELinux સુરક્ષાને ciped ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "SELinux સુરક્ષાને clamd ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "SELinux સુરક્ષાને clamscan માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "SELinux સુરક્ષાને clvmd માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "SELinux સુરક્ષાને comsat ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "SELinux સુરક્ષાને courier ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "SELinux સુરક્ષાને cpucontrol ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "SELinux સુરક્ષાને cpuspeed ડિમન માટે નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "છાપન"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd બેકેન્ડ સર્વર માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t ને ડિમનો સીધા જ શરૂ કરવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "ઈવોલ્યુશન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "રમતો"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "રમતો માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "વેબ બ્રાઉઝરો માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "થન્ડરબર્ડ માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "સુગમતા"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "પોલિસી ફાઈલો બનાવવા માટે ડિરેક્ટરી પસંદ કરો"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"વસ્તુઓનું સંપાદન કરો નહિં કે જેને આપણે જાણતા હોઈએ કે ભાંગેલ છે પરંતુ જેઓને સુરક્ષા જોખમો નથી"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "પ્રકાર %s_t વર્તમાન પોલીસિમાં પહેલાથી જ વ્યાખ્યાયિત છે.\n"
+-#~ "શું તમે ચાલુ રાખવા માંગો છો?"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "hplip ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD સેવા"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd બાળ ડિમનો માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "કર્બરોઝ"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "ઈવોલ્યુશન અને થન્ડરબર્ડને વપરાશકર્તા ફાઈલો વાંચવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "મોઝિલ્લા બ્રાઉઝરને વપરાશકર્તા ફાઈલો વાંચવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "નામ સેવા"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "સામ્બા"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "pppd ને નિયમિત વપરાશકર્તા તરીકે ચલાવવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readhead માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "Verify Name"
+-#~ msgstr "નામની ખાતરી કરો"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"કાર્યક્રમોને બિન-પ્રમાણભૂત સ્થાનોએ રહેલ ફાઈલો વાંચવા માટે પરવાનગી આપો (default_t)"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "મોડ્યુલ %s.pp પહેલાથી જ વર્તમાન પોલીસિમાં લોડ થયેલ છે.\n"
+-#~ "શું તમે ચાલુ રાખવા માંગો છો?"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "You must enter a name"
+-#~ msgstr "તમારે નામ દાખલ કરવું જ પડશે"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "તમારે એક્ઝેક્યુટેબલ દાખલ કરવી જ પડશે"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux રૂપરેખાંકિત કરો"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "પોર્ટો નંબરો કે 1 થી %d સુધીના વિસ્તારના નંબરો હોવા જ જોઈએ"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "તમારે તમારી શુદ્ધિ થયેલ પ્રક્રિયા/વપરાશકર્તા માટે નામ દાખલ કરવું જ પડશે"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER પ્રકારો માન્ય એક્ઝેક્યુટેબલો નથી"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "માત્ર DAEMON કાર્યક્રમો init સ્ક્રિપ્ટ વાપરી શકે"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog એ બુલિયન કિંમત હોવો જ જોઈએ "
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER પ્રકારો આપોઆપ tmp પ્રકાર મેળવે છે"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh ને ડિમન તરીકે ચલાવવાની જગ્યાએ inetd માંથી ચલાવવા માટે પરવાનગી આપો"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "તમારી શુદ્ધિ પ્રક્રિયા માટે તમારે એક્ઝેક્યુટેબલ પાથ દાખલ કરવો જ પડશે"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba ને nfs ડિરેક્ટરીઓ વહેંચવા માટે પરવાનગી આપો"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "પ્રકાર દબાણ ફાઈલ"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL સત્તાધિકરણ સર્વર"
+-#~ msgid "Interface file"
+-#~ msgstr "ઈન્ટરફેસ ફાઈલ"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl સત્તાધિકરણ સર્વરને /etc/shadow વાંચવા માટે પરવાનગી આપો"
+-#~ msgid "File Contexts file"
+-#~ msgstr "ફાઈલ સંદર્ભો ફાઈલ"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows સર્વરને મેમરી વિસ્તાર એક્ઝેક્યુટેબલ અને લખી શકાય તેવું એમ બંને સાથે મેપ કરવા માટે "
++"પરવાનગી આપો"
+-#~ msgid "Setup Script"
+-#~ msgstr "સેટઅપ સ્ક્રિપ્ટ"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo અને su effected માં રૂપાંતરણને પરવાનગી આપશો નહિં"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "કોઈપણ પ્રક્રિયાઓને કર્નલ મોડ્યુલો લાવવા માટે પરવાનગી આપશો નહિં"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "કોઈપણ પ્રક્રિયાઓને કર્નલ SELinux પોલિસી સુધારવા માટે પરવાનગી આપશો નહિં"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "સ્પામ સુરક્ષા"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd ને ઘર ડિરેક્ટરીઓ વાપરવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assasin ડિમન નેટવર્ક વપરાશને પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid ડિમનને નેટવર્ક સાથે જોડાવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh પ્રવેશોને sysadm_r:sysadm_t તરીકે પરવાનગી આપો"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux પોર્ટ\n"
+-#~ "પ્રકાર"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r વપરાશકર્તાઓને sysadm ઘર ડિરેક્ટરીમાં શોધવા અને ફાઈલો વાંચવા માટે પરવાનગી આપો "
++"(જેમ કે ~/.bashrc)"
+-#~ msgid "Protocol"
+-#~ msgstr "પ્રોટોકોલ"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "સાર્વત્રિક SSL ટનલ"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel ડિમનને એકલું ચલાવવા માટે પરવાનગી આપો, xinetd ની બહાર"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "સિસ્ટમ cron ક્રિયાઓ માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftp ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "સ્તર"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd ને unconfined ચલાવવા માટે પરવાનગી આપો, કોઈપણ સેવાઓનો સમાવેશ કરીને કે જેને તે "
++"શરૂ કરે છે અને જેની પાસે ડોમેઈન પરિવહન બાહ્ય રીતે વ્યાખ્યાયિત થયેલ નહિં હોય"
+-#~ msgid "Port"
+-#~ msgstr "પોર્ટ"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc સ્ક્રિપ્ટોને unconfined ચલાવવા માટે પરવાનગી આપો, rc સ્ક્રિપ્ટ દ્વારા શરૂ થયેલ કોઈપણ "
++"ડિમનનો સમાવેશ કરીને કે જેને પરિવહન બાહ્ય રીતે વ્યાખ્યાયિત થયેલ નહિં હોય"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "પોર્ટ નંબર \"%s\" એ માન્ય નથી.  0 < PORT_NUMBER < 65536 "
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm ને unconfined ચલાવવા માટે પરવાનગી આપો"
+-#~ msgid "List View"
+-#~ msgstr "યાદી દેખાવ"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"hotplug અને insmod જેવી વિશેષાધિકારીત ઉપયોગીતાઓને unconfined ચલાવવા માટે પરવાનગી "
++"આપો"
+-#~ msgid "Group View"
+-#~ msgstr "જૂથ દેખાવ"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "utimed ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux સેવા સુરક્ષા"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r ને sysadm_r સુધી su, sudo, અથવા userhelper મારફતે પહોંચવા માટે પરવાનગી "
++"આપો. નહિંતર, માત્ર staff_r આવું કરી શકશે"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "વપરાશકર્તાઓને mount આદેશ ચલાવવા માટે પરવાનગી આપો"
+-#~ msgid "Admin"
+-#~ msgstr "સંચાલક"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"નિયમિત વપરાશકર્તાઓને સીધો માઉસ વપરાશની પરવાનગી આપો (માત્ર X સર્વરને પરવાનગી આપો)"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "ડિમનોને મૂળફાઈલો / માં લખવા માટે પરવાનગી આપો"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "વપરાશકર્તાઓને dmesg આદેશ ચલાવવા માટે પરવાનગી આપો"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "બધા ડિમનોને બિન ફાળવેલ ttys વાપરવા માટેની ક્ષમતા આપો"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"વપરાશકર્તાઓને નેટવર્ક ઈન્ટરફેસો નિયંત્રિત કરવા માટે પરવાનગી આપો (USERCTL=true ની પણ "
++"જરૂર છે)"
+-#~ msgid "User Privs"
+-#~ msgstr "વપરાશકર્તા વિશેષાધિકારો"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "સામાન્ય વપરાશકર્તાને ping ચલાવવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "વપરાશકર્તાને r/w noextattrfile માટે પરવાનગી આપો (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "વપરાકર્તાઓને rw usb ઉપકરણોની પરવાનગી આપો"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો એક્ઝેક્યુટ "
+-#~ "કરવા માટે પરવાનગી આપો"
++#: ../gui/selinux.tbl:216
++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 ""
++"વપરાશકર્તાઓને TCP સર્વરો ચલાવવા માટે પરવાનગી આપો (પોર્ટો સાથે બાંધો અને એક જ ડોમેઈન "
++"અને બાહ્ય વપરાશકર્તાઓમાંથી જોડાણ સ્વીકારો)  આને નિષ્ક્રિય કરવાનું FTP પેસીવ સ્થિતિને દબાણ "
++"કરે છે અને અન્ય પ્રોટોકોલોને પણ બદલશે"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "વપરાશકર્તાઓને ttyfiles ની પરિસ્થિતિ આપવા માટે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm પ્રવેશોને sysadm_r:sysadm_t તરીકે પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen ને ભૌતિક ડિસ્ક ઉપકરણ પર વાંચવા/લખવાની પરવાનગી આપો"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen કન્સોલ માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS પાસવર્ડ ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS પરિવહન ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "મહેમાન SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp ડિરેક્ટરીમાં ફાઈલો "
+-#~ "એક્ઝેક્યુટ કરવાની પરવાનગી આપો"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm વપરાશકર્તાને બિનવિશેષાધિકારી વપરાશકર્તાઓ ઘર ડિરેક્ટરીઓની વ્યવસ્થા "
++"કરવા માટે પરવાનગી આપો"
+-#~ msgid "Memory Protection"
+-#~ msgstr "મેમરી સુરક્ષા"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm વપરાશકર્તાને બિનવિશેષાધિકારીત વપરાશકર્તાઓ ઘર ડિરેક્ટરીઓ વાંચવા માટે "
++"પરવાનગી આપો"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "java એક્ઝેક્યુટેબલ સ્ટેકને પરવાનગી આપો"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "શું તમે ખરેખર %s '%s' કાઢી નાંખવા માંગો છો?"
+-#~ msgid "Mount"
+-#~ msgstr "માઉન્ટ"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s કાઢી નાંખો"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "mount ને કોઈપણ ફાઈલ માઉન્ટ કરવા માટે પરવાનગી આપો"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s ઉમેરો"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "mount ને કોઈપણ ડિરેક્ટરી માઉન્ટ કરવા માટે પરવાનગી આપો"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s સુધારો"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer એક્ઝેક્યુટેબલ સ્ટેકને પરવાનગી આપો"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "છૂટ આપનારું"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "દબાણ કરવુ"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh ને ssh-keysign ચલાવવા માટે પરવાનગી આપો"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Disabled"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "સ્ટાફ SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા "
+-#~ "માટે પરવાનગી આપો"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "પરિસ્થિતિ"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux વપરાશકર્તા ખાતાઓને તેની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા "
+-#~ "માટે પરવાનગી આપો"
++#: ../gui/statusPage.py:133
++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 ""
++"પોલિસી પ્રકાર બદલવાનું આગળના બુટ પર વર્તમાન ફાઈલ સિસ્ટમને પુનઃલેબલ કરવાનું કારણ આપી "
++"શકશે. પુનઃલેબલીંગ કરવાનું ફાઈલ સિસ્ટમના માપ પર આધાર રાખીને લાંબો સમય લે છે.  શું તમે ચાલુ "
++"રાખવા માંગો છો?"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "unconfined SELinux વપરાશકર્તા ખાતાઓને તેની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો "
+-#~ "ચલાવવા માટે પરવાનગી આપો"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux નિષ્ક્રિયકૃતમાં બદલવા માટે રીબુટ જરૂરી છે.  એ આગ્રહણીય નથી.  જો તમે પછીથી "
++"SELinux ને પાછું ચાલુ કરવાનું નક્કી કરો, તો સિસ્ટમને પુનઃલેબલ કરવાની જરૂર રહેશે.  જો તમે "
++"ખાલી એ જોવા માંગો કે શું SELinux એ તમારી સિસ્ટમ પર સમસ્યા સર્જી રહી છે, તો તમે "
++"પરવાનગીય સ્થિતિમાં જઈ શકશો કે જે માત્ર ભૂલો જ લોગ કરશે અને SELinux પોલિસીને દબાણ કરશે "
++"નહિં. પરવાનગીય સ્થિતિને રીબુટ કરવાની જરૂર રહેતી નથી    શું તમે ચાલુ રાખવા માંગો છો?"
+-#~ msgid "Network Configuration"
+-#~ msgstr "નેટવર્ક રૂપરેખાંકન"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux સક્રિયકૃતમાં બદલવાનું આગળના બુટ પર વર્તમાન ફાઈલ સિસ્ટમને પુનઃલેબલ કરવાનું કારણ "
++"આપી શકશે. પુનઃલેબલીંગ કરવાનું ફાઈલ સિસ્ટમના માપ પર આધાર રાખીને લાંબો સમય લે છે.  શું તમે "
++"ચાલુ રાખવા માંગો છો?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "લેબલ વિનાના પેકેટોને નેટવર્ક પર વહેવા માટે પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "SELinux વપરાશકર્તા ખાતાઓને તેની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા માટે "
+-#~ "પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux પ્રવેશ મેપીંગ ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux નેટવર્ક પોર્ટો ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux પ્રકાર"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "unconfined dyntrans ને unconfined_execmem ની પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"સ્તર"
+-#~ msgid "Databases"
+-#~ msgstr "ડેટાબેઝો"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "ફાઈલ સ્પષ્ટીકરણ"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ફાઈલ પ્રકાર"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "વપરાશકર્તાને mysql સોકેટ સાથે જોડાવા માટે પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"બધી ફાઈલો\n"
++"નિયમિત ફાઈલ\n"
++"ડિરેક્ટરી\n"
++"અક્ષર ઉપકરણ\n"
++"બ્લોક ઉપકરણ\n"
++"સોકેટ\n"
++"સાંકેતિક કડી\n"
++"નામવાળું પાઈપ\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux વપરાશકર્તા ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux સંચાલન"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "ગુણધર્મો (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "કાઢો (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "વ્યવસ્થાપન ઓબ્જેક્ટ પસંદ કરો"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>પસંદ કરો:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "સિસ્ટમ મૂળભૂત દબાણ સ્થિતિ"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "વપરાશકર્તાને postgres સોકેટ સાથે જોડાવા માટે પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"નિષ્ક્રિય થયેલ\n"
++"છૂટ આપનારુ\n"
++"દબાણ કરવુ\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "વર્તમાન દબાણ સ્થિતિ"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "સિસ્ટમ મૂળભૂત પોલિસી પ્રકાર: "
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"આગળના રીબુટ પર તમે શું વર્તમાન ફાઈલ સિસ્ટમને પુનઃલેબલ કરવા ઈચ્છો છો તે પસંદ કરો.  પુનઃલેબલ "
++"કરવાનું લાંબો સમય લઈ શકે છે, સિસ્ટમના માપ પર આધાર રાખીને.  જો તમે પોલિસી પ્રકારો બદલી "
++"રહ્યા હોય અથવા દબાણ પૂર્વક નિષ્ક્રિય થયેલ હોય, તો પુનઃલેબલ જરૂરી છે."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "આગળના પુનઃબુટ પર પુનઃલેબલ."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "લેબલ૩૭"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "બુલિયન સુયોજનને સિસ્ટમ મૂળભૂતમાં ઉલટાવો"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "વૈવિધ્યપૂર્ણ બનાવેલ અને બધા બુલિયનો વચ્ચે ફેરબદલી કરો"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "બુલિયન લોકડાઉન વિઝાર્ડને ચલાવો"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "લોકડાઉન..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "ગાળક"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "લેબલ૫૦"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "ફાઈલ સંદર્ભ ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "ફાઈલ સંદર્ભ સુધારો"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "ફાઈલ સંદર્ભ કાઢો"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "બધા અને વૈવિધ્યપૂર્ણ બનાવેલ ફાઈલ સંદર્ભ વચ્ચે બદલો"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "લેબલ૩૮"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux વપરાશકર્તા મેપીંગ ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux વપરાશકર્તા માપન સુધારો"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux વપરાશકર્તા માપન કાઢો"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "લેબલ૩૯"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "વપરાશકર્તાને ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "વપરાશકર્તાને બદલો"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "વપરાશકર્તાને કાઢી નાંખો"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "લેબલ૪૧"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "ભાષાંતર ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "ભાષાંતર સુધારો"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "ભાષાંતર કાઢો"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "નેટવર્ક પોર્ટ ઉમેરો"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "નેટવર્ક પોર્ટમાં ફેરફાર કરો"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "નેટવર્ક પોર્ટ કાઢો"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "વૈવિધ્યપૂર્ણ બનાવેલ અને બધા પોર્ટ વચ્ચે બદલો"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "લેબલ૪૨"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "નવું પોલિસી મોડ્યુલ બનાવો"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "પોલિસી મોડ્યુલ લાવો"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "લાવી શકાય તેવું પોલિસી મોડ્યુલ દૂર કરો"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "ક્લાઈન્ટોને X વહેંચાયેલ મેમરીમાં લખવા માટે પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"વધારાના સંપાદન નિયમો સક્રિય/નિષ્ક્રિય કરો, કે જેઓ સામાન્ય રીતે લોગ ફાઈલોમાં અહેવાલ "
++"અપાયેલ નહિં હોય."
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux વપરાશકર્તા ખાતાઓને તેમની ઘર ડિરેક્ટરી અથવા /tmp માં ફાઈલો ચલાવવા "
+-#~ "માટે પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "લેબલ૪૪"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "છૂટ અપાય એવુ મેળવવા માટે પ્રક્રિયા સ્થિતિને બદલો."
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "ડિમનોને NIS સાથે ચલાવવા માટે પરવાનગી આપો"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "દબાણ કરવા મેળવવા માટે પ્રક્રિયાને બદલો"
+-#~ msgid "Web Applications"
+-#~ msgstr "વેબ કાર્યક્રમો"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "પ્રક્રિયા ડોમેઇન"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "પરિવહન સ્ટાફ SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈનમાં"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "પરિવહન sysadm SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈન"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "પરિવહન વપરાશકર્તા SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈન"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "પરિવહન xguest SELinux વપરાશકર્તાથી વેબ બ્રાઉઝર ડોમેઈન"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "સ્ટાફ વેબ બ્રાઉઝરોને ઘર ડિરેક્ટરીઓમાં લખવાની પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "SELinux સુરક્ષાને amanda માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "SELinux સુરક્ષાને amavis માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "SELinux સુરક્ષાને apmd ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "SELinux સુરક્ષાને arpwatch ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "SELinux સુરક્ષાને auditd ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "SELinux સુરક્ષાને automount ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "SELinux સુરક્ષાને avahi માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "SELinux સુરક્ષાને bluetooth ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "SELinux સુરક્ષાને canna ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "SELinux સુરક્ષાને cardmgr ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "SELinux સુરક્ષાને ક્લસ્ટર સર્વર માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "cdrecord ને વિવિધ સમાવિષ્ટ વાંચવા માટે પરવાનગી આપો. nfs, samba, દૂર કરી શકાય "
+-#~ "તેવા ઉપકરણો, વપરાશકર્તા કામચલાઉ અને અવિશ્વાસુ સમાવિષ્ટ ફાઈલો"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "SELinux સુરક્ષાને ciped ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "SELinux સુરક્ષાને clamd ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "SELinux સુરક્ષાને clamscan માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "SELinux સુરક્ષાને clvmd માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "SELinux સુરક્ષાને comsat ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "SELinux સુરક્ષાને courier ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "SELinux સુરક્ષાને cpucontrol ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "SELinux સુરક્ષાને cpuspeed ડિમન માટે નિષ્ક્રિય કરો"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Printing"
+-#~ msgstr "છાપન"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd બેકેન્ડ સર્વર માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "sysadm_t ને ડિમનો સીધા જ શરૂ કરવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "ઈવોલ્યુશન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Games"
+-#~ msgstr "રમતો"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "રમતો માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "વેબ બ્રાઉઝરો માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "થન્ડરબર્ડ માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "સુગમતા"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "વસ્તુઓનું સંપાદન કરો નહિં કે જેને આપણે જાણતા હોઈએ કે ભાંગેલ છે પરંતુ જેઓને સુરક્ષા જોખમો નથી"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "hplip ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogs માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD સેવા"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd બાળ ડિમનો માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "કર્બરોઝ"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "ઈવોલ્યુશન અને થન્ડરબર્ડને વપરાશકર્તા ફાઈલો વાંચવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "મોઝિલ્લા બ્રાઉઝરને વપરાશકર્તા ફાઈલો વાંચવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "નામ સેવા"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManager માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Samba"
+-#~ msgstr "સામ્બા"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "pppd ને નિયમિત વપરાશકર્તા તરીકે ચલાવવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readhead માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "કાર્યક્રમોને બિન-પ્રમાણભૂત સ્થાનોએ રહેલ ફાઈલો વાંચવા માટે પરવાનગી આપો (default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ssh ને ડિમન તરીકે ચલાવવાની જગ્યાએ inetd માંથી ચલાવવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Samba ને nfs ડિરેક્ટરીઓ વહેંચવા માટે પરવાનગી આપો"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL સત્તાધિકરણ સર્વર"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "sasl સત્તાધિકરણ સર્વરને /etc/shadow વાંચવા માટે પરવાનગી આપો"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "X-Windows સર્વરને મેમરી વિસ્તાર એક્ઝેક્યુટેબલ અને લખી શકાય તેવું એમ બંને સાથે મેપ કરવા માટે "
+-#~ "પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "sysadm_t, sudo અને su effected માં રૂપાંતરણને પરવાનગી આપશો નહિં"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "કોઈપણ પ્રક્રિયાઓને કર્નલ મોડ્યુલો લાવવા માટે પરવાનગી આપશો નહિં"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "કોઈપણ પ્રક્રિયાઓને કર્નલ SELinux પોલિસી સુધારવા માટે પરવાનગી આપશો નહિં"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroubleshoot ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "સ્પામ સુરક્ષા"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd ને ઘર ડિરેક્ટરીઓ વાપરવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Spam Assasin ડિમન નેટવર્ક વપરાશને પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid ડિમનને નેટવર્ક સાથે જોડાવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh પ્રવેશોને sysadm_r:sysadm_t તરીકે પરવાનગી આપો"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r વપરાશકર્તાઓને sysadm ઘર ડિરેક્ટરીમાં શોધવા અને ફાઈલો વાંચવા માટે પરવાનગી "
+-#~ "આપો (જેમ કે ~/.bashrc)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "સાર્વત્રિક SSL ટનલ"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "stunnel ડિમનને એકલું ચલાવવા માટે પરવાનગી આપો, xinetd ની બહાર"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "સિસ્ટમ cron ક્રિયાઓ માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftp ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "xinetd ને unconfined ચલાવવા માટે પરવાનગી આપો, કોઈપણ સેવાઓનો સમાવેશ કરીને કે જેને "
+-#~ "તે શરૂ કરે છે અને જેની પાસે ડોમેઈન પરિવહન બાહ્ય રીતે વ્યાખ્યાયિત થયેલ નહિં હોય"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "rc સ્ક્રિપ્ટોને unconfined ચલાવવા માટે પરવાનગી આપો, rc સ્ક્રિપ્ટ દ્વારા શરૂ થયેલ "
+-#~ "કોઈપણ ડિમનનો સમાવેશ કરીને કે જેને પરિવહન બાહ્ય રીતે વ્યાખ્યાયિત થયેલ નહિં હોય"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm ને unconfined ચલાવવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "hotplug અને insmod જેવી વિશેષાધિકારીત ઉપયોગીતાઓને unconfined ચલાવવા માટે "
+-#~ "પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "utimed ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "user_r ને sysadm_r સુધી su, sudo, અથવા userhelper મારફતે પહોંચવા માટે પરવાનગી "
+-#~ "આપો. નહિંતર, માત્ર staff_r આવું કરી શકશે"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "વપરાશકર્તાઓને mount આદેશ ચલાવવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "નિયમિત વપરાશકર્તાઓને સીધો માઉસ વપરાશની પરવાનગી આપો (માત્ર X સર્વરને પરવાનગી "
+-#~ "આપો)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "વપરાશકર્તાઓને dmesg આદેશ ચલાવવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "વપરાશકર્તાઓને નેટવર્ક ઈન્ટરફેસો નિયંત્રિત કરવા માટે પરવાનગી આપો (USERCTL=true ની "
+-#~ "પણ જરૂર છે)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "સામાન્ય વપરાશકર્તાને ping ચલાવવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "વપરાશકર્તાને r/w noextattrfile માટે પરવાનગી આપો (FAT, CDROM, FLOPPY)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "વપરાકર્તાઓને rw usb ઉપકરણોની પરવાનગી આપો"
+-
+-#~ 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 ""
+-#~ "વપરાશકર્તાઓને TCP સર્વરો ચલાવવા માટે પરવાનગી આપો (પોર્ટો સાથે બાંધો અને એક જ "
+-#~ "ડોમેઈન અને બાહ્ય વપરાશકર્તાઓમાંથી જોડાણ સ્વીકારો)  આને નિષ્ક્રિય કરવાનું FTP પેસીવ "
+-#~ "સ્થિતિને દબાણ કરે છે અને અન્ય પ્રોટોકોલોને પણ બદલશે"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "વપરાશકર્તાઓને ttyfiles ની પરિસ્થિતિ આપવા માટે પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm પ્રવેશોને sysadm_r:sysadm_t તરીકે પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "xen ને ભૌતિક ડિસ્ક ઉપકરણ પર વાંચવા/લખવાની પરવાનગી આપો"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen કન્સોલ માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS પાસવર્ડ ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS પરિવહન ડિમન માટે SELinux સુરક્ષા નિષ્ક્રિય કરો"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm વપરાશકર્તાને બિનવિશેષાધિકારી વપરાશકર્તાઓ ઘર ડિરેક્ટરીઓની વ્યવસ્થા "
+-#~ "કરવા માટે પરવાનગી આપો"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm વપરાશકર્તાને બિનવિશેષાધિકારીત વપરાશકર્તાઓ ઘર ડિરેક્ટરીઓ વાંચવા "
+-#~ "માટે પરવાનગી આપો"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "શું તમે ખરેખર %s '%s' કાઢી નાંખવા માંગો છો?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s કાઢી નાંખો"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s ઉમેરો"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s સુધારો"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "Permissive"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "Enforcing"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Disabled"
+-
+-#~ msgid "Status"
+-#~ msgstr "પરિસ્થિતિ"
+-
+-#~ 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 ""
+-#~ "પોલિસી પ્રકાર બદલવાનું આગળના બુટ પર વર્તમાન ફાઈલ સિસ્ટમને પુનઃલેબલ કરવાનું કારણ આપી "
+-#~ "શકશે. પુનઃલેબલીંગ કરવાનું ફાઈલ સિસ્ટમના માપ પર આધાર રાખીને લાંબો સમય લે છે.  શું તમે "
+-#~ "ચાલુ રાખવા માંગો છો?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "SELinux નિષ્ક્રિયકૃતમાં બદલવા માટે રીબુટ જરૂરી છે.  એ આગ્રહણીય નથી.  જો તમે પછીથી "
+-#~ "SELinux ને પાછું ચાલુ કરવાનું નક્કી કરો, તો સિસ્ટમને પુનઃલેબલ કરવાની જરૂર રહેશે.  જો તમે "
+-#~ "ખાલી એ જોવા માંગો કે શું SELinux એ તમારી સિસ્ટમ પર સમસ્યા સર્જી રહી છે, તો તમે "
+-#~ "પરવાનગીય સ્થિતિમાં જઈ શકશો કે જે માત્ર ભૂલો જ લોગ કરશે અને SELinux પોલિસીને દબાણ "
+-#~ "કરશે નહિં. પરવાનગીય સ્થિતિને રીબુટ કરવાની જરૂર રહેતી નથી    શું તમે ચાલુ રાખવા માંગો "
+-#~ "છો?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "SELinux સક્રિયકૃતમાં બદલવાનું આગળના બુટ પર વર્તમાન ફાઈલ સિસ્ટમને પુનઃલેબલ કરવાનું કારણ "
+-#~ "આપી શકશે. પુનઃલેબલીંગ કરવાનું ફાઈલ સિસ્ટમના માપ પર આધાર રાખીને લાંબો સમય લે છે.  શું "
+-#~ "તમે ચાલુ રાખવા માંગો છો?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux પ્રવેશ મેપીંગ ઉમેરો"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux નેટવર્ક પોર્ટો ઉમેરો"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux પ્રકાર"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "સ્તર"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "ફાઈલ સ્પષ્ટીકરણ"
+-
+-#~ msgid "File Type"
+-#~ msgstr "ફાઈલ પ્રકાર"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "બધી ફાઈલો\n"
+-#~ "નિયમિત ફાઈલ\n"
+-#~ "ડિરેક્ટરી\n"
+-#~ "અક્ષર ઉપકરણ\n"
+-#~ "બ્લોક ઉપકરણ\n"
+-#~ "સોકેટ\n"
+-#~ "સાંકેતિક કડી\n"
+-#~ "નામવાળું પાઈપ\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux વપરાશકર્તા ઉમેરો"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux સંચાલન"
+-
+-#~ msgid "Add"
+-#~ msgstr "ઉમેરો"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "ગુણધર્મો (_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "કાઢો (_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "વ્યવસ્થાપન ઓબ્જેક્ટ પસંદ કરો"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>પસંદ કરો:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "સિસ્ટમ મૂળભૂત દબાણ સ્થિતિ"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "વર્તમાન દબાણ સ્થિતિ"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "સિસ્ટમ મૂળભૂત પોલિસી પ્રકાર: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "આગળના રીબુટ પર તમે શું વર્તમાન ફાઈલ સિસ્ટમને પુનઃલેબલ કરવા ઈચ્છો છો તે પસંદ કરો.  "
+-#~ "પુનઃલેબલ કરવાનું લાંબો સમય લઈ શકે છે, સિસ્ટમના માપ પર આધાર રાખીને.  જો તમે પોલિસી "
+-#~ "પ્રકારો બદલી રહ્યા હોય અથવા disabled થી enforcing માં જઈ રહ્યા હોય, તો પુનઃલેબલ "
+-#~ "જરૂરી છે."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "આગળના પુનઃબુટ પર પુનઃલેબલ."
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "બુલિયન સુયોજનને સિસ્ટમ મૂળભૂતમાં ઉલટાવો"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "વૈવિધ્યપૂર્ણ બનાવેલ અને બધા બુલિયનો વચ્ચે ફેરબદલી કરો"
+-
+-#~ msgid "Filter"
+-#~ msgstr "ગાળક"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "ફાઈલ સંદર્ભ ઉમેરો"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "ફાઈલ સંદર્ભ સુધારો"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "ફાઈલ સંદર્ભ કાઢો"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "બધા અને વૈવિધ્યપૂર્ણ બનાવેલ ફાઈલ સંદર્ભ વચ્ચે બદલો"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux વપરાશકર્તા મેપીંગ ઉમેરો"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux વપરાશકર્તા માપન સુધારો"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux વપરાશકર્તા માપન કાઢો"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "ભાષાંતર ઉમેરો"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "ભાષાંતર સુધારો"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "ભાષાંતર કાઢો"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux વપરાશકર્તા સુધારો"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "નેટવર્ક પોર્ટ ઉમેરો"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "નેટવર્ક પોર્ટમાં ફેરફાર કરો"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "નેટવર્ક પોર્ટ કાઢો"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "વૈવિધ્યપૂર્ણ બનાવેલ અને બધા પોર્ટ વચ્ચે બદલો"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "નવું પોલિસી મોડ્યુલ બનાવો"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "પોલિસી મોડ્યુલ લાવો"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "લાવી શકાય તેવું પોલિસી મોડ્યુલ દૂર કરો"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "વધારાના સંપાદન નિયમો સક્રિય/નિષ્ક્રિય કરો, કે જેઓ સામાન્ય રીતે લોગ ફાઈલોમાં અહેવાલ "
+-#~ "અપાયેલ નહિં હોય."
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "સંવેદનશીલતા સ્તર"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux વપરાશકર્તા '%s' જરૂરી છે"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "કિંમત જરૂરી છે"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "અયોગ્ય પૂર્વગ %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને કોઈપણ tcp પોર્ટો > 1024 બાંધવા માટે પરવાનગી આપે છે"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "શુદ્ધિ થયેલ કાર્યક્રમ/વપરાશકર્તા ભૂમિકાને કોઈપણ tcp પોર્ટ સાથે બાંધવા માટે પરવાનગી આપે "
+-#~ "છે"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "અલ્પવિરામથી અલગ પડેલ tcp પોર્ટોની યાદી અથવા પોર્ટોનો વિસ્તાર દાખલ કરો કે જેને "
+-#~ "કાર્યક્રમ/વપરાશકર્તા ભૂમિકા બાંધે. ઉદાહરણ: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux પોલિસી બનાવટ ડ્રુડ"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "બિનઆરક્ષિત પોર્ટો  (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr "જો તમારો કાર્યક્રમ bindresvport ને 0 સાથે બાંધે તો આ ચકાસણીબટન વાપરો."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux વપરાશકર્તા '%s' જરૂરી છે"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/he.po policycoreutils-2.0.85/po/he.po
+--- nsapolicycoreutils/po/he.po        2011-02-17 15:11:25.161734275 -0500
++++ policycoreutils-2.0.85/po/he.po    2011-02-18 16:03:41.369975751 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/hi.po policycoreutils-2.0.85/po/hi.po
+--- nsapolicycoreutils/po/hi.po        2011-02-17 15:11:25.876722465 -0500
++++ policycoreutils-2.0.85/po/hi.po    2011-02-18 16:03:41.369975751 -0500
+@@ -1,16 +1,17 @@
+-# translation of policycoreutils.HEAD.hi.po to Hindi
++# translation of policycoreutils.HEAD.po to Hindi
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+-# Rajesh Ranjan <rranjan@redhat.com>, 2006, 2007, 2008.
++# Rajesh Ranjan <rranjan@redhat.com>, 2006, 2007, 2008, 2009, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils.HEAD.hi\n"
++"Project-Id-Version: policycoreutils.HEAD\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-03-31 15:14+0530\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-30 14:23+0530\n"
+ "Last-Translator: Rajesh Ranjan <rranjan@redhat.com>\n"
+-"Language-Team: Hindi <hindi.sf.net>\n"
++"Language-Team: Hindi <fedora-trans-hi@redhat.com>\n"
++"Language: hi\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -30,6 +31,25 @@
+ "\n"
+ "\n"
+ "\n"
++"\n"
++"\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinux को आलेखी सेटिंग में विन्यस्त करें"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux प्रबंधन"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "नया पॉलिसी मॉड्यूल उत्पन्न करें"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux पॉलिसी जनन औजार"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -120,9 +140,8 @@
+ msgstr "semanage संबंधन स्थापित नहीं कर सका"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "MLS परिसर %s के लिये सेट नहीं कर सका"
++msgstr "MLS सक्रिय स्थिति जाँच नहीं सका"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -131,20 +150,21 @@
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "%s खोलने में असमर्थ: गैर-MLS मशीन पर अनुवाद समर्थित नहीं: %s"
++msgstr "%s खोलने में त्रुटि: गैर-MLS मशीन पर अनुवाद समर्थित नहीं: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "स्तर"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "अनुवाद"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "अनुवाद में '%s' खाली स्थान नहीं होते हैं."
++msgstr "अनुवाद में स्थान '%s' नहीं हो सकता है"
+ #: ../semanage/seobject.py:250
+ #, python-format
+@@ -154,12 +174,12 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s पहले से अनुवाद में परिभाषित है"
++msgstr "%s को पहले से अनुवाद में परिभाषित किया गया है"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s अनुवाद में परिभाषित नहीं है"
++msgstr "%s को अनुवादों में परिभाषित नहीं किया गया है"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+@@ -167,764 +187,765 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "सीमैनेज लेनदेन पहले से प्रगति पर है"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage विनिमय आरंभ नहीं कर सका"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage विनिमय आरंभ नहीं कर सका"
++msgstr "semanage विनिमय सौंप नहीं सका"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "सीमैनेज लेनदेन प्रगति पर नहीं है"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux उपयोक्ता सूचीबद्ध नहीं सका"
++msgstr "SELinux मॉड्यूल सूचीबद्ध नहीं सका"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "अनुज्ञात्मक"
++msgstr "अनुज्ञात्मक प्रकार"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "अनुज्ञात्मक डोमेन %s (मॉड्यूल संस्थापन विफल) सेट नहीं कर सका"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "अनुज्ञात्मक डोमेन %s (हटाना विफल) हटा नहीं सका"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s के लिये कुंजी नहीं बना सका"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "नहीं जांच सका अगर %s के लिये लॉगिन मैपिंग परिभाषित है"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s के लिये लॉगिन मैपिंग पहले से परिभाषित है"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux उपयोक्ता %s मौजूद नहीं है"
++msgstr "Linux समूह %s मौजूद नहीं है"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux उपयोक्ता %s मौजूद नहीं है"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s के लिये लॉगिन मैपिंग नहीं बना सका"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s के लिये नाम सेट नहीं कर सका"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "MLS परिसर %s के लिये सेट नहीं कर सका"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "SELinux उपयोक्ता %s के लिये सेट नहीं कर सका"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s के लिये लॉगिन मैपिंग जोड़ नहीं सका"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux उपयोक्ता मैपिंग जोड़ें"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser या serange जरूरी"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s के लिये लॉगिन मैपिंग परिभाषित नहीं है"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "seuser को %s के लिये प्रश्न नहीं कर सका"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s के लिये लॉगिन मैपिंग नहीं रूपांतरित कर सका"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "नीति में %s परिभाषित है, मिटाया नहीं जा सकता"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s के लिये लॉगिन मैपिंग नहीं मिटा सका"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "लॉगिन मैपिंग नहीं सूचीबद्ध कर सका"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "लॉगिन नाम"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux उपयोक्ता"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS परिसर"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s के लिये फाइल संदर्भ नहीं जोड़ सका"
++msgstr "आपको कम से कम एक भूमिका %s के लिए जरूर जोड़ना चाहिए"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "जांच नहीं सका कि SELinux उपयोक्ता %s परिभाषित है"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux उपयोक्ता %s पहले से परिभाषित है"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "SELinux उपयोक्ता %s के लिये बना नहीं सका"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "%s भूमिका %s के लिये जोड़ नहीं सका"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "MLS स्तर %s के लिये सेट नहीं कर सका"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "%s उपसर्ग %s के लिये नहीं जोड़ सका"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s के लिये कुंजी निकाल नहीं सका"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux उपयोक्ता %s नहीं जोड़ सका"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "उपसर्ग, भूमिका, स्तर या परिसर जरूरी"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "उपसर्ग या भूमिका जरूरी"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux उपयोक्ता %s परिभाषित नहीं है"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s के लिये उपयोक्ता को प्रश्न नहीं कर सकता"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux उपयोक्ता %s नहीं सुधार सकता"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux उपयोक्ता %s नीति में परिभाषित है, मिटा नहीं सकता"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux उपयोक्ता %s मिटा नहीं सका"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux उपयोक्ता सूचीबद्ध नहीं सका"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "%s उपयोक्ता के लिये भूमिका सूचीबद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "लेबलिंग"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "उपसर्ग"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS स्तर"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS परिसर"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux भूमिका"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "प्रोटोकॉल udp या tcp जरूरी है"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "पोर्ट जरूरी है"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s के लिये कुंजी नहीं बना सका"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "टाइप जरूरी है"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "जांच नहीं सका अगर पोर्ट %s/%s परिभाषित है"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "%s/%s पोर्ट पहले से परिभाषित है"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s के लिये पोर्ट बना नहीं सका"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s के लिये संदर्भ बना नहीं सका"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s के लिये पोर्ट संदर्भ में उपयोक्ता सेट नहीं कर सका"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s के लिये पोर्ट संदर्भ में भूमिका सेट नहीं कर सका"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s के लिये पोर्ट संदर्भ में टाइप सेट नहीं कर सका"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s के लिये पोर्ट संदर्भ में क्षेत्र mls सेट नहीं कर सका"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s के लिये पोर्ट संदर्भ सेट नहीं कर सका"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "%s/%s पोर्ट जोड़ नहीं सका"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype या serange जरूरी"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "सेटटाइप जरूरी"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "पोर्ट %s/%s परिभाषित नहीं है"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "%s/%s पोर्ट प्रश्न नहीं कर सका"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "%s/%s पोर्ट रूपांतरित नहीं कर सका"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "पोर्ट सूची बद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "%s पोर्ट मिटा नहीं सका"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "%s/%s नीति में परिभाषित है, मिटा नहीं सकता"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "%s/%s पोर्ट मिटा नहीं सका"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "पोर्ट सूची बद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux पोर्ट प्रकार"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "प्रोटो"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "पोर्ट संख्या"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "पोर्ट जरूरी है"
++msgstr "नोड पता जरूरी है"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "पोर्ट जरूरी है"
++msgstr "नोड नेटमास्क जरूरी है"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "अज्ञात व अनुपस्थित प्रोटोकॉल"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux प्रकार जरूरी है"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s के लिये कुंजी नहीं बना सका"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "जांच नहीं सका अगर पोर्ट %s/%s परिभाषित है"
++msgstr "जांच नहीं सका अगर addr %s परिभाषित है"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "%s/%s पोर्ट पहले से परिभाषित है"
++msgstr "%s पहले से परिभाषित है"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s के लिये कुंजी नहीं बना सका"
++msgstr "%s के लिये addr नहीं बना सका"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s के लिये संदर्भ बना नहीं सका"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s के लिये नाम सेट नहीं कर सका"
++msgstr "%s के लिये मास्क सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s के लिये फाइल संदर्भ में उपयोक्ता सेट नहीं कर सका"
++msgstr "%s के लिये addr संदर्भ में उपयोक्ता सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s के लिये फाइल संदर्भ में भूमिका सेट नहीं कर सका"
++msgstr "%s के लिये addr संदर्भ में भूमिका सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s के लिये फाइल संदर्भ में टाइप सेट नहीं कर सका"
++msgstr "%s के लिये addr संदर्भ में टाइप सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "mls क्षेत्र %s के लिये फाइल संदर्भ के क्रम में नहीं सेट कर सका"
++msgstr "%s के लिये addr संदर्भ के mls क्षेत्र में नहीं सेट कर सका"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s के लिये फाइल संदर्भ नहीं सेट कर सका"
++msgstr "%s के लिये addr संदर्भ नहीं सेट कर सका"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s पोर्ट जोड़ नहीं सका"
++msgstr "%s पोर्ट जोड़ नहीं सका"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "पोर्ट %s/%s परिभाषित नहीं है"
++msgstr "Addr %s परिभाषित नहीं है"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "%s/%s पोर्ट प्रश्न नहीं कर सका"
++msgstr "addr %s को प्रश्न नहीं कर सका"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "%s/%s पोर्ट रूपांतरित नहीं कर सका"
++msgstr "addr %s रूपांतरित नहीं कर सका"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "%s/%s नीति में परिभाषित है, मिटा नहीं सकता"
++msgstr "Addr %s नीति में परिभाषित है, मिटाया नहीं जा सकता है"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s मिटा नहीं सका"
++msgstr "addr %s मिटा नहीं सका"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "पोर्ट सूची बद्ध नहीं कर सका"
++msgstr "addrs सूची बद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "जांच नहीं सका अगर %s अंतरफलक परिभाषित है"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "%s अंतरफलक पहले से परिभाषित है"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s के लिये अंतरफलक नहीं बना सका"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "उपयोक्ता को %s के लिये अंतरफलक संदर्भ में सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "भूमिका को %s के लिये अंतरफलक संदर्भ में सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "टाइप को %s के लिये अंतरफलक संदर्भ में सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "mls क्षेत्र %s के लिये अंतरफलक संदर्भ में सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s के लिये अंतरफलक संदर्भ सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s के लिये संदेश संदर्भ सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "%s अंतरफलक जोड़ नहीं सका"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "%s अंतरफलक परिभाषित नहीं है"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "%s अंतरफलक प्रश्न नहीं कर सकता"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "%s अंतरफलक रूपांतरित नहीं सक सका"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "अंतरफलक %s नीति में परिभाषित है, मिटाया नहीं जा सकता"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "%s अंतरफलक मिटा नहीं सका"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "अंतरफलक सूचीबद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux अंतरफलक"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "संदर्भ"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ में उपयोक्ता सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ में भूमिका सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "mls क्षेत्र %s के लिये फाइल संदर्भ के क्रम में नहीं सेट कर सका"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "अवैध फाइल विशेषता"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "जांच नहीं सका अगर %s के लिये फाइल संदर्भ परिभाषित है"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s के लिये फाइल संदर्भ पहले से परिभाषित है"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ नहीं बना सका"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ में टाइप सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ नहीं सेट कर सका"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ नहीं जोड़ सका"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "सेटटाइप जरूरी, serange या seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s के लिये फाइल संदर्भ परिभाषित नहीं है"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ को प्रश्न नहीं कर सका"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s के लिये फाइल संदर्भ नहीं सुधार सका"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "फाइल संदर्भ सूचीबद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "%s के लिये फाइल संदर्भ मिटा नहीं सका"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s के लिये फाइल संदर्भ नीति में परिभाषित है, मिटा नहीं सकता"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s के लिये फाइलसंदर्भ मिटा नहीं सका"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "फाइल संदर्भ सूचीबद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "स्थानीय फाइल संदर्भ सूचीबद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "प्रकार"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "अगर %s बुलियन परिभाषित है तो जांच नहीं सका"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "%s बुलियन परिभाषित नहीं है"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "%s फाइल संदर्भ को प्रश्न नहीं कर सका"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "आपको एक मान अवश्य निर्दिष्ट करना है"
++msgstr "आपको निम्नलिखित मान अवश्य निर्दिष्ट करना है: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "%s बुलियन मिटा नहीं सका"
++msgstr "%s बुलियन का सक्रिय मान सेट नहीं कर सका"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "%s बुलियन रूपांतरित नहीं कर सका"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "खराब प्रारूप %s: रिकार्ड %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "%s बुलियन नीति में परिभाषित है, मिटाया नहीं जा सकता"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "%s बुलियन मिटा नहीं सका"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "बुलियन सूचीबद्ध नहीं कर सका"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "अज्ञात"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "बंद"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "चालू"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux बूलियन"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "विवरण"
+@@ -964,9 +985,9 @@
+ msgstr "वातावरण साफ करने में असमर्थ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "त्रुटि initing क्षमता, त्याग रहा है.\n"
++msgstr "क्षमता आरंभीकरण में त्रुटि, छोड़ रहा है.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1296,1678 +1317,2199 @@
+ msgid "Options Error %s "
+ msgstr "विकल्प त्रुटि %s"
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "गैर-MLS मशीन पर अनुवाद समर्थित नहीं"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "बूलिये"
+-
+-#~ msgid "all"
+-#~ msgstr "सभी"
+-
+-#~ msgid "Customized"
+-#~ msgstr "पसंदीदा"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "फाइल लेबलिंग"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "फाइल\n"
+-#~ "विनिर्दिष्टता"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "फाइल प्रकार"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "बूलिये"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "सभी"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "पसंदीदा"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "फाइल लेबलिंग"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "फाइल\n"
+-#~ "प्रकार"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "उपयोक्ता मैपिंग"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "लॉगिन\n"
+-#~ "नाम"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "उपयोक्ता"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS परिसर"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "लॉगिन '%s' जरूरी है"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "पॉलिसी मॉड्यूल"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "मॉड्यूल नाम"
+-
+-#~ msgid "Version"
+-#~ msgstr "संस्करण"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"फाइल\n"
++"विनिर्दिष्टता"
+-#~ msgid "Disable Audit"
+-#~ msgstr "ऑडिट निष्क्रिय करें"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"फाइल प्रकार"
+-#~ msgid "Enable Audit"
+-#~ msgstr "ऑडिट सक्रिय करें"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"फाइल\n"
++"प्रकार"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "पॉलिसी मॉड्यूल लोड करें"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "उपयोक्ता मैपिंग"
+-#~ msgid "Polgen"
+-#~ msgstr "पोल्जेन"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"लॉगिन\n"
++"नाम"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"उपयोक्ता"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS परिसर"
+-#~ msgid "translator-credits"
+-#~ msgstr "राजेश रंजन (rranjan@redhat.com, rajeshkajha@yahoo.com)"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "लॉगिन '%s' जरूरी है"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux पॉलिसी जनन औजार"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "पॉलिसी मॉड्यूल"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "यह औजार एक पॉलिसी फ्रेमवर्क बनाने के लिए प्रयुक्त होता है, अनुप्रयोग या उपयोक्ता को "
+-#~ "SELinux के प्रयोग के लिए सीमति करने के लिए.   \n"
+-#~ "\n"
+-#~ "औजार बनाता है:\n"
+-#~ "प्रकार बाध्यकारी फाइल\n"
+-#~ "अंतरफलक फाइल (if)\n"
+-#~ "फाइल संदर्भ फाइल (fc)\n"
+-#~ "Shell script (sh) - पॉलिसी कंपाइल व अधिष्ठापित करने के लिए प्रयुक्त. "
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "मॉड्यूल नाम"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "सीमित रहने के लिए अनुप्रयोग/उपयोक्ता भूमिका के प्रकार चुनें."
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "संस्करण"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>अनुप्रयोग</b>"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ऑडिट निष्क्रिय करें"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "मानक Init डेमॉन वे डेमॉन हैं जो बूट पर init स्क्रिप्ट से होकर आरंभ किया गया.  प्रायः /"
+-#~ "etc/rc.d/init.d में एक स्क्रिप्ट की जरूरी है"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ऑडिट सक्रिय करें"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "मानक Init डेमॉन"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "पॉलिसी मॉड्यूल लोड करें"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "इंटरनेट सेवा डेमॉन xinetd के द्वारा आरंभ किया जाता है"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "पोल्जेन"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "इंटरनेट सर्विस डेमॉन (inetd)"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "वेब अनुप्रयोग/स्क्रिप्ट (CGI) CGI स्क्रिप्ट को वेब सर्वर के द्वारा आरंभ किया जाता है "
+-#~ "(apache)"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "वेब अनुप्रयोग/स्क्रिप्ट (CGI)"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "राजेश रंजन (rranjan@redhat.com, rajeshkajha@yahoo.com)"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "उपयोक्ता अनुप्रयोग कोई अनुप्रयोग है जो सीमित करना चाहेगा जो कि उपयोक्ता के द्वारा "
+-#~ "आरंभ हुआ है"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"यह औजार एक पॉलिसी फ्रेमवर्क बनाने के लिए प्रयुक्त होता है, अनुप्रयोग या उपयोक्ता को "
++"SELinux के प्रयोग के लिए सीमति करने के लिए.   \n"
++"\n"
++"औजार बनाता है:\n"
++"प्रकार बाध्यकारी फाइल\n"
++"अंतरफलक फाइल (if)\n"
++"फाइल संदर्भ फाइल (fc)\n"
++"Shell script (sh) - पॉलिसी कंपाइल व अधिष्ठापित करने के लिए प्रयुक्त. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "सीमित रहने के लिए अनुप्रयोग/उपयोक्ता भूमिका के प्रकार चुनें."
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>अनुप्रयोग</b>"
+-#~ msgid "User Application"
+-#~ msgstr "उपयोक्ता अनुप्रयोग"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"मानक Init डेमॉन वे डेमॉन हैं जो बूट पर init स्क्रिप्ट से होकर आरंभ किया गया.  प्रायः /"
++"etc/rc.d/init.d में एक स्क्रिप्ट की जरूरी है"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>लॉगिन उपयोक्ता</b>"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "मानक Init डेमॉन"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS सिस्टम डेमॉन"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "इंटरनेट सेवा डेमॉन xinetd के द्वारा आरंभ किया जाता है"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "इंटरनेट सर्विस डेमॉन (inetd)"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "मौजूदा लॉगिन उपयोक्ता रिकार्ड रूपांतरित करें."
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"वेब अनुप्रयोग/स्क्रिप्ट (CGI) CGI स्क्रिप्ट को वेब सर्वर के द्वारा आरंभ किया जाता है "
++"(apache)"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "मौजूदा उपयोक्ता भूमिका"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "वेब अनुप्रयोग/स्क्रिप्ट (CGI)"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "यह उपयोक्ता मशीन में लॉगिन मात्र टर्मिनल या दूरस्थ लॉगिन से होगा.  मूलभूत रूप से यह "
+-#~ "उपयोक्ता के पास कोई setuid नहीं होगा, कोई संजालन नहीं, कोई su नहीं, कोई sudo "
+-#~ "नहीं."
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"उपयोक्ता अनुप्रयोग कोई अनुप्रयोग है जो सीमित करना चाहेगा जो कि उपयोक्ता के द्वारा आरंभ "
++"हुआ है"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "न्यूनतम टर्मिनल उपयोक्ता भूमिका"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "उपयोक्ता अनुप्रयोग"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>लॉगिन उपयोक्ता</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "मौजूदा लॉगिन उपयोक्ता रिकार्ड रूपांतरित करें."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "मौजूदा उपयोक्ता भूमिका"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "यह उपयोक्ता मशीन में लॉगिन X या टर्मिनल से कर सकता है.  मूलभूत रूप से यह उपयोक्ता के "
+-#~ "पास कोई setuid नहीं होगा, कोई संजालन नहीं, कोई sudo नहीं, कोई su नहीं."
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"यह उपयोक्ता मशीन में लॉगिन मात्र टर्मिनल या दूरस्थ लॉगिन से होगा.  मूलभूत रूप से यह "
++"उपयोक्ता के पास कोई setuid नहीं होगा, कोई संजालन नहीं, कोई su नहीं, कोई sudo नहीं."
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "न्यूनतम X विंडोज उपयोक्ता भूमिका"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "न्यूनतम टर्मिनल उपयोक्ता भूमिका"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "पूर्ण संजालन के साथ उपयोक्ता, कोई setuid अनुप्रयोग बिना संक्रमण के नहीं, कोई sudo "
+-#~ "नहीं, कोई su नहीं."
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"यह उपयोक्ता मशीन में लॉगिन X या टर्मिनल से कर सकता है.  मूलभूत रूप से यह उपयोक्ता के पास "
++"कोई setuid नहीं होगा, कोई संजालन नहीं, कोई sudo नहीं, कोई su नहीं."
+-#~ msgid "User Role"
+-#~ msgstr "उपयोक्ता भूमिका"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "न्यूनतम X विंडोज उपयोक्ता भूमिका"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "पूर्ण संजालन के साथ उपयोक्ता, कोई setuid अनुप्रयोग बिना संक्रमण के नहीं, कोई su नहीं, "
+-#~ "रूट प्रशासन भूमिका को sudo कर सकता है."
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"पूर्ण संजालन के साथ उपयोक्ता, कोई setuid अनुप्रयोग बिना संक्रमण के नहीं, कोई sudo नहीं, "
++"कोई su नहीं."
+-#~ msgid "Admin User Role"
+-#~ msgstr "प्रशासन उपयोक्ता भूमिका"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "उपयोक्ता भूमिका"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>रूट उपयोक्ता</b>"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"पूर्ण संजालन के साथ उपयोक्ता, कोई setuid अनुप्रयोग बिना संक्रमण के नहीं, कोई su नहीं, रूट "
++"प्रशासन भूमिका को sudo कर सकता है."
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "रूट प्रशासन उपयोक्ता  भूमिका चुनें, यदि यह उपयोक्ता मशीन को प्रशासित करने के लिए "
+-#~ "प्रयोग किया जाता है रूट के रूप में कार्य करते हुए.  यह उपयोक्ता सिस्टम में सीधे लॉगिन "
+-#~ "होने के लिए समर्थ नहीं होगा."
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "प्रशासन उपयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>रूट उपयोक्ता</b>"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "रूट प्रशासन उपयोक्ता भूमिका"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"रूट प्रशासन उपयोक्ता  भूमिका चुनें, यदि यह उपयोक्ता मशीन को प्रशासित करने के लिए प्रयोग "
++"किया जाता है रूट के रूप में कार्य करते हुए.  यह उपयोक्ता सिस्टम में सीधे लॉगिन होने के लिए "
++"समर्थ नहीं होगा."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "रूट प्रशासन उपयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "अनुप्रयोग का नाम व उपयोक्ता भूमिका सीमित रहने के लिए डालें."
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "नाम"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "सीमित रहने के लिए एक्सक्यूटेबल का पूरा पथ दें."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "सीमित अनुप्रयोग या उपयोक्ता भूमिका  के लिए अद्वितीय नाम दें."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "एक्सक्यूटेबल"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init स्क्रिप्ट"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "अनुप्रयोग का नाम व उपयोक्ता भूमिका सीमित रहने के लिए डालें."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "सीमित अनुप्रयोग आरंभ करने के लिए init स्क्रिप्ट में पूरा पथ डालें."
+-#~ msgid "Name"
+-#~ msgstr "नाम"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "उन उपयोक्ता भूमिकाओं को चुनें जिसे आप पसंदीदा बनाना चाहते हैं"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "उपयोक्ता भूमिका चुनें जो कि इस अनुप्रयोग डोमेन में संक्रमित करेगा."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "अतिरिक्त डोमेन चुनें जिसमें यह उपयोक्ता भूमिका संक्रमण करेगा"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "सीमित रहने के लिए एक्सक्यूटेबल का पूरा पथ दें."
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "अनुप्रयोग डोमेन चुनें जिसमें आप इस उपयोक्ता भूमिका को संक्रमण कराना चाहेंगे."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "उन उपयोक्ता भूमिकाओं को चुनें जो इस डोमेन में संक्रमित किया जाएगा"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "अतिरिक्त डोमेन चुनें जिसे यह उपयोक्ता भूमिका प्रशासित करेगा"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "डोमेन चुनें जिसे आप इस उपयोक्ता के द्वारा प्रशासित कराना चाहेंगे."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "इस उपयोक्ता के लिए अतिरिक्त भूमिकाएं चुनें"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "संजाल पोर्ट दाखिल करें जिससे अनुप्रयोग/उपयोक्ता लाइसेंस लिया होता है."
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP पोर्ट</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "सीमित अनुप्रयोग/उपयोक्ता भूमिका को किसी udp पोर्ट में बांधने के लिए स्वीकृति दें"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "सभी"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"अनुप्रयोग/उपयोक्ता भूमिका को bindresvport को 0 के साथ स्वीकृति दें. पोर्ट 600-1024 में "
++"बांध रहा है"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "सीमित अनुप्रयोग या उपयोक्ता भूमिका  के लिए अद्वितीय नाम दें."
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Executable"
+-#~ msgstr "एक्सक्यूटेबल"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"udp पोर्ट या पोर्ट के परिसर का कौमा से अलग किया सूची दाखिल करें या परिसर जिसमें "
++"अनुप्रयोग/प्रयोक्ता बंधा है. उदाहरण: 612, 650-660"
+-#~ msgid "Init script"
+-#~ msgstr "Init स्क्रिप्ट"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "अनारक्षित पोर्ट (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "पोर्ट चुनें"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "अनुप्रयोग/उपयोक्ता भूमिका को किसी udp पोर्ट से बांधने की स्वीकृति देता है > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP पोर्ट</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "संजाल पोर्ट दाखिल करें जिससे अनुप्रयोग/उपयोक्ता कनेक्ट होता है."
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "सीमित अनुप्रयोग आरंभ करने के लिए init स्क्रिप्ट में पूरा पथ डालें."
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"tcp पोर्ट या पोर्ट के परिसर का कौमा से अलग किया सूची दाखिल करें या परिसर जिसमें "
++"अनुप्रयोग/प्रयोक्ता जुड़ता है. उदाहरण: 612, 650-660"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "उन उपयोक्ता भूमिकाओं को चुनें जिसे आप पसंदीदा बनाना चाहते हैं"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"udp पोर्ट या पोर्ट के परिसर का कौमा से अलग किया सूची दाखिल करें या परिसर जिसमें "
++"अनुप्रयोग/प्रयोक्ता जुड़ता है. उदाहरण: 612, 650-660"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "उपयोक्ता भूमिका चुनें जो कि इस अनुप्रयोग डोमेन में संक्रमित करेगा."
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "सामान्य अनुप्रयोग गुण चुनें"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog संदेश लिखता है\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp में अस्थायी फाइलों को बनाता / काम करता है"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "सत्यापन के लिए PAM का प्रयोग करता है"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch या getpw* कॉल प्रयोग करता है"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus का प्रयोग करें"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ऑडिट संदेश भेजता है"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "टर्मिनल के साथ अंतःक्रिया करता है"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ईमेल भेजता है"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "फाइल/निर्देशिका चुनें जिसे अनुप्रयोग प्रबंधित करता है"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "अतिरिक्त डोमेन चुनें जिसमें यह उपयोक्ता भूमिका संक्रमण करेगा"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"फाइल/निर्देशिका जोड़ें जिसकी इस अनुप्रयोग को \"Write\" लिखने की जरूरत होगी. Pid फाइल, "
++"लॉग फाइल, /var/lib फाइलें ..."
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "अनुप्रयोग डोमेन चुनें जिसमें आप इस उपयोक्ता भूमिका को संक्रमण कराना चाहेंगे."
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "बुलियन को चुनें जिसे अनुप्रयोग प्रयोग करता है"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "सीमित अनुप्रयोग/उपयोक्ता के लिए प्रयुक्त बुलियन जोड़ें/हटाएं."
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "निर्देशिका चुनें जिसमें पॉलिसी फाइल को बनाना है"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "पॉलिसी निर्देशिका"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "पॉलिसी फाइल उत्पन्न किया"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "उन उपयोक्ता भूमिकाओं को चुनें जो इस डोमेन में संक्रमित किया जाएगा"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"यह औजार निम्नलिखित को उत्पन्न करता है: \n"
++"Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
++"शेल स्क्रिप्ट को कंपाइल/अधिष्ठापित करने व फाइल/निर्देशिका को फिर लेबल करने के लिए चलाएं.\n"
++"semanage या useradd का प्रयोग Linux लॉगिन उपयोक्ता को उपयोक्ता भूमिका में मैप करने के "
++"लिए करें\n"
++"अब आप मशीन को अनुज्ञात्मक मोड में (setenforce 0) रख सकते हैं. \n"
++"उपयोक्ता के रूप में लॉगिन करें और इस उपयोक्ता भूमिका की जांच करें.\n"
++"audit2allow -R को te फाइल के लिए अतिरिक्त नियम बनाने के लिए प्रयोग करें.\n"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "अतिरिक्त डोमेन चुनें जिसे यह उपयोक्ता भूमिका प्रशासित करेगा"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"यह औजार निम्नलिखित को उत्पन्न करता है: \n"
++"Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
++"\n"
++"शेल स्क्रिप्ट को कंपाइल/अधिष्ठापित करने व फाइल/निर्देशिका को फिर लेबल करने के लिए "
++"चलाएं. \n"
++"अब आप मशीन को अनुज्ञात्मक मोड में (setenforce 0) रख सकते हैं. \n"
++"avc संदेश चलाने के लिए अनुप्रयोग को चलाएं/फिर आरंभ करें.\n"
++"audit2allow -R को te फाइल के लिए अतिरिक्त नियम बनाने के लिए प्रयोग करें.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "बुलियन संवाद जोड़ रहा है"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "बूलियन नाम"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "भूमिका"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "मौजूदा उपयोक्ता (_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "अनुप्रयोग"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s को जरूर निर्देशिका होनी चाहिए"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "आपको जरूर उपयोक्ता चुनना है"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "सीमित रहने के लिए एक्सक्यूटेबल फाइल चुनें."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "सीमित होने के लिए init स्क्रिप्ट चुनें."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "फाइलों को चुनें जिसे सीमित अनुप्रयोग बनाता है व लिखता है"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "निर्देशिका चुनें जिसका सीमित अनुप्रयोग मालिक है व जिसमें लिखता है"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "निर्देशिका चुनें जिसमें पॉलिसी फाइल को लिखा जाना है"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "डोमेन चुनें जिसे आप इस उपयोक्ता के द्वारा प्रशासित कराना चाहेंगे."
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"मौजूदा नीति में %s_t पहले से परिभाषित है.\n"
++"क्या आप जारी रखना चाहते हैं?"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "इस उपयोक्ता के लिए अतिरिक्त भूमिकाएं चुनें"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "नाम जांचें"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "संजाल पोर्ट दाखिल करें जिससे अनुप्रयोग/उपयोक्ता लाइसेंस लिया होता है."
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"मॉड्यूल %s.pp पहले से मौजूदा नीति में लोड किया है.\n"
++"क्या आप जारी रखना चाहते हैं?"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP पोर्ट</b>"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "आपको एक नाम अवश्य दाखिल करना है"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr "सीमित अनुप्रयोग/उपयोक्ता भूमिका को किसी udp पोर्ट में बांधने के लिए स्वीकृति दें"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "आप जरूर एक एक्सक्यूटेबल दें"
+-#~ msgid "All"
+-#~ msgstr "सभी"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux विन्यस्त करें"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "अनुप्रयोग/उपयोक्ता भूमिका को bindresvport को 0 के साथ स्वीकृति दें. पोर्ट 600-1024 "
+-#~ "में बांध रहा है"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "पोर्ट को जरूर 1 से %d तक संख्या या संख्या का परिसर जरूर होना चाहिए."
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "अपनी सीमित प्रक्रिया/उपयोक्ता के लिए आप अपना नाम जरूर दें"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "udp पोर्ट या पोर्ट के परिसर का कौमा से अलग किया सूची दाखिल करें या परिसर जिसमें "
+-#~ "अनुप्रयोग/प्रयोक्ता बंधा है. उदाहरण: 612, 650-660"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER प्रकार अनुमति प्राप्त एक्सक्यूटेबल नहीं है"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "अनारक्षित पोर्ट (>1024)"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "सिर्फ DAEMON apps एक init स्क्रिप्ट का प्रयोग कर सकता है"
+-#~ msgid "Select Ports"
+-#~ msgstr "पोर्ट चुनें"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog के पास जरूर बूलियन मान होना चाहिए"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "अनुप्रयोग/उपयोक्ता भूमिका को किसी udp पोर्ट से बांधने की स्वीकृति देता है > 1024"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER प्रकार को स्वतः tmp प्रकार लेना चाहिए"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP पोर्ट</b>"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "अपने सीमति प्रक्रिया के लिए आप जरूर अपना एक्सक्यूटेबल पथ दें"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "संजाल पोर्ट दाखिल करें जिससे अनुप्रयोग/उपयोक्ता कनेक्ट होता है."
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "प्रकार बाध्यकारी फाइल"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "tcp पोर्ट या पोर्ट के परिसर का कौमा से अलग किया सूची दाखिल करें या परिसर जिसमें "
+-#~ "अनुप्रयोग/प्रयोक्ता जुड़ता है. उदाहरण: 612, 650-660"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "अंतरफलक फाइल"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "udp पोर्ट या पोर्ट के परिसर का कौमा से अलग किया सूची दाखिल करें या परिसर जिसमें "
+-#~ "अनुप्रयोग/प्रयोक्ता जुड़ता है. उदाहरण: 612, 650-660"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "फाइल संदर्भ फाइल"
+-#~ msgid "Select common application traits"
+-#~ msgstr "सामान्य अनुप्रयोग गुण चुनें"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "सेटअप स्क्रिप्ट"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog संदेश लिखता है\t"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "संजाल पोर्ट"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp में अस्थायी फाइलों को बनाता / काम करता है"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux पोर्ट\n"
++"प्रकार"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "सत्यापन के लिए PAM का प्रयोग करता है"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "प्रोटोकॉल"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch या getpw* कॉल प्रयोग करता है"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"स्तर"
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus का प्रयोग करें"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "पोर्ट"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "पोर्ट संख्या \"%s\" वैध नहीं है.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "अंतिम दृश्य"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "समूह दृश्य"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux सेवा सुरक्षा"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "सभी डेमॉन को कोरफाइलों को / में लिखने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "सभी डेमॉन को गैर आबंटति ttys के प्रयोग की छूट दें"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "उपयोक्ता Privs"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ऑडिट संदेश भेजता है"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux उपयोक्ता खाता को फाइलों को उनके होम निर्देशिका या /tmp में निष्पादित "
++"करने की अनुमति दें"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "टर्मिनल के साथ अंतःक्रिया करता है"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"अतिथि SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादित करने "
++"की अनुमति दें"
+-#~ msgid "Sends email"
+-#~ msgstr "ईमेल भेजता है"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "स्मृति सुरक्षा"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java एक्सक्यूटेबल स्टैक की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "आरोह"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "किसी फाइल को माउंट करने के लिए mount को अनुमति दें"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "किसी निर्देशिका को माउंट करने के लिए mount को अनुमति दें"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer एक्सक्यूटेबल स्टैक की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh को ssh-keysign चलाने की स्वीकृति दें"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "फाइल/निर्देशिका चुनें जिसे अनुप्रयोग प्रबंधित करता है"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"स्टाफ SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन की "
++"स्वीकृति दें"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "फाइल/निर्देशिका जोड़ें जिसकी इस अनुप्रयोग को \"Write\" लिखने की जरूरत होगी. Pid "
+-#~ "फाइल, लॉग फाइल, /var/lib फाइलें ..."
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन की "
++"स्वीकृति दें"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "बुलियन को चुनें जिसे अनुप्रयोग प्रयोग करता है"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"असीमित SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन की "
++"स्वीकृति दें"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "सीमित अनुप्रयोग/उपयोक्ता के लिए प्रयुक्त बुलियन जोड़ें/हटाएं."
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "संजाल विन्यास"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "संजाल पर बिना लेबल किये पैकेट को स्वीकृति दें"
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "निर्देशिका चुनें जिसमें पॉलिसी फाइल को बनाना है"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"उपयोक्ता SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन की "
++"स्वीकृति दें"
+-#~ msgid "Policy Directory"
+-#~ msgstr "पॉलिसी निर्देशिका"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "असीमित को dyntrans से unconfined_execmem में स्वीकृति दें"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "डाटाबेस"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "उपयोक्ता को mysql सॉकेट में जोड़ने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "उपयोक्ता को postgres सॉकेट में जोड़ने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "क्लाइंट को X साझा स्मृति में लिखने की अनुमति दें"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "पॉलिसी फाइल उत्पन्न किया"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादित करने "
++"की अनुमति दें"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "यह औजार निम्नलिखित को उत्पन्न करता है: \n"
+-#~ "Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
+-#~ "शेल स्क्रिप्ट को कंपाइल/अधिष्ठापित करने व फाइल/निर्देशिका को फिर लेबल करने के लिए "
+-#~ "चलाएं.\n"
+-#~ "semanage या useradd का प्रयोग Linux लॉगिन उपयोक्ता को उपयोक्ता भूमिका में मैप "
+-#~ "करने के लिए करें\n"
+-#~ "अब आप मशीन को अनुज्ञात्मक मोड में (setenforce 0) रख सकते हैं. \n"
+-#~ "उपयोक्ता के रूप में लॉगिन करें और इस उपयोक्ता भूमिका की जांच करें.\n"
+-#~ "audit2allow -R को te फाइल के लिए अतिरिक्त नियम बनाने के लिए प्रयोग करें.\n"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "NIS के डेमॉन चलाने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "वेब अनुप्रयोग"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "स्टाफ SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "उपयोक्ता SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "स्टाफ वेब ब्रॉउजर को होम निर्देशिका में लिखने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Cluster Server के लिए SELinux सुरक्षा निष्क्रिय करें"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "यह औजार निम्नलिखित को उत्पन्न करता है: \n"
+-#~ "Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
+-#~ "\n"
+-#~ "शेल स्क्रिप्ट को कंपाइल/अधिष्ठापित करने व फाइल/निर्देशिका को फिर लेबल करने के लिए "
+-#~ "चलाएं. \n"
+-#~ "अब आप मशीन को अनुज्ञात्मक मोड में (setenforce 0) रख सकते हैं. \n"
+-#~ "avc संदेश चलाने के लिए अनुप्रयोग को चलाएं/फिर आरंभ करें.\n"
+-#~ "audit2allow -R को te फाइल के लिए अतिरिक्त नियम बनाने के लिए प्रयोग करें.\n"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord को विभिन्न सामग्री को पढ़ने के लिए स्वीकृति दें. nfs, samba, विस्थापनीय "
++"युक्तियां, user temp और अविश्वसनीय सामग्री फाइलें"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "बुलियन संवाद जोड़ रहा है"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "क्रॉन"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "छाप रहा है"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd बैकेंड सर्वर के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t को सीधे डेमॉन को आरंभ करने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Evolution के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "खेल"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "गेम के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "वेब ब्रॉउजर के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbird के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "सुसंगतता"
+-#~ msgid "Boolean Name"
+-#~ msgstr "बूलियन नाम"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"उन चीजों का ऑडिट मत करें जिसे हम टूटे हुए के तौर पर जानते हैं लेकिन जो सुरक्षा खतरा नहीं है"
+-#~ msgid "Role"
+-#~ msgstr "भूमिका"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "hplip डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD सेवा"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd child डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "करबरोस"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "उपयोक्ता फाइल पढ़ने के लिए evolution और thunderbird को स्वीकृति दें"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "मोजिला ब्रॉउजर को उपयोक्ता फाइलें पढ़ने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "नाम सेवा"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "सांबा"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "pppd को नियमित उपयोक्ता के रूप में चलने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "गैर मानक स्थान में फाइलों को पढ़ने की प्रोग्राम को अनुमति दें (default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh को inetd से चलने की स्वीकृति डेमॉन के रूप के बजाय दें"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba को nfs निर्देशिका साझा करने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL सत्यापन सर्वर"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl सत्यापन सर्वर को /etc/shadow को पढ़ने की स्वीकृति दें"
+-#~ msgid "Existing_User"
+-#~ msgstr "मौजूदा उपयोक्ता (_U)"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows सर्वर को एक्सक्यूटेबल व लिखने योग्य दोनों रूप में स्मृति क्षेत्र में मैप करने की "
++"स्वीकृति दें"
+-#~ msgid "Application"
+-#~ msgstr "अनुप्रयोग"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo और su प्रभावित में संक्रमण की स्वीकृति मत दें"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "कर्नेल मॉड्यूल लोड करने के लिए किसी प्रक्रिया की अनुमति मत दें"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "कर्नेल SELinux पॉलिसी में किसी प्रक्रिया को मत स्वीकृति दें"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroublesoot डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "स्पैम सुरक्षा"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd को होम निर्देशिका के अभिगम की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assasin डेमॉन संजाल अभिगम की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid डेमॉन को संजाल से कनेक्ट होने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh लॉगिन को sysadm_r:sysadm_t के रूप में स्वीकृति दें"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s को जरूर निर्देशिका होनी चाहिए"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r उपयोक्ता को sysadm होम निर्देशिका व रीड फाइल कों खोजने की स्वीकृति दें (जैसे कि "
++"~/.bashrc)"
+-#~ msgid "You must select a user"
+-#~ msgstr "आपको जरूर उपयोक्ता चुनना है"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "सार्वभौमिक SSL टनेल"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel डेमॉन को पृथक चलाने की स्वीकृति दें, xinetd के बाहर"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "system cron jobs  के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "सीमित रहने के लिए एक्सक्यूटेबल फाइल चुनें."
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd को असीमित रूप से चलने की स्वीकृति दें, किसी सेवा के साथ जो यह आरंभ करती है जो "
++"डोमेन संक्रमण को अलग से परिभाषित नहीं रखती है"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "सीमित होने के लिए init स्क्रिप्ट चुनें."
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc स्क्रिप्ट को असीमित रूप से चलने की स्वीकृति दें, किसी सेवा के साथ जो rc स्क्रिप्ट आरंभ "
++"करती है जो डोमेन संक्रमण को अलग से परिभाषित नहीं रखती है"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "फाइलों को चुनें जिसे सीमित अनुप्रयोग बनाता है व लिखता है"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm को असीमित रूप से चलने की स्वीकृति दें"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "निर्देशिका चुनें जिसका सीमित अनुप्रयोग मालिक है व जिसमें लिखता है"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"हॉटप्लग और insmod की तरह के सुविधा प्राप्त उपयोगिता को असीमित रूप से चलने की स्वीकृति दें"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "निर्देशिका चुनें जिसमें पॉलिसी फाइल को लिखा जाना है"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "मौजूदा नीति में %s_t पहले से परिभाषित है.\n"
+-#~ "क्या आप जारी रखना चाहते हैं?"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-#~ msgid "Verify Name"
+-#~ msgstr "नाम जांचें"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r को sysadm_r पर su, sudo, या userhelper से होकर पहुंचने की अनुमति दें. अन्यथा, "
++"सिर्फ staff_r ऐसा कर सकता है"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "मॉड्यूल %s.pp पहले से मौजूदा नीति में लोड किया है.\n"
+-#~ "क्या आप जारी रखना चाहते हैं?"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "उपयोक्ता को mount कमांड चलाने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "नियमित उपयोक्ता को सीधा माउस अभिगम की स्वीकृति दें (सिर्फ X सर्वर को अनुमति दें)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "उपयोक्ता को dmesg कमांड चलाने की स्वीकृति दें"
+-#~ msgid "You must enter a name"
+-#~ msgstr "आपको एक नाम अवश्य दाखिल करना है"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"उपयोक्ता को संजाल अंतरफलक नियंत्रित करने की स्वीकृति दें (USERCTL=true के सही की जरूरत है)"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "आप जरूर एक एक्सक्यूटेबल दें"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "सामान्य उपयोक्ता को पिंग करने की स्वीकृति दें"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux विन्यस्त करें"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "r/w noextattrfile (FAT, CDROM, FLOPPY) करने के लिए उपयोक्ता को स्वीकृति दें"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "पोर्ट को जरूर 1 से %d तक संख्या या संख्या का परिसर जरूर होना चाहिए."
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "usb युक्ति को rw बनाने के लिए उपयोक्ता को स्वीकृति दें"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "अपनी सीमित प्रक्रिया/उपयोक्ता के लिए आप अपना नाम जरूर दें"
++#: ../gui/selinux.tbl:216
++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 ""
++"उपयोक्ता को TCP सर्वर (bind to ports and accept connection from the same "
++"domain and outside users) चलाने की स्वीकृति दें इन बलों को FTP निष्क्रिय मोड में "
++"निष्क्रिय करते हुए और अन्य प्रोटोकॉल बदल सकता है"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ttyfiles को stat के लिए उपयोक्ता को स्वीकृति दें"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm लॉगिन को sysadm_r:sysadm_t के रूप में स्वीकृति दें"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "भौतिक डिस्क युक्ति को xen को पढ़ने/लिखने की स्वीकृति दें"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "SELinux सुरक्षा को xen नियंत्रण के लिए निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS Password डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS Transfer डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER प्रकार अनुमति प्राप्त एक्सक्यूटेबल नहीं है"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm उपयोक्ता को अनधिकृत उपयोक्ता होम निर्देशिकाओं को प्रबंधित करने की "
++"स्वीकृति दें"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "सिर्फ DAEMON apps एक init स्क्रिप्ट का प्रयोग कर सकता है"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr "SELinux webadm उपयोक्ता को अनधिकृत उपयोक्ता होम निर्देशिकाओं को पढ़ने स्वीकृति दें"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog के पास जरूर बूलियन मान होना चाहिए"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "क्या आप निश्चित हैं कि आप %s '%s' को मिटाना चाहते हैं?"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER प्रकार को स्वतः tmp प्रकार लेना चाहिए"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s मिटाएं"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "अपने सीमति प्रक्रिया के लिए आप जरूर अपना एक्सक्यूटेबल पथ दें"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s जोड़ें"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "टाइप बाध्यकारी फाइल"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s बदलें"
+-#~ msgid "Interface file"
+-#~ msgstr "अंतरफलक फाइल"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "अनुज्ञात्मक"
+-#~ msgid "File Contexts file"
+-#~ msgstr "फाइल संदर्भ फाइल"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "बाध्यकारी"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "निष्क्रिय"
+-#~ msgid "Setup Script"
+-#~ msgstr "सेटअप स्क्रिप्ट"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "स्तर"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux पोर्ट\n"
+-#~ "प्रकार"
++#: ../gui/statusPage.py:133
++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 ""
++"पॉलिसी प्रकार को बदलना पूरे फाइल सिस्टम को रिलेबल करने का कारण बनेगा अगले बूट पर. "
++"रिलेबलिंग लंबा समय लेता है फाइल सिस्टम के आकार पर निर्भर करते हुए.  क्या आप जारी रखना "
++"चाहते हैं?"
+-#~ msgid "Protocol"
+-#~ msgstr "प्रोटोकॉल"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux को निष्क्रिय में बदलने के लिए रिबूट की जरूरत होती है.  इसकी सलाह नहीं दी जाती "
++"है.  यदि आप SELinux को वापस लौटाने की सोचते हैं, सिस्टम को रिलेबल करने की जरूरत "
++"होगी.  यदि आप यह देखना चाहते हैं कि SELinux सिस्टम पर समस्या दे रहा है, आप अनुज्ञात्मक "
++"मोड में जा सकते हैं जो सिर्फ त्रुटि देगा और SELinux पॉलिसी को बाध्यकारी नहीं करेगा.  "
++"अनुज्ञात्मक मोड के लिए रिबूट की जरूरत नहीं है, क्या आप जारी रखना चाहते हैं?"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "स्तर"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"सक्रिय SELinux स्थिति में बदलना अगले बूट पर पूरे फाइल सिस्टम के फिर लेबल किये जाने का "
++"कारण बनेगा. फाइल सिस्टम के आकार के आधार पर फिर से लेबल किया जाना काफी समय लेता है. "
++"क्या आप जारी रखना चाहेंगे?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Port"
+-#~ msgstr "पोर्ट"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "पोर्ट संख्या \"%s\" वैध नहीं है.  0 < PORT_NUMBER < 65536 "
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux लॉगिंग मैपिंग"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux संजाल पोर्ट"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux प्रकार"
+-#~ msgid "List View"
+-#~ msgstr "अंतिम दृश्य"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"स्तर"
+-#~ msgid "Group View"
+-#~ msgstr "समूह दृश्य"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "फाइल विशेषता"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "फाइल प्रकार"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux सेवा सुरक्षा"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"सभी फाइलें\n"
++"नियमित फाइल\n"
++"निर्देशिका\n"
++"संप्रतीक युक्ति\n"
++"ब्लॉक युक्ति\n"
++"सॉकेट\n"
++"सांकेतिक लिंक\n"
++"नामित पाइप\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux उपयोक्ता जोड़ें"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux प्रशासन"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "जोड़ें"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "गुण (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "मिटाएँ (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "प्रबंधन वस्तु चुनें"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>चुनें:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "सिस्टम मूलभूत बाध्यकारी मोड"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"निष्क्रिय\n"
++"अनुज्ञात्मक\n"
++"बाध्यकारी\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "मौजूदा पुनर्बलन मोड"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "सिस्टम मूलभूत पॉलिसी प्रकार: "
+-#~ msgid "Admin"
+-#~ msgstr "Admin"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"चुनें यदि आप पूरे फाइल सिस्टम को अगले रिबूट पर फिर लेबल करना चाहते हैं.  रिलेबल करना लंबा "
++"समय ले सकता है, सिस्टम के आकार पर निर्भर करते हुए.  यदि आप पॉलिसी प्रकार को निष्क्रिय "
++"से बाध्यकारी में बदल रहे हैं, फिर लेबल करना जरूरी है."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "अगले रिबूट पर फिर लेबल करें."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "सिस्टम मूलभूत में बुलियन सेटिंग वापस लाएं"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "पसंदीदा और सभी बुलियन के बीच टॉगल करें"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "बुलियन लॉकडाउन सहायक चलाएँ"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "लॉकडाउन..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "फिल्टर"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "फाइल संदर्भ जोड़ें"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "फाइल संदर्भ बदलें"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "फाइल संदर्भ मिटाएं"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "सभी और पसंदीदा फाइल संदर्भ के बीच टॉगल करें"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "सभी डेमॉन को कोरफाइलों को / में लिखने की स्वीकृति दें"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux उपयोक्ता मैपिंग जोड़ें"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "सभी डेमॉन को गैर आबंटति ttys के प्रयोग की छूट दें"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux उपयोक्ता मैपिंग बदलें"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux उपयोक्ता मैपिंग मिटाएं"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "उपयोक्ता जोड़ें"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "उपयोक्ता बदलें"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "उपयोक्ता मिटाएँ"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "अनुवाद जोड़ें"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "अनुवाद बदलें"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "अनुवाद मिटाएँ"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "संजाल पोर्ट जोड़ें"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "संजाल पोर्ट संपादित करें"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "संजाल पोर्ट मिटाएं"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "पसंदीदा और सभी पोर्ट के बीच टॉगल करें"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "नया पॉलिसी मॉड्यूल उत्पन्न करें"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "पॉलिसी मॉड्यूल लोड करें."
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "लोड करने लायक सार्वजनिक मॉड्यूल हटाएं"
+-#~ msgid "User Privs"
+-#~ msgstr "उपयोक्ता Privs"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"अतिरिक्त ऑडिट नियम सक्रिय/निष्क्रिय करें, जो लॉग फाइल में सामान्यतः रिपोर्ट नहीं किया "
++"हुआ है."
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux उपयोक्ता खाता को फाइलों को उनके होम निर्देशिका या /tmp में "
+-#~ "निष्पादित करने की अनुमति दें"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "अतिथि SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादित "
+-#~ "करने की अनुमति दें"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "प्रक्रिया विधि अनुज्ञात्मक में बदलें."
+-#~ msgid "Memory Protection"
+-#~ msgstr "स्मृति सुरक्षा"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "प्रक्रिया विधि बाध्यकारी में बदलें."
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "java एक्सक्यूटेबल स्टैक की स्वीकृति दें"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "प्रक्रिया डोमेन"
+-#~ msgid "Mount"
+-#~ msgstr "आरोह"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "किसी फाइल को माउंट करने के लिए mount को अनुमति दें"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "किसी निर्देशिका को माउंट करने के लिए mount को अनुमति दें"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer एक्सक्यूटेबल स्टैक की स्वीकृति दें"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh को ssh-keysign चलाने की स्वीकृति दें"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "स्टाफ SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन की "
+-#~ "स्वीकृति दें"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन की "
+-#~ "स्वीकृति दें"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "असीमित SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन की "
+-#~ "स्वीकृति दें"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "संजाल विन्यास"
+-
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "संजाल पर बिना लेबल किये पैकेट को स्वीकृति दें"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "उपयोक्ता SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादन "
+-#~ "की स्वीकृति दें"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "असीमित को dyntrans से unconfined_execmem में स्वीकृति दें"
+-
+-#~ msgid "Databases"
+-#~ msgstr "डाटाबेस"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "उपयोक्ता को mysql सॉकेट में जोड़ने की स्वीकृति दें"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "उपयोक्ता को postgres सॉकेट में जोड़ने की स्वीकृति दें"
+-
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
+-
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "क्लाइंट को X साझा स्मृति में लिखने की अनुमति दें"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux उपयोक्ता खाता को उनके होम निर्देशिका या /tmp में फाइल निष्पादित "
+-#~ "करने की अनुमति दें"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "NIS के डेमॉन चलाने की स्वीकृति दें"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "वेब अनुप्रयोग"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "स्टाफ SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "sysadm SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "उपयोक्ता SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "xguest SELinux उपयोक्ता को वेब ब्रॉउजर डोमेन में ले जाएं"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "स्टाफ वेब ब्रॉउजर को होम निर्देशिका में लिखने की स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Cluster Server के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "cdrecord को विभिन्न सामग्री को पढ़ने के लिए स्वीकृति दें. nfs, samba, विस्थापनीय "
+-#~ "युक्तियां, user temp और अविश्वसनीय सामग्री फाइलें"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Cron"
+-#~ msgstr "क्रॉन"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Printing"
+-#~ msgstr "छाप रहा है"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd बैकेंड सर्वर के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "sysadm_t को सीधे डेमॉन को आरंभ करने की स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Evolution के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Games"
+-#~ msgstr "खेल"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "गेम के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "वेब ब्रॉउजर के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Thunderbird के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "सुसंगतता"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "उन चीजों का ऑडिट मत करें जिसे हम टूटे हुए के तौर पर जानते हैं लेकिन जो सुरक्षा खतरा नहीं "
+-#~ "है"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "hplip डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD सेवा"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd child डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "करबरोस"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "उपयोक्ता फाइल पढ़ने के लिए evolution और thunderbird को स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "मोजिला ब्रॉउजर को उपयोक्ता फाइलें पढ़ने की स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "नाम सेवा"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManager के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Samba"
+-#~ msgstr "सांबा"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "pppd को नियमित उपयोक्ता के रूप में चलने की स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readahead के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr "गैर मानक स्थान में फाइलों को पढ़ने की प्रोग्राम को अनुमति दें (default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ssh को inetd से चलने की स्वीकृति डेमॉन के रूप के बजाय दें"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Samba को nfs निर्देशिका साझा करने की स्वीकृति दें"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL सत्यापन सर्वर"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "sasl सत्यापन सर्वर को /etc/shadow को पढ़ने की स्वीकृति दें"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "X-Windows सर्वर को एक्सक्यूटेबल व लिखने योग्य दोनों रूप में स्मृति क्षेत्र में मैप करने की "
+-#~ "स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "sysadm_t, sudo और su प्रभावित में संक्रमण की स्वीकृति मत दें"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "कर्नेल मॉड्यूल लोड करने के लिए किसी प्रक्रिया की अनुमति मत दें"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "कर्नेल SELinux पॉलिसी में किसी प्रक्रिया को मत स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroublesoot डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "स्पैम सुरक्षा"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd को होम निर्देशिका के अभिगम की स्वीकृति दें"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Spam Assasin डेमॉन संजाल अभिगम की स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid डेमॉन को संजाल से कनेक्ट होने की स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh लॉगिन को sysadm_r:sysadm_t के रूप में स्वीकृति दें"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r उपयोक्ता को sysadm होम निर्देशिका व रीड फाइल कों खोजने की स्वीकृति दें (जैसे "
+-#~ "कि ~/.bashrc)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "सार्वभौमिक SSL टनेल"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "stunnel डेमॉन को पृथक चलाने की स्वीकृति दें, xinetd के बाहर"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "system cron jobs  के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "xinetd को असीमित रूप से चलने की स्वीकृति दें, किसी सेवा के साथ जो यह आरंभ करती है जो "
+-#~ "डोमेन संक्रमण को अलग से परिभाषित नहीं रखती है"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "rc स्क्रिप्ट को असीमित रूप से चलने की स्वीकृति दें, किसी सेवा के साथ जो rc स्क्रिप्ट आरंभ "
+-#~ "करती है जो डोमेन संक्रमण को अलग से परिभाषित नहीं रखती है"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm को असीमित रूप से चलने की स्वीकृति दें"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "हॉटप्लग और insmod की तरह के सुविधा प्राप्त उपयोगिता को असीमित रूप से चलने की "
+-#~ "स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "user_r को sysadm_r पर su, sudo, या userhelper से होकर पहुंचने की अनुमति दें. "
+-#~ "अन्यथा, सिर्फ staff_r ऐसा कर सकता है"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "उपयोक्ता को mount कमांड चलाने की स्वीकृति दें"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "नियमित उपयोक्ता को सीधा माउस अभिगम की स्वीकृति दें (सिर्फ X सर्वर को अनुमति दें)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "उपयोक्ता को dmesg कमांड चलाने की स्वीकृति दें"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "उपयोक्ता को संजाल अंतरफलक नियंत्रित करने की स्वीकृति दें (USERCTL=true के सही की "
+-#~ "जरूरत है)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "सामान्य उपयोक्ता को पिंग करने की स्वीकृति दें"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "r/w noextattrfile (FAT, CDROM, FLOPPY) करने के लिए उपयोक्ता को स्वीकृति दें"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "usb युक्ति को rw बनाने के लिए उपयोक्ता को स्वीकृति दें"
+-
+-#~ 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 ""
+-#~ "उपयोक्ता को TCP सर्वर (bind to ports and accept connection from the same "
+-#~ "domain and outside users) चलाने की स्वीकृति दें इन बलों को FTP निष्क्रिय मोड में "
+-#~ "निष्क्रिय करते हुए और अन्य प्रोटोकॉल बदल सकता है"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "ttyfiles को stat के लिए उपयोक्ता को स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm लॉगिन को sysadm_r:sysadm_t के रूप में स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "भौतिक डिस्क युक्ति को xen को पढ़ने/लिखने की स्वीकृति दें"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "SELinux सुरक्षा को xen नियंत्रण के लिए निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS Password डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS Transfer डेमॉन के लिए SELinux सुरक्षा निष्क्रिय करें"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm उपयोक्ता को अनधिकृत उपयोक्ता होम निर्देशिकाओं को प्रबंधित करने की "
+-#~ "स्वीकृति दें"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm उपयोक्ता को अनधिकृत उपयोक्ता होम निर्देशिकाओं को पढ़ने स्वीकृति दें"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "क्या आप निश्चित हैं कि आप %s '%s' को मिटाना चाहते हैं?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s मिटाएं"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s जोड़ें"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s बदलें"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "अनुज्ञात्मक"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "बाध्यकारी"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "निष्क्रिय"
+-
+-#~ msgid "Status"
+-#~ msgstr "स्तर"
+-
+-#~ 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 ""
+-#~ "पॉलिसी प्रकार को बदलना पूरे फाइल सिस्टम को रिलेबल करने का कारण बनेगा अगले बूट पर. "
+-#~ "रिलेबलिंग लंबा समय लेता है फाइल सिस्टम के आकार पर निर्भर करते हुए.  क्या आप जारी "
+-#~ "रखना चाहते हैं?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "SELinux को निष्क्रिय में बदलने के लिए रिबूट की जरूरत होती है.  इसकी सलाह नहीं दी "
+-#~ "जाती है.  यदि आप SELinux को वापस लौटाने की सोचते हैं, सिस्टम को रिलेबल करने की "
+-#~ "जरूरत होगी.  यदि आप यह देखना चाहते हैं कि SELinux सिस्टम पर समस्या दे रहा है, आप "
+-#~ "अनुज्ञात्मक मोड में जा सकते हैं जो सिर्फ त्रुटि देगा और SELinux पॉलिसी को बाध्यकारी "
+-#~ "नहीं करेगा.  अनुज्ञात्मक मोड के लिए रिबूट की जरूरत नहीं है, क्या आप जारी रखना चाहते हैं?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "सक्रिय SELinux स्थिति में बदलना अगले बूट पर पूरे फाइल सिस्टम के फिर लेबल किये जाने का "
+-#~ "कारण बनेगा. फाइल सिस्टम के आकार के आधार पर फिर से लेबल किया जाना काफी समय लेता "
+-#~ "है. क्या आप जारी रखना चाहेंगे?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux लॉगिंग मैपिंग"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux संजाल पोर्ट"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux प्रकार"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "स्तर"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "फाइल विशेषता"
+-
+-#~ msgid "File Type"
+-#~ msgstr "फाइल प्रकार"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "सभी फाइलें\n"
+-#~ "नियमित फाइल\n"
+-#~ "निर्देशिका\n"
+-#~ "संप्रतीक युक्ति\n"
+-#~ "ब्लॉक युक्ति\n"
+-#~ "सॉकेट\n"
+-#~ "सांकेतिक लिंक\n"
+-#~ "नामित पाइप\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux उपयोक्ता जोड़ें"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux प्रशासन"
+-
+-#~ msgid "Add"
+-#~ msgstr "जोड़ें"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "गुण (_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "मिटाएँ (_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "प्रबंधन वस्तु चुनें"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>चुनें:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "सिस्टम मूलभूत बाध्यकारी मोड"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "मौजूदा पुनर्बलन मोड"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "सिस्टम मूलभूत पॉलिसी प्रकार: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "चुनें यदि आप पूरे फाइल सिस्टम को अगले रिबूट पर फिर लेबल करना चाहते हैं.  रिलेबल करना "
+-#~ "लंबा समय ले सकता है, सिस्टम के आकार पर निर्भर करते हुए.  यदि आप पॉलिसी प्रकार को "
+-#~ "निष्क्रिय से बाध्यकारी में बदल रहे हैं, फिर लेबल करना जरूरी है."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "अगले रिबूट पर फिर लेबल करें."
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "सिस्टम मूलभूत में बुलियन सेटिंग वापस लाएं"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "पसंदीदा और सभी बुलियन के बीच टॉगल करें"
+-
+-#~ msgid "Filter"
+-#~ msgstr "फिल्टर"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "फाइल संदर्भ जोड़ें"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "फाइल संदर्भ बदलें"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "फाइल संदर्भ मिटाएं"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "सभी और पसंदीदा फाइल संदर्भ के बीच टॉगल करें"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux उपयोक्ता मैपिंग जोड़ें"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux उपयोक्ता मैपिंग बदलें"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux उपयोक्ता मैपिंग मिटाएं"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "अनुवाद जोड़ें"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "अनुवाद रूपांतरित करें"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "अनुवाद मिटाएं"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux उपयोक्ता सुधारें"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "संजाल पोर्ट जोड़ें"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "संजाल पोर्ट संपादित करें"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "संजाल पोर्ट मिटाएं"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "पसंदीदा और सभी पोर्ट के बीच टॉगल करें"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "नया पॉलिसी मॉड्यूल उत्पन्न करें"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "पॉलिसी मॉड्यूल लोड करें."
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "लोड करने लायक सार्वजनिक मॉड्यूल हटाएं"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "अतिरिक्त ऑडिट नियम सक्रिय/निष्क्रिय करें, जो लॉग फाइल में सामान्यतः रिपोर्ट नहीं "
+-#~ "किया हुआ है."
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "संवेदनशीलता स्तर"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux उपयोक्ता '%s' जरूरी हैं"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "मान जरूरी"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "अवैध उपसर्ग %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr "अनुप्रयोग/उपयोक्ता भूमिका को किसी tcp पोर्ट से बाइंड करने दें > 1024"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr "किसी tcp पोर्ट में बांधने के लिए सीमित अनुप्रयोग/उपयोक्ता चुनें"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "tcp पोर्ट या पोर्ट के परिसर का कौमा से अलग किया सूची दाखिल करें या परिसर जिसमें "
+-#~ "अनुप्रयोग/प्रयोक्ता बंधा है. उदाहरण: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux पॉलिसी जनन ड्र्यूड"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "अनारक्षित पोर्ट (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr "इस चेकबटन को चुनें यदि आपका app bindresvport को 0 के साथ आह्वान करता है."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "बाध्यकारी\n"
+-#~ "अनुज्ञात्मक\n"
+-#~ "निष्क्रिय\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux उपयोक्ता '%s' जरूरी हैं"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/hr.po policycoreutils-2.0.85/po/hr.po
+--- nsapolicycoreutils/po/hr.po        2011-02-17 15:11:25.790723886 -0500
++++ policycoreutils-2.0.85/po/hr.po    2011-02-18 16:03:41.370975758 -0500
+@@ -2,16 +2,36 @@
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: 2007-10-06 03:44+0100\n"
+ "Last-Translator: Renato Pavicic <renato@translator-shop.org>\n"
+ "Language-Team: Croatian <www.translator-shop.org>\n"
++"Language: hr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Poedit-Language: Croatian\n"
+ "X-Poedit-Country: CROATIA\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "SELinux referentna pravila - osnovni modul 'targeted'."
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Alat za izradu SELinux pravila"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +138,8 @@
+ msgid "Level"
+ msgstr "Razina"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Prijevod"
+@@ -173,743 +194,750 @@
+ msgid "Permissive Types"
+ msgstr "Dopustivo"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Izrada ključa za %s nije moguća"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Nije moguće provjeriti je li mapiranje za prijavu %s određeno"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Mapiranje prijave za %s već je određeno"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, fuzzy, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux korisnik %s ne postoji"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux korisnik %s ne postoji"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Izrada mapiranja prijave za %s nije moguća"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Zadavanje naziva za %s nije moguće"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Zadavanje MLS raspona za %s nije moguće"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Zadavanje SELinux korisnika za %s nije moguće"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Dodavanje mapiranja prijave za %s nije moguće"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "dodaj SELinux korisničko mapiranje"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Zahtijeva seuser ili serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Mapiranje prijave za %s nije određeno"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Propitivanje seusera za %s nije moguće"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Uređivanje mapiranja prijave za %s nije moguće"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "Mapiranje prijave za %s određeno je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Brisanje mapiranja prijave za %s nije moguće"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Ispisivanje popisa mapiranja prijava nije moguće"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Korisničko ime"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux korisnik"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS raspon"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Dodavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Nije moguće provjeriti je li SELinux korisnik %s određen"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux korisnik %s već je određen"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Izrada SELinux korisnika za %s nije moguća"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Dodavanje uloge %s za %s nije moguće"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Zadavanje MLS razine za %s nije moguće"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Dodavanje prefiksa %s za %s nije moguće"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Izvlačenje ključa za %s nije moguće"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Dodavanje SELinux korisnika %s nije moguće"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Zahtijeva prefiks, uloge, razinu ili raspon"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Zahtijeva prefiks ili uloge"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux korisnik %s nije određen"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Propitivanje korisnika za %s nije moguće"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Uređivanje SELinux korisnika %s nije moguće"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux korisnik %s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Brisanje SELinux korisnika %s nije moguće"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Ispisivanje popisa SELinux korisnika nije moguće"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Ispisivanje popisa uloga korisnika %s nije moguće"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Označavanje"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefiks"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS razina"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS raspon"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux uloge"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Potreban je UDP ili TCP protokol"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Potreban je port"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Izrada ključa za %s/%s nije moguća"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Potrebna je vrsta"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Nije moguće provjeriti je li port %s/%s određen"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s već je određen"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Izrada porta za %s/%s nije moguća"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Izrada konteksta za %s/%s nije moguća"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Zadavanje korisnika u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Zadavanje uloge u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Zadavanje vrste u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Zadavanje MLS polja u kontekstu porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Zadavanje konteksta porta za %s/%s nije moguće"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Dodavanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Zahtijeva setype ili serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Zahtijeva setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s nije određen"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Propitivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Uređivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ #, fuzzy
+ msgid "Could not list the ports"
+ msgstr "Ispisivanje popisa portova nije moguće"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Brisanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Brisanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Ispisivanje popisa portova nije moguće"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux vrsta porta"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Broj porta"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ #, fuzzy
+ msgid "Node Address is required"
+ msgstr "Potreban je port"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ #, fuzzy
+ msgid "Node Netmask is required"
+ msgstr "Potreban je port"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Potrebna je SELinux vrsta"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Izrada ključa za %s nije moguća"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, fuzzy, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Nije moguće provjeriti je li port %s/%s određen"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "Port %s/%s već je određen"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Izrada ključa za %s nije moguća"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Izrada konteksta za %s nije moguća"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Zadavanje naziva za %s nije moguće"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Zadavanje korisnika u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Zadavanje uloge u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Zadavanje vrste u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Zadavanje MLS polja u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Zadavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Dodavanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Port %s/%s nije određen"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Propitivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Uređivanje porta %s/%s nije moguće"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, fuzzy, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Brisanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Ispisivanje popisa portova nije moguće"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Nije moguće provjeriti je li sučelje %s određeno"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Sučelje %s već je određeno"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Izrada sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Zadavanje korisnika u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Zadavanje uloge u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Zadavanje vrste u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Zadavanje MLS polja u kontekstu sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Zadavanje konteksta sučelja za %s nije moguće"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Zadavanje konteksta poruke za %s nije moguće"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Dodavanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Sučelje %s nije određeno"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Propitivanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Uređivanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Sučelje %s određeno je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Brisanje sučelja %s nije moguće"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Ispisivanje popisa sučelja nije moguće"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux sučelje"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Kontekst"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Zadavanje korisnika u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Zadavanje uloge u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Zadavanje MLS polja u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ #, fuzzy
+ msgid "Invalid file specification"
+ msgstr "Specifikacija:"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Nije moguće provjeriti je li kontekst datoteke za %s određen"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Kontekst datoteke za %s već je određen"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Izrada konteksta datoteke za %s nije moguća"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Zadavanje vrste u kontekstu datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Zadavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Dodavanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Zahtijeva setype, serange ili seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Kontekst datoteke za %s nije određen"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Propitivanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Uređivanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ #, fuzzy
+ msgid "Could not list the file contexts"
+ msgstr "Ispisivanje popisa konteksta datoteke nije moguće"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, fuzzy, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Brisanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "Kontekst datoteke za %s određen je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Brisanje konteksta datoteke za %s nije moguće"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Ispisivanje popisa konteksta datoteke nije moguće"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Izrada popisa konteksta lokalnih datoteka nije moguća"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "vrsta"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Nije moguće provjeriti je li Booleova vrijednost %s određena"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Booleova vrijednost %s nije određena"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Propitivanje konteksta datoteke %s nije moguće"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Potrebno je odrediti prefiks"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Brisanje Booleove vrijednosti %s nije moguće"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Uređivanje Booleove vrijednosti %s nije moguće"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Booleova vrijednost %s određena je u pravilima. Brisanje nije moguće."
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Brisanje Booleove vrijednosti %s nije moguće"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Ispisivanje popisa Booleovih vrijednosti nije moguće"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ #, fuzzy
+ msgid "on"
+ msgstr "Cron"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux Booleov"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1285,1463 +1313,2385 @@
+ msgid "Options Error %s "
+ msgstr "Pogreška opcija %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "Prijevodi nisu podržani na ne-MLS računalima"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Booleova vrijednost"
+-
+-#, fuzzy
+-#~ msgid "all"
+-#~ msgstr "Sve"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Booleova vrijednost"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++#, fuzzy
++msgid "all"
++msgstr "Sve"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
+-#~ msgid "File Labeling"
+-#~ msgstr "Označavanje datoteka"
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Označavanje datoteka"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Datoteka\n"
+-#~ "Specifikacija"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Datoteka\n"
++"Specifikacija"
++#: ../gui/fcontextPage.py:81
+ #, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "Kontekst"
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"Kontekst"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Datoteka\n"
+-#~ "Vrsta"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Datoteka\n"
++"Vrsta"
+-#~ msgid "User Mapping"
+-#~ msgstr "Korisničko mapiranje"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Korisničko mapiranje"
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Prijava\n"
+-#~ "Ime"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Prijava\n"
++"Ime"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Korisnik"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Korisnik"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS raspon"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS raspon"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Potrebna je '%s' prijava"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Potrebna je '%s' prijava"
+-#~ msgid "Policy Module"
+-#~ msgstr "Modul pravila"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Modul pravila"
+-#~ msgid "Module Name"
+-#~ msgstr "Naziv modula"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Naziv modula"
+-#~ msgid "Version"
+-#~ msgstr "Verzija"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Verzija"
++#: ../gui/modulesPage.py:134
+ #, fuzzy
+-#~ msgid "Disable Audit"
+-#~ msgstr "Nepovezana revizija"
++msgid "Disable Audit"
++msgstr "Nepovezana revizija"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
+ #, fuzzy
+-#~ msgid "Enable Audit"
+-#~ msgstr "Nepovezana revizija"
++msgid "Enable Audit"
++msgstr "Nepovezana revizija"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Učitaj modul pravila"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Učitaj modul pravila"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "translator-credits"
+-#~ msgstr "Renato Pavičić, renato<AT>translator-shop.org"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Renato Pavičić, renato<AT>translator-shop.org"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Alat za izradu SELinux pravila"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++#: ../gui/polgen.glade:165
+ #, fuzzy
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Da biste pokrenuli ovu aplikaciju morate biti korijenski korisnik."
++msgid "Select type of the application/user role to be confined"
++msgstr "Da biste pokrenuli ovu aplikaciju morate biti korijenski korisnik."
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Aplikacije</b>"
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Aplikacije</b>"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Standardni demon inicijalizacije"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standardni demon inicijalizacije"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Demon internetskih usluga (inetd)"
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Demon internetskih usluga (inetd)"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Web-aplikacija/Skripta (CGI)"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
+-#~ msgid "User Application"
+-#~ msgstr "Korisnička aplikacija"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Web-aplikacija/Skripta (CGI)"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Korisnička aplikacija"
++
++#: ../gui/polgen.glade:389
+ #, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Korisnici</b>"
++msgid "<b>Login Users</b>"
++msgstr "<b>Korisnici</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++#: ../gui/polgen.glade:516
+ #, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "Uloga"
++msgid "User Role"
++msgstr "Uloga"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++#: ../gui/polgen.glade:583
+ #, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Korisnici</b>"
++msgid "<b>Root Users</b>"
++msgstr "<b>Korisnici</b>"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
+ #, fuzzy
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Korijenski korisnik"
++msgid "Root Admin User Role"
++msgstr "Korijenski korisnik"
++#: ../gui/polgen.glade:732
+ #, fuzzy
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Da biste pokrenuli ovu aplikaciju morate biti korijenski korisnik."
++msgid "Enter name of application or user role to be confined"
++msgstr "Da biste pokrenuli ovu aplikaciju morate biti korijenski korisnik."
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
+ #, fuzzy
+-#~ msgid "Name"
+-#~ msgstr "Naziv"
++msgid "Name"
++msgstr "Naziv"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++#: ../gui/polgen.glade:845
+ #, fuzzy
+-#~ msgid "Executable"
+-#~ msgstr "&Izvršna datoteka:"
++msgid "Executable"
++msgstr "&Izvršna datoteka:"
++#: ../gui/polgen.glade:873
+ #, fuzzy
+-#~ msgid "Init script"
+-#~ msgstr "Korisnička skripta"
++msgid "Init script"
++msgstr "Korisnička skripta"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
+ #, fuzzy
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "Odaberite najmanje jednu grupu za korisnika."
++msgid "Select additional domains to which this user role will transition"
++msgstr "Odaberite najmanje jednu grupu za korisnika."
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
+ #, fuzzy
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "Odaberite najmanje jednu grupu za korisnika."
++msgid "Select additional domains that this user role will administer"
++msgstr "Odaberite najmanje jednu grupu za korisnika."
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++#: ../gui/polgen.glade:1277
+ #, fuzzy
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Odaberite najmanje jednu grupu za korisnika."
++msgid "Select additional roles for this user"
++msgstr "Odaberite najmanje jednu grupu za korisnika."
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP portovi</b>"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP portovi</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Sve"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
+-#~ msgid "All"
+-#~ msgstr "Sve"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
+ #, fuzzy
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "DSL 4096/1024"
++msgid "Unreserved Ports (>1024)"
++msgstr "DSL 4096/1024"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
+ #, fuzzy
+-#~ msgid "Select Ports"
+-#~ msgstr "Ostali portovi"
++msgid "Select Ports"
++msgstr "Ostali portovi"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP portovi</b>"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Select common application traits"
+-#~ msgstr "Aplikacija za upravljanje glazbom"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP portovi</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++#: ../gui/polgen.glade:2183
+ #, fuzzy
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr ""
+-#~ "Pluggable Authentication Module (PAM) za upotrebu sa SMB poslužiteljima"
++msgid "Select common application traits"
++msgstr "Aplikacija za upravljanje glazbom"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
+ #, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Pogreška pri slanju poruke provjere.\n"
++msgid "Uses Pam for authentication"
++msgstr ""
++"Pluggable Authentication Module (PAM) za upotrebu sa SMB poslužiteljima"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++#: ../gui/polgen.glade:2297
+ #, fuzzy
+-#~ msgid "Policy Directory"
+-#~ msgstr "Zadana mapa"
++msgid "Sends audit messages"
++msgstr "Pogreška pri slanju poruke provjere.\n"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
+ #, fuzzy
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Učitavanje generiranih datoteka…"
++msgid "Policy Directory"
++msgstr "Zadana mapa"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
+ #, fuzzy
+-#~ msgid "Boolean Name"
+-#~ msgstr "Booleova vrijednost"
++msgid "Generated Policy Files"
++msgstr "Učitavanje generiranih datoteka…"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
+-#~ msgid "Role"
+-#~ msgstr "Uloga"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
+-#~ msgid "Application"
+-#~ msgstr "Aplikacija"
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++#: ../gui/polgen.glade:3200
+ #, fuzzy
+-#~ msgid "%s must be a directory"
+-#~ msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++msgid "Boolean Name"
++msgstr "Booleova vrijednost"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Uloga"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Aplikacija"
++
++#: ../gui/polgengui.py:269
++#, fuzzy, python-format
++msgid "%s must be a directory"
++msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
+ #, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Potrebno je unijeti ime"
++msgid "You must select a user"
++msgstr "Potrebno je unijeti ime"
++#: ../gui/polgengui.py:453
+ #, fuzzy
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Odaberite _particiju na koju će biti smještena razmjenska datoteka:"
++msgid "Select executable file to be confined."
++msgstr "Odaberite _particiju na koju će biti smještena razmjenska datoteka:"
+-#~ msgid "You must enter a name"
+-#~ msgstr "Potrebno je unijeti ime"
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Potrebno je unijeti izvršni program"
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Konfiguriraj SELinux"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Ping razdoblje mora biti između 1 i 10"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Potrebno je unijeti ime"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Potrebno je unijeti izvršni program"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Konfiguriraj SELinux"
++
++#: ../gui/polgen.py:174
++#, fuzzy, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Ping razdoblje mora biti između 1 i 10"
++
++#: ../gui/polgen.py:204
+ #, fuzzy
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr ""
+-#~ "Ako je odabrano 'Nova usluga', potrebno je unijeti naziv nove usluge "
++msgid "You must enter a name for your confined process/user"
++msgstr "Ako je odabrano 'Nova usluga', potrebno je unijeti naziv nove usluge "
++#: ../gui/polgen.py:282
+ #, fuzzy
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Prazan certifikat autorizacije nije dopušten."
++msgid "USER Types are not allowed executables"
++msgstr "Prazan certifikat autorizacije nije dopušten."
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
+ #, fuzzy
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr ""
+-#~ "Vrijednost opcije \"%s\" mora biti \"yes\" ili \"no\" (\"da\" ili \"ne\")"
++msgid "use_syslog must be a boolean value "
++msgstr ""
++"Vrijednost opcije \"%s\" mora biti \"yes\" ili \"no\" (\"da\" ili \"ne\")"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
+ #, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Datoteke prisile vrste"
++msgid "Type Enforcement file"
++msgstr "Datoteke prisile vrste"
+-#~ msgid "Interface file"
+-#~ msgstr "Datoteka sučelja"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Datoteka sučelja"
+-#~ msgid "File Contexts file"
+-#~ msgstr "Datoteka konteksta"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Datoteka konteksta"
++#: ../gui/polgen.py:851
+ #, fuzzy
+-#~ msgid "Setup Script"
+-#~ msgstr "Korisnička skripta"
++msgid "Setup Script"
++msgstr "Korisnička skripta"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
+ #, fuzzy
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr "Potreban je port"
++msgid "Network Port"
++msgstr "Port za mrežno povezivanje"
+-#~ msgid "Protocol"
+-#~ msgstr "Protokol"
++#: ../gui/portsPage.py:85
++#, fuzzy
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr "Potreban je port"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Razina"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokol"
+-#~ msgid "Port"
+-#~ msgstr "Port"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"Razina"
+-#, fuzzy
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Vrijednost koju ste unijeli nije ispravni broj."
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
+-#, fuzzy
+-#~ msgid "Group View"
+-#~ msgstr "Prikaz klijenata"
++#: ../gui/portsPage.py:207
++#, fuzzy, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Vrijednost koju ste unijeli nije ispravni broj."
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux usluga zaštite"
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon acct"
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++#, fuzzy
++msgid "Group View"
++msgstr "Prikaz klijenata"
+-#~ msgid "Admin"
+-#~ msgstr "Admin"
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux usluga zaštite"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Onemogući SELinux zaštitu za demon acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++#: ../gui/selinux.tbl:2
+ #, fuzzy
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Dopusti klijentima zapisivanje u X dijeljenu memoriju"
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Dopusti klijentima zapisivanje u X dijeljenu memoriju"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Korisničke privilegije"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
+-#~ msgid "User Privs"
+-#~ msgstr "Korisničke privilegije"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
+-#~ msgid "Memory Protection"
+-#~ msgstr "Zaštita memorije"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Zaštita memorije"
++#: ../gui/selinux.tbl:6
+ #, fuzzy
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Ograničenje veličine spremnika memorije"
++msgid "Allow java executable stack"
++msgstr "Ograničenje veličine spremnika memorije"
+-#~ msgid "Mount"
+-#~ msgstr "Pristupi"
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Pristupi"
++#: ../gui/selinux.tbl:7
+ #, fuzzy
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++msgid "Allow mount to mount any file"
++msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++#: ../gui/selinux.tbl:8
+ #, fuzzy
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++msgid "Allow mount to mount any directory"
++msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++#: ../gui/selinux.tbl:9
+ #, fuzzy
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Ograničenje veličine spremnika memorije"
++msgid "Allow mplayer executable stack"
++msgstr "Ograničenje veličine spremnika memorije"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Omogući da ssh pokreće ssh-keysign"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Omogući da ssh pokreće ssh-keysign"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
+-#~ msgid "Network Configuration"
+-#~ msgstr "Konfiguriranje mreže"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "Dopusti neometeno djelovanje alatu rpm."
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
+-#~ msgid "Databases"
+-#~ msgstr "Baze podataka"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Konfiguriranje mreže"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Dopusti korisnicima povezivanje na mysql socket"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Dopusti korisnicima povezivanje na postgres socket"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/selinux.tbl:16
++#, fuzzy
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Dopusti neometeno djelovanje alatu rpm."
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Dopusti klijentima zapisivanje u X dijeljenu memoriju"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Baze podataka"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Dopusti korisnicima povezivanje na mysql socket"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Omogući demonima pokretanje s NIS."
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Dopusti korisnicima povezivanje na postgres socket"
+-#~ msgid "Web Applications"
+-#~ msgstr "Web aplikacije"
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
+-#, fuzzy
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr ""
+-#~ "Dopusti alatu ftp da piše/čita datoteke u korisničkim glavnim mapama."
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Dopusti klijentima zapisivanje u X dijeljenu memoriju"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Onemogući SELinux zaštitu za amanda"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Onemogući SELinux zaštitu za amavis"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Omogući demonima pokretanje s NIS."
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web aplikacije"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon apmd"
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon arpwatch"
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon auditd"
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon automount"
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++#, fuzzy
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Dopusti alatu ftp da piše/čita datoteke u korisničkim glavnim mapama."
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Onemogući SELinux zaštitu za avahi"
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Onemogući SELinux zaštitu za amanda"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon bluetooth"
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Onemogući SELinux zaštitu za amavis"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon canna"
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Onemogući SELinux zaštitu za demon apmd"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cardmgr"
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Onemogući SELinux zaštitu za demon arpwatch"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Onemogući Selinux zaštitu za cupsd backend poslužitelj"
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Onemogući SELinux zaštitu za demon auditd"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ciped"
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Onemogući SELinux zaštitu za demon automount"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon clamd"
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Onemogući SELinux zaštitu za avahi"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Onemogući SELinux zaštitu za clamscan"
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Onemogući SELinux zaštitu za demon bluetooth"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Onemogući SELinux zaštitu za clvmd"
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Onemogući SELinux zaštitu za demon canna"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon comsat"
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Onemogući SELinux zaštitu za demon cardmgr"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon courier"
++#: ../gui/selinux.tbl:40
++#, fuzzy
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Onemogući Selinux zaštitu za cupsd backend poslužitelj"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cpucontrol"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cpuspeed"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Onemogući SELinux zaštitu za demon ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Onemogući SELinux zaštitu za demon clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Onemogući SELinux zaštitu za clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Onemogući SELinux zaštitu za clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Onemogući SELinux zaštitu za demon comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Onemogući SELinux zaštitu za demon courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Onemogući SELinux zaštitu za demon cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Onemogući SELinux zaštitu za demon cpuspeed"
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Onemogući SELinux zaštitu za demon crond"
+-#~ msgid "Printing"
+-#~ msgstr "Ispisivanje"
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Ispisivanje"
++#: ../gui/selinux.tbl:55
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Onemogući Selinux zaštitu za cupsd backend poslužitelj"
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Onemogući Selinux zaštitu za cupsd backend poslužitelj"
++#: ../gui/selinux.tbl:56
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cupsd"
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Onemogući SELinux zaštitu za demon cupsd"
++#: ../gui/selinux.tbl:57
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Onemogući SELinux zaštitu za cupsd_lpd"
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Onemogući SELinux zaštitu za cupsd_lpd"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++#: ../gui/selinux.tbl:58
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cvs"
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Onemogući SELinux zaštitu za demon cvs"
++#: ../gui/selinux.tbl:59
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cyrus"
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Onemogući SELinux zaštitu za demon cyrus"
++#: ../gui/selinux.tbl:60
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dbskkd"
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Onemogući SELinux zaštitu za demon dbskkd"
++#: ../gui/selinux.tbl:61
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dbusd"
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Onemogući SELinux zaštitu za demon dbusd"
++#: ../gui/selinux.tbl:62
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for dccd"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:63
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for dccifd"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:64
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for dccm"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:65
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ddt"
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Onemogući SELinux zaštitu za demon ddt"
++#: ../gui/selinux.tbl:66
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon devfsd"
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Onemogući SELinux zaštitu za demon devfsd"
++#: ../gui/selinux.tbl:67
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dhcpc"
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Onemogući SELinux zaštitu za demon dhcpc"
++#: ../gui/selinux.tbl:68
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dhcpd"
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Onemogući SELinux zaštitu za demon dhcpd"
++#: ../gui/selinux.tbl:69
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dictd"
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Onemogući SELinux zaštitu za demon dictd"
++#: ../gui/selinux.tbl:70
+ #, fuzzy
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Dopusti sysadm_t da izravno pokrene demone."
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Dopusti sysadm_t da izravno pokrene demone."
++#: ../gui/selinux.tbl:71
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for Evolution"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:72
+ #, fuzzy
+-#~ msgid "Games"
+-#~ msgstr "Igre"
++msgid "Games"
++msgstr "Igre"
++#: ../gui/selinux.tbl:72
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for games"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:73
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:74
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:75
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon distccd"
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Onemogući SELinux zaštitu za demon distccd"
++#: ../gui/selinux.tbl:76
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dmesg"
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Onemogući SELinux zaštitu za demon dmesg"
++#: ../gui/selinux.tbl:77
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dnsmasq"
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Onemogući SELinux zaštitu za demon dnsmasq"
++#: ../gui/selinux.tbl:78
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon dovecot"
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Onemogući SELinux zaštitu za demon dovecot"
++#: ../gui/selinux.tbl:79
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon entropyd"
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Onemogući SELinux zaštitu za demon entropyd"
++#: ../gui/selinux.tbl:80
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:81
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon fingerd"
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Onemogući SELinux zaštitu za demon fingerd"
++#: ../gui/selinux.tbl:82
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon freshclam"
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Onemogući SELinux zaštitu za demon freshclam"
++#: ../gui/selinux.tbl:83
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon fsdaemon"
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Onemogući SELinux zaštitu za demon fsdaemon"
++#: ../gui/selinux.tbl:84
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon gpm"
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Onemogući SELinux zaštitu za demon gpm"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++#: ../gui/selinux.tbl:85
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon gss"
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Onemogući SELinux zaštitu za demon gss"
++#: ../gui/selinux.tbl:86
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon hal"
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Onemogući SELinux zaštitu za demon hal"
+-#~ msgid "Compatibility"
+-#~ msgstr "Kompatibilnost"
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Kompatibilnost"
++#: ../gui/selinux.tbl:87
+ #, fuzzy
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Ne provjeravaj stvari za koje znamo da su nedovršene, ali koje ne "
+-#~ "predstavljaju sigurnosni rizik."
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Ne provjeravaj stvari za koje znamo da su nedovršene, ali koje ne "
++"predstavljaju sigurnosni rizik."
++#: ../gui/selinux.tbl:88
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon hostname"
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Onemogući SELinux zaštitu za demon hostname"
++#: ../gui/selinux.tbl:89
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon hotplug"
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Onemogući SELinux zaštitu za demon hotplug"
++#: ../gui/selinux.tbl:90
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon howl"
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Onemogući SELinux zaštitu za demon howl"
++#: ../gui/selinux.tbl:91
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cups hplip"
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Onemogući SELinux zaštitu za demon cups hplip"
++#: ../gui/selinux.tbl:92
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Onemogući SELinux zaštitu za demon httpd"
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Onemogući SELinux zaštitu za demon httpd"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD usluga"
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD usluga"
++#: ../gui/selinux.tbl:93
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Onemogući SELinux zaštitu za http suexec"
++msgid "Disable SELinux protection for http suexec"
++msgstr "Onemogući SELinux zaštitu za http suexec"
++#: ../gui/selinux.tbl:94
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon hwclock"
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Onemogući SELinux zaštitu za demon hwclock"
++#: ../gui/selinux.tbl:95
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon i18n"
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Onemogući SELinux zaštitu za demon i18n"
++#: ../gui/selinux.tbl:96
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon imazesrv"
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Onemogući SELinux zaštitu za demon imazesrv"
++#: ../gui/selinux.tbl:97
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Onemogući SELinux zaštitu za demone inetd child"
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Onemogući SELinux zaštitu za demone inetd child"
++#: ../gui/selinux.tbl:98
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon inetd"
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Onemogući SELinux zaštitu za demon inetd"
++#: ../gui/selinux.tbl:99
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon innd"
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Onemogući SELinux zaštitu za demon innd"
++#: ../gui/selinux.tbl:100
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon iptables"
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Onemogući SELinux zaštitu za demon iptables"
++#: ../gui/selinux.tbl:101
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ircd"
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Onemogući SELinux zaštitu za demon ircd"
++#: ../gui/selinux.tbl:102
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon irqbalance"
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Onemogući SELinux zaštitu za demon irqbalance"
++#: ../gui/selinux.tbl:103
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:104
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon jabberd"
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Onemogući SELinux zaštitu za demon jabberd"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++#: ../gui/selinux.tbl:105
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon kadmind"
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Onemogući SELinux zaštitu za demon kadmind"
++#: ../gui/selinux.tbl:106
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon klogd"
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Onemogući SELinux zaštitu za demon klogd"
++#: ../gui/selinux.tbl:107
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon krb5kdc"
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Onemogući SELinux zaštitu za demon krb5kdc"
++#: ../gui/selinux.tbl:108
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Onemogući SELinux zaštitu za demone ktalk"
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Onemogući SELinux zaštitu za demone ktalk"
++#: ../gui/selinux.tbl:109
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon kudzu"
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Onemogući SELinux zaštitu za demon kudzu"
++#: ../gui/selinux.tbl:110
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon locate"
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Onemogući SELinux zaštitu za demon locate"
++#: ../gui/selinux.tbl:111
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon lpd"
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Onemogući SELinux zaštitu za demon lpd"
++#: ../gui/selinux.tbl:112
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon lrrd"
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Onemogući SELinux zaštitu za demon lrrd"
++#: ../gui/selinux.tbl:113
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon lvm"
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Onemogući SELinux zaštitu za demon lvm"
++#: ../gui/selinux.tbl:114
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for mailman"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:115
+ #, fuzzy
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "Dopusti da Evolution i Thunderbird čitaju korisničke datoteke"
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Dopusti da Evolution i Thunderbird čitaju korisničke datoteke"
++#: ../gui/selinux.tbl:116
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon mdadm"
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Onemogući SELinux zaštitu za demon mdadm"
++#: ../gui/selinux.tbl:117
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon monopd"
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Onemogući SELinux zaštitu za demon monopd"
++#: ../gui/selinux.tbl:118
+ #, fuzzy
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Dopusti da preglednik Mozilla čita korisničke datoteke"
++msgid "Allow the mozilla browser to read user files"
++msgstr "Dopusti da preglednik Mozilla čita korisničke datoteke"
++#: ../gui/selinux.tbl:119
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon mrtg"
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Onemogući SELinux zaštitu za demon mrtg"
++#: ../gui/selinux.tbl:120
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon mysqld"
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Onemogući SELinux zaštitu za demon mysqld"
++#: ../gui/selinux.tbl:121
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nagios"
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Onemogući SELinux zaštitu za demon nagios"
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
+ #, fuzzy
+-#~ msgid "Name Service"
+-#~ msgstr "Usluga naziva"
++msgid "Name Service"
++msgstr "Usluga naziva"
++#: ../gui/selinux.tbl:122
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nazivatelja"
++msgid "Disable SELinux protection for named daemon"
++msgstr "Onemogući SELinux zaštitu za demon nazivatelja"
++#: ../gui/selinux.tbl:123
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nessusd"
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Onemogući SELinux zaštitu za demon nessusd"
++#: ../gui/selinux.tbl:124
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Onemogući SELinux zaštitu za NetworkManager"
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Onemogući SELinux zaštitu za NetworkManager"
++#: ../gui/selinux.tbl:125
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nfsd"
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Onemogući SELinux zaštitu za demon nfsd"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++#: ../gui/selinux.tbl:126
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nmbd"
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Onemogući SELinux zaštitu za demon nmbd"
++#: ../gui/selinux.tbl:127
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nrpe"
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Onemogući SELinux zaštitu za demon nrpe"
++#: ../gui/selinux.tbl:128
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nscd"
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Onemogući SELinux zaštitu za demon nscd"
++#: ../gui/selinux.tbl:129
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon nsd"
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Onemogući SELinux zaštitu za demon nsd"
++#: ../gui/selinux.tbl:130
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ntpd"
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Onemogući SELinux zaštitu za demon ntpd"
++#: ../gui/selinux.tbl:131
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for oddjob"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:132
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:133
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon openvpn"
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Onemogući SELinux zaštitu za demon openvpn"
++#: ../gui/selinux.tbl:134
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon pam"
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Onemogući SELinux zaštitu za demon pam"
++#: ../gui/selinux.tbl:135
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for pegasus"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:136
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon perdition"
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Onemogući SELinux zaštitu za demon perdition"
++#: ../gui/selinux.tbl:137
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon portmap"
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Onemogući SELinux zaštitu za demon portmap"
++#: ../gui/selinux.tbl:138
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon portslave"
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Onemogući SELinux zaštitu za demon portslave"
++#: ../gui/selinux.tbl:139
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for postfix"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:140
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon postgresql"
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Onemogući SELinux zaštitu za demon postgresql"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for pptp"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:143
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon prelink"
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Onemogući SELinux zaštitu za demon prelink"
++#: ../gui/selinux.tbl:144
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon privoxy"
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Onemogući SELinux zaštitu za demon privoxy"
++#: ../gui/selinux.tbl:145
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ptal"
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Onemogući SELinux zaštitu za demon ptal"
++#: ../gui/selinux.tbl:146
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon pxe"
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Onemogući SELinux zaštitu za demon pxe"
++#: ../gui/selinux.tbl:147
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for pyzord"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:148
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon quota"
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Onemogući SELinux zaštitu za demon quota"
++#: ../gui/selinux.tbl:149
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon radiusd"
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Onemogući SELinux zaštitu za demon radiusd"
++#: ../gui/selinux.tbl:150
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon radvd"
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Onemogući SELinux zaštitu za demon radvd"
++#: ../gui/selinux.tbl:151
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for rdisc"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:152
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for readahead"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:153
+ #, fuzzy
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Dopusti programima iščitavanje datoteka na nestandardnim lokacijama "
+-#~ "(default_t)"
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Dopusti programima iščitavanje datoteka na nestandardnim lokacijama "
++"(default_t)"
++#: ../gui/selinux.tbl:154
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for restorecond"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:155
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon rhgb"
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Onemogući SELinux zaštitu za demon rhgb"
++#: ../gui/selinux.tbl:156
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for ricci"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:157
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:158
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon rlogind"
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Onemogući SELinux zaštitu za demon rlogind"
++#: ../gui/selinux.tbl:159
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon rpcd"
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Onemogući SELinux zaštitu za demon rpcd"
++#: ../gui/selinux.tbl:160
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for rshd"
++msgstr "Onemogući SELinux zaštitu za igre"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++#: ../gui/selinux.tbl:161
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon rsync"
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Onemogući SELinux zaštitu za demon rsync"
++#: ../gui/selinux.tbl:162
+ #, fuzzy
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "Dopusti da se ssh pokreće iz inetd, umjesto kao demon"
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Dopusti da se ssh pokreće iz inetd, umjesto kao demon"
++#: ../gui/selinux.tbl:163
+ #, fuzzy
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Dopusti da Samba razmjenjuje NFS mape."
++msgid "Allow Samba to share nfs directories"
++msgstr "Dopusti da Samba razmjenjuje NFS mape."
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL poslužitelj provjere autentičnosti"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL poslužitelj provjere autentičnosti"
++#: ../gui/selinux.tbl:164
+ #, fuzzy
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr ""
+-#~ "Dopusti da sasl poslužitelj provjere autentičnosti čita mapu /etc/shadow"
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++"Dopusti da sasl poslužitelj provjere autentičnosti čita mapu /etc/shadow"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++#: ../gui/selinux.tbl:166
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon saslauthd"
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Onemogući SELinux zaštitu za demon saslauthd"
++#: ../gui/selinux.tbl:167
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon scannerdaemon"
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Onemogući SELinux zaštitu za demon scannerdaemon"
++#: ../gui/selinux.tbl:168
+ #, fuzzy
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Ne dopusti prijelaz u sysadm_t"
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Ne dopusti prijelaz u sysadm_t"
++#: ../gui/selinux.tbl:169
+ #, fuzzy
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Nikakvim postupcima ne dopuštaj učitavanje kernelskih modula"
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Nikakvim postupcima ne dopuštaj učitavanje kernelskih modula"
++#: ../gui/selinux.tbl:170
+ #, fuzzy
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "Nikakvim postupcima ne dopuštaj izmjenjivanje kernelskih SELinux pravila"
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++"Nikakvim postupcima ne dopuštaj izmjenjivanje kernelskih SELinux pravila"
++#: ../gui/selinux.tbl:171
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon sendmail"
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Onemogući SELinux zaštitu za demon sendmail"
++#: ../gui/selinux.tbl:172
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Onemogući SELinux zaštitu za igre"
++msgid "Disable SELinux protection for setrans"
++msgstr "Onemogući SELinux zaštitu za igre"
++#: ../gui/selinux.tbl:173
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:174
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon slapd"
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Onemogući SELinux zaštitu za demon slapd"
++#: ../gui/selinux.tbl:175
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon slrnpull"
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Onemogući SELinux zaštitu za demon slrnpull"
++#: ../gui/selinux.tbl:176
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon smbd"
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Onemogući SELinux zaštitu za demon smbd"
++#: ../gui/selinux.tbl:177
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon snmpd"
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Onemogući SELinux zaštitu za demon snmpd"
++#: ../gui/selinux.tbl:178
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon snort"
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Onemogući SELinux zaštitu za demon snort"
++#: ../gui/selinux.tbl:179
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon soundd"
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Onemogući SELinux zaštitu za demon soundd"
++#: ../gui/selinux.tbl:180
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon sound"
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Onemogući SELinux zaštitu za demon sound"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
+ #, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "Spam zaštita"
++msgid "Spam Protection"
++msgstr "Spam zaštita"
++#: ../gui/selinux.tbl:181
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon spamd"
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Onemogući SELinux zaštitu za demon spamd"
++#: ../gui/selinux.tbl:182
+ #, fuzzy
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Dopusti da spamd ima pristup korisničkim glavnim mapama."
++msgid "Allow spamd to access home directories"
++msgstr "Dopusti da spamd ima pristup korisničkim glavnim mapama."
++#: ../gui/selinux.tbl:183
+ #, fuzzy
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Dopusti demonu Spam Assasin pristup mreži"
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Dopusti demonu Spam Assasin pristup mreži"
++#: ../gui/selinux.tbl:184
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon speedmgmt"
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Onemogući SELinux zaštitu za demon speedmgmt"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++#: ../gui/selinux.tbl:185
+ #, fuzzy
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Dopusti demonu squid povezivanje na mrežu."
++msgid "Allow squid daemon to connect to the network"
++msgstr "Dopusti demonu squid povezivanje na mrežu."
++#: ../gui/selinux.tbl:186
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:187
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ssh"
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Onemogući SELinux zaštitu za demon ssh"
++#: ../gui/selinux.tbl:188
+ #, fuzzy
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Dopusti ssh prijavljivanja kao sysadm_r:sysadm_t"
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Dopusti ssh prijavljivanja kao sysadm_r:sysadm_t"
++#: ../gui/selinux.tbl:189
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Dopusti korisnicima staff_r da pretražuju i čitaju sadržaj mape sysadm "
+-#~ "home (poput ~/.bashrc)"
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Dopusti korisnicima staff_r da pretražuju i čitaju sadržaj mape sysadm home "
++"(poput ~/.bashrc)"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
+ #, fuzzy
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Univerzalan SSL tunel"
++msgid "Universal SSL tunnel"
++msgstr "Univerzalan SSL tunel"
++#: ../gui/selinux.tbl:190
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon stunnel"
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Onemogući SELinux zaštitu za demon stunnel"
++#: ../gui/selinux.tbl:191
+ #, fuzzy
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "Dopusti demonu stunnel samostalno pokretanje, izvan xinetd"
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Dopusti demonu stunnel samostalno pokretanje, izvan xinetd"
++#: ../gui/selinux.tbl:192
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon swat"
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Onemogući SELinux zaštitu za demon swat"
++#: ../gui/selinux.tbl:193
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon sxid"
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Onemogući SELinux zaštitu za demon sxid"
++#: ../gui/selinux.tbl:194
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon syslogd"
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Onemogući SELinux zaštitu za demon syslogd"
++#: ../gui/selinux.tbl:195
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Onemogući Selinux zaštitu za cupsd backend poslužitelj"
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Onemogući Selinux zaštitu za cupsd backend poslužitelj"
++#: ../gui/selinux.tbl:196
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:197
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon telnet"
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Onemogući SELinux zaštitu za demon telnet"
++#: ../gui/selinux.tbl:198
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon tftpd"
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Onemogući SELinux zaštitu za demon tftpd"
++#: ../gui/selinux.tbl:199
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon transproxy"
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Onemogući SELinux zaštitu za demon transproxy"
++#: ../gui/selinux.tbl:200
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon udev"
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Onemogući SELinux zaštitu za demon udev"
++#: ../gui/selinux.tbl:201
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon uml"
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Onemogući SELinux zaštitu za demon uml"
++#: ../gui/selinux.tbl:202
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Dopusti nesputani rad xinetd, uključujući bilo koje usluge koje je "
+-#~ "pokrenuo, a koji nemaju izričito zadano pretvaranje domena."
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Dopusti nesputani rad xinetd, uključujući bilo koje usluge koje je pokrenuo, "
++"a koji nemaju izričito zadano pretvaranje domena."
++#: ../gui/selinux.tbl:203
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Dopusti nesputani rad rc skripti, uključujući bilo koji demon koje je "
+-#~ "pokrenula rc skripta, a koji nema izričito zadano pretvaranje domena."
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Dopusti nesputani rad rc skripti, uključujući bilo koji demon koje je "
++"pokrenula rc skripta, a koji nema izričito zadano pretvaranje domena."
++#: ../gui/selinux.tbl:204
+ #, fuzzy
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Dopusti neometeno djelovanje alatu rpm."
++msgid "Allow rpm to run unconfined"
++msgstr "Dopusti neometeno djelovanje alatu rpm."
++#: ../gui/selinux.tbl:205
+ #, fuzzy
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Dopusti neometeno djelovanje privilegiranim alatima kao što su hotplug i "
+-#~ "insmod."
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Dopusti neometeno djelovanje privilegiranim alatima kao što su hotplug i "
++"insmod."
++#: ../gui/selinux.tbl:206
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon updfstab"
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Onemogući SELinux zaštitu za demon updfstab"
++#: ../gui/selinux.tbl:207
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon uptimed"
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Onemogući SELinux zaštitu za demon uptimed"
++#: ../gui/selinux.tbl:208
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Dopusti da user_r pristupi u sysadm_r putem su, sudo, ili userhelper. U "
+-#~ "protivno dopušteno samo za staff_r."
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Dopusti da user_r pristupi u sysadm_r putem su, sudo, ili userhelper. U "
++"protivno dopušteno samo za staff_r."
++#: ../gui/selinux.tbl:209
+ #, fuzzy
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++msgid "Allow users to execute the mount command"
++msgstr "Dopusti korisnicima izvršavanje naredbe mount"
++#: ../gui/selinux.tbl:210
+ #, fuzzy
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Dopusti redovnim korisnicima izravan pristup mišem (dopusti samo X "
+-#~ "poslužitelj)"
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Dopusti redovnim korisnicima izravan pristup mišem (dopusti samo X "
++"poslužitelj)"
++#: ../gui/selinux.tbl:211
+ #, fuzzy
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Dopusti korisnicima izvršavanje naredbe dmesg"
++msgid "Allow users to run the dmesg command"
++msgstr "Dopusti korisnicima izvršavanje naredbe dmesg"
++#: ../gui/selinux.tbl:212
+ #, fuzzy
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Dopusti korisnicima nadzor nad mrežnim sučeljima (potreban je i "
+-#~ "USERCTL=true)"
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Dopusti korisnicima nadzor nad mrežnim sučeljima (potreban je i USERCTL=true)"
++#: ../gui/selinux.tbl:213
+ #, fuzzy
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Dopusti normalnim korisnicima izvršavanje alata ping"
++msgid "Allow normal user to execute ping"
++msgstr "Dopusti normalnim korisnicima izvršavanje alata ping"
++#: ../gui/selinux.tbl:214
+ #, fuzzy
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "Dopusti korisnicima čitanja i pisanje noextattrfile (FAT, CDROM, FLOPPY)"
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Dopusti korisnicima čitanja i pisanje noextattrfile (FAT, CDROM, FLOPPY)"
++#: ../gui/selinux.tbl:215
+ #, fuzzy
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Dopusti korisnicima čitanja i pisanje USB uređaja"
++msgid "Allow users to rw usb devices"
++msgstr "Dopusti korisnicima čitanja i pisanje USB uređaja"
++#: ../gui/selinux.tbl:216
+ #, fuzzy
+-#~ 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 ""
+-#~ "Dopusti korisnicima pokretanje TCP poslužitelja (povezivanje s portovima "
+-#~ "i prihvaćanje povezivanja iz iste domene i vanjskim korisnicima). "
+-#~ "Onemogućavanje ove opcije prisiljava pasivan način za FTP i može "
+-#~ "izmijeniti ostale protokole."
++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 ""
++"Dopusti korisnicima pokretanje TCP poslužitelja (povezivanje s portovima i "
++"prihvaćanje povezivanja iz iste domene i vanjskim korisnicima). "
++"Onemogućavanje ove opcije prisiljava pasivan način za FTP i može izmijeniti "
++"ostale protokole."
++#: ../gui/selinux.tbl:217
+ #, fuzzy
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Dopusti korisnicima definiranje tty datoteka"
++msgid "Allow user to stat ttyfiles"
++msgstr "Dopusti korisnicima definiranje tty datoteka"
++#: ../gui/selinux.tbl:218
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon uucpd"
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Onemogući SELinux zaštitu za demon uucpd"
++#: ../gui/selinux.tbl:219
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon vmware"
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Onemogući SELinux zaštitu za demon vmware"
++#: ../gui/selinux.tbl:220
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon vmware"
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Onemogući SELinux zaštitu za demon vmware"
++#: ../gui/selinux.tbl:221
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon winbind"
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Onemogući SELinux zaštitu za demon winbind"
++#: ../gui/selinux.tbl:222
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon xdm"
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Onemogući SELinux zaštitu za demon xdm"
++#: ../gui/selinux.tbl:223
+ #, fuzzy
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Dopusti xdm prijave kao sysadm_r:sysadm_t"
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Dopusti xdm prijave kao sysadm_r:sysadm_t"
++#: ../gui/selinux.tbl:224
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Onemogući SELinux zaštitu za demon crond"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++#: ../gui/selinux.tbl:226
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon xfs"
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Onemogući SELinux zaštitu za demon xfs"
++#: ../gui/selinux.tbl:227
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Onemogući SELinux zaštitu za demon crond"
++msgid "Disable SELinux protection for xen control"
++msgstr "Onemogući SELinux zaštitu za demon crond"
++#: ../gui/selinux.tbl:228
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ypbind"
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Onemogući SELinux zaštitu za demon ypbind"
++#: ../gui/selinux.tbl:229
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cups hplip"
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Onemogući SELinux zaštitu za demon cups hplip"
++#: ../gui/selinux.tbl:230
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon ypserv"
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Onemogući SELinux zaštitu za demon ypserv"
++#: ../gui/selinux.tbl:231
+ #, fuzzy
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za demon cups hplip"
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Onemogući SELinux zaštitu za demon cups hplip"
++#: ../gui/selinux.tbl:232
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr "Dopusti da Samba razmjenjuje korisničkih glavnih mapa."
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr "Dopusti da Samba razmjenjuje korisničkih glavnih mapa."
++#: ../gui/selinux.tbl:233
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr "Dopusti da Samba razmjenjuje korisničkih glavnih mapa."
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr "Dopusti da Samba razmjenjuje korisničkih glavnih mapa."
++
++#: ../gui/semanagePage.py:126
++#, fuzzy, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Jeste li sigurni ste da želite izbrisati %s?"
++
++#: ../gui/semanagePage.py:126
++#, fuzzy, python-format
++msgid "Delete %s"
++msgstr "_Izbriši"
++
++#: ../gui/semanagePage.py:134
++#, fuzzy, python-format
++msgid "Add %s"
++msgstr "_Dodaj"
++
++#: ../gui/semanagePage.py:148
++#, fuzzy, python-format
++msgid "Modify %s"
++msgstr "&Uredi..."
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
+ #, fuzzy
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Jeste li sigurni ste da želite izbrisati %s?"
++msgid "Permissive"
++msgstr "Dopustivo"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
+ #, fuzzy
+-#~ msgid "Delete %s"
+-#~ msgstr "_Izbriši"
++msgid "Enforcing"
++msgstr "Prisiljavanje"
++#: ../gui/statusPage.py:75
+ #, fuzzy
+-#~ msgid "Add %s"
+-#~ msgstr "_Dodaj"
++msgid "Disabled"
++msgstr "Onemogućeno"
++#: ../gui/statusPage.py:94
+ #, fuzzy
+-#~ msgid "Modify %s"
+-#~ msgstr "&Uredi..."
++msgid "Status"
++msgstr "Stanje"
++#: ../gui/statusPage.py:133
+ #, fuzzy
+-#~ msgid "Permissive"
+-#~ msgstr "Dopustivo"
++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 ""
++"Promjena sigurnosnih pravila prisilit će ponovno označavanje cjelokupnog "
++"datotečnog sustava pri sljedećem pokretanju. Ponovno je označavanje "
++"dugotrajno i ovisi o veličini datotečnog sustava. Želite li nastaviti?"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
+ #, fuzzy
+-#~ msgid "Enforcing"
+-#~ msgstr "Prisiljavanje"
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Omogućavanje SELinux prisilit će ponovno označavanje cjelokupnog datotečnog "
++"sustava pri sljedećem pokretanju. Ponovno je označavanje dugotrajno i ovisi "
++"o veličini datotečnog sustava. Želite li nastaviti?"
++#: ../gui/system-config-selinux.glade:11
+ #, fuzzy
+-#~ msgid "Disabled"
+-#~ msgstr "Onemogućeno"
++msgid "system-config-selinux"
++msgstr "System-Config-Printer"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
+ #, fuzzy
+-#~ msgid "Status"
+-#~ msgstr "Stanje"
++msgid "Add SELinux Login Mapping"
++msgstr "Dodavanje mapiranja prijave za %s nije moguće"
++#: ../gui/system-config-selinux.glade:257
+ #, fuzzy
+-#~ 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 ""
+-#~ "Promjena sigurnosnih pravila prisilit će ponovno označavanje cjelokupnog "
+-#~ "datotečnog sustava pri sljedećem pokretanju. Ponovno je označavanje "
+-#~ "dugotrajno i ovisi o veličini datotečnog sustava. Želite li nastaviti?"
++msgid "Add SELinux Network Ports"
++msgstr "Dodavanje SELinux korisnika %s nije moguće"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux vrsta"
++#: ../gui/system-config-selinux.glade:622
+ #, fuzzy
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Omogućavanje SELinux prisilit će ponovno označavanje cjelokupnog "
+-#~ "datotečnog sustava pri sljedećem pokretanju. Ponovno je označavanje "
+-#~ "dugotrajno i ovisi o veličini datotečnog sustava. Želite li nastaviti?"
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr "SELinux mls temeljna pravila"
++#: ../gui/system-config-selinux.glade:814
+ #, fuzzy
+-#~ msgid "system-config-selinux"
+-#~ msgstr "System-Config-Printer"
++msgid "File Specification"
++msgstr "Specifikacija:"
++#: ../gui/system-config-selinux.glade:842
+ #, fuzzy
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Dodavanje mapiranja prijave za %s nije moguće"
++msgid "File Type"
++msgstr "Vrsta _datotečnog sustava:"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Dodaj SELinux korisnika"
++#: ../gui/system-config-selinux.glade:1271
+ #, fuzzy
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Dodavanje SELinux korisnika %s nije moguće"
++msgid "SELinux Administration"
++msgstr "Administrativni alati"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux vrsta"
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Dodaj"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Svojstva"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Izbriši"
++#: ../gui/system-config-selinux.glade:1449
+ #, fuzzy
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr "SELinux mls temeljna pravila"
++msgid "Select Management Object"
++msgstr "Odabir određenog dijela auta"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Odaberite:</b>"
++#: ../gui/system-config-selinux.glade:1519
+ #, fuzzy
+-#~ msgid "File Specification"
+-#~ msgstr "Specifikacija:"
++msgid "System Default Enforcing Mode"
++msgstr "Izmjena zadanog jezik sustava"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++#: ../gui/system-config-selinux.glade:1566
+ #, fuzzy
+-#~ msgid "File Type"
+-#~ msgstr "Vrsta _datotečnog sustava:"
++msgid "Current Enforcing Mode"
++msgstr "Određivanje načina prisiljavanja nije moguće.\n"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/system-config-selinux.glade:1611
++#, fuzzy
++msgid "System Default Policy Type: "
++msgstr "Dohvaćanje zadane vrste nije moguće.\n"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Dodaj SELinux korisnika"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++#: ../gui/system-config-selinux.glade:1702
+ #, fuzzy
+-#~ msgid "SELinux Administration"
+-#~ msgstr "Administrativni alati"
++msgid "Relabel on next reboot."
++msgstr "Kod sljedećeg pokretanja sustava bit će prisiljen 'fsck'."
+-#~ msgid "Add"
+-#~ msgstr "Dodaj"
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
+-#~ msgid "_Properties"
+-#~ msgstr "_Svojstva"
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
+-#~ msgid "_Delete"
+-#~ msgstr "_Izbriši"
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Select Management Object"
+-#~ msgstr "Odabir određenog dijela auta"
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Odaberite:</b>"
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtar"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++#: ../gui/system-config-selinux.glade:1982
+ #, fuzzy
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Izmjena zadanog jezik sustava"
++msgid "Add File Context"
++msgstr "Dodavanje konteksta datoteke za %s nije moguće"
++#: ../gui/system-config-selinux.glade:1998
+ #, fuzzy
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Određivanje načina prisiljavanja nije moguće.\n"
++msgid "Modify File Context"
++msgstr "Uređivanje konteksta datoteke za %s nije moguće"
++#: ../gui/system-config-selinux.glade:2014
+ #, fuzzy
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Dohvaćanje zadane vrste nije moguće.\n"
++msgid "Delete File Context"
++msgstr "Brisanje konteksta datoteke za %s nije moguće"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
+ #, fuzzy
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Kod sljedećeg pokretanja sustava bit će prisiljen 'fsck'."
++msgid "Add SELinux User Mapping"
++msgstr "Dodavanje SELinux korisnika %s nije moguće"
+-#~ msgid "label37"
+-#~ msgstr "label37"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Uredi mapiranje SELinux korisnika"
+-#~ msgid "Filter"
+-#~ msgstr "Filtar"
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Izbriši mapiranje SELinux korisnika"
+-#~ msgid "label50"
+-#~ msgstr "label50"
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++#: ../gui/system-config-selinux.glade:2374
+ #, fuzzy
+-#~ msgid "Add File Context"
+-#~ msgstr "Dodavanje konteksta datoteke za %s nije moguće"
++msgid "Add User"
++msgstr "_Dodaj"
++#: ../gui/system-config-selinux.glade:2390
+ #, fuzzy
+-#~ msgid "Modify File Context"
+-#~ msgstr "Uređivanje konteksta datoteke za %s nije moguće"
++msgid "Modify User"
++msgstr "&Uredi..."
++#: ../gui/system-config-selinux.glade:2406
+ #, fuzzy
+-#~ msgid "Delete File Context"
+-#~ msgstr "Brisanje konteksta datoteke za %s nije moguće"
++msgid "Delete User"
++msgstr "_Izbriši"
+-#~ msgid "label38"
+-#~ msgstr "label38"
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++#: ../gui/system-config-selinux.glade:2561
+ #, fuzzy
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Dodavanje SELinux korisnika %s nije moguće"
++msgid "Add Translation"
++msgstr "Pogreška pri prevođenju"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Uredi mapiranje SELinux korisnika"
++#: ../gui/system-config-selinux.glade:2577
++#, fuzzy
++msgid "Modify Translation"
++msgstr "Pogreška pri prevođenju"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Izbriši mapiranje SELinux korisnika"
++#: ../gui/system-config-selinux.glade:2593
++#, fuzzy
++msgid "Delete Translation"
++msgstr "Pogreška pri prevođenju"
+-#~ msgid "label39"
+-#~ msgstr "label39"
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++#: ../gui/system-config-selinux.glade:2748
+ #, fuzzy
+-#~ msgid "Add Translation"
+-#~ msgstr "Pogreška pri prevođenju"
++msgid "Add Network Port"
++msgstr "Port za mrežno povezivanje"
++#: ../gui/system-config-selinux.glade:2764
+ #, fuzzy
+-#~ msgid "Modify Translation"
+-#~ msgstr "Pogreška pri prevođenju"
++msgid "Edit Network Port"
++msgstr "Port za mrežno povezivanje"
++#: ../gui/system-config-selinux.glade:2780
+ #, fuzzy
+-#~ msgid "Delete Translation"
+-#~ msgstr "Pogreška pri prevođenju"
+-
+-#~ msgid "label41"
+-#~ msgstr "label41"
++msgid "Delete Network Port"
++msgstr "Port za mrežno povezivanje"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Uredi SELinux korisnika"
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
+-#~ msgid "label40"
+-#~ msgstr "label40"
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++#: ../gui/system-config-selinux.glade:2991
+ #, fuzzy
+-#~ msgid "Add Network Port"
+-#~ msgstr "Port za mrežno povezivanje"
++msgid "Generate new policy module"
++msgstr "SELinux referentna pravila - osnovni modul 'targeted'."
+-#, fuzzy
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Port za mrežno povezivanje"
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Učitaj modul pravila"
++#: ../gui/system-config-selinux.glade:3023
+ #, fuzzy
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Port za mrežno povezivanje"
++msgid "Remove loadable policy module"
++msgstr "SELinux referentna pravila - osnovni modul 'targeted'."
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
+-#~ msgid "label42"
+-#~ msgstr "label42"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#, fuzzy
+-#~ msgid "Generate new policy module"
+-#~ msgstr "SELinux referentna pravila - osnovni modul 'targeted'."
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
+-#~ msgid "Load policy module"
+-#~ msgstr "Učitaj modul pravila"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++#: ../gui/system-config-selinux.glade:3354
+ #, fuzzy
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "SELinux referentna pravila - osnovni modul 'targeted'."
++msgid "label59"
++msgstr "label50"
+-#~ msgid "label44"
+-#~ msgstr "label44"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Potrebna je SELinux korisnik '%s'"
+ #, fuzzy
+-#~ msgid "Sensitvity Level"
++#~ msgid "Sensitivity Level"
+ #~ msgstr "RAID _razina:"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Potrebna je SELinux korisnik '%s'"
++#~ msgid "Modify SELinux User"
++#~ msgstr "Uredi SELinux korisnika"
++
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "Prijevodi nisu podržani na ne-MLS računalima"
++
++#~ msgid ""
++#~ "tcp\n"
++#~ "udp"
++#~ msgstr ""
++#~ "tcp\n"
++#~ "udp"
+ #~ msgid "Requires value"
+ #~ msgstr "Zahtijeva vrijednost"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/hu.po policycoreutils-2.0.85/po/hu.po
+--- nsapolicycoreutils/po/hu.po        2011-02-17 15:11:25.123734902 -0500
++++ policycoreutils-2.0.85/po/hu.po    2011-02-18 16:03:41.370975758 -0500
+@@ -1,19 +1,42 @@
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # Arpad Biro <biro_arpad@yahoo.com>, 2006, 2007.
++# Nagy István Zoltán <nagyesta@gmail.com>, 2009.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-03-27 20:12+0200\n"
+-"Last-Translator: Arpad Biro <biro_arpad@yahoo.com>\n"
+-"Language-Team: \n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-03-16 17:20+0100\n"
++"Last-Translator: Peter Bojtos <ptr@ulx.hu>\n"
++"Language-Team: Hungarian <fedora-trans-hu@redhat.com>\n"
++"Language: hu\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.11.4\n"
++"X-Generator: Lokalize 0.3\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"X-Poedit-Language: Hungarian\n"
++"X-Poedit-Country: HUNGARY\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fkörnyezet"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Új házirend modul generálása"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux Házirend Generációs Eszköz"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -80,20 +103,16 @@
+ msgstr "Nem sikerült beállítani a végrehajtási kontextust erre: %s.\n"
+ #: ../audit2allow/audit2allow:217
+-#, fuzzy
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
+-"\n"
+-"*********************** FONTOS ***********************\n"
++msgstr "*********************** FONTOS ***********************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "Ezen házirend aktiválásához futtassa:"
+ #: ../semanage/seobject.py:48
+-#, fuzzy
+ msgid "Could not create semanage handle"
+-msgstr "Nem sikerült elindítani az Semanage-tranzakciót"
++msgstr "Nem sikerült létrehozni az Semanage kezelőt"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+@@ -114,22 +133,23 @@
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "globális"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+ "Nem lehet megnyitni ezt: %s: a fordítások nem támogatottak a nem MLS-es "
+-"gépeken"
++"gépeken: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "Szint"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "Fordítás"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+@@ -153,7 +173,7 @@
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Még nincs megvalósítva."
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+@@ -164,768 +184,766 @@
+ msgstr "Nem sikerült elindítani az Semanage-tranzakciót"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Nem sikerült elindítani az Semanage-tranzakciót"
++msgstr "Nem sikerült véglegesíteni az Semanage-tranzakciót"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+ msgstr ""
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Nem sikerült listázni az SELinux-felhasználókat"
++msgstr "Nem sikerült listázni az SELinux modulokat"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Megengedő típusok"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "Nem állítható be a megengedő tartomány %s (sikertelen modul telepítés)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Nem törölhető a megengedő tartomány %s (sikertelen eltávolítás)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Nem sikerült létrehozni kulcsot ehhez: %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+ "Nem sikerült ellenőrizni, hogy van-e definiálva bejelentkezési hozzárendelés "
+ "ehhez: %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Már van definiálva bejelentkezési hozzárendelés ehhez: %s"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Nem létezik %s nevű Linux-felhasználó"
++msgstr "A %s Linux csoport nem létezik"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Nem létezik %s nevű Linux-felhasználó"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Nem sikerült létrehozni bejelentkezési hozzárendelést ehhez: %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Nem sikerült nevet beállítani ehhez: %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Nem sikerült MLS-tartományt beállítani ehhez: %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Nem sikerült SELinux-felhasználót beállítani ehhez: %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Nem sikerült felvenni bejelentkezési hozzárendelést ehhez: %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
+-#, fuzzy
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "Nem sikerült felvenni \"%s\" SELinux-felhasználót"
++msgstr "SELinux felhasználó hozzárendelés hozzáadása"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Seuser vagy Serange szükséges"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Nincs definiálva bejelentkezési hozzárendelés ehhez: %s"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Nem sikerült végrehajtani Seuser-lekérdezést erre: %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Nem sikerült módosítani \"%s\" bejelentkezési hozzárendelését"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "%s bejelentkezési hozzárendelése szabályzatban van definiálva - nem törölhető"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Nem sikerült törölni \"%s\" bejelentkezési hozzárendelését"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Nem sikerült listázni a bejelentkezési hozzárendeléseket"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "Bejelentkezési név"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-#, fuzzy
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "Meg kell adni SELinux-típust"
++msgstr "SELinux felhasználó"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr ""
++msgstr "MLS/MCS hatáskör"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Nem sikerült felvenni fájlkontextust ehhez: %s"
++msgstr "Legalább egy szerepet meg kell adnia %s számára"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+ "Nem sikerült ellenőrizni, hogy van-e definiálva \"%s\" SELinux-felhasználó"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "Már van definiálva \"%s\" nevű SELinux-felhasználó"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Nem sikerült létrehozni SELinux-felhasználót ehhez: %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Nem sikerült felvenni \"%s\" szerepet ehhez: %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Nem sikerült beállítani az MLS-szintet ehhez: %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Nem sikerült felvenni \"%s\" előtagot ehhez: %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Nem sikerült kinyerni a kulcsot ehhez: %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Nem sikerült felvenni \"%s\" SELinux-felhasználót"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Szükség van előtagra, szerepekre, szintre vagy tartományra"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Szükség van előtagra vagy szerepekre"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "\"%s\" SELinux-felhasználó nincs definiálva"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Nem sikerült lekérdezni a felhasználót ehhez: %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Nem sikerült módosítani a(z) \"%s\" SELinux-felhasználót"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "\"%s\" SELinux-felhasználó szabályzatban van definiálva - nem törölhető"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Nem sikerült törölni a(z) \"%s\" SELinux-felhasználót"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Nem sikerült listázni az SELinux-felhasználókat"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Nem sikerült listázni a(z) \"%s\" felhasználó szerepeit"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Címkézés"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "Előtag"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr ""
++msgstr "MCS Szint"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr ""
++msgstr "MCS hatáskör"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "SELinux szerepek"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "UDP vagy TCP protokoll szükséges"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Meg kell adni portot"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Nem sikerült létrehozni kulcsot ehhez: %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Meg kell adni típust"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Nem sikerült ellenőrizni, hogy definiálva van-e a(z) %s/%s port"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "A(z) %s/%s port már definiálva van"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Nem sikerült létrehozni portot ehhez: %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Nem sikerült létrehozni kontextust ehhez: %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Nem sikerült beállítani a felhasználót %s/%s portkontextusban"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Nem sikerült beállítani a szerepet %s/%s portkontextusban"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Nem sikerült beállítani a típust %s/%s portkontextusban"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Nem sikerült beállítani az MLS-mezőket %s/%s portkontextusban"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Nem sikerült beállítani a portkontextust ehhez: %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Nem sikerült felvenni ezt a portot: %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Setype vagy Serange szükséges"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Setype szükséges"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "%s/%s port nincs definiálva"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Nem sikerült lekérdezni ezt a portot: %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Nem sikerült módosítani ezt a portot: %s/%s"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Nem sikerült listázni a portokat"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "Nem sikerült törölni ezt a portot: %s/%s"
++msgstr "Nem sikerült törölni a portot: %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "A(z) %s/%s port szabályzatban van definiálva - nem törölhető"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Nem sikerült törölni ezt a portot: %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Nem sikerült listázni a portokat"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "SELinux Port típus"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr ""
++msgstr "Portszám"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Meg kell adni portot"
++msgstr "Csomópont cím szükséges"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Meg kell adni portot"
++msgstr "Csomópont hálózati maszk szükséges"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Ismeretlen vagy hiányzó protokoll"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Meg kell adni SELinux-típust"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Nem sikerült létrehozni kulcsot ehhez: %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Nem sikerült ellenőrizni, hogy definiálva van-e a(z) %s/%s port"
++msgstr "Nem sikerült ellenőrizni, hogy definiálva van-e a(z) %s"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "A(z) %s/%s port már definiálva van"
++msgstr "A(z) %s már meg van határozva"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Nem sikerült létrehozni kulcsot ehhez: %s"
++msgstr "Nem sikerült létrehozni addr-t %s-hez"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Nem sikerült létrehozni kontextust ehhez: %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Nem sikerült nevet beállítani ehhez: %s"
++msgstr "Nem állítható be a(z) %s maszkja"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Nem sikerült beállítani a felhasználót %s fájlkontextusban"
++msgstr "Nem sikerült beállítani a felhasználót %s addr kontextusban"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Nem sikerült beállítani a szerepet %s fájlkontextusban"
++msgstr "Nem sikerült beállítani a szerepet %s addr kontextusban"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Nem sikerült beállítani a típust %s fájlkontextusban"
++msgstr "Nem sikerült beállítani a típust %s addr kontextusban"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Nem sikerült beállítani az MLS-mezőket %s fájlkontextusban"
++msgstr "Nem sikerült beállítani az MLS-mezőket %s addr kontextusban"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Nem sikerült beállítani a fájlkontextust ehhez: %s"
++msgstr "Nem sikerült beállítani a(z) %s addr kontextust"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Nem sikerült felvenni ezt a portot: %s/%s"
++msgstr "Nem adható hozzá %s addr"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "%s/%s port nincs definiálva"
++msgstr "%s addr nincs definiálva"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Nem sikerült lekérdezni ezt a portot: %s/%s"
++msgstr "Nem kérdezhető le %s addr"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Nem sikerült módosítani ezt a portot: %s/%s"
++msgstr "Nem módosítható %s addr"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "A(z) %s/%s port szabályzatban van definiálva - nem törölhető"
++msgstr "A(z) %s addr nincs definiálva a házirendben, nem törölhető"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Nem sikerült törölni ezt a csatolót: %s"
++msgstr "Nem törölhető %s addr"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Nem sikerült listázni a portokat"
++msgstr "Nem listázható addr"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Nem sikerült ellenőrizni, hogy definiálva van-e ez a csatoló: %s"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "%s csatoló már definiálva van"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Nem sikerült létrehozni csatolót ehhez: %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Nem sikerült beállítani a felhasználót %s csatolókontextusban"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Nem sikerült beállítani a szerepet %s csatolókontextusban"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Nem sikerült beállítani a típust %s csatolókontextusban"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Nem sikerült beállítani az MLS-mezőket %s csatolókontextusban"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Nem sikerült beállítani a csatolókontextust ehhez: %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Nem sikerült beállítani az üzenetkontextust ehhez: %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Nem sikerült felvenni ezt a csatolót: %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "%s csatoló nincs definiálva"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Nem sikerült lekérdezni ezt a csatolót: %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Nem sikerült módosítani ezt a csatolót: %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "A(z) %s csatoló szabályzatban van definiálva - nem törölhető"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Nem sikerült törölni ezt a csatolót: %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Nem sikerült listázni a csatolókat"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "SELinux Interfész"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr ""
++msgstr "Környezet"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Nem sikerült beállítani a felhasználót %s fájlkontextusban"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Nem sikerült beállítani a szerepet %s fájlkontextusban"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Nem sikerült beállítani az MLS-mezőket %s fájlkontextusban"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "Érvénytelen fájl specifikáció"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+ "Nem sikerült ellenőrizni, hogy van-e definiálva fájlkontextus ehhez: %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Már van definiálva fájlkontextus ehhez: %s"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Nem sikerült létrehozni fájlkontextust ehhez: %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Nem sikerült beállítani a típust %s fájlkontextusban"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Nem sikerült beállítani a fájlkontextust ehhez: %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Nem sikerült felvenni fájlkontextust ehhez: %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Setype, Serange vagy Seuser szükséges"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Nincs definiálva fájlkontextus ehhez: %s"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Nem sikerült lekérdezni a fájlkontextust ehhez: %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Nem sikerült módosítani a fájlkontextust ehhez: %s"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Nem sikerült listázni a fájlkontextusokat"
++msgstr "A fájl kontextus listázása nem sikerült"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Nem sikerült törölni %s fájlkontextusát"
++msgstr "Nem sikerült a(z) %s fájl kontextus törlése"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s fájlkontextusa szabályzatban van definiálva - nem törölhető"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Nem sikerült törölni %s fájlkontextusát"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Nem sikerült listázni a fájlkontextusokat"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Nem sikerült listázni a helyi fájlkontextusokat"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux fkörnyezet"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "Típus"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Nem sikerült ellenőrizni, hogy \"%s\" logikai érték definiálva van-e"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "\"%s\" logikai érték nincs definiálva"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Nem sikerült lekérdezni a fájlkontextust ehhez: %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Meg kell adni egy előtagot"
++msgstr "A következő értékek egyikét kell megadnia: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Nem sikerült törölni a(z) \"%s\" logikai értéket"
++msgstr "Nem lehet beállítani az aktív logikai értéket %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Nem sikerült módosítani a(z) \"%s\" logikai értéket"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Hibás formátum %s: Rekord %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "A(z) \"%s\" logikai érték szabályzatban van definiálva - nem törölhető"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Nem sikerült törölni a(z) \"%s\" logikai értéket"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Nem sikerült listázni a logikai értékeket"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "ismeretlen"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "ki"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "be"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "SELinux Logikai érték"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Leírás"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -935,12 +953,12 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "newrole: szolgáltatásnév beállító hasító tábla túlcsordulás\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "newrole: %s: hiba a(z) %lu. sorban\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -965,7 +983,7 @@
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+ #, fuzzy, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Hiba a képességek inicializálásakor; megszakítás.\n"
++msgstr "Hiba történt az adottságok inicializálása közben, kilépés.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1080,6 +1098,7 @@
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+ msgstr ""
++"Hiba: nem változtathat szinteket nem biztonságos terminálon keresztül \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1147,14 +1166,14 @@
+ msgstr "Nem sikerült meghatározni a régi kontextust.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Hiba: nem sikerült lekérdezni a tty-információkat.\n"
++msgstr "Figyelem! Nem sikerült lekérdezni a tty információt.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "hiba a PAM szolgáltatás beállításakor.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+@@ -1196,19 +1215,19 @@
+ msgstr "nem sikerült végrehajtani a parancsértelmezőt\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "használat: %s [-bq]\n"
++msgstr "Használat: %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s: A házirend már be van töltve és kezdeti betöltés igényelt\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s: szabályzat nem betölthető: %s\n"
++msgstr "%s: A házirend nem tölthető be és kikényszerítő mód igényelt: %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1299,86 +1318,2297 @@
+ msgid "Options Error %s "
+ msgstr "Hiba az opciókban: %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "a fordítások nem támogatottak a nem MLS-es gépeken"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Logikai"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "minden"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Testre szabott"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Fájl címkézés"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "Meg kell adni SELinux-típust"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Fájl\n"
++"Specifikáció"
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Meg kell adni SELinux-típust"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"Fájltípus"
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Hiba az auditálási üzenet küldésekor.\n"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Fájl\n"
++"Típus"
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Meg kell adni egy szerepet"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Felhasználó hozzárendelés"
+-#, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Meg kell adni egy szerepet"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Bejelentkezési\n"
++"Név"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Meg kell adni egy szerepet"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Felhasználó"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Típuskényszerítési fájl készítése: %s.te"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS hatáskör"
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "%s csatoló nincs definiálva"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Bejelentkezés '%s' szükséges"
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Házirend modul"
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Modulnév"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Verzió"
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Audit letiltása"
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Audit engedélyezése"
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Házirend Modul Betöltése"
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Bán Szabolcs <shooby@gnome.hu>\n"
++"Dvornik László <dvornik@gnome.hu>\n"
++"Kelemen Gábor <kelemeng@gnome.hu>\n"
++"Kovács Emese <emese@gnome.hu>\n"
++"Nagy Gergely <greg@gnome.hu>\n"
++"Nagy István Zoltán <nagyesta@gmail.com>\n"
++"Tímár András <timar@gnome.hu>\n"
++"Varga Szabolcs <shirokuma@shirokuma.hu>\n"
++"\n"
++"Launchpad Contributions:\n"
++"  Daniel Ugra https://launchpad.net/~daniel-ugra\n"
++"  Gabor Kelemen https://launchpad.net/~kelemeng\n"
++"  Karoly Gossler https://launchpad.net/~connor\n"
++"  Robert Biro https://launchpad.net/~darthjdg"
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "Nincs definiálva fájlkontextus ehhez: %s"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Ez az eszköz házirend keretrendszer generálására használható, hogy az "
++"SELinux korlátozza az alkalmazásokat és felhasználókat.   \n"
++"\n"
++"Az eszköz generál:\n"
++"Típus kikényszerítő fájlt (te)\n"
++"Interfész fájlt (if)\n"
++"Fájl kontextus fájlt (fc)\n"
++"Shell szkriptet (sh) - a házirend lefordításához és telepítéséhez. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Válassza ki a korlátozandó alkalmazás/felhasználó szerep típusát"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Alkalmazások</b>"
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "\"%s\" SELinux-felhasználó nincs definiálva"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"A szabványos Init Démonok olyan démonok, amelyeket a boot során indítanak "
++"init szkriptekkel. Általában szükség van egy szkriptre a /etc/rc.d/init.d-ben"
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Szabályzat elkészítése"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Szabványos Init Démon"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "%s azonosítása.\n"
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS rendszer-démon"
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "Meg kell adni SELinux-típust"
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Az Internet Szolgáltatás Démonok a xinetd által indított démonok"
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Nem sikerült felvenni \"%s\" SELinux-felhasználót"
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Szolgáltatások Démon (inetd)"
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Nem sikerült módosítani a(z) \"%s\" SELinux-felhasználót"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Web alkalmazások/Szkriptek (CGI) a webkiszolgáló (apache) által indított CGI "
++"szkriptek"
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Nem sikerült törölni a(z) \"%s\" SELinux-felhasználót"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Webalkalmazás/Szkript (CGI)"
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Nem sikerült módosítani a(z) \"%s\" SELinux-felhasználót"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Felhasználói alkalmazás bármelyik olyan alkalmazás, amelyet korlátozni "
++"szeretne és egy felhasználó indított"
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Nem lehet olvasni a szabályzat-tárolót."
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Felhasználói Alkalmazás"
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Meg kell adni SELinux-típust"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Felhasználók bejelentkezése</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Egy létező felhasználói bejelentkező rekord módosítása."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Létező Felhasználói Szerepek"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Ez a felhasználó csak terminállal vagy távoli bejelentkezéssel tud "
++"bejelentkezni. Alapértelmezetten ennek a felhasználónak nem lesz setuid-je, "
++"hálózata, su-ja, sudo-ja."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimális Terminál Felhasználói Szerep"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Ez a felhasználó csak X-szel vagy terminállal tud bejelentkezni. "
++"Alapértelmezetten ennek a felhasználónak nem lesz setuid-je, hálózata, sudo-"
++"ja, su-ja."
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimális X Ablakok Felhasználói Szerep"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Felhasználó teljes hálózati eléréssel, setuid nélkül átmenet mentes "
++"alkalmazásokkal, sudo nélkül, su nélkül."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Felhasználói Szerep"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Felhasználó teljes hálózati eléréssel, setuid nélkül átmenet mentes "
++"alkalmazásokkal, su nélkül, használhat sudo-t az alapvető adminisztrációs "
++"szerepekhez"
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Rendszergazda Felhasználói Szerep"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>rendszergazdák</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Válassza az alapvető adminisztrátor felhasználói szerepet, ha ez a "
++"felhasználó fogja igazgatni a gépet, ha rendszergazdaként futtatja. Ez a "
++"felhasználó nem fog tudni bejelentkezni a rendszerbe közvetlenül."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Alapvető Adminisztrátori Felhasználói Szerep"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++"Adja meg az alkalmazás nevét vagy a felhasználói szerepet, amelyet "
++"korlátozni szeretne"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Név"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Adja meg a korlátozandó futtatható állomány teljes elérési útvonalát."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++"Adja meg a korlátozott alkalmazás vagy felhasználói szerep egyedi nevét."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Végrehajtható fájl"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init szkript"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Adja meg a korlátozott alkalmazás futtatásához használt init szkript teljes "
++"elérési útvonalát."
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Válassza ki a felhasználói szerepeket, amelyeket testre kíván szabni"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Válassza ki a felhasználói szerepeket, amelyek átmenetet fognak képezni ezen "
++"alkalmazás tartományába."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Válasszon ki további tartományokat, amelyekbe ez a felhasználói szerep "
++"átmenetet fog képezni."
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Válassza ki az alkalmazások tartományát, amely ezzel a felhasználói "
++"szereppel átmenetet képez."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++"Válassza ki a felhasználói szerepeket amelyek ebbe a tartományba átmenetet "
++"képeznek"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++"Válasszon további tartományokat, amelyeket ez a felhasználói szerep fog "
++"igazgatni"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++"Válassza ki a tartományokat, amelyeket szeretné, hogy ez a felhasználó "
++"igazgasson."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Válasszon további szerepeket ennek a felhasználónak"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Adja meg a hálózati portokat, amelyeket az alkalmazás/felhasználói szerep "
++"figyel"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP Portok</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Bármely udp porthoz engedélyezze a korlátozott alkalmazás/felhasználó "
++"hozzárendelését"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Minden"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Engedélyezze az alkalmazásnak/felhasználói szerepnek a bindresvport 0-val "
++"hívását. Kötés a 600-1024 porthoz"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Adja meg az alkalmazás/felhasználói szerep által kötött udp portok vagy port-"
++"tartományok listáját vesszővel elválasztva. Példa: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Nem fenntartott portok (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Portok kiválasztása"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Engedélyezze az alkalmazás/felhasználói szerep számára a tetszőleges 1024 "
++"feletti udp porthoz kötést"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP Portok</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Adja meg a hálózati portokat, amelyekhez az alkalmazás/felhasználói szerep "
++"kapcsolódik"
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Adja meg vesszővel elválasztva a tcp portok vagy port-tartományok listáját "
++"amelyekhez az alkalmazás/felhasználói szerep kapcsolódik. Példa: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Adja meg vesszővel elválasztva az udp portok vagy port-tartományok listáját "
++"amelyekhez az alkalmazás/felhasználói szerep kapcsolódik. Példa: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Válasszon átlagos alkalmazás jellemzőket"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Rendszernapló üzeneteket ír\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Ideiglenes fájlok létrehozása/módosítása a /tmp-ben"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "PAM-et használ a hitelesítéshez"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Nsswith vagy getpw* hívásokat használ"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "DBus-t használ"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Audit üzenetek küldése"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Kölcsönhatás a terminállal"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Emailt küld"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Válassza ki az alkalmazás által kezelt fájlokat/könyvtárakat"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Adjon hozzá Fájlokat/Könyvtárakat, amelyekbe az alkalmazásnak \"Írnia\" "
++"kell. Pid fájlok, napló fájlok, /var/lib fájlok ..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Válassza ki a logikai értékeket, amelyeket az alkalmazás használ"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Az alkalmazást/felhasználót korlátozó logikai értékek hozzáadása/eltávolítása"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Válassza ki a könyvtárat a házirend generálására"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Házirend Könyvtár"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Generált Házirend Fájlok"
++
++#: ../gui/polgen.glade:2982
++#, fuzzy
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ez az eszköz a következőket fogja legenerálni: \n"
++"Típus kikényszerítés(te), Fájl kontextus(fc), Interfész(if), Shell szkript"
++"(sh)\n"
++"Futtassa rendszergazdaként a shell szkriptet a fordításhoz/telepítéshez és a "
++"fájlok/könyvtárak újracímkézéséhez. \n"
++"Használja az semanage-et vagy useradd-et a Linux felhasználók felhasználói "
++"szerepekhez rendeléséhez.\n"
++"Állítsa a gépet megengedő módba (setenforce 0). \n"
++"Jelentkezzen be a felhasználóként és tesztelje ezt a felhasználói szerepet.\n"
++"Használja az 'audit2allow -R'-t további szabályok generálására a te "
++"fájlokhoz.\n"
++
++#: ../gui/polgen.glade:3025
++#, fuzzy
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ez az eszköz a következőket fogja legenerálni: \n"
++"Típus kikényszerítés(te), Fájl kontextus(fc), Interfész(if), Shell szkript"
++"(sh)\n"
++"\n"
++"Futtassa rendszergazdaként a shell szkriptet a fordításhoz/telepítéshez és a "
++"fájlok/könyvtárak újracímkézéséhez.  \n"
++"Állítsa a gépet megengedő módba (setenforce 0). \n"
++"Futtassa/indítsa újra az alkalmazást az avc üzenetek generálásához.\n"
++"Használja az 'audit2allow -R'-t további szabályok generálására a te "
++"fájlokhoz.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Logikai érték hozzáadása párbeszédpanel"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Logikai Név"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Szerep"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Létező_Felhasználó"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Alkalmazás"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s csak könyvtár lehet"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Ki kell választania egy felhasználót"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Válassza ki a korlátozandó futtatható fájlt."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Válassza ki a korlátozandó init szkript fájlt."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"Válassza ki a korlátozott alkalmazás által létrehozott vagy írt fájl(oka)t"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Válassza ki a korlátozott alkalmazás által birtokolt és írt könyvtár(ak)at"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Válassza ki a könyvtárat a házirend fájlok generálására"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"A %s_t típus már definiálva van ebben a házirendben.\n"
++"Folytatja?"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Név megerősítése"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"A(z) %s.pp modul már be van töltve az aktuális házirendbe.\n"
++"Folytatja?"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Egy nevet kell megadnia"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Egy futtatható fájlt kell megadnia"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux beállítása"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++"A portoknak számoknak vagy számok tartományának kell lennie 1 és %d között"
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Meg kell adnia egy nevet a korlátozott folyamat/felhasználó számára"
++
++#: ../gui/polgen.py:282
++#, fuzzy
++msgid "USER Types are not allowed executables"
++msgstr "USER Típusok nem engedélyezik a futtatható fájlokat"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Csak DÉMON alkalmazások használhatnak init szkripteket"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "a use_syslog értékének logikainak kell lennie."
++
++#: ../gui/polgen.py:327
++#, fuzzy
++msgid "USER Types automatically get a tmp type"
++msgstr "USER Típusok automatikusan kapnak egy tmp típust"
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++"Meg kell adnia a futtatható elérési útvonalát a korlátozott folyamata számára"
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Típus kikényszerítés fájl"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Interfész fájl"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Fájl kontextus fájl"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Beállító parancsfájl"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Hálózati port"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux Port\n"
++"Típus"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokoll"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"Szint"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "A port szám \"%s\" nem érvényes.  0 < PORT_SZÁM < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Listanézet"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Csoportnézet"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux Szolgáltatásvédelem"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Az acct démon SELinux védelmének letiltása"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Rendszergazda"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Minden démonnak engedélyezze a magfájlok írását a /-be"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Engedélyezze minden démonnak a le nem foglalt tty-k használatát"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Felhasználói kiváltságok"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Engedélyezze a gadmin SELinux felhasználónak a fájlok futtatását a saját "
++"könyvtárban vagy /tmp-ben"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Engedélyezze a vendég SELinux felhasználóknak a fájlok futtatását a saját "
++"könyvtárban vagy /tmp-ben"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Memória Védelem"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Engedélyezze a java futtatható vermet"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Felkapcsolás"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Engedélyezze, hogy a mount minden fájlt csatolhasson"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Engedélyezze, hogy a mount minden könyvtárat csatlakoztathasson"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Engedélyezze az mplayer futtatható vermet"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Engedélyezze az ssh-nak az ssh-keysign futtatását"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Engedélyezze a staff SELinux felhasználónak a fájlok futtatását a saját "
++"könyvtárban vagy /tmp-ben"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Engedélyezze a sysadm SELinux felhasználónak a fájlok futtatását a saját "
++"könyvtárban vagy /tmp-ben"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Engedélyezze a nem megerősített SELinux felhasználónak a fájlok futtatását a "
++"saját könyvtárban vagy /tmp-ben"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Hálózati beállítások"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Engedélyezze a címkézetlen csomagok áramlását a hálózaton"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Engedélyezze a user SELinux felhasználónak a fájlok futtatását a saját "
++"könyvtárban vagy /tmp-ben"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Meg nem erősített dyntrans engedélyezése az unconfined_execmem-be"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Adatbázisok"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "A felhasználó mysql foglalathoz csatlakozásának engedélyezése"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "A felhasználó postgres foglalathoz csatlakozásának engedélyezése"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "X-Kiszolgáló"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "A kliensek számára az X osztott memória írásának engedélyezése"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Engedélyezze a xguest SELinux felhasználónak a fájlok futtatását a saját "
++"könyvtárban vagy /tmp-ben"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Démonok NIS-szel futtatásának engedélyezése"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Webalkalmazások"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "A staff SELinux felhasználó átmenete Webböngésző tartományba"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "A sysadm SELinux felhasználó átmenete Webböngésző tartományba"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "A user SELinux felhasználó átmenete Webböngésző tartományba"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Az xguest SELinux felhasználó átmenete Webböngésző tartományba"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"A staff webböngészőknek a felhasználók saját könyvtáraiba írás engedélyezése"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Az amanda SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Az amavis SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Az apmd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Az arpwatch démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Az auditd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Az automount démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Az avachi SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "A bluetooth démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "A canna démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "A cardmgr démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "A Fürt Kiszolgáló SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Engedélyezze, hogy a cdrecord különböző tartalmakat olvasson. nfs, samba, "
++"eltávolítható eszközök, felhasználói temp és nem megbízható tartalomfájlok"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "A ciped démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "A clamd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "A clamscan SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "A clvmd SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "A comstat démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "A courier démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "A cpucontrol démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "A cpuspeed SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "A crond SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Nyomtatás"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "A cupsd back end kiszolgáló SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "A cupsd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "A cupsd_lpd SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "A cvs démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "A cyrus démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "A dbskkd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "A dbus démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "A dccd SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "A dccifd SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "A dccm SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "A ddt démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "A devfsd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "A dhcpc démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "A dhcpd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "A dictd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Engedélyezze, hogy a sysadm_t közvetlenül indíthasson démonokat"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Az Evolution SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Játékok"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "A játékok SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "A webböngészők SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "A Thunderbird SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "A distccd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "A dmesg démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "A dnsmasq démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "A dovecot démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Az entropyd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "A fetchmail SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "A fingerd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "A freshclam démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Az fsdaemon démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "A gpm démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "A gss démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "A Hal démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Kompatibilitás"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Ne vizsgáljon olyan dolgokat, amelyekről tudjuk, hogy hibásak, de nem "
++"jelentenek biztonsági rést"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "A hostname démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "A hotplug démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "A howl démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "A cups hplib démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "A httpd rotatelogs SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD Szolgáltatás"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "A http suexec SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "A hwclock démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Az i18n démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Az imazesrv démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Az inetd gyermek démonainak SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Az inetd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Az innd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Az iptables démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Az ircd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Az irqbalance démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Az iscsi démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "A jabberd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "A kabmid démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "A klogd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "A krb5kdc démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "A ktalk SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "A kudzu démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "A locate démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Z lpd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Az lrrd SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Az lvm démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "A mailman SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++"A thunderbird és evolution számára engedélyezze a felhasználói fájlok "
++"olvasását"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Az mdadm démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "A monopd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++"A mozilla böngésző számára engedélyezze a felhasználói fájlok olvasását"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Az mrtg démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "A mysqld démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "A nagios démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Név Szolgáltatás:"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "A named démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "A nessusd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "A Hálózatkezelő SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Az nfsd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Az nmbd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Az nrpe démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Az nscd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Az nsd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Az ntpd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Az oddjob SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Az oddjob_mkhomedir SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Az openvpn démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "A pam démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "A pegasus SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "A perdition démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "A portmap démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "A portslave démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "A postfix SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "A postgresql démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "A pppd átlagos felhasználó általi futtatásának engedélyezése"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "A pptp SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "A prelink démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "A privoxy démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "A ptal démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "A pxe démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "A pyzord démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "A quota démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "A radiusd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "A radvd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Az rdisc SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "A readahead SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Engedélyezze a programoknak, hogy nem-szabványos helyekről olvassanak "
++"fájlokat (default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "A restorecond SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Az rhgb démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "A ricci SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "A ricci_modclustered SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Az rlogin démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Az rpcd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Az rshd SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Az rsync démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Az ssh nem démonként, hanem inetd-ből való futtatásának engedélyezése"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Az nfs könyvtárak megosztásának engedélyezése Samba-val"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL hitelesítő kiszolgáló"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++"A /etc/shadow olvasásának engedélyezése az sasl hitelesítő kiszolgáló számára"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Engedélyezze az X-Ablakok kiszolgálónak egyszerre futtatható és írható "
++"memória régió feltérképezését"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Az saslauthd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "A scannerdaemon démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Ne engedélyezzen átmenetet a sysadm_t-ba, sudo és su esetén"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Ne engedélyezze bármely folyamatnak, hogy kernelmodulokat töltsön be"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++"Ne engedélyezze bármely folyamatnak az kernel SELinux házirend módosítását"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "A sendmail démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Az setrans SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Az setroubleshoot démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "A slapd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Az slrnpull démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Az smbd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Az snmpd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "A snort démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "A soundd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "A sound démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Levélszemét Védelem"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "A spamd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Engedélyezze a spamd-nek a felhasználók saját könyvtárainak elérését"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "A Spam Assassin démon hálózatelérésének engedélyezése"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "A speedmgmt démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "A squid démon hálózati kapcsolódásának engedélyezése"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "A squid démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Az ssh démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "A sysadm_r:sysadm_t ssh bejelentkezések engedélyezése"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Engedélyezze, hogy a staff_r felhasználók keressenek és olvashassák a "
++"fájlokat (mint pl.: ~/.bashrc) a sysadm saját könyvtárában"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Univerzális SSL alagút"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Az stunnel démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Az stunnel számára a különálló, xinetd-n kívüli futás engedélyezése"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "A swat démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "A sxid démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "A syslogd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "A rendszer cron feladatok SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "A tcp démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "A telnet démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "A tftpd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "A transproxy démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Az udev démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Az uml démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"A xinetd korlátozás nélküli futtatásának engedélyezése, beleértve minden "
++"olyan elindított szolgáltatását, amelynek nincs explicit megadott tartomány "
++"átmenete"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Az rc szkriptek korlátozás nélküli futtatásának engedélyezése, beleértve "
++"minden olyan démont, amelyet egy rc szkript indít, aminek nincs explicit "
++"definiált tartomány átmenete"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Az rpm korlátozás nélküli futtatásának engedélyezése"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"A kiváltságos segédprogramok, mint hotplug és insmod korlátozás nélküli "
++"futtatásának engedélyezése"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Az updfstab démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Az uptimed démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"A sysadm_r su-val, sudo-val, vagy userhelper-rel elérésének engedélyezése a "
++"user_r számára. Egyébként csak a staff_r teheti ezt meg"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "A mount parancs használatának engedélyezése a felhasználók számára"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Közvetlen egér-hozzáférés engedélyezése az átlagos felhasználóknak (csak az "
++"X kiszolgáló engedélyezése)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "A dmesg parancs futtatásának engedélyezése a felhasználóknak"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"A hálózati interfészek vezérlésének engedélyezése a felhasználóknak "
++"(szükséges a USERCTL=igaz is)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "A ping futtatásának engedélyezése a normál felhasználónak"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"A felhasználó számára az noextattrfile írás/olvasás engedélyezése (FAT, "
++"CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "USB eszközök írásának és olvasásának engedélyezése a felhasználóknak"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"TCP kiszolgálók futtatásának engedélyezése a felhasználóknak (portok kötése "
++"és kapcsolatok fogadása ugyanabból a tartományból és külső felhasználóktól)  "
++"ennek a letiltása kikényszeríti az FTP passzív módot és más protokollokat is "
++"megváltoztathat"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "A tty fájlok statisztikáinak engedélyezése a felhasználók számára"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Az uucpd démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "A vmware démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "A watchdog démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "A winbind démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Az xdm démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "A sysadm_r:sysadm_t xdm bejelentkezések engedélyezése"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "A xen démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "A xen számára a fizikai lemezek olvasásának/írásának engedélyezése"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Az xfs démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "A xen vezérlés SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Az ypbind démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Az NIS Jelszó Démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Az ypserv démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Az NIS Transzfer Démon SELinux védelmének kikapcsolása"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"A nem kiváltságos felhasználói saját könyvtárak menedzselésének "
++"engedélyezése az SELinux webadm felhasználónak"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"A nem kiváltságos felhasználói saját könyvtárak olvasásának engedélyezése az "
++"SELinux webadm felhasználónak"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Biztos, hogy törölni akarja a %st: '%s'?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s törlése"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s hozzáadása"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s módosítása"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Megengedő"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Kikényszerítő"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Kikapcsolva"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Állapot"
++
++#: ../gui/statusPage.py:133
++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 ""
++"A házirend típus megváltoztatása miatt az egész fájlrendszert újra kell "
++"címkézni a következő újraindításkor. Az újracímkézés hosszú időt vehet "
++"igénybe a fájlrendszer méretétől függően.  Folytatja?"
++
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Az SELinux kikapcsolása újraindítást igényel.  Ez nem ajánlott.  Ha később "
++"úgy dönt, hogy ismét bekapcsolja az SELinux-ot, szükség lesz a rendszer "
++"újracímkézésére.  Ha csak azt szeretné megnézni, hogy az SELinux okoz-e "
++"problémát a rendszerén, akkor átválthat megengedő módba, amelyik csak "
++"naplózza a hibákat és nem kényszeríti ki az SELinux házirend betartását.  A "
++"megengedő mód nem igényel újraindítást    Folytatja?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Az SELinux engedélyezése miatt újra kell címkéznie az egész fájlrendszert a "
++"következő újraindításkor. Az újracímkézés hosszú időt vehet igénybe a "
++"fájlrendszer méretétől függően.  Folytatja?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux bejelentkezés hozzárendelés hozzáadása"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux hálózati portok hozzáadása"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux típus"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Szint"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Fájl Specifikáció"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Fájltípus"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"minden fájl\n"
++"átlagos fájl\n"
++"könyvtár\n"
++"karakteres eszköz\n"
++"blokk eszköz\n"
++"csatlakozó\n"
++"szimbolikus link\n"
++"nevesített csővezeték\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux felhasználó hozzáadása"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux Adminisztráció"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Hozzáadás"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Tulajdonságok"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Törlés"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Menedzsment objektum kiválasztása"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Kiválasztás:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Rendszer alapértelmezett kikényszerítő mód"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Kikapcsolva\n"
++"Megengedő\n"
++"Kikényszerítő\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Jelenlegi kikényszerítő mód"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Rendszer alapértelmezett házirend típus:"
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Válassza ki, ha újra szeretné címkézni az egész fájlrendszert a következő "
++"újraindításkor.  Az újracímkézés hosszú időt vehet igénybe a fájlrendszer "
++"méretétől függően.  Ha megváltoztatja a házirend típusát, vagy kikapcsolt "
++"állapotról vált kikényszerítőre, akkor újracímkézésre van szükség."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Újracímkézés a következő újraindításkor."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "A logikai beállítások visszaállítása alapértelmezettre"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Átkapcsolás testre szabott és Minden logikai érték között"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "A logikai értékeket lezáró varázsló futtatása"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Zárolás..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Szűrő"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Fájlkontextus hozzáadása"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Fájlkontextus módosítása"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Fájlkontextus törlése"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Átváltás minden és testre szabott fájl kontextus között"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux felhasználó hozzárendelés hozzáadása"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux felhasználó hozzárendelés szerkesztése"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux felhasználó hozzárendelés törlése"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Felhasználó hozzáadása"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Felhasználó módosítása"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Felhasználó törlése"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Fordítás hozzáadása"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Fordítás módosítása"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Fordítás törlése"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Hálózati port hozzáadása"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Hálózati port szerkesztése"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Hálózati port törlése"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Átkapcsolás Testre szabott ás Minden Port között"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Új házirend modul generálása"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Házirend modul betöltése"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "A betölthető házirend modul eltávolítása"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Engedélyezze/Tiltsa le a további vizsgálati szabályokat, amelyek normálisan "
++"nincsenek jelentve a napló fájlokban."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Váltás megengedő módra"
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "SELinux kikényszerítő módjának bekapcsolása"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Tartomány feldolgozása"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux felhasználó '%s' szükséges"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Érzékenységi szint"
++
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "a fordítások nem támogatottak a nem MLS-es gépeken"
++
++#~ msgid ""
++#~ "tcp\n"
++#~ "udp"
++#~ msgstr ""
++#~ "tcp\n"
++#~ "udp"
++
++#~ msgid "Modify SELinux User"
++#~ msgstr "SELinux felhasználó szerkesztése"
+ #~ msgid "Requires value"
+ #~ msgstr "Meg kell adni egy értéket"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/hy.po policycoreutils-2.0.85/po/hy.po
+--- nsapolicycoreutils/po/hy.po        2011-02-17 15:11:24.927738117 -0500
++++ policycoreutils-2.0.85/po/hy.po    2011-02-18 16:03:41.378975814 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/id.po policycoreutils-2.0.85/po/id.po
+--- nsapolicycoreutils/po/id.po        2011-02-17 15:11:25.825723306 -0500
++++ policycoreutils-2.0.85/po/id.po    2011-02-18 16:03:41.378975814 -0500
+@@ -1,3 +1,20 @@
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -100,7 +117,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -152,736 +170,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1252,3 +1277,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/is.po policycoreutils-2.0.85/po/is.po
+--- nsapolicycoreutils/po/is.po        2011-02-17 15:11:25.943721358 -0500
++++ policycoreutils-2.0.85/po/is.po    2011-02-18 16:03:41.378975814 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/it.po policycoreutils-2.0.85/po/it.po
+--- nsapolicycoreutils/po/it.po        2011-02-17 15:11:25.522728311 -0500
++++ policycoreutils-2.0.85/po/it.po    2011-02-18 16:03:41.380975827 -0500
+@@ -1,20 +1,41 @@
+ # translation of it.po to
+ # This file is distributed under the same license as the policycoreutils package.
+ #
+-# Francesco Tombolini <tombo@adamantio.net>, 2006, 2007, 2008.
++# Francesco Tombolini <tombo@adamantio.net>, 2006, 2007, 2008, 2009.
++# Silvio Pierro <perplesso82@gmail.com>, 2008.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: it\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-07-13 01:02+0200\n"
+-"Last-Translator: Francesco Tombolini <tombo@adamantio.net>\n"
+-"Language-Team: Italian <fedora-trans-it@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 11:49+1000\n"
++"Last-Translator: \n"
++"Language-Team:  <it@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KAider 0.1\n"
+-"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
++"Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"X-Generator: KBabel 1.11.4\n"
++"X-Poedit-Language: Italian\n"
++"X-Poedit-Country: ITALY\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Configura SELinux in una impostazione grafica"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Gestione di SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Genera moduli della politica di SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Tool di generazione della policy di SELinux"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -106,9 +127,8 @@
+ msgstr "Impossibile stabilire connessione semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Impossibile impostare range MLS per %s"
++msgstr "Impossibile verificare lo stato MLS abilitato"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -124,7 +144,8 @@
+ msgid "Level"
+ msgstr "Livello"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Traduzione"
+@@ -154,765 +175,769 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Una transazione semanage è già in esecuzione"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Impossibile avviare transazione semanage"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Impossibile avviare transazione semanage"
++msgstr "Impossibile eseguire la transazione semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Transazione semanage non in esecuzione"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Impossibile elencare gli utenti SELinux"
++msgstr "Impossibile elencare i moduli SELinux"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+ msgstr "Tipi permissivi"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Impossibile impostare il dominio permissive %s (installazione del modulo "
++"fallita)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Impossibile rimuovere il dominio permissive %s (rimozione fallita)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Impossibile creare una chiave per %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Impossibile controllare se è definito il login mapping per %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Il login mapping per %s è già definito"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "L'utente linux %s non esiste"
++msgstr "Il gruppo linux %s non esiste"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "L'utente linux %s non esiste"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Impossibile creare il login mapping per %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Impossibile impostare nome per %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Impossibile impostare range MLS per %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Impossibile impostare utente SELinux per %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Impossibile aggiungere login mapping per %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "aggiungi mappatura dell'utente di SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Richiede seuser o serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Il login mapping per %s non è definito"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Impossibile interrogare seuser per %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Impossibile modificare login mapping per %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Il login mapping per %s è definito nella policy, non può essere eliminato"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Impossibile eliminare il login mapping per %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Impossibile elencare i login mappings"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Nome di registrazione"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "Utente di SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "Gamma MLS/MCS"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Impossibile aggiungere il contesto del file per %s"
++msgstr "Si deve aggiungere almeno un ruolo per %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Impossibile controllare se l'utente SELinux %s è definito"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "L'utente SELinux %s è già definito"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Impossibile creare l'utente SELinux per %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Impossibile aggiungere il ruolo %s per %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Impossibile impostare il livello MLS per %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Impossibile aggiungere il prefisso %s per %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Impossibile estrarre la chiave per %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Impossibile aggiungere l'utente SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Richiede prefisso, ruolo, livello o range"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Richiede prefisso o ruolo"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "L'utente SELinux %s non è definito"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Impossibile interrogare l'utente per %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Impossibile modificare l'utente SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "L'utente SELinux %s è definito nella policy, non può essere eliminato"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Impossibile eliminare l'utente SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Impossibile elencare gli utenti SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Impossibile elencare i ruoli per l'utente %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Etichettare"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefisso"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "Livello MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "Gamma MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "Ruoli SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "E' richiesto il protocollo udp o tcp"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "E' richiesta la porta"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Impossibile creare una chiave per %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "E' richiesto il Tipo"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Impossibile controllare se la porta %s/%s è definita"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Porta %s/%s già definita"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Impossibile creare la porta per %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Impossibile creare il contesto per %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Impossibile impostare l'utente nel contesto della porta per %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Impossibile impostare il ruolo nel contesto della porta per %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Impossibile impostare il tipo nel contesto della porta per %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Impossibile impostare i campi mls nel contesto della porta per %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Impossibile impostare il contesto della porta per %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Impossibile aggiungere la porta %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Richiede setype o serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Richiede setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "La porta %s/%s non è definita"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Impossibile interrogare la porta %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Impossibile modificare la porta %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Impossibile elencare le porte"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Impossibile eliminare la porta %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "La porta %s/%s è definita nella policy, non può essere eliminata"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Impossibile eliminare la porta %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Impossibile elencare le porte"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "Tipo di porta SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Numero porta"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "E' richiesta la porta"
++msgstr "L'indirizzo del nodo è necessario"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "E' richiesta la porta"
++msgstr "La netmask del nodo è necessaria"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Protocollo mancante o sconosciuto"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "E' richiesto un Tipo SELinux"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Impossibile creare la chiave per %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Impossibile controllare se la porta %s/%s è definita"
++msgstr "Impossibile controllare se la porta %s è definita"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Porta %s/%s già definita"
++msgstr "Indirizzo %s già definito"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Impossibile creare una chiave per %s"
++msgstr "Impossibile creare un indirizzo per %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Impossibile creare il contesto per %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Impossibile impostare nome per %s"
++msgstr "Impossibile impostare una maschera per %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Impossibile impostare l'utente nel contesto del file per %s"
++msgstr "Impossibile impostare l'utente nel contesto indirizzo per %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Impossibile impostare il ruolo nel contesto del file per %s"
++msgstr "Impossibile impostare il ruolo nel contesto indirizzo per %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Impossibile impostare il tipo nel contesto del file per %s"
++msgstr "Impossibile impostare il tipo nel contesto indirizzo per %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Impossibile impostare i campi mls nel contesto del file per %s"
++msgstr "Impossibile impostare i campi mls nel contesto indirizzo per %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Impossibile impostare il contesto del file per %s"
++msgstr "Impossibile impostare il contesto indirizzo per %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Impossibile aggiungere la porta %s/%s"
++msgstr "Impossibile aggiungere l'indirizzo %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "La porta %s/%s non è definita"
++msgstr "Indirizzo %s non definito"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Impossibile interrogare la porta %s/%s"
++msgstr "Impossibile interrogare l'indirizzo %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Impossibile modificare la porta %s/%s"
++msgstr "Impossibile modificare l'indirizzo %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "La porta %s/%s è definita nella policy, non può essere eliminata"
++msgstr "L'indirizzo %s è definito nella policy, non può essere eliminato"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Impossibile eliminare %s"
++msgstr "Impossibile eliminare l'indirizzo %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Impossibile elencare le porte"
++msgstr "Impossibile elencare gli indirizzi"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Impossibile controllare se l'interfaccia %s è definita"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Interfaccia %s già definita"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Impossibile creare l'interfaccia per %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Impossibile impostare l'utente nel contesto dell'interfaccia per %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Impossibile impostare il ruolo nel contesto dell'interfaccia per %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Impossibile impostare il tipo nel contesto dell'interfaccia per %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Impossibile impostare i campi mls nel contesto dell'interfaccia per %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Impossibile impostare il contesto dell'interfaccia per %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Impossibile impostare il contesto dei messaggi per %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Impossibile aggiungere l'interfaccia %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "L'interfaccia %s non è definita"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Impossibile interrogare l'interfaccia %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Impossibile modificare l'interfaccia %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "L'interfaccia %s è definita nella policy, non può essere eliminata"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Impossibile eliminare l'interfaccia %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Impossibile elencare le interfacce"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "Interfaccia di SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Contesto"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Impossibile impostare l'utente nel contesto del file per %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Impossibile impostare il ruolo nel contesto del file per %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Impossibile impostare i campi mls nel contesto del file per %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "Specifiche non valide del file"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Impossibile controllare se il contesto del file per %s è definito"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Contesto del file per %s già definito"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Impossibile creare contesto del file per %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Impossibile impostare il tipo nel contesto del file per %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Impossibile impostare il contesto del file per %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Impossibile aggiungere il contesto del file per %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Richiesto setype, serange o seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Il contesto del file per %s non è definito"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Impossibile interrogare il contesto del file per %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Impossibile modificare il contesto del file per %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "Impossibile elencare i contesti del file"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Impossibile eliminare il contesto del file %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Il contesto del file per %s è definito nella policy, non può essere eliminato"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Impossibile eliminare il contesto del file per %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Impossibile elencare i contesti del file"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Impossibile elencare i contesti del file locale"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "fcontext di SELinux"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "tipo"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Impossibile controllare se la booleana %s è definita"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "La booleana %s non è definita"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Impossibile interrogare il contesto del file %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "È necessario specificare un valore"
++msgstr "E' necessario specificare uno dei seguenti valori: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Impossibile impostare il valore attivo della booleana %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Impossibile modificare la booleana %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Formato non valido %s: Record %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "La booleana %s è definita nella policy, non può essere eliminata"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Impossibile eliminare la booleana %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Impossibile elencare le booleane"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "sconosciuto"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "off"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "on"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "Booleana di SELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Descrizione"
+@@ -954,7 +979,7 @@
+ msgstr "Impossibile ripulire l'ambiente\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "Errore inizializzazione capacità, abbandono.\n"
+@@ -1293,1739 +1318,2250 @@
+ msgid "Options Error %s "
+ msgstr "Errore opzioni %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "traduzioni non supportate su macchine non-MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Boolean"
+-
+-#~ msgid "all"
+-#~ msgstr "Tutte/i"
+-
+-#~ msgid "Customized"
+-#~ msgstr "Personalizzato"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "File Labeling"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Specifiche\n"
+-#~ "del file"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Boolean"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "Tutte/i"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Personalizzato"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "File Labeling"
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Tipo di file\n"
+-#~ "Selinux"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Tipo\n"
+-#~ "di file"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Mappatura utente"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Specifiche\n"
++"del file"
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Nome\n"
+-#~ "di login"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Tipo di file\n"
++"Selinux"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Utente"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Tipo\n"
++"di file"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "Gamma MCS/\n"
+-#~ "MLS"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Mappatura utente"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Il login '%s' è necessario"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Nome\n"
++"di login"
+-#~ msgid "Policy Module"
+-#~ msgstr "Modulo della policy"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Utente"
+-#~ msgid "Module Name"
+-#~ msgstr "Nome della policy"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Gamma MCS/\n"
++"MLS"
+-#~ msgid "Version"
+-#~ msgstr "Versione"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Il login '%s' è necessario"
+-#~ msgid "Disable Audit"
+-#~ msgstr "Disabilita audit"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Modulo della policy"
+-#~ msgid "Enable Audit"
+-#~ msgstr "Abilita audit"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Nome della policy"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Carica modulo della policy"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versione"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Disabilita audit"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Abilita audit"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Carica modulo della policy"
+-#~ msgid "translator-credits"
+-#~ msgstr "crediti-traduttore"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Tool di generazione della policy di SELinux"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Questo tool può essere usato per generare una struttura per la policy, "
+-#~ "per confinare le applicazioni o gli utenti che utilizzano SELinux.   \n"
+-#~ "\n"
+-#~ "Il tool genera:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - usato per compilare ed installare la policy. "
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Selezionare il tipo di ruolo utente/applicazione da confinare"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Francesco Tombolini <tombo@adamantio.net>.\n"
++"Silvio Pierro <perplesso82@gmail.com>."
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Applicazioni</b>"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Questo tool può essere usato per generare una struttura per la policy, per "
++"confinare le applicazioni o gli utenti che utilizzano SELinux.   \n"
++"\n"
++"Il tool genera:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - usato per compilare ed installare la policy. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Selezionare il tipo di ruolo utente/applicazione da confinare"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Applicazioni</b>"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Il demone init standard è un demone avviato al momento dell'avvio tramite "
+-#~ "gli script init.  Generalmente richiede uno script in /etc/init.d"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Il demone init standard è un demone avviato al momento dell'avvio tramite "
++"gli script init.  Generalmente richiede uno script in /etc/init.d"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Demone init standard"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Demone init standard"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Demone di sistema DBUS"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet Services Daemon sono demoni avviati da xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Internet Services Daemon sono demoni avviati da xinetd"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Script CGI Web Applications/Script (CGI) vengono avviati dal server web "
++"(apache)"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Internet Services Daemon (inetd)"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Web Application/Script (CGI)"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Script CGI Web Applications/Script (CGI) vengono avviati dal server web "
+-#~ "(apache)"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Una User Application rappresenta qualsiasi applicazione che desiderate "
++"confinare avviata da un utente"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Web Application/Script (CGI)"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "User Application"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Utenti di registrazione</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modifica una voce esistente dell'utente di registrazione."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Utenti esistenti"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Una User Application rappresenta qualsiasi applicazione che desiderate "
+-#~ "confinare avviata da un utente"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Questo utente eseguirà la registrazione solo tramite un terminale o un login "
++"remoto.  Per default il suddetto utente non avrà alcun setuid, no "
++"networking, no su e no sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Ruolo utente del terminale minimo"
+-#~ msgid "User Application"
+-#~ msgstr "User Application"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Questo utente può registrarsi ad una macchina tramite X o terminale.  Per "
++"default il suddetto utente non avrà alcun setuid, nessun networking, no "
++"sudo, e no su"
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Ruolo utente X Windows minimo"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Utenti di registrazione</b>"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Utente con networking conpleto, nessuna applicazione setuid senza "
++"transizione, no sudo e no su."
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Modifica una voce esistente dell'utente di registrazione."
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Ruolo utente"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Utenti esistenti"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Utente con un network completo, nessuna applicazione setuid senza "
++"transizione, no su, può eseguire il sudo nei ruoli di amministrazione root"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Questo utente eseguirà la registrazione solo tramite un terminale o un "
+-#~ "login remoto.  Per default il suddetto utente non avrà alcun setuid, no "
+-#~ "networking, no su e no sudo."
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Ruolo Utente amministratore"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Utenti root</b>"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Ruolo utente del terminale minimo"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Selezionare il Ruolo utente amministratore root, se l'utente verrà impiegato "
++"per amministrare la macchina operando come utente root.  Il suddetto utente "
++"non sarà in grado di eseguire il login diretto sul sistema."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Ruolo utente amministratore root"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Questo utente può registrarsi ad una macchina tramite X o terminale.  Per "
+-#~ "default il suddetto utente non avrà alcun setuid, nessun networking, no "
+-#~ "sudo, e no su"
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++"Inserisci il nome dell'applicazione o il ruolo dell'utente da confinare"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Ruolo utente X Windows minimo"
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nome"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "Utente con networking conpleto, nessuna applicazione setuid senza "
+-#~ "transizione, no sudo e no su."
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Inserire il percorso completo per confinare l'eseguibile."
+-#~ msgid "User Role"
+-#~ msgstr "Ruolo utente"
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "Utente con un network completo, nessuna applicazione setuid senza "
+-#~ "transizione, no su, può eseguire il sudo nei ruoli di amministrazione root"
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Inserire un nome unico per un ruolo utente o applicazione confinata."
+-#~ msgid "Admin User Role"
+-#~ msgstr "Ruolo Utente amministratore"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Eseguibile"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Utenti root</b>"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Script init"
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Selezionare il Ruolo utente amministratore root, se l'utente verrà "
+-#~ "impiegato per amministrare la macchina operando come utente root.  Il "
+-#~ "suddetto utente non sarà in grado di eseguire il login diretto sul "
+-#~ "sistema."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Inserire il percorso completo sullo script init usato per avviare "
++"l'applicazione confinata."
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Ruolo utente amministratore root"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Selezionare i ruoli utente che desiderate personalizzare"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr ""
+-#~ "Inserisci il nome dell'applicazione o il ruolo dell'utente da confinare"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Selezionare i ruoli utente che eseguiranno la transizione a questi domini "
++"delle applicazioni. "
+-#~ msgid "Name"
+-#~ msgstr "Nome"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Selezionare i domini aggiuntivi ai quali questo ruolo utente eseguirà la "
++"transizione"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Inserire il percorso completo per confinare l'eseguibile."
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Selezionare i domini delle applicazioni dasiderati per la transizione di "
++"questo ruolo utente."
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++"Selezionare i ruoli utente che eseguiranno la transizione a questo dominio"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Inserire un nome unico per un ruolo utente o applicazione confinata."
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Selezionare i domini aggiuntivi che questo utente dovrà amministrare"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Selezionare i domini che si desidera che questo utente amministri."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Selezionare i ruoli aggiuntivi per questo utente"
+-#~ msgid "Executable"
+-#~ msgstr "Eseguibile"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Inserisci le porte di rete alle quali un ruolo utente/applicazione è in "
++"ascolto"
+-#~ msgid "Init script"
+-#~ msgstr "Script init"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Porte TCP</b>"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Inserire il percorso completo sullo script init usato per avviare "
+-#~ "l'applicazione confinata."
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Permette ad un ruolo utente/applicazione di eseguire il bind a qualsiasi "
++"porta udp"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Selezionare i ruoli utente che desiderate personalizzare"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Tutte/i"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "Selezionare i ruoli utente che eseguiranno la transizione a questi domini "
+-#~ "delle applicazioni. "
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Permetti ad un ruolo utente/applicazione di chiamare bindresvport con 0. "
++"Binding alle porte 600-1024 in corso"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr ""
+-#~ "Selezionare i domini aggiuntivi ai quali questo ruolo utente eseguirà la "
+-#~ "transizione"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Selezionare i domini delle applicazioni dasiderati per la transizione di "
+-#~ "questo ruolo utente."
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Inserisci un elenco di porte udp o una gamma di porte separato da virgole, "
++"alle quali un ruolo utente/applicazione può eseguire il bind. Ad esempio: "
++"612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Porte non riservate (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Seleziona porte"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr ""
+-#~ "Selezionare i ruoli utente che eseguiranno la transizione a questo dominio"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Permette ad un ruolo utente/applicazione di eseguire il bind a qualsiasi "
++"porta udp > 1024"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr ""
+-#~ "Selezionare i domini aggiuntivi che questo utente dovrà amministrare"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Porte UDP</b>"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "Selezionare i domini che si desidera che questo utente amministri."
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Inserisci le porte di rete alle quali un ruolo utente/applicazione può "
++"collegarsi"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Selezionare i ruoli aggiuntivi per questo utente"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Inserire un elenco di porte tcp o una gamma di porte separato da virgole, "
++"alle quali un ruolo utente/applicazione può collegarsi. Ad esempio: 612, "
++"650-660"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Inserisci le porte di rete alle quali un ruolo utente/applicazione è in "
+-#~ "ascolto"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Inserisci un elenco di porte udp o una gamma di porte separato da virgole, "
++"alle quali un ruolo utente/applicazione si può collegare. Ad esempio: 612, "
++"650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Selezionare le caratteristiche di applicazione comune"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Scrive i messaggi syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Crea/Manipola i file temporanei in /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Utilizza Pam per l'autenticazione"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Utilizza le chiamate getpw* o nsswitch"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Utilizza dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Invia messaggi audit"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interagisce con il terminale"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Invia email"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Selezionare i file/directory gestiti dall'applicazione"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>Porte TCP</b>"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Aggiungi File/Directory sulle quali questa applicazione deve eseguire la "
++"\"scrittura\". Pid Files, File di log, /var/lib Files ..."
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Permette ad un ruolo utente/applicazione di eseguire il bind a qualsiasi "
+-#~ "porta udp"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Selezionare le booleane usate dall'applicazione"
+-#~ msgid "All"
+-#~ msgstr "Tutte/i"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Aggiungi/Rimuovi valori della booleana usati per questa applicazione/utente "
++"confinati"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Permetti ad un ruolo utente/applicazione di chiamare bindresvport con 0. "
+-#~ "Binding alle porte 600-1024 in corso"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Selezionare la directory per generare la policy in"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Directory della policy"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "File della policy generati"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Questo tool genererà quanto segue: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Eseguire lo script della shell per compilare/installare e rietichettare i "
++"file/directory.  \n"
++"Utilizzare semanage o useradd per mappare gli utenti di registrazione di "
++"Linux con i ruoli\n"
++" utente. Impostare la macchina in modalità permissiva (setenforce 0). \n"
++"Registratevi come utente e testate questo ruolo utente.\n"
++"Utilizzare audit2allow -R per generare le regole aggiuntive per il file te.\n"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Inserisci un elenco di porte udp o una gamma di porte separato da "
+-#~ "virgole, alle quali un ruolo utente/applicazione può eseguire il bind. Ad "
+-#~ "esempio: 612, 650-660"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Questo tool genererà quanto segue: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Eseguire lo script della shell per compilare/installare e rietichettare i  \n"
++"file/directory.  Impostare la macchina in modalità permissiva (setenforce "
++"0). \n"
++"Eseguire/riavviare l'applicazione per generare i messaggi avc.\n"
++"Utilizzare audit2allow -R per generare le regole aggiuntive per il file te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Aggiungi dialogo booleana"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Nome booleana"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Ruolo"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Utente_esistente"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Applicazione"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s deve essere una directory"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "È necessario selezionare un utente"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Selezionare il file eseguibile da confinare."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Selezionare il file dello script init da confinare."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Selezionare i file che l'applicazione confinata crea o scrive"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Porte non riservate (>1024)"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Selezionare le directory che l'applicazione confinata possiede o nelle quali "
++"scrive"
+-#~ msgid "Select Ports"
+-#~ msgstr "Seleziona porte"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Selezionare la directory per generare i file della policy in"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Permette ad un ruolo utente/applicazione di eseguire il bind a qualsiasi "
+-#~ "porta udp > 1024"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Tipo %s_t già definito nella policy corrente.\n"
++"Desideri continuare?"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>Porte UDP</b>"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verifica nome"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Inserisci le porte di rete alle quali un ruolo utente/applicazione può "
+-#~ "collegarsi"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Modulo %s.pp già caricato nella policy corrente.\n"
++"Desideri continuare?"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Inserire un elenco di porte tcp o una gamma di porte separato da virgole, "
+-#~ "alle quali un ruolo utente/applicazione può collegarsi. Ad esempio: 612, "
+-#~ "650-660"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "È necessario inserire un nome"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Inserisci un elenco di porte udp o una gamma di porte separato da "
+-#~ "virgole, alle quali un ruolo utente/applicazione si può collegare. Ad "
+-#~ "esempio: 612, 650-660"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "È necessario inserire un eseguibile"
+-#~ msgid "Select common application traits"
+-#~ msgstr "Selezionare le caratteristiche di applicazione comune"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Configura SELinux"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Scrive i messaggi syslog\t"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Le porte devono essere numeri o una gamma di numeri da 1 a %d "
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "Crea/Manipola i file temporanei in /tmp"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "È necessario inserire un nome per il vostro processo/utente confinato"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Utilizza Pam per l'autenticazione"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "I tipi di UTENTI non sono eseguibili permessi"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Utilizza le chiamate getpw* o nsswitch"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Solo le applicazioni DAEMON possono utilizzare uno script init"
+-#~ msgid "Uses dbus"
+-#~ msgstr "Utilizza dbus"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog deve essere un valore boolean"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Invia messaggi audit"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "I tipi USER ottengono automaticamente un tipo tmp"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "Interagisce con il terminale"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++"È necessario inserire il percorso eseguibile per il vostro processo confinato"
+-#~ msgid "Sends email"
+-#~ msgstr "Invia email"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "File tipo enforcement"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Selezionare i file/directory gestiti dall'applicazione"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "File dell'interfaccia"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Aggiungi File/Directory sulle quali questa applicazione deve eseguire la "
+-#~ "\"scrittura\". Pid Files, File di log, /var/lib Files ..."
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "File dei contesti del file"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Selezionare le booleane usate dall'applicazione"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Script d'impostazione"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Aggiungi/Rimuovi valori della booleana usati per questa applicazione/"
+-#~ "utente confinati"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Porta di rete"
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Selezionare la directory per generare la policy in"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Tipo di\n"
++"porta di SELinux"
+-#~ msgid "Policy Directory"
+-#~ msgstr "Directory della policy"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocollo"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "File della policy generati"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"Livello MLS/\n"
++"MCS"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Questo tool genererà quanto segue: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Eseguire lo script della shell per compilare/installare e rietichettare i "
+-#~ "file/directory.  \n"
+-#~ "Utilizzare semanage o useradd per mappare gli utenti di registrazione di "
+-#~ "Linux con i ruoli\n"
+-#~ " utente. Impostare la macchina in modalità permissiva (setenforce 0). \n"
+-#~ "Registratevi come utente e testate questo ruolo utente.\n"
+-#~ "Utilizzare audit2allow -R per generare le regole aggiuntive per il file "
+-#~ "te.\n"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Porta"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Numero porta \"%s\" non valido.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Vista elenco"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Vista del gruppo"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Protezione del servizio di SELiunx"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Disabilita protezione SELinux per il demone acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Amministratore"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Permetti a tutti i demoni di scrivere i corefile su /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Permetti a tutti i demoni di utilizzare i tty non assegnati"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Priv utente"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Questo tool genererà quanto segue: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Eseguire lo script della shell per compilare/installare e rietichettare "
+-#~ "i  \n"
+-#~ "file/directory.  Impostare la macchina in modalità permissiva (setenforce "
+-#~ "0). \n"
+-#~ "Eseguire/riavviare l'applicazione per generare i messaggi avc.\n"
+-#~ "Utilizzare audit2allow -R per generare le regole aggiuntive per il file "
+-#~ "te.\n"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permetti all'account utente di SELinux gadmin di eseguire i file nella home "
++"directory o /tmp"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Aggiungi dialogo booleana"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permetti all'account utente SELinux guest di eseguire i file nella home "
++"directory o /tmp"
+-#~ msgid "Boolean Name"
+-#~ msgstr "Nome booleana"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Protezione memoria"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Permetti lo stack eseguibile di java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Permetti a mount di montare qualsiasi file"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Permetti a mount di montare qualsiasi directory"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Permetti lo stack eseguibile di mplayer"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Permetti a ssh di eseguire ssh-keysign"
+-#~ msgid "Role"
+-#~ msgstr "Ruolo"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permetti all'account utente di SELinux staff di eseguire i file nella home "
++"directory o /tmp"
+-#~ msgid "Existing_User"
+-#~ msgstr "Utente_esistente"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permetti all'account utente di SELinux sysadm di eseguire i file nella home "
++"directory o /tmp"
+-#~ msgid "Application"
+-#~ msgstr "Applicazione"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Permetti all'account utente di SELinux unconfined di eseguire i file nella "
++"home directory o /tmp"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s deve essere una directory"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Configurazione di rete"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Permetti ai pacchetti non etichettati di percorrere la rete"
+-#~ msgid "You must select a user"
+-#~ msgstr "È necessario selezionare un utente"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permetti all'account utente di SELinux user di eseguire i file nella home "
++"directory o /tmp"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Selezionare il file eseguibile da confinare."
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Permetti non confinato a dyntrans su unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Database"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Permetti all'utente di collegarsi al socket mysql"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Permetti all'utente di collegarsi al socket postgres"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Permetti ai client di scrivere sulla memoria condivisa di X"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Selezionare il file dello script init da confinare."
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permetti all'account utente di SELinux xguest di eseguire i file nella home "
++"directory o /tmp"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Selezionare i file che l'applicazione confinata crea o scrive"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Permetti ai demoni di essere eseguiti con NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web Application"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Transizione utente di SELinux staff su Web Browser Domain"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Transizione utente di SELinux sysadm su Web Browser Domain"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Transizione utente di SELinux user su Web Browser Domain"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Transizione utente di SELinux xguest su Web Browser Domain"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Permetti ai web browser di staff di scrivere sulle home directory"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Disabilita la protezione SELinux per amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Disabilita la protezione SELinux per amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Disabilita la protezione SELinux per il demone apmd"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Disabilita la protezione SELinux per il demone arpwatch"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Disabilita la protezione SELinux per il demone auditd"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Disabilita la protezione SELinux per il demone automount"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Disabilita la protezione SELinux per avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Disabilita la protezione SELinux per il demone bluetooth"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Disabilita la protezione SELinux per il demone canna"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Disabilita la protezione SELinux per il demone cardmgr"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Disabilita la protezione SELinux per il Cluster server"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Selezionare le directory che l'applicazione confinata possiede o nelle "
+-#~ "quali scrive"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Permetti a cdrecord di leggere vari contenuti. nfs, samba, dispositivi "
++"estraibili, user-temp e file con contenuti non fidati"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Selezionare la directory per generare i file della policy in"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Disabilita la protezione SELinux per il demone ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Disabilita la protezione SELinux per il demone clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Disabilita la protezione SELinux per clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Disabilita la protezione SELinux per clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Disabilita la protezione SELinux per il demone comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Disabilita la protezione SELinux per il demone courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Disabilita la protezione SELinux per il demone cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Disabilita la protezione SELinux per il demone cpuspeed"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Disabilita la protezione SELinux per il demone crond"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Stampa"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Disabilita la protezione SELinux per il server backend di cupsd"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Disabilita la protezione SELinux per il demone cupsd"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Disabilita la protezione SELinux per cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Disabilita la protezione SELinux per il demone cvs"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Disabilita la protezione SELinux per il demone cyrus"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Disabilita la protezione SELinux per il demone dbskkd"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Disabilita la protezione SELinux per il demone dbusd"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Disabilita la protezione SELinux per dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Disabilita la protezione SELinux per dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Disabilita la protezione SELinux per dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Disabilita la protezione SELinux per il demone ddt"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Disabilita la protezione SELinux per il demone devfsd"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Disabilita la protezione SELinux per il demone dhcpc"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Disabilita la protezione SELinux per il demone dhcpd"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Disabilita la protezione SELinux per il demone dictd"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Permetti a sysadm_t di avviare direttamente i demoni"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Disabilita la protezione SELinux per Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Giochi"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Disabilita la protezione SELinux per i giochi"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Disabilita la protezione SELinux per i web browser"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Disabilita la protezione SELinux per Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Disabilita la protezione SELinux per il demone distccd"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Disabilita la protezione SELinux per il demone dmesg"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Disabilita la protezione SELinux per il demone dnsmasq"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Disabilita la protezione SELinux per il demone dovecot"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Disabilita la protezione SELinux per il demone entropyd"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Disabilita la protezione SELinux per fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Disabilita la protezione SELinux per il demone fingerd"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Disabilita la protezione SELinux per il demone freshclam"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Disabilita la protezione SELinux per il demone fsdaemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Disabilita la protezione SELinux per il demone gpm"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Disabilita la protezione SELinux per il demone gss"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Disabilita la protezione SELinux per il demone Hal"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibilità"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Tipo %s_t già definito nella policy corrente.\n"
+-#~ "Desideri continuare?"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Non eseguire l'audit degli oggetti che sappiamo essere corrotti ma che non "
++"rappresentano alcun rischio della sicurezza"
+-#~ msgid "Verify Name"
+-#~ msgstr "Verifica nome"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Disabilita la protezione SELinux per il demone hostname"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Disabilita la protezione SELinux per il demone hotplug"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Disabilita la protezione SELinux per il demone howl"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Disabilita la protezione SELinux per il demone hplip di cups"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Disabilita la protezione SELinux per httpd rotatelog"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Servizio HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Disabilita la protezione SELinux per http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Disabilita la protezione SELinux per il demone hwclock"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Disabilita la protezione SELinux per il demone i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Disabilita la protezione SELinux per il demone imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Disabilita la protezione SELinux per il demone figlio inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Disabilita la protezione SELinux per il demone inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Disabilita la protezione SELinux per il demone innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Disabilita la protezione SELinux per il demone iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Disabilita la protezione SELinux per il demone ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Disabilita la protezione SELinux per il demone irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Disabilita la protezione SELinux per il demone iscsi"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Disabilita la protezione SELinux per il demone jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Disabilita la protezione SELinux per il demone kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Disabilita la protezione SELinux per il demone klogd"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Disabilita la protezione SELinux per il demone krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Disabilita la protezione SELinux per il demone ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Disabilita la protezione SELinux per il demone kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Disabilita la protezione SELinux per il demone locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Disabilita la protezione SELinux per il demone lpd"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Disabilita la protezione SELinux per il demone lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Disabilita la protezione SELinux per il demone lvm"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Disabilita la protezione SELinux per mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Permetti a evolution e thunderbird di leggere i file dell'utente"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Disabilita la protezione SELinux per il demone mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Disabilita la protezione SELinux per il demone monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Permetti al browser di mozilla di leggere i file dell'utente"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Disabilita la protezione SELinux per il demone mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Disabilita la protezione SELinux per il demone mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Disabilita la protezione SELinux per il demone nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Nome servizio"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Disabilita la protezione SELinux per il demone named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Disabilita la protezione SELinux per il demone nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Disabilita la protezione SELinux per NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Disabilita la protezione SELinux per il demone nfsd"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Disabilita la protezione SELinux per il demone nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Disabilita la protezione SELinux per il demone nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Disabilita la protezione SELinux per il demone nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Disabilita la protezione SELinux per il demone nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Disabilita la protezione SELinux per il demone ntpd"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Disabilita la protezione SELinux per oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Disabilita la protezione SELinux per oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Disabilita la protezione SELinux per il demone openvpn"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Disabilita la protezione SELinux per il demone pam"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Disabilita la protezione SELinux per pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Disabilita la protezione SELinux per il demone perdition"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Disabilita la protezione SELinux per il demone portmap"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Disabilita la protezione SELinux per il demone portslave"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Disabilita la protezione SELinux per postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Disabilita la protezione SELinux per il demone postgresql"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Permetti a pppd di essere eseguito per un utente normale"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Disabilita protezione SELinux per pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Disabilita protezione SELinux per il demone prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Disabilita protezione SELinux per il demone privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Disabilita protezione SELinux per il demone ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Disabilita protezione SELinux per il demone pxe"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Disabilita protezione SELinux per pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Disabilita protezione SELinux per il demone quota"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Disabilita protezione SELinux per il demone radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Disabilita protezione SELinux per il demone radvd"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Disabilita protezione SELinux per rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Disabilita protezione SELinux per readahead"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Modulo %s.pp già caricato nella policy corrente.\n"
+-#~ "Desideri continuare?"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Permetti ai programmi di leggere i file in posizioni non-standard (default_t)"
+-#~ msgid "You must enter a name"
+-#~ msgstr "È necessario inserire un nome"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Disabilita protezione SELinux per restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Disabilita protezione SELinux per il demone rhgb"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Disabilita protezione SELinux per ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Disabilita protezione SELinux per ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Disabilita protezione SELinux per il demone rlogind"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Disabilita protezione SELinux per il demone rpcd"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Disabilita protezione SELinux per rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Disabilita protezione SELinux per il demone rsync"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "È necessario inserire un eseguibile"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++"Permetti a ssh di essere eseguito da inetd invece di essere eseguito come "
++"demone"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Configura SELinux"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Permetti a Samba di condividere le directory nfs"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Server per l'autenticazione SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Permetti al server di autenticazione sasl di leggere /etc/shadow"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr ""
+-#~ "Le porte devono essere numerate o avere una gamma di numeri da 1 a %d "
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Permetti al server di X-Windows di mappare una regione della memoria come "
++"eseguibile e scrivibile"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr ""
+-#~ "È necessario inserire un nome per il vostro processo/utente confinato"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Disabilita protezione SELinux per il demone saslauthd"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Disabilita protezione SELinux per il demone scannerdaemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Non permettere la transizione a sysadm_t, sudo e su sono affetti"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Non permettere ad alcun processo di caricare i moduli del kernel"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "I tipi di UTENTI non sono eseguibili permessi"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++"Non permettere ad alcun processo di modificare la policy SELinux del kernel"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Solo le applicazioni DAEMON possono utilizzare uno script init"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Disabilita protezione SELinux per il demone sendmail"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog deve essere un valore boolean"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Disabilita protezione SELinux per setrans"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "I tipi di UTENTE ottengono automaticamente un tipo di tmp"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Disabilita protezione SELinux per il demone setroubleshoot"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "È necessario inserire il percorso eseguibile per il vostro processo "
+-#~ "confinato"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Disabilita protezione SELinux per il demone slapd"
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "File tipo enforcement"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Disabilita protezione SELinux per il demone slrnpull"
+-#~ msgid "Interface file"
+-#~ msgstr "File dell'interfaccia"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Disabilita protezione SELinux per il demone smbd"
+-#~ msgid "File Contexts file"
+-#~ msgstr "File dei contesti del file"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Disabilita protezione SELinux per il demone snmpd"
+-#~ msgid "Setup Script"
+-#~ msgstr "Script d'impostazione"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Disabilita protezione SELinux per il demone snort"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Tipo di\n"
+-#~ "porta di SELinux"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Disabilita protezione SELinux per il demone soundd"
+-#~ msgid "Protocol"
+-#~ msgstr "Protocollo"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Disabilita protezione SELinux per il demone sound"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Livello MLS/\n"
+-#~ "MCS"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Spam Protection"
+-#~ msgid "Port"
+-#~ msgstr "Porta"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Disabilita protezione SELinux per il demone spamd"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Numero porta \"%s\" non valido.  0 < PORT_NUMBER < 65536 "
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Permetti a spamd di accedere alle home directory "
+-#~ msgid "List View"
+-#~ msgstr "Vista elenco"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Permetti l'accesso alla rete del demone Spam Assasin"
+-#~ msgid "Group View"
+-#~ msgstr "Vista del gruppo"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Disabilita protezione SELinux per il demone speedmgmt"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Protezione del servizio di SELiunx"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone acct"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Permetti al demone squid di collegarsi alla rete"
+-#~ msgid "Admin"
+-#~ msgstr "Amministratore"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Disabilita protezione SELinux per il demone squid"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Permetti a tutti i demoni di scrivere i corefile su /"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Disabilita protezione SELinux per il demone ssh"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "Permetti a tutti i demoni di utilizzare i tty non assegnati"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Permetti i login ssh come sysadm_r:sysadm_t"
+-#~ msgid "User Privs"
+-#~ msgstr "Priv utente"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Permetti agli utenti staff_r di eseguire una ricerca della home dir di "
++"sysadm e leggere i file (come ad esempio ~/.bashrc)"
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permetti all'account utente di SELinux gadmin di eseguire i file nella "
+-#~ "home directory o /tmp"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Tunnel SSL universale"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Disabilita protezione SELinux per il demone stunnel"
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permetti all'account utente SELinux guest di eseguire i file nella home "
+-#~ "directory o /tmp"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"Permetti al demone stunnel di essere eseguito come standalone, esternamente "
++"a xinetd"
+-#~ msgid "Memory Protection"
+-#~ msgstr "Protezione memoria"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Disabilita protezione SELinux per il demone swat"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Disabilita protezione SELinux per il demone sxid"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Disabilita protezione SELinux per il demone syslogd"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Disabilita protezione SELinux per i cron job del sistema"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Disabilita protezione SELinux per il demone tcp"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Disabilita protezione SELinux per il demone telnet"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Disabilita protezione SELinux per il demone tftpd"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Disabilita protezione SELinux per il demone transproxy"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Disabilita protezione SELinux per il demone udev"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Disabilita protezione SELinux per il demone uml"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Permetti lo stack eseguibile di java"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Permetti a xinetd di essere eseguito come non confinato, incluso qualsiasi "
++"servizio avviato che non possiede una transizione del dominio definita in "
++"modo esplicito"
+-#~ msgid "Mount"
+-#~ msgstr "Mount"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Permetti agli script rc di essere eseguiti come non confinati, incluso "
++"qualsiasi demone avviato da uno script rc che non possiede una transizione "
++"del dominio definita in modo esplicito"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Permetti ad rpm di essere eseguito in modo non confinato"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Permetti a mount di montare qualsiasi file"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Permetti alle utilità privilegiate, come hotplug e insmod, di essere "
++"eseguite in modo non confinato"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Permetti a mount di montare qualsiasi directory"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Disabilita protezione SELinux per il demone updfstab"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Disabilita protezione SELinux per il demone uptimed"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Permetti lo stack eseguibile di mplayer"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Permetti a user_r di raggiungere sysadm_r tramite su, sudo, o userhelper. "
++"Altrimenti solo staff_r può eseguire tale operazione"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Permetti agli utenti di eseguire il comando mount"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Permetti a ssh di eseguire ssh-keysign"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Permetti l'accesso diretto del mouse agli utenti normali (abilita solo il "
++"server X)"
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permetti all'account utente di SELinux staff di eseguire i file nella "
+-#~ "home directory o /tmp"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Permetti agli utenti di eseguire il comando dmesg"
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permetti all'account utente di SELinux sysadm di eseguire i file nella "
+-#~ "home directory o /tmp"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Permetti agli utenti di controllare le interfacce di rete (necessita anche "
++"USERCTL=true)"
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Permetti all'account utente di SELinux unconfined di eseguire i file "
+-#~ "nella home directory o /tmp"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Permetti agli utenti normali di eseguire ping"
+-#~ msgid "Network Configuration"
+-#~ msgstr "Configurazione di rete"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Permetti all'utente di leggere/scrivere noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Permetti ai pacchetti non etichettati di percorrere la rete"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Permetti agli utenti di rw i dispositivi usb"
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Permetti all'account utente di SELinux user di eseguire i file nella home "
+-#~ "directory o /tmp"
++#: ../gui/selinux.tbl:216
++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 ""
++"Permetti agli utenti di eseguire i server TCP (unisci alle porte ed accetta "
++"il collegamento dallo stesso dominio ed utenti esterni),  disabilitandolo "
++"verrà forzata la modalità passiva FTP e potrete modificare altri protocolli."
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Permetti agli utenti lo stat ttyfiles"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Disabilita protezione SELinux per il demone uucpd"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Disabilita protezione SELinux per il demone vmware"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Disabilita protezione SELinux per il demone watchdog"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Disabilita protezione SELinux per il demone winbind"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Disabilita protezione SELinux per il demone xdm"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Permetti login xdm come sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Disabilita protezione SELinux per il demone xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Permetti a xen di leggere/scrivere i dispositivi fisici del disco"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Disabilita protezione SELinux per il demone xfs"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Disabilita protezione SELinux per il controllo di xen"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Disabilita protezione SELinux per il demone ypbind"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Disabilita protezione SELinux per il demone della password NIS"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Disabilita protezione SELinux per il demone ypserv"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Disabilita protezione SELinux per il NIS Transfer Daemon"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "Permetti non confinato a dyntrans su unconfined_execmem"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Permetti all'utente webadm di SELinux di gestire le directory home di utenti "
++"non privilegiati"
+-#~ msgid "Databases"
+-#~ msgstr "Database"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Permetti all'utente webadm di SELinux di leggere le home directory di utenti "
++"non privilegiati"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Permetti all'utente di collegarsi al socket mysql"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Siete sicuri di voler cancellare %s '%s'?"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Permetti all'utente di collegarsi al socket postgres"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Cancella %s"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Aggiungi %s"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Permetti ai client di scrivere sulla memoria condivisa di X"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modifica %s"
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permetti all'account utente di SELinux xguest di eseguire i file nella "
+-#~ "home directory o /tmp"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissivo"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Enforcing"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Permetti ai demoni di essere eseguiti con NIS"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Disabilitato"
+-#~ msgid "Web Applications"
+-#~ msgstr "Web Application"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Stato"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "Transizione utente di SELinux staff su Web Browser Domain"
++#: ../gui/statusPage.py:133
++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 ""
++"Modificando il tipo di policy si provocherà la rietichettatura dell'intero "
++"file system al prossimo riavvio. La rietichettatura richiederà un "
++"temponotevole a seconda della grandezza del file system. Desiderate "
++"continuare?"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "Transizione utente di SELinux sysadm su Web Browser Domain"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Selezionando SELinux disabilitato sarà necessario riavviare il vostro "
++"sistema.  Tale azione non è consigliata.  Se desiderate attivare nuovamente "
++"SELinux, sarà necessario rietichettare il sistema.  Se desiderate sapere se "
++"SELinux è la causa di un problema che si è verificato sul vostro sistema, "
++"selezionate la modalità permissiva la quale è in grado di registrare i "
++"messaggi senza forzare la policy di SELinux.  La modalità permissiva non "
++"richiede un riavvio del sistema    Desiderate continuare?"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "Transizione utente di SELinux user su Web Browser Domain"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Modificando su SELinux si provocherà la rietichettatura dell'intero "
++"filesystem al prossimo riavvio. La rietichettatura richiederà un tempo "
++"notevolea seconda della grandezza del file system. Desiderate continuare?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "Transizione utente di SELinux xguest su Web Browser Domain"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "Permetti ai web browser di staff di scrivere sulle home directory"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Aggiungi mappatura login di SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Aggiungi porte di rete di SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Tipo di SELinux"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Disabilita la protezione SELinux per amanda"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"Livello MLS/MCS\n"
++"di SELinux"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Disabilita la protezione SELinux per amavis"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Specifiche del file"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Tipo di file"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone apmd"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"tutti i files\n"
++"file regolari\n"
++"directory\n"
++"device a carattere\n"
++"device a blocchi\n"
++"socket\n"
++"link simbolici\n"
++"named pipe\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Aggiungi utente di SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Amministrazione SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Aggiungi"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Proprietà"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Cancella"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Seleziona oggetto di gestione"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Seleziona:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Modalità Enforcing predefinita del sistema"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone arpwatch"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Disabilitato\n"
++"Permissivo\n"
++"Enforcing\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Modalità Enforcing corrente"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Tipo di policy predefinita del sistema: "
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone auditd"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Selezionare se si desidera rietichettare l'intero file system al prossimo "
++"riavvio.  La rietichettatura può richiedere un tempo notevole, dependente "
++"dalla grandezza del sistema.  Se si sta cambiando tipi di policy o cambiando "
++"da disabilitato a enforcing, una rietichettatura è necessaria."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Rietichetta al riavvio successivo."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Ritorna le impostazioni booleane in default del sistema"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Attiva/Disattiva tra Personalizzata e Tutte booleane"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Esegue l'autocomposizione di bloccaggio booleane"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Bloccaggio..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtro"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Aggiungi contesto del file"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modifica contesto del file"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Cancella contesto del file"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Attiva/Disattiva tra tutte e contesto personalizzato del file"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Aggiungi mappatura utente SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modifica mappatura utente SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Cancella mappatura utente SELinux %s"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Aggiungi utente"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modifica utente"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Cancella utente"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Aggiungi traduzione"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modifica traduzione"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Cancella traduzione"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Aggiungi porta di rete"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Modifica porta di rete"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Cancella porta di rete"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Attiva/Disattiva tra Personalizzata e Tutte le porte"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Genera nuovo modulo della policy"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Carica modulo della policy"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Rimuovi modulo della policy caricabile"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone automount"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Abilita/Disabilita le regole audit aggiuntive generalemente non riportate "
++"nei file di log."
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Disabilita la protezione SELinux per avahi"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone bluetooth"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Cambia la modalità processo a permissive."
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone canna"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Cambia la modalità processo a enforcing."
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone cardmgr"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Dominio dei processi"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Disabilita la protezione SELinux per il Cluster server"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Permetti a cdrecord di leggere vari contenuti. nfs, samba, dispositivi "
+-#~ "estraibili, user-temp e file con contenuti non fidati"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone ciped"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone clamd"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Disabilita la protezione SELinux per clamscan"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Disabilita la protezione SELinux per clvmd"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone comsat"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone courier"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone cpucontrol"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone cpuspeed"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone crond"
+-
+-#~ msgid "Printing"
+-#~ msgstr "Stampa"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Disabilita la protezione SELinux per il server backend di cupsd"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone cupsd"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Disabilita la protezione SELinux per cupsd_lpd"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone cvs"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone cyrus"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dbskkd"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dbusd"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Disabilita la protezione SELinux per dccd"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Disabilita la protezione SELinux per dccifd"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Disabilita la protezione SELinux per dccm"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone ddt"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone devfsd"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dhcpc"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dhcpd"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dictd"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Permetti a sysadm_t di avviare direttamente i demoni"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Disabilita la protezione SELinux per Evolution"
+-
+-#~ msgid "Games"
+-#~ msgstr "Giochi"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Disabilita la protezione SELinux per i giochi"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Disabilita la protezione SELinux per i web browser"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Disabilita la protezione SELinux per Thunderbird"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone distccd"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dmesg"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dnsmasq"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone dovecot"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone entropyd"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Disabilita la protezione SELinux per fetchmail"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone fingerd"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone freshclam"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone fsdaemon"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone gpm"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone gss"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone Hal"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "Compatibilità"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Non eseguire l'audit degli oggetti che sappiamo essere corrotti ma che "
+-#~ "non rappresentano alcun rischio della sicurezza"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone hostname"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone hotplug"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone howl"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone hplip di cups"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Disabilita la protezione SELinux per httpd rotatelog"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "Servizio HTTPD"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Disabilita la protezione SELinux per http suexec"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone hwclock"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone i18n"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone imazesrv"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Disabilita la protezione SELinux per il demone figlio inetd"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone inetd"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone innd"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone iptables"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone ircd"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone irqbalance"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone iscsi"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone jabberd"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone kadmind"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone klogd"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone krb5kdc"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Disabilita la protezione SELinux per il demone ktalk"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone kudzu"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone locate"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone lpd"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone lrrd"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone lvm"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Disabilita la protezione SELinux per mailman"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "Permetti a evolution e thunderbird di leggere i file dell'utente"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone mdadm"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone monopd"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Permetti al browser di mozilla di leggere i file dell'utente"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone mrtg"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone mysqld"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone nagios"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "Nome servizio"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone named"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone nessusd"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Disabilita la protezione SELinux per NetworkManager"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone nfsd"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone nmbd"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone nrpe"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone nscd"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone nsd"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone ntpd"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Disabilita la protezione SELinux per oddjob"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Disabilita la protezione SELinux per oddjob_mkhomedir"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone openvpn"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone pam"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Disabilita la protezione SELinux per pegasus"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone perdition"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone portmap"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone portslave"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Disabilita la protezione SELinux per postfix"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Disabilita la protezione SELinux per il demone postgresql"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Permetti a pppd di essere eseguito per un utente normale"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Disabilita protezione SELinux per pptp"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone prelink"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone privoxy"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone ptal"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone pxe"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Disabilita protezione SELinux per pyzord"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone quota"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone radiusd"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone radvd"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Disabilita protezione SELinux per rdisc"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Disabilita protezione SELinux per readahead"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Permetti ai programmi di leggere i file in posizioni non-standard "
+-#~ "(default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Disabilita protezione SELinux per restorecond"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone rhgb"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Disabilita protezione SELinux per ricci"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Disabilita protezione SELinux per ricci_modclusterd"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone rlogind"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone rpcd"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Disabilita protezione SELinux per rshd"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone rsync"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr ""
+-#~ "Permetti a ssh di essere eseguito da inetd invece di essere eseguito come "
+-#~ "demone"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Permetti a Samba di condividere le directory nfs"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Server per l'autenticazione SASL"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Permetti al server di autenticazione sasl di leggere /etc/shadow"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Permetti al server di X-Windows di mappare una regione della memoria come "
+-#~ "eseguibile e scrivibile"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone saslauthd"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone scannerdaemon"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Non permettere la transizione a sysadm_t, sudo e su sono affetti"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Non permettere ad alcun processo di caricare i moduli del kernel"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "Non permettere ad alcun processo di modificare la policy SELinux del "
+-#~ "kernel"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone sendmail"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Disabilita protezione SELinux per setrans"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone setroubleshoot"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone slapd"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone slrnpull"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone smbd"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone snmpd"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone snort"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone soundd"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone sound"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "Spam Protection"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone spamd"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Permetti a spamd di accedere alle home directory "
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Permetti l'accesso alla rete del demone Spam Assasin"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone speedmgmt"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Permetti al demone squid di collegarsi alla rete"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone squid"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone ssh"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permetti i login ssh come sysadm_r:sysadm_t"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Permetti agli utenti staff_r di eseguire una ricerca della home dir di "
+-#~ "sysadm e leggere i file (come ad esempio ~/.bashrc)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Tunnel SSL universale"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone stunnel"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "Permetti al demone stunnel di essere eseguito come standalone, "
+-#~ "esternamente a xinetd"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone swat"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone sxid"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone syslogd"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Disabilita protezione SELinux per i cron job del sistema"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone tcp"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone telnet"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone tftpd"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone transproxy"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone udev"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone uml"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permetti a xinetd di essere eseguito come non confinato, incluso "
+-#~ "qualsiasi servizio avviato che non possiede una transizione del dominio "
+-#~ "definita in modo esplicito"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permetti agli script rc di essere eseguiti come non confinati, incluso "
+-#~ "qualsiasi demone avviato da uno script rc che non possiede una "
+-#~ "transizione del dominio definita in modo esplicito"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Permetti ad rpm di essere eseguito in modo non confinato"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Permetti alle utilità privilegiate, come hotplug e insmod, di essere "
+-#~ "eseguite in modo non confinato"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone updfstab"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone uptimed"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Permetti a user_r di raggiungere sysadm_r tramite su, sudo, o userhelper. "
+-#~ "Altrimenti solo staff_r può eseguire tale operazione"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Permetti agli utenti di eseguire il comando mount"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Permetti l'accesso diretto del mouse agli utenti normali (abilita solo il "
+-#~ "server X)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Permetti agli utenti di eseguire il comando dmesg"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Permetti agli utenti di controllare le interfacce di rete (necessita "
+-#~ "anche USERCTL=true)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Permetti agli utenti normali di eseguire ping"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "Permetti all'utente di leggere/scrivere noextattrfile (FAT, CDROM, FLOPPY)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Permetti agli utenti di rw i dispositivi usb"
+-
+-#~ 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 ""
+-#~ "Permetti agli utenti di eseguire i server TCP (unisci alle porte ed "
+-#~ "accetta il collegamento dallo stesso dominio ed utenti esterni),  "
+-#~ "disabilitandolo verrà forzata la modalità passiva FTP e potrete "
+-#~ "modificare altri protocolli."
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Permetti agli utenti lo stat ttyfiles"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone uucpd"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone vmware"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone watchdog"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone winbind"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone xdm"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permetti login xdm come sysadm_r:sysadm_t"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone xen"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Permetti a xen di leggere/scrivere i dispositivi fisici del disco"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone xfs"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Disabilita protezione SELinux per il controllo di xen"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone ypbind"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone della password NIS"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Disabilita protezione SELinux per il demone ypserv"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Disabilita protezione SELinux per il NIS Transfer Daemon"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permetti all'utente webadm di SELinux di gestire le directory home di "
+-#~ "utenti non privilegiati"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permetti all'utente webadm di SELinux di leggere le home directory di "
+-#~ "utenti non privilegiati"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Siete sicuri di voler cancellare %s '%s'?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "Cancella %s"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "Aggiungi %s"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "Modifica %s"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "Permissivo"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "Enforcing"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Disabilitato"
+-
+-#~ msgid "Status"
+-#~ msgstr "Stato"
+-
+-#~ 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 ""
+-#~ "Modificando il tipo di policy si provocherà la rietichettatura "
+-#~ "dell'intero file system al prossimo riavvio. La rietichettatura "
+-#~ "richiederà un temponotevole a seconda della grandezza del file system. "
+-#~ "Desiderate continuare?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Selezionando SELinux disabilitato sarà necessario riavviare il vostro "
+-#~ "sistema.  Tale azione non è consigliata.  Se desiderate attivare "
+-#~ "nuovamente SELinux, sarà necessario rietichettare il sistema.  Se "
+-#~ "desiderate sapere se SELinux è la causa di un problema che si è "
+-#~ "verificato sul vostro sistema, selezionate la modalità permissiva la "
+-#~ "quale è in grado di registrare i messaggi senza forzare la policy di "
+-#~ "SELinux.  La modalità permissiva non richiede un riavvio del sistema    "
+-#~ "Desiderate continuare?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Modificando su SELinux si provocherà la rietichettatura dell'intero "
+-#~ "filesystem al prossimo riavvio. La rietichettatura richiederà un tempo "
+-#~ "notevolea seconda della grandezza del file system. Desiderate continuare?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Aggiungi mappatura login di SELinux"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Aggiungi porte di rete di SELinux"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "Tipo di SELinux"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Livello MLS/MCS\n"
+-#~ "di SELinux"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "Specifiche del file"
+-
+-#~ msgid "File Type"
+-#~ msgstr "Tipo di file"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "tutti i files\n"
+-#~ "file regolari\n"
+-#~ "directory\n"
+-#~ "device a carattere\n"
+-#~ "device a blocchi\n"
+-#~ "socket\n"
+-#~ "link simbolici\n"
+-#~ "named pipe\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Aggiungi utente di SELinux"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "Amministrazione SELinux"
+-
+-#~ msgid "Add"
+-#~ msgstr "Aggiungi"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "_Proprietà"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "_Cancella"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "Seleziona oggetto di gestione"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Seleziona:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Modalità Enforcing predefinita del sistema"
+-
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "Disabilitato\n"
+-#~ "Permissivo\n"
+-#~ "Enforcing\n"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Modalità Enforcing corrente"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Tipo di policy predefinita del sistema: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Selezionare se si desidera rietichettare l'intero file system al prossimo "
+-#~ "riavvio.  La rietichettatura può richiedere un tempo notevole, dependente "
+-#~ "dalla grandezza del sistema.  Se si sta cambiando tipi di policy o "
+-#~ "cambiando da disabilitato a enforcing, una rietichettatura è necessaria."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Rietichetta al riavvio successivo."
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "Ritorna le impostazioni booleane in default del sistema"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Attiva/Disattiva tra Personalizzata e Tutte booleane"
+-
+-#~ msgid "Filter"
+-#~ msgstr "Filtro"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "Aggiungi contesto del file"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "Modifica contesto del file"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "Cancella contesto del file"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "Attiva/Disattiva tra tutte e contesto personalizzato del file"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Aggiungi mappatura utente SELinux"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Modifica mappatura utente SELinux"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Cancella mappatura utente SELinux %s"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "Aggiungi traduzione"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "Modifica traduzione"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "Cancella traduzione"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Modifica utente SELinux"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "Aggiungi porta di rete"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Modifica porta di rete"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Cancella porta di rete"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Attiva/Disattiva tra Personalizzata e Tutte le porte"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Genera nuovo modulo della policy"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "Carica modulo della policy"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Rimuovi modulo della policy caricabile"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Abilita/Disabilita le regole audit aggiuntive generalemente non riportate "
+-#~ "nei file di log."
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "Livello sensibilità"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "E' richiesto l'utente '%s' di SELinux"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "Richiede valore"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Prefisso non valido %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "Permetti ad un ruolo utente/applicazione di eseguire il bind a qualsiasi "
+-#~ "porta tcp > 1024"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "Permette ad un ruolo utente/applicazione confinata di eseguire il bind a "
+-#~ "qualsiasi porta tcp"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Inserisci un elenco di porte tcp o una gamma di porte separato da "
+-#~ "virgole, alle quali un ruolo utente/applicazione può eseguire il bind. Ad "
+-#~ "esempio: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "Druid di generazione della policy di SELinux"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "Porte non riservate  (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "Utilizzate questa casella se la vostra applicazione richiama bindresvport "
+-#~ "con 0."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Enforcing\n"
+-#~ "Permissiva\n"
+-#~ "Disabilitata\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "E' richiesto l'utente '%s' di SELinux"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ja.po policycoreutils-2.0.85/po/ja.po
+--- nsapolicycoreutils/po/ja.po        2011-02-17 15:11:25.206733533 -0500
++++ policycoreutils-2.0.85/po/ja.po    2011-02-18 16:03:41.381975833 -0500
+@@ -1,25 +1,45 @@
+ # translation of ja.po to Japanese
+-# translation of ja.po to
+-# translation of ja.po to
+-# This file is distributed under the same license as the PACKAGE package.
+-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
++# This file is distributed under the same license as the policycoreutils.HEAD.ja package.
++# Copyright (C) 2008 THE policycoreutils.HEAD.ja'S COPYRIGHT HOLDER.
+ #
+ # Takuro Nagamoto <tnagamot@redhat.com>, 2006.
+-# Noriko Mizumoto <noriko@redhat.com>, 2006, 2008.
++# Noriko Mizumoto <noriko@redhat.com>, 2006, 2008, 2009.
+ # Hyu_gabaru Ryu_ichi <hyu_gabaru@yahoo.co.jp>, 2007.
+-# Kiyoto Hashida <khashida@redhat.com>, 2008.
++# Kiyoto Hashida <khashida@redhat.com>, 2008, 2009, 2010.
++# Makoto Mizukami <makoto@fedoraproject.org>, 2008.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: ja\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-09-09 21:12+1000\n"
+-"Last-Translator: Noriko Mizumoto <noriko@redhat.com>\n"
+-"Language-Team: Japanese <fedora-trans-ja@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 10:52+0900\n"
++"Last-Translator: Kiyoto Hashida <khashida@redhat.com>\n"
++"Language-Team: Japanese <jp@li.org>\n"
++"Language: ja\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
++"Plural-Forms: Plural-Forms: nplurals=2; plural=(n!=1);\n"
++"\n"
++"\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "グラフィカル環境で SELinux を設定"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux の管理"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux ポリシーモジュールの生成"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux ポリシー生成ツール"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -28,8 +48,8 @@
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+ "使い方: run_init <script> <args ...>\n"
+-"  ここで、 <script> は実行する init スクリプトの名前、\n"
+-"         <args ...> はそのスクリプトに対する引数になります。"
++"  ここで、 <script> に実行する init スクリプトの名前、\n"
++"         <args ...> にそのスクリプトに対する引数を指定します。"
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+@@ -112,9 +132,8 @@
+ msgstr "semanage 接続を確立できませんでした"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s の MLS 範囲を設定できませんでした"
++msgstr "MLS を有効にした状態をテストできませんでした"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -123,20 +142,21 @@
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "%s を開けません: MLS 以外のマシンでは変換はサポートされません: %s"
++msgstr "%s を開けません: MLS マシン以外では翻訳はサポートがありません: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "レベル"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr "変換"
++msgstr "翻訳"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "変換に空白 '%s' を含ませることはできません"
++msgstr "翻訳は空白 '%s' を含むことができません"
+ #: ../semanage/seobject.py:250
+ #, python-format
+@@ -146,12 +166,12 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s はすでに変換で定義されています"
++msgstr "%s はすでに翻訳で定義されています"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s は変換で定義されていません"
++msgstr "%s は翻訳で定義されていません"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+@@ -159,7 +179,7 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage トランザクションは既に進行しています"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+@@ -171,7 +191,7 @@
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage トランザクションは進行していません"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+@@ -181,741 +201,745 @@
+ msgid "Permissive Types"
+ msgstr "許容タイプ"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+ "許容ドメイン %s を設定できませんでした (モジュールのインストールに失敗)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr "許容ドメイン %s の削除ができませんでした (削除に失敗)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s のキーを作成できませんでした"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s のログインマッピングが定義されているか確認できませんでした"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s のログインマッピングはすでに定義されています"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux グループ %s は存在していません"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux ユーザー %s は存在していません"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s のログインマッピングを作成できませんでした"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s の名前を設定できませんでした"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s の MLS 範囲を設定できませんでした"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s の SELinux ユーザーを設定できませんでした"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s のログインマッピングを追加できませんでした"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux ユーザーマッピングを追加"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser または serange が必要です"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s のログインマッピングは定義されていません"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "%s の seuser をクエリーできませんでした"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s のログインマッピングを修正できませんでした"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s のログインマッピングはポリシーに定義されています、削除できません"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s のログインマッピングを削除できませんでした"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "ログインマッピングの一覧を表示できませんでした"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "ログイン名"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux ユーザー"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS 範囲"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "少なくとも %s のロールを 1 つ追加する必要があります"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr " SELinux ユーザー %s が定義されているか確認できませんでした"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux ユーザー %s はすでに定義されています"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s の SELinux ユーザーを作成できませんでした"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "ロール %s を %s に追加できませんでした"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "MLS レベルを %s に設定できませんでした"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "プレフィックス %s を %s に追加できませんでした"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s のキーを抽出できませんでした"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux ユーザー %s を追加できませんでした"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "プレフィックスか、ロール、レベル、範囲のいずれかが必要です"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "プレフィックスかロールが必要です"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux ユーザー %s は定義されていません"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s のユーザーをクエリーできませんでした"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux ユーザー %s を修正できませんでした"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux ユーザー %s はポリシーで定義されています、削除できません"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux ユーザー %s を削除できませんでした"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux ユーザーの一覧を表示できませんでした"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "ユーザー %s のロール一覧を表示できませんでした"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "ラベリング"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "プレフィックス"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS レベル"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS 範囲"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux ロール"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "プロトコル udp か tcp が必要です"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "ポートが必要です"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s のキーを作成できませんでした"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "タイプが必要です"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "ポート %s/%s が定義されているか確認できませんでした"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "ポート %s/%s はすでに定義されています"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s のポートを作成できませんでした"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s のコンテキストを作成できませんでした"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s のポートコンテキストにユーザーを設定できませんでした"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s のポートコンテキストにロールを設定できませんでした"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s のポートコンテキストにタイプを設定できませんでした"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s のポートコンテキストに mls フィールドを設定できませんでした"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s のポートコンテキストを設定できませんでした"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "ポート %s/%s を追加できませんでした"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype か serange が必要です"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype が必要です"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "ポート %s/%s は定義されていません"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "ポート %s/%s をクエリーできませんでした"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "ポート %s/%s を修正できませんでした"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "ポートを一覧表示できませんでした"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "ポート %s を削除できませんでした"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "ポート %s/%s はポリシーで定義されています、 削除できません"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "ポート %s/%s を削除できませんでした"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "ポートの一覧を表示できませんでした"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux ポートタイプ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "プロト"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "ポート番号"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "ポートが必要です"
++msgstr "ノードアドレスが必要です"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "ポートが必要です"
++msgstr "ノードネットマスクが必要です"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "不明又は欠如したプロトコル"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux タイプが必要です"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s のキーを作成できませんでした"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "ポート %s/%s が定義されているか確認できませんでした"
++msgstr "アドレス %s が定義されているか確認できませんでした"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "ポート %s/%s はすでに定義されています"
++msgstr "アドレス %s はすでに定義されています"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s のキーを作成できませんでした"
++msgstr "%s のアドレスを作成できませんでした"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s のコンテキストを作成できませんでした"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s の名前を設定できませんでした"
++msgstr "%s のマスクを設定できませんでした"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s のファイルコンテキストにユーザーを設定できませんでした"
++msgstr "%s のアドレスコンテキストにユーザーを設定できませんでした"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s のファイルコンテキストにロールを設定できませんでした"
++msgstr "%s のアドレスコンテキストにロールを設定できませんでした"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s のファイルコンテキストにタイプを設定できませんでした"
++msgstr "%s のアドレスコンテキストにタイプを設定できませんでした"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s のファイルコンテキストに mls フィールドを設定できませんでした"
++msgstr "%s のアドレスコンテキストに mls フィールドを設定できませんでした"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s のファイルコンテキストを設定できませんでした"
++msgstr "%s のアドレスコンテキストを設定できませんでした"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "ポート %s/%s を追加できませんでした"
++msgstr "アドレス %s を追加できませんでした"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "ポート %s/%s は定義されていません"
++msgstr "アドレス %s は定義されていません"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "ポート %s/%s をクエリーできませんでした"
++msgstr "アドレス %s をクエリできませんでした"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "ポート %s/%s を修正できませんでした"
++msgstr "アドレス %s を修正できませんでした"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "ポート %s/%s はポリシーで定義されています、 削除できません"
++msgstr "アドレス %s はポリシー内で定義されています、削除できません"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "ポート %s/%s を削除できませんでした"
++msgstr "アドレス %s を削除できませんでした"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "ポートの一覧を表示できませんでした"
++msgstr "アドレスの一覧を表示できませんでした"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "インターフェース %s が定義されているか確認できませんでした"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "インターフェース %s はすでに定義されています"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s のインターフェースを作成できませんでした"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s のインターフェースコンテキストにユーザーを設定できませんでした"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s のインターフェースコンテキストにロールを設定できませんでした"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s のインターフェースコンテキストにタイプを設定できませんでした"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+ "%s のインターフェースコンテキストに mls フィールドを設定できませんでした"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s のインターフェースコンテキストを設定できませんでした"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s のメッセージコンテキストを設定できませんでした"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "インターフェース %s を追加できませんでした"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "インターフェース %s は定義されていません"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "インターフェース %s をクエリーできませんでした"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "インターフェース %s を修正できませんでした"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "インターフェース %s はポリシーで定義されています、 削除できません"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "インターフェース %s を削除できませんでした"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "インターフェースの一覧を表示できませんでした"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux インターフェース"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "コンテキスト"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s のファイルコンテキストにユーザーを設定できませんでした"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s のファイルコンテキストにロールを設定できませんでした"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s のファイルコンテキストに mls フィールドを設定できませんでした"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "無効なファイル使用"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s のファイルコンテキストが定義されているか確認できませんでした"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s のファイルコンテキストはすでに定義されています"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s のファイルコンテキストを作成できませんでした"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s のファイルコンテキストにタイプを設定できませんでした"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s のファイルコンテキストを設定できませんでした"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s のファイルコンテキストを追加できませんでした"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype、serange、または seuser のいずれかが必要です"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s のファイルコンテキストは定義されていません"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s のファイルコンテキストをクエリーできませんでした"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s のファイルコンテキストを修正できませんでした"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "ファイルコンテキストを一覧表示できませんでした"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "ファイルコンテキスト %s を削除できませんでした"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s のファイルコンテキストはポリシーで定義されています、 削除できません"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s のファイルコンテキストを削除できませんでした"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "ファイルコンテキストの一覧を表示できませんでした"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "ローカルファイルのコンテキスト一覧を表示できませんでした"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "タイプ"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "boolean %s が定義されているか確認できませんでした"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "boolean %s は定義されていません"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "ファイルコンテキスト %s をクエリーできませんでした"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "次の値のいずれかひとつを指定してください: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "boolean %s のアクティブな値を設定できませんでした"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "boolean %s を修正できませんでした"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr "不正な形式の %s: レコード %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "boolean %s はポリシーで定義されています、 削除できません"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "boolean %s を削除できませんでした"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "boolean の一覧を表示できませんでした"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "不明"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "オフ"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "オン"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux boolean"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "説明"
+@@ -955,7 +979,7 @@
+ msgstr "環境を消去できません\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "機能の初期化中にエラーが発生、中止します。\n"
+@@ -1200,7 +1224,7 @@
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  ポリシーと要求された強制モードをロード出来ません:  %s\n"
++msgstr "%s:  要求されたポリシーと強制モードをロード出来ません:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1291,1748 +1315,2225 @@
+ msgid "Options Error %s "
+ msgstr "オプションエラー %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "MLS 以外のマシンでは変換はサポートされません"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "ブーリアン値"
+-
+-#~ msgid "all"
+-#~ msgstr "全て"
+-
+-#~ msgid "Customized"
+-#~ msgstr "カスタム化"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "ファイルラベリング"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ファイル\n"
+-#~ "仕様"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "ファイルタイプ"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "ファイル\n"
+-#~ "タイプ"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "ユーザーマッピング"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "ログイン\n"
+-#~ "名"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ユーザー"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS 範囲"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "ログイン '%s' が必要です"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "ポリシーモジュール"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "モジュール名"
+-
+-#~ msgid "Version"
+-#~ msgstr "バージョン"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "監査を無効にする"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "監査を有効にする"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "ポリシーモジュールをロード"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "ブーリアン値"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "全て"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "カスタム化"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "ファイルラベリング"
+-#~ msgid "translator-credits"
+-#~ msgstr ""
+-#~ "Takuro Nagamoto <tnagamot AT redhat DOT com>, 2006.\n"
+-#~ "Noriko Mizumoto <noriko AT redhat DOT com>, 2006.\n"
+-#~ "Hyu_gabaru Ryu_ichi <hyu_gabaru AT yahoo DOT co DOT jp>, 2007."
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux ポリシー生成ツール"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ファイル\n"
++"仕様"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "このツールは SELinux を使用してアプリケーションやユーザーを制限するポリ"
+-#~ "シーフレームワークを生成するのに使用できます。 \n"
+-#~ "\n"
+-#~ "ツールが生成するのは:\n"
+-#~ "タイプ強制ファイル (te)\n"
+-#~ "インターフェースファイル (if)\n"
+-#~ "ファイルコンテキストファイル (fc)\n"
+-#~ "シェルスクリプト (sh) - ポリシーをコンパイルしインストールするのに使用しま"
+-#~ "す"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"ファイルタイプ"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "制限するアプリケーション/ユーザーロールのタイプを選択"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ファイル\n"
++"タイプ"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>アプリケーション</b>"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "ユーザーマッピング"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "標準 Init デーモンは init スクリプト経由でブート時に起動されるデーモンで"
+-#~ "す。通常 /etc/rc.d/init.d にスクリプトが必要です"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"ログイン\n"
++"名"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "標準初期化デーモン"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"ユーザー"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr ""
+-#~ "インターネットサービスデーモンは xinetd により起動されるデーモンです"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS 範囲"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "インターネットサービスデーモン (inetd)"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "ログイン '%s' が必要です"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "ウェブサーバー (apache) により起動されるウェブアプリケーション/スクリプト "
+-#~ "(CGI) CGI スクリプト"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "ポリシーモジュール"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "ウェブアプリケーション/スクリプト (CGI)"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "モジュール名"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "ユーザーアプリケーションはユーザーによって起動される、制限をかけたいアプリ"
+-#~ "ケーションです"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "バージョン"
+-#~ msgid "User Application"
+-#~ msgstr "ユーザーアプリケーション"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "監査を無効にする"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>ログインユーザー</b>"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "監査を有効にする"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "既存のログインユーザー記録を修正"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "ポリシーモジュールをロード"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "既存ユーザーのロール"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "このユーザーはターミナル、又はリモートログインを介してログイン するでしょ"
+-#~ "う。デフォルトでは、このユーザーは setuid や networking や su や sudo を持"
+-#~ "ちません。"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "最小限のターミナルユーザーロール"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "このユーザーは X 又はターミナルを介してマシンにログインできます。デフォル"
+-#~ "ト では、このユーザーは setuid や networking や sudo や su を持ちません。"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Takuro Nagamoto <tnagamot AT redhat DOT com>, 2006.\n"
++"Noriko Mizumoto <noriko AT redhat DOT com>, 2006.\n"
++"Hyu_gabaru Ryu_ichi <hyu_gabaru AT yahoo DOT co DOT jp>, 2007."
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "最小限の X Windows ユーザーロール"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"このツールは SELinux を使用してアプリケーションやユーザーを制限するポリシーフ"
++"レームワークを生成するのに使用できます。 \n"
++"\n"
++"ツールが生成するのは:\n"
++"タイプ強制ファイル (te)\n"
++"インターフェースファイル (if)\n"
++"ファイルコンテキストファイル (fc)\n"
++"シェルスクリプト (sh) - ポリシーをコンパイルしインストールするのに使用します"
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "制限するアプリケーション/ユーザーロールのタイプを選択"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>アプリケーション</b>"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "完全なネットワーキングを持ち、転移のない setuid アプリケーションや sudo "
+-#~ "や su を持たないユーザー。"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"標準 Init デーモンは init スクリプト経由でブート時に起動されるデーモンです。"
++"通常 /etc/rc.d/init.d にスクリプトが必要です"
+-#~ msgid "User Role"
+-#~ msgstr "ユーザーロール"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "標準初期化デーモン"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS システムデーモン"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "インターネットサービスデーモンは xinetd により起動されるデーモンです"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "インターネットサービスデーモン (inetd)"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "完全なネットワーキングを持ち、転移のない setuid アプリケーションや su を持"
+-#~ "たないユーザーは sudo で Root の管理ロールを使用できます。"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"ウェブサーバー (apache) により起動されるウェブアプリケーション/スクリプト "
++"(CGI) CGI スクリプト"
+-#~ msgid "Admin User Role"
+-#~ msgstr "管理ユーザーのロール"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "ウェブアプリケーション/スクリプト (CGI)"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Root ユーザー</b>"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"ユーザーアプリケーションはユーザーによって起動される、制限をかけたいアプリ"
++"ケーションです"
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "このユーザーが root として実行し、マシンの管理者として使用するユーザーなら"
+-#~ "ば Root 管理ユーザーロールを選択してください。このユーザーはシステムに 直"
+-#~ "接ログインすることはできません。"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "ユーザーアプリケーション"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>ログインユーザー</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "既存のログインユーザー記録を修正"
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "既存ユーザーのロール"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Root 管理ユーザーロール"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"このユーザーはターミナル、又はリモートログインを介してログイン するでしょう。"
++"デフォルトでは、このユーザーは setuid や networking や su や sudo を持ちませ"
++"ん。"
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "最小限のターミナルユーザーロール"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "制限するアプリケーションかユーザーロールの名前を入力"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"このユーザーは X 又はターミナルを介してマシンにログインできます。デフォルト "
++"では、このユーザーは setuid や networking や sudo や su を持ちません。"
+-#~ msgid "Name"
+-#~ msgstr "名前"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "最小限の X Windows ユーザーロール"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "制限する実行ファイルのフルパスを入力してください。"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"完全なネットワーキングを持ち、転移のない setuid アプリケーションや sudo や "
++"su を持たないユーザー。"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "ユーザーロール"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "制限するアプリケーションかユーザーロールの特有な名前を入力"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"完全なネットワーキングを持ち、転移のない setuid アプリケーションや su を持た"
++"ないユーザーは sudo で Root の管理ロールを使用できます。"
+-#~ msgid "Executable"
+-#~ msgstr "実行ファイル"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "管理ユーザーのロール"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root ユーザー</b>"
+-#~ msgid "Init script"
+-#~ msgstr "初期化スクリプト"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"このユーザーが root として実行し、マシンの管理者として使用するユーザーならば "
++"Root 管理ユーザーロールを選択してください。このユーザーはシステムに 直接ログ"
++"インすることはできません。"
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root 管理ユーザーロール"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "制限するアプリケーションかユーザーロールの名前を入力"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "名前"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "制限する実行ファイルのフルパスを入力してください。"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "制限するアプリケーションかユーザーロールの特有な名前を入力"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "実行ファイル"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "初期化スクリプト"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "制限されるアプリケーションの起動に使用される初期化スクリプトのフルパスを入"
+-#~ "力してください。"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"制限されるアプリケーションの起動に使用される初期化スクリプトのフルパスを入力"
++"してください。"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "カスタマイズしたいユーザーロールを選択"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "カスタマイズしたいユーザーロールを選択"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "このアプリケーションドメインに転移するユーザーロールを選択"
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "このユーザーロールが転移する先の追加のドメインを選択してください"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "このアプリケーションドメインに転移するユーザーロールを選択"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"このユーザーロールの転移先となるアプリケーションドメインを選択 してください"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "このユーザーロールが転移する先の追加のドメインを選択してください"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "このドメインに転移するユーザーロールを選択"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "このユーザーロールが管理する追加のドメインを選択してください"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "このユーザーに管理させたいドメインを選択してください。"
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "このユーザー用の追加のロールを選択してください"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "このユーザーロールの転移先となるアプリケーションドメインを選択 してくださ"
+-#~ "い"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"アプリケーション/ユーザーロールがリッスンするネットワークポートを入力します"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "このドメインに転移するユーザーロールを選択"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP ポート</b>"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "このユーザーロールが管理する追加のドメインを選択してください"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"制限されたアプリケーション/ユーザーロールによる全ての udp ポートへのバインド"
++"を 許可"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "このユーザーに管理させたいドメインを選択してください。"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "全て"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "このユーザー用の追加のロールを選択してください"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"アプリケーション/ユーザーロールが bindresvport を 0 でコールすることを許可。 "
++"ポート 600-1024 にバインド"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "アプリケーション/ユーザーロールがリッスンするネットワークポートを入力しま"
+-#~ "す"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP ポート</b>"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"アプリケーション/ユーザーロールがバインドする udp ポートのカンマ区切りの一覧"
++"か、 又はポートの範囲を入力します。例: 612, 650-660"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "制限されたアプリケーション/ユーザーロールによる全ての udp ポートへのバイン"
+-#~ "ドを 許可"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "予約されていないポート (> 1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "ポートを選択してください"
+-#~ msgid "All"
+-#~ msgstr "全て"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"アプリケーション/ユーザーロールによる 1024 以上の全ての udp ポートへのバイン"
++"ドを 許可"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "アプリケーション/ユーザーロールが bindresvport を 0 でコールすることを許"
+-#~ "可。 ポート 600-1024 にバインド"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP ポート</b>"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"アプリケーション/ユーザーロールが接続するネットワークポートを入力します"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "アプリケーション/ユーザーロールがバインドする udp ポートのカンマ区切りの一"
+-#~ "覧か、 又はポートの範囲を入力します。例: 612, 650-660"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"アプリケーション/ユーザーロールが接続する tcp ポートのカンマ区切りの一覧か、 "
++"又は、ポートの範囲を入力します。例: 612, 650-660"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "予約されていないポート (> 1024)"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"アプリケーション/ユーザーロールが接続する udp ポートのカンマ区切りの一覧か、 "
++"又はポートの範囲を入力します。例: 612, 650-660"
+-#~ msgid "Select Ports"
+-#~ msgstr "ポートを選択してください"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "共通のアプリケーション特質を選択してください"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog メッセージを書きます\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr " /tmp 内の一時ファイルの作成/操作をします"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Pam を認証に使用します"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch 又は getpw* コールを使用します"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus を使用します"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "監査メッセージを送信します。"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "ターミナルと相互作用"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "電子メールを送信します"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "アプリケーションが管理するファイル/ディレクトリーを選択してください"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "アプリケーション/ユーザーロールによる 1024 以上の全ての udp ポートへのバイ"
+-#~ "ンドを 許可"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"アプリケーションが \"書き込む\" 必要があるファイル/ディレクトリーを追加しま"
++"す。Pid ファイル、ログファイル、/var/lib ファイル ..."
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP ポート</b>"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "アプリケーションが使用するブーリアン値を選択してください"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "アプリケーション/ユーザーロールが接続するネットワークポートを入力します"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"この制限されるアプリケーション/ユーザーに使用されるブーリアン値を追加/削除"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "アプリケーション/ユーザーロールが接続する tcp ポートのカンマ区切りの一覧"
+-#~ "か、 又は、ポートの範囲を入力します。例: 612, 650-660"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "ポリシーを生成する場所のディレクトリーを選択してください"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "アプリケーション/ユーザーロールが接続する udp ポートのカンマ区切りの一覧"
+-#~ "か、 又はポートの範囲を入力します。例: 612, 650-660"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "ポリシーディレクトリー"
+-#~ msgid "Select common application traits"
+-#~ msgstr "共通のアプリケーション特質を選択してください"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "生成したポリシーファイル"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog メッセージを書きます\t"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"このツールは以下を生成します: \n"
++"タイプ強制(te)、ファイルコンテキスト(fc)、インターフェース(if)、シェルスクリ"
++"プト(sh)。\n"
++"コンパイル/インストールし、ファイル/ディレクトリーのリラベルするためにシェル"
++"スクリプトを実行します。emanage 又は useradd を使用して Linux ログインの ユー"
++"ザーをユーザーロールにマップします。\n"
++"マシンを寛容モード (setenforce 0) にします。\n"
++"ユーザーとしてログインしてこのユーザーロールをテストします。audit2allow -R を"
++"使用し、te ファイルのための追加ルールを生成します。\n"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr " /tmp 内の一時ファイルの作成/操作をします"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"このツールは以下を生成します: \n"
++"タイプ強制(te)、ファイルコンテキスト(fc)、インターフェース(if)、シェルスクリ"
++"プト(sh)。\n"
++"コンパイル/インストールし、ファイル/ディレクトリーのリラベルするためにシェル"
++"スクリプトを実行します。マシンを寛容モード (setenforce 0) にします。\n"
++"アプリケーションを実行/再起動し、avc メッセージを生成します。\n"
++"audit2allow -R を使用し、te ファイルのための追加ルールを生成します。\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "ブーリアンダイアログを追加"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "ブーリアン値名"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "ロール"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "既存ユーザー(_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "アプリケーション"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s  はディレクトリでなければなりません"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "ユーザーを選択する必要があります"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "制限する実行ファイルを選択してください。"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "制限する初期化スクリプトを選択してください。"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Pam を認証に使用します"
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"制限されたアプリケーションが作成したり、書き込んだりするファイルを選択してく"
++"ださい"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch 又は getpw* コールを使用します"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"制限するアプリケーションが所有していたり、書き込んだりするディレクトリーを選"
++"択してください"
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus を使用します"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "生成するポリシーファイルを入れるディレクトリーを選択してください"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "監査メッセージを送信します。"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"タイプ %s_t は既に現在のポリシーで定義されています。\n"
++"継続しますか ?"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "ターミナルと相互作用"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "名前の証明"
+-#~ msgid "Sends email"
+-#~ msgstr "電子メールを送信します"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"モジュール %s.pp は既に現在のポリシー内にロードされています。\n"
++"継続しますか ?"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "アプリケーションが管理するファイル/ディレクトリーを選択してください"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "名前を指定する必要があります"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "アプリケーションが \"書き込む\" 必要があるファイル/ディレクトリーを追加し"
+-#~ "ます。Pid ファイル、ログファイル、/var/lib ファイル ..."
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "実行ファイルを指定する必要があります"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "アプリケーションが使用するブーリアン値を選択してください"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux を設定する"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "この制限されるアプリケーション/ユーザーに使用されるブーリアン値を追加/削除"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "ポートは 1 から %d までの数字か、又は数字の範囲でなければなりません "
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "ポリシーを生成する場所のディレクトリーを選択してください"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "制限するプロセス/ユーザーの名前を入力しなければなりません"
+-#~ msgid "Policy Directory"
+-#~ msgstr "ポリシーディレクトリー"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER タイプは実行ファイルとしては認められません"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "生成したポリシーファイル"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "DAEMON アプリのみが初期化スクリプトを使用できます"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "このツールは以下を生成します: \n"
+-#~ "タイプ強制(te)、ファイルコンテキスト(fc)、インターフェース(if)、シェルスク"
+-#~ "リプト(sh)。\n"
+-#~ "コンパイル/インストールし、ファイル/ディレクトリーのリラベルするためにシェ"
+-#~ "ルスクリプトを実行します。emanage 又は useradd を使用して Linux ログイン"
+-#~ "の ユーザーをユーザーロールにマップします。\n"
+-#~ "マシンを寛容モード (setenforce 0) にします。\n"
+-#~ "ユーザーとしてログインしてこのユーザーロールをテストします。audit2allow -"
+-#~ "R を使用し、te ファイルのための追加ルールを生成します。\n"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog はブール値でなければなりません"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "このツールは以下を生成します: \n"
+-#~ "タイプ強制(te)、ファイルコンテキスト(fc)、インターフェース(if)、シェルスク"
+-#~ "リプト(sh)。\n"
+-#~ "コンパイル/インストールし、ファイル/ディレクトリーのリラベルするためにシェ"
+-#~ "ルスクリプトを実行します。マシンを寛容モード (setenforce 0) にします。\n"
+-#~ "アプリケーションを実行/再起動し、avc メッセージを生成します。\n"
+-#~ "audit2allow -R を使用し、te ファイルのための追加ルールを生成します。\n"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER タイプは自動的に tmp タイプを得ます"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "ブーリアンダイアログを追加"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "制限するプロセスの実行ファイルのバスを入力しなければなりません"
+-#~ msgid "Boolean Name"
+-#~ msgstr "ブーリアン値名"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "強制ファイルを入力してください"
+-#~ msgid "Role"
+-#~ msgstr "ロール"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "インターフェースファイル"
+-#~ msgid "Existing_User"
+-#~ msgstr "既存ユーザー(_U)"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ファイルコンテキストファイル"
+-#~ msgid "Application"
+-#~ msgstr "アプリケーション"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "設定スクリプト"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s  はディレクトリでなければなりません"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "ネットワークポート"
+-#~ msgid "You must select a user"
+-#~ msgstr "ユーザーを選択する必要があります"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux ポート\n"
++"タイプ"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "制限する実行ファイルを選択してください。"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "プロトコル"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "制限する初期化スクリプトを選択してください。"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"レベル"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr ""
+-#~ "制限されたアプリケーションが作成したり、書き込んだりするファイルを選択して"
+-#~ "ください"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "ポート"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "ポート番号 \"%s\" は有効ではありません。0 < ポート番号 < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "一覧表示"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "グループ表示"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux サービス保護"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct デーモンの SELinux 保護を無効にします"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "管理者"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "全てのデーモンがコアファイルを / へ書き込むのを認めます"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "全てのデーモンが割り当てられていない tty を使用できることを認めます"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "ユーザー権限"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "制限するアプリケーションが所有していたり、書き込んだりするディレクトリーを"
+-#~ "選択してください"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレクト"
++"リにあるファイルの実行を許可する"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "生成するポリシーファイルを入れるディレクトリーを選択してください"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ゲスト SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレクト"
++"リにあるファイルの実行を許可する"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "タイプ %s_t は既に現在のポリシーで定義されています。\n"
+-#~ "継続しますか ?"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "メモリ保護"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java 実行可能スタックを認める"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "マウント"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "mount にあらゆるファイルをマウントすることを認める"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "mount にあらゆるディレクトリーをマウントすることを認める"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer 実行可能スタックを認める"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh に ssh-keysign を実行することを認める"
+-#~ msgid "Verify Name"
+-#~ msgstr "名前の証明"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"スタッフ SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレク"
++"トリにあるファイルの実行を許可する"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "モジュール %s.pp は既に現在のポリシー内にロードされています。\n"
+-#~ "継続しますか ?"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレクト"
++"リにあるファイルの実行を許可する"
+-#~ msgid "You must enter a name"
+-#~ msgstr "名前を指定する必要があります"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"制限されていない SELinux ユーザーアカウントに自分のホームディレクトリや /tmp "
++"ディレクトリにあるファイルの実行を許可する"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "実行ファイルを指定する必要があります"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "ネットワーク設定"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "ラベルのないパケットがネットワークに流れるのを認める"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux を設定する"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ユーザー SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレク"
++"トリにあるファイルの実行を許可する"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr ""
+-#~ "ポートは 1 から %d までの数字か、又は数字の範囲でなければなりません "
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "制限されていないものに unconfined_execmem に dyntrans することを認める"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "データベース"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "ユーザーに mysql ソケットに接続することを許可"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "ユーザーに postgres ソケットに接続することを認める"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "X サーバー"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "クライアントに X 共有メモリに書き込むことを認める"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "制限するプロセス/ユーザーの名前を入力しなければなりません"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレクト"
++"リにあるファイルの実行を許可する"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER タイプは実行ファイルとしては認められません"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "デーモンに NIS といっしょに実行することを認める"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "ウェブアプリケーション"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "スタッフ SELinux ユーザーからウェブブラウザードメインへの転位"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux ユーザーからウェブブラウザードメインへの転位"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "ユーザー SELinux ユーザーからウェブブラウザードメインへの転位"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux ユーザーからウェブブラウザードメインへの転位"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "スタッフウェブブラウザーにホームディレクトリーに書き込むことを認める"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "クラスターサーバー用の SELinux 保護を無効にする"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "DAEMON アプリのみが初期化スクリプトを使用できます"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord にいろいろな内容の読み込みを認める。nfs、samba、可搬性装置、ユー"
++"ザー temp、信頼できない内容のファイル"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog はブール値でなければなりません"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "印刷"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd バックエンドサーバー用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t に直接デーモンを起動することを認める"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Evolution 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "ゲーム"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "ゲーム用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "ウェブブラウザー用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbird 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "互換性"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER タイプは自動的に tmp タイプを得ます"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"壊れていることを知っているが、セキュリティリスクのないことが分かっているもの"
++"を監査しない"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "制限するプロセスの実行ファイルのバスを入力しなければなりません"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd 交代ログ用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD サービス"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd 子デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "ケルベロス"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "evolution と thunderbird にユーザーファイルを読み込むのを認める"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "mozilla ブラウザーにユーザーファイルを読み込むのを認める"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "名前サービス"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob mkhomedir 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "pppd に一般ユーザーのために実行することを認める"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "rdisc 用の SELinux 保護を無効にする"
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "強制ファイルを入力してください"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"プログラムに標準以外の場所にあるファイルを読み込むことを認める (default_t)"
+-#~ msgid "Interface file"
+-#~ msgstr "インターフェースファイル"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond 用の SELinux 保護を無効にする"
+-#~ msgid "File Contexts file"
+-#~ msgstr "ファイルコンテキストファイル"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Setup Script"
+-#~ msgstr "設定スクリプト"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci 用の SELinux 保護を無効にする"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux ポート\n"
+-#~ "タイプ"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd 用の SELinux 保護を無効にする"
+-#~ msgid "Protocol"
+-#~ msgstr "プロトコル"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind デーモン用の SELinux 保護を無効にする"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "レベル"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Port"
+-#~ msgstr "ポート"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd 用の SELinux 保護を無効にする"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "ポート番号 \"%s\" は有効ではありません。0 < ポート番号 < 65536 "
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid "List View"
+-#~ msgstr "一覧表示"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Group View"
+-#~ msgstr "グループ表示"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh にデーモンとしてではなく、inetd から実行することを認める"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux サービス保護"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba に nfs ディレクトリーを共有することを認める"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct デーモンの SELinux 保護を無効にします"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL 認証サーバー"
+-#~ msgid "Admin"
+-#~ msgstr "管理者"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl 認証サーバーに /etc/shadow を読み込むことを認める"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "全てのデーモンがコアファイルを / へ書き込むのを認めます"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows サーバーにメモリ領域を実行可能と書込み可能の両方としてマップするこ"
++"とを認める"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "全てのデーモンが割り当てられていない tty を使用できることを認めます"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t への転位を認めない、sudo と su が影響している"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "どのプロセスにもカーネルモジュールをロードすることを認めない"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "どのプロセスにもカーネル SELinux ポリシーを変更することを認めない"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "スパム保護"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd にホームディレクトリーへのアクセスを認める"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assassin デーモンにネットワークアクセスを認める"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid デーモンにネットワークへの接続を認める"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh に sysadm_r:sysadm_t としてログインすることを認める"
+-#~ msgid "User Privs"
+-#~ msgstr "ユーザー権限"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r ユーザーに sysadm ホームディレクトリーを捜し、(~/.bashrc のような) "
++"ファイルを読むことを認める"
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレ"
+-#~ "クトリにあるファイルの実行を許可する"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "汎用 SSL トンネル"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel デーモン用の SELinux 保護を無効にする"
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ゲスト SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレ"
+-#~ "クトリにあるファイルの実行を許可する"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"stunnel デーモンに xinetd の外でスタンドアローンとして実行することを認める"
+-#~ msgid "Memory Protection"
+-#~ msgstr "メモリ保護"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "java 実行可能スタックを認める"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Mount"
+-#~ msgstr "マウント"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "mount にあらゆるファイルをマウントすることを認める"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "システム cron ジョブ用の SELinux 保護を無効にする"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "mount にあらゆるディレクトリーをマウントすることを認める"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer 実行可能スタックを認める"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet デーモン用の SELinux 保護を無効にする"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh に ssh-keysign を実行することを認める"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy デーモン用の SELinux 保護を無効にする"
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "スタッフ SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディ"
+-#~ "レクトリにあるファイルの実行を許可する"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev デーモン用の SELinux 保護を無効にする"
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレ"
+-#~ "クトリにあるファイルの実行を許可する"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml デーモン用の SELinux 保護を無効にする"
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "制限されていない SELinux ユーザーアカウントに自分のホームディレクトリや /"
+-#~ "tmp ディレクトリにあるファイルの実行を許可する"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd に、それが起動するドメイン転位が明に定義されていないサービスを含め、制"
++"限なしで実行することを認める"
+-#~ msgid "Network Configuration"
+-#~ msgstr "ネットワーク設定"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc スクリプトに、rc スクリプトにより起動されるドメイン転位が明に定義されてい"
++"ないデーモンを含め、制限なしで実行することを認める"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "ラベルのないパケットがネットワークに流れるのを認める"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm に制限なしで実行することを認める"
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "ユーザー SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディ"
+-#~ "レクトリにあるファイルの実行を許可する"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"hotplug や insmod のような特権ユーティリティーに制限なしで実行することを認め"
++"る"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr ""
+-#~ "制限されていないものに unconfined_execmem に dyntrans することを認める"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Databases"
+-#~ msgstr "データベース"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r に su か、sudo、userhelper 経由で sysadm_r に達することを認める。そう"
++"でなければ staff_r のみがそうできる"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "ユーザーに mysql ソケットに接続することを許可"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "ユーザーに mount コマンドを実行することを認める"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "標準ユーザーに直接マウスアクセスを認める (X サーバーのみ認める)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "ユーザーに dmesg コマンドを実行することを認める"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "ユーザーに postgres ソケットに接続することを認める"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"ユーザーにネットワークインターフェースを制御することを認める (USERCTL=true も"
++"必要)"
+-#~ msgid "XServer"
+-#~ msgstr "X サーバー"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "通常ユーザーに ping を実行することを認める"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "クライアントに X 共有メモリに書き込むことを認める"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"ユーザーに ext 属性でないファイルの読み書きを認める (FAT、CDROM、フロッピー)"
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux ユーザーアカウントに自分のホームディレクトリや /tmp ディレ"
+-#~ "クトリにあるファイルの実行を許可する"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "ユーザーに usb 装置の読み書きを認める"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/selinux.tbl:216
++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 ""
++"ユーザーに TCP サーバーを実行することを認める (ポートと結びつけ、同一ドメイン"
++"や外部のユーザーからの接続を受け付ける) これを無効にすると FTP を受動モードに"
++"し、他のプロトコルも変更するかもしれない"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ユーザーに stat ttyfiles を認める"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm が sysadm_r:sysadm_t としてログインすることを認める"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen に物理ディスク装置を読み書きすることを認める"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen control 用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS パスワードデーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv デーモン用の SELinux 保護を無効にする"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS 転送デーモン用の SELinux 保護を無効にする"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "デーモンに NIS といっしょに実行することを認める"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm ユーザーに、非特権ユーザーのホームディレクトリーの管理を認める"
+-#~ msgid "Web Applications"
+-#~ msgstr "ウェブアプリケーション"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm ユーザーに、非特権ユーザーのホームディレクトリーの読み込みを認"
++"める"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "スタッフ SELinux ユーザーからウェブブラウザードメインへの転位"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "%s '%s' を本当に削除したいのですか?"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "sysadm SELinux ユーザーからウェブブラウザードメインへの転位"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s を削除"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "ユーザー SELinux ユーザーからウェブブラウザードメインへの転位"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s を追加"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "xguest SELinux ユーザーからウェブブラウザードメインへの転位"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s を変更"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr ""
+-#~ "スタッフウェブブラウザーにホームディレクトリーに書き込むことを認める"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "許容"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda 用の SELinux 保護を無効にする"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "強制"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis 用の SELinux 保護を無効にする"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "無効"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd デーモン用の SELinux 保護を無効にする"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "状態"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch デーモン用の SELinux 保護を無効にする"
++#: ../gui/statusPage.py:133
++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 ""
++"ポリシータイプを変更すると次の起動時に全ファイルシステムのリラベルを引き起し"
++"ます。ファイルシステムの大きさに依存してリラベルは長い時間を必要とします。続"
++"けますか?"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd デーモン用の SELinux 保護を無効にする"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux を無効にするには再起動が必要です。薦められません。後に SELinux を有効"
++"に戻すことに決めたら、システムはリラベルが必要になります。単に SELinux がシス"
++"テムに問題を起こしているかを知りたいのならば、エラーを記録するだけで SELinux "
++"ポリシーを強制しない許容モードにすることができます。許容モードは再起動は必要"
++"ではありません。続けますか?"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount デーモン用の SELinux 保護を無効にする"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux を有効に変更すると次の起動時に全ファイルシステムのリラベルを引き起し"
++"ます。ファイルシステムの大きさに依存してリラベルは長い時間を必要とします。続"
++"けますか?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi 用の SELinux 保護を無効にする"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth デーモン用の SELinux 保護を無効にする"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux ログインマッピングを追加"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux ネットワークポートを追加"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux タイプ"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna デーモン用の SELinux 保護を無効にする"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"レベル"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr デーモン用の SELinux 保護を無効にする"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "ファイル仕様"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ファイルタイプ"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "クラスターサーバー用の SELinux 保護を無効にする"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"全ファイル\n"
++"通常ファイル\n"
++"ディレクトリー\n"
++"文字装置\n"
++"ブロック装置\n"
++"ソケット\n"
++"シンボリックリンク\n"
++"名前付きパイプ\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux ユーザーの追加"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux 管理者"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "追加"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "特性(_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "削除(_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "管理オブジェクトを選択"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>選択:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "システムデフォルトの強制モード"
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "cdrecord にいろいろな内容の読み込みを認める。nfs、samba、可搬性装置、ユー"
+-#~ "ザー temp、信頼できない内容のファイル"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"無効\n"
++"許容\n"
++"強制\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "現在の強制モード"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "システムデフォルトのポリシータイプ: "
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped デーモン用の SELinux 保護を無効にする"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"リラベルしたいのならば選択し、そうすれば全ファイルシステムが次の再起動時に。"
++"システムの大きさに依存しますが、リラベルは非常に長い時間がかかります。ポリ"
++"シータイプを変更したり無効から強制へ変える場合、リラベルが必要になります。"
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "次の再起動でリラベル"
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "ブーリアン設定をシステムデフォルトに戻す"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "カスタム化と全ブーリアン値との間で切り替え"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "boolean ロックダウンのウィザードを実行"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "ロックダウン..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "フィルター"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "ファイルコンテキストの追加"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "ファイルコンテキストの変更"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "ファイルコンテキストの削除"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "全てとカスタム化ファイルコンテキストの間で切り替え"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux ユーザーマッピングの追加"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux ユーザーマッピングの変更"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux ユーザーマッピングの削除"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "ユーザーを追加"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "ユーザーを変更"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "ユーザーを削除"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "翻訳を追加"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "翻訳を修正"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "翻訳を削除"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "ネットワークポートの追加"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "ネットワークポートの編集"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "ネットワークポートの削除"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "カスタム化と全ポートの間で切り替え"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "新ポリシーモジュールの生成"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "ポリシーモジュールをロード"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "ロード可能なポリシーモジュールを取り外す"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd デーモン用の SELinux 保護を無効にする"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr "通常はログファイルに報告されない追加の監査ルールを有効/無効にする。"
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "プロセスモードを permissive に変更します。"
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "プロセスモードを enforcing に変更します"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "プロセスドメイン"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Printing"
+-#~ msgstr "印刷"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd バックエンドサーバー用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd 用の SELinux 保護を無効にする"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "sysadm_t に直接デーモンを起動することを認める"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Evolution 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Games"
+-#~ msgstr "ゲーム"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "ゲーム用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "ウェブブラウザー用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Thunderbird 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "互換性"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "壊れていることを知っているが、セキュリティリスクのないことが分かっているも"
+-#~ "のを監査しない"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "cups hplip デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd 交代ログ用の SELinux 保護を無効にする"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD サービス"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd 子デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "ケルベロス"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "evolution と thunderbird にユーザーファイルを読み込むのを認める"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "mozilla ブラウザーにユーザーファイルを読み込むのを認める"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "名前サービス"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManager 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob mkhomedir 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "pppd に一般ユーザーのために実行することを認める"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "rdisc 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "プログラムに標準以外の場所にあるファイルを読み込むことを認める (default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd 用の SELinux 保護を無効にする"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ssh にデーモンとしてではなく、inetd から実行することを認める"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Samba に nfs ディレクトリーを共有することを認める"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL 認証サーバー"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "sasl 認証サーバーに /etc/shadow を読み込むことを認める"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "X-Windows サーバーにメモリ領域を実行可能と書込み可能の両方としてマップする"
+-#~ "ことを認める"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "sysadm_t への転位を認めない、sudo と su が影響している"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "どのプロセスにもカーネルモジュールをロードすることを認めない"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "どのプロセスにもカーネル SELinux ポリシーを変更することを認めない"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroubleshoot デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "スパム保護"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd にホームディレクトリーへのアクセスを認める"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Spam Assassin デーモンにネットワークアクセスを認める"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid デーモンにネットワークへの接続を認める"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh に sysadm_r:sysadm_t としてログインすることを認める"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r ユーザーに sysadm ホームディレクトリーを捜し、(~/.bashrc のよう"
+-#~ "な) ファイルを読むことを認める"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "汎用 SSL トンネル"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "stunnel デーモンに xinetd の外でスタンドアローンとして実行することを認める"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "システム cron ジョブ用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "xinetd に、それが起動するドメイン転位が明に定義されていないサービスを含"
+-#~ "め、制限なしで実行することを認める"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "rc スクリプトに、rc スクリプトにより起動されるドメイン転位が明に定義されて"
+-#~ "いないデーモンを含め、制限なしで実行することを認める"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm に制限なしで実行することを認める"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "hotplug や insmod のような特権ユーティリティーに制限なしで実行することを認"
+-#~ "める"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "user_r に su か、sudo、userhelper 経由で sysadm_r に達することを認める。そ"
+-#~ "うでなければ staff_r のみがそうできる"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "ユーザーに mount コマンドを実行することを認める"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr "標準ユーザーに直接マウスアクセスを認める (X サーバーのみ認める)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "ユーザーに dmesg コマンドを実行することを認める"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "ユーザーにネットワークインターフェースを制御することを認める "
+-#~ "(USERCTL=true も必要)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "通常ユーザーに ping を実行することを認める"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "ユーザーに ext 属性でないファイルの読み書きを認める (FAT、CDROM、フロッ"
+-#~ "ピー)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "ユーザーに usb 装置の読み書きを認める"
+-
+-#~ 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 ""
+-#~ "ユーザーに TCP サーバーを実行することを認める (ポートと結びつけ、同一ドメ"
+-#~ "インや外部のユーザーからの接続を受け付ける) これを無効にすると FTP を受動"
+-#~ "モードにし、他のプロトコルも変更するかもしれない"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "ユーザーに stat ttyfiles を認める"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm が sysadm_r:sysadm_t としてログインすることを認める"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "xen に物理ディスク装置を読み書きすることを認める"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen control 用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS パスワードデーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS 転送デーモン用の SELinux 保護を無効にする"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm ユーザーに、非特権ユーザーのホームディレクトリーの管理を認"
+-#~ "める"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm ユーザーに、非特権ユーザーのホームディレクトリーの読み込み"
+-#~ "を認める"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "%s '%s' を本当に削除したいのですか?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s を削除"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s を追加"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s を変更"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "許容"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "強制"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "無効"
+-
+-#~ msgid "Status"
+-#~ msgstr "状態"
+-
+-#~ 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 ""
+-#~ "ポリシータイプを変更すると次の起動時に全ファイルシステムのリラベルを引き起"
+-#~ "します。ファイルシステムの大きさに依存してリラベルは長い時間を必要としま"
+-#~ "す。続けますか?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "SELinux を無効にするには再起動が必要です。薦められません。後に SELinux を"
+-#~ "有効に戻すことに決めたら、システムはリラベルが必要になります。単に "
+-#~ "SELinux がシステムに問題を起こしているかを知りたいのならば、エラーを記録す"
+-#~ "るだけで SELinux ポリシーを強制しない許容モードにすることができます。許容"
+-#~ "モードは再起動は必要ではありません。続けますか?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "SELinux を有効に変更すると次の起動時に全ファイルシステムのリラベルを引き起"
+-#~ "します。ファイルシステムの大きさに依存してリラベルは長い時間を必要としま"
+-#~ "す。続けますか?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux ログインマッピングを追加"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux ネットワークポートを追加"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux タイプ"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "レベル"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "ファイル仕様"
+-
+-#~ msgid "File Type"
+-#~ msgstr "ファイルタイプ"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "全ファイル\n"
+-#~ "通常ファイル\n"
+-#~ "ディレクトリー\n"
+-#~ "文字装置\n"
+-#~ "ブロック装置\n"
+-#~ "ソケット\n"
+-#~ "シンボリックリンク\n"
+-#~ "名前付きパイプ\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux ユーザーの追加"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux 管理者"
+-
+-#~ msgid "Add"
+-#~ msgstr "追加"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "特性(_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "削除(_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "管理オブジェクトを選択"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>選択:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "システムデフォルトの強制モード"
+-
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "許容\n"
+-#~ "強制が\n"
+-#~ "無効になりました\n"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "現在の強制モード"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "システムデフォルトのポリシータイプ: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "リラベルしたいのならば選択し、そうすれば全ファイルシステムが次の再起動時"
+-#~ "に。システムの大きさに依存しますが、リラベルは非常に長い時間がかかります。"
+-#~ "ポリシータイプを変更したり無効から強制へ変える場合、リラベルが必要になりま"
+-#~ "す。"
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "次の再起動でリラベル"
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "ブーリアン設定をシステムデフォルトに戻す"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "カスタム化と全ブーリアン値との間で切り替え"
+-
+-#~ msgid "Run booleans lockdown wizard"
+-#~ msgstr "boolean ロックダウンのウィザードを実行"
+-
+-#~ msgid "Lockdown..."
+-#~ msgstr "ロックダウン..."
+-
+-#~ msgid "Filter"
+-#~ msgstr "フィルター"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "ファイルコンテキストの追加"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "ファイルコンテキストの変更"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "ファイルコンテキストの削除"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "全てとカスタム化ファイルコンテキストの間で切り替え"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux ユーザーマッピングの追加"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux ユーザーマッピングの変更"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux ユーザーマッピングの削除"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "変換の追加"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "変換の変更"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "変換の削除"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux ユーザーの変更"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "ネットワークポートの追加"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "ネットワークポートの編集"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "ネットワークポートの削除"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "カスタム化と全ポートの間で切り替え"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "新ポリシーモジュールの生成"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "ポリシーモジュールをロード"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "ロード可能なポリシーモジュールを取り外す"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr "通常はログファイルに報告されない追加の監査ルールを有効/無効にする。"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux ユーザー '%s' が必要です"
+ #~ msgid "Sensitvity Level"
+-#~ msgstr "感度"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux ユーザー '%s' が必要です"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Disable"
+-#~ msgstr "無効"
+-
+-#~ msgid "Enable"
+-#~ msgstr "有効"
+-
+-#~ msgid "Default"
+-#~ msgstr "デフォルト"
+-
+-#~ msgid "<b>Boolean</b>"
+-#~ msgstr "<b>Boolean</b>"
+-
+-#~ msgid "<b>Description</b>"
+-#~ msgstr "<b>説明</b>"
+-
+-#~ msgid "<b>Status</b>"
+-#~ msgstr "<b>ステータス</b>"
+-
+-#~ msgid "Category: %s <br>"
+-#~ msgstr "カテゴリ: %s <br>"
+-
+-#~ msgid "Begin"
+-#~ msgstr "開始"
+-
+-#~ msgid ""
+-#~ "Welcome to the SELinux Lockdown Tool.<br> <br>This tool can be used to "
+-#~ "lockdown SELinux booleans.The tool will generate a configuration file "
+-#~ "which can be used to lockdown this system or other SELinux systems.<br>"
+-#~ msgstr ""
+-#~ "SELinux ロックダウンツールにようこそ。 <br> <br>このツールを使用すると "
+-#~ "SELinux の boolean をロックダウンすることができます。 このシステムまたは他"
+-#~ "の SELinux システムのロックダウンに使用できる設定ファイルを生成します。"
+-#~ "<br>"
+-
+-#~ msgid "Finish"
+-#~ msgstr "終了"
+-
+-#~ msgid "Category %s booleans completed <br><br>"
+-#~ msgstr "カテゴリ %s boolean は完了しました <br><br>"
+-
+-#~ msgid "Current settings:<br><br>"
+-#~ msgstr "現在の設定:<br><br>"
+-
+-#~ msgid "Finish: <br><br>"
+-#~ msgstr "終了: <br><br>"
+-
+-#~ msgid "Category: %s<br><br>Current Settings<br><br>"
+-#~ msgstr "カテゴリ: %s<br><br>現在の設定<br><br>"
+-
+-#~ msgid "Boolean:   %s<br><br>"
+-#~ msgstr "Boolean:   %s<br><br>"
+-
+-#~ msgid "Lockdown SELinux Booleans"
+-#~ msgstr "SELinux boolean のロックダウン"
+-
+-#~ msgid "Apply"
+-#~ msgstr "適用"
+-
+-#~ msgid "SELinux Boolean Lockdown"
+-#~ msgstr "SELinux boolean のロックダウン"
+-
+-#~ msgid "Save As"
+-#~ msgstr "名前を付けて保存"
+-
+-#~ msgid "Save Boolean Configuration File"
+-#~ msgstr "Boolean 設定ファイルを保存"
+-
+-#~ msgid "Select file name to save  boolean settings."
+-#~ msgstr "boolean 設定を保存するファイル名を選択します。"
+-
+-#~ msgid "_Forward"
+-#~ msgstr "転送(_F)"
+-
+-#~ msgid "_Previous"
+-#~ msgstr "前(_P)"
++#~ msgstr "敏感度レベル"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ka.po policycoreutils-2.0.85/po/ka.po
+--- nsapolicycoreutils/po/ka.po        2011-02-17 15:11:25.313731764 -0500
++++ policycoreutils-2.0.85/po/ka.po    2011-02-18 16:03:41.381975833 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/kn.po policycoreutils-2.0.85/po/kn.po
+--- nsapolicycoreutils/po/kn.po        2011-02-17 15:11:25.717725091 -0500
++++ policycoreutils-2.0.85/po/kn.po    2011-02-18 16:03:41.382975840 -0500
+@@ -2,20 +2,21 @@
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+ # This file is distributed under the same license as the PACKAGE package.
+ #
+-# Shankar Prasad <svenkate@redhat.com>, 2007, 2008.
++# Shankar Prasad <svenkate@redhat.com>, 2007, 2008, 2009, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils.HEAD.kn\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-04-02 10:45+0530\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 15:13+0530\n"
+ "Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"
+-"Language-Team: Kannada <en@li.org>\n"
++"Language-Team: kn_IN <kde-i18n-doc@kde.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"X-Generator: Lokalize 1.0\n"
++"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
+ "\n"
+ "\n"
+ "\n"
+@@ -23,6 +24,23 @@
+ "\n"
+ "\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinux ಅನ್ನು ಒಂದು ಚಿತ್ರಾತ್ಮಕ ಸಿದ್ದತೆಯಲ್ಲಿ ಸಂರಚಿಸಿ"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux ವ್ಯವಸ್ಥಾಪನೆ"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux ಪಾಲಿಸಿ ಘಟಕಗಳನ್ನು ಉತ್ಪಾದಿಸು"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux ಪಾಲಿಸಿ ಉತ್ಪಾದನಾ ಉಪಕರಣ"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -93,7 +111,7 @@
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr "ಈ ನೀತಿ(ಪಾಲಿಸಿ) ಪ್ಯಾಕೇಜನ್ನು ಸಕ್ರಿಯವಾಗಿಸಲು, ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ:"
++msgstr "ಈ ಪಾಲಿಸಿ(ಪಾಲಿಸಿ) ಪ್ಯಾಕೇಜನ್ನು ಸಕ್ರಿಯವಾಗಿಸಲು, ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+@@ -101,20 +119,19 @@
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr "SELinux ನೀತಿಯನ್ನು ನಿರ್ವಹಿಸಲಾಗಿಲ್ಲ ಅಥವ ಶೇಖರಣೆಯನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲಾಗಿಲ್ಲ."
++msgstr "SELinux ಪಾಲಿಸಿಯನ್ನು ನಿರ್ವಹಿಸಲಾಗಿಲ್ಲ ಅಥವ ಶೇಖರಣೆಯನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲಾಗಿಲ್ಲ."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "ನೀತಿ ಶೇಖರಣೆಯನ್ನು ಓದಲಾಗಿಲ್ಲ."
++msgstr "ಪಾಲಿಸಿ ಶೇಖರಣೆಯನ್ನು ಓದಲಾಗಿಲ್ಲ."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+ msgstr "semanage ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿಲ್ಲ"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s ಗಾಗಿ MLS ವ್ಯಾಪ್ತಿಯನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
++msgstr "MLS ಶಕ್ತಗೊಂಡಿರುವ ಸ್ಥಿತಿಯನ್ನು ಪರೀಕ್ಷಿಸಲಾಗಲಿಲ್ಲ"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -130,7 +147,8 @@
+ msgid "Level"
+ msgstr "ಮಟ್ಟ"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "ಅನುವಾದ"
+@@ -160,764 +178,766 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "ಸೆಮನೇಜ್ ವ್ಯವಹಾರವು ಈಗಾಗಲೆ ಪ್ರಗತಿಯಲ್ಲಿದೆ"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage ವಹಿವಾಟನ್ನು ಆರಂಭಿಸಲಾಗಿಲ್ಲ"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage ವಹಿವಾಟನ್ನು ಆರಂಭಿಸಲಾಗಿಲ್ಲ"
++msgstr "semanage ವಹಿವಾಟನ್ನು ಸಲ್ಲಿಸಲಾಗಿಲ್ಲ"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "ಸೆಮನೇಜ್ ವ್ಯವಹಾರವು ಪ್ರಗತಿಯಲ್ಲಿಲ್ಲ"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux ಬಳಕೆದಾರರನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ"
++msgstr "SELinux ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "ಅನುಮತಿಪೂರ್ವಕವಾಗಿ"
++msgstr "ಅನುಮತಿಯ ಬಗೆಗಳು"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"ಅನುಮತಿಪೂರ್ವಕ ಡೊಮೈನ್ %s ಅನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ (ಡೊಮೈನ್‌ ಅನುಸ್ಥಾಪನೆಯು ವಿಫಲಗೊಂಡಿದೆ)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "ಅನುಮತಿಪೂರ್ವಕವಾದ ಡೊಮೈನ್ %s ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗಲಿಲ್ಲ (ತೆಗೆದು ಹಾಕುವಲ್ಲಿ ವಿಫಲತೆ)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+-msgstr "%s ಗಾಗಿ ಕೀಲಿಯನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ಕೀಲಿಯನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s ಗೆ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗ್ ವಿವರಿಸಲ್ಪಟ್ಟಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s ಗಾಗಿ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗ್ ವಿವರಿಸಲಾಗಿದೆ"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux ಬಳಕೆದಾರ %s ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"
++msgstr "Linux ಸಮೂಹ %s ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux ಬಳಕೆದಾರ %s ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s ಗಾಗಿ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s ಗಾಗಿ ಹೆಸರನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s ಗಾಗಿ MLS ವ್ಯಾಪ್ತಿಯನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s ಗಾಗಿ SELinux ಬಳಕೆದಾರನನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s ಗೆ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ಸೇರಿಸು"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser ಅಥವ serange ದ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s ಗಾಗಿನ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ವಿವರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "seuser ಅನ್ನು %s ಗಾಗಿ ಪ್ರಶ್ನಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s ಗಾಗಿ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+-msgstr "%s ಗಾಗಿನ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗ್ ನೀತಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
++msgstr "%s ಗಾಗಿನ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗ್ ಪಾಲಿಸಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s ಗಾಗಿನ ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "ಪ್ರವೇಶ ಹೆಸರು"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux ಬಳಕೆದಾರ"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS ವ್ಯಾಪ್ತಿ"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ಕನಿಷ್ಟ ಒಂದು ಪಾತ್ರವನ್ನು ಸೇರಿಸಬೇಕು"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "SELinux ಬಳಕೆದಾರ %s ನು ವಿವರಿಸಲ್ಪಟ್ಟಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux ಬಳಕೆದಾರ %s ನನ್ನು ಈಗಾಗಲೆ ವಿವರಿಸಲಾಗಿದೆ"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s SELinux ಬಳಕೆದಾರನನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "ಪಾತ್ರ %s ಅನ್ನು %s ಗೆ ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s ಗಾಗಿ MLS ಮಟ್ಟವನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "ಪೂರ್ವಪ್ರತ್ಯಯ %s ಅನ್ನು %s ಗೆ ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s ಗಾಗಿ ಕೀಲಿಯನ್ನು ತೆಗೆಯಲಾಗಿಲ್ಲ(extract)"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux ಬಳಕೆದಾರ %s ನನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "ಪೂರ್ವಪ್ರತ್ಯಯ, ಪಾತ್ರಗಳು, ಮಟ್ಟ ಅಥವ ವ್ಯಾಪ್ತಿಯ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "ಪೂರ್ವಪ್ರತ್ಯಯ ಅಥವ ಪಾತ್ರಗಳ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux ಬಳಕೆದಾರ %s ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "ಬಳಕೆದಾರನನ್ನು %s ಗಾಗಿ ಪ್ರಶ್ನಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux ಬಳಕೆದಾರ %s ನನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr "SELinux ಬಳಕೆದಾರ %s ನನ್ನು ನೀತಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
++msgstr "SELinux ಬಳಕೆದಾರ %s ನನ್ನು ಪಾಲಿಸಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux ಬಳಕೆದಾರ %s ನನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux ಬಳಕೆದಾರರನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "ಬಳಕೆದಾರ %s ನಿಗೆ ಪಾತ್ರಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "ಲೇಬಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "ಪೂರ್ವಪ್ರತ್ಯಯ"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS ಮಟ್ಟ"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS ವ್ಯಾಪ್ತಿ"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux ಪಾತ್ರಗಳು"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "ಪ್ರೋಟೊಕಾಲ್ udp ಅಥವ tcp ಯ ಅಗತ್ಯವಿರುತ್ತದೆ"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "ಸಂಪರ್ಕಸ್ಥಾನದ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s ಗಾಗಿ ಒಂದು ಕೀಲಿಯನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "ಬಗೆಯ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "%s/%s ಸಂಪರ್ಕ ಸ್ಥಾನವನ್ನು ವಿವರಿಸಲಾಗಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ %s/%s ವನ್ನು ಈಗಾಗಲೆ ವಿವರಿಸಲಾಗಿದೆ"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s ಗಾಗಿ ಸಂಪರ್ಕ ಸ್ಥಾನವನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s ಗಾಗಿ ಸನ್ನಿವೇಶವನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s ಗಾಗಿ ಸಂಪರ್ಕಸ್ಥಾನ ಸನ್ನಿವೇಶದಲ್ಲಿ ಬಳಕೆದಾರನನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s ಗಾಗಿ ಸಂಪರ್ಕಸ್ಥಾನ ಸನ್ನಿವೇಶದಲ್ಲಿ ಪಾತ್ರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s ಗಾಗಿ ಸಂಪರ್ಕಸ್ಥಾನ ಸನ್ನಿವೇಶದಲ್ಲಿ ಪ್ರಕಾರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s ಗಾಗಿನ ಸಂಪರ್ಕಸ್ಥಾನ mls ಕ್ಷೇತ್ರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s ಗಾಗಿನ ಸಂಪರ್ಕಸ್ಥಾನವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "%s/%s ದಲ್ಲಿ ಸಂಪರ್ಕ ಸ್ಥಾನವನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype ಅಥವ serange ನ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype ನ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ವು ವಿವರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ಅನ್ನು ಪ್ರಶ್ನಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ಅನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ %s ಅನ್ನು ಅಳಿಸಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ವನ್ನು ನೀತಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
++msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ವನ್ನು ಪಾಲಿಸಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ %s/%s ಅನ್ನು ಅಳಿಸಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux ಸಂಪರ್ಕ ಸ್ಥಾನದ ಬಗೆ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "ಸಂಪರ್ಕಸ್ಥಾನದ ಸಂಖ್ಯೆ"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "ಸಂಪರ್ಕಸ್ಥಾನದ ಅಗತ್ಯವಿದೆ"
++msgstr "ನೋಡ್‌ನ ವಿಳಾಸದ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "ಸಂಪರ್ಕಸ್ಥಾನದ ಅಗತ್ಯವಿದೆ"
++msgstr "ನೋಡ್‌ ನೆಟ್‌ಮಾಸ್ಕಿನ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "ಗೊತ್ತಿರದ ಅಥವ ಕಾಣೆಯಾದ ಪ್ರೊಟೊಕಾಲ್"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux ನ ಬಗೆಯ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s ಗಾಗಿ ಕೀಲಿಯನ್ನು ಸೃಜಿಸಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "%s/%s ಸಂಪರ್ಕ ಸ್ಥಾನವನ್ನು ವಿವರಿಸಲಾಗಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ವಿವರಿಸಲಾಗಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ %s/%s ವನ್ನು ಈಗಾಗಲೆ ವಿವರಿಸಲಾಗಿದೆ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ಈಗಾಗಲೆ ವಿವರಿಸಲಾಗಿದೆ"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s ಗಾಗಿ ಕೀಲಿಯನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ವಿಳಾಸವನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s ಗಾಗಿ ಸನ್ನಿವೇಶವನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s ಗಾಗಿ ಹೆಸರನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ಮಾಸ್ಕನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲಿ ಬಳಕೆದಾರನನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ವಿಳಾಸ ಸನ್ನಿವೇಶದಲ್ಲಿ ಬಳಕೆದಾರನನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲಿ ಪಾತ್ರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ವಿಳಾಸ ಸನ್ನಿವೇಶದಲ್ಲಿ ಪಾತ್ರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲ್ಲಿ ಬಗೆಯನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ವಿಳಾಸ ಸನ್ನಿವೇಶದಲ್ಲ್ಲಿ ಬಗೆಯನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲಿ mls ಕ್ಷೇತ್ರಗಳನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ವಿಳಾಸ ಸನ್ನಿವೇಶದಲ್ಲಿನ mls ಕ್ಷೇತ್ರಗಳನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
++msgstr "%s ಗಾಗಿ ವಿಳಾಸ ಸನ್ನಿವೇಶವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s ದಲ್ಲಿ ಸಂಪರ್ಕ ಸ್ಥಾನವನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ವು ವಿವರಿಸಲಾಗಿಲ್ಲ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ವಿವರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ಅನ್ನು ಪ್ರಶ್ನಿಸಲಾಗಿಲ್ಲ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ಪ್ರಶ್ನಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ಅನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "ಸಂಪರ್ಕಸ್ಥಾನ %s/%s ವನ್ನು ನೀತಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ಪಾಲಿಸಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s ಅನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
++msgstr "ವಿಳಾಸ %s ಅನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಲಿಲ್ಲ"
++msgstr "ವಿಳಾಸಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "ಸಂಪರ್ಕಸಾಧನ %s ವು ವಿವರಿಸಲ್ಪಟ್ಟಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "ಸಂಪರ್ಕಸಾಧನ %s ವು ಈಗಾಗಲೆ ವಿವರಿಸಲ್ಪಟ್ಟಿದೆ"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s ಗಾಗಿ ಸಂಪರ್ಕಸಾಧನವನ್ನು ಸೃಜಿಸಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s ಗಾಗಿ ಸಂಪರ್ಕ ಸಾಧನ ಸನ್ನಿವೇಶದಲ್ಲಿ ಬಳಕೆದಾರನನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s ಗಾಗಿ ಸಂಪರ್ಕಸಾಧನ ಸನ್ನಿವೇಶದಲ್ಲಿ ಪಾತ್ರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s ಗಾಗಿ ಸಂಪರ್ಕಸಾಧನ ಸನ್ನಿವೇಶದಲ್ಲಿ ಪ್ರಕಾರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s ಗಾಗಿನ ಸಂಪರ್ಕಸಾಧನ ಸನ್ನಿವೇಶವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s ಗಾಗಿ ಸಂಪರ್ಕಸಾಧನ ಸನ್ನಿವೇಶವನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s ಗೆ ಸಂದೇಶ ಸನ್ನಿವೇಶವನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "ಸಂಪರ್ಕಸಾಧನ %s ಅನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "ಸಂಪರ್ಕ ಸಾಧನ %s ವು ವಿವರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "ಸಂಪರ್ಕ ಸಾಧನ %s ಅನ್ನು ಪ್ರಶ್ನಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "ಸಂಪರ್ಕ ಸಾಧನ %s ಅನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "ಸಂಪರ್ಕಸಾಧನ %s ವನ್ನು ನೀತಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
++msgstr "ಸಂಪರ್ಕಸಾಧನ %s ವನ್ನು ಪಾಲಿಸಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "ಸಂಪರ್ಕ ಸಾಧನ %s ಅನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "ಸಂಪರ್ಕ ಸಾಧನಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux ಸಂಪರ್ಕಸಾಧನ"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "ಸನ್ನಿವೇಶ"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲಿ ಬಳಕೆದಾರನನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲಿ ಪಾತ್ರವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲಿ mls ಕ್ಷೇತ್ರಗಳನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "ಕಡತದ ಅಮಾನ್ಯ ವಿಶಿಷ್ಟ ವಿವರಗಳು"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶಗಳು ವಿವರಿಸಲ್ಪಟ್ಟಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s ಗಾಗಿನ ಕಡತ ಸನ್ನಿವೇಶವು ಈಗಾಗಲೆ ವಿವರಿಸಲ್ಪಟ್ಟಿದೆ"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಸೃಜಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶದಲ್ಲ್ಲಿ ಬಗೆಯನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange ಅಥವ seuser ನ ಅಗತ್ಯವಿದೆ"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವು ವಿವರಿಸಲ್ಪಟ್ಟಿಲ್ಲ"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಪ್ರಶ್ನಿಸಲಾಗಲಿಲ್ಲ"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s ಗಾಗಿ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಮಾರ್ಪಡಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "ಕಡತ ಸನ್ನಿವೇಶಗಳನ್ನು ಪಟ್ಟಿಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "%s ದ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+-msgstr "%s ಗಾಗಿನ ಕಡತ ಸನ್ನಿವೇಶವು ನೀತಿಯಲ್ಲಿ ವಿವರಿಸಲ್ಪಟ್ಟಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
++msgstr "%s ಗಾಗಿನ ಕಡತ ಸನ್ನಿವೇಶವು ಪಾಲಿಸಿಯಲ್ಲಿ ವಿವರಿಸಲ್ಪಟ್ಟಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s ಗಾಗಿನ ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "ಕಡತ ಸನ್ನಿವೇಶಗಳನ್ನು ಪಟ್ಟಿಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "ಸ್ಥಳೀಯ ಕಡತ ಸನ್ನಿವೇಶಗಳನ್ನು ಪಟ್ಟಿಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "ಬಗೆ"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "ಬೂಲಿಯನ್ %s ವಿವರಿಸಲ್ಪಟ್ಟಿದೆಯೆ ಅಂದು ಪರೀಕ್ಷಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "ಬೂಲಿಯನ್ %s ವಿವರಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "ಕಡತ ಸನ್ನಿವೇಶ %s ಅನ್ನು ಪ್ರಶ್ನಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "ನೀವು ಒಂದು ಮೌಲ್ಯವನ್ನು ನಮೂದಿಸಬೇಕು"
++msgstr "ಈ ಕೆಳಗಿನ ಮೌಲ್ಯಗಳಲ್ಲಿ ಒಂದನ್ನು ನೀವು ಸೂಚಿಸಲೇಬೇಕು: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "ಬೂಲಿಯನ್ %s ಅನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
++msgstr "ಬೂಲಿಯನ್ %s ಗೆ ಯಾವುದೆ ಸಕ್ರಿಯ ಮೌಲ್ಯವನ್ನು ರವಾನಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "ಬೂಲಿಯನ್ %s ಅನ್ನು ಮಾರ್ಪಡಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "ಸರಿಯಲ್ಲದ ವಿನ್ಯಾಸ %s: ರೆಕಾರ್ಡ್ %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "ಬೂಲಿಯನ್ %s ವು ನೀತಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
++msgstr "ಬೂಲಿಯನ್ %s ವು ಪಾಲಿಸಿಯಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾಗುವುದಿಲ್ಲ"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "ಬೂಲಿಯನ್ %s ಅನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "ಬೂಲಿಯನ್ನುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "ಗೊತ್ತಿರದ"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "ಆಫ್"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "ಆನ್"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux ಬೂಲಿಯನ್"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "ವಿವರಣೆ"
+@@ -957,9 +977,9 @@
+ msgstr "ವಾತಾವರಣವನ್ನು ತೆರವುಗೊಳಸಲಾಗಿಲ್ಲ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ದೋಷ, ಸ್ಥಗಿತಗೊಳಿಸಲಾಗುತ್ತದೆ.\n"
++msgstr "ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ದೋಷ, ತಡೆಹಿಡಿಯಲಾಗುತ್ತದೆ.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1197,18 +1217,19 @@
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr "%s:  ನೀತಿಯು ಈಗಾಗಲೆ ಲೋಡ್‌ ಮಾಡಲಾಗಿದೆ ಹಾಗು ಆರಂಭಿಕ ಲೋಡ್‍ಗೆ ಮನವಿ ಸಲ್ಲಿಸಲಾಗಿದೆ\n"
++msgstr ""
++"%s:  ಪಾಲಿಸಿಯು ಈಗಾಗಲೆ ಲೋಡ್‌ ಮಾಡಲಾಗಿದೆ ಹಾಗು ಆರಂಭಿಕ ಲೋಡ್‍ಗೆ ಮನವಿ ಸಲ್ಲಿಸಲಾಗಿದೆ\n"
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+ msgstr ""
+-"%s:  ನೀತಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿಲ್ಲ ಹಾಗು ಒತ್ತಾಯಪೂರ್ವಕ ಕ್ರಮಕ್ಕೆ ಮನವಿ ಸಲ್ಲಿಸಲಾಗಿದೆ:  %s\n"
++"%s:  ಪಾಲಿಸಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿಲ್ಲ ಹಾಗು ಒತ್ತಾಯಪೂರ್ವಕ ಕ್ರಮಕ್ಕೆ ಮನವಿ ಸಲ್ಲಿಸಲಾಗಿದೆ:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s:  ನೀತಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿಲ್ಲ:  %s\n"
++msgstr "%s:  ಪಾಲಿಸಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿಲ್ಲ:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+@@ -1295,1690 +1316,2266 @@
+ msgid "Options Error %s "
+ msgstr "ಆಯ್ಕೆಗಳ ದೋಷ %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "MLS ಅಲ್ಲದ ಗಣಕಗಳಲ್ಲಿ ಅನುವಾದಗಳಿಗೆ ಬೆಂಬಲ ಇರುವುದಿಲ್ಲ್ಲ"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "ಬೂಲಿಯನ್"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "ಎಲ್ಲಾ"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "ಕಸ್ಟಮೈಸ್ ಮಾಡಲಾದ"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "ಕಡತವನ್ನು ಲೇಬಲ್ ಮಾಡುವುದು"
+-#~ msgid "Boolean"
+-#~ msgstr "ಬೂಲಿಯನ್"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ಕಡತದ\n"
++"ವಿಶಿಷ್ಟ ವಿವರಗಳು"
+-#~ msgid "all"
+-#~ msgstr "ಎಲ್ಲಾ"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"ಕಡತದ ಬಗೆ"
+-#~ msgid "Customized"
+-#~ msgstr "ಕಸ್ಟಮೈಸ್ ಮಾಡಲಾದ"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ಕಡತದ\n"
++"ಹೆಸರು"
+-#~ msgid "File Labeling"
+-#~ msgstr "ಕಡತವನ್ನು ಲೇಬಲ್ ಮಾಡುವುದು"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗ್"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ಕಡತದ\n"
+-#~ "ವಿಶಿಷ್ಟ ವಿವರಗಳು"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"ಪ್ರವೇಶದ\n"
++"ಹೆಸರು"
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "ಕಡತದ ಬಗೆ"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"ಬಳಕೆದಾರ"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "ಕಡತದ\n"
+-#~ "ಹೆಸರು"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS ವ್ಯಾಪ್ತಿ"
+-#~ msgid "User Mapping"
+-#~ msgstr "ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗ್"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "'%s' ದ ಪ್ರವೇಶದ ಅಗತ್ಯವಿದೆ"
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "ಪ್ರವೇಶದ\n"
+-#~ "ಹೆಸರು"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "ಪಾಲಿಸಿ ಮಾಡ್ಯೂಲ್‌"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ಬಳಕೆದಾರ"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "ಮಾಡ್ಯೂಲಿನ ಹೆಸರು"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS ವ್ಯಾಪ್ತಿ"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "ಆವೃತ್ತಿ"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "'%s' ದ ಪ್ರವೇಶದ ಅಗತ್ಯವಿದೆ"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ಆಡಿಟನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-#~ msgid "Policy Module"
+-#~ msgstr "ನೀತಿ ಘಟಕ"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ಆಡಿಟನ್ನು ಶಕ್ತಗೊಳಿಸು"
+-#~ msgid "Module Name"
+-#~ msgstr "ಘಟಕದ ಹೆಸರು"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "ಪಾಲಿಸಿ ಮಾಡ್ಯೂಲನ್ನು ಲೋಡ್ ಮಾಡಿ"
+-#~ msgid "Version"
+-#~ msgstr "ಆವೃತ್ತಿ"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable Audit"
+-#~ msgstr "ಆಡಿಟನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Enable Audit"
+-#~ msgstr "ಆಡಿಟನ್ನು ಶಕ್ತಗೊಳಿಸು"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "ನೀತಿ ಘಟಕವನ್ನು ಲೋಡ್ ಮಾಡಿ"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "ಶಂಕರ್ ಪ್ರಸಾದ್ <svenkate@redhat.com>"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"ಈ ಉಪಕರಣದಿಂದ SELinux ಬಳಸಿಕೊಂಡು ಪಾಲಿಸಿ ಚೌಕಟ್ಟನ್ನು (framework), ಅನ್ವಯಗಳನ್ನು "
++"ಮಿತಿಗೊಳಿಸಲು ಅಥವ ಬಳಕೆದಾರರನ್ನು ನಿರ್ಮಿಸಲು ಬಳಸಬಹುದಾಗಿದೆ.   \n"
++"\n"
++"ಉಪಕರಣವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ:\n"
++"ಒತ್ತಾಯಪೂರ್ವಕ ಕಡತದ ಬಗೆ (te)\n"
++"ಸಂಪರ್ಕಸಾಧನ ಕಡತ (if)\n"
++"ಕಡತ ಸನ್ನಿವೇಶ ಕಡತ (fc)\n"
++"ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ (sh) - ಪಾಲಿಸಿಯನ್ನು ಸಂಕಲಿಸಲು ಹಾಗು ಅನುಸ್ಥಾಪಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "ಮಿತಿಗೊಳಿಸಲು ಅನ್ವಯ/ಬಳಕೆದಾರನ ಪಾತ್ರವನ್ನು ಆರಿಸಿ"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>ಅನ್ವಯಗಳು</b>"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"ಸ್ಟಾಂಡರ್ಡ್ Init ಡೆಮನ್‍ಗಳೆಂದರೆ init ಸ್ಕ್ರಿಪ್ಟ್‍ಗಳ ಮೂಲಕ ಬೂಟ್ ಸಮಯದಲ್ಲಿ ಆರಂಭಗೊಳ್ಳುವ "
++"ಡೆಮನ್‍ಗಳಾಗಿರುತ್ತವೆ.  ಸಾಮಾನ್ಯವಾಗಿ /etc/rc.d/init.d ನಲ್ಲಿ ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್‍ನ ಅಗತ್ಯವಿರುತ್ತದೆ"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "ಸಾಮಾನ್ಯ init ಡೆಮೋನ್"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS ವ್ಯವಸ್ಥೆ ಡೀಮನ್"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "ಜಾಲಬಂಧ ಸೇವೆಗಳ ಡೆಮೊನುಗಳು xinetd ಇಂದ ಆರಂಭಗೊಂಡವು"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "ಜಾಲಬಂಧ ಸೇವೆಗಳ ಡೆಮೊನ್ (inetd)"
+-#~ msgid "translator-credits"
+-#~ msgstr "ಶಂಕರ್ ಪ್ರಸಾದ್ ಎಂ. ವಿ."
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"ಜಾಲ ಅನ್ವಯಗಳು/ಸ್ಕ್ರಿಪ್ಟ್ (CGI) ಜಾಲ ಪರಿಚಾರಕದಿಂದ (apache) ಆರಂಭಿಸಲಾದ CGI ಸ್ಕ್ರಿಪ್ಟುಗಳು"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux ನೀತಿ ಉತ್ಪಾದನಾ ಉಪಕರಣ"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "ಜಾಲ ಅನ್ವಯಗಳು/ಸ್ಕ್ರಿಪ್ಟ್ (CGI)"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "ಈ ಉಪಕರಣದಿಂದ SELinux ಬಳಸಿಕೊಂಡು ನೀತಿ ಚೌಕಟ್ಟನ್ನು (framework), ಅನ್ವಯಗಳನ್ನು "
+-#~ "ಮಿತಿಗೊಳಿಸಲು ಅಥವ ಬಳಕೆದಾರರನ್ನು ನಿರ್ಮಿಸಲು ಬಳಸಬಹುದಾಗಿದೆ.   \n"
+-#~ "\n"
+-#~ "ಉಪಕರಣವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ:\n"
+-#~ "ಒತ್ತಾಯಪೂರ್ವಕ ಕಡತದ ಬಗೆ (te)\n"
+-#~ "ಸಂಪರ್ಕಸಾಧನ ಕಡತ (if)\n"
+-#~ "ಕಡತ ಸನ್ನಿವೇಶ ಕಡತ (fc)\n"
+-#~ "ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ (sh) - ನೀತಿಯನ್ನು ಸಂಕಲಿಸಲು ಹಾಗು ಅನುಸ್ಥಾಪಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. "
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"ಬಳಕೆದಾರರಿಂದ ಆರಂಭಿಸಲ್ಪಟ್ಟಿದೆ ಎಂದು ನೀವು ಮಿತಿಗೊಳಪಡಿಸುವ ಯಾವುದೆ ಅನ್ವಯವು ಬಳಕೆದಾರ ಅನ್ವಯ "
++"ಆಗಿರುತ್ತದೆ"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "ಮಿತಿಗೊಳಿಸಲು ಅನ್ವಯ/ಬಳಕೆದಾರನ ಪಾತ್ರವನ್ನು ಆರಿಸಿ"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "ಬಳಕೆದಾರ ಅನ್ವಯಗಳು"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>ಪ್ರವೇಶಿಸಿರುವ ಬಳಕೆದಾರರು</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "ಈಗಿರುವ ಒಂದು ಪ್ರವೇಶ ಬಳಕೆದಾರ ದಾಖಲೆಯನ್ನು ಮಾರ್ಪಡಿಸು."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "ಈಗಿರುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳು"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>ಅನ್ವಯಗಳು</b>"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"ಈ ಬಳಕೆದಾರನು ಒಂದು ಟರ್ಮಿನಲ್ ಅಥವ ದೂರಸ್ಥ ಪ್ರವೇಶದ ಮೂಲಕ ಒಂದು ಗಣಕಕ್ಕೆ ಪ್ರವೇಶಿಸಬಲ್ಲನು.  "
++"ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಈ ಬಳಕೆದಾರನು setuid, networking, sudo ಹಾಗು su ಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ "
++"ಹೊಂದಿರುವುದಿಲ್ಲ."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "ಕನಿಷ್ಟ ಟರ್ಮಿನಲ್ ಬಳಕೆದಾರ ಪಾತ್ರ"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "ಸ್ಟಾಂಡರ್ಡ್ Init ಡೆಮನ್‍ಗಳೆಂದರೆ init ಸ್ಕ್ರಿಪ್ಟ್‍ಗಳ ಮೂಲಕ ಬೂಟ್ ಸಮಯದಲ್ಲಿ ಆರಂಭಗೊಳ್ಳುವ "
+-#~ "ಡೆಮನ್‍ಗಳಾಗಿರುತ್ತವೆ.  ಸಾಮಾನ್ಯವಾಗಿ /etc/rc.d/init.d ನಲ್ಲಿ ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್‍ನ "
+-#~ "ಅಗತ್ಯವಿರುತ್ತದೆ"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"ಈ ಬಳಕೆದಾರನು X ಅಥವ ಟರ್ಮಿನಲ್ ಮೂಲಕ ಒಂದು ಗಣಕಕ್ಕೆ ಪ್ರವೇಶಿಸಬಲ್ಲನು.  ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಈ "
++"ಬಳಕೆದಾರನು setuid, networking, sudo ಹಾಗು su ಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ ಹೊಂದಿರುವುದಿಲ್ಲ"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "ಸಾಮಾನ್ಯ init ಡೆಮೋನ್"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "ಕನಿಷ್ಟ X Windows ಬಳಕೆದಾರ ಪಾತ್ರ"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "ಜಾಲಬಂಧ ಸೇವೆಗಳ ಡೆಮೊನುಗಳು xinetd ಇಂದ ಆರಂಭಗೊಂಡವು"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"ಸಂಪೂರ್ಣ networking ಹೊಂದಿರುವ, ಪರಿವರ್ತನೆ ಹೊಂದದ setuid ಅನ್ವಯಗಳಿಲ್ಲದ, sudo ಇಲ್ಲದ ಹಾಗು "
++"ಯಾವುದೆ su ಇಲ್ಲದಿರುವ ಬಳಕೆದಾರ."
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "ಜಾಲಬಂಧ ಸೇವೆಗಳ ಡೆಮೊನ್ (inetd)"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "ಬಳಕೆದಾರ ಪಾತ್ರ"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "ಜಾಲ ಅನ್ವಯಗಳು/ಸ್ಕ್ರಿಪ್ಟ್ (CGI) ಜಾಲ ಪರಿಚಾರಕದಿಂದ (apache) ಆರಂಭಿಸಲಾದ CGI ಸ್ಕ್ರಿಪ್ಟುಗಳು"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"ಸಂಪೂರ್ಣ networking ಹೊಂದಿರುವ, ಪರಿವರ್ತನೆ ಹೊಂದದ setuid ಅನ್ವಯಗಳಿಲ್ಲದ, ಯಾವುದೆ su "
++"ಇಲ್ಲದಿರುವ ಆದರೆ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥಾಪಕ ಪಾತ್ರಗಳಿಗೆ sudo ಮಾಡಬಹುದಾದ ಬಳಕೆದಾರ"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "ಜಾಲ ಅನ್ವಯಗಳು/ಸ್ಕ್ರಿಪ್ಟ್ (CGI)"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "ನಿರ್ವಹಣಾ ಬಳಕೆದಾರ ಪಾತ್ರ"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>ನಿರ್ವಾಹಕ(ರೂಟ್) ಬಳಕೆದಾರರು</b>"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "ಬಳಕೆದಾರರಿಂದ ಆರಂಭಿಸಲ್ಪಟ್ಟಿದೆ ಎಂದು ನೀವು ಮಿತಿಗೊಳಪಡಿಸುವ ಯಾವುದೆ ಅನ್ವಯವು ಬಳಕೆದಾರ "
+-#~ "ಅನ್ವಯ ಆಗಿರುತ್ತದೆ"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"ಈ ಬಳಕೆದಾರನನ್ನು ನಿರ್ವಾಹಕರಾಗಿ ಚಲಾಯಿಸುವಾಗ ಗಣಕದ ನಿರ್ವಹಣೆಗೆ ಬಳಸುವಂತಿದ್ದರೆ, ನಿರ್ವಾಹಕ "
++"ಬಳಕೆದಾರನನ್ನು ಆರಿಸಿ.  ಈ ಬಳಕೆದಾರನು ಗಣಕಕ್ಕೆ ನೇರವಾಗಿ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿರುವುದಿಲ್ಲ."
+-#~ msgid "User Application"
+-#~ msgstr "ಬಳಕೆದಾರ ಅನ್ವಯಗಳು"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥಾಪಕ ಬಳಕೆದಾರ ಪಾತ್ರ"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "ಮಿತಿಗೊಳಿಸಲು ಅನ್ವಯ ಅಥವ ಬಳಕೆದಾರನ ಪಾತ್ರದ ಹೆಸರನ್ನು ನಮೂದಿಸಿ"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "ಹೆಸರು"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲದುದನ್ನು ಪರಿಮಿತಿಗೆ ಒಳಪಡಿಸಲು ಸಂಪೂರ್ಣ ಪಥವನ್ನು ನಮೂದಿಸಿ."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "ಮಿತಿಗೊಳಿಸಬೇಕಿರುವ ಬಳಕೆದಾರ ಅಥವ ಅನ್ವಯದ ವಿಶೇಷವಾದ ಪ್ರಕಾರದ ಹೆಸರನ್ನು ನಮೂದಿಸಿ."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init ಸ್ಕ್ರಿಪ್ಟ್"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>ಪ್ರವೇಶಿಸಿರುವ ಬಳಕೆದಾರರು</b>"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "ಮಿತಿಗೊಳಿಸಲಾದ ಅನ್ವಯವನ್ನು ಆರಂಭಿಸಲು init ಸ್ಕ್ರಿಪ್ಟಿಗೆ ಸಂಪೂರ್ಣ ಪಥವನ್ನು ನಮೂದಿಸಿ."
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "ಈಗಿರುವ ಒಂದು ಪ್ರವೇಶ ಬಳಕೆದಾರ ದಾಖಲೆಯನ್ನು ಮಾರ್ಪಡಿಸು."
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "ನಿಮ್ಮ ಇಚ್ಛೆಗೆ ತಕ್ಕಂತೆ ಬದಲಾಯಿಸಲು ಬಯಸುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳನ್ನು ಆರಿಸಿ"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "ಈ ಅನ್ವಯ ಡೊಮೈನ್‌ಗಳಿಗೆ ಪರಿವರ್ತಿತಗೊಳ್ಳುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳನ್ನು ಆರಿಸಿ."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "ಈ ಬಳಕೆದಾರ ಪಾತ್ರವು ಪರಿವರ್ತನೆ ಹೊಂದಬೇಕಿರುವ ಹೆಚ್ಚುವರಿ ಡೊಮೈನ್‌ಗಳನ್ನು ಆರಿಸಿ"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "ಈಗಿರುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳು"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "ಈ ಬಳಕೆದಾರ ಪಾತ್ರವು ಪರಿವರ್ತನೆ ಹೊಂದಲು ನೀವು ಬಯಸುವ ಅನ್ವಯ ಡೊಮೈನ್‌ಗಳನ್ನು ಅರಿಸಿ."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "ಈ ಡೊಮೈನ್‌ಗೆ ಪರಿವರ್ತಿತಗೊಳ್ಳುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳನ್ನು ಆರಿಸಿ"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "ಈ ಬಳಕೆದಾರ ವ್ಯವಸ್ಥಾಪಿಸಬಹುದಾದ ಹೆಚ್ಚುವರಿ ಡೊಮೈನ್‌ಗಳನ್ನು ಆರಿಸಿ"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "ಈ ಬಳಕೆದಾರ ವ್ಯವಸ್ಥಾಪಿಸಲು ನೀವು ಬಯಸುವ ಡೊಮೈನ್‌ಗಳನ್ನು ಆರಿಸಿ."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "ಈ ಬಳಕೆದಾರನಿಗೆ ಹೆಚ್ಚುವರಿ ಪಾತ್ರಗಳನ್ನು ಆರಿಸು"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "ಈ ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಆಲಿಸುವ ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ನಮೂದಿಸಿ"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP ಸಂಪರ್ಕ ಸ್ಥಾನಗಳು</b>"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "ಈ ಬಳಕೆದಾರನು ಒಂದು ಟರ್ಮಿನಲ್ ಅಥವ ದೂರಸ್ಥ ಪ್ರವೇಶದ ಮೂಲಕ ಒಂದು ಗಣಕಕ್ಕೆ ಪ್ರವೇಶಿಸಬಲ್ಲನು.  "
+-#~ "ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಈ ಬಳಕೆದಾರನು setuid, networking, sudo ಹಾಗು su ಗಳಲ್ಲಿ "
+-#~ "ಯಾವುದನ್ನೂ ಹೊಂದಿರುವುದಿಲ್ಲ."
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"ಮಿತಿಗೊಳಪಟ್ಟ ಅನ್ವಯ/ಬಳಕೆದಾರನನ್ನು ಯಾವುದೆ udp ಸಂಪರ್ಕ ಸ್ಥಾನಕ್ಕೆ ಬದ್ಧವಾಗಿರಲು ಅನುಮತಿಸು"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "ಕನಿಷ್ಟ ಟರ್ಮಿನಲ್ ಬಳಕೆದಾರ ಪಾತ್ರ"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "ಎಲ್ಲಾ"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "ಈ ಬಳಕೆದಾರನು X ಅಥವ ಟರ್ಮಿನಲ್ ಮೂಲಕ ಒಂದು ಗಣಕಕ್ಕೆ ಪ್ರವೇಶಿಸಬಲ್ಲನು.  ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ "
+-#~ "ಈ ಬಳಕೆದಾರನು setuid, networking, sudo ಹಾಗು su ಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ ಹೊಂದಿರುವುದಿಲ್ಲ"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"ಅನ್ವಯ/ಬಳಕೆದಾರನು ೦ ಯೊಂದಿಗೆ bindresvport ಅನ್ನು ಕರೆ ಮಾಡಲು ಅನುಮತಿಸು. ೬೦೦-೧೦೨೪ "
++"ಸಂಪರ್ಕಸ್ಥಾನಕ್ಕೆ ಬದ್ಧವಾಗಿರಿಸಲಾಗುತ್ತಿದೆ"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "ಕನಿಷ್ಟ X Windows ಬಳಕೆದಾರ ಪಾತ್ರ"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "೬೦೦-೧೦೨೪"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "ಸಂಪೂರ್ಣ networking ಹೊಂದಿರುವ, ಪರಿವರ್ತನೆ ಹೊಂದದ setuid ಅನ್ವಯಗಳಿಲ್ಲದ, sudo ಇಲ್ಲದ "
+-#~ "ಹಾಗು ಯಾವುದೆ su ಇಲ್ಲದಿರುವ ಬಳಕೆದಾರ."
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಬದ್ಧವಾಗಿರುವ udp ಸಂಪರ್ಕಸ್ಥಾನಗಳು ಅಥವ ಸಂಪರ್ಕಸ್ಥಾನಗಳ ವ್ಯಾಪ್ತಿಗಳ "
++"ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ. ಉದಾಹರಣೆಗೆ: 612, 650-660"
+-#~ msgid "User Role"
+-#~ msgstr "ಬಳಕೆದಾರ ಪಾತ್ರ"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "ಕಾದಿರಿಸದ ಸಂಪರ್ಕಸ್ಥಾನಗಳು (> ೧೦೨೪)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ಆರಿಸು"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "ಅನ್ವಯ/ಬಳಕೆದಾರನನ್ನು ಯಾವುದೆ udp ಸಂಪರ್ಕ ಸ್ಥಾನಗಳಿಗೆ ಬದ್ಧವಾಗಿರಲು ಅನುಮತಿಸು >೧೦೨೪"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP ಸಂಪರ್ಕಸ್ಥಾನಗಳು</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "ಈ ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಸಂಪರ್ಕಿತಗೊಳ್ಳುವ ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ನಮೂದಿಸಿ"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "ಸಂಪೂರ್ಣ networking ಹೊಂದಿರುವ, ಪರಿವರ್ತನೆ ಹೊಂದದ setuid ಅನ್ವಯಗಳಿಲ್ಲದ, ಯಾವುದೆ su "
+-#~ "ಇಲ್ಲದಿರುವ ಆದರೆ ಮೂಲ ವ್ಯವಸ್ಥಾಪಕ ಪಾತ್ರಗಳಿಗೆ sudo ಮಾಡಬಹುದಾದ ಬಳಕೆದಾರ"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಸಂಪರ್ಕಿತವಾಗುವ tcp ಸಂಪರ್ಕಸ್ಥಾನಗಳು ಅಥವ ಸಂಪರ್ಕಸ್ಥಾನಗಳ ವ್ಯಾಪ್ತಿಗಳ "
++"ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ. ಉದಾಹರಣೆಗೆ: 612, 650-660"
+-#~ msgid "Admin User Role"
+-#~ msgstr "ನಿರ್ವಹಣಾ ಬಳಕೆದಾರ ಪಾತ್ರ"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಸಂಪರ್ಕಿತವಾಗುವ udp ಸಂಪರ್ಕಸ್ಥಾನಗಳು ಅಥವ ಸಂಪರ್ಕಸ್ಥಾನಗಳ ವ್ಯಾಪ್ತಿಗಳ "
++"ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ. ಉದಾಹರಣೆಗೆ: 612, 650-660"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>ಮೂಲ ಬಳಕೆದಾರರು</b>"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "ಸಾಮಾನ್ಯ ಅನ್ವಯ ವಿಶೇಷ ಗುಣಗಳನ್ನು(Traits) ಆರಿಸು"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog  ಸಂದೇಶಗಳನ್ನು ಬರೆಯುತ್ತದೆ\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp ತಾತ್ಕಾಲಿಕ ಕಡತಗಳನ್ನು ಸೃಜಿಸು/ಕುಶಲವಾಗಿ ನಿರ್ವಹಿಸು"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "ದೃಢೀಕರಣಕ್ಕಾಗಿ Pam ಅನ್ನು ಬಳಸುತ್ತದೆ"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch ಅಥವ getpw* ಕರೆಗಳನ್ನು ಬಳಸುತ್ತದೆ"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus ಅನ್ನು ಬಳಸುತ್ತದೆ"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ಆಡಿಟ್ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "ಟರ್ಮಿನಲ್‍ನೊಂದಿಗೆ ವ್ಯವಹರಿಸುತ್ತದೆ"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ಇಮೈಲ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "ಅನ್ವಯವು ನಿರ್ವಹಿಸುವ ಕಡತಗಳು/ಕಡತಕೋಶಗಳನ್ನು ಆರಿಸಿ"
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "ಈ ಬಳಕೆದಾರನನ್ನು ಮೂಲವಾಗಿ ಚಲಾಯಿಸುವಾಗ ಗಣಕದ ನಿರ್ವಹಣೆಗೆ ಬಳಸುವಂತಿದ್ದರೆ, ಮೂಲ "
+-#~ "ಬಳಕೆದಾರನನ್ನು ಆರಿಸಿ.  ಈ ಬಳಕೆದಾರನು ಗಣಕಕ್ಕೆ ನೇರವಾಗಿ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿರುವುದಿಲ್ಲ."
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"ಈ ಅನ್ವಯವು \"ಬರೆಯ\"ಬೇಕಿರುವ ಕಡತಗಳನ್ನು/ಕಡತಕೋಶಗಳನ್ನು ಸೇರಿಸು. Pid ಕಡತಗಳು, Log "
++"ಕಡತಗಳು, /var/lib ಕಡತಗಳು ..."
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "ಮೂಲ ನಿರ್ವಾಹಕ ಬಳಕೆದಾರ ಪಾತ್ರ"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "ಅನ್ವಯವು ಬಳಸುವ ಬೂಲಿಯನ್‍ಗಳು ಆರಿಸು"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "ಈ ಮಿತಿಗೊಳಿಸಲಾದ ಅನ್ವಯಕ್ಕಾಗಿ ಬಳಸಲಾದ ಬೂಲಿಯನ್‍ಗಳನ್ನು ಸೇರಿಸು/ತೆಗೆದುಹಾಕು"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "ಪಾಲಿಸಿ ಕಡತಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಕೋಶವನ್ನು ಆರಿಸು"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "ಪಾಲಿಸಿ ಕೋಶ"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "ಪಾಲಿಸಿ ಕಡತಗಳನ್ನು ಉತ್ಪಾದಿಸು"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "ಮಿತಿಗೊಳಿಸಲು ಅನ್ವಯ ಅಥವ ಬಳಕೆದಾರನ ಪಾತ್ರದ ಹೆಸರನ್ನು ನಮೂದಿಸಿ"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ಈ ಉಪಕರಣವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ: ಒತ್ತಾಯಪೂರ್ವಕ ಕಡತದ ಬಗೆ (te)\n"
++"ಸಂಪರ್ಕಸಾಧನ ಕಡತ (if) ಕಡತ ಸನ್ನಿವೇಶ ಕಡತ (fc) ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ (sh).\n"
++"ಸಂಕಲಿಸಲು/ಅನುಸ್ಥಾಪಿಸಲು ಹಾಗು ಕಡತಗಳನ್ನು/ಕಡತಕೋಶಗಳನ್ನು.ಮರುಲೇಬಲ್ ಮಾಡಲು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‍ ಅನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಿ.  \n"
++" Linux ಲಾಗಿನ್ ಬಳಕೆದಾರರನ್ನು ಬಳಕೆದಾರರ ಪಾತ್ರಗಳಿಗೆ ಮ್ಯಾಪ್ ಮಾಡಲು semanage ಅಥವ useradd "
++"ಅನ್ನು ಬಳಸಿ.\n"
++"ಗಣಕವನ್ನು ಅನುಮತಿ ಕ್ರಮದಲ್ಲಿ ಇರಿಸಿ (setenforce 0). \n"
++"ಬಳಕೆದಾರನಾಗಿ ಪ್ರವೇಶಿಸಿ ಹಾಗು ಈ ಬಳಕೆದಾರ ಪಾತ್ರವನ್ನು ಪರೀಕ್ಷಿಸಿ.\n"
++"te ಕಡತಕ್ಕೆ ಹೆಚ್ಚುವರಿ ನಿಯಮಗಳನ್ನು ಉತ್ಪಾದಿಸಲು audit2allow -R ಅನ್ನು ಬಳಸಿ.\n"
+-#~ msgid "Name"
+-#~ msgstr "ಹೆಸರು"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ಈ ಉಪಕರಣವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ: ಒತ್ತಾಯಪೂರ್ವಕ ಕಡತದ ಬಗೆ (te)\n"
++"ಸಂಪರ್ಕಸಾಧನ ಕಡತ (if) ಕಡತ ಸನ್ನಿವೇಶ ಕಡತ (fc) ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ (sh).\n"
++"ಸಂಕಲಿಸಲು/ಅನುಸ್ಥಾಪಿಸಲು ಹಾಗು ಕಡತಗಳನ್ನು/ಕಡತಕೋಶಗಳನ್ನು.ಮರುಲೇಬಲ್ ಮಾಡಲು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‍ ಅನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಿ\n"
++" ಗಣಕವನ್ನು ಅನುಮತಿ ಕ್ರಮದಲ್ಲಿ ಇರಿಸಿ (setenforce 0). \n"
++"avc ಸಂದೇಶಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಅನ್ವಯವನ್ನು ಚಲಾಯಿಸಿ/ಪುನರಾರಂಭಿಸಿ.\n"
++"te ಕಡತಕ್ಕೆ ಹೆಚ್ಚುವರಿ ನಿಯಮಗಳನ್ನು ಉತ್ಪಾದಿಸಲು audit2allow -R ಅನ್ನು ಬಳಸಿ.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "ಬೂಲಿಯನ್ ಸಂವಾದವನ್ನು ಸೇರಿಸು"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "ಬೂಲಿಯನ್ ಹೆಸರು"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "ಪಾತ್ರ"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "ಬಳಕೆದಾರನಿಂದ ನಿರ್ಗಮಿಸುತ್ತಿದೆ(_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "ಅನ್ವಯ"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ವು ಕಡತಕೋಶ ಆಗಿರಬೇಕು"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "ನೀವು ಒಬ್ಬ ಬಳಕೆದಾರನಾಗಿರಬೇಕು"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "ಮಿತಿಗೊಳಪಡಿಸಬೇಕಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ ಕಡತವನ್ನು ಆರಿಸು."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "ಮಿತಿಗೊಳಪಡಿಸಬೇಕಾದ init ಸ್ಕ್ರಿಪ್ಟ್ ಕಡತವನ್ನು ಆರಿಸು."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಅನ್ವಯವು ನಿರ್ಮಿಸುವ ಅಥವ ಬರೆಯುವ ಕಡತವನ್ನು(ಗಳನ್ನು) ಆರಿಸಿ"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲದುದನ್ನು ಪರಿಮಿತಿಗೆ ಒಳಪಡಿಸಲು ಸಂಪೂರ್ಣ ಪಥವನ್ನು ನಮೂದಿಸಿ."
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಅನ್ವಯವು ಅಧಿಕಾರ ಹೊಂದಿರುವ ಅಥವ ಬರೆಯುವ ಕಡತಕೋಶವನ್ನು(ಗಳನ್ನು) ಆರಿಸಿ"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "ಪಾಲಿಸಿ ಕಡತಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಕೋಶವನ್ನು ಆರಿಸು"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "ಮಿತಿಗೊಳಿಸಬೇಕಿರುವ ಬಳಕೆದಾರ ಅಥವ ಅನ್ವಯದ ವಿಶೇಷವಾದ ಪ್ರಕಾರದ ಹೆಸರನ್ನು ನಮೂದಿಸಿ."
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"ಈಗಿರುವ ಪಾಲಿಸಿಯಲ್ಲಿ ಬಗೆ %s_t ವು ಈಗಾಗಲೆ ಲೋಡ್ ಆಗಿದೆ.\n"
++"ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರಾ?"
+-#~ msgid "Executable"
+-#~ msgstr "ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "ಹೆಸರನ್ನು ಪರಿಶೀಲಿಸು"
+-#~ msgid "Init script"
+-#~ msgstr "Init ಸ್ಕ್ರಿಪ್ಟ್"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"ಈಗಿರುವ ಪಾಲಿಸಿಯಲ್ಲಿ ಡೊಮೈನ್‌ %s.pp ವು ಈಗಾಗಲೆ ಲೋಡ್ ಆಗಿದೆ.\n"
++"ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರಾ?"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "ಮಿತಿಗೊಳಿಸಲಾದ ಅನ್ವಯವನ್ನು ಆರಂಭಿಸಲು init ಸ್ಕ್ರಿಪ್ಟಿಗೆ ಸಂಪೂರ್ಣ ಪಥವನ್ನು ನಮೂದಿಸಿ."
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "ನೀವು ಒಂದು ಹೆಸರನ್ನು ನಮೂದಿಸಬೇಕು"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "ನೀವು ಕಸ್ಟಮೈಝ್ ಮಾಡಲು ಬಯಸುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳನ್ನು ಆರಿಸಿ"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "ನೀವು ಒಂದು ಕಾರ್ಯಗೊಳಿಸಬಹುದಾದ್ದನ್ನು ನಮೂದಿಸಬೇಕು"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "ಈ ಅನ್ವಯ ಕ್ಷೇತ್ರಗಳಿಗೆ ಪರಿವರ್ತಿತಗೊಳ್ಳುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳನ್ನು ಆರಿಸಿ."
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux ಅನ್ನು ಸಂರಚಿಸು"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "ಈ ಬಳಕೆದಾರ ಪಾತ್ರವು ಪರಿವರ್ತನೆ ಹೊಂದಬೇಕಿರುವ ಹೆಚ್ಚುವರಿ ಕ್ಷೇತ್ರಗಳನ್ನು ಆರಿಸಿ"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನಗಳು 1 ರಿಂದ %d ರ ನಡುವಿನ ಸಂಖ್ಯೆಗಳು ಅಥವ ಸಂಖ್ಯೆಗಳ ವ್ಯಾಪ್ತಿಯಾಗಿರಬೇಕು"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "ಈ ಬಳಕೆದಾರ ಪಾತ್ರವು ಪರಿವರ್ತನೆ ಹೊಂದಲು ನೀವು ಬಯಸುವ ಅನ್ವಯ ಕ್ಷೇತ್ರಗಳನ್ನು ಅರಿಸಿ."
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "ನಿಮ್ಮ ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಪ್ರಕ್ರಿಯೆ/ಬಳಕೆದಾರರಿಗಾಗಿ ಒಂದು ಹೆಸರನ್ನು ದಾಖಲಿಸಬೇಕು"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "ಈ ಕ್ಷೇತ್ರಕ್ಕೆ ಪರಿವರ್ತಿತಗೊಳ್ಳುವ ಬಳಕೆದಾರ ಪಾತ್ರಗಳನ್ನು ಆರಿಸಿ"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER ಪ್ರಕಾರಗಳು ಅನುಮತಿಸಲಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲವುಗಳಲ್ಲ"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "ಈ ಬಳಕೆದಾರ ವ್ಯವಸ್ಥಾಪಿಸಬಹುದಾದ ಹೆಚ್ಚುವರಿ ಕ್ಷೇತ್ರಗಳನ್ನು ಆರಿಸಿ"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "ಕೇವಲ DAEMON ಅನ್ವಯಗಳು ಮಾತ್ರ ಒಂದು init ಸ್ಕ್ರಿಪ್ಟನ್ನು ಬಳಸಬಲ್ಲದು"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "ಈ ಬಳಕೆದಾರ ವ್ಯವಸ್ಥಾಪಿಸಲು ನೀವು ಬಯಸುವ ಕ್ಷೇತ್ರಗಳನ್ನು ಆರಿಸಿ."
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog ವು ಒಂದು ಬೂಲಿಯನ್ ಮೌಲ್ಯವಾಗಿರಬೇಕು "
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "ಈ ಬಳಕೆದಾರನಿಗೆ ಹೆಚ್ಚುವರಿ ಪಾತ್ರಗಳನ್ನು ಆರಿಸು"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER ಪ್ರಕಾರಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಒಂದು tmp ಬಗೆಯನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತವೆ"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "ಈ ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಆಲಿಸುವ ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ನಮೂದಿಸಿ"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++"ನಿಮ್ಮ ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಪ್ರಕ್ರಿಯೆಗಳಿಗಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ ಪಥವನ್ನು ನೀವು ನಮೂದಿಸಲೇ ಬೇಕು"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP ಸಂಪರ್ಕ ಸ್ಥಾನಗಳು</b>"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "ಒತ್ತಾಯಪೂರ್ವಕ ಪ್ರಕಾರದ ಕಡತ"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "ಮಿತಿಗೊಳಪಟ್ಟ ಅನ್ವಯ/ಬಳಕೆದಾರನನ್ನು ಯಾವುದೆ udp ಸಂಪರ್ಕ ಸ್ಥಾನಕ್ಕೆ ಬದ್ಧವಾಗಿರಲು ಅನುಮತಿಸು"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ಸಂಪರ್ಕ ಸಾಧನ ಕಡತ"
+-#~ msgid "All"
+-#~ msgstr "ಎಲ್ಲಾ"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ಕಡತ ಸನ್ನಿವೇಶಗಳ ಕಡತ"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "ಅನ್ವಯ/ಬಳಕೆದಾರನು ೦ ಯೊಂದಿಗೆ bindresvport ಅನ್ನು ಕರೆ ಮಾಡಲು ಅನುಮತಿಸು. ೬೦೦-೧೦೨೪ "
+-#~ "ಸಂಪರ್ಕಸ್ಥಾನಕ್ಕೆ ಬದ್ಧವಾಗಿರಿಸಲಾಗುತ್ತಿದೆ"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "ಸಿದ್ಧತಾ ಸ್ಕ್ರಿಪ್ಟ್"
+-#~ msgid "600-1024"
+-#~ msgstr "೬೦೦-೧೦೨೪"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನ"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಬದ್ಧವಾಗಿರುವ udp ಸಂಪರ್ಕಸ್ಥಾನಗಳು ಅಥವ ಸಂಪರ್ಕಸ್ಥಾನಗಳ ವ್ಯಾಪ್ತಿಗಳ "
+-#~ "ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ. ಉದಾಹರಣೆಗೆ: 612, 650-660"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux ಸಂಪರ್ಕಸ್ಥಾನದ\n"
++"ಬಗೆ"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "ಕಾದಿರಿಸದ ಸಂಪರ್ಕಸ್ಥಾನಗಳು (> ೧೦೨೪)"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "ಪ್ರೊಟೊಕಾಲ್"
+-#~ msgid "Select Ports"
+-#~ msgstr "ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ಆರಿಸು"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"ಮಟ್ಟ"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "ಅನ್ವಯ/ಬಳಕೆದಾರನನ್ನು ಯಾವುದೆ udp ಸಂಪರ್ಕ ಸ್ಥಾನಗಳಿಗೆ ಬದ್ಧವಾಗಿರಲು ಅನುಮತಿಸು >೧೦೨೪"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ ಸಂಖ್ಯೆ \"%s\" ಯು ಅಮಾನ್ಯವಾಗಿದೆ.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "ಪಟ್ಟಿ ನೋಟ"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "ಸಮೂಹ ನೋಟ"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux ಸೇವಾ ಸಂರಕ್ಷಣೆ"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "ಮುಖ್ಯಕಡತಗಳನ್ನು(corefiles) / ಕ್ಕೆ ಬರೆಯಲು ಡೆಮೋನುಗಳಿಗೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "ಎಲ್ಲಾ ಡೆಮೋನುಗಳು ನಿಯೋಜಿಸಲಾದ tty ಗಳನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "ಬಳಕೆದಾರ Privs"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP ಸಂಪರ್ಕಸ್ಥಾನಗಳು</b>"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux ಬಳಕೆದಾರ ಖಾತೆಯು ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "ಈ ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಸಂಪರ್ಕಿತಗೊಳ್ಳುವ ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ನಮೂದಿಸಿ"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ಅತಿಥಿ SELinux ಬಳಕೆದಾರ ಖಾತೆಯು ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಸಂಪರ್ಕಿತವಾಗುವ tcp ಸಂಪರ್ಕಸ್ಥಾನಗಳು ಅಥವ ಸಂಪರ್ಕಸ್ಥಾನಗಳ "
+-#~ "ವ್ಯಾಪ್ತಿಗಳ ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ. ಉದಾಹರಣೆಗೆ: "
+-#~ "612, 650-660"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "ಮೆಮೊರಿ ಸಂರಕ್ಷಣೆ"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲಂತಹ ಸ್ಟಾಕ್ ಅನ್ನು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "ಆರೋಹಣ"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "ಆರೋಹಣಕ್ಕೆ ಯಾವುದೆ ಕಡತಗಳನ್ನು ಆರೋಹಿಸಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "ಆರೋಹಿಸುದಕ್ಕೆ ಯಾವುದೆ ಕಡತಕೋಶವನ್ನು ಆರೋಹಿಸ ಅನುಮತಿಸುಲು"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲಂತಹ ಸ್ಟಾಕ್ ಅನ್ನು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh ಗೆ ssh-keysign ಅನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಸಂಪರ್ಕಿತವಾಗುವ udp ಸಂಪರ್ಕಸ್ಥಾನಗಳು ಅಥವ ಸಂಪರ್ಕಸ್ಥಾನಗಳ "
+-#~ "ವ್ಯಾಪ್ತಿಗಳ ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ. ಉದಾಹರಣೆಗೆ: "
+-#~ "612, 650-660"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ಸ್ಟಾಫ್ SELinux ಬಳಕೆದಾರ ಖಾತೆಯು ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Select common application traits"
+-#~ msgstr "ಸಾಮಾನ್ಯ ಅನ್ವಯ ವಿಶೇಷ ಗುಣಗಳನ್ನು(Traits) ಆರಿಸು"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux ಬಳಕೆದಾರ ಖಾತೆಯು ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog  ಸಂದೇಶಗಳನ್ನು ಬರೆಯುತ್ತದೆ\t"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"ಮಿತಿಗೊಳಪಡಿಸದ SELinux ಬಳಕೆದಾರ ಖಾತೆಯು ನೆಲೆ ಕಡತಕೋಶ ಅಥವ /tmp ಯಲ್ಲಿ ಕಡತಗಳನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp ತಾತ್ಕಾಲಿಕ ಕಡತಗಳನ್ನು ಸೃಜಿಸು/ಕುಶಲವಾಗಿ ನಿರ್ವಹಿಸು"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "ಜಾಲಬಂಧ ಸಂರಚನೆ"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "ಲೇಬಲ್ ಮಾಡಲಾಗದ ಪ್ಯಾಕೇಟುಗಳು ಜಾಲಬಂಧದಲ್ಲಿ ಹಾಯಲು ಅನುಮತಿಸು"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "ದೃಢೀಕರಣಕ್ಕಾಗಿ Pam ಅನ್ನು ಬಳಸುತ್ತದೆ"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ಬಳಕೆದಾರ SELinux ಬಳಕೆದಾರ ಖಾತೆಗೆ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch ಅಥವ getpw* ಕರೆಗಳನ್ನು ಬಳಸುತ್ತದೆ"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "ಮಿತಿಗೊಳಪಡದವನ್ನು dyntrans ಗೆ unconfined_execmem ಮಾಡಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "ದತ್ತಸಂಚಯಗಳು"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "ಬಳಕೆದಾರನಿಗೆ mysql ಸಾಕೆಟ್ಟಿಗೆ ಸಂಪರ್ಕ ಕಲ್ಪಿಸಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "ಬಳಕೆದಾರನಿಗೆ postgres ಸಾಕೆಟ್ಟಿಗೆ ಸಂಪರ್ಕ ಕಲ್ಪಿಸಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "Xಪರಿಚಾರಕ"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "ಕ್ಲೈಂಟುಗಳಿಗೆ X ಹಂಚಿಕಾ ಮೆಮೊರಿಗೆ ಬರೆಯಲು ಅನುಮತಿಸಲು"
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus ಅನ್ನು ಬಳಸುತ್ತದೆ"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux ಬಳಕೆದಾರ ಖಾತೆಗೆ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
++"ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ಆಡಿಟ್ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "ಡೆಮೊನುಳಿಗೆ NIS ನೊಂದಿಗೆ ಚಲಾಯಿತವಾಗುವಂತೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "ಜಾಲ ಅನ್ವಯಗಳು"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "ಸ್ಟಾಫ್ SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಡೊಮೈನ್‌ಗೆ ಪರಿವರ್ತಿಸು"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಡೊಮೈನ್‌ಗೆ ಪರಿವರ್ತಿಸು"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "ಬಳಕೆದಾರ SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಡೊಮೈನ್‌ಗೆ ಪರಿವರ್ತಿಸು"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಡೊಮೈನ್‌ಗೆ ಪರಿವರ್ತಿಸು"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "ಸ್ಟಾಫ್ ಜಾಲ ವೀಕ್ಷಕರಿಗೆ ನೆಲೆ ಕಡತಕೋಶಗಳಿಗೆ ಬರೆಯಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "audit ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Cluster ಪರಿಚಾರಕಕ್ಕಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "ಟರ್ಮಿನಲ್‍ನೊಂದಿಗೆ ವ್ಯವಹರಿಸುತ್ತದೆ"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord ಗೆ ಹಲವಾರು ವಿಷಯವನ್ನು ಓದಲು ಅನುಮತಿಸು. nfs, samba, ತೆಗೆದುಹಾಕಬಹುದಾದ "
++"ಸಾಧನಗಳು, ಬಳಕೆದಾರ temp ಹಾಗು ನಂಬಲರ್ಹವಲ್ಲದ ವಿಷಯವನ್ನು ಹೊಂದಿರುವ ಕಡತಗಳು"
+-#~ msgid "Sends email"
+-#~ msgstr "ಇಮೈಲ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "ಮುದ್ರಣ"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd back end ಪರಿಚಾರಕಕ್ಕಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cup_Ipd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "bdusd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t ಗೆ ನೇರವಾಗಿ ಡೆಮೋನುಗಳನ್ನು ಆರಂಭಿಸಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "ಇವಲೂಶನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "ಆಟಗಳು"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "ಆಟಗಳಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "ಜಾಲ ವೀಕ್ಷಕಗಳಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "ಥಂಡರ್-ಬರ್ಡಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "ಸಹರ್ತನೀಯತೆ"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "ಅನ್ವಯವು ನಿರ್ವಹಿಸುವ ಕಡತಗಳು/ಕಡತಕೋಶಗಳನ್ನು ಆರಿಸಿ"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "ತುಂಡರಿಸಲ್ಪಟ್ಟ ಆದರೆ ಸುರಕ್ಷತೆಯ ದೃಷ್ಟಿಯಲ್ಲಿ ಅಪಾಯಕಾರಿಯಲ್ಲವುಗಳನ್ನು ಆಡಿಟ್ ಮಾಡಬೇಡ"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD ಸೇವೆ"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd child ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "ಕರ್ಬರೋಸ್"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk ಡೆಮೋನುಗಳಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "ಬಳಕೆದಾರ ಕಡತಗಳನ್ನು ಇವಲೂಶನ್ ಹಾಗು ಥಂಡರ್-ಬರ್ಡ್ ಓದಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "ಬಳಕೆದಾರ ಕಡತಗಳನ್ನು ಓದಲು ಮೊಝಿಲ್ಲಾ ವೀಕ್ಷಕಕ್ಕೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Dmrtg ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "ಹೆಸರು ಸೇವೆ"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "ಸಾಂಬಾ"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Dnsd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "ಒಬ್ಬ ಸಾಮಾನ್ಯ ಬಳಕೆದಾರನಿಗೆ ಚಲಾಯಿತವಾಗುವಂತೆ pppd ಗೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "ಸ್ಟಾಂಡರ್ಡ್‌ ಅಲ್ಲದ ಸ್ಥಳಗಳಿಂದ (default_t) ಕಡತಗಳನ್ನು ಓದಲು ಪ್ರೋಗ್ರಾಂಗೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh ಗೆ ಒಂದು ಡೀಮನ್‌ನ ಬದಲಿಗೆ inetd ಯಿಂದ ಚಲಾಯಿತವಾಗುವಂತೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "ಸಾಂಬಾಗೆ nfs ಕಡತಕೋಶಗಳನ್ನು ಹಂಚಿಕೆ ಮಾಡಿಕೊಳ್ಳುವಂತೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL ದೃಢೀಕರಣ ಪರಿಚಾರಕ"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl ದೃಢೀಕರಣ ಪರಿಚಾರಕಕ್ಕೆ /etc/shadow ಅನ್ನು ಓದಲು ಅನುಮತಿಸು"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "ಈ ಅನ್ವಯವು \"ಬರೆಯ\"ಬೇಕಿರುವ ಕಡತಗಳನ್ನು/ಕಡತಕೋಶಗಳನ್ನು ಸೇರಿಸು. Pid ಕಡತಗಳು, Log "
+-#~ "ಕಡತಗಳು, /var/lib ಕಡತಗಳು ..."
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows ಪರಿಚಾರಕವು ಒಂದು ಮೆಮೊರಿ ಪ್ರದೇಶಕ್ಕೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ ಹಾಗು ಬರೆಯಬಲ್ಲುದಾಗಿ "
++"ಮ್ಯಾಪ್ ಮಾಡಲು ಅನುಮತಿಸು"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "ಅನ್ವಯವು ಬಳಸುವ ಬೂಲಿಯನ್‍ಗಳು ಆರಿಸು"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo ಹಾಗು su ಪ್ರಭಾವಗೊಂಡಿದ್ದಕ್ಕೆ ಪರಿವರ್ತಿತಗೊಳ್ಳುವುದನ್ನು ಅನುಮತಿಸಬೇಡ"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "ಯಾವುದೆ ಪ್ರಕ್ರಿಯೆಗಳು ಕರ್ನಲ್ ಡೊಮೈನ್‌ಗಳಿಗೆ ಲೋಡ್ ಆಗುವುದನ್ನು ಅನುಮತಿಸಬೇಡ"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "ಕರ್ನಲ್ SELinux ಪಾಲಿಸಿಯನ್ನು ಮಾರ್ಪಡಿಸಲು ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಅನುಮತಿಸಬೇಡ"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroublesoot ಡೆಮನ್‍ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Spamನಿಂದ ಸಂರಕ್ಷಣೆ"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd ನೆಲೆ ಕಡತಕೋಶಗಳನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam assasin ಡೆಮನ್‍ಗೆ ಜಾಲಬಂಧವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid ಡೀಮನ್‌ಗೆ ಜಾಲಬಂಧವನ್ನು ಸಂಪರ್ಕಿಸಲು ಅನುಮತಿಸಲು"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "sysadm_r:sysadm_t ಆಗಿ ssh ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸು"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "ಈ ಮಿತಿಗೊಳಿಸಲಾದ ಅನ್ವಯಕ್ಕಾಗಿ ಬಳಸಲಾದ ಬೂಲಿಯನ್‍ಗಳನ್ನು ಸೇರಿಸು/ತೆಗೆದುಹಾಕು"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "ನೀತಿ ಕಡತಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಕೋಶವನ್ನು ಆರಿಸು"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "ನೀತಿ ಕೋಶ"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "ನೀತಿ ಕಡತಗಳನ್ನು ಉತ್ಪಾದಿಸು"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ಈ ಉಪಕರಣವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ: ಒತ್ತಾಯಪೂರ್ವಕ ಕಡತದ ಬಗೆ (te)\n"
+-#~ "ಸಂಪರ್ಕಸಾಧನ ಕಡತ (if) ಕಡತ ಸನ್ನಿವೇಶ ಕಡತ (fc) ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ (sh).\n"
+-#~ "ಸಂಕಲಿಸಲು/ಅನುಸ್ಥಾಪಿಸಲು ಹಾಗು ಕಡತಗಳನ್ನು/ಕಡತಕೋಶಗಳನ್ನು.ಮರುಲೇಬಲ್ ಮಾಡಲು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‍ "
+-#~ "ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ.  \n"
+-#~ " Linux ಲಾಗಿನ್ ಬಳಕೆದಾರರನ್ನು ಬಳಕೆದಾರರ ಪಾತ್ರಗಳಿಗೆ ಮ್ಯಾಪ್ ಮಾಡಲು semanage ಅಥವ "
+-#~ "useradd ಅನ್ನು ಬಳಸಿ.\n"
+-#~ "ಗಣಕವನ್ನು ಅನುಮತಿ ಕ್ರಮದಲ್ಲಿ ಇರಿಸಿ (setenforce 0). \n"
+-#~ "ಬಳಕೆದಾರನಾಗಿ ಪ್ರವೇಶಿಸಿ ಹಾಗು ಈ ಬಳಕೆದಾರ ಪಾತ್ರವನ್ನು ಪರೀಕ್ಷಿಸಿ.\n"
+-#~ "te ಕಡತಕ್ಕೆ ಹೆಚ್ಚುವರಿ ನಿಯಮಗಳನ್ನು ಉತ್ಪಾದಿಸಲು audit2allow -R ಅನ್ನು ಬಳಸಿ.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ಈ ಉಪಕರಣವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ: ಒತ್ತಾಯಪೂರ್ವಕ ಕಡತದ ಬಗೆ (te)\n"
+-#~ "ಸಂಪರ್ಕಸಾಧನ ಕಡತ (if) ಕಡತ ಸನ್ನಿವೇಶ ಕಡತ (fc) ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ (sh).\n"
+-#~ "ಸಂಕಲಿಸಲು/ಅನುಸ್ಥಾಪಿಸಲು ಹಾಗು ಕಡತಗಳನ್ನು/ಕಡತಕೋಶಗಳನ್ನು.ಮರುಲೇಬಲ್ ಮಾಡಲು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‍ "
+-#~ "ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ\n"
+-#~ " ಗಣಕವನ್ನು ಅನುಮತಿ ಕ್ರಮದಲ್ಲಿ ಇರಿಸಿ (setenforce 0). \n"
+-#~ "avc ಸಂದೇಶಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಅನ್ವಯವನ್ನು ಚಲಾಯಿಸಿ/ಪುನರಾರಂಭಿಸಿ.\n"
+-#~ "te ಕಡತಕ್ಕೆ ಹೆಚ್ಚುವರಿ ನಿಯಮಗಳನ್ನು ಉತ್ಪಾದಿಸಲು audit2allow -R ಅನ್ನು ಬಳಸಿ.\n"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "ಬೂಲಿಯನ್ ಸಂವಾದವನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "ಬೂಲಿಯನ್ ಹೆಸರು"
+-
+-#~ msgid "Role"
+-#~ msgstr "ಪಾತ್ರ"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "ಬಳಕೆದಾರನಿಂದ ನಿರ್ಗಮಿಸುತ್ತಿದೆ(_U)"
+-
+-#~ msgid "Application"
+-#~ msgstr "ಅನ್ವಯ"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s ವು ಕಡತಕೋಶ ಆಗಿರಬೇಕು"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "ನೀವು ಒಬ್ಬ ಬಳಕೆದಾರನಾಗಿರಬೇಕು"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "ಮಿತಿಗೊಳಪಡಿಸಬೇಕಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ ಕಡತವನ್ನು ಆರಿಸು."
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "ಮಿತಿಗೊಳಪಡಿಸಬೇಕಾದ init ಸ್ಕ್ರಿಪ್ಟ್ ಕಡತವನ್ನು ಆರಿಸು."
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಅನ್ವಯವು ನಿರ್ಮಿಸುವ ಅಥವ ಬರೆಯುವ ಕಡತವನ್ನು(ಗಳನ್ನು) ಆರಿಸಿ"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಅನ್ವಯವು ಅಧಿಕಾರ ಹೊಂದಿರುವ ಅಥವ ಬರೆಯುವ ಕಡತಕೋಶವನ್ನು(ಗಳನ್ನು) ಆರಿಸಿ"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "ನೀತಿ ಕಡತಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಕೋಶವನ್ನು ಆರಿಸು"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "ಈಗಿರುವ ಪಾಲಿಸಿಯಲ್ಲಿ ಬಗೆ %s_t ವು ಈಗಾಗಲೆ ಲೋಡ್ ಆಗಿದೆ.\n"
+-#~ "ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರಾ?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "ಹೆಸರನ್ನು ಪರಿಶೀಲಿಸು"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "ಈಗಿರುವ ಪಾಲಿಸಿಯಲ್ಲಿ ಘಟಕ %s.pp ವು ಈಗಾಗಲೆ ಲೋಡ್ ಆಗಿದೆ.\n"
+-#~ "ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರಾ?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "ನೀವು ಒಂದು ಹೆಸರನ್ನು ನಮೂದಿಸಬೇಕು"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "ನೀವು ಒಂದು ಕಾರ್ಯಗೊಳಿಸಬಹುದಾದ್ದನ್ನು ನಮೂದಿಸಬೇಕು"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux ಅನ್ನು ಸಂರಚಿಸು"
+-
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನಗಳು 1 ರಿಂದ %d ರ ನಡುವಿನ ಸಂಖ್ಯೆ ಅಥವ ವ್ಯಾಪ್ತಿಯಾಗಿರಬೇಕು"
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "ನಿಮ್ಮ ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಪ್ರಕ್ರಿಯೆ/ಬಳಕೆದಾರರಿಗಾಗಿ ಒಂದು ಹೆಸರನ್ನು ದಾಖಲಿಸಬೇಕು"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER ಪ್ರಕಾರಗಳು ಅನುಮತಿಸಲಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲವುಗಳಲ್ಲ"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "ಕೇವಲ DAEMON ಅನ್ವಯಗಳು ಮಾತ್ರ ಒಂದು init ಸ್ಕ್ರಿಪ್ಟನ್ನು ಬಳಸಬಲ್ಲದು"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog ವು ಒಂದು ಬೂಲಿಯನ್ ಮೌಲ್ಯವಾಗಿರಬೇಕು "
+-
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER ಪ್ರಕಾರಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಒಂದು tmp ಬಗೆಯನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r ಬಳಕೆದಾರರಿಗೆ sysadm ನ ನೆಲೆ dir ಹಾಗು ಕಡತಗಳನ್ನು ಓದಲು ಅನುಮತಿಸು (~/.bashrc "
++"ನಂತಹ)"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "ನಿಮ್ಮ ಮಿತಿಗೊಳಿಸಲ್ಪಟ್ಟ ಪ್ರಕ್ರಿಯೆಗಳಿಗಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ ಪಥವನ್ನು ನೀವು ನಮೂದಿಸಲೇ ಬೇಕು"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "ವಿಶ್ವವ್ಯಾಪಿ SSL ಟನ್ನಲ್"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel ಡೆಮನ್ ಅನ್ನು xinetd ದ ಹೊರಗೆ ಏಕಮೇವವಾಗಿ ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸು "
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "ಗಣಕ cron ಕಾರ್ಯಗಳಿಗಾಗಿ(jobs) SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "ಪ್ರಕಾರ ಜಾರಿ ಕಡತ"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "ಸಂಪರ್ಕ ಸಾಧನ ಕಡತ"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"ಒಂದು ಡೊಮೈನ್‌ ಪರಿವರ್ತನೆಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸದ ಯಾವುದೆ ಸೇವೆಗಳನ್ನು ಒಳಗೊಂಡಂತಹ xinetd "
++"ಯನ್ನು ಮಿತಿಗೊಳಪಡದೆ ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸಿ"
+-#~ msgid "File Contexts file"
+-#~ msgstr "ಕಡತ ಸನ್ನಿವೇಶಗಳ ಕಡತ"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"ಒಂದು ಡೊಮೈನ್‌ ಪರಿವರ್ತನೆಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸದ ಒಂದು rc ಸ್ಕ್ರಿಪ್ಟ್‍ನಿಂದ ಆರಂಭಗೊಂಡ ಯಾವುದೆ "
++"ಡೆಮನ್ ಅನ್ನು ಒಳಗೊಂಡಂತಹ rc ಸ್ಕ್ರಿಪ್ಟ್‍ ಅನ್ನು ಮಿತಿಗೊಳಪಡದೆ ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸಿ"
+-#~ msgid "Setup Script"
+-#~ msgstr "ಸಿದ್ಧತಾ ಸ್ಕ್ರಿಪ್ಟ್"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm ಅನ್ನು ಮಿತಿಗೊಳಪಡದೆ ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸು"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux ಸಂಪರ್ಕಸ್ಥಾನದ\n"
+-#~ "ಬಗೆ"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"ಸವಲತ್ತು ಉಪಯುಕ್ತತೆಗಳಾದ hotplug ಹಾಗು insmod ನಂತಹುಗಳನ್ನು ಮಿತಿಗೊಳಪಡದೆ ಚಲಾಯಿತಗೊಳ್ಳಲು "
++"ಅನುಮತಿಸು"
+-#~ msgid "Protocol"
+-#~ msgstr "ಪ್ರೊಟೊಕಾಲ್"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "ಮಟ್ಟ"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r ಗೆ su ನ ಮೂಲಕ sysadm_r, sudo, ಅಥವ userhelper ಅನ್ನು ತಲುಪಲು ಅನುಮತಿಸಿ. "
++"ಇಲ್ಲದೆ ಹೋದಲ್ಲಿ, ಕೇವಲ staff_r ಹಾಗೆ ಮಾಡುತ್ತದೆ"
+-#~ msgid "Port"
+-#~ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "ಬಳಕೆದಾರರಿಗೆ ಆರೋಹಿಸು ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "ಸಂಪರ್ಕ ಸ್ಥಾನ ಸಂಖ್ಯೆ \"%s\" ಯು ಅಮಾನ್ಯವಾಗಿದೆ.  0 < PORT_NUMBER < 65536 "
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"ಸಾಮಾನ್ಯ ಬಳಕೆದಾರರಿಗೆ ನೇರ ಮೌಸಿನ ನಿಲುಕಣೆಯನ್ನು ಅನುಮತಿಸು(ಕೇವಲ X ಪರಿಚಾರಕವನ್ನು ಮಾತ್ರ "
++"ಅನುಮತಿಸು)"
+-#~ msgid "List View"
+-#~ msgstr "ಪಟ್ಟಿ ನೋಟ"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "dmesg ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿಸು"
+-#~ msgid "Group View"
+-#~ msgstr "ಸಮೂಹ ನೋಟ"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"ಬಳಕೆದಾರರಿಗೆ ಜಾಲಬಂಧ ಸಂಪರ್ಕಸಾಧನಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಅನುಮತಿಸು(USERCTL=true ನ ಅಗತ್ಯವು "
++"ಸಹ ಇರುತ್ತದೆ)"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux ಸೇವಾ ಸಂರಕ್ಷಣೆ"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "ಸಾಮಾನ್ಯ ಬಳಕೆದಾರರಿಗೆ ಪಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "ಬಳಕೆದಾರನನ್ನು r/w noextattrfile (FAT, CDROM, FLOPPY) ಗೆ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "rw usb ಸಾಧನಗಳಿಗೆ ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸು"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++#: ../gui/selinux.tbl:216
++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 ""
++"ಬಳಕೆದಾರರಿಗೆ TCP ಪರಿಚಾರಕಗಳನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿಸು (ಸಂಪರ್ಕಸ್ಥಾನಗಳಿಗೆ ಬೈಂಡ್ ಮಾಡಿ "
++"ಹಾಗು ಅದೆ ಡೊಮೈನ್‌ನಿಂದ ಹಾಗು ಬಳಕೆದಾರರ ಹೊರಗಿನ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸು).  ಇದನ್ನು "
++"ಅಶಕ್ತಗೊಳಿಸುವುದರಿಂದ ಅದುFTP ಜಡ ಕ್ರಮಕ್ಕೆ ಒತ್ತಾಯಿಸುತ್ತದೆ ಹಾಗು ಇತರೆ ಪ್ರೊಟೋಕಾಲ್‍ಗಳನ್ನು ಸಹ "
++"ಬದಲಾಯಿಸಬಹುದು"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ಬಳಕೆದಾರರಿಗೆ ttyfiles ಅನ್ನು stat ಮಾಡಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm ಪ್ರವೇಶಗಳನ್ನು sysadm_r:sysadm_t ಆಗಿ ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen ಗೆ ಭೌತಿಕ ಡಿಸ್ಕ್ ಸಾಧನಗಳನ್ನು ಓದಲು/ಬರೆಯಲು ಅನುಮತಿಸು"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen constrol ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS ಗುಪ್ತಪದ ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS ವರ್ಗಾವಣಾ ಡೀಮನ್‌ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-#~ msgid "Admin"
+-#~ msgstr "Admin"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"ಸವಲತ್ತುಗಳಿಲ್ಲದ ಬಳಕೆದಾರರ ನೆಲೆ ಕಡತಕೋಶಗಳನ್ನು ನಿರ್ವಹಿಸಲು SELinux webadm ಬಳಕೆದಾರನಿಗೆ "
++"ಅನುಮತಿಸು"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "ಮುಖ್ಯಕಡತಗಳನ್ನು(corefiles) / ಕ್ಕೆ ಬರೆಯಲು ಡೆಮೋನುಗಳಿಗೆ ಅನುಮತಿಸು"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"ಸವಲತ್ತುಗಳಿಲ್ಲದ ಬಳಕೆದಾರರ ನೆಲೆ ಕಡತಕೋಶಗಳನ್ನು ಓದಲು SELinux webadm ಬಳಕೆದಾರನಿಗೆ "
++"ಅನುಮತಿಸು"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "ಎಲ್ಲಾ ಡೆಮೋನುಗಳು ನಿಯೋಜಿಸಲಾದ tty ಗಳನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಅನುಮತಿಸು"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "%s '%s' ಅನ್ನು ಅಳಿಸಿಹಾಕಬೇಕೆಂದು ನೀವು ಖಚಿತವೆ?"
+-#~ msgid "User Privs"
+-#~ msgstr "ಬಳಕೆದಾರ Privs"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s ಅನ್ನು ಅಳಿಸಿಹಾಕು"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux ಬಳಕೆದಾರ ಖಾತೆಗಳಿಗೆ ಅವುಗಳ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ "
+-#~ "ಕಡತಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s ಅನ್ನು ಸೇರಿಸು"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ಅತಿಥಿ SELinux ಬಳಕೆದಾರ ಖಾತೆಗಳಿಗೆ ಅವುಗಳ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
+-#~ "ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s ಮಾರ್ಪಡಿಸು"
+-#~ msgid "Memory Protection"
+-#~ msgstr "ಮೆಮೊರಿ ಸಂರಕ್ಷಣೆ"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "ಅನುಮತಿಪೂರ್ವಕವಾಗಿ"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "java ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲಂತಹ ಸ್ಟಾಕ್ ಅನ್ನು ಅನುಮತಿಸು"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "ಒತ್ತಾಯಪೂರ್ವಕ"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "ಅಶಕ್ತಗೊಂಡ"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "ಸ್ಥಿತಿ"
+-#~ msgid "Mount"
+-#~ msgstr "ಆರೋಹಣ"
++#: ../gui/statusPage.py:133
++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 ""
++"ಪಾಲಿಸಿಯ ಪ್ರಕಾರವನ್ನು ಬದಲಾಯಿಸುವುದರಿಂದ ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಇಡಿ ಕಡತವ್ಯವಸ್ಥೆಯನ್ನು ಲೇಬಲ್ "
++"ಮಾಡುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ. ಕಡತ ವ್ಯವಸ್ಥೆಗೆ ಅನುಗುಣವಾಗಿ ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ಬಹಳ ಸಮಯ "
++"ಹಿಡಿಯುತ್ತದೆ.  ನೀವು ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರೆ?"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "ಆರೋಹಣಕ್ಕೆ ಯಾವುದೆ ಕಡತಗಳನ್ನು ಆರೋಹಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux ಅಶಕ್ತಗೊಂಡಿದ್ದಕ್ಕೆ ಬದಲಾಯಿಸಲು ಪುನರ್ ಬೂಟಿಸುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ.  ಹಾಗೆ "
++"ಮಾಡುವುದು ಸೂಕ್ತವಲ್ಲ.   ನೀವು ನಂತರ SELinux ಅನ್ನು ಪುನಃ ಆನ್ ಮಾಡಲು ನಿರ್ಧರಿಸಿದಾಗ, "
++"ಗಣಕವನ್ನು ಪುನಃ ಲೇಬಲ್ ಮಾಡುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ.  ನೀವು ಕೇವಲ SELinux ನಿಮ್ಮ ಗಣಕದಲ್ಲಿನ "
++"ಒಂದು ತೊಂದರೆಗೆ ಕಾರಣವಾಗಿದೆಯೆ ಎಂದು ನೋಡಲು, ಅನುಮತಿಪೂರ್ವಕ ಕ್ರಮಕ್ಕೆ ಹೋಗಿ ಅದು ಕೇವಲ "
++"ದೋಷಗಳನ್ನು ದಾಖಲಿಸುತ್ತದೆಯೆ ಹೊರತು SELinux ಪಾಲಿಸಿಯನ್ನು ಒತ್ತಾಯಿಸುವುದಿಲ್ಲ.  ಅನುಮತಿಪೂರ್ವಕ "
++"ಕ್ರಮಕ್ಕೆ ಒಂದು ಪುನರ್ ಬೂಟಿನ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ    ನೀವು ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರೆ?"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "ಆರೋಹಿಸುದಕ್ಕೆ ಯಾವುದೆ ಕಡತಕೋಶವನ್ನು ಆರೋಹಿಸ ಅನುಮತಿಸುಲು"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux ಶಕ್ತಗೊಂಡ ಸ್ಥಿತಿಗೆ ಬದಲಾಯಿಸುವುದರಿಂದ ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಇಡಿ ಕಡತವ್ಯವಸ್ಥೆಯನ್ನು "
++"ಲೇಬಲ್ ಮಾಡುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ. ಕಡತ ವ್ಯವಸ್ಥೆಗೆ ಅನುಗುಣವಾಗಿ ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ಬಹಳ ಸಮಯ "
++"ಹಿಡಿಯುತ್ತದೆ.  ನೀವು ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರೆ?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲಂತಹ ಸ್ಟಾಕ್ ಅನ್ನು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"ಕೃತಿಸ್ವಾಮ್ಯ (c)2006 Red Hat, Inc.\n"
++"ಕೃತಿಸ್ವಾಮ್ಯ (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ಸೇರಿಸು"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh ಗೆ ssh-keysign ಅನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ಸೇರಿಸು"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux ನ ಬಗೆ"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ಸ್ಟಾಫ್ SELinux ಬಳಕೆದಾರ ಖಾತೆಗಳಿಗೆ ಅವುಗಳ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ ಕಡತಗಳನ್ನು "
+-#~ "ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"ಮಟ್ಟ"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux ಬಳಕೆದಾರ ಖಾತೆಗಳಿಗೆ ಅವುಗಳ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ "
+-#~ "ಕಡತಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "ಕಡತದ ವಿಶಿಷ್ಟ ವಿವರಗಳು"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ಕಡತದ ಬಗೆ"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "ಮಿತಿಗೊಳಪಡಿಸದ SELinux ಬಳಕೆದಾರ ಖಾತೆಗಳು ತಮ್ಮ ನೆಲೆ ಕಡತಕೋಶ ಅಥವ /tmp ಯಲ್ಲಿ "
+-#~ "ಕಡತಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"ಎಲ್ಲಾ ಕಡತಗಳು\n"
++"ಸಾಮಾನ್ಯ ಕಡತ\n"
++"ಕಡತಕೋಶ\n"
++"ವೈಶಿಷ್ಟ್ಯ ಸಾಧನ\n"
++"ಬ್ಲಾಕ್(block) ಸಾಧನ\n"
++"ಸಾಕೆಟ್\n"
++"ಸಾಂಕೇತಿಕ ಕೊಂಡಿ\n"
++"ಹೆಸರಿಸಲಾದ ಪೈಪ್\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux ಬಳಕೆದಾರನನ್ನು ಸೇರಿಸು"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux ನಿರ್ವಹಣೆ"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "ಸೇರಿಸು"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "ಗುಣಲಕ್ಷಣಗಳು(_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "ಅಳಿಸಿಹಾಕು(_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "ನಿರ್ವಹಣಾ ವಸ್ತುವನ್ನು ಆರಿಸು"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>ಆರಿಸು:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "ಗಣಕ ಪೂರ್ವನಿಯೋಜಿತ ಒತ್ತಾಯಪೂರ್ವಕ ಕ್ರಮ"
+-#~ msgid "Network Configuration"
+-#~ msgstr "ಜಾಲಬಂಧ ಸಂರಚನೆ"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"ಅಶಕ್ತ\n"
++"ಅನುಮತಿಪೂರ್ವಕ\n"
++"ಒತ್ತಾಯಪೂರ್ವಕ\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "ಪ್ರಸಕ್ತ ಒತ್ತಾಯಪೂರ್ವಕ ಕ್ರಮ"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "ಗಣಕ ಪೂರ್ವನಿಯೋಜಿತ ಪಾಲಿಸಿಯ ಬಗೆ: "
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "ಲೇಬಲ್ ಮಾಡಲಾಗದ ಪ್ಯಾಕೇಟುಗಳು ಜಾಲಬಂಧದಲ್ಲಿ ಹಾಯಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಇಡಿ ಕಡತವ್ಯವಸ್ಥೆಯನ್ನು ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ನೀವು ಬಯಸಿದರೆ ಇದನ್ನು ಆರಿಸಿ.  "
++"ಗಣಕದ ಗಾತ್ರಕ್ಕೆ ಅನುಗುಣವಾಗಿ, ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ಬಹಳ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು.  ಪಾಲಿಸಿಯ "
++"ಬಗೆಗಳನ್ನು ಬದಲಾಯಿಸುವಂತಿದ್ದರೆ ಅಥವ ಅಶಕ್ತಗೊಂಡ ಸ್ಥಿತಿಯಿಂದ ಒತ್ತಾಯಪೂರ್ವಕಕ್ಕೆ ಹೋಗುವಂತಿದ್ದರೆ, "
++"ಒಂದು ಪುನಃ ಲೇಬಲ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಪುನರ್ ಲೇಬಲ್ ಮಾಡು."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "ಬೂಲಿಯನ್ ಸಿದ್ಧತೆಯನ್ನು ಗಣಕ ಪೂರ್ವನಿಯೋಜಿತಕ್ಕೆ ಮರಳಿಸು"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "ಇಚ್ಛೆಗೆ ತಕ್ಕಂತೆ ಬದಲಾಯಿಸಲಾದ ಹಾಗು ಎಲ್ಲಾ ಬೂಲಿಯನ್‍ಗಳ ನಡುವೆ ಟಾಗಲ್ ಮಾಡು"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "ಬೂಲಿಯನ್ ಲಾಕ್‌ಡೌನ್‌ ಗಾರುಡಿಯನ್ನು ಚಲಾಯಿಸಿ"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "ಲಾಕ್‌ಡೌನ್..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "ಶೋಧಕ(Filter)"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಸೇರಿಸು"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಮಾರ್ಪಡಿಸು"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಅಳಿಸಿಹಾಕು"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "ಎಲ್ಲಾ ಹಾಗು ಇಚ್ಛೆಗೆ ತಕ್ಕಂತೆ ಬದಲಾಯಿಸಲಾದ ಕಡತ ಸನ್ನಿವೇಶಗಳ ನಡುವೆ ಟಾಗಲ್ ಮಾಡು"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗನ್ನು ಸೇರಿಸು"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗನ್ನು ಮಾರ್ಪಡಿಸು"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗನ್ನು ಅಳಿಸು"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "ಬಳಕೆದಾರನನ್ನು ಸೇರಿಸಿ"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "ಬಳಕೆದಾರನನ್ನು ಮಾರ್ಪಡಿಸಿ"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "ಬಳಕೆದಾರನನ್ನು ಅಳಿಸಿಹಾಕಿ"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "ಅನುವಾದವನ್ನು ಸೇರಿಸು"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "ಅನುವಾದವನ್ನು ಮಾರ್ಪಡಿಸು"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "ಅನುವಾದವನ್ನು ಅಳಿಸಿಹಾಕು"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನವನ್ನು ಸೇರಿಸು"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನವನ್ನು ಸಂಪಾದಿಸು"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನವನ್ನು ಅಳಿಸಿಹಾಕು"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "ಇಚ್ಛೆಗೆ ತಕ್ಕಂತೆ ಬದಲಾಯಿಸಲಾದ ಹಾಗು ಎಲ್ಲಾ ಸಂಪರ್ಕಸ್ಥಾನಗಳ ನಡುವೆ ಟಾಗಲ್ ಮಾಡು"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "ಹೊಸ ಪಾಲಿಸಿ ಡೊಮೈನ್‌ ಅನ್ನು ಉತ್ಪಾದಿಸು"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "ಪಾಲಿಸಿ ಡೊಮೈನ್‌ ಅನ್ನು ಲೋಡ್ ಮಾಡು"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "ಲೋಡ್ ಮಾಡಬಹುದಾದ ಪಾಲಿಸಿಯ ಡೊಮೈನ್‌ಅನ್ನು ತೆಗೆದುಹಾಕು"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "ಬಳಕೆದಾರ SELinux ಬಳಕೆದಾರ ಖಾತೆಗಳಿಗೆ ಅವುಗಳ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ "
+-#~ "ಕಡತಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"ದಾಖಲೆ ಕಡತಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ವರದಿ ಮಾಡದೆ ಇರುವ ಹೆಚ್ಚುವರಿ ಆಡಿಟ್ ನಿಯಮಗಳನ್ನು ಶಕ್ತ/"
++"ಅಶಕ್ತಗೊಳಿಸು."
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "ಮಿತಿಗೊಳಪಡದವನ್ನು dyntrans ಗೆ unconfined_execmem ಮಾಡಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Databases"
+-#~ msgstr "ದತ್ತಸಂಚಯಗಳು"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "ಪ್ರಕ್ರಿಯೆಯ ಕ್ರಮವನ್ನು ಅನುಮತಿಪೂರ್ವಕಕ್ಕೆ ಬದಲಾಯಿಸು."
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "ಬಳಕೆದಾರನಿಗೆ mysql ಸಾಕೆಟ್ಟಿಗೆ ಸಂಪರ್ಕ ಕಲ್ಪಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "ಪ್ರಕ್ರಿಯೆಯ ಕ್ರಮವನ್ನು ಒತ್ತಾಯಪೂರ್ವಕಕ್ಕೆ ಬದಲಾಯಿಸು"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "ಬಳಕೆದಾರನಿಗೆ postgres ಸಾಕೆಟ್ಟಿಗೆ ಸಂಪರ್ಕ ಕಲ್ಪಿಸಲು ಅನುಮತಿಸು"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "ಪ್ರಕ್ರಿಯೆಯ ಡೊಮೈನ್"
+-#~ msgid "XServer"
+-#~ msgstr "Xಪರಿಚಾರಕ"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "ಕ್ಲೈಂಟುಗಳಿಗೆ X ಹಂಚಿಕಾ ಮೆಮೊರಿಗೆ ಬರೆಯಲು ಅನುಮತಿಸಲು"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux ಬಳಕೆದಾರ '%s' ನ ಅಗತ್ಯವಿದೆ"
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux ಬಳಕೆದಾರ ಖಾತೆಗಳಿಗೆ ಅವುಗಳ ನೆಲೆ ಕೋಶದಲ್ಲಿ ಅಥವ /tmp ದಲ್ಲಿ "
+-#~ "ಕಡತಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "ಡೆಮೊನುಳಿಗೆ NIS ನೊಂದಿಗೆ ಚಲಾಯಿತವಾಗುವಂತೆ ಅನುಮತಿಸು"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "ಜಾಲ ಅನ್ವಯಗಳು"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "ಸ್ಟಾಫ್ SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಕ್ಷೇತ್ರಕ್ಕೆ ಪರಿವರ್ತಿಸು"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "sysadm SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಕ್ಷೇತ್ರಕ್ಕೆ ಪರಿವರ್ತಿಸು"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "ಬಳಕೆದಾರ SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಕ್ಷೇತ್ರಕ್ಕೆ ಪರಿವರ್ತಿಸು"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "xguest SELinux ಬಳಕೆದಾರನನ್ನು ಜಾಲ ವೀಕ್ಷಕ ಕ್ಷೇತ್ರಕ್ಕೆ ಪರಿವರ್ತಿಸು"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "ಸ್ಟಾಫ್ ಜಾಲ ವೀಕ್ಷಕರಿಗೆ ನೆಲೆ ಕಡತಕೋಶಗಳಿಗೆ ಬರೆಯಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "audit ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Cluster ಪರಿಚಾರಕಕ್ಕಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "cdrecord ಗೆ ಹಲವಾರು ವಿಷಯವನ್ನು ಓದಲು ಅನುಮತಿಸು. nfs, samba, ತೆಗೆದುಹಾಕಬಹುದಾದ "
+-#~ "ಸಾಧನಗಳು, ಬಳಕೆದಾರ temp ಹಾಗು ನಂಬಲರ್ಹವಲ್ಲದ ವಿಷಯವನ್ನು ಹೊಂದಿರುವ ಕಡತಗಳು"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Printing"
+-#~ msgstr "ಮುದ್ರಣ"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd back end ಪರಿಚಾರಕಕ್ಕಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cup_Ipd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "bdusd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "sysadm_t ಗೆ ನೇರವಾಗಿ ಡೆಮೋನುಗಳನ್ನು ಆರಂಭಿಸಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "ಇವಲೂಶನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Games"
+-#~ msgstr "ಆಟಗಳು"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "ಆಟಗಳಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "ಜಾಲ ವೀಕ್ಷಕಗಳಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "ಥಂಡರ್-ಬರ್ಡಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "ಸಹರ್ತನೀಯತೆ"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr "ತುಂಡರಿಸಲ್ಪಟ್ಟ ಆದರೆ ಸುರಕ್ಷತೆಯ ದೃಷ್ಟಿಯಲ್ಲಿ ಅಪಾಯಕಾರಿಯಲ್ಲವುಗಳನ್ನು ಆಡಿಟ್ ಮಾಡಬೇಡ"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "cups hplip ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogs ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD ಸೇವೆ"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd child ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "ಕರ್ಬರೋಸ್"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk ಡೆಮೋನುಗಳಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "ಬಳಕೆದಾರ ಕಡತಗಳನ್ನು ಇವಲೂಶನ್ ಹಾಗು ಥಂಡರ್-ಬರ್ಡ್ ಓದಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "ಬಳಕೆದಾರ ಕಡತಗಳನ್ನು ಓದಲು ಮೊಝಿಲ್ಲಾ ವೀಕ್ಷಕಕ್ಕೆ ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Dmrtg ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "ಹೆಸರು ಸೇವೆ"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManager SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Samba"
+-#~ msgstr "ಸಾಂಬಾ"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Dnsd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "ಒಬ್ಬ ಸಾಮಾನ್ಯ ಬಳಕೆದಾರನಿಗೆ ಚಲಾಯಿತವಾಗುವಂತೆ pppd ಗೆ ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readahead ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr "ಸ್ಟಾಂಡರ್ಡ್‌ ಅಲ್ಲದ ಸ್ಥಳಗಳಿಂದ (default_t) ಕಡತಗಳನ್ನು ಓದಲು ಪ್ರೋಗ್ರಾಂಗೆ ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ssh ಗೆ ಒಂದು ಡೆಮೋನಿನ ಬದಲಿಗೆ inetd ಯಿಂದ ಚಲಾಯಿತವಾಗುವಂತೆ ಅನುಮತಿಸು"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "ಸಾಂಬಾಗೆ nfs ಕಡತಕೋಶಗಳನ್ನು ಹಂಚಿಕೆ ಮಾಡಿಕೊಳ್ಳುವಂತೆ ಅನುಮತಿಸು"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL ದೃಢೀಕರಣ ಪರಿಚಾರಕ"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "sasl ದೃಢೀಕರಣ ಪರಿಚಾರಕಕ್ಕೆ /etc/shadow ಅನ್ನು ಓದಲು ಅನುಮತಿಸು"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "X-Windows ಪರಿಚಾರಕವು ಒಂದು ಮೆಮೊರಿ ಪ್ರದೇಶಕ್ಕೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ ಹಾಗು ಬರೆಯಬಲ್ಲುದಾಗಿ "
+-#~ "ಮ್ಯಾಪ್ ಮಾಡಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr ""
+-#~ "sysadm_t, sudo ಹಾಗು su ಪ್ರಭಾವಗೊಂಡಿದ್ದಕ್ಕೆ ಪರಿವರ್ತಿತಗೊಳ್ಳುವುದನ್ನು ಅನುಮತಿಸಬೇಡ"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "ಯಾವುದೆ ಪ್ರಕ್ರಿಯೆಗಳು ಕರ್ನಲ್ ಘಟಕಗಳಿಗೆ ಲೋಡ್ ಆಗುವುದನ್ನು ಅನುಮತಿಸಬೇಡ"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "ಕರ್ನಲ್ SELinux ನೀತಿಯನ್ನು ಮಾರ್ಪಡಿಸಲು ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಅನುಮತಿಸಬೇಡ"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroublesoot ಡೆಮನ್‍ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "Spamನಿಂದ ಸಂರಕ್ಷಣೆ"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd ನೆಲೆ ಕಡತಕೋಶಗಳನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Spam assasin ಡೆಮನ್‍ಗೆ ಜಾಲಬಂಧವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid ಡೆಮೋನಿಗೆ ಜಾಲಬಂಧವನ್ನು ಸಂಪರ್ಕಿಸಲು ಅನುಮತಿಸಲು"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "sysadm_r:sysadm_t ಆಗಿ ssh ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸು"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r ಬಳಕೆದಾರರಿಗೆ sysadm ನ ನೆಲೆ dir ಹಾಗು ಕಡತಗಳನ್ನು ಓದಲು ಅನುಮತಿಸು (~/."
+-#~ "bashrc ನಂತಹ)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "ವಿಶ್ವವ್ಯಾಪಿ SSL ಟನ್ನಲ್"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "stunnel ಡೆಮನ್ ಅನ್ನು xinetd ದ ಹೊರಗೆ ಏಕಮೇವವಾಗಿ ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸು "
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "ಗಣಕ cron ಕಾರ್ಯಗಳಿಗಾಗಿ(jobs) SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "ಒಂದು ಕ್ಷೇತ್ರ ಪರಿವರ್ತನೆಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸದ ಯಾವುದೆ ಸೇವೆಗಳನ್ನು ಒಳಗೊಂಡಂತಹ xinetd "
+-#~ "ಯನ್ನು ಮಿತಿಗೊಳಪಡದೆ ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸಿ"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "ಒಂದು ಕ್ಷೇತ್ರ ಪರಿವರ್ತನೆಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸದ ಒಂದು rc ಸ್ಕ್ರಿಪ್ಟ್‍ನಿಂದ ಆರಂಭಗೊಂಡ "
+-#~ "ಯಾವುದೆ ಡೆಮನ್ ಅನ್ನು ಒಳಗೊಂಡಂತಹ rc ಸ್ಕ್ರಿಪ್ಟ್‍ ಅನ್ನು ಮಿತಿಗೊಳಪಡದೆ ಚಲಾಯಿತಗೊಳ್ಳಲು "
+-#~ "ಅನುಮತಿಸಿ"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm ಅನ್ನು ಮಿತಿಗೊಳಪಡದೆ ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "ಸವಲತ್ತು ಉಪಯುಕ್ತತೆಗಳಾದ hotplug ಹಾಗು insmod ನಂತಹುಗಳನ್ನು ಮಿತಿಗೊಳಪಡದೆ "
+-#~ "ಚಲಾಯಿತಗೊಳ್ಳಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "user_r ಗೆ su ನ ಮೂಲಕ sysadm_r, sudo, ಅಥವ userhelper ಅನ್ನು ತಲುಪಲು ಅನುಮತಿಸಿ. "
+-#~ "ಇಲ್ಲದೆ ಹೋದಲ್ಲಿ, ಕೇವಲ staff_r ಹಾಗೆ ಮಾಡುತ್ತದೆ"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "ಬಳಕೆದಾರರಿಗೆ ಆರೋಹಿಸು ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "ಸಾಮಾನ್ಯ ಬಳಕೆದಾರರಿಗೆ ನೇರ ಮೌಸಿನ ನಿಲುಕಣೆಯನ್ನು ಅನುಮತಿಸು(ಕೇವಲ X ಪರಿಚಾರಕವನ್ನು ಮಾತ್ರ "
+-#~ "ಅನುಮತಿಸು)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "dmesg ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "ಬಳಕೆದಾರರಿಗೆ ಜಾಲಬಂಧ ಸಂಪರ್ಕಸಾಧನಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಅನುಮತಿಸು(USERCTL=true ನ "
+-#~ "ಅಗತ್ಯವು ಸಹ ಇರುತ್ತದೆ)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "ಸಾಮಾನ್ಯ ಬಳಕೆದಾರರಿಗೆ ಪಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "ಬಳಕೆದಾರನನ್ನು r/w noextattrfile (FAT, CDROM, FLOPPY) ಗೆ ಅನುಮತಿಸು"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "rw usb ಸಾಧನಗಳಿಗೆ ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸು"
+-
+-#~ 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 ""
+-#~ "ಬಳಕೆದಾರರಿಗೆ TCP ಪರಿಚಾರಕಗಳನ್ನು ಚಲಾಯಿಸಲು ಅನುಮತಿಸು (ಸಂಪರ್ಕಸ್ಥಾನಗಳಿಗೆ ಬೈಂಡ್ ಮಾಡಿ "
+-#~ "ಹಾಗು ಅದೆ ಕ್ಷೇತ್ರದಿಂದ ಹಾಗು ಬಳಕೆದಾರರ ಹೊರಗಿನ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸು).  ಇದನ್ನು "
+-#~ "ಅಶಕ್ತಗೊಳಿಸುವುದರಿಂದ ಅದುFTP ಜಡ ಕ್ರಮಕ್ಕೆ ಒತ್ತಾಯಿಸುತ್ತದೆ ಹಾಗು ಇತರೆ ಪ್ರೊಟೋಕಾಲ್‍ಗಳನ್ನು "
+-#~ "ಸಹ ಬದಲಾಯಿಸಬಹುದು"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "ಬಳಕೆದಾರರಿಗೆ ttyfiles ಅನ್ನು stat ಮಾಡಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm ಪ್ರವೇಶಗಳನ್ನು sysadm_r:sysadm_t ಆಗಿ ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "xen ಗೆ ಭೌತಿಕ ಡಿಸ್ಕ್ ಸಾಧನಗಳನ್ನು ಓದಲು/ಬರೆಯಲು ಅನುಮತಿಸು"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen constrol ಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS ಗುಪ್ತಪದ ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS ವರ್ಗಾವಣಾ ಡೆಮೋನಿಗಾಗಿ SELinux ಸಂರಕ್ಷಣೆಯನ್ನು ಅಶಕ್ತಗೊಳಿಸು"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "ಸವಲತ್ತುಗಳಿಲ್ಲದ ಬಳಕೆದಾರರ ನೆಲೆ ಕಡತಕೋಶಗಳನ್ನು ನಿರ್ವಹಿಸಲು SELinux webadm "
+-#~ "ಬಳಕೆದಾರನಿಗೆ ಅನುಮತಿಸು"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "ಸವಲತ್ತುಗಳಿಲ್ಲದ ಬಳಕೆದಾರರ ನೆಲೆ ಕಡತಕೋಶಗಳನ್ನು ಓದಲು SELinux webadm ಬಳಕೆದಾರನಿಗೆ "
+-#~ "ಅನುಮತಿಸು"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "%s '%s' ಅನ್ನು ಅಳಿಸಿಹಾಕಬೇಕೆಂದು ನೀವು ಖಚಿತವೆ?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s ಅನ್ನು ಅಳಿಸಿಹಾಕು"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s ಅನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s ಮಾರ್ಪಡಿಸು"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "ಅನುಮತಿಪೂರ್ವಕವಾಗಿ"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "ಒತ್ತಾಯಪೂರ್ವಕ"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "ಅಶಕ್ತಗೊಂಡ"
+-
+-#~ msgid "Status"
+-#~ msgstr "ಸ್ಥಿತಿ"
+-
+-#~ 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 ""
+-#~ "ನೀತಿಯ ಪ್ರಕಾರವನ್ನು ಬದಲಾಯಿಸುವುದರಿಂದ ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಇಡಿ ಕಡತವ್ಯವಸ್ಥೆಯನ್ನು ಲೇಬಲ್ "
+-#~ "ಮಾಡುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ. ಕಡತ ವ್ಯವಸ್ಥೆಗೆ ಅನುಗುಣವಾಗಿ ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ಬಹಳ ಸಮಯ "
+-#~ "ಹಿಡಿಯುತ್ತದೆ.  ನೀವು ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರೆ?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "SELinux ಅಶಕ್ತಗೊಂಡಿದ್ದಕ್ಕೆ ಬದಲಾಯಿಸಲು ಪುನರ್ ಬೂಟಿಸುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ.  ಹಾಗೆ "
+-#~ "ಮಾಡುವುದು ಸೂಕ್ತವಲ್ಲ.   ನೀವು ನಂತರ SELinux ಅನ್ನು ಪುನಃ ಆನ್ ಮಾಡಲು ನಿರ್ಧರಿಸಿದಾಗ, "
+-#~ "ಗಣಕವನ್ನು ಪುನಃ ಲೇಬಲ್ ಮಾಡುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ.  ನೀವು ಕೇವಲ SELinux ನಿಮ್ಮ ಗಣಕದಲ್ಲಿನ "
+-#~ "ಒಂದು ತೊಂದರೆಗೆ ಕಾರಣವಾಗಿದೆಯೆ ಎಂದು ನೋಡಲು, ಅನುಮತಿಪೂರ್ವಕ ಕ್ರಮಕ್ಕೆ ಹೋಗಿ ಅದು ಕೇವಲ "
+-#~ "ದೋಷಗಳನ್ನು ದಾಖಲಿಸುತ್ತದೆಯೆ ಹೊರತು SELinux ನೀತಿಯನ್ನು ಒತ್ತಾಯಿಸುವುದಿಲ್ಲ.  "
+-#~ "ಅನುಮತಿಪೂರ್ವಕ ಕ್ರಮಕ್ಕೆ ಒಂದು ಪುನರ್ ಬೂಟಿನ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ    ನೀವು ಮುಂದುವರೆಯಲು "
+-#~ "ಬಯಸುತ್ತೀರೆ?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "SELinux ಶಕ್ತಗೊಂಡ ಸ್ಥಿತಿಗೆ ಬದಲಾಯಿಸುವುದರಿಂದ ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಇಡಿ ಕಡತವ್ಯವಸ್ಥೆಯನ್ನು "
+-#~ "ಲೇಬಲ್ ಮಾಡುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ. ಕಡತ ವ್ಯವಸ್ಥೆಗೆ ಅನುಗುಣವಾಗಿ ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ಬಹಳ "
+-#~ "ಸಮಯ ಹಿಡಿಯುತ್ತದೆ.  ನೀವು ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರೆ?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "ಕೃತಿಸ್ವಾಮ್ಯ (c)2006 Red Hat, Inc.\n"
+-#~ "ಕೃತಿಸ್ವಾಮ್ಯ (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux ಪ್ರವೇಶ ಮ್ಯಾಪಿಂಗನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನಗಳನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux ನ ಬಗೆ"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "ಮಟ್ಟ"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "ಕಡತದ ವಿಶಿಷ್ಟ ವಿವರಗಳು"
+-
+-#~ msgid "File Type"
+-#~ msgstr "ಕಡತದ ಬಗೆ"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "ಎಲ್ಲಾ ಕಡತಗಳು\n"
+-#~ "ಸಾಮಾನ್ಯ ಕಡತ\n"
+-#~ "ಕಡತಕೋಶ\n"
+-#~ "ವೈಶಿಷ್ಟ್ಯ ಸಾಧನ\n"
+-#~ "ಬ್ಲಾಕ್(block) ಸಾಧನ\n"
+-#~ "ಸಾಕೆಟ್\n"
+-#~ "ಸಾಂಕೇತಿಕ ಕೊಂಡಿ\n"
+-#~ "ಹೆಸರಿಸಲಾದ ಪೈಪ್\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux ಬಳಕೆದಾರನನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux ನಿರ್ವಹಣೆ"
+-
+-#~ msgid "Add"
+-#~ msgstr "ಸೇರಿಸು"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "ಗುಣಲಕ್ಷಣಗಳು(_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "ಅಳಿಸಿಹಾಕು(_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "ನಿರ್ವಹಣಾ ವಸ್ತುವನ್ನು ಆರಿಸು"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>ಆರಿಸು:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "ಗಣಕ ಪೂರ್ವನಿಯೋಜಿತ ಒತ್ತಾಯಪೂರ್ವಕ ಕ್ರಮ"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "ಪ್ರಸಕ್ತ ಒತ್ತಾಯಪೂರ್ವಕ ಕ್ರಮ"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "ಗಣಕ ಪೂರ್ವನಿಯೋಜಿತ ನೀತಿಯ ಬಗೆ: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಇಡಿ ಕಡತವ್ಯವಸ್ಥೆಯನ್ನು ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ನೀವು ಬಯಸಿದರೆ ಇದನ್ನು "
+-#~ "ಆರಿಸಿ.  ಗಣಕದ ಗಾತ್ರಕ್ಕೆ ಅನುಗುಣವಾಗಿ, ಪುನಃ ಲೇಬಲ್ ಮಾಡಲು ಬಹಳ ಸಮಯ "
+-#~ "ತೆಗೆದುಕೊಳ್ಳಬಹುದು.  ನೀತಿಯ ಬಗೆಗಳನ್ನು ಬದಲಾಯಿಸುವಂತಿದ್ದರೆ ಅಥವ ಅಶಕ್ತಗೊಂಡ ಸ್ಥಿತಿಯಿಂದ "
+-#~ "ಒತ್ತಾಯಪೂರ್ವಕಕ್ಕೆ ಹೋಗುವಂತಿದ್ದರೆ, ಒಂದು ಪುನಃ ಲೇಬಲ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "ಮುಂದಿನ ಬೂಟಿನಲ್ಲಿ ಪುನರ್ ಲೇಬಲ್ ಮಾಡು."
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "ಬೂಲಿಯನ್ ಸಂಯೋಜನೆಯನ್ನು ಗಣಕ ಪೂರ್ವನಿಯೋಜಿತಕ್ಕೆ ಮರಳಿಸು"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "ಕಸ್ಟಮೈಝ್ ಮಾಡಲಾದ ಹಾಗು ಎಲ್ಲಾ ಬೂಲಿಯನ್‍ಗಳ ನಡುವೆ ಟಾಗಲ್ ಮಾಡು"
+-
+-#~ msgid "Filter"
+-#~ msgstr "ಶೋಧಕ(Filter)"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಮಾರ್ಪಡಿಸು"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "ಕಡತ ಸನ್ನಿವೇಶವನ್ನು ಅಳಿಸಿಹಾಕು"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "ಎಲ್ಲಾ ಹಾಗು ಕಸ್ಟಮೈಝ್ ಮಾಡಲಾದ ಕಡತ ಸನ್ನಿವೇಶಗಳ ನಡುವೆ ಟಾಗಲ್ ಮಾಡು"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗನ್ನು ಮಾರ್ಪಡಿಸು"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux ಬಳಕೆದಾರ ಮ್ಯಾಪಿಂಗನ್ನು ಅಳಿಸು"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "ಅನುವಾದವನ್ನು ಸೇರಿಸು"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "ಅನುವಾದವನ್ನು ಮಾರ್ಪಡಿಸು"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "ಅನುವಾದವನ್ನು ಅಳಿಸಿಹಾಕು"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux ಬಳಕೆದಾರನನ್ನು ಸಂಪಾದಿಸು"
++#~ msgid "Sensitivity Level"
++#~ msgstr "ಸಂವೇದನೆಯ ಮಟ್ಟ (Sensitvity Level)"
+-#~ msgid "Add Network Port"
+-#~ msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನವನ್ನು ಸೇರಿಸು"
++#~ msgid "Modules Name"
++#~ msgstr "ಮಾಡ್ಯೂಲಿನ ಹೆಸರು"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನವನ್ನು ಸಂಪಾದಿಸು"
++#~ msgid "Could not disable module %s (remove failed)"
++#~ msgstr "%s ಎಂಬ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಅಶಕ್ತಗೊಳಿಸಲಾಗಲಿಲ್ಲ (ತೆಗೆದು ಹಾಕುವಲ್ಲಿ ವಿಫಲತೆ)"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸ್ಥಾನವನ್ನು ಅಳಿಸಿಹಾಕು"
++#~ msgid "Could not enable module %s (remove failed)"
++#~ msgstr "%s ಎಂಬ ಮಾಡ್ಯೂಲನ್ನು ಶಕ್ತಗೊಳಿಸಲಾಗಲಿಲ್ಲ (ತೆಗೆದು ಹಾಕುವಲ್ಲಿ ವಿಫಲತೆ)"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "ಕಸ್ಟಮೈಝ್ ಮಾಡಲಾದ ಹಾಗು ಎಲ್ಲಾ ಸಂಪರ್ಕಸ್ಥಾನಗಳ ನಡುವೆ ಟಾಗಲ್ ಮಾಡು"
++#~ msgid "Could not remove module %s (remove failed)"
++#~ msgstr "%s ಎಂಬ ಮಾಡ್ಯೂಲನ್ನು ತೆಗೆದುಹಾಕಲಾಗಲಿಲ್ಲ (ತೆಗೆದು ಹಾಕುವಲ್ಲಿ ವಿಫಲತೆ)"
+-#~ msgid "Generate new policy module"
+-#~ msgstr "ಹೊಸ ನೀತಿ ಘಟಕವನ್ನು ಉತ್ಪಾದಿಸು"
++#~ msgid "dontaudit requires either 'on' or 'off'"
++#~ msgstr "dontaudit ಗೆ 'on' ಅಥವ 'off' ಇವೆರಡರಲ್ಲಿ ಯಾವುದಾದರೂ ಒಂದರ ಅಗತ್ಯವಿದೆ"
+-#~ msgid "Load policy module"
+-#~ msgstr "ನೀತಿ ಘಟಕವನ್ನು ಲೋಡ್ ಮಾಡು"
++#~ msgid "Equivalence class for %s already exists"
++#~ msgstr "%s ಕ್ಕೆ ಸಮನಾದ ವರ್ಗವು ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "ಲೋಡ್ ಮಾಡಬಹುದಾದ ನೀತಿಯ ಘಟಕವನ್ನು ತೆಗೆದುಹಾಕು"
++#~ msgid "Equivalence class for %s does not exists"
++#~ msgstr "%s ಕ್ಕೆ ಸಮನಾದ ವರ್ಗವು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"
+ #~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
++#~ "\n"
++#~ "SELinux fcontext Equivalence \n"
+ #~ msgstr ""
+-#~ "ದಾಖಲೆ ಕಡತಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ವರದಿ ಮಾಡದೆ ಇರುವ ಹೆಚ್ಚುವರಿ ಆಡಿಟ್ ನಿಯಮಗಳನ್ನು ಶಕ್ತ/"
+-#~ "ಅಶಕ್ತಗೊಳಿಸು."
++#~ "\n"
++#~ "SELinux fcontext ಗೆ ಸಮನಾದ\n"
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "ಸಂವೇದನೆಯ ಮಟ್ಟ (Sensitvity Level)"
++#~ msgid "Internet Services Daemon"
++#~ msgstr "ಜಾಲಬಂಧ ಸೇವೆಗಳ ಡೀಮನ್"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux ಬಳಕೆದಾರ '%s' ನ ಅಗತ್ಯವಿದೆ"
++#~ msgid "use_kerberos must be a boolean value "
++#~ msgstr "use_kerberos ವು ಒಂದು ಬೂಲಿಯನ್ ಮೌಲ್ಯವಾಗಿರಬೇಕು "
+-#~ msgid "Requires value"
+-#~ msgstr "ಮೌಲ್ಯದ ಅಗತ್ಯವಿದೆ"
++#~ msgid "manage_krb5_rcache must be a boolean value "
++#~ msgstr "manage_krb5_rcache ವು ಒಂದು ಬೂಲಿಯನ್ ಮೌಲ್ಯವಾಗಿರಬೇಕು "
+ #~ msgid ""
+ #~ "\n"
++#~ "%s\n"
+ #~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
++#~ "polgen [ -m ] [ -t type ] executable\n"
++#~ "valid Types:\n"
+ #~ msgstr ""
+ #~ "\n"
++#~ "%s\n"
+ #~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "ಅಮಾನ್ಯ ಪೂರ್ವಪ್ರತ್ಯಯ %s"
++#~ "polgen [ -m ] [ -t type ] ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲ\n"
++#~ "ಮಾನ್ಯವಾದ ಬಗೆಗಳು:\n"
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "ಅನ್ವಯ/ಬಳಕೆದಾರನನ್ನು ಯಾವುದೆ tcp ಸಂಪರ್ಕಸ್ಥಾನಗಳಿಗೆ ಬದ್ಧವಾಗಿರಲು ಅನುಮತಿಸು > ೧೦೨೪"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "ಮಿತಿಗೊಳಪಟ್ಟ ಅನ್ವಯ/ಬಳಕೆದಾರನನ್ನು ಯಾವುದೆ tcp ಸಂಪರ್ಕ ಸ್ಥಾನಕ್ಕೆ ಬದ್ಧವಾಗಿರಲು ಅನುಮತಿಸು"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ಅನ್ವಯ/ಬಳಕೆದಾರ ಪಾತ್ರವು ಬದ್ಧವಾಗಿರುವ tcp ಸಂಪರ್ಕಸ್ಥಾನಗಳು ಅಥವ ಸಂಪರ್ಕಸ್ಥಾನಗಳ ವ್ಯಾಪ್ತಿಗಳ "
+-#~ "ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ. ಉದಾಹರಣೆಗೆ: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux ನೀತಿ ಉತ್ಪಾದನಾ ಮಾಂತ್ರಿಕ(Druid)"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "ಕಾದಿರಿಸದ ಸಂಪರ್ಕಸ್ಥಾನಗಳು  (> ೧೦೨೪)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "ನಿಮ್ಮ ಅನ್ವಯವು ೦ ಯೊಂದಿಗೆ bindresvport ಅನ್ನು ಕರೆಮಾಡಿದರೆ ಈ ಗುಂಡಿಯನ್ನು ಬಳಸಿ."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "ಒತ್ತಾಯಪೂರ್ವಕ\n"
+-#~ "ಅನುಮತಿಪೂರ್ವಕ\n"
+-#~ "ಅಶಕ್ತಗೊಂಡ\n"
++#~ msgid "Executable required"
++#~ msgstr "ಕಾರ್ಯಗತಗೊಳಿಸಬಲ್ಲದರ ಅಗತ್ಯವಿದೆ"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ko.po policycoreutils-2.0.85/po/ko.po
+--- nsapolicycoreutils/po/ko.po        2011-02-17 15:11:25.492728806 -0500
++++ policycoreutils-2.0.85/po/ko.po    2011-02-18 16:03:41.382975840 -0500
+@@ -1,20 +1,42 @@
+-# translation of ko.po to Korean
+-# Eunju Kim <eukim@redhat.com>, 2006, 2007.
++# translation of policycoreutils.ko.ko.ko.po to Korean
++# Eunju Kim <eukim@redhat.com>, 2006, 2007, 2009.
++# Hyunsok Oh <hoh@redhat.com>, 2010.
+ # translation of ko.po to
+ # translation of ko.po to
+ # translation of ko.po to
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: ko\n"
++"Project-Id-Version: policycoreutils.ko.ko.ko\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-09-25 17:04+1000\n"
+-"Last-Translator: Eunju Kim <eukim@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-03 16:41+1000\n"
++"Last-Translator: Hyunsok Oh <hoh@redhat.com>\n"
+ "Language-Team: Korean <ko@li.org>\n"
++"Language: ko\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
++"Plural-Forms:  nplurals=1; plural=0;\n"
++"\n"
++"\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinux를 그래픽 사용자 인터페이스로 설정"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux 관리"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux 정책 모듈 생성"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux 정책 생성 도구"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -105,815 +127,815 @@
+ msgstr "semanage 연결을 설정할 수 없습니다"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s 에 대한 MLS 범위를 설정할 수 없습니다"
++msgstr "MLS가 활성화된 상태를 테스트할 수 없습니다 "
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "글로벌 "
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "%s를 열 수 없습니다: 번역은 MLS가 아닌 장치에서 지원되지 않습니다"
++msgstr "%s를 열수 없습니다: MLS 기계가 아닌 경우 변환을 지원하지 않습니다: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "레벨"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr "번역"
++msgstr "변환"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "번역에는 공백 '%s'이(가) 포함될 수 없습니다 "
++msgstr "변환 내용은 공백을 포함할 수 없습니다 '%s' "
+ #: ../semanage/seobject.py:250
+ #, python-format
+ msgid "Invalid Level '%s' "
+-msgstr "유효하지 않은 레벨 '%s'"
++msgstr "잘못된 레벨 '%s' "
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s은(는) 번역에서 이미 정의되었습니다"
++msgstr "%s가 이미 변환 목록에 있습니다"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s은(는) 번역에서 정의되지 않았습니다"
++msgstr "%s가 변환목록에 없습니다"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "아직 구현되지 않았습니다 "
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage 트랜잭션이 이미 진행중입니다"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage 트랜잭션을 시작할 수 없습니다"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage 트랜잭션을 시작할 수 없습니다"
++msgstr "semanage 트랜잭션을 커밋할 수 없습니다 "
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage 트랜잭션이 진행중이 아닙니다"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux 사용자 목록을 만들수 없습니다"
++msgstr "SELinux 모듈 목록을 만들수 없습니다 "
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "허용 유형 "
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "%s 허용 도메인을 설정할 수없습니다 (모듈 설치 실패) "
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "%s 허용 도메인을 제거하지 못했습니다 (제거 실패) "
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s에 사용되는 키를 생성할 수 없습니다"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s에 대한 로그인 맵핑이 지정되었는지를 확인할 수 없습니다."
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s에 대한 로그인 맵핑이 이미 지정되었습니다"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux 사용자 %s 가 존재하지 않습니다"
++msgstr "%s Linux 그룹이 존재하지 않습니다 "
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux 사용자 %s 가 존재하지 않습니다"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s에 대한 로그인 맵핑을 생성할 수 없습니다"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s에 대한 이름을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s 에 대한 MLS 범위를 설정할 수 없습니다"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s에 대한 SELinu 사용자를 설정할 수 없습니다"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s에 대한 로그인 맵핑을 추가할 수 없습니다"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux 사용자 맵핑을 추가합니다"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser 또는 serange 필요"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s에 대한 로그인 맵핑이 지정되지 않았습니다"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "%s에 대한 seuser를 질의할 수 없습니다"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s에 대한 로그인 맵핑을 수정할 수정할 수 없습니다"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s에 대한 로그인 맵핑이 정책에 지정되어 있어 이를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s에 대한 로그인 맵핑을 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "로그인 맵핑 목록을 만들 수 없습니다"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "로그인 이름"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux 사용자"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS 범위"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s에 대한 파일 문맥을 추가할 수 없습니다"
++msgstr "%s에 대해 최소 하나의 역할을 추가해야 합니다 "
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "%s에 대한 SELinux 사용자가 지정되었는지 확인할 수 없습니다"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "%s에 대한 SELinux 사용자가 이미 지정되었습니다"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s에 대한 SELinux 사용자를 생성할 수 없습니다"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "%s에 대한 %s의 역할을 추가할 수 없습니다"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s에 대한 MLS 레벨을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "%s에 대한 %s의 접두어를 추가할 수 없습니다"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s에 대한 키를 추출할 수 없습니다"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "%s에 대한 SELinux 사용자를 추가할 수 없습니다"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "접두어, 기능, 레벨 또는 범위 필요"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "접두어 또는 기능 필요"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "%s에 대한 SELinux 사용자가 지정되지 않았습니다"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s에 대한 사용자를 질의할 수 없습니다"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "%s에 대한 SELinux 사용자를 수정할 수 없습니다"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "%s에 대한 SELinux 사용자가 정책에 지정되어 있어 이를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "%s에 대한 SELinux 사용자를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux 사용자 목록을 만들수 없습니다"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "%s 사용자에 대한 역할 목록을 만들수 없습니다"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "레이블링"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "접두부"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS 레벨"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS 범위"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux 기능"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "프로토콜 udp 또는 tcp 필요 "
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "포트 필요"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s 에 대한 키를 생성할 수 없습니다"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "유형 필요"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "%s/%s에 대한 포트가 지정되었는지 확인할 수 없습니다 "
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "%s/%s에 대한 포트가 이미 지정되었습니다"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s 에 대한 포트를 생성할 수 없습니다"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s 에 대한 문맥을 생성할 수 없습니다"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s 에 대한 포트 문맥의 사용자를 설정할 수 없습니다"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s 에 대한 포트 문맥의 역할을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s 에 대한 포트 문맥의 유형을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s 에 대한 포트 문맥의 mls 항목을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s 에 대한 포트 문맥을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "%s/%s 에 대한 포트를 추가할 수 없습니다"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype 또는 serange 필요"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype 필요"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "%s/%s에 대한 포트가 지정되지 않았습니다"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "%s/%s에 대한 포트를 질의할 수 없습니다"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "%s/%s에 대한 포트를 수정할 수 없습니다"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "포트 목록을 만들수 없습니다"
++msgstr "포트 목록을 만들수 없습니다 "
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "%s/%s에 대한 포트를 삭제할 수 없습니다"
++msgstr "%s 포트를 삭제할 수 없습니다 "
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "%s/%s에 대한 포트가 정책에 지정되어 있어 이를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "%s/%s에 대한 포트를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "포트 목록을 만들수 없습니다"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux 포트 유형"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "포트 번호"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "포트 필요"
++msgstr "노드 주소 필요  "
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "포트 필요"
++msgstr "노드 넷마스크 필요 "
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "알려지지 않거나 또는 생략된 프로토콜 "
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux 유형 필요"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s에 대한 키를 생성할 수 없습니다"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "%s/%s에 대한 포트가 지정되었는지 확인할 수 없습니다 "
++msgstr "%s 주소가 지정되었는지 확인할 수 없습니다   "
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "%s/%s에 대한 포트가 이미 지정되었습니다"
++msgstr "%s 주소가 이미 지정되었습니다 "
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s에 사용되는 키를 생성할 수 없습니다"
++msgstr "%s에 대한 주소를 생성할 수 없습니다  "
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s에 대한 문맥을 생성할 수 없습니다"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s에 대한 이름을 설정할 수 없습니다"
++msgstr "%s에 대한 마스크를 설정할 수 없습니다 "
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s에 대한 파일 문맥의 사용자를 설정할 수 없습니다"
++msgstr "%s에 대한 주소 문맥의 사용자를 설정할 수 없습니다  "
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s에 대한 파일 문맥의 역할을 설정할 수 없습니다"
++msgstr "%s에 대한 주소 문맥의 역할을 설정할 수 없습니다  "
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s에 대한 파일 문맥의 유형을 설정할 수 없습니다"
++msgstr "%s에 대한 주소 문맥의 유형을 설정할 수 없습니다  "
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s에 대한 파일 문맥의 mls 항목을 설정할 수 없습니다"
++msgstr "%s에 대한 주소 문맥의 mls 항목을 설정할 수 없습니다  "
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s에 대한 파일 문맥을 설정할 수 없습니다"
++msgstr "%s에 대한 주소 문맥을 설정할 수 없습니다  "
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s 에 대한 포트를 추가할 수 없습니다"
++msgstr "%s 주소를 추가할 수 없습니다 "
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "%s/%s에 대한 포트가 지정되지 않았습니다"
++msgstr "%s 주소가 지정되지 않았습니다 "
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "%s/%s에 대한 포트를 질의할 수 없습니다"
++msgstr "%s 주소를 질의할 수 없습니다 "
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "%s/%s에 대한 포트를 수정할 수 없습니다"
++msgstr "%s 주소를 수정할 수 없습니다  "
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "%s/%s에 대한 포트가 정책에 지정되어 있어 이를 삭제할 수 없습니다"
++msgstr "%s 주소가 정책에 지정되어 있어 이를 삭제할 수 없습니다 "
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s에 대한 인터페이스를 삭제할 수 없습니다"
++msgstr "%s 주소를 삭제할 수 없습니다 "
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "포트 목록을 만들수 없습니다"
++msgstr "주소 목록을 만들수 없습니다 "
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "%s에 대한 인터페이스가 지정되었는지 확인할 수 없습니다"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "%s에 대한 인터페이스가 이미 지정되었습니다"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s에 대한 인터페이스를 생성할 수 없습니다"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s 에 대한 인터페이스 문맥의 사용자를 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s 에 대한 인터페이스 문맥의 역할을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s 에 대한 인터페이스 문맥의 유형을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s 에 대한 인터페이스 문맥의 mls 문맥을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s 에 대한 인터페이스 문맥을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s에 대한 메세지 문맥을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "%s에 대한 인터페이스를 추가할 수 없습니다"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "%s에 대한 인터페이스가 지정되지 않았습니다"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "%s에 대한 인터페이스를 질의할 수 없습니다"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "%s에 대한 인터페이슬 수정할 수 없습니다"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "%s에 대한 인터페이스가 정책에 지정되어 있어 이를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "%s에 대한 인터페이스를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "인터페이스 목록을 만들수 없습니다"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux 인터페이스"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "문맥"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s에 대한 파일 문맥의 사용자를 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s에 대한 파일 문맥의 역할을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s에 대한 파일 문맥의 mls 항목을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "잘못된 파일 사양 "
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s에 대한 파일 문맥이 지정되었는지 확인할 수 없습니다"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s에 대한 파일 문맥이 이미 지정되었습니다"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s에 대한 파일 문맥을 생성할 수 없습니다"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s에 대한 파일 문맥의 유형을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s에 대한 파일 문맥을 설정할 수 없습니다"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s에 대한 파일 문맥을 추가할 수 없습니다"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange 또는 seuser 필요"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s에 대한 파일 문맥이 저정되지 않았습니다"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s에 대한 파일 문맥을 질의할 수 없습니다"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s에 대한 파일 문맥을 수정할 수 없습니다"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "파일 문맥 목록을 만들수 없습니다"
++msgstr "파일 문맥 목록을 만들수 없습니다 "
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "%s에 대한 파일 문맥을 삭제할 수 없습니다"
++msgstr "%s 파일 문맥을 삭제할 수 없습니다 "
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s에 대한 파일 문맥이 정책에 지정되어 있어 이를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s에 대한 파일 문맥을 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "파일 문맥 목록을 만들수 없습니다"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "로컬 파일 문맥 목록을 만들수 없습니다"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "유형"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "%s에 대한 부울이 지정되었는지 확인할 수 없습니다"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "%s에 대하 부울이 지정되지 않았습니다"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "%s에 대한 파일 문맥을 질의할 수 없습니다"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "반드시 이름을 입력해야 합니다"
++msgstr "다음의 값 중 하나를 반드시 지정해야 합니다: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "%s에 대한 부울을 삭제할 수 없습니다"
++msgstr "%s 부울의 활성화값을 설정할 수 없습니다      "
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "%s에 대한 부을을 수정할 수 없습니다"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "잘못된 형식 %s: 기록 %s "
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "%s에 대한 부울이 정책에 지정되어 있어 이를 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "%s에 대한 부울을 삭제할 수 없습니다"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "부울 목록을 만들수 없습니다"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "알려지지 않음 "
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "비활성 "
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "활성 "
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux 부울"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "설명 "
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -923,12 +945,12 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "새 역할: 서비스 이름 설정 해시 테이블 오버플로우\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "새 역할:  %s:  %lu 행에 오류.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -951,7 +973,7 @@
+ msgstr "환경을 삭제할 수 없습니다\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "기능 초기화 오류, 중지합니다.\n"
+@@ -1067,7 +1089,7 @@
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr ""
++msgstr "오류: 비보안 터미널에서 레벨을 변경하는 것을 허용하지 않습니다 \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1135,9 +1157,9 @@
+ msgstr "오래된 문맥를 갖는데 실패했습니다.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "오류! tty 정보를 검색할 수 없습니다.\n"
++msgstr "경고! tty 정보를 검색할 수 없습니다.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+@@ -1184,19 +1206,19 @@
+ msgstr "쉘을 실행하는데 실패하였습니다\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "사용법:  %s [-q]\n"
++msgstr "사용법:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s:  정책을 이미 읽어왔습니다 초기 설정이 필요합니다\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  정책을 읽어올 수 없습니다:  %s\n"
++msgstr "%s:  정책을 읽어올 수 없습니다 강제 모드가 필요합니다:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1287,287 +1309,2210 @@
+ msgid "Options Error %s "
+ msgstr "옵션 오류 %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "번역은 MLS가 아닌 장치에서 지원되지 않습니다"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "부울"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "전체 "
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "사용자 설정 "
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "파일 레이블링"
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"파일\n"
++"사양 "
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"파일 유형 "
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"파일\n"
++"유형"
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "사용자 맵핑"
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"로그인\n"
++"이름"
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"사용자"
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS 범위"
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "'%s' 로그인해야 합니다"
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "정책 모듈"
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "모듈 이름"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "버전"
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "감사 (Audit) 비활성  "
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "감사 (Audit) 활성 "
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "정책 모듈 읽어오기"
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"김은주 <eukim@redhat.com>, 2006, 2007\n"
++"오현석 <hoh@redhat.com>, 2010"
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"이 도구는 SELinux를 사용하여 애플리케이션이나 사용자를 제한하는 정책 프레임워"
++"크를 생성하는데 사용할 수 있습니다.   \n"
++"\n"
++"두구는 다음을 생성합니다:\n"
++"유형 강제 파일 (te)\n"
++"인터페이스 파일 (if)\n"
++"파일 문맥 파일 (fc)\n"
++"쉘 스크립트 (sh) - 정책을 컴파일하고 설치하는데 사용 "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "제한할 애플리케이션/사용자 역할 유형을 선택합니다 "
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>애플리케이션</b> "
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"표준 Init 데몬은 init 스크립트를 통해 부팅시 시작되는 데몬입니다. 보통 /etc/"
++"rc.d/init.d에 있는 스크립트가 필요합니다 "
+-#~ msgid "Boolean"
+-#~ msgstr "부울"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "표준 Init 데몬 "
+-#~ msgid "File Labeling"
+-#~ msgstr "파일 레이블링"
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS 시스템 데몬 "
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "파일 문맥"
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "인터넷 서비스 데몬은 xinetd에 의해 시작되는 데몬입니다 "
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "파일\n"
+-#~ "유형"
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "인터넷 서비스 데몬 (inetd)"
+-#~ msgid "User Mapping"
+-#~ msgstr "사용자 맵핑"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"웹 애플리케이션/스크립트 (CGI) CGI 스크립트는 웹 서버 (apache)에 의해 시작됩"
++"니다  "
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "로그인\n"
+-#~ "이름"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "웹 애플리케이션/스크립트 (CGI) "
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "사용자"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"사용자 응용 프로그램은 사용자에 의해 시작되는 것을 제한하기 위한 애플리케이션"
++"입니다 "
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS 범위"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "사용자 응용 프로그램 "
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "'%s' 로그인해야 합니다"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>로그인 사용자</b> "
+-#~ msgid "Policy Module"
+-#~ msgstr "정책 모듈"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "기존 로그인 사용자 기록을 수정합니다. "
+-#~ msgid "Module Name"
+-#~ msgstr "모듈 이름"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "기존 사용자 역할 "
+-#~ msgid "Version"
+-#~ msgstr "버전"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"이 사용자는 터미널이나 원격 로그인을 통해 컴퓨터에 로그인하게 됩니다. 기본값"
++"으로 이 사용자는 setuid, networking, su, sudo를 갖지 않게 됩니다. "
+-#~ msgid "Load Policy Module"
+-#~ msgstr "정책 모듈 읽어오기"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "최소한의 터미널 사용자 역할 "
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"이 사용자는 X 또는 터미널을 통해 컴퓨터에 로그인할 수 있습니다. 기본값으로 "
++"이 사용자는 setuid, networking, sudo, su를 갖지 않게 됩니다 "
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "최소한의 X 윈도우 사용자 역할 "
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"트랜젝션 없는 setuid 애플리케이션, sudo, su가 없고 완전한 네트워킹이 있는 사"
++"용자 "
+-#~ msgid "translator-credits"
+-#~ msgstr "김은주 (eukim@redhat.com), 2006, 2007"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "사용자 역할 "
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux 정책 생성 도구"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"트랜젝션 없는 setuid 애플리케이션, su가 없고 완전한 네트워킹이 있는 사용자는 "
++"Root 관리자 역할에서 sudo를 사용할 수 있습니다. "
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "감사(audit) 메세지를 보내는데 오류 발생.\n"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "관리자 역할 "
+-#, fuzzy
+-#~ msgid "Boolean Name"
+-#~ msgstr "부울"
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root 사용자</b>  "
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "반드시 이름을 입력해야 합니다"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"사용자가 root로 실행하고 있는 시스템 관리자로 사용될 경우 Root 관리자 역할을 "
++"선택합니다. 사용자는 시스템으로 직접 로그인할 수 없게 됩니다.   "
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root 관리자 역할 "
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "제한할 애플리케이션 이름이나 사용자 역할을 입력합니다 "
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "이름 "
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "제한할 실행 파일의 전체 경로를 입력합니다.  "
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "제한된 애플리케이션이나 사용자 역할에 대한 고유한 이름을 입력합니다. "
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "실행 가능 "
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init 스크립트 "
+-#~ msgid "You must enter a name"
+-#~ msgstr "반드시 이름을 입력해야 합니다"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"제한된 애플리케이션을 시작하기 위해 사용된 init 스크립트의 전체 경로를 입력합"
++"니다.  "
+-#~ msgid "You must enter a executable"
+-#~ msgstr "실행 가능한 지를 입력해야 합니다"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "사용자 설정하고자 하는 사용자 역할을 선택합니다 "
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux 설정"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "이 애플리케이션 도메인으로 전환하는 사용자 역할을 선택합니다. "
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "1에서 %d까지 포트 번호를 매겨야 합니다"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "사용자 역할이 변환할 추가 도메인을 선택합니다  "
+-#, fuzzy
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "설정 프로세스에 해당하는 이름을 입력해야 합니다"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "사용자 역할이 변환하게 할 애플리케이션 도메인을 선택합니다.   "
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "이 도메인으로 변환할 사용자 역할을 선택합니다  "
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "이 사용자 역할이 관리하게 될 추가 도메인을 선택합니다  "
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "사용자 관리하려는 도메인을 선택합니다. "
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "사용자에 대한 추가 역할을 선택합니다  "
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "애플리케이션/사용자 역할이 청취할 네트워크 포트를 입력합니다  "
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP 포트</b> "
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "udp 포트로 바인드할 제한된 애플리케이션/사용자 역할을 허용 "
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "전체 "
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "유형 강조 파일 "
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"애플리케이션/사용자 역할이 bindresvport을 0으로 호출하게 허용합니다. "
++"600-1024 포트로 바인딩합니다 "
+-#~ msgid "Interface file"
+-#~ msgstr "인터페이스 파일"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "File Contexts file"
+-#~ msgstr "파일 문맥 파일"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"애플리케이션/사용자 역할이 바인드할 포트 범위 또는 udp 포트 목록을 콤마로 구"
++"분하여 입력합니다. 예: 612, 650-660 "
+-#~ msgid "Protocol"
+-#~ msgstr "프로토콜"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "예약되지 않은 포트 (>1024) "
+-#~ msgid "Port"
+-#~ msgstr "포트"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "포트 선택 "
+-#~ msgid "Group View"
+-#~ msgstr "그룹 보기"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"애플리케이션/사용자 역할에 따른 1024 이상의 모든 udp 포트로 바인딩을 허용 "
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux 서비스 보안"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP 포트</b> "
+-#~ msgid "Mount"
+-#~ msgstr "마운트"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "애플리케이션/사용자 역할이 접속할 네트워크 포트를 입력합니다  "
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"애플리케이션/사용자 역할이 접속한 포트 범위 또는 tcp 포트 목록을 콤마로 구분"
++"하여 입력합니다. 예: 612, 650-660 "
+-#~ msgid "Network Configuration"
+-#~ msgstr "네트워크 설정"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"애플리케이션/사용자 역할이 접속한 포트 범위 또는 udp 포트 목록을 콤마로 구분"
++"하여 입력합니다. 예: 612, 650-660  "
+-#~ msgid "Printing"
+-#~ msgstr "인쇄"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "일반적인 애플리케이션 특성 선택 "
+-#~ msgid "Compatibility"
+-#~ msgstr "호환"
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog 메세지 작성\t "
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp에 임시 파일 생성/처리 "
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "인증을 위해 Pam 사용 "
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL 인증 서버"
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch 또는 getpw* 호출 사용 "
+-#~ msgid "Status"
+-#~ msgstr "상태"
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus 사용 "
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux 유형"
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "감사(audit) 메세지 전송 "
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux 사용자 추가"
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "터미널과 상호 작용   "
+-#~ msgid "Add"
+-#~ msgstr "추가"
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "이메일 전송 "
+-#~ msgid "_Delete"
+-#~ msgstr "삭제(_D)"
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "애플리케이션이 관리할 파일/디렉토리 선택 "
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>선택:</b>"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"애플리케이션이 \"작성\"해야 하는 파일/디렉토리를 추가합니다. Pid 파일, 로그 "
++"파일, /var/lib 파일 ...     "
+-#~ msgid "label37"
+-#~ msgstr "label37"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "애플리케이션이 사용할 부울 선택 "
+-#~ msgid "Filter"
+-#~ msgstr "필터"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "제한된 애플리케이션/사용자에 대한 부울 추가/제거 "
+-#~ msgid "label50"
+-#~ msgstr "label50"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "정책을 생성하기 위한 디렉토리 선택 "
+-#~ msgid "Add File Context"
+-#~ msgstr "파일 문맥 추가"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "정책 디렉토리 "
+-#~ msgid "Modify File Context"
+-#~ msgstr "파일 문맥 수정"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "생성된 정책 파일 "
+-#~ msgid "Delete File Context"
+-#~ msgstr "파일 문맥 삭제"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"이 도구는 다음을 생성합니다: \n"
++"유형 강제(te), 파일 문맥(fc), 인터페이스(if), 쉘 스크립트(sh)\n"
++"컴파일/설치하고 파일/디렉토리를 다시 레이블하기 위해 root로 쉘 스크립트를 활"
++"성화합니다.  \n"
++"Linux 로그인 사용자를 사용자 역할에 맵핑하기 위해 semanage 또는 useradd를 사"
++"용합니다.\n"
++"컴퓨터를 허용 모드 (setenforce 0)로 사용합니다. \n"
++"사용자로 로그인하여 사용자 역할을 테스트합니다.\n"
++"audit2allow -R을 사용하여 te 파일에 대한 추가 규칙을 생성합니다.\n"
+-#~ msgid "label38"
+-#~ msgstr "label38"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"이 도구는 다음을 생성합니다: \n"
++"유형 강제(te), 파일 문맥(fc), 인터페이스(if), 쉘 스크립트(sh)\n"
++"\n"
++"컴파일/설치하고 파일/디렉토리를 다시 레이블하기 위해 쉘 스크립트를 활성화합니"
++"다.  \n"
++"컴퓨터를 허용 모드 (setenforce 0)로 사용합니다. \n"
++"avc 메세지를 생성하기 위해 애플리케이션을 실행/재시작합니다.\n"
++"audit2allow -R을 사용하여 te 파일에 대한 추가 규칙을 생성합니다.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "부울 다이얼로그 추가 "
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "부울 이름 "
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "역할 "
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "기존 사용자(_U) "
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "애플리케이션 "
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s 은(는) 반드시 디렉토리이어야 합니다 "
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "반드시 사용자를 선택해야 합니다 "
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "제한할 실행 파일을 선택합니다. "
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "제한할 init 스크립트 파일을 선택합니다. "
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "제한된 애플리케이션을 생성하거나 작성할 파일을 선택합니다 "
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "제한된 애플리케이션을 소유 및 작성할 디렉토리를 선택합니다 "
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "정책 파일을 생성할 디렉토리를 선택합니다 "
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux 사용자 맵핑 추가"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"이미 현재 정책에 정의된 유형 %s_t 입니다.\n"
++"계속 진행하시겠습니까?  "
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux 사용자 맵핑 수정"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "이름 확인 "
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux 사용자 맵핑 삭제"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"이미 현재 정책에 로드된 모듈 %s.pp 입니다.\n"
++"계속 진행하시겠습니까?   "
+-#~ msgid "label39"
+-#~ msgstr "label39"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "반드시 이름을 입력해야 합니다"
+-#~ msgid "Add Translation"
+-#~ msgstr "번역 추가"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "실행 가능한 지를 입력해야 합니다"
+-#~ msgid "Modify Translation"
+-#~ msgstr "번역 수정"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux 설정"
+-#~ msgid "Delete Translation"
+-#~ msgstr "번역 삭제"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "1에서 %d 까지 포트 번호를 매겨야 합니다  "
+-#~ msgid "label41"
+-#~ msgstr "label41"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "설정 프로세스/사용자에 해당하는 이름을 입력해야 합니다 "
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux 사용자 수정"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER 유형은 실행을 허용하지 않습니다 "
+-#~ msgid "label40"
+-#~ msgstr "label40"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "DAEMON 애플리케이션만이 init 스크립트를 사용할 수 있습니다. "
+-#~ msgid "Add Network Port"
+-#~ msgstr "네트워크 포트 추가"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog는 반드시 부울 값이어야 합니다 "
+-#~ msgid "Edit Network Port"
+-#~ msgstr "네트워크 포트 편집"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER 유형은 자동으로 tmp 유형을 갖습니다 "
+-#~ msgid "Delete Network Port"
+-#~ msgstr "네트워크 포트 삭제"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "제한된 프로세스에 대해 실행 가능 경로를 입력하셔야 합니다  "
+-#~ msgid "label42"
+-#~ msgstr "label42"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "유형 강제 파일 "
+-#~ msgid "Generate new policy module"
+-#~ msgstr "새 정책 모듈 생성"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "인터페이스 파일"
+-#~ msgid "Load policy module"
+-#~ msgstr "정책 모듈 읽어오기"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "파일 문맥 파일"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "읽어올 수 있는 정책 모듈 삭제"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "스크립트 설정 "
+-#~ msgid "label44"
+-#~ msgstr "label44"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "네트워크 포트 "
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux 사용자 '%s'이(가) 필요합니다"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux 포트\n"
++"유형 "
+-#~ msgid "Requires value"
+-#~ msgstr "값 필요"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "프로토콜"
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "유효하지 않은 접두어 %s"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"레벨 "
+-#, fuzzy
+-#~ msgid "label51"
+-#~ msgstr "label50"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "포트"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "\"%s\" 포트 번호가 잘못되었습니다. 0 < PORT_NUMBER < 65536  "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "목록 보기 "
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "그룹 보기"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux 서비스 보안"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct 데몬에 대해 SELinux 보안을 비활성화합니다 "
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "관리 "
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "모든 데몬이 코어 파일을 /에 작성하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "모든 데몬이 할당되지 않은 tty를 사용할 수 있는 기능을 허용합니다  "
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "사용자 권한 "
+-#~ msgid "value"
+-#~ msgstr "값"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux 사용자 계정이 홈 디렉토리 또는 /tmp에 있는 파일을 실행하는 것"
++"을 허용합니다.   "
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"게스트 SELinux 사용자 계정이 홈 디렉토리 또는 /tmp에 있는 파일을 실행하는 것"
++"을 허용합니다.      "
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "메모리 보안 "
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java 실행 가능 스택을 허용합니다  "
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "마운트"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "파일을 마운트하기 위해 마운트를 허용합니다 "
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "디렉토리를 마운트하기 위해 마운트를 허용합니다 "
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer 실행 가능 스택을 허용합니다 "
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh-keysign을 실행하기 위해 ssh를 허용합니다 "
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"staff SELinux 사용자 계정이 홈 디렉토리 또는 /tmp에 있는 파일을 실행하는 것"
++"을 허용합니다.       "
+-#~ msgid "You must be root to run %s."
+-#~ msgstr "root로 %s을(를) 실행해야 합니다."
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux 사용자 계정이 홈 디렉토리 또는 /tmp에 있는 파일을 실행하는 것"
++"을 허용합니다.  "
+-#~ msgid "Other"
+-#~ msgstr "기타"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"제한되지않은 SELinux 사용자 계정이 홈 디렉토리 또는 /tmp에 있는 파일을 실행하"
++"는 것을 허용합니다.   "
+-#~ msgid "MLS/MCS Level"
+-#~ msgstr "MLS/MCS 레벨"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "네트워크 설정"
+-#~ msgid ""
+-#~ "Labeling\n"
+-#~ "Prefix"
+-#~ msgstr ""
+-#~ "레이블링\n"
+-#~ "접두부"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "레이블되지 않은 패킷이 네트워크에 전송되는 것을 허용합니다 "
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Level"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS 레벨"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"user SELinux 사용자 계정이 홈 디렉토리 또는 /tmp에 있는 파일을 실행하는 것을 "
++"허용합니다.  "
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"제한되지 않은 것이 unconfined_execmem에 dyntrans하는 것을 허용합니다   "
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "데이터베이스 "
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "사용자가 mysql 소켓에 접속하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "사용자가 postgres 소켓에 접속하는 것을 허용합니다  "
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "X 서버  "
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "클라이언트가 X 공유 메모리에 작성하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux 사용자 계정이 홈 디렉토리 또는 /tmp에 있는 파일을 실행하는 것"
++"을 허용합니다.   "
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "데몬이 NIS와 함께 작동하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "웹 애플리케이션 "
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "staff SELinux 사용자를 웹 브라우저 도메인으로 변환 "
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux 사용자를 웹 브라우저 도메인으로 변환  "
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "user SELinux 사용자를 웹 브라우저 도메인으로 변환   "
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux 사용자를 웹 브라우저 도메인으로 변환   "
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "staff 웹 브라우저가 홈 디렉토리에 작성하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd 데몬에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch 데몬에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd 데몬에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount 데몬에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth 데몬에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna 데몬에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr 데몬에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "클러스터 서버에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord는 다양한 컨텐츠 읽기를 허용합니다. nfs, samba, 이동식 장치, 사용자 "
++"temp, 신뢰할 수 없는 내용의 파일 등 "
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped 데몬에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd 데몬에 대한 SELinux 보안 비활성화  "
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat 데몬에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron "
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "인쇄"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd 백 엔드 서버에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd 데몬에 대한 SELinux 보안 비활성화     "
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t가 직접 데몬을 시작할 수 있게 합니다 "
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Evolution에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "게임 "
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "게임에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "웹 브라우저에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbird에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd 데몬에 대한 SELinux 보안 비활성화     "
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "호환"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"손상될 것을 알고 있지만 보안 위험이 없는 것을 감사 (audit)하지 않습니다   "
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD 서비스 "
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock 데몬에 대한 SELinux 보안 비활성화      "
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd child 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind 데몬에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "evolution 및 thunderbird가 사용자 파일을 읽도록 허용합니다 "
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "mozilla 브라우저가 사용자 파일을 읽도록 허용합니다 "
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "네임 서비스 "
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "pppd가 일반 사용자를 위해 실행되도록 허용합니다 "
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"프로그램이 비표준 위치에 있는 파일을 읽는 것을 허용합니다 (default_t)  "
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh가 데몬으로서가 아닌 inetd에서 실행하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba가 nfs 디렉토리를 공유하는것을 허용합니다  "
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL 인증 서버"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl 인증 서버가 /etc/shadow 읽는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows 서버가 메모리 영역을 실행 가능하고 쓰기 가능하게 맵핑하는 것을 허용"
++"합니다    "
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon 데몬에 대한 SELinux 보안 비활성화     "
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo, su에 영향을 미치는 변환을 허용하지 않습니다 "
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "커널 모듈을 로드하기 위한 프로세스를 허용하지 않습니다 "
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "커널 SELinux 정책을 수정하기 위한 프로세스를 허용하지 않습니다    "
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "ssnort 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "스팸 차단 기능 "
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd가 홈 디렉토리에 액세스하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assassin 데몬 네트워크 액세스를 허용합니다 "
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid 데몬이 네트워크에 접속하는것을 허용합니다 "
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "sysadm_r:sysadm_t로서 ssh 로그인을 허용합니다 "
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r 사용자가 sysadm 홈 디렉토리를 검색하고 파일을 읽는 것을 허용합니다 "
++"(예: ~/.bashrc) "
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "전사적 SSL 터널 "
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel 데몬이 xinetd 외부에서 독립형으로 실행하는 것을 허용합니다  "
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "시스템 cron 작업에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev 데몬에 대한 SELinux 보안 비활성화   "
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd가 도메인 변환이 정의되지 않은 xinetd에 의해 시작되는 서비스를 포함하"
++"여 제한없이 실행하는 것을 허용합니다  "
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc 스크립트가 도메인 변환이 정의되지 않은 rc 스크립트에 의해 시작되는 데몬을 "
++"포함하여 제한없이 실행하는 것을 허용합니다  "
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm이 제한없이 실행하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"hotplug 및 insmod 같은 권한이 있는 유틸리티가 제한없이 실행하는 것을 허용합니"
++"다  "
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r에게 su, sudo, userhelper를 통해 sysadm_r에 도달하는 것을 허용합니다. "
++"그렇지 않을 경우, staff_r만이 이에 도달할 수 있습니다. "
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "사용자가 마운트 명령을 실행하게 합니다 "
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "일반 사용자에게 직접 마우스 액세스를 허용 (X 서버에서만 허용) "
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "사용자가 dmesg 명령을 실행하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"사용자가 네트워크 인터페이스를 제어하는 것을 허용합니다 (USERCTL=true 필요) "
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "일반 사용자가 핑 (ping)하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "사용자에게 noextattrfile을 읽기/쓰기 허용 (FAT, CDROM, FLOPPY) "
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "사용자에게 usb 장치 읽기/쓰기를 허용합니다 "
++
++#: ../gui/selinux.tbl:216
++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 ""
++"사용자가 TCP 서버를 실행하는 것을 허용 (포트로 바인드하고 동일한 도메인 및 외"
++"부 사용자의 연결을 허용) 이를 비활성화하면 FTP를 수동 모드로 강제하고 다른 프"
++"로토콜을 변경시킬 수 있음  "
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "사용자가 ttyfiles에 대한 통계 허용 "
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware 데몬에 대한 SELinux 보안 비활성화     "
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog 데몬에 대한 SELinux 보안 비활성화     "
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm이 sysadm_r:sysadm_t로 로그인하는것을 허용합니다  "
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen이 물리적 디스크 장치를 읽기/쓰기하는 것을 허용합니다 "
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen 제어에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS 암호 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS 전송 데몬에 대한 SELinux 보안 비활성화    "
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm 사용자가 권한이 없는 사용자 홈 디렉토리를 관리하는 것을 허용합"
++"니다 "
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm 사용자가 권한이 없는 사용자 홈 디렉토리를 읽는 것을 허용합니"
++"다 "
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "%s '%s'을(를) 정말로 삭제하시겠습니까?  "
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s 삭제 "
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s 추가 "
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s 수정 "
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "허용 "
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "강제 "
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "비활성화 "
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "상태"
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++"SELinux 비활성으로 변경하려면 재부팅해야 합니다. 이는 권장되는 방법이 아닙니"
++"다. 나중에 SELinux를 다시 활성화하려면 시스템을 다시 레이블해야 합니다. 시스"
++"템에서 SELinux가 문제의 원인이 되는 지를 확인하고자 할 경우, 단지 오류를 기록"
++"하고 SELinux 정책을 강제하지 않는 허용 모드를 사용할 수 있습니다. 허용 모드"
++"는 재부팅할 필요가 없습니다. 계속 진행하시겠습니까?  "
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux 활성으로 변경하면 다음 부팅 시 전체 파일 시스템을 다시 레이블해야 하"
++"는 원인이 될 수 있습니다. 이러한 작업은 파일 시스템 크기에 따라 오랜 시간이 "
++"소요될 수 있습니다. 계속 진행하시겠습니까?        "
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux 로그인 맵핑 추가 "
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux 네트워크 포트 추가 "
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux 유형"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"레벨"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "파일 사양 "
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "파일 유형 "
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"전체 파일\n"
++"일반 파일\n"
++"디렉토리\n"
++"문자 장치\n"
++"블록 장치\n"
++"소켓\n"
++"심볼릭 링크\n"
++"이름이 지정된 파이프\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux 사용자 추가"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux 관리 "
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "추가"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "등록 정보(_P) "
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "삭제(_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "관리 객체 선택  "
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>선택:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "시스템 디폴트 강제 모드 "
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"비활성\n"
++"허용\n"
++"강제\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "현재 강제 모드 "
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "시스템 디폴트 정책 유형: "
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"다음 부팅시 전체 파일 시스템을 다시 레이블할 지를 선택합니다. 다시 레이블하"
++"는 작업은 시스템의 크기에 따라 오랜 시간이 소요될 수 있습니다. 정책 유형을 변"
++"경하거나 비활성화 상태에서 강제 (enforcing) 상태로 변경할 경우, 다시 레이블해"
++"야 합니다.  "
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "다음 부팅시 다시 레이블 "
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "부울 설정을 시스템 디폴트로 전환 "
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "사용자 설정 부울 및 모든 부울 사이에서 전환 "
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "부울 잠금 마법사 실행   "
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "잠금... "
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "필터"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "파일 문맥 추가"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "파일 문맥 수정"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "파일 문맥 삭제"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "모든 파일 문맥과 사용자 설정 파일 문맥 사이에서 전환 "
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux 사용자 맵핑 추가"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux 사용자 맵핑 수정"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux 사용자 맵핑 삭제"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "사용자 추가 "
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "사용자 수정 "
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "사용자 삭제 "
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "변환 추가"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "변환 변경"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "변환 삭제"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "네트워크 포트 추가"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "네트워크 포트 편집"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "네트워크 포트 삭제"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "사용자 설정 포트와 모든 포트 사이에서 전환 "
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "새 정책 모듈 생성"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "정책 모듈 읽어오기"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "읽어올 수 있는 정책 모듈 삭제"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"추가 감사 (audit) 규칙을 활성화/비활성화합니다. 주로 이는 로그 파일에 기록되"
++"지 않습니다.  "
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "프로세스 모드를 허용 (permissive)으로 변경 "
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "프로세스 모드를 강제 (enforcing)로 변경       "
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "프로세스 도메인 "
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux 사용자 '%s'이(가) 필요합니다"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ku.po policycoreutils-2.0.85/po/ku.po
+--- nsapolicycoreutils/po/ku.po        2011-02-17 15:11:25.362730954 -0500
++++ policycoreutils-2.0.85/po/ku.po    2011-02-18 16:03:41.382975840 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/lo.po policycoreutils-2.0.85/po/lo.po
+--- nsapolicycoreutils/po/lo.po        2011-02-17 15:11:25.938721441 -0500
++++ policycoreutils-2.0.85/po/lo.po    2011-02-18 16:03:41.383975847 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/lt.po policycoreutils-2.0.85/po/lt.po
+--- nsapolicycoreutils/po/lt.po        2011-02-17 15:11:25.284732243 -0500
++++ policycoreutils-2.0.85/po/lt.po    2011-02-18 16:03:41.383975847 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/lv.po policycoreutils-2.0.85/po/lv.po
+--- nsapolicycoreutils/po/lv.po        2011-02-17 15:11:24.992737067 -0500
++++ policycoreutils-2.0.85/po/lv.po    2011-02-18 16:03:41.383975847 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/mai.po policycoreutils-2.0.85/po/mai.po
+--- nsapolicycoreutils/po/mai.po       1969-12-31 19:00:00.000000000 -0500
++++ policycoreutils-2.0.85/po/mai.po   2011-02-18 16:03:41.384975854 -0500
+@@ -0,0 +1,3493 @@
++# translation of policycoreutils.HEAD.policycoreutils.po to Maithili
++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
++# This file is distributed under the same license as the PACKAGE package.
++#
++# Sangeeta Kumari <sangeeta09@gmail.com>, 2009.
++msgid ""
++msgstr ""
++"Project-Id-Version: policycoreutils.HEAD.policycoreutils\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2009-04-08 13:28+0530\n"
++"Last-Translator: Sangeeta Kumari <sangeeta09@gmail.com>\n"
++"Language-Team: Maithili <maithili.sf.net>\n"
++"Language: mai\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Generator: KBabel 1.11.4\n"
++"Plural-Forms: nplurals=2; plural=(n!=1);\n"
++"\n"
++"\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "नवीन पॉलिसी माड्यूल उत्पन्न करू"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux पॉलिसी जनन अओजार"
++
++#: ../run_init/run_init.c:67
++msgid ""
++"USAGE: run_init <script> <args ...>\n"
++"  where: <script> is the name of the init script to run,\n"
++"         <args ...> are the arguments to that script."
++msgstr ""
++"प्रयोग: run_init <script> <args ...>\n"
++"  जतए: <script> init स्क्रिप्ट क नाम अछि चलाबै क लेल,\n"
++"         <args ...> ई उस स्क्रिप्ट क तर्क अछि."
++
++#: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
++#, c-format
++msgid "failed to initialize PAM\n"
++msgstr "PAM आरंभीकरणमे विफल\n"
++
++#: ../run_init/run_init.c:139
++#, c-format
++msgid "failed to get account information\n"
++msgstr "खाता सूचना पाबैमे विफल\n"
++
++#: ../run_init/run_init.c:162 ../newrole/newrole.c:338
++msgid "Password:"
++msgstr "शब्दकूट:"
++
++#: ../run_init/run_init.c:197 ../newrole/newrole.c:363
++#, c-format
++msgid "Cannot find your entry in the shadow passwd file.\n"
++msgstr "अहाँक प्रविष्टिकेँ छाया शब्दकूट फाइलमे प्रविष्ट नहि कए सकल.\n"
++
++#: ../run_init/run_init.c:203 ../newrole/newrole.c:370
++#, c-format
++msgid "getpass cannot open /dev/tty\n"
++msgstr "getpass cannot open /dev/tty\n"
++
++#: ../run_init/run_init.c:275
++#, c-format
++msgid "run_init: incorrect password for %s\n"
++msgstr "run_init: %s क' लेल गलत शब्दकूट\n"
++
++#: ../run_init/run_init.c:309
++#, c-format
++msgid "Could not open file %s\n"
++msgstr "%s फाइल खोलि नहि सकल\n"
++
++#: ../run_init/run_init.c:336
++#, c-format
++msgid "No context in file %s\n"
++msgstr "%s फाइलमे कोनो संदर्भ नहि\n"
++
++#: ../run_init/run_init.c:361
++#, c-format
++msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
++msgstr "क्षमा करू, run_init केँ सिर्फ SELinux कर्नेल पर प्रयोग कएल जाए सकैत अछि.\n"
++
++#: ../run_init/run_init.c:380
++#, c-format
++msgid "authentication failed.\n"
++msgstr "सत्यापन विफल.\n"
++
++#: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
++#, c-format
++msgid "Could not set exec context to %s.\n"
++msgstr "exec संदर्भ %s मे सेट नहि कए सकल.\n"
++
++#: ../audit2allow/audit2allow:217
++msgid "******************** IMPORTANT ***********************\n"
++msgstr "******************** महत्वपूर्ण ***********************\n"
++
++#: ../audit2allow/audit2allow:218
++msgid "To make this policy package active, execute:"
++msgstr "एहि नीति केँ सक्रिय बनाबै क' लेल, चलाउ:"
++
++#: ../semanage/seobject.py:48
++msgid "Could not create semanage handle"
++msgstr "semanage नियंत्रण आरंभ नहि कए सकल"
++
++#: ../semanage/seobject.py:55
++msgid "SELinux policy is not managed or store cannot be accessed."
++msgstr "SELinux नीति प्रबंधित नहि अछि या भंडार अभिगम नहि कएल जाए सकैत अछि."
++
++#: ../semanage/seobject.py:60
++msgid "Cannot read policy store."
++msgstr "नीति भंडार नहि पढ़ि सकैत अछि."
++
++#: ../semanage/seobject.py:65
++msgid "Could not establish semanage connection"
++msgstr "semanage संबंधन स्थापित नहि कए सकल"
++
++#: ../semanage/seobject.py:70
++msgid "Could not test MLS enabled status"
++msgstr ""
++
++#: ../semanage/seobject.py:142 ../semanage/seobject.py:146
++msgid "global"
++msgstr "वैश्विक"
++
++#: ../semanage/seobject.py:206
++#, python-format
++msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
++msgstr "%s खोलएमे असमर्थ: गैर-MLS मसीन पर अनुवाद समर्थित नहि: %s"
++
++#: ../semanage/seobject.py:239
++msgid "Level"
++msgstr "स्तर"
++
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
++msgid "Translation"
++msgstr "अनुवाद"
++
++#: ../semanage/seobject.py:247 ../semanage/seobject.py:261
++#, python-format
++msgid "Translations can not contain spaces '%s' "
++msgstr "अनुवादमे '%s' खाली स्थान नहि हाएत अछि."
++
++#: ../semanage/seobject.py:250
++#, python-format
++msgid "Invalid Level '%s' "
++msgstr "अवैध स्तर '%s' "
++
++#: ../semanage/seobject.py:253
++#, python-format
++msgid "%s already defined in translations"
++msgstr "%s पहिले सँ अनुवादमे परिभाषित अछि"
++
++#: ../semanage/seobject.py:265
++#, python-format
++msgid "%s not defined in translations"
++msgstr "%s अनुवादमे परिभाषित नहि अछि"
++
++#: ../semanage/seobject.py:290
++msgid "Not yet implemented"
++msgstr "अखन तकि लागू नहि"
++
++#: ../semanage/seobject.py:294
++msgid "Semanage transaction already in progress"
++msgstr ""
++
++#: ../semanage/seobject.py:303
++msgid "Could not start semanage transaction"
++msgstr "semanage विनिमय आरंभ नहि कए सकल"
++
++#: ../semanage/seobject.py:309
++msgid "Could not commit semanage transaction"
++msgstr ""
++
++#: ../semanage/seobject.py:313
++msgid "Semanage transaction not in progress"
++msgstr ""
++
++#: ../semanage/seobject.py:325
++msgid "Could not list SELinux modules"
++msgstr ""
++
++#: ../semanage/seobject.py:336
++msgid "Permissive Types"
++msgstr ""
++
++#: ../semanage/seobject.py:366
++#, python-format
++msgid "Could not set permissive domain %s (module installation failed)"
++msgstr ""
++
++#: ../semanage/seobject.py:380
++#, python-format
++msgid "Could not remove permissive domain %s (remove failed)"
++msgstr ""
++
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
++#, python-format
++msgid "Could not create a key for %s"
++msgstr "%s क' लेल कुंजी नहि बनाए सकल"
++
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
++#, python-format
++msgid "Could not check if login mapping for %s is defined"
++msgstr "नहि जाँचि सकल जँ %s क' लेल लागिन मैपिंग परिभाषित अछि"
++
++#: ../semanage/seobject.py:412
++#, python-format
++msgid "Login mapping for %s is already defined"
++msgstr "%s क लेल लॉगिन मैपिंग पहिने सँ परिभाषित अछि"
++
++#: ../semanage/seobject.py:417
++#, python-format
++msgid "Linux Group %s does not exist"
++msgstr ""
++
++#: ../semanage/seobject.py:422
++#, python-format
++msgid "Linux User %s does not exist"
++msgstr "Linux प्रयोक्ता %s मोजूद नहि अछि"
++
++#: ../semanage/seobject.py:426
++#, python-format
++msgid "Could not create login mapping for %s"
++msgstr "%s क' लेल लागिन मैपिंग नहि बनाए सकल"
++
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
++#, python-format
++msgid "Could not set name for %s"
++msgstr "%s क लेल नाम सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
++#, python-format
++msgid "Could not set MLS range for %s"
++msgstr "MLS परिसर %s क लेल सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:439
++#, python-format
++msgid "Could not set SELinux user for %s"
++msgstr "SELinux उपयोक्ता %s क लेल सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:443
++#, python-format
++msgid "Could not add login mapping for %s"
++msgstr "%s क लेल लॉगिन मैपिंग जोड़ नहि सकल"
++
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
++msgid "add SELinux user mapping"
++msgstr "SELinux उपयोक्ता मैपिंग जोड़ू"
++
++#: ../semanage/seobject.py:462
++msgid "Requires seuser or serange"
++msgstr "seuser अथवा serange जरूरी"
++
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
++#, python-format
++msgid "Login mapping for %s is not defined"
++msgstr "%s क लेल लॉगिन मैपिंग परिभाषित नहि अछि"
++
++#: ../semanage/seobject.py:476
++#, python-format
++msgid "Could not query seuser for %s"
++msgstr "seuser केँ %s क लेल प्रश्न नहि कए सकल"
++
++#: ../semanage/seobject.py:492
++#, python-format
++msgid "Could not modify login mapping for %s"
++msgstr "%s क लेल लॉगिन मैपिंग नहि रूपांतरित कए सकल"
++
++#: ../semanage/seobject.py:524
++#, python-format
++msgid "Login mapping for %s is defined in policy, cannot be deleted"
++msgstr "नीतिमे %s परिभाषित अछि, मेटाओल नहि जाए सकत"
++
++#: ../semanage/seobject.py:528
++#, python-format
++msgid "Could not delete login mapping for %s"
++msgstr "%s क लेल लॉगिन मैपिंग नहि मेटाए सकल"
++
++#: ../semanage/seobject.py:551
++msgid "Could not list login mappings"
++msgstr "लॉगिन मैपिंग नहि सूचीबद्ध कए सकल"
++
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
++msgid "Login Name"
++msgstr "लॉगिन नाम"
++
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
++msgid "SELinux User"
++msgstr "SELinux उपयोक्ता"
++
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
++msgid "MLS/MCS Range"
++msgstr "MLS/MCS परिसर"
++
++#: ../semanage/seobject.py:590
++#, python-format
++msgid "You must add at least one role for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
++#, python-format
++msgid "Could not check if SELinux user %s is defined"
++msgstr "जाँच नहि सकल जे SELinux उपयोक्ता %s परिभाषित अछि"
++
++#: ../semanage/seobject.py:600
++#, python-format
++msgid "SELinux user %s is already defined"
++msgstr "SELinux उपयोक्ता %s पहिले सँ परिभाषित अछि"
++
++#: ../semanage/seobject.py:604
++#, python-format
++msgid "Could not create SELinux user for %s"
++msgstr "SELinux उपयोक्ता %s क लेल बनाए नहि सकल"
++
++#: ../semanage/seobject.py:613
++#, python-format
++msgid "Could not add role %s for %s"
++msgstr "%s भूमिका %s क लेल जोड़ नहि सकल"
++
++#: ../semanage/seobject.py:622
++#, python-format
++msgid "Could not set MLS level for %s"
++msgstr "MLS स्तर %s क लेल सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:625
++#, python-format
++msgid "Could not add prefix %s for %s"
++msgstr "%s उपसर्ग %s क लेल नहि जोड़ सकल"
++
++#: ../semanage/seobject.py:628
++#, python-format
++msgid "Could not extract key for %s"
++msgstr "%s क लेल कुंजी निकाल नहि सकल"
++
++#: ../semanage/seobject.py:632
++#, python-format
++msgid "Could not add SELinux user %s"
++msgstr "SELinux उपयोक्ता %s नहि जोड़ सकल"
++
++#: ../semanage/seobject.py:655
++msgid "Requires prefix, roles, level or range"
++msgstr "उपसर्ग, भूमिका, स्तर या परिसर जरूरी"
++
++#: ../semanage/seobject.py:657
++msgid "Requires prefix or roles"
++msgstr "उपसर्ग या भूमिका जरूरी"
++
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
++#, python-format
++msgid "SELinux user %s is not defined"
++msgstr "SELinux उपयोक्ता %s परिभाषित नहि अछि"
++
++#: ../semanage/seobject.py:671
++#, python-format
++msgid "Could not query user for %s"
++msgstr "%s क लेल उपयोक्ताकेँ प्रश्न नहि कए सकत"
++
++#: ../semanage/seobject.py:698
++#, python-format
++msgid "Could not modify SELinux user %s"
++msgstr "SELinux उपयोक्ता %s नहि सुधार सकत"
++
++#: ../semanage/seobject.py:731
++#, python-format
++msgid "SELinux user %s is defined in policy, cannot be deleted"
++msgstr "SELinux उपयोक्ता %s नीतिमे परिभाषित अछि, मेटाए नहि सकत"
++
++#: ../semanage/seobject.py:735
++#, python-format
++msgid "Could not delete SELinux user %s"
++msgstr "SELinux उपयोक्ता %s मेटाए नहि सकल"
++
++#: ../semanage/seobject.py:758
++msgid "Could not list SELinux users"
++msgstr "SELinux उपयोक्ता सूचीबद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:764
++#, python-format
++msgid "Could not list roles for user %s"
++msgstr "%s उपयोक्ता क लेल भूमिका सूचीबद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:777
++msgid "Labeling"
++msgstr "लेबलिंग"
++
++#: ../semanage/seobject.py:777
++msgid "MLS/"
++msgstr "MLS/"
++
++#: ../semanage/seobject.py:778
++msgid "Prefix"
++msgstr "उपसर्ग"
++
++#: ../semanage/seobject.py:778
++msgid "MCS Level"
++msgstr "MCS स्तर"
++
++#: ../semanage/seobject.py:778
++msgid "MCS Range"
++msgstr "MCS परिसर"
++
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
++msgid "SELinux Roles"
++msgstr "SELinux भूमिका"
++
++#: ../semanage/seobject.py:798
++msgid "Protocol udp or tcp is required"
++msgstr "प्रोटोकॉल udp या tcp जरूरी अछि"
++
++#: ../semanage/seobject.py:800
++msgid "Port is required"
++msgstr "पोर्ट जरूरी अछि"
++
++#: ../semanage/seobject.py:811
++#, python-format
++msgid "Could not create a key for %s/%s"
++msgstr "%s/%s क लेल कुंजी नहि बनाए सकल"
++
++#: ../semanage/seobject.py:822
++msgid "Type is required"
++msgstr "टाइप जरूरी अछि"
++
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
++#, python-format
++msgid "Could not check if port %s/%s is defined"
++msgstr "जाँच नहि सकल जँ पोर्ट %s/%s परिभाषित अछि"
++
++#: ../semanage/seobject.py:830
++#, python-format
++msgid "Port %s/%s already defined"
++msgstr "%s/%s पोर्ट पहले सँ परिभाषित अछि"
++
++#: ../semanage/seobject.py:834
++#, python-format
++msgid "Could not create port for %s/%s"
++msgstr "%s/%s क लेल पोर्ट बनाए नहि सकल"
++
++#: ../semanage/seobject.py:840
++#, python-format
++msgid "Could not create context for %s/%s"
++msgstr "%s/%s क लेल संदर्भ बनाए नहि सकल"
++
++#: ../semanage/seobject.py:844
++#, python-format
++msgid "Could not set user in port context for %s/%s"
++msgstr "%s/%s क लेल पोर्ट संदर्भमे उपयोक्ता सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:848
++#, python-format
++msgid "Could not set role in port context for %s/%s"
++msgstr "%s/%s क लेल पोर्ट संदर्भमे भूमिका सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:852
++#, python-format
++msgid "Could not set type in port context for %s/%s"
++msgstr "%s/%s क लेल पोर्ट संदर्भमे टाइप सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:857
++#, python-format
++msgid "Could not set mls fields in port context for %s/%s"
++msgstr "%s/%s क लेल पोर्ट संदर्भमे क्षेत्र mls सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:861
++#, python-format
++msgid "Could not set port context for %s/%s"
++msgstr "%s/%s क लेल पोर्ट संदर्भ सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:865
++#, python-format
++msgid "Could not add port %s/%s"
++msgstr "%s/%s पोर्ट जोड़ि नहि सकल"
++
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
++msgid "Requires setype or serange"
++msgstr "setype या serange जरूरी"
++
++#: ../semanage/seobject.py:881
++msgid "Requires setype"
++msgstr "सेटटाइप जरूरी"
++
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
++#, python-format
++msgid "Port %s/%s is not defined"
++msgstr "पोर्ट %s/%s परिभाषित नहि अछि"
++
++#: ../semanage/seobject.py:893
++#, python-format
++msgid "Could not query port %s/%s"
++msgstr "%s/%s पोर्ट प्रश्न नहि कए सकल"
++
++#: ../semanage/seobject.py:904
++#, python-format
++msgid "Could not modify port %s/%s"
++msgstr "%s/%s पोर्ट रूपांतरित नहि कए सकल "
++
++#: ../semanage/seobject.py:917
++msgid "Could not list the ports"
++msgstr "पोर्ट सूची बद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:933
++#, python-format
++msgid "Could not delete the port %s"
++msgstr "%s पोर्ट मेटाए नहि सकल"
++
++#: ../semanage/seobject.py:950
++#, python-format
++msgid "Port %s/%s is defined in policy, cannot be deleted"
++msgstr "%s/%s नीतिमे परिभाषित अछि, मेटाए नहि सकत"
++
++#: ../semanage/seobject.py:954
++#, python-format
++msgid "Could not delete port %s/%s"
++msgstr "%s/%s पोर्ट मेटाए नहि सकत"
++
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
++msgid "Could not list ports"
++msgstr "पोर्ट सूची बद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:1013
++msgid "SELinux Port Type"
++msgstr "SELinux पोर्ट प्रकार"
++
++#: ../semanage/seobject.py:1013
++msgid "Proto"
++msgstr "प्रोटो"
++
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
++msgid "Port Number"
++msgstr "पोर्ट संख्या"
++
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
++msgid "Node Address is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
++msgid "Node Netmask is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
++msgid "Unknown or missing protocol"
++msgstr ""
++
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
++msgid "SELinux Type is required"
++msgstr "SELinux प्रकार जरूरी अछि"
++
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
++#, python-format
++msgid "Could not create key for %s"
++msgstr "%s क लेल कुंजी नहि बनाए सकल"
++
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
++msgid "Could not check if addr %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1060
++#, python-format
++msgid "Addr %s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1064
++#, python-format
++msgid "Could not create addr for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
++#, python-format
++msgid "Could not create context for %s"
++msgstr "%s क लेल संदर्भ बनाए नहि सकल"
++
++#: ../semanage/seobject.py:1073
++#, python-format
++msgid "Could not set mask for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1078
++#, python-format
++msgid "Could not set user in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1082
++#, python-format
++msgid "Could not set role in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1086
++#, python-format
++msgid "Could not set type in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1091
++#, python-format
++msgid "Could not set mls fields in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1095
++#, python-format
++msgid "Could not set addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1099
++#, python-format
++msgid "Could not add addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
++msgid "Addr %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1139
++#, python-format
++msgid "Could not query addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1150
++#, python-format
++msgid "Could not modify addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1188
++#, python-format
++msgid "Addr %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1192
++#, python-format
++msgid "Could not delete addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1208
++msgid "Could not list addrs"
++msgstr ""
++
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
++#, python-format
++msgid "Could not check if interface %s is defined"
++msgstr "जांच नहि सकल जँ %s अंतरफलक परिभाषित अछि"
++
++#: ../semanage/seobject.py:1262
++#, python-format
++msgid "Interface %s already defined"
++msgstr "%s अंतरफलक पहिले सँ परिभाषित अछि"
++
++#: ../semanage/seobject.py:1266
++#, python-format
++msgid "Could not create interface for %s"
++msgstr "%s क लेल अंतरफलक नहि बनाए सकल"
++
++#: ../semanage/seobject.py:1275
++#, python-format
++msgid "Could not set user in interface context for %s"
++msgstr "उपयोक्ता केँ %s क लेल अंतरफलक संदर्भमे सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1279
++#, python-format
++msgid "Could not set role in interface context for %s"
++msgstr "भूमिका केँ %s क लेल अंतरफलक संदर्भमे सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1283
++#, python-format
++msgid "Could not set type in interface context for %s"
++msgstr "टाइप केँ %s क लेल अंतरफलक संदर्भमे सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1288
++#, python-format
++msgid "Could not set mls fields in interface context for %s"
++msgstr "mls क्षेत्र %s क लेल अंतरफलक संदर्भमे सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1292
++#, python-format
++msgid "Could not set interface context for %s"
++msgstr "%s क लेल अंतरफलक संदर्भ सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1296
++#, python-format
++msgid "Could not set message context for %s"
++msgstr "%s क लेल संदेश संदर्भ सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1300
++#, python-format
++msgid "Could not add interface %s"
++msgstr "%s अंतरफलक जोड़ नहि सकल"
++
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
++#, python-format
++msgid "Interface %s is not defined"
++msgstr "%s अंतरफलक परिभाषित नहि अछि"
++
++#: ../semanage/seobject.py:1327
++#, python-format
++msgid "Could not query interface %s"
++msgstr "%s अंतरफलक प्रश्न नहि कए सकत"
++
++#: ../semanage/seobject.py:1338
++#, python-format
++msgid "Could not modify interface %s"
++msgstr "%s अंतरफलक रूपांतरित नहि कए सकल"
++
++#: ../semanage/seobject.py:1363
++#, python-format
++msgid "Interface %s is defined in policy, cannot be deleted"
++msgstr "अंतरफलक %s नीतिमे परिभाषित अछि, मेटाओल नहि जाए सकत"
++
++#: ../semanage/seobject.py:1367
++#, python-format
++msgid "Could not delete interface %s"
++msgstr "%s अंतरफलक मेटाए नहि सकल"
++
++#: ../semanage/seobject.py:1383
++msgid "Could not list interfaces"
++msgstr "अंतरफलक सूचीबद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:1393
++msgid "SELinux Interface"
++msgstr "SELinux अंतरफलक"
++
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
++msgid "Context"
++msgstr "संदर्भ"
++
++#: ../semanage/seobject.py:1417
++#, python-format
++msgid "Could not set user in file context for %s"
++msgstr "%s क लेल फाइल संदर्भमे उपयोक्ता सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1421
++#, python-format
++msgid "Could not set role in file context for %s"
++msgstr "%s क लेल फाइल संदर्भमे भूमिका सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
++#, python-format
++msgid "Could not set mls fields in file context for %s"
++msgstr "mls क्षेत्र %s क लेल फाइल संदर्भ केर क्रममे नहि सेट कए सकल"
++
++#: ../semanage/seobject.py:1432
++msgid "Invalid file specification"
++msgstr "अवैध फाइल विशेषता"
++
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
++#, python-format
++msgid "Could not check if file context for %s is defined"
++msgstr "जाँच नहि सकल जँ %s क लेल फाइल संदर्भ परिभाषित अछि"
++
++#: ../semanage/seobject.py:1457
++#, python-format
++msgid "File context for %s already defined"
++msgstr "%s क लेल फाइल संदर्भ पहिले सँ परिभाषित अछि"
++
++#: ../semanage/seobject.py:1461
++#, python-format
++msgid "Could not create file context for %s"
++msgstr "%s क लेल फाइल संदर्भ नहि बनाए सकल"
++
++#: ../semanage/seobject.py:1469
++#, python-format
++msgid "Could not set type in file context for %s"
++msgstr "%s क लेल फाइल संदर्भमे टाइप सेट नहि कए सकल"
++
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
++#, python-format
++msgid "Could not set file context for %s"
++msgstr "%s क लेल फाइल संदर्भ नहि सेट कए सकल"
++
++#: ../semanage/seobject.py:1483
++#, python-format
++msgid "Could not add file context for %s"
++msgstr "%s क लेल फाइल संदर्भ नहि जोड़ि सकल"
++
++#: ../semanage/seobject.py:1497
++msgid "Requires setype, serange or seuser"
++msgstr "सेटटाइप जरूरी, serange या seuser"
++
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
++#, python-format
++msgid "File context for %s is not defined"
++msgstr "%s क लेल फाइल संदर्भ परिभाषित नहि अछि"
++
++#: ../semanage/seobject.py:1516
++#, python-format
++msgid "Could not query file context for %s"
++msgstr "%s क लेल फाइल संदर्भ केँ प्रश्न नहि कए सकल"
++
++#: ../semanage/seobject.py:1542
++#, python-format
++msgid "Could not modify file context for %s"
++msgstr "%s क लेल फाइल संदर्भ नहि सुधार सकल"
++
++#: ../semanage/seobject.py:1556
++msgid "Could not list the file contexts"
++msgstr "फाइल संदर्भ सूचीबद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:1570
++#, python-format
++msgid "Could not delete the file context %s"
++msgstr "%s क लेल फाइल संदर्भ मेटाए नहि सकल"
++
++#: ../semanage/seobject.py:1588
++#, python-format
++msgid "File context for %s is defined in policy, cannot be deleted"
++msgstr "%s क लेल फाइल संदर्भ नीतिमे परिभाषित अछि, मेटाए नहि सकत"
++
++#: ../semanage/seobject.py:1594
++#, python-format
++msgid "Could not delete file context for %s"
++msgstr "%s क लेल फाइलसंदर्भ मेटाए नहि सकल"
++
++#: ../semanage/seobject.py:1609
++msgid "Could not list file contexts"
++msgstr "फाइल संदर्भ सूचीबद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:1613
++msgid "Could not list local file contexts"
++msgstr "स्थानीय फाइल संदर्भ सूचीबद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:1632
++msgid "SELinux fcontext"
++msgstr "SELinux fcontext"
++
++#: ../semanage/seobject.py:1632
++msgid "type"
++msgstr "प्रकार"
++
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
++#, python-format
++msgid "Could not check if boolean %s is defined"
++msgstr "जँ %s बुलियन परिभाषित अछि तँ जांच नहि सकल"
++
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
++#, python-format
++msgid "Boolean %s is not defined"
++msgstr "%s बुलियन परिभाषित नहि अछि"
++
++#: ../semanage/seobject.py:1668
++#, python-format
++msgid "Could not query file context %s"
++msgstr "%s फाइल संदर्भ केँ प्रश्न नहि कए सकल"
++
++#: ../semanage/seobject.py:1673
++#, python-format
++msgid "You must specify one of the following values: %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1677
++#, python-format
++msgid "Could not set active value of boolean %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1680
++#, python-format
++msgid "Could not modify boolean %s"
++msgstr "%s बुलियन रूपांतरित नहि कए सकल"
++
++#: ../semanage/seobject.py:1698
++#, python-format
++msgid "Bad format %s: Record %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1721
++#, python-format
++msgid "Boolean %s is defined in policy, cannot be deleted"
++msgstr "%s बुलियन नीति मे परिभाषित अछि, मेटाएल नहि जाए सकैत"
++
++#: ../semanage/seobject.py:1725
++#, python-format
++msgid "Could not delete boolean %s"
++msgstr "%s बुलियन मेटाए नहि सकल"
++
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
++msgid "Could not list booleans"
++msgstr "बुलियन सूचीबद्ध नहि कए सकल"
++
++#: ../semanage/seobject.py:1773
++msgid "unknown"
++msgstr "अज्ञात"
++
++#: ../semanage/seobject.py:1776
++msgid "off"
++msgstr "बन्न"
++
++#: ../semanage/seobject.py:1776
++msgid "on"
++msgstr "चालू"
++
++#: ../semanage/seobject.py:1785
++msgid "SELinux boolean"
++msgstr "SELinux बूलियन"
++
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
++msgid "Description"
++msgstr "वर्णन"
++
++#: ../newrole/newrole.c:198
++#, c-format
++msgid "failed to set PAM_TTY\n"
++msgstr "PAM_TTY सेट करबामे विफल\n"
++
++#: ../newrole/newrole.c:287
++#, c-format
++msgid "newrole: service name configuration hashtable overflow\n"
++msgstr "newrole: सेवा नाम विन्यास hashtable आधिक्य\n"
++
++#: ../newrole/newrole.c:297
++#, c-format
++msgid "newrole:  %s:  error on line %lu.\n"
++msgstr "newrole:  %s:  %lu पंक्ति पर त्रुटि.\n"
++
++#: ../newrole/newrole.c:436
++#, c-format
++msgid "cannot find valid entry in the passwd file.\n"
++msgstr "passwd फाइल मे वैध प्रविष्टि नहि पाबि सकैत.\n"
++
++#: ../newrole/newrole.c:447
++#, c-format
++msgid "Out of memory!\n"
++msgstr "स्मृतिक बाहर!\n"
++
++#: ../newrole/newrole.c:452
++#, c-format
++msgid "Error!  Shell is not valid.\n"
++msgstr "त्रुटि!  शेल वैध नहि अछि.\n"
++
++#: ../newrole/newrole.c:509
++#, c-format
++msgid "Unable to clear environment\n"
++msgstr "वातावरण साफ करबामे असमर्थ\n"
++
++#: ../newrole/newrole.c:556 ../newrole/newrole.c:634
++#, c-format
++msgid "Error initializing capabilities, aborting.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:564 ../newrole/newrole.c:640
++#, c-format
++msgid "Error setting capabilities, aborting\n"
++msgstr "त्रुटि सेटिंग क्षमता, रोक रहल अछि\n"
++
++#: ../newrole/newrole.c:570
++#, c-format
++msgid "Error setting KEEPCAPS, aborting\n"
++msgstr "KEEPCAPS सेट करबामे त्रुटि, रोक रहल अछि\n"
++
++#: ../newrole/newrole.c:578 ../newrole/newrole.c:652
++#, c-format
++msgid "Error dropping capabilities, aborting\n"
++msgstr "त्रुटि त्याग क्षमता, त्याग रहल अछि\n"
++
++#: ../newrole/newrole.c:584 ../newrole/newrole.c:683
++#, c-format
++msgid "Error changing uid, aborting.\n"
++msgstr "त्रुटि uid बदल रहल अछि, त्याग रहल अछि.\n"
++
++#: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
++#, c-format
++msgid "Error resetting KEEPCAPS, aborting\n"
++msgstr "त्रुटि KEEPCAPS फेर सेट कए रहल अछि, त्याग रहल अछि\n"
++
++#: ../newrole/newrole.c:597
++#, c-format
++msgid "Error dropping SETUID capability, aborting\n"
++msgstr "त्रुटि SETUID क्षमता छोड़ि रहल अछि, त्याग रहल अछि\n"
++
++#: ../newrole/newrole.c:602 ../newrole/newrole.c:657
++#, c-format
++msgid "Error freeing caps\n"
++msgstr "caps स्वतंत्र करबामे त्रुटि\n"
++
++#: ../newrole/newrole.c:701
++#, c-format
++msgid "Error connecting to audit system.\n"
++msgstr "सिस्टम ऑडिट संबंधन मे त्रुटि.\n"
++
++#: ../newrole/newrole.c:707
++#, c-format
++msgid "Error allocating memory.\n"
++msgstr "स्मृति संभाजन मे त्रुटि.\n"
++
++#: ../newrole/newrole.c:714
++#, c-format
++msgid "Error sending audit message.\n"
++msgstr "ऑडिट संदेश भेजबा मे त्रुटि.\n"
++
++#: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
++#, c-format
++msgid "Could not determine enforcing mode.\n"
++msgstr "पुनर्बलन मोड निश्चित नहि कए सकल.\n"
++
++#: ../newrole/newrole.c:765
++#, c-format
++msgid "Error!  Could not open %s.\n"
++msgstr "त्रुटि!  %s खोल नहि सकैत.\n"
++
++#: ../newrole/newrole.c:771
++#, c-format
++msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
++msgstr "%s!  %s क लेल मोजुदा संदर्भ नहि पाबि सकैत, tty फेर लेबल नहि कए रहल अछि.\n"
++
++#: ../newrole/newrole.c:781
++#, c-format
++msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
++msgstr "%s!  %s क लेल नवीन संदर्भ नहि पाबि सकल, tty फेर लेबल नहि कए सकैत.\n"
++
++#: ../newrole/newrole.c:791
++#, c-format
++msgid "%s!  Could not set new context for %s\n"
++msgstr "%s!  %s क लेल नवीन संदर्भ नहि सेट कए सकल\n"
++
++#: ../newrole/newrole.c:838
++#, c-format
++msgid "%s changed labels.\n"
++msgstr "%s लेबल बदललकाह.\n"
++
++#: ../newrole/newrole.c:844
++#, c-format
++msgid "Warning! Could not restore context for %s\n"
++msgstr "चेतावनी! %s क लेल संदर्भ जमा नहि कए सकल\n"
++
++#: ../newrole/newrole.c:901
++#, c-format
++msgid "Error: multiple roles specified\n"
++msgstr "त्रुटि: बहुल भूमिका निर्दिष्ट\n"
++
++#: ../newrole/newrole.c:909
++#, c-format
++msgid "Error: multiple types specified\n"
++msgstr "त्रुटि: बहुल प्रकार निर्दिष्ट\n"
++
++#: ../newrole/newrole.c:916
++#, c-format
++msgid "Sorry, -l may be used with SELinux MLS support.\n"
++msgstr "क्षमा करू, -l केँ SELinux MLS समर्थन क संग प्रयोग कएल जाए सकैत अछि.\n"
++
++#: ../newrole/newrole.c:921
++#, c-format
++msgid "Error: multiple levels specified\n"
++msgstr "त्रुटि: बहुल स्तर निर्दिष्ट\n"
++
++#: ../newrole/newrole.c:931
++#, c-format
++msgid "Error: you are not allowed to change levels on a non secure terminal \n"
++msgstr "त्रुटि: अहाँकेँ असुरक्षित टर्मिनल पर लेबल केँ बदलबा क लेल अनुमति प्राप्त नहि अछि \n"
++
++#: ../newrole/newrole.c:957
++#, c-format
++msgid "Couldn't get default type.\n"
++msgstr "पूर्वनिर्धारित प्रकार नहि पाबि सकल.\n"
++
++#: ../newrole/newrole.c:967
++#, c-format
++msgid "failed to get new context.\n"
++msgstr "नये संदर्भ पाबै मे विफल.\n"
++
++#: ../newrole/newrole.c:974
++#, c-format
++msgid "failed to set new role %s\n"
++msgstr "%s नयी भूमिका नहि सेट कए सकल\n"
++
++#: ../newrole/newrole.c:981
++#, c-format
++msgid "failed to set new type %s\n"
++msgstr "नवीन प्रकार %s सेट करबामे विफल\n"
++
++#: ../newrole/newrole.c:991
++#, c-format
++msgid "failed to build new range with level %s\n"
++msgstr "%s स्तर क संग नवीन परिसर बनाबै मे विफल\n"
++
++#: ../newrole/newrole.c:996
++#, c-format
++msgid "failed to set new range %s\n"
++msgstr "%s नवीन परिसर सेट करबामे विफल\n"
++
++#: ../newrole/newrole.c:1004
++#, c-format
++msgid "failed to convert new context to string\n"
++msgstr "नवीन संदर्भ स्ट्रिंग मे बदलबा मे विफल\n"
++
++#: ../newrole/newrole.c:1009
++#, c-format
++msgid "%s is not a valid context\n"
++msgstr "%s एकटा वैध संदर्भ नहि अछि\n"
++
++#: ../newrole/newrole.c:1016
++#, c-format
++msgid "Unable to allocate memory for new_context"
++msgstr "new_context क लेल स्मृति आबंटित करबामे समर्थ"
++
++#: ../newrole/newrole.c:1042
++#, c-format
++msgid "Unable to obtain empty signal set\n"
++msgstr "रिक्त संकेत सेट पाबै मे असमर्थ\n"
++
++#: ../newrole/newrole.c:1050
++#, c-format
++msgid "Unable to set SIGHUP handler\n"
++msgstr "SIGHUP नियंत्रण सेट करबामे असमर्थ\n"
++
++#: ../newrole/newrole.c:1116
++#, c-format
++msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
++msgstr "क्षमा करू, newrole सिर्फ SELinux कर्नेल पर प्रयोग कएल जाए सकैत अछि.\n"
++
++#: ../newrole/newrole.c:1133
++#, c-format
++msgid "failed to get old_context.\n"
++msgstr "old_context केँ पाबै मे विफल.\n"
++
++#: ../newrole/newrole.c:1140
++#, c-format
++msgid "Warning!  Could not retrieve tty information.\n"
++msgstr "चेतावनी! tty सूचना नहि पाबि सकैत.\n"
++
++#: ../newrole/newrole.c:1161
++#, c-format
++msgid "error on reading PAM service configuration.\n"
++msgstr "PAM सेवा विन्यास पर पढ़बा मे त्रुटि.\n"
++
++#: ../newrole/newrole.c:1196
++#, c-format
++msgid "newrole: incorrect password for %s\n"
++msgstr "newrole: %s क लेल गलत गुड़किल्ली\n"
++
++#: ../newrole/newrole.c:1223
++#, c-format
++msgid "newrole: failure forking: %s"
++msgstr "newrole: विभाजन मे विफलता: %s"
++
++#: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
++#, c-format
++msgid "Unable to restore tty label...\n"
++msgstr "tty स्तर फेर जमा करबामे असमर्थ...\n"
++
++#: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
++#, c-format
++msgid "Failed to close tty properly\n"
++msgstr "tty केँ विधिवत रूपेँ बंद करबामे विफल\n"
++
++#: ../newrole/newrole.c:1287
++#, c-format
++msgid "Could not close descriptors.\n"
++msgstr "विवरणकर्ता बंद नहि सकल.\n"
++
++#: ../newrole/newrole.c:1314
++#, c-format
++msgid "Error allocating shell's argv0.\n"
++msgstr "शैल argv0 आबंटित करबामे त्रुटि.\n"
++
++#: ../newrole/newrole.c:1346
++#, c-format
++msgid "Unable to restore the environment, aborting\n"
++msgstr "वातावरण फेर भंडारित करबामे असमर्थ, रोक रहल अछि\n"
++
++#: ../newrole/newrole.c:1357
++msgid "failed to exec shell\n"
++msgstr "शेल निष्पादन मे विफल\n"
++
++#: ../load_policy/load_policy.c:22
++#, c-format
++msgid "usage:  %s [-qi]\n"
++msgstr "usage:  %s [-qi]\n"
++
++#: ../load_policy/load_policy.c:71
++#, c-format
++msgid "%s:  Policy is already loaded and initial load requested\n"
++msgstr "%s:  नीति पहिने सँ लोड कएल हुआ अछि आओर आरंभिक लोड निवेदित अछि\n"
++
++#: ../load_policy/load_policy.c:80
++#, c-format
++msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
++msgstr "%s:  नीति लोड नहि कए सकैत अछि आओर पुनर्बलन मोड निवेदित:  %s\n"
++
++#: ../load_policy/load_policy.c:90
++#, c-format
++msgid "%s:  Can't load policy:  %s\n"
++msgstr "%s:  नीति नहि लोड कए सकैत अछि:  %s\n"
++
++#: ../scripts/chcat:92 ../scripts/chcat:169
++msgid "Requires at least one category"
++msgstr "कम सँ कम एकटा श्रेणी जरूरी"
++
++#: ../scripts/chcat:106 ../scripts/chcat:183
++#, c-format
++msgid "Can not modify sensitivity levels using '+' on %s"
++msgstr "'+' %s पर प्रयोग करते हुये संवेदनशीलता स्तर नहि बदल सकैत अछि"
++
++#: ../scripts/chcat:110
++#, c-format
++msgid "%s is already in %s"
++msgstr "%s पहिने सँ %s मे अछि"
++
++#: ../scripts/chcat:188 ../scripts/chcat:198
++#, c-format
++msgid "%s is not in %s"
++msgstr "%s %s मे नहि अछि"
++
++#: ../scripts/chcat:267 ../scripts/chcat:272
++msgid "Can not combine +/- with other types of categories"
++msgstr "+/- केँ आन श्रेणी प्रकार सँ जोड़ि नहि सकैत"
++
++#: ../scripts/chcat:319
++msgid "Can not have multiple sensitivities"
++msgstr "बहुल संवेदनशीलता नहि राखि सकैत अछि"
++
++#: ../scripts/chcat:325
++#, c-format
++msgid "Usage %s CATEGORY File ..."
++msgstr "प्रयोग %s CATEGORY फाइल ..."
++
++#: ../scripts/chcat:326
++#, c-format
++msgid "Usage %s -l CATEGORY user ..."
++msgstr "प्रयोग %s -l CATEGORY प्रयोक्ता ..."
++
++#: ../scripts/chcat:327
++#, c-format
++msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
++msgstr "प्रयोग %s [[+|-]CATEGORY],...]q फाइल ..."
++
++#: ../scripts/chcat:328
++#, c-format
++msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
++msgstr "प्रयोग %s -l [[+|-]CATEGORY],...]q प्रयोक्ता ..."
++
++#: ../scripts/chcat:329
++#, c-format
++msgid "Usage %s -d File ..."
++msgstr "प्रयोग %s -d फाइल ..."
++
++#: ../scripts/chcat:330
++#, c-format
++msgid "Usage %s -l -d user ..."
++msgstr "प्रयोग %s -l -d प्रयोक्ता ..."
++
++#: ../scripts/chcat:331
++#, c-format
++msgid "Usage %s -L"
++msgstr "प्रयोग %s -L"
++
++#: ../scripts/chcat:332
++#, c-format
++msgid "Usage %s -L -l user"
++msgstr "प्रयोग %s -L -l प्रयोक्ता"
++
++#: ../scripts/chcat:333
++msgid "Use -- to end option list.  For example"
++msgstr "प्रयोग करू -- विकल्प सूची समाप्त करबाक लेल.  उदाहरण क लेल"
++
++#: ../scripts/chcat:334
++msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
++msgstr "chcat -- -CompanyConfidential /docs/businessplan.odt"
++
++#: ../scripts/chcat:335
++msgid "chcat -l +CompanyConfidential juser"
++msgstr "chcat -l +CompanyConfidential juser"
++
++#: ../scripts/chcat:399
++#, c-format
++msgid "Options Error %s "
++msgstr "विकल्प त्रुटि %s"
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "बूलियन"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "सभटा"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "पसंदीदा"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "फाइल लेबलिंग"
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"फाइल\n"
++"विनिर्दिष्टता"
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"फाइल प्रकार"
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"फाइल\n"
++"प्रकार"
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "प्रयोक्ता मैपिंग"
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"लॉगिन\n"
++"नाम"
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"प्रयोक्ता"
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS परिसर"
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "लॉगिन '%s' जरूरी अछि"
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "पॉलिसी माड्यूल"
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "माड्यूल नाम"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "संस्करण"
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ऑडिट निष्क्रिय करू"
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ऑडिट सक्रिय करू"
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "पॉलिसी माड्यूल लोड करू"
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "पोल्जेन"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "संगीता कुमारी (sangeeta09@gmail.com)"
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"ई अओजार एकटा पॉलिसी फ्रेमवर्क बनाबै क लेल प्रयुक्त होइत अछि, अनुप्रयोग अथवा प्रयोक्ता केँ "
++"SELinux क प्रयोग क लेल सीमित करबाक लेल.   \n"
++"\n"
++"अओजार बनाबैत अछि:\n"
++"प्रकार बाध्यकारी फाइल\n"
++"अंतरफलक फाइल (if)\n"
++"फाइल संदर्भ फाइल (fc)\n"
++"Shell script (sh) - पॉलिसी कंपाइल आ संस्थापित करबाक लेल प्रयुक्त. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "सीमित रहबा क लेल अनुप्रयोग/प्रयोक्ता भूमिकाक प्रकार चुनू."
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>अनुप्रयोग</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"मानक Init डीमन वे डीमन अछि जे बूट पर init स्क्रिप्ट सँ भएकए आरंभ कएल गेल.  प्रायः /etc/"
++"rc.d/init.d मे एकटा स्क्रिप्टक जरूरी अछि"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "मानक Init डीमन"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "इंटरनेट सेवा डीमन xinetd क द्वारा आरंभ कएल जाइत अछि"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "इंटरनेट सर्विस डीमन (inetd)"
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"वेब अनुप्रयोग/स्क्रिप्ट (CGI) CGI स्क्रिप्ट केँ वेब सर्वर क द्वारा आरंभ कएल जाइत अछि "
++"(apache)"
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "वेब अनुप्रयोग/स्क्रिप्ट (CGI)"
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"प्रयोक्ता अनुप्रयोग कोनो अनुप्रयोग अछि जे सीमित कएनाइ चाहत जे प्रयोक्ता क द्वारा आरंभ भेल "
++"अछि"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "प्रयोक्ता अनुप्रयोग"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>लॉगिन प्रयोक्ता</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "मोजुदा लॉगिन प्रयोक्ता रिकार्ड रूपांतरित करू."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "मोजुदा प्रयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"ई प्रयोक्ता मशीन मे लॉगिन मात्र टर्मिनल अथवा दूरस्थ लॉगिन सँ हाएत.  पूर्वनिर्धारित रूपेँ ई "
++"प्रयोक्ता क पास कोनो setuid नहि हाएत, कोनो संजालन नहि, कोनो su नहि, कोनो sudo "
++"नहि."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "न्यूनतम टर्मिनल प्रयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"ई प्रयोक्ता मशीन मे लॉगिन X अथवा टर्मिनल सँ कए सकैत अछि.  पूर्वनिर्धारित रूपेँ ई प्रयोक्ता "
++"क पास कोनो setuid नहि हाएत, कोनो संजालन नहि, कोनो sudo नहि, कोनो su नहि."
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "न्यूनतम X विंडोज प्रयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"पूर्ण संजालन क संग प्रयोक्ता, कोनो setuid अनुप्रयोग बिनु संक्रमण क नहि, कोनो sudo नहि, "
++"कोनो su नहि."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "प्रयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"पूर्ण संजालन क संग प्रयोक्ता, कोनो setuid अनुप्रयोग बिनु संक्रमण क नहि, कोनो su नहि, रूट "
++"प्रशासन भूमिका केँ sudo कए सकैत अछि."
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "प्रशासन प्रयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>रूट प्रयोक्ता</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"रूट प्रशासन प्रयोक्ता  भूमिका चुनू, जँ ई प्रयोक्ता मशीन केँ प्रशासित करबाक लेल प्रयोग कएल "
++"जाइत अछि रूट क रूपेँ कार्य करते हुए.  ई प्रयोक्ता सिस्टम मे सीधे लॉगिन होएबा क लेल समर्थ "
++"नहि हाएत."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "रूट प्रशासन प्रयोक्ता भूमिका"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "अनुप्रयोग क नाम आ प्रयोक्ता भूमिका सीमित रहबा क लेल डालू."
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "नाम"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "सीमित रहबा क लेल एक्सक्यूटेबल क पूरा पथ दिअ'."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "सीमित अनुप्रयोग अथवा प्रयोक्ता भूमिका  क लेल अद्वितीय नाम दिअ'."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "एक्सक्यूटेबल"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init स्क्रिप्ट"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "सीमित अनुप्रयोग आरंभ करबाक लेल init स्क्रिप्ट मे पूरा पथ डालू."
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "ओ प्रयोक्ता भूमिका केँ चुनू जकरा अहाँ पसंदीदा बनैनाइ चाहैत अछि"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "प्रयोक्ता भूमिका चुनू जे ई अनुप्रयोग डोमेन मे संक्रमित करताह."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "बाइली डोमेन चुनू जकरामे ई प्रयोक्ता भूमिका संक्रमण करताह"
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "अनुप्रयोग डोमेन चुनू जकरामे अहाँ ई प्रयोक्ता भूमिका केँ संक्रमण कएनाइ चाहब."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "ओ प्रयोक्ता भूमिका केँ चुनू जे ई डोमेन मे संक्रमित कएल जाएत"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "बाइली डोमेन चुनू जकरा ई प्रयोक्ता भूमिका प्रशासित करताह"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "डोमेन चुनू जकरा अहाँ ई प्रयोक्ता क द्वारा प्रशासित कएनाइ चाहब."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "ई प्रयोक्ता क लेल बाइली भूमिका चुनू"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "संजाल पोर्ट दाखिल करू जकरासँ अनुप्रयोग/प्रयोक्ता लाइसेंस लेने होइत अछि."
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP पोर्ट</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "सीमित अनुप्रयोग/प्रयोक्ता भूमिका केँ कोनो udp पोर्ट मे बांधबा क लेल स्वीकृति दिअ'"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "सबहि"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"अनुप्रयोग/प्रयोक्ता भूमिका केँ bindresvport केँ 0 क संग स्वीकृति दिअ'. पोर्ट 600-1024 मे "
++"बांध रहल अछि"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"udp पोर्ट अथवा पोर्ट क परिसर क कौमा सँ अलग कएल सूची दाखिल करू अथवा परिसर जकरामे "
++"अनुप्रयोग/प्रयोक्ता बंधल अछि. उदाहरण: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "अनारक्षित पोर्ट (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "पोर्ट चुनू"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "अनुप्रयोग/प्रयोक्ता भूमिका केँ कोनो udp पोर्ट सँ बांधबाक स्वीकृति देत अछि > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP पोर्ट</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "संजाल पोर्ट दाखिल करू जकरासँ अनुप्रयोग/प्रयोक्ता कनेक्ट होइत अछि."
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"tcp पोर्ट अथवा पोर्ट क परिसर क कौमा सँ अलग कएल सूची दाखिल करू अथवा परिसर जकरामे "
++"अनुप्रयोग/प्रयोक्ता जुड़ता अछि. उदाहरण: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"udp पोर्ट अथवा पोर्ट क परिसर क कौमा सँ अलग कएल सूची दाखिल करू अथवा परिसर जकरामे "
++"अनुप्रयोग/प्रयोक्ता जुड़ता अछि. उदाहरण: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "सामान्य अनुप्रयोग गुण चुनू"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog संदेश लिखैत अछि\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp मे अस्थायी फाइल केँ बनाबैत / काम करैत अछि"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "सत्यापन क लेल PAM क प्रयोग करैत अछि"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch अथवा getpw* कॉल प्रयोग करैत अछि"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus क प्रयोग करू"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ऑडिट संदेश भेजै अछि"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "टर्मिनल क संग अंतःक्रिया करैत अछि"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ईमेल भेजै अछि"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "फाइल/निर्देशिका चुनू जकरा अनुप्रयोग प्रबंधित करैत अछि"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"फाइल/निर्देशिका जोड़ू जकर ई अनुप्रयोग केँ \"Write\" लिखबा क जरूरत हाएत. Pid फाइल, लॉग "
++"फाइल, /var/lib फाइल ..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "बुलियन केँ चुनू जकरा अनुप्रयोग प्रयोग करैत अछि"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "सीमित अनुप्रयोग/प्रयोक्ता क लेल प्रयुक्त बुलियन जोड़ू/हटाउ."
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "निर्देशिका चुनू जकरामे पॉलिसी फाइल केँ बनैनाइ अछि"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "पॉलिसी निर्देशिका"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "पॉलिसी फाइल उत्पन्न कएलक"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ई अओजार निम्नलिखित केँ उत्पन्न करैत अछि: \n"
++"Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
++"शेल स्क्रिप्ट केँ कंपाइल/संस्थापित करने आ फाइल/निर्देशिका केँ फेर लेबल करबाक लेल चलाएं.\n"
++"semanage अथवा useradd क प्रयोग Linux लॉगिन प्रयोक्ता केँ प्रयोक्ता भूमिका मे मैप करबाक "
++"लेल करू\n"
++"आब अहाँ मशीन केँ अनुज्ञात्मक मोड मे (setenforce 0) राखि सकैत अछि. \n"
++"प्रयोक्ता क रूपेँ लॉगिन करू आओर ई प्रयोक्ता भूमिका क जांच करू.\n"
++"audit2allow -R केँ te फाइल क लेल बाइली नियम बनाबै क लेल प्रयोग करू.\n"
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ई अओजार निम्नलिखित केँ उत्पन्न करैत अछि: \n"
++"Type Enforcment(te), File Context(fc), Interface(if), Shell Script(sh).\n"
++"\n"
++"शेल स्क्रिप्ट केँ कंपाइल/संस्थापित करने आ फाइल/निर्देशिका केँ फेर लेबल करबाक लेल चलाएं. \n"
++"आब अहाँ मशीन केँ अनुज्ञात्मक मोड मे (setenforce 0) राखि सकैत अछि. \n"
++"avc संदेश चलाबै क लेल अनुप्रयोग केँ चलाएं/फेर आरंभ करू.\n"
++"audit2allow -R केँ te फाइल क लेल बाइली नियम बनाबै क लेल प्रयोग करू.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "बुलियन संवाद जोड़ि रहल अछि"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "बूलियन नाम"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "भूमिका"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "मोजुदा प्रयोक्ता (_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "अनुप्रयोग"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s केँ जरूर निर्देशिका होनी चाही"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "अहाँकेँ जरूर प्रयोक्ता चुननाइ अछि"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "सीमित रहबा क लेल एक्सक्यूटेबल फाइल चुनू."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "सीमित होएबा क लेल init स्क्रिप्ट चुनू."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "फाइल केँ चुनू जकरा सीमित अनुप्रयोग बनाबैत अछि आ लिखैत अछि"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "निर्देशिका चुनू जिसका सीमित अनुप्रयोग मालिक अछि आ जकरामे लिखैत अछि"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "निर्देशिका चुनू जकरामे पॉलिसी फाइल केँ लिखल जएनाइ अछि"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"मोजुदा नीति मे %s_t पहिने सँ परिभाषित अछि.\n"
++"की अहाँ जारी रखबा चाहैत अछि?"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "नाम जांचें"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"माड्यूल %s.pp पहिने सँ मोजुदा नीति मे लोड कएल अछि.\n"
++"की अहाँ जारी रखबा चाहैत अछि?"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "अहाँकेँ एकटा नाम अवश्य दाखिल कएनाइ अछि"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "अहाँ जरूर एकटा एक्सक्यूटेबल दिअ'"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux विन्यस्त करू"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "अपनी सीमित प्रक्रिया/प्रयोक्ता क लेल अहाँ अपन नाम जरूर दिअ'"
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER प्रकार अनुमति प्राप्त एक्सक्यूटेबल नहि अछि"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "सिर्फ DAEMON apps एकटा init स्क्रिप्ट क प्रयोग कए सकैत अछि"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog क पास जरूर बूलियन मान होएबा चाही"
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "अपन सीमति प्रक्रिया क लेल अहाँ जरूर अपन एक्सक्यूटेबल पथ दिअ'"
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "अंतरफलक फाइल"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "फाइल संदर्भ फाइल"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "सेटअप स्क्रिप्ट"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux पोर्ट\n"
++"प्रकार"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "प्रोटोकॉल"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"स्तर"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "पोर्ट"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "पोर्ट संख्या \"%s\" वैध नहि अछि.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "अंतिम दृश्य"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "समूह दृश्य"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux सेवा सुरक्षा"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "सभटा डीमन केँ कोरफाइल केँ / मे लिखबा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "सभटा डीमन केँ गैर आबंटति ttys क प्रयोग क छूट दिअ'"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "प्रयोक्ता Privs"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "स्मृति सुरक्षा"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java एक्सक्यूटेबल स्टैक क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "आरोह"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "कोनो फाइल केँ माउंट करबाक लेल mount केँ अनुमति दिअ'"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "कोनो निर्देशिका केँ माउंट करबाक लेल mount केँ अनुमति दिअ'"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer एक्सक्यूटेबल स्टैक क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh केँ ssh-keysign चलाबै क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "संजाल विन्यास"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "संजाल पर बिनु लेबल कएल पैकेट केँ स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "असीमित केँ dyntrans सँ unconfined_execmem मे स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "डाटाबेस"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "प्रयोक्ता केँ mysql सॉकेट मे जोड़बा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "प्रयोक्ता केँ postgres सॉकेट मे जोड़बा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "क्लाइंट केँ X साझा स्मृति मे लिखबा क अनुमति दिअ'"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "NIS क डीमन चलाबै क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "वेब अनुप्रयोग"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "स्टाफ SELinux प्रयोक्ता केँ वेब ब्राउजर डोमेन मे लए जाउ"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux प्रयोक्ता केँ वेब ब्राउजर डोमेन मे लए जाउ"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "प्रयोक्ता SELinux प्रयोक्ता केँ वेब ब्राउजर डोमेन मे लए जाउ"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux प्रयोक्ता केँ वेब ब्राउजर डोमेन मे लए जाउ"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "स्टाफ वेब ब्राउजर केँ होम निर्देशिका मे लिखबा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Cluster Server क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord केँ विभिन्न सामग्री केँ पढ़बा क लेल स्वीकृति दिअ'. nfs, samba, विस्थापनीय "
++"युक्ति, user temp आओर अविश्वसनीय सामग्री फाइल"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "क्रॉन"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "छापि रहल अछि"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd बैकेंड सर्वर क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t केँ सीधे डीमन केँ आरंभ करने क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Evolution क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "खेल"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "गेम क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "वेब ब्राउजर क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbird क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "सुसंगतता"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"ओ चीजक ऑडिट नहि करू जकरा हम टूटे हुए क तौर पर जानैत अछि मुदा जे सुरक्षा खतरा नहि अछि"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "hplip डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD सेवा"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd child डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "करबरोस"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "प्रयोक्ता फाइल पढ़बा क लेल evolution आओर thunderbird केँ स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "मोजिला ब्राउजर केँ प्रयोक्ता फाइल पढ़बा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "नाम सेवा"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "सांबा"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "pppd केँ नियमित प्रयोक्ता क रूपेँ चलबा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "गैर मानक स्थान मे फाइल केँ पढ़बा क प्रोग्राम केँ अनुमति दिअ' (default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh केँ inetd सँ चलबा क स्वीकृति डीमनक रूप क बजाय दिअ'"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba केँ nfs निर्देशिका साझा करने क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL सत्यापन सर्वर"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl सत्यापन सर्वर केँ /etc/shadow केँ पढ़बा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows सर्वर केँ एक्सक्यूटेबल आ लिखबा योग्य दोनों रूपेँ स्मृति क्षेत्र मे मैप करने क स्वीकृति "
++"दिअ'"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo आओर su प्रभावित मे संक्रमण क स्वीकृति नहि दिअ'"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "कर्नेल माड्यूल लोड करबाक लेल कोनो प्रक्रिया क अनुमति नहि दिअ'"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "कर्नेल SELinux पॉलिसी मे कोनो प्रक्रिया केँ नहि स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroublesoot डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "स्पैम सुरक्षा"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd केँ होम निर्देशिका क अभिगम क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assasin डीमन संजाल अभिगम क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid डीमन केँ संजाल सँ कनेक्ट होएबा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh लॉगिन केँ sysadm_r:sysadm_t क रूपेँ स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r प्रयोक्ता केँ sysadm होम निर्देशिका आ रीड फाइल केँ खोजबा क स्वीकृति "
++"दिअ' (जहिना जे ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "सार्वभौमिक SSL टनेल"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel डीमन केँ पृथक चलाबै क स्वीकृति दिअ', xinetd क बाहर"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "system cron jobs  क लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd केँ असीमित रूपेँ चलबा क स्वीकृति दिअ', कोनो सेवा क संग जे ई आरंभ करैत अछि जे डोमेन "
++"संक्रमण केँ अलग सँ परिभाषित नहि राखैत अछि"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc स्क्रिप्ट केँ असीमित रूपेँ चलबा क स्वीकृति दिअ', कोनो सेवा क संग जे rc स्क्रिप्ट आरंभ करैत "
++"अछि जे डोमेन संक्रमण केँ अलग सँ परिभाषित नहि राखैत अछि"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm केँ असीमित रूपेँ चलबाक स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"हॉटप्लग आओर insmod क तरह क सुविधा प्राप्त उपयोगिता केँ असीमित रूपेँ चलबा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r केँ sysadm_r पर su, sudo, अथवा userhelper सँ भएकए पहुंचने क अनुमति दिअ'. "
++"अन्यथा, सिर्फ staff_r ऐसा कए सकैत अछि"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "प्रयोक्ता केँ mount कमांड चलाबै क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"नियमित प्रयोक्ता केँ सीधा माउस अभिगम क स्वीकृति दिअ' (सिर्फ X सर्वर केँ अनुमति दिअ')"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "प्रयोक्ता केँ dmesg कमांड चलाबै क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"प्रयोक्ता केँ संजाल अंतरफलक नियंत्रित करने क स्वीकृति दिअ' (USERCTL=true क सही क जरूरत "
++"अछि)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "सामान्य प्रयोक्ता केँ पिंग करने क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "r/w noextattrfile (FAT, CDROM, FLOPPY) करबाक लेल प्रयोक्ता केँ स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "usb युक्ति केँ rw बनाबै क लेल प्रयोक्ता केँ स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"प्रयोक्ता केँ TCP सर्वर (bind to ports and accept connection from the same domain "
++"and outside users) चलाबै क स्वीकृति दिअ' ई बल केँ FTP निष्क्रिय मोड मे निष्क्रिय करते "
++"हुए आओर आन प्रोटोकॉल बदल सकैत अछि"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ttyfiles केँ stat क लेल प्रयोक्ता केँ स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm लॉगिन केँ sysadm_r:sysadm_t क रूपेँ स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "भौतिक डिस्क युक्ति केँ xen केँ पढ़बा/लिखबा क स्वीकृति दिअ'"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "SELinux सुरक्षा केँ xen नियंत्रण क लेल निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS Password डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS Transfer डीमनक लेल SELinux सुरक्षा निष्क्रिय करू"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm प्रयोक्ता केँ अनधिकृत प्रयोक्ता होम निर्देशिकाओं केँ प्रबंधित करने क स्वीकृति "
++"दिअ'"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm प्रयोक्ता केँ अनधिकृत प्रयोक्ता होम निर्देशिकाओं केँ पढ़बा स्वीकृति दिअ'"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "की अहाँ निश्चित अछि जे अहाँ %s '%s' केँ मेटोअनाइ चाहैत अछि?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s मेटाउ"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s जोड़ू"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s बदलू"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "अनुज्ञात्मक"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "बाध्यकारी"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "निष्क्रिय"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "स्थिति"
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++"SELinux केँ निष्क्रिय मे बदलबा क लेल रिबूट क जरूरत होती अछि.  एकर सलाह नहि दी जाती "
++"अछि.  जँ अहाँ SELinux केँ वापस लौटाने क सोचते अछि, सिस्टम केँ रिलेबल करने क जरूरत हाएत.  "
++"जँ अहाँ ई देखना चाहैत अछि जे SELinux सिस्टम पर समस्या दे रहल अछि, अहाँ अनुज्ञात्मक मोड मे "
++"जाए सकैत अछि जे सिर्फ त्रुटि देगा आओर SELinux पॉलिसी केँ बाध्यकारी नहि करताह.  "
++"अनुज्ञात्मक मोड क लेल रिबूट क जरूरत नहि अछि, की अहाँ जारी रखबा चाहैत अछि?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"सक्रिय SELinux स्थिति मे बदलना अगले बूट पर पूरे फाइल सिस्टम क फेर लेबल कएल जाने क कारण "
++"बनेगा. फाइल सिस्टम क आकार क आधार पर फेर सँ लेबल कएल जएनाइ काफी समय लेता अछि. की "
++"अहाँ जारी रखबा चाहब?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux लॉगिंग मैपिंग"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux संजाल पोर्ट"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux प्रकार"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"स्तर"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "फाइल विशेषता"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "फाइल प्रकार"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"सभटा फाइल\n"
++"नियमित फाइल\n"
++"निर्देशिका\n"
++"संप्रतीक युक्ति\n"
++"ब्लॉक युक्ति\n"
++"सॉकेट\n"
++"सांकेतिक लिंक\n"
++"नामित पाइप\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux प्रयोक्ता जोड़ू"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux प्रशासन"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "जोड़ू"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "गुण (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "विलोपित करू (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "प्रबंधन वस्तु चुनू"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>चुनू:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "सिस्टम पूर्वनिर्धारित बाध्यकारी मोड"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "मोजुदा पुनर्बलन मोड"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "सिस्टम पूर्वनिर्धारित पॉलिसी प्रकार: "
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"चुनू जँ अहाँ पूरे फाइल सिस्टम केँ अगले रिबूट पर फेर लेबल कएनाइ चाहैत अछि.  रिलेबल कएनाइ लंबा "
++"समय लए सकैत अछि, सिस्टम क आकार पर निर्भर करते हुए.  जँ अहाँ पॉलिसी प्रकार केँ निष्क्रिय "
++"सँ बाध्यकारी मे बदल रहे अछि, फेर लेबल कएनाइ जरूरी अछि."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "अगले रिबूट पर फेर लेबल करू."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "सिस्टम पूर्वनिर्धारित मे बुलियन सेटिंग वापस लाएं"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "पसंदीदा आओर सभटा बुलियन क बीच टॉगल करू"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "फिल्टर"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "फाइल संदर्भ जोड़ू"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "फाइल संदर्भ बदलू"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "फाइल संदर्भ मेटाउ"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "सभटा आओर पसंदीदा फाइल संदर्भ क बीच टॉगल करू"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux प्रयोक्ता मैपिंग जोड़ू"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux प्रयोक्ता मैपिंग बदलू"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux प्रयोक्ता मैपिंग मेटाउ"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "अनुवाद जोड़ू"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "अनुवाद रूपांतरित करू"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "अनुवाद मेटाउ"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "संजाल पोर्ट जोड़ू"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "संजाल पोर्ट संपादित करू"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "संजाल पोर्ट मेटाउ"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "पसंदीदा आओर सभटा पोर्ट क बीच टॉगल करू"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "नवीन पॉलिसी माड्यूल उत्पन्न करू"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "पॉलिसी माड्यूल लोड करू."
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "लोड करने लायक सार्वजनिक माड्यूल हटाउ"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"बाइली ऑडिट नियम सक्रिय/निष्क्रिय करू, जे लॉग फाइल मे सामान्यतः रिपोर्ट नहि कएल गेल "
++"अछि."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux प्रयोक्ता '%s' जरूरी अछि"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "संवेदनशीलता स्तर"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/Makefile policycoreutils-2.0.85/po/Makefile
+--- nsapolicycoreutils/po/Makefile     2011-02-17 15:11:25.174734053 -0500
++++ policycoreutils-2.0.85/po/Makefile 2011-02-17 15:23:37.422756127 -0500
+@@ -45,6 +45,33 @@
+       ../restorecond/stringslist.h \
+       ../restorecond/restorecond.c \
+       ../restorecond/utmpwatcher.c \
++      ../gui/booleansPage.py \
++      ../gui/fcontextPage.py \
++      ../gui/loginsPage.py \
++      ../gui/mappingsPage.py \
++      ../gui/modulesPage.py \
++      ../gui/polgen.glade \
++      ../gui/polgengui.py \
++      ../gui/polgen.py \
++      ../gui/portsPage.py \
++      ../gui/selinux.tbl \
++      ../gui/semanagePage.py \
++      ../gui/statusPage.py \
++      ../gui/system-config-selinux.glade \
++      ../gui/system-config-selinux.py \
++      ../gui/usersPage.py \
++      ../gui/templates/executable.py \
++      ../gui/templates/__init__.py \
++      ../gui/templates/network.py \
++      ../gui/templates/rw.py \
++      ../gui/templates/script.py \
++      ../gui/templates/semodule.py \
++      ../gui/templates/tmp.py \
++      ../gui/templates/user.py \
++      ../gui/templates/var_lib.py \
++      ../gui/templates/var_log.py \
++      ../gui/templates/var_run.py \
++      ../gui/templates/var_spool.py \
+       ../secon/secon.c \
+ #default:: clean
+@@ -80,8 +107,10 @@
+ install: $(MOFILES)
+       @for n in $(MOFILES); do \
+           l=`basename $$n .mo`; \
+-          $(INSTALL_DIR) $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
+-          $(INSTALL_DATA) --verbose $$n $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
++          if test -r $$n; then \
++                  $(INSTALL_DIR) $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
++                  $(INSTALL_DATA) --verbose $$n $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
++          fi; \
+       done
+ %.mo: %.po
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/Makefile.in.in policycoreutils-2.0.85/po/Makefile.in.in
+--- nsapolicycoreutils/po/Makefile.in.in       2011-02-17 15:11:25.153734404 -0500
++++ policycoreutils-2.0.85/po/Makefile.in.in   2011-02-17 15:23:37.434756214 -0500
+@@ -117,9 +117,11 @@
+           $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
+           echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
+         else \
+-          $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
+-          echo "installing $(srcdir)/$$cat as" \
+-               "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
++          if test -r $(srcdir)/$$cat; then \
++            $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
++            echo "installing $(srcdir)/$$cat as" \
++                       "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
++          fi; \
+         fi; \
+         if test -r $$cat.m; then \
+           $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/mk.po policycoreutils-2.0.85/po/mk.po
+--- nsapolicycoreutils/po/mk.po        2011-02-17 15:11:25.778724070 -0500
++++ policycoreutils-2.0.85/po/mk.po    2011-02-18 16:03:41.384975854 -0500
+@@ -8,15 +8,35 @@
+ msgstr ""
+ "Project-Id-Version: mk\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: 2007-07-28 23:44+0200\n"
+ "Last-Translator: Arangel Angov <arangel@linux.net.mk>\n"
+ "Language-Team: Macedonian <ossm-members@hedona.on.net.mk>\n"
++"Language: mk\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "Потребен е SELinux-тип"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Не можам да ја прочитам политиката на складиштето."
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -130,7 +150,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -184,749 +205,756 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Не можев да креирам клуч за %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Не можев да проверам дали е дефинирано мапирање за најава за %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Мапирањето за најава за %s е веќе дефинирано"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, fuzzy, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux-корисникот %s не постои"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux-корисникот %s не постои"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Не можев да креирам мапирање за најава за %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Не можев да поставам име за %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Не можев да поставам MLS-опсег за %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Не можев да поставам SELinux-корисник за %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Не можев да додадам мапирање за најава за %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ #, fuzzy
+ msgid "add SELinux user mapping"
+ msgstr "Не можев да го додадам SELinux-корисникот %s"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Побарува seuser или serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Мапирањето за најава за %s не е дефинирано"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Не можев да пребарувам во seuser за %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Не можев да го изменам мапирањето за најава за %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Мапирањето за најава за %s е дефинирано во политиката и не може да биде "
+ "избришан"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Не можев да го избришам мапирањето за најава за %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Не можев да ги прикажам мапирањата за најави"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ #, fuzzy
+ msgid "SELinux User"
+ msgstr "Потребен е SELinux-тип"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Не можев да додадам контекст за датотека за %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Не можев да проверам дали е дефиниран SELinux-корисникот %s"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux-корисникот %s е веќе дефиниран"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Не можев да креирам SELinux-корисник за %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Не можев да ја додадам улогата %s за %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Не можев да го поставам MLS-нивото за %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Не можев да го додадам префиксот %s за %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Не можев да го извлечам клучот за %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Не можев да го додадам SELinux-корисникот %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Побарува префикс, улоги, ниво или опсег"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Побарува префикс или улоги"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux-корисникот %s не е дефиниран"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Не можев да пребарувам во корисниците за %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Не можев да го изменам SELinux-корисникот %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "SELinux-корисникот %s е дефиниран во политиката и не може да биде избришан"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Не можев да го избришам SELinux-корисникот %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Не можев да ги прикажам SELinux-корисниците"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Не можев да ги прикажам улогите за корисникот %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Потребен е протокол udp или tcp"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Потребна е порта"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Не можев да креирам клуч за %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Потребен е тип"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Не можев да проверам дали е дефинирана порта %s/%s"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Портата %s/%s е веќе дефинирана"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Не можев да креирам порта за %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Не можев да креирам контекст за %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Не можев да поставам корисник во контекстот за порта за %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Не можев да поставам улога во контекстот за порта за %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Не можев да поставам тип во контекстот за порта за %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Не можев да поставам mls-полиња во контекстот за порта за %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Не можев да поставам контекст за порта за %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Не можев да ја додадам портата %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Побарува setype или serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Побарува setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Портата %s/%s не е дефинирана"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Не можев да пребарувам на портата %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Не можев да ја изменам портата %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ #, fuzzy
+ msgid "Could not list the ports"
+ msgstr "Не можев да ги прикажам портите"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Не можев да ја избришам портата %s/%s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Портата %s/%s е дефинирана во политиката и не може да биде избришана"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Не можев да ја избришам портата %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Не можев да ги прикажам портите"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ #, fuzzy
+ msgid "Node Address is required"
+ msgstr "Потребна е порта"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ #, fuzzy
+ msgid "Node Netmask is required"
+ msgstr "Потребна е порта"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Потребен е SELinux-тип"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Не можев да креирам клуч за %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, fuzzy, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Не можев да проверам дали е дефинирана порта %s/%s"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "Портата %s/%s е веќе дефинирана"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Не можев да креирам клуч за %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Не можев да креирам контекст за %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Не можев да поставам име за %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Не можев да поставам корисник во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Не можев да поставам улога во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Не можев да поставам тип во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Не можев да поставам mls-полиња во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Не можев да поставам контекст за датотека за %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Не можев да ја додадам портата %s/%s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Портата %s/%s не е дефинирана"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Не можев да пребарувам на портата %s/%s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Не можев да ја изменам портата %s/%s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, fuzzy, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Портата %s/%s е дефинирана во политиката и не може да биде избришана"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Не можев да го избришам интерфејсот %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Не можев да ги прикажам портите"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Не можев да проверам дали е дефиниран интерфејсот %s"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Интерфејсот %s е веќе дефиниран"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Не можев да креирам интерфејс за %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Не можев да поставам корисник во контекстот за интерфејс за %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Не можев да поставам улога во контекстот за интерфејс за %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Не можев да поставам тип во контекстот за интерфејс за %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Не можев да поставам mls-полиња во контекстот за интерфејс за %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Не можев да поставам контекст за интерфејс за %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Не можев да поставам контекст за порака за %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Не можев да го додадам интерфејсот %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Интерфејсот %s не е дефиниран"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Не можев да пребарувам на интерфејсот %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Не можев да го изменам интерфејсот %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Интерфејсот %s е дефиниран во политиката и не може да биде избришан"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Не можев да го избришам интерфејсот %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Не можев да ги прикажам интерфејсите"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Не можев да поставам корисник во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Не можев да поставам улога во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Не можев да поставам mls-полиња во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Не можев да проверам дали е дефиниран контекст за датотека за %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Контекстот за датотека за %s е веќе дефиниран"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Не можев да креирам контекст за датотека за %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Не можев да поставам тип во контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Не можев да поставам контекст за датотека за %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Не можев да додадам контекст за датотека за %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Побарува setype, serange или seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Контекстот за датотека за %s не е дефиниран"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Не можев да пребарувам во контекстот на датотека за %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Не можев да го изменам контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ #, fuzzy
+ msgid "Could not list the file contexts"
+ msgstr "Не можев да ги прикажам контекстите на датотеките"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, fuzzy, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Не можев да го избришам контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Контекстот за датотека за %s е дефиниран во политиката и не може да биде "
+ "избришан"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Не можев да го избришам контекстот за датотека за %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Не можев да ги прикажам контекстите на датотеките"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Не можев да ги прикажам контекстите на локалните датотеки"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Не можев да проверам дали е дефинирана логичката вредност %s"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Логичката вредност %s не е дефинирана"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Не можев да го пребарувам контекстот на датотека %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Мора да наведете префикс"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Не можев да ја избришам логичката вредност %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Не можев да ја изменам логичката вредност %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Логичката вредност %s е дефинирана во политиката и не може да биде избришана"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Не можев да ја избришам логичката вредност %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Не можев да ги прикажам логичките вредности"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1300,86 +1328,2087 @@
+ msgid "Options Error %s "
+ msgstr "Грешка во опциите %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "преводите не се поддржани на машини што немаат MLS"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "Потребен е SELinux-тип"
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Потребен е SELinux-тип"
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Грешка при испраќањето порака за контрола.\n"
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Мора да наведете улога"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++#: ../gui/fcontextPage.py:81
+ #, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Мора да наведете улога"
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr "Потребен е SELinux-тип"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Мора да наведете улога"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Генерирам датотека за тип на спроведување: %s.te"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Интерфејсот %s не е дефиниран"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "Контекстот за датотека за %s не е дефиниран"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux-корисникот %s не е дефиниран"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Компилирам политика"
++#: ../gui/loginsPage.py:133
++#, fuzzy, python-format
++msgid "Login '%s' is required"
++msgstr "Потребен е SELinux-тип"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Проверувам %s за автентичност.\n"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "Потребен е SELinux-тип"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Не можев да го додадам SELinux-корисникот %s"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Не можев да го изменам SELinux-корисникот %s"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Не можев да го избришам SELinux-корисникот %s"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Не можев да го изменам SELinux-корисникот %s"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Не можам да ја прочитам политиката на складиштето."
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Потребен е SELinux-тип"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++#, fuzzy
++msgid "Sends audit messages"
++msgstr "Грешка при испраќањето порака за контрола.\n"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++#, fuzzy
++msgid "You must select a user"
++msgstr "Мора да наведете улога"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++#, fuzzy
++msgid "You must enter a name"
++msgstr "Мора да наведете улога"
++
++#: ../gui/polgengui.py:610
++#, fuzzy
++msgid "You must enter a executable"
++msgstr "Мора да наведете улога"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++#, fuzzy
++msgid "Type Enforcement file"
++msgstr "Генерирам датотека за тип на спроведување: %s.te"
++
++#: ../gui/polgen.py:849
++#, fuzzy
++msgid "Interface file"
++msgstr "Интерфејсот %s не е дефиниран"
++
++#: ../gui/polgen.py:850
++#, fuzzy
++msgid "File Contexts file"
++msgstr "Контекстот за датотека за %s не е дефиниран"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++#, fuzzy
++msgid "SELinux Service Protection"
++msgstr "SELinux-корисникот %s не е дефиниран"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++#, fuzzy
++msgid "Compatibility"
++msgstr "Компилирам политика"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++#, fuzzy
++msgid "SASL authentication server"
++msgstr "Проверувам %s за автентичност.\n"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++#, fuzzy
++msgid "SELinux Type"
++msgstr "Потребен е SELinux-тип"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++#, fuzzy
++msgid "Add SELinux User"
++msgstr "Не можев да го додадам SELinux-корисникот %s"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++#, fuzzy
++msgid "Modify SELinux User Mapping"
++msgstr "Не можев да го изменам SELinux-корисникот %s"
++
++#: ../gui/system-config-selinux.glade:2219
++#, fuzzy
++msgid "Delete SELinux User Mapping"
++msgstr "Не можев да го избришам SELinux-корисникот %s"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++#, fuzzy
++msgid "Add User"
++msgstr "Не можев да го додадам SELinux-корисникот %s"
++
++#: ../gui/system-config-selinux.glade:2390
++#, fuzzy
++msgid "Modify User"
++msgstr "Не можев да го изменам SELinux-корисникот %s"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++#, fuzzy
++msgid "Load policy module"
++msgstr "Не можам да ја прочитам политиката на складиштето."
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, fuzzy, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Потребен е SELinux-тип"
++
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "преводите не се поддржани на машини што немаат MLS"
+ #~ msgid "Requires value"
+ #~ msgstr "Побарува вредност"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ml.po policycoreutils-2.0.85/po/ml.po
+--- nsapolicycoreutils/po/ml.po        2011-02-17 15:11:25.821723374 -0500
++++ policycoreutils-2.0.85/po/ml.po    2011-02-18 16:03:41.385975861 -0500
+@@ -1,3 +1,4 @@
++# translation of policycoreutils.HEAD.ml.po to
+ # translation of ml.po to
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+@@ -5,12 +6,13 @@
+ # Ani Peter <apeter@redhat.com>, 2006, 2007.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: ml\n"
++"Project-Id-Version: policycoreutils.HEAD.ml\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-04-01 13:24+0530\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-03 12:56+0530\n"
+ "Last-Translator: \n"
+ "Language-Team:  <en@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -20,6 +22,23 @@
+ "\n"
+ "\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "ഒരു ഗ്രാഫിക്കല്‍ സജ്ജീകരണത്തില്‍ SELinux ക്രമീകരിയ്ക്കുക"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux മാനേജ്മെന്റ്"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux യ പോളിസി ഘങ്ങള്‍ തയ്യാറാക്കുക"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux പോളിസി ഉത്പാദന പ്രയോഗം"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -27,7 +46,7 @@
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+ "USAGE: run_init <script> <args ...>\n"
+-"  where: <script> പ്രവറ്‍ത്തിപ്പിക്കുവാനുളള init scriptന്‍റെ പേര്,\n"
++"  where: <script> പ്രവര്‍ത്തിപ്പിക്കുവാനുളള init scriptന്‍റെ പേര്,\n"
+ "         <args ...> സ്ക്രിപ്പ്റ്റിനുളള arguments."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+@@ -57,7 +76,7 @@
+ #: ../run_init/run_init.c:275
+ #, c-format
+ msgid "run_init: incorrect password for %s\n"
+-msgstr "run_init: %sന് തെറ്റായ പാസ്വേഡ് \n"
++msgstr "run_init: %sന് തെറ്റായ  പാസ്‌വേര്‍ഡ് \n"
+ #: ../run_init/run_init.c:309
+ #, c-format
+@@ -102,16 +121,15 @@
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "പോളിസി സ്റ്റോറ്‍ വായിക്കുവാന്‍ സാധിക്കുന്നില്ല."
++msgstr "പോളിസി സ്റ്റോര്‍ വായിക്കുവാന്‍ സാധിക്കുന്നില്ല."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+ msgstr "semanage കണക്ഷന്‍ സ്ഥാപിക്കുവാന്‍ സാധ്യമല്ല"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%sന് MLS റയ്ന്ച് സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "MLS സജ്ജമാക്കിയ അവസ്ഥ പരീക്ഷിക്കുവാന്‍ സാധ്യമായില്ല"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -126,14 +144,15 @@
+ msgid "Level"
+ msgstr "ലവല്‍"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "തര്‍ജ്ജമ"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "തറ്‍ജിമകളില്‍ spaces '%s' ഉണ്ടാകുവാന്‍ പാടില്ല"
++msgstr "തര്‍ജമകളില്‍ spaces '%s' ഉണ്ടാകുവാന്‍ പാടില്ല"
+ #: ../semanage/seobject.py:250
+ #, python-format
+@@ -156,764 +175,765 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "സെമനേജ് ഇടപാടു് നിലവില്‍ പുരോഗമിക്കുന്നു"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage transaction ആരംഭിക്കുവാന്‍ സാധിച്ചില്ല"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage transaction ആരംഭിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "semanage transaction സമര്‍പ്പിക്കുവാന്‍ സാധ്യമായില്ല"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "സെമനേജ് ഇടപാടു് പുരോഗമിക്കുന്നില്ല"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux യൂസറുകളെ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "SELinux ഘടകങ്ങള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "പെര്‍മിസ്സീവ്"
++msgstr "പെര്‍മിസ്സീവ് തരത്തിലുള്ളവ"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "പെര്‍മ്മിസ്സീവ് ഘടകം %s ക്രമികരിക്കുവാന്‍ സാധ്യമായില്ല (ഘടകം ഇന്‍സ്റ്റലേഷന്‍ പരാജയപ്പെട്ടു)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "പെര്‍മ്മിസ്സീവ് ഘടകം %s നീക്കം ചെയ്യുവാന്‍ സാധ്യമായില്ല (നീക്കം ചെയ്യല്‍ പരാജയപ്പെട്ടു)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%sയ്ക്ക് ഒരു കീ ഉണ്ടാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് define ചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് define ചെയ്തിട്ടണ്ട്"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "%s എന്ന Linux യൂസറ്‍ നിലവിലില്ല"
++msgstr "%s എന്ന ലിനക്സ് ഗ്രൂപ്പ് നിലവിലില്ല"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+-msgstr "%s എന്ന Linux യൂസറ്‍ നിലവിലില്ല"
++msgstr "%s എന്ന Linux ഉപയോക്താവു് നിലവിലില്ല"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് ഉണ്ടാക്കുവാന് സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr "%sന് പേര് സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sന് പേര് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr "%sന് MLS റയ്ന്ച് സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sന് MLS പരിധി സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+-msgstr "%sന് SELinux യൂസറിനെ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sന് SELinux ഉപയോക്താവിനെ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് ചേര്‍ക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux യൂസര്‍ മാപ്പിങ് ചേര്‍ക്കുക"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser അല്ലെന്കില്‍ serange ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് define ചെയ്തിട്ടില്ല"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Could not query seuser for %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് പരിഷ്കരിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് പോളിസിയില്‍ define ചെയ്തിട്ടുണ്ട്, നീക്കം ചെയ്യുവാന്‍ സാധ്യമല്ല"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%sനുളള ലോഗിന്‍ മാപ്പിംങ് പരിഷ്കരിക്കുവാന്‍ നീക്കം ചെയ്യുവാന്‍ സാസാധിച്ചില്ല"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "ലോഗിന്‍ മാപ്പിംങുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "പ്രവേശന നാമം"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux ഉപയോക്താവ്"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS പരിധി"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%sനുളള ഫൈല്‍ context ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നു് കുറഞ്ഞതു് ഒരു ജോലി എങ്കിലും ചേര്‍ത്തിരിക്കണം"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+-msgstr "%sഎന്ന SELinux യൂസറ്‍ define ചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sഎന്ന SELinux ഉപയോക്താവു്്നല്‍കിയിട്ടുണ്ടോടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr "%sഎന്ന SELinux യൂസറ്‍ define ചെയ്തിട്ടുണ്ട്"
++msgstr "%s എന്ന SELinux ഉപയോക്താവു് നിലവിലുണ്ടു്"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr "%sഎന്ന SELinux യൂസറ്‍ സൃഷ്ടിക്കുവാന്‍ സാധിച്ചില്ല "
++msgstr "%s എന്ന SELinux ഉപയോക്താവിനെ സൃഷ്ടിക്കുവാന്‍ സാധിച്ചില്ല "
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+-msgstr "%sന് റോള്‍ %s ചേറ്‍ക്കുവാന്‍ സാധിക്കില്ല"
++msgstr "%s നു് റോള്‍ %s ചേര്‍ക്കുവാന്‍ സാധിക്കില്ല"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+-msgstr "%sന് MLS ലവല്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sന് MLS പരിധി സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr "%sന് പ്രഫിക്സ് %s ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sന് പ്രഫിക്സ് %s ചേര്‍ക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%sന് കീ extract ചെയ്യുവാന്‍ സാധിക്കില്ല"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+-msgstr "SELinux യൂസറ്‍ %s ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "SELinux ഉപയോക്താവു് %s ചേര്‍ക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "പ്രഫിക്സ്, റോളുകള്‍,ലവലുകള്‍ അല്ലെന്കില്‍ റയിന്ചുകള്‍ ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "പ്രഫിക്സ് അല്ലെന്കില്‍ റോളുകള്‍ ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr "%sഎന്ന SELinux യൂസറ്‍ define ചെയ്തിട്ടില്ല"
++msgstr "%s എന്ന SELinux ഉപയോക്താവു് നല്‍കിയിട്ടില്ല"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+-msgstr "Could not query user for %s"
++msgstr "%s-നുള്ള ഉപയോക്താവിനെ ലഭ്യമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+-msgstr "SELinux യൂസറ്‍ %sനെ പരിഷ്കരിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "SELinux ഉപയോക്താവു് %s-നെ പരിഷ്കരിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr "SELinux യൂസറ്‍ %sനെ പോളിസിയില്‍ define ചെയ്തിട്ടുണ്ട്, നീക്കം ചെയ്യുവാന്‍ സാധ്യമല്ല"
++msgstr "SELinux ഉപയോക്താവു് %s-നെ പോളിസിയില്‍ ലഭ്യമാക്കിയിട്ടുണ്ടു്, നീക്കം ചെയ്യുവാന്‍ സാധ്യമല്ല"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "%sന് SELinux യൂസറിനെ നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr "SELinux യൂസറുകളെ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "SELinux ഉപയോക്താക്കളെ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+-msgstr "യൂസറ്‍ %sനുളള റോളുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "ഉപയോക്താവു് %s-നുളള റോളുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "പേരിടല്‍"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "പ്രിഫിക്സ്"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS ലവല്‍"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS പരിധി"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux റോളുകള്‍"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "udp അല്ലെന്കില്‍ tcp എന്ന പ്രോട്ടോക്കോളുകള്‍ ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+-msgstr "പോറ്‍ട്ട് ആവശ്യമുണ്ട്"
++msgstr "പോര്‍ട്ട് ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%sയ്ക്ക് കീ സൃഷ്ടിക്കുവാന്‍ സാധിച്ചില്ല "
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "ടൈപ്പ് ആവശ്യമുണ്ട്ല്ല "
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+-msgstr "%s/%sഎന്ന പോറ്‍ട്ട് define ചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%sഎന്ന പോര്‍ട്ട് നല്‍കിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+-msgstr "പോറ്‍ട്ട് %s/%s already defined"
++msgstr "പോര്‍ട്ട് %s/%s നിലവില്‍ ലഭ്യമാക്കിയിട്ടുണ്ടു്"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+-msgstr "%s/%sഎന്ന പോറ്‍ട്ട് സൃഷ്ടിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%sഎന്ന പോര്‍ട്ട് സൃഷ്ടിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%sന് context സൃഷ്ടിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr "%s/%sന് പോറ്‍ട്ട് contextല്‍ യൂസറ്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%sന് പോര്‍ട്ട് കോണ്‍ടെക്സ്റ്റില്‍ ഉപയോക്താവിനെ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr "%s/%sന് പോറ്‍ട്ട് contextല്‍ റോള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%sന് പോര്‍ട്ട് കോണ്‍ടെക്സ്റ്റില്‍ റോള്‍ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr "%s/%sന് പോറ്‍ട്ട് contextല്‍ യൂസറ്‍ ടൈപ്പ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%s-നുള്ള പോര്‍ട്ട് കോണ്‍ടെക്സ്റ്റില്‍ ഏതു് തരം എന്നു് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr "%s/%sന് പോറ്‍ട്ട് contextല്‍ mls ഫീല്‍ഡുകള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%sന് പോര്‍ട്ട് കോണ്‍ടെക്സ്റ്റില്‍ mls ഫീല്‍ഡുകള്‍ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr "%s/%sന് പോറ്‍ട്ട് context സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%sന് പോര്‍ട്ട് കോണ്‍ടെക്സ്റ്റ് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+-msgstr "%s/%s എന്ന പോറ്‍ട്ട് ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%s എന്ന പോര്‍ട്ട് ചേര്‍ക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype അല്ലന്കില്‍ serange ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+-msgstr "പോറ്‍ട്ട് %s/%s define ചെയ്തിട്ടില്ല"
++msgstr "പോര്‍ട്ട് %s/%s ലഭ്യമാക്കിയിട്ടില്ല"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+-msgstr "%s/%s എന്ന പോറ്‍ട്ട് ചോദ്യം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s/%s എന്ന പോര്‍ട്ട് ചോദ്യം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+-msgstr "പോറ്‍ട്ട് %s/%s പരിഷ്ക്കരിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "പോര്‍ട്ട് %s/%s പരിഷ്ക്കരിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "പോര്‍ട്ടുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "പോര്‍ട്ട് %s നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "പോറ്‍ട്ട് %s/%s പോളിസിയില്‍ define ചെയ്തിട്ടുണ്ട്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
++msgstr "പോര്‍ട്ട് %s/%s പോളിസിയില്‍ ലഭ്യമാക്കിയിട്ടുണ്ടു്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+-msgstr "പോറ്‍ട്ട് %s/%s നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "പോര്‍ട്ട് %s/%s നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+-msgstr "പോറ്‍ട്ടുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "പോര്‍ട്ടുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux രീതിയിലുള്ള പോര്‍ട്ട്"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "പോര്‍ട്ട് നംബര്‍"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "പോറ്‍ട്ട് ആവശ്യമുണ്ട്"
++msgstr "നോഡിന്റെ വിലാസം ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "പോറ്‍ട്ട് ആവശ്യമുണ്ട്"
++msgstr "നോഡ് നെറ്റ്‌മാസ്ക് ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "അപരിചിതം അല്ലെങ്കില്‍ ലഭ്യമല്ലാത്ത സമ്പ്രദായം"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux Type ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%sയ്ക്ക് കീ ഉണ്ടാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "%s/%sഎന്ന പോറ്‍ട്ട് define ചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s എന്ന വിലാസം നിഷ്കര്‍ഷിച്ചിട്ടുണ്ടെങ്കില്‍ ഇതു് പരിശോധിക്കുവാന്‍ സാധ്യമല്ല"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "പോറ്‍ട്ട് %s/%s already defined"
++msgstr "%s എന്ന വിലാസം നിഷ്കര്‍ഷിച്ചിട്ടുണ്ടു്"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%sയ്ക്ക് ഒരു കീ ഉണ്ടാക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുള്ള വിലാസം ഉണ്ടാക്കുവാന്‍ സാധ്യമായില്ല"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%sന് context ഉണ്ടാക്കവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%sന് പേര് സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുള്ള മാസ്ക് ക്രമികരിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ യൂസറ്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-ലുള്ള വിലാസത്തിന്റെ കോണ്‍ടെക്സ്റ്റില്‍ ഉപയോക്താവിനെ ക്രമികരിക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ റോള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-ലുള്ള വിലാസത്തിന്റെ കോണ്‍ടെക്സ്റ്റില്‍ ജോലി ക്രമികരിക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ ടൈപ്പ് സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-ലുള്ള വിലാസത്തിന്റെ കോണ്‍ടെക്സ്റ്റില്‍ ഏതു് തരും എന്നു് ക്രമികരിക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ mls ഫീള്‍ഡുകള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-ലുള്ള വിലാസത്തിന്റെ കോണ്‍ടെക്സ്റ്റില്‍ mls ഫീള്‍ഡുകള്‍ ക്രമികരിക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%sന് ഫൈല്‍ context സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-ലുള്ള വിലാസത്തിന്റെ കോണ്‍ടെക്സ്റ്റ് ക്രമികരിക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s എന്ന പോറ്‍ട്ട് ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-ലുള്ള വിലാസം ചേര്‍ക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "പോറ്‍ട്ട് %s/%s define ചെയ്തിട്ടില്ല"
++msgstr "%s എന്ന വിലാസം നിഷ്കര്‍ഷിച്ചിട്ടില്ല"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "%s/%s എന്ന പോറ്‍ട്ട് ചോദ്യം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "വിലാസം %s-നായി ചോദിക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "പോറ്‍ട്ട് %s/%s പരിഷ്ക്കരിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "വിലാസം %s-ല്‍ മാറ്റം വരുത്തുവാന്‍ സാധ്യമല്ല"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "പോറ്‍ട്ട് %s/%s പോളിസിയില്‍ define ചെയ്തിട്ടുണ്ട്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
++msgstr "വിലാസം %s പോളിസിയില്‍ നിഷ്കര്‍ഷിച്ചിട്ടുണ്ടു്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "വിലാസം %s നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "പോറ്‍ട്ടുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "വിലാസങ്ങള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് define ചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ് ലഭ്യമാക്കിയിട്ടുണ്ടോ  എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് define ചെയ്തിട്ടുണ്ട്"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ് ലഭ്യമാക്കിയിട്ടുണ്ടു്"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+-msgstr "%sന് ഇന്‍റ്ററ്‍ഫെയ്സ് ഉണ്ടാക്കവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നു് ഇന്റര്‍ഫെയിസ് ഉണ്ടാക്കവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "%sന് ഇന്‍റ്ററ്‍ഫെയ്സ് contextല്‍ യൂസറ്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുള്ള ഇന്റര്‍ഫെയിസ് കോണ്‍ടെക്സ്റ്റില്‍ ഉപയോക്താവിനെ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "%sന് ഇന്‍റ്ററ്‍ഫെയ്സ് contextല്‍ റോള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുള്ള ഇന്റര്‍ഫെയിസ് കോണ്‍ടെക്സ്റ്റില്‍ റോള്‍ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "%sന് ഇന്‍റ്ററ്‍ഫെയ്സ് contextല്‍ ടൈപ്പ് സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുള്ള ഇന്റര്‍ഫെയിസ് കോണ്‍ടെക്സ്റ്റില്‍ ഏതു് തരം എന്നു് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "%sന് ഇന്‍റ്ററ്‍ഫെയ്സ് contextല്‍ mls ഫീള്‍ഡുകള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുള്ള ഇന്റര്‍ഫെയിസ് കോണ്‍ടെക്സ്റ്റില്‍ mls ഫീള്‍ഡുകള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "%sന് ഇന്‍റ്ററ്‍ഫെയ്സ് context സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുള്ള ഇന്റര്‍ഫെയിസ് കോണ്‍ടെക്സ്റ്റില്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%sന് മെസ്സേജ് context സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ് ചേര്‍ക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് define ചെയ്തിട്ടില്ല"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ് ലഭ്യമാക്കിയിട്ടില്ല"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് ചോദ്യം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ് ചോദ്യം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് പരിഷ്ക്കരിക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ് പരിഷ്ക്കരിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് പോളിസിയില്‍ define ചെയ്തിട്ടുണ്ട്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ് പോളിസിയില്‍ ലഭ്യമാക്കിയിട്ടുണ്ടു്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+-msgstr "%s എന്ന ഇന്‍റ്ററ്‍ഫെയ്സ് നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s എന്ന ഇന്റര്‍ഫെയിസ്് നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+-msgstr "ഇന്‍റ്ററ്‍ഫെയ്സുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "ഇന്റര്‍ഫെയിസുകള്‍‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux സംയോജകഘടകം"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "കോണ്‍ടെക്സ്റ്റ്"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ യൂസറ്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%s-നുളള ഫൈല്‍ കോണ്‍ടെക്സ്റ്റില്‍ ഉപയോക്താവിനെ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ റോള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sനുളള ഫൈല്‍ contextല്‍ റോള്‍ സജ്ജമാക്കുവാന്‍ന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ mls ഫീള്‍ഡുകള്‍ സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sനുളള ഫൈല്‍ കോണ്‍ടെക്സ്റ്റില്‍ mls ഫീള്‍ഡുകള്‍ സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "തെറ്റായ ഫയല്‍ പ്രത്യേകതകള്‍"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%sനുളള ഫൈല്‍ context define ചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%sനുളള ഫൈല്‍ context define ചെയ്തിട്ടുണ്ട്"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%sനുളള ഫൈല്‍ context ഉണ്ടാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "%sനുളള ഫൈല്‍ contextല്‍ ടൈപ്പ് സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sനുളള ഫൈല്‍ contextല്‍ ടൈപ്പ് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "%sന് ഫൈല്‍ context സെറ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sന് ഫൈല്‍ കോണ്‍ടെക്സ്റ്റ് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr "%sനുളള ഫൈല്‍ context ചേറ്‍ക്കുവാന്‍ സാധിച്ചില്ല"
++msgstr "%sനുളള ഫൈല്‍ കോണ്‍ടെക്സ്റ്റ് സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange അല്ലന്കില്‍ seuser ആവശ്യമുണ്ട്"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%sനുളള ഫൈല്‍ context define ചെയ്തിട്ടില്ല"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%sനുളള ഫൈല്‍ context ചോദ്യം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%sനുളള ഫൈല്‍ context പരിഷ്ക്കരിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "ഫൈല്‍ കോണ്‍ടെക്സ്റ്റുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "%sനുളള ഫൈല്‍ കോണ്‍ടെക്സ്റ്റ് നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%sനുളള ഫൈല്‍ context പോളിസിയില്‍ define ചെയ്തിട്ടുണ്ട്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%sനുളള ഫൈല്‍ context നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr "ഫൈല്‍ contextകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "ഫൈല്‍ കോണ്‍ടെക്സ്റ്റുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr "ലോക്കല്‍ ഫൈല്‍ contextകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "ലോക്കല്‍ ഫൈല്‍ കോണ്‍ടെക്സ്റ്റുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "ഏത് തരം"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "ബൂള്യന്‍ ആകുന്ന %s define ചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "ബൂള്യന്‍ %s define ചെയ്തിട്ടില്ല"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "context ചോദ്യം ചെയ്യുവാന്‍ സാധിക്കാഞ്ഞ ഫൈല്‍ ആണ് %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "ഒരു മൂല്ല്യം പറഞ്ഞിരിക്കണം"
++msgstr "താഴെ പറഞ്ഞിരിക്കുന്നതില്‍ ഒരു മൂല്ല്യം പറഞ്ഞിരിക്കണം: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "ബൂള്യന്‍ %s നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
++msgstr "ബൂള്യന്‍ %s-നു് സജീവമായ ഒരു മൂല്ല്യം ക്രമികരിക്കുവാനായില്ല"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "ബൂ്ബള്യന്‍ %s പരിഷ്കരിക്കുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "തെറ്റായ രീതി %s: റിക്കോര്‍ഡ് %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "%s ബൂള്യന്‍ പോളിസിയില്‍ define ചെയ്തിട്ടുണ്ട്, നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "ബൂള്യന്‍ %s നീക്കം ചെയ്യുവാന്‍ സാധിച്ചില്ല"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "ബൂള്യനുകള്‍ ലിസ്റ്റ് ചെയ്യുവാന്‍ അസാധ്യം"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "അപരിചിതം"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "ഓഫ് ചെയ്യുക"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "ഓണ്‍ ചെയ്യുക"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux ബൂളിയന്‍"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "വിവരണം"
+@@ -953,34 +973,34 @@
+ msgstr "എന്‍വിറോണ്‍മെന്‍റ് വെടിപ്പാക്കുവാന്‍ സാധ്യമല്ല\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "initing ല്‍ പിഴവ്, നിറ്‍ത്തുന്നു.\n"
++msgstr "വിശേഷതകള്‍ ആരംഭിക്കുന്നതില്‍ പിശക്, നിര്‍ത്തുന്നു.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr "ക്രമീകരണങ്ങളില്‍ പിഴവ്, നിറ്‍ത്തുന്നു.\n"
++msgstr "ക്രമീകരണങ്ങളില്‍ പിഴവ്, നിര്‍ത്തുന്നു.\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+ msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr "KEEPCAPS സെറ്റ് ചെയ്യുന്നതില്‍ പിഴവ്,നിറ്‍ത്തുന്നു\n"
++msgstr "KEEPCAPS സെറ്റ് ചെയ്യുന്നതില്‍ പിഴവ്,നിര്‍ത്തു്‍ത്തുന്നു\n"
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+ msgid "Error dropping capabilities, aborting\n"
+-msgstr "droppingല്‍ പിഴവ്, നിറ്‍ത്തുന്നു\n"
++msgstr "droppingല്‍ പിഴവ്, നിര്‍ത്തുന്നു\n"
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr "uid മാറ്റുന്നതില്‍ പിഴവ്, നിറ്‍ത്തുന്നു.\n"
++msgstr "uid മാറ്റുന്നതില്‍ പിഴവ്, നിര്‍ത്തുന്നു.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr "KEEPCAPS റീസെറ്റ് ചെയ്യുന്നതില്‍ പിഴവ്,നിറ്‍ത്തുന്നു\n"
++msgstr "KEEPCAPS റീസെറ്റ് ചെയ്യുന്നതില്‍ പിഴവ്,നിര്‍ത്തുന്നു\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+@@ -1055,7 +1075,7 @@
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr "ക്ഷമിക്കണം, SELinux kernel സപ്പോറ്‍ട്ടില്‍ -l ഉപയോഗിക്കുവുന്നതാണ്.\n"
++msgstr "ക്ഷമിക്കണം, SELinux kernel പിന്തുണയില്‍ -l ഉപയോഗിക്കുവുന്നതാണ്.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+@@ -1145,7 +1165,7 @@
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr "newrole: %sന്  തെറ്റായ പാസ്വേഡ് \n"
++msgstr "newrole: %sന്  തെറ്റായ പാസ്‌വേര്‍ഡ് \n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+@@ -1222,7 +1242,7 @@
+ #: ../scripts/chcat:267 ../scripts/chcat:272
+ msgid "Can not combine +/- with other types of categories"
+-msgstr "മറ്റ് കാറ്റഗറികളോടൊപ്പം +/- കൂട്ടിചേറ്‍ക്കുവാന്‍ സാധ്യമല്ല"
++msgstr "മറ്റ് കാറ്റഗറികളോടൊപ്പം +/- കൂട്ടിചേര്‍ക്കുവാന്‍ സാധ്യമല്ല"
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+@@ -1285,1693 +1305,2215 @@
+ msgid "Options Error %s "
+ msgstr "ഉപാധിയില്‍ പിഴവ്: %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "non-MLS മഷീനുകളില്‍ തറ്‍ജിമകള്‍ സപ്പോറ്‍ട്ട് ചെയ്യുന്നില്ല"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "ബൂളിയന്‍"
+-
+-#~ msgid "all"
+-#~ msgstr "എല്ലാം "
+-
+-#~ msgid "Customized"
+-#~ msgstr "യഥേഷ്ടമാക്കിയിരിക്കുന്നു"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "ഫയലിന് പേരിടല്‍"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ഫയലിനുള്ള\n"
+-#~ "പ്രത്യേകതകള്‍"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "രീതിയിലുള്ള ഫയല്‍"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "ഏത് തരത്തിലുള്ള\n"
+-#~ "ഫയല്‍"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "യൂസര്‍ മാപ്പിങ്"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "പ്രവേശന\n"
+-#~ "നാമം"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ഉപയോക്താവ്"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS പരിധി"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "'%s' ലോഗിന്‍ ആവശ്യമുണ്ട്"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "പോളിസി ഘടകം"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "ഘടകത്തിന്റെ പേര്"
+-
+-#~ msgid "Version"
+-#~ msgstr "ലക്കം"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "ഓഡിറ്റ് പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "ഓഡിറ്റ് പ്രവര്‍ത്തന സജ്ജമാക്കുക"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "പോളിസി ഘടകം ലഭ്യമാക്കുക"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "അനി പീറ്റര്‍ <apeter@redhat.com>"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux പോളിസി ഉത്പാദന പ്രയോഗം"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "ഒരു പോളിസി ഫ്രെയിംവര്‍ക്കുണ്ടാക്കുക, SELinux ഉപയോഗിക്കുന്ന പ്രയോഗങ്ങള്‍ അല്ലെങ്കില്‍ "
+-#~ "ഉപയോക്താക്കള്‍ക്ക് പരിമിതി കല്‍പിക്കുക എന്നിവയ്ക്കായി ഈ പ്രയോഗം ഉപയോഗിക്കാം.   \n"
+-#~ "\n"
+-#~ "പ്രയോഗം ഉല്‍പാദിപ്പിക്കുന്നത്:\n"
+-#~ "ടൈപ്പ് എന്‍ഫോഴ്സ്മെന്റ് ഫയല്‍ (te)\n"
+-#~ "ഇന്റര്‍ഫെയിസ് ഫയല്‍ (if)\n"
+-#~ "ഫയല്‍ കോണ്‍ടെക്സ്റ്റ് ഫയല്‍ (fc)\n"
+-#~ "ഷെല്‍ സ്ക്രിപ്റ്റ് (sh) - പോളിസി കംപൈല്‍ ചെയ്ത് ഇന്‍സ്റ്റോള്‍ ചെയ്യുന്നതിനായി ഉപയോഗിക്കുന്നു. "
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "ഏത് തരം പ്രയോഗം/ഉപയോക്താവിന്റെ ജോലി എന്ന് തിരഞ്ഞെടുക്കുക"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>പ്രയോഗങ്ങള്‍</b>"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "ബൂളിയന്‍"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "എല്ലാം "
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "യഥേഷ്ടമാക്കിയിരിക്കുന്നു"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "ഫയലിന് പേരിടല്‍"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "init സ്ക്രിപ്റ്റുകള്‍ വഴി ബൂട്ട് ചെയ്യുമ്പോള്‍ ആരംഭിക്കുന്ന ഡെമണുകളാണ് സ്റ്റാന്‍ഡേര്‍ഡ് Init ഡെമണ്‍.  "
+-#~ "ഇതിന് സാധാരണയായി, /etc/rc.d/init.d-ല്‍ ഒരു സ്ക്രിപ്റ്റ് ആവശ്യമുണ്ട്."
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ഫയലിനുള്ള\n"
++"പ്രത്യേകതകള്‍"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "സ്റ്റാന്‍ഡേര്‍ഡ് Init ഡെമണ്‍"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"രീതിയിലുള്ള ഫയല്‍"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "xinetd ആരംഭിക്കുന്ന ഡെമണുകള്‍ ആണ് ഇന്റര്‍നെറ്റ് സര്‍വീസുകളുടെ ഡെമണ്‍"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ഏത് തരത്തിലുള്ള\n"
++"ഫയല്‍"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "ഇന്റര്‍നെറ്റ് സര്‍വീസസ് ഡെമണ്‍ (inetd)"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "യൂസര്‍ മാപ്പിങ്"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr "വെബ് സര്‍വര്‍ (അപ്പാച്ചെ) ആരംഭിച്ച വെബ് പ്രയോഗങ്ങള്‍/സ്ക്രിപ്റ്റ് (CGI) CGI സ്ക്രിപ്റ്റുകള്‍"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"പ്രവേശന\n"
++"നാമം"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "വെബ് ആപ്ളിക്കേഷന്‍/സ്ക്രിപ്റ്റ് (CGI)"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"ഉപയോക്താവ്"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവ് ആരംഭിക്കുന്നതിനുള്ള പ്രയോഗം ഏതാണോ അതാകുന്നു ഉപയോക്താവിനുള്ള പ്രയോഗം (യൂസര്‍ "
+-#~ "ആപ്ലിക്കേഷന്‍)"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS പരിധി"
+-#~ msgid "User Application"
+-#~ msgstr "ഉപയോക്താവിനുള്ള പ്രയോഗം"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "'%s' ലോഗിന്‍ ആവശ്യമുണ്ട്"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>ലോഗിന്‍ ചെയ്ത ഉപയോക്താക്കള്‍</b>"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "പോളിസി ഘടകം"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "നിലവിലുള്ള ഒരു ലോഗിന്‍ യൂസര്‍ റിക്കോര്‍ഡില്‍ മാറ്റം വരുത്തുന്നു."
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "ഘടകത്തിന്റെ പേര്"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "ഉപയോക്തവാന് നിലവിലുള്ള നിയമനങ്ങള്‍"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "ലക്കം"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "ടെര്‍മിനല്‍ അല്ലെങ്കില്‍ റിമോട്ട് ലോഗിന്‍ വഴി മാത്രമേ സിസ്റ്റമിലേക്ക് ഈ ഉപയോക്താവിന് "
+-#~ "പ്രവേശിക്കുവാന്‍ സാധിക്കുന്നു.  സ്വതവേ, ഈ ഉപയോക്താവിന്, setuid, നെറ്റ്‌വര്‍ക്കിങ്, sudo, su "
+-#~ "എന്നിവ ലഭ്യമല്ല."
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ഓഡിറ്റ് പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "ഏറ്റവും കുറഞ്ഞ ടെര്‍മിനല്‍ യൂസര്‍ റോള്‍"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ഓഡിറ്റ് പ്രവര്‍ത്തന സജ്ജമാക്കുക"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "എക്സ് അല്ലെങ്കില്‍ ടെര്‍മിനല്‍ വഴി സിസ്റ്റമിലേക്ക് ഈ ഉപയോക്താവിന് പ്രവേശിക്കുവാന്‍ സാധിക്കുന്നു.  "
+-#~ "സ്വതവേ, ഈ ഉപയോക്താവിന്, setuid, നെറ്റ്‌വര്‍ക്കിങ്, sudo, su എന്നിവ ലഭ്യമല്ല."
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "പോളിസി ഘടകം ലഭ്യമാക്കുക"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "ഏറ്റവും കൂടിയ ടെര്‍മിനല്‍ യൂസര്‍ റോള്‍"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "പൂര്‍ണ്ണ നെറ്റ്‌വര്‍ക്കിങുള്ള, മാറ്റം സാധ്യമല്ലാത്ത setuid പ്രയോഗങ്ങള്‍, su, sudo എന്നിവ "
+-#~ "ഇല്ലാത്ത ഉപയോക്താവ്."
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "User Role"
+-#~ msgstr "ഉപയോക്താവിന്റെ ജോലി"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "പൂര്‍ണ്ണ നെറ്റ്‌വര്‍ക്കിങുള്ള, മാറ്റം സാധ്യമല്ലാത്ത setuid പ്രയോഗങ്ങള്‍, su എന്നിവ ഇല്ലാത്ത "
+-#~ "ഉപയോക്താവിന് റൂട്ട് അഡ്മിനിസ്ട്രേഷന്‍ ജോലികളിലേക്ക് sudo ചെയ്യുവാന്‍ സാധിക്കുന്നു"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "അനി പീറ്റര്‍ <apeter@redhat.com>"
+-#~ msgid "Admin User Role"
+-#~ msgstr "അഡ്മിന്‍ ഉപയോക്താവിന്റെ നിയമനം "
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"ഒരു പോളിസി ഫ്രെയിംവര്‍ക്കുണ്ടാക്കുക, SELinux ഉപയോഗിക്കുന്ന പ്രയോഗങ്ങള്‍ അല്ലെങ്കില്‍ "
++"ഉപയോക്താക്കള്‍ക്ക് പരിമിതി കല്‍പിക്കുക എന്നിവയ്ക്കായി ഈ പ്രയോഗം ഉപയോഗിക്കാം.   \n"
++"\n"
++"പ്രയോഗം ഉല്‍പാദിപ്പിക്കുന്നത്:\n"
++"ടൈപ്പ് എന്‍ഫോഴ്സ്മെന്റ് ഫയല്‍ (te)\n"
++"ഇന്റര്‍ഫെയിസ് ഫയല്‍ (if)\n"
++"ഫയല്‍ കോണ്‍ടെക്സ്റ്റ് ഫയല്‍ (fc)\n"
++"ഷെല്‍ സ്ക്രിപ്റ്റ് (sh) - പോളിസി കംപൈല്‍ ചെയ്ത് ഇന്‍സ്റ്റോള്‍ ചെയ്യുന്നതിനായി ഉപയോഗിക്കുന്നു. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "ഏത് തരം പ്രയോഗം/ഉപയോക്താവിന്റെ ജോലി എന്ന് തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>പ്രയോഗങ്ങള്‍</b>"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>റൂട്ട് ഉപയോക്താക്കള്‍</b>"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"init സ്ക്രിപ്റ്റുകള്‍ വഴി ബൂട്ട് ചെയ്യുമ്പോള്‍ ആരംഭിക്കുന്ന ഡെമണുകളാണ് സ്റ്റാന്‍ഡേര്‍ഡ് Init ഡെമണ്‍.  "
++"ഇതിന് സാധാരണയായി, /etc/rc.d/init.d-ല്‍ ഒരു സ്ക്രിപ്റ്റ് ആവശ്യമുണ്ട്."
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "റൂട്ട് ആയി പ്രവര്‍ത്തിക്കുമ്പോള്‍, ഈ ഉപയോക്താവാണ് സിസ്റ്റം നിരീക്ഷിക്കുന്നത് എങ്കില്‍, റൂട്ട് "
+-#~ "അഡ്മിനിസ്ട്രേറ്റര്‍ യൂസര്‍ റോള്‍ തിരഞ്ഞെടുക്കുക.  ഈ ഉപയോക്താവിന് സിസ്റ്റമിലേക്ക് നേരിട്ട് "
+-#~ "പ്രവേശിക്കുവാന്‍ സാധ്യമല്ല."
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "സ്റ്റാന്‍ഡേര്‍ഡ് Init ഡെമണ്‍"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS സിസ്റ്റം ഡെമണ്‍"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "xinetd ആരംഭിക്കുന്ന ഡെമണുകള്‍ ആണ് ഇന്റര്‍നെറ്റ് സര്‍വീസുകളുടെ ഡെമണ്‍"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "ഇന്റര്‍നെറ്റ് സര്‍വീസസ് ഡെമണ്‍ (inetd)"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "റൂട്ട് അഡ്മിന്‍ യൂസര്‍ റോള്‍"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "വെബ് സര്‍വര്‍ (അപ്പാച്ചെ) ആരംഭിച്ച വെബ് പ്രയോഗങ്ങള്‍/സ്ക്രിപ്റ്റ് (CGI) CGI സ്ക്രിപ്റ്റുകള്‍"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "പ്രയോഗത്തിന്റെ പേര് അല്ലെങ്കില്‍ ഉപയോക്താവിന്റെ ജോലി നല്‍കുക"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "വെബ് ആപ്ളിക്കേഷന്‍/സ്ക്രിപ്റ്റ് (CGI)"
+-#~ msgid "Name"
+-#~ msgstr "പേര്"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"ഉപയോക്താവ് ആരംഭിക്കുന്നതിനുള്ള പ്രയോഗം ഏതാണോ അതാകുന്നു ഉപയോക്താവിനുള്ള പ്രയോഗം (യൂസര്‍ "
++"ആപ്ലിക്കേഷന്‍)"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "നിഷ്കര്‍ഷിക്കുന്നതിനായുള്ള പൂര്‍ണ്ണ പാഥ് നല്‍കുക."
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "ഉപയോക്താവിനുള്ള പ്രയോഗം"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>ലോഗിന്‍ ചെയ്ത ഉപയോക്താക്കള്‍</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "നിലവിലുള്ള ഒരു ലോഗിന്‍ യൂസര്‍ റിക്കോര്‍ഡില്‍ മാറ്റം വരുത്തുന്നു."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "ഉപയോക്തവാന് നിലവിലുള്ള നിയമനങ്ങള്‍"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"ടെര്‍മിനല്‍ അല്ലെങ്കില്‍ റിമോട്ട് ലോഗിന്‍ വഴി മാത്രമേ സിസ്റ്റമിലേക്ക് ഈ ഉപയോക്താവിന് "
++"പ്രവേശിക്കുവാന്‍ സാധിക്കുന്നു.  സ്വതവേ, ഈ ഉപയോക്താവിന്, setuid, നെറ്റ്‌വര്‍ക്കിങ്, sudo, su "
++"എന്നിവ ലഭ്യമല്ല."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "ഏറ്റവും കുറഞ്ഞ ടെര്‍മിനല്‍ യൂസര്‍ റോള്‍"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "പ്രയോഗത്തിന് അല്ലെങ്കില്‍ ഉപയോക്താവിന്റെ നിയമനത്തിന് ഒരു പേര് നല്‍കുക."
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"എക്സ് അല്ലെങ്കില്‍ ടെര്‍മിനല്‍ വഴി സിസ്റ്റമിലേക്ക് ഈ ഉപയോക്താവിന് പ്രവേശിക്കുവാന്‍ സാധിക്കുന്നു.  "
++"സ്വതവേ, ഈ ഉപയോക്താവിന്, setuid, നെറ്റ്‌വര്‍ക്കിങ്, sudo, su എന്നിവ ലഭ്യമല്ല."
+-#~ msgid "Executable"
+-#~ msgstr "പ്രവര്‍ത്തിപ്പിക്കുവാന്‍ സാധിക്കുന്ന"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "ഏറ്റവും കൂടിയ ടെര്‍മിനല്‍ യൂസര്‍ റോള്‍"
+-#~ msgid "Init script"
+-#~ msgstr "Init script"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"പൂര്‍ണ്ണ നെറ്റ്‌വര്‍ക്കിങുള്ള, മാറ്റം സാധ്യമല്ലാത്ത setuid പ്രയോഗങ്ങള്‍, su, sudo എന്നിവ ഇല്ലാത്ത "
++"ഉപയോക്താവ്."
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "പ്രയോഗം തുടങ്ങുന്നതിനുള്ള init സ്ക്രിപ്റ്റിനുള്ള പൂര്‍ണ്ണ പാഥ് നല്‍കുക."
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "ഉപയോക്താവിന്റെ ജോലി"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "നിങ്ങള്‍ക്ക് യഥേഷ്ടം ഉപയോക്താവിന്റെ ജോലികള്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"പൂര്‍ണ്ണ നെറ്റ്‌വര്‍ക്കിങുള്ള, മാറ്റം സാധ്യമല്ലാത്ത setuid പ്രയോഗങ്ങള്‍, su എന്നിവ ഇല്ലാത്ത "
++"ഉപയോക്താവിന് റൂട്ട് അഡ്മിനിസ്ട്രേഷന്‍ ജോലികളിലേക്ക് sudo ചെയ്യുവാന്‍ സാധിക്കുന്നു"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "ഉപയോക്താവ് ഏത് ജോലികളില്‍ നിന്നും ഈ പ്രയോഗങ്ങളുടെ ഡൊമെയിനുകളിലേക്ക് മാറുന്നു എന്ന് "
+-#~ "തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "അഡ്മിന്‍ ഉപയോക്താവിന്റെ നിയമനം "
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>റൂട്ട് ഉപയോക്താക്കള്‍</b>"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "ഈ ഉപയോക്താവിന്റെ പരിമിതികള്‍ മാറുന്നതിനായുള്ള കൂടുതല്‍ ഡൊമെയിനുകള്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"റൂട്ട് ആയി പ്രവര്‍ത്തിക്കുമ്പോള്‍, ഈ ഉപയോക്താവാണ് സിസ്റ്റം നിരീക്ഷിക്കുന്നത് എങ്കില്‍, റൂട്ട് "
++"അഡ്മിനിസ്ട്രേറ്റര്‍ യൂസര്‍ റോള്‍ തിരഞ്ഞെടുക്കുക.  ഈ ഉപയോക്താവിന് സിസ്റ്റമിലേക്ക് നേരിട്ട് "
++"പ്രവേശിക്കുവാന്‍ സാധ്യമല്ല."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "റൂട്ട് അഡ്മിന്‍ യൂസര്‍ റോള്‍"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "പ്രയോഗത്തിന്റെ പേര് അല്ലെങ്കില്‍ ഉപയോക്താവിന്റെ ജോലി നല്‍കുക"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "പേര്"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "നിഷ്കര്‍ഷിക്കുന്നതിനായുള്ള പൂര്‍ണ്ണ പാഥ് നല്‍കുക."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "പ്രയോഗത്തിന് അല്ലെങ്കില്‍ ഉപയോക്താവിന്റെ നിയമനത്തിന് ഒരു പേര് നല്‍കുക."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "പ്രവര്‍ത്തിപ്പിക്കുവാന്‍ സാധിക്കുന്ന"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init script"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "നിങ്ങള്‍ ഈ ഉപയോക്താവിന്റെ ജോലികള്‍ ഏത് പ്രയോഗങ്ങളുടെ ഡൊമെയിനുകളിലേക്ക് മാറണം എന്ന് "
+-#~ "തിരഞ്ഞെടുക്കുക."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "പ്രയോഗം തുടങ്ങുന്നതിനുള്ള init സ്ക്രിപ്റ്റിനുള്ള പൂര്‍ണ്ണ പാഥ് നല്‍കുക."
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "ഈ ഡൊമെയിനിലേക്ക് ഉപയോക്താവിന്റെ ഏതെല്ലാം ജോലികള്‍ മാറുന്നു എന്ന് തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "നിങ്ങള്‍ക്ക് യഥേഷ്ടം ഉപയോക്താവിന്റെ ജോലികള്‍ തിരഞ്ഞെടുക്കുക"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "ഈ ഉപയോക്താവിന് കൈകാര്യം ചെയ്യുന്നതിനുള്ള കൂടുതല്‍ ഡൊമെയിനുകള്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"ഉപയോക്താവ് ഏത് ജോലികളില്‍ നിന്നും ഈ പ്രയോഗങ്ങളുടെ ഡൊമെയിനുകളിലേക്ക് മാറുന്നു എന്ന് തിരഞ്ഞെടുക്കുക"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "ഈ ഉപയോക്താവ് നിരീക്ഷിക്കുന്നതിനുള്ള ഡൊമെയിനുകള്‍ തിരഞ്ഞെടുക്കുക."
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "ഈ ഉപയോക്താവിന്റെ പരിമിതികള്‍ മാറുന്നതിനായുള്ള കൂടുതല്‍ ഡൊമെയിനുകള്‍ തിരഞ്ഞെടുക്കുക"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "ഈ ഉപയോക്താവിന് കൂടുതല്‍ ജോലികള്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"നിങ്ങള്‍ ഈ ഉപയോക്താവിന്റെ ജോലികള്‍ ഏത് പ്രയോഗങ്ങളുടെ ഡൊമെയിനുകളിലേക്ക് മാറണം എന്ന് "
++"തിരഞ്ഞെടുക്കുക."
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "പ്രയോഗം/ഉപയോക്താവിന് ലഭ്യമാകുന്ന നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടുകള്‍ നല്‍കുക"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "ഈ ഡൊമെയിനിലേക്ക് ഉപയോക്താവിന്റെ ഏതെല്ലാം ജോലികള്‍ മാറുന്നു എന്ന് തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "ഈ ഉപയോക്താവിന് കൈകാര്യം ചെയ്യുന്നതിനുള്ള കൂടുതല്‍ ഡൊമെയിനുകള്‍ തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "ഈ ഉപയോക്താവ് നിരീക്ഷിക്കുന്നതിനുള്ള ഡൊമെയിനുകള്‍ തിരഞ്ഞെടുക്കുക."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "ഈ ഉപയോക്താവിന് കൂടുതല്‍ ജോലികള്‍ തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "പ്രയോഗം/ഉപയോക്താവിന് ലഭ്യമാകുന്ന നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടുകള്‍ നല്‍കുക"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP പോര്‍ട്ടുകള്‍</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "പ്രയോഗം/ഉപയോക്താവിനെ ഏതെങ്കിലും udp പോര്‍ട്ടിലേക്ക് ബൈന്‍ഡ് ചെയ്യുവാന്‍ അനുവദിക്കുന്നു"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "എല്ലാം"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP പോര്‍ട്ടുകള്‍</b>"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"0 ഉള്ള bindresvport-നെ വിളിക്കുന്നതിന് പ്രയോഗം/ഉപയോക്താവിനെ അനുവദിക്കുക. പോര്‍ട്ട് "
++"600-1024-ലേക്ക് ബൈന്‍ഡ് ചെയ്യുക"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr "പ്രയോഗം/ഉപയോക്താവിനെ ഏതെങ്കിലും udp പോര്‍ട്ടിലേക്ക് ബൈന്‍ഡ് ചെയ്യുവാന്‍ അനുവദിക്കുന്നു"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "All"
+-#~ msgstr "എല്ലാം"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"പ്രയോഗം/ഉപയോക്താവിന് ബൈന്‍ഡ് ചെയ്യുന്നതിനായി യുഡിപി പോര്‍ട്ടുകളോ അവയുടെ പരിധിയില്‍പ്പെടുന്ന മറ്റ് "
++"പോര്‍ട്ടുകളോ കോമാ ഉപയോഗിച്ച് വേര്‍തിരിച്ച് നല്‍കുക. ഉദാ: 612, 650-660"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "0 ഉള്ള bindresvport-നെ വിളിക്കുന്നതിന് പ്രയോഗം/ഉപയോക്താവിനെ അനുവദിക്കുക. പോര്‍ട്ട് 600-"
+-#~ "1024-ലേക്ക് ബൈന്‍ഡ് ചെയ്യുക"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "മറ്റൊന്നിനും കരുതിട്ടില്ലാത്ത പോര്‍ട്ടുകള്‍ (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "പോര്‍ട്ടുകള്‍ തിരഞ്ഞെടുക്കുക"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"പ്രയോഗം/ഉപയോക്താവിനെ ഏതെങ്കിലും udp പോര്‍ട്ടുകള്‍ > 1024-ലേക്ക് ബൈന്‍ഡ് ചെയ്യുവാന്‍ അനുവദിക്കുന്നു"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "പ്രയോഗം/ഉപയോക്താവിന് ബൈന്‍ഡ് ചെയ്യുന്നതിനായി യുഡിപി പോര്‍ട്ടുകളോ അവയുടെ പരിധിയില്‍പ്പെടുന്ന "
+-#~ "മറ്റ് പോര്‍ട്ടുകളോ കോമാ ഉപയോഗിച്ച് വേര്‍തിരിച്ച് നല്‍കുക. ഉദാ: 612, 650-660"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP പോര്‍ട്ടുകള്‍</b>"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "മറ്റൊന്നിനും കരുതിട്ടില്ലാത്ത പോര്‍ട്ടുകള്‍ (>1024)"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "പ്രയോഗം/ഉപയോക്താവ് കണക്ട് ചെയ്യുന്ന നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടുകള്‍ നല്‍കുക"
+-#~ msgid "Select Ports"
+-#~ msgstr "പോര്‍ട്ടുകള്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"പ്രയോഗം/ഉപയോക്താവിന് കണക്ട് ചെയ്യുന്നതിനായി ടിസിപി പോര്‍ട്ടുകളോ അവയുടെ പരിധിയില്‍പ്പെടുന്ന മറ്റ് "
++"പോര്‍ട്ടുകളോ കോമാ ഉപയോഗിച്ച് വേര്‍തിരിച്ച് നല്‍കുക. ഉദാ: 612, 650-660"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "പ്രയോഗം/ഉപയോക്താവിനെ ഏതെങ്കിലും udp പോര്‍ട്ടുകള്‍ > 1024-ലേക്ക് ബൈന്‍ഡ് ചെയ്യുവാന്‍ അനുവദിക്കുന്നു"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"പ്രയോഗം/ഉപയോക്താവിന് കണക്ട് ചെയ്യുന്നതിനായി യുഡിപി പോര്‍ട്ടുകളോ അവയുടെ പരിധിയില്‍പ്പെടുന്ന മറ്റ് "
++"പോര്‍ട്ടുകളോ കോമാ ഉപയോഗിച്ച് വേര്‍തിരിച്ച് നല്‍കുക. ഉദാ: 612, 650-660"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP പോര്‍ട്ടുകള്‍</b>"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "സാധാരണ പ്രയോഗങ്ങളുടെ വിശേഷതകള്‍ തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog സന്ദേശങ്ങള്‍ എഴുതുന്നു\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp-ലുള്ള താല്‍ക്കാലിക ഫയലകുള്‍ ഉണ്ടാക്കുക/കൈകാര്യം ചെയ്യുക."
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "അധികാരം ഉറപ്പാക്കുന്നതിനായി പാം ഉപയോഗിക്കുക"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch അല്ലെങ്കില്‍ getpw* കോളുകള്‍ ഉപയോഗിക്കുന്നു"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus ഉപയോഗിക്കുന്നു"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ഓഡിറ്റ് സന്ദേശങ്ങള്‍ അയയ്ക്കുന്നു"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "ടെര്‍മിനലുമായി ബന്ധപ്പെടുന്നു"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ഈമെയില്‍ അയയ്ക്കുന്നു"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "പ്രയോഗം കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഫയലുകള്‍/ഡയറക്ടറികള്‍ തിരഞ്ഞെടുക്കുക."
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "പ്രയോഗം/ഉപയോക്താവ് കണക്ട് ചെയ്യുന്ന നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടുകള്‍ നല്‍കുക"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Pid, ലോഗ്, /var/lib എന്നീ ഫയലുകളിലേക്ക് \"എഴുതുന്നതിന്\" ‌‌‌പ്രയോഗത്തിന് ആവശ്യമായ ഫയലുകള്‍/"
++"ഡയറക്ടറികള്‍ ചേര്‍ക്കുക ..."
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "പ്രയോഗം/ഉപയോക്താവിന് കണക്ട് ചെയ്യുന്നതിനായി ടിസിപി പോര്‍ട്ടുകളോ അവയുടെ പരിധിയില്‍പ്പെടുന്ന "
+-#~ "മറ്റ് പോര്‍ട്ടുകളോ കോമാ ഉപയോഗിച്ച് വേര്‍തിരിച്ച് നല്‍കുക. ഉദാ: 612, 650-660"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "പ്രയോഗം ഉപയോഗിക്കുന്ന ബൂളിയനുകള്‍ തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "ഈ പ്രയോഗം/ഉപയോക്താവിന് ആവശ്യമുള്ള ബൂളിയനുകള്‍ ചേര്‍ക്കുക/നീക്കുക"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "പോളിസി ഉണ്ടാക്കുന്നതിനുള്ള ഡയറക്ടറി തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "പോളിസി ഡയറക്ടറി"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "പോളിസി ഫയലുകള്‍ ലഭ്യമാക്കിയിരിക്കുന്നു"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "പ്രയോഗം/ഉപയോക്താവിന് കണക്ട് ചെയ്യുന്നതിനായി യുഡിപി പോര്‍ട്ടുകളോ അവയുടെ പരിധിയില്‍പ്പെടുന്ന "
+-#~ "മറ്റ് പോര്‍ട്ടുകളോ കോമാ ഉപയോഗിച്ച് വേര്‍തിരിച്ച് നല്‍കുക. ഉദാ: 612, 650-660"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ഈ ടൂള്‍ താഴെ പറയുന്നവ ലഭ്യമാക്കുന്നു: \n"
++"ടൈപ്പ് എന്‍ഫോഴ്സ്മെന്റ്(te), ഫയല്‍ കോണ്‍ടെക്സ്റ്റ്(fc), ഇന്റര്‍ഫെയിസ്(if), ഷെല്‍ സ്ക്രിപ്റ്റ്(sh)\n"
++"കംപൈല്‍/ഇന്‍സ്റ്റോള്‍ ചെയ്യുന്നതിനും ഫയലുകള്‍/ഡയറക്ടറികള്‍ക്ക് വീണ്ടും പേര് മാറ്റുന്നതിനും ഷെല്‍ സ്ക്രിപ്റ്റ് "
++"പ്രവര്‍ത്തിപ്പിക്കുക.  \n"
++"ഉപയോക്താവിനുള്ള ജോലികളിലേക്ക് ലിനക്സ് ലോഗിന്‍ ഉപയോക്താക്കളെ മാപ്പ് ചെയ്യുന്നതിനായി semanage "
++"അല്ലെങ്കില്‍ useradd ഉപയോഗിക്കുക\n"
++"സിസ്റ്റം പെര്‍മ്മിസ്സീവ് മോഡിലാക്കുക (setenforce 0). \n"
++"ഉപയോക്താവായി ലോഗിന്‍ ചെയ്ത് ഈ ജോലി പരീക്ഷിക്കുക .\n"
++"te ഫയലില്‍ കൂടുതല്‍ നിയമങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി audit2allow -R ഉപയോഗിക്കുക.\n"
+-#~ msgid "Select common application traits"
+-#~ msgstr "സാധാരണ പ്രയോഗങ്ങളുടെ വിശേഷതകള്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ഈ ടൂള്‍ താഴെ പറയുന്നവ ലഭ്യമാക്കുന്നു: \n"
++"ടൈപ്പ് എന്‍ഫോഴ്സ്മെന്റ്(te), ഫയല്‍ കോണ്‍ടെക്സ്റ്റ്(fc), ഇന്റര്‍ഫെയിസ്(if), ഷെല്‍ സ്ക്രിപ്റ്റ്(sh)\n"
++"\n"
++"കംപൈല്‍/ഇന്‍സ്റ്റോള്‍ ചെയ്യുന്നതിനും ഫയലുകള്‍/ഡയറക്ടറികള്‍ക്ക് വീണ്ടും പേര് മാറ്റുന്നതിനും ഷെല്‍ സ്ക്രിപ്റ്റ് "
++"പ്രവര്‍ത്തിപ്പിക്കുക.  \n"
++"സിസ്റ്റം പെര്‍മ്മിസ്സീവ് മോഡിലാക്കുക (setenforce 0). \n"
++"avc സന്ദേശങ്ങള്‍ ഉണ്ടാക്കുന്നതിനായി പ്രയോഗം പ്രവര്‍ത്തിപ്പിക്കുകയോ വീണ്ടും ആരംഭിക്കുകയോ ചെയ്യുക .\n"
++"te ഫയലില്‍ കൂടുതല്‍ നിയമങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി audit2allow -R ഉപയോഗിക്കുക.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "ബൂളിയന്‍സ് ഡയലോഗ് ചേര്‍ക്കുക"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "ബൂളിയന്‍ പേര്"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "നിയമനം"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "നിലവിലുള്ള _ഉപയോക്താവ്"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "പ്രയോഗം"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ഒരു ഡയറക്ടറി ആയിരിക്കണം"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "നിങ്ങള്‍ ഒരു ഉപയോക്താവ് ആയിരിക്കണം"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "പരിമിതി ആവശ്യമുള്ള നിഷ്കര്‍ഷിക്കേണ്ട ഫയല്‍ തിരഞ്ഞെടുക്കുക."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "പരിമിതി ആവശ്യമുള്ള ഇനിറ്റ് സ്ക്രിപ്റ്റ് ഫയല്‍ തിരഞ്ഞെടുക്കുക."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "പ്രയോഗം ഉണ്ടാക്കുകയോ അതിലേക്ക് എഴുതുകയോ ചെയ്യുന്നതിന് പരിമിതിയുള്ള ഫയല്‍ തിരഞ്ഞെടുക്കുക"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog സന്ദേശങ്ങള്‍ എഴുതുന്നു\t"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"പ്രയോഗത്തിന്റെ ഉടമസ്ഥതയിലുള്ളതും അതിലേക്ക് എഴുതുകയും ചെയ്യുന്നതിന് പരിമിതിയുള്ള ഡയറക്ടറി "
++"തിരഞ്ഞെടുക്കുക"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp-ലുള്ള താല്‍ക്കാലിക ഫയലകുള്‍ ഉണ്ടാക്കുക/കൈകാര്യം ചെയ്യുക."
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "പോളിസി ഫയലുകള്‍ ഉണ്ടാക്കുന്നതിനുള്ള ഡയറക്ടറി തിരഞ്ഞെടുക്കുക"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "അധികാരം ഉറപ്പാക്കുന്നതിനായി പാം ഉപയോഗിക്കുക"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"നിലവിലുള്ള പോളിസിയില്‍ %s_t എന്ന രീതി നിഷ്കര്‍ഷിച്ചിരിക്കുന്നു.\n"
++"നിങ്ങള്‍ക്ക് മുമ്പോട്ട് പോകണമോ?"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch അല്ലെങ്കില്‍ getpw* കോളുകള്‍ ഉപയോഗിക്കുന്നു"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "പേര് ഉറപ്പാക്കുക"
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus ഉപയോഗിക്കുന്നു"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"നിലവിലുള്ള പോളിസിയില്‍ %s.pp എന്ന ഘടകം ലഭ്യമാണ്.\n"
++"നിങ്ങള്‍ക്ക് മുമ്പോട്ട് പോകണമോ?"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ഓഡിറ്റ് സന്ദേശങ്ങള്‍ അയയ്ക്കുന്നു"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "ഒരു പേര് പറഞ്ഞിരിക്കണം"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "ടെര്‍മിനലുമായി ബന്ധപ്പെടുന്നു"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "പ്രവര്‍ത്തനത്തിലുള്ളത് പറഞ്ഞിരിക്കണം"
+-#~ msgid "Sends email"
+-#~ msgstr "ഈമെയില്‍ അയയ്ക്കുന്നു"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux ക്രമികരിക്കുക"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "പ്രയോഗം കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഫയലുകള്‍/ഡയറക്ടറികള്‍ തിരഞ്ഞെടുക്കുക."
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "പോര്‍ട്ടുകളുടെ നമ്പര്‍ 1 മുതല്‍ %d ആയിരിക്കണം"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Pid, ലോഗ്, /var/lib എന്നീ ഫയലുകളിലേക്ക് \"എഴുതുന്നതിന്\" ‌‌‌പ്രയോഗത്തിന് ആവശ്യമായ ഫയലുകള്‍/"
+-#~ "ഡയറക്ടറികള്‍ ചേര്‍ക്കുക ..."
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "നിങ്ങള്‍ക്ക് പരിമിതിയുള്ള പ്രക്രിയ/ഉപയോക്താവിനുള്ള ഒരു പേര് നല്‍കുക"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "പ്രയോഗം ഉപയോഗിക്കുന്ന ബൂളിയനുകള്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER തരത്തിലുള്ളവ നിഷ്കര്‍ഷിക്കുവാന്‍ സാധ്യമല്ല"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "ഈ പ്രയോഗം/ഉപയോക്താവിന് ആവശ്യമുള്ള ബൂളിയനുകള്‍ ചേര്‍ക്കുക/നീക്കുക"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "ഡെമണ്‍ പ്രയോഗങ്ങള്‍ക്ക് മാത്രമേ init സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുവാന്‍ സാധിക്കൂ"
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "പോളിസി ഉണ്ടാക്കുന്നതിനുള്ള ഡയറക്ടറി തിരഞ്ഞെടുക്കുക"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog ഒരു ബൂളിയന്‍ ആയിരിക്കണം"
+-#~ msgid "Policy Directory"
+-#~ msgstr "പോളിസി ഡയറക്ടറി"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER തരത്തിലുള്ളവയ്ക്ക് സ്വയമേ ഒരു tmp തരത്തിലുള്ളത് ലഭ്യമാകുന്നു "
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "പോളിസി ഫയലുകള്‍ ലഭ്യമാക്കിയിരിക്കുന്നു"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "നിങ്ങള്‍ക്ക് പരിമിതിയുള്ള പ്രക്രിയയ്ക്കുള്ള പാഥ് നല്‍കുക"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ഈ ടൂള്‍ താഴെ പറയുന്നവ ലഭ്യമാക്കുന്നു: \n"
+-#~ "ടൈപ്പ് എന്‍ഫോഴ്സ്മെന്റ്(te), ഫയല്‍ കോണ്‍ടെക്സ്റ്റ്(fc), ഇന്റര്‍ഫെയിസ്(if), ഷെല്‍ സ്ക്രിപ്റ്റ്(sh)\n"
+-#~ "കംപൈല്‍/ഇന്‍സ്റ്റോള്‍ ചെയ്യുന്നതിനും ഫയലുകള്‍/ഡയറക്ടറികള്‍ക്ക് വീണ്ടും പേര് മാറ്റുന്നതിനും ഷെല്‍ "
+-#~ "സ്ക്രിപ്റ്റ് പ്രവര്‍ത്തിപ്പിക്കുക.  \n"
+-#~ "ഉപയോക്താവിനുള്ള ജോലികളിലേക്ക് ലിനക്സ് ലോഗിന്‍ ഉപയോക്താക്കളെ മാപ്പ് ചെയ്യുന്നതിനായി "
+-#~ "semanage അല്ലെങ്കില്‍ useradd ഉപയോഗിക്കുക\n"
+-#~ "സിസ്റ്റം പെര്‍മ്മിസ്സീവ് മോഡിലാക്കുക (setenforce 0). \n"
+-#~ "ഉപയോക്താവായി ലോഗിന്‍ ചെയ്ത് ഈ ജോലി പരീക്ഷിക്കുക .\n"
+-#~ "te ഫയലില്‍ കൂടുതല്‍ നിയമങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി audit2allow -R ഉപയോഗിക്കുക.\n"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "എന്‍ഫോര്‍സ്മെന്റ് ഫയല്‍ ടൈപ്പ് ചെയ്യുക "
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ഈ ടൂള്‍ താഴെ പറയുന്നവ ലഭ്യമാക്കുന്നു: \n"
+-#~ "ടൈപ്പ് എന്‍ഫോഴ്സ്മെന്റ്(te), ഫയല്‍ കോണ്‍ടെക്സ്റ്റ്(fc), ഇന്റര്‍ഫെയിസ്(if), ഷെല്‍ സ്ക്രിപ്റ്റ്(sh)\n"
+-#~ "\n"
+-#~ "കംപൈല്‍/ഇന്‍സ്റ്റോള്‍ ചെയ്യുന്നതിനും ഫയലുകള്‍/ഡയറക്ടറികള്‍ക്ക് വീണ്ടും പേര് മാറ്റുന്നതിനും ഷെല്‍ "
+-#~ "സ്ക്രിപ്റ്റ് പ്രവര്‍ത്തിപ്പിക്കുക.  \n"
+-#~ "സിസ്റ്റം പെര്‍മ്മിസ്സീവ് മോഡിലാക്കുക (setenforce 0). \n"
+-#~ "avc സന്ദേശങ്ങള്‍ ഉണ്ടാക്കുന്നതിനായി പ്രയോഗം പ്രവര്‍ത്തിപ്പിക്കുകയോ വീണ്ടും ആരംഭിക്കുകയോ "
+-#~ "ചെയ്യുക .\n"
+-#~ "te ഫയലില്‍ കൂടുതല്‍ നിയമങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി audit2allow -R ഉപയോഗിക്കുക.\n"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ഇന്റര്‍ഫെയിസ് ഫയല്‍"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "ബൂളിയന്‍സ് ഡയലോഗ് ചേര്‍ക്കുക"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ഫൈല്‍ കോണ്‍ടെക്സ്റ്റ് ഫയലുകള്‍"
+-#~ msgid "Boolean Name"
+-#~ msgstr "ബൂളിയന്‍ പേര്"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "സ്ക്രിപ്റ്റ് ക്രമികരിക്കുക"
+-#~ msgid "Role"
+-#~ msgstr "നിയമനം"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ട് "
+-#~ msgid "Existing_User"
+-#~ msgstr "നിലവിലുള്ള _ഉപയോക്താവ്"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux തരത്തിലുള്ള\n"
++"പോര്‍ട്ട്"
+-#~ msgid "Application"
+-#~ msgstr "പ്രയോഗം"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "സമ്പ്രദായം"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s ഒരു ഡയറക്ടറി ആയിരിക്കണം"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"ലവല്‍"
+-#~ msgid "You must select a user"
+-#~ msgstr "നിങ്ങള്‍ ഒരു ഉപയോക്താവ് ആയിരിക്കണം"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "പോര്‍ട്ട്"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "\"%s\" എന്ന പോര്‍ട്ട് നംബര്‍ തെറ്റാണ്.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "പട്ടികയില്‍ കാണുക"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "ഗ്രൂപ്പായുള്ള കാഴ്ച"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux സര്‍വീസ് സുരക്ഷ"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "അഡ്മിന്‍"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "/-ലേക്ക് corefile-കള്‍ എഴുതുന്നതിനായി എല്ലാ ഡെമണുകളേയും അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "നല്‍കിയിട്ടില്ലാത്ത tty ഉപയോഗിക്കുന്നതിനുള്ള കഴിവ് എല്ലാ ഡെമണുകള്‍ക്കും അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "ഉപയോക്താവിനുള്ള അനുമതികള്‍"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "പരിമിതി ആവശ്യമുള്ള നിഷ്കര്‍ഷിക്കേണ്ട ഫയല്‍ തിരഞ്ഞെടുക്കുക."
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി gadmin "
++"SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "പരിമിതി ആവശ്യമുള്ള ഇനിറ്റ് സ്ക്രിപ്റ്റ് ഫയല്‍ തിരഞ്ഞെടുക്കുക."
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി "
++"ഗസ്റ്റ്SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "പ്രയോഗം ഉണ്ടാക്കുകയോ അതിലേക്ക് എഴുതുകയോ ചെയ്യുന്നതിന് പരിമിതിയുള്ള ഫയല്‍ തിരഞ്ഞെടുക്കുക"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "മെമ്മറി സുരക്ഷ"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "ജാവാ എക്സിക്യൂട്ടബിള്‍ സ്റ്റാക്ക് അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "mount ഉപയോഗിച്ച് ഏത് ഫയലും മൌണ്ട് ചെയ്യുന്നതിനായി അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "mount ഉപയോഗിച്ച് ഏത് ഡയറക്ടറിയും മൌണ്ട് ചെയ്യുന്നതിനായി അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer എക്സിക്യൂട്ടബിള്‍ സ്റ്റാക്ക് അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh-keysign പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ssh-നെ അനുവദിക്കുക"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "പ്രയോഗത്തിന്റെ ഉടമസ്ഥതയിലുള്ളതും അതിലേക്ക് എഴുതുകയും ചെയ്യുന്നതിന് പരിമിതിയുള്ള ഡയറക്ടറി "
+-#~ "തിരഞ്ഞെടുക്കുക"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി staff "
++"SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "പോളിസി ഫയലുകള്‍ ഉണ്ടാക്കുന്നതിനുള്ള ഡയറക്ടറി തിരഞ്ഞെടുക്കുക"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി sysadm "
++"SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "നിലവിലുള്ള പോളിസിയില്‍ %s_t എന്ന രീതി നിഷ്കര്‍ഷിച്ചിരിക്കുന്നു.\n"
+-#~ "നിങ്ങള്‍ക്ക് മുമ്പോട്ട് പോകണമോ?"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി "
++"പരിമിതകളില്ലാത്ത SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
+-#~ msgid "Verify Name"
+-#~ msgstr "പേര് ഉറപ്പാക്കുക"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "നെറ്റ്‌വര്‍ക്ക് ക്രമികരണം"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "പേരില്ലാത്ത പാക്കറ്റുകളെ നെറ്റ്‌വര്‍ക്കിലൂടെ കടത്തിവിടാന്‍ അനുവദിക്കുക"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "നിലവിലുള്ള പോളിസിയില്‍ %s.pp എന്ന ഘടകം ലഭ്യമാണ്.\n"
+-#~ "നിങ്ങള്‍ക്ക് മുമ്പോട്ട് പോകണമോ?"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി യൂസര്‍ "
++"SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
+-#~ msgid "You must enter a name"
+-#~ msgstr "ഒരു പേര് പറഞ്ഞിരിക്കണം"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"unconfined_execmem-ലേക്ക് dyntrans ചെയ്യുന്നതിനായി പരിമിതികളില്ലാത്തവയെ അനുവദിക്കുക"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "പ്രവര്‍ത്തനത്തിലുള്ളത് പറഞ്ഞിരിക്കണം"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "ഡേറ്റാ ശേഖരണങ്ങള്‍"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "mysql സോക്കറ്റിലേക്ക് കണക്ട് ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "postgres സോക്കറ്റിലേക്ക് കണക്ട് ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "X ഷെയര്‍ഡ് മെമ്മറിയിലേക്ക് എഴുതുന്നതിനായി ക്ളൈന്റുകളെ അനുവദിക്കുക"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux ക്രമികരിക്കുക"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി xguest "
++"SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "പോര്‍ട്ടുകളുടെ നംബര്‍ 1 മുതല്‍ %d ആയിരിക്കണം "
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "NIS-നൊപ്പം പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ഡെമണുകളെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "വെബ് പ്രയോഗങ്ങള്‍"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "സ്റ്റാഫ് SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "യൂസര്‍ SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "ഹോം ഡയറക്ടറികളിലേക്ക് എഴുതുന്നതിനായി സ്റ്റാഫ് വെബ് ബ്രൌസറുകളെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda-യ്ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi-യ്ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "ക്ളസ്റ്റര്‍ സര്‍വറിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "നിങ്ങള്‍ക്ക് പരിമിതിയുള്ള പ്രക്രിയ/ഉപയോക്താവിനുള്ള ഒരു പേര് നല്‍കുക"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"പല ഉള്ളടക്കങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി cdrecord-നെ അനുവദിക്കുക. nfs, samba, മാറ്റുവാന്‍ "
++"സാധിക്കുന്ന ഡിവൈസുകള്‍, യൂസര്‍ temp, വിശ്വസനീയമല്ലാത്ത കണ്‍ടെന്റ് ഫയലുകള്‍ എന്നിവ"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER തരത്തിലുള്ളവ നിഷ്കര്‍ഷിക്കുവാന്‍ സാധ്യമല്ല"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "പ്രിന്റ് ചെയ്യല്‍"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd ബാക്കെന്‍ഡ് സര്‍വറിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക "
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "നേരിട്ട് ഡെമണുകള്‍ ആരംഭിക്കുന്നതിനായി sysadm_t-നെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "ഇവല്യൂഷനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "കളികള്‍"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "കളികള്‍ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "വെബ് ബ്രൌസറുകള്‍ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "തണ്ടര്‍ബേര്‍ഡിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "കോംപാറ്റിബിളിറ്റി"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "ഡെമണ്‍ പ്രയോഗങ്ങള്‍ക്ക് മാത്രമേ init സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുവാന്‍ സാധിക്കൂ"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "സുരക്ഷയ്ക്ക് കോട്ടം തട്ടാത്തതും തകരാറുള്ളതുമായ കാര്യങ്ങള്‍ ഓഡിറ്റ് ചെയ്യരുത്"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "http rotatelogs-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD സര്‍വീസ്"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd ചൈള്‍ഡ് ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "ഉപയോക്താവിനുള്ള ഫയലുകള്‍ ലഭ്യമാക്കുന്നതിനായി ഇവല്യൂഷ്യന്‍, തണ്ടര്‍ബേര്‍ഡ് എന്നിവരെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "ഉപയോക്താവിനുള്ള ഫയലുകള്‍ വായിക്കുന്നതിനായി മോസിലാ ബ്രൌസറിനെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "നെയിം സര്‍വീസ്"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "സാംബാ"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "ഒരു സാധാരണ ഉപയോക്താവിന് പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി pppd-യെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "ppt-യ്ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog ഒരു ബൂളിയന്‍ ആയിരിക്കണം"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"നിലവാരമില്ലാത്ത സ്ഥാനങ്ങളിലുള്ള ഫയലുകള്‍ ലഭ്യമാക്കുന്നതിനുള്ള പ്രോഗ്രാമുകള്‍ അനുവദിക്കുക (default_t)"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER തരത്തിലുള്ളവയ്ക്ക് സ്വയമേ ഒരു tmp തരത്തിലുള്ളത് ലഭ്യമാകുന്നു"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "നിങ്ങള്‍ക്ക് പരിമിതിയുള്ള പ്രക്രിയയ്ക്കുള്ള പാഥ് നല്‍കുക"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++"ഒരു ഡെമണ്‍ ആയി പ്രവര്‍ത്തിക്കുന്നതിന് പകരം inetd ആയി പ്രവര്‍ത്തിക്കുന്നതിന് ssh-നെ അനുവദിക്കുക"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "എന്‍ഫോര്‍സ്മെന്റ് ഫയല്‍ ടൈപ്പ് ചെയ്യുക"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "nfs ഡയറക്ടറികള്‍ പങ്കിടുന്നതിനായി Samba-യെ അനുവദിക്കുക"
+-#~ msgid "Interface file"
+-#~ msgstr "ഇന്റര്‍ഫെയിസ് ഫയല്‍"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL ഓഥന്റിക്കേഷന്‍ സര്‍വര്‍"
+-#~ msgid "File Contexts file"
+-#~ msgstr "ഫൈല്‍ കോണ്‍ടെക്സ്റ്റ് ഫയലുകള്‍"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "/etc/shadow ലഭ്യമാക്കുന്നതിനായി sasl ഓഥന്റിക്കേഷന്‍ സര്‍വറിനെ അനുവദിക്കുക"
+-#~ msgid "Setup Script"
+-#~ msgstr "സ്ക്രിപ്റ്റ് ക്രമികരിക്കുക"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"എക്സിക്യൂട്ടബിളും റൈറ്റബിളുമായി പ്രവര്‍ത്തിപ്പിക്കുന്നതിന് ഒരു മെമ്മറിയിലേക്ക് മാപ്പ് ചെയ്യുന്നതിനായി "
++"എക്സ്-വിന്‍ഡോസ് സര്‍വറിനെ അനുവദിക്കുക"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux തരത്തിലുള്ള\n"
+-#~ "പോര്‍ട്ട്"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo, su ബാധകമായവയിലേക്ക് മാറുന്നതിനായി അനുവദിക്കരുത്"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "കേര്‍ണല്‍ ഘടകങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി ഒരു പ്രക്രിയകളേയും അനുവദിക്കരുത്"
+-#~ msgid "Protocol"
+-#~ msgstr "സമ്പ്രദായം"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++"കേര്‍ണലിന്റെ SELinux പോളിസിയില്‍ മാറ്റം വരുത്തുന്നതിനായി ഒരു പ്രക്രിയകളേയും അനുവദിക്കരുത്"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "ലവല്‍"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Port"
+-#~ msgstr "പോര്‍ട്ട്"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "\"%s\" എന്ന പോര്‍ട്ട് നംബര്‍ തെറ്റാണ്.  0 < PORT_NUMBER < 65536 "
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroublesoot ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക "
+-#~ msgid "List View"
+-#~ msgstr "പട്ടികയില്‍ കാണുക"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Group View"
+-#~ msgstr "ഗ്രൂപ്പായുള്ള കാഴ്ച"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux സര്‍വീസ് സുരക്ഷ"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Admin"
+-#~ msgstr "അഡ്മിന്‍"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "/-ലേക്ക് corefile-കള്‍ എഴുതുന്നതിനായി എല്ലാ ഡെമണുകളേയും അനുവദിക്കുക"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "നല്‍കിയിട്ടില്ലാത്ത tty ഉപയോഗിക്കുന്നതിനുള്ള കഴിവ് എല്ലാ ഡെമണുകള്‍ക്കും അനുവദിക്കുക"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "User Privs"
+-#~ msgstr "ഉപയോക്താവിനുള്ള അനുമതികള്‍"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "സ്പാമിനുള്ള സുരക്ഷ "
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ഗസ്റ്റ് "
+-#~ "SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി "
+-#~ "gadmin SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "ഹോം ഡയറക്ടറികളിലേക്ക് പ്രവേശിക്കുന്നതിനായി spamd അനുവദിക്കുക"
+-#~ msgid "Memory Protection"
+-#~ msgstr "മെമ്മറി സുരക്ഷ"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "സ്പാം അസ്സാസ്സിന്‍ ഡെമണ്‍ നെറ്റ്‌വര്‍ക്ക് പ്രവേശനം അനുവദിക്കുക"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "ജാവാ എക്സിക്യൂട്ടബിള്‍ സ്റ്റാക്ക് അനുവദിക്കുക"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Mount"
+-#~ msgstr "Mount"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "സ്ക്വിഡ്"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "mount ഉപയോഗിച്ച് ഏത് ഫയലും മൌണ്ട് ചെയ്യുന്നതിനായി അനുവദിക്കുക"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "നെറ്റ്‌വര്‍ക്കിലേക്ക് കണക്ട് ചെയ്യുന്നതിനായി squid ഡെമണിനെ അനുവദിക്കുക"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "mount ഉപയോഗിച്ച് ഏത് ഡയറക്ടറിയും മൌണ്ട് ചെയ്യുന്നതിനായി അനുവദിക്കുക"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer എക്സിക്യൂട്ടബിള്‍ സ്റ്റാക്ക് അനുവദിക്കുക"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക "
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh ലോഗിനുകളെ sysadm_r:sysadm_t ആയി അനുവദിക്കുക"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh-keysign പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ssh-നെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"sysadm ഹോം ഡയറക്ടറി തിരഞ്ഞ് ഫയലുകള്‍ ലഭ്യമാക്കുന്നതിനായി staff_r users-നെ അനുവദിക്കുക "
++"(such as ~/.bashrc)"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി staff "
+-#~ "SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "യൂണിവേഴ്സല്‍ SSL ടണല്‍"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "xinetd-ന് പുറത്ത് ഒറ്റയ്ക്ക് പ്രവര്‍ത്തിക്കുന്നതിനായി stunnel ഡെമണിനെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "സിസ്റ്റം cron ജോലികള്‍ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി "
+-#~ "sysadm SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"പരിമിതികളില്ലാതെ പ്രവര്‍ത്തിക്കുന്നതിനായി xinetd-യെ അനുവദിക്കുക. ഡൊമെയില്‍ "
++"വ്യക്തമാക്കിയിട്ടില്ലാത്തതും അത് ആരംഭിക്കുന്നതുമായഏത് ഡസേവനങ്ങളുംഇതില്‍ ഉള്‍പ്പെടുന്നു."
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി "
+-#~ "പരിമിതകളില്ലാത്ത SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"പരിമിതികളില്ലാതെ പ്രവര്‍ത്തിക്കുന്നതിനായി rc സ്ക്രിപ്റ്റുകളെ അനുവദിക്കുക. ഡൊമെയില്‍ "
++"വ്യക്തമാക്കിയിട്ടില്ലാത്തതും rc സ്ക്രിപ്റ്റ് ആരംഭിക്കുന്നതുമായ ഏത് ഡെമണും ഇതില്‍ ഉള്‍പ്പെടുന്നു."
+-#~ msgid "Network Configuration"
+-#~ msgstr "നെറ്റ്‌വര്‍ക്ക് ക്രമികരണം"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "പരിതികളില്ലാതെ rpm പ്രവര്‍ത്തിക്കുന്നതിനായി അനുവദിക്കുക"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "പേരില്ലാത്ത പാക്കറ്റുകളെ നെറ്റ്‌വര്‍ക്കിലൂടെ കടത്തിവിടാന്‍ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"അനുവദനീയമായ പ്രയോഗങ്ങളായ hotplug, insmod എന്നിവ പരിമിതികളില്ലാതെ പ്രവര്‍ത്തിക്കുന്നതിന് "
++"അനുവദിക്കുക"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി യൂസര്‍ "
+-#~ "SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr ""
+-#~ "unconfined_execmem-ലേക്ക് dyntrans ചെയ്യുന്നതിനായി പരിമിതികളില്ലാത്തവയെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"su, sudo, അല്ലെങ്കില്‍ userhelper ഉപയോഗിച്ച് user_r-നെ sysadm_r-ല്‍ എത്തിക്കുന്നതിനായി "
++"അനുവദിക്കുക. അല്ലായെങ്കില്‍, staff_r-ന് മാത്രമേ സാധിക്കൂ."
+-#~ msgid "Databases"
+-#~ msgstr "ഡേറ്റാ ശേഖരണങ്ങള്‍"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "mount കമാന്‍ഡ് പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "mysql സോക്കറ്റിലേക്ക് കണക്ട് ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"സാധാരണ ഉപയോക്താക്കള്‍ക്ക് നേരിട്ടുള്ള മൌസ് ലഭ്യത അനുവദിക്കുക (എക്സ് സര്‍വറിന് മാത്രം അനുവദിക്കുക)"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "postgres സോക്കറ്റിലേക്ക് കണക്ട് ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "dmesg കമാന്‍ഡ് പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"നെറ്റ്‌വര്‍ക്ക് സംയോജക ഘടകങ്ങള്‍ നിയന്ത്രിക്കുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക (USERCTL=true "
++"എന്നതും ആവശ്യമുണ്ട്)"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "X ഷെയര്‍ഡ് മെമ്മറിയിലേക്ക് എഴുതുന്നതിനായി ക്ളൈന്റുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "ping പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി സാധാരണ ഉപയോക്താവിനെ അനുവദിക്കുക"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിന്റെ ഹോം ഡയറക്ടറി അല്ലെങ്കില്‍ /tmp-ല്‍ ഫയലുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി "
+-#~ "xguest SELinux ഉപയോക്താക്കളുടെ അക്കൌണ്ടുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"r/w noextattrfile (FAT, CDROM, FLOPPY) r/w ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "usb ഡിവൈസുകള്‍ rw ചെയ്യുന്നതിനായി ഉപയോക്താക്കളെ അനുവദിക്കുക"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "NIS-നൊപ്പം പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ഡെമണുകളെ അനുവദിക്കുക"
++#: ../gui/selinux.tbl:216
++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 ""
++"ഇത് പ്രവര്‍ത്തനരഹിതമാക്കി ഉപയോക്താക്കളെ ടിസിപി സര്‍വറുകള്‍ പ്രവര്‍ത്തിക്കുന്നതിനായി അനുവദിക്കുന്നത് "
++"(പോര്‍ട്ടുകളിലേക്ക് ബൈന്‍ഡ് ചെയ്ത് അതേ ഡൊമിയിനില്‍ നിന്നും മറ്റുള്ളവരില്‍ നിന്നും കണക്ഷന്‍ "
++"സ്വീകരിക്കുക)  എഫ്ടിപി പാസ്സീവ് മോഡ് നിഷ്ക്രിയമാക്കി മറ്റ് സമ്പ്രദായങ്ങളും മാറ്റുന്നു."
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ttyfiles സ്റ്റാറ്റ് ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm ലോഗിനുകള്‍ sysadm_r:sysadm_t ആയി അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "ഫിസിക്കല്‍ ഡിസ്ക് ഡിവൈസുകളിലേക്ക് റീഡ്/റൈറ്റ് പ്രവര്‍ത്തി xen അനുവദിക്കുക"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen control ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS പാസ്‌വേര്‍ഡ് ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS ട്രാന്‍സ്ഫര്‍ ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-#~ msgid "Web Applications"
+-#~ msgstr "വെബ് പ്രയോഗങ്ങള്‍"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"അവകാശമില്ലാത്ത ഉപയോക്താക്കളുടെ ഹോം ഡയറക്ടറികള്‍ കൈകാര്യം ചെയ്യുന്നതിനായി SELinux webadm "
++"ഉപയോക്താവിനെ അനുവദിക്കുക"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "സ്റ്റാഫ് SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"അവകാശമില്ലാത്ത ഉപയോക്താക്കളുടെ ഹോം ഡയറക്ടറികളിലേക്ക് പ്രവേശിക്കുന്നതിനായി SELinux webadm "
++"ഉപയോക്താവിനെ അനുവദിക്കുക"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "sysadm SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "നിങ്ങള്‍ക്ക് %s '%s' നീക്കം ചെയ്യണമെന്നുറപ്പാണോ?"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "യൂസര്‍ SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s നീക്കം ചെയ്യുക"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "xguest SELinux ഉപയോക്താവിനെ വെബ് ബ്രൌസര്‍ ഡൊമെയിനിലേക്ക് മാറ്റുക"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s ചേര്‍ക്കുക"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "ഹോം ഡയറക്ടറികളിലേക്ക് എഴുതുന്നതിനായി സ്റ്റാഫ് വെബ് ബ്രൌസറുകളെ അനുവദിക്കുക"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s-ല്‍ മാറ്റം വരുത്തുക"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda-യ്ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "പെര്‍മിസ്സീവ്"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "എന്‍ഫോര്‍സിങ്"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "പ്രവര്‍ത്തന രഹിതം"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "അവസ്ഥ"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/statusPage.py:133
++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 ""
++"പോളിസി മാറ്റിയാല്‍ അടുത്ത തവണ ബൂട്ട് ചെയ്യുമ്പോള്‍ ഫയല്‍ സിസ്റ്റം പൂര്‍ണ്ണമായും റീലേബല്‍ "
++"ചെയ്യണ്ടതാകുന്നു.  സിസ്റ്റമിന്റെ വ്യാപ്തി അനുസരിച്ച് റീലേബലിങിന് സമയമെടുക്കുന്നു.നിങ്ങള്‍ക്ക് മുമ്പോട്ട് "
++"പോകണമെന്നുറപ്പാണോ?"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux നിര്‍ജ്ജീവാമാക്കുന്നു എങ്കില്‍ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്.  ഇത് ഉത്തമമല്ല. കാരണം, നിങ്ങള്‍ക്ക് "
++"പിന്നീട് SELinux ആവശ്യമാണ് എങ്കില്‍, ഓണ്‍ ചെയ്യുന്നതിനായി, സിസ്റ്റം വീണ്ടും റീലേബല്‍ "
++"ചെയ്യണ്ടതുണ്ട്. SELinux നിങ്ങളുടെ സിസ്റ്റമില്‍ എന്തെങ്കിലും തകരാറുകള്‍ ഉണ്ടാക്കുന്നുണ്ടോ എന്ന് "
++"അറിയണമെങ്കില്‍ നിങ്ങള്‍ക്ക് പെര്‍മ്മിസ്സീവ് മോഡിലേക്ക് മാറ്റാം. ഇത് പിശകുകള്‍ മാത്രം ലോഗ് ചെയ്യുന്നു, "
++"കൂടാതെ SELinux പോളിസി എന്‍ഫോഴ്സ് ചെയ്യുന്നുമില്ല. പെര്‍മ്മിസ്സീവ് മോഡുകള്‍ക്ക് റീബൂട്ട് "
++"ചെയ്യേണ്ടതില്ല.    നിങ്ങള്‍ക്ക് മുമ്പോട്ട് തുടരണമോ?"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux സജ്ജമാക്കിയാല്‍ അടുത്ത തവണ ബൂട്ട് ചെയ്യുമ്പോള്‍ ഫയല്‍ സിസ്റ്റം പൂര്‍ണ്ണമായും റീലേബല്‍ "
++"ചെയ്യണ്ടതാകുന്നു.  സിസ്റ്റമിന്റെ വ്യാപ്തി അനുസരിച്ച് റീലേബലിങിന് സമയമെടുക്കുന്നു.നിങ്ങള്‍ക്ക് മുമ്പോട്ട് "
++"പോകണമെന്നുറപ്പാണോ?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"പകര്‍പ്പവകാശം (c)2006 Red Hat, Inc.\n"
++"പകര്‍പ്പവകാശം (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi-യ്ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux ലോഗിന്‍ മാപ്പിങ് ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടുകള്‍ ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux തരത്തിലുള്ള"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"ലവല്‍"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "ഫയലിനുള്ള പ്രത്യേകതകള്‍"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ഏത് തരം ഫയല്‍"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"എല്ലാ ഫയലുകളും\n"
++"സാധാരണ ഫയല്‍\n"
++"ഡയറക്ടറി\n"
++"ക്യാരക്ടര്‍ ഡിവൈസ്\n"
++"ബ്ളോക്ക് ഡിവൈസ്\n"
++"സോക്കറ്റ്\n"
++"സിംബോളിക് ലിങ്ക്\n"
++"നെയിമ്ഡ് പൈപ്പ്\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux ഉപയോക്താവിനെ ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux അഡ്മിനിസ്ട്രേഷന്‍"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "ഗുണഗണങ്ങള്‍ (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "നീക്കം ചെയ്യുക (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "മാനേജ്മെന്റ് ഒബ്ജക്ട് തിരഞ്ഞെടുക്കുക"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>തിരഞ്ഞെടുക്കുക:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "സിസ്റ്റമില്‍ സ്വതവേയുള്ള എന്‍ഫോര്‍സിങ് മോഡ്"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "ക്ളസ്റ്റര്‍ സര്‍വറിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"പ്രവര്‍ത്തന രഹിതം\n"
++"പെര്‍മ്മിസ്സീവ്\n"
++"എന്‍ഫോഴ്സിങ്\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "നിലവിലുള്ള എന്‍ഫോര്‍സിങ് മോഡ്"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "സിസ്റ്റത്തിന്റെ സ്വതവേയുള്ള പോളിസി തരത്തിലുള്ളവ: "
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "പല ഉള്ളടക്കങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി cdrecord-നെ അനുവദിക്കുക. nfs, samba, മാറ്റുവാന്‍ "
+-#~ "സാധിക്കുന്ന ഡിവൈസുകള്‍, യൂസര്‍ temp, വിശ്വസനീയമല്ലാത്ത കണ്‍ടെന്റ് ഫയലുകള്‍ എന്നിവ"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"അടുത്ത തവണ റീബൂട്ട് ചെയ്യുമ്പോള്‍ ഫയല്‍ സിസ്റ്റം പൂര്‍ണ്ണമായും റീലേബല്‍ ചെയ്യണമെങ്കില്‍ തിരഞ്ഞെടുക്കുക.  "
++"സിസ്റ്റമിന്റെ വ്യാപ്തി അനുസരിച്ച് റീലേബലിങിന് സമയമെടുക്കുന്നു.നിങ്ങള്‍ പോളിസി മാറ്റുകയോ, "
++"നിര്‍ജ്ജീവം എന്നതില്‍ നിന്നും എന്‍ഫോഴ്സിങ് ആകുകയോ ചെയ്യുന്നു എങ്കില്‍ റീലേബല്‍ ആവശ്യമുണ്ട്."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "അടുത്ത തവണ റീബൂട്ട് ചെയ്യുമ്പോള്‍ ലേബല്‍ മാറ്റുക."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "ബൂളിയന്‍ ക്രമികരണത്തിനെ സിസ്റ്റമിന്റെ സ്വതവേയുള്ളതാക്കി മാറ്റുക"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "യഥേഷ്ടം തയ്യാറാക്കിയവയും മറ്റെല്ലാ ബൂളിയനുകളും തമ്മില്‍ മാറ്റുക"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Run booleans lockdown wizard"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Lockdown..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "ഫില്‍‌റ്റര്‍"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "ഫയല്‍ കോണ്‍ടെക്സ്റ്റ് ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "ഫയല്‍ കോണ്‍ടെക്സ്റ്റില്‍ മാറ്റം വരുത്തുക"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "ഫയല്‍ കോണ്‍ടെക്സ്റ്റ് നീക്കം ചെയ്യുക"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "യഥേഷ്ടം തയ്യാറാക്കിയ ഫയലിന്റെ കോണ്‍ടെക്സ്റ്റും മറ്റെല്ലാം തമ്മില്‍ മാറ്റുക"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux യൂസര്‍ മാപ്പിങ് ചേര്‍ക്കുക"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux യൂസര്‍ മാപ്പിങില്‍ മാറ്റം വരുത്തുക"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux യൂസര്‍ മാപ്പിങ് നീക്കം ചെയ്യുക"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "ഉപയോക്താവിനെ ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "ഉപയോക്താവില്‍ മാറ്റം വരുത്തുക"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "ഉപയോക്താവിനെ നീക്കം ചെയ്യുക"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "തര്‍ജ്ജമ ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "തര്‍ജ്ജമയില്‍ മാറ്റം വരുത്തുക"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "തര്‍ജ്ജമ നീക്കം ചെയ്യുക"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ട് ചേര്‍ക്കുക"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടില്‍ മാറ്റം വരുത്തുക"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ട് നീക്കം ചെയ്യുക"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "യഥേഷ്ടം തയ്യാറാക്കിയവയും മറ്റെല്ലാ പോര്‍ട്ടുകളും തമ്മില്‍ മാറ്റുക"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "പുതിയ പോളിസി ഘടകം ഉണ്ടാക്കുക"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "പോളിസി ഘടകം ലഭ്യമാക്കുക"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "ലഭ്യമാകുന്ന പോളിസി ഘടകം നീക്കം ചെയ്യുക"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"കൂടുതലുള്ള ഓഡിറ്റ് നിയമങ്ങള്‍ പ്രവര്‍ത്തന രഹിതമാക്കുക, അവ സാധാരണ ലോഗ് ഫയലുകളില്‍ റിപ്പോര്‍ട്ട് "
++"ചെയ്യപ്പെടുന്നില്ല."
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "പ്രക്രിയ പെര്‍മിസ്സീവ് മോഡിലേക്കു് മാറ്റുന്നു"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "പ്രക്രിയ എന്‍ഫോഴ്സിങ് മോഡിലേക്കു് മാറ്റുന്നു"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "പ്രൊസസ്സ് ഡൊമെയിന്‍"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Printing"
+-#~ msgstr "പ്രിന്റ് ചെയ്യല്‍"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd ബാക്കെന്‍ഡ് സര്‍വറിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക "
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "നേരിട്ട് ഡെമണുകള്‍ ആരംഭിക്കുന്നതിനായി sysadm_t-നെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "ഇവല്യൂഷനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Games"
+-#~ msgstr "കളികള്‍"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "കളികള്‍ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "വെബ് ബ്രൌസറുകള്‍ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "തണ്ടര്‍ബേര്‍ഡിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "കോംപാറ്റിബിളിറ്റി"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr "സുരക്ഷയ്ക്ക് കോട്ടം തട്ടാത്തതും തകരാറുള്ളതുമായ കാര്യങ്ങള്‍ ഓഡിറ്റ് ചെയ്യരുത്"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "cups hplip ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "http rotatelogs-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD സര്‍വീസ്"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd ചൈള്‍ഡ് ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr ""
+-#~ "ഉപയോക്താവിനുള്ള ഫയലുകള്‍ ലഭ്യമാക്കുന്നതിനായി ഇവല്യൂഷ്യന്‍, തണ്ടര്‍ബേര്‍ഡ് എന്നിവരെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "ഉപയോക്താവിനുള്ള ഫയലുകള്‍ വായിക്കുന്നതിനായി മോസിലാ ബ്രൌസറിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "നെയിം സര്‍വീസ്"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManager-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Samba"
+-#~ msgstr "സാംബാ"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "ഒരു സാധാരണ ഉപയോക്താവിന് പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി pppd-യെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "ppt-യ്ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readahead-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "നിലവാരമില്ലാത്ത സ്ഥാനങ്ങളിലുള്ള ഫയലുകള്‍ ലഭ്യമാക്കുന്നതിനുള്ള പ്രോഗ്രാമുകള്‍ അനുവദിക്കുക "
+-#~ "(default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr ""
+-#~ "ഒരു ഡെമണ്‍ ആയി പ്രവര്‍ത്തിക്കുന്നതിന് പകരം inetd ആയി പ്രവര്‍ത്തിക്കുന്നതിന് ssh-നെ അനുവദിക്കുക"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "nfs ഡയറക്ടറികള്‍ പങ്കിടുന്നതിനായി Samba-യെ അനുവദിക്കുക"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL ഓഥന്റിക്കേഷന്‍ സര്‍വര്‍"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "/etc/shadow ലഭ്യമാക്കുന്നതിനായി sasl ഓഥന്റിക്കേഷന്‍ സര്‍വറിനെ അനുവദിക്കുക"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "എക്സിക്യൂട്ടബിളും റൈറ്റബിളുമായി പ്രവര്‍ത്തിപ്പിക്കുന്നതിന് ഒരു മെമ്മറിയിലേക്ക് മാപ്പ് "
+-#~ "ചെയ്യുന്നതിനായി എക്സ്-വിന്‍ഡോസ് സര്‍വറിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "sysadm_t, sudo, su ബാധകമായവയിലേക്ക് മാറുന്നതിനായി അനുവദിക്കരുത്"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "കേര്‍ണല്‍ ഘടകങ്ങള്‍ ലഭ്യമാക്കുന്നതിനായി ഒരു പ്രക്രിയകളേയും അനുവദിക്കരുത്"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "കേര്‍ണലിന്റെ SELinux പോളിസിയില്‍ മാറ്റം വരുത്തുന്നതിനായി ഒരു പ്രക്രിയകളേയും അനുവദിക്കരുത്"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans-നുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroublesoot ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക "
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "സ്പാമിനുള്ള സുരക്ഷ "
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "ഹോം ഡയറക്ടറികളിലേക്ക് പ്രവേശിക്കുന്നതിനായി spamd അനുവദിക്കുക"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "സ്പാം അസ്സാസ്സിന്‍ ഡെമണ്‍ നെറ്റ്‌വര്‍ക്ക് പ്രവേശനം അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Squid"
+-#~ msgstr "സ്ക്വിഡ്"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "നെറ്റ്‌വര്‍ക്കിലേക്ക് കണക്ട് ചെയ്യുന്നതിനായി squid ഡെമണിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക "
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh ലോഗിനുകളെ sysadm_r:sysadm_t ആയി അനുവദിക്കുക"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "sysadm ഹോം ഡയറക്ടറി തിരഞ്ഞ് ഫയലുകള്‍ ലഭ്യമാക്കുന്നതിനായി staff_r users-നെ അനുവദിക്കുക "
+-#~ "(such as ~/.bashrc)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "യൂണിവേഴ്സല്‍ SSL ടണല്‍"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "xinetd-ന് പുറത്ത് ഒറ്റയ്ക്ക് പ്രവര്‍ത്തിക്കുന്നതിനായി stunnel ഡെമണിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "സിസ്റ്റം cron ജോലികള്‍ക്കുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "പരിമിതികളില്ലാതെ പ്രവര്‍ത്തിക്കുന്നതിനായി xinetd-യെ അനുവദിക്കുക. ഡൊമെയില്‍ "
+-#~ "വ്യക്തമാക്കിയിട്ടില്ലാത്തതും അത് ആരംഭിക്കുന്നതുമായഏത് ഡസേവനങ്ങളുംഇതില്‍ ഉള്‍പ്പെടുന്നു."
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "പരിമിതികളില്ലാതെ പ്രവര്‍ത്തിക്കുന്നതിനായി rc സ്ക്രിപ്റ്റുകളെ അനുവദിക്കുക. ഡൊമെയില്‍ "
+-#~ "വ്യക്തമാക്കിയിട്ടില്ലാത്തതും rc സ്ക്രിപ്റ്റ് ആരംഭിക്കുന്നതുമായ ഏത് ഡെമണും ഇതില്‍ ഉള്‍പ്പെടുന്നു."
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "പരിതികളില്ലാതെ rpm പ്രവര്‍ത്തിക്കുന്നതിനായി അനുവദിക്കുക"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "അനുവദനീയമായ പ്രയോഗങ്ങളായ hotplug, insmod എന്നിവ പരിമിതികളില്ലാതെ "
+-#~ "പ്രവര്‍ത്തിക്കുന്നതിന് അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതകമാക്കുക"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "su, sudo, അല്ലെങ്കില്‍ userhelper ഉപയോഗിച്ച് user_r-നെ sysadm_r-ല്‍ "
+-#~ "എത്തിക്കുന്നതിനായി അനുവദിക്കുക. അല്ലായെങ്കില്‍, staff_r-ന് മാത്രമേ സാധിക്കൂ."
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "mount കമാന്‍ഡ് പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "സാധാരണ ഉപയോക്താക്കള്‍ക്ക് നേരിട്ടുള്ള മൌസ് ലഭ്യത അനുവദിക്കുക (എക്സ് സര്‍വറിന് മാത്രം അനുവദിക്കുക)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "dmesg കമാന്‍ഡ് പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "നെറ്റ്‌വര്‍ക്ക് സംയോജക ഘടകങ്ങള്‍ നിയന്ത്രിക്കുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക "
+-#~ "(USERCTL=true എന്നതും ആവശ്യമുണ്ട്)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "ping പ്രവര്‍ത്തിപ്പിക്കുന്നതിനായി സാധാരണ ഉപയോക്താവിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "r/w noextattrfile (FAT, CDROM, FLOPPY) r/w ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ "
+-#~ "അനുവദിക്കുക"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "usb ഡിവൈസുകള്‍ rw ചെയ്യുന്നതിനായി ഉപയോക്താക്കളെ അനുവദിക്കുക"
+-
+-#~ 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 ""
+-#~ "ഇത് പ്രവര്‍ത്തനരഹിതമാക്കി ഉപയോക്താക്കളെ ടിസിപി സര്‍വറുകള്‍ പ്രവര്‍ത്തിക്കുന്നതിനായി "
+-#~ "അനുവദിക്കുന്നത് (പോര്‍ട്ടുകളിലേക്ക് ബൈന്‍ഡ് ചെയ്ത് അതേ ഡൊമിയിനില്‍ നിന്നും മറ്റുള്ളവരില്‍ നിന്നും "
+-#~ "കണക്ഷന്‍ സ്വീകരിക്കുക)  എഫ്ടിപി പാസ്സീവ് മോഡ് നിഷ്ക്രിയമാക്കി മറ്റ് സമ്പ്രദായങ്ങളും മാറ്റുന്നു."
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "ttyfiles സ്റ്റാറ്റ് ചെയ്യുന്നതിനായി ഉപയോക്താവിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm ലോഗിനുകള്‍ sysadm_r:sysadm_t ആയി അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "ഫിസിക്കല്‍ ഡിസ്ക് ഡിവൈസുകളിലേക്ക് റീഡ്/റൈറ്റ് പ്രവര്‍ത്തി xen അനുവദിക്കുക"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen control ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS പാസ്‌വേര്‍ഡ് ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS ട്രാന്‍സ്ഫര്‍ ഡെമണിനുള്ള SELinux സുരക്ഷ പ്രവര്‍ത്തന രഹിതമാക്കുക"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "അവകാശമില്ലാത്ത ഉപയോക്താക്കളുടെ ഹോം ഡയറക്ടറികള്‍ കൈകാര്യം ചെയ്യുന്നതിനായി SELinux "
+-#~ "webadm ഉപയോക്താവിനെ അനുവദിക്കുക"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "അവകാശമില്ലാത്ത ഉപയോക്താക്കളുടെ ഹോം ഡയറക്ടറികളിലേക്ക് പ്രവേശിക്കുന്നതിനായി SELinux "
+-#~ "webadm ഉപയോക്താവിനെ അനുവദിക്കുക"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "നിങ്ങള്‍ക്ക് %s '%s' നീക്കം ചെയ്യണമെന്നുറപ്പാണോ?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s നീക്കം ചെയ്യുക"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s ചേര്‍ക്കുക"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s-ല്‍ മാറ്റം വരുത്തുക"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "പെര്‍മിസ്സീവ്"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "എന്‍ഫോര്‍സിങ്"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "പ്രവര്‍ത്തന രഹിതം"
+-
+-#~ msgid "Status"
+-#~ msgstr "അവസ്ഥ"
+-
+-#~ 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 ""
+-#~ "പോളിസി മാറ്റിയാല്‍ അടുത്ത തവണ ബൂട്ട് ചെയ്യുമ്പോള്‍ ഫയല്‍ സിസ്റ്റം പൂര്‍ണ്ണമായും റീലേബല്‍ "
+-#~ "ചെയ്യണ്ടതാകുന്നു.  സിസ്റ്റമിന്റെ വ്യാപ്തി അനുസരിച്ച് റീലേബലിങിന് സമയമെടുക്കുന്നു.നിങ്ങള്‍ക്ക് "
+-#~ "മുമ്പോട്ട് പോകണമെന്നുറപ്പാണോ?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "SELinux നിര്‍ജ്ജീവാമാക്കുന്നു എങ്കില്‍ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്.  ഇത് ഉത്തമമല്ല. കാരണം, "
+-#~ "നിങ്ങള്‍ക്ക് പിന്നീട് SELinux ആവശ്യമാണ് എങ്കില്‍, ഓണ്‍ ചെയ്യുന്നതിനായി, സിസ്റ്റം വീണ്ടും "
+-#~ "റീലേബല്‍ ചെയ്യണ്ടതുണ്ട്. SELinux നിങ്ങളുടെ സിസ്റ്റമില്‍ എന്തെങ്കിലും തകരാറുകള്‍ ഉണ്ടാക്കുന്നുണ്ടോ "
+-#~ "എന്ന് അറിയണമെങ്കില്‍ നിങ്ങള്‍ക്ക് പെര്‍മ്മിസ്സീവ് മോഡിലേക്ക് മാറ്റാം. ഇത് പിശകുകള്‍ മാത്രം ലോഗ് "
+-#~ "ചെയ്യുന്നു, കൂടാതെ SELinux പോളിസി എന്‍ഫോഴ്സ് ചെയ്യുന്നുമില്ല. പെര്‍മ്മിസ്സീവ് മോഡുകള്‍ക്ക് റീബൂട്ട് "
+-#~ "ചെയ്യേണ്ടതില്ല.    നിങ്ങള്‍ക്ക് മുമ്പോട്ട് തുടരണമോ?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "SELinux സജ്ജമാക്കിയാല്‍ അടുത്ത തവണ ബൂട്ട് ചെയ്യുമ്പോള്‍ ഫയല്‍ സിസ്റ്റം പൂര്‍ണ്ണമായും റീലേബല്‍ "
+-#~ "ചെയ്യണ്ടതാകുന്നു.  സിസ്റ്റമിന്റെ വ്യാപ്തി അനുസരിച്ച് റീലേബലിങിന് സമയമെടുക്കുന്നു.നിങ്ങള്‍ക്ക് "
+-#~ "മുമ്പോട്ട് പോകണമെന്നുറപ്പാണോ?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "പകര്‍പ്പവകാശം (c)2006 Red Hat, Inc.\n"
+-#~ "പകര്‍പ്പവകാശം (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux ലോഗിന്‍ മാപ്പിങ് ചേര്‍ക്കുക"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടുകള്‍ ചേര്‍ക്കുക"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux തരത്തിലുള്ള"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "ലവല്‍"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "ഫയലിനുള്ള പ്രത്യേകതകള്‍"
+-
+-#~ msgid "File Type"
+-#~ msgstr "ഏത് തരം ഫയല്‍"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "എല്ലാ ഫയലുകളും\n"
+-#~ "സാധാരണ ഫയല്‍\n"
+-#~ "ഡയറക്ടറി\n"
+-#~ "ക്യാരക്ടര്‍ ഡിവൈസ്\n"
+-#~ "ബ്ളോക്ക് ഡിവൈസ്\n"
+-#~ "സോക്കറ്റ്\n"
+-#~ "സിംബോളിക് ലിങ്ക്\n"
+-#~ "നെയിമ്ഡ് പൈപ്പ്\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux ഉപയോക്താവിനെ ചേര്‍ക്കുക"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux അഡ്മിനിസ്ട്രേഷന്‍"
+-
+-#~ msgid "Add"
+-#~ msgstr "ചേര്‍ക്കുക"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "ഗുണഗണങ്ങള്‍ (_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "നീക്കം ചെയ്യുക (_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "മാനേജ്മെന്റ് ഒബ്ജക്ട് തിരഞ്ഞെടുക്കുക"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>തിരഞ്ഞെടുക്കുക:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "സിസ്റ്റമില്‍ സ്വതവേയുള്ള എന്‍ഫോര്‍സിങ് മോഡ്"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "നിലവിലുള്ള എന്‍ഫോര്‍സിങ് മോഡ്"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "സിസ്റ്റത്തിന്റെ സ്വതവേയുള്ള പോളിസി തരത്തിലുള്ളവ: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "അടുത്ത തവണ റീബൂട്ട് ചെയ്യുമ്പോള്‍ ഫയല്‍ സിസ്റ്റം പൂര്‍ണ്ണമായും റീലേബല്‍ ചെയ്യണമെങ്കില്‍ "
+-#~ "തിരഞ്ഞെടുക്കുക.  സിസ്റ്റമിന്റെ വ്യാപ്തി അനുസരിച്ച് റീലേബലിങിന് സമയമെടുക്കുന്നു.നിങ്ങള്‍ പോളിസി "
+-#~ "മാറ്റുകയോ, നിര്‍ജ്ജീവം എന്നതില്‍ നിന്നും എന്‍ഫോഴ്സിങ് ആകുകയോ ചെയ്യുന്നു എങ്കില്‍ റീലേബല്‍ ആവശ്യമുണ്ട്."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "അടുത്ത തവണ റീബൂട്ട് ചെയ്യുമ്പോള്‍ ലേബല്‍ മാറ്റുക."
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "ബൂളിയന്‍ ക്രമികരണത്തിനെ സിസ്റ്റമിന്റെ സ്വതവേയുള്ളതാക്കി മാറ്റുക"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "യഥേഷ്ടം തയ്യാറാക്കിയവയും മറ്റെല്ലാ ബൂളിയനുകളും തമ്മില്‍ മാറ്റുക"
+-
+-#~ msgid "Filter"
+-#~ msgstr "ഫില്‍‌റ്റര്‍"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "ഫയല്‍ കോണ്‍ടെക്സ്റ്റ് ചേര്‍ക്കുക"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "ഫയല്‍ കോണ്‍ടെക്സ്റ്റില്‍ മാറ്റം വരുത്തുക"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "ഫയല്‍ കോണ്‍ടെക്സ്റ്റ് നീക്കം ചെയ്യുക"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "യഥേഷ്ടം തയ്യാറാക്കിയ ഫയലിന്റെ കോണ്‍ടെക്സ്റ്റും മറ്റെല്ലാം തമ്മില്‍ മാറ്റുക"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux യൂസര്‍ മാപ്പിങ് ചേര്‍ക്കുക"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux യൂസര്‍ മാപ്പിങില്‍ മാറ്റം വരുത്തുക"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux യൂസര്‍ മാപ്പിങ് നീക്കം ചെയ്യുക"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "തര്‍ജ്ജമ ചേര്‍ക്കുക"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "തര്‍ജ്ജമയില്‍ മാറ്റം വരുത്തുക"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "തര്‍ജ്ജമ നീക്കം ചെയ്യുക"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux ഉപയോക്താവില്‍ മാറ്റം വരുത്തുക"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ട് ചേര്‍ക്കുക"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ടില്‍ മാറ്റം വരുത്തുക"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "നെറ്റ്‌വര്‍ക്ക് പോര്‍ട്ട് നീക്കം ചെയ്യുക"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "യഥേഷ്ടം തയ്യാറാക്കിയവയും മറ്റെല്ലാ പോര്‍ട്ടുകളും തമ്മില്‍ മാറ്റുക"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "പുതിയ പോളിസി ഘടകം ഉണ്ടാക്കുക"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "പോളിസി ഘടകം ലഭ്യമാക്കുക"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "ലഭ്യമാകുന്ന പോളിസി ഘടകം നീക്കം ചെയ്യുക"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "കൂടുതലുള്ള ഓഡിറ്റ് നിയമങ്ങള്‍ പ്രവര്‍ത്തന രഹിതമാക്കുക, അവ സാധാരണ ലോഗ് ഫയലുകളില്‍ റിപ്പോര്‍ട്ട് "
+-#~ "ചെയ്യപ്പെടുന്നില്ല."
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "സെന്‍സിറ്റിവിറ്റി നിലവാരം"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "'%s' എന്ന SELinux ഉപയോക്താവ് ആവശ്യമുണ്ട്"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "മൂല്ല്യം ആവശ്യമുണ്ട്"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "അസാധുവായ പ്രിഫിക്സ് ആണ്%s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "പ്രയോഗം/ഉപയോക്താവിനെ ഏതെങ്കിലും tcp പോര്‍ട്ടുകള്‍ > 1024-ലേക്ക് ബൈന്‍ഡ് ചെയ്യുവാന്‍ അനുവദിക്കുക"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr "പ്രയോഗം/ഉപയോക്താവിനെ ഏതെങ്കിലും tcp പോര്‍ട്ടിലേക്ക് ബൈന്‍ഡ് ചെയ്യുവാന്‍ അനുവദിക്കുന്നു"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "പ്രയോഗം/ഉപയോക്താവിന് ബൈന്‍ഡ് ചെയ്യുന്നതിനായി ടിസിപി പോര്‍ട്ടുകളോ അവയുടെ പരിധിയില്‍പ്പെടുന്ന "
+-#~ "മറ്റ് പോര്‍ട്ടുകളോ കോമാ ഉപയോഗിച്ച് വേര്‍തിരിച്ച് നല്‍കുക. ഉദാ: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux പോളിസി ഉത്പാദന ഡ്രൂയിഡ്"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "മറ്റൊന്നിനും കരുതിട്ടില്ലാത്ത പോര്‍ട്ടുകള്‍  (>1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "0 ഉള്ള bindresvport ആണ് നിങ്ങളുടെ പ്രയോഗം ആവശ്യപ്പെടുന്നത് എങ്കില്‍ ഈ ചെക്ക്ബട്ടണ്‍ "
+-#~ "ഉപയോഗിക്കുക."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "എന്‍ഫോര്‍സിങ്\n"
+-#~ "പെര്‍മിസ്സീവ്\n"
+-#~ "പ്രവര്‍ത്തന രഹിതം\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "'%s' എന്ന SELinux ഉപയോക്താവ് ആവശ്യമുണ്ട്"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/mr.po policycoreutils-2.0.85/po/mr.po
+--- nsapolicycoreutils/po/mr.po        2011-02-17 15:11:25.579727370 -0500
++++ policycoreutils-2.0.85/po/mr.po    2011-02-18 16:03:41.385975861 -0500
+@@ -1,25 +1,44 @@
+-# translation of policycoreutils.HEAD.mr.po to marathi
++# translation of mr.po to Marathi
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # Rahul Bhalerao <rbhalera@redhat.com>, 2006.
+ # Rahul Bhalerao <b.rahul.pm@gmail.com>, 2006.
+ # sandeep shedmake <sandeep.shedmake@gmail.com>, 2007.
+-# Sandeep Shedmake <sandeep.shedmake@gmail.com>, 2008.
++# Sandeep Shedmake <sandeep.shedmake@gmail.com>, 2008, 2009.
++# Sandeep Shedmake <sshedmak@redhat.com>, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils.HEAD.mr\n"
++"Project-Id-Version: mr\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-03-24 15:54+0530\n"
+-"Last-Translator: Sandeep Shedmake <sandeep.shedmake@gmail.com>\n"
+-"Language-Team: marathi\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-27 15:42+0530\n"
++"Last-Translator: Sandeep Shedmake <sshedmak@redhat.com>\n"
++"Language-Team: Marathi <fedora-trans-mr@redhat.com>\n"
++"Language: mr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
+ "Plural-Forms: nplurals=2; plural=(n!=1);\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "ग्राफिकल सेटिंगमध्ये SELinux संरचीत करा"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux मॅनेजमेंट"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux करार घटके निर्माण करा"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux करार निर्माण साधन"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -27,8 +46,8 @@
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+ "वापर: run_init <script> <args ...>\n"
+-"  जेथे: <script> हे चालवायच्या init स्क्रीप्टचे नाव आहे,\n"
+-"         <args ...> हे त्या स्क्रीप्टचे आर्ग्यूमेंट्स आहेत."
++"  जेथे: <script> हे चालवायच्या init स्क्रिप्टचे नाव आहे,\n"
++"         <args ...> हे त्या स्क्रिप्टचे आर्ग्यूमेंट्स आहेत."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+@@ -109,9 +128,8 @@
+ msgstr "semanage जोडणी प्रस्तापित करू शकत नाही"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "MLS परिसीमा %s साठी निर्धारित करता आली नाही"
++msgstr "MLS कार्यान्वीत स्तरची चाचणी करणे अशक्य"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -120,20 +138,21 @@
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "%s उघडण्यास असमर्थ: अनुवाद non-MLS मशीनींवर समर्थित नाहीत: %s"
++msgstr "%s उघडणे अशक्य: भाषांतरन विना-MLS मशीन्स् यावर समर्थीत नाही: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr "स्थर"
++msgstr "स्तर"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr "अनुवाद"
++msgstr "भाषांतरन"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "अनुवादांत मोकळ्या जागा '%s' असू शकत नाहीत "
++msgstr "भाषांतरनात स्पेसेस् '%s' समाविष्टीत असणे शक्य नाही "
+ #: ../semanage/seobject.py:250
+ #, python-format
+@@ -143,12 +162,12 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s अनुवादांत आधिच व्याख्यीत"
++msgstr "भाषांतरनात %s आधिपासूनच ठरवले आहे"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s अनुवादांत व्याख्यीत नाही"
++msgstr "भाषांतरनात %s ठरवले नाही"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+@@ -156,764 +175,765 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage ट्रांजॅकशनची प्रगती आधिपासूनच आहे"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage व्यवहार सुरू करता आला नाही"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage व्यवहार सुरू करता आला नाही"
++msgstr "semanage व्यवहार पाठवू शकला नाही"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage ट्रांजॅकशनची प्रगती नाही"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux उपयोक्त्यांची यादी करता आली नाही"
++msgstr "SELinux विभागांची सूची दाखवणे अशक्य"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "परवानगीक"
++msgstr "परवानगीय प्रकार"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "परवानगीय क्षेत्र %s निश्चित करू शकले नाही (विभाग प्रतिष्ठापन अपयशी)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "परवानगीय क्षेत्र %s काढून टाकू शकत नाही (काढून टाकणे अपयशी)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s साठी कळ निर्माण करू शकत नाही"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s साठी लॉगीन मॅपिंग व्याख्यीत केली आहे का हे तपासू शकलो नाही"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s साठी लॉगीन मॅपिंग आधिच व्याख्यीत केलेली आहे"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux उपयोक्ता %s अस्तित्वात नाही"
++msgstr "Linux समुह %s अस्तित्वात नाही"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux उपयोक्ता %s अस्तित्वात नाही"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s साठी लॉगीन मॅपिंग निर्माण करू शकलो नाही"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s साठी नाव ठेवता आले नाही"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "MLS परिसीमा %s साठी निर्धारित करता आली नाही"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "SELinux उपयोक्ता %s साठी निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s साठी लॉगीन मॅपिंग जमा करता आले नाही"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux मॅपिंग वापरकर्ता समाविष्टीत करा"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser किंवा serange आवश्यक"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s साठी लॉगीन मॅपिंग व्याख्यीत नाही"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "seuser ला %s साठी प्रश्न करू शकलो नाही"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s साठी लॉगीन मॅपिंग बदलू शकलो नाही"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s साठी लॉगीन मॅपिंग धोरणात व्याख्यीत आहे, ती नष्ट करता येत नाही "
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s साठी लॉगीन मॅपिंग नष्ट करू शकलो नाही"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "लॉगीन मॅपिंग्सची यादी करू शकलो नाही"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "दाखलन नाव"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux वापरकर्ता"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS क्षेत्र"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s साठी फाइल संदर्भ जोडता आला नाही"
++msgstr "%s साठी किमान एक भूमिका जोडली पाहिजे"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "SELinux उपयोक्ता %s व्याखीत असल्याचे तपासू शकलो नाही"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux उपयोक्ता %s आधिच व्याख्यीत आहे"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "SELinux उपयोक्ता %s साठी निर्माण करता आला नाही"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "भुमिका %s जमा करता आली नाही %s करता"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s साठी MLS स्तर निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "पूर्वपद %s जमा करता आले नाही %s करीता"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s साठी कळ खेचता आली नाही"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux उपयोक्ता %s जोडता आला नाही"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "पूर्वपद, भुमिका, स्तर किंवा परिसीमा आवश्यक"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "पूर्वपद किंवा भुमिका आवश्यक"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux उपयोक्ता %s व्याख्यीत नाही"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s साठी उपयोक्त्यास प्रश्न करू शकत नाही"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux उपयोक्ता %s मध्ये बदल करता आले नाही"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux उपयोक्ता %s धोरणामध्ये व्याख्यीत आहे, नष्ट करता येणार नाही"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux उपयोक्ता %s नष्ट करता आला नाही"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux उपयोक्त्यांची यादी करता आली नाही"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "उपयोक्ता %s साठी भुमिकांची यादी करता आली नाही"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "लेबलींग"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "पुर्वपद"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS स्थर"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS क्षेत्र"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux भूमिका"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "प्रोटोकॉल udp किंवा tcp आवश्यक आहे"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "पोर्ट आवश्यक आहे"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s साठी कळ निर्माण करता आली नाही"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "प्रकार आवश्यक आहे"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "%s/%s पोर्ट व्याख्यीत आहे काय हे तपासता आले नाही"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "पोर्ट %s/%s आधिच व्याख्यीत"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s साठी पोर्ट निर्माण करता आले नाही"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s साठी संदर्भ निर्माण करता आला नाही"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s च्या पोर्ट संदर्भात उपयोक्त्यास निर्धारित करता आले नाही"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s साठी  पोर्ट संदर्भात भुमिका निर्धारित करता आली नाही"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s साठी पोर्ट संदर्भात प्रकार निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s साठी पोर्ट संदर्भात mls क्षेत्रे निर्धारित करता आली नाहीत"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s साठी पोर्ट संदर्भ निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "%s/%s पोर्ट जोडू शकत नाही"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype किंवा serange आवश्यक"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype आवश्यक"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "पोर्ट %s/%s व्याख्यीत नाही"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "पोर्ट %s/%s ला प्रश्न करता आले नाही"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "पोर्ट %s/%s मध्ये बदल करता आले नाहीत"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "पोर्टांची यादी बनविता आली नाही"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "पोर्ट %s नष्ट करता आले नाही"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "पोर्ट %s/%s धोरणात व्याख्यीत आहे, नष्ट करता येणार नाही"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "पोर्ट %s/%s नष्ट करता आले नाही"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "पोर्टांची यादी करता आली नाही"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux पोर्ट प्रकार"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "प्रोटो"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "पोर्ट क्रमांक"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "पोर्ट आवश्यक आहे"
++msgstr "नोड पत्ता आवश्यक आहे"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "पोर्ट आवश्यक आहे"
++msgstr "नोड नेटमास्क् आवश्यक आहे"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "अपरिचीत किंवा न आढळलेले शिष्टाचार"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux प्रकार आवश्यक आहे"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s साठी कळ बनवू शकलो नाही"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "%s/%s पोर्ट व्याख्यीत आहे काय हे तपासता आले नाही"
++msgstr "पत्ता %s व्याख्यीत आहे हे तपासता आले नाही"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "पोर्ट %s/%s आधिच व्याख्यीत"
++msgstr "पत्ता %s आधिपासूनच व्याख्यीत आहे"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s साठी कळ निर्माण करू शकत नाही"
++msgstr "%s करीता पत्ता बनवू शकले नाही"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr "%s साठी संदर्भ निर्माण करता आला नाही"
++msgstr "%s साठी संदर्भ निर्माण करू शकले नाही"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s साठी नाव ठेवता आले नाही"
++msgstr "%s करीता मास्क् निश्चित करता आले नाही"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s साठी फाइल संदर्भात उपयोक्ता निर्धारित करता आला नाही"
++msgstr "%s करीता पत्ता संदर्भात वापरकर्ता निश्चित करू शकले नाही"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s साठी फाइल संदर्भात भुमिका निर्धारित करता आली नाही"
++msgstr "%s साठी पत्ता संदर्भात भुमिका निश्चित करू शकले नाही"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s च्या फाइल संदर्भात प्रकार निर्धआरित करता आला नाही"
++msgstr "%s करीता पत्ता संदर्भातील प्रकार निश्चित करू शकले नाही"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s साठी फाइल संदर्भात mls क्षेत्रे निर्धारित करता आले नाहीत"
++msgstr "%s करीता पत्ता संदर्भ अंतर्गत mls क्षेत्र निश्चित करू शकत नाही"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s साठी फाइल संदर्भ निर्धारित करता आला नाही"
++msgstr "%s करीता पत्ता संदर्भ निश्चित करू शकत नाही"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s पोर्ट जोडू शकत नाही"
++msgstr "पत्ता %s जोडू शकत नाही"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "पोर्ट %s/%s व्याख्यीत नाही"
++msgstr "पत्ता %s निश्चित केले नाही"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "पोर्ट %s/%s ला प्रश्न करता आले नाही"
++msgstr "पत्ता %s ला प्रश्न विचारू शकत नाही"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "पोर्ट %s/%s मध्ये बदल करता आले नाहीत"
++msgstr "पत्ता %s संपादीत करू शकत नाही"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "पोर्ट %s/%s धोरणात व्याख्यीत आहे, नष्ट करता येणार नाही"
++msgstr "पत्ता %s नियमावलीत निश्चित केले आहे, वगळले जाऊ शकत नाही"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s नष्ट करता आला नाही"
++msgstr "पत्ता %s नष्ट करू शकत नाही"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "पोर्टांची यादी करता आली नाही"
++msgstr "addrs यादीत दर्शवू शकले नाही"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "इंटरफेस %s व्याख्यीत आहे काय हे तपासता आले नाही"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "इंटरफेस %s आधिच व्याख्यीत"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s साठी इंटरफेस निर्माण करता आला नाही"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s च्या इंटरफेस संदर्भात उपयोक्ता निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s च्या इंटरफेस संदर्भामध्ये भुमिका निर्धारित करता आली नाही"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s च्या इंटरफेस संदर्भात प्रकार निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s च्या इंटरफेस संदर्भात mls क्षेत्रे निर्धारित करता आली नाहीत"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s साठी इंटरफेस संदर्भ निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s साठी संदेश संदर्भ निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "इंटरफेस %s जमा करता आला नाही"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "इंटरफेस %s व्याख्यीत नाही"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "इंटरफेस %s ला प्रश्न करता आले नाही"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "इंटरफेस %s मध्ये बदल करता आले नाही"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "इंटरफेस %s धोरणात व्याख्यीत आहे, नष्ट करता येणार नाही"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "इंटरफेस %s नष्ट करता आला नाही"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "इंटरफेसची यादी करता आली नाही"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux संवादपट"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "संदर्भ"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s साठी फाइल संदर्भात उपयोक्ता निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s साठी फाइल संदर्भात भुमिका निर्धारित करता आली नाही"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s साठी फाइल संदर्भात mls क्षेत्रे निर्धारित करता आले नाहीत"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "अवैध फाइल गुणविशेष"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s साठी संदर्भ फाइल व्याख्यीत आहे काय हे तपासता आले नाही"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s साठी फाइल संदर्भ आधिच व्याख्यीत"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s साठी फाइल संदर्भ निर्माण करता आला नाही"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s च्या फाइल संदर्भात प्रकार निर्धआरित करता आला नाही"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s साठी फाइल संदर्भ निर्धारित करता आला नाही"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s साठी फाइल संदर्भ जोडता आला नाही"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange किंवा seuser आवश्यक"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s साठी फाइल संदर्भ व्याख्यीत नाही"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s साठी फाइल संदर्भास प्रश्न करता आले नाही"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s साठी फाइल संदर्भात बदल करता आले नाही"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "फाइल संदर्भांची यादी करता आली नाही"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "फाइल संदर्भ नष्ट %s करता आला नाही"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s साठी फाइल संदर्भ धोरणात व्याख्यीत, नष्ट करता येणार नाही"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s साठी फाइल संदर्भ नष्ट करता आला नाही"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "फाइल संदर्भांची यादी करता आली नाही"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "स्थानिक फाइल संदर्भांची यादी करता आली नाही"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "प्रकार"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "boolean %s व्याख्यीत आहे काय हे तपासता आले नाही"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "boolean %s व्याख्यीत नाही"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "फाइल संदर्भ %s ला प्रश्न करता आले नाही"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "तुम्ही मुल्य प्रविष्ट केलेच पाहिजे"
++msgstr "तुम्ही खालिल मुल्य पैकी एक मुल्य प्रविष्ट केले पाहिजे: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "boolean %s नष्ट करता आले नाही"
++msgstr "बूलीयन %s चे सक्रीय मुल्य निश्चित करू शकले नाही"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "boolean %s मध्ये बदल करता आले नाही"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "अयोग्य प्रकार %s: रेकॉर्ड %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "boolean %s धोरणात व्याख्यीत आहे, नष्ट करता येणार नाही"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "boolean %s नष्ट करता आले नाही"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "booleans ची यादी करता आली नाही"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "अपरिचीत"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "बंद"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "चालू"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux बूलीयन"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "वर्णन"
+@@ -945,7 +965,7 @@
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "चूक!  शेल वैध नाही.\n"
++msgstr "त्रुटी!  शेल वैध नाही.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+@@ -953,59 +973,59 @@
+ msgstr "पर्यावरण साफ करण्यास असमर्थ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "क्षमता आरंभण्यात चूक, सोडत आहे.\n"
++msgstr "क्षमता प्रारंभ करतेवेळी त्रुटी, रद्द करत आहे.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr "क्षमता निर्धारित करण्यात चूक, सोडत आहे\n"
++msgstr "क्षमता निर्धारित करण्यात त्रुटी, सोडत आहे\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+ msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr "KEEPCAPS निर्धारित करण्यात चूक, सोडत आहे\n"
++msgstr "KEEPCAPS निर्धारित करण्यात त्रुटी, सोडत आहे\n"
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+ msgid "Error dropping capabilities, aborting\n"
+-msgstr "क्षमता सोडण्यात चूक, सोडत आहे\n"
++msgstr "क्षमता सोडण्यात त्रुटी, सोडत आहे\n"
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr "uid बदलण्यात चूक, सोडत आहे.\n"
++msgstr "uid बदलण्यात त्रुटी, सोडत आहे.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr "KEEPCAPS पुनःनिर्धारित करण्यात चूक, सोडत आहे\n"
++msgstr "KEEPCAPS पुनःनिर्धारित करण्यात त्रुटी, सोडत आहे\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr "SETUID क्षमता सोडण्यात चूक, सोडत आहे\n"
++msgstr "SETUID क्षमता सोडण्यात त्रुटी, सोडत आहे\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+ msgid "Error freeing caps\n"
+-msgstr "caps मुक्त करण्यात चूक\n"
++msgstr "caps मुक्त करण्यात त्रुटी\n"
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr "ऑडिट प्रणालीस जोडण्यात चूक\n"
++msgstr "ऑडिट प्रणालीस जोडण्यात त्रुटी\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+ msgid "Error allocating memory.\n"
+-msgstr "स्मृती वाटपात चूक.\n"
++msgstr "स्मृती वाटपात त्रुटी.\n"
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr "ऑडिट संदेश पाठवण्यात चूक.\n"
++msgstr "ऑडिट संदेश पाठवण्यात त्रुटी.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+@@ -1015,7 +1035,7 @@
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr "चूक!  %s उघडू शकलो नाही.\n"
++msgstr "त्रुटी!  %s उघडू शकलो नाही.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+@@ -1045,12 +1065,12 @@
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr "चूक: बहू भूमिका दर्शवल्या\n"
++msgstr "त्रुटी: बहू भूमिका दर्शवल्या\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+ msgid "Error: multiple types specified\n"
+-msgstr "चूक: बहू प्रकार दर्शवले\n"
++msgstr "त्रुटी: बहू प्रकार दर्शवले\n"
+ #: ../newrole/newrole.c:916
+ #, c-format
+@@ -1060,7 +1080,7 @@
+ #: ../newrole/newrole.c:921
+ #, c-format
+ msgid "Error: multiple levels specified\n"
+-msgstr "चूक: बहू स्तर दर्शवले\n"
++msgstr "त्रुटी: बहू स्तर दर्शवले\n"
+ #: ../newrole/newrole.c:931
+ #, c-format
+@@ -1170,7 +1190,7 @@
+ #: ../newrole/newrole.c:1314
+ #, c-format
+ msgid "Error allocating shell's argv0.\n"
+-msgstr "शेलचा argv0 वाटण्यात चूक.\n"
++msgstr "शेलचा argv0 वाटण्यात त्रुटी.\n"
+ #: ../newrole/newrole.c:1346
+ #, c-format
+@@ -1283,1683 +1303,2211 @@
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
+-msgstr "पर्याय चूक %s "
+-
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "अनुवाद non-MLS मशीनींवर समर्थित नाहीत"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "बूलीयन"
+-
+-#~ msgid "all"
+-#~ msgstr "सर्व"
+-
+-#~ msgid "Customized"
+-#~ msgstr "इच्छिक"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "फाइल लेबलींग"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "फाइल\n"
+-#~ "संरचना"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "फाइल प्रकार"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "फाइल\n"
+-#~ "प्रकार"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "वापरकर्ता मॅपिंग"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "दाखलन\n"
+-#~ "नाव"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "वापरकर्ता"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS क्षेत्र"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "'%s' दाखलन आवश्यक आहे"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "करार घटक"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "घटकाचे नाव"
+-
+-#~ msgid "Version"
+-#~ msgstr "आवृत्ती"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "ऑडीट अकार्यान्वीत करा"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "ऑडीट कार्यान्वीत करा"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "करार घटक दाखल करा"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "Sandeep Shedmake <sandeep.shedmake@gmail.com>, 2008"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux करार निर्माण साधन"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "SELinux वापरकर्ते व त्यावरील अनुप्रयोगांना मर्यादीत करण्यासाठी, हा साधनचा करार "
+-#~ "रचना निर्माणासाठी केला जाउ शकतो.   \n"
+-#~ "\n"
+-#~ "साधन खालील निर्माण करतो:\n"
+-#~ "जबरन फाइल प्रकार (te)\n"
+-#~ "संवादपट फाइल (if)\n"
+-#~ "फाइल संदर्भ फाइल (fc)\n"
+-#~ "शेल स्क्रीप्ट (sh) - ज्याचा वापर करार संकलन व प्रतिष्ठापना करीता होतो. "
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "अनुप्रयोग/वापरकर्त्याची भूमिका मर्यादीत करण्याकरीता निवडा"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>अनुप्रयोग</b>"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "मानक Init डीमन असे डीमन जी बूटच्यावेळी init स्क्रीप्ट च्या मदतीने सुरुवात होते.  या "
+-#~ "करीता /etc/rc.d/init.d मधील स्क्रीप्टची गरज लागते"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "मानक Init डीमन"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "इनटरनेट सेवा डीमन त्या डीमन आहेत जी xinetd च्या मदतीने सुरु होतात"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "इनटरनेट सेवा डीमन (inetd)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr "वेब अनुप्रयोग/Script (CGI) CGI स्क्रीप्ट वेब सर्वर (apache) द्वारे सुरुवात केलेले"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "वेब अनुप्रयोग/स्क्रीप्ट (CGI)"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "वापरकर्ता अनुप्रयोग ती अनुप्रयोग आहेत जी आपल्याला वापरकर्त्याकडून मर्यादीत "
+-#~ "करतायेण्याजोगी वाटेल"
+-
+-#~ msgid "User Application"
+-#~ msgstr "वापरकर्ता अनुप्रयोग"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>वापरकर्ता दाखलन</b>"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "सद्याचे वापरकर्ता दाखलन रेकॉर्ड संपादीत करा."
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "अस्तित्वातील वापरकर्ता भूमिका"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "हा वापरकर्ता मशीन वर दाखलन टर्मिनल किंवा दूरर्स्थ दाखलन द्वारे दाखलन करेल.  "
+-#~ "मुलभूतरित्या वापरकर्ताकडे  setuid, संजाळ, su, sudo नसतील."
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "किमान टर्मिनल वापरकर्ता भूमिका"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "हा वापरकर्ता मशीनवर X किंवा टर्मिनल द्वारे दाखलन करू शकतो.  मुलभूतरित्या या "
+-#~ "वापरकर्त्याकडे setuid नाही, संजाळ नाही, sudo नाही, su नाही"
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "किमान X Windows वापरकर्ता भूमिका"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "पूर्ण संजाळ समर्थीत, स्थानांतरन विना पण setuid अनुप्रयोग नाही, su नाही, sudo नाही "
+-#~ "सक्षम वापरकर्ता."
+-
+-#~ msgid "User Role"
+-#~ msgstr "वापरकर्ता भूमिका"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "पूर्ण संजाळ समर्थीत, स्थानांतरन विना पण setuid अनुप्रयोग नाही, su नाही, परंतु रूट "
+-#~ "प्रशासक भूमिका करीता sudo करू शकणार वापरकर्ता"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "प्रशासक वापरकर्ता भूमिका"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>रूट वापरकर्ता</b>"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "वापरकर्ता प्रणालीवर रुट मध्ये जर प्रणालीचा प्रशासक स्वरूपी कार्यरत असल्यास, रूट "
+-#~ "वापरकर्ता निवडा.  ह्या वापरकर्त्याला प्रणालीवर प्रत्यक्षरीत्या दाखल करता येणे शक्य "
+-#~ "होणार नाही."
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "रूट प्रशासक वापरकर्ता पध्दती"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "अनुप्रयोग किंवा वापरकर्त्याची भूमिका मर्यादीत करण्याकरीता निवडा"
+-
+-#~ msgid "Name"
+-#~ msgstr "नाव"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "मर्यादीत एक्जीक्यूटेबेलाकरीता पूर्ण मार्ग प्रविष्ट करा."
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "मर्यदीत अनुप्रयोग किंवा वापरकर्ता भूमिका करीता एकमेव रीतीने नाव प्रविष्ट करा."
+-
+-#~ msgid "Executable"
+-#~ msgstr "एक्जीक्यूटेबल"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Init स्क्रीप्ट"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "मर्यदीत अनुप्रयोग सुरू करण्याकरीता init स्क्रीप्ट मध्ये पूर्ण मार्ग प्रविष्ट करा."
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "इच्छिक बनविण्याजोगी वापरकर्ता भूमिका निवडा"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "या अनुप्रयोग क्षेत्र करीता स्थानांतरन करण्याजोगी वापरकर्ता भूमिका निवडा."
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "स्थानांतरन करीता अतिरीक्त वापरकर्ता क्षेत्र निवडा"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "ह्या वापरकर्तास स्थानांतर कसे असावे ह्या करीता अतिरीक्त अनुप्रयोग क्षेत्र निवडा."
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "या क्षेत्र करीता स्थानांतरन करण्याजोगी वापरकर्ता भूमिका निवडा"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "हा वापरकर्ता प्रशासकीय कामास कोणते क्षेत्र वापरेल ती क्षेत्र निवडा"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "हा वापरकर्तास प्रशासकीय क्षेत्र आपण निवडून द्या."
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "स्थानांतरन करीता अतिरीक्त वापरकर्ता क्षेत्र निवडा"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "अनुप्रयोगास/वापरकर्ताच्या संपर्कात येत असलेल्या tcp पोर्ट ची यादी प्रविष्ट करा"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP पोर्ट</b>"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "मर्यादीत अनुप्रयोग/वापरकर्त्यास कुठल्याही udp पोर्ट शी बंधनकारक होण्यास परवानगी देतो"
+-
+-#~ msgid "All"
+-#~ msgstr "सर्व"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "अनुप्रयोगास/वापरकर्त्यास bindresvport 0 सह हाक देण्यास परवानगी द्या. पोर्ट 600-"
+-#~ "1024 शी बांधणी करीत आहे"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ह्या अनुप्रयोगास/वापरकर्तास संपर्कात येत असलेल्या स्वल्पविराम विभाजीत udp पोर्ट किंवा "
+-#~ "पोर्ट क्षे त्राचीयादी प्रविष्ट करा. उदाहरण: 612, 650-660"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "अनारक्षीत पोर्ट (>1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "पोर्ट निवडा"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "अनुप्रयोगास/वापरकर्त्यास कुठल्याही udp पोर्ट > 1024 शी बंधनकारक होण्यास परवानगी देतो"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP पोर्टस्</b>"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "ह्या अनुप्रयोगास/वापरकर्ता संपर्कात येत असलेल्या संजाळ पोर्टची यादी प्रविष्ट करा"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ह्या अनुप्रयोगास/वापरकर्तास संपर्कात येत असलेल्या स्वल्पविराम विभाजीत tcp पोर्ट किंवा "
+-#~ "पोर्ट क्षेत्राची यादी प्रविष्ट करा.  उहारणार्थ: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ह्या अनुप्रयोगास/वापरकर्तास संपर्कात येत असलेल्या स्वल्पविराम विभाजीत udp पोर्ट किंवा "
+-#~ "पोर्ट क्षेत्राची यादी प्रविष्ट करा. उदाहरण: 612, 650-660"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "साधारणतः अनुप्रोगाचे विशेष गुणधर्म"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog संदेश लिहीतो\t"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp मध्ये तात्पूरती फाइल निर्माण/संपादीत करा"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "अधिप्रमाणन करीता Pam चा वापर करतो"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch किंवा getpw* कॉल वापरतो"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus वापरतो"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ऑडिट संदेश पाठवितो"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "टर्मिनलशी संवाद साधतो"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "ईमेल पाठवा"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "मर्यादीत अनुप्रयोगच्या नियंत्रणातील फाइल/संचयीका निवडा"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "ह्या अनुप्रयोगास लागणाऱ्या \"लेखन\" करीता फाइल/संचयीका समाविष्ट करा. Pid फाइल, "
+-#~ "लॉग फाइल, /var/lib फाइल ..."
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "मर्यादीत अनुप्रयोगच्या द्वारे निर्मीत किंवा लिखीत फाइल निवडा"
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "मर्यदीत अनुप्रयोग/वापरकर्ता करीता बूलीयन जोडा/काढूण टाका"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "यात करार फाइल बनविण्याकरीता संचयीका निवडा"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "करार संचयीका"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "निर्माण झालेल्या करार फाइल"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "हे साधन खालिल निर्माण करतो: \n"
+-#~ "टाइप ऐंफोर्समेंट (te), फाइल संदर्भ(fc), संवाद(if), शेल स्क्रीप्ट(sh).\n"
+-#~ "संकलन/प्रतिष्ठापन व फाइल/संचयीका पुन्हा लेबल करण्याकरीता शेल स्क्रीप्ट कार्यान्वीत "
+-#~ "करा.  \n"
+-#~ "आता तुम्ही प्रणाली परवांगीक माध्यमात ठेवू शकता (setenforce 0). \n"
+-#~ "avc संदेश निर्माण करण्याकरीता अनुप्रयोग कार्यान्वीत/पुन्हा चालू करा.\n"
+-#~ "te फाइल करीता अतिरीक्त नियमावली निर्माण करण्याकरीता audit2allow -R चा वापर "
+-#~ "करा.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "हे साधन खालिल निर्माण करतो: \n"
+-#~ "टाईप ऐंफोर्समेंट (te), फाइल संदर्भ(fc), संवाद(if), शेल स्क्रीप्ट(sh).\n"
+-#~ "संकलन/प्रतिष्ठापन व फाइल/संचयीका पुन्हा लेबल करण्याकरीता शेल स्क्रीप्ट कार्यान्वीत "
+-#~ "करा.  \n"
+-#~ "आता तुम्ही प्रणाली परवांगीक माध्यमात ठेवू शकता (setenforce 0). \n"
+-#~ "avc संदेश निर्माण करण्याकरीता अनुप्रयोग कार्यान्वीत/पुन्हा चालू करा.\n"
+-#~ "te फाइल करीता अतिरीक्त नियमावली निर्माण करण्याकरीता audit2allow -R चा वापर "
+-#~ "करा.\n"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "बूलियन संवाद जोडा"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "बूलीयन नाव"
+-
+-#~ msgid "Role"
+-#~ msgstr "भूमिका"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "अस्तित्वातील_वापरकर्ता"
+-
+-#~ msgid "Application"
+-#~ msgstr "अनुप्रयोग"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s संचयीका असायला हवी"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "तुम्ही वापरकर्ता निवडला पाहिजे"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "कार्यान्वीत फाइल मर्यादीत करण्याकरीता निवडा."
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "init script फाइल मर्यादीत करण्याकरीता निवडा."
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "मर्यादीत अनुप्रयोगच्या द्वारे निर्मीत किंवा लिखीत फाइल निवडा"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "मर्यादीत अनुप्रयोगच्या नावी असलेले व त्यास लिहीतायेण्याजोगी असलेले संचयीका निवडा"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "यात करार फाइल बनविण्याकरीता संचयीका निवडा"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "टाइप %s_t आधिपासूनच सद्याचे करार मध्ये व्याख्यीत केले आहे.\n"
+-#~ "तुम्हाला पुढे जायचे?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "नाव तपासा"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "विभाग %s.pp आधिपासूनच सद्याचे करार मध्ये दाखल केले आहे.\n"
+-#~ "तुम्हाला नक्की पुढे जायचे?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "तुम्ही एक नाव प्रविष्ट केलेच पाहिजे"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "आपण एक्जीक्यूटेबल प्रविष्ट केलेच पाहिजे"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux संरचीत करा"
+-
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "पोर्टचे क्रमांकन किंवा क्रमांकाचे क्षेत्र 1 पासून %d पर्यंत असायला पाहिजे"
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "मर्यादीत कार्यपद्धती/वापरकर्त्यास नाव प्रविष्ट केले पाहिजे"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER प्रकार परवानगीरहीत एक्झीक्यूटेबल नाही"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "फक्त DAEMON अनुप्रयोगच init स्क्रीप्टचा वापर करू शकतात"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog बूलीयन संख्या असली पाहिजे "
+-
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER प्रकार आपोआप tmp प्रकार मिळते"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "आपल्या मर्यादीत कार्यपद्धतीकरीता एक्जीक्यूटेबेल मार्ग प्रविष्ट केलाच पाहिजे"
+-
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "प्रकार सक्ती फाइल"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "संवादपट फाइल"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "फाइल संदर्भ फाइल"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "संरचना स्क्रीप्ट"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux पोर्ट\n"
+-#~ "प्रकार"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "प्रोटोकॉल"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "स्थर"
+-
+-#~ msgid "Port"
+-#~ msgstr "पोर्ट"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "पोर्ट क्रमांक \"%s\" वैध नाही.  0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "दृश्य पहा"
+-
+-#~ msgid "Group View"
+-#~ msgstr "संच दृश्य"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux सेवा सुरक्षा"
+-
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct डीमन करीता SELinux सुरक्षा अकार्यन्वीत करा"
+-
+-#~ msgid "Admin"
+-#~ msgstr "ऑडमीन"
+-
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "सर्व डीमनना कोरफाइल्स लिहीण्याकरीता परवानगी द्या /"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "अनिश्चित ttys ला वापरण्याची कार्यक्षमता सर्व डीमन्सला द्या"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "वापरकर्ता Privs"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux वापरकर्ता खात्यांना मुख्य संचिकेत किंवा /tmp मध्ये फाइल्स कार्यान्वीत "
+-#~ "करण्याकरीता परवानगी द्या"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "SELinux वापरकर्ता खात्यांना मुख्य संचिकेत किंवा /tmp मध्ये फाइल्स कार्यान्वीत "
+-#~ "करण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "स्मृता सुरक्षा द्या"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "जावा कार्यारत स्टॅकला परवानगी द्या"
+-
+-#~ msgid "Mount"
+-#~ msgstr "आरोहण"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "कुठलिही फाइल आरोहीत करण्याकरीता आरोहणास परवानगी द्या"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "कुठलिही संचयीका आरोहीत करण्याकरीता आरोहणास परवानगी द्या"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer कार्यारत स्टॅकला परवानगी द्या"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh ला ssh-keysign कार्यरत करण्याकरीता परवानगी द्या"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "स्टॉफ SELinux वापरकर्ता खात्यांना मुख्य संचिकेत किंवा /tmp मध्ये फाइल्स कार्यान्वीत "
+-#~ "करण्याकरीता परवानगी द्या"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux वापरकर्ता खात्यांना मुख्य संचिकेत किंवा /tmp मध्ये फाइल्स कार्यान्वीत "
+-#~ "करण्याकरीता परवानगी द्या"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "मर्यादीत SELinux वावरकर्ता खातींना फाइलला मुख्य संचयीका किंवा /tmp मध्ये कार्यान्वीत "
+-#~ "करण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "संजाळ संरचना"
+-
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "संजळावर लेबल नसलेले पॅकेट प्रवाहीत करण्याकरीता परवानगी द्या"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "वापरकर्ता SELinux वापरकर्ता खात्यांना मुख्य संचिकेत किंवा /tmp मध्ये फाइल्स कार्यान्वीत "
+-#~ "करण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "unconfined_execmem करीता मर्यादीतला dyntrans करण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Databases"
+-#~ msgstr "डाटाबेसेस"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "mysql सॉकेटला जोडण्याकरीता वापरकर्त्याला परवानगी द्या"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "postgres सॉकेटला जोडण्याकरीता वापरकर्त्याला परवानगी द्या"
+-
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
+-
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "X सहभागीय स्मृतीस लिहीण्याकरीता क्लाएंटला परवानगी द्या"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux वापरकर्ता खात्यांना मुख्य संचिकेत किंवा /tmp मध्ये फाइल्स कार्यान्वीत "
+-#~ "करण्याकरीता परवानगी द्या"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "डीमनला NIS शी कार्यरत ठेवण्यास परवानगी द्या"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "वेब अनुप्रयोग"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "स्टॉफ SELinux वापरकर्तापासून ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "sysadm SELinux वापरकर्तापासून ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "वापरकर्ता SELinux वापरकर्तापासून  ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "xguest SELinux वापरकर्तापासून ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "मुख्य संचिकेत स्टॉफ वेब ब्राऊजरांना लिहीण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "अमॅनडा करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "अमॅवीस करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "क्लस्टर सर्वर करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "खालील अनुक्रमणिकेत अंतर्भूत वाचण्याकरीता cdrecord ला परवानगी द्या. nfs, samba, "
+-#~ "काढूनठेवतायेण्याजोगी साधने, वापरकर्त्याचे टेंम व अविश्वासू मजकूर फाइल"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Cron"
+-#~ msgstr "क्रॉन"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Printing"
+-#~ msgstr "छपाई"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd बॅकएंड सर्वर करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++msgstr "पर्याय त्रुटी %s "
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "बूलीयन"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "सर्व"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "इच्छिक"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "फाइल लेबलींग"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "प्रत्यक्ष रूपी डीमन सुरू करण्याकरीता sysadm_t ला परवानगी द्या"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "एव्हलूशन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Games"
+-#~ msgstr "खेळ"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "खेळांकरीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "वेब ब्राउजर करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "थंडरबर्ड करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "फेचमेल करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "सहत्व"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "माहीत असलेल्या ज्याचे उल्लंगन शक्य आहे परंतु सुरक्षाकारणास्तव भीती नसलेल्या गोष्टी ऑडीट "
+-#~ "करू नका"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "यजमान डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "hplip डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd लॉगबदली करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD सेवा"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd उप डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "केरबेरोस"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "मेलमॅन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "एव्हल्यूशन व थंडरबर्डला वापरकर्त्याचे फाइल वाचण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "मोझीला ब्राउजरला वापरकर्त्याचे फाइल वाचण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "नाव सेवा"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "संजाळ व्यवस्थापका करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Samba"
+-#~ msgstr "सांबा"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "पूर्वपद करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "नियमीत वापरकर्त्यास pppd कार्यरत करण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "prelink डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readhead करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr "फाइल अ-मानक स्थानापासून (default_t) वाचण्याकरीता परवानगी द्या"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "डीमन एवजी inetd पासून ssh ला कार्यरत करण्यास परवानगी द्या"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "वापरकर्त्याच्ये nfs संचयीका सहभाग करण्यास Samba ला परवानगी द्या"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL अधिप्रमाणित सर्वर"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "sasl अधिप्रमाणीत सर्वरला /etc/shadow वाचण्यास परवानगी द्या"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "स्मृती क्षेत्रास कार्यान्वीत व लिहीतायेण्याजोगी करण्यास X-Windows सर्वरला मॅप करण्याची "
+-#~ "परवानगी द्या"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "sysadm_t, sudo व su प्रभावित मध्ये स्थानांतरीत होण्यास परवानगी देऊ नका"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "कुठल्याही कार्यपद्धतीस कर्नल घटक दाखल करण्यास परवानगी देऊ नका"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "कुठल्याही कार्यपद्धतीस कर्नल SELinux करार संपादीत करण्यास परवानगी देऊ नका"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroubleshoot डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"फाइल\n"
++"संरचना"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"फाइल प्रकार"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"फाइल\n"
++"प्रकार"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "वापरकर्ता मॅपिंग"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"दाखलन\n"
++"नाव"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"वापरकर्ता"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS क्षेत्र"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "'%s' दाखलन आवश्यक आहे"
+-#~ msgid "Spam Protection"
+-#~ msgstr "स्पॅम सुरक्षा"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "करार घटक"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "घटकाचे नाव"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd ला मुख्य संचयीका प्रवेशास परवानगी द्या"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "आवृत्ती"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "स्पॅम निषक्रीयक डीमनाला संजाळ प्रवेशास परवानगी द्या"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ऑडीट अकार्यान्वीत करा"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ऑडीट कार्यान्वीत करा"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "करार घटक दाखल करा"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid डीमनला संजाळ प्रवेशास परवानगी द्या"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh दाखलनला sysadm_r:sysadm_t च्या स्वरूपास दाखलनास परवानगी द्या"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"संदिप शेडमाके <sandeep.shedmake@gmail.com>, 2008, 2009; संदिप शेडमाके "
++"<sshedmak@redhat.com> 2010."
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r वापरकर्त्यांना sysadm तील मुख्य संचयीका व वाचतायेण्याजोगी फाइल (जसे की ~/."
+-#~ "bashrc) शोधण्यास परवानगी द्या"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"SELinux वापरकर्ते व त्यावरील अनुप्रयोगांना मर्यादीत करण्यासाठी, हा साधनचा करार रचना "
++"निर्माणासाठी केला जाउ शकतो.   \n"
++"\n"
++"साधन खालील निर्माण करतो:\n"
++"जबरन फाइल प्रकार (te)\n"
++"संवादपट फाइल (if)\n"
++"फाइल संदर्भ फाइल (fc)\n"
++"शेल स्क्रिप्ट (sh) - ज्याचा वापर करार संकलन व प्रतिष्ठापना करीता होतो. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "अनुप्रयोग/वापरकर्त्याची भूमिका मर्यादीत करण्याकरीता निवडा"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>अनुप्रयोग</b>"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "वैश्विक SSL मार्ग"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"मानक Init डीमन असे डीमन जी बूटच्यावेळी init स्क्रिप्ट च्या मदतीने सुरुवात होते.  या "
++"करीता /etc/rc.d/init.d मधील स्क्रिप्टची गरज लागते"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "मानक Init डीमन"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS प्रणाली डिमन"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "इनटरनेट सेवा डीमन त्या डीमन आहेत जी xinetd च्या मदतीने सुरु होतात"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "इनटरनेट सेवा डीमन (inetd)"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "stunnel डीमनला स्वतंत्ररीत्या, xinetd च्या बाहेर कार्यरत ठेवण्याची परवानगी द्या"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "वेब अनुप्रयोग/Script (CGI) CGI स्क्रिप्ट वेब सर्वर (apache) द्वारे सुरुवात केलेले"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "वेब अनुप्रयोग/स्क्रिप्ट (CGI)"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"वापरकर्ता अनुप्रयोग ती अनुप्रयोग आहेत जी आपल्याला वापरकर्त्याकडून मर्यादीत करतायेण्याजोगी "
++"वाटेल"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "वापरकर्ता अनुप्रयोग"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>वापरकर्ता दाखलन</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "सद्याचे वापरकर्ता दाखलन रेकॉर्ड संपादीत करा."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "अस्तित्वातील वापरकर्ता भूमिका"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "प्रणाली क्रॉन कार्यांकरीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"हा वापरकर्ता मशीन वर दाखलन टर्मिनल किंवा दूरर्स्थ दाखलन द्वारे दाखलन करेल.  मुलभूतरित्या "
++"वापरकर्ताकडे  setuid, संजाळ, su, sudo नसतील."
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "spamd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "किमान टर्मिनल वापरकर्ता भूमिका"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"हा वापरकर्ता मशीनवर X किंवा टर्मिनल द्वारे दाखलन करू शकतो.  मुलभूतरित्या या "
++"वापरकर्त्याकडे setuid नाही, संजाळ नाही, sudo नाही, su नाही"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "किमान X Windows वापरकर्ता भूमिका"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"पूर्ण संजाळ समर्थीत, स्थानांतरन विना पण setuid अनुप्रयोग नाही, su नाही, sudo नाही "
++"सक्षम वापरकर्ता."
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "वापरकर्ता भूमिका"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"पूर्ण संजाळ समर्थीत, स्थानांतरन विना पण setuid अनुप्रयोग नाही, su नाही, परंतु रूट "
++"प्रशासक भूमिका करीता sudo करू शकणार वापरकर्ता"
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "xinetd ला अमर्यादीतरीत्या कार्यरत ठेवण्याकरीता, व तसेच त्या सेवाही जी क्षेत्र "
+-#~ "स्थानांतर प्रत्यक्षरूपी निश्चीत नाही त्यांनाही परवानगी द्या"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "प्रशासक वापरकर्ता भूमिका"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>रूट वापरकर्ता</b>"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "rc स्क्रीप्ट ला अमर्यादीतरीत्या कार्यरत ठेवण्याकरीता, व तसेच rc स्क्रीप्ट द्वारे सुरुवात "
+-#~ "केलेले कुठलेही डीमन जी क्षेत्र स्थानांतर प्रत्यक्षरूपी निश्चीत नाही त्यांनाही परवानगी द्या"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"वापरकर्ता प्रणालीवर रुट मध्ये जर प्रणालीचा प्रशासक स्वरूपी कार्यरत असल्यास, रूट वापरकर्ता "
++"निवडा.  ह्या वापरकर्त्याला प्रणालीवर प्रत्यक्षरीत्या दाखल करता येणे शक्य होणार नाही."
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm ला unconfined कार्यरत करण्यास परवानगी द्या"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "रूट प्रशासक वापरकर्ता पध्दती"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "अनुप्रयोग किंवा वापरकर्त्याची भूमिका मर्यादीत करण्याकरीता निवडा"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "नाव"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "मर्यादीत एक्जीक्यूटेबेलाकरीता पूर्ण मार्ग प्रविष्ट करा."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "मर्यदीत अनुप्रयोग किंवा वापरकर्ता भूमिका करीता एकमेव रीतीने नाव प्रविष्ट करा."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "एक्जीक्यूटेबल"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init स्क्रिप्ट"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "अधिकार असेले अपअनुप्रयोग जसे hotplug व insmod ला unconfined कार्यरत करण्याकरीता "
+-#~ "परवानगी द्या"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "मर्यदीत अनुप्रयोग सुरू करण्याकरीता init स्क्रिप्ट मध्ये पूर्ण मार्ग प्रविष्ट करा."
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "इच्छिक बनविण्याजोगी वापरकर्ता भूमिका निवडा"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "या अनुप्रयोग क्षेत्र करीता स्थानांतरन करण्याजोगी वापरकर्ता भूमिका निवडा."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "स्थानांतरन करीता अतिरीक्त वापरकर्ता क्षेत्र निवडा"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "ह्या वापरकर्तास स्थानांतर कसे असावे ह्या करीता अतिरीक्त अनुप्रयोग क्षेत्र निवडा."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "या क्षेत्र करीता स्थानांतरन करण्याजोगी वापरकर्ता भूमिका निवडा"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "हा वापरकर्ता प्रशासकीय कामास कोणते क्षेत्र वापरेल ती क्षेत्र निवडा"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "हा वापरकर्तास प्रशासकीय क्षेत्र आपण निवडून द्या."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "स्थानांतरन करीता अतिरीक्त वापरकर्ता क्षेत्र निवडा"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "अनुप्रयोगास/वापरकर्ताच्या संपर्कात येत असलेल्या tcp पोर्ट ची यादी प्रविष्ट करा"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP पोर्ट</b>"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "sysadm_r via su, sudo, किंवा userhelper पर्यंत पोहचण्यास user_r ला परवानगी "
+-#~ "द्या. किंवा, फक्त staff_r हे करू शकतो"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"मर्यादीत अनुप्रयोग/वापरकर्त्यास कुठल्याही udp पोर्ट शी बंधनकारक होण्यास परवानगी देतो"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "वापरकर्त्यांना mount आदेश कार्यरत करण्यास परवानगी द्या"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "सर्व"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "नियमीत वापरकर्त्यांना प्रत्यक्षरुपी माउस प्रवेशास परवानगी द्या (फक्त X सर्वरला "
+-#~ "परवानगी द्या)"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"अनुप्रयोगास/वापरकर्त्यास bindresvport 0 सह हाक देण्यास परवानगी द्या. पोर्ट 600-1024 "
++"शी बांधणी करीत आहे"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "वापरकर्त्यांना dmesg आदेश कार्यरत करण्यास परवानगी द्या"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "वापरकर्त्यांना संजाळ संवादपट नियंत्रीत करण्यास परवानगी द्या (ह्याचीही गरज असते "
+-#~ "USERCTL=true)"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"ह्या अनुप्रयोगास/वापरकर्तास संपर्कात येत असलेल्या स्वल्पविराम विभाजीत udp पोर्ट किंवा "
++"पोर्ट क्षे त्राचीयादी प्रविष्ट करा. उदाहरण: 612, 650-660"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "साधारण वापरकर्त्यास ping कार्यरत करण्यास परवानगी द्या"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "अनारक्षीत पोर्ट (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "पोर्ट निवडा"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "r/w noextattrfile (FAT, CDROM, FLOPPY) करीता वापरकर्त्यास परवानगी द्या"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"अनुप्रयोगास/वापरकर्त्यास कुठल्याही udp पोर्ट > 1024 शी बंधनकारक होण्यास परवानगी देतो"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "usb साधन rw करण्याकरीता वापरकर्त्यांना परवानगी द्या"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP पोर्टस्</b>"
+-#~ 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 ""
+-#~ "TCP सर्वर कार्यरत करण्याकरीता वापरकर्त्यांना परवानगी द्या (पोर्टशी बंधनकारक व आतील "
+-#~ "क्षेत्रातून व बाहेरील वापरकर्त्यांकडून संपर्क स्वीकारतो)  याला असमर्थित केल्यास FTP "
+-#~ "निषक्रीय माध्यमात जातो व इतर प्रोटोकॉलही बदलू शकतात"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "ह्या अनुप्रयोगास/वापरकर्ता संपर्कात येत असलेल्या संजाळ पोर्टची यादी प्रविष्ट करा"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "वापरकर्त्याला ttyfiles stat करण्याकरीता परवानगी द्या"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ह्या अनुप्रयोगास/वापरकर्तास संपर्कात येत असलेल्या स्वल्पविराम विभाजीत tcp पोर्ट किंवा "
++"पोर्ट क्षेत्राची यादी प्रविष्ट करा.  उहारणार्थ: 612, 650-660"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ह्या अनुप्रयोगास/वापरकर्तास संपर्कात येत असलेल्या स्वल्पविराम विभाजीत udp पोर्ट किंवा "
++"पोर्ट क्षेत्राची यादी प्रविष्ट करा. उदाहरण: 612, 650-660"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "साधारणतः अनुप्रोगाचे विशेष गुणधर्म"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog संदेश लिहीतो\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp मध्ये तात्पूरती फाइल निर्माण/संपादीत करा"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "अधिप्रमाणन करीता Pam चा वापर करतो"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch किंवा getpw* कॉल वापरतो"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus वापरतो"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ऑडिट संदेश पाठवितो"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "टर्मिनलशी संवाद साधतो"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ईमेल पाठवा"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "मर्यादीत अनुप्रयोगच्या नियंत्रणातील फाइल/संचयीका निवडा"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"ह्या अनुप्रयोगास लागणाऱ्या \"लेखन\" करीता फाइल/संचयीका समाविष्ट करा. Pid फाइल, लॉग "
++"फाइल, /var/lib फाइल ..."
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "मर्यादीत अनुप्रयोगच्या द्वारे निर्मीत किंवा लिखीत फाइल निवडा"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "मर्यदीत अनुप्रयोग/वापरकर्ता करीता बूलीयन जोडा/काढूण टाका"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "यात करार फाइल बनविण्याकरीता संचयीका निवडा"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "करार संचयीका"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "निर्माण झालेल्या करार फाइल"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"हे साधन खालिल निर्माण करतो: \n"
++"टाइप ऐंफोर्समेंट (te), फाइल संदर्भ(fc), संवाद(if), शेल स्क्रिप्ट(sh).\n"
++"संकलन/प्रतिष्ठापन व फाइल/संचयीका पुन्हा लेबल करण्याकरीता शेल स्क्रिप्ट कार्यान्वीत करा.  \n"
++"आता तुम्ही प्रणाली परवांगीक माध्यमात ठेवू शकता (setenforce 0). \n"
++"avc संदेश निर्माण करण्याकरीता अनुप्रयोग कार्यान्वीत/पुन्हा चालू करा.\n"
++"te फाइल करीता अतिरीक्त नियमावली निर्माण करण्याकरीता audit2allow -R चा वापर "
++"करा.\n"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm दाखलनाला sysadm_r:sysadm_t रूपी परवानगी द्या"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"हे साधन खालिल निर्माण करतो: \n"
++"टाईप ऐंफोर्समेंट (te), फाइल संदर्भ(fc), संवाद(if), शेल स्क्रिप्ट(sh).\n"
++"संकलन/प्रतिष्ठापन व फाइल/संचयीका पुन्हा लेबल करण्याकरीता शेल स्क्रिप्ट कार्यान्वीत करा.  \n"
++"आता तुम्ही प्रणाली परवांगीक माध्यमात ठेवू शकता (setenforce 0). \n"
++"avc संदेश निर्माण करण्याकरीता अनुप्रयोग कार्यान्वीत/पुन्हा चालू करा.\n"
++"te फाइल करीता अतिरीक्त नियमावली निर्माण करण्याकरीता audit2allow -R चा वापर "
++"करा.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "बूलियन संवाद जोडा"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "बूलीयन नाव"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "भूमिका"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "अस्तित्वातील_वापरकर्ता"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "अनुप्रयोग"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s संचयीका असायला हवी"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "तुम्ही वापरकर्ता निवडला पाहिजे"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "कार्यान्वीत फाइल मर्यादीत करण्याकरीता निवडा."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "init script फाइल मर्यादीत करण्याकरीता निवडा."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "मर्यादीत अनुप्रयोगच्या द्वारे निर्मीत किंवा लिखीत फाइल निवडा"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "मर्यादीत अनुप्रयोगच्या नावी असलेले व त्यास लिहीतायेण्याजोगी असलेले संचयीका निवडा"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "यात करार फाइल बनविण्याकरीता संचयीका निवडा"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"टाइप %s_t आधिपासूनच सद्याचे करार मध्ये व्याख्यीत केले आहे.\n"
++"तुम्हाला पुढे जायचे?"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "नाव तपासा"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "xen ला डीस्क ड्राइव्ह साधन वाचण्यास/लिहीण्यास परवानगी द्या"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"विभाग %s.pp आधिपासूनच सद्याचे करार मध्ये दाखल केले आहे.\n"
++"तुम्हाला नक्की पुढे जायचे?"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "तुम्ही एक नाव प्रविष्ट केलेच पाहिजे"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen constrol करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "आपण एक्जीक्यूटेबल प्रविष्ट केलेच पाहिजे"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux संरचीत करा"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS गुप्तशब्द डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "पोर्ट 1 ते %d पर्यंतची संख्या किंवा संख्याचे क्षेत्र असायला हवे "
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "मर्यादीत कार्यपद्धती/वापरकर्त्यास नाव प्रविष्ट केले पाहिजे"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS सथानांतर डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER प्रकार परवानगीरहीत एक्झीक्यूटेबल नाही"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm वापरकर्त्यास अधिकार विना वापरकर्ता मुख्य संचयीका नियंत्रण करण्याची "
+-#~ "परवानगी द्या"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "फक्त DAEMON अनुप्रयोगच init स्क्रिप्टचा वापर करू शकतात"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm वापरकर्त्यास अधिकार विना वापरकर्ता मुख्य संचयीका वाचण्यास परवानगी "
+-#~ "द्या"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog बूलीयन संख्या असली पाहिजे "
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "तुम्हाला नक्की %s '%s' काढून टाकायचे?"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER प्रकार यांस आपोआप tmp संदर्भ लागू होतो"
+-#~ msgid "Delete %s"
+-#~ msgstr "%s काढून टाका"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "आपल्या मर्यादीत कार्यपद्धतीकरीता एक्जीक्यूटेबेल मार्ग प्रविष्ट केलाच पाहिजे"
+-#~ msgid "Add %s"
+-#~ msgstr "%s समाविष्ट करा"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Type Enforcement फाइल"
+-#~ msgid "Modify %s"
+-#~ msgstr "%s संपादीत करा"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "संवाद फाइल"
+-#~ msgid "Permissive"
+-#~ msgstr "परवानगीक"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "फाइल संदर्भ फाइल"
+-#~ msgid "Enforcing"
+-#~ msgstr "जबरदस्तीरीत्या"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "स्क्रिप्ट संयोजीत करा"
+-#~ msgid "Disabled"
+-#~ msgstr "अकार्यान्वीत"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "जाळ पोर्ट"
+-#~ msgid "Status"
+-#~ msgstr "स्तिथी"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux पोर्ट\n"
++"प्रकार"
+-#~ 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/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "शिष्टाचार"
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "अकार्यनवीत SELinux वर स्थानांतर करतेवेळी पुन्हा बूटची गरज पडते. असे करणे योग्य नाही व "
+-#~ "सुचवीलेही जात नाही.  पुढे SELinux वापरण्याचा फेरविचार केल्यास, प्रणालीस पुन्हा लेबल "
+-#~ "करण्याची गरज पडेल.  SELinux मुळे आपल्या प्रणालीवर काही अडचन निर्माण होते का, हे "
+-#~ "अनुभवण्यास परवानगीक माध्यमात जावे ज्याने फक्त त्रूटीची लॉग तयार होईल व SELinux "
+-#~ "करारचे उल्लंगन होणार नाही.  परवानगीक माध्यमाला पुन्हा बूट करायची गरज पडत नाही    "
+-#~ "तरी आपल्याला पुढे जायचे आहे का?"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"स्तर"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "SELinux समर्थित बदल केल्यास पुढच्या बूटला पूर्प फाइल प्रणालीस पुन्हा लेबल करण्याजी गरज "
+-#~ "पडेल. फाइल प्रणालीच्या आकारावर अवलंबून पुन्हा लेबल करायला बराच वेळ लागू शकतो.  तरी "
+-#~ "आपल्या पुढे जायचे आहे का?"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "पोर्ट"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "पोर्ट क्रमांक \"%s\" वैध नाही.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "दृश्य पहा"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "संच दृश्य"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux सेवा सुरक्षा"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct डीमन करीता SELinux सुरक्षा अकार्यन्वीत करा"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "ऑडमीन"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "सर्व डीमनना कोरफाइल्स लिहीण्याकरीता परवानगी द्या /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "अनिश्चित ttys ला वापरण्याची कार्यक्षमता सर्व डीमन्सला द्या"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "वापरकर्ता Privs"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux वापरकर्ता खाते यांस मुख्य संचयीका किंवा /tmp अंतर्गत फाइल कार्यान्वीत "
++"करण्याकरीता परवानगी द्या"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "प्रतिकृती अधिकार (c)2006 Red Hat, Inc.\n"
+-#~ "प्रतिकृती अधिकार (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"SELinux वापरकर्ता खाते यांस मुख्य संचयीका किंवा /tmp अंतर्गत फाइल कार्यान्वीत "
++"करण्याकरीता परवानगी द्या"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux दाखलन मॅपिंग समाविष्टीत करा"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "स्मृता सुरक्षा द्या"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "जावा कार्यारत स्टॅकला परवानगी द्या"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "आरोहण"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "कुठलिही फाइल आरोहीत करण्याकरीता आरोहणास परवानगी द्या"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "कुठलिही संचयीका आरोहीत करण्याकरीता आरोहणास परवानगी द्या"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer कार्यारत स्टॅकला परवानगी द्या"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh ला ssh-keysign कार्यरत करण्याकरीता परवानगी द्या"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux संजाळ पोर्ट समाविष्टीत करा"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"स्टॉफ SELinux वापरकर्ता खाते यांस मुख्य संचयीका किंवा /tmp अंतर्गत फाइल कार्यान्वीत "
++"करण्याकरीता परवानगी द्या"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux प्रकार"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"SELinux वापरकर्ता खात्यांना मुख्य संचयीका किंवा /tmp अंतर्गत फाइल कार्यान्वीत "
++"करण्याकरीता परवानगी द्या"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"अमर्यादीत SELinux वावरकर्ता खाते करीता मुख्य संचयीका किंवा /tmp अंतर्गत फाइल "
++"कार्यान्वीत करण्याकरीता परवानगी द्या"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "स्थर"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "संजाळ संरचना"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "संजळावर लेबल नसलेले पॅकेट प्रवाहीत करण्याकरीता परवानगी द्या"
+-#~ msgid "File Specification"
+-#~ msgstr "फाइल गुणधर्म"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"SELinux वापरकर्ता खात्यांना मुख्य संचयीका किंवा /tmp अंतर्गत फाइल कार्यान्वीत "
++"करण्याकरीता परवानगी द्या"
+-#~ msgid "File Type"
+-#~ msgstr "फाइल प्रकार"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "unconfined_execmem करीता मर्यादीतला dyntrans करण्याकरीता परवानगी द्या"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "डाटाबेसेस"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "mysql सॉकेटला जोडण्याकरीता वापरकर्त्याला परवानगी द्या"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "postgres सॉकेटला जोडण्याकरीता वापरकर्त्याला परवानगी द्या"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "X सहभागीय स्मृतीस लिहीण्याकरीता क्लाएंटला परवानगी द्या"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "सर्व फाइल\n"
+-#~ "नियमीत फाइल\n"
+-#~ "संचयीका\n"
+-#~ "अक्षरी साधन\n"
+-#~ "ब्लॉक साधन\n"
+-#~ "सॉकेट\n"
+-#~ "संकेतीक लींक\n"
+-#~ "नामांकीत पाइप\n"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux वापरकर्ता खाते यांस मुख्य संचयीका मध्ये किंवा /tmp अंतर्गत फाइल "
++"कार्यान्वीत करण्याकरीता परवानगी द्या"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "डीमनला NIS शी कार्यरत ठेवण्यास परवानगी द्या"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "वेब अनुप्रयोग"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "स्टॉफ SELinux वापरकर्तापासून ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux वापरकर्तापासून ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "वापरकर्ता SELinux वापरकर्तापासून  ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux वापरकर्तापासून ते वेब ब्राऊजर क्षेत्रामध्ये स्थानांतर"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "मुख्य संचिकेत स्टॉफ वेब ब्राऊजरांना लिहीण्याकरीता परवानगी द्या"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "अमॅनडा करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "अमॅवीस करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "क्लस्टर सर्वर करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux वापरकर्ता समाविष्टीत करा"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"खालील अनुक्रमणिकेत अंतर्भूत वाचण्याकरीता cdrecord ला परवानगी द्या. nfs, samba, "
++"काढूनठेवतायेण्याजोगी साधने, वापरकर्त्याचे टेंम व अविश्वासू मजकूर फाइल"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux प्रशासन"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "क्रॉन"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "छपाई"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd बॅकएंड सर्वर करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "प्रत्यक्ष रूपी डीमन सुरू करण्याकरीता sysadm_t ला परवानगी द्या"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "एव्हलूशन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "खेळ"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "खेळांकरीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "वेब ब्राउजर करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "थंडरबर्ड करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "फेचमेल करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "सहत्व"
+-#~ msgid "Add"
+-#~ msgstr "समाविष्ट"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"माहीत असलेल्या ज्याचे उल्लंगन शक्य आहे परंतु सुरक्षाकारणास्तव भीती नसलेल्या गोष्टी ऑडीट करू "
++"नका"
+-#~ msgid "_Properties"
+-#~ msgstr "गुणधर्म (_P)"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "यजमान डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "hplip डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd लॉगबदली करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD सेवा"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd उप डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "केरबेरोस"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "मेलमॅन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "एव्हल्यूशन व थंडरबर्डला वापरकर्त्याचे फाइल वाचण्याकरीता परवानगी द्या"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "मोझीला ब्राउजरला वापरकर्त्याचे फाइल वाचण्याकरीता परवानगी द्या"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "नाव सेवा"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "संजाळ व्यवस्थापका करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "सांबा"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "पूर्वपद करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "नियमीत वापरकर्त्यास pppd कार्यरत करण्याकरीता परवानगी द्या"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "prelink डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readhead करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "फाइल अ-मानक स्थानापासून (default_t) वाचण्याकरीता परवानगी द्या"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "डीमन एवजी inetd पासून ssh ला कार्यरत करण्यास परवानगी द्या"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "वापरकर्त्याच्ये nfs संचयीका सहभाग करण्यास Samba ला परवानगी द्या"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL अधिप्रमाणित सर्वर"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl अधिप्रमाणीत सर्वरला /etc/shadow वाचण्यास परवानगी द्या"
+-#~ msgid "_Delete"
+-#~ msgstr "काढून टाका (_D)"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"स्मृती क्षेत्रास कार्यान्वीत व लिहीतायेण्याजोगी करण्यास X-Windows सर्वरला मॅप करण्याची "
++"परवानगी द्या"
+-#~ msgid "Select Management Object"
+-#~ msgstr "व्यवस्थापन वस्तू निवडा"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo व su प्रभावित मध्ये स्थानांतरीत होण्यास परवानगी देऊ नका"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "कुठल्याही कार्यपद्धतीस कर्नल घटक दाखल करण्यास परवानगी देऊ नका"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "कुठल्याही कार्यपद्धतीस कर्नल SELinux करार संपादीत करण्यास परवानगी देऊ नका"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "स्पॅम सुरक्षा"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd ला मुख्य संचयीका प्रवेशास परवानगी द्या"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "स्पॅम निषक्रीयक डीमनाला संजाळ प्रवेशास परवानगी द्या"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid डीमनला संजाळ प्रवेशास परवानगी द्या"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh दाखलनला sysadm_r:sysadm_t च्या स्वरूपास दाखलनास परवानगी द्या"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>निवडा:</b>"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r वापरकर्त्यांना sysadm तील मुख्य संचयीका व वाचतायेण्याजोगी फाइल (जसे की ~/."
++"bashrc) शोधण्यास परवानगी द्या"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "प्रणाली मुलभूत जबरन माध्यम"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "वैश्विक SSL मार्ग"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel डीमनला स्वतंत्ररीत्या, xinetd च्या बाहेर कार्यरत ठेवण्याची परवानगी द्या"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "प्रणाली क्रॉन कार्यांकरीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "spamd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "सध्याचे जबरन माध्यम"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd ला अमर्यादीतरीत्या कार्यरत ठेवण्याकरीता, व तसेच त्या सेवाही जी क्षेत्र स्थानांतर "
++"प्रत्यक्षरूपी निश्चीत नाही त्यांनाही परवानगी द्या"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "प्रणाली मुलभूत करार प्रकार: "
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc स्क्रिप्ट ला अमर्यादीतरीत्या कार्यरत ठेवण्याकरीता, व तसेच rc स्क्रिप्ट द्वारे सुरुवात केलेले "
++"कुठलेही डीमन जी क्षेत्र स्थानांतर प्रत्यक्षरूपी निश्चीत नाही त्यांनाही परवानगी द्या"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "पुढच्या बूट पर्यंत पूर्ण फाइल प्रणालीस पुनः लेबेल करायचे असल्यास निवडा.  प्रणालीच्या "
+-#~ "आकारावरून, पुनः लेबलीगला बराच वेळ लागू शकतो.  कराराचे प्रकार बदलत असल्यास किंवा "
+-#~ "अकार्यन्वीत पासून जबरन पर्यंत जात असल्यास, पुनः लेबलची गरज पडेल."
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm ला unconfined कार्यरत करण्यास परवानगी द्या"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "पुढच्या पुनः बूटवेळी लेबल करा."
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"अधिकार असेले अपअनुप्रयोग जसे hotplug व insmod ला unconfined कार्यरत करण्याकरीता "
++"परवानगी द्या"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "प्रणाली मुलभूत करीता बूलीयन संयोजना पुन्हा स्थापीत करा"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "इच्छिक व सर्व बूलीयन अंतर्गत टॉगल करा"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"sysadm_r via su, sudo, किंवा userhelper पर्यंत पोहचण्यास user_r ला परवानगी द्या. "
++"किंवा, फक्त staff_r हे करू शकतो"
+-#~ msgid "Filter"
+-#~ msgstr "फिल्टर"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "वापरकर्त्यांना mount आदेश कार्यरत करण्यास परवानगी द्या"
+-#~ msgid "Add File Context"
+-#~ msgstr "फाइल संदर्भ समाविष्ट करा"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"नियमीत वापरकर्त्यांना प्रत्यक्षरुपी माउस प्रवेशास परवानगी द्या (फक्त X सर्वरला परवानगी "
++"द्या)"
+-#~ msgid "Modify File Context"
+-#~ msgstr "फाइल संदर्भ संपादीत करा"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "वापरकर्त्यांना dmesg आदेश कार्यरत करण्यास परवानगी द्या"
+-#~ msgid "Delete File Context"
+-#~ msgstr "फाइल संदर्भ काढून टाका"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"वापरकर्त्यांना संजाळ संवादपट नियंत्रीत करण्यास परवानगी द्या (ह्याचीही गरज असते "
++"USERCTL=true)"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "सर्व व इच्छिक फाइल संदर्भ अंतर्गत टॉगल करा"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "साधारण वापरकर्त्यास ping कार्यरत करण्यास परवानगी द्या"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "r/w noextattrfile (FAT, CDROM, FLOPPY) करीता वापरकर्त्यास परवानगी द्या"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "usb साधन rw करण्याकरीता वापरकर्त्यांना परवानगी द्या"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux वापरकर्ता मॅपिंग समाविष्टीत करा"
++#: ../gui/selinux.tbl:216
++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 ""
++"TCP सर्वर कार्यरत करण्याकरीता वापरकर्त्यांना परवानगी द्या (पोर्टशी बंधनकारक व आतील "
++"क्षेत्रातून व बाहेरील वापरकर्त्यांकडून संपर्क स्वीकारतो)  याला असमर्थित केल्यास FTP निषक्रीय "
++"माध्यमात जातो व इतर प्रोटोकॉलही बदलू शकतात"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "वापरकर्त्याला ttyfiles stat करण्याकरीता परवानगी द्या"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm दाखलनाला sysadm_r:sysadm_t रूपी परवानगी द्या"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen ला डीस्क ड्राइव्ह साधन वाचण्यास/लिहीण्यास परवानगी द्या"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen constrol करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS गुप्तशब्द डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS सथानांतर डीमन करीता SELinux सुरक्षा अकार्यान्वीत करा"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux वापरकर्ता मॅपिंग संपादीत करा"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm वापरकर्त्यास अधिकार विना वापरकर्ता मुख्य संचयीका नियंत्रण करण्याची "
++"परवानगी द्या"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux वापरकर्ता मॅपिंग काढून टाकत आहे"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm वापरकर्त्यास अधिकार विना वापरकर्ता मुख्य संचयीका वाचण्यास परवानगी द्या"
+-#~ msgid "Add Translation"
+-#~ msgstr "भाषांतरन समाविष्ट करा"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "तुम्हाला नक्की %s '%s' काढून टाकायचे?"
+-#~ msgid "Modify Translation"
+-#~ msgstr "भाषांतरन संपादित करा"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s काढून टाका"
+-#~ msgid "Delete Translation"
+-#~ msgstr "भाषांतरने काढून टाका"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s समाविष्ट करा"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux वापरकर्ता संपादीत करा"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s संपादीत करा"
+-#~ msgid "Add Network Port"
+-#~ msgstr "संजाळ पोर्ट समाविष्ट करा"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "परवानगीक"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "संजाळ पोर्ट संपादित करा"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "जबरदस्तीरीत्या"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "बंद करणे"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "स्तिथी"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "संजाळ पोर्ट काढून टाका"
++#: ../gui/statusPage.py:133
++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 ""
++"करारचा प्रकार बदल्यास पुढच्या बूटला पूर्प फाइल प्रणालीस पुन्हा लेबल करण्याजी गरज पडेल. "
++"फाइल प्रणालीच्या आकारावर अवलंबून पुन्हा लेबल करायला बराच वेळ लागू शकतो.  तरी आपल्या पुढे "
++"जायचे आहे का?"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "इच्छिक व सर्व पोर्ट अंतर्गत टॉगल करा"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"अकार्यनवीत SELinux वर स्थानांतर करतेवेळी पुन्हा बूटची गरज पडते. असे करणे योग्य नाही व "
++"सुचवीलेही जात नाही.  पुढे SELinux वापरण्याचा फेरविचार केल्यास, प्रणालीस पुन्हा लेबल "
++"करण्याची गरज पडेल.  SELinux मुळे आपल्या प्रणालीवर काही अडचन निर्माण होते का, हे "
++"अनुभवण्यास परवानगीक माध्यमात जावे ज्याने फक्त त्रूटीची लॉग तयार होईल व SELinux करारचे "
++"उल्लंगन होणार नाही.  परवानगीक माध्यमाला पुन्हा बूट करायची गरज पडत नाही    तरी "
++"आपल्याला पुढे जायचे आहे का?"
+-#~ msgid "Generate new policy module"
+-#~ msgstr "नविन करार घटक निर्माण करा"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux समर्थित बदल केल्यास पुढच्या बूटला पूर्प फाइल प्रणालीस पुन्हा लेबल करण्याजी गरज "
++"पडेल. फाइल प्रणालीच्या आकारावर अवलंबून पुन्हा लेबल करायला बराच वेळ लागू शकतो.  तरी "
++"आपल्या पुढे जायचे आहे का?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Load policy module"
+-#~ msgstr "करार घटक दाखल करा"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"प्रतिकृती अधिकार (c)2006 Red Hat, Inc.\n"
++"प्रतिकृती अधिकार (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "दाखलकरतायेण्याजोगी करार घटक काढून टाका"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux दाखलन मॅपिंग समाविष्टीत करा"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux संजाळ पोर्ट समाविष्टीत करा"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux प्रकार"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "अतिरीक ऑडीट नियम कार्यान्वीत/अकार्यान्वीत करा, ज्याचा अहवाल साधारणतः लॉग "
+-#~ "फाइलमध्ये नसतो."
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"स्तर"
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "संवेदनशीलतेचा स्थर"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "फाइल गुणधर्म"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "फाइल प्रकार"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux वापरकर्ता '%s' जरूरी आहे"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"सर्व फाइल\n"
++"नियमीत फाइल\n"
++"संचयीका\n"
++"अक्षरी साधन\n"
++"ब्लॉक साधन\n"
++"सॉकेट\n"
++"संकेतीक लींक\n"
++"नामांकीत पाइप\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux वापरकर्ता समाविष्टीत करा"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux प्रशासन"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "समाविष्ट"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "गुणधर्म (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "काढून टाका (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "व्यवस्थापन वस्तू निवडा"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>निवडा:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "प्रणाली मुलभूत जबरन माध्यम"
+-#~ msgid "Requires value"
+-#~ msgstr "मूल्य आवश्यक"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"अकार्यान्वीत\n"
++"परवानगीय\n"
++"लागू केलेले\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "सध्याचे जबरन माध्यम"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "प्रणाली मुलभूत करार प्रकार: "
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"पुढच्या बूट पर्यंत पूर्ण फाइल प्रणालीस पुनः लेबेल करायचे असल्यास निवडा.  प्रणालीच्या "
++"आकारावरून, पुनः लेबलीगला बराच वेळ लागू शकतो.  कराराचे प्रकार बदलत असल्यास किंवा "
++"अकार्यन्वीत पासून जबरन पर्यंत जात असल्यास, पुनः लेबलची गरज पडेल."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "पुढच्या पुनः बूटवेळी लेबल करा."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "प्रणाली मुलभूत करीता बूलीयन संयोजना पुन्हा स्थापीत करा"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "इच्छिक व सर्व बूलीयन अंतर्गत टॉगल करा"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "बूलीयन कुलूपबंद कार्यक्रम चालवा"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "कुलूपबंद..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "फिल्टर"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "फाइल संदर्भ समाविष्ट करा"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "फाइल संदर्भ संपादीत करा"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "फाइल संदर्भ काढून टाका"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "सर्व व इच्छिक फाइल संदर्भ अंतर्गत टॉगल करा"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux वापरकर्ता मॅपिंग समाविष्टीत करा"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux वापरकर्ता मॅपिंग संपादीत करा"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux वापरकर्ता मॅपिंग काढून टाकत आहे"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "वापरकर्ता समावेष करा"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "वापरकर्ता संपादीत करा"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "वापरकर्ता काढून टाका"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "भाषांतरन समावेश करा"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "भाषांतरन संपादित करा"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "भाषांतरन नष्ट करा"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "संजाळ पोर्ट समाविष्ट करा"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "संजाळ पोर्ट संपादित करा"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "संजाळ पोर्ट काढून टाका"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "इच्छिक व सर्व पोर्ट अंतर्गत टॉगल करा"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "नविन करार घटक निर्माण करा"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "करार घटक दाखल करा"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "दाखलकरतायेण्याजोगी करार घटक काढून टाका"
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "अवैध पूर्वपद %s"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"अतिरीक ऑडीट नियम कार्यान्वीत/अकार्यान्वीत करा, ज्याचा अहवाल साधारणतः लॉग फाइलमध्ये "
++"नसतो."
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "अनुप्रयोगास/वापरकर्त्यास कुठल्याही tcp पोर्ट > 1024 शी बंधनकारक होण्यास परवानगी देतो"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "मर्यादीत अनुप्रयोगास/वापरकर्त्यास कुठल्याही tcp पोर्टशी बंधनकारक होण्यास परवानगी देतो"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "प्रक्रिया पद्धत परवानगीय करा."
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ह्या अनुप्रयोगास बंधनकारक करण्याकरीता स्वल्पविराम विभाजीत tcp पोर्ट ची यादी "
+-#~ "प्रविष्ट करा. Example: 612, 650-660"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "प्रक्रिया पद्धत जबरनरित्या लागू करा"
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux करार निर्माण ड्र्यूईड"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "प्रक्रिया क्षेत्र"
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "अनारक्षीत पोर्ट  (> 1024)"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr "अनुप्रयोग 0 सह bindresvport ला कार्यास हाक देत असल्यास हा चेकबटन वापरा."
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux वापरकर्ता '%s' जरूरी आहे"
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "जबरन\n"
+-#~ "परवानगीक\n"
+-#~ "अकार्यान्वीत\n"
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "संवेदनशीलता स्तर"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ms.po policycoreutils-2.0.85/po/ms.po
+--- nsapolicycoreutils/po/ms.po        2011-02-17 15:11:25.105735199 -0500
++++ policycoreutils-2.0.85/po/ms.po    2011-02-18 16:03:41.385975861 -0500
+@@ -7,14 +7,34 @@
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: 2007-07-27 23:11+0800\n"
+ "Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+ "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
++"Language: ms\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "Jenis SELinux diperlukan"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "gagal baca fail menu:%s"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -124,7 +144,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -179,746 +200,753 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, fuzzy, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Tidak dapat mencipta konteks fail untuk %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, fuzzy, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Tidak dapat memeriksa jika konteks fail untuk %s telah dinyatakan"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, fuzzy, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Tiada 'Mountpoints' dikenalpasti"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, fuzzy, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Partisyen Diminta Tidak Wujud"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, fuzzy, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Partisyen Diminta Tidak Wujud"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, fuzzy, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Tidak dapat mencipta konteks fail untuk %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, fuzzy, python-format
+ msgid "Could not set name for %s"
+ msgstr "Tidak dapat menetapkan konteks fail untuk %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, fuzzy, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Tidak dapat menetapkan konteks fail untuk %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, fuzzy, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Tidak dapat menetapkan pengguna dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, fuzzy, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Tidak dapat menambah konteks fail untuk %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ #, fuzzy
+ msgid "add SELinux user mapping"
+ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ #, fuzzy
+ msgid "Requires seuser or serange"
+ msgstr "Memerlukan setype, serange atau seuser"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, fuzzy, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Konteks fail %s tidak dinyatakan"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, fuzzy, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Tidak dapat menyoal konteks fail untuk %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, fuzzy, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Tidak dapat mengubahsuai konteks fail untuk %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, fuzzy, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Tidak dapat memadam konteks fail untuk %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ #, fuzzy
+ msgid "Could not list login mappings"
+ msgstr "Tidak dapat menyenaraikan konteks fail"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ #, fuzzy
+ msgid "SELinux User"
+ msgstr "Jenis SELinux diperlukan"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Tidak dapat menambah konteks fail untuk %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, fuzzy, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Tidak dapat memeriksa jika konteks fail untuk %s telah dinyatakan"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, fuzzy, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "$file bukan milik \"$user\""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, fuzzy, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Tidak dapat mencipta konteks fail untuk %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, fuzzy, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Tidak dapat menambah konteks fail untuk %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, fuzzy, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Tidak dapat menetapkan konteks fail untuk %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, fuzzy, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Tidak dapat menambah konteks fail untuk %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, fuzzy, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Tidak dapat membuka %s untuk salinan: %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, fuzzy, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ #, fuzzy
+ msgid "Requires prefix or roles"
+ msgstr "Memerlukan setype, serange atau seuser"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, fuzzy, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "Jenis terminal `%s' tidak ditakrifkan."
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, fuzzy, python-format
+ msgid "Could not query user for %s"
+ msgstr "Tidak dapat menyoal konteks fail untuk %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, fuzzy, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, fuzzy, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "$file bukan milik \"$user\""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, fuzzy, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Tidak dapat menyenaraikan pengguna SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Tidak dapat menyenaraikan peranan untuk pengguna %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Protokol udp atau tcp diperlukan"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Port diperlukan"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Tidak dapat mencipta kekunci untuk %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Jenis diperlukan"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Tidak dapat memeriksa sama ada port %s/%s telah dinyatakan"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s telah ditakrif"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Tidak dapat mencipta port untuk %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Tidak dapat mencipta konteks untuk %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Tidak dapat menetapkan pengguna dalam konteks port untuk %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Tidak dapat menetapkan tugas dalam konteks port untuk %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Tidak dapat menetapkan jenis dalam konteks port untuk %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Tidak dapat menetapkan medan mls dalam konteks port untuk %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Tidak dapat menetapkan konteks port untuk %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Tidak dapat menambah port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Memerlukan setype atau serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Memerlukan setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s tidak dinyatakan"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Tidak dapat menyoal port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Tidak dapat mengubah port %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ #, fuzzy
+ msgid "Could not list the ports"
+ msgstr "Tidak dapat menyenaraikan port"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Tidak dapat memadam port %s/%s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s dinyatakan dalam polisi, tidak boleh dipadam"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Tidak dapat memadam port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Tidak dapat menyenaraikan port"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ #, fuzzy
+ msgid "Node Address is required"
+ msgstr "Port diperlukan"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ #, fuzzy
+ msgid "Node Netmask is required"
+ msgstr "Port diperlukan"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Jenis SELinux diperlukan"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Tidak dapat mencipta kekunci untuk %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, fuzzy, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Tidak dapat memeriksa sama ada port %s/%s telah dinyatakan"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "Port %s/%s telah ditakrif"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Tidak dapat mencipta konteks fail untuk %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Tidak dapat mencipta konteks untuk %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Tidak dapat menetapkan konteks fail untuk %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Tidak dapat menetapkan pengguna dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Tidak dapat menetapkan tugas dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Tidak dapat menetapkan jenis dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Tidak dapat menetapkan medan mls dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Tidak dapat menetapkan konteks fail untuk %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Tidak dapat menambah port %s/%s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Port %s/%s tidak dinyatakan"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Tidak dapat menyoal port %s/%s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Tidak dapat mengubah port %s/%s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, fuzzy, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s dinyatakan dalam polisi, tidak boleh dipadam"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Tidak dapat memadam antaramuka %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Tidak dapat menyenaraikan port"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Tidak dapat memeriksa sama ada antaramuka %s dinyatakan"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Antaramuka %s telah ditakrif"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Tidak dapat mencipta antaramuka untuk %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Tidak dapat menetapkan pengguna dalam konteks antaramuka untuk %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Tidak dapat menetapkan tugas dalam konteks antaramuka untuk %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Tidak dapat menetapkan jenis dalam konteks antaramuka untuk %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Tidak dapat menetapkan medan mls dalam konteks antaramuka untuk %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Tidak dapat menetapkan konteks antaramuka untuk %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Tidak dapat menetapkan konteks mesej untuk %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Tidak dapat menambah antaramuka %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Antaramuka %s tidak dinyatakan"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Tidak dapat menyoal antaramuka %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Tidak dapat mengubah antaramuka %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Antaramuka %s dinyatakan dalam polisi, tidak boleh dipadam"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Tidak dapat memadam antaramuka %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Tidak dapat menyenaraikan antaramuka"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Tidak dapat menetapkan pengguna dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Tidak dapat menetapkan tugas dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Tidak dapat menetapkan medan mls dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Tidak dapat memeriksa jika konteks fail untuk %s telah dinyatakan"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Konteks fail %s telah dinyatakan"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Tidak dapat mencipta konteks fail untuk %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Tidak dapat menetapkan jenis dalam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Tidak dapat menetapkan konteks fail untuk %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Tidak dapat menambah konteks fail untuk %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Memerlukan setype, serange atau seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Konteks fail %s tidak dinyatakan"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Tidak dapat menyoal konteks fail untuk %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Tidak dapat mengubahsuai konteks fail untuk %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ #, fuzzy
+ msgid "Could not list the file contexts"
+ msgstr "Tidak dapat menyenaraikan konteks fail"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, fuzzy, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Tidak dapat memadam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Tidak dapat memadam konteks fail untuk %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Tidak dapat menyenaraikan konteks fail"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Tidak dapat menyenaraikan konteks fail tempatan"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Tidak dapat memeriksa sama ada boolean %s dinyatakan"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Boolean %s tidak dinyatakan"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Tidak dapat menyoal fail konteks %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Anda mesti nyatakan peranti."
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Tidak dapat memadam boolean %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Tidak dapat mengubah boolean %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Boolean %s dinyatakan dalam polisi, tidak boleh dipadam"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Tidak dapat memadam boolean %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Tidak dapat menyenaraikan boolean"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1297,79 +1325,2083 @@
+ msgid "Options Error %s "
+ msgstr "Ralat Pilihan: %s"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "Jenis SELinux diperlukan"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Jenis SELinux diperlukan"
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Terdapat ralat RPM.  Mesejnya ialah:\n"
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Anda mesti nyatakan peranti."
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Anda mesti nyatakan peranti."
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++#: ../gui/fcontextPage.py:81
+ #, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Anda mesti nyatakan peranti."
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr "Jenis SELinux diperlukan"
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Antaramuka %s tidak dinyatakan"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "Konteks fail %s tidak dinyatakan"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Jenis terminal `%s' tidak ditakrifkan."
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Menghimpun polisi"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Pengesahan gagal"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "Jenis SELinux diperlukan"
++#: ../gui/loginsPage.py:133
++#, fuzzy, python-format
++msgid "Login '%s' is required"
++msgstr "Jenis SELinux diperlukan"
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "gagal baca fail menu:%s"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Jenis SELinux diperlukan"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++#, fuzzy
++msgid "Sends audit messages"
++msgstr "Terdapat ralat RPM.  Mesejnya ialah:\n"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++#, fuzzy
++msgid "You must select a user"
++msgstr "Anda mesti nyatakan peranti."
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++#, fuzzy
++msgid "You must enter a name"
++msgstr "Anda mesti nyatakan peranti."
++
++#: ../gui/polgengui.py:610
++#, fuzzy
++msgid "You must enter a executable"
++msgstr "Anda mesti nyatakan peranti."
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++#, fuzzy
++msgid "Interface file"
++msgstr "Antaramuka %s tidak dinyatakan"
++
++#: ../gui/polgen.py:850
++#, fuzzy
++msgid "File Contexts file"
++msgstr "Konteks fail %s tidak dinyatakan"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++#, fuzzy
++msgid "SELinux Service Protection"
++msgstr "Jenis terminal `%s' tidak ditakrifkan."
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++#, fuzzy
++msgid "Compatibility"
++msgstr "Menghimpun polisi"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++#, fuzzy
++msgid "SASL authentication server"
++msgstr "Pengesahan gagal"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++#, fuzzy
++msgid "SELinux Type"
++msgstr "Jenis SELinux diperlukan"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++#, fuzzy
++msgid "Add SELinux User"
++msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++#, fuzzy
++msgid "Modify SELinux User Mapping"
++msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++
++#: ../gui/system-config-selinux.glade:2219
++#, fuzzy
++msgid "Delete SELinux User Mapping"
++msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++#, fuzzy
++msgid "Add User"
++msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++
++#: ../gui/system-config-selinux.glade:2390
++#, fuzzy
++msgid "Modify User"
++msgstr "Pengguna %s tidak dapat dipadam: %s.\n"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++#, fuzzy
++msgid "Load policy module"
++msgstr "gagal baca fail menu:%s"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, fuzzy, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Jenis SELinux diperlukan"
+ #~ msgid "Requires value"
+ #~ msgstr "Memerlukan nilai"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/my.po policycoreutils-2.0.85/po/my.po
+--- nsapolicycoreutils/po/my.po        2011-02-17 15:11:25.679725718 -0500
++++ policycoreutils-2.0.85/po/my.po    2011-02-18 16:03:41.386975868 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/nb.po policycoreutils-2.0.85/po/nb.po
+--- nsapolicycoreutils/po/nb.po        2011-02-17 15:11:25.268732508 -0500
++++ policycoreutils-2.0.85/po/nb.po    2011-02-18 16:03:41.386975868 -0500
+@@ -1,20 +1,38 @@
+ # Norwegian bokmål translation of policycoreutils.
+ # Copyright (C) 2006 Red Hat, Inc.
+-# This file is distributed under the same license as the PACKAGE package.
+-# Kjartan Maraas <kmaraas@gnome.org>, 2006, 2007.
++# This file is distributed under the same license as the policycoreutils package.
++# Kjartan Maraas <kmaraas@gnome.org>, 2006-2010.
+ #
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-10-04 15:01+0200\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-10-31 19:19+0100\n"
+ "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
+ "Language-Team: Norwegian bokmal <i18n-nb@lister.ping.uio.no>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Konfigurer SELinux i et grafisk program"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux-håndtering"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Lag regelmoduler for SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -117,7 +135,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -169,736 +188,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "%s er allerede i %s"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "%s er ikke i %s"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Du må oppgi et navn"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -985,7 +1011,7 @@
+ #: ../newrole/newrole.c:707
+ #, c-format
+ msgid "Error allocating memory.\n"
+-msgstr ""
++msgstr "Feil under allokering av minne.\n"
+ #: ../newrole/newrole.c:714
+ #, c-format
+@@ -1000,7 +1026,7 @@
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr ""
++msgstr "Feil:  Klarte ikke å åpne %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+@@ -1167,9 +1193,9 @@
+ msgstr ""
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "bruk:   %s [-q]\n"
++msgstr "bruk:   %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+@@ -1241,7 +1267,7 @@
+ #: ../scripts/chcat:330
+ #, c-format
+ msgid "Usage %s -l -d user ..."
+-msgstr ""
++msgstr "Bruk %s -l -d bruker ..."
+ #: ../scripts/chcat:331
+ #, c-format
+@@ -1270,127 +1296,2079 @@
+ msgid "Options Error %s "
+ msgstr ""
+-#~ msgid "Version"
+-#~ msgstr "Versjon"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "alle"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Egendefinert"
+-#~ msgid "translator-credits"
+-#~ msgstr "Kjartan Maraas <kmaraas@gnome.org>"
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Programmer</b>"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
+-#, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Brukere</b>"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Bruker"
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS-område"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Regelmodul"
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Navn på modul"
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versjon"
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
+ #, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "Rolle"
++msgid "Enable Audit"
++msgstr "Slå på"
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Last regelmodul"
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Kjartan Maraas <kmaraas@gnome.org>"
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Programmer</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS systemtjeneste"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Brukerprogram"
++#: ../gui/polgen.glade:389
+ #, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Brukere</b>"
++msgid "<b>Login Users</b>"
++msgstr "<b>Brukere</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Eksisterende brukerroller"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
+-#~ msgid "Name"
+-#~ msgstr "Navn"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
+-#~ msgid "Select Ports"
+-#~ msgstr "Velg porter"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP-porter</b>"
++#: ../gui/polgen.glade:516
++#, fuzzy
++msgid "User Role"
++msgstr "Rolle"
+-#~ msgid "Role"
+-#~ msgstr "Rolle"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
+-#~ msgid "Application"
+-#~ msgstr "Program"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++#: ../gui/polgen.glade:583
+ #, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Du må oppgi et navn"
++msgid "<b>Root Users</b>"
++msgstr "<b>Brukere</b>"
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Navn"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
+-#~ msgid "You must enter a name"
+-#~ msgstr "Du må oppgi et navn"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Velg porter"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP-porter</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Konfigurer SELinux"
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
+-#~ msgid "Protocol"
+-#~ msgstr "Protokoll"
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
+-#~ msgid "Port"
+-#~ msgstr "Port"
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
+-#~ msgid "Admin"
+-#~ msgstr "Admin"
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
+-#~ msgid "Memory Protection"
+-#~ msgstr "Minnebeskyttelse"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
+-#~ msgid "Mount"
+-#~ msgstr "Montering"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
+-#~ msgid "Network Configuration"
+-#~ msgstr "Nettverkskonfigurasjon"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
+-#~ msgid "Databases"
+-#~ msgstr "Databaser"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
+-#~ msgid "XServer"
+-#~ msgstr "X-tjener"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
+-#~ msgid "Compatibility"
+-#~ msgstr "Kompatibilitet"
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD-tjeneste"
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rolle"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Program"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
+ #, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "Minnebeskyttelse"
++msgid "You must select a user"
++msgstr "Du må oppgi et navn"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
+-#~ msgid "You must be root to run %s."
+-#~ msgstr "Du må være root for å kjøre %s."
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
+-#~ msgid "Other"
+-#~ msgstr "Annet"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
+-#~ msgid "Files and Directories"
+-#~ msgstr "Filer og kataloger"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
+-#~ msgid "FTP"
+-#~ msgstr "FTP"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
+-#~ msgid "Zebra"
+-#~ msgstr "Zebra"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Du må oppgi et navn"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Konfigurer SELinux"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++#, fuzzy
++msgid "Network Port"
++msgstr "Nettverkskonfigurasjon"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokoll"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Minnebeskyttelse"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Montering"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Nettverkskonfigurasjon"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Databaser"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "X-tjener"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Utskrift"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Slå av SELinux-beskyttelse for dictd-tjenesten"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "La sysadm_t starte tjenester direkte"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Slå av SELinux-beskyttelse for Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Spill"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Slå av SELinux-beskyttelse for spill"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Slå av SELinux-beskyttelse for nettlesere"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Slå av SELinux-beskyttelse for Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Slå av SELinux-beskyttelse for distccd-tjenesten"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Slå av SELinux-beskyttelse for dmesg-tjenesten"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Kompatibilitet"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD-tjeneste"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Beskyttelse mot spam"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Slett %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Legg til %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Endre %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Ettergivende"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Tvungen"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Slått av"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux type"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Nivå"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Filspesifikasjon"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Filtype"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Legg til SELinux-bruker"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux administrasjon"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Legg til"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "Egenska_per"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Slett"
++
++#: ../gui/system-config-selinux.glade:1449
++#, fuzzy
++msgid "Select Management Object"
++msgstr "Velg "
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Velg:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Slått av\n"
++"Ettergivende\n"
++"Tvungen\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Nedlåsing..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filter"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Legg til filkontekst"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Endre filkontekst"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Slett filkontekst"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Legg til bruker"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Endre bruker"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Slett bruker"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Legg til oversettelse"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Endre oversettelse"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Slett oversettelse"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Legg til nettverksport"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Rediger nettverksport"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Slett nettverksport"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Lag ny regelmodul"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Last regelmodul"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Fjern lastbar regelmodul"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Endre prosessmodus til ettergivende."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Endre prosessmodus til tvungen"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux bruker «%s» kreves"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/nds_DE.po policycoreutils-2.0.85/po/nds_DE.po
+--- nsapolicycoreutils/po/nds_DE.po    1969-12-31 19:00:00.000000000 -0500
++++ policycoreutils-2.0.85/po/nds_DE.po        2011-02-18 16:03:41.386975868 -0500
+@@ -0,0 +1,3363 @@
++# translation of policycoreutils.HEAD.po to
++# translation of policycoreutils.HEAD.nds.po to
++# Low German translation of policycoreutils.
++# Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
++#
++#
++# Nils-Christoph Fiedler <ncfiedler@fedoraproject.org>, 2010.
++msgid ""
++msgstr ""
++"Project-Id-Version: policycoreutils.HEAD.nds\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-12-05 15:46+0100\n"
++"Last-Translator: Nils-Christoph Fiedler <ncfiedler@gnome.org>\n"
++"Language-Team: Fedora Low German <nds-lowgerman@lists.sourceforge.net>\n"
++"Language: nds\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"
++"X-Poedit-Language: Low German\n"
++"X-Generator: KBabel 1.11.4\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
++#: ../run_init/run_init.c:67
++msgid ""
++"USAGE: run_init <script> <args ...>\n"
++"  where: <script> is the name of the init script to run,\n"
++"         <args ...> are the arguments to that script."
++msgstr ""
++
++#: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
++#, c-format
++msgid "failed to initialize PAM\n"
++msgstr ""
++
++#: ../run_init/run_init.c:139
++#, c-format
++msgid "failed to get account information\n"
++msgstr ""
++
++#: ../run_init/run_init.c:162 ../newrole/newrole.c:338
++msgid "Password:"
++msgstr ""
++
++#: ../run_init/run_init.c:197 ../newrole/newrole.c:363
++#, c-format
++msgid "Cannot find your entry in the shadow passwd file.\n"
++msgstr ""
++
++#: ../run_init/run_init.c:203 ../newrole/newrole.c:370
++#, c-format
++msgid "getpass cannot open /dev/tty\n"
++msgstr ""
++
++#: ../run_init/run_init.c:275
++#, c-format
++msgid "run_init: incorrect password for %s\n"
++msgstr ""
++
++#: ../run_init/run_init.c:309
++#, c-format
++msgid "Could not open file %s\n"
++msgstr ""
++
++#: ../run_init/run_init.c:336
++#, c-format
++msgid "No context in file %s\n"
++msgstr ""
++
++#: ../run_init/run_init.c:361
++#, c-format
++msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
++msgstr ""
++
++#: ../run_init/run_init.c:380
++#, c-format
++msgid "authentication failed.\n"
++msgstr ""
++
++#: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
++#, c-format
++msgid "Could not set exec context to %s.\n"
++msgstr ""
++
++#: ../audit2allow/audit2allow:217
++msgid "******************** IMPORTANT ***********************\n"
++msgstr ""
++
++#: ../audit2allow/audit2allow:218
++msgid "To make this policy package active, execute:"
++msgstr ""
++
++#: ../semanage/seobject.py:48
++msgid "Could not create semanage handle"
++msgstr ""
++
++#: ../semanage/seobject.py:55
++msgid "SELinux policy is not managed or store cannot be accessed."
++msgstr ""
++
++#: ../semanage/seobject.py:60
++msgid "Cannot read policy store."
++msgstr ""
++
++#: ../semanage/seobject.py:65
++msgid "Could not establish semanage connection"
++msgstr ""
++
++#: ../semanage/seobject.py:70
++msgid "Could not test MLS enabled status"
++msgstr ""
++
++#: ../semanage/seobject.py:142 ../semanage/seobject.py:146
++msgid "global"
++msgstr ""
++
++#: ../semanage/seobject.py:206
++#, python-format
++msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
++msgstr ""
++
++#: ../semanage/seobject.py:239
++msgid "Level"
++msgstr ""
++
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
++msgid "Translation"
++msgstr ""
++
++#: ../semanage/seobject.py:247 ../semanage/seobject.py:261
++#, python-format
++msgid "Translations can not contain spaces '%s' "
++msgstr ""
++
++#: ../semanage/seobject.py:250
++#, python-format
++msgid "Invalid Level '%s' "
++msgstr ""
++
++#: ../semanage/seobject.py:253
++#, python-format
++msgid "%s already defined in translations"
++msgstr ""
++
++#: ../semanage/seobject.py:265
++#, python-format
++msgid "%s not defined in translations"
++msgstr ""
++
++#: ../semanage/seobject.py:290
++msgid "Not yet implemented"
++msgstr ""
++
++#: ../semanage/seobject.py:294
++msgid "Semanage transaction already in progress"
++msgstr ""
++
++#: ../semanage/seobject.py:303
++msgid "Could not start semanage transaction"
++msgstr ""
++
++#: ../semanage/seobject.py:309
++msgid "Could not commit semanage transaction"
++msgstr ""
++
++#: ../semanage/seobject.py:313
++msgid "Semanage transaction not in progress"
++msgstr ""
++
++#: ../semanage/seobject.py:325
++msgid "Could not list SELinux modules"
++msgstr ""
++
++#: ../semanage/seobject.py:336
++msgid "Permissive Types"
++msgstr ""
++
++#: ../semanage/seobject.py:366
++#, python-format
++msgid "Could not set permissive domain %s (module installation failed)"
++msgstr ""
++
++#: ../semanage/seobject.py:380
++#, python-format
++msgid "Could not remove permissive domain %s (remove failed)"
++msgstr ""
++
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
++#, python-format
++msgid "Could not create a key for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
++#, python-format
++msgid "Could not check if login mapping for %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:412
++#, python-format
++msgid "Login mapping for %s is already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:417
++#, python-format
++msgid "Linux Group %s does not exist"
++msgstr ""
++
++#: ../semanage/seobject.py:422
++#, python-format
++msgid "Linux User %s does not exist"
++msgstr ""
++
++#: ../semanage/seobject.py:426
++#, python-format
++msgid "Could not create login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
++#, python-format
++msgid "Could not set name for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
++#, python-format
++msgid "Could not set MLS range for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:439
++#, python-format
++msgid "Could not set SELinux user for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:443
++#, python-format
++msgid "Could not add login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
++msgid "add SELinux user mapping"
++msgstr ""
++
++#: ../semanage/seobject.py:462
++msgid "Requires seuser or serange"
++msgstr ""
++
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
++#, python-format
++msgid "Login mapping for %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:476
++#, python-format
++msgid "Could not query seuser for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:492
++#, python-format
++msgid "Could not modify login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:524
++#, python-format
++msgid "Login mapping for %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:528
++#, python-format
++msgid "Could not delete login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:551
++msgid "Could not list login mappings"
++msgstr ""
++
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
++msgid "Login Name"
++msgstr ""
++
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
++msgid "SELinux User"
++msgstr ""
++
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
++msgid "MLS/MCS Range"
++msgstr ""
++
++#: ../semanage/seobject.py:590
++#, python-format
++msgid "You must add at least one role for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
++#, python-format
++msgid "Could not check if SELinux user %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:600
++#, python-format
++msgid "SELinux user %s is already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:604
++#, python-format
++msgid "Could not create SELinux user for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:613
++#, python-format
++msgid "Could not add role %s for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:622
++#, python-format
++msgid "Could not set MLS level for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:625
++#, python-format
++msgid "Could not add prefix %s for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:628
++#, python-format
++msgid "Could not extract key for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:632
++#, python-format
++msgid "Could not add SELinux user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:655
++msgid "Requires prefix, roles, level or range"
++msgstr ""
++
++#: ../semanage/seobject.py:657
++msgid "Requires prefix or roles"
++msgstr ""
++
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
++#, python-format
++msgid "SELinux user %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:671
++#, python-format
++msgid "Could not query user for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:698
++#, python-format
++msgid "Could not modify SELinux user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:731
++#, python-format
++msgid "SELinux user %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:735
++#, python-format
++msgid "Could not delete SELinux user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:758
++msgid "Could not list SELinux users"
++msgstr ""
++
++#: ../semanage/seobject.py:764
++#, python-format
++msgid "Could not list roles for user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:777
++msgid "Labeling"
++msgstr ""
++
++#: ../semanage/seobject.py:777
++msgid "MLS/"
++msgstr ""
++
++#: ../semanage/seobject.py:778
++msgid "Prefix"
++msgstr ""
++
++#: ../semanage/seobject.py:778
++msgid "MCS Level"
++msgstr ""
++
++#: ../semanage/seobject.py:778
++msgid "MCS Range"
++msgstr ""
++
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
++msgid "SELinux Roles"
++msgstr ""
++
++#: ../semanage/seobject.py:798
++msgid "Protocol udp or tcp is required"
++msgstr ""
++
++#: ../semanage/seobject.py:800
++msgid "Port is required"
++msgstr ""
++
++#: ../semanage/seobject.py:811
++#, python-format
++msgid "Could not create a key for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:822
++msgid "Type is required"
++msgstr ""
++
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
++#, python-format
++msgid "Could not check if port %s/%s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:830
++#, python-format
++msgid "Port %s/%s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:834
++#, python-format
++msgid "Could not create port for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:840
++#, python-format
++msgid "Could not create context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:844
++#, python-format
++msgid "Could not set user in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:848
++#, python-format
++msgid "Could not set role in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:852
++#, python-format
++msgid "Could not set type in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:857
++#, python-format
++msgid "Could not set mls fields in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:861
++#, python-format
++msgid "Could not set port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:865
++#, python-format
++msgid "Could not add port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
++msgid "Requires setype or serange"
++msgstr ""
++
++#: ../semanage/seobject.py:881
++msgid "Requires setype"
++msgstr ""
++
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
++#, python-format
++msgid "Port %s/%s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:893
++#, python-format
++msgid "Could not query port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:904
++#, python-format
++msgid "Could not modify port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:917
++msgid "Could not list the ports"
++msgstr ""
++
++#: ../semanage/seobject.py:933
++#, python-format
++msgid "Could not delete the port %s"
++msgstr ""
++
++#: ../semanage/seobject.py:950
++#, python-format
++msgid "Port %s/%s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:954
++#, python-format
++msgid "Could not delete port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
++msgid "Could not list ports"
++msgstr ""
++
++#: ../semanage/seobject.py:1013
++msgid "SELinux Port Type"
++msgstr ""
++
++#: ../semanage/seobject.py:1013
++msgid "Proto"
++msgstr ""
++
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
++msgid "Port Number"
++msgstr ""
++
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
++msgid "Node Address is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
++msgid "Node Netmask is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
++msgid "Unknown or missing protocol"
++msgstr ""
++
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
++msgid "SELinux Type is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
++#, python-format
++msgid "Could not create key for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
++msgid "Could not check if addr %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1060
++#, python-format
++msgid "Addr %s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1064
++#, python-format
++msgid "Could not create addr for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
++#, python-format
++msgid "Could not create context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1073
++#, python-format
++msgid "Could not set mask for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1078
++#, python-format
++msgid "Could not set user in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1082
++#, python-format
++msgid "Could not set role in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1086
++#, python-format
++msgid "Could not set type in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1091
++#, python-format
++msgid "Could not set mls fields in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1095
++#, python-format
++msgid "Could not set addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1099
++#, python-format
++msgid "Could not add addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
++msgid "Addr %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1139
++#, python-format
++msgid "Could not query addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1150
++#, python-format
++msgid "Could not modify addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1188
++#, python-format
++msgid "Addr %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1192
++#, python-format
++msgid "Could not delete addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1208
++msgid "Could not list addrs"
++msgstr ""
++
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
++#, python-format
++msgid "Could not check if interface %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1262
++#, python-format
++msgid "Interface %s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1266
++#, python-format
++msgid "Could not create interface for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1275
++#, python-format
++msgid "Could not set user in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1279
++#, python-format
++msgid "Could not set role in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1283
++#, python-format
++msgid "Could not set type in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1288
++#, python-format
++msgid "Could not set mls fields in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1292
++#, python-format
++msgid "Could not set interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1296
++#, python-format
++msgid "Could not set message context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1300
++#, python-format
++msgid "Could not add interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
++#, python-format
++msgid "Interface %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1327
++#, python-format
++msgid "Could not query interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1338
++#, python-format
++msgid "Could not modify interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1363
++#, python-format
++msgid "Interface %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1367
++#, python-format
++msgid "Could not delete interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1383
++msgid "Could not list interfaces"
++msgstr ""
++
++#: ../semanage/seobject.py:1393
++msgid "SELinux Interface"
++msgstr ""
++
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
++msgid "Context"
++msgstr ""
++
++#: ../semanage/seobject.py:1417
++#, python-format
++msgid "Could not set user in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1421
++#, python-format
++msgid "Could not set role in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
++#, python-format
++msgid "Could not set mls fields in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1432
++msgid "Invalid file specification"
++msgstr ""
++
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
++#, python-format
++msgid "Could not check if file context for %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1457
++#, python-format
++msgid "File context for %s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1461
++#, python-format
++msgid "Could not create file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1469
++#, python-format
++msgid "Could not set type in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
++#, python-format
++msgid "Could not set file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1483
++#, python-format
++msgid "Could not add file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1497
++msgid "Requires setype, serange or seuser"
++msgstr ""
++
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
++#, python-format
++msgid "File context for %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1516
++#, python-format
++msgid "Could not query file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1542
++#, python-format
++msgid "Could not modify file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1556
++msgid "Could not list the file contexts"
++msgstr ""
++
++#: ../semanage/seobject.py:1570
++#, python-format
++msgid "Could not delete the file context %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1588
++#, python-format
++msgid "File context for %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1594
++#, python-format
++msgid "Could not delete file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1609
++msgid "Could not list file contexts"
++msgstr ""
++
++#: ../semanage/seobject.py:1613
++msgid "Could not list local file contexts"
++msgstr ""
++
++#: ../semanage/seobject.py:1632
++msgid "SELinux fcontext"
++msgstr ""
++
++#: ../semanage/seobject.py:1632
++msgid "type"
++msgstr ""
++
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
++#, python-format
++msgid "Could not check if boolean %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
++#, python-format
++msgid "Boolean %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1668
++#, python-format
++msgid "Could not query file context %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1673
++#, python-format
++msgid "You must specify one of the following values: %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1677
++#, python-format
++msgid "Could not set active value of boolean %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1680
++#, python-format
++msgid "Could not modify boolean %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1698
++#, python-format
++msgid "Bad format %s: Record %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1721
++#, python-format
++msgid "Boolean %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1725
++#, python-format
++msgid "Could not delete boolean %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
++msgid "Could not list booleans"
++msgstr ""
++
++#: ../semanage/seobject.py:1773
++msgid "unknown"
++msgstr ""
++
++#: ../semanage/seobject.py:1776
++msgid "off"
++msgstr ""
++
++#: ../semanage/seobject.py:1776
++msgid "on"
++msgstr ""
++
++#: ../semanage/seobject.py:1785
++msgid "SELinux boolean"
++msgstr ""
++
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
++msgid "Description"
++msgstr ""
++
++#: ../newrole/newrole.c:198
++#, c-format
++msgid "failed to set PAM_TTY\n"
++msgstr ""
++
++#: ../newrole/newrole.c:287
++#, c-format
++msgid "newrole: service name configuration hashtable overflow\n"
++msgstr ""
++
++#: ../newrole/newrole.c:297
++#, c-format
++msgid "newrole:  %s:  error on line %lu.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:436
++#, c-format
++msgid "cannot find valid entry in the passwd file.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:447
++#, c-format
++msgid "Out of memory!\n"
++msgstr ""
++
++#: ../newrole/newrole.c:452
++#, c-format
++msgid "Error!  Shell is not valid.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:509
++#, c-format
++msgid "Unable to clear environment\n"
++msgstr ""
++
++#: ../newrole/newrole.c:556 ../newrole/newrole.c:634
++#, c-format
++msgid "Error initializing capabilities, aborting.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:564 ../newrole/newrole.c:640
++#, c-format
++msgid "Error setting capabilities, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:570
++#, c-format
++msgid "Error setting KEEPCAPS, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:578 ../newrole/newrole.c:652
++#, c-format
++msgid "Error dropping capabilities, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:584 ../newrole/newrole.c:683
++#, c-format
++msgid "Error changing uid, aborting.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
++#, c-format
++msgid "Error resetting KEEPCAPS, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:597
++#, c-format
++msgid "Error dropping SETUID capability, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:602 ../newrole/newrole.c:657
++#, c-format
++msgid "Error freeing caps\n"
++msgstr ""
++
++#: ../newrole/newrole.c:701
++#, c-format
++msgid "Error connecting to audit system.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:707
++#, c-format
++msgid "Error allocating memory.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:714
++#, c-format
++msgid "Error sending audit message.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
++#, c-format
++msgid "Could not determine enforcing mode.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:765
++#, c-format
++msgid "Error!  Could not open %s.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:771
++#, c-format
++msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:781
++#, c-format
++msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:791
++#, c-format
++msgid "%s!  Could not set new context for %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:838
++#, c-format
++msgid "%s changed labels.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:844
++#, c-format
++msgid "Warning! Could not restore context for %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:901
++#, c-format
++msgid "Error: multiple roles specified\n"
++msgstr ""
++
++#: ../newrole/newrole.c:909
++#, c-format
++msgid "Error: multiple types specified\n"
++msgstr ""
++
++#: ../newrole/newrole.c:916
++#, c-format
++msgid "Sorry, -l may be used with SELinux MLS support.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:921
++#, c-format
++msgid "Error: multiple levels specified\n"
++msgstr ""
++
++#: ../newrole/newrole.c:931
++#, c-format
++msgid "Error: you are not allowed to change levels on a non secure terminal \n"
++msgstr ""
++
++#: ../newrole/newrole.c:957
++#, c-format
++msgid "Couldn't get default type.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:967
++#, c-format
++msgid "failed to get new context.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:974
++#, c-format
++msgid "failed to set new role %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:981
++#, c-format
++msgid "failed to set new type %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:991
++#, c-format
++msgid "failed to build new range with level %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:996
++#, c-format
++msgid "failed to set new range %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1004
++#, c-format
++msgid "failed to convert new context to string\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1009
++#, c-format
++msgid "%s is not a valid context\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1016
++#, c-format
++msgid "Unable to allocate memory for new_context"
++msgstr ""
++
++#: ../newrole/newrole.c:1042
++#, c-format
++msgid "Unable to obtain empty signal set\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1050
++#, c-format
++msgid "Unable to set SIGHUP handler\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1116
++#, c-format
++msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1133
++#, c-format
++msgid "failed to get old_context.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1140
++#, c-format
++msgid "Warning!  Could not retrieve tty information.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1161
++#, c-format
++msgid "error on reading PAM service configuration.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1196
++#, c-format
++msgid "newrole: incorrect password for %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1223
++#, c-format
++msgid "newrole: failure forking: %s"
++msgstr ""
++
++#: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
++#, c-format
++msgid "Unable to restore tty label...\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
++#, c-format
++msgid "Failed to close tty properly\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1287
++#, c-format
++msgid "Could not close descriptors.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1314
++#, c-format
++msgid "Error allocating shell's argv0.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1346
++#, c-format
++msgid "Unable to restore the environment, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1357
++msgid "failed to exec shell\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:22
++#, c-format
++msgid "usage:  %s [-qi]\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:71
++#, c-format
++msgid "%s:  Policy is already loaded and initial load requested\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:80
++#, c-format
++msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:90
++#, c-format
++msgid "%s:  Can't load policy:  %s\n"
++msgstr ""
++
++#: ../scripts/chcat:92 ../scripts/chcat:169
++msgid "Requires at least one category"
++msgstr ""
++
++#: ../scripts/chcat:106 ../scripts/chcat:183
++#, c-format
++msgid "Can not modify sensitivity levels using '+' on %s"
++msgstr ""
++
++#: ../scripts/chcat:110
++#, c-format
++msgid "%s is already in %s"
++msgstr ""
++
++#: ../scripts/chcat:188 ../scripts/chcat:198
++#, c-format
++msgid "%s is not in %s"
++msgstr ""
++
++#: ../scripts/chcat:267 ../scripts/chcat:272
++msgid "Can not combine +/- with other types of categories"
++msgstr ""
++
++#: ../scripts/chcat:319
++msgid "Can not have multiple sensitivities"
++msgstr ""
++
++#: ../scripts/chcat:325
++#, c-format
++msgid "Usage %s CATEGORY File ..."
++msgstr ""
++
++#: ../scripts/chcat:326
++#, c-format
++msgid "Usage %s -l CATEGORY user ..."
++msgstr ""
++
++#: ../scripts/chcat:327
++#, c-format
++msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
++msgstr ""
++
++#: ../scripts/chcat:328
++#, c-format
++msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
++msgstr ""
++
++#: ../scripts/chcat:329
++#, c-format
++msgid "Usage %s -d File ..."
++msgstr ""
++
++#: ../scripts/chcat:330
++#, c-format
++msgid "Usage %s -l -d user ..."
++msgstr ""
++
++#: ../scripts/chcat:331
++#, c-format
++msgid "Usage %s -L"
++msgstr ""
++
++#: ../scripts/chcat:332
++#, c-format
++msgid "Usage %s -L -l user"
++msgstr ""
++
++#: ../scripts/chcat:333
++msgid "Use -- to end option list.  For example"
++msgstr ""
++
++#: ../scripts/chcat:334
++msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
++msgstr ""
++
++#: ../scripts/chcat:335
++msgid "chcat -l +CompanyConfidential juser"
++msgstr ""
++
++#: ../scripts/chcat:399
++#, c-format
++msgid "Options Error %s "
++msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Nils-Christoph Fiedler <ncfiedler@fedoraproject.org>"
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Brukerprogramm"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Allens"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Inbinnen"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Netprogramme"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Speele"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/nds.po policycoreutils-2.0.85/po/nds.po
+--- nsapolicycoreutils/po/nds.po       1969-12-31 19:00:00.000000000 -0500
++++ policycoreutils-2.0.85/po/nds.po   2011-02-18 16:03:41.436976206 -0500
+@@ -0,0 +1,3363 @@
++# translation of policycoreutils.HEAD.po to
++# translation of policycoreutils.HEAD.nds.po to
++# Low German translation of policycoreutils.
++# Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
++#
++#
++# Nils-Christoph Fiedler <ncfiedler@fedoraproject.org>, 2010.
++msgid ""
++msgstr ""
++"Project-Id-Version: policycoreutils.HEAD.nds\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-12-05 15:46+0100\n"
++"Last-Translator: Nils-Christoph Fiedler <ncfiedler@gnome.org>\n"
++"Language-Team: Fedora Low German <nds-lowgerman@lists.sourceforge.net>\n"
++"Language: nds\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"
++"X-Poedit-Language: Low German\n"
++"X-Generator: KBabel 1.11.4\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
++#: ../run_init/run_init.c:67
++msgid ""
++"USAGE: run_init <script> <args ...>\n"
++"  where: <script> is the name of the init script to run,\n"
++"         <args ...> are the arguments to that script."
++msgstr ""
++
++#: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
++#, c-format
++msgid "failed to initialize PAM\n"
++msgstr ""
++
++#: ../run_init/run_init.c:139
++#, c-format
++msgid "failed to get account information\n"
++msgstr ""
++
++#: ../run_init/run_init.c:162 ../newrole/newrole.c:338
++msgid "Password:"
++msgstr ""
++
++#: ../run_init/run_init.c:197 ../newrole/newrole.c:363
++#, c-format
++msgid "Cannot find your entry in the shadow passwd file.\n"
++msgstr ""
++
++#: ../run_init/run_init.c:203 ../newrole/newrole.c:370
++#, c-format
++msgid "getpass cannot open /dev/tty\n"
++msgstr ""
++
++#: ../run_init/run_init.c:275
++#, c-format
++msgid "run_init: incorrect password for %s\n"
++msgstr ""
++
++#: ../run_init/run_init.c:309
++#, c-format
++msgid "Could not open file %s\n"
++msgstr ""
++
++#: ../run_init/run_init.c:336
++#, c-format
++msgid "No context in file %s\n"
++msgstr ""
++
++#: ../run_init/run_init.c:361
++#, c-format
++msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
++msgstr ""
++
++#: ../run_init/run_init.c:380
++#, c-format
++msgid "authentication failed.\n"
++msgstr ""
++
++#: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
++#, c-format
++msgid "Could not set exec context to %s.\n"
++msgstr ""
++
++#: ../audit2allow/audit2allow:217
++msgid "******************** IMPORTANT ***********************\n"
++msgstr ""
++
++#: ../audit2allow/audit2allow:218
++msgid "To make this policy package active, execute:"
++msgstr ""
++
++#: ../semanage/seobject.py:48
++msgid "Could not create semanage handle"
++msgstr ""
++
++#: ../semanage/seobject.py:55
++msgid "SELinux policy is not managed or store cannot be accessed."
++msgstr ""
++
++#: ../semanage/seobject.py:60
++msgid "Cannot read policy store."
++msgstr ""
++
++#: ../semanage/seobject.py:65
++msgid "Could not establish semanage connection"
++msgstr ""
++
++#: ../semanage/seobject.py:70
++msgid "Could not test MLS enabled status"
++msgstr ""
++
++#: ../semanage/seobject.py:142 ../semanage/seobject.py:146
++msgid "global"
++msgstr ""
++
++#: ../semanage/seobject.py:206
++#, python-format
++msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
++msgstr ""
++
++#: ../semanage/seobject.py:239
++msgid "Level"
++msgstr ""
++
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
++msgid "Translation"
++msgstr ""
++
++#: ../semanage/seobject.py:247 ../semanage/seobject.py:261
++#, python-format
++msgid "Translations can not contain spaces '%s' "
++msgstr ""
++
++#: ../semanage/seobject.py:250
++#, python-format
++msgid "Invalid Level '%s' "
++msgstr ""
++
++#: ../semanage/seobject.py:253
++#, python-format
++msgid "%s already defined in translations"
++msgstr ""
++
++#: ../semanage/seobject.py:265
++#, python-format
++msgid "%s not defined in translations"
++msgstr ""
++
++#: ../semanage/seobject.py:290
++msgid "Not yet implemented"
++msgstr ""
++
++#: ../semanage/seobject.py:294
++msgid "Semanage transaction already in progress"
++msgstr ""
++
++#: ../semanage/seobject.py:303
++msgid "Could not start semanage transaction"
++msgstr ""
++
++#: ../semanage/seobject.py:309
++msgid "Could not commit semanage transaction"
++msgstr ""
++
++#: ../semanage/seobject.py:313
++msgid "Semanage transaction not in progress"
++msgstr ""
++
++#: ../semanage/seobject.py:325
++msgid "Could not list SELinux modules"
++msgstr ""
++
++#: ../semanage/seobject.py:336
++msgid "Permissive Types"
++msgstr ""
++
++#: ../semanage/seobject.py:366
++#, python-format
++msgid "Could not set permissive domain %s (module installation failed)"
++msgstr ""
++
++#: ../semanage/seobject.py:380
++#, python-format
++msgid "Could not remove permissive domain %s (remove failed)"
++msgstr ""
++
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
++#, python-format
++msgid "Could not create a key for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
++#, python-format
++msgid "Could not check if login mapping for %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:412
++#, python-format
++msgid "Login mapping for %s is already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:417
++#, python-format
++msgid "Linux Group %s does not exist"
++msgstr ""
++
++#: ../semanage/seobject.py:422
++#, python-format
++msgid "Linux User %s does not exist"
++msgstr ""
++
++#: ../semanage/seobject.py:426
++#, python-format
++msgid "Could not create login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
++#, python-format
++msgid "Could not set name for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
++#, python-format
++msgid "Could not set MLS range for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:439
++#, python-format
++msgid "Could not set SELinux user for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:443
++#, python-format
++msgid "Could not add login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
++msgid "add SELinux user mapping"
++msgstr ""
++
++#: ../semanage/seobject.py:462
++msgid "Requires seuser or serange"
++msgstr ""
++
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
++#, python-format
++msgid "Login mapping for %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:476
++#, python-format
++msgid "Could not query seuser for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:492
++#, python-format
++msgid "Could not modify login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:524
++#, python-format
++msgid "Login mapping for %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:528
++#, python-format
++msgid "Could not delete login mapping for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:551
++msgid "Could not list login mappings"
++msgstr ""
++
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
++msgid "Login Name"
++msgstr ""
++
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
++msgid "SELinux User"
++msgstr ""
++
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
++msgid "MLS/MCS Range"
++msgstr ""
++
++#: ../semanage/seobject.py:590
++#, python-format
++msgid "You must add at least one role for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
++#, python-format
++msgid "Could not check if SELinux user %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:600
++#, python-format
++msgid "SELinux user %s is already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:604
++#, python-format
++msgid "Could not create SELinux user for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:613
++#, python-format
++msgid "Could not add role %s for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:622
++#, python-format
++msgid "Could not set MLS level for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:625
++#, python-format
++msgid "Could not add prefix %s for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:628
++#, python-format
++msgid "Could not extract key for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:632
++#, python-format
++msgid "Could not add SELinux user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:655
++msgid "Requires prefix, roles, level or range"
++msgstr ""
++
++#: ../semanage/seobject.py:657
++msgid "Requires prefix or roles"
++msgstr ""
++
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
++#, python-format
++msgid "SELinux user %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:671
++#, python-format
++msgid "Could not query user for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:698
++#, python-format
++msgid "Could not modify SELinux user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:731
++#, python-format
++msgid "SELinux user %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:735
++#, python-format
++msgid "Could not delete SELinux user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:758
++msgid "Could not list SELinux users"
++msgstr ""
++
++#: ../semanage/seobject.py:764
++#, python-format
++msgid "Could not list roles for user %s"
++msgstr ""
++
++#: ../semanage/seobject.py:777
++msgid "Labeling"
++msgstr ""
++
++#: ../semanage/seobject.py:777
++msgid "MLS/"
++msgstr ""
++
++#: ../semanage/seobject.py:778
++msgid "Prefix"
++msgstr ""
++
++#: ../semanage/seobject.py:778
++msgid "MCS Level"
++msgstr ""
++
++#: ../semanage/seobject.py:778
++msgid "MCS Range"
++msgstr ""
++
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
++msgid "SELinux Roles"
++msgstr ""
++
++#: ../semanage/seobject.py:798
++msgid "Protocol udp or tcp is required"
++msgstr ""
++
++#: ../semanage/seobject.py:800
++msgid "Port is required"
++msgstr ""
++
++#: ../semanage/seobject.py:811
++#, python-format
++msgid "Could not create a key for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:822
++msgid "Type is required"
++msgstr ""
++
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
++#, python-format
++msgid "Could not check if port %s/%s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:830
++#, python-format
++msgid "Port %s/%s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:834
++#, python-format
++msgid "Could not create port for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:840
++#, python-format
++msgid "Could not create context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:844
++#, python-format
++msgid "Could not set user in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:848
++#, python-format
++msgid "Could not set role in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:852
++#, python-format
++msgid "Could not set type in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:857
++#, python-format
++msgid "Could not set mls fields in port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:861
++#, python-format
++msgid "Could not set port context for %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:865
++#, python-format
++msgid "Could not add port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
++msgid "Requires setype or serange"
++msgstr ""
++
++#: ../semanage/seobject.py:881
++msgid "Requires setype"
++msgstr ""
++
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
++#, python-format
++msgid "Port %s/%s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:893
++#, python-format
++msgid "Could not query port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:904
++#, python-format
++msgid "Could not modify port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:917
++msgid "Could not list the ports"
++msgstr ""
++
++#: ../semanage/seobject.py:933
++#, python-format
++msgid "Could not delete the port %s"
++msgstr ""
++
++#: ../semanage/seobject.py:950
++#, python-format
++msgid "Port %s/%s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:954
++#, python-format
++msgid "Could not delete port %s/%s"
++msgstr ""
++
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
++msgid "Could not list ports"
++msgstr ""
++
++#: ../semanage/seobject.py:1013
++msgid "SELinux Port Type"
++msgstr ""
++
++#: ../semanage/seobject.py:1013
++msgid "Proto"
++msgstr ""
++
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
++msgid "Port Number"
++msgstr ""
++
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
++msgid "Node Address is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
++msgid "Node Netmask is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
++msgid "Unknown or missing protocol"
++msgstr ""
++
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
++msgid "SELinux Type is required"
++msgstr ""
++
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
++#, python-format
++msgid "Could not create key for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
++msgid "Could not check if addr %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1060
++#, python-format
++msgid "Addr %s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1064
++#, python-format
++msgid "Could not create addr for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
++#, python-format
++msgid "Could not create context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1073
++#, python-format
++msgid "Could not set mask for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1078
++#, python-format
++msgid "Could not set user in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1082
++#, python-format
++msgid "Could not set role in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1086
++#, python-format
++msgid "Could not set type in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1091
++#, python-format
++msgid "Could not set mls fields in addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1095
++#, python-format
++msgid "Could not set addr context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1099
++#, python-format
++msgid "Could not add addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
++msgid "Addr %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1139
++#, python-format
++msgid "Could not query addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1150
++#, python-format
++msgid "Could not modify addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1188
++#, python-format
++msgid "Addr %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1192
++#, python-format
++msgid "Could not delete addr %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1208
++msgid "Could not list addrs"
++msgstr ""
++
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
++#, python-format
++msgid "Could not check if interface %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1262
++#, python-format
++msgid "Interface %s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1266
++#, python-format
++msgid "Could not create interface for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1275
++#, python-format
++msgid "Could not set user in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1279
++#, python-format
++msgid "Could not set role in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1283
++#, python-format
++msgid "Could not set type in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1288
++#, python-format
++msgid "Could not set mls fields in interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1292
++#, python-format
++msgid "Could not set interface context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1296
++#, python-format
++msgid "Could not set message context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1300
++#, python-format
++msgid "Could not add interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
++#, python-format
++msgid "Interface %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1327
++#, python-format
++msgid "Could not query interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1338
++#, python-format
++msgid "Could not modify interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1363
++#, python-format
++msgid "Interface %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1367
++#, python-format
++msgid "Could not delete interface %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1383
++msgid "Could not list interfaces"
++msgstr ""
++
++#: ../semanage/seobject.py:1393
++msgid "SELinux Interface"
++msgstr ""
++
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
++msgid "Context"
++msgstr ""
++
++#: ../semanage/seobject.py:1417
++#, python-format
++msgid "Could not set user in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1421
++#, python-format
++msgid "Could not set role in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
++#, python-format
++msgid "Could not set mls fields in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1432
++msgid "Invalid file specification"
++msgstr ""
++
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
++#, python-format
++msgid "Could not check if file context for %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1457
++#, python-format
++msgid "File context for %s already defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1461
++#, python-format
++msgid "Could not create file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1469
++#, python-format
++msgid "Could not set type in file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
++#, python-format
++msgid "Could not set file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1483
++#, python-format
++msgid "Could not add file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1497
++msgid "Requires setype, serange or seuser"
++msgstr ""
++
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
++#, python-format
++msgid "File context for %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1516
++#, python-format
++msgid "Could not query file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1542
++#, python-format
++msgid "Could not modify file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1556
++msgid "Could not list the file contexts"
++msgstr ""
++
++#: ../semanage/seobject.py:1570
++#, python-format
++msgid "Could not delete the file context %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1588
++#, python-format
++msgid "File context for %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1594
++#, python-format
++msgid "Could not delete file context for %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1609
++msgid "Could not list file contexts"
++msgstr ""
++
++#: ../semanage/seobject.py:1613
++msgid "Could not list local file contexts"
++msgstr ""
++
++#: ../semanage/seobject.py:1632
++msgid "SELinux fcontext"
++msgstr ""
++
++#: ../semanage/seobject.py:1632
++msgid "type"
++msgstr ""
++
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
++#, python-format
++msgid "Could not check if boolean %s is defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
++#, python-format
++msgid "Boolean %s is not defined"
++msgstr ""
++
++#: ../semanage/seobject.py:1668
++#, python-format
++msgid "Could not query file context %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1673
++#, python-format
++msgid "You must specify one of the following values: %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1677
++#, python-format
++msgid "Could not set active value of boolean %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1680
++#, python-format
++msgid "Could not modify boolean %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1698
++#, python-format
++msgid "Bad format %s: Record %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1721
++#, python-format
++msgid "Boolean %s is defined in policy, cannot be deleted"
++msgstr ""
++
++#: ../semanage/seobject.py:1725
++#, python-format
++msgid "Could not delete boolean %s"
++msgstr ""
++
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
++msgid "Could not list booleans"
++msgstr ""
++
++#: ../semanage/seobject.py:1773
++msgid "unknown"
++msgstr ""
++
++#: ../semanage/seobject.py:1776
++msgid "off"
++msgstr ""
++
++#: ../semanage/seobject.py:1776
++msgid "on"
++msgstr ""
++
++#: ../semanage/seobject.py:1785
++msgid "SELinux boolean"
++msgstr ""
++
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
++msgid "Description"
++msgstr ""
++
++#: ../newrole/newrole.c:198
++#, c-format
++msgid "failed to set PAM_TTY\n"
++msgstr ""
++
++#: ../newrole/newrole.c:287
++#, c-format
++msgid "newrole: service name configuration hashtable overflow\n"
++msgstr ""
++
++#: ../newrole/newrole.c:297
++#, c-format
++msgid "newrole:  %s:  error on line %lu.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:436
++#, c-format
++msgid "cannot find valid entry in the passwd file.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:447
++#, c-format
++msgid "Out of memory!\n"
++msgstr ""
++
++#: ../newrole/newrole.c:452
++#, c-format
++msgid "Error!  Shell is not valid.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:509
++#, c-format
++msgid "Unable to clear environment\n"
++msgstr ""
++
++#: ../newrole/newrole.c:556 ../newrole/newrole.c:634
++#, c-format
++msgid "Error initializing capabilities, aborting.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:564 ../newrole/newrole.c:640
++#, c-format
++msgid "Error setting capabilities, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:570
++#, c-format
++msgid "Error setting KEEPCAPS, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:578 ../newrole/newrole.c:652
++#, c-format
++msgid "Error dropping capabilities, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:584 ../newrole/newrole.c:683
++#, c-format
++msgid "Error changing uid, aborting.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
++#, c-format
++msgid "Error resetting KEEPCAPS, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:597
++#, c-format
++msgid "Error dropping SETUID capability, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:602 ../newrole/newrole.c:657
++#, c-format
++msgid "Error freeing caps\n"
++msgstr ""
++
++#: ../newrole/newrole.c:701
++#, c-format
++msgid "Error connecting to audit system.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:707
++#, c-format
++msgid "Error allocating memory.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:714
++#, c-format
++msgid "Error sending audit message.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
++#, c-format
++msgid "Could not determine enforcing mode.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:765
++#, c-format
++msgid "Error!  Could not open %s.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:771
++#, c-format
++msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:781
++#, c-format
++msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:791
++#, c-format
++msgid "%s!  Could not set new context for %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:838
++#, c-format
++msgid "%s changed labels.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:844
++#, c-format
++msgid "Warning! Could not restore context for %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:901
++#, c-format
++msgid "Error: multiple roles specified\n"
++msgstr ""
++
++#: ../newrole/newrole.c:909
++#, c-format
++msgid "Error: multiple types specified\n"
++msgstr ""
++
++#: ../newrole/newrole.c:916
++#, c-format
++msgid "Sorry, -l may be used with SELinux MLS support.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:921
++#, c-format
++msgid "Error: multiple levels specified\n"
++msgstr ""
++
++#: ../newrole/newrole.c:931
++#, c-format
++msgid "Error: you are not allowed to change levels on a non secure terminal \n"
++msgstr ""
++
++#: ../newrole/newrole.c:957
++#, c-format
++msgid "Couldn't get default type.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:967
++#, c-format
++msgid "failed to get new context.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:974
++#, c-format
++msgid "failed to set new role %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:981
++#, c-format
++msgid "failed to set new type %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:991
++#, c-format
++msgid "failed to build new range with level %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:996
++#, c-format
++msgid "failed to set new range %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1004
++#, c-format
++msgid "failed to convert new context to string\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1009
++#, c-format
++msgid "%s is not a valid context\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1016
++#, c-format
++msgid "Unable to allocate memory for new_context"
++msgstr ""
++
++#: ../newrole/newrole.c:1042
++#, c-format
++msgid "Unable to obtain empty signal set\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1050
++#, c-format
++msgid "Unable to set SIGHUP handler\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1116
++#, c-format
++msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1133
++#, c-format
++msgid "failed to get old_context.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1140
++#, c-format
++msgid "Warning!  Could not retrieve tty information.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1161
++#, c-format
++msgid "error on reading PAM service configuration.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1196
++#, c-format
++msgid "newrole: incorrect password for %s\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1223
++#, c-format
++msgid "newrole: failure forking: %s"
++msgstr ""
++
++#: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
++#, c-format
++msgid "Unable to restore tty label...\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
++#, c-format
++msgid "Failed to close tty properly\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1287
++#, c-format
++msgid "Could not close descriptors.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1314
++#, c-format
++msgid "Error allocating shell's argv0.\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1346
++#, c-format
++msgid "Unable to restore the environment, aborting\n"
++msgstr ""
++
++#: ../newrole/newrole.c:1357
++msgid "failed to exec shell\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:22
++#, c-format
++msgid "usage:  %s [-qi]\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:71
++#, c-format
++msgid "%s:  Policy is already loaded and initial load requested\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:80
++#, c-format
++msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
++msgstr ""
++
++#: ../load_policy/load_policy.c:90
++#, c-format
++msgid "%s:  Can't load policy:  %s\n"
++msgstr ""
++
++#: ../scripts/chcat:92 ../scripts/chcat:169
++msgid "Requires at least one category"
++msgstr ""
++
++#: ../scripts/chcat:106 ../scripts/chcat:183
++#, c-format
++msgid "Can not modify sensitivity levels using '+' on %s"
++msgstr ""
++
++#: ../scripts/chcat:110
++#, c-format
++msgid "%s is already in %s"
++msgstr ""
++
++#: ../scripts/chcat:188 ../scripts/chcat:198
++#, c-format
++msgid "%s is not in %s"
++msgstr ""
++
++#: ../scripts/chcat:267 ../scripts/chcat:272
++msgid "Can not combine +/- with other types of categories"
++msgstr ""
++
++#: ../scripts/chcat:319
++msgid "Can not have multiple sensitivities"
++msgstr ""
++
++#: ../scripts/chcat:325
++#, c-format
++msgid "Usage %s CATEGORY File ..."
++msgstr ""
++
++#: ../scripts/chcat:326
++#, c-format
++msgid "Usage %s -l CATEGORY user ..."
++msgstr ""
++
++#: ../scripts/chcat:327
++#, c-format
++msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
++msgstr ""
++
++#: ../scripts/chcat:328
++#, c-format
++msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
++msgstr ""
++
++#: ../scripts/chcat:329
++#, c-format
++msgid "Usage %s -d File ..."
++msgstr ""
++
++#: ../scripts/chcat:330
++#, c-format
++msgid "Usage %s -l -d user ..."
++msgstr ""
++
++#: ../scripts/chcat:331
++#, c-format
++msgid "Usage %s -L"
++msgstr ""
++
++#: ../scripts/chcat:332
++#, c-format
++msgid "Usage %s -L -l user"
++msgstr ""
++
++#: ../scripts/chcat:333
++msgid "Use -- to end option list.  For example"
++msgstr ""
++
++#: ../scripts/chcat:334
++msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
++msgstr ""
++
++#: ../scripts/chcat:335
++msgid "chcat -l +CompanyConfidential juser"
++msgstr ""
++
++#: ../scripts/chcat:399
++#, c-format
++msgid "Options Error %s "
++msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Nils-Christoph Fiedler <ncfiedler@fedoraproject.org>"
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Brukerprogramm"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Allens"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Inbinnen"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Netprogramme"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Speele"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/nl.po policycoreutils-2.0.85/po/nl.po
+--- nsapolicycoreutils/po/nl.po        2011-02-17 15:11:25.137734670 -0500
++++ policycoreutils-2.0.85/po/nl.po    2011-02-18 16:03:41.436976207 -0500
+@@ -1,19 +1,42 @@
++# translation of policycoreutils.HEAD.nl.po to Dutch
+ # translation of policycoreutils to Dutch
+ # This file is distributed under the same license as the policycoreutils package.
+-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+-#
++# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+ # Peter van Egdom <p.van.egdom@gmail.com>, 2006, 2007, 2008.
++# R.E. van der Luit <nippur@fedoraproject.org>, 2009.
++# Geert Warrink <geert.warrink@onsnet.nu>, 2009, 2010.
++# Geert Warrink <geert.warrink@onsnet.nu>, 2009, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils\n"
++"Project-Id-Version: policycoreutils.HEAD.nl\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-08-10 15:45+0200\n"
+-"Last-Translator: Peter van Egdom <p.van.egdom@gmail.com>\n"
+-"Language-Team: Dutch <vertaling@nl.linux.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-14 14:01+0200\n"
++"Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n"
++"Language-Team: Fedora\n"
++"Language: nl\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+-"Content-Transfer-Encoding: 8bit\n"
++"Content-Transfer-Encoding: \n"
++"Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"X-Generator: Virtaal 0.6.1\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Configureer SELinux in een grafische omgeving"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux beheer"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Maak een SELinux tactiek module aan"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux tactiek generatie gereedschap"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -22,7 +45,8 @@
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+ "GEBRUIK: run_init <script> <argumenten ...>\n"
+-"  waar: <script> de naam is van het init script dat moet worden uitgevoerd,\n"
++"  waarin: <script> de naam is van het init script dat moet worden "
++"uitgevoerd,\n"
+ "        <argumenten ...> de argumenten zijn voor dat script."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+@@ -33,7 +57,7 @@
+ #: ../run_init/run_init.c:139
+ #, c-format
+ msgid "failed to get account information\n"
+-msgstr "verkrijgen van account-informatie is mislukt\n"
++msgstr "verkrijgen van account informatie is mislukt\n"
+ #: ../run_init/run_init.c:162 ../newrole/newrole.c:338
+ msgid "Password:"
+@@ -42,7 +66,7 @@
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr "Kan uw item in het shadow passwd bestand niet vinden.\n"
++msgstr "Kan jouw ingang in het schaduw passwd bestand niet vinden.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+@@ -67,7 +91,7 @@
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr "Sorry, run_init mag alleen worden gebruikt op een SELinux kernel.\n"
++msgstr "Sorry, run_init mag alleen worden gebruikt met een SELinux kernel.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+@@ -85,45 +109,45 @@
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "Om dit tactiek pakket te activeren, voer uit:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+-msgstr ""
++msgstr "Kan semanage handle niet creëren"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr "SELinux policy is niet beheerd of store kan niet worden benaderd."
++msgstr "SELinux tactiek is niet beheerd of krijg geen toegang tot opslag."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "Kan policy store niet lezen."
++msgstr "Kan tactiek opslag niet lezen."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+-msgstr "Kan semanage-connectie niet tot stand brengen"
++msgstr "Kan semanage verbinding niet tot stand brengen"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Kan MLS bereik niet instellen voor %s"
++msgstr "Kan MLS aangezet status niet testen"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "globaal"
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"Niet in staat om %s te openen: vertalingen zijn niet ondersteund op niet-MLS "
++"Niet in staat om %s te openen: vertalingen niet ondersteund op niet-MLS "
+ "machines: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "Niveau"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Vertaling"
+@@ -145,7 +169,7 @@
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s niet gedefinieerd in vertalingen"
++msgstr "%s is niet gedefinieerd in vertalingen"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+@@ -153,19 +177,19 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage transactie is al bezig"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+-msgstr "Kan semanage-transactie niet starten"
++msgstr "Kan semanage transactie niet starten"
+ #: ../semanage/seobject.py:309
+ msgid "Could not commit semanage transaction"
+-msgstr "Kan semanage-transactie niet uitvoeren"
++msgstr "Kan semanage transactie niet uitvoeren"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage transactie is niet bezig"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+@@ -173,746 +197,752 @@
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr "Permissive soorten"
++msgstr "Toelatende types"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "Kan toelatend domein %s niet instellen (module installatie mislukte)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Kan toelatend domein %s niet verwijderen (verwijderen mislukte)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Kan geen sleutel aanmaken voor %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr "Kan niet controleren of login mapping voor %s is gedefinieerd"
++msgstr "Kan niet controleren of inlog afbeelding voor %s is gedefinieerd"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "Login mapping voor %s is al gedefinieerd"
++msgstr "Inlog afbeelding voor %s is al gedefinieerd"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux groep %s bestaat niet"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux gebruiker %s bestaat niet"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr "Kan geen login mapping aanmaken voor %s"
++msgstr "Kan geen inlog afbeelding aanmaken voor %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Kan naam niet instellen voor %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr "Kan MLS bereik niet instellen voor %s"
++msgstr "Kan MLS reeks niet instellen voor %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Kan SELinux gebruiker niet instellen voor %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "Kan login mapping niet toevoegen voor %s"
++msgstr "Kan inlog afbeelding niet toevoegen voor %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr ""
++msgstr "voeg SELinux gebruiker afbeelding toe"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Vereist seuser of serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr "Login mapping voor %s is niet gedefinieerd"
++msgstr "Inlog afbeelding voor %s is niet gedefinieerd"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Kan seuser niet opvragen voor %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr "Kan login mapping niet veranderen voor %s"
++msgstr "Kan inlog afbeelding niet veranderen voor %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"Login mapping voor %s is gedefinieerd in policy, kan niet worden verwijderd"
++"Inlog afbeelding voor %s is gedefinieerd in tactiek, kan niet worden "
++"verwijderd"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr "Kan login mapping niet verwijderen voor %s"
++msgstr "Kan inlog afbeelding niet verwijderen voor %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr "Kan login mappings niet tonen"
++msgstr "Kan inlog afbeeldingen niet tonen"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "Inlog naam"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux gebruiker"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr "MLS/MCS bereik"
++msgstr "MLS/MCS reeks"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "U moet ten minste een rol voor %s toevoegen"
++msgstr "Je moet ten minste een rol voor %s toevoegen"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Kan niet controleren of SELinux gebruiker %s is gedefinieerd"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux gebruiker %s is al gedefinieerd"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Kan geen SELinux gebruiker aanmaken voor %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Kan rol %s niet toevoegen voor %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Kan MLS niveau niet instellen voor %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Kan prefix %s niet toevoegen voor %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+-msgstr "Kan sleutel niet uitpakken voor %s"
++msgstr "Kan sleutel niet extraheren voor %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Kan SELinux gebruiker %s niet toevoegen"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Vereist prefix, rollen, niveau of bereik"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Vereist prefix of rollen"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux gebruiker %s is niet gedefinieerd"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Kan gebruiker niet opvragen voor %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Kan SELinux gebruiker %s niet veranderen"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"SELinux gebruiker %s is gedefinieerd in policy, kan niet worden verwijderd"
++"SELinux gebruiker %s is gedefinieerd in tactiek, kan niet worden verwijderd"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Kan SELinux gebruiker %s niet verwijderen"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Kan SELinux gebruikers niet tonen"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Kan rollen voor gebruiker %s niet tonen"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Labelen"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefix"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS niveau"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr "MCS bereik"
++msgstr "MCS reeks"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "SELinux rollen"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Protocol udp of tcp is vereist"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Poort is vereist"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Kan geen sleutel aanmaken voor %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Type is vereist"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+-msgstr "Kan niet controleren of poort %s/%s is gedefinieerd"
++msgstr "Kan niet controleren of poort %s/%s gedefinieerd is"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Poort %s/%s is al gedefinieerd"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Kan geen poort aanmaken voor %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Kan geen context aanmaken voor %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Kan gebruiker in poort context niet instellen voor %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Kan rol in poort context niet instellen voor %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Kan type in poort context niet instellen voor %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Kan mls velden in poort context niet instellen voor %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Kan poort context niet instellen voor %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Kan poort %s/%s niet toevoegen"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Vereist setype of serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Vereist setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Poort %s/%s is niet gedefinieerd"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Kan poort %s/%s niet opvragen"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Kan poort %s/%s niet veranderen"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Kan poorten niet tonen"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Kan poort %s niet verwijderen"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "Poort %s/%s is gedefinieerd in policy, kan niet worden verwijderd"
++msgstr "Poort %s/%s is gedefinieerd in tactiek, kan niet worden verwijderd"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Kan poort %s/%s niet verwijderen"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Kan poorten niet tonen"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "SELinux poort type"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr "Poortnummer"
++msgstr "Poort nummer"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Poort is vereist"
++msgstr "Node adres is vereist"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Poort is vereist"
++msgstr "Node netmasker is vereist"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Onbekend of ontbrekend protocol"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux type is vereist"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Kan geen sleutel aanmaken voor %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Kan niet controleren of poort %s/%s is gedefinieerd"
++msgstr "Kan niet controleren of addr %s is gedefinieerd"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Poort %s/%s is al gedefinieerd"
++msgstr "Addr %s is al gedefinieerd"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Kan geen sleutel aanmaken voor %s"
++msgstr "Kan geen addr aanmaken voor %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Kan geen context aanmaken voor %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Kan naam niet instellen voor %s"
++msgstr "Kan geen masker instellen voor %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Kan gebruiker in bestandscontext niet instellen voor %s"
++msgstr "Kan gebruiker in addr context niet instellen voor %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Kan rol in bestandscontext niet instellen voor %s"
++msgstr "Kan rol in addr context niet instellen voor %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Kan type in bestandscontext niet instellen voor %s"
++msgstr "Kan type in addr context niet instellen voor %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Kan mls velden in bestandscontext niet instellen voor %s"
++msgstr "Kan mls velden in addr context niet instellen voor %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Kan bestandscontext niet instellen voor %s"
++msgstr "Kan addr context niet instellen voor %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Kan poort %s/%s niet toevoegen"
++msgstr "Kan addr %s niet toevoegen"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Poort %s/%s is niet gedefinieerd"
++msgstr "Addr %s is niet gedefinieerd"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Kan poort %s/%s niet opvragen"
++msgstr "Kan addr %s niet bevragen"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Kan poort %s/%s niet veranderen"
++msgstr "Kan addr %s niet veranderen"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Poort %s/%s is gedefinieerd in policy, kan niet worden verwijderd"
++msgstr "Addr %s gedefinieerd in tactiek, kan niet worden verwijderd"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Kan de %s niet verwijderen"
++msgstr "Kan addr %s niet verwijderen"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Kan poorten niet tonen"
++msgstr "Kan addr's niet tonen"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr "Kan niet controleren of interface %s is gedefinieerd"
++msgstr "Kan niet controleren of interface %s gedefinieerd is"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Interface %s is al gedefinieerd"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Kan geen interface aanmaken voor %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Kan gebruiker in interface context niet instellen voor %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Kan rol in interface context niet instellen voor %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Kan type in interface context niet instellen voor %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Kan mls velden in interface context niet instellen voor %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Kan interface context niet instellen voor %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr "Kan message context niet instellen voor %s"
++msgstr "Kan boodschap context niet instellen voor %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Kan interface %s niet toevoegen"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Interface %s is niet gedefinieerd"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Kan interface %s niet opvragen"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Kan interface %s niet veranderen"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "Interface %s is gedefinieerd in policy, kan niet worden verwijderd"
++msgstr "Interface %s is gedefinieerd in tactiek, kan niet worden verwijderd"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Kan interface %s niet verwijderen"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Kan interfaces niet tonen"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux interface"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Context"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "Kan gebruiker in bestandscontext niet instellen voor %s"
++msgstr "Kan gebruiker in bestand context niet instellen voor %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "Kan rol in bestandscontext niet instellen voor %s"
++msgstr "Kan rol in bestand context niet instellen voor %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "Kan mls velden in bestandscontext niet instellen voor %s"
++msgstr "Kan mls velden in bestand context niet instellen voor %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "Ongeldige bestand specificatie"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "Kan niet controleren of bestandscontext voor %s is gedefinieerd"
++msgstr "Kan niet controleren of bestand context voor %s is gedefinieerd"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr "Bestandscontext voor %s is al gedefinieerd"
++msgstr "Bestand context voor %s is al gedefinieerd"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr "Kan geen bestandscontext aanmaken voor %s"
++msgstr "Kan geen bestand context aanmaken voor %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "Kan type in bestandscontext niet instellen voor %s"
++msgstr "Kan type in bestand context niet instellen voor %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "Kan bestandscontext niet instellen voor %s"
++msgstr "Kan bestand context niet instellen voor %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr "Kan bestandscontext niet toevoegen voor %s"
++msgstr "Kan bestand context niet toevoegen voor %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Vereist setype, serange of seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr "Bestandscontext voor %s is niet gedefinieerd"
++msgstr "Bestand context voor %s is niet gedefinieerd"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr "Kan bestandscontext niet opvragen voor %s"
++msgstr "Kan bestand context niet opvragen voor %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr "Kan bestandscontext niet veranderen voor %s"
++msgstr "Kan bestand context niet veranderen voor %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Kan bestandscontexten niet tonen"
++msgstr "Kan bestand contexten niet tonen"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Kan bestandscontext %s niet verwijderen"
++msgstr "Kan bestand context %s niet verwijderen"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"Bestandscontext voor %s is gedefinieerd in policy, kan niet worden verwijderd"
++"Bestand context voor %s is gedefinieerd in tactiek, kan niet worden "
++"verwijderd"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr "Kan bestandscontext niet verwijderen voor %s"
++msgstr "Kan bestand context niet verwijderen voor %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr "Kan bestandscontexten niet tonen"
++msgstr "Kan bestand contexten niet tonen"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr "Kan lokale bestandscontexten niet tonen"
++msgstr "Kan lokale bestand contexten niet tonen"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr "soort"
++msgstr "type"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr "Kan niet controleren of boolean %s is gedefinieerd"
++msgstr "Kan niet controleren of Boolean %s gedefinieerd is"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+-msgstr "Booleaan %s is niet gedefinieerd"
++msgstr "Boolean %s is niet gedefinieerd"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr "Kan bestandscontext %s niet opvragen"
++msgstr "Kan bestand context %s niet opvragen"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "U moet een van de volgende waarden opgeven: %s"
++msgstr "Je moet een van de volgende waarden opgeven: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Kan actieve waarde van booleaan %s niet instellen"
++msgstr "Kan actieve waarde van Boolean %s niet instellen"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr "Kan booleaan %s niet veranderen"
++msgstr "Kan Boolean %s niet veranderen"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Verkeerd formaat %s: Record %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "Booleaan %s is gedefinieerd in policy, kan niet worden verwijderd"
++msgstr "Boolean %s is gedefinieerd in tactiek, kan niet worden verwijderd"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr "Kan booleaan %s niet verwijderen"
++msgstr "Kan Boolean %s niet verwijderen"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr "Kan booleanen niet tonen"
++msgstr "Kan Booleans niet tonen"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "onbekend"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "uit"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "aan"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "SELinux Boolean"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Beschrijving"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -922,17 +952,17 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "newrole: service naam configuratie hashtable overflow\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "newrole:  %s:  fout op regel %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr "kan geen geldig item in het passwd bestand vinden.\n"
++msgstr "kan geen geldige ingang in het passwd bestand vinden.\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+@@ -950,7 +980,7 @@
+ msgstr "Niet in staat om de omgeving op te schonen\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "Fout bij het initialiseren van capabilities, afbreken.\n"
+@@ -982,7 +1012,7 @@
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr "Fout bij het uitzetten van SETUID capability, afbreken\n"
++msgstr "Fout bij het uitzetten van SETUID mogelijkheid, afbreken\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+@@ -1002,12 +1032,12 @@
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr "Fout bij het versturen van audit melding.\n"
++msgstr "Fout bij het versturen van audit boodschap.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr "Kan enforcing mode niet vaststellen.\n"
++msgstr "Kan afdwingende mode niet vaststellen.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+@@ -1036,7 +1066,7 @@
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr "%s heeft andere labels.\n"
++msgstr "%s veranderde labels.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+@@ -1067,11 +1097,12 @@
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+ msgstr ""
++"Fout: Niveaus op een onbeveiligde terminal veranderen is niet toegestaan \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr "Kan standaardtype niet verkrijgen.\n"
++msgstr "Kan standaard type niet verkrijgen.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+@@ -1091,7 +1122,7 @@
+ #: ../newrole/newrole.c:991
+ #, c-format
+ msgid "failed to build new range with level %s\n"
+-msgstr "samenstellen van nieuw bereik met niveau %s is mislukt\n"
++msgstr "samenstellen van nieuwe reeks met niveau %s is mislukt\n"
+ #: ../newrole/newrole.c:996
+ #, c-format
+@@ -1116,17 +1147,17 @@
+ #: ../newrole/newrole.c:1042
+ #, c-format
+ msgid "Unable to obtain empty signal set\n"
+-msgstr "Niet in staat om een lege signaalverzameling te verkrijgen\n"
++msgstr "Niet in staat om een lege signaal set te verkrijgen\n"
+ #: ../newrole/newrole.c:1050
+ #, c-format
+ msgid "Unable to set SIGHUP handler\n"
+-msgstr "Niet in staat om SIGHUP-verwerker in te stellen\n"
++msgstr "Niet in staat om SIGHUP verwerker in te stellen\n"
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr "Sorry, newrole mag alleen worden gebruikt op een SELinux kernel.\n"
++msgstr "Sorry, newrole mag alleen worden gebruikt met een SELinux kernel.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+@@ -1136,12 +1167,12 @@
+ #: ../newrole/newrole.c:1140
+ #, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Waarschuwing! Kan tty-informatie niet ophalen.\n"
++msgstr "Waarschuwing! Kan tty informatie niet ophalen.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "fout bij het lezen van de PAM service instelling.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+@@ -1156,7 +1187,7 @@
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr "Niet in staat om tty-label terug te zetten...\n"
++msgstr "Niet in staat om tty label terug te zetten...\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+@@ -1166,7 +1197,7 @@
+ #: ../newrole/newrole.c:1287
+ #, c-format
+ msgid "Could not close descriptors.\n"
+-msgstr "Kan indicators niet sluiten.\n"
++msgstr "Kan beschrijvingen niet sluiten.\n"
+ #: ../newrole/newrole.c:1314
+ #, c-format
+@@ -1190,17 +1221,17 @@
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s:  Tactiek is al geladen en initiële inladen wordt verzocht\n"
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr ""
++msgstr "%s:  Kan tactiek niet laden en afdwingende mode verzocht:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s:  Kan policy:  %s niet laden\n"
++msgstr "%s:  Kan tactiek:  %s niet laden\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+@@ -1210,7 +1241,7 @@
+ #, c-format
+ msgid "Can not modify sensitivity levels using '+' on %s"
+ msgstr ""
+-"Kan sensitivity niveaus door gebruik te maken van '+' op %s niet wijzigen"
++"Kan gevoeligheid niveaus door gebruik te maken van '+' op %s niet wijzigen"
+ #: ../scripts/chcat:110
+ #, c-format
+@@ -1228,7 +1259,7 @@
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+-msgstr "Kan geen meerdere sensitivities hebben"
++msgstr "Kan geen meerdere gevoeligheden hebben"
+ #: ../scripts/chcat:325
+ #, c-format
+@@ -1272,7 +1303,7 @@
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr "Gebruik -- om de optielijst te beëindigen.  Bijvoorbeeld"
++msgstr "Gebruik -- om de optie lijst te beëindigen.  Bijvoorbeeld"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+@@ -1287,392 +1318,2238 @@
+ msgid "Options Error %s "
+ msgstr "Fout in opties %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "vertalingen niet ondersteund op niet-MLS machines"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Boolean"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "alle"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Aangepast"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Bestand labeling"
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "bestandstype"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Bestand\n"
++"specificatie"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "gebruiker"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"SELinux\n"
++"bestand type"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS bereik"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Bestand\n"
++"type"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Login '%s' is vereist"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Gebruikers afbeelding"
+-#~ msgid "Module Name"
+-#~ msgstr "Modulenaam"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Inlog\n"
++"naam"
+-#~ msgid "Version"
+-#~ msgstr "Versie"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"gebruiker"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS bereik"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Inlog '%s' is vereist"
+-#~ msgid "translator-credits"
+-#~ msgstr "Peter van Egdom <p.van.egdom@gmail.com>"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Tactiek module"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Applicaties</b>"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Module naam"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Webapplicatie/script (CGI)"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versie"
+-#~ msgid "User Role"
+-#~ msgstr "Gebruikersrol"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Zet audit uit"
+-#~ msgid "Name"
+-#~ msgstr "Naam"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Zet audit aan"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Laad tactiek module"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP-poorten</b>"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Niet-gereserveerde poorten (> 1024)"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP-poorten</b>"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Peter van Egdom <p.van.egdom@gmail.com>, Geert Warrink <geert.warrink@onsnet."
++"nu>"
+-#~ msgid "Boolean Name"
+-#~ msgstr "Booleaanse naam"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Dit gereedschap kan gebruikt worden om een tactiek raamwerk te maken, om "
++"toepassingen of gebruikers te beperken bij het gebruik van SELinux.   \n"
++"\n"
++"Het gereedschap maakt:\n"
++"Type afdwinging bestand (te)\n"
++"Interface bestand (if)\n"
++"Bestand context bestand (fc)\n"
++"Shell script (sh) - wordt gebruikt om de tactiek te compileren en te "
++"installeren."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Selecteer type van de toepassing/gebruiker rol die beperkt moet worden"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Toepassingen</b>"
+-#~ msgid "Role"
+-#~ msgstr "Rol"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standaard Init Daemon is een daemon die bij het opstarten van het systeem "
++"gestart wordt via init scripts.  Vereist gewoonlijk een script in /etc/rc.d/"
++"init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standaard Init Daemon"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS Systeem Daemon"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet Service Daemon zijn daemons die gestart wordt door xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
+-#~ msgid "Application"
+-#~ msgstr "Applicatie"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Web toepassingen/Script (CGI) CGI script gestart door de web server (apache)"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s moet een directory zijn"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Web toepassing/script (CGI)"
+-#~ msgid "You must select a user"
+-#~ msgstr "U moet een gebruiker selecteren"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Gebruiker toepassing is elke toepassing die je wilt beperken en gestart "
++"wordt door een gebruiker"
+-#~ msgid "You must enter a name"
+-#~ msgstr "U moet een naam invoeren"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Gebruiker toepassing"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "U moet een uitvoerbaar bestand opgeven"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Inlog gebruikers</b>"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux configureren"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Verander een bestaand inlog gebruiker record."
+-#~ msgid "Interface file"
+-#~ msgstr "Interface-bestand"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Bestaande gebruiker rollen"
+-#~ msgid "Protocol"
+-#~ msgstr "Protocol"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Deze gebruiker wil alleen inloggen op een machine met een terminal of "
++"inloggen op afstand.  Standaard zal deze gebruiker  geen setuid, geen su, "
++"geen sudo hebben."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimale terminal gebruiker rol"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "niveau"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Deze gebruiker kan inloggen op een machine met X of een terminal.  Standaard "
++"zal deze gebruiker geen setuid, geen netwerk, geen sudo, geen su hebben"
+-#~ msgid "Port"
+-#~ msgstr "Poort"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimale X Windows gebruiker rol"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Poortnummer \"%s\" is niet geldig.  0 < PORT_NUMBER < 65536 "
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Gebruiker met volledig netwerk, geen setuid toepassingen zonder overgang, "
++"geen sudo, geen su."
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Gebruiker rol"
+-#~ msgid "Network Configuration"
+-#~ msgstr "Netwerkconfiguratie"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Gebruiker met volledige netwerk, geen setuid toepassingen zonder overgang, "
++"geen su, kan sudo gebruiken voor root beheerder rol"
+-#~ msgid "Databases"
+-#~ msgstr "Databases"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Beheer gebruiker rol"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root gebruikers</b>"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Selecteer root beheerder gebruiker rol als deze gebruiker de machine gaat "
++"beheren terwijl deze draait als root.  Deze gebruiker zal niet rechtstreeks "
++"op het systeem kunnen inloggen."
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root beheerder gebruiker rol"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++"Vul de naam van de toepassing of gebruiker rol in die beperkt moet worden"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Naam"
+-#~ msgid "Compatibility"
+-#~ msgstr "Compatibiliteit"
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Vul het volledige pad in voor het programma dat beperkt moet worden."
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Vul een unieke naam in voor de beperkte toepassing of gebruiker rol."
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Programma"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init script"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL-authenticatieserver"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Vul het volledige pad in voor het init script dat gebruikt wordt om de "
++"beperkte toepassing te starten."
+-#~ msgid "Spam Protection"
+-#~ msgstr "Spambeveiliging"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Selecteer gebruiker rollen die je wilt aanpassen"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Selecteer de gebruiker rollen die over zullen gaan naar de domeinen van deze "
++"toepassing."
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Universele SSL-tunnel"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Selecteer extra domeinen waarnaar deze gebruiker rol zal overgaan"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Selecteer de toepassing domeinen waarnaar je deze gebruiker rol wilt laten "
++"overgaan."
+-#~ msgid "Delete %s"
+-#~ msgstr "%s wissen"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Selecteer gebruiker rollen die over zullen gaan naar dit domein"
+-#~ msgid "Add %s"
+-#~ msgstr "%s toevoegen"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Selecteer extra domeinen die deze gebruiker rol zal beheren"
+-#~ msgid "Modify %s"
+-#~ msgstr "%s veranderen"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Selecteer de domeinen die je deze gebruiker wilt laten beheren."
+-#~ msgid "Permissive"
+-#~ msgstr "Permissive"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Selecteer extra rollen voor deze gebruiker"
+-#~ msgid "Status"
+-#~ msgstr "Status"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Vul de netwerk poorten in waarnaar deze toepassing/gebruiker rol luistert"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP poorten</b>"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c) 2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Sta beperkte toepassing/ gebruiker rol toe te verbinden met elke udp poort"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux type"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Alle"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Sta toepassing/gebruiker rol toe om bindresvport aan te roepen met 0. "
++"Verbinden met poort 600-1024"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "niveau"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "File Type"
+-#~ msgstr "Bestandstype"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Vul een door komma's gescheiden lijst in van udp poorten of poort reeksen "
++"waarnaar die toepassing/gebruiker rol verbindt. Bijvoorbeeld: 612, 650-660"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Niet-gereserveerde poorten (> 1024)"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux gebruiker toevoegen"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Selecteer poorten"
+-#~ msgid "Add"
+-#~ msgstr "Toevoegen"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Sta toepassing/gebruiker rol toe te verbinden met elke udp poort > 1024"
+-#~ msgid "_Properties"
+-#~ msgstr "_Eigenschappen"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP poorten</b>"
+-#~ msgid "_Delete"
+-#~ msgstr "_Wissen"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "Vul netwerk poorten in waarnaar die toepassing/gebruiker rol verbindt"
+-#~ msgid "label37"
+-#~ msgstr "label37"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Vul een door komma's gescheiden lijst in van tcp poorten of poort reeksen "
++"waarnaar die toepassing/gebruiker rol verbindt. Bijvoorbeeld: 612, 650-660"
+-#~ msgid "Filter"
+-#~ msgstr "Filter"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Vul een door komma's gescheiden lijst in van udp poorten of poort reeksen "
++"waarnaar die toepassing/gebruiker rol verbindt. Bijvoorbeeld: 612, 650-660"
+-#~ msgid "label50"
+-#~ msgstr "label50"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Selecteer algemene toepassing eigenschappen"
+-#~ msgid "label38"
+-#~ msgstr "label38"
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Schrijf syslog boodschappen\t"
+-#~ msgid "label39"
+-#~ msgstr "label39"
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Maak/bewerk tijdelijke bestanden in /tmp"
+-#~ msgid "label41"
+-#~ msgstr "label41"
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Gebruik Pam voor authenticatie"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux gebruiker veranderen"
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Gebruik nsswitch of getpw* aanroepen"
+-#~ msgid "label40"
+-#~ msgstr "label40"
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Gebruik dbus"
+-#~ msgid "Add Network Port"
+-#~ msgstr "Netwerkpoorten toevoegen"
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Stuur audit boodschappen"
+-#~ msgid "label42"
+-#~ msgstr "label42"
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Is interactief met de terminal"
+-#~ msgid "Load policy module"
+-#~ msgstr "Policy-module laden"
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Stuur email"
+-#~ msgid "label44"
+-#~ msgstr "label44"
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Selecteer bestanden/mappen die de toepassing beheert"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux gebruiker '%s' is vereist"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Voeg bestanden/mappen toe waarnaar de toepassing moet \"Schrijven\". Pid "
++"bestanden, Log bestanden, /var/lib bestanden ..."
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Selecteer Booleans die de toepassing gebruikt"
+-#~ msgid "Default"
+-#~ msgstr "Standaard"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Voeg toe/verwijder Booleans gebruikt voor deze beperkte toepassing/gebruiker"
+-#~ msgid "<b>Boolean</b>"
+-#~ msgstr "<b>Booleaan</b>"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Selecteer map waarin deze tactiek aangemaakt wordt"
+-#~ msgid "<b>Description</b>"
+-#~ msgstr "<b>Omschrijving</b>"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Tactiek map"
+-#~ msgid "<b>Status</b>"
+-#~ msgstr "<b>Status</b>"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Aangemaakte tactiek bestanden"
+-#~ msgid "Apply"
+-#~ msgstr "Toepassen"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Dit gereedschap zal het volgende aanmaken: \n"
++"Type afdwinging(te), Bestand context(fc), Interface(if), Shell script(sh)\n"
++"Voer shell scripts als root uit om te compileren/installeren en de bestanden/"
++"mappen opnieuw te labelen.  \n"
++"Gebruik semanage of useradd om Linux inlog gebruikers af te beelden op "
++"gebruiker rollen.\n"
++"Zet de machine in de toelatende mode (setenforce 0). \n"
++"Log in als de gebruiker en test deze gebruiker rol.\n"
++"Gebruik audit2allow -R om extra regels voor het te bestand aan te maken.\n"
+-#~ msgid "Save Boolean Configuration File"
+-#~ msgstr "Booleaan configuratiebestand opslaan"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Dit gereedschap zal het volgende aanmaken: \n"
++"Type afdwinging(te), Bestand context(fc), Interface(if), Shell script(sh)\n"
++"\n"
++"Voer shell scripts uit om te compileren/installeren en de bestanden/mappen "
++"opnieuw te labelen.  \n"
++"Zet de machine in de toelatende mode (setenforce 0). \n"
++"Draai/start opnieuw op de toepassing om avc boodschappen aan te maken.\n"
++"Gebruik audit2allow -R om extra regels voor het te bestand aan te maken.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Voeg Booleans toe dialoog"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Booleaan naam"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rol"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Bestaande _gebruiker"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Toepassing"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s moet een map zijn"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Je moet een gebruiker selecteren"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Selecteer een uitvoerbaar bestand om te beperken."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Selecteer een init script om te beperken."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"Selecteer bestand(en) die de beperkte toepassing aanmaakt of naar schrijft"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Selecteer map(pen) waarvan de beperkte toepassing eigenaar is en naar "
++"schrijft"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Selecteer map om tactiek bestanden in aan te maken"
+-#~ msgid "_Previous"
+-#~ msgstr "_Vorige"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Type %s_t is al gedefinieerd in de huidige tactiek.\n"
++"Wil je verder gaan?"
+-#~ msgid "Requires value"
+-#~ msgstr "Vereist waarde"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verifieer naam"
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Ongeldige prefix %s"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Module %s.pp is al geladen in de huidige tactiek.\n"
++"Wil je verder gaan?"
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "Niet-gereserveerde poorten (> 1024)"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Je moet een naam invullen"
+-#~ msgid "label25"
+-#~ msgstr "label25"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Je moet een uitvoerbaar bestand opgeven"
+-#~ msgid "label26"
+-#~ msgstr "label26"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux configureren"
+-#~ msgid "label28"
+-#~ msgstr "label28"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Poorten moeten nummers of nummer reeksen zijn van 1 tot %d."
+-#~ msgid "label30"
+-#~ msgstr "label30"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Je moet een naam invullen voor jouw beperkte proces/gebruiker"
+-#~ msgid "label31"
+-#~ msgstr "label31"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "GEBRUIKER types zijn niet toegestaan als uitvoerbaar"
+-#~ msgid "label32"
+-#~ msgstr "label32"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Alleen DAEMON toepassingen kunnen een init script gebruiken"
+-#~ msgid "label33"
+-#~ msgstr "label33"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog moet een boolean waarde hebben"
+-#~ msgid "label34"
+-#~ msgstr "label34"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "GEBRUIKER types krijgen automatisch een tmp type"
+-#~ msgid "label35"
+-#~ msgstr "label35"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Je moet het uitvoerbare pad invullen voor jouw beperkt proces"
+-#, fuzzy
+-#~ msgid "label51"
+-#~ msgstr "label25"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Type afdwingingd bestand"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Interface bestand"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Bestand context bestand"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Setup script"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Netwerk poort"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux poort\n"
++"type"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocol"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"niveau"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Poort"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Poort nummer \"%s\" is niet geldig.  0 < POORT_NUMMER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Lijst overzicht"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Groep overzicht"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux service bescherming"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Zet SELinux bescherming voor acct daemon uit"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Beheer"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Sta alle daemons toe om core bestanden te schrijven naar /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Sta alle daemons toe om niet-toegewezen ttys te gebruiken"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Gebruiker privileges"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Sta gadmin SELinux gebruiker account toe om bestanden uit te voeren in the "
++"persoonlijke map of /tmp"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Sta guest SELinux gebruiker account toe om bestanden uit te voeren in the "
++"persoonlijke map of /tmp"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Geheugen bescherming"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Sta uitvoerbare java stack toe"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Aankoppelen"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Sta mount toe om elk bestand aan te koppelen"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Sta mount toe om elke map aan te koppelen"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Sta mplayer uitvoerbare stack toe"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Sta ssh toe ssh-keysign te draaien"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Sta staff SELinux gebruiker account toe om bestanden uit te voeren in the "
++"persoonlijke map of /tmp"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Sta sysadm SELinux gebruiker account toe om bestanden uit te voeren in the "
++"persoonlijke map of /tmp"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Sta niet-beperkte SELinux gebruiker account toe om bestanden uit te voeren "
++"in the persoonlijke map of /tmp"
+-#~ msgid "value"
+-#~ msgstr "waarde"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Netwerk configuratie"
+-#~ msgid "FTP"
+-#~ msgstr "FTP"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Sta niet gelabelde pakketten toe zich te verplaatsen over het netwerk"
+-#~ msgid "Zebra"
+-#~ msgstr "Zebra"
+-
+-#~ msgid "Spam Assassin"
+-#~ msgstr "Spam Assassin"
+-
+-#~ msgid "MLS/MCS Level"
+-#~ msgstr "MLS/MCS niveau"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Level"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS niveau"
+-
+-#~ msgid "Requires 2 or more arguments"
+-#~ msgstr "Vereist 2 of meer argumenten"
+-
+-#~ msgid "%s not defined"
+-#~ msgstr "%s niet gedefinieerd"
+-
+-#~ msgid "%s not valid for %s objects\n"
+-#~ msgstr "%s niet geldig voor %s objecten\n"
+-
+-#~ msgid "range not supported on Non MLS machines"
+-#~ msgstr "bereik niet ondersteund op niet-MLS machines"
+-
+-#~ msgid "Invalid value %s"
+-#~ msgstr "Ongeldige waarde %s"
+-
+-#~ msgid ""
+-#~ "In order to load this newly created policy package into the kernel,\n"
+-#~ "you are required to execute \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "Om dit nieuw aangemaakte policy-pakket in de kernel te laden,\n"
+-#~ "dient u het volgende commando uit te voeren \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Sta gebruiker SELinux gebruiker account toe om bestanden uit te voeren in "
++"the persoonlijke map of /tmp"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Sta niet-beperkt toe om te dyntrans naar unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Databases"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Sta gebruiker toe om te verbinden met mysql socket"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Sta gebruiker toe om te verbinden met postgres socket"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
+-#~ msgid "Options Error: %s "
+-#~ msgstr "Fout in opties: %s "
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Sta cliënten toe om te schrijven naar X gedeeld geheugen"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Sta xguest SELinux gebruiker account toe om bestanden uit te voeren in the "
++"persoonlijke map of /tmp"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Sta daemons toe om met NIS te draaien"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web toepassingen"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Overgang van staff SELinux gebruiker naar Web browser domein"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Overgang van sysadm SELinux gebruiker naar Web browser domein"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Overgang van user SELinux gebruiker naar Web browser domein"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Overgang van xguest SELinux gebruiker naar Web browser domein"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Sta staff Web browsers toe te schrijven naar persoonlijke mappen"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Zet SELinux bescherming uit voor amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Zet SELinux bescherming uit voor amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Zet SELinux bescherming uit voor apmd daemon"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Zet SELinux bescherming uit voor arpwatch daemon"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Zet SELinux bescherming uit voor auditd daemon"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Zet SELinux bescherming uit voor automount daemon"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Zet SELinux bescherming uit voor avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Zet SELinux bescherming uit voor bluetooth daemon"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Zet SELinux bescherming uit voor canna daemon"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Zet SELinux bescherming uit voor cardmgr daemon"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Zet SELinux bescherming uit voor Cluster server"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Sta cdrecord toe verscheidene inhoud te lezen. nfs, samba, verwijderbare "
++"apparaten, gebruikers temp en niet-vertrouwde inhoud bestanden"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Zet SELinux bescherming uit voor ciped daemon"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Zet SELinux bescherming uit voor clamd daemon"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Zet SELinux bescherming uit voor clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Zet SELinux bescherming uit voor clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Zet SELinux bescherming uit voor comsat daemon"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Zet SELinux bescherming uit voor courier daemon"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Zet SELinux bescherming uit voor cpucontrol daemon"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Zet SELinux bescherming uit voor cpuspeed daemon"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Zet SELinux bescherming uit voor crond daemon"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Afdrukken"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Zet SELinux bescherming uit voor cups back-end server"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Zet SELinux bescherming uit voor cupsd daemon"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Zet SELinux bescherming uit voor cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Zet SELinux bescherming uit voor cvs daemon"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Zet SELinux bescherming uit voor cyrus daemon"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Zet SELinux bescherming uit voor dbskkd daemon"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Zet SELinux bescherming uit voor dbusd daemon"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Zet SELinux bescherming uit voor dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Zet SELinux bescherming uit voor dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Zet SELinux bescherming uit voor dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Zet SELinux bescherming uit voor ddt daemon"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Zet SELinux bescherming uit voor dwvfsd daemon"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Zet SELinux bescherming uit voor dhcpc daemon"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Zet SELinux bescherming uit voor dhcpd daemon"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Zet SELinux bescherming uit voor dictd daemon"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Sta sysadm_t toe om daemons rechtstreeks op te starten"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Zet SELinux bescherming uit voor Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Spellen"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Zet SELinux bescherming uit voor spellen"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Zet SELinux bescherming uit voor web browsers"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Zet SELinux bescherming uit voor Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Zet SELinux bescherming uit voor distccd daemon"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Zet SELinux bescherming uit voor dmesg daemon"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Zet SELinux bescherming uit voor dnsmasq daemon"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Zet SELinux bescherming uit voor dovecot daemon"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Zet SELinux bescherming uit voor entropyd daemon"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Zet SELinux bescherming uit voor fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Zet SELinux bescherming uit voor fingerd daemon"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Zet SELinux bescherming uit voor freshclam daemon"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Zet SELinux bescherming uit voor fsdaemon daemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Zet SELinux bescherming uit voor gpm daemon"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Zet SELinux bescherming uit voor gss daemon"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Zet SELinux bescherming uit voor Hal daemon"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibiliteit"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Audit geen zaken waarvan we weten dat ze kapot, zijn maar die geen "
++"beveiliging risico's zijn"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Zet SELinux bescherming uit voor hostname daemon"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Zet SELinux bescherming uit voor hotplug daemon"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Zet SELinux bescherming uit voor howl daemon"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Zet SELinux bescherming uit voor cups hplip daemon"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Zet SELinux bescherming uit voor httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD service"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Zet SELinux bescherming uit voor http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Zet SELinux bescherming uit voor hwclock daemon"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Zet SELinux bescherming uit voor i18n daemon"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Zet SELinux bescherming uit voor imazesrv daemon"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Zet SELinux bescherming uit voor inetd child daemons"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Zet SELinux bescherming uit voor inetd daemon"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Zet SELinux bescherming uit voor innd daemon"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Zet SELinux bescherming uit voor iptables daemon"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Zet SELinux bescherming uit voor ircd daemon"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Zet SELinux bescherming uit voor irqbalance daemon"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Zet SELinux bescherming uit voor iscsi daemon"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Zet SELinux bescherming uit voor jabberd daemon"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Zet SELinux bescherming uit voor kadmind daemon"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Zet SELinux bescherming uit voor klogd daemon"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Zet SELinux bescherming uit voor krb5kdc daemon"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Zet SELinux bescherming uit voor ktalk daemon"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Zet SELinux bescherming uit voor kudzu daemon"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Zet SELinux bescherming uit voor locate daemon"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Zet SELinux bescherming uit voor lpd daemon"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Zet SELinux bescherming uit voor lrrd daemon"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Zet SELinux bescherming uit voor lvm daemon"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Zet SELinux bescherming uit voor mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Sta evolution en thunderbird toe om bestanden van gebruikers te lezen"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Zet SELinux bescherming uit voor mdadm daemon"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Zet SELinux bescherming uit voor monopd daemon"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Sta de mozilla browser toe om bestanden van gebruikers te lezen"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Zet SELinux bescherming uit voor mrtg daemon"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Zet SELinux bescherming uit voor mysqld daemon"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Zet SELinux bescherming uit voor nagios daemon"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Naam service"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Zet SELinux bescherming uit voor named daemon"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Zet SELinux bescherming uit voor nessusd daemon"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Zet SELinux bescherming uit voor NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Zet SELinux bescherming uit voor nfsd daemon"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Zet SELinux bescherming uit voor nmbd daemon"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Zet SELinux bescherming uit voor nrpe daemon"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Zet SELinux bescherming uit voor nscd daemon"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Zet SELinux bescherming uit voor nsd daemon"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Zet SELinux bescherming uit voor ntpd daemon"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Zet SELinux bescherming uit voor oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Zet SELinux bescherming uit voor oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Zet SELinux bescherming uit voor openvpn daemon"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Zet SELinux bescherming uit voor pam daemon"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Zet SELinux bescherming uit voor pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Zet SELinux bescherming uit voor perdition daemon"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Zet SELinux bescherming uit voor portmap daemon"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Zet SELinux bescherming uit voor portslave daemon"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Zet SELinux bescherming uit voor postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Zet SELinux bescherming uit voor postgresql daemon"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Sta toe dat pppd draait voor een gewone gebruiker"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Zet SELinux bescherming uit voor pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Zet SELinux bescherming uit voor prelink daemon"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Zet SELinux bescherming uit voor privoxy daemon"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Zet SELinux bescherming uit voor ptal daemon"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Zet SELinux bescherming uit voor pxe daemon"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Zet SELinux bescherming uit voor pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Zet SELinux bescherming uit voor quota daemon"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Zet SELinux bescherming uit voor radiusd daemon"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Zet SELinux bescherming uit voor radvd daemon"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Zet SELinux bescherming uit voor rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Zet SELinux bescherming uit voor readahead"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Sta toe dat programma's bestanden lezen in niet-standaard locaties "
++"(default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Zet SELinux bescherming uit voor restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Zet SELinux bescherming uit voor rhgb daemon"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Zet SELinux bescherming uit voor ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Zet SELinux bescherming uit voor ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Zet SELinux bescherming uit voor rlogind daemon"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Zet SELinux bescherming uit voor rpcd daemon"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Zet SELinux bescherming uit voor rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Zet SELinux bescherming uit voor rsync daemon"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Sta ssh toe van inetd te draaien in plaats van als een daemon"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Sta Samba toe om nfs mappen te delen"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL authenticatie server"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Sta toe dat de sasl authenticatie server /etc/shadow leest"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Sta toe dat X-Windows server een geheugen gebied zowel uitvoerbaar als "
++"beschrijfbaar maakt"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Zet SELinux bescherming uit voor saslauthd daemon"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Zet SELinux bescherming uit voor scannerdaemon daemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Sta geen overgang toe naar sysadm_t, gevolgen voor sudo en su "
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Sta geen enkel proces toe om kernel modules te laden"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Sta geen enkel proces toe om de kernel SELinux tactiek te veranderen"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Zet SELinux bescherming uit voor sendmail daemon"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Zet SELinux bescherming uit voor setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Zet SELinux bescherming uit voor setroubleshoot daemon"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Zet SELinux bescherming uit voor Slapd daemon"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Zet SELinux bescherming uit voor slrnpull daemon"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Zet SELinux bescherming uit voor smbd daemon"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Zet SELinux bescherming uit voor snmpd daemon"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Zet SELinux bescherming uit voor snort daemon"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Zet SELinux bescherming uit voor soundd daemon"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Zet SELinux bescherming uit voor sound daemon"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Spam bescherming"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Zet SELinux bescherming uit voor spamd daemon"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Sta spamd toegang toe tot persoonlijke mappen"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Sta Spam Assassin daemon netwerk toegang toe"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Zet SELinux bescherming uit voor speedmgmt daemon"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Sta squid daemon toe te verbinden met het netwerk"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Zet SELinux bescherming uit voor squid daemon"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Zet SELinux bescherming uit voor ssh daemon"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Sta ssh inloggen toe met sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Sta staff_r gebruikers toe om de persoonlijke map van sysadm te doorzoeken "
++"en bestanden te lezen (zoals ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Universele SSL tunnel"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Zet SELinux bescherming uit voor stunnel daemon"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Sta de stunnel daemon toe alleen-staand te draaien, buiten xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Zet SELinux bescherming uit voor swat daemon"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Zet SELinux bescherming uit voor sxid daemon"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Zet SELinux bescherming uit voor syslogd daemon"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Zet SELinux bescherming uit voor systeem cron taken"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Zet SELinux bescherming uit voor tcp daemon"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Zet SELinux bescherming uit voor telnet daemon"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Zet SELinux bescherming uit voor tftpd daemon"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Zet SELinux bescherming uit voor transpoxy daemon"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Zet SELinux bescherming uit voor udev daemon"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Zet SELinux bescherming uit voor uml daemon"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Sta xinetd toe om onbeperkt te draaien, inclusief alle services die het "
++"start en die een domein overgang niet expliciet gedefinieerd hebben"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Sta rc scripts toe om onbeperkt te draaien, inclusief alle daemons gestart "
++"door een rc script en die een domein overgang niet expliciet gedefinieerd "
++"hebben"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Sta rpm toe om onbeperkt te draaien"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Sta programma's met rechten zoals hotplug en insmod toe om onbeperkt te "
++"draaien"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Zet SELinux bescherming uit voor updfstab daemon"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Zet SELinux bescherming uit voor uptimed daemon"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Sta user_r toe om sysadm_r te bereiken met su, sudo, of userhelper. Anders "
++"kan alleen staff_r dit doen"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Sta gebruikers toe om het mount commando uit te voeren"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Sta reguliere gebruikers directe toegang tot de muis toe (sta alleen de X "
++"server toe)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Sta gebruikers toe het dmesg commando te draaien"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Sta gebruikers toe de netwerk interfaces te controleren (heeft ook "
++"USERCTL=true nodig)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Sta gewone gebruikers ping uit te voeren"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Sta gebruikers lezen/schrijven toe van noextattrfile (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Sta gebruikers lezen/schrijven toe van usb apparaten"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"Sta gebruikers toe TCP server te draaien (verbinden naar poorten en "
++"verbindingen accepteren van hetzelfde domein en gebruiker erbuiten), dit "
++"uitzetten forceert FTP passieve mode en kan andere protocollen veranderen"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Sta gebruiker toe stat tty bestanden uit te voeren"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Zet SELinux bescherming uit voor uucp daemon"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Zet SELinux bescherming uit voor vmware daemon"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Zet SELinux bescherming uit voor watchdog daemon"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Zet SELinux bescherming uit voor winbind daemon"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Zet SELinux bescherming uit voor xdm daemon"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Sta xdm inloggen toe als sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Zet SELinux bescherming uit voor xen daemon"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Sta xen lezen/schrijven toe voor fysieke apparaten"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Zet SELinux bescherming uit voor xfs daemon"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Zet SELinux bescherming uit voor xen controle"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Zet SELinux bescherming uit voor ypbind daemon"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Zet SELinux bescherming uit voor NIS wachtwoord daemon"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Zet SELinux bescherming uit voor ypserv daemon"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Zet SELinux bescherming uit voor NIS transfer daemon"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Sta SELinux webadmin gebruiker toe om persoonlijke mappen van gebruikers "
++"zonder rechten te beheren"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Sta SELinux webadmin gebruiker toe om persoonlijke mappen van gebruikers "
++"zonder rechten te lezen"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Weet je zeker dat je %s '%s' wilt verwijderen?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s wissen"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s toevoegen"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s veranderen"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Toelatend"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Afdwingend"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Uitgezet"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
++
++#: ../gui/statusPage.py:133
++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 ""
++"Het tactiek type veranderen zal een opnieuw labelen van het gehele systeem "
++"veroorzaken bij de volgende systeem opstart. Opnieuw labelen duurt lang "
++"afhankelijk van de grootte van het bestandssysteem. Wil je verder gaan?"
++
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Veranderen van SELinux naar uitgezet vereist een systeem opstart.  Dit wordt "
++"niet aanbevolen.  Als je later besluit om SELinux weer aan te zetten, zal "
++"het systeem opnieuw labelen nodig hebben.  Als je alleen wilt zien of "
++"SELinux een probleem op jouw systeem veroorzaakt, kun je naar de toelatende "
++"mode gaan die alleen fouten zal bewaren en de SELinux tactiek niet "
++"afdwingen.  Toelatende mode vereist geen systeem opstart    Wil je verder "
++"gaan?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Veranderen naar SELinux aangezet zal opnieuw labelen van het gehele "
++"bestandssysteem veroorzaken bij de volgende systeem opstart. Opnieuw labelen "
++"kost veel tijd afhankelijk van de grootte van het bestandssysteem.  Wil je "
++"verder gaan?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c) 2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Voeg SELinux inlog afbeelding toe"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Voeg SELinux netwerk poorten toe"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux type"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"niveau"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Bestand specificatie"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Bestand type"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"alle bestanden\n"
++"reguliere bestanden\n"
++"map\n"
++"karakter apparaat\n"
++"blok apparaat\n"
++"socket\n"
++"symbolische link\n"
++"named pipe\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux gebruiker toevoegen"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux beheer"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Toevoegen"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Eigenschappen"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Verwijderen"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Selecteer beheer object"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Selecteer:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Systeem standaard afdwingende mode"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Uitgezet\n"
++"Toelatend\n"
++"Afdwingend\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Huidige afdwingende mode"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Systeem standaard tactiek type:"
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Selecteer dit als je het gehele bestandssysteem bij de volgende systeem "
++"opstart opnieuw wilt labelen.  Opnieuw labelen kan veel tijd kosten, "
++"afhankelijk van de grootte van het systeem.  Als je het tactiek type "
++"verandert of je gaat van uitgezet naar afdwingend, is opnieuw labelen "
++"vereist."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Opnieuw labelen bij de volgende systeem opstart."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Schakel de Boolean instelling om naar de systeem standaard"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Schakel om tussen Aangepaste en Alle Booleans"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Voer de Booleans afsluiten assistent uit"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Afsluiten..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filter"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Voeg bestand context toe"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Verander bestand context"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Verwijder bestand context"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Schakel om tussen alle en aangepast bestand context"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Voeg SELinux gebruikers afbeelding toe"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Verander SELinux gebruikers afbeelding"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Verwijder SELinux gebruikers afbeelding"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Voeg gebruiker toe"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Verander gebruiker"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Verwijder gebruiker"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Voeg vertaling toe"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Verander vertaling"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Verwijder vertaling"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Netwerk poort toevoegen"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Bewerk netwerk poort"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Verwijder netwerk poort"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Schakel om tussen Aangepaste en Alle poorten"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Maak een nieuwe tactiek module aan"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Tactiek module laden"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Verwijder laadbare tactiek module"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Zet de extra audit regels, die normaal niet gerapporteerd worden in de log "
++"bestanden, aan of uit."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Verander de proces mode naar toelatend."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Verander de proces mode naar afdwingend."
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Proces domein"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux gebruiker '%s' is vereist"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Gevoeligheid niveau"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/nn.po policycoreutils-2.0.85/po/nn.po
+--- nsapolicycoreutils/po/nn.po        2011-02-17 15:11:25.165734209 -0500
++++ policycoreutils-2.0.85/po/nn.po    2011-02-18 16:03:41.436976207 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/no.po policycoreutils-2.0.85/po/no.po
+--- nsapolicycoreutils/po/no.po        2011-02-17 15:11:25.260732640 -0500
++++ policycoreutils-2.0.85/po/no.po    1969-12-31 19:00:00.000000000 -0500
+@@ -1,1272 +0,0 @@
+-# 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 <EMAIL@ADDRESS>, YEAR.
+-#
+-#, fuzzy
+-msgid ""
+-msgstr ""
+-"Project-Id-Version: PACKAGE VERSION\n"
+-"Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+-"Language-Team: LANGUAGE <LL@li.org>\n"
+-"MIME-Version: 1.0\n"
+-"Content-Type: text/plain; charset=UTF-8\n"
+-"Content-Transfer-Encoding: 8bit\n"
+-
+-#: ../run_init/run_init.c:67
+-msgid ""
+-"USAGE: run_init <script> <args ...>\n"
+-"  where: <script> is the name of the init script to run,\n"
+-"         <args ...> are the arguments to that script."
+-msgstr ""
+-
+-#: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+-#, c-format
+-msgid "failed to initialize PAM\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:139
+-#, c-format
+-msgid "failed to get account information\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:162 ../newrole/newrole.c:338
+-msgid "Password:"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+-#, c-format
+-msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+-#, c-format
+-msgid "getpass cannot open /dev/tty\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:275
+-#, c-format
+-msgid "run_init: incorrect password for %s\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:309
+-#, c-format
+-msgid "Could not open file %s\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:336
+-#, c-format
+-msgid "No context in file %s\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:361
+-#, c-format
+-msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:380
+-#, c-format
+-msgid "authentication failed.\n"
+-msgstr ""
+-
+-#: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+-#, c-format
+-msgid "Could not set exec context to %s.\n"
+-msgstr ""
+-
+-#: ../audit2allow/audit2allow:217
+-msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
+-
+-#: ../audit2allow/audit2allow:218
+-msgid "To make this policy package active, execute:"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:48
+-msgid "Could not create semanage handle"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:55
+-msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr ""
+-
+-#: ../semanage/seobject.py:60
+-msgid "Cannot read policy store."
+-msgstr ""
+-
+-#: ../semanage/seobject.py:65
+-msgid "Could not establish semanage connection"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:70
+-msgid "Could not test MLS enabled status"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+-msgid "global"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:206
+-#, python-format
+-msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:239
+-msgid "Level"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:239
+-msgid "Translation"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+-#, python-format
+-msgid "Translations can not contain spaces '%s' "
+-msgstr ""
+-
+-#: ../semanage/seobject.py:250
+-#, python-format
+-msgid "Invalid Level '%s' "
+-msgstr ""
+-
+-#: ../semanage/seobject.py:253
+-#, python-format
+-msgid "%s already defined in translations"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:265
+-#, python-format
+-msgid "%s not defined in translations"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:290
+-msgid "Not yet implemented"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:294
+-msgid "Semanage transaction already in progress"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:303
+-msgid "Could not start semanage transaction"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:309
+-msgid "Could not commit semanage transaction"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:313
+-msgid "Semanage transaction not in progress"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:325
+-msgid "Could not list SELinux modules"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:336
+-msgid "Permissive Types"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:378
+-#, python-format
+-msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:384
+-#, python-format
+-msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
+-#, python-format
+-msgid "Could not create a key for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
+-#, python-format
+-msgid "Could not check if login mapping for %s is defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:416
+-#, python-format
+-msgid "Login mapping for %s is already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:421
+-#, python-format
+-msgid "Linux Group %s does not exist"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:426
+-#, python-format
+-msgid "Linux User %s does not exist"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:430
+-#, python-format
+-msgid "Could not create login mapping for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
+-#, python-format
+-msgid "Could not set name for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
+-#, python-format
+-msgid "Could not set MLS range for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:443
+-#, python-format
+-msgid "Could not set SELinux user for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:447
+-#, python-format
+-msgid "Could not add login mapping for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
+-msgid "add SELinux user mapping"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:466
+-msgid "Requires seuser or serange"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
+-#, python-format
+-msgid "Login mapping for %s is not defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:480
+-#, python-format
+-msgid "Could not query seuser for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:496
+-#, python-format
+-msgid "Could not modify login mapping for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:528
+-#, python-format
+-msgid "Login mapping for %s is defined in policy, cannot be deleted"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:532
+-#, python-format
+-msgid "Could not delete login mapping for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:555
+-msgid "Could not list login mappings"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-msgid "Login Name"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-msgid "SELinux User"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:568
+-msgid "MLS/MCS Range"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:594
+-#, python-format
+-msgid "You must add at least one role for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
+-#, python-format
+-msgid "Could not check if SELinux user %s is defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:604
+-#, python-format
+-msgid "SELinux user %s is already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:608
+-#, python-format
+-msgid "Could not create SELinux user for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:617
+-#, python-format
+-msgid "Could not add role %s for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:626
+-#, python-format
+-msgid "Could not set MLS level for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:629
+-#, python-format
+-msgid "Could not add prefix %s for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:632
+-#, python-format
+-msgid "Could not extract key for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:636
+-#, python-format
+-msgid "Could not add SELinux user %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:659
+-msgid "Requires prefix, roles, level or range"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:661
+-msgid "Requires prefix or roles"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
+-#, python-format
+-msgid "SELinux user %s is not defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:675
+-#, python-format
+-msgid "Could not query user for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:702
+-#, python-format
+-msgid "Could not modify SELinux user %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:735
+-#, python-format
+-msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:739
+-#, python-format
+-msgid "Could not delete SELinux user %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:762
+-msgid "Could not list SELinux users"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:768
+-#, python-format
+-msgid "Could not list roles for user %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:781
+-msgid "Labeling"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:781
+-msgid "MLS/"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:782
+-msgid "Prefix"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:782
+-msgid "MCS Level"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:782
+-msgid "MCS Range"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-msgid "SELinux Roles"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:802
+-msgid "Protocol udp or tcp is required"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:804
+-msgid "Port is required"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:815
+-#, python-format
+-msgid "Could not create a key for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:826
+-msgid "Type is required"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
+-#, python-format
+-msgid "Could not check if port %s/%s is defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:834
+-#, python-format
+-msgid "Port %s/%s already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:838
+-#, python-format
+-msgid "Could not create port for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:844
+-#, python-format
+-msgid "Could not create context for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:848
+-#, python-format
+-msgid "Could not set user in port context for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:852
+-#, python-format
+-msgid "Could not set role in port context for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:856
+-#, python-format
+-msgid "Could not set type in port context for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:861
+-#, python-format
+-msgid "Could not set mls fields in port context for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:865
+-#, python-format
+-msgid "Could not set port context for %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:869
+-#, python-format
+-msgid "Could not add port %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
+-msgid "Requires setype or serange"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:885
+-msgid "Requires setype"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
+-#, python-format
+-msgid "Port %s/%s is not defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:897
+-#, python-format
+-msgid "Could not query port %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:908
+-#, python-format
+-msgid "Could not modify port %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:921
+-msgid "Could not list the ports"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:937
+-#, python-format
+-msgid "Could not delete the port %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:954
+-#, python-format
+-msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:958
+-#, python-format
+-msgid "Could not delete port %s/%s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
+-msgid "Could not list ports"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1017
+-msgid "SELinux Port Type"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1017
+-msgid "Proto"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1017
+-msgid "Port Number"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-msgid "Node Address is required"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-msgid "Node Netmask is required"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
+-msgid "Unknown or missing protocol"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
+-msgid "SELinux Type is required"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
+-#, python-format
+-msgid "Could not create key for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, python-format
+-msgid "Could not check if addr %s is defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1064
+-#, python-format
+-msgid "Addr %s already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1068
+-#, python-format
+-msgid "Could not create addr for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
+-#, python-format
+-msgid "Could not create context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1077
+-#, python-format
+-msgid "Could not set mask for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1082
+-#, python-format
+-msgid "Could not set user in addr context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1086
+-#, python-format
+-msgid "Could not set role in addr context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1090
+-#, python-format
+-msgid "Could not set type in addr context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1095
+-#, python-format
+-msgid "Could not set mls fields in addr context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1099
+-#, python-format
+-msgid "Could not set addr context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1103
+-#, python-format
+-msgid "Could not add addr %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, python-format
+-msgid "Addr %s is not defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1143
+-#, python-format
+-msgid "Could not query addr %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1154
+-#, python-format
+-msgid "Could not modify addr %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1192
+-#, python-format
+-msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1196
+-#, python-format
+-msgid "Could not delete addr %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1212
+-msgid "Could not list addrs"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
+-#, python-format
+-msgid "Could not check if interface %s is defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1266
+-#, python-format
+-msgid "Interface %s already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1270
+-#, python-format
+-msgid "Could not create interface for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1279
+-#, python-format
+-msgid "Could not set user in interface context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1283
+-#, python-format
+-msgid "Could not set role in interface context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1287
+-#, python-format
+-msgid "Could not set type in interface context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1292
+-#, python-format
+-msgid "Could not set mls fields in interface context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1296
+-#, python-format
+-msgid "Could not set interface context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1300
+-#, python-format
+-msgid "Could not set message context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1304
+-#, python-format
+-msgid "Could not add interface %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
+-#, python-format
+-msgid "Interface %s is not defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1331
+-#, python-format
+-msgid "Could not query interface %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1342
+-#, python-format
+-msgid "Could not modify interface %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1367
+-#, python-format
+-msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1371
+-#, python-format
+-msgid "Could not delete interface %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1387
+-msgid "Could not list interfaces"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1397
+-msgid "SELinux Interface"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
+-msgid "Context"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1421
+-#, python-format
+-msgid "Could not set user in file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1425
+-#, python-format
+-msgid "Could not set role in file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
+-#, python-format
+-msgid "Could not set mls fields in file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1436
+-msgid "Invalid file specification"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
+-#, python-format
+-msgid "Could not check if file context for %s is defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1461
+-#, python-format
+-msgid "File context for %s already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1465
+-#, python-format
+-msgid "Could not create file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1473
+-#, python-format
+-msgid "Could not set type in file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
+-#, python-format
+-msgid "Could not set file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1487
+-#, python-format
+-msgid "Could not add file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1501
+-msgid "Requires setype, serange or seuser"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
+-#, python-format
+-msgid "File context for %s is not defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1520
+-#, python-format
+-msgid "Could not query file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1546
+-#, python-format
+-msgid "Could not modify file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1560
+-msgid "Could not list the file contexts"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1574
+-#, python-format
+-msgid "Could not delete the file context %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1592
+-#, python-format
+-msgid "File context for %s is defined in policy, cannot be deleted"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1598
+-#, python-format
+-msgid "Could not delete file context for %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1613
+-msgid "Could not list file contexts"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1617
+-msgid "Could not list local file contexts"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1636
+-msgid "SELinux fcontext"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1636
+-msgid "type"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
+-#, python-format
+-msgid "Could not check if boolean %s is defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
+-#, python-format
+-msgid "Boolean %s is not defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1672
+-#, python-format
+-msgid "Could not query file context %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1677
+-#, python-format
+-msgid "You must specify one of the following values: %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1681
+-#, python-format
+-msgid "Could not set active value of boolean %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1684
+-#, python-format
+-msgid "Could not modify boolean %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1702
+-#, python-format
+-msgid "Bad format %s: Record %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1725
+-#, python-format
+-msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1729
+-#, python-format
+-msgid "Could not delete boolean %s"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
+-msgid "Could not list booleans"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1777
+-msgid "unknown"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1780
+-msgid "off"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1780
+-msgid "on"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1789
+-msgid "SELinux boolean"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1789
+-msgid "Description"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:198
+-#, c-format
+-msgid "failed to set PAM_TTY\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:287
+-#, c-format
+-msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:297
+-#, c-format
+-msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:436
+-#, c-format
+-msgid "cannot find valid entry in the passwd file.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:447
+-#, c-format
+-msgid "Out of memory!\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:452
+-#, c-format
+-msgid "Error!  Shell is not valid.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:509
+-#, c-format
+-msgid "Unable to clear environment\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, c-format
+-msgid "Error initializing capabilities, aborting.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+-#, c-format
+-msgid "Error setting capabilities, aborting\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:570
+-#, c-format
+-msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+-#, c-format
+-msgid "Error dropping capabilities, aborting\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+-#, c-format
+-msgid "Error changing uid, aborting.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+-#, c-format
+-msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:597
+-#, c-format
+-msgid "Error dropping SETUID capability, aborting\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+-#, c-format
+-msgid "Error freeing caps\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:701
+-#, c-format
+-msgid "Error connecting to audit system.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:707
+-#, c-format
+-msgid "Error allocating memory.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:714
+-#, c-format
+-msgid "Error sending audit message.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+-#, c-format
+-msgid "Could not determine enforcing mode.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:765
+-#, c-format
+-msgid "Error!  Could not open %s.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:771
+-#, c-format
+-msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:781
+-#, c-format
+-msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:791
+-#, c-format
+-msgid "%s!  Could not set new context for %s\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:838
+-#, c-format
+-msgid "%s changed labels.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:844
+-#, c-format
+-msgid "Warning! Could not restore context for %s\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:901
+-#, c-format
+-msgid "Error: multiple roles specified\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:909
+-#, c-format
+-msgid "Error: multiple types specified\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:916
+-#, c-format
+-msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:921
+-#, c-format
+-msgid "Error: multiple levels specified\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:931
+-#, c-format
+-msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:957
+-#, c-format
+-msgid "Couldn't get default type.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:967
+-#, c-format
+-msgid "failed to get new context.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:974
+-#, c-format
+-msgid "failed to set new role %s\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:981
+-#, c-format
+-msgid "failed to set new type %s\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:991
+-#, c-format
+-msgid "failed to build new range with level %s\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:996
+-#, c-format
+-msgid "failed to set new range %s\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1004
+-#, c-format
+-msgid "failed to convert new context to string\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1009
+-#, c-format
+-msgid "%s is not a valid context\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1016
+-#, c-format
+-msgid "Unable to allocate memory for new_context"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1042
+-#, c-format
+-msgid "Unable to obtain empty signal set\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1050
+-#, c-format
+-msgid "Unable to set SIGHUP handler\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1116
+-#, c-format
+-msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1133
+-#, c-format
+-msgid "failed to get old_context.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1140
+-#, c-format
+-msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1161
+-#, c-format
+-msgid "error on reading PAM service configuration.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1196
+-#, c-format
+-msgid "newrole: incorrect password for %s\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1223
+-#, c-format
+-msgid "newrole: failure forking: %s"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+-#, c-format
+-msgid "Unable to restore tty label...\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+-#, c-format
+-msgid "Failed to close tty properly\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1287
+-#, c-format
+-msgid "Could not close descriptors.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1314
+-#, c-format
+-msgid "Error allocating shell's argv0.\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1346
+-#, c-format
+-msgid "Unable to restore the environment, aborting\n"
+-msgstr ""
+-
+-#: ../newrole/newrole.c:1357
+-msgid "failed to exec shell\n"
+-msgstr ""
+-
+-#: ../load_policy/load_policy.c:22
+-#, c-format
+-msgid "usage:  %s [-qi]\n"
+-msgstr ""
+-
+-#: ../load_policy/load_policy.c:71
+-#, c-format
+-msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
+-
+-#: ../load_policy/load_policy.c:80
+-#, c-format
+-msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr ""
+-
+-#: ../load_policy/load_policy.c:90
+-#, c-format
+-msgid "%s:  Can't load policy:  %s\n"
+-msgstr ""
+-
+-#: ../scripts/chcat:92 ../scripts/chcat:169
+-msgid "Requires at least one category"
+-msgstr ""
+-
+-#: ../scripts/chcat:106 ../scripts/chcat:183
+-#, c-format
+-msgid "Can not modify sensitivity levels using '+' on %s"
+-msgstr ""
+-
+-#: ../scripts/chcat:110
+-#, c-format
+-msgid "%s is already in %s"
+-msgstr ""
+-
+-#: ../scripts/chcat:188 ../scripts/chcat:198
+-#, c-format
+-msgid "%s is not in %s"
+-msgstr ""
+-
+-#: ../scripts/chcat:267 ../scripts/chcat:272
+-msgid "Can not combine +/- with other types of categories"
+-msgstr ""
+-
+-#: ../scripts/chcat:319
+-msgid "Can not have multiple sensitivities"
+-msgstr ""
+-
+-#: ../scripts/chcat:325
+-#, c-format
+-msgid "Usage %s CATEGORY File ..."
+-msgstr ""
+-
+-#: ../scripts/chcat:326
+-#, c-format
+-msgid "Usage %s -l CATEGORY user ..."
+-msgstr ""
+-
+-#: ../scripts/chcat:327
+-#, c-format
+-msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
+-msgstr ""
+-
+-#: ../scripts/chcat:328
+-#, c-format
+-msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
+-msgstr ""
+-
+-#: ../scripts/chcat:329
+-#, c-format
+-msgid "Usage %s -d File ..."
+-msgstr ""
+-
+-#: ../scripts/chcat:330
+-#, c-format
+-msgid "Usage %s -l -d user ..."
+-msgstr ""
+-
+-#: ../scripts/chcat:331
+-#, c-format
+-msgid "Usage %s -L"
+-msgstr ""
+-
+-#: ../scripts/chcat:332
+-#, c-format
+-msgid "Usage %s -L -l user"
+-msgstr ""
+-
+-#: ../scripts/chcat:333
+-msgid "Use -- to end option list.  For example"
+-msgstr ""
+-
+-#: ../scripts/chcat:334
+-msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+-msgstr ""
+-
+-#: ../scripts/chcat:335
+-msgid "chcat -l +CompanyConfidential juser"
+-msgstr ""
+-
+-#: ../scripts/chcat:399
+-#, c-format
+-msgid "Options Error %s "
+-msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/nso.po policycoreutils-2.0.85/po/nso.po
+--- nsapolicycoreutils/po/nso.po       2011-02-17 15:11:25.375730741 -0500
++++ policycoreutils-2.0.85/po/nso.po   2011-02-18 16:03:41.436976207 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/or.po policycoreutils-2.0.85/po/or.po
+--- nsapolicycoreutils/po/or.po        2011-02-17 15:11:25.251732789 -0500
++++ policycoreutils-2.0.85/po/or.po    2011-02-18 16:03:41.437976214 -0500
+@@ -1,17 +1,19 @@
+-# translation of policycoreutils.HEAD.or.po to Oriya
++# translation of or.po to Oriya
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # Subhransu Behera <sbehera@redhat.com>, 2006.
+ # Manoj Kumar Giri <giri.manojkr@gmail.com>, 2008.
++# Manoj Kumar Giri <mgiri@redhat.com>, 2008, 2009, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils.HEAD.or\n"
++"Project-Id-Version: or\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-07-05 14:27+0530\n"
+-"Last-Translator: Manoj Kumar Giri <giri.manojkr@gmail.com>\n"
+-"Language-Team: Oriya\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-27 15:08+0530\n"
++"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
++"Language-Team: Oriya <Translation-team-or@lists.sourceforge.net>\n"
++"Language: or\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -19,6 +21,25 @@
+ "Plural-Forms: nplurals=2; plural=(n!=1);\n"
+ "\n"
+ "\n"
++"\n"
++"\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinux କୁ ଆଲେଖିକ ସଂରଚନାରେ ବିନ୍ୟାସ କରନ୍ତୁ"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux ପରିଚାଳନା"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux ନୀତି ଏକକାଂଶ ସୃଷ୍ଟିକରନ୍ତୁ"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux ନୀତି ସୃଷ୍ଟି ଉପକରଣ"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -109,9 +130,8 @@
+ msgstr "semanage ସଂଯୋଗ କୁ ସ୍ଥାପିତ କରି ପାରିଲା ନାହିଁ"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s ପାଇଁ ଏମ୍.ଏଲ.ଏସ୍. ପରିସର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "MLS ସକ୍ରିୟ ସ୍ଥିତିକୁ ପରୀକ୍ଷା କରି ପାରିଲା ନାହିଁ"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -120,20 +140,21 @@
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "%s କୁ ଖୋଲିବା ରେ ଅସଫଳ: non-MLS ଯନ୍ତ୍ର ମାନଙ୍କ ରେ ଅନୁବାଦ ଗୁଡିକ ସହାୟକ ହେଲା ନାହିଁ: %s"
++msgstr "%s କୁ ଖୋଲିବାରେ ଅସମର୍ଥ: MLS ହୋଇନଥିବା ଯନ୍ତ୍ରଗୁଡ଼ିକରେ ଅନୁବାଦ ସମର୍ଥିତ ନୁହଁ: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "ସ୍ତର"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "ଅନୁବାଦ"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "ଅନୁବାଦ ଗୁଡିକ ଖାଲି ସ୍ଥାନ ଧାରଣ କରି ପାରିବେ ନାହିଁ '%s' "
++msgstr "ଅନୁବାଦରେ ଖଲିସ୍ଥାନ ରହିପାରିବ ନାହିଁ '%s' "
+ #: ../semanage/seobject.py:250
+ #, python-format
+@@ -143,12 +164,12 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s ଟି ପୂର୍ବରୁ ଅନୁବାଦ ମାନଙ୍କ ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
++msgstr "%s ଠିକଣାକୁ ପୂର୍ବରୁ ଅନୁବାଦରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s ଟି ଅନୁବାଦ ମାନଙ୍କ ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇ ନାହିଁ"
++msgstr "%s କୁ ଅନୁବାଦଗୁଡ଼ିକରେ ବ୍ୟାଖ୍ୟା କରାଯାଇନାହିଁ"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+@@ -156,763 +177,765 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage ବିନିମୟ ପୂର୍ବରୁ ଚାଲିଅଛି"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage ବିନିମୟ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage ବିନିମୟ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "semanage ଅନୁବାଦକୁ ଦାଖଲ କରିପାରିଲା ନାହିଁ"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage ବିନିମୟ ଚାଲୁନାହିଁ"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux ଚାଳକ କୁ ଗୋଟିଏ ତାଲିକା ରେ ଲେଖି ପାରିଲା ନାହିଁ"
++msgstr "SELinux ଏକକାଂଶକୁ ତାଲିକାଭୁକ୍ତ କରିପାରିଲା ନାହିଁ"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+ msgstr "ଅନୁମୋଦନକାରୀ ପ୍ରକାରଗୁଡିକ"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "ଅନୁମତି ପାଇବା ଯୋଗ୍ୟ ପରିସର %s କୁ ବିନ୍ୟାସ କରିପାରିଲା ନାହିଁ (ଏକକାଂଶ ସ୍ଥାପନ ବିଫଳ)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "ଅନୁମତି ପାଇବା ଯୋଗ୍ୟ ପରିସର %s କୁ କାଢ଼ିପାରିଲା ନାହିଁ (କାଢ଼ିବା ବିଫଳ)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s ପାଇଁ ଗୋଟିଏ ଚାବି ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ ର ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux ଚାଳକ %s ଅବସ୍ଥିତ ନାହିଁ"
++msgstr "Linux ଶ୍ରେଣୀ %s ଅବସ୍ଥିତ ନାହିଁ"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux ଚାଳକ %s ଅବସ୍ଥିତ ନାହିଁ"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s ପାଇଁ ନାମ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s ପାଇଁ ଏମ୍.ଏଲ.ଏସ୍. ପରିସର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s ପାଇଁ SELinux ଚାଳକ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux ଚାଳକ ପ୍ରତିଚିତ୍ରଣକୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser କିମ୍ବା serange ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ ର ବ୍ଯାଖ୍ଯା କରାଯାଇ ନାହିଁ"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "%s ପାଇଁ seuser କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିବ ନାହିଁ"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ କୁ ରୂପାନ୍ତରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ ଟି ନିୟମ ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରିହେବ ନାହିଁ"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s ପାଇଁ ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ କୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "ଲଗଇନ୍ ପ୍ରତିଚିତ୍ରଣ କୁ ତାଲିକା ରେ ଲେଖି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "ଲଗଇନ ନାମ"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux ଚାଳକ"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS ପରିସର"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ଅତିକମରେ ଗୋଟିଏ ଭୁମିକା ଯୋଗ କରିବା ଉଚିତ"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "%s SELinux ଚାଳକ ର ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux ଚାଳକ %s କୁ ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s ପାଇଁ SELinux ଚାଳକ କୁ ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "%s ପାଇଁ %s ଦାୟିତ୍ବ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s ପାଇଁ ଏମ୍.ଏଲ.ଏସ୍. ସ୍ତର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "%s ପାଇଁ %s ଉପସର୍ଗ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s ପାଇଁ ଚାବି କୁ ନିର୍ଯ୍ଯାସ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux ଚାଳକ %s କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "ଉପସର୍ଗ, ଦାୟିତ୍ବ, ସ୍ତର କିମ୍ବା ପରିସର ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "ଉପସର୍ଗ କିମ୍ବା ଦାୟିତ୍ବ ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux ଚାଳକ %s କୁ ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରାଯାଇ ନାହିଁ"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s ପାଇଁ ଚାଳକ କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିବ ନାହିଁ"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux ଚାଳକ %s କୁ ରୂପାନ୍ତରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux ଚାଳକ %s କୁ ନୀତି ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରି ପାରିବ ନାହିଁ"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux ଚାଳକ %s କୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux ଚାଳକ କୁ ଗୋଟିଏ ତାଲିକା ରେ ଲେଖି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr " %s ଚାଳକ ର ଦାୟିତ୍ବ କୁ ତାଲିକା ରେ ଲେଖି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "ନାମପଟିକରଣ"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "ଉପସର୍ଗ"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS ସ୍ତର"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS ପରିସର"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux ଭୂମିକାଗୁଡିକ"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "ୟୁ.ଡି.ପି. କିମ୍ବା ଟି.ସି.ପି. ପ୍ରୋଟୋକଲ ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "ସଂଯୋଗିକୀ ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s ପାଇଁ ଚାବି ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "ପ୍ରକାର ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "%s/%s ସଂଯୋଗିକୀ ର ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s ପାଇଁ ସଂଯୋଗିକୀ ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s ପାଇଁ ପ୍ରସଙ୍ଗ ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s ପାଇଁ ସଂଯୋଗିକୀ ପ୍ରସଙ୍ଗ ରେ ଚାଳକ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s ପାଇଁ ସଂଯୋଗିକୀ ପ୍ରସଙ୍ଗ ରେ ଦାୟିତ୍ବ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s ପାଇଁ ସଂଯୋଗିକୀ ପ୍ରସଙ୍ଗ ରେ କିଛି ଭିନ୍ନତା କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s ପାଇଁ ସଂଯୋଗିକୀ ପ୍ରସଙ୍ଗ ରେ ଏମ୍.ଏଲ.ଏସ୍. କ୍ଷେତ୍ର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s ପାଇଁ ସଂଯୋଗିକୀ ପ୍ରସଙ୍ଗ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype କିମ୍ବା serange କୁ ଆବଶ୍ଯକ କରେ"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype କୁ ଆବଶ୍ଯକ କରେ"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇ ନାହିଁ"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ରୂପାନ୍ତରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "ସଂଯୋଗିକୀ ମାନଙ୍କୁ ତାଲିକାଭୁକ୍ତ କରିପାରିବେ ନାହିଁ"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "%s ସଂଯୋଗିକୀ କୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "%s/%s ସଂଯୋଗିକୀ ଟି ନିୟମ ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରିହେବ ନାହିଁ"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "ସଂଯୋଗିକୀ ମାନଙ୍କୁ ତାଲିକା ରେ ଲେଖି ପାରିବ ନାହିଁ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux ସଂଯୋଗିକୀ ପ୍ରକାର"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "ପ୍ରଥମ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "ସଂଯୋଗିକୀ ସଂଖ୍ୟା"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "ସଂଯୋଗିକୀ ଆବଶ୍ଯକ"
++msgstr "ନୋଡ ଠିକଣା ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "ସଂଯୋଗିକୀ ଆବଶ୍ଯକ"
++msgstr "ନୋଡ ନେଟମାସ୍କ ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "ଅଜଣା କିମ୍ବା ଅନୁପସ୍ଥିତ ପ୍ରୋଟୋକଲ"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux ପ୍ରକାର ଆବଶ୍ଯକ"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s ପାଇଁ ଚାବି ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "%s/%s ସଂଯୋଗିକୀ ର ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ଠିକଣା ବ୍ଯାଖ୍ଯା କରାଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
++msgstr "%s ଠିକଣାକୁ ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s ପାଇଁ ଗୋଟିଏ ଚାବି ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ଠିକଣା ସୃଷ୍ଟି କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s ପାଇଁ ପ୍ରସଙ୍ଗ ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s ପାଇଁ ନାମ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ମାସ୍କ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ରେ ଚାଳକ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ଠିକଣା ପ୍ରସଙ୍ଗରେ ଚାଳକକୁ ବିନ୍ୟାସ କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ର ଦାୟିତ୍ବ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ଠିକଣା ପ୍ରସଙ୍ଗରେ ଭୁମିକାକୁ ବିନ୍ୟାସ କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ର ପ୍ରକାର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ଠିକଣା ପ୍ରସଙ୍ଗରେ ପ୍ରକାରକୁ ବିନ୍ୟାସ କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ରେ ଏମ୍.ଏଲ.ଏସ୍. କ୍ଷେତ୍ର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ଠିକଣା ପ୍ରସଙ୍ଗରେ mls କ୍ଷେତ୍ରକୁ ବିନ୍ୟାସ କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
++msgstr "%s ପାଇଁ ଠିକଣା ପ୍ରସଙ୍ଗକୁ ବିନ୍ୟାସ କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
++msgstr "ଠିକଣା %sକୁ ଯୋଗକରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇ ନାହିଁ"
++msgstr "ଠିକଣା %sକୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇ ନାହିଁ"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିଲା ନାହିଁ"
++msgstr "ଠିକଣା %s କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "%s/%s ସଂଯୋଗିକୀ କୁ ରୂପାନ୍ତରିତ କରି ପାରିଲା ନାହିଁ"
++msgstr "ଠିକଣା %s କୁ ପରିବର୍ତ୍ତନ କରିପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "%s/%s ସଂଯୋଗିକୀ ଟି ନିୟମ ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରିହେବ ନାହିଁ"
++msgstr "ଠିକଣା %sଟି ନିୟମରେ ବ୍ଯାଖ୍ଯା କରାଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରିହେବ ନାହିଁ"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ କୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
++msgstr "ଠିକଣା %sକୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "ସଂଯୋଗିକୀ ମାନଙ୍କୁ ତାଲିକା ରେ ଲେଖି ପାରିବ ନାହିଁ"
++msgstr "ଠିକଣାଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରିପାରିବ ନାହିଁ"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ ର ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ ର ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s ପାଇଁ ଅନ୍ତରାପ୍ରୁଷ୍ଠ ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s ପାଇଁ ଅନ୍ତରାପ୍ରୁଷ୍ଠ ପ୍ରସଙ୍ଗ ରେ ଚାଳକ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s ପାଇଁ ଅନ୍ତରାପ୍ରୁଷ୍ଠ ପ୍ରସଙ୍ଗ ରେ ଦାୟିତ୍ବ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s ପାଇଁ ଅନ୍ତରାପ୍ରୁଷ୍ଠ ପ୍ରସଙ୍ଗ ରେ ପ୍ରକାର ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s ପାଇଁ ଅନ୍ତରାପ୍ରୁଷ୍ଠ ପ୍ରସଙ୍ଗ ରେ ଏମ୍.ଏଲ.ଏସ୍. କ୍ଷେତ୍ର ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s ପାଇଁ ଅନ୍ତରାପ୍ରୁଷ୍ଠ ପ୍ରସଙ୍ଗ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s ପାଇଁ ସନ୍ଦେଶ ପ୍ରସଙ୍ଗ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ ର ବ୍ଯାଖ୍ଯା କରାଯାଇ ନାହିଁ"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ କୁ ରୂପାନ୍ତରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ ଟି ନିୟମ ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରି ପାରିବ ନାହିଁ"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "%s ଅନ୍ତରାପ୍ରୁଷ୍ଠ କୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "ଅନ୍ତରାପ୍ରୁଷ୍ଠ ମାନଙ୍କୁ ତାଲିକା ରେ ଲେଖି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux ଅନ୍ତରାପୃଷ୍ଠ"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "ପ୍ରସଙ୍ଗ"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ରେ ଚାଳକ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ର ଦାୟିତ୍ବ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ରେ ଏମ୍.ଏଲ.ଏସ୍. କ୍ଷେତ୍ର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "ଅବୈଧ ଫାଇଲ ନିର୍ଦ୍ଦିଷ୍ଟକ ସୂଚନା"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ର ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ପୂର୍ବରୁ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ସ୍ରୁଷ୍ଟି କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ର ପ୍ରକାର କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ସେଟ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ଯୋଗ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange କିମ୍ବା seuser କୁ ଆବଶ୍ଯକ କରିଥାଏ"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ର ବ୍ଯାଖ୍ଯା କରାଯାଇ ନାହିଁ"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ରୂପାନ୍ତରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗକୁ ତାଲିକାଭୁକ୍ତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "%s ଫାଇଲ ପ୍ରସଙ୍ଗକୁ ଅପସାରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ ଟି ନୀତି ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରି ପାରିବ ନାହିଁ"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s ପାଇଁ ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ଅପସାରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ ତାଲିକା ରେ ଲେଖି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "ସ୍ଥାନୀୟ ଫାଇଲ ପ୍ରସଙ୍ଗକୁ ତାଲିକାରେ ଲେଖି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fପ୍ରସଙ୍ଗ"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "ପ୍ରକାର"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "ବୁଲିଆନ %s ଟି ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "ବୁଲିଆନ %s ଟି ବ୍ଯାଖ୍ଯା କରାଯାଇ ନାହିଁ"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗ କୁ %s କୁ ପ୍ରଶ୍ନ ପଚାରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "ଆପଣ ଗୋଟିଏ ମୂଲ୍ୟ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବା ଉଚିତ"
++msgstr "ଆପଣ ନିମ୍ନଲିଖିତ ମୂଲ୍ୟଗୁଡ଼ିକ ମଧ୍ଯରୁ ଗୋଟିଏ ଉଲ୍ଲେଖକରିବା ଉଚିତ: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "ବୁଲିଆନ %s ର ସକ୍ରିୟ ମୁଲ୍ୟ ସ୍ଥିର କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "ବୁଲିଆନ %s କୁ ରୂପାନ୍ତରିତ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "ଖରାପ ଶୈଳୀ %s: ଅନୁଲିପି %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "ବୁଲିଆନ %s ଟି ନିୟମ ରେ ବ୍ଯାଖ୍ଯା କରା ଯାଇଛି, ଏହାକୁ ଅପସାରଣ କରିହେବ ନାହିଁ"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "ବୁଲିଆନ %s କୁ ଅପସାରଣ କରି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "ବୁଲିଆନ ମାନଙ୍କୁ ତାଲିକା ରେ ଲେଖି ପାରିଲା ନାହିଁ"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "ଅଜଣା"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "ଅଫ"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "ଅନ"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux ବୁଲିଆନ"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "ବର୍ଣ୍ଣନା"
+@@ -952,9 +975,9 @@
+ msgstr "ପରିବେଶକୁ ସଫା କରିବାରେ ଅସମର୍ଥ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "ସାମର୍ଥ୍ଯ ମାନଙ୍କ ର ପ୍ରାରମ୍ଭିକରଣ ସମୟ ରେ ତୃଟି, ପରିତ୍ଯାଗ କରୁଅଛି \n"
++msgstr "କ୍ଷମତାଗୁଡ଼ିକୁ ପ୍ରାରମ୍ଭ ସମୟରେ ତୃଟି, ପରିତ୍ଯାଗ କରୁଅଛି।\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1284,1560 +1307,2202 @@
+ msgid "Options Error %s "
+ msgstr "ପସନ୍ଦ ତୃଟି %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "non-MLS ଯନ୍ତ୍ର ମାନଙ୍କ ରେ ଅନୁବାଦ ଗୁଡିକ ସହାୟକ ହେଲା ନାହିଁ"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "ବୁଲିଆନ"
+-
+-#~ msgid "all"
+-#~ msgstr "ସମସ୍ତ"
+-
+-#~ msgid "Customized"
+-#~ msgstr "ଇଚ୍ଛାରୂପଣ"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "ଫାଇଲ ନାମପଟିକରଣ"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ଫାଇଲ\n"
+-#~ "ନିର୍ଦ୍ଦିଷ୍ଟକ ସୂଚନା"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "ଫାଇଲ ପ୍ରକାର"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "ଫାଇଲ\n"
+-#~ "ପ୍ରକାର"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "ଚାଳକ ପ୍ରତିଚିତ୍ରଣ"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "ଲଗଇନ\n"
+-#~ "ନାମ"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ଚାଳକ"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS ପରିସର"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "ଲଗଇନ '%s' ଟି ଆବଶ୍ୟକ"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "ନୀତି ଏକକାଂଶ"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "ଏକକାଂଶ ନାମ"
+-
+-#~ msgid "Version"
+-#~ msgstr "ସଂସ୍କରଣ"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "ଲେଖା ପରୀକ୍ଷଣକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "ଲେଖା ପରୀକ୍ଷଣକୁ ସକ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "ନୀତି ଏକକାଂଶ ଧାରଣ କରନ୍ତୁ"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "ପଲଜେନ"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "ମନୋଜ କୁମାର ଗିରି"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux ନୀତି ସୃଷ୍ଟି ଉପକରଣ"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "ପ୍ରୟୋଗଗୁଡିକୁ କିମ୍ବା SELinux ବ୍ୟବହାର କରୁଥିବା ଚାଳକଗୁଡିକୁ ପରିସୀମିତ କରିବାକୁ ଏହି ସାଧନଟି ଗୋଟିଏ ନୀତି "
+-#~ "ଢାଞ୍ଚା ସୃଷ୍ଟିକରିବାରେ ବ୍ୟବହାର କରିହେବ।   \n"
+-#~ "\n"
+-#~ "ଏହି ସାଧନଟି ସୃଷ୍ଟିକରେ:\n"
+-#~ "ପ୍ରବର୍ତ୍ତନ ଫାଇଲ ଟାଇପ କରିବାରେ (te)\n"
+-#~ "\n"
+-#~ "ଅନ୍ତରାପୃଷ୍ଠ ଫାଇଲ (if)\n"
+-#~ "ସେଲ ସ୍କ୍ରିପ୍ଟ (sh) - ନୀତି ସଙ୍କଳନ ଏବଂ ସ୍ଥାପନ କରିବାରେ ବ୍ୟବହୃତ ହୋଇଥାଏ।"
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "ପରିସୀମିତ କରିବାକୁ ଥିବା ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାର ପ୍ରକାର ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>ପ୍ରୟୋଗଗୁଡିକ</b>"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "ମାନକ Init ଡେମନ ଗୁଡିକ ହେଲା init ସ୍କ୍ରିପ୍ଟ ଜରୀଆରେ ବୁଟରେ ଆରମ୍ଭ ହେଉଥିବା ଡେମନଗୁଡିକ।  "
+-#~ "ସାଧାରଣତଃ /etc/rc.d/init.d ରେ ଗୋଟିଏ ସ୍କ୍ରିପ୍ଟ ଆବଶ୍ୟକ କରେ। "
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "ମାନକ Init ଡେମନ"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "ଇଣ୍ଟରନେଟ ସେବା ଡେମନ ଗୁଡିକ xinetd ଦ୍ୱାରା ଆରମ୍ଭ କରାଯାଇଥିବା ଡେମନ"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "ଇଣ୍ଟରନେଟ ସେବା ଡେମନ (inetd)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "ୱେବ ପ୍ରୟୋଗଗୁଡିକ/ସ୍କ୍ରିପ୍ଟ (CGI) ୱେବ ସରର୍ଭର (apache) ଦ୍ୱାରା ଆରମ୍ଭ ହୋଇଥିବା CGI ସ୍କ୍ରିପ୍ଟ"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "ୱେବ ପ୍ରୟୋଗ/ସ୍କ୍ରିପ୍ଟ (CGI)"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "ଚାଳକ ପ୍ରୟୋଗଗୁଡିକ ହେଉଛି କୌଣସି ପ୍ରୟୋଗ ଯାହାକୁକି ଆପଣ ପରିସୀମିତ କରିବାକୁ ଚାହିଁବେ ଯାହାକି ଚାଳକ "
+-#~ "ଦ୍ୱାରା ଆରମ୍ଭ ହୋଇଥାଏ"
+-
+-#~ msgid "User Application"
+-#~ msgstr "ଚାଳକ ପ୍ରୟୋଗ"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>ଲଗଇନ ଚାଳକଗୁଡିକ</b>"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "ଗୋଟିଏ ଅବସ୍ଥିତ ଲଗଇନ ଚାଳକ ଅନୁଲିପିକୁ ରୂପାନ୍ତର କରନ୍ତୁ।"
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "ଅବସ୍ଥିତ ଚାଳକ ଭୂମିକା"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "ଏହି ଚାଳକଟି କେବଳ ଗୋଟିଏ ଟର୍ମିନାଲ ମାଧ୍ଯମରେ କିମ୍ବା ସୂଦୁର ଲଗଇନ ମାଧ୍ଯମରେ ଯନ୍ତ୍ରରେ ଲଗଇନ "
+-#~ "କରିପାରିବ।  ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ଏହି ଚାଳକର setuid ନଥିବ, ନେଟୱର୍କିଙ୍ଗ ନଥିବ, su ନଥିବ, sudo "
+-#~ "ନଥିବ।"
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "ନ୍ୟୁନତମ ଟର୍ମିନାଲ ଚାଳକ ଭୂମିକା"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "ଏହି ଚାଳକଟି X କିମ୍ବା ଟର୍ମିନାଲ ମାଧ୍ଯମରେ ଯନ୍ତ୍ରରେ ଲଗଇନ କରିପାରେ।  ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ଏହି "
+-#~ "ଚାଳକର setuid ନଥିବ, ନେଟୱର୍କିଙ୍ଗ ନଥିବ, sudo ନଥିବ, su ନଥିବ "
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "ନ୍ୟୁନତମ X ୱିଣ୍ଡୋ ଚାଳକ ଭୂମିକା"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "ସମ୍ପୂର୍ଣ୍ଣ ନେଟୱର୍କିଙ୍ଗ ବିଶିଷ୍ଟ ଚାଳକ, ସକର୍ମ ବିନା କୌଣସି setuid ପ୍ରୟୋଗ ନାହିଁ, sudo ନାହିଁ, su "
+-#~ "ନାହିଁ।"
+-
+-#~ msgid "User Role"
+-#~ msgstr "ଚାଳକ ଭୂମିକା"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "ସମ୍ପୂର୍ଣ୍ଣ ନେଟୱର୍କିଙ୍ଗ ବିଶିଷ୍ଟ ଚାଳକ, ସକର୍ମ ବିନା କୌଣସି setuid ପ୍ରୟୋଗ ନାହିଁ, su ନାହିଁ, sudo ରୁ "
+-#~ "ମୂଳ ପ୍ରଶାସନ ଭୂମିକାଗୁଡିକୁ"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "ପ୍ରଶାସନ ଚାଳକ ନିତୀ"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>ମୂଳ ଚାଳକଗୁଡିକ</b>"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "ମୂଳ ପ୍ରଶାସକ ଚାଳକ ଭୂମିକାକୁ ଚୟନ କରନ୍ତୁ, ଯଦି ଏହି ଚାଳକଟି ମୂଳ ଆକାରରେ ଚାଲୁଥିବା ସମୟରେ ଯନ୍ତ୍ରକୁ "
+-#~ "ପ୍ରଶାସନ କରିବାରେ ବ୍ୟବହୃତ ହେବ।  ଏହି ଚାଳକଟି ସିଧାସଳଖ ଭାବରେ ଯନ୍ତ୍ରରେ ଲଗଇନ କରିବାକୁ ସମର୍ଥ "
+-#~ "ହେବ ନାହିଁ।"
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "ମୂଳ ପ୍ରଶାସନ ଚାଳକ ଭୂମିକା"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "ପରିସୀମିତ ହେବାକୁଥିବା ପ୍ରୟୋଗର ନାମ କିମ୍ୱା ଚାଳକ ଭୂମିକାକୁ ଭରଣ କରନ୍ତୁ"
+-
+-#~ msgid "Name"
+-#~ msgstr "ନାମ"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "ନିଷ୍ପାଦ୍ୟକୁ ପରିସୀମିତ କରିବାପାଇଁ ସମ୍ପୂର୍ଣ୍ଣ ପଥ ଭରଣ କରନ୍ତୁ।"
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "ପରିସୀମିତ ପ୍ରୟୋଗ କିମ୍ୱା ଚାଳକ ଭୂମିକା ପାଇଁ ଏକୈକ ନାମ ଭରଣ କରନ୍ତୁ।"
+-
+-#~ msgid "Executable"
+-#~ msgstr "ନିଷ୍ପାଦ୍ୟ"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Init ସ୍କ୍ରିପ୍ଟ"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "ପରିସୀମିତ ପ୍ରୟୋଗକୁ ଆରମ୍ଭ କରିବାପାଇଁ ବ୍ୟବହାର ହେଉଥିବା init ସ୍କ୍ରିପ୍ଟକୁ ସମ୍ପୂର୍ଣ୍ଣ ପଥ ଭରଣ କରନ୍ତୁ।"
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "ଆପଣ ଇଚ୍ଛାରୂପଣ କରିବାକୁ ଚାହୁଁଥିବା ଚାଳକ ଭୂମିକା ଗୁଡିକୁ ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "ଚାଳକ ଭୂମିକା ଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯିଏ ଏହି ପ୍ରୟୋଗ ପରିସରଗୁଡିକୁ ସକର୍ମ କରିବ।"
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "ଅତିରିକ୍ତ ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁକି ଏହି ଚାଳକ ଭୂମିକା ସକର୍ମ କରିବ"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "ପ୍ରୟୋଗ ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁ ଆପଣ ଚାହୁଁଥିବା ଚାଳକ ଭୁମିକାକୁ ସକର୍ମ କରିବ।"
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "ଚାଳକ ଭୂମିକାଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯିଏ ଏହି ପରିସରକୁ ସକର୍ମ କରିବ"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "ଅତିରିକ୍ତ ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁକି ଏହି ଚାଳକ ଭୂମିକା ପ୍ରଶାସନ କରିବ"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁକି ଏହି ଚାଳକ ପ୍ରଶାସନ କରିବ।"
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "ଏହି ଚାଳକ ପାଇଁ ଅତିରିକ୍ତ ଭୁମିକାଗୁଡିକୁ ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ମାନୁଥିବା ନେଟୱର୍କ ସଂଯୋଗିକୀଗୁଡିକୁ ଭରଣ କରନ୍ତୁ"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP ସଂଯୋଗିକୀ</b>"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr "କୌଣସି udp ସଂଯୋଗିକୀକୁ ବାନ୍ଧିବା ପାଇଁ ପରିସୀମିତ ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "All"
+-#~ msgstr "ସମସ୍ତ"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "bindresvport କୁ 0 ସହିତ ଡାକିବା ପାଇଁ ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ସଂଯୋଗିକୀ 600-"
+-#~ "1024 କୁ ବାନ୍ଧିକରି"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "udp ସଂଯୋଗିକୀ ମାନଙ୍କର କମା ବିଭାଜିତ ତାଲିକା କିମ୍ୱା ସଂଯୋଗିକୀ ମାନଙ୍କର ପରିସର ଯିଏକି ପ୍ରୟୋଗ/"
+-#~ "ଚାଳକ ଭୂମିକାକୁ ବାନ୍ଧିଥାଏ। ଉଦାହରଣ: 612, 650-660"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "ଅସଂରକ୍ଷିତ ସଂଯୋଗିକୀ  (> 1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "ସଂଯୋଗିକୀ ଚୟନକରନ୍ତୁ"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr "କୌଣସି udp ସଂଯୋଗିକୀ > 1024 କୁ ବାନ୍ଧିବା ପାଇଁ ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP ସଂଯୋଗିକୀ</b>"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ସଂଯୁକ୍ତ ନେଟୱର୍କ ସଂଯୋଗିକୀଗୁଡିକୁ ଭରଣ କରନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "tcp ସଂଯୋଗିକୀ ମାନଙ୍କର କମା ବିଭାଜିତ ତାଲିକା କିମ୍ୱା ସଂଯୋଗିକୀ ମାନଙ୍କର ପରିସର ଯିଏକି ପ୍ରୟୋଗ/"
+-#~ "ଚାଳକ ଭୂମିକାକୁ ସଂଯୋଗ କରିଥାଏ। ଉଦାହରଣ: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "udp ସଂଯୋଗିକୀ ମାନଙ୍କର କମା ବିଭାଜିତ ତାଲିକା କିମ୍ୱା ସଂଯୋଗିକୀ ମାନଙ୍କର ପରିସର ଯିଏକି ପ୍ରୟୋଗ/"
+-#~ "ଚାଳକ ଭୂମିକାକୁ ସଂଯୋଗ କରିଥାଏ। ଉଦାହରଣ: 612, 650-660"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "ସାଧାରଣ ପ୍ରୟୋଗ ବିଶିଷ୍ଟତା ଗୁଡିକୁ ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog ସନ୍ଦେଶଗୁଡିକୁ ଲେଖିଥାଏ\t"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp ରେ ଅସ୍ଥାୟୀ ଫାଇଲଗୁଡିକୁ ସୃଷ୍ଟି/ପ୍ରକଳନ କରନ୍ତୁ"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "ବୈଧିକରଣ ପାଇଁ Pam ବ୍ୟବହାର କରେ"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch କିମ୍ୱା getpw* ଡାକରା ବ୍ୟବହାର କରେ"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus ବ୍ୟବହାର କରେ"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ଲେଖା ପରୀକ୍ଷଣ ସନ୍ଦେଶ ପଠାଏ"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "ଟର୍ମିନାଲ ସହିତ ପାରସ୍ପର ଉପରେ ପ୍ରଭାବ ପକାଏ"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "ଇମେଲ ପଠାଏ"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "ପ୍ରୟୋଗ ପରିଚାଳନ କରୁଥିବା ଫାଇଲ/ଡିରେକ୍ଟୋରୀ ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "ଫାଇଲ/ଡିରେକ୍ଟୋରି ଗୁଡିକୁ ସଂଯୋଗକରନ୍ତୁ ଯାହାକି ପ୍ରୟୋଗରେ \"ଲେଖିବା\" କୁ ଆବଶ୍ୟକ କରେ। Pid "
+-#~ "ଫାଇଲଗୁଡିକ, Log ଫାଇଲଗୁଡିକ, /var/lib ଫାଇଲଗୁଡିକ ..."
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "ବୁଲିଆନଗୁଡିକୁ ଚୟନକରନ୍ତୁ ଯାହାକୁ ପ୍ରୟୋଗ ବ୍ୟବହାର କରେ"
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "ଏହି ପରିସୀମିତ ପ୍ରୟୋଗ/ଚାଳକ ପାଇଁ ବୁଲିଆନଗୁଡିକୁ ଯୋଗ/ଅପସାରଣ କରନ୍ତୁ"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "ଭିତର ନୀତି ସୃଷ୍ଟି କରିବା ପାଇଁ ଡିରେକ୍ଟୋରୀ ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "ନୀତି ଡିରେକ୍ଟୋରୀ"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "ସୃଷ୍ଟିହେଇଥିବା ନୀତି ଫାଇଲଗୁଡିକ"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ଏହି ସାଧନଟି ନିମ୍ନଲିଖିତ ମାନଙ୍କୁ ସୃଷ୍ଟି କରିବ: \n"
+-#~ "ପ୍ରବର୍ତ୍ତନ ଟାଇପକରିବା(te), ଫାଇଲ ପ୍ରସଙ୍ଗ(fc), ଅନ୍ତରାପୃଷ୍ଠ(if), ସେଲ ସ୍କ୍ରିପ୍ଟ(sh)\n"
+-#~ "ସଙ୍କଳନ/ସ୍ଥାପନ କରିବାକୁ ସେଲ ସ୍କ୍ରିପ୍ଟ ନିଷ୍ପାଦନ କରେ ଏବଂ ଫାଇଲ/ଡିରେକ୍ଟୋରୀକୁ ପୁନଃଚିହ୍ନଟ କରେ।  \n"
+-#~ "Linux ଲଗଇନ ଚାଳକକୁ ଚାଳକ ଭୂମିକା ସହିତ ପରିକଳ୍ପନା କରିବାକୁ semanage କିମ୍ବା useradd ବ୍ୟବହାର "
+-#~ "କରିଥାଏ।\n"
+-#~ "ଯନ୍ତ୍ରକୁ ଅନୁମୋଦନକାରୀ ଅବସ୍ଥାରେ ରଖେ (setenforce 0)। \n"
+-#~ "ଚାଳକ ଭାବରେ ଲଗଇନ କରିଥାଏ ଏବଂ ଏହି ଚାଳକ ଭୂମିକାକୁ ପରୀକ୍ଷା କରିଥାଏ।\n"
+-#~ "te ଫାଇଲ ପାଇଁ ଅତିରିକ୍ତ ନିୟମ ସୃଷ୍ଟିକରିବା ପାଇଁ audit2allow -R ବ୍ୟବହାର କରେ।\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ଏହି ସାଧନଟି ନିମ୍ନଲିଖିତ ମାନଙ୍କୁ ସୃଷ୍ଟି କରିବ: \n"
+-#~ "ପ୍ରବର୍ତ୍ତନ ଟାଇପକରିବା(te), ଫାଇଲ ପ୍ରସଙ୍ଗ(fc), ଅନ୍ତରାପୃଷ୍ଠ(if), ସେଲ ସ୍କ୍ରିପ୍ଟ(sh)\n"
+-#~ "\n"
+-#~ "ସଙ୍କଳନ/ସ୍ଥାପନ କରିବାକୁ ସେଲ ସ୍କ୍ରିପ୍ଟ ନିଷ୍ପାଦନ କରେ ଏବଂ ଫାଇଲ/ଡିରେକ୍ଟୋରୀକୁ ପୁନଃଚିହ୍ନଟ କରେ।  \n"
+-#~ "ଯନ୍ତ୍ରକୁ ଅନୁମୋଦନକାରୀ ଅବସ୍ଥାରେ ରଖେ (setenforce 0)। \n"
+-#~ "avc ସନ୍ଦେଶଗୁଡିକୁ ସୃଷ୍ଟି କରବାପାଇଁ ପ୍ରୟୋଗକୁ ଚଲାଇଥାଏ/ପୁନଃଆରମ୍ଭ କରିଥାଏ।\n"
+-#~ "te ଫାଇଲ ପାଇଁ ଅତିରିକ୍ତ ନିୟମ ସୃଷ୍ଟିକରିବା ପାଇଁ audit2allow -R ବ୍ୟବହାର କରେ।\n"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "ବୁଲିୟାନ ସଂଳାପ ଯୋଗକରନ୍ତୁ"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "ବୁଲିଆନ ନାମ"
+-
+-#~ msgid "Role"
+-#~ msgstr "ଭୂମିକା"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "ଅବସ୍ଥିତ ଚାଳକ (_U)"
+-
+-#~ msgid "Application"
+-#~ msgstr "ପ୍ରୟୋଗ"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s ନିଶ୍ଚିତ ରୂପେ ଗୋଟିଏ ଡିରେକ୍ଟରୀ"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "ଆପଣ ଗୋଟିଏ ଚାଳକ ଚୟନ କରିବା ଉଚିତ"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "ପରିସୀମିତ ରହିବାକୁ ନିଷ୍ପାଦ୍ୟ ଫାଇଲ ଚୟନ କରନ୍ତୁ।"
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "ପରିସୀମିତ ରହିବାକୁ init ସ୍କ୍ରିପ୍ଟ ଫାଇଲ ଚୟନ କରନ୍ତୁ।"
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "ପରିସୀମିତ ପ୍ରୟୋଗ ସୃଷ୍ଟି କରିବା କିମ୍ୱା ଲେଖିବାକୁ ଫାଇଲ(ଗୁଡିକୁ) ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "ପରିସୀମିତ ପ୍ରୟୋଗ ହାସଲ କରିବା କିମ୍ୱା ଲେଖିବାକୁ ଡିରେକ୍ଟୋରୀ(ଗୁଡିକୁ) ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "ଭିତର ନୀତି ଫାଇଲ ସୃଷ୍ଟି କରିବା ପାଇଁ ଡିରେକ୍ଟୋରୀ ଚୟନ କରନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "%s_t ପ୍ରକାରକୁ ପ୍ରଚଳିତ ନୀତିରେ ପୂର୍ବରୁ ବ୍ୟଖ୍ୟା କରାଯାଇଛି।\n"
+-#~ "ଆପଣ ଚାଲୁ ରଖିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "ନାମ ଯାଞ୍ଚ କରନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "%s.pp ଏକକାଂଶ ପ୍ରଚଳିତ ନୀତିରେ ପୂର୍ବରୁ ଧାରଣ କରାଯାଇଛି।\n"
+-#~ "ଆପଣ ଚାଲୁ ରଖିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "ଆପଣ ଗୋଟିଏ ନାମ ଭରଣ କରିବା ଉଚିତ"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "ଆପଣ ଗୋଟିଏ ନିଷ୍ପାଦ୍ୟ ଭରଣ କରିବା ଉଚିତ"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux ବିନ୍ୟାସ କରନ୍ତୁ"
+-
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "ସଂଯୋଗିକୀଗୁଡିକ ନିଶ୍ଚିତ ରୂପେ ସଂଖ୍ୟା କିମ୍ବା 1 ରୁ %d ପର୍ଯ୍ୟନ୍ତ ସଂଖ୍ୟାର ପରିସର ହୋଇଥିବା ଉଚିତ"
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "ଆପଣଙ୍କର ପରିସୀମିତ ପ୍ରଣାଳୀ/ଚାଳକ ପାଇଁ ଆପଣ ଗୋଟିଏ ନାମ ଭରଣ କରିବା ଉଚିତ"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "ଚାଳକ ପ୍ରକାର ଗୁଡିକ ଅନୁମତିପ୍ରାପ୍ତ ନିଷ୍ପାଦ୍ୟ ନୁହଁନ୍ତି"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "କେବଳ ଡେମନ apps init ସ୍କ୍ରିପ୍ଟ ବ୍ୟବହାର କରିପାରିବେ"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog ଟି ଗୋଟିଏ ବୁଲିଆନ ମୂଲ୍ୟ ହୋଇଥିବା ଉଚିତ"
+-
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER ପ୍ରକାରଗୁଡିକ ସ୍ୱୟଂଚାଳିତଭାବେ ଗୋଟିଏ tmp ପ୍ରକାର ପାଇଥାଏ"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "ଆପଣଙ୍କର ପରିସୀମିତ ପ୍ରଣାଳୀ ପାଇଁ ଗୋଟିଏ ନିଷ୍ପାଦ୍ୟ ପଥ ଭରଣ କରିବା ଉଚିତ"
+-
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "ପ୍ରବର୍ତ୍ତନ ଫାଇଲକୁ ଟାଇପ କରନ୍ତୁ"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "ଅନ୍ତରାପ୍ରୁଷ୍ଠ ଫାଇଲ"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗ ଫାଇଲ"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "ସ୍କ୍ରିପ୍ଟ ବ୍ୟବସ୍ଥା"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux ସଂଯୋଗିକୀ\n"
+-#~ "ପ୍ରକାର"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "ପ୍ରଟୋକଲ"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "ସ୍ତର"
+-
+-#~ msgid "Port"
+-#~ msgstr "ସଂଯୋଗିକୀ"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "ସଂଯୋଗିକୀ ସଂଖ୍ୟା \"%s\" ଟି ବୈଧ ନୁହଁ  0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "ତାଲିକା ଦୃଶ୍ୟ"
+-
+-#~ msgid "Group View"
+-#~ msgstr "ସମୁହ ଦୃଶ୍ୟ"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux ଚାଳକ ସୁରକ୍ଷା"
+-
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Admin"
+-#~ msgstr "ପ୍ରଶାସନ"
+-
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "ସର୍ବପ୍ରଧାନ ଫାଇଲଗୁଡିକୁ ଲେଖିବାକୁ ସମସ୍ତ ଡେମନଗୁଡିକୁ ଅନୁମତି ଦିଅନ୍ତୁ /"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "ସମସ୍ତ ଡେମନଗୁଡିକୁ ଅବଣ୍ଟିତ tty ଗୁଡିକୁ ବ୍ୟବହାର କରିବାର କ୍ଷମତା ପ୍ରଦାନ କରନ୍ତୁ"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "ଚାଳକ ଗୋପନୀୟତା"
+-
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
+-#~ "ଦିଅନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ଅତିଥି SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
+-#~ "ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "ସ୍ମୃତି ସୁରକ୍ଷା"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "java ନିଷ୍ପାଦ୍ୟ ଥାକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Mount"
+-#~ msgstr "ସ୍ଥାପନ"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "ଯେକୌଣସି ଫାଇଲକୁ ସ୍ଥାପନ କରିବାକୁ ସ୍ଥାପନ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "ଯେକୌଣସି ଡିରେକ୍ଟୋରୀକୁ ସ୍ଥାପନ କରିବାକୁ ସ୍ଥାପନ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer ନିଷ୍ପାଦ୍ୟ ଥାକ କୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh-keysign କୁ ଚଲାଇବା ପାଇଁ ssh କୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "staff SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
+-#~ "ଦିଅନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
+-#~ "ଦିଅନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "unconfined SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ "
+-#~ "ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "ନେଟୱର୍କ ବିନ୍ୟାସ"
+-
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "ନାମପଟିକରଣ ହୋଇନଥିବା ପ୍ୟାକେଟଗୁଡିକୁ ନେଟୱର୍କରେ ପ୍ରବାହ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "ଚାଳକ SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
+-#~ "ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "ଅପରିସୀମିତ dyntrans କୁ ଅପରିସୀମିତ_execmen ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Databases"
+-#~ msgstr "ତଥ୍ୟାଧାର"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "mysql ସକେଟ ସହିତ ସଂଯୋଗ ସ୍ଥାପନ କରିବାପାଇଁ ଚାଳକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "postgres ସକେଟ ସହିତ ସଂଯୋଗ ସ୍ଥାପନ କରିବାପାଇଁ ଚାଳକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "XServer"
+-#~ msgstr "Xସର୍ଭର"
+-
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "X ସହଭାଗୀ ସ୍ମୃତିରେ ଲେଖିବା ପାଇଁ ଗ୍ରାହକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "x ଚାଳକ SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
+-#~ "ଦିଅନ୍ତୁ"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "NIS ସହିତ ଚାଲିବାପାଇଁ ଡେମନକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "ୱେବ ପ୍ରୟୋଗ"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "ସକର୍ମ staff SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "ସକର୍ମ sysadm SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "ସକର୍ମ user SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "ସକର୍ମ xguest SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "ମୂଳ ଡିରେକ୍ଟୋରୀରେ ଲେଖିବା ପାଇଁ staff Web Browsers କୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Cluster ସର୍ଭର  ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "ବିଭିନ୍ନ ପ୍ରକାର ପ୍ରସଙ୍ଗକୁ ପଢିବାପାଇଁ cdrecordକୁ ଅନୁମତି ଦିଅନ୍ତୁ। nfs, samba, ଅପସାରଣୀୟ "
+-#~ "ଯନ୍ତ୍ରଗୁଡିକୁ, ଚାଳକ temp ଏବଂ ଅବିସ୍ଵସ୍ତ ପ୍ରସଙ୍ଗ ଫାଇଲଗୁଡିକ"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Cron"
+-#~ msgstr "କ୍ରନ"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Printing"
+-#~ msgstr "ମୁଦ୍ରଣ କରୁଅଛି"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd ପଛପାଖ ସର୍ଭର ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "ବୁଲିଆନ"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "ସମସ୍ତ"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "ଇଚ୍ଛାରୂପଣ"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "ଫାଇଲ ନାମପଟିକରଣ"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifdନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "start ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "ବିକାସ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Games"
+-#~ msgstr "ଖେଳ"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "ଖେଳ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "ୱେବ ବ୍ରାଉଜର ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Thunderbird ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "ସୁସଂଗତି"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "ଆମେ ଜାଣିଥିବା ଜିନିଷ ଯାହାକି ଭାଙ୍ଗିବାକୁ ଯାଉଛି କିନ୍ତୁ ଯେଉଁଥିରେ ସୁରକ୍ଷା ବିପତ୍ତି ନାହିଁ ତାକୁ ସମୀକ୍ଷା "
+-#~ "କରନ୍ତୁ ନାହିଁ"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "ଆଧାରନାମ ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "cups hplip ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogs ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD ସେବା"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inet child ଡେମନଗୁଡିକ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "କେର୍ବେରୋଶ"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk ଡେମନଗୁଡିକ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "ଚାଳକ ଫାଇଲଗୁଡିକୁ ପଢିବା ପାଇଁ ଇଭଲ୍ୟୁସନ ଏବଂ ଥଣ୍ଡରବର୍ଡକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "ଚାଳକ ଫାଇଲଗୁଡିକୁ ପଢିବା ପାଇଁ ମଜିଲା ବ୍ରାଉଜରକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "ନାମ ସେବା"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "ନେଟୱର୍କ ପରିଚାଳକ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Samba"
+-#~ msgstr "ଶାମ୍ବା"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "ଗୋଟିଏ ସାଧାରଣ ଚାଳକ ପାଇଁ pppd ଚଲାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ଫାଇଲ\n"
++"ନିର୍ଦ୍ଦିଷ୍ଟକ ସୂଚନା"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"ଫାଇଲ ପ୍ରକାର"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ଫାଇଲ\n"
++"ପ୍ରକାର"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "ଚାଳକ ପ୍ରତିଚିତ୍ରଣ"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"ଲଗଇନ\n"
++"ନାମ"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"ଚାଳକ"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readahead ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS ପରିସର"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr "ମାନକ ବିହିନ ସ୍ଥାନମାନଙ୍କରେ (default_t) ଫାଇଲ ପଢିବାପାଇଁ ପ୍ରଗ୍ରାମ ଗୁଡିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "ଲଗଇନ '%s' ଟି ଆବଶ୍ୟକ"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "ନୀତି ଏକକାଂଶ"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "ଏକକାଂଶ ନାମ"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "ସଂସ୍କରଣ"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ଲେଖା ପରୀକ୍ଷଣକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ଲେଖା ପରୀକ୍ଷଣକୁ ସକ୍ରିୟ କରନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "ନୀତି ଏକକାଂଶ ଧାରଣ କରନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "ପଲଜେନ"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ssh କୁ ଡେମନ ଆକାରରେ ଚଲାଇବା ବଦଳରେ inetd ରୁ ଚଲାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "ମନୋଜ କୁମାର ଗିରି"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "nfs ଡିରେକ୍ଟୋରୀଗୁଡିକରେ ଅଂଶଧନ କରିବା ପାଇଁ Sambaକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"ପ୍ରୟୋଗଗୁଡିକୁ କିମ୍ବା SELinux ବ୍ୟବହାର କରୁଥିବା ଚାଳକଗୁଡିକୁ ପରିସୀମିତ କରିବାକୁ ଏହି ସାଧନଟି ଗୋଟିଏ ନୀତି "
++"ଢାଞ୍ଚା ସୃଷ୍ଟିକରିବାରେ ବ୍ୟବହାର କରିହେବ।   \n"
++"\n"
++"ଏହି ସାଧନଟି ସୃଷ୍ଟିକରେ:\n"
++"ପ୍ରବର୍ତ୍ତନ ଫାଇଲ ଟାଇପ କରିବାରେ (te)\n"
++"\n"
++"ଅନ୍ତରାପୃଷ୍ଠ ଫାଇଲ (if)\n"
++"ସେଲ ସ୍କ୍ରିପ୍ଟ (sh) - ନୀତି ସଙ୍କଳନ ଏବଂ ସ୍ଥାପନ କରିବାରେ ବ୍ୟବହୃତ ହୋଇଥାଏ।"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL ବୈଧିକରଣ ସର୍ଭର"
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "ପରିସୀମିତ କରିବାକୁ ଥିବା ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାର ପ୍ରକାର ଚୟନ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>ପ୍ରୟୋଗଗୁଡିକ</b>"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "/etc/shadow କୁ ପଢିବା ପାଇଁ sasl ବୈଧିକରଣ ସର୍ଭରକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"ମାନକ Init ଡେମନ ଗୁଡିକ ହେଲା init ସ୍କ୍ରିପ୍ଟ ଜରୀଆରେ ବୁଟରେ ଆରମ୍ଭ ହେଉଥିବା ଡେମନଗୁଡିକ।  "
++"ସାଧାରଣତଃ /etc/rc.d/init.d ରେ ଗୋଟିଏ ସ୍କ୍ରିପ୍ଟ ଆବଶ୍ୟକ କରେ। "
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "ଗୋଟିଏ ସ୍ମୃତି ସ୍ଥାନକୁ ଉଭୟ ନିଷ୍ପାଦ୍ୟ ଏବଂ ଲିଖନୀୟ ଆକାରରେ ପ୍ରତିଚିତ୍ରଣ କରିବା ପାଇଁ X-ୱିଣ୍ଡୋ ସର୍ଭରକୁ "
+-#~ "ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "ମାନକ Init ଡେମନ"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS ତନ୍ତ୍ର ଡେମନ"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "ଇଣ୍ଟରନେଟ ସେବା ଡେମନ ଗୁଡିକ xinetd ଦ୍ୱାରା ଆରମ୍ଭ କରାଯାଇଥିବା ଡେମନ"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "ଇଣ୍ଟରନେଟ ସେବା ଡେମନ (inetd)"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"ୱେବ ପ୍ରୟୋଗଗୁଡିକ/ସ୍କ୍ରିପ୍ଟ (CGI) ୱେବ ସରର୍ଭର (apache) ଦ୍ୱାରା ଆରମ୍ଭ ହୋଇଥିବା CGI ସ୍କ୍ରିପ୍ଟ"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "ୱେବ ପ୍ରୟୋଗ/ସ୍କ୍ରିପ୍ଟ (CGI)"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "sysadm_t, sudo ଏବଂ su ର ଅଭିପ୍ରାୟର ପରିବର୍ତ୍ତନକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"ଚାଳକ ପ୍ରୟୋଗଗୁଡିକ ହେଉଛି କୌଣସି ପ୍ରୟୋଗ ଯାହାକୁକି ଆପଣ ପରିସୀମିତ କରିବାକୁ ଚାହିଁବେ ଯାହାକି ଚାଳକ ଦ୍ୱାରା "
++"ଆରମ୍ଭ ହୋଇଥାଏ"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "କୌଣସି ପ୍ରଣାଳୀକୁ କର୍ଣ୍ଣଲ ଏକକାଂଶ ଧାରଣ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "ଚାଳକ ପ୍ରୟୋଗ"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>ଲଗଇନ ଚାଳକଗୁଡିକ</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "ଗୋଟିଏ ଅବସ୍ଥିତ ଲଗଇନ ଚାଳକ ଅନୁଲିପିକୁ ରୂପାନ୍ତର କରନ୍ତୁ।"
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "ଅବସ୍ଥିତ ଚାଳକ ଭୂମିକା"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "କୌଣସି ପ୍ରଣାଳୀକୁ କର୍ଣ୍ଣଲ SELinux ନୀତି ପରିବର୍ତ୍ତନ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"ଏହି ଚାଳକଟି କେବଳ ଗୋଟିଏ ଟର୍ମିନାଲ ମାଧ୍ଯମରେ କିମ୍ବା ସୂଦୁର ଲଗଇନ ମାଧ୍ଯମରେ ଯନ୍ତ୍ରରେ ଲଗଇନ କରିପାରିବ।  "
++"ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ଏହି ଚାଳକର setuid ନଥିବ, ନେଟୱର୍କିଙ୍ଗ ନଥିବ, su ନଥିବ, sudo ନଥିବ।"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "ନ୍ୟୁନତମ ଟର୍ମିନାଲ ଚାଳକ ଭୂମିକା"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"ଏହି ଚାଳକଟି X କିମ୍ବା ଟର୍ମିନାଲ ମାଧ୍ଯମରେ ଯନ୍ତ୍ରରେ ଲଗଇନ କରିପାରେ।  ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ଏହି "
++"ଚାଳକର setuid ନଥିବ, ନେଟୱର୍କିଙ୍ଗ ନଥିବ, sudo ନଥିବ, su ନଥିବ "
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroubleshoot ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "ନ୍ୟୁନତମ X ୱିଣ୍ଡୋ ଚାଳକ ଭୂମିକା"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"ସମ୍ପୂର୍ଣ୍ଣ ନେଟୱର୍କିଙ୍ଗ ବିଶିଷ୍ଟ ଚାଳକ, ସକର୍ମ ବିନା କୌଣସି setuid ପ୍ରୟୋଗ ନାହିଁ, sudo ନାହିଁ, su ନାହିଁ।"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "ଚାଳକ ଭୂମିକା"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"ସମ୍ପୂର୍ଣ୍ଣ ନେଟୱର୍କିଙ୍ଗ ବିଶିଷ୍ଟ ଚାଳକ, ସକର୍ମ ବିନା କୌଣସି setuid ପ୍ରୟୋଗ ନାହିଁ, su ନାହିଁ, sudo ରୁ ମୂଳ "
++"ପ୍ରଶାସନ ଭୂମିକାଗୁଡିକୁ"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "ପ୍ରଶାସନ ଚାଳକ ନିତୀ"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>ମୂଳ ଚାଳକଗୁଡିକ</b>"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"ମୂଳ ପ୍ରଶାସକ ଚାଳକ ଭୂମିକାକୁ ଚୟନ କରନ୍ତୁ, ଯଦି ଏହି ଚାଳକଟି ମୂଳ ଆକାରରେ ଚାଲୁଥିବା ସମୟରେ ଯନ୍ତ୍ରକୁ "
++"ପ୍ରଶାସନ କରିବାରେ ବ୍ୟବହୃତ ହେବ।  ଏହି ଚାଳକଟି ସିଧାସଳଖ ଭାବରେ ଯନ୍ତ୍ରରେ ଲଗଇନ କରିବାକୁ ସମର୍ଥ ହେବ "
++"ନାହିଁ।"
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "ମୂଳ ପ୍ରଶାସନ ଚାଳକ ଭୂମିକା"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "ପରିସୀମିତ ହେବାକୁଥିବା ପ୍ରୟୋଗର ନାମ କିମ୍ୱା ଚାଳକ ଭୂମିକାକୁ ଭରଣ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "ନାମ"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "ନିଷ୍ପାଦ୍ୟକୁ ପରିସୀମିତ କରିବାପାଇଁ ସମ୍ପୂର୍ଣ୍ଣ ପଥ ଭରଣ କରନ୍ତୁ।"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "ପରିସୀମିତ ପ୍ରୟୋଗ କିମ୍ୱା ଚାଳକ ଭୂମିକା ପାଇଁ ଏକୈକ ନାମ ଭରଣ କରନ୍ତୁ।"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "ନିଷ୍ପାଦ୍ୟ"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init ସ୍କ୍ରିପ୍ଟ"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"ପରିସୀମିତ ପ୍ରୟୋଗକୁ ଆରମ୍ଭ କରିବାପାଇଁ ବ୍ୟବହାର ହେଉଥିବା init ସ୍କ୍ରିପ୍ଟକୁ ସମ୍ପୂର୍ଣ୍ଣ ପଥ ଭରଣ କରନ୍ତୁ।"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "ଆପଣ ଇଚ୍ଛାରୂପଣ କରିବାକୁ ଚାହୁଁଥିବା ଚାଳକ ଭୂମିକା ଗୁଡିକୁ ଚୟନ କରନ୍ତୁ"
+-#~ msgid "Spam Protection"
+-#~ msgstr "ଅବାଞ୍ଛିତ ଡାକ ସୁରକ୍ଷା"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "ଚାଳକ ଭୂମିକା ଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯିଏ ଏହି ପ୍ରୟୋଗ ପରିସରଗୁଡିକୁ ସକର୍ମ କରିବ।"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "ଅତିରିକ୍ତ ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁକି ଏହି ଚାଳକ ଭୂମିକା ସକର୍ମ କରିବ"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd କୁ ମୂଳ ଡିରେକ୍ଟୋରୀରେ ପ୍ରବେଶାନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "ପ୍ରୟୋଗ ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁ ଆପଣ ଚାହୁଁଥିବା ଚାଳକ ଭୁମିକାକୁ ସକର୍ମ କରିବ।"
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "ଚାଳକ ଭୂମିକାଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯିଏ ଏହି ପରିସରକୁ ସକର୍ମ କରିବ"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "ଅତିରିକ୍ତ ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁକି ଏହି ଚାଳକ ଭୂମିକା ପ୍ରଶାସନ କରିବ"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "ପରିସରଗୁଡିକୁ ଚୟନ କରନ୍ତୁ ଯାହାକୁକି ଏହି ଚାଳକ ପ୍ରଶାସନ କରିବ।"
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "ଏହି ଚାଳକ ପାଇଁ ଅତିରିକ୍ତ ଭୁମିକାଗୁଡିକୁ ଚୟନ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ମାନୁଥିବା ନେଟୱର୍କ ସଂଯୋଗିକୀଗୁଡିକୁ ଭରଣ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP ସଂଯୋଗିକୀ</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "କୌଣସି udp ସଂଯୋଗିକୀକୁ ବାନ୍ଧିବା ପାଇଁ ପରିସୀମିତ ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "ସମସ୍ତ"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "spamd Assassin ଡେମନକୁ ନେଟୱର୍କ ଅଭିଗମନର ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"bindresvport କୁ 0 ସହିତ ଡାକିବା ପାଇଁ ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ସଂଯୋଗିକୀ 600-1024 "
++"କୁ ବାନ୍ଧିକରି"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"udp ସଂଯୋଗିକୀ ମାନଙ୍କର କମା ବିଭାଜିତ ତାଲିକା କିମ୍ୱା ସଂଯୋଗିକୀ ମାନଙ୍କର ପରିସର ଯିଏକି ପ୍ରୟୋଗ/ଚାଳକ "
++"ଭୂମିକାକୁ ବାନ୍ଧିଥାଏ। ଉଦାହରଣ: 612, 650-660"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid ଡେମନକୁ ନେଟୱର୍କ ସହିତ ସଂଯୋଗର ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "ଅସଂରକ୍ଷିତ ସଂଯୋଗିକୀ  (> 1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "ସଂଯୋଗିକୀ ଚୟନକରନ୍ତୁ"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "କୌଣସି udp ସଂଯୋଗିକୀ > 1024 କୁ ବାନ୍ଧିବା ପାଇଁ ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP ସଂଯୋଗିକୀ</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "ପ୍ରୟୋଗ/ଚାଳକ ଭୂମିକାକୁ ସଂଯୁକ୍ତ ନେଟୱର୍କ ସଂଯୋଗିକୀଗୁଡିକୁ ଭରଣ କରନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"tcp ସଂଯୋଗିକୀ ମାନଙ୍କର କମା ବିଭାଜିତ ତାଲିକା କିମ୍ୱା ସଂଯୋଗିକୀ ମାନଙ୍କର ପରିସର ଯିଏକି ପ୍ରୟୋଗ/ଚାଳକ "
++"ଭୂମିକାକୁ ସଂଯୋଗ କରିଥାଏ। ଉଦାହରଣ: 612, 650-660"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"udp ସଂଯୋଗିକୀ ମାନଙ୍କର କମା ବିଭାଜିତ ତାଲିକା କିମ୍ୱା ସଂଯୋଗିକୀ ମାନଙ୍କର ପରିସର ଯିଏକି ପ୍ରୟୋଗ/ଚାଳକ "
++"ଭୂମିକାକୁ ସଂଯୋଗ କରିଥାଏ। ଉଦାହରଣ: 612, 650-660"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh ଲଗଇନକୁ sysadm_r:sysadm_t ପରି ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "ସାଧାରଣ ପ୍ରୟୋଗ ବିଶିଷ୍ଟତା ଗୁଡିକୁ ଚୟନ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog ସନ୍ଦେଶଗୁଡିକୁ ଲେଖିଥାଏ\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp ରେ ଅସ୍ଥାୟୀ ଫାଇଲଗୁଡିକୁ ସୃଷ୍ଟି/ପ୍ରକଳନ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "ବୈଧିକରଣ ପାଇଁ Pam ବ୍ୟବହାର କରେ"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch କିମ୍ୱା getpw* ଡାକରା ବ୍ୟବହାର କରେ"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus ବ୍ୟବହାର କରେ"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ଲେଖା ପରୀକ୍ଷଣ ସନ୍ଦେଶ ପଠାଏ"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "ଟର୍ମିନାଲ ସହିତ ପାରସ୍ପର ଉପରେ ପ୍ରଭାବ ପକାଏ"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ଇମେଲ ପଠାଏ"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "ପ୍ରୟୋଗ ପରିଚାଳନ କରୁଥିବା ଫାଇଲ/ଡିରେକ୍ଟୋରୀ ଚୟନ କରନ୍ତୁ"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r ଚାଳକକୁ sysadm ମୂଳ ଡିରେକ୍ଟୋରୀ ଖୋଜିବାପାଇଁ ଏବଂ ଫାଇଲଗୁଡିକୁ ପଢିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ "
+-#~ "(ଯେପରି କି ~/.bashrc)"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"ଫାଇଲ/ଡିରେକ୍ଟୋରି ଗୁଡିକୁ ସଂଯୋଗକରନ୍ତୁ ଯାହାକି ପ୍ରୟୋଗରେ \"ଲେଖିବା\" କୁ ଆବଶ୍ୟକ କରେ। Pid ଫାଇଲଗୁଡିକ, "
++"Log ଫାଇଲଗୁଡିକ, /var/lib ଫାଇଲଗୁଡିକ ..."
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "ସର୍ବବ୍ୟାପୀ SSL ସୁରଙ୍ଗ"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "ବୁଲିଆନଗୁଡିକୁ ଚୟନକରନ୍ତୁ ଯାହାକୁ ପ୍ରୟୋଗ ବ୍ୟବହାର କରେ"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "ଏହି ପରିସୀମିତ ପ୍ରୟୋଗ/ଚାଳକ ପାଇଁ ବୁଲିଆନଗୁଡିକୁ ଯୋଗ/ଅପସାରଣ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "ଭିତର ନୀତି ସୃଷ୍ଟି କରିବା ପାଇଁ ଡିରେକ୍ଟୋରୀ ଚୟନ କରନ୍ତୁ"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "ନୀତି ଡିରେକ୍ଟୋରୀ"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "ସୃଷ୍ଟିହେଇଥିବା ନୀତି ଫାଇଲଗୁଡିକ"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ଏହି ସାଧନଟି ନିମ୍ନଲିଖିତ ମାନଙ୍କୁ ସୃଷ୍ଟି କରିବ: \n"
++"ପ୍ରବର୍ତ୍ତନ ଟାଇପକରିବା(te), ଫାଇଲ ପ୍ରସଙ୍ଗ(fc), ଅନ୍ତରାପୃଷ୍ଠ(if), ସେଲ ସ୍କ୍ରିପ୍ଟ(sh)\n"
++"ସଙ୍କଳନ/ସ୍ଥାପନ କରିବାକୁ ସେଲ ସ୍କ୍ରିପ୍ଟ ନିଷ୍ପାଦନ କରେ ଏବଂ ଫାଇଲ/ଡିରେକ୍ଟୋରୀକୁ ପୁନଃଚିହ୍ନଟ କରେ।  \n"
++"Linux ଲଗଇନ ଚାଳକକୁ ଚାଳକ ଭୂମିକା ସହିତ ପରିକଳ୍ପନା କରିବାକୁ semanage କିମ୍ବା useradd ବ୍ୟବହାର "
++"କରିଥାଏ।\n"
++"ଯନ୍ତ୍ରକୁ ଅନୁମୋଦନକାରୀ ଅବସ୍ଥାରେ ରଖେ (setenforce 0)। \n"
++"ଚାଳକ ଭାବରେ ଲଗଇନ କରିଥାଏ ଏବଂ ଏହି ଚାଳକ ଭୂମିକାକୁ ପରୀକ୍ଷା କରିଥାଏ।\n"
++"te ଫାଇଲ ପାଇଁ ଅତିରିକ୍ତ ନିୟମ ସୃଷ୍ଟିକରିବା ପାଇଁ audit2allow -R ବ୍ୟବହାର କରେ।\n"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "stunnel ଡେମନକୁ standalone ପରି ଚାଲିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ, xinetd ର ବାହାରେ"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ଏହି ସାଧନଟି ନିମ୍ନଲିଖିତ ମାନଙ୍କୁ ସୃଷ୍ଟି କରିବ: \n"
++"ପ୍ରବର୍ତ୍ତନ ଟାଇପକରିବା(te), ଫାଇଲ ପ୍ରସଙ୍ଗ(fc), ଅନ୍ତରାପୃଷ୍ଠ(if), ସେଲ ସ୍କ୍ରିପ୍ଟ(sh)\n"
++"\n"
++"ସଙ୍କଳନ/ସ୍ଥାପନ କରିବାକୁ ସେଲ ସ୍କ୍ରିପ୍ଟ ନିଷ୍ପାଦନ କରେ ଏବଂ ଫାଇଲ/ଡିରେକ୍ଟୋରୀକୁ ପୁନଃଚିହ୍ନଟ କରେ।  \n"
++"ଯନ୍ତ୍ରକୁ ଅନୁମୋଦନକାରୀ ଅବସ୍ଥାରେ ରଖେ (setenforce 0)। \n"
++"avc ସନ୍ଦେଶଗୁଡିକୁ ସୃଷ୍ଟି କରବାପାଇଁ ପ୍ରୟୋଗକୁ ଚଲାଇଥାଏ/ପୁନଃଆରମ୍ଭ କରିଥାଏ।\n"
++"te ଫାଇଲ ପାଇଁ ଅତିରିକ୍ତ ନିୟମ ସୃଷ୍ଟିକରିବା ପାଇଁ audit2allow -R ବ୍ୟବହାର କରେ।\n"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "ବୁଲିୟାନ ସଂଳାପ ଯୋଗକରନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "ବୁଲିଆନ ନାମ"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "ଭୂମିକା"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "system cron jobs  ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "ଅବସ୍ଥିତ ଚାଳକ (_U)"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "ପ୍ରୟୋଗ"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ନିଶ୍ଚିତ ରୂପେ ଗୋଟିଏ ଡିରେକ୍ଟରୀ"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "ଆପଣ ଗୋଟିଏ ଚାଳକ ଚୟନ କରିବା ଉଚିତ"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "ପରିସୀମିତ ରହିବାକୁ ନିଷ୍ପାଦ୍ୟ ଫାଇଲ ଚୟନ କରନ୍ତୁ।"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "undev ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "ପରିସୀମିତ ରହିବାକୁ init ସ୍କ୍ରିପ୍ଟ ଫାଇଲ ଚୟନ କରନ୍ତୁ।"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "ପରିସୀମିତ ପ୍ରୟୋଗ ସୃଷ୍ଟି କରିବା କିମ୍ୱା ଲେଖିବାକୁ ଫାଇଲ(ଗୁଡିକୁ) ଚୟନ କରନ୍ତୁ"
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "xinetd କୁ ଅପରିସୀମିତ ହୋଇ ଚାଲିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ, ଏହା ଦ୍ୱାରା ଆରମ୍ଭ ହୋଇଥିବା ଯେକୌଣସି ସେବାକୁ "
+-#~ "ଅନ୍ତର୍ଭୁକ୍ତ କରି ଯାହାରକି ପରିସର ପରିବର୍ତ୍ତନ ସ୍ପଷ୍ଟ ଭାବରେ ବ୍ୟାଖ୍ୟା କରାଯାଇନାହିଁ"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "ପରିସୀମିତ ପ୍ରୟୋଗ ହାସଲ କରିବା କିମ୍ୱା ଲେଖିବାକୁ ଡିରେକ୍ଟୋରୀ(ଗୁଡିକୁ) ଚୟନ କରନ୍ତୁ"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm କୁ ଅପରିସୀମିତ ଭାବରେ ଚାଲିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "ଭିତର ନୀତି ଫାଇଲ ସୃଷ୍ଟି କରିବା ପାଇଁ ଡିରେକ୍ଟୋରୀ ଚୟନ କରନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"%s_t ପ୍ରକାରକୁ ପ୍ରଚଳିତ ନୀତିରେ ପୂର୍ବରୁ ବ୍ୟଖ୍ୟା କରାଯାଇଛି।\n"
++"ଆପଣ ଚାଲୁ ରଖିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "ନାମ ଯାଞ୍ଚ କରନ୍ତୁ"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "ଚାଳକ ମାନଙ୍କୁ mount ନିର୍ଦ୍ଦେଶ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"%s.pp ଏକକାଂଶ ପ୍ରଚଳିତ ନୀତିରେ ପୂର୍ବରୁ ଧାରଣ କରାଯାଇଛି।\n"
++"ଆପଣ ଚାଲୁ ରଖିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "ସାଧାରଣ ଚାଳକ ମାନଙ୍କୁ ସିଧାସଳଖ ମାଉସ ବ୍ୟବହାରର ଅନୁମତି ଦିଅନ୍ତୁ (କେବଳ X ସର୍ଭରକୁ ଅନୁମତି ଦିଅନ୍ତୁ)"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "ଆପଣ ଗୋଟିଏ ନାମ ଭରଣ କରିବା ଉଚିତ"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "ଚାଳକମାନଙ୍କୁ dmesg ନିର୍ଦ୍ଦେଶ ଚଲାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "ଆପଣ ଗୋଟିଏ ନିଷ୍ପାଦ୍ୟ ଭରଣ କରିବା ଉଚିତ"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "ନେଟୱର୍କ ଅନ୍ତରାପୃଷ୍ଠକୁ ନିୟନ୍ତ୍ରଣ କରିବାପାଇଁ ଚାଳକମାନଙ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ (ଏହା ବ୍ୟତିତ USERCTL=ସତ "
+-#~ "ହୋଇଥିବା ଆବଶ୍ୟକ )"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux ବିନ୍ୟାସ କରନ୍ତୁ"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "ସାଧାରଣ ଚାଳକକୁ ping ନିଷ୍ପାଦନ କରିବାର ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "ସଂଯୋଗିକୀଗୁଡିକ ନିଶ୍ଚିତ ରୂପେ ସଂଖ୍ୟା କିମ୍ବା 1 ରୁ %d ପର୍ଯ୍ୟନ୍ତ ସଂଖ୍ୟାର ପରିସର ହୋଇଥିବା ଉଚିତ"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "ଚାଳକକୁ noextattrଫାଇଲ r/w କରିବାର ଅନୁମତି ଦିଅନ୍ତୁ (FAT, CDROM, FLOPPY)"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "ଆପଣଙ୍କର ପରିସୀମିତ ପ୍ରଣାଳୀ/ଚାଳକ ପାଇଁ ଆପଣ ଗୋଟିଏ ନାମ ଭରଣ କରିବା ଉଚିତ"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "ଚାଳକକୁ usb ଉପକରଣଗୁଡିକୁ rw ର ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "ଚାଳକ ପ୍ରକାର ଗୁଡିକ ଅନୁମତିପ୍ରାପ୍ତ ନିଷ୍ପାଦ୍ୟ ନୁହଁନ୍ତି"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "ଚାଳକକୁ tty ଫାଇଲଗୁଡିକୁ ଆରମ୍ଭକରିବାର ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "କେବଳ ଡେମନ apps init ସ୍କ୍ରିପ୍ଟ ବ୍ୟବହାର କରିପାରିବେ"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog ଟି ଗୋଟିଏ ବୁଲିଆନ ମୂଲ୍ୟ ହୋଇଥିବା ଉଚିତ"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER ପ୍ରକାରଗୁଡିକ ସ୍ୱୟଂଚାଳିତଭାବେ ଗୋଟିଏ tmp ପ୍ରକାର ପାଇଥାଏ"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "ଆପଣଙ୍କର ପରିସୀମିତ ପ୍ରଣାଳୀ ପାଇଁ ଗୋଟିଏ ନିଷ୍ପାଦ୍ୟ ପଥ ଭରଣ କରିବା ଉଚିତ"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "ପ୍ରବର୍ତ୍ତନ ଫାଇଲକୁ ଟାଇପ କରନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ଅନ୍ତରାପ୍ରୁଷ୍ଠ ଫାଇଲ"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm ଲଗଇନକୁ sysadm_r:sysadm_t ପରି ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗ ଫାଇଲ"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "ସ୍କ୍ରିପ୍ଟ ବ୍ୟବସ୍ଥା"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "ନେଟୱର୍କ ସଂଯୋଗିକୀ"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "ଭୌତିକ ଡିସ୍କ ଉପକରଣଗୁଡିକୁ ପଢିବା/ଲେଖିବା ପାଇଁ xenକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux ସଂଯୋଗିକୀ\n"
++"ପ୍ରକାର"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "ପ୍ରଟୋକଲ"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen ନିୟନ୍ତ୍ରଣ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"ସ୍ତର"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "ସଂଯୋଗିକୀ"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "ସଂଯୋଗିକୀ ସଂଖ୍ୟା \"%s\" ଟି ବୈଧ ନୁହଁ  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "ତାଲିକା ଦୃଶ୍ୟ"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "ସମୁହ ଦୃଶ୍ୟ"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux ଚାଳକ ସୁରକ୍ଷା"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "ପ୍ରଶାସନ"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "ସର୍ବପ୍ରଧାନ ଫାଇଲଗୁଡିକୁ ଲେଖିବାକୁ ସମସ୍ତ ଡେମନଗୁଡିକୁ ଅନୁମତି ଦିଅନ୍ତୁ /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "ସମସ୍ତ ଡେମନଗୁଡିକୁ ଅବଣ୍ଟିତ tty ଗୁଡିକୁ ବ୍ୟବହାର କରିବାର କ୍ଷମତା ପ୍ରଦାନ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "ଚାଳକ ଗୋପନୀୟତା"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS ପ୍ରବେଶ ସଂକେତ ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
++"ଦିଅନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ଅତିଥି SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS ସ୍ଥାନାନ୍ତରଣ ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "ସ୍ମୃତି ସୁରକ୍ଷା"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java ନିଷ୍ପାଦ୍ୟ ଥାକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "ସ୍ଥାପନ"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "ଯେକୌଣସି ଫାଇଲକୁ ସ୍ଥାପନ କରିବାକୁ ସ୍ଥାପନ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "ଯେକୌଣସି ଡିରେକ୍ଟୋରୀକୁ ସ୍ଥାପନ କରିବାକୁ ସ୍ଥାପନ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer ନିଷ୍ପାଦ୍ୟ ଥାକ କୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh-keysign କୁ ଚଲାଇବା ପାଇଁ ssh କୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "ଆପଣ ନିଶ୍ଚିତକି ଆପଣ %s କୁ ଅପସାରଣ କରିବାକୁ ଚାହୁଁଛନ୍ତି '%s'?"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"staff SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Delete %s"
+-#~ msgstr "%s କୁ ଅପସାରଣ କରନ୍ତୁ"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
++"ଦିଅନ୍ତୁ"
+-#~ msgid "Add %s"
+-#~ msgstr "%s କୁ ଯୋଗକରନ୍ତୁ"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"unconfined SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ "
++"ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Modify %s"
+-#~ msgstr "%s କୁ ରୂପାନ୍ତର କରନ୍ତୁ"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "ନେଟୱର୍କ ବିନ୍ୟାସ"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "ନାମପଟିକରଣ ହୋଇନଥିବା ପ୍ୟାକେଟଗୁଡିକୁ ନେଟୱର୍କରେ ପ୍ରବାହ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Permissive"
+-#~ msgstr "ଅନୁମୋଦନକାରୀ"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ଚାଳକ SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Enforcing"
+-#~ msgstr "କାର୍ଯ୍ୟକାରୀ କରୁଅଛି"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "ଅପରିସୀମିତ dyntrans କୁ ଅପରିସୀମିତ_execmen ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "ତଥ୍ୟାଧାର"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "mysql ସକେଟ ସହିତ ସଂଯୋଗ ସ୍ଥାପନ କରିବାପାଇଁ ଚାଳକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "postgres ସକେଟ ସହିତ ସଂଯୋଗ ସ୍ଥାପନ କରିବାପାଇଁ ଚାଳକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "Xସର୍ଭର"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "X ସହଭାଗୀ ସ୍ମୃତିରେ ଲେଖିବା ପାଇଁ ଗ୍ରାହକକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Disabled"
+-#~ msgstr "ନିଷ୍କ୍ରିୟ"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"x ଚାଳକ SELinux ଚାଳକ ଖାତାକୁ ମୂଳ ଡିରେକ୍ଟୋରୀ କିମ୍ବା /tmp ରେ ଫାଇଲ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି "
++"ଦିଅନ୍ତୁ"
+-#~ msgid "Status"
+-#~ msgstr "ଅବସ୍ଥିତି"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "NIS ସହିତ ଚାଲିବାପାଇଁ ଡେମନକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "ୱେବ ପ୍ରୟୋଗ"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "ସକର୍ମ staff SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "ସକର୍ମ sysadm SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "ସକର୍ମ user SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "ସକର୍ମ xguest SELinux ଚାଳକ କୁ ୱେବ ବ୍ରାଉଜର ପରିସର"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "ମୂଳ ଡିରେକ୍ଟୋରୀରେ ଲେଖିବା ପାଇଁ staff Web Browsers କୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Cluster ସର୍ଭର  ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"ବିଭିନ୍ନ ପ୍ରକାର ପ୍ରସଙ୍ଗକୁ ପଢିବାପାଇଁ cdrecordକୁ ଅନୁମତି ଦିଅନ୍ତୁ। nfs, samba, ଅପସାରଣୀୟ ଯନ୍ତ୍ରଗୁଡିକୁ, "
++"ଚାଳକ temp ଏବଂ ଅବିସ୍ଵସ୍ତ ପ୍ରସଙ୍ଗ ଫାଇଲଗୁଡିକ"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "କ୍ରନ"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "ମୁଦ୍ରଣ କରୁଅଛି"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd ପଛପାଖ ସର୍ଭର ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifdନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "start ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "ବିକାସ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "ଖେଳ"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "ଖେଳ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "ୱେବ ବ୍ରାଉଜର ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbird ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "ସୁସଂଗତି"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux ଲଗଇନ ଢାଞ୍ଚାକୁ ଯୋଗକରନ୍ତୁ"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"ଆମେ ଜାଣିଥିବା ଜିନିଷ ଯାହାକି ଭାଙ୍ଗିବାକୁ ଯାଉଛି କିନ୍ତୁ ଯେଉଁଥିରେ ସୁରକ୍ଷା ବିପତ୍ତି ନାହିଁ ତାକୁ ସମୀକ୍ଷା କରନ୍ତୁ "
++"ନାହିଁ"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ଯୋଗ କରନ୍ତୁ"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "ଆଧାରନାମ ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD ସେବା"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inet child ଡେମନଗୁଡିକ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "କେର୍ବେରୋଶ"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk ଡେମନଗୁଡିକ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "ଚାଳକ ଫାଇଲଗୁଡିକୁ ପଢିବା ପାଇଁ ଇଭଲ୍ୟୁସନ ଏବଂ ଥଣ୍ଡରବର୍ଡକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "ଚାଳକ ଫାଇଲଗୁଡିକୁ ପଢିବା ପାଇଁ ମଜିଲା ବ୍ରାଉଜରକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "ନାମ ସେବା"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "ନେଟୱର୍କ ପରିଚାଳକ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "ଶାମ୍ବା"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "ଗୋଟିଏ ସାଧାରଣ ଚାଳକ ପାଇଁ pppd ଚଲାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "ମାନକ ବିହିନ ସ୍ଥାନମାନଙ୍କରେ (default_t) ଫାଇଲ ପଢିବାପାଇଁ ପ୍ରଗ୍ରାମ ଗୁଡିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh କୁ ଡେମନ ଆକାରରେ ଚଲାଇବା ବଦଳରେ inetd ରୁ ଚଲାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "nfs ଡିରେକ୍ଟୋରୀଗୁଡିକରେ ଅଂଶଧନ କରିବା ପାଇଁ Sambaକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL ବୈଧିକରଣ ସର୍ଭର"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "/etc/shadow କୁ ପଢିବା ପାଇଁ sasl ବୈଧିକରଣ ସର୍ଭରକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux ପ୍ରକାର"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"ଗୋଟିଏ ସ୍ମୃତି ସ୍ଥାନକୁ ଉଭୟ ନିଷ୍ପାଦ୍ୟ ଏବଂ ଲିଖନୀୟ ଆକାରରେ ପ୍ରତିଚିତ୍ରଣ କରିବା ପାଇଁ X-ୱିଣ୍ଡୋ ସର୍ଭରକୁ "
++"ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo ଏବଂ su ର ଅଭିପ୍ରାୟର ପରିବର୍ତ୍ତନକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "କୌଣସି ପ୍ରଣାଳୀକୁ କର୍ଣ୍ଣଲ ଏକକାଂଶ ଧାରଣ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "କୌଣସି ପ୍ରଣାଳୀକୁ କର୍ଣ୍ଣଲ SELinux ନୀତି ପରିବର୍ତ୍ତନ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "ଅବାଞ୍ଛିତ ଡାକ ସୁରକ୍ଷା"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd କୁ ମୂଳ ଡିରେକ୍ଟୋରୀରେ ପ୍ରବେଶାନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "spamd Assassin ଡେମନକୁ ନେଟୱର୍କ ଅଭିଗମନର ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid ଡେମନକୁ ନେଟୱର୍କ ସହିତ ସଂଯୋଗର ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh ଲଗଇନକୁ sysadm_r:sysadm_t ପରି ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "ସ୍ତର"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r ଚାଳକକୁ sysadm ମୂଳ ଡିରେକ୍ଟୋରୀ ଖୋଜିବାପାଇଁ ଏବଂ ଫାଇଲଗୁଡିକୁ ପଢିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ "
++"(ଯେପରି କି ~/.bashrc)"
+-#~ msgid "File Specification"
+-#~ msgstr "ଫାଇଲ ନିର୍ଦ୍ଦିଷ୍ଟକ ସୂଚନା"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "ସର୍ବବ୍ୟାପୀ SSL ସୁରଙ୍ଗ"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel ଡେମନକୁ standalone ପରି ଚାଲିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ, xinetd ର ବାହାରେ"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "system cron jobs  ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "undev ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-#~ msgid "File Type"
+-#~ msgstr "ଫାଇଲ ପ୍ରକାର"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd କୁ ଅପରିସୀମିତ ହୋଇ ଚାଲିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ, ଏହା ଦ୍ୱାରା ଆରମ୍ଭ ହୋଇଥିବା ଯେକୌଣସି ସେବାକୁ "
++"ଅନ୍ତର୍ଭୁକ୍ତ କରି ଯାହାରକି ପରିସର ପରିବର୍ତ୍ତନ ସ୍ପଷ୍ଟ ଭାବରେ ବ୍ୟାଖ୍ୟା କରାଯାଇନାହିଁ"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "ସମସ୍ତ ଫାଇଲଗୁଡିକ\n"
+-#~ "ନିୟମିତ ଫାଇଲ\n"
+-#~ "ଡିରେକ୍ଟୋରୀ\n"
+-#~ "ଅକ୍ଷର ଯନ୍ତ୍ର\n"
+-#~ "ଅସ୍ଥାୟୀ ଯନ୍ତ୍ର\n"
+-#~ "ସକେଟ\n"
+-#~ "ପ୍ରତୀକାତ୍ମକ ସମ୍ପର୍କ\n"
+-#~ "ନାମ ବିଶିଷ୍ଟ ପାଇପ\n"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc ସ୍କ୍ରିପ୍ଟ ଦ୍ୱାରା ଆରମ୍ଭ ହୋଇଥିବା ଯେକୌଣସି ଡେମନ ଯେଉଁଥିରେ ପରିସର ସଂକ୍ରମଣ ସ୍ପଷ୍ଟ ଭାବରେ ବ୍ୟାଖ୍ୟା "
++"କରାଯାଇଛି ତାହାକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରି, rc ସ୍କ୍ରିପ୍ଟଗୁଡ଼ିକୁ ଅସୀମିତ ଧାରାରେ ଚାଲିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm କୁ ଅପରିସୀମିତ ଭାବରେ ଚାଲିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux ଚାଳକ କୁ ଯୋଗ କରନ୍ତୁ"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"ଅଧିକାର ପ୍ରାପ୍ତ ଉପକରଣ ଯେପରିକି hotplug ଏବଂ insmodକୁ ଅସୀମିତ ଭାବରେ ଚଲାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux ପ୍ରଶାସନ"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-#~ msgid "Add"
+-#~ msgstr "ଯୋଗକରନ୍ତୁ"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-#~ msgid "_Properties"
+-#~ msgstr "ଗୁଣ (_P)"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"su, sudo, କିମ୍ବା ଚାଳକ ସାହାଯ୍ୟକାରୀ ମାଧ୍ଯମରେ user_r କୁ sysadm_r ପାଖରେ ପହଞ୍ଚିବା ପାଇଁ "
++"ଅନୁମତି ଦିଅନ୍ତୁ. ଅନ୍ୟଥା, କେବଳ staff_r ଏହାକୁ କରିପାରିବ"
+-#~ msgid "_Delete"
+-#~ msgstr "ଅପସାରଣ କରନ୍ତୁ(_D)"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "ଚାଳକ ମାନଙ୍କୁ mount ନିର୍ଦ୍ଦେଶ ନିଷ୍ପାଦନ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Select Management Object"
+-#~ msgstr "ପରିଚାଳନା ବସ୍ତୁ ଚୟନକରନ୍ତୁ"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"ସାଧାରଣ ଚାଳକ ମାନଙ୍କୁ ସିଧାସଳଖ ମାଉସ ବ୍ୟବହାରର ଅନୁମତି ଦିଅନ୍ତୁ (କେବଳ X ସର୍ଭରକୁ ଅନୁମତି ଦିଅନ୍ତୁ)"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>ଚୟନକରନ୍ତୁ:</b>"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "ଚାଳକମାନଙ୍କୁ dmesg ନିର୍ଦ୍ଦେଶ ଚଲାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "ତନ୍ତ୍ର ପୂର୍ବନିର୍ଦ୍ଧାରିତକାର୍ଯ୍ୟକାରୀ ଅବସ୍ଥା"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"ନେଟୱର୍କ ଅନ୍ତରାପୃଷ୍ଠକୁ ନିୟନ୍ତ୍ରଣ କରିବାପାଇଁ ଚାଳକମାନଙ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ (ଏହା ବ୍ୟତିତ USERCTL=ସତ "
++"ହୋଇଥିବା ଆବଶ୍ୟକ )"
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "ନିଷ୍କ୍ରିୟ\n"
+-#~ "ଅନୁମୋଦନକାରୀe\n"
+-#~ "କାର୍ଯ୍ୟକାରୀ\n"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "ସାଧାରଣ ଚାଳକକୁ ping ନିଷ୍ପାଦନ କରିବାର ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "ଚାଳକକୁ noextattrଫାଇଲ r/w କରିବାର ଅନୁମତି ଦିଅନ୍ତୁ (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "ଚାଳକକୁ usb ଉପକରଣଗୁଡିକୁ rw ର ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "ପ୍ରଚଳିତ କାର୍ଯ୍ୟକାରୀ ଅବସ୍ଥା"
++#: ../gui/selinux.tbl:216
++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 ""
++"TCP ସର୍ଭରଗୁଡ଼ିକୁ ଚଲାଇବା ପାଇଁ ଚାଳକମାନଙ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ (ସଂଯୋଗିକୀଗୁଡ଼ିକ ସହିତ ବାନ୍ଧିହୁଅନ୍ତୁ ଏବଂ ସମାନ "
++"ପରିସର ଏବଂ ବାହ୍ଯ ଚାଳକମାନଙ୍କ ପାଖରୁ ସଂଯୋଗ ଗ୍ରହଣକରନ୍ତୁ)  ଏହି ଶକ୍ତିଗୁଡ଼ିକୁ ନିଷ୍କ୍ରିୟ କରି FTP ନିଷ୍କ୍ରିୟ "
++"ଅବସ୍ଥା ଏବଂ ଅନ୍ଯାନ୍ୟ ପ୍ରୋଟୋକଲମାନଙ୍କୁ ପରିବର୍ତ୍ତନ କରିପାରେ"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ଚାଳକକୁ tty ଫାଇଲଗୁଡିକୁ ଆରମ୍ଭକରିବାର ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm ଲଗଇନକୁ sysadm_r:sysadm_t ପରି ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "ଭୌତିକ ଡିସ୍କ ଉପକରଣଗୁଡିକୁ ପଢିବା/ଲେଖିବା ପାଇଁ xenକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen ନିୟନ୍ତ୍ରଣ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS ପ୍ରବେଶ ସଂକେତ ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS ସ୍ଥାନାନ୍ତରଣ ଡେମନ ପାଇଁ SELinux ସୁରକ୍ଷାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "ତନ୍ତ୍ର ପୂର୍ବନିର୍ଦ୍ଧାରିତ ନୀତିର ପ୍ରକାର: "
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm ଚାଳକକୁ ଅଧିକାରପ୍ରାପ୍ତ ହୋଇନଥିବା ଚାଳକମାନଙ୍କ ମୂଳ ସ୍ଥାନପଞ୍ଜିକାକୁ ପରିଚାଳନା "
++"କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "ପରବର୍ତ୍ତୀ ପୁନର୍ଚାଳନରେ ପୁନଃଚିହ୍ନଟ କରନ୍ତୁ।"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm ଚାଳକକୁ ଅଧିକାରପ୍ରାପ୍ତ ହୋଇନଥିବା ଚାଳକମାନଙ୍କ ମୂଳ ସ୍ଥାନପଞ୍ଜିକାକୁ ପଢ଼ିବାକୁ ଅନୁମତି "
++"ଦିଅନ୍ତୁ"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "ବୁଲିଆନ ବିନ୍ୟାସକୁ ତନ୍ତ୍ରପୂର୍ବନିର୍ଦ୍ଧାରିତରେ ପ୍ରତ୍ୟାବୃତ କରନ୍ତୁ"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "ଆପଣ ନିଶ୍ଚିତକି ଆପଣ %s କୁ ଅପସାରଣ କରିବାକୁ ଚାହୁଁଛନ୍ତି '%s'?"
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "ଇଚ୍ଛାରୂପୀ ଏବଂ ସମସ୍ତ ବୁଲିଆନଗୁଡିକ ମଧ୍ଯରେ ଆଗପଛ ହେଉଛି"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s କୁ ଅପସାରଣ କରନ୍ତୁ"
+-#~ msgid "Filter"
+-#~ msgstr "ଛାଣନ୍ତୁ"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s କୁ ଯୋଗକରନ୍ତୁ"
+-#~ msgid "Add File Context"
+-#~ msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗକୁଯୋଗିକୀକୁ ଯୋଗ କରନ୍ତୁ"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s କୁ ରୂପାନ୍ତର କରନ୍ତୁ"
+-#~ msgid "Modify File Context"
+-#~ msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗକୁ ରୂପାନ୍ତର କରନ୍ତୁ"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "ଅନୁମୋଦନକାରୀ"
+-#~ msgid "Delete File Context"
+-#~ msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗକୁ ଅପସାରଣ କରନ୍ତୁ"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "କାର୍ଯ୍ୟକାରୀ କରୁଅଛି"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "ସମସ୍ତ ଇଚ୍ଛାରୂପୀ ଫାଇଲ ପ୍ରସଙ୍ଗ ମଧ୍ଯରେ ଆଗପଛ ହେଉଛି"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "ନିଷ୍କ୍ରିୟ"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux ଚାଳକ ଢାଞ୍ଚା ଯୋଗକରନ୍ତୁ"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "ଅବସ୍ଥିତି"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux ଚାଳକ ପ୍ରତିଚିତ୍ରଣକୁ ରୂପାନ୍ତର କରନ୍ତୁ"
++#: ../gui/statusPage.py:133
++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 ""
++"ନୀତି ପ୍ରକାରକୁ ପରିବର୍ତ୍ତନ କରିବା ସମଗ୍ର ଫାଇଲତନ୍ତ୍ରକୁ ପରବର୍ତ୍ତି ବୁଟରେ ପୁନଃ ଚିହ୍ନଟ କରିବ. ଫାଇଲତନ୍ତ୍ରର "
++"ଆକାର ଉପରେ ନିର୍ଭର କରି ପୁନଃ ଚିହ୍ନଟ ଅଧିକ ସମୟ ନେଇଥାଏ.  ଆପଣ ଆଗକୁ ବଢ଼ିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux ଚାଳକ ପ୍ରତିଚିତ୍ରଣକୁ ଅପସାରଣ କରନ୍ତୁ"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux ନିଷ୍କ୍ରିୟ ଅବସ୍ଥାକୁ ପରିବର୍ତ୍ତନ କରିବାକୁ ହେଲେ ପୁନଃଚାଳନ କରିବା ଆବଶ୍ୟକ.  ଏହା ଅନୁମୋଦିତ ନୁହଁ.  "
++"ଯଦି ଆପଣ ପରେ SELinux କୁ ପଛକୁ ଆଣିବାକୁ ସିଦ୍ଧାନ୍ତ କରନ୍ତି, ତେବେ ତନ୍ତ୍ରକୁ ପୁନଃ ନାମପଟିକରଣ କରିବା "
++"ଆବଶ୍ୟକ.  ଯଦି ଆପଣ ଦେଖିବାକୁ ଚାହାନ୍ତି ଯେ SELinux ଆପଣଙ୍କ ତନ୍ତ୍ରରେ ସମସ୍ୟା ସୃଷ୍ଟି କରୁଛି, ଆପଣ "
++"ଅନୁମୋଦନ ଅବସ୍ଥାକୁ ଯାଇପାରିବେ ଯାହାକି କେବଳ ତ୍ରୁଟି ଦାଖଲକରିଥାଏ ଏବଂ SELinux ନୀତିକୁ ବାଧ୍ଯ "
++"କରିନଥାଏ.  ଅନୁମୋଦନ ଅବସ୍ଥା ପାଇଁ ପୁନଃଚାଳନ କରିବାକୁ ପଡ଼ିନଥାଏ    ଆପଣ ଆଗକୁ ବଢ଼ିବାକୁ ଚାହୁଁଛନ୍ତି କି?"
+-#~ msgid "Add Translation"
+-#~ msgstr "ଅନୁବାଦ ଯୋଗକରନ୍ତୁ"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux ସକ୍ରିୟ ଅବସ୍ଥାକୁ ପରିବର୍ତ୍ତନ କରିବା ଦ୍ୱାରା ସମଗ୍ର ଫାଇଲତନ୍ତ୍ରକୁ ପରବର୍ତ୍ତି ବୁଟରେ ପୁନଃ "
++"ନାମପଟିକରଣ କରିବାକୁ ପଡ଼ିବ. ତନ୍ତ୍ରର ଆକାର ଉପରେ ନିର୍ଭର କରି, ପୁନଃ ନାମପଟିକରଣ କରିବାକୁ ବହୁତ ଅଧିକ ସମୟ "
++"ଲାଗିବ.  ଆପଣ ଆଗେଇବାକୁ ଚାହୁଁଛନ୍ତି କି?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Modify Translation"
+-#~ msgstr "ଅନୁବାଦ ରୂପାନ୍ତର କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Delete Translation"
+-#~ msgstr "ଅନୁବାଦକୁ ଅପସାରଣ କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux ଲଗଇନ ଢାଞ୍ଚାକୁ ଯୋଗକରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ଯୋଗ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux ପ୍ରକାର"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux ଚାଳକକୁ ରୂପାନ୍ତର କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"ସ୍ତର"
+-#~ msgid "Add Network Port"
+-#~ msgstr "ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ଯୋଗ କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "ଫାଇଲ ନିର୍ଦ୍ଦିଷ୍ଟକ ସୂଚନା"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ଫାଇଲ ପ୍ରକାର"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ସମ୍ପାଦନ କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"ସମସ୍ତ ଫାଇଲଗୁଡିକ\n"
++"ନିୟମିତ ଫାଇଲ\n"
++"ଡିରେକ୍ଟୋରୀ\n"
++"ଅକ୍ଷର ଯନ୍ତ୍ର\n"
++"ଅସ୍ଥାୟୀ ଯନ୍ତ୍ର\n"
++"ସକେଟ\n"
++"ପ୍ରତୀକାତ୍ମକ ସମ୍ପର୍କ\n"
++"ନାମ ବିଶିଷ୍ଟ ପାଇପ\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux ଚାଳକ କୁ ଯୋଗ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux ପ୍ରଶାସନ"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "ଯୋଗକରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "ଗୁଣ (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "ଅପସାରଣ କରନ୍ତୁ(_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "ପରିଚାଳନା ବସ୍ତୁ ଚୟନକରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>ଚୟନକରନ୍ତୁ:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "ତନ୍ତ୍ର ପୂର୍ବନିର୍ଦ୍ଧାରିତକାର୍ଯ୍ୟକାରୀ ଅବସ୍ଥା"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ଅପସାରଣ କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"ନିଷ୍କ୍ରିୟ\n"
++"ଅନୁମୋଦନକାରୀe\n"
++"କାର୍ଯ୍ୟକାରୀ\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "ପ୍ରଚଳିତ କାର୍ଯ୍ୟକାରୀ ଅବସ୍ଥା"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "ତନ୍ତ୍ର ପୂର୍ବନିର୍ଦ୍ଧାରିତ ନୀତିର ପ୍ରକାର: "
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "ଇଚ୍ଛାରୂପୀ ଏବଂ ସମସ୍ତ ସଂଯୋଗିକୀଗୁଡିକ ମଧ୍ଯରେ ଆଗପଛ ହେଉଛି"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"ସମଗ୍ର ଫାଇଲତନ୍ତ୍ରରେ ପରବର୍ତ୍ତି ପୁନଃ ଚାଳନରେ ଯଦି ପୁନଃ ନାମପଟିକରଣ କରିବାକୁ ଚାହୁଁଛନ୍ତି ତେବେ ବାଛନ୍ତୁ.  "
++"ତନ୍ତ୍ରର ଆକାର ଉପରେ ନିର୍ଭର କରି, ପୁନଃ ନାମପଟିକରଣ କରିବାକୁ ବହୁତ ଅଧିକ ସମୟ ଲାଗିବ.  ଯଦି ଆପଣ ନୀତି "
++"ପ୍ରକାରଗୁଡ଼ିକ ପରିବର୍ତ୍ତନ କରିବାକୁ ଚାହୁଁଛନ୍ତି କିମ୍ବା ନିଷ୍କ୍ରିୟ ଅବସ୍ଥାରୁ ବଳପୂର୍ବକ ଅବସ୍ଥାକୁ ଯାଉଥାନ୍ତି, ତେବେ "
++"ପୁନଃ ନାମପଟିକରଣ ଆବଶ୍ୟକ."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "ପରବର୍ତ୍ତୀ ପୁନର୍ଚାଳନରେ ପୁନଃଚିହ୍ନଟ କରନ୍ତୁ।"
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "ସ୍ତର37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "ବୁଲିଆନ ବିନ୍ୟାସକୁ ତନ୍ତ୍ରପୂର୍ବନିର୍ଦ୍ଧାରିତରେ ପ୍ରତ୍ୟାବୃତ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "ଇଚ୍ଛାରୂପୀ ଏବଂ ସମସ୍ତ ବୁଲିଆନଗୁଡିକ ମଧ୍ଯରେ ଆଗପଛ ହେଉଛି"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "ବୁଲିଆନ ଲକଡାଉନ ୱିଜାର୍ଡ ଚଲାନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "ଲକଡାଉନ..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "ଛାଣନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "ସ୍ତର50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗକୁଯୋଗିକୀକୁ ଯୋଗ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗକୁ ରୂପାନ୍ତର କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "ଫାଇଲ ପ୍ରସଙ୍ଗକୁ ଅପସାରଣ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "ସମସ୍ତ ଇଚ୍ଛାରୂପୀ ଫାଇଲ ପ୍ରସଙ୍ଗ ମଧ୍ଯରେ ଆଗପଛ ହେଉଛି"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "ସ୍ତର38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux ଚାଳକ ଢାଞ୍ଚା ଯୋଗକରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux ଚାଳକ ପ୍ରତିଚିତ୍ରଣକୁ ରୂପାନ୍ତର କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux ଚାଳକ ପ୍ରତିଚିତ୍ରଣକୁ ଅପସାରଣ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "ସ୍ତର39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "ଚାଳକକୁ ଯୋଗକରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "ଚାଳକକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "ଚାଳକକୁ ଅପସାରଣ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "ସ୍ତର41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "ଅନୁବାଦକୁ ଯୋଗକରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "ଅନୁବାଦକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "ଅନୁବାଦକୁ ଅପସାରଣ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "ସ୍ତର40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ଯୋଗ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ସମ୍ପାଦନ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "ନେଟୱର୍କ ସଂଯୋଗିକୀକୁ ଅପସାରଣ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "ଇଚ୍ଛାରୂପୀ ଏବଂ ସମସ୍ତ ସଂଯୋଗିକୀଗୁଡିକ ମଧ୍ଯରେ ଆଗପଛ ହେଉଛି"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "ସ୍ତର42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "ନୂତନ ନୀତି ଏକକାଂଶ ସୃଷ୍ଟିକରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "ନୀତି ଏକକାଂଶକୁ ଧାରଣ କରନ୍ତୁ"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "ଧାରଣ କରିପାରୁଥିବା ନୀତି ଏକକାଂଶକୁ ଅପସାରଣ କରନ୍ତୁ"
+-#~ msgid "Generate new policy module"
+-#~ msgstr "ନୂତନ ନୀତି ଏକକାଂଶ ସୃଷ୍ଟିକରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"ଅତିରିକ୍ତ ଲେଖା ପରୀକ୍ଷଣ ନୀତିକୁ ସକ୍ରିୟ/ନିଷ୍କ୍ରିୟ କରନ୍ତୁ, ଯାହାକି ସାଧାରଣତଃ ଲଗ ଫାଇଲରେ ଖବର ହେଉନଥିବ। "
+-#~ msgid "Load policy module"
+-#~ msgstr "ନୀତି ଏକକାଂଶକୁ ଧାରଣ କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "ସ୍ତର44"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "ଧାରଣ କରିପାରୁଥିବା ନୀତି ଏକକାଂଶକୁ ଅପସାରଣ କରନ୍ତୁ"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "ପ୍ରଗତି ଧାରାକୁ ଅନୁମତି ଧାରାରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ।"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "ଅତିରିକ୍ତ ଲେଖା ପରୀକ୍ଷଣ ନୀତିକୁ ସକ୍ରିୟ/ନିଷ୍କ୍ରିୟ କରନ୍ତୁ, ଯାହାକି ସାଧାରଣତଃ ଲଗ ଫାଇଲରେ ଖବର "
+-#~ "ହେଉନଥିବ। "
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "ପ୍ରଗତି ଧାରାକୁ କ୍ରିୟାତ୍ମକ ଧାରାରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "ସମ୍ୱେଦନଶୀଳତା ସ୍ତର"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "ପଦ୍ଧତି ଡମେନ"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux ଚାଳକ '%s' ଟି ଆବଶ୍ଯକ"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "ସ୍ତର59"
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "seଏକକାଂଶ -i %s\n"
+-#~ "\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux ଚାଳକ '%s' ଟି ଆବଶ୍ଯକ"
+-#~ msgid "Requires value"
+-#~ msgstr "ମୂଲ୍ଯ ଆବଶ୍ଯକ"
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "ସ୍ପର୍ଶକାତର ସ୍ତର"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/pa.po policycoreutils-2.0.85/po/pa.po
+--- nsapolicycoreutils/po/pa.po        2011-02-17 15:11:24.981737250 -0500
++++ policycoreutils-2.0.85/po/pa.po    2011-02-18 16:03:41.437976214 -0500
+@@ -3,22 +3,40 @@
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # A S Alam <apbrar@gmail.com>, 2006.
+-# Jaswinder Singh <jsingh@redhat.com>, 2006, 2007, 2008.
++# Jaswinder Singh <jsingh@redhat.com>, 2006, 2007, 2008, 2009, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: pa\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-03-26 16:08+0530\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-27 14:58+0530\n"
+ "Last-Translator: Jaswinder Singh <jsingh@redhat.com>\n"
+-"Language-Team: Punjabi <fedora-trans-pa@redhat.com>\n"
++"Language-Team: American English <kde-i18n-doc@kde.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.11.4\n"
++"X-Generator: Lokalize 1.0\n"
+ "Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n"
+ "\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinux ਨੂੰ ਗਰਾਫੀਕਲ ਸੈਟਿੰਗ ਵਿੱਚ ਸੰਰਚਿਤ ਕਰੋ"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux ਮੈਨੇਜਮੈਂਟ"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਬਣਾਓ"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux ਪਾਲਿਸੀ ਨਿਰਮਾਣ ਜੰਤਰ"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -108,9 +126,8 @@
+ msgstr "semanage ਕੁਨੈਕਸ਼ਨ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s ਲਈ MLS ਰੇਂਜ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "MLS ਯੋਗ ਹਾਲਤ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -125,7 +142,8 @@
+ msgid "Level"
+ msgstr "ਲੈਵਲ"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "ਅਨੁਵਾਦ"
+@@ -155,764 +173,765 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "semanage ਤਬਦੀਲੀ ਪਹਿਲਾਂ ਹੀ ਚੱਲ ਰਹੀ ਹੈ"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage ਤਬਦੀਲੀ ਚਾਲੂ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage ਤਬਦੀਲੀ ਚਾਲੂ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "semanage ਸੰਚਾਰ ਚਾਲੂ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "semanage ਤਬਦੀਲੀ ਚਾਲੂ ਨਹੀਂ ਹੈ"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux ਉਪਭੋਗੀਆਂ ਨੂੰ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
++msgstr "SELinux ਮੈਡਿਊਲਾਂ ਨੂੰ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "ਚੇਤਾਵਨੀ"
++msgstr "ਚੇਤਾਵਨੀ ਕਿਸਮਾਂ"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "ਚੇਤਾਵਨੀ ਡੋਮੇਨ %s ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਦਾ (ਮੈਡਿਊਲ ਇੰਸਟਾਲੇਸ਼ਨ ਫੇਲ ਹੋਈ)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "ਚੇਤਾਵਨੀ ਮੈਡਿਊਲ %s ਨੂੰ ਹਟਾ ਨਹੀਂ ਸਕਦਾ (ਹਟਾਉਣ ਵਿੱਚ ਫੇਲ ਹੋਇਆ)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s ਲਈ ਕੁੰਜੀ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ %s ਲਈ ਲਾਗਇਨ ਮੈਪ ਪਰਿਭਾਸ਼ਤ ਨਹੀਂ"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s ਲਈ ਲਾਗਇਨ ਮੈਪ ਪਹਿਲਾਂ ਹੀ ਪਰਿਭਾਸ਼ਤ ਹੈ"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "ਲੀਨਕਸ ਉਪਭੋਗੀ %s ਮੌਜੂਦ ਨਹੀਂ ਹੈ"
++msgstr "ਲੀਨਕਸ ਗਰੁੱਪ %s ਮੌਜੂਦ ਨਹੀਂ ਹੈ"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "ਲੀਨਕਸ ਉਪਭੋਗੀ %s ਮੌਜੂਦ ਨਹੀਂ ਹੈ"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s ਲਈ ਲਾਗਇਨ ਮੈਪ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s ਲਈ ਨਾਂ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s ਲਈ MLS ਰੇਂਜ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s ਲਈ SELinux ਉਪਭੋਗੀ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s ਲਈ ਲਾਗਇਨ ਮਿਲਾਪ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux ਉਪਭੋਗੀ ਮੇਲ ਸ਼ਾਮਿਲ ਕਰੋ"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser ਜਾਂ serange ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s ਲਈ ਲਾਗਇਨ ਮੈਪ ਪਰਿਭਾਸ਼ਤ ਨਹੀਂ ਹੈ"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "seuser ਨੂੰ %s ਲਈ ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s ਲਈ ਲਾਗਇਨ ਮੈਪਿੰਗ ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s ਲਈ ਲਾਗਇਨ ਮੈਪਿੰਗ, ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੀ ਹੈ, ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s ਲਈ ਲਾਗਇਨ ਮੈਪਿੰਗ ਹਟਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "ਲਾਗਇਨ ਮੈਪਿੰਗ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "ਲਾਗਇਨ ਨਾਂ"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux ਉਪਭੋਗੀ"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS ਰੇਂਜ"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "%s ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਰੋਲ ਸ਼ਾਮਿਲ ਕਰਨਾ ਜਰੂਰੀ ਹੈ"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ SELinux ਉਪਭੋਗੀ %s ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux ਉਪਭੋਗੀ %s ਪਹਿਲਾਂ ਹੀ ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s ਲਈ SELinux ਉਪਭੋਗੀ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "ਰੋਲ %s ਨੂੰ %s ਲਈ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s ਲਈ MLS ਲੈਵਲ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "ਅਗੇਤਰ %s ਨੂੰ %s ਲਈ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s ਲਈ ਕੁੰਜੀ ਪਤਾ ਨਹੀਂ ਲਗਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux ਉਪਭੋਗੀ %s ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "ਅਗੇਤਰ, ਰੋਲ, ਲੈਵਲ ਜਾਂ ਰੇਂਜ ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "ਅਗੇਤਰ ਜਾਂ ਰੋਲ ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux ਉਪਭੋਗੀ %s ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s ਲਈ ਉਪਭੋਗੀ ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux ਉਪਭੋਗੀ %s ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux ਉਪਭੋਗੀ %s ਨੂੰ ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਹੈ, ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux ਉਪਭੋਗੀ ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux ਉਪਭੋਗੀਆਂ ਨੂੰ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "ਉਪਭੋਗੀ %s ਲਈ ਰੋਲ ਨਹੀਂ ਵੇਖਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "ਲੇਬਲਿੰਗ"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "ਅਗੇਤਰ"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS ਲੈਵਲ"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS ਰੇਂਜ"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux ਰੋਲ"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "ਪਰੋਟੋਕਾਲ udp ਜਾਂ tcp ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "ਪੋਰਟ ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s ਲਈ ਕੁੰਜੀ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "ਕਿਸਮ ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ ਪੋਰਟ %s/%s ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "ਪੋਰਟ %s/%s ਪਹਿਲਾਂ ਹੀ ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s ਲਈ ਪੋਰਟ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s ਲਈ ਪ੍ਰਸੰਗ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s ਲਈ ਪੋਰਟ ਪ੍ਰਸੰਗ ਵਿੱਚ ਉਪਭੋਗੀ ਨਹੀਂ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s ਲਈ ਪੋਰਟ ਪ੍ਰਸੰਗ ਵਿੱਚ ਰੋਲ ਨਹੀਂ ਦੇ ਸਕਦਾ"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s ਲਈ ਪੋਰਟ ਪ੍ਰਸੰਗ ਵਿੱਚ ਕਿਸਮ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s ਲਈ ਪੋਰਟ ਪ੍ਰਸੰਗ ਵਿੱਚ mls ਖੇਤਰ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s ਲਈ ਪੋਰਟ ਪ੍ਰਸੰਗ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "ਪੋਰਟ %s/%s ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype ਜਾਂ serange ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype ਲੋੜੀਂਦਾ ਹੈ"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "ਪੋਰਟ %s/%s ਦਿੱਤੀ ਨਹੀਂ ਗਈ"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "ਪੋਰਟ %s/%s ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "ਪੋਰਟ %s/%s ਨੂੰ ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "ਪੋਰਟਾਂ ਨਹੀਂ ਵੇਖਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "ਪੋਰਟ %s ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "ਪੋਰਟ %s/%s ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੈ, ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "ਪੋਰਟ %s/%s ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "ਪੋਰਟਾਂ ਨਹੀਂ ਵੇਖਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux ਪੋਰਟ ਕਿਸਮ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "ਪਰੋਟੋ"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "ਪੋਰਟ ਨੰਬਰ"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "ਪੋਰਟ ਦੀ ਲੋੜ ਹੈ"
++msgstr "ਕਿਸੇ ਐਡਰੈੱਸ ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "ਪੋਰਟ ਦੀ ਲੋੜ ਹੈ"
++msgstr "ਨੋਡ ਨੈੱਟਮਾਸਕ ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "ਅਣਜਾਣਾ ਜਾਂ ਗੈਰ-ਮੌਜੂਦ ਪਰੋਟੋਕਾਲ"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux ਕਿਸਮ ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s ਲਈ ਕੁੰਜੀ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ ਪੋਰਟ %s/%s ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
++msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ ਐਡਰੈੱਸ %s ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "ਪੋਰਟ %s/%s ਪਹਿਲਾਂ ਹੀ ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
++msgstr "ਐਡਰੈੱਸ %s ਪਹਿਲਾਂ ਹੀ ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s ਲਈ ਕੁੰਜੀ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
++msgstr "%s ਲਈ ਐਡਰੈੱਸ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s ਲਈ ਪ੍ਰਸੰਗ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s ਲਈ ਨਾਂ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "%s ਲਈ ਮਾਸਕ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ ਉਪਭੋਗੀ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "%s ਲਈ ਐਡਰੈੱਸ ਪ੍ਰਸੰਗ ਵਿੱਚ ਉਪਭੋਗੀ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ ਰੋਲ ਨਹੀਂ ਦੇ ਸਕਦਾ"
++msgstr "%s ਲਈ ਐਡਰੈੱਸ ਪ੍ਰਸੰਗ ਵਿੱਚ ਰੋਲ ਨਹੀਂ ਦੇ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ ਕਿਸਮ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "%s ਲਈ ਐਡਰੈੱਸ ਪ੍ਰਸੰਗ ਵਿੱਚ ਕਿਸਮ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ mlf ਖੇਤਰ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "%s ਲਈ ਐਡਰੈੱਸ ਪ੍ਰਸੰਗ ਵਿੱਚ mls ਖੇਤਰ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "%s ਲਈ ਐਡਰੈੱਸ ਪ੍ਰਸੰਗ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "ਪੋਰਟ %s/%s ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "ਐਡਰੈੱਸ %s ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "ਪੋਰਟ %s/%s ਦਿੱਤੀ ਨਹੀਂ ਗਈ"
++msgstr "ਐਡਰੈੱਸ %s ਦਿੱਤੀ ਨਹੀਂ ਗਈ"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "ਪੋਰਟ %s/%s ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "ਐਡਰੈੱਸ %s ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "ਪੋਰਟ %s/%s ਨੂੰ ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
++msgstr "ਐਡਰੈੱਸ %s ਨੂੰ ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "ਪੋਰਟ %s/%s ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੈ, ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
++msgstr "ਐਡਰੈੱਸ %s ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੈ, ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
++msgstr "ਐਡਰੈੱਸ %s ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "ਪੋਰਟਾਂ ਨਹੀਂ ਵੇਖਾ ਸਕਦਾ"
++msgstr "ਐਡਰੈੱਸ ਨਹੀਂ ਵੇਖਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ ਇੰਟਰਫੇਸ %s ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "ਇੰਟਰਫੇਸ %s ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s ਲਈ ਇੰਟਰਫੇਸ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s ਲਈ ਇੰਟਰਫੇਸ ਪ੍ਰਸੰਗ ਵਿੱਚ ਉਪਭੋਗੀ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s ਲਈ ਇੰਟਰਫੇਸ ਪ੍ਰਸੰਗ ਵਿੱਚ ਰੋਲ ਨਹੀਂ ਦੇ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s ਲਈ ਇੰਟਰਫੇਸ ਪ੍ਰਸੰਗ ਵਿੱਚ ਕਿਸਮ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s ਲਈ ਇੰਟਰਫੇਸ ਪ੍ਰਸੰਗ ਵਿੱਚ mls ਖੇਤਰ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s ਲਈ ਇੰਟਰਫੇਸ ਪ੍ਰਸੰਗ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s ਲਈ ਸੁਨੇਹਾ ਪ੍ਰਸੰਗ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "ਇੰਟਰਫੇਸ %s ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "ਇੰਟਰਫੇਸ %s ਦਿੱਤਾ ਨਹੀਂ ਗਿਆ"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "ਇੰਟਰਫੇਸ %s ਨੂੰ ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "ਇੰਟਰਫੇਸ %s ਨੂੰ ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "ਇੰਟਰਫੇਸ %s ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੈ, ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "ਇੰਟਰਫੇਸ %s ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "ਇੰਟਰਫੇਸ ਸੂਚੀ ਨਹੀਂ ਵੇਖਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux ਇੰਟਰਫੇਸ"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "ਪ੍ਰਸੰਗ"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ ਉਪਭੋਗੀ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ ਰੋਲ ਨਹੀਂ ਦੇ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ mlf ਖੇਤਰ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "ਗਲਤ ਫਾਇਲ ਨਿਰਧਾਰਨ"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ %s ਲਈ ਪ੍ਰਸੰਗ ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਪਹਿਲਾਂ ਹੀ ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵਿੱਚ ਕਿਸਮ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange ਜਾਂ seuser ਦੀ ਲੋੜ ਹੈ"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ %s ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੈ, ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s ਲਈ ਫਾਇਲ ਪ੍ਰਸੰਗ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "ਲੋਕਲ ਫਾਇਲ ਪ੍ਰਸੰਗ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "ਕਿਸਮ"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੇ ਬੂਲੀਅਨ %s ਪਰਿਭਾਸ਼ਿਤ ਹੈ"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "ਬੂਲੀਅਨ %s ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ %s ਕਿਊਰੀ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਮੁੱਲ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ"
++msgstr "ਤੁਹਾਨੂੰ ਹੇਠਲਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਮੁੱਲ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "ਬੂਲੀਅਨ %s ਨੂੰ ਹਟਾ ਨਹੀਂ ਸਕਦਾ"
++msgstr "ਬੂਲੀਅਨ %s ਦਾ ਯੋਗ ਮੁੱਲ ਨਹੀਂ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "ਬੂਲੀਅਨ %s ਨੂੰ ਤਬਦੀਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "ਗਲਤ ਫਾਰਮੈਟ %s: ਰਿਕਾਰਡ %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "ਬੂਲੀਅਨ %s ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੈ, ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "ਬੂਲੀਅਨ %s ਨੂੰ ਹਟਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "ਬੂਲੀਅਨ ਵੇਖਾ ਨਹੀਂ ਸਕਦਾ"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "ਅਣਜਾਣ"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "ਬੰਦ"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "on"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux ਬੂਲੀਅਨ"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "ਵੇਰਵਾ"
+@@ -952,7 +971,7 @@
+ msgstr "ਵਾਤਾਵਰਨ ਸਾਫ਼ ਕਰਨ ਲਈ ਅਸਫ਼ਲ\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "ਯੋਗਤਾਵਾਂ ਚਾਲੂ ਕਰਨ ਵਿੱਚ ਗਲਤੀ, ਅਧੂਰਾ ਰੱਦ ਕਰ ਰਿਹਾ ਹੈ।\n"
+@@ -1284,1615 +1303,2191 @@
+ msgid "Options Error %s "
+ msgstr "ਚੋਣ ਗਲਤੀ %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "ਅਨੁਵਾਦ ਨੂੰ ਨਾਨ-MLS ਮਸ਼ੀਨਾਂ ਉੱਪਰ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "ਬੂਲੀਅਨ"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "ਸਭ"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "ਸੋਧਿਆ"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "ਫਾਇਲ ਲੇਬਲਿੰਗ"
+-#~ msgid "Boolean"
+-#~ msgstr "ਬੂਲੀਅਨ"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"ਫਾਇਲ\n"
++"ਨਿਰਧਾਰਨ"
+-#~ msgid "all"
+-#~ msgstr "ਸਭ"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"ਫਾਇਲ ਕਿਸਮ"
+-#~ msgid "Customized"
+-#~ msgstr "ਸੋਧਿਆ"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"ਫਾਇਲ\n"
++"ਕਿਸਮ"
+-#~ msgid "File Labeling"
+-#~ msgstr "ਫਾਇਲ ਲੇਬਲਿੰਗ"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "ਉਪਭੋਗੀ ਮੈਪਿੰਗ"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ਫਾਇਲ\n"
+-#~ "ਨਿਰਧਾਰਨ"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"ਲਾਗਇਨ\n"
++"ਨਾਂ"
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "ਫਾਇਲ ਕਿਸਮ"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"ਉਪਭੋਗੀ"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "ਫਾਇਲ\n"
+-#~ "ਕਿਸਮ"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS ਰੇਂਜ"
+-#~ msgid "User Mapping"
+-#~ msgstr "ਉਪਭੋਗੀ ਮੈਪਿੰਗ"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "ਲਾਗਇਨ '%s' ਦੀ ਲੋੜ ਹੈ"
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "ਲਾਗਇਨ\n"
+-#~ "ਨਾਂ"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "ਪਾਲਿਸੀ ਮੈਡਿਊਲ"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ਉਪਭੋਗੀ"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "ਮੈਡਿਊਲ ਨਾਂ"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS ਰੇਂਜ"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "ਵਰਜਨ"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "ਲਾਗਇਨ '%s' ਦੀ ਲੋੜ ਹੈ"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ਆਡਿਟ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Policy Module"
+-#~ msgstr "ਪਾਲਿਸੀ ਮੈਡਿਊਲ"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ਆਡਿਟ ਯੋਗ ਕਰੋ"
+-#~ msgid "Module Name"
+-#~ msgstr "ਮੈਡਿਊਲ ਨਾਂ"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਲੋਡ ਕਰੋ"
+-#~ msgid "Version"
+-#~ msgstr "ਵਰਜਨ"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable Audit"
+-#~ msgstr "ਆਡਿਟ ਅਯੋਗ ਕਰੋ"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Enable Audit"
+-#~ msgstr "ਆਡਿਟ ਯੋਗ ਕਰੋ"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਲੋਡ ਕਰੋ"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "ਜਸਵਿੰਦਰ ਸਿੰਘ <j.phulewala@gmail.com>"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"ਇਹ ਜੰਤਰ ਪਾਲਿਸੀ ਫਰੇਮਵਰਕ ਬਣਾਉਣ ਲਈ ਕਾਰਜਾਂ ਅਤੇ ਉਪਭੋਗੀਆਂ ਜੋ SELinux ਵਰਤਦੇ ਹਨ, ਬੰਦ ਕਰਨ ਲਈ "
++"ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।   \n"
++"\n"
++"ਜੰਤਰ ਜੋ ਬਣਾਉਂਦਾ ਹੈ ਇਸ ਤਰਾਂ ਹਨ:\n"
++"ਕਿਸਮ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਫਾਇਲ (te)\n"
++"ਇੰਟਰਫੇਸ ਫਾਇਲ (if)\n"
++"ਫਾਇਲ ਪ੍ਰਸੰਗ ਫਾਇਲ (fc)\n"
++"ਸ਼ੈੱਲ ਸਕਰਿਪਟ (sh) - ਪਾਲਿਸੀ ਨੂੰ ਕੰਪਾਈਲ ਅਤੇ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਦੀ ਕਿਸਮ ਚੁਣੋ ਜਿਨਾਂ ਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>ਕਾਰਜ</b>"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"ਸਟੈਂਡਰਡ Init ਡੈਮਨ ਉਹ ਡੈਮਨ ਹਨ ਜੋ ਬੂਟ ਹੋਣ ਤੇ init ਸਕਰਿਪਟਾਂ ਦੁਆਰਾ ਚੱਲਦੇ ਹਨ।  ਆਮ ਕਰਕੇ /etc/"
++"init.d ਵਿੱਚ ਇੱਕ ਸਕਰਿਪਟ ਹੋਣੀ ਜਰੂਰੀ ਹੈ"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "ਸਟੈਂਡਰਡ Init ਡੈਮਨ"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS ਸਿਸਟਮ ਡੈਮਨ"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "ਇੰਟਰਨੈੱਟ ਸਰਵਿਸ ਡੈਮਨ ਉਹ ਡੈਮਨ ਹਨ ਜੋ xinetd ਦੁਆਰਾ ਚੱਲਦੇ ਹਨ"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "ਇੰਟਰਨੈੱਟ ਸਰਵਿਸ ਡੈਮਨ (inetd)"
+-#~ msgid "translator-credits"
+-#~ msgstr "ਜਸਵਿੰਦਰ ਸਿੰਘ <j.phulewala@gmail.com>"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "ਵੈੱਬ ਕਾਰਜ/ਸਕਰਿਪਟ (CGI) CGI ਸਕਰਿਪਟਾਂ ਵੈੱਬ ਸਰਵਰ (apache) ਦੁਆਰਾ ਚੱਲਦੀਆਂ ਹਨ"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux ਪਾਲਿਸੀ ਨਿਰਮਾਣ ਜੰਤਰ"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "ਵੈੱਬ ਕਾਰਜ/ਸਕਰਿਪਟ (CGI)"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "ਇਹ ਜੰਤਰ ਪਾਲਿਸੀ ਫਰੇਮਵਰਕ ਬਣਾਉਣ ਲਈ ਕਾਰਜਾਂ ਅਤੇ ਉਪਭੋਗੀਆਂ ਜੋ SELinux ਵਰਤਦੇ ਹਨ, ਬੰਦ ਕਰਨ "
+-#~ "ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।   \n"
+-#~ "\n"
+-#~ "ਜੰਤਰ ਜੋ ਬਣਾਉਂਦਾ ਹੈ ਇਸ ਤਰਾਂ ਹਨ:\n"
+-#~ "ਕਿਸਮ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਫਾਇਲ (te)\n"
+-#~ "ਇੰਟਰਫੇਸ ਫਾਇਲ (if)\n"
+-#~ "ਫਾਇਲ ਪ੍ਰਸੰਗ ਫਾਇਲ (fc)\n"
+-#~ "ਸ਼ੈੱਲ ਸਕਰਿਪਟ (sh) - ਪਾਲਿਸੀ ਨੂੰ ਕੰਪਾਈਲ ਅਤੇ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। "
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr "ਉਪਭੋਗੀ ਕਾਰਜ ਉਹ ਕਾਰਜ ਹਨ ਜਿਨਾਂ ਤੇ ਤੁਸੀਂ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ ਤੇ ਜੋ ਉਪਭੋਗੀ ਦੁਆਰਾ ਚੱਲਦੇ ਹਨ"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "ਉਪਭੋਗੀ ਕਾਰਜ"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>ਲਾਗਇਨ ਉਪਭੋਗੀ</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "ਇੱਕ ਮੌਜੂਦਾ ਲਾਗਇਨ ਉਪਭੋਗੀ ਰਿਕਾਰਡ"
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "ਮੌਜੂਦਾ ਉਪਭੋਗੀ ਰੋਲ"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਦੀ ਕਿਸਮ ਚੁਣੋ ਜਿਨਾਂ ਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"ਇਹ ਉਪਭੋਗੀ ਮਸ਼ੀਨ ਉੱਪਰ ਸਿਰਫ ਟਰਮੀਨਲ ਜਾਂ ਰਿਮੋਟ ਲਾਗਇਨ ਰਾਹੀਂ ਲਾਗਇਨ ਕਰ ਸਕਦਾ ਹੈ।  ਮੂਲ ਰੂਪ ਵਿੱਚ "
++"ਇਸ ਉਪਭੋਗੀ ਦਾ ਕੋਈ setuid, ਨੈੱਟਵਰਕਿੰਗ, su, sudo ਨਹੀਂ ਹੈ।"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>ਕਾਰਜ</b>"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "ਘੱਟੋ-ਘੱਟ ਟਰਮੀਨਲ ਉਪਭੋਗੀ ਰੋਲ"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "ਸਟੈਂਡਰਡ Init ਡੈਮਨ ਉਹ ਡੈਮਨ ਹਨ ਜੋ ਬੂਟ ਹੋਣ ਤੇ init ਸਕਰਿਪਟਾਂ ਦੁਆਰਾ ਚੱਲਦੇ ਹਨ।  ਆਮ ਕਰਕੇ /etc/"
+-#~ "init.d ਵਿੱਚ ਇੱਕ ਸਕਰਿਪਟ ਹੋਣੀ ਜਰੂਰੀ ਹੈ"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"ਇਹ ਉਪਭੋਗੀ ਮਸ਼ੀਨ ਉੱਪਰ X ਜਾਂ ਟਰਮੀਨਲ ਰਾਹੀਂ ਲਾਗਇਨ ਕਰ ਸਕਦਾ ਹੈ।  ਮੂਲ ਰੂਪ ਵਿੱਚ ਇਸ ਉਪਭੋਗੀ ਦਾ "
++"ਕੋਈ setuid, ਨੈੱਟਵਰਕਿੰਗ, sudo, su ਨਹੀਂ ਹੈ।"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "ਸਟੈਂਡਰਡ Init ਡੈਮਨ"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "ਘੱਟੋ-ਘੱਟ X ਵਿੰਡੋ ਉਪਭੋਗੀ ਰੋਲ"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "ਇੰਟਰਨੈੱਟ ਸਰਵਿਸ ਡੈਮਨ ਉਹ ਡੈਮਨ ਹਨ ਜੋ xinetd ਦੁਆਰਾ ਚੱਲਦੇ ਹਨ"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr "ਪੂਰੀ ਨੈੱਟਵਰਕਿੰਗ ਵਾਲੇ ਉਪਭੋਗੀ, ਕੋਈ setuid ਕਾਰਜ ਬਿਨਾਂ ਤਬਦੀਲੀ, ਕੋਈ sudo, ਕੋਈ su ਨਹੀਂ।"
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "ਉਪਭੋਗੀ ਰੋਲ"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "ਇੰਟਰਨੈੱਟ ਸਰਵਿਸ ਡੈਮਨ (inetd)"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"ਪੂਰੀ ਨੈੱਟਵਰਕਿੰਗ ਵਾਲੇ ਉਪਭੋਗੀ, ਕੋਈ setuid ਕਾਰਜ ਤਬਦੀਲੀ ਬਿਨਾਂ, ਕੋਈ su, ਰੂਟ ਪਰਬੰਧਿਕ ਰੋਲ ਲਈ "
++"sudo ਕਰ ਸਕਦਾ ਹੈ"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr "ਵੈੱਬ ਕਾਰਜ/ਸਕਰਿਪਟ (CGI) CGI ਸਕਰਿਪਟਾਂ ਵੈੱਬ ਸਰਵਰ (apache) ਦੁਆਰਾ ਚੱਲਦੀਆਂ ਹਨ"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "ਪਰਬੰਧਕ ਉਪਭੋਗੀ ਰੋਲ"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>ਪਰਬੰਧਕ ਉਪਭੋਗੀ</b>"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "ਵੈੱਬ ਕਾਰਜ/ਸਕਰਿਪਟ (CGI)"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"ਰੂਟ ਉਪਭੋਗੀ ਚੁਣੋ, ਜੇ ਇਹ ਉਪਭੋਗੀ ਮਸ਼ੀਨ ਦਾ ਪਰਬੰਧਨ ਕਰੇਗਾ ਜਦੋਂ ਪਰਬੰਧਕ ਤੌਰ ਤੇ ਚੱਲਦੀ ਹੈ।  ਇਹ ਉਪਭੋਗੀ "
++"ਸਿਸਟਮ ਉੱਪਰ ਸਿੱਧੇ ਤੌਰ ਤੇ ਲਾਗਇਨ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ।"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "ਉਪਭੋਗੀ ਕਾਰਜ ਉਹ ਕਾਰਜ ਹਨ ਜਿਨਾਂ ਤੇ ਤੁਸੀਂ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ ਤੇ ਜੋ ਉਪਭੋਗੀ ਦੁਆਰਾ ਚੱਲਦੇ ਹਨ"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "ਰੂਟ ਪਰਬੰਧਕ ਉਪਭੋਗੀ ਰੋਲ"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "ਕਾਰਜ ਜਾਂ ਉਪਭੋਗੀ ਰੋਲ ਦਾ ਨਾਂ ਦਿਓ ਜਿਨਾਂ ਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "ਨਾਂ"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "ਪਾਬੰਦੀ ਵਾਲੇ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਲਈ ਪੂਰਾ ਮਾਰਗ ਦਿਓ।"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "ਪਾਬੰਦੀ ਵਾਲੇ ਕਾਰਜ ਜਾਂ ਉਪਭੋਗੀ ਰੋਲ ਲਈ ਵੱਖਰਾ ਨਾਂ ਦਿਓ।"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "ਐਗਜ਼ੀਕਿਊਟੇਬਲ"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init ਸਕਰਿਪਟ"
+-#~ msgid "User Application"
+-#~ msgstr "ਉਪਭੋਗੀ ਕਾਰਜ"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "ਪਾਬੰਦ ਕਾਰਜ ਚਲਾਉਣ ਵਾਲੀ init ਸਕਰਿਪਟ ਦਾ ਪੂਰਾ ਮਾਰਗ ਦਿਓ।"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>ਲਾਗਇਨ ਉਪਭੋਗੀ</b>"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "ਉਪਭੋਗੀ ਰੋਲ ਚੁਣੋ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਸੋਧਣਾ ਚਾਹੁੰਦੇ ਹੋ"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "ਉਪਭੋਗੀ ਰੋਲ ਚੁਣੋ ਜੋ ਇਸ ਕਾਰਜ ਡੋਮੇਨਾਂ ਵਿੱਚ ਤਬਦੀਲ ਹੋਵੇਗਾ।"
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "ਵਾਧੂ ਉਪਭੋਗੀ ਡੋਮੇਨ ਚੁਣੋ ਜਿਸ ਦਾ ਇਹ ਉਪਭੋਗੀ ਰੋਲ ਅਨੁਵਾਦ ਕਰੇਗਾ"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "ਇੱਕ ਮੌਜੂਦਾ ਲਾਗਇਨ ਉਪਭੋਗੀ ਰਿਕਾਰਡ"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "ਕਾਰਜ ਡੋਮੇਨ ਚੁਣੋ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਇਸ ਉਪਭੋਗੀ ਨੂੰ ਤਬਦੀਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "ਉਪਭੋਗੀ ਰੋਲ ਚੁਣੋ ਜੋ ਇਸ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਹੋਵੇਗਾ"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "ਵਾਧੂ ਡੋਮੇਨ ਚੁਣੋ ਜਿਸਦਾ ਇਹ ਉਪਭੋਗੀ ਰੋਲ ਪਰਬੰਧਨ ਕਰੇਗਾ"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "ਡੋਮੇਨ ਚੁਣੋ ਜਿਸ ਦਾ ਪਰਬੰਧਨ ਇਸ ਉਪਭੋਗੀ ਤੋਂ ਕਰਾਉਣਾ ਹੈ।"
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "ਇਸ ਉਪਭੋਗੀ ਲਈ ਵਾਧੂ ਰੋਲ ਚੁਣੋ"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟਾਂ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਸੁਣਦੇ ਹਨ।"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP ਪੋਰਟ</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "ਪਾਬੰਦ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਨੂੰ ਕਿਸੇ ਵੀ udp ਪੋਰਟ ਨਾਲ ਜੁੜਨ ਦਿੰਦਾ ਹੈ"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "ਸਭ"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "ਮੌਜੂਦਾ ਉਪਭੋਗੀ ਰੋਲ"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਨੂੰ bindresvport ਨੂੰ 0 ਨਾਲ ਕਾਲ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ। ਪੋਰਟ 600-1024 ਨਾਲ "
++"ਜੁੜ ਰਿਹਾ ਹੈ"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "ਇਹ ਉਪਭੋਗੀ ਮਸ਼ੀਨ ਉੱਪਰ ਸਿਰਫ ਟਰਮੀਨਲ ਜਾਂ ਰਿਮੋਟ ਲਾਗਇਨ ਰਾਹੀਂ ਲਾਗਇਨ ਕਰ ਸਕਦਾ ਹੈ।  ਮੂਲ ਰੂਪ "
+-#~ "ਵਿੱਚ ਇਸ ਉਪਭੋਗੀ ਦਾ ਕੋਈ setuid, ਨੈੱਟਵਰਕਿੰਗ, su, sudo ਨਹੀਂ ਹੈ।"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "ਘੱਟੋ-ਘੱਟ ਟਰਮੀਨਲ ਉਪਭੋਗੀ ਰੋਲ"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤੀ udp ਪੋਰਟਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਜੁੜਦੇ ਹਨ। ਉਦਾਹਰਨ: "
++"612, 650-660"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "ਇਹ ਉਪਭੋਗੀ ਮਸ਼ੀਨ ਉੱਪਰ X ਜਾਂ ਟਰਮੀਨਲ ਰਾਹੀਂ ਲਾਗਇਨ ਕਰ ਸਕਦਾ ਹੈ।  ਮੂਲ ਰੂਪ ਵਿੱਚ ਇਸ ਉਪਭੋਗੀ "
+-#~ "ਦਾ ਕੋਈ setuid, ਨੈੱਟਵਰਕਿੰਗ, sudo, su ਨਹੀਂ ਹੈ।"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "ਨਾ-ਰਾਖਵੇਂ ਪੋਰਟ (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "ਪੋਰਟ ਚੁਣੋ"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਨੂੰ ਕਿਸੇ udp ਪੋਰਟ ਨਾਲ ਜੁੜਨ ਦਿੰਦਾ ਹੈ > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP ਪੋਰਟ</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟਾਂ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਜੁੜਦੇ ਹਨ।"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "ਘੱਟੋ-ਘੱਟ X ਵਿੰਡੋ ਉਪਭੋਗੀ ਰੋਲ"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤੀ udp ਪੋਰਟਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਜੁੜਦੇ ਹਨ। ਉਦਾਹਰਨ: "
++"612, 650-660"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "ਪੂਰੀ ਨੈੱਟਵਰਕਿੰਗ ਵਾਲੇ ਉਪਭੋਗੀ, ਕੋਈ setuid ਕਾਰਜ ਬਿਨਾਂ ਤਬਦੀਲੀ, ਕੋਈ sudo, ਕੋਈ su ਨਹੀਂ।"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤੀ udp ਪੋਰਟਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਜੁੜਦੇ ਹਨ। ਉਦਾਹਰਨ: "
++"612, 650-660"
+-#~ msgid "User Role"
+-#~ msgstr "ਉਪਭੋਗੀ ਰੋਲ"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "ਆਮ ਕਾਰਜ ਗੁਣ ਚੁਣੋ"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog ਸੁਨੇਹੇ ਲਿਖਦਾ ਹੈ\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp ਵਿਚਲੀਆਂ ਫਾਇਲਾਂ ਬਣਾਓ/ਸੋਧੋ"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ Pam ਨੂੰ ਵਰਤਦੇ ਹਨ"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch ਜਾਂ getpw* ਕਾਲਾਂ ਵਰਤਦਾ ਹੈ"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus ਵਰਤਦਾ ਹੈ"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ਆਡਿਟ ਸੁਨੇਹੇ ਭੇਜਦਾ ਹੈ"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "ਟਰਮੀਨਲ ਨਾਲ ਸੰਪਰਕ ਕਰਦਾ ਹੈ"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ਈ-ਮੇਲ ਭੇਜਦਾ ਹੈ"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "ਫਾਇਲਾਂ/ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜਿਨਾ ਦਾ ਪਰਬੰਧਨ ਕਾਰਜ ਕਰਦਾ ਹੈ"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "ਪੂਰੀ ਨੈੱਟਵਰਕਿੰਗ ਵਾਲੇ ਉਪਭੋਗੀ, ਕੋਈ setuid ਕਾਰਜ ਤਬਦੀਲੀ ਬਿਨਾਂ, ਕੋਈ su, ਰੂਟ ਪਰਬੰਧਿਕ ਰੋਲ ਲਈ "
+-#~ "sudo ਕਰ ਸਕਦਾ ਹੈ"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"ਫਾਇਲਾਂ/ਡਾਇਰੈਕਟਰੀਆਂ ਸ਼ਾਮਿਲ ਕਰੋ ਜਿਨਾਂ ਨੂੰ ਇਹ ਕਾਰਜ \"ਲਿਖੇਗਾ\"। Pid ਫਾਇਲਾਂ, ਲਾਗ ਫਾਇਲਾਂ, /"
++"var/lib ਫਾਇਲਾਂ ..."
+-#~ msgid "Admin User Role"
+-#~ msgstr "ਪਰਬੰਧਕ ਉਪਭੋਗੀ ਰੋਲ"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "ਬੂਲੀਅਨ ਚੁਣੋ ਜੋ ਇਹ ਕਾਰਜ ਵਰਤਦੇ ਹਨ"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "ਇਸ ਪਾਬੰਦ ਕਾਰਜ/ਉਪਭੋਗੀ ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਬੂਲੀਅਨ ਜੋੜੋ/ਹਟਾਓ"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜਿਸ ਵਿੱਚ ਪਾਲਿਸੀ ਬਣਾਉਣੀ ਹੈ"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "ਪਾਲਿਸੀ ਡਾਇਰੈਕਟਰੀ"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "ਬਣਾਈਆਂ ਪਾਲਿਸੀ ਫਾਇਲਾਂ"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>ਪਰਬੰਧਕ ਉਪਭੋਗੀ</b>"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ਇਹ ਜੰਤਰ ਹੇਠ ਦਿੱਤੇ ਸਭ ਬਣਾਉਂਦਾ ਹੈ: ਕਿਸਮ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਫਾਇਲ(te), ਫਾਇਲ ਪ੍ਰਸੰਗ(fc), ਇੰਟਰਫੇਸ"
++"(if), ਸ਼ੈੱਲ ਸਕਰਿਪਟ(sh)।\n"
++"ਫਾਇਲ/ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਕੰਪਾਈਲ/ਇੰਸਟਾਲ ਕਰਨਲ ਲਈ ਅਤੇ ਮੁੜ-ਲੇਬਲ ਕਰਨ ਲਈ ਸ਼ੈੱਲਸਕਰਿਪਟ ਚਲਾਓ।  ਹੁਣ ਤੁਸੀਂ "
++"ਮਸ਼ੀਨ ਨੂੰ ਮਜਬੂਰ ਢੰਗ (setenforce 0) ਵਿੱਚ ਲਿਜਾ ਸਕਦੇ ਹੋ। \n"
++"avc ਸੁਨੇਹੇ ਬਣਾਉਣ ਲਈ ਕਾਰਜ ਚਲਾਓ/ਮੁੜ-ਚਲਾਓ।\n"
++"te ਫਾਇਲ ਲਈ ਵਾਧੂ ਨਿਯਮ ਬਣਾਉਣ ਲਈ audit2allow -R ਵਰਤੋ।\n"
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "ਰੂਟ ਉਪਭੋਗੀ ਚੁਣੋ, ਜੇ ਇਹ ਉਪਭੋਗੀ ਮਸ਼ੀਨ ਦਾ ਪਰਬੰਧਨ ਕਰੇਗਾ ਜਦੋਂ ਪਰਬੰਧਕ ਤੌਰ ਤੇ ਚੱਲਦੀ ਹੈ।  ਇਹ "
+-#~ "ਉਪਭੋਗੀ ਸਿਸਟਮ ਉੱਪਰ ਸਿੱਧੇ ਤੌਰ ਤੇ ਲਾਗਇਨ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ।"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ਇਹ ਜੰਤਰ ਹੇਠ ਦਿੱਤੇ ਸਭ ਬਣਾਉਂਦਾ ਹੈ: ਕਿਸਮ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਫਾਇਲ(te), ਫਾਇਲ ਪ੍ਰਸੰਗ(fc), ਇੰਟਰਫੇਸ"
++"(if), ਸ਼ੈੱਲ ਸਕਰਿਪਟ(sh)।\n"
++"ਫਾਇਲ/ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਕੰਪਾਈਲ/ਇੰਸਟਾਲ ਕਰਨਲ ਲਈ ਅਤੇ ਮੁੜ-ਲੇਬਲ ਕਰਨ ਲਈ ਸ਼ੈੱਲਸਕਰਿਪਟ ਚਲਾਓ।  ਹੁਣ ਤੁਸੀਂ "
++"ਮਸ਼ੀਨ ਨੂੰ ਮਜਬੂਰ ਢੰਗ (setenforce 0) ਵਿੱਚ ਲਿਜਾ ਸਕਦੇ ਹੋ। \n"
++"avc ਸੁਨੇਹੇ ਬਣਾਉਣ ਲਈ ਕਾਰਜ ਚਲਾਓ/ਮੁੜ-ਚਲਾਓ।\n"
++"te ਫਾਇਲ ਲਈ ਵਾਧੂ ਨਿਯਮ ਬਣਾਉਣ ਲਈ audit2allow -R ਵਰਤੋ।\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "ਬੂਲੀਅਨ ਵਾਰਤਾਲਾਪ ਜੋੜੋ"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "ਬੂਲੀਅਨ ਨਾਂ"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "ਰੋਲ"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "ਮੌਜੂਦਾ ਉਪਭੋਗੀ(_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "ਕਾਰਜ"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਹੋਣੀ ਜਰੂਰੀ ਹੈ"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਉਪਭੋਗੀ ਚੁਣਨਾ ਜਰੂਰੀ ਹੈ"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "ਪਾਬੰਦ ਕਰਨ ਲਈ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਫਾਇਲ ਚੁਣੋ।"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "ਪਾਬੰਦੀ ਵਾਲੀ init ਸਕਰਿਪਟ ਚੁਣੋ।"
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "ਫਾਇਲਾਂ ਚੁਣੋ ਜੋ ਪਾਬੰਦੀ ਵਾਲੇ ਕਾਰਜ ਨੇ ਬਣਾਈਆਂ ਜਾਂ ਲਿਖੀਆਂ ਹਨ"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜੋ ਪਾਬੰਦੀ ਵਾਲੇ ਕਾਰਜਾਂ ਦੇ ਅਧੀਨ ਹਨ ਅਤੇ ਲਿਖੀਆਂ ਹਨ"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜਿਸ ਵਿੱਚ ਪਾਲਿਸੀ ਫਾਇਲਾਂ ਬਣਾਉਣੀਆਂ ਹਨ"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "ਰੂਟ ਪਰਬੰਧਕ ਉਪਭੋਗੀ ਰੋਲ"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"ਕਿਸਮ %s_t ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦਾ ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੀ ਸੀ।\n"
++"ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰਹਿਣਾ ਚਾਹੁੰਦੇ ਹੈ?"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "ਕਾਰਜ ਜਾਂ ਉਪਭੋਗੀ ਰੋਲ ਦਾ ਨਾਂ ਦਿਓ ਜਿਨਾਂ ਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "ਨਾਂ ਦੀ ਜਾਂਚ ਕਰੋ"
+-#~ msgid "Name"
+-#~ msgstr "ਨਾਂ"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"ਮੈਡਿਊਲ %s.pp ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦਾ ਪਾਲਿਸੀ ਵਿੱਚ ਲੋਡ ਹੋਈ ਹੈ।\n"
++"ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰਹਿਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "ਪਾਬੰਦੀ ਵਾਲੇ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਲਈ ਪੂਰਾ ਮਾਰਗ ਦਿਓ।"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਨਾਂ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "ਪਾਬੰਦੀ ਵਾਲੇ ਕਾਰਜ ਜਾਂ ਉਪਭੋਗੀ ਰੋਲ ਲਈ ਵੱਖਰਾ ਨਾਂ ਦਿਓ।"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux ਸੰਰਚਨਾ"
+-#~ msgid "Executable"
+-#~ msgstr "ਐਗਜ਼ੀਕਿਊਟੇਬਲ"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "ਪੋਰਟਾਂ ਨੰਬਰ ਜਾਂ 1 ਤੋਂ %d ਤੱਕ ਨੰਬਰਾਂ ਦੀ ਰੇਂਜ ਹੋਣੇ ਜਰੂਰੀ ਹਨ"
+-#~ msgid "Init script"
+-#~ msgstr "Init ਸਕਰਿਪਟ"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "ਤੁਹਾਨੂੰ ਆਪਣੇ ਪਾਬੰਦੀ ਕਾਰਜਾਂ/ਉਪਭੋਗੀਆਂ ਲਈ ਨਾਂ ਦੇਣਾ ਜਰੂਰੀ ਹੈ"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "ਪਾਬੰਦ ਕਾਰਜ ਚਲਾਉਣ ਵਾਲੀ init ਸਕਰਿਪਟ ਦਾ ਪੂਰਾ ਮਾਰਗ ਦਿਓ।"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER ਕਿਸਮਾਂ ਨੂੰ ਐਗਜ਼ੀਕਿਊਟੇਬਲਾਂ ਲਈ ਮਨਜੂਰੀ ਨਹੀਂ ਹੈ"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "ਉਪਭੋਗੀ ਰੋਲ ਚੁਣੋ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਸੋਧਣਾ ਚਾਹੁੰਦੇ ਹੋ"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "DAEMON ਕਾਰਜ init ਸਕਰਿਪਟ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹਨ"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "ਉਪਭੋਗੀ ਰੋਲ ਚੁਣੋ ਜੋ ਇਸ ਕਾਰਜ ਡੋਮੇਨਾਂ ਵਿੱਚ ਤਬਦੀਲ ਹੋਵੇਗਾ।"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog ਦਾ ਮੁੱਲ ਬੂਲੀਅਨ ਹੋਣਾ ਜਰੂਰੀ ਹੈ"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "ਵਾਧੂ ਉਪਭੋਗੀ ਡੋਮੇਨ ਚੁਣੋ ਜਿਸ ਦਾ ਇਹ ਉਪਭੋਗੀ ਰੋਲ ਅਨੁਵਾਦ ਕਰੇਗਾ"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER ਕਿਸਮ ਆਟੋਮੈਟਿਕ ਹੀ tmp ਕਿਸਮ ਲੈ ਲੈਂਦੀ ਹੈ"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "ਕਾਰਜ ਡੋਮੇਨ ਚੁਣੋ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਇਸ ਉਪਭੋਗੀ ਨੂੰ ਤਬਦੀਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "ਤੁਹਾਨੂੰ ਆਪਣੇ ਪਾਬੰਦ ਕਾਰਜ ਲਈ ਆਗਜ਼ੀਕਿਊਟੇਬਲ ਮਾਰਗ ਦੇਣਾ ਜਰੂਰੀ ਹੈ"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "ਉਪਭੋਗੀ ਰੋਲ ਚੁਣੋ ਜੋ ਇਸ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਹੋਵੇਗਾ"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "enforcment ਫਾਇਲ ਟਾਈਪ ਕਰੋ"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "ਵਾਧੂ ਡੋਮੇਨ ਚੁਣੋ ਜਿਸਦਾ ਇਹ ਉਪਭੋਗੀ ਰੋਲ ਪਰਬੰਧਨ ਕਰੇਗਾ"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ਇੰਟਰਫੇਸ ਫਾਇਲ"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "ਡੋਮੇਨ ਚੁਣੋ ਜਿਸ ਦਾ ਪਰਬੰਧਨ ਇਸ ਉਪਭੋਗੀ ਤੋਂ ਕਰਾਉਣਾ ਹੈ।"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਫਾਇਲ"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "ਇਸ ਉਪਭੋਗੀ ਲਈ ਵਾਧੂ ਰੋਲ ਚੁਣੋ"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "ਸੈੱਟਅੱਪ ਸਕਰਿਪਟ"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟਾਂ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਸੁਣਦੇ ਹਨ।"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟ"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP ਪੋਰਟ</b>"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux ਪੋਰਟ\n"
++"ਕਿਸਮ"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr "ਪਾਬੰਦ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਨੂੰ ਕਿਸੇ ਵੀ udp ਪੋਰਟ ਨਾਲ ਜੁੜਨ ਦਿੰਦਾ ਹੈ"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "ਪਰੋਟੋਕਾਲ"
+-#~ msgid "All"
+-#~ msgstr "ਸਭ"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"ਲੈਵਲ"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਨੂੰ bindresvport ਨੂੰ 0 ਨਾਲ ਕਾਲ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ। ਪੋਰਟ 600-1024 "
+-#~ "ਨਾਲ ਜੁੜ ਰਿਹਾ ਹੈ"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "ਪੋਰਟ"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "ਪੋਰਟ ਨੰਬਰ \"%s\" ਠੀਕ ਨਹੀਂ ਹੈ  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "ਸੂਚੀ ਦਰਿਸ਼"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "ਗਰੁੱਪ ਦਰਿਸ਼"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux ਸਰਵਿਸ ਸੁਰੱਖਿਆ"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "acct ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "ਪਰਬੰਧ"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "ਸਭ ਡੈਮਨਾਂ ਰਾਹੀਂ ਮੁੱਖ-ਫਾਇਲਾਂ ਨੂੰ / ਤੋ ਲਿਖਣ ਲਈ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "ਨਾ-ਨਿਰਧਾਰਤ ttys ਵਰਤਣ ਲਈ ਸਭ ਡੈਮਨਾਂ ਨੂੰ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "ਉਪਭੋਗੀ Privs"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux ਉਪਭੋਗੀ ਖਾਤੇ ਨੂੰ ਆਪਣੀ home ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿਚਲੀਆਂ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
++"ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤੀ udp ਪੋਰਟਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਜੁੜਦੇ ਹਨ। ਉਦਾਹਰਨ: "
+-#~ "612, 650-660"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ਗਿਸਟ SELinux ਉਪਭੋਗੀ ਖਾਤੇ ਨੂੰ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀਆਂ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "ਨਾ-ਰਾਖਵੇਂ ਪੋਰਟ (>1024)"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "ਮੈਮੋਰੀ ਸੁਰੱਖਿਆ"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "java ਆਗਜ਼ੀਕਿਊਟੇਬਲ ਸਟੈਕ ਨੂੰ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "ਮਾਊਂਟ"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "ਕਿਸੇ ਫਾਇਲ ਨੂੰ ਮਾਊਂਟ ਕਰਨ ਲਈ mount ਮਨਜੂਰ ਕਰੋ"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "ਕਿਸੇ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਮਾਊਂਟ ਕਰਨ ਲਈ mount ਮਨਜੂਰ ਕਰੋ"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "mplayer ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਸਟੈਕ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh ਨੂੰ ssh-keysign ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Select Ports"
+-#~ msgstr "ਪੋਰਟ ਚੁਣੋ"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ਸਟਾਫ SELinux ਉਪਭੋਗੀ ਖਾਤੇ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ "
++"ਦਿਓ"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr "ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਨੂੰ ਕਿਸੇ udp ਪੋਰਟ ਨਾਲ ਜੁੜਨ ਦਿੰਦਾ ਹੈ > 1024"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux ਉਪਭੋਗੀ ਖਾਤੇ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
++"ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP ਪੋਰਟ</b>"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"ਨਾ-ਪਾਬੰਦ SELinux ਉਪਭੋਗੀ ਖਾਤੇ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
++"ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟਾਂ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਜੁੜਦੇ ਹਨ।"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "ਬਿਨਾਂ-ਲੇਬਲ ਪੈਕਟਾਂ ਨੂੰ ਨੈੱਟਵਰਕ ਤੇ ਜਾਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤੀ udp ਪੋਰਟਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਜੁੜਦੇ ਹਨ। "
+-#~ "ਉਦਾਹਰਨ: 612, 650-660"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"ਉਪਭੋਗੀ SELinux ਉਪਭੋਗੀ ਖਾਤੇ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ "
++"ਦਿਓ"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ ਕੀਤੀ udp ਪੋਰਟਾਂ ਦੀ ਸੂਚੀ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਕਾਰਜ/ਉਪਭੋਗੀ ਜੁੜਦੇ ਹਨ। ਉਦਾਹਰਨ: "
+-#~ "612, 650-660"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "unconfined ਨੂੰ unconfined_execmem ਵੱਲ ਆਰਜੀ ਤਬਦੀਲ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "ਡਾਟਾਬੇਸ"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ mysql ਸਾਕਟ ਨਾਲ ਜੁੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ postgres ਸਾਕਟ ਨਾਲ ਜੁੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "ਕਲਾਂਈਟ ਨੂੰ X ਸ਼ੇਅਰ ਮੈਮੋਰੀ ਤੇ ਲਿਖਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Select common application traits"
+-#~ msgstr "ਆਮ ਕਾਰਜ ਗੁਣ ਚੁਣੋ"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux ਉਪਭੋਗੀ ਖਾਤੇ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
++"ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "syslog ਸੁਨੇਹੇ ਲਿਖਦਾ ਹੈ\t"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "ਡੈਮਨਾਂ ਨੂੰ NIS ਨਾਲ ਚੱਲਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "ਵੈੱਬ ਕਾਰਜ"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "ਸਟਾਫ SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "sysadm SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "ਉਪਭੋਗੀ SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "xguest SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "ਸਟਾਫ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਨੂੰ home ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਲਿਖਣ ਦੀ ਮਨਜੂਰੀ"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amanda ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavis ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahi ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "ਕਲੱਸਟਰ ਸਰਵਰ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp ਵਿਚਲੀਆਂ ਫਾਇਲਾਂ ਬਣਾਓ/ਸੋਧੋ"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord ਨੂੰ ਵੱਖ-ਵੱਖ ਹਿੱਸੇ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ। nfs, samba, ਹਟਾਉਣ-ਯੋਗ ਜੰਤਰ, ਉਪਭੋਗੀ temp "
++"ਅਤੇ ਨਾ-ਭਰੇਸੋਯੋਗ ਸੰਖੇਪ ਫਾਇਲਾਂ"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ Pam ਨੂੰ ਵਰਤਦੇ ਹਨ"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "ਪ੍ਰਿੰਟਿੰਗ"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd ਬੈਕਐਂਡ ਸਰਵਰ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccm ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t ਨੂੰ ਸਿੱਧਾ ਹੀ ਡੈਮਨ ਚਾਲੂ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "ਏਵੋਲੂਸ਼ਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "ਖੇਡਾਂ"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "ਖੇਡਾਂ ਲਈ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "ਵੈੱਬ ਬਰਾਊਜ਼ਰਾਂ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "ਥੰਡਰਬਰਡ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmail ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "ਅਨੁਕੂਲਤਾ"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch ਜਾਂ getpw* ਕਾਲਾਂ ਵਰਤਦਾ ਹੈ"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"ਉਹ ਚੀਜਾਂ ਆਡਿਟ ਨਾ ਕਰੋ ਜੋ ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਰੁਕਾਵਟ ਪਾਉਂਦੀਆਂ ਹਨ ਅਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਕੋਈ ਖਤਰਾ ਨਹੀਂ ਹੈ।"
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus ਵਰਤਦਾ ਹੈ"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD ਸਰਵਿਸ"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd ਅਧੀਨ ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd ਡੈਮਨ "
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "ਕਰਬੀਰੋਸ"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "ਏਵੋਲੂਸ਼ਨ ਅਤੇ ਥੰਡਰਬਰਡ ਨੂੰ ਉਪਭੋਗੀ ਫਾਇਲਾਂ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "ਮੋਜ਼ੀਲਾ ਬਰਾਊਜ਼ਰ ਨੂੰ ਉਪਭੋਗੀ ਫਾਇਲਾਂ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "ਨਾਂ ਸਰਵਿਸ"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManager ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "pppd ਨੂੰ ਰੈਗੂਲਰ ਉਪਭੋਗੀ ਲਈ ਚੱਲਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "ਪਰੋਗਰਾਮਾਂ ਨੂੰ ਬਿਨਾ-ਮਿਆਰ (default_t) ਸਥਿਤੀਆਂ ਤੋਂ ਫਾਇਲਾਂ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh ਨੂੰ ਡੈਮਨ ਦੀ ਬਜਾਇ inetd ਤੋਂ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Samba ਨੂੰ nfs ਡਾਇਰੈਕਟਰੀ ਸ਼ੇਅਰ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਵਰ"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਵਰ ਨੂੰ /etc/shadow ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ਆਡਿਟ ਸੁਨੇਹੇ ਭੇਜਦਾ ਹੈ"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-ਵਿੰਡੋ ਸਰਵਰ ਨੂੰ ਮੈਮੋਰੀ ਮੈਪ ਕਰਨ ਲਈ ਮਨਜੂਰੀ ਦਿਓ ਤਾਂ ਕਿ ਇਹ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਅਤੇ ਲਿਖਣਯੋਗ ਹੋ ਸਕੇ"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "ਟਰਮੀਨਲ ਨਾਲ ਸੰਪਰਕ ਕਰਦਾ ਹੈ"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Sends email"
+-#~ msgstr "ਈ-ਮੇਲ ਭੇਜਦਾ ਹੈ"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "ਫਾਇਲਾਂ/ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜਿਨਾ ਦਾ ਪਰਬੰਧਨ ਕਾਰਜ ਕਰਦਾ ਹੈ"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo ਅਤੇ su ਪ੍ਰਭਾਵੀ ਤਬਦੀਲੀ ਮਨਜੂਰ ਨਾ ਕਰੋ"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "ਫਾਇਲਾਂ/ਡਾਇਰੈਕਟਰੀਆਂ ਸ਼ਾਮਿਲ ਕਰੋ ਜਿਨਾਂ ਨੂੰ ਇਹ ਕਾਰਜ \"ਲਿਖੇਗਾ\"। Pid ਫਾਇਲਾਂ, ਲਾਗ ਫਾਇਲਾਂ, /"
+-#~ "var/lib ਫਾਇਲਾਂ ..."
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "ਕਿਸੇ ਵੀ ਕਾਰਜ ਨੂੰ ਕਰਨਲ ਮੈਡਿਊਲ ਲੋਡ ਨਾ ਕਰਨ ਦਿਓ"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "ਬੂਲੀਅਨ ਚੁਣੋ ਜੋ ਇਹ ਕਾਰਜ ਵਰਤਦੇ ਹਨ"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "ਕਰਨਲ SELinux ਪਾਲਿਸੀ ਨੂੰ ਕਿਸੇ ਵੀ ਕਾਰਜ ਦੁਆਰਾ ਸੋਧਣ ਨਾ ਦਿਓ"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "ਇਸ ਪਾਬੰਦ ਕਾਰਜ/ਉਪਭੋਗੀ ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਬੂਲੀਅਨ ਜੋੜੋ/ਹਟਾਓ"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜਿਸ ਵਿੱਚ ਪਾਲਿਸੀ ਬਣਾਉਣੀ ਹੈ"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Policy Directory"
+-#~ msgstr "ਪਾਲਿਸੀ ਡਾਇਰੈਕਟਰੀ"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroublesoot ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "ਬਣਾਈਆਂ ਪਾਲਿਸੀ ਫਾਇਲਾਂ"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ਇਹ ਜੰਤਰ ਹੇਠ ਦਿੱਤੇ ਸਭ ਬਣਾਉਂਦਾ ਹੈ: ਕਿਸਮ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਫਾਇਲ(te), ਫਾਇਲ ਪ੍ਰਸੰਗ(fc), "
+-#~ "ਇੰਟਰਫੇਸ(if), ਸ਼ੈੱਲ ਸਕਰਿਪਟ(sh)।\n"
+-#~ "ਫਾਇਲ/ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਕੰਪਾਈਲ/ਇੰਸਟਾਲ ਕਰਨਲ ਲਈ ਅਤੇ ਮੁੜ-ਲੇਬਲ ਕਰਨ ਲਈ ਸ਼ੈੱਲਸਕਰਿਪਟ ਚਲਾਓ।  ਹੁਣ "
+-#~ "ਤੁਸੀਂ ਮਸ਼ੀਨ ਨੂੰ ਮਜਬੂਰ ਢੰਗ (setenforce 0) ਵਿੱਚ ਲਿਜਾ ਸਕਦੇ ਹੋ। \n"
+-#~ "avc ਸੁਨੇਹੇ ਬਣਾਉਣ ਲਈ ਕਾਰਜ ਚਲਾਓ/ਮੁੜ-ਚਲਾਓ।\n"
+-#~ "te ਫਾਇਲ ਲਈ ਵਾਧੂ ਨਿਯਮ ਬਣਾਉਣ ਲਈ audit2allow -R ਵਰਤੋ।\n"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ਇਹ ਜੰਤਰ ਹੇਠ ਦਿੱਤੇ ਸਭ ਬਣਾਉਂਦਾ ਹੈ: ਕਿਸਮ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਫਾਇਲ(te), ਫਾਇਲ ਪ੍ਰਸੰਗ(fc), "
+-#~ "ਇੰਟਰਫੇਸ(if), ਸ਼ੈੱਲ ਸਕਰਿਪਟ(sh)।\n"
+-#~ "ਫਾਇਲ/ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਕੰਪਾਈਲ/ਇੰਸਟਾਲ ਕਰਨਲ ਲਈ ਅਤੇ ਮੁੜ-ਲੇਬਲ ਕਰਨ ਲਈ ਸ਼ੈੱਲਸਕਰਿਪਟ ਚਲਾਓ।  ਹੁਣ "
+-#~ "ਤੁਸੀਂ ਮਸ਼ੀਨ ਨੂੰ ਮਜਬੂਰ ਢੰਗ (setenforce 0) ਵਿੱਚ ਲਿਜਾ ਸਕਦੇ ਹੋ। \n"
+-#~ "avc ਸੁਨੇਹੇ ਬਣਾਉਣ ਲਈ ਕਾਰਜ ਚਲਾਓ/ਮੁੜ-ਚਲਾਓ।\n"
+-#~ "te ਫਾਇਲ ਲਈ ਵਾਧੂ ਨਿਯਮ ਬਣਾਉਣ ਲਈ audit2allow -R ਵਰਤੋ।\n"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "ਬੂਲੀਅਨ ਵਾਰਤਾਲਾਪ ਜੋੜੋ"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Boolean Name"
+-#~ msgstr "ਬੂਲੀਅਨ ਨਾਂ"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Role"
+-#~ msgstr "ਰੋਲ"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Existing_User"
+-#~ msgstr "ਮੌਜੂਦਾ ਉਪਭੋਗੀ(_U)"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Application"
+-#~ msgstr "ਕਾਰਜ"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "spam ਸੁਰੱਖਿਆ"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਹੋਣੀ ਜਰੂਰੀ ਹੈ"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "You must select a user"
+-#~ msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਉਪਭੋਗੀ ਚੁਣਨਾ ਜਰੂਰੀ ਹੈ"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "spamd ਨੂੰ ਨੈੱਟਵਰਕ ਵਰਤਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "ਪਾਬੰਦ ਕਰਨ ਲਈ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਫਾਇਲ ਚੁਣੋ।"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assasin ਡੈਮਨ ਨੂੰ ਨੈੱਟਵਰਕ ਪਹੁੰਚ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "ਪਾਬੰਦੀ ਵਾਲੀ init ਸਕਰਿਪਟ ਚੁਣੋ।"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "ਫਾਇਲਾਂ ਚੁਣੋ ਜੋ ਪਾਬੰਦੀ ਵਾਲੇ ਕਾਰਜ ਨੇ ਬਣਾਈਆਂ ਜਾਂ ਲਿਖੀਆਂ ਹਨ"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜੋ ਪਾਬੰਦੀ ਵਾਲੇ ਕਾਰਜਾਂ ਦੇ ਅਧੀਨ ਹਨ ਅਤੇ ਲਿਖੀਆਂ ਹਨ"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ ਜਿਸ ਵਿੱਚ ਪਾਲਿਸੀ ਫਾਇਲਾਂ ਬਣਾਉਣੀਆਂ ਹਨ"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "ਕਿਸਮ %s_t ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦਾ ਪਾਲਿਸੀ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੀ ਸੀ।\n"
+-#~ "ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰਹਿਣਾ ਚਾਹੁੰਦੇ ਹੈ?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "ਨਾਂ ਦੀ ਜਾਂਚ ਕਰੋ"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "ਮੈਡਿਊਲ %s.pp ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦਾ ਪਾਲਿਸੀ ਵਿੱਚ ਲੋਡ ਹੋਈ ਹੈ।\n"
+-#~ "ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰਹਿਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਨਾਂ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "ਤੁਹਾਨੂੰ ਇੱਕ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux ਸੰਰਚਨਾ"
+-
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "ਪੋਰਟਾਂ ਨੰਬਰ ਜਾਂ 1 ਤੋਂ %d ਤੱਕ ਨੰਬਰਾਂ ਦੀ ਰੇਂਜ ਹੋਣੇ ਜਰੂਰੀ ਹਨ"
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "ਤੁਹਾਨੂੰ ਆਪਣੇ ਪਾਬੰਦੀ ਕਾਰਜਾਂ/ਉਪਭੋਗੀਆਂ ਲਈ ਨਾਂ ਦੇਣਾ ਜਰੂਰੀ ਹੈ"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER ਕਿਸਮਾਂ ਨੂੰ ਐਗਜ਼ੀਕਿਊਟੇਬਲਾਂ ਲਈ ਮਨਜੂਰੀ ਨਹੀਂ ਹੈ"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "DAEMON ਕਾਰਜ init ਸਕਰਿਪਟ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹਨ"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog ਦਾ ਮੁੱਲ ਬੂਲੀਅਨ ਹੋਣਾ ਜਰੂਰੀ ਹੈ"
+-
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER ਕਿਸਮ ਆਟੋਮੈਟਿਕ ਹੀ tmp ਕਿਸਮ ਲੈ ਲੈਂਦੀ ਹੈ"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "ਤੁਹਾਨੂੰ ਆਪਣੇ ਪਾਬੰਦ ਕਾਰਜ ਲਈ ਆਗਜ਼ੀਕਿਊਟੇਬਲ ਮਾਰਗ ਦੇਣਾ ਜਰੂਰੀ ਹੈ"
+-
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "enforcment ਫਾਇਲ ਟਾਈਪ ਕਰੋ"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "ਇੰਟਰਫੇਸ ਫਾਇਲ"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਫਾਇਲ"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "ਸੈੱਟਅੱਪ ਸਕਰਿਪਟ"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux ਪੋਰਟ\n"
+-#~ "ਕਿਸਮ"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squid ਡੈਮਨ ਨੂੰ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Protocol"
+-#~ msgstr "ਪਰੋਟੋਕਾਲ"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "ਲੈਵਲ"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Port"
+-#~ msgstr "ਪੋਰਟ"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh ਲਾਗਇਨ ਨੂੰ sysadm_r:sysadm_t ਤੌਰ ਤੇ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "ਪੋਰਟ ਨੰਬਰ \"%s\" ਠੀਕ ਨਹੀਂ ਹੈ  0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "ਸੂਚੀ ਦਰਿਸ਼"
+-
+-#~ msgid "Group View"
+-#~ msgstr "ਗਰੁੱਪ ਦਰਿਸ਼"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r ਉਪਭੋਗੀਆਂ ਨੂੰ ਪਰਬੰਧਕ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੈਕਟਰੀ ਖੋਜਣ ਅਤੇ ਫਾਇਲਾਂ (ਜਿਵੇਂ ~/.bashrc) ਪੜਨ ਦੀ "
++"ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux ਸਰਵਿਸ ਸੁਰੱਖਿਆ"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "ਯੂਨੀਵਰਸਲ SSL tunnel"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel ਡੈਮਨ ਨੂੰ xinetd ਦੇ ਬਾਹਰ, ਸਟੈਂਡਅਲੋਨ ਚੱਲਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "ਸਿਸਟਮ cron jobs ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "acct ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd ਨੂੰ ਨਾ-ਪਾਬੰਦ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ, ਜਿਵੇਂ ਕਿ ਸਰਵਿਸਾਂ ਜੋ ਇਹ ਚਲਾਉਂਦਾ ਹੈ ਤੇ ਜਿਸ ਜੀ "
++"ਡੋਮੇਨ ਤਬਦੀਲੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤੀ ਹੈ"
+-#~ msgid "Admin"
+-#~ msgstr "ਪਰਬੰਧ"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"rc ਸਕਰਿਪਟਾਂ ਨੂੰ ਨਾ-ਪਾਬੰਦ ਚਲਾਉਣ ਲਈ ਮਨਜੂਰੀ ਦਿਓ, ਜਿਵੇਂ ਕਿ ਕੋਈ ਵੀ ਡੈਮਨ ਜੋ rc ਸਕਰਿਪਟ ਦੁਆਰਾ "
++"ਚਲਾਇਆ ਗਿਆ ਹੈ ਤੇ ਜਿਸ ਦੀ ਡੋਮੇਨ ਤਬਦੀਲੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤੀ ਹੈ"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "ਸਭ ਡੈਮਨਾਂ ਰਾਹੀਂ ਮੁੱਖ-ਫਾਇਲਾਂ ਨੂੰ / ਤੋ ਲਿਖਣ ਲਈ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm ਨੂੰ unconfined ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr "ਪ੍ਰਮਾਣਿਤ ਸਹੂਲਤਾਂ ਜਿਵੇਂ hotplug ਅਤੇ insmod ਨੂੰ ਨਾ-ਪਾਬੰਦ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "ਨਾ-ਨਿਰਧਾਰਤ ttys ਵਰਤਣ ਲਈ ਸਭ ਡੈਮਨਾਂ ਨੂੰ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r ਨੂੰ sysadm_r ਤੱਕ su, sudo, ਜਾਂ userhelper ਰਾਹੀਂ ਪਹੁੰਚਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ। ਨਹੀਂ ਤਾਂ, "
++"ਸਿਰਫ staff_r ਹੀ ਅਜਿਹਾ ਕਰ ਸਕਦਾ ਹੈ"
+-#~ msgid "User Privs"
+-#~ msgstr "ਉਪਭੋਗੀ Privs"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ mount ਕਮਾਂਡ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "ਰੈਗੂਲਰ ਉਪਭੋਗੀਆਂ ਨੂੰ ਸਿੱਧੀ ਮਾਊਸ ਵਰਤੋਂ ਲਈ ਮਨਜੂਰੀ ਦਿਓ (ਸਿਰਫ X ਸਰਵਰ ਨੂੰ ਮਨਜੂਰ ਕਰੋ)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ dmesg ਕਮਾਂਡ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਕੰਟਰੋਲ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿੰਦਾ ਹੈ (USERCTL=true ਦੀ ਵੀ ਲੋੜ ਹੈ)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "ਆਮ ਉਪਭੋਗੀ ਨੂੰ ping ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ r/w noextattrfile (FAT, CDROM, FLOPPY) ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ rw usb ਜੰਤਰ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux ਉਪਭੋਗੀ ਖਾਤਿਆਂ ਨੂੰ ਆਪਣੀ home ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿਚਲੀਆਂ ਫਾਇਲਾਂ "
+-#~ "ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/selinux.tbl:216
++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 ""
++"ਉਪਭੋਗੀਆਂ ਨੂੰ TCP ਸਰਵਰ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ (ਪੋਰਟਾਂ ਨਾਲ ਜੋੜੋ ਅਤੇ ਉਸੇ ਡੋਮੇਨ ਜਾਂ ਬਾਹਰਲੇ ਉਪਭੋਗੀਆਂ "
++"ਤੋਂ ਕੁਨੈਕਸ਼ਨ ਸਵੀਕਾਰ ਕਰੋ)  ਇਸ ਨੂੰ ਅਯੋਗ ਕਰਨ ਨਾਲ FTP passive ਮੋਡ ਨੂੰ ਮਜਬੂਰ ਕਰਦਾ ਹੈ ਅਤੇ ਹੋਰ "
++"ਪਰੋਟੋਕਾਲ ਤਬਦੀਲੀਆਂ ਕਰਦਾ ਹੈ"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ਉਪਭੋਗੀ ਨੂੰ stat ttyfiles ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm ਲਾਗਇਨ ਨੂੰ sysadm_r:sysadm_t ਤੌਰ ਤੇ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen ਨੂੰ ਭੌਤਿਕ ਡਿਸਕ ਜੰਤਰ ਪੜਨ/ਲਿਖਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen constrol ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS ਪਾਸਵਰਡ ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS ਟਰਾਂਸਫਰ ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ਗਿਸਟ SELinux ਉਪਭੋਗੀ ਖਾਤਿਆਂ ਨੂੰ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀਆਂ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ "
+-#~ "ਦਿਓ"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"SELinux webadm ਉਪਭੋਗੀ ਨੂੰ ਨਾ-ਪ੍ਰਮਾਣਿਤ ਉਪਭੋਗੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀਆਂ ਦੇ ਪਰਬੰਧਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Memory Protection"
+-#~ msgstr "ਮੈਮੋਰੀ ਸੁਰੱਖਿਆ"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"SELinux webadm ਉਪਭੋਗੀ ਨੂੰ ਨਾ-ਪ੍ਰਮਾਣਿਤ ਉਪਭੋਗੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "java ਆਗਜ਼ੀਕਿਊਟੇਬਲ ਸਟੈਕ ਨੂੰ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ %s '%s' ਨੂੰ ਹਟਾਉਣਾ ਚੀਹੁੰਦੇ ਹੋ?"
+-#~ msgid "Mount"
+-#~ msgstr "ਮਾਊਂਟ"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s ਹਟਾਓ"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "ਕਿਸੇ ਫਾਇਲ ਨੂੰ ਮਾਊਂਟ ਕਰਨ ਲਈ mount ਮਨਜੂਰ ਕਰੋ"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s ਸ਼ਾਮਿਲ"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "ਕਿਸੇ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਮਾਊਂਟ ਕਰਨ ਲਈ mount ਮਨਜੂਰ ਕਰੋ"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s ਸੋਧ"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "mplayer ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਸਟੈਕ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "ਚੇਤਾਵਨੀ"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "ਮਜਬੂਰ"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "ਅਯੋਗ"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "ਹਾਲਤ"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh ਨੂੰ ssh-keysign ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/statusPage.py:133
++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 ""
++"ਪਾਲਿਸੀ ਕਿਸਮ ਤਬਦੀਲ ਕਰਨ ਨਾਲ ਅਗਲੀ ਵਾਰ ਬੂਟ ਹੋਣ ਤੇ ਪੂਰਾ ਫਾਇਲ ਸਿਸਟਮ ਮੁੜ ਲੇਬਲ ਕੀਤਾ ਜਾਏਗਾ। "
++"ਮੁੜ-ਲੇਬਲ ਹੋਣ ਤੇ ਫਾਇਲ ਸਿਸਟਮ ਦੇ ਅਕਾਰ ਮੁਤਾਬਿਕ ਕੁਝ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।  ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਕਰਨਾ ਹੈ?"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "ਸਟਾਫ SELinux ਉਪਭੋਗੀ ਖਾਤਿਆਂ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
+-#~ "ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux ਅਯੋਗ ਕਰਨ ਲਈ ਮੁੜ-ਚਾਲੂ ਕਰਨਾ ਪਵੇਗਾ। ਇਸ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ।  ਜੇ ਤੁਸੀਂ ਬਾਅਦ "
++"ਵਿੱਚ SELinux ਵੱਲ ਪਿੱਛੇ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਸਿਸਟਮ ਮੁੜ-ਲੇਬਲ ਕਰੇਗਾ।  ਜਿਸ ਤੁਸੀਂ ਇਹ ਵੇਖਣਾ ਚਾਹੁੰਦੇ "
++"ਹੋ ਜੇ SELinux ਤੁਹਾਡੇ ਸਿਸਟਮ ਉੱਪਰ ਸਮੱਸਿਆ ਪੈਦਾ ਕਰ ਰਿਹਾ ਹੈ, ਤੁਸੀਂ permissive ਮੋਡ ਵਿੱਚ ਜਾ ਸਕਦੇ "
++"ਹੋ ਜੋ ਸਿਰਫ ਗਲਤੀਆਂ ਦਾ ਲਾਗ ਰੱਖਦਾ ਹੈ ਅਤੇ enforce SELinux ਪਾਲਿਸੀ ਨਹੀਂ।  Permissive ਮੋਡ "
++"ਲਈ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ    ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux ਉਪਭੋਗੀ ਖਾਤਿਆਂ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
+-#~ "ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux ਯੋਗ ਕਰਨ ਨਾਲ ਅਗਲੀ ਵਾਰ ਬੂਟ ਹੋਣ ਤੇ ਪੂਰਾ ਫਾਇਲ ਸਿਸਟਮ ਮੁੜ ਲੇਬਲ ਕੀਤਾ ਜਾਏਗਾ। ਮੁੜ-ਲੇਬਲ "
++"ਹੋਣ ਤੇ ਫਾਇਲ ਸਿਸਟਮ ਦੇ ਅਕਾਰ ਮੁਤਾਬਿਕ ਕੁਝ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।  ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਕਰਨਾ ਹੈ?"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "ਨਾ-ਪਾਬੰਦ SELinux ਉਪਭੋਗੀ ਖਾਤਿਆਂ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ "
+-#~ "ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Network Configuration"
+-#~ msgstr "ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "ਬਿਨਾਂ-ਲੇਬਲ ਪੈਕਟਾਂ ਨੂੰ ਨੈੱਟਵਰਕ ਤੇ ਜਾਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux ਲਾਗਿੰਗ ਮੈਪਿੰਗ ਜੋੜੋ"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux ਨੈੱਟਵਰਕ ਪੋਰਟਾਂ ਜੋੜੋ"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux ਕਿਸਮ"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "ਉਪਭੋਗੀ SELinux ਉਪਭੋਗੀ ਖਾਤਿਆਂ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
+-#~ "ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"ਲੈਵਲ"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "unconfined ਨੂੰ unconfined_execmem ਵੱਲ ਆਰਜੀ ਤਬਦੀਲ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "ਫਾਇਲ ਨਿਰਧਾਰਨ"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "ਫਾਇਲ ਕਿਸਮ"
+-#~ msgid "Databases"
+-#~ msgstr "ਡਾਟਾਬੇਸ"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"ਸਭ ਫਾਇਲਾਂ\n"
++"ਰੈਗੂਲਰ ਫਾਇਲ\n"
++"ਡਾਇਰੈਕਟਰੀ\n"
++"ਅੱਖਰ ਜੰਤਰ\n"
++"ਬਲਾਕ ਜੰਤਰ\n"
++"ਸਾਕਟ\n"
++"ਚਿੰਨ ਸੰਬੰਧ\n"
++"named ਪਾਈਪ\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux ਉਪਭੋਗੀ ਸ਼ਾਮਿਲ"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux ਪਰਬੰਧਨ"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "ਸ਼ਾਮਿਲ"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ(_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "ਹਟਾਓ(_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "ਮੈਨੇਜਮੈਂਟ ਆਬਜੈਕਟ ਚੁਣੋ"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>ਚੁਣੋ:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "ਸਿਸਟਮ ਮੂਲ ਮਜਬੂਰ ਮੋਡ"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "ਉਪਭੋਗੀ ਨੂੰ mysql ਸਾਕਟ ਨਾਲ ਜੁੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"ਅਯੋਗ\n"
++"ਚੇਤਾਵਨੀ\n"
++"ਮਜਬੂਰ\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "ਵਰਤਮਾਨ ਮਜਬੂਰ ਮੋਡ"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "ਸਿਸਟਮ ਮੂਲ ਪਾਲਿਸੀ ਕਿਸਮ: "
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "ਉਪਭੋਗੀ ਨੂੰ postgres ਸਾਕਟ ਨਾਲ ਜੁੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"ਚੁਣੋ ਜੇ ਤੁਸੀਂ ਅਗਲੀ ਵਾਰ ਮੁੜ-ਚਾਲੂ ਹੋਣ ਤੇ ਪੂਰਾ ਫਾਇਲ ਸਿਸਟਮ ਮੁੜ-ਲੇਬਲ ਕਰਨਾ ਹੈ।  ਮੁੜ-ਲੇਬਲ ਹੋਣ ਤੇ "
++"ਸਿਸਟਮ ਦੇ ਅਕਾਰ ਮੁਤਾਬਿਕ ਕਾਫੀ ਸਮਾਂ ਲੱਗ ਲਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਪਾਲਿਸੀ ਕਿਸਮ ਤਬਦੀਲ ਕਰ ਦਿੱਤੀ ਜਾਂ "
++"ਅਯੋਗ ਤੋਂ ਮਜਬੂਰ ਤਬਦੀਲ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਮੁੜ-ਲੇਬਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "ਫਿਰ ਚਾਲੂ ਹੋਣ ਤੇ ਮੁੜ-ਲੇਬਲ ਕਰੋ।"
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "ਬੂਲੀਅਨ ਸੈਟਿੰਗ ਨੂੰ ਸਿਸਟਮ ਮੂਲ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "ਸੋਧੇ ਅਤੇ ਸਭ ਬੂਲੀਅਨਾਂ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "ਬੂਲੀਅਨ ਲਾਕਡਾਊਨ ਵਾਰਤਾਲਾਪ ਚਲਾਓ"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "ਲਾਕਡਾਊਨ..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "ਫਿਲਟਰ"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਸ਼ਾਮਿਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਸੋਧੋ"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਹਟਾਓ"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "ਸਭ ਅਤੇ ਸੋਧੇ ਫਾਇਲ ਪ੍ਰਸੰਗ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux ਉਪਭੋਗੀ ਮੈਪਿੰਗ ਜੋੜੋ"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux ਉਪਭੋਗੀ ਮੇਲ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux ਉਪਭੋਗੀ ਮੇਲ ਹਟਾਓ"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "ਉਪਭੋਗੀ ਸ਼ਾਮਿਲ"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "ਉਪਭੋਗੀ ਸੋਧ"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "ਉਪਭੋਗੀ ਹਟਾਓ"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "ਅਨੁਵਾਦ ਸ਼ਾਮਿਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "ਅਨੁਵਾਦ ਸੋਧ"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "ਅਨੁਵਾਦ ਹਟਾਓ"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟ ਸ਼ਾਮਿਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟ ਸੋਧ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟ ਹਟਾਓ"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "ਸੋਧੇ ਅਤੇ ਸਭ ਪੋਰਟਾਂ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "ਨਵਾਂ ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਬਣਾਓ"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਲੋਡ ਕਰੋ"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "ਲੋਡ ਹੋਣਯੋਗ ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਹਟਾਓ"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr "ਵਾਧੂ ਆਡਿਟ ਨਿਯਮ ਯੋਗ/ਅਯੋਗ ਕਰੋ, ਜੋ ਆਮ ਤੌਰ ਤੇ ਲਾਗ ਫਾਇਲਾਂ ਵਿੱਚ ਨਹੀਂ ਦਿੱਤੇ ਗਏ ਹਨ।"
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "ਕਾਰਜ ਮੋਡ ਨੂੰ ਮਨਜੂਰ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ।"
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "ਕਾਰਜ ਮੋਡ ਨੂੰ ਮਜਬੂਰ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ।"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "ਕਾਰਜ ਡੋਮੇਨ"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "ਕਲਾਂਈਟ ਨੂੰ X ਸ਼ੇਅਰ ਮੈਮੋਰੀ ਤੇ ਲਿਖਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux ਉਪਭੋਗੀ '%s' ਦੀ ਲੋੜ ਹੈ"
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux ਉਪਭੋਗੀ ਖਾਤਿਆਂ ਨੂੰ ਆਪਣੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀ ਜਾਂ /tmp ਵਿੱਚ ਫਾਇਲਾਂ ਚਲਾਉਣ ਦੀ "
+-#~ "ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "ਡੈਮਨਾਂ ਨੂੰ NIS ਨਾਲ ਚੱਲਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "ਵੈੱਬ ਕਾਰਜ"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "ਸਟਾਫ SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "sysadm SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "ਉਪਭੋਗੀ SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "xguest SELinux ਉਪਭੋਗੀ ਨੂੰ ਵੈੱਬ ਬਰਾਊਜਰ ਡੋਮੇਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "ਸਟਾਫ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਨੂੰ home ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਲਿਖਣ ਦੀ ਮਨਜੂਰੀ"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amanda ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavis ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahi ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "ਕਲੱਸਟਰ ਸਰਵਰ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "cdrecord ਨੂੰ ਵੱਖ-ਵੱਖ ਹਿੱਸੇ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ। nfs, samba, ਹਟਾਉਣ-ਯੋਗ ਜੰਤਰ, ਉਪਭੋਗੀ "
+-#~ "temp ਅਤੇ ਨਾ-ਭਰੇਸੋਯੋਗ ਸੰਖੇਪ ਫਾਇਲਾਂ"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Printing"
+-#~ msgstr "ਪ੍ਰਿੰਟਿੰਗ"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd ਬੈਕਐਂਡ ਸਰਵਰ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccm ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "sysadm_t ਨੂੰ ਸਿੱਧਾ ਹੀ ਡੈਮਨ ਚਾਲੂ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "ਏਵੋਲੂਸ਼ਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Games"
+-#~ msgstr "ਖੇਡਾਂ"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "ਖੇਡਾਂ ਲਈ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "ਵੈੱਬ ਬਰਾਊਜ਼ਰਾਂ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "ਥੰਡਰਬਰਡ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmail ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "ਅਨੁਕੂਲਤਾ"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "ਉਹ ਚੀਜਾਂ ਆਡਿਟ ਨਾ ਕਰੋ ਜੋ ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਰੁਕਾਵਟ ਪਾਉਂਦੀਆਂ ਹਨ ਅਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਕੋਈ ਖਤਰਾ "
+-#~ "ਨਹੀਂ ਹੈ।"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "cups hplip ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogs ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD ਸਰਵਿਸ"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd ਅਧੀਨ ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd ਡੈਮਨ "
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "ਕਰਬੀਰੋਸ"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "ਏਵੋਲੂਸ਼ਨ ਅਤੇ ਥੰਡਰਬਰਡ ਨੂੰ ਉਪਭੋਗੀ ਫਾਇਲਾਂ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "ਮੋਜ਼ੀਲਾ ਬਰਾਊਜ਼ਰ ਨੂੰ ਉਪਭੋਗੀ ਫਾਇਲਾਂ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "ਨਾਂ ਸਰਵਿਸ"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManager ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "pppd ਨੂੰ ਰੈਗੂਲਰ ਉਪਭੋਗੀ ਲਈ ਚੱਲਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readahead ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr "ਪਰੋਗਰਾਮਾਂ ਨੂੰ ਬਿਨਾ-ਮਿਆਰ (default_t) ਸਥਿਤੀਆਂ ਤੋਂ ਫਾਇਲਾਂ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ssh ਨੂੰ ਡੈਮਨ ਦੀ ਬਜਾਇ inetd ਤੋਂ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Samba ਨੂੰ nfs ਡਾਇਰੈਕਟਰੀ ਸ਼ੇਅਰ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਵਰ"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "sasl ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਵਰ ਨੂੰ /etc/shadow ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "X-ਵਿੰਡੋ ਸਰਵਰ ਨੂੰ ਮੈਮੋਰੀ ਮੈਪ ਕਰਨ ਲਈ ਮਨਜੂਰੀ ਦਿਓ ਤਾਂ ਕਿ ਇਹ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਅਤੇ ਲਿਖਣਯੋਗ ਹੋ ਸਕੇ"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "sysadm_t, sudo ਅਤੇ su ਪ੍ਰਭਾਵੀ ਤਬਦੀਲੀ ਮਨਜੂਰ ਨਾ ਕਰੋ"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "ਕਿਸੇ ਵੀ ਕਾਰਜ ਨੂੰ ਕਰਨਲ ਮੈਡਿਊਲ ਲੋਡ ਨਾ ਕਰਨ ਦਿਓ"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "ਕਰਨਲ SELinux ਪਾਲਿਸੀ ਨੂੰ ਕਿਸੇ ਵੀ ਕਾਰਜ ਦੁਆਰਾ ਸੋਧਣ ਨਾ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroublesoot ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "spam ਸੁਰੱਖਿਆ"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "spamd ਨੂੰ ਨੈੱਟਵਰਕ ਵਰਤਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Spam Assasin ਡੈਮਨ ਨੂੰ ਨੈੱਟਵਰਕ ਪਹੁੰਚ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "squid ਡੈਮਨ ਨੂੰ ਨੈੱਟਵਰਕ ਨਾਲ ਜੁੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh ਲਾਗਇਨ ਨੂੰ sysadm_r:sysadm_t ਤੌਰ ਤੇ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "staff_r ਉਪਭੋਗੀਆਂ ਨੂੰ ਪਰਬੰਧਕ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੈਕਟਰੀ ਖੋਜਣ ਅਤੇ ਫਾਇਲਾਂ (ਜਿਵੇਂ ~/.bashrc) ਪੜਨ "
+-#~ "ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "ਯੂਨੀਵਰਸਲ SSL tunnel"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "stunnel ਡੈਮਨ ਨੂੰ xinetd ਦੇ ਬਾਹਰ, ਸਟੈਂਡਅਲੋਨ ਚੱਲਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "ਸਿਸਟਮ cron jobs ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "xinetd ਨੂੰ ਨਾ-ਪਾਬੰਦ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ, ਜਿਵੇਂ ਕਿ ਸਰਵਿਸਾਂ ਜੋ ਇਹ ਚਲਾਉਂਦਾ ਹੈ ਤੇ ਜਿਸ ਜੀ "
+-#~ "ਡੋਮੇਨ ਤਬਦੀਲੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤੀ ਹੈ"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "rc ਸਕਰਿਪਟਾਂ ਨੂੰ ਨਾ-ਪਾਬੰਦ ਚਲਾਉਣ ਲਈ ਮਨਜੂਰੀ ਦਿਓ, ਜਿਵੇਂ ਕਿ ਕੋਈ ਵੀ ਡੈਮਨ ਜੋ rc ਸਕਰਿਪਟ "
+-#~ "ਦੁਆਰਾ ਚਲਾਇਆ ਗਿਆ ਹੈ ਤੇ ਜਿਸ ਦੀ ਡੋਮੇਨ ਤਬਦੀਲੀ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤੀ ਹੈ"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "rpm ਨੂੰ unconfined ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr "ਪ੍ਰਮਾਣਿਤ ਸਹੂਲਤਾਂ ਜਿਵੇਂ hotplug ਅਤੇ insmod ਨੂੰ ਨਾ-ਪਾਬੰਦ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "user_r ਨੂੰ sysadm_r ਤੱਕ su, sudo, ਜਾਂ userhelper ਰਾਹੀਂ ਪਹੁੰਚਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ। ਨਹੀਂ "
+-#~ "ਤਾਂ, ਸਿਰਫ staff_r ਹੀ ਅਜਿਹਾ ਕਰ ਸਕਦਾ ਹੈ"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "ਉਪਭੋਗੀ ਨੂੰ mount ਕਮਾਂਡ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr "ਰੈਗੂਲਰ ਉਪਭੋਗੀਆਂ ਨੂੰ ਸਿੱਧੀ ਮਾਊਸ ਵਰਤੋਂ ਲਈ ਮਨਜੂਰੀ ਦਿਓ (ਸਿਰਫ X ਸਰਵਰ ਨੂੰ ਮਨਜੂਰ ਕਰੋ)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "ਉਪਭੋਗੀ ਨੂੰ dmesg ਕਮਾਂਡ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "ਉਪਭੋਗੀ ਨੂੰ ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ ਕੰਟਰੋਲ ਕਰਨ ਦੀ ਮਨਜੂਰੀ ਦਿੰਦਾ ਹੈ (USERCTL=true ਦੀ ਵੀ ਲੋੜ ਹੈ)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "ਆਮ ਉਪਭੋਗੀ ਨੂੰ ping ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "ਉਪਭੋਗੀ ਨੂੰ r/w noextattrfile (FAT, CDROM, FLOPPY) ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "ਉਪਭੋਗੀ ਨੂੰ rw usb ਜੰਤਰ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ 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 ""
+-#~ "ਉਪਭੋਗੀਆਂ ਨੂੰ TCP ਸਰਵਰ ਚਲਾਉਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ (ਪੋਰਟਾਂ ਨਾਲ ਜੋੜੋ ਅਤੇ ਉਸੇ ਡੋਮੇਨ ਜਾਂ ਬਾਹਰਲੇ "
+-#~ "ਉਪਭੋਗੀਆਂ ਤੋਂ ਕੁਨੈਕਸ਼ਨ ਸਵੀਕਾਰ ਕਰੋ)  ਇਸ ਨੂੰ ਅਯੋਗ ਕਰਨ ਨਾਲ FTP passive ਮੋਡ ਨੂੰ ਮਜਬੂਰ ਕਰਦਾ ਹੈ "
+-#~ "ਅਤੇ ਹੋਰ ਪਰੋਟੋਕਾਲ ਤਬਦੀਲੀਆਂ ਕਰਦਾ ਹੈ"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "ਉਪਭੋਗੀ ਨੂੰ stat ttyfiles ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm ਲਾਗਇਨ ਨੂੰ sysadm_r:sysadm_t ਤੌਰ ਤੇ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "xen ਨੂੰ ਭੌਤਿਕ ਡਿਸਕ ਜੰਤਰ ਪੜਨ/ਲਿਖਣ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen constrol ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS ਪਾਸਵਰਡ ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS ਟਰਾਂਸਫਰ ਡੈਮਨ ਲਈ SELinux ਸੁਰੱਖਿਆ ਅਯੋਗ ਕਰੋ"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm ਉਪਭੋਗੀ ਨੂੰ ਨਾ-ਪ੍ਰਮਾਣਿਤ ਉਪਭੋਗੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀਆਂ ਦੇ ਪਰਬੰਧਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "SELinux webadm ਉਪਭੋਗੀ ਨੂੰ ਨਾ-ਪ੍ਰਮਾਣਿਤ ਉਪਭੋਗੀ ਘਰੇਲੂ ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਪੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ %s '%s' ਨੂੰ ਹਟਾਉਣਾ ਚੀਹੁੰਦੇ ਹੋ?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s ਹਟਾਓ"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s ਸ਼ਾਮਿਲ"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s ਸੋਧ"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "ਚੇਤਾਵਨੀ"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "ਮਜਬੂਰ"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "ਅਯੋਗ"
+-
+-#~ msgid "Status"
+-#~ msgstr "ਹਾਲਤ"
+-
+-#~ 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 ""
+-#~ "ਪਾਲਿਸੀ ਕਿਸਮ ਤਬਦੀਲ ਕਰਨ ਨਾਲ ਅਗਲੀ ਵਾਰ ਬੂਟ ਹੋਣ ਤੇ ਪੂਰਾ ਫਾਇਲ ਸਿਸਟਮ ਮੁੜ ਲੇਬਲ ਕੀਤਾ "
+-#~ "ਜਾਏਗਾ। ਮੁੜ-ਲੇਬਲ ਹੋਣ ਤੇ ਫਾਇਲ ਸਿਸਟਮ ਦੇ ਅਕਾਰ ਮੁਤਾਬਿਕ ਕੁਝ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।  ਕੀ ਤੁਸੀਂ ਜਾਰੀ "
+-#~ "ਕਰਨਾ ਹੈ?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "SELinux ਅਯੋਗ ਕਰਨ ਲਈ ਮੁੜ-ਚਾਲੂ ਕਰਨਾ ਪਵੇਗਾ। ਇਸ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ।  ਜੇ ਤੁਸੀਂ "
+-#~ "ਬਾਅਦ ਵਿੱਚ SELinux ਵੱਲ ਪਿੱਛੇ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਸਿਸਟਮ ਮੁੜ-ਲੇਬਲ ਕਰੇਗਾ।  ਜਿਸ ਤੁਸੀਂ ਇਹ "
+-#~ "ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ ਜੇ SELinux ਤੁਹਾਡੇ ਸਿਸਟਮ ਉੱਪਰ ਸਮੱਸਿਆ ਪੈਦਾ ਕਰ ਰਿਹਾ ਹੈ, ਤੁਸੀਂ permissive "
+-#~ "ਮੋਡ ਵਿੱਚ ਜਾ ਸਕਦੇ ਹੋ ਜੋ ਸਿਰਫ ਗਲਤੀਆਂ ਦਾ ਲਾਗ ਰੱਖਦਾ ਹੈ ਅਤੇ enforce SELinux ਪਾਲਿਸੀ "
+-#~ "ਨਹੀਂ।  Permissive ਮੋਡ ਲਈ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ    ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "SELinux ਯੋਗ ਕਰਨ ਨਾਲ ਅਗਲੀ ਵਾਰ ਬੂਟ ਹੋਣ ਤੇ ਪੂਰਾ ਫਾਇਲ ਸਿਸਟਮ ਮੁੜ ਲੇਬਲ ਕੀਤਾ ਜਾਏਗਾ। ਮੁੜ-"
+-#~ "ਲੇਬਲ ਹੋਣ ਤੇ ਫਾਇਲ ਸਿਸਟਮ ਦੇ ਅਕਾਰ ਮੁਤਾਬਿਕ ਕੁਝ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।  ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਕਰਨਾ ਹੈ?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux ਲਾਗਿੰਗ ਮੈਪਿੰਗ ਜੋੜੋ"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux ਨੈੱਟਵਰਕ ਪੋਰਟਾਂ ਜੋੜੋ"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux ਕਿਸਮ"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "ਲੈਵਲ"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "ਫਾਇਲ ਨਿਰਧਾਰਨ"
+-
+-#~ msgid "File Type"
+-#~ msgstr "ਫਾਇਲ ਕਿਸਮ"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "ਸਭ ਫਾਇਲਾਂ\n"
+-#~ "ਰੈਗੂਲਰ ਫਾਇਲ\n"
+-#~ "ਡਾਇਰੈਕਟਰੀ\n"
+-#~ "ਅੱਖਰ ਜੰਤਰ\n"
+-#~ "ਬਲਾਕ ਜੰਤਰ\n"
+-#~ "ਸਾਕਟ\n"
+-#~ "ਚਿੰਨ ਸੰਬੰਧ\n"
+-#~ "named ਪਾਈਪ\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux ਉਪਭੋਗੀ ਸ਼ਾਮਿਲ"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux ਪਰਬੰਧਨ"
+-
+-#~ msgid "Add"
+-#~ msgstr "ਸ਼ਾਮਿਲ"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ(_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "ਹਟਾਓ(_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "ਮੈਨੇਜਮੈਂਟ ਆਬਜੈਕਟ ਚੁਣੋ"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>ਚੁਣੋ:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "ਸਿਸਟਮ ਮੂਲ ਮਜਬੂਰ ਮੋਡ"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "ਵਰਤਮਾਨ ਮਜਬੂਰ ਮੋਡ"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "ਸਿਸਟਮ ਮੂਲ ਪਾਲਿਸੀ ਕਿਸਮ: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "ਚੁਣੋ ਜੇ ਤੁਸੀਂ ਅਗਲੀ ਵਾਰ ਮੁੜ-ਚਾਲੂ ਹੋਣ ਤੇ ਪੂਰਾ ਫਾਇਲ ਸਿਸਟਮ ਮੁੜ-ਲੇਬਲ ਕਰਨਾ ਹੈ।  ਮੁੜ-ਲੇਬਲ ਹੋਣ ਤੇ "
+-#~ "ਸਿਸਟਮ ਦੇ ਅਕਾਰ ਮੁਤਾਬਿਕ ਕਾਫੀ ਸਮਾਂ ਲੱਗ ਲਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਪਾਲਿਸੀ ਕਿਸਮ ਤਬਦੀਲ ਕਰ ਦਿੱਤੀ "
+-#~ "ਜਾਂ ਅਯੋਗ ਤੋਂ ਮਜਬੂਰ ਤਬਦੀਲ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਮੁੜ-ਲੇਬਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "ਫਿਰ ਚਾਲੂ ਹੋਣ ਤੇ ਮੁੜ-ਲੇਬਲ ਕਰੋ।"
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "ਬੂਲੀਅਨ ਸੈਟਿੰਗ ਨੂੰ ਸਿਸਟਮ ਮੂਲ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "ਸੋਧੇ ਅਤੇ ਸਭ ਬੂਲੀਅਨਾਂ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Filter"
+-#~ msgstr "ਫਿਲਟਰ"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਸ਼ਾਮਿਲ ਕਰੋ"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਸੋਧੋ"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "ਫਾਇਲ ਪ੍ਰਸੰਗ ਹਟਾਓ"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "ਸਭ ਅਤੇ ਸੋਧੇ ਫਾਇਲ ਪ੍ਰਸੰਗ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux ਉਪਭੋਗੀ ਮੈਪਿੰਗ ਜੋੜੋ"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux ਉਪਭੋਗੀ ਮੇਲ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux ਉਪਭੋਗੀ ਮੇਲ ਹਟਾਓ"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "ਅਨੁਵਾਦ ਸ਼ਾਮਿਲ ਕਰੋ"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "ਅਨੁਵਾਦ ਸੋਧ"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "ਅਨੁਵਾਦ ਹਟਾਓ"
++#~ msgid "Sensitivity Level"
++#~ msgstr "ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਲੈਵਲ"
+ #~ msgid "Modify SELinux User"
+ #~ msgstr "SELinux ਉਪਭੋਗੀ ਤਬਦੀਲ ਕਰੋ"
+-#~ msgid "Add Network Port"
+-#~ msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟ ਸ਼ਾਮਿਲ ਕਰੋ"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟ ਸੋਧ ਕਰੋ"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "ਨੈੱਟਵਰਕ ਪੋਰਟ ਹਟਾਓ"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "ਸੋਧੇ ਅਤੇ ਸਭ ਪੋਰਟਾਂ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "ਨਵਾਂ ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਬਣਾਓ"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਲੋਡ ਕਰੋ"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "ਲੋਡ ਹੋਣਯੋਗ ਪਾਲਿਸੀ ਮੈਡਿਊਲ ਹਟਾਓ"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr "ਵਾਧੂ ਆਡਿਟ ਨਿਯਮ ਯੋਗ/ਅਯੋਗ ਕਰੋ, ਜੋ ਆਮ ਤੌਰ ਤੇ ਲਾਗ ਫਾਇਲਾਂ ਵਿੱਚ ਨਹੀਂ ਦਿੱਤੇ ਗਏ ਹਨ।"
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਲੈਵਲ"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux ਉਪਭੋਗੀ '%s' ਦੀ ਲੋੜ ਹੈ"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "ਮੁੱਲ ਲੋੜੀਂਦਾ ਹੈ"
+-
+ #~ msgid ""
+ #~ "\n"
+ #~ "\n"
+@@ -2904,36 +3499,12 @@
+ #~ "semodule -i %s\n"
+ #~ "\n"
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "ਗਲਤ ਅਗੇਤਰ %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr "ਕਾਰਜ/ਉਪਭੋਗੀ ਨੂੰ ਕਿਸੇ ਵੀ tcp ਪੋਰਟਾਂ ਨਾਲ ਜੁੜਨ ਦਿੰਦਾ ਹੈ > 1024"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr "ਪਾਬੰਦ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ ਨੂੰ ਕਿਸੇ ਵੀ tcp ਪੋਰਟ ਨਾਲ ਜੁੜਨ ਦੀ ਮਨਜੂਰੀ ਦਿਓ"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ਕਾਮਿਆਂ ਨਾਲ ਵੱਖ tcp ਪੋਰਟਾਂ ਜਾਂ ਪੋਰਚਾਂ ਦੀ ਰੇਂਜ ਦੀ ਸੂਚੀ ਦਿਓ ਜਿਨਾਂ ਨਾਲ ਇਹ ਕਾਰਜ/ਉਪਭੋਗੀ ਰੋਲ "
+-#~ "ਜੁੜਿਆ ਹੈ। ਉਦਾਹਰਨ: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux ਪਾਲਿਸੀ ਨਿਰਮਾਣ ਡਰਾਊਡ"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "ਨਾ-ਰਾਖਵੇਂ ਪੋਰਟ  (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr "ਇਹ ਚੋਣਬਟਨ ਵਰਤੋ ਜੇ ਤੁਹਾਡਾ ਕਾਰਜ bindresvport ਨੂੰ 0 ਨਾਲ ਕਾਲ ਕਰਦਾ ਹੈ।"
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "ਅਨੁਵਾਦ ਨੂੰ ਨਾਨ-MLS ਮਸ਼ੀਨਾਂ ਉੱਪਰ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ"
+ #~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
++#~ "tcp\n"
++#~ "udp"
+ #~ msgstr ""
+-#~ "ਮਜਬੂਰ\n"
+-#~ "ਚੇਤਾਵਨੀ\n"
+-#~ "ਅਯੋਗ\n"
++#~ "tcp\n"
++#~ "udp"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/pl.po policycoreutils-2.0.85/po/pl.po
+--- nsapolicycoreutils/po/pl.po        2011-02-17 15:11:25.342731280 -0500
++++ policycoreutils-2.0.85/po/pl.po    2011-02-18 16:03:41.438976221 -0500
+@@ -5,28 +5,46 @@
+ msgstr ""
+ "Project-Id-Version: pl\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-09-10 21:03+0200\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-14 17:38+0200\n"
+ "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
+-"Language-Team: Polish <pl@li.org>\n"
++"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
++"Language: pl\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Konfiguracja SELinuksa w trybie graficznym"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Zarządzanie SELinuksem"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Tworzenie nowych modułów polityki SELinuksa"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Narzędzie tworzenia polityki SELinuksa"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+ "  where: <script> is the name of the init script to run,\n"
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+-"UŻYCIE: run_init <skrypt> <argumenty ...>\n"
++"UŻYCIE: run_init <skrypt> <parametry...>\n"
+ "  gdzie: <skrypt> jest nazwą skryptu init do wykonania,\n"
+-"         a <args ...> są argumentami dla tego skryptu."
++"         a <parametry ...> są parametrami dla tego skryptu."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+ msgid "failed to initialize PAM\n"
+-msgstr "inicjowanie PAM nie powiodło się\n"
++msgstr "zainicjowanie PAM nie powiodło się\n"
+ #: ../run_init/run_init.c:139
+ #, c-format
+@@ -40,7 +58,7 @@
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr "Nie można znaleźć wpisu w pliku passwd shadow.\n"
++msgstr "Nie można odnaleźć wpisu w pliku passwd shadow.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+@@ -65,13 +83,12 @@
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr ""
+-"Przepraszamy, run_init może zostać uruchomione tylko na jądrze SELinuksa.\n"
++msgstr "run_init może zostać uruchomione tylko na jądrze SELinuksa.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+ msgid "authentication failed.\n"
+-msgstr "uwierzytelnianie nie powiodło się.\n"
++msgstr "uwierzytelnienie nie powiodło się.\n"
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+@@ -84,7 +101,7 @@
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr "Aby uaktywnić ten pakiet polityki, wykonaj:"
++msgstr "Aby aktywować ten pakiet polityki, należy wykonać:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+@@ -105,9 +122,8 @@
+ msgstr "Nie można nawiązać połączenia semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Nie można ustawić zasięgu MLS dla %s"
++msgstr "Nie można sprawdzić stanu włączenia MLS"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -124,7 +140,8 @@
+ msgid "Level"
+ msgstr "Poziom"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Tłumaczenie"
+@@ -146,15 +163,15 @@
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s nie został określony w tłumaczeniach"
++msgstr "%s nie zostało określone w tłumaczeniach"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr "Nie zaimplementowane"
++msgstr "Niezaimplementowane"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Transakcja semanage jest już wykonywana"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+@@ -166,7 +183,7 @@
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Transakcja semanage nie jest wykonywana"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+@@ -176,743 +193,750 @@
+ msgid "Permissive Types"
+ msgstr "Typy zezwalania"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+ "Nie można ustawić domeny zezwalania %s (instalacja modułu nie powiodła się)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr "Nie można usunąć domeny zezwalania %s (usunięcie nie powiodło się)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Nie można utworzyć klucza dla %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr "Nie można sprawdzić, jeśli mapowanie loginu dla %s zostało określone"
++msgstr "Nie można sprawdzić, czy mapowanie loginu dla %s zostało określone"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Mapowanie loginu dla %s zostało już określone"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Grupa linuksowa %s nie istnieje"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Użytkownik linuksowy %s nie istnieje"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Nie można utworzyć mapowania loginu dla %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr "Nie można ustawić nazwy %s"
++msgstr "Nie można ustawić nazwy dla %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Nie można ustawić zasięgu MLS dla %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Nie można ustawić użytkownika SELinuksa dla %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Nie można dodać mapowania loginu do %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "dodaj mapowanie użytkownika SELinuksa"
++msgstr "dodanie mapowania użytkownika SELinuksa"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Wymagane jest seuser lub serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Mapowanie loginu dla %s nie zostało określone"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Nie można odpytać seuser dla %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Nie można zmodyfikować mapowania loginu dla %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Mapowanie loginu dla %s zostało określone w polityce, nie może zostać "
+ "usunięte"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Nie można usunąć mapowania loginu dla %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr "Nie można wyświetlić listę mapowań loginów"
++msgstr "Nie można wyświetlić listy mapowań loginów"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Login"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "Użytkownik SELinuksa"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "Zakres MLS/MCS"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Musisz dodać co najmniej jedną rolę dla %s"
++msgstr "Należy dodać co najmniej jedną rolę dla %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Nie można sprawdzić, czy użytkownik SELinuksa %s został określony"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "Użytkownik SELinuksa %s został już określony"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Nie można utworzyć użytkownika SELinuksa dla %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Nie można dodać roli %s do %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Nie można ustawić poziomu MLS dla %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Nie można dodać przedrostka %s do %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Nie można rozpakować klucza dla %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Nie można dodać użytkownika SELinuksa %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Wymagany jest przedrostek, role, poziom lub zasięg"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Wymagany jest przedrostek lub role"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "Użytkownik SELinuksa %s nie został określony"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Nie można odpytać użytkownika dla %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Nie można zmodyfikować użytkownika SELinuksa %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Użytkownik SELinuksa %s nie został określony w polityce, nie może zostać "
+ "usunięty"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Nie można usunąć użytkownika SELinuksa %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Nie można wyświetlić listy użytkowników SELinuksa"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Nie można wyświetlić listy ról dla użytkownika %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Etykiety"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Przedrostek"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "Poziom MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "Zakres MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "Role SELinuksa"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Wymagany jest protokół UDP lub TCP"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Wymagany jest port"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Nie można utworzyć klucza %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Wymagany jest typ"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+-msgstr "Nie można sprawdzić, jeśli port %s/%s został określony"
++msgstr "Nie można sprawdzić, czy port %s/%s został określony"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s został już określony"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Nie można utworzyć portu dla %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Nie można utworzyć kontekstu dla %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Nie można ustawić użytkownika w kontekście portu dla %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Nie można ustawić roli w kontekście portu dla %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Nie można ustawić typu w kontekście portu dla %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Nie można ustawić pól MLS w kontekście portu dla %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Nie można ustawić kontekstu portu dla %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Nie można dodać portu %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Wymagane jest setype lub serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Wymagane jest setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s nie został określony"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Nie można odpytać portu %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Nie można zmodyfikować portu %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Nie można wyświetlić listy portów"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Nie można usunąć portu %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s został określony w polityce, nie może zostać usunięty"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Nie można usunąć portu %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Nie można wyświetlić listy portów"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "Typ portu SELinuksa"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Protokół"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Numer portu"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr "Wymagany jest adres węzła"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr "Wymagana jest maska sieciowa węzła"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr "Nieznany lub brakujący protokół"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Wymagany jest typ SELinuksa"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Nie można utworzyć klucza dla %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Nie można sprawdzić, jeśli adres %s został określony"
++msgstr "Nie można sprawdzić, czy adres %s został określony"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr "Adres %s został już określony"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Nie można utworzyć adresu dla %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Nie można utworzyć kontekstu dla %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Nie można ustawić maski dla %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Nie można ustawić użytkownika w kontekście adresu dla %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Nie można ustawić roli w kontekście adresu dla %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Nie można ustawić typu w kontekście adresu dla %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Nie można ustawić pól MLS w kontekście adresu dla %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Nie można ustawić kontekstu adresu dla %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr "Nie można dodać adresu %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Adresu %s nie został określony"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr "Nie można odpytać adresu %s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Nie można zmodyfikować adresu %s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Adres %s został określony w polityce, nie może zostać usunięty"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Nie można usunąć adresu %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr "Nie można wyświetlić listy adresów"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr "Nie można sprawdzić, jeśli interfejs %s został określony"
++msgstr "Nie można sprawdzić, czy interfejs %s został określony"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Interfejs %s został już określony"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Nie można utworzyć interfejsu dla %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Nie można ustawić użytkownika w kontekście interfejsu dla %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Nie można ustawić roli w kontekście interfejsu dla %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Nie można ustawić typu w kontekście interfejsu dla %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Nie można ustawić pól MLS w kontekście interfejsu dla %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Nie można ustawić kontekstu interfejsu dla %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Nie można ustawić kontekstu komunikatu dla %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Nie można dodać interfejsu %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Interfejs %s nie został określony"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Nie można odpytać interfejsu %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Nie można zmodyfikować interfejsu %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Interfejs %s został określony w polityce, nie może zostać usunięty"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Nie można usunąć interfejsu %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Nie można wyświetlić listy interfejsów"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "Interfejs SELinuksa"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Kontekst"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Nie można ustawić użytkownika w kontekście pliku dla %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Nie można ustawić roli w kontekście pliku dla %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Nie można ustawić pól MLS w kontekście pliku dla %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "Nieprawidłowe określenie pliku"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "Nie można sprawdzić, jeśli kontekst pliku dla %s został określony"
++msgstr "Nie można sprawdzić, czy kontekst pliku dla %s został określony"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Kontekst pliku dla %s nie został określony"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Nie można utworzyć kontekstu pliki dla %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Nie można ustawić typu w kontekście pliku dla %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Nie można ustawić kontekstu pliku dla %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Nie można dodać kontekstu pliku dla %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Wymagane jest setype, serange lub seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Kontekst pliku dla %s nie został określony"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Nie można odpytać kontekstu pliku dla %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Nie można zmodyfikować kontekstu pliku dla %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "Nie można wyświetlić listy kontekstów plików"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Nie można usunąć kontekstu pliku %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Kontekst pliku dla %s został określony w polityce, nie może zostać usunięty"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Nie można usunąć kontekstu pliku dla %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Nie można wyświetlić listy kontekstów plików"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Nie można wyświetlić listy lokalnych kontekstów plików"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "fcontext SELinuksa"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "typ"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr "Nie można sprawdzić, jeśli wartość logiczna %s została określona"
++msgstr "Nie można sprawdzić, czy wartość logiczna %s została określona"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Wartość logiczna %s nie została określona"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Nie można odpytać kontekstu pliku %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Musisz podać jedną z poniższych wartości: %s"
++msgstr "Należy podać jedną z poniższych wartości: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Nie można ustawić aktywnej wartości zmiennej logicznej %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Nie można zmodyfikować wartości logicznej %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr "Błędny format %s: wpis %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Wartość logiczna %s została określona w polityce, nie może zostać usunięta"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Nie można usunąć wartości logicznej %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Nie można wyświetlić listy wartości logicznych"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "nieznane"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "wyłączone"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "włączone"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "Zmienna logiczna SELinuksa"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Opis"
+@@ -924,7 +948,7 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr "newrole: przekroczenie tablicy hashów konfiguracji nazwy usługi\n"
++msgstr "newrole: przekroczenie tablicy skrótów konfiguracji nazwy usługi\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+@@ -934,17 +958,17 @@
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr "nie można znaleźć prawidłowego wpisu w pliku passwd.\n"
++msgstr "nie można odnaleźć prawidłowego wpisu w pliku passwd.\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+ msgid "Out of memory!\n"
+-msgstr "Brak pamięci!\n"
++msgstr "Brak pamięci.\n"
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "Błąd! Powłoka jest nieprawidłowa.\n"
++msgstr "Błąd. Powłoka jest nieprawidłowa.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+@@ -952,7 +976,7 @@
+ msgstr "Nie można wyczyścić środowiska\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "Błąd podczas inicjowania możliwości, przerywanie.\n"
+@@ -979,7 +1003,7 @@
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr "Błąd podczas przywracania KEEPCAPS, przerywanie.\n"
++msgstr "Błąd podczas przywracania KEEPCAPS, przerywanie\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+@@ -994,7 +1018,7 @@
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr "Błąd podczas łączenia się z systemem audytu.\n"
++msgstr "Błąd podczas łączenia z systemem audytu.\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+@@ -1014,36 +1038,36 @@
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr "Błąd! Nie można otworzyć %s.\n"
++msgstr "Błąd. Nie można otworzyć %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s! Nie można uzyskać bieżącego kontekstu dla %s, ponowne nadanie etykiety "
++"%s. Nie można uzyskać bieżącego kontekstu dla %s, ponowne nadanie etykiety "
+ "TTY nie odbędzie się.\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s! Nie można uzyskać nowego kontekstu dla %s, ponowne nadanie etykiety TTY "
++"%s. Nie można uzyskać nowego kontekstu dla %s, ponowne nadanie etykiety TTY "
+ "nie odbędzie się.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s! Nie można ustawić nowego kontekstu dla %s\n"
++msgstr "%s.! Nie można ustawić nowego kontekstu dla %s\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr "%s zmienił etykiety.\n"
++msgstr "%s zmieniło etykiety.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr "Ostrzeżenie! Nie można przywrócić kontekstu dla %s\n"
++msgstr "Ostrzeżenie. Nie można przywrócić kontekstu dla %s\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+@@ -1058,7 +1082,7 @@
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr "Przepraszamy, -l może zostać użyte z obsługą MLS SELinuksa.\n"
++msgstr "-l może zostać użyte z obsługą MLS SELinuksa.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+@@ -1068,7 +1092,8 @@
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr "Błąd: nie możesz zmieniać poziomów na niezabezpieczonym terminalu \n"
++msgstr ""
++"Błąd: brak zezwolenia na zmianę poziomów na niezabezpieczonym terminalu \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1129,7 +1154,7 @@
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr "Przepraszamy, newrole może zostać użyte tylko na jądrze SELinux.\n"
++msgstr "newrole może zostać użyte tylko na jądrze SELinux.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+@@ -1139,7 +1164,7 @@
+ #: ../newrole/newrole.c:1140
+ #, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Ostrzeżenie! Nie można pobrać informacji o TTY.\n"
++msgstr "Ostrzeżenie. Nie można pobrać informacji o TTY.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+@@ -1235,32 +1260,32 @@
+ #: ../scripts/chcat:325
+ #, c-format
+ msgid "Usage %s CATEGORY File ..."
+-msgstr "Użycie %s KATEGORIA Plik ..."
++msgstr "Użycie %s KATEGORIA Plik..."
+ #: ../scripts/chcat:326
+ #, c-format
+ msgid "Usage %s -l CATEGORY user ..."
+-msgstr "Użycie %s -l KATEGORIA użytkownik ..."
++msgstr "Użycie %s -l KATEGORIA użytkownik..."
+ #: ../scripts/chcat:327
+ #, c-format
+ msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
+-msgstr "Użycie %s [[+|-]KATEGORIA],...]q Plik ..."
++msgstr "Użycie %s [[+|-]KATEGORIA],...]q Plik..."
+ #: ../scripts/chcat:328
+ #, c-format
+ msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
+-msgstr "Użycie %s -l [[+|-]KATEGORIA],...]q użytkownik ..."
++msgstr "Użycie %s -l [[+|-]KATEGORIA],...]q użytkownik..."
+ #: ../scripts/chcat:329
+ #, c-format
+ msgid "Usage %s -d File ..."
+-msgstr "Użycie %s -d Plik ..."
++msgstr "Użycie %s -d Plik..."
+ #: ../scripts/chcat:330
+ #, c-format
+ msgid "Usage %s -l -d user ..."
+-msgstr "Użycie %s -l -d użytkownik ..."
++msgstr "Użycie %s -l -d użytkownik..."
+ #: ../scripts/chcat:331
+ #, c-format
+@@ -1274,11 +1299,11 @@
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr "Użyj --, aby zakończyć listę opcji. Na przykład"
++msgstr "Można użyć --, aby zakończyć listę opcji. Na przykład"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+-msgstr "chcat -- -CompanyConfidential /dokumenty/businessplan.odt"
++msgstr "chcat -- -CompanyConfidential /dokumenty/biznesplan.odt"
+ #: ../scripts/chcat:335
+ msgid "chcat -l +CompanyConfidential juser"
+@@ -1289,1691 +1314,2246 @@
+ msgid "Options Error %s "
+ msgstr "Błąd opcji %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "tłumaczenia nie są obsługiwane na komputerach bez MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Zmienna logiczna"
+-
+-#~ msgid "all"
+-#~ msgstr "wszystko"
+-
+-#~ msgid "Customized"
+-#~ msgstr "Dostosowane"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "Etykiety plików"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Określenie\n"
+-#~ "pliku"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Typ pliku\n"
+-#~ "SELinuksa"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Typ\n"
+-#~ "pliku"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Mapowanie użytkownika"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Login\n"
+-#~ " "
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "Użytkownik\n"
+-#~ "SELinuksa"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "Zakres MLS/\n"
+-#~ "MCS"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Login \"%s\" jest wymagany"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "Moduł polityki"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "Nazwa modułu"
+-
+-#~ msgid "Version"
+-#~ msgstr "Wersja"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "Wyłącz audytowanie"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "Włącz audytowanie"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Wczytaj moduł polityki"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "Piotr Drąg <piotrdrag@gmail.com>, 2006"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Narzędzie tworzenia polityki SELinuksa"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "To narzędzie może być używane do tworzenia struktury polityki, aby "
+-#~ "ograniczyć aplikacje lub użytkowników używając SELinuksa.   \n"
+-#~ "\n"
+-#~ "Narzędzie tworzy:\n"
+-#~ "Pliki typu wymuszania (te)\n"
+-#~ "Pliki interfejsu (if)\n"
+-#~ "Pliki kontekstu pliku (fc)\n"
+-#~ "Skrypty powłoki (sh) - używane kompilowania i instalowania polityk. "
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Wybierz typ roli aplikacji/użytkownika do ograniczenia"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Aplikacje</b>"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Standardowe demony init to demony startowane podczas uruchamiania przez "
+-#~ "skrypty init. Zwykle wymagają skryptu w /etc/rc.d/init.d"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Standardowy demon init"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Demony usług internetowych to demony uruchamiane przez xinetd"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Demon usług internetowych (inetd)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Skrypty CGI aplikacji/skryptów WWW (CGI) uruchamiane przez serwer WWW "
+-#~ "(Apache)"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Aplikacje/skrypty WWW (CGI)"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Aplikacje użytkownika to wszystkie aplikacje, które chciałbyś ograniczyć "
+-#~ "uruchamiane przez użytkowników"
+-
+-#~ msgid "User Application"
+-#~ msgstr "Aplikacja użytkownika"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Logowani użytkownicy</b>"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Zmodyfikuj istniejący wpis logowania użytkownika."
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Istniejące role użytkowników"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Ten użytkownik będzie logował się do komputera tylko przez terminal lub "
+-#~ "zdalne logowanie. Domyślnie ten użytkownik nie będzie posiadał setuid, "
+-#~ "sieci, su ani sudo."
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Minimalna rola użytkownika terminala"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Ten użytkownik może logować się do komputera przez X Window lub terminal. "
+-#~ "Domyślnie ten użytkownik nie będzie posiadał setuid, sieci, sudo ani su"
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Minimalna rola użytkownika X Window"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "Użytkownik z pełną siecią, brakiem aplikacji setuid bez przemiany, sudo i "
+-#~ "su"
+-
+-#~ msgid "User Role"
+-#~ msgstr "Rola użytkownika"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "Użytkownik z pełną siecią, brakiem aplikacji setuid bez przemiany i su, "
+-#~ "może używać sudo dla ról administratorów root"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "Rola użytkownika administratora"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Użytkownicy root</b>"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Wybierz rolę użytkownika administratora root, jeśli ten użytkownik będzie "
+-#~ "używany do administrowania komputerem podczas uruchamiania jako root. Ten "
+-#~ "użytkownik nie będzie mógł zalogować się bezpośrednio do systemu."
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Rola użytkownika administratora root"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Podaj nazwę roli aplikacji lub użytkownika do ograniczenia"
+-
+-#~ msgid "Name"
+-#~ msgstr "Nazwa"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Podaj pełną ścieżkę do ograniczanego pliku wykonywalnego."
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Podaj unikalną nazwę dla roli ograniczanego aplikacji lub użytkownika."
+-
+-#~ msgid "Executable"
+-#~ msgstr "Plik wykonywalny"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Skrypt init"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Podaj pełną ścieżkę do skryptu init używanego do uruchamiania "
+-#~ "ograniczanej aplikacji."
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Wybierz role użytkowników, które chcesz dostosować"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "Wybierz role użytkownika, które przemienić do tych domen aplikacji."
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "Wybierz dodatkowe domeny, do których przemienić tą rolę użytkownika"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Wybierz domeny aplikacji, do których chcesz przemienić tę rolę "
+-#~ "użytkownika."
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "Wybierz role użytkownika, które przemienić do tej domeny"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr ""
+-#~ "Wybierz dodatkowe domeny, którymi ta rola użytkownika będzie "
+-#~ "administrowała"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "Wybierz domeny, które chcesz, aby ten użytkownik administrował."
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Wybierz dodatkowe role dla tego użytkownika"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Podaj porty sieciowe, które ta rola aplikacji/użytkownika ma nasłuchiwać."
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>Porty TCP</b>"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Pozwól ograniczanej roli aplikacji/użytkownika dowiązywać do każdego "
+-#~ "portu UDP"
+-
+-#~ msgid "All"
+-#~ msgstr "Wszystko"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Pozwól roli aplikacji/użytkownika wywoływać bindresvport z 0. "
+-#~ "Dowiązywanie do portów 600-1024"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Podaj listę portów lub zakresów portów UDP oddzielaną przecinkami, do "
+-#~ "których ta rola aplikacji/użytkownika dowiązuje, na przykład: 612, 650-660"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Niezarezerwowane porty (powyżej 1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "Wybierz porty"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Pozwól roli aplikacji/użytkownika dowiązywać do każdego portu UDP powyżej "
+-#~ "1024"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>Porty UDP</b>"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Podaj porty sieciowe, z którymi łączy się ta rola aplikacji/użytkownika"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Podaj listę portów lub zakresów portów TCP oddzielaną przecinkami, z "
+-#~ "którymi łączy się ta rola aplikacji/użytkownika, na przykład: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Podaj listę portów lub zakresów portów UDP oddzielaną przecinkami, z "
+-#~ "którymi łączy się ta rola aplikacji/użytkownika, na przykład: 612, 650-660"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "Wspólne wspólne cechy aplikacji"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Zapisuje komunikaty syslog\t"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "Tworzy/manipuluje plikami tymczasowymi w /tmp"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Używa PAM do uwierzytelniania"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Używa wywołań nsswitch lub getpw*"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "Używa D-Bus"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Wysyła komunikaty audytu"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "Współpracuje z terminalem"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "Wysyła e-maile"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Wybierz pliki/foldery, którymi zarządza ta aplikacja"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Dodaj pliki/foldery, do których ta aplikacja będzie musiała \"zapisywać"
+-#~ "\". Pliki PID, pliki dziennika, pliki /var/lib..."
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Wybierz zmienne logiczne, których używa ta aplikacja"
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Dodaj/usuń zmienne logiczne używane dla tej ograniczanej aplikacji/"
+-#~ "użytkownika"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Wybierz folder, w którym utworzyć politykę"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "Folder polityki"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Utworzone pliki polityki"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "To narzędzie utworzy: \n"
+-#~ "typy wymuszania(te), kontekstu plików(fc), interfejsy(if) i skryptu "
+-#~ "powłoki(sh).\n"
+-#~ "Wykonaj skrypt powłoki jako root, aby skompilować/zainstalować oraz nadać "
+-#~ "etykiety plikom/folderom.  \n"
+-#~ "Użyj semanage lub useradd, aby zmapować logowanych użytkowników Linuksa "
+-#~ "do ról użytkowników.\n"
+-#~ "Umieść komputer w trybie zezwalania (setenforce 0). \n"
+-#~ "Zaloguj się jako użytkownik i przetestuj tę rolę użytkownika.\n"
+-#~ "Użyj audit2allow -R, aby utworzyć dodatkowe reguły dla pliku te.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "To narzędzie utworzy: \n"
+-#~ "typy wymuszania(te), kontekstu plików(fc), interfejsy(if) i skryptu "
+-#~ "powłoki(sh).\n"
+-#~ "\n"
+-#~ "Wykonaj skrypt powłoki jako root, aby skompilować/zainstalować oraz nadać "
+-#~ "etykiety plikom/folderom.  \n"
+-#~ "Umieść komputer w trybie zezwalania (setenforce 0). \n"
+-#~ "Uruchom/uruchom ponownie aplikację, aby utworzyć komunikaty AVC.\n"
+-#~ "Użyj audit2allow -R, aby utworzyć dodatkowe reguły dla pliku te.\n"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Dodaj okno dialogowe zmiennej logicznej"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "Nazwa zmiennej logicznej"
+-
+-#~ msgid "Role"
+-#~ msgstr "Rola"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "Istniejący_użytkownik"
+-
+-#~ msgid "Application"
+-#~ msgstr "Aplikacja"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s musi być folderem"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "Musisz wybrać użytkownika"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Wybierz ograniczany plik wykonywalny."
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Wybierz ograniczany plik skryptu init."
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Wybierz pliki, które ograniczana aplikacja tworzy lub zapisuje"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Wybierz foldery, które ograniczana aplikacja posiada lub do nich zapisuje"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Wybierz folder, w którym utworzyć pliki polityki"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Typ %s_t został już określony w bieżącej polityce.\n"
+-#~ "Czy chcesz kontynuować?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "Sprawdź nazwę"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Moduł %s.pp został już wczytany w bieżącej polityce.\n"
+-#~ "Czy chcesz kontynuować?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "Musisz podać nazwę"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Musisz podać wykonywalny"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Skonfiguruj SELinuksa"
+-
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Porty muszą być liczbą lub zakresem liczb od 1 do %d "
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "Musisz podać nazwę dla ograniczanego procesu/użytkownika"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Typy USER nie mają dozwolonych plików wykonywalnych"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Tylko aplikacje DAEMON mogą używać skryptów init"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog musi być zmienną logiczną "
+-
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Typy USER automatycznie uzyskują typ tmp"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "Musisz podać ścieżkę do pliku wykonywalnego dla ograniczanego procesu"
+-
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Plik typu wymuszania"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "Plik interfejsu"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "Plik kontekstów pliku"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "Ustaw skrypt"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Typ portu\n"
+-#~ "SELinuksa"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "Protokół"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Poziom\n"
+-#~ "MLS/MCS"
+-
+-#~ msgid "Port"
+-#~ msgstr "Port"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Numer portu \"%s\" jest nieprawidłowy. 0 < NUMER_PORTU < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "Widok listy"
+-
+-#~ msgid "Group View"
+-#~ msgstr "Widok grupy"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Ochrona usługi SELinuksa"
+-
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona acct"
+-
+-#~ msgid "Admin"
+-#~ msgstr "Administracja"
+-
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Pozwól wszystkim demonom zapisywać pliki core do /"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "Pozwól wszystkim demonom używać nieprzydzielonych TTY"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "Przywileje użytkowników"
+-
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Pozwól kontom użytkowników SELinuksa gadmin na wykonywanie plików w "
+-#~ "folderze domowym lub /tmp"
+-
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Pozwól kontom użytkowników SELinuksa guest na wykonywanie plików w "
+-#~ "folderze domowym lub /tmp"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "Ochrona pamięci"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Zezwól stos wykonywalny Javy"
+-
+-#~ msgid "Mount"
+-#~ msgstr "Mount"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Pozwól mount na montowanie wszystkich plików"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Pozwól mount na montowanie wszystkich folderów"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Zezwól stos wykonywalny MPlayera"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Pozwól SSH na uruchamianie ssh-keysign"
+-
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Pozwól kontom użytkowników SELinuksa staff na wykonywanie plików w "
+-#~ "folderze domowym lub /tmp"
+-
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Pozwól kontom użytkowników SELinuksa sysadm na wykonywanie plików w "
+-#~ "folderze domowym lub /tmp"
+-
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Pozwól nieograniczanym kontom użytkowników SELinuksa na wykonywanie "
+-#~ "plików folderze domowym lub /tmp"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "Konfiguracja sieci"
+-
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Pozwól pakietom bez etykiet na przepływanie przez sieć"
+-
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Pozwól kontom użytkowników SELinuksa user na wykonywanie plików w "
+-#~ "folderze domowym lub /tmp"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "Pozwól nieograniczanym dyntrans do unconfined_execmem"
+-
+-#~ msgid "Databases"
+-#~ msgstr "Bazy danych"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Pozwól użytkownikowi na łączenie z gniazdem MySQL"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Pozwól użytkownikowi na łączenie z gniazdem PostgreSQL"
+-
+-#~ msgid "XServer"
+-#~ msgstr "Serwer X"
+-
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Pozwól klientom na zapisywanie do współdzielonej pamięci X Window"
+-
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Pozwól kontom użytkowników SELinuksa xguest na wykonywanie plików w "
+-#~ "folderze domowym lub /tmp"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Pozwól demonom na uruchamianie za pomocą NIS"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "Aplikacje WWW"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Zmienna logiczna"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "wszystko"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Dostosowane"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Etykiety plików"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "Przemień użytkownika SELinuksa staff na domenę przeglądarki WWW"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "Przemień użytkownika SELinuksa sysadm na domenę przeglądarki WWW"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "Przemień użytkownika SELinuksa user na domenę przeglądarki WWW"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "Przemień użytkownika SELinuksa xguest na domenę przeglądarki WWW"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "Pozwól przeglądarkom WWW staff na zapisywanie do folderów domowych"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla amandy"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla amavis"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona apmd"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona arpwatch"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona auditd"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona automount"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla Avahi"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Bluetooth"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona canna"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona cardmgr"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla serwera klastra"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Pozwól cdrecord na odczytywanie różnej zawartości. NFS, Samba, urządzenia "
+-#~ "wymienne, pliki tymczasowe użytkownika i potencjalnie niebezpieczne pliki "
+-#~ "zawartości"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona ciped"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona clamd"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla clamscan"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla clvmd"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona comsat"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona courier"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona cpucontrol"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona cpuspeed"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona crond"
+-
+-#~ msgid "Printing"
+-#~ msgstr "Drukowanie"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla serwera zaplecza cupsd"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona cupsd"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla cupsd_lpd"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona CVS"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona cyrus"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dbskkd"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dbusd"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla dccd"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla dccifd"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla dccm"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona ddt"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona devfsd"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dhcpc"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dhcpd"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dictd"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Pozwól sysadm_t na bezpośrednie uruchamianie demonów"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla Evolution"
+-
+-#~ msgid "Games"
+-#~ msgstr "Gry"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla gier"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla przeglądarek WWW"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla Thunderbirda"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona distccd"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dmesg"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dnsmasq"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona dovecot"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona entropyd"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla fetchmail"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona fingerd"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona freshclam"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona fsdaemon"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona gpm"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona gss"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona HAL"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "Zgodność"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Nie audytuj rzeczy, o których wiemy, że są zepsute, ale nie niosą za sobą "
+-#~ "ryzyka"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona hostname"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona hotplug"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona howl"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona hplip CUPS"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla rotatelogs httpd"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "Usługa HTTPD"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla suexec HTTP"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona hwclock"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona i18n"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona imazesrv"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demonów potomnych inetd"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona inetd"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona innd"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona iptables"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona ircd"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona irqbalance"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona iSCSI"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona jabberd"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona kadmind"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona klogd"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona krb5kdc"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demonów ktalk"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona kudzu"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona locate"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona LPD"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona lrrd"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona LVM"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Mailman"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr ""
+-#~ "Pozwól Evolution i Thunderbirdowi na odczytywanie plików użytkownika"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona mdadm"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona monopd"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Pozwól przeglądarce Mozilla na odczytywanie plików użytkownika"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona mrtg"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona mysqld"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona nagios"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "Usługa nazw"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona named"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona nessusd"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Określenie\n"
++"pliku"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla Menedżera sieci"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Typ pliku\n"
++"SELinuksa"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona nfsd"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Typ\n"
++"pliku"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Mapowanie użytkownika"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona nmbd"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Login\n"
++" "
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona nrpe"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"Użytkownik\n"
++"SELinuksa"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona nscd"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Zakres MLS/\n"
++"MCS"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona nsd"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Login \"%s\" jest wymagany"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona ntpd"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Moduł polityki"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla oddjob"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Nazwa modułu"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla oddjob_mkhomedir"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Wersja"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona OpenVPN"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Wyłączenie audytu"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona PAM"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Włączenie audyt"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla Pegasusa"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Wczytanie modułu polityki"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona perdition"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona portmap"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona portslave"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla Postfiksa"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Piotr Drąg <piotrdrag@gmail.com>, 2006"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona PostgreSQL"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"To narzędzie może być używane do tworzenia struktury polityki, aby "
++"ograniczyć aplikacje lub użytkowników używając SELinuksa.   \n"
++"\n"
++"Narzędzie tworzy:\n"
++"Pliki typu wymuszania (te)\n"
++"Pliki interfejsu (if)\n"
++"Pliki kontekstu pliku (fc)\n"
++"Skrypty powłoki (sh) - używane kompilowania i instalowania polityk. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Proszę wybrać typ roli aplikacji/użytkownika do ograniczenia"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Aplikacje</b>"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standardowe demony init to demony startowane podczas uruchamiania przez "
++"skrypty init. Zwykle wymagają skryptu w /etc/rc.d/init.d"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Pozwól pppd na uruchamianie przez zwykłych użytkowników"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standardowy demon init"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Demon systemowy D-Bus"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Demony usług internetowych to demony uruchamiane przez xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Demon usług internetowych (inetd)"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona pptp"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Skrypty CGI aplikacji/skryptów WWW (CGI) uruchamiane przez serwer WWW "
++"(Apache)"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona prelink"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Aplikacje/skrypty WWW (CGI)"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona privoxy"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Aplikacje użytkownika to wszystkie aplikacje, które należy ograniczyć, a są "
++"uruchamiane przez użytkowników"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona ptal"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Aplikacja użytkownika"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Logowani użytkownicy</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Proszę zmodyfikować istniejący wpis logowania użytkownika."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Istniejące role użytkowników"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona PXE"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Ten użytkownik będzie logował się do komputera tylko przez terminal lub "
++"zdalne logowanie. Domyślnie ten użytkownik nie będzie posiadał setuid, "
++"sieci, su ani sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimalna rola użytkownika terminala"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla pyzord"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Ten użytkownik może logować się do komputera przez X Window lub terminal. "
++"Domyślnie ten użytkownik nie będzie posiadał setuid, sieci, sudo ani su"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Quoty"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimalna rola użytkownika X Window"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona radiusd"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Użytkownik z pełną siecią, brakiem aplikacji setuid bez przemiany, sudo i su."
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona radvd"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Rola użytkownika"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla rdisc"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Użytkownik z pełną siecią, brakiem aplikacji setuid bez przemiany i su, może "
++"używać sudo dla ról administratorów root"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla readahead"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Rola użytkownika administratora"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Użytkownicy root</b>"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Pozwól programom na odczytywanie plików w niestandardowych położeniach "
+-#~ "(default_t)"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Należy wybrać rolę użytkownika administratora root, jeśli ten użytkownik "
++"będzie używany do administrowania komputerem podczas uruchamiania jako root. "
++"Ten użytkownik nie będzie mógł zalogować się bezpośrednio do systemu."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Rola użytkownika administratora root"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Proszę podać nazwę roli aplikacji lub użytkownika do ograniczenia"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nazwa"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Proszę podać pełną ścieżkę do ograniczanego pliku wykonywalnego."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona restorecond"
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++"Proszę podać unikalną nazwę dla roli ograniczanego aplikacji lub użytkownika."
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona RHGB"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Plik wykonywalny"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla ricci"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Skrypt init"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla ricci_modclusterd"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Proszę podać pełną ścieżkę do skryptu init używanego do uruchamiania "
++"ograniczanej aplikacji."
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona rlogind"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Proszę wybrać role użytkowników do dostosowania"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona rpcd"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Proszę wybrać role użytkownika, które przemienić do tych domen aplikacji."
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla rshd"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Proszę wybrać dodatkowe domeny, do których przemienić tą rolę użytkownika"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Proszę wybrać domeny aplikacji, do których przemienić tę rolę użytkownika."
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona rsync"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Proszę wybrać role użytkownika, które przemienić do tej domeny"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "Pozwól SSH na uruchamianie z inetd zamiast jako demon"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++"Proszę wybrać dodatkowe domeny, którymi ta rola użytkownika będzie "
++"administrowała"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Pozwól Sambie na współdzielenie folderów NFS"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Proszę wybrać domeny, które ten użytkownik ma administrować."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Proszę wybrać dodatkowe role dla tego użytkownika"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Serwer uwierzytelniania SASL"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Proszę wybrać porty sieciowe, które ta rola aplikacji/użytkownika ma "
++"nasłuchiwać"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Pozwól serwerowi uwierzytelniania SASL na odczytywanie /etc/shadow"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Porty TCP</b>"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Pozwól serwerowi X Window na mapowanie regionów pamięci zarówno jako "
+-#~ "wykonywalną, jak i zapisywalną"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Pozwolenie ograniczanej roli aplikacji/użytkownika na dowiązywanie do "
++"każdego portu UDP"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona saslauthd"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Wszystko"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona scannerdaemon"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Pozwolenie roli aplikacji/użytkownika na wywołanie bindresvport z 0. "
++"Dowiązywanie do portów 600-1024"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Nie pozwól na przemienienie na sysadm_t, dotyczy sudo i su"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Nie pozwól żadnemu procesowi na wczytywanie modułów jądra"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Proszę podać listę portów lub zakresów portów UDP oddzielaną przecinkami, do "
++"których ta rola aplikacji/użytkownika dowiązuje, na przykład: 612, 650-660"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "Nie pozwól żadnemu procesowi na modyfikowanie polityki jądra SELinuksa"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Niezarezerwowane porty (powyżej 1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Wybór portów"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Sendmail"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Pozwolenie roli aplikacji/użytkownika na dowiązywanie do każdego portu UDP "
++"powyżej 1024"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla setrans"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Porty UDP</b>"
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona SETroubleshoot"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Proszę podać porty sieciowe, z którymi łączy się ta rola aplikacji/"
++"użytkownika"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona slapd"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Proszę podać listę portów lub zakresów portów TCP oddzielaną przecinkami, z "
++"którymi łączy się ta rola aplikacji/użytkownika, na przykład: 612, 650-660"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona slrnpull"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Proszę podać listę portów lub zakresów portów UDP oddzielaną przecinkami, z "
++"którymi łączy się ta rola aplikacji/użytkownika, na przykład: 612, 650-660"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona smbd"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Wybór wspólnych cech aplikacji"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Zapisuje komunikaty syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Tworzy/manipuluje plikami tymczasowymi w /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Używa PAM do uwierzytelniania"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Używa wywołań nsswitch lub getpw*"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Używa D-Bus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Wysyła komunikaty audytu"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Współpracuje z terminalem"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Wysyła wiadomości e-mail"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Wybór plików/katalogów, którymi zarządza ta aplikacja"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona snmpd"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Proszę dodać pliki/katalogi, do których ta aplikacja będzie musiała "
++"\"zapisywać\". Pliki PID, pliki dziennika, pliki /var/lib..."
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Snort"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Wybór zmiennych logicznych, których używa ta aplikacja"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona soundd"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Proszę dodać/usunąć zmienne logiczne używane dla tej ograniczanej aplikacji/"
++"użytkownika"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona sound"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Wybór katalogu, w którym utworzyć politykę"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Katalog polityki"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Utworzone pliki polityki"
+-#~ msgid "Spam Protection"
+-#~ msgstr "Ochrona przed niechcianymi wiadomościami"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"To narzędzie utworzy: \n"
++"typy wymuszania(te), kontekstu plików(fc), interfejsy(if) i skryptu powłoki"
++"(sh).\n"
++"Należy wykonać skrypt powłoki jako root, aby skompilować/zainstalować oraz "
++"nadać etykiety plikom/katalogom.  \n"
++"Należy użyć semanage lub useradd, aby mapować logowanych użytkowników "
++"Linuksa do ról użytkowników.\n"
++"Należy umieść komputer w trybie zezwalania (setenforce 0). \n"
++"Należy zalogować się jako użytkownik i przetestować tę rolę użytkownika.\n"
++"Należy użyć audit2allow -R, aby utworzyć dodatkowe reguły dla pliku te.\n"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona spamd"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"To narzędzie utworzy: \n"
++"typy wymuszania(te), kontekstu plików(fc), interfejsy(if) i skryptu powłoki"
++"(sh).\n"
++"\n"
++"Należy wykonać skrypt powłoki jako root, aby skompilować/zainstalować oraz "
++"nadać etykiety plikom/katalogom.  \n"
++"Należy umieścić komputer w trybie zezwalania (setenforce 0). \n"
++"Należy uruchomić/uruchomić ponownie aplikację, aby utworzyć komunikaty AVC.\n"
++"Należy użyć audit2allow -R, aby utworzyć dodatkowe reguły dla pliku te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Okno dialogowe dodania zmiennej logicznej"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Nazwa zmiennej logicznej"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Rola"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Istniejący_użytkownik"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Aplikacja"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s musi być katalogiem"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Należy wybrać użytkownika"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Wybór ograniczanego pliku wykonywalnego."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Wybór ograniczanego pliku skryptu init."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Wybór plików, które ograniczana aplikacja tworzy lub zapisuje"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Pozwól smapd na dostęp do folderów domowych"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Wybór katalogów, które ograniczana aplikacja posiada lub do nich zapisuje"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Pozwól demonowi Spam Assassin na dostęp do sieci"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Wybór katalogu, w którym utworzyć pliki polityki"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona speedmgmt"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Typ %s_t został już określony w bieżącej polityce.\n"
++"Kontynuować?"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Proszę sprawdzić nazwę"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Pozwól demonowi Squid na dostęp do sieci"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Moduł %s.pp został już wczytany w bieżącej polityce.\n"
++"Kontynuować?"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Squid"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Należy podać nazwę"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona SSH"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Należy podać plik wykonywalny"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Pozwól SSH na logowanie jako sysadm_r:sysadm_t"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Konfiguracja SELinuksa"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Pozwól użytkownikom staff_r na wyszukiwanie w folderze domowym sysadm i "
+-#~ "odczytywanie plików (takich jak ~/.bashrc)"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Porty muszą być liczbą lub zakresem liczb od 1 do %d "
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Uniwersalny tunel SSH"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Należy podać nazwę dla ograniczanego procesu/użytkownika"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona stunnel"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Typy USER nie mają dozwolonych plików wykonywalnych"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "Pozwól demonowi stunnel na samodzielne uruchamianie, poza xinetd"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Tylko aplikacje DAEMON mogą używać skryptów init"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona swat"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog musi być zmienną logiczną "
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona sxid"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Typy USER automatycznie uzyskują typ tmp"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona syslogd"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Należy podać ścieżkę do pliku wykonywalnego dla ograniczanego procesu"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla systemowych zadań Crona"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Plik typu wymuszania"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona TCP"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Plik interfejsu"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Telnet"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Plik kontekstów pliku"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona tftpd"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Ustawienia skryptu"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona transproxy"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Port sieciowy"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona udev"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Typ portu\n"
++"SELinuksa"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona uml"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokół"
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Pozwól xinetd na uruchamianie nieograniczane, w tym wszystkich usług, "
+-#~ "jakie uruchamia, a które nie mają określonych przemian domen"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"Poziom\n"
++"MLS/MCS"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Pozwól skryptom rc na uruchamianie nieograniczane, w tym wszystkie demony "
+-#~ "uruchamiane przez skrypty rc, a które nie mają określonych przemian domen"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Numer portu \"%s\" jest nieprawidłowy. 0 < NUMER_PORTU < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Widok listy"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Widok grupy"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Ochrona usługi SELinuksa"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Administracja"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Pozwolenie wszystkim demonom na zapisywanie plików core do /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Pozwolenie wszystkim demonom na używanie nieprzydzielonych TTY"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Przywileje użytkowników"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Pozwól RPM na uruchamianie nieograniczane"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Pozwolenie kontom użytkowników SELinuksa gadmin na wykonywanie plików w "
++"katalogu domowym lub /tmp"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Pozwól uprzywilejowanym narzędziom, takim jak hotplug i insmod na "
+-#~ "uruchamianie nieograniczane"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Pozwolenie kontom użytkowników SELinuksa guest na wykonywanie plików w "
++"katalogu domowym lub /tmp"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona updfstab"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Ochrona pamięci"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Zezwolenie na stos wykonywalny Javy"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Pozwolenie mount na montowanie wszystkich plików"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Pozwolenie mount na montowanie wszystkich katalogów"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Zezwolenie na stos wykonywalny MPlayera"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Pozwolenie SSH na uruchamianie ssh-keysign"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona uptimed"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Pozwolenie kontom użytkowników SELinuksa staff na wykonywanie plików w "
++"katalogu domowym lub /tmp"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Pozwól user_r na osiąganie sysadm_r przez su, sudo lub userhelper. W "
+-#~ "innym wypadku tylko staff_r może to zrobić"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Pozwolenie kontom użytkowników SELinuksa sysadm na wykonywanie plików w "
++"katalogu domowym lub /tmp"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Pozwól użytkownikom na uruchamianie polecenia mount"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Pozwolenie nieograniczanym kontom użytkowników SELinuksa na wykonywanie "
++"plików w katalogu domowym lub /tmp"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Pozwól zwykłym użytkownikom na bezpośredni dostęp do myszy (pozwól tylko "
+-#~ "serwerowi X Window)"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Konfiguracja sieci"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Pozwolenie pakietom bez etykiet na przepływanie przez sieć"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Pozwól użytkownikom na wykonywanie polecenia dmesg"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Pozwolenie kontom użytkowników SELinuksa user na wykonywanie plików w "
++"katalogu domowym lub /tmp"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Pozwól użytkownikom na kontrolowanie interfejsów sieciowych (wymaga także "
+-#~ "USERCTL=true)"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Pozwolenie nieograniczanym dyntrans do unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Bazy danych"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Pozwolenie użytkownikowi na łączenie z gniazdem MySQL"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Pozwolenie użytkownikowi na łączenie z gniazdem PostgreSQL"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "Serwer X"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Pozwolenie klientom na zapisywanie do współdzielonej pamięci X"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Pozwól normalnym użytkownikom na wykonywanie ping"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Pozwolenie kontom użytkowników SELinuksa xguest na wykonywanie plików w "
++"katalogu domowym lub /tmp"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "Pozwól użytkownikom na odczyt/zapis noextattrfile (FAT, CD-ROM, DYSKIETKA)"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Pozwolenie demonom na uruchamianie za pomocą NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Aplikacje WWW"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Przemiana użytkownika SELinuksa staff na domenę przeglądarki WWW"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Przemiana użytkownika SELinuksa sysadm na domenę przeglądarki WWW"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Przemiana użytkownika SELinuksa user na domenę przeglądarki WWW"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Przemiana użytkownika SELinuksa xguest na domenę przeglądarki WWW"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"Pozwolenie przeglądarkom WWW staff na zapisywanie do katalogów domowych"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Pozwól użytkownikom na odczyt/zapis urządzeń USB"
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Wyłączenie ochrony SELinuksa dla amandy"
+-#~ 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 ""
+-#~ "Pozwól użytkownikom na uruchamianie serwerów TCP (dowiąż do portów i "
+-#~ "akceptuj połączenia z tych samych domen i zewnętrznych użytkowników) "
+-#~ "wyłączenie tego wymusza tryb pasywny FTP i może zmienić inne protokoły"
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Wyłączenie ochrony SELinuksa dla amavis"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Pozwól użytkownikom na wykonywanie stat na plikach TTY"
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona apmd"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona uucpd"
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona arpwatch"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona VMWare"
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona auditd"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona watchdog"
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona automount"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona winbind"
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Wyłączenie ochrony SELinuksa dla Avahi"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona XDM"
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Bluetooth"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Pozwól XDM na logowanie jako sysadm_r:sysadm_t"
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona canna"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona Xen"
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona cardmgr"
+-#~ msgid "XEN"
+-#~ msgstr "Xen"
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Wyłączenie ochrony SELinuksa dla serwera klastra"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr ""
+-#~ "Pozwól Xenowi na odczytywanie/zapisywanie fizycznych urządzeń dyskowych"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Pozwolenie cdrecord na odczytywanie różnej zawartości. NFS, Samba, "
++"urządzenia wymienne, pliki tymczasowe użytkownika i potencjalnie "
++"niebezpieczne pliki zawartości"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Wyłączenie ochrony SELinuksa dla clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Wyłączenie ochrony SELinuksa dla clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona cpuspeed"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona crond"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Drukowanie"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Wyłączenie ochrony SELinuksa dla serwera zaplecza cupsd"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona cupsd"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Wyłączenie ochrony SELinuksa dla cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona CVS"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona cyrus"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dbskkd"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dbusd"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Wyłączenie ochrony SELinuksa dla dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Wyłączenie ochrony SELinuksa dla dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Wyłączenie ochrony SELinuksa dla dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona ddt"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona devfsd"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dhcpc"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dhcpd"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dictd"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Pozwolenie sysadm_t na bezpośrednie uruchamianie demonów"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Wyłączenie ochrony SELinuksa dla Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Gry"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Wyłączenie ochrony SELinuksa dla gier"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Wyłączenie ochrony SELinuksa dla przeglądarek WWW"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Wyłączenie ochrony SELinuksa dla Thunderbirda"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona distccd"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dmesg"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dnsmasq"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona dovecot"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona entropyd"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Wyłączenie ochrony SELinuksa dla fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona fingerd"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona freshclam"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona fsdaemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona gpm"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona gss"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona HAL"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Zgodność"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona xfs"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Bez audytu rzeczy, o których wiadomo, że są zepsute, ale nie niosą za sobą "
++"ryzyka"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla kontroli Xena"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona hostname"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona hotplug"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona howl"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona hplip CUPS"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Wyłączenie ochrony SELinuksa dla rotatelogs httpd"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Usługa HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Wyłączenie ochrony SELinuksa dla suexec HTTP"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona hwclock"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Wyłączenie ochrony SELinuksa dla demonów potomnych inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona iSCSI"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona klogd"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Wyłączenie ochrony SELinuksa dla demonów ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona LPD"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona LVM"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Mailman"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona ypbind"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++"Pozwolenie Evolution i Thunderbirdowi na odczytywanie plików użytkownika"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona hasła NIS"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Pozwolenie przeglądarce Mozilla na odczytywanie plików użytkownika"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Usługa nazw"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Wyłączenie ochrony SELinuksa dla Menedżera sieci"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona nfsd"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona ntpd"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Wyłączenie ochrony SELinuksa dla oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Wyłączenie ochrony SELinuksa dla oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona OpenVPN"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona PAM"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Wyłączenie ochrony SELinuksa dla Pegasusa"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona perdition"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona portmap"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona portslave"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Wyłączenie ochrony SELinuksa dla Postfiksa"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona PostgreSQL"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Pozwolenie pppd na uruchamianie przez zwykłych użytkowników"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Wyłączenie ochrony SELinuksa dla demona pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona PXE"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Wyłączenie ochrony SELinuksa dla pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Quoty"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona radvd"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Wyłączenie ochrony SELinuksa dla rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Wyłączenie ochrony SELinuksa dla readahead"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona ypserv"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Pozwolenie programom na odczytywanie plików w niestandardowych położeniach "
++"(default_t)"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Wyłącz ochronę SELinuksa dla demona przesyłania NIS"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Wyłączenie ochrony SELinuksa dla demona restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona RHGB"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Wyłączenie ochrony SELinuksa dla ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Wyłączenie ochrony SELinuksa dla ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona rlogind"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona rpcd"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Wyłączenie ochrony SELinuksa dla rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona rsync"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Pozwolenie SSH na uruchamianie z inetd zamiast jako demon"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Pozwolenie Sambie na współdzielenie katalogów NFS"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Serwer uwierzytelniania SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Pozwolenie serwerowi uwierzytelniania SASL na odczytywanie /etc/shadow"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Pozwól użytkownikowi SELinuksa webadm na zarządzanie folderami domowymi "
+-#~ "nieuprzywilejowanych użytkowników"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Pozwolenie serwerowi X Window na mapowanie regionów pamięci zarówno jako "
++"wykonywalną, jak i zapisywalną"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Pozwól użytkownikowi SELinuksa webadm na odczytywanie folderami domowymi "
+-#~ "nieuprzywilejowanych użytkowników"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona saslauthd"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona scannerdaemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Bez zezwolenia na przemienienie na sysadm_t, dotyczy sudo i su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Bez zezwolenia żadnemu procesowi na wczytywanie modułów jądra"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Na pewno chcesz usunąć %s \"%s\"?"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++"Bez zezwolenia żadnemu procesowi na modyfikowanie polityki jądra SELinuksa"
+-#~ msgid "Delete %s"
+-#~ msgstr "Usuń %s"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Sendmail"
+-#~ msgid "Add %s"
+-#~ msgstr "Dodaj %s"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Wyłączenie ochrony SELinuksa dla setrans"
+-#~ msgid "Modify %s"
+-#~ msgstr "Zmodyfikuj %s"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona setroubleshoot"
+-#~ msgid "Permissive"
+-#~ msgstr "Zezwalanie"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona slapd"
+-#~ msgid "Enforcing"
+-#~ msgstr "Wymuszanie"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona slrnpull"
+-#~ msgid "Disabled"
+-#~ msgstr "Wyłączony"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona smbd"
+-#~ msgid "Status"
+-#~ msgstr "Stan"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona snmpd"
+-#~ 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 ""
+-#~ "Zmienianie typu polityki spowoduje ponowne nadanie etykiet całemu "
+-#~ "systemowy plików podczas następnego uruchamiania. Ponowne nadawanie "
+-#~ "etykiet zajmuje dużo czasu, w zależności od rozmiaru systemu plików. Czy "
+-#~ "chcesz kontynuować?"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Snort"
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Zmienianie SELinuksa na wyłączony wymaga ponownego uruchomienia. Nie jest "
+-#~ "to zalecane. Jeśli później zdecydujesz się ponownie włączyć SELinuksa, "
+-#~ "system będzie wymagał ponownego nadania etykiet. Jeśli chcesz tylko "
+-#~ "zobaczyć, czy SELinux powoduje problem z systemem, możesz przejść do "
+-#~ "trybu zezwalania, który będzie tylko zapisywał błędy do dziennika i nie "
+-#~ "wymuszał polityki SELinuksa. Tryb zezwalania nie wymaga ponownego "
+-#~ "uruchomienia. Czy chcesz kontynuować?"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona soundd"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Zmienianie SELinuksa na włączony spowoduje ponowne nadanie etykiet całemu "
+-#~ "systemowy plików podczas następnego uruchamiania. Ponowne nadawanie "
+-#~ "etykiet zajmuje dużo czasu, w zależności od rozmiaru systemu plików. Czy "
+-#~ "chcesz kontynuować?"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona sound"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Ochrona przed niechcianymi wiadomościami"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c) 2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona spamd"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Dodaj mapowanie loginu SELinuksa"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Pozwolenie smapd na dostęp do katalogów domowych"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Dodaj porty sieciowe SELinuksa"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Pozwolenie demonowi Spam Assassin na dostęp do sieci"
+-#~ msgid "SELinux Type"
+-#~ msgstr "Typ SELinuksa"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona speedmgmt"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "TCP\n"
+-#~ "UDP"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Poziom MLS/MCS\n"
+-#~ "SELinuksa"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Pozwolenie demonowi Squid na dostęp do sieci"
+-#~ msgid "File Specification"
+-#~ msgstr "Określenie pliku"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Squid"
+-#~ msgid "File Type"
+-#~ msgstr "Typ pliku"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona SSH"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "wszystkie pliki\n"
+-#~ "zwykłe pliki\n"
+-#~ "folder\n"
+-#~ "urządzenie znakowe\n"
+-#~ "urządzenie blokowe\n"
+-#~ "gniazdo\n"
+-#~ "dowiązanie symboliczne\n"
+-#~ "nazwany potok\n"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Pozwolenie SSH na logowanie jako sysadm_r:sysadm_t"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Pozwolenie użytkownikom staff_r na wyszukiwanie w katalogu domowym sysadm i "
++"odczytywanie plików (takich jak ~/.bashrc)"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Dodaj użytkownika SELinuksa"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Uniwersalny tunel SSL"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona stunnel"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Pozwolenie demonowi stunnel na samodzielne uruchamianie, poza xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona swat"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona sxid"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona syslogd"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Wyłączenie ochrony SELinuksa dla systemowych zadań Crona"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona TCP"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Telnet"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona tftpd"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona transproxy"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Wyłączenie ochronySELinuksa dla demona udev"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona uml"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "Administracja SELinuksa"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Pozwolenie xinetd na uruchamianie nieograniczane, w tym wszystkich usług, "
++"jakie uruchamia, a które nie mają określonych przemian domen"
+-#~ msgid "Add"
+-#~ msgstr "Dodaj"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Pozwolenie skryptom rc na uruchamianie nieograniczane, w tym wszystkie "
++"demony uruchamiane przez skrypty rc, a które nie mają określonych przemian "
++"domen"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Pozwolenie RPM na uruchamianie nieograniczane"
+-#~ msgid "_Properties"
+-#~ msgstr "_Właściwości"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Pozwolenie uprzywilejowanym narzędziom, takim jak hotplug i insmod na "
++"uruchamianie nieograniczane"
+-#~ msgid "_Delete"
+-#~ msgstr "_Usuń"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona updfstab"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona uptimed"
+-#~ msgid "Select Management Object"
+-#~ msgstr "Wybierz obiekt zarządzania"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Pozwolenie user_r na osiąganie sysadm_r przez su, sudo lub userhelper. W "
++"innym wypadku tylko staff_r może to zrobić"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Wybierz:</b>"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Pozwolenie użytkownikom na uruchamianie polecenia mount"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Domyślny systemowy tryb wymuszania"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Pozwolenie zwykłym użytkownikom na bezpośredni dostęp do myszy (pozwolenie "
++"tylko serwerowi X)"
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "Wyłączone\n"
+-#~ "Zezwalanie\n"
+-#~ "Wymuszanie\n"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Pozwolenie użytkownikom na wykonywanie polecenia dmesg"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Obecny tryb wymuszania"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Pozwolenie użytkownikom na kontrolowanie interfejsów sieciowych (wymaga "
++"także USERCTL=true)"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Domyślny systemowy typ polityki: "
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Pozwolenie normalnym użytkownikom na wykonywanie ping"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Wybierz, czy chcesz ponownie nadać etykiety całemu systemowi plików "
+-#~ "podczas następnego ponownego uruchomienia. Ponowne nadanie etykiet może "
+-#~ "zająć dużo czasu, w zależności od rozmiaru systemu. Jeśli zmieniasz typy "
+-#~ "polityki lub przechodzisz z wyłączonego do wymuszania, ponowne nadanie "
+-#~ "etykiet jest wymagane."
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Pozwolenie użytkownikom na odczyt/zapis noextattrfile (FAT, CD-ROM, "
++"DYSKIETKA)"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Ponownie nadaj etykiety podczas następnego ponownego uruchomienia."
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Pozwolenie użytkownikom na odczyt/zapis urządzeń USB"
+-#~ msgid "label37"
+-#~ msgstr "label37"
++#: ../gui/selinux.tbl:216
++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 ""
++"Pozwolenie użytkownikom na uruchamianie serwerów TCP (dowiązanie do portów i "
++"akceptowanie połączenia z tych samych domen i zewnętrznych użytkowników) "
++"wyłączenie tego wymusza tryb pasywny FTP i może zmienić inne protokoły"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Pozwolenie użytkownikom na wykonywanie stat na plikach TTY"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona uucpd"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona VMWare"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona watchdog"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona winbind"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona XDM"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Pozwolenie XDM na logowanie jako sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona Xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "Xen"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "Przywróć ustawienia zmiennych logicznych do domyślnych systemu"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++"Pozwolenie Xenowi na odczytywanie/zapisywanie fizycznych urządzeń dyskowych"
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Przełącz między dostosowanymi i wszystkimi zmiennymi logicznymi"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona xfs"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Wyłączenie ochrony SELinuksa dla kontroli Xena"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona ypbind"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona hasła NIS"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona ypserv"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Wyłączenie ochrony SELinuksa dla demona przesyłania NIS"
+-#~ msgid "Run booleans lockdown wizard"
+-#~ msgstr "Uruchom kreatora blokowania zmiennych logicznych"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Pozwolenie użytkownikowi SELinuksa webadm na zarządzanie katalogami domowymi "
++"nieuprzywilejowanych użytkowników"
+-#~ msgid "Lockdown..."
+-#~ msgstr "Zablokuj..."
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Pozwolenie użytkownikowi SELinuksa webadm na odczytywanie katalogów domowych "
++"nieuprzywilejowanych użytkowników"
+-#~ msgid "Filter"
+-#~ msgstr "Filtr"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Na pewno usunąć %s \"%s\"?"
+-#~ msgid "label50"
+-#~ msgstr "label50"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Usuń %s"
+-#~ msgid "Add File Context"
+-#~ msgstr "Dodaj kontekst pliku"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Dodaj %s"
+-#~ msgid "Modify File Context"
+-#~ msgstr "Zmodyfikuj kontekst pliku"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Zmodyfikuj %s"
+-#~ msgid "Delete File Context"
+-#~ msgstr "Usuń kontekst pliku"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Zezwalanie"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "Przełącz między wszystkimi i dostosowanymi kontekstami plików"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Wymuszanie"
+-#~ msgid "label38"
+-#~ msgstr "label38"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Wyłączony"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Dodaj mapowanie użytkownika SELinuksa"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Stan"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Zmodyfikuj mapowanie użytkownika SELinuksa"
++#: ../gui/statusPage.py:133
++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 ""
++"Zmienianie typu polityki spowoduje ponowne nadanie etykiet całemu systemowy "
++"plików podczas następnego uruchamiania. Ponowne nadawanie etykiet zajmuje "
++"dużo czasu, w zależności od rozmiaru systemu plików. Kontynuować?"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Usuń mapowanie użytkownika SELinuksa"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Zmienianie SELinuksa na wyłączony wymaga ponownego uruchomienia. Nie jest to "
++"zalecane. Jeśli później SELinux zostanie ponownie włączony, system będzie "
++"wymagał ponownego nadania etykiet. Aby tylko zobaczyć, czy SELinux powoduje "
++"problem z systemem, można przejść do trybu zezwalania, który będzie tylko "
++"zapisywał błędy do dziennika i nie wymuszał polityki SELinuksa. Tryb "
++"zezwalania nie wymaga ponownego uruchomienia. Kontynuować?"
+-#~ msgid "label39"
+-#~ msgstr "label39"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Zmienianie SELinuksa na włączony spowoduje ponowne nadanie etykiet całemu "
++"systemowy plików podczas następnego uruchamiania. Ponowne nadawanie etykiet "
++"zajmuje dużo czasu, w zależności od rozmiaru systemu plików. Kontynuować?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Add Translation"
+-#~ msgstr "Dodaj tłumaczenie"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c) 2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Modify Translation"
+-#~ msgstr "Zmodyfikuj tłumaczenie"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Dodanie mapowania loginu SELinuksa"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Dodanie portów sieciowe SELinuksa"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Typ SELinuksa"
+-#~ msgid "Delete Translation"
+-#~ msgstr "Usuń tłumaczenie"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"Poziom MLS/MCS\n"
++"SELinuksa"
+-#~ msgid "label41"
+-#~ msgstr "label41"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Określenie pliku"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Typ pliku"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Zmodyfikuj użytkownika SELinuksa"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"wszystkie pliki\n"
++"zwykłe pliki\n"
++"katalog\n"
++"urządzenie znakowe\n"
++"urządzenie blokowe\n"
++"gniazdo\n"
++"dowiązanie symboliczne\n"
++"nazwany potok\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Dodanie użytkownika SELinuksa"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Administracja SELinuksa"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Dodaj"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Właściwości"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Usuń"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Wybór obiektu zarządzania"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Proszę wybrać:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Domyślny systemowy tryb wymuszania"
+-#~ msgid "label40"
+-#~ msgstr "label40"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Wyłączone\n"
++"Zezwalanie\n"
++"Wymuszanie\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Obecny tryb wymuszania"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Domyślny systemowy typ polityki: "
+-#~ msgid "Add Network Port"
+-#~ msgstr "Dodaj port sieciowy"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Proszę wybrać, czy ponownie nadać etykiety całemu systemowi plików podczas "
++"następnego ponownego uruchomienia. Ponowne nadanie etykiet może zająć dużo "
++"czasu, w zależności od rozmiaru systemu. Jeśli zmieniasz typy polityki lub "
++"przechodzisz z wyłączonego do wymuszania, ponowne nadanie etykiet jest "
++"wymagane."
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Edytuj port sieciowy"
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++"Podczas następnego ponownego uruchomienia etykiety zostaną ponownie nadane."
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Usuń port sieciowy"
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Przywrócenie ustawień zmiennych logicznych do domyślnych systemu"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Przełączenie między dostosowanymi i wszystkimi zmiennymi logicznymi"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Uruchomienie kreatora blokowania zmiennych logicznych"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Blokowanie..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtr"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Dodanie kontekstu pliku"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Zmodyfikowanie kontekstu pliku"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Usunięcie kontekstu pliku"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Przełączenie między wszystkimi i dostosowanymi kontekstami plików"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Dodanie mapowania użytkownika SELinuksa"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Zmodyfikowanie mapowania użytkownika SELinuksa"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Usunięcie mapowania użytkownika SELinuksa"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Dodanie użytkownika"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Zmodyfikowanie użytkownika"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Usunięcie użytkownika"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Dodanie tłumaczenia"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Zmodyfikowanie tłumaczenia"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Usunięcie tłumaczenia"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Dodanie portu sieciowego"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Edycja portu sieciowego"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Usunięcie portu sieciowego"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Przełączenie między dostosowanymi i wszystkimi portami"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Utworzenie nowego modułu polityki"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Wczytanie modułu polityki"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Usunięcie wczytywalnego modułu polityki"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Przełącz między dostosowanymi i wszystkimi portami"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Włączenie/wyłączenie dodatkowych reguł audytu, które normalnie nie są "
++"zgłaszane w plikach dziennika."
+-#~ msgid "label42"
+-#~ msgstr "label42"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Utwórz nowy moduł polityki"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Zmiana trybu procesu na zezwalanie."
+-#~ msgid "Load policy module"
+-#~ msgstr "Wczytaj moduł polityki"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Zmiana trybu procesu na wymuszanie"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Usuń wczytywalny moduł polityki"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Domena procesu"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Włącz/wyłącz dodatkowe reguły audytu, które normalnie nie są raportowane "
+-#~ "do plików dziennika."
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "label44"
+-#~ msgstr "label44"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Użytkownik SELinuksa \"%s\" jest wymagany"
+-#~ msgid "Sensitvity Level"
++#, fuzzy
++#~ msgid "Sensitivity Level"
+ #~ msgstr "Poziom wrażliwości"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Użytkownik SELinuksa \"%s\" jest wymagany"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/policycoreutils.pot policycoreutils-2.0.85/po/policycoreutils.pot
+--- nsapolicycoreutils/po/policycoreutils.pot  2011-02-17 15:11:25.050736108 -0500
++++ policycoreutils-2.0.85/po/policycoreutils.pot      2011-02-17 15:23:38.811766269 -0500
+@@ -8,10 +8,11 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-09-14 16:59-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=CHARSET\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -77,829 +78,846 @@
+ msgid "Could not set exec context to %s.\n"
+ msgstr ""
+-#: ../audit2allow/audit2allow:217
++#: ../audit2allow/audit2allow:230
+ msgid "******************** IMPORTANT ***********************\n"
+ msgstr ""
+-#: ../audit2allow/audit2allow:218
++#: ../audit2allow/audit2allow:231
+ msgid "To make this policy package active, execute:"
+ msgstr ""
+-#: ../semanage/seobject.py:48
++#: ../semanage/seobject.py:107 ../semanage/seobject.py:111
++msgid "global"
++msgstr ""
++
++#: ../semanage/seobject.py:181
+ msgid "Could not create semanage handle"
+ msgstr ""
+-#: ../semanage/seobject.py:55
++#: ../semanage/seobject.py:189
+ msgid "SELinux policy is not managed or store cannot be accessed."
+ msgstr ""
+-#: ../semanage/seobject.py:60
++#: ../semanage/seobject.py:194
+ msgid "Cannot read policy store."
+ msgstr ""
+-#: ../semanage/seobject.py:65
++#: ../semanage/seobject.py:199
+ msgid "Could not establish semanage connection"
+ msgstr ""
+-#: ../semanage/seobject.py:70
++#: ../semanage/seobject.py:204
+ msgid "Could not test MLS enabled status"
+ msgstr ""
+-#: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+-msgid "global"
++#: ../semanage/seobject.py:210 ../semanage/seobject.py:224
++msgid "Not yet implemented"
+ msgstr ""
+-#: ../semanage/seobject.py:206
+-#, python-format
+-msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
++#: ../semanage/seobject.py:214
++msgid "Semanage transaction already in progress"
+ msgstr ""
+-#: ../semanage/seobject.py:239
+-msgid "Level"
++#: ../semanage/seobject.py:222
++msgid "Could not start semanage transaction"
+ msgstr ""
+-#: ../semanage/seobject.py:239
+-msgid "Translation"
++#: ../semanage/seobject.py:231
++msgid "Could not commit semanage transaction"
+ msgstr ""
+-#: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+-#, python-format
+-msgid "Translations can not contain spaces '%s' "
++#: ../semanage/seobject.py:235
++msgid "Semanage transaction not in progress"
+ msgstr ""
+-#: ../semanage/seobject.py:250
+-#, python-format
+-msgid "Invalid Level '%s' "
++#: ../semanage/seobject.py:247 ../semanage/seobject.py:329
++msgid "Could not list SELinux modules"
+ msgstr ""
+-#: ../semanage/seobject.py:253
+-#, python-format
+-msgid "%s already defined in translations"
++#: ../semanage/seobject.py:256
++msgid "Modules Name"
+ msgstr ""
+-#: ../semanage/seobject.py:265
+-#, python-format
+-msgid "%s not defined in translations"
++#: ../semanage/seobject.py:256 ../gui/modulesPage.py:62
++msgid "Version"
+ msgstr ""
+-#: ../semanage/seobject.py:290
+-msgid "Not yet implemented"
++#: ../semanage/seobject.py:259 ../gui/statusPage.py:75
++msgid "Disabled"
+ msgstr ""
+-#: ../semanage/seobject.py:294
+-msgid "Semanage transaction already in progress"
++#: ../semanage/seobject.py:274
++#, python-format
++msgid "Could not disable module %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:303
+-msgid "Could not start semanage transaction"
++#: ../semanage/seobject.py:285
++#, python-format
++msgid "Could not enable module %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:309
+-msgid "Could not commit semanage transaction"
++#: ../semanage/seobject.py:300
++#, python-format
++msgid "Could not remove module %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:313
+-msgid "Semanage transaction not in progress"
++#: ../semanage/seobject.py:316
++msgid "dontaudit requires either 'on' or 'off'"
+ msgstr ""
+-#: ../semanage/seobject.py:325
+-msgid "Could not list SELinux modules"
++#: ../semanage/seobject.py:344
++msgid "Builtin Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:336
+-msgid "Permissive Types"
++#: ../semanage/seobject.py:350
++msgid "Customized Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:391
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:397
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:423 ../semanage/seobject.py:485
++#: ../semanage/seobject.py:531 ../semanage/seobject.py:632
++#: ../semanage/seobject.py:700 ../semanage/seobject.py:758
++#: ../semanage/seobject.py:992 ../semanage/seobject.py:1650
++#: ../semanage/seobject.py:1714 ../semanage/seobject.py:1733
++#: ../semanage/seobject.py:1842 ../semanage/seobject.py:1894
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:427 ../semanage/seobject.py:489
++#: ../semanage/seobject.py:535 ../semanage/seobject.py:541
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
+-#, python-format
+-msgid "Login mapping for %s is already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:436
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:441
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:445
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:449 ../semanage/seobject.py:647
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:454 ../semanage/seobject.py:657
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:458
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:462
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:474 ../semanage/seobject.py:477
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:481
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:491 ../semanage/seobject.py:537
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:495
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:511
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:543
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:547
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:566 ../semanage/seobject.py:580
++#: ../semanage/seobject.py:793
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:602 ../semanage/seobject.py:607
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:602 ../semanage/seobject.py:607
++#: ../semanage/seobject.py:836 ../semanage/seobject.py:841
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:915
++#: ../gui/system-config-selinux.glade:2304 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:602 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:943
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:636 ../semanage/seobject.py:704
++#: ../semanage/seobject.py:762 ../semanage/seobject.py:768
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
+-#, python-format
+-msgid "SELinux user %s is already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:643
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:652
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:661
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:664
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:667
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:694
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:696
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:706 ../semanage/seobject.py:764
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:710
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:737
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:770
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:774
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:807
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:813
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:835
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:835
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:836
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:836
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:836
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:836 ../semanage/seobject.py:841
++#: ../gui/system-config-selinux.glade:992 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:856
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:858
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:868
++msgid "Invalid Port"
++msgstr ""
++
++#: ../semanage/seobject.py:872
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:884
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:890 ../semanage/seobject.py:950
++#: ../semanage/seobject.py:1005 ../semanage/seobject.py:1011
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:892
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:896
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:902
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:906
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:910
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:914
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:919
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:923
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:927
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1397
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:944
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:952 ../semanage/seobject.py:1007
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:956
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:967
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:980
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:996
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:1013
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:1017
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1055
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1088
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1088
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1088 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1106 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1232
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1109 ../semanage/seobject.py:1189
++#: ../semanage/seobject.py:1235
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1114 ../semanage/seobject.py:1193
++#: ../semanage/seobject.py:1240
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1123 ../semanage/seobject.py:1335
++#: ../semanage/seobject.py:1588
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1127 ../semanage/seobject.py:1200
++#: ../semanage/seobject.py:1244 ../semanage/seobject.py:1339
++#: ../semanage/seobject.py:1401 ../semanage/seobject.py:1435
++#: ../semanage/seobject.py:1592
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1129 ../semanage/seobject.py:1204
++#: ../semanage/seobject.py:1248 ../semanage/seobject.py:1254
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
+-#, python-format
+-msgid "Addr %s already defined"
+-msgstr ""
+-
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1138
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1144 ../semanage/seobject.py:1355
++#: ../semanage/seobject.py:1556
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1148
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1152
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1156
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1160
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1165
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1169
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1173
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1206 ../semanage/seobject.py:1250
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1210
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1220
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1256
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1260
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
+-msgid "Could not list addrs"
++#: ../semanage/seobject.py:1272
++msgid "Could not deleteall node mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
+-#, python-format
+-msgid "Could not check if interface %s is defined"
++#: ../semanage/seobject.py:1286
++msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1343 ../semanage/seobject.py:1405
++#: ../semanage/seobject.py:1439 ../semanage/seobject.py:1445
+ #, python-format
+-msgid "Interface %s already defined"
++msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1350
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1359
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1372
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1376
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1380
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1384
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1407 ../semanage/seobject.py:1441
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1422
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1447
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1451
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1463
++msgid "Could not delete all interface  mappings"
++msgstr ""
++
++#: ../semanage/seobject.py:1477
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1496
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1496 ../semanage/seobject.py:1800
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1540
++#, python-format
++msgid "Equivalence class for %s already exists"
++msgstr ""
++
++#: ../semanage/seobject.py:1548
++#, python-format
++msgid "Equivalence class for %s does not exists"
++msgstr ""
++
++#: ../semanage/seobject.py:1562
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1566
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1571 ../semanage/seobject.py:1622
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1577
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
+-#, python-format
+-msgid "Could not check if file context for %s is defined"
++#: ../semanage/seobject.py:1579
++msgid "File specification can not include spaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1596 ../semanage/seobject.py:1601
++#: ../semanage/seobject.py:1654 ../semanage/seobject.py:1737
++#: ../semanage/seobject.py:1741
+ #, python-format
+-msgid "File context for %s already defined"
++msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1609
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1617
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1625 ../semanage/seobject.py:1682
++#: ../semanage/seobject.py:1686
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1631
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1645
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1658 ../semanage/seobject.py:1745
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1664
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1690
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1704
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1718
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1743
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1749
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1764
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1768
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1800
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1800
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1811
++msgid ""
++"\n"
++"SELinux fcontext Equivalence \n"
++msgstr ""
++
++#: ../semanage/seobject.py:1845 ../semanage/seobject.py:1897
++#: ../semanage/seobject.py:1903
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1847 ../semanage/seobject.py:1899
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1851
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1856
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1861
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1864
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1882
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1905
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1909
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1921 ../semanage/seobject.py:1938
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1961
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1974
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1974
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1983
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1983 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:178
+ msgid "Description"
+ msgstr ""
+@@ -1158,33 +1176,33 @@
+ msgid "Error allocating shell's argv0.\n"
+ msgstr ""
+-#: ../newrole/newrole.c:1346
++#: ../newrole/newrole.c:1347
+ #, c-format
+ msgid "Unable to restore the environment, aborting\n"
+ msgstr ""
+-#: ../newrole/newrole.c:1357
++#: ../newrole/newrole.c:1358
+ msgid "failed to exec shell\n"
+ msgstr ""
+-#: ../load_policy/load_policy.c:22
++#: ../load_policy/load_policy.c:24
+ #, c-format
+ msgid "usage:  %s [-qi]\n"
+ msgstr ""
+-#: ../load_policy/load_policy.c:71
++#: ../load_policy/load_policy.c:81
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+ msgstr ""
+-#: ../load_policy/load_policy.c:80
++#: ../load_policy/load_policy.c:91
+ #, c-format
+-msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
++msgid "%s:  Can't load policy file %s and enforcing mode requested: %s\n"
+ msgstr ""
+-#: ../load_policy/load_policy.c:90
++#: ../load_policy/load_policy.c:103
+ #, c-format
+-msgid "%s:  Can't load policy:  %s\n"
++msgid "%s:  Can't load policy file %s:  %s\n"
+ msgstr ""
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+@@ -1266,7 +1284,2070 @@
+ msgid "chcat -l +CompanyConfidential juser"
+ msgstr ""
+-#: ../scripts/chcat:399
+-#, c-format
++#: ../scripts/chcat:399 ../gui/polgen.py:1290
++#, c-format, python-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1725
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1616
++#: ../gui/system-config-selinux.glade:1839
++#: ../gui/system-config-selinux.glade:2456
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:1930
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2117
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:2772
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:2681
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:91 ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260 ../gui/polgen.py:149
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280 ../gui/polgen.py:150
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322 ../gui/polgen.py:152
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343 ../gui/polgen.py:153
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474 ../gui/polgen.py:154
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495 ../gui/polgen.py:155
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516 ../gui/polgen.py:156
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537 ../gui/polgen.py:157
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647 ../gui/polgen.py:158
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:176
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:186
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:193
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:205 ../gui/polgengui.py:213 ../gui/polgengui.py:227
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:275
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:335 ../gui/polgengui.py:608
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:463
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:484
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:491
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:551
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:564
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:564 ../gui/polgengui.py:568
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:568
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:614
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:620
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:645 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:151
++msgid "Internet Services Daemon"
++msgstr ""
++
++#: ../gui/polgen.py:190
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:309
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:395
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:401
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:419
++msgid "use_resolve must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:425
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:431
++msgid "use_kerberos must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:437
++msgid "manage_krb5_rcache must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:467
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:965
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:1124
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:1125
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:1126
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:1127
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/polgen.py:1245
++#, python-format
++msgid ""
++"\n"
++"%s\n"
++"\n"
++"polgen [ -m ] [ -t type ] [ executable | Name ]\n"
++"valid Types:\n"
++msgstr ""
++
++#: ../gui/polgen.py:1293
++msgid "Executable or Name required"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2547
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2438
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:2838
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:2856
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:678
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:650
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:727
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:773
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:837
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1079
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1122
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1144
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1166
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1257
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1274
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1327
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1355
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1374
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1419
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1464
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1510
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1562
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1599
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1615
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1633
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1634
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1664
++#: ../gui/system-config-selinux.glade:1869
++#: ../gui/system-config-selinux.glade:2056
++#: ../gui/system-config-selinux.glade:2243
++#: ../gui/system-config-selinux.glade:2486
++#: ../gui/system-config-selinux.glade:2711
++#: ../gui/system-config-selinux.glade:2886
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1753
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1790
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1806
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1822
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1838
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1958
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1995
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2011
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2027
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2145
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2182
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2198
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2214
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2332
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2369
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2385
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2401
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2437
++#: ../gui/system-config-selinux.glade:2455
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2575
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2612
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2628
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2644
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2680
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2800
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2837
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2855
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2947
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2975
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/POTFILES policycoreutils-2.0.85/po/POTFILES
+--- nsapolicycoreutils/po/POTFILES     2011-02-17 15:11:26.009720263 -0500
++++ policycoreutils-2.0.85/po/POTFILES 2011-02-17 15:23:37.438756244 -0500
+@@ -22,5 +22,32 @@
+       ../restorecond/stringslist.h \
+       ../restorecond/restorecond.c \
+       ../restorecond/utmpwatcher.c \
++      ../gui/booleansPage.py \
++      ../gui/fcontextPage.py \
++      ../gui/loginsPage.py \
++      ../gui/mappingsPage.py \
++      ../gui/modulesPage.py \
++      ../gui/polgen.glade \
++      ../gui/polgengui.py \
++      ../gui/polgen.py \
++      ../gui/portsPage.py \
++      ../gui/selinux.tbl \
++      ../gui/semanagePage.py \
++      ../gui/statusPage.py \
++      ../gui/system-config-selinux.glade \
++      ../gui/system-config-selinux.py \
++      ../gui/usersPage.py \
++      ../gui/templates/executable.py \
++      ../gui/templates/__init__.py \
++      ../gui/templates/network.py \
++      ../gui/templates/rw.py \
++      ../gui/templates/script.py \
++      ../gui/templates/semodule.py \
++      ../gui/templates/tmp.py \
++      ../gui/templates/user.py \
++      ../gui/templates/var_lib.py \
++      ../gui/templates/var_log.py \
++      ../gui/templates/var_run.py \
++      ../gui/templates/var_spool.py \
+       ../secon/secon.c \
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/POTFILES.in policycoreutils-2.0.85/po/POTFILES.in
+--- nsapolicycoreutils/po/POTFILES.in  2011-02-17 15:11:25.894722166 -0500
++++ policycoreutils-2.0.85/po/POTFILES.in      2011-02-17 15:23:37.440756258 -0500
+@@ -21,6 +21,7 @@
+ restorecond/restorecond.c
+ restorecond/utmpwatcher.c
+ gui/booleansPage.py
++gui/domainsPage.py
+ gui/fcontextPage.py
+ gui/loginsPage.py
+ gui/mappingsPage.py
+@@ -34,7 +35,6 @@
+ gui/statusPage.py
+ gui/system-config-selinux.glade
+ gui/system-config-selinux.py
+-gui/translationsPage.py
+ gui/usersPage.py
+ gui/templates/executable.py
+ gui/templates/__init__.py
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/pt_BR.po policycoreutils-2.0.85/po/pt_BR.po
+--- nsapolicycoreutils/po/pt_BR.po     2011-02-17 15:11:25.358731021 -0500
++++ policycoreutils-2.0.85/po/pt_BR.po 2011-02-18 16:03:41.438976221 -0500
+@@ -1,26 +1,49 @@
+-# Brazilian Portuguese translation of policycoreutils
++# translation of pt_BR.po to Portuguese
++# Brazilian Portuguese translation of policycoreutils.
++# This file is distributed under the same license as the policycoreutils package.
++#
+ # Diego Búrigo Zacarão <diegobz@gmail.com>, 2006.
+ # Valnir Ferreira Jr., 2006.
+-# Igor Pires Soares <igor@projetofedora.org>, 2006,2007,2008.
++# Igor Pires Soares <igor@projetofedora.org>, 2006,2007,2008,2009.
+ # Frederico Madeira <fred@madeira.eng.br>, 2008.
+ # Oliver Silva <oliverpsilva@gmail.com>, 2008.
+-#
++# Taylon Silmer <taylonsilva@gmail.com>, 2008.
++# Og Maciel <ogmaciel@gnome.org>, 2008.
++# Glaucia Cintra <gcintra@redhat.com>, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils\n"
++"Project-Id-Version: pt_BR\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-07-22 15:47-0300\n"
+-"Last-Translator: Igor Pires Soares <igor@projetofedora.org>\n"
+-"Language-Team: Brazilian Portuguese <fedora-trans-pt_br@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 11:06+1000\n"
++"Last-Translator: Glaucia Cintra <gcintra@redhat.com>\n"
++"Language-Team: Portuguese <en@li.org>\n"
++"Language: pt\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.9.1\n"
++"X-Generator: KBabel 1.11.4\n"
+ "X-Poedit-Language: Portuguese\n"
+ "X-Poedit-Country: BRAZIL\n"
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Configure o SELinux em uma configuração gráfica"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Gerenciamento do SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Gerar módulos de política do SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Ferramenta de criação de políticas do SELinux"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -28,7 +51,7 @@
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+ "USO: run_init <script> <args ...>\n"
+-"onde: <script> é o nome do script de inicialização a ser executado,\n"
++" onde: <script> é o nome do script de inicialização a ser executado,\n"
+ "         <args ...> são os argumentos para esse script."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+@@ -39,7 +62,7 @@
+ #: ../run_init/run_init.c:139
+ #, c-format
+ msgid "failed to get account information\n"
+-msgstr "falhou ao obter informação da conta\n"
++msgstr "falha ao obter informação da conta\n"
+ #: ../run_init/run_init.c:162 ../newrole/newrole.c:338
+ msgid "Password:"
+@@ -48,7 +71,7 @@
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr "Impossível achar a sua entrada no arquivo de senha shadow.\n"
++msgstr "Não foi possível localizar a sua entrada no arquivo de senha shadow.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+@@ -63,7 +86,7 @@
+ #: ../run_init/run_init.c:309
+ #, c-format
+ msgid "Could not open file %s\n"
+-msgstr "Impossível abrir arquivo %s\n"
++msgstr "Não foi possível abrir o arquivo %s\n"
+ #: ../run_init/run_init.c:336
+ #, c-format
+@@ -73,17 +96,17 @@
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+-msgstr "Desculpe, run_init somente pode ser usado sobre um kernel SELinux.\n"
++msgstr "Desculpe, run_init pode ser usado somente em um kernel SELinux.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+ msgid "authentication failed.\n"
+-msgstr "autenticação falhou.\n"
++msgstr "falha na autenticação.\n"
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+ msgid "Could not set exec context to %s.\n"
+-msgstr "Impossível definir contexto executável para %s.\n"
++msgstr "Não foi possível definir um contexto executável para %s.\n"
+ #: ../audit2allow/audit2allow:217
+ msgid "******************** IMPORTANT ***********************\n"
+@@ -99,20 +122,20 @@
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr "Política SELinux não é controlada ou não é possível acessar os dados."
++msgstr ""
++"A política SELinux não é gerenciada ou não foi possível acessar os dados."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "Impossível ler dados da política"
++msgstr "Não foi possível ler os dados da política."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+-msgstr "Impossível estabelecer uma conexão semanage"
++msgstr "Não foi possível estabelecer uma conexão semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Impossível definir intervalo MLS para %s"
++msgstr "Não foi possível testar o status habilitado de MLS"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -121,801 +144,814 @@
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+-msgstr "Impossível abrir %s: traduções não suportadas em máquinas não-MLS: %s"
++msgstr ""
++"Não foi possível abrir %s: traduções não suportadas nas máquinas não-MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "Nível"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Tradução"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "Traduções não podem conter espaços '%s' "
++msgstr "Traduções não podem conter espaços '%s'"
+ #: ../semanage/seobject.py:250
+ #, python-format
+ msgid "Invalid Level '%s' "
+-msgstr "Nível Inválido '%s' "
++msgstr "Nível inválido '%s'"
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s já definido nas traduções"
++msgstr "%s já está definido em traduções"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s não definido nas traduções"
++msgstr "%s não está definido nas traduções."
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr "Não implementado ainda"
++msgstr "Ainda não está implementado"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "A transação do semanage já está em andamento"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+-msgstr "Impossível iniciar transação semanage"
++msgstr "Não foi possível iniciar a transação semanage"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Impossível iniciar transação semanage"
++msgstr "Não foi possível enviar a transação semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "A transação do semanage não está em andamento"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Impossível listar usuários SELinux"
++msgstr "Não foi possível listar os módulos do SELinux"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+ msgstr "Tipos permissivos"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Não foi possível definir o domínio %s como permissivo (falha na instalação "
++"do módulo)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Não foi possível remover o domínio permissivo %s (falha na remoção)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+-msgstr "Impossível criar uma chave para %s"
++msgstr "Não foi possível criar uma chave para %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr "Impossível verificar se o mapeamento de login para %s está definido"
++msgstr ""
++"Não foi possível verificar se o mapeamento de início de sessão para %s está "
++"definido"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "Mapeamento de login para %s já está definido"
++msgstr "O mapeamento de início de sessão para %s já está definido"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Usuário Linux %s não existe"
++msgstr "O grupo linux %s não existe"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+-msgstr "Usuário Linux %s não existe"
++msgstr "O usuário linux %s não existe"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr "Não foi possível criar mapeamento de login para %s"
++msgstr "Não foi possível criar um mapeamento de início de sessão para %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr "Impossível definir nome para %s"
++msgstr "Não foi possível definir o nome para %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr "Impossível definir intervalo MLS para %s"
++msgstr "Não foi possível definir o intervalo MLS para %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+-msgstr "Impossível definir usuário SELinux para %s"
++msgstr "Não foi possível definir o usuário SELinux para %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "Impossível adicionar mapeamento de login para %s"
++msgstr "Não foi possível adicionar o mapeamento de início de sessão para %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "adicionar mapeamento de usuário do SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Requer seuser ou serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr "Mapeamento de login para %s não está definido"
++msgstr "O mapeamento de início de sessão para %s não está definido"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+-msgstr "Impossível consultar seuser para %s"
++msgstr "Não foi possível consultar o seuser para %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr "Impossível modificar mapeamento de login para %s"
++msgstr "Não foi possível modificar o mapeamento de início de sessão para %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"Mapeamento de login para %s está definido na política, não pode ser excluído"
++"O mapeamento de início de sessão para %s está definido na política, e não "
++"pode ser excluído"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr "Impossível excluir mapeamento de login para %s"
++msgstr "Não foi possível excluir o mapeamento de início de sessão para %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr "Impossível listar mapeamentos de logins"
++msgstr "Não foi possível listar os mapeamentos de início de sessão"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr "Nome de Login"
++msgstr "Nome de usuário"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "Usuário do SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "Intervalo MLS/MCS"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Impossível adicionar contexto de arquivo para %s"
++msgstr "Você deve adicionar pelo menos uma função para %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+-msgstr "Impossível checar se usuário SELinux %s está definido"
++msgstr "Não foi possível verificar se o usuário SELinux %s está definido"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr "Usuário SELinux %s já está definido"
++msgstr "O usuário SELinux %s já está definido"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr "Impossível criar usuário SELinux for %s"
++msgstr "Não foi possível criar um usuário SELinux para %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+-msgstr "Impossível adicionar role %s para %s"
++msgstr "Não foi possível adicionar uma função %s para %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+-msgstr "Impossível definir nível MLS para %s"
++msgstr "Não foi possível definir um nível MLS para %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr "Impossível adicionar prefixo %s para %s"
++msgstr "Não foi possível adicionar um prefixo %s para %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+-msgstr "Impossível extrair chave para %s"
++msgstr "Não foi possível extrair uma chave para %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+-msgstr "Impossível adicionar usuário SELinux %s"
++msgstr "Não foi possível adicionar o usuário SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+-msgstr "Requer prefixo, roles, nível ou intervalo"
++msgstr "Requer prefixo, função, nível ou intervalo"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+-msgstr "Requer prefixo ou roles"
++msgstr "Requer prefixo ou função"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr "Usuário SELinux %s não está definido"
++msgstr "O usuário SELinux %s não está definido"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+-msgstr "Impossível consultar usuário para %s"
++msgstr "Não foi possível consultar o usuário por %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+-msgstr "Impossível modificar usuário SELinux %s"
++msgstr "Não foi possível modificar o usuário SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr "Usuário SELinux %s está definido na política, não pode ser excluído"
++msgstr ""
++"O usuário SELinux %s está definido na política, e não pode ser excluído"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+-msgstr "Impossível excluir usuário SELinux %s"
++msgstr "Não foi possível excluir o usuário SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr "Impossível listar usuários SELinux"
++msgstr "Não foi possível listar os usuários SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+-msgstr "Impossível listar roles para o usuário %s"
++msgstr "Não foi possível listar as funções do usuário %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr "Etiquetagem"
++msgstr "Rótulo"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefixo"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "Nível MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "Intervalo MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr "Papéis do SELinux"
++msgstr "Funções do SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+-msgstr "Protocolo udp ou tcp é requerido"
++msgstr "O protocolo udp ou tcp é requerido"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+-msgstr "Porta é requerida"
++msgstr "A porta é requerida"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+-msgstr "Impossível criar uma chave para %s/%s"
++msgstr "Não foi possível criar uma chave para %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+-msgstr "Tipo é requerido"
++msgstr "O tipo é requerido"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+-msgstr "Impossível checar se a porta %s/%s está definida"
++msgstr "Não foi possível verificar se a porta %s/%s está definida"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+-msgstr "Porta %s/%s já está definida"
++msgstr "A porta %s/%s já está definida"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+-msgstr "Impossível criar porta para %s/%s"
++msgstr "Não foi possível criar uma porta para %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+-msgstr "Impossível criar contexto para %s/%s"
++msgstr "Não foi possível criar um contexto para %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr "Impossível definir usuário no contexto da porta para %s/%s"
++msgstr "Não foi possível definir o usuário no contexto da porta para %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr "Impossível definir role no contexto da porta para %s/%s"
++msgstr "Não foi possível definir a função no contexto da porta para %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr "Impossível definir tipo no contexto da porta para %s/%s"
++msgstr "Não foi possível definir o tipo no contexto da porta para %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr "Impossível definir campos mls no contexto da porta para %s/%s"
++msgstr "Não foi possível definir os campos mls no contexto da porta para %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr "Impossível definir contexto da porta para %s/%s"
++msgstr "Não foi possível definir o contexto da porta para %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+-msgstr "Impossível adicionar porta %s/%s"
++msgstr "Não foi possível adicionar a porta %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Requer setype ou serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Requer setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "A porta %s/%s não está definida"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+-msgstr "Impossível consultar porta %s/%s"
++msgstr "Não foi possível consultar a porta %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+-msgstr "Impossível modificar porta %s/%s"
++msgstr "Não foi possível modificar a porta %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "Impossível listar as portas"
++msgstr "Não foi possível listar as portas"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+-msgstr "Impossível excluir a porta %s"
++msgstr "Não foi possível excluir a porta %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "A porta %s/%s está definida na política, não pode ser excluída"
++msgstr "A porta %s/%s está definida na política, e não pode ser excluída"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+-msgstr "Impossível excluir porta %s/%s"
++msgstr "Não foi possível excluir a porta %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+-msgstr "Impossível listar portas"
++msgstr "Não foi possível listar as portas"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr "Tipo da Porta do SELinux"
++msgstr "Tipo da porta do SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr "Protocolo"
++msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr "Número da Porta"
++msgstr "Número da porta"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Porta é requerida"
++msgstr "O endereço do nó é requerid"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Porta é requerida"
++msgstr "A mácara de rede do nó é requerida"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "O protocolo está faltando ou é desconhecido"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+-msgstr "Tipo SELinux é requerido"
++msgstr "O tipo SELinux é requerido"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+-msgstr "Impossível criar chave para %s"
++msgstr "Não foi possível criar uma chave para %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Impossível checar se a porta %s/%s está definida"
++msgstr "Não foi possível verificar se o endereço %s está definido"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Porta %s/%s já está definida"
++msgstr "O endereço %s já está definido"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Impossível criar uma chave para %s"
++msgstr "Não foi possível criar um endereço para %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr "Impossível criar contexto para %s"
++msgstr "Não foi possível criar um contexto para %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Impossível definir nome para %s"
++msgstr "Não foi possível definir uma máscara de rede para %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Impossível definir usuário no contexto de arquivo para %s"
++msgstr "Não foi possível definir o usuário no contexto de endereço para %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Impossível definir role no contexto de arquivo para %s"
++msgstr "Não foi possível definir uma função no contexto de endereço para %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Impossível definir tipo no contexto de arquivo para %s"
++msgstr "Não foi possível definir o tipo no contexto de endereço para %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Impossível definir campos mls no contexto de arquivo para %s"
++msgstr "Não foi possível definir os campos mls no contexto de endereço para %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Impossível definir contexto de arquivo para %s"
++msgstr "Não foi possível definir o contexto de endereço para %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Impossível adicionar porta %s/%s"
++msgstr "Não foi possível adicionar o endereço %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "A porta %s/%s não está definida"
++msgstr "O endereço %s não está definido"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Impossível consultar porta %s/%s"
++msgstr "Não foi possível consultar o endereço %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Impossível modificar porta %s/%s"
++msgstr "Não foi possível modificar o endereço %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "A porta %s/%s está definida na política, não pode ser excluída"
++msgstr "O endereço %s está definido na política, e não pode ser excluído"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Impossível excluir a %s"
++msgstr "Não foi possível excluir o endereço %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Impossível listar portas"
++msgstr "Não foi possível listar os endereços"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr "Impossível checar se a interface %s está definida"
++msgstr "Não foi possível verificar se a interface %s está definida"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr "Interface %s já definida"
++msgstr "A interface %s já esta definida"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+-msgstr "Impossível criar interface para %s"
++msgstr "Não foi possível criar uma interface para %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "Impossível definir usuário no contexto da interface para %s"
++msgstr "Não foi possível definir o usuário no contexto da interface para %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "Impossível definir role no contexto da interface para %s"
++msgstr "Não foi possível definir a função no contexto da interface para %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "Impossível definir tipo no contexto da interface para %s"
++msgstr "Não foi possível definir o tipo no contexto da interface para %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "Impossível definir campos mls no contexto da interface para %s"
++msgstr ""
++"Não foi possível definir os campos mls no contexto da interface para %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "Impossível definir contexto da interface para %s"
++msgstr "Não foi possível definir o contexto da interface para %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr "Impossível definir contexto da mensagem para %s"
++msgstr "Não foi possível definir o contexto da mensagem para %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+-msgstr "Impossível adicionar interface %s"
++msgstr "Não foi possível adicionar a interface %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "A interface %s não está definida"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+-msgstr "Impossível consultar interface %s"
++msgstr "Não foi possível consultar a interface %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+-msgstr "Impossível modificar interface %s"
++msgstr "Não foi possível modificar a interface %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "A interface %s está definida na política, não pode ser excluída"
++msgstr "A interface %s está definida na política, e não pode ser excluída"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+-msgstr "Impossível excluir interface %s"
++msgstr "Não foi possível excluir a interface %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+-msgstr "Impossível listar interfaces"
++msgstr "Não foi possível listar as interfaces"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "Interface do SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Contexto"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "Impossível definir usuário no contexto de arquivo para %s"
++msgstr "Não foi possível definir o usuário no contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "Impossível definir role no contexto de arquivo para %s"
++msgstr "Não foi possível definir a função no contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "Impossível definir campos mls no contexto de arquivo para %s"
++msgstr "Não foi possível definir os campos mls no contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr "Especificação do arquivo inválida"
++msgstr "Especificação inválida do arquivo"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "Impossível checar se o contexto do arquivo para %s está definido"
++msgstr ""
++"Não foi possível verificar se o contexto do arquivo para %s está definido"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr "Contexto do arquivo para %s já definido"
++msgstr "O contexto do arquivo para %s já está definido"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr "Impossível criar contexto de arquivo para %s"
++msgstr "Não foi possível criar um contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "Impossível definir tipo no contexto de arquivo para %s"
++msgstr "Não foi possível definir o tipo no contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "Impossível definir contexto de arquivo para %s"
++msgstr "Não foi possível definir o contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr "Impossível adicionar contexto de arquivo para %s"
++msgstr "Não foi possível adicionar o contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Requer setype, serange ou seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr "Contexto de arquivo para %s não está definido"
++msgstr "O contexto de arquivo para %s não está definido"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr "Impossível consultar contexto de arquivo para %s"
++msgstr "Não foi possível consultar o contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr "Impossível modificar contexto de arquivo para %s"
++msgstr "Não foi possível modificar o contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Impossível listar contextos de arquivos "
++msgstr "Não foi possível listar os contextos de arquivos "
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Impossível excluir contexto de arquivo  %s"
++msgstr "Não foi possível excluir os contexto do arquivo  %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"Contexto de arquivo para %s está definido na política, não pode ser excluído"
++"O contexto de arquivo para %s está definido na política, e não pode ser "
++"excluído"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr "Impossível excluir contexto de arquivo para %s"
++msgstr "Não foi possível excluir o contexto de arquivo para %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr "Impossível listar contextos de arquivos"
++msgstr "Não foi possível listar os contextos de arquivos"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr "Impossível listar contextos de arquivos locais"
++msgstr "Não foi possível listar os contextos de arquivos locais"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "fcontext do SELinux"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "tipo"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr "Impossível checar se Booleano %s está definido"
++msgstr "Não foi possível verificar se o booleano %s está definido"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Booleano %s não está definido"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr "Impossível consultar contexto de arquivo %s"
++msgstr "Não foi possível consultar o contexto de arquivo %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Você deve especificar um valor"
++msgstr "Você deve especificar um dos seguintes valores: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Não foi possível definir o valor ativo do booleano %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr "Impossível modificar booleano %s"
++msgstr "Não foi possível modificar o booleano %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "O formato %s é inválido: Registro %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "Booleano %s está definido na política, não pode ser excluído"
++msgstr "O booleano %s está definido na política, e não pode ser excluído"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr "Impossível excluir booleano %s"
++msgstr "Não foi possível excluir o booleano %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr "Impossível listar portas booleanas"
++msgstr "Não foi possível listar os booleanos"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "desconhecido"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr "desligado"
++msgstr "desativado"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr "Ativo"
++msgstr "ativado"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "Booleano do SELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Descrição"
+@@ -928,7 +964,7 @@
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+ msgstr ""
+-"newrole: Estouro de capacidade da tabela hash da configuração do nome do "
++"newrole: estouro de capacidade da tabela hash de configuração do nome do "
+ "serviço\n"
+ #: ../newrole/newrole.c:297
+@@ -939,7 +975,7 @@
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr "impossível encontrar entrada válida no arquivo passwd.\n"
++msgstr "Não foi possível localizar a entrada válida no arquivo passwd.\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+@@ -949,27 +985,27 @@
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "Erro! Shell não é valido.\n"
++msgstr "Erro!  Shell não é valido.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+ msgid "Unable to clear environment\n"
+-msgstr "Impossível limpar ambiente\n"
++msgstr "Não foi possível limpar o ambiente\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "Erro ao iniciar potencialidades, abortando.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr "Erro ao tentar definir potencialidades, abortando.\n"
++msgstr "Erro ao definir potencialidades, abortando.\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+ msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr "Erro ao tentar definir KEEPCAPS, abortando\n"
++msgstr "Erro ao definir KEEPCAPS, abortando\n"
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+@@ -979,17 +1015,17 @@
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr "Erro ao mudar uid, abortando.\n"
++msgstr "Erro ao mudar o uid, abortando.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr "Erro ao restaurar KEEPCAPS, abortando\n"
++msgstr "Erro ao restaurar o KEEPCAPS, abortando\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr "Erro ao remover a potencialidade SETUID, abortando.\n"
++msgstr "Erro ao remover o SETUID da potencialidade, abortando.\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+@@ -999,7 +1035,7 @@
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr "Erro ao conectar com sistema audit.\n"
++msgstr "Erro ao conectar com o sistema auditoria.\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+@@ -1009,47 +1045,51 @@
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr "Erro ao enviar mensagem audit.\n"
++msgstr "Erro ao enviar mensagem de auditoria.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr "Impossível determinar modo forçado.\n"
++msgstr "Não foi possível determinar modo forçado.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr "Erro!  Impossível abrir %s.\n"
++msgstr "Erro!  Não foi possível abrir %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+-msgstr "%s! Impossível obter o atual contexto para %s, não reetiquetar tty.\n"
++msgstr ""
++"%s! Não foi possível obter o atual contexto para %s, o rótulo do tty não foi "
++"modificado.\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+-msgstr "%s! Impossível obter novo contexto para %s, não reetiquetar tty.\n"
++msgstr ""
++"%s! Não foi possível obter novo contexto para %s, o rótulo do tty não foi "
++"modificado.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s!  Impossível definir novo contexto para %s\n"
++msgstr "%s!  Não foi possível definir novo contexto para %s\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr "%s etiquetas alteradas.\n"
++msgstr "%s rótulos alterados.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr "Atenção! Impossível restaurar contexto para %s\n"
++msgstr "Atenção! Não foi possível restaurar contexto para %s\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr "Erro: múltiplas roles especificadas\n"
++msgstr "Erro: múltiplas funções especificadas\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+@@ -1059,7 +1099,7 @@
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr "Desculpe, -l pode ser usado com suporte SELinux MLS.\n"
++msgstr "Desculpe, -l pode ser usado com suporte ao SELinux MLS.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+@@ -1070,43 +1110,43 @@
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+ msgstr ""
+-"Erro: você não está habilitado a alterar os níveis em um terminal não "
++"Erro: você não tem permissão para alterar os níveis em um terminal não "
+ "seguro \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr "Impossível obter o tipo padrão.\n"
++msgstr "Não foi possível obter o tipo padrão.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr "falhou ao obter novo contexto.\n"
++msgstr "falha ao obter novo contexto.\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+ msgid "failed to set new role %s\n"
+-msgstr "falhou ao definir nova role %s\n"
++msgstr "falha ao definir nova função %s\n"
+ #: ../newrole/newrole.c:981
+ #, c-format
+ msgid "failed to set new type %s\n"
+-msgstr "falhou ao definir novo tipo %s\n"
++msgstr "falha ao definir novo tipo %s\n"
+ #: ../newrole/newrole.c:991
+ #, c-format
+ msgid "failed to build new range with level %s\n"
+-msgstr "falhou ao construir novo intervalo com níveis %s\n"
++msgstr "falha ao construir novo intervalo com nível %s\n"
+ #: ../newrole/newrole.c:996
+ #, c-format
+ msgid "failed to set new range %s\n"
+-msgstr "falhou ao definir novo intervalo %s\n"
++msgstr "falha ao definir o novo intervalo %s\n"
+ #: ../newrole/newrole.c:1004
+ #, c-format
+ msgid "failed to convert new context to string\n"
+-msgstr "falhou ao converter novo contexto para uma seqüência de caracteres\n"
++msgstr "falha ao converter novo contexto para um string\n"
+ #: ../newrole/newrole.c:1009
+ #, c-format
+@@ -1116,32 +1156,32 @@
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr "Impossível alocar memória para new_context"
++msgstr "Não foi possível alocar memória para nobo_contexto"
+ #: ../newrole/newrole.c:1042
+ #, c-format
+ msgid "Unable to obtain empty signal set\n"
+-msgstr "Impossível obter signal set vazio\n"
++msgstr "Não foi possível obter um conjunto de sinal vazio\n"
+ #: ../newrole/newrole.c:1050
+ #, c-format
+ msgid "Unable to set SIGHUP handler\n"
+-msgstr "Impossível configurar tratador de SIGHUP\n"
++msgstr "Não foi possível configurar o manipulador de SIGHUP\n"
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr "Desculpe, newrole pode ser usado somente sobre um kernel SELinux.\n"
++msgstr "Desculpe, nova função pode ser usado somente em um kernel SELinux.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr "falhou ao obter contexto antigo.\n"
++msgstr "falha ao obter o _contexto antigo.\n"
+ #: ../newrole/newrole.c:1140
+ #, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Erro!  Impossível recuperar informações do tty.\n"
++msgstr "Atenção!  Não foi possível recuperar informações do tty.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+@@ -1151,17 +1191,17 @@
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr "newrole: senha incorreta para %s\n"
++msgstr "nova função: senha incorreta para %s\n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+ msgid "newrole: failure forking: %s"
+-msgstr "newrole: falha de bifurcação: %s"
++msgstr "nova função: falha de bifurcação: %s"
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr "Impossível restaurar etiqueta tty...\n"
++msgstr "Não foi possível restaurar o rótulo do tty...\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+@@ -1171,7 +1211,7 @@
+ #: ../newrole/newrole.c:1287
+ #, c-format
+ msgid "Could not close descriptors.\n"
+-msgstr "Impossível fechar descritores.\n"
++msgstr "Não foi possível fechar os descritores.\n"
+ #: ../newrole/newrole.c:1314
+ #, c-format
+@@ -1181,7 +1221,7 @@
+ #: ../newrole/newrole.c:1346
+ #, c-format
+ msgid "Unable to restore the environment, aborting\n"
+-msgstr "Impossível restaurar o ambiente, abortando\n"
++msgstr "Não foi possível restaurar o ambiente, abortando\n"
+ #: ../newrole/newrole.c:1357
+ msgid "failed to exec shell\n"
+@@ -1200,12 +1240,13 @@
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  Impossível carregar política e aplicar o modo requisitado:  %s\n"
++msgstr ""
++"%s:  Não foi possível carregar a política e o modo forçado solicitado:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s:  Impossível carregar política:  %s\n"
++msgstr "%s:  Não foi possível carregar a política:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+@@ -1214,7 +1255,7 @@
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+ msgid "Can not modify sensitivity levels using '+' on %s"
+-msgstr "Não se pode modificar os níveis de sensibilidade usando '+' em %s"
++msgstr "Não se pode modificar os níveis de sensibilidade usando \"+\" em %s"
+ #: ../scripts/chcat:110
+ #, c-format
+@@ -1237,27 +1278,27 @@
+ #: ../scripts/chcat:325
+ #, c-format
+ msgid "Usage %s CATEGORY File ..."
+-msgstr "Uso %s CATEGORY Arquivo ..."
++msgstr "Uso %s CATEGORIA arquivo ..."
+ #: ../scripts/chcat:326
+ #, c-format
+ msgid "Usage %s -l CATEGORY user ..."
+-msgstr "Uso %s -l CATEGORY usuário ..."
++msgstr "Uso %s -l CATEGORIA usuário ..."
+ #: ../scripts/chcat:327
+ #, c-format
+ msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
+-msgstr "Uso %s [[+|-]CATEGORY],...]q Arquivo ..."
++msgstr "Uso %s [[+|-]CATEGORIA],...]q arquivo ..."
+ #: ../scripts/chcat:328
+ #, c-format
+ msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
+-msgstr "Uso %s -l [[+|-]CATEGORY],...]q usuário ..."
++msgstr "Uso %s -l [[+|-]CATEGORIA],...]q usuário ..."
+ #: ../scripts/chcat:329
+ #, c-format
+ msgid "Usage %s -d File ..."
+-msgstr "Uso %s -d Arquivo ..."
++msgstr "Uso %s -d arquivo ..."
+ #: ../scripts/chcat:330
+ #, c-format
+@@ -1289,2194 +1330,2255 @@
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
+-msgstr "Erro de Opções %s "
+-
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "traduções não suportadas em maquinas não-MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Booleano"
+-
+-#~ msgid "all"
+-#~ msgstr "Todas "
+-
+-#~ msgid "Customized"
+-#~ msgstr "Personalizado"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "Etiquetagem dos Arquivos"
++msgstr "Erro nas opções %s "
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Especificação do\n"
+-#~ "Arquivo"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Booleano"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "todos"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Personalizado"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Rótulo dos arquivos"
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "Tipo do Arquivo"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Tipo do\n"
+-#~ "Arquivo"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Mapeamento de Usuários"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Nome de\n"
+-#~ "Usuário"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "Usuário do\n"
+-#~ "SELinux"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "Intervalo\n"
+-#~ "MLS/MCS"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "O login \"%s\" é requerido"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "Módulo da Política"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Especificação do\n"
++"arquivo"
+-#~ msgid "Module Name"
+-#~ msgstr "Nome do Módulo"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"Tipo do arquivo"
+-#~ msgid "Version"
+-#~ msgstr "Versão"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Tipo do\n"
++"arquivo"
+-#~ msgid "Disable Audit"
+-#~ msgstr "Desabilitar o Audit"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Mapeamento de usuários"
+-#~ msgid "Enable Audit"
+-#~ msgstr "Habilitar o Audit"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Nome de\n"
++"usuário"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Carregar Módulo de Política"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"Usuário do\n"
++"SELinux"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Intervalo\n"
++"MLS/MCS"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "O nome de usuário \"%s\" é requerido"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Módulo da política"
+-#~ msgid "translator-credits"
+-#~ msgstr ""
+-#~ "Diego Búrigo Zacarão <diegobz@projetofedora.org>\n"
+-#~ "Valnir Ferreira Jr <vferreir@redhat.com>\n"
+-#~ "Igor Pires Soares <igor@projetofedora.org>\n"
+-#~ "Oliver Silva <oliverpsilva@gmail.com>"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Nome do módulo"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Ferramenta de Criação de Políticas do SELinux"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versão"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Esta ferramenta pode ser utilizada para gerar um framework de políticas, "
+-#~ "para restringir aplicações ou usuários usando o SELinux.\n"
+-#~ "\n"
+-#~ "Esta ferramenta gera:\n"
+-#~ "Arquivo do tipo de execução (te)\n"
+-#~ "Arquivo de Interface (if)\n"
+-#~ "Arquivo do arquivo de contexto (fc)\n"
+-#~ "Shell script (sh) - usado para compilar e instalar a política."
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Desabilitar a auditoria"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Selecione um papel do tipo aplicação/usuário para ser confinada"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Habilitar a auditoria"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Aplicações</b>"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Carregar o módulo de política"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Standard Init Daemon são daemons iniciados na inicialização através de "
+-#~ "scripts de inicialização. Normalmente necessitam de um script em /etc/"
+-#~ "init.d."
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Daemons de Inicialização Padrão"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Internet Services Daemon são daemons iniciados pelo xinetd"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Internet Services Daemon (inetd)"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Diego Búrigo Zacarão <diegobz@projetofedora.org>\n"
++"Valnir Ferreira Jr <vferreir@redhat.com>\n"
++"Igor Pires Soares <igor@projetofedora.org>\n"
++"Oliver Silva <oliverpsilva@gmail.com>\n"
++"Taylon Silmer <taylonsilva@gmail.com>\n"
++"Og Maciel <ogmaciel@gnome.org>"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Aplicações/Scripts (CGI) Web - Scripts CGI iniciados pelo servidor web "
+-#~ "(apache)"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Esta ferramenta pode ser utilizada para gerar um framework de políticas, "
++"para restringir aplicações ou usuários usando o SELinux.\n"
++"\n"
++"Esta ferramenta gera:\n"
++"Tipo de execução do arquivo (te)\n"
++"Arquivo de interface (if)\n"
++"Arquivo do arquivo de contexto (fc)\n"
++"Shell script (sh) - usado para compilar e instalar a política."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Selecione o tipo de aplicação/usuário para ser restringido"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Aplicativos</b>"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Aplicações/Scripts (CGI) Web"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standard Init Daemon são daemons iniciados na inicialização através de "
++"scripts de inicialização. Normalmente é necessário um script em /etc/init.d"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Aplicações do Usuário são quaisquer aplicações iniciadas por eles que "
+-#~ "você gostaria de restringir"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standard Init Daemon"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Daemon de sistema DBUS"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internet Services Daemon são daemons iniciados pelo xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
+-#~ msgid "User Application"
+-#~ msgstr "Aplicações do Usuário"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Aplicativos/scripts web (CGI) - Scripts CGI iniciados pelo servidor web "
++"(apache)"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Usuários de Login</b>"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Aplicativos/scripts web (CGI)"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Modifique um registro existente de login de usuário."
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Aplicativos do usuário são qualquer aplicativos iniciados por eles que você "
++"gostaria de restringir"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Regras para Usuários Existentes"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Aplicativos do usuário"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Nome de usuários</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modificar um registro de início de sessão de usuário."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Funções para usuários existentes"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Este usuário poderia fazer login nesta maquina via X ou Terminal. Por "
+-#~ "padrão este usuário não tem setuid, sem rede, sem sudo ou su"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Este usuário poderá iniciar uma sessão nesta máquina somente via terminal ou "
++"acesso remoto. Por padrão este usuário não terá setuid, rede, su ou sudo."
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Regra Mínima para Usuários de Terminal"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Função mínima para usuários de terminal"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Este usuário pode fazer login nesta maquina via X ou Terminal. Por padrão "
+-#~ "este usuário não tem setuid, sem rede, sem sudo ou su"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Este usuário pode iniciar uma sessão nesta máquina via X ou terminal. Por "
++"padrão este usuário não terá setuid, rede, sudo ou su"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Regra de usuário Mínima para X Windows"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Função mínima para usuários do X Windows"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "usuário com acesso total a rede, sem setuid se acesso a plicações, sem "
+-#~ "sudo ou su"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Usuário com acesso total a rede, sem setuid de aplicativos sem transição, "
++"sem sudo ou su."
+-#~ msgid "User Role"
+-#~ msgstr "Regra de Usuário"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Função de usuário"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "Usuário pode ter com acesso total a rede, sem setuid e sem acesso as "
+-#~ "aplicações, sem su, ou pode usar sudo para Administração das regras de "
+-#~ "Root"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Usuário com acesso total a rede, sem setuid de aplicativos sem transição, "
++"sem su, pode usar o sudo para tarefas administrativas"
+-#~ msgid "Admin User Role"
+-#~ msgstr "Regras de Usuários Admin"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Função para o usuário administrador"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Usuários root</b>"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Usuários Root</b>"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Selecione o usuário root se o mesmo for utilizado para administrar a máquina "
++"enquanto estiver conectado como root. Este usuário não será capaz de iniciar "
++"uma sessão no sistema diretamente."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Função do usuário root"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Digite o nome do aplicativo ou a função de usuário a ser restringida"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nome"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Digite o caminho completo para o executável a ser restringido."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Digite um nome único para o aplicativo restrito ou função de usuário."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Executável"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Script de inicialização"
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Selecione o Usuário Root, se este usuário for utilizado para administrar "
+-#~ "a máquina ao executar como root. Este usuário estará habilitado a "
+-#~ "autenticar no sistema diretamente."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Digite o caminho completo para o script de inicialização usado para iniciar "
++"o aplicativo restrito."
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Regra de Usuário Admin Root"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Selecione as funções de usuário que você deseja personalizar"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Selecione um regra de usuário ou aplicação a ser confinada."
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Selecione as regras do usuário que serão convertidos para os domínios deste "
++"aplicativo."
+-#~ msgid "Name"
+-#~ msgstr "Nome"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Selecione domínios adicionais aos quais esta função de usuário será "
++"convertida"
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Insira o caminho completo para o executável a ser restrito."
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Selecione os domínios de aplicativos para os quais você gostaria de "
++"converter esta função de usuário."
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++"Selecione as funções de usuário que serão convertidas para este domínio"
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "Insira um nome único para o papel de aplicação ou usuário."
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++"Selecione os domínios adicionais que serão administradas por esta função de "
++"usuário"
+-#~ msgid "Executable"
+-#~ msgstr "Executável"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++"Selecione os domínios que você gostaria que este usuário administrasse."
+-#~ msgid "Init script"
+-#~ msgstr "Script de inicialização"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Selecione funções adicionais para esse usuário"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Insira o caminho completo para script de inicialização usado para iniciar "
+-#~ "a aplicação restrita."
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Digite portas de rede que a função de usuário/o aplicativo está escutando"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Selecione os papéis de usuários que você deseja customizar"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Portas TCP</b>"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "Selecione os papéis do usuário que irá acessar os domínios de aplicações"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Permite que aplicativos/função de usuário restritos sejam vinculados a "
++"qualquer porta udp"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "Selecione o(s) domínio(s) de usuário adicionais para a transição"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Todas"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Selecione os domínios de aplicações para os quais você gostaria que este "
+-#~ "papel de usuário transitasse."
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Permitir aplicativos/função de usuário chamar o bindresvport com 0. "
++"Vinculando às portas 600-1024"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "Selecione os papéis de usuário de acesso ao domínio"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "Selecione o(s) domínio(s) que este papel de usuário administrará"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Digite uma lista de portas udp, separadas por vírgulas, ou intervalos de "
++"portas às quais este aplicativo/função de usuário está vinculado. Exemplo: "
++"612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Portas não reservadas (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Selecione as portas"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr ""
+-#~ "Selecione os domínios que você gostaria que este usuário administrasse."
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Permite que aplicativos/funções de usuários sejam vinculados a qualquer "
++"porta udp > 1024"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Selecione papéis adicionais para esse usuário"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Portas UDP</b>"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Insira portas de rede que o papel de usuário/aplicação está escutando"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Digite portas de rede as quais esta função de usuário/aplicativo está "
++"conectada"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>Portas TCP</b>"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Digite uma lista de portas tcp, separadas por vírgulas, ou intervalos de "
++"portas às quais este aplicativo/função de usuário está conectado. Exemplo: "
++"612, 650-660"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Permite que regras de aplicações/usuários restritas sejam vinculados a "
+-#~ "uma porta udp qualquer"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Digite uma lista de portas udp, separadas por vírgulas, ou intervalos de "
++"portas às quais este aplicativo/função de usuário está conectado. Exemplo: "
++"612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Selecione as características comuns do aplicativo"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Escreve mensages no syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "O aplicativo utiliza o /tmp para criar/manipular arquivos temporários "
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Utiliza o PAM para autenticação"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Utiliza o nsswitch ou chamadas getpw*"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Utiliza o dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Envia mensages de auditoria"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interage com o terminal"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Envia e-mail"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Selecione os arquivos/diretórios que o aplicativo gerencia"
+-#~ msgid "All"
+-#~ msgstr "Todas"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Adicione arquivos/diretórios que o aplicativo precisa \"Gravar\". Arquivos "
++"pid, arquivos de log, arquivos em /var/lib..."
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Permite que aplicações/usuários chamem o bindresvport com 0. Vinculando "
+-#~ "às portas 600-1024 "
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Selecione os booleanos que o aplicativo usa"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "Adiciona/Remove booleanos usados para este aplicativo/usuário restrito"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Selecione o diretório para a criação da política"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Diretório da política"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Arquivos de política gerados"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Esta ferramenta criará o seguinte: \n"
++"Tipo de Execução (te), arquivo de contexto (fc), interface (if) e shell "
++"script (sh).\n"
++"Execute o shell script pra compilar/instalar e rotular arquivos/diretórios.\n"
++"Use o semanage ou o useradd para mapear o nome de usuários do Linux com as "
++"funções  de usuário.\n"
++"Ponha a máquina no modo permissivo (setenforce 0). \n"
++"Autentique-se como o usuário e teste esta função de usuário.\n"
++"Use audit2allow -R para gerar funçõess adicionais para o arquivo te.\n"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Insira uma lista de portas udp, separadas por vírgulas, ou intervalos de "
+-#~ "portas às quais esta aplicação/papel de usuário está vinculada. Exemplo: "
+-#~ "612, 650-660"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Esta ferramenta criará o seguinte: \n"
++"Tipo de execução (te), arquivo de contexto (fc), interface (if) e shell "
++"script (sh).\n"
++"Execute o shell script pra compilar/instalar e oitular arquivos/diretórios.\n"
++"Ponha a máquina no modo permissivo (setenforce 0). \n"
++"Execute/reinicie o aplicativo para gerar mensagens avc.\n"
++"Use audit2allow -R para gerar funções adicionais para o arquivo te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Adiciona diálogos boleanos"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Nome booleano"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Função"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Usuário_Existente"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Aplicativo"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s deve ser um diretório"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Você deve selecionar um usuário"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Selecione o arquivo executável a ser restrito."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Selecione o arquivo do script de inicialização a ser restrito."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Selecione o(s) arquivo(s) que o aplicativo restrito cria ou grava"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "Selecione o(s) diretório(s) que o aplicativo restrito controla e grava"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Selecione o diretório para a criação dos arquivos da política"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Portas não reservadas (>1024)"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"O tipo %s_t já está definido para politica em uso.\n"
++"Você deseja continuar?"
+-#~ msgid "Select Ports"
+-#~ msgstr "Selecione as Portas"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verifique o nome"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Permite que aplicações/usuários sejam vinculados a qualquer porta udp > "
+-#~ "1024"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"O módulo %s.pp já está carregado na plitica atual.\n"
++"Você deseja continuar?"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>Portas UDP</b>"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Você deve digitar um nome"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Insira portas de rede as quais este papel de usuário/aplicação está "
+-#~ "conectado"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Você deve digitar um executável"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Insira uma lista de portas tcp, separadas por vírgulas, ou intervalos de "
+-#~ "portas às quais esta aplicação/papel de usuário está conectada. Exemplo: "
+-#~ "612, 650-660"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Configure o SELinux"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Insira uma lista de portas udp, separadas por vírgulas, ou intervalos de "
+-#~ "portas às quais esta aplicação/papel de usuário está conectada. Exemplo: "
+-#~ "612, 650-660"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "As portas devem ser números ou intervalos de números de 1 a %d "
+-#~ msgid "Select common application traits"
+-#~ msgstr "Selecione as características comuns da aplicação"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Você deve digitar um nome para o seu processo/usuário restrito"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Escreve mensages no syslog\t"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Tipos USER não são executáveis permitidos"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr ""
+-#~ "A aplicação utiliza o /tmp para criar/manipular arquivos temporários "
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++"Somente DAEMONS de aplicativos podem utilizar um script de inicialização"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Utiliza o PAM para autenticação"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog deve ser um valor booleano "
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Ustilizar nsswitch ou chamadas getpw*"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Tipos USER obtém um tipo tmp automaticamente"
+-#~ msgid "Uses dbus"
+-#~ msgstr "Utilize dbus"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Você deve digitar o caminho do executável para o seu processo restrito"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Envia mensages de auditoria"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Arquivo do tipo de restrição"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "Interaja com o terminal"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Arquivo de interface"
+-#~ msgid "Sends email"
+-#~ msgstr "Envia email"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Arquivo do arquivo de contextos"
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Selecione o(s) arquivo(s)/diretório(s) que a aplicação gerencia"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Script de configuração"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Adicione arquivos/diretórios que a aplicação necessitará para gravação. "
+-#~ "Arquivos Pid, Arquivos de log, Arquivos em /var/lib..."
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Porta de rede"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Selecione os booleanos que a aplicação usa"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Tipo de Porta\n"
++"do SELinux"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Adiciona/Remove booleanos usados para esta aplicação/usuário confinado"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocolo"
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Selecione o diretório para a criação dos arquivos da política "
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"Nível\n"
++"MLS/MCS"
+-#~ msgid "Policy Directory"
+-#~ msgstr "Diretório da Política"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Porta"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "O número da porta \"%s\" não é válido. 0 < NÚMERO_DA_PORTA < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Visualização em lista"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Visualização em grupo"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Proteção do Serviço do SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Desabilitar a proteção do SELinux para o daemon acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Permitir que todos os daemons gravem corefiles em /"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Arquivos de Política Gerados"
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++"Permitir que todos os daemons tenham a habilidade de usar ttys não reservados"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Esta ferramenta gerará o seguinte:\n"
+-#~ "Tipo de Execução (te), Arquivo de Contexto (fc), Interface (if) e Shell "
+-#~ "script (sh).\n"
+-#~ "Execute o shell script pra compilar/instalar e reetiquetar arquivos/"
+-#~ "diretórios.\n"
+-#~ "Use o semanage ou o useradd para mapear o login de usuários do Linux para "
+-#~ "os papéis de usuário.\n"
+-#~ "Agora você pode deixar a máquina no modo permissivo (setenforce 0). \n"
+-#~ "Autentique com o usuário e teste este papel de usuário.\n"
+-#~ "Use audit2allow -R para gerar regras adicionais para o arquivo te.\n"
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Privilégios do usuário"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Esta ferramenta gerará o seguinte:\n"
+-#~ "Tipo de Execução (te), Arquivo de Contexto (fc), Interface (if) e Shell "
+-#~ "script (sh).\n"
+-#~ "Execute o shell script pra compilar/instalar e reetiquetar arquivos/"
+-#~ "diretórios.\n"
+-#~ "Agora você pode deixar a máquina no modo permissivo (setenforce 0). \n"
+-#~ "Execute/reinicie a aplicação para gerar mensagens avc.\n"
+-#~ "Use audit2allow -R para gerar regras adicionais para o arquivo te.\n"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que contas de usuários gadmin do SELinux executem arquivos no "
++"diretório pessoal ou no /tmp"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Adiciona Diálogos Boleanos"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que contas de usuários convidados do SELinux executem arquivos no "
++"diretório pessoal ou no /tmp"
+-#~ msgid "Boolean Name"
+-#~ msgstr "Nome Booleano"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Proteção de memória"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Permitir pilha de execução do java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Montagem"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Permitir que o mount monte qualquer arquivo"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Permitir que o mount monte qualquer diretório"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Permitir pilha de execução do mplayer"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Permitir que o ssh execute o ssh-keysign"
+-#~ msgid "Role"
+-#~ msgstr "Regra"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que contas de usuários \"staff\" do SELinux executem arquivos no "
++"diretório pessoal ou no /tmp"
+-#~ msgid "Existing_User"
+-#~ msgstr "Usuário_Existente"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que contas de usuários \"sysadm\" do SELinux executem arquivos no "
++"diretório pessoal ou no /tmp"
+-#~ msgid "Application"
+-#~ msgstr "Aplicação"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Permitir que contas de usuários não restritas do SELinux executem arquivos "
++"no diretório pessoal ou no /tmp"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s deve ser um diretório"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Configuração de rede"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Permitir que pacotes não rotulados transitem pela rede"
+-#~ msgid "You must select a user"
+-#~ msgstr "Você deve selecionar um usuário"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que contas de usuários \"user\" do SELinux executem arquivos no "
++"diretório pessoal ou no /tmp"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Selecione o arquivo executável a ser restrito."
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Permitir que não restritos executem dyntrans para unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Bancos de dados"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Permitir que usuários conectem ao socket do mysql"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Permitir que usuários conectem ao socket do postgres"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Permitir que clientes gravem na memória compartilhada do X"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Selecione o arquivo do script de inicialização a ser restrito."
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que contas de usuários \"xguest\" do SELinux executem arquivos no "
++"diretório pessoal ou no /tmp"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Selecione o(s) arquivo(s) que a aplicação restrita cria ou escreve"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Permitir que daemons executem com o NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Aplicativos web"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Mover usuário \"staff\" do SELinux para o Domínio do Navegador Web"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Mover usuário \"sysadm\" do SELinux para o Domínio do Navegador Web"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Mover usuário \"user\" do SELinux para o Domínio do Navegador Web"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Mover usuário \"xguest\" do SELinux para o Domínio do Navegador Web"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Permitir que Navegadores Web \"staff\" gravem nos diretórios pessoais"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Desabilitar proteção do SELinux para o amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Desabilitar proteção do SELinux para o amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon apmd"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon arpwatch"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon auditd"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon automount"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Desabilitar proteção do SELinux para o avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon bluetooth"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon canna"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon cardmgr"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Desabilitar proteção do SELinux para o Cluster Server"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Selecione o(s) diretório(s) que a aplicação restrita é proprietária e que "
+-#~ "precisam de direito de escrita "
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Permitir que o cdrecord leia vários conteúdos: nfs, samba, dispositivos "
++"removíveis, arquivos temporários e não confiáveis de usuários"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Selecione o diretório para a criação dos arquivos da política"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ciped"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon clamd"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Desabilitar proteção do SELinux para o clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Desabilitar proteção do SELinux para o clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon comsat"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon courier"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon cpucontrol"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon cpuspeed"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon crond"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Impressão"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Desabilitar proteção do SELinux para o servidor cupsd"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon cupsd"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Desabilitar proteção do SELinux para o cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon cvs"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon cyrus"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dbskkd"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dbusd"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Desabilitar proteção do SELinux para o dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Desabilitar proteção do SELinux para o dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Desabilitar proteção do SELinux para o dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ddt"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon devfsd"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dhcpc"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dhcpd"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dictd"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Permitir que o sysadm_t inicie daemons diretamente"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Desabilitar proteção do SELinux para o Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Jogos"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Desabilitar proteção do SELinux para jogos"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Desabilitar proteção do SELinux para os navegadores web"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Desabilitar proteção do SELinux para o Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon distccd"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dmesg"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dnsmasq"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon dovecot"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon entropyd"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Desabilitar proteção do SELinux para o fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon fingerd"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon freshclam"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon fsdaemon"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon gpm"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon gss"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon hal"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibilidade"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Use %s_t já definido para politica em uso. \n"
+-#~ "Você deseja continuar"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Não auditar coisas que nós sabemos que estão violadas mas que não são riscos "
++"de segurança"
+-#~ msgid "Verify Name"
+-#~ msgstr "Verifique o Nome"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon hostname"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon hotplug"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon howl"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon cups hplip"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Desabilitar proteção do SELinux para o httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Serviço HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Desabilitar proteção do SELinux para o http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon hwclock"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Desabilitar proteção do SELinux para os daemons filhos do inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon iscsi"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon klogd"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Desabilitar proteção do SELinux para os daemons ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon lpd"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon lvm"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Desabilitar proteção do SELinux para o daemon mailman"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Modulo %s.pp carregado na plitica atual.\n"
+-#~ "Você deseja continuar ?"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++"Permitir que o evolution e o thunderbird leiam os arquivos dos usuários"
+-#~ msgid "You must enter a name"
+-#~ msgstr "Você deve inserir um nome"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Permitir que o navegador mozilla leia os arquivos dos usuários"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Serviço de nomes"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Desabilitar proteção do SELinux para o NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon nfsd "
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ntpd"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Desabilitar proteção do SELinux para o oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Desabilitar proteção do SELinux para o oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon openvpn"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon pam"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Desabilitar proteção do SELinux para o pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon perdition"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon portmap"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon portslave"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Desabilitar proteção do SELinux para o postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon postgresql"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Permitir que o pppd seja executado para um usuário regular"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Desabilitar proteção do SELinux para o pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon pxe"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Desabilitar proteção do SELinux para o pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon quota"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon radvd"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Desabilitar proteção do SELinux para o rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Desabilitar proteção do SELinux para o readahead"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Você deve inserir um executável"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Permitir que programas leiam arquivos em localizações não padrões (default_t)"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Configure o SELinux"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Desabilitar proteção do SELinux para o restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon rhgb"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Desabilitar proteção do SELinux para o ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Desabilitar proteção do SELinux para o ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon rlogind"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon rpcd"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Desabilitar proteção do SELinux para o rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon rsync"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "As portas devem ser números ou intervalos de números de 1 a %d"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++"Permitir que o ssh seja executado a partir do inetd ao invés de ser "
++"executado como um daemon"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "Você deve inserir um nome para o seu processo restrito"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Permitir que o Samba compartilhe diretórios nfs"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Servidor de autenticação SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Permitir que o servidor de autenticação sasl leia o /etc/shadow"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Tipos USER não são executáveis permitidos"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Permitir que o servidor X-Windows mapeie uma região de memória como "
++"executável e gravável"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr ""
+-#~ "Somente DAEMONS de aplicações podem utilizar um script de inicialização"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon saslauthd"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon scannerdaemon"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Não permitir que a transição para sysadm_t, sudo e su tenha efeito"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Não permitir que qualquer processo carregue módulos do kernel"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog deve ser um valor booleano"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++"Não permitir que qualquer processo modifique a política do SELinux para o "
++"kernel"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Tipos USER obtém um tipo tmp automaticamente"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon sendmail"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Desabilitar proteção do SELinux para o setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon setroublesoot"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon slapd"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon slrnpull"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon smbd"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon snmpd"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon snort"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon soundd"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon sound"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Proteção contra spam "
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon spamd"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Permitir que o spamd acesse os diretórios pessoais"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Permitir que o daemon do Spam Assasin tenha acesso a rede"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon speedmgmt"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Permitir que o daemon do squid se conecte a rede"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon squid"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ssh"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Permitir logins do ssh como sysadm_r:sysadm_t"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "Você deve inserir o caminho do executável para o seu processo restrito"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Permitir que usuários staff_r pesquisem o diretório pessoal do sysadm e "
++"leiam os arquivos (como o ~/.bashrc)"
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Arquivo do tipo de reforço"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Túnel SSL Universal"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon stunnel"
+-#~ msgid "Interface file"
+-#~ msgstr "Arquivo de interface"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"Permitir que o daemon stunnel seja executado como autônomo, fora do xinetd"
+-#~ msgid "File Contexts file"
+-#~ msgstr "Arquivo do Arquivo de Contextos"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon swat"
+-#~ msgid "Setup Script"
+-#~ msgstr "Configurar Script"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon sxid"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Tipo de Porta\n"
+-#~ "do SELinux"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon syslogd"
+-#~ msgid "Protocol"
+-#~ msgstr "Protocolo"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Desabilitar proteção do SELinux para os trabalhos cron do sistema"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Nível\n"
+-#~ "MLS/MCS"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon tcp"
+-#~ msgid "Port"
+-#~ msgstr "Porta"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon telnet"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "O número da porta \"%s\" não é válido. 0 < NÚMERO_DA_PORTA < 65536 "
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon tftpd"
+-#~ msgid "List View"
+-#~ msgstr "Visualização em Lista"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon transproxy"
+-#~ msgid "Group View"
+-#~ msgstr "Visualização de Grupo"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon udev"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Proteção do Serviço do SELinux"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon uml"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon acct"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Permitir que o xinetd seja executado de forma não restrita, incluindo "
++"qualquer serviços que ele inicie que não tenham uma transição de domínio "
++"explicitamente definida"
+-#~ msgid "Admin"
+-#~ msgstr "Admin"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Permitir que scripts rc sejam executados de forma não restrita, incluindo "
++"qualquer daemons iniciados por um script rc que não tenham uma transição de "
++"domínio explicitamente definida"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Permitir que o rpm seja executado de forma não restrita"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Permitir que todos os daemons gravem corefiles em /"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Permitir que utilitários privilegiados como o hotplug e o insmod sejam "
++"executados de maneira não restrita"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr ""
+-#~ "Permitir que todos os daemons tenham a habilidade de usar ttys não "
+-#~ "alocados"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon updfstab"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon uptimed"
+-#~ msgid "User Privs"
+-#~ msgstr "Privilégios do Usuário"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Permitir que o user_r acesse o sysadm_r via su, sudo ou userhelper. Caso "
++"contrário, somente o staff_r poderá fazer isso"
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir que contas de usuários gadmin do SELinux executem arquivos no "
+-#~ "diretório pessoal ou no /tmp"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Permitir que os usuários executem o comando mount"
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir que contas de usuários convidados do SELinux executem arquivos "
+-#~ "no diretório pessoal ou no /tmp"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Permitir que usuários regulares tenham acesso direto ao mouse (somente "
++"permite o servidor X)"
+-#~ msgid "Memory Protection"
+-#~ msgstr "Proteção de Memória"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Permitir que usuários executem o comando dmesg"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Permitir pilha de execução do java"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Permitir que os usuários controlem as interfaces de rede (também necessita o "
++"USERCTL=true)"
+-#~ msgid "Mount"
+-#~ msgstr "Montagem"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Permitir que os usuários normais executem o ping"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Permitir que o mount monte qualquer arquivo"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Permitir que os usuários leiam/gravem noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Permitir que o mount monte qualquer diretório"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Permitir que os usuários leiam e gravem em dispositivos usb"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Permitir pilha de execução do mplayer"
++#: ../gui/selinux.tbl:216
++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 ""
++"Permitir que os usuários executem servidores TCP (vinculem portas e aceitem "
++"conexões do mesmo domínio e de usuários externos). Desabilitar esta opção "
++"força o modo passivo do FTP e pode modificar outros protocolos"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Permitir que os usuários vejam as estatísticas de ttyfiles"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon uucpd"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon vmware"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon watchdog"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon winbind"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon xdm"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Permitir que o xdm inicie sessões como sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Permitir que o xen leia/grave em dispositivos de discos físicos"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon xfs"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Desabilitar proteção do SELinux para o xen control"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ypbind"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Desabilitar proteção do SELinux para o NIS Password Daemon"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Desabilitar proteção do SELinux para o daemon ypserv"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Desabilitar proteção do SELinux para o NIS Transfer Daemon"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Permitir que o usuário webadm do SELinux gerencie diretórios pessoais de "
++"usuários sem privilégios"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Permitir que o ssh execute o ssh-keysign"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Permitir que o usuário webadm do SELinux leia diretórios pessoais de "
++"usuários sem privilégios"
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir que contas de usuários \"staff\" do SELinux executem arquivos no "
+-#~ "diretório pessoal ou no /tmp"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Você está seguro de que deseja excluir %s \"%s\"?"
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir que contas de usuários \"sysadm\" do SELinux executem arquivos "
+-#~ "no diretório pessoal ou no /tmp"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Excluir %s"
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Permitir que contas de usuários não restritas do SELinux executem "
+-#~ "arquivos no diretório pessoal ou no /tmp"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Adicionar %s"
+-#~ msgid "Network Configuration"
+-#~ msgstr "Configuração de Rede"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modificar %s"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Permitir que pacotes não etiquetados transitem pela rede"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissivo"
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Permitir que contas de usuários \"user\" do SELinux executem arquivos no "
+-#~ "diretório pessoal ou no /tmp"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Reforçado"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr ""
+-#~ "Permitir que não restritos executem dyntrans para unconfined_execmem"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Desabilitado"
+-#~ msgid "Databases"
+-#~ msgstr "Bancos de Dados"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Permitir que usuários conectem ao soquete do mysql"
++#: ../gui/statusPage.py:133
++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 ""
++"A mudança de política fará com que todo o sistema de arquivos seja rotulado "
++"na próxima inicialização. Isto pode levar muito tempo dependendo do tamanho "
++"do sistema de arquivos. Você deseja continuar?"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Permitir que usuários conectem ao soquete do postgres"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Desabilitar o SELinux requer a reinicialização do sistema. Isso não é "
++"recomendado. Se depois você optar por habilitar o SELinux novamente, o "
++"sistema necessitará de ser rotulado. Se você somente deseja ver se o SELinux "
++"está causando algum problema no seu sistema, altere-o para o modo "
++"permissivo, o qual somente irá registrar erros e não forçará a política do "
++"SELinux. O modo permissivo não requer a reinicialização do sistema. Você "
++"deseja continuar?"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Habilitar o SELinux fará com que todo o sistema de arquivos seja rotulado na "
++"próxima inicialização. Isto pode levar muito tempo dependendo do tamanho do "
++"sistema de arquivos. Você deseja continuar?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Permitir que clientes escrevam na memória compartilhada do X"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c) 2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir que contas de usuários \"xguest\" do SELinux executem arquivos "
+-#~ "no diretório pessoal ou no /tmp"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Adicionar mapeamento de sessões do SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Adicionar portas de rede do SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Tipo SELinux"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Nível"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Permitir que daemons executem com o NIS"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Especificação do arquivo"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Tipo do arquivo"
+-#~ msgid "Web Applications"
+-#~ msgstr "Aplicações Web"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"todos os arquivos\n"
++"arquivos regulares\n"
++"diretórios\n"
++"dispositivos de caractere\n"
++"dispositivos de bloco\n"
++"socket\n"
++"link simbólico\n"
++"pipe com nome\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Adicionar usuário do SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Administração do SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Adicionar"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Propriedades"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Excluir"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Selecionar objeto de gerenciamento"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Selecione:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Modo reforçado padrão do sistema"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "Mover usuário \"staff\" do SELinux para o Domínio do Navegador Web"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Desabilitado\n"
++"Permissivo\n"
++"Reforçado\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Modo reforçado atual"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Tipo de política padrão do sistema: "
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "Mover usuário \"sysadm\" do SELinux para o Domínio do Navegador Web"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Selecione se você quiser rotular todo o sistema de arquivos na próxima "
++"inicialização. O processo de rotular pode levar bastante tempo, dependendo "
++"do tamanho do seu sistema de arquivos. Se você estiver mudando os tipos das "
++"políticas ou alterando de desabilitado para reforçado, a rotulação é "
++"requerida."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Rotular na próxima inicialização."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "rótulo37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Reverter a configuração booleana para o valor padrão do sistema"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Alternar entre Personalizado e Tudo booleano"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Executar assistente para bloquei booleano"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Bloqueio..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtro"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "rótulo50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Adicionar contexto do arquivo"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modificar contexto do arquivo"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Excluir contexto do arquivo"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Alternar entre todos e contexto de arquivo personalizado"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "rótulo38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Adicionar mapeamento de usuário do SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modificar mapeamento do usuário do SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Excluir mapeamento do usuário do SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "rótulo39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Adicionar usuário"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modificar usuário"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Excluir usuário"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "rótulo41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Adicionar Tradução"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modificar Tradução"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Remover Tradução"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "rótulo40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Adicionar porta de rede"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Editar porta de rede"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Excluir porta de rede"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Alternar entre Personalizado e Todas as portas"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "rótulo42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Gerar novo módulo de política"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Carregar módulo de política"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Remover módulo carregável de política"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "Mover usuário \"user\" do SELinux para o Domínio do Navegador Web"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Habilita/Desabilita regras adicionais de auditoria, que normalmente não são "
++"relatadas nos arquivos de log."
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "Mover usuário \"xguest\" do SELinux para o Domínio do Navegador Web"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "rótulo44"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr ""
+-#~ "Permitir que Navegadores Web \"staff\" escrevam nos diretórios pessoais"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Alterar o modo do processo para permissivo."
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Desabilitar proteção do SELinux para o amanda"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Alterar o modo do processo para reforçado"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Desabilitar proteção do SELinux para o amavis"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Domínio do processo"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon apmd"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon arpwatch"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon auditd"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon automount"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Desabilitar proteção do SELinux para o avahi"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon bluetooth"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon canna"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon cardmgr"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Desabilitar proteção do SELinux para o Cluster Server"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Permitir que o cdrecord leia vários conteúdos: nfs, samba, dispositivos "
+-#~ "removíveis, arquivos temporários e não confiáveis dos usuários"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ciped"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon clamd"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Desabilitar proteção do SELinux para o clamscan"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Desabilitar proteção do SELinux para o clvmd"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon comsat"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon courier"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon cpucontrol"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon cpuspeed"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon crond"
+-
+-#~ msgid "Printing"
+-#~ msgstr "Impressão"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Desabilitar proteção do SELinux para o servidor cupsd"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon cupsd"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Desabilitar proteção do SELinux para o cupsd_lpd"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon cvs"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon cyrus"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dbskkd"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dbusd"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Desabilitar proteção do SELinux para o dccd"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Desabilitar proteção do SELinux para o dccifd"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Desabilitar proteção do SELinux para o dccm"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ddt"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon devfsd"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dhcpc"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dhcpd"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dictd"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Permitir que o sysadm_t inicie daemons diretamente"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Desabilitar proteção do SELinux para o Evolution"
+-
+-#~ msgid "Games"
+-#~ msgstr "Jogos"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Desabilitar proteção do SELinux para jogos"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Desabilitar proteção do SELinux para os navegadores web"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Desabilitar proteção do SELinux para o Thunderbird"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon distccd"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dmesg"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dnsmasq"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon dovecot"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon entropyd"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Desabilitar proteção do SELinux para o fetchmail"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon fingerd"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon freshclam"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon fsdaemon"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon gpm"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon gss"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon hal"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "Compatibilidade"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Não auditar coisas que nós sabemos que estão violadas mas que não são "
+-#~ "riscos de segurança"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon hostname"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon hotplug"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon howl"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon cups hplip"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Desabilitar proteção do SELinux para o httpd rotatelogs"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "Serviço HTTPD"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Desabilitar proteção do SELinux para o http suexec"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon hwclock"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon i18n"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon imazesrv"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Desabilitar proteção do SELinux para os daemons filhos do inetd"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon inetd"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon innd"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon iptables"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ircd"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon irqbalance"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon iscsi"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon jabberd"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon kadmind"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon klogd"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon krb5kdc"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Desabilitar proteção do SELinux para os daemons ktalk"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon kudzu"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon locate"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon lpd"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon lrrd"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon lvm"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon mailman"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr ""
+-#~ "Permitir que o evolution e o thunderbird leiam os arquivos dos usuários"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon mdadm"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon monopd"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Permitir que o navegador mozilla leia os arquivos dos usuários"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon mrtg"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon mysqld"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon nagios"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "Serviço de Nomes"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon named"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon nessusd"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Desabilitar proteção do SELinux para o NetworkManager"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon nfsd "
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon nmbd"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon nrpe"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon nscd"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon nsd"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ntpd"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Desabilitar proteção do SELinux para o oddjob"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Desabilitar proteção do SELinux para o oddjob_mkhomedir"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon openvpn"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon pam"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Desabilitar proteção do SELinux para o pegasus"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon perdition"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon portmap"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon portslave"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Desabilitar proteção do SELinux para o postfix"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon postgresql"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Permitir que o pppd seja executado para um usuário regular"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Desabilitar proteção do SELinux para o pptp"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon prelink"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon privoxy"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ptal"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon pxe"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Desabilitar proteção do SELinux para o pyzord"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon quota"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon radiusd"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon radvd"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Desabilitar proteção do SELinux para o rdisc"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Desabilitar proteção do SELinux para o readahead"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Permitir que programas leiam arquivos em localizações não padrões "
+-#~ "(default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Desabilitar proteção do SELinux para o restorecond"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon rhgb"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Desabilitar proteção do SELinux para o ricci"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Desabilitar proteção do SELinux para o ricci_modclusterd"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon rlogind"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon rpcd"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Desabilitar proteção do SELinux para o rshd"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon rsync"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr ""
+-#~ "Permitir que o ssh seja executado a partir do inetd ao invés de ser "
+-#~ "executado como um daemon"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Permitir que o Samba compartilhe diretórios nfs"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Servidor de autenticação SASL"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Permitir que o servidor de autenticação sasl leia o /etc/shadow"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Permitir que o servidor X-Windows mapeie uma região de memória como "
+-#~ "executável e gravável"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon saslauthd"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon scannerdaemon"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Não permitir que a transição para sysadm_t, sudo e su tenha efeito"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Não permitir que qualquer processo carregue módulos do kernel"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "Não permitir que qualquer processo modifique a política do SELinux para o "
+-#~ "kernel"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon sendmail"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Desabilitar proteção do SELinux para o setrans"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon setroublesoot"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon slapd"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon slrnpull"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon smbd"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon snmpd"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon snort"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon soundd"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon sound"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "Proteção contra spam "
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon spamd"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Permitir que o spamd acesse os diretórios pessoais"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Permitir que o daemon do Spam Assasin tenha acesso a  rede"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon speedmgmt"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Permitir que o daemon do squid se conecte a rede"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon squid"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ssh"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permitir logins do ssh como sysadm_r:sysadm_t"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Permitir que usuários staff_r pesquisem o diretório pessoal do sysadm e "
+-#~ "leiam os arquivos (como o ~/.bashrc)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Túnel SSL Universal"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon stunnel"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "Permitir que o daemon stunnel seja executado como autônomo, fora do xinetd"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon swat"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon sxid"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon syslogd"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Desabilitar proteção do SELinux para os trabalhos cron do sistema"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon tcp"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon telnet"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon tftpd"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon transproxy"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon udev"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon uml"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permitir que o xinetd seja executado de forma não restrita, incluindo "
+-#~ "quaisquer serviços que ele inicie que não tenham uma transição de domínio "
+-#~ "explicitamente definida"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permitir que scripts rc sejam executados de forma não restrita, incluindo "
+-#~ "quaisquer daemons iniciados por um script rc que não tenham uma transição "
+-#~ "de domínio explicitamente definida"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Permitir que o rpm seja executado de forma não restrita"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Permitir que utilitários privilegiados como o hotplug e o insmod sejam "
+-#~ "executados de maneira não restrita"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon updfstab"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon uptimed"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Permitir que o user_r alcance o sysadm_r via su, sudo ou userhelper. Caso "
+-#~ "contrário, somente o staff_r poderá fazer isso"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Permitir que os usuários executem o comando mount"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Permitir que usuários regulares tenham acesso direto ao mouse (somente "
+-#~ "permite o servidor X)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Permitir que usuários executem o comando dmesg"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Permitir que os usuários controlem as interfaces de rede (também "
+-#~ "necessita do USERCTL=true)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Permitir que os usuários normais executem o ping"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "Permitir que os usuários leiam/escrevam noextattrfile (FAT, CDROM, FLOPPY)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Permitir que os usuários leiam e escrevam em dispositivos usb"
+-
+-#~ 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 ""
+-#~ "Permitir que os usuários executem servidores TCP (vinculem portas e "
+-#~ "aceitem conexões do mesmo domínio e de usuários externos). Desabilitar "
+-#~ "esta opção força o modo passivo do FTP e pode modificar outros protocolos"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Permitir que os usuários vejam as estatísticas de ttyfiles"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon uucpd"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon vmware"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon watchdog"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon winbind"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon xdm"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permitir que o xdm realize logins como sysadm_r:sysadm_t"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon xen"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Permitir que o xen leia/escreva em dispositivos de discos físicos"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon xfs"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Desabilitar proteção do SELinux para o xen control"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ypbind"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o NIS Password Daemon"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ypserv"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o NIS Transfer Daemon"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permitir que o usuário webadm do SELinux gerencie diretórios pessoais de "
+-#~ "usuários sem privilégios"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permitir que o usuário webadm do SELinux leia diretórios pessoais de "
+-#~ "usuários sem privilégios"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Você está certo de que deseja remover %s \"%s\"?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "Remover %s"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "Adicionar %s"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "Modificar %s"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "Permissivo"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "Reforçado"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Desabilitado"
+-
+-#~ msgid "Status"
+-#~ msgstr "Status"
+-
+-#~ 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 ""
+-#~ "A mudança de política fará com que todo o sistema de arquivos seja "
+-#~ "reetiquetado na próxima inicialização. Isto pode levar muito tempo "
+-#~ "dependendo do tamanho do sistema de arquivos. Você deseja continuar?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Desabilitar o SELinux requer a reinicialização do sistema. Isso não é "
+-#~ "recomendado. Se depois você optar por habilitar o SELinux novamente, o "
+-#~ "sistema necessitará de ser reetiquetado. Se você somente deseja ver se o "
+-#~ "SELinux está causando algum problema para o seu sistema, altere-o para o "
+-#~ "modo permissivo, o qual somente irá registrar erros e não forçará a "
+-#~ "política do SELinux. O modo permissivo não requer a reinicialização do "
+-#~ "sistema. Você deseja continuar?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Habilitar o SELinux fará com que todo o sistema de arquivos seja "
+-#~ "reetiquetado na próxima inicialização. Isto pode levar muito tempo "
+-#~ "dependendo do tamanho do sistema de arquivos. Você deseja continuar?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c) 2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Adicionar Mapeamento de Login do SELinux"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Adicionar Portas de Rede do SELinux"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "Tipo SELinux"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Nível MLS/MCS\n"
+-#~ "do SELinux"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "Especificação do Arquivo"
+-
+-#~ msgid "File Type"
+-#~ msgstr "Tipo do Arquivo"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "todos os arquivos\n"
+-#~ "arquivos regulares\n"
+-#~ "diretórios\n"
+-#~ "dispositivos de caractere\n"
+-#~ "dispositivos de bloco\n"
+-#~ "soquetes\n"
+-#~ "ligações simbólicas\n"
+-#~ "pipe do named\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Adicionar Usuário do SELinux"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "Administração do SELinux"
+-
+-#~ msgid "Add"
+-#~ msgstr "Adicionar"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "_Propriedades"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "_Remover"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "Selecionar Objeto de Gerenciamento"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Selecione:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Modo Reforçado Padrão do Sistema"
+-
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "Desabilitado\n"
+-#~ "Permissivo\n"
+-#~ "Reforçado\n"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Modo Reforçado Atual"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Tipo de Política Padrão do Sistema:"
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Selecione se você quiser reetiquetar todo o sistema de arquivos na "
+-#~ "próxima inicialização. A reetiquetagem pode levar bastante tempo, "
+-#~ "dependendo do tamanho do seu sistema de arquivos. Se você estiver mudando "
+-#~ "os tipos das políticas ou alterando de desabilitado para reforçado, a "
+-#~ "reetiquetagem é requerida."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Reetiquetar na próxima inicialização."
+-
+-#~ msgid "label37"
+-#~ msgstr "label37"
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "Reverter as configurações boleanas para o valor padrão do sistema"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Alternar entre as customizações e todas as Boleanas "
+-
+-#~ msgid "Filter"
+-#~ msgstr "Filtro"
+-
+-#~ msgid "label50"
+-#~ msgstr "label50"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "Adicionar Contexto do Arquivo"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "Modificar Contexto do Arquivo"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "Remover Contexto do Arquivo"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "Alternar entre todas as customizações do contexto do arquivo"
+-
+-#~ msgid "label38"
+-#~ msgstr "label38"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Adicionar Mapeamento de Usuário do SELinux"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Modificar Mapeamento do Usuário do SELinux"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Remover Mapeamento do Usuário do SELinux"
+-
+-#~ msgid "label39"
+-#~ msgstr "label39"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "Adicionar Tradução"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "Modificar Tradução"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "Remover Tradução"
+-
+-#~ msgid "label41"
+-#~ msgstr "label41"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Modificar Usuário do SELinux"
+-
+-#~ msgid "label40"
+-#~ msgstr "label40"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "Adicionar Porta de Rede"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Editar Porta de Rede"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Remover Porta de Rede"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Alternar entre as customizações de todas as Portas "
+-
+-#~ msgid "label42"
+-#~ msgstr "label42"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Gerar novo módulo de política"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "Carregar módulo de política"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Remover módulo carregável de política"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Habilita/Desabilita regras adicionais do audit, que normalmente não são "
+-#~ "reportadas nos arquivos de log."
+-
+-#~ msgid "label44"
+-#~ msgstr "label44"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "O usuário \"%s\" do SELinux é requerido"
+ #~ msgid "Sensitvity Level"
+-#~ msgstr "Nível de Sensibilidade"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "O usuário \"%s\" do SELinux é requerido"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "Requer valor"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Prefixo inválido %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "Permite que aplicações/usuários sejam vinculados a qualquer porta tcp > "
+-#~ "1024 "
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "Permite que regras de aplicações/usuários restritas sejam vinculados a "
+-#~ "uma porta tcp qualquer"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Insira uma lista de portas tcp, separadas por vírgulas ou especifique um "
+-#~ "intervalo, nas quais a regra de aplicação/usuário está vinculada. "
+-#~ "Examplo: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "Assistente de Criação de Políticas do SELinux"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "Portas não reservadas (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "Use este botão de seleção se a sua aplicação chama o bindresvport com 0."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Reforçado\n"
+-#~ "Permissivo\n"
+-#~ "Desabilitado\n"
+-
+-#~ msgid "label25"
+-#~ msgstr "label25"
+-
+-#~ msgid "label26"
+-#~ msgstr "label26"
+-
+-#~ msgid "label28"
+-#~ msgstr "label28"
+-
+-#~ msgid "label30"
+-#~ msgstr "label30"
+-
+-#~ msgid "label31"
+-#~ msgstr "label31"
+-
+-#~ msgid "label32"
+-#~ msgstr "label32"
+-
+-#~ msgid "label33"
+-#~ msgstr "label33"
+-
+-#~ msgid "label34"
+-#~ msgstr "label34"
+-
+-#~ msgid "label35"
+-#~ msgstr "label35"
+-
+-#, fuzzy
+-#~ msgid "label51"
+-#~ msgstr "label25"
+-
+-#~ msgid "value"
+-#~ msgstr "valor"
+-
+-#~ msgid "You must be root to run %s."
+-#~ msgstr "Você deve ser root para executar %s."
+-
+-#~ msgid "Other"
+-#~ msgstr "Outros"
+-
+-#~ msgid ""
+-#~ "Select XWindows login user, if this is a user who will login to a machine "
+-#~ "via X"
+-#~ msgstr ""
+-#~ "Selecione o usuário para login no XWindows, se este é um usuário que irá "
+-#~ "autenticar em uma máquina via X"
+-
+-#~ msgid "XWindows Login User"
+-#~ msgstr "Usuário para Login do XWindows"
+-
+-#~ msgid ""
+-#~ "Select Terminal Login User, if this user will login to a machine only via "
+-#~ "a terminal or remote login"
+-#~ msgstr ""
+-#~ "Selecione o Usuário para Login no Terminal, se este usuário irá "
+-#~ "autenticar em um máquina apenas via terminal ou login remoto"
+-
+-#~ msgid "Terminal Login User"
+-#~ msgstr "Usuário para Login no Terminal"
+-
+-#~ msgid "Name of application to be confined"
+-#~ msgstr "Nome da aplicação a ser restrita"
+-
+-#~ msgid "Incoming Network Port Connections"
+-#~ msgstr "Conexões de Portas de Entrada da Rede"
+-
+-#~ msgid "Outgoing Network Port Connections"
+-#~ msgstr "Conexões de Portas de Saída da Rede"
+-
+-#~ msgid ""
+-#~ "Application uses nsswitch or translates UID's (daemons that run as non "
+-#~ "root)"
+-#~ msgstr ""
+-#~ "A aplicação utiliza o nsswitch ou traduz UID's (daemons que não são "
+-#~ "executados como root)"
+-
+-#~ msgid "Files and Directories"
+-#~ msgstr "Arquivos e Diretórios"
+-
+-#~ msgid "Generate policy in this directory"
+-#~ msgstr "Gerar política neste diretório"
+-
+-#~ msgid "Login"
+-#~ msgstr "Login"
+-
+-#~ msgid "Allow direct login to the console device. Requiered for System 390"
+-#~ msgstr ""
+-#~ "Permitir login direto ao dispositivo do console. Necessário para o System "
+-#~ "390"
+-
+-#~ msgid "Allow cvs daemon to read shadow"
+-#~ msgstr "Permitir que o daemon do cvs leia shadow"
+-
+-#~ 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 ""
+-#~ "Permitir que executáveis não restritos possam fazer com que a sua memória "
+-#~ "heap seja executável. Fazer isso é uma má idéia. Provavelmente indica um "
+-#~ "código ruim executável, mas pode indicar um ataque. Este executável deve "
+-#~ "ser reportado ao bugzilla"
+-
+-#~ msgid ""
+-#~ "Allow unconfined executables to map a memory region as both executable "
+-#~ "and writable, this is dangerous and the executable should be reported in "
+-#~ "bugzilla"
+-#~ msgstr ""
+-#~ "Permitir que executáveis não restritos mapeiem uma região da memória como "
+-#~ "executável e gravável, isto é perigoso e o executável deve ser reportado "
+-#~ "ao bugzilla"
+-
+-#~ msgid ""
+-#~ "Allow all unconfined executables to use libraries requiring text "
+-#~ "relocation that are not labeled textrel_shlib_t"
+-#~ msgstr ""
+-#~ "Permitir que executáveis não restritos possam utilizar bibliotecas que "
+-#~ "requerem realocação de texto que não estão etiquetadas como "
+-#~ "textrel_shlib_t"
+-
+-#~ msgid ""
+-#~ "Allow unconfined executables to make their stack executable.  This should "
+-#~ "never, ever be neessary. Probably indicates a badly coded executable, but "
+-#~ "could indicate an attack. This executable should be reported in bugzilla"
+-#~ msgstr ""
+-#~ "Permitir que executáveis não restritos tornem a sua pilha executável. "
+-#~ "Isso nunca deveria ser necessário. Provavelmente indica um código ruim "
+-#~ "executável, mas pode indicar um ataque. Este executável deve ser "
+-#~ "reportado ao bugzilla"
+-
+-#~ msgid "FTP"
+-#~ msgstr "FTP"
+-
+-#~ msgid "Allow ftpd to full access to the system"
+-#~ msgstr "Permitir que o ftpd tenha acesso completo ao sistema"
+-
+-#~ msgid ""
+-#~ "Allow ftpd to upload files to directories labeled public_content_rw_t"
+-#~ msgstr ""
+-#~ "Permitir que ftpd faça o upload de arquivos para diretórios etiquetados "
+-#~ "como public_content_rw_t"
+-
+-#~ msgid "Allow ftp servers to use cifs used for public file transfer services"
+-#~ msgstr ""
+-#~ "Permitir que servidores ftp utilizem o cifs usado por serviços de "
+-#~ "transferência de arquivos públicos"
+-
+-#~ msgid "Allow ftp servers to use nfs used for public file transfer services"
+-#~ msgstr ""
+-#~ "Permitir que servidores ftp utilizem o nfs usado por serviços de "
+-#~ "transferência de arquivos públicos"
+-
+-#~ msgid "Allow gpg executable stack"
+-#~ msgstr "Permitir pilha de execução do gpg"
+-
+-#~ msgid "Allow gssd to read temp directory"
+-#~ msgstr "Permitir que o gssd leia o diretório temporário"
+-
+-#~ msgid ""
+-#~ "Allow httpd daemon to write files in directories labeled "
+-#~ "public_content_rw_t"
+-#~ msgstr ""
+-#~ "Permitir que o daemon httpd grave arquivos nos diretórios etiquetados "
+-#~ "como public_content_rw_t"
+-
+-#~ msgid "Allow Apache to communicate with avahi service"
+-#~ msgstr "Permitir que o Apache comunique com o serviço do avahi"
+-
+-#~ msgid "Allow Apache to use mod_auth_pam"
+-#~ msgstr "Permitir que o Apache use o mod_auth_pam"
+-
+-#~ msgid ""
+-#~ "Allow httpd scripts to write files in directories labeled "
+-#~ "public_content_rw_t"
+-#~ msgstr ""
+-#~ "Permitir que os scripts do httpd gravem arquivos nos diretórios "
+-#~ "etiquetados como public_content_rw_t"
+-
+-#~ msgid "Allow daemons to use kerberos files"
+-#~ msgstr "Permitir que os daemons utilizem arquivos do kerberos"
+-
+-#~ msgid ""
+-#~ "Allow nfs servers to modify public files used for public file transfer "
+-#~ "services"
+-#~ msgstr ""
+-#~ "Permitir que servidores nfs modifiquem arquivos públicos utilizados por "
+-#~ "serviços de transferência de arquivos públicos"
+-
+-#~ msgid "Polyinstatiation"
+-#~ msgstr "Poli-instanciação"
+-
+-#~ msgid "Enable polyinstantiated directory support"
+-#~ msgstr "Habilitar suporte a diretórios poli-instanciados"
+-
+-#~ msgid "Allow sysadm_t to debug or ptrace applications"
+-#~ msgstr "Permitir que o sysadm_t faça a depuração ou ptrace de aplicações"
+-
+-#~ msgid ""
+-#~ "Allow rsync to write files in directories labeled public_content_rw_t"
+-#~ msgstr ""
+-#~ "Permitir que o rsync grave arquivos nos diretórios etiquetados como "
+-#~ "public_content_rw_t"
+-
+-#~ msgid ""
+-#~ "Allow Samba to write files in directories labeled public_content_rw_t"
+-#~ msgstr ""
+-#~ "Permitir que o Samba grave arquivos nos diretórios etiquetados como "
+-#~ "public_content_rw_t"
+-
+-#~ msgid "Zebra"
+-#~ msgstr "Zebra"
+-
+-#~ msgid "Allow zebra daemon to write it configuration files"
+-#~ msgstr "Permitir que o daemon zebra grave arquivos de configuração"
+-
+-#~ msgid ""
+-#~ "Allow system cron jobs to relabel filesystem for restoring file contexts"
+-#~ msgstr ""
+-#~ "Permitir que trabalhos de sistema do cron reetiquetem os sistemas de "
+-#~ "arquivos para restaurar contextos de arquivos"
+-
+-#~ msgid "Enable extra rules in the cron domain to support fcron"
+-#~ msgstr "Habilitar regras extras no domínio do cron para suportar o fcron"
+-
+-#~ msgid "Disable SELinux protection for ftpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon ftpd"
+-
+-#~ msgid "Allow ftpd to run directly without inetd"
+-#~ msgstr "Permitir que o ftpd seja executado diretamente sem o inetd"
+-
+-#~ msgid "Allow ftp to read/write files in the user home directories"
+-#~ msgstr ""
+-#~ "Permitir que o ftp leia/grave arquivos no diretório pessoal dos usuários"
+-
+-#~ msgid ""
+-#~ "This should be enabled when all programs are compiled with ProPolice/SSP "
+-#~ "stack smashing protection.  All domains will be allowed to read from /dev/"
+-#~ "urandom"
+-#~ msgstr ""
+-#~ "Isto deve ser habilitado quando todos os programas são compilados com a "
+-#~ "proteção de quebra de pilha ProPolice/SSP. Todos os domínios estarão "
+-#~ "aptos a ler de /dev/urandom"
+-
+-#~ msgid "Allow HTTPD to support built-in scripting"
+-#~ msgstr "Permitir que o HTTPD suporte scripts embutidos"
+-
+-#~ msgid "Allow HTTPD to send mail"
+-#~ msgstr "Permitir que o HTTPD envie e-mail"
+-
+-#~ msgid "Allow HTTPD scripts and modules to network connect to databases"
+-#~ msgstr ""
+-#~ "Permitir que scripts e módulos do HTTPD conectem a bancos de dados "
+-#~ "através da rede"
+-
+-#~ msgid "Allow HTTPD scripts and modules to connect to the network"
+-#~ msgstr "Permitir que scripts e módulos do HTTPD conectem a rede"
+-
+-#~ msgid "Allow httpd to act as a relay"
+-#~ msgstr "Permitir que o HTTPD atue como relay"
+-
+-#~ msgid "Disable SELinux protection for httpd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon httpd"
+-
+-#~ msgid "Allow HTTPD cgi support"
+-#~ msgstr "Permitir que o HTTPD suporte cgi"
+-
+-#~ msgid "Allow HTTPD to run as a ftp server"
+-#~ msgstr "Permitir que o HTTPD seja executado como um servidor ftp"
+-
+-#~ msgid "Allow HTTPD to read home directories"
+-#~ msgstr "Permitir que o HTTPD leia diretórios pessoais"
+-
+-#~ msgid ""
+-#~ "Allow HTTPD to run SSI executables in the same domain as system CGI "
+-#~ "scripts"
+-#~ msgstr ""
+-#~ "Permitir que o HTTPD execute executáveis SSI no mesmo domínio que os "
+-#~ "scripts CGI do sistema"
+-
+-#~ msgid ""
+-#~ "Unify HTTPD to communicate with the terminal.  Needed for handling "
+-#~ "certificates"
+-#~ msgstr ""
+-#~ "Unificar o HTTPD para comunicar com o terminal. Necessário para lidar com "
+-#~ "certificados"
+-
+-#~ msgid "Unify HTTPD handling of all content files"
+-#~ msgstr "Unificar o tratamento do HTTPD para todos os arquivos do conteúdo"
+-
+-#~ msgid "Allow named to overwrite master zone files"
+-#~ msgstr "Permitir que o named sobrescreva arquivos da zona mestre"
+-
+-#~ msgid "Allow NFS to share any file/directory read only"
+-#~ msgstr ""
+-#~ "Permitir que o NFS compartilhe qualquer arquivo/diretório somente leitura"
+-
+-#~ msgid "Allow NFS to share any file/directory read/write"
+-#~ msgstr ""
+-#~ "Permitir que o NFS compartilhe qualquer arquivo/diretório com direitos de "
+-#~ "leitura/escrita"
+-
+-#~ msgid "Allow openvpn service access to users home directories"
+-#~ msgstr ""
+-#~ "Permitir que o serviço openvpn acesse o diretório pessoal dos usuários"
+-
+-#~ msgid "Allow pppd daemon to insert modules into the kernel"
+-#~ msgstr "Permitir que o daemon pppd insira módulos no kernel"
+-
+-#~ msgid "Disable SELinux protection for pppd daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon pppd"
+-
+-#~ msgid "Disable SELinux protection for the mozilla ppp daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon mozilla ppp"
+-
+-#~ msgid "Allow programs to read untrusted content without relabel"
+-#~ msgstr ""
+-#~ "Permitir que programas leiam conteúdos não confiáveis sem reetiquetar"
+-
+-#~ msgid "Allow Samba to share users home directories"
+-#~ msgstr "Permitir que o Samba compartilhe diretórios pessoais dos usuários"
+-
+-#~ msgid "Spam Assassin"
+-#~ msgstr "Spam Assassin"
+-
+-#~ msgid "Allow spammassasin to access the network"
+-#~ msgstr "Permitir que o spammassasin acesse a rede"
+-
+-#~ msgid "Use lpd server instead of cups"
+-#~ msgstr "Usar o servidor lpd ao invés do cups"
+-
+-#~ msgid "Support NFS home directories"
+-#~ msgstr "Suporte aos diretórios pessoais do NFS"
+-
+-#~ msgid "Allow users to login with CIFS home directories"
+-#~ msgstr "Permitir que os usuários façam o login com diretórios pessoais CIFS"
+-
+-#~ msgid ""
+-#~ "Allow web applications to write untrusted content to disk (implies read)"
+-#~ msgstr ""
+-#~ "Permitir que aplicações web gravem conteúdo não confiável no disco "
+-#~ "(implica em direito de leitura)"
+-
+-#~ msgid "Disable SELinux protection for zebra daemon"
+-#~ msgstr "Desabilitar proteção do SELinux para o daemon zebra"
+-
+-#~ msgid "Allow httpd to access samba/cifs file systems"
+-#~ msgstr "Permitir que o httpd acesse sistemas de arquivos samba/cifs"
+-
+-#~ msgid "Allow httpd to access nfs file systems"
+-#~ msgstr "Permitir que o httpd acesse sistemas de arquivos nfs"
+-
+-#~ msgid ""
+-#~ "Allow samba to act as the domain controller, add users, groups and change "
+-#~ "passwords"
+-#~ msgstr ""
+-#~ "Permitir que o samba atue como controlador de domínio, adicione usuários, "
+-#~ "grupos e altere senhas"
+-
+-#~ msgid "Allow Samba to share any file/directory read only"
+-#~ msgstr ""
+-#~ "Permitir que o Samba compartilhe qualquer arquivo/diretório somente "
+-#~ "leitura"
+-
+-#~ msgid "Allow Samba to share any file/directory read/write"
+-#~ msgstr ""
+-#~ "Permitir que o Samba compartilhe qualquer arquivo/diretório com direitos "
+-#~ "de leitura/escrita"
+-
+-#~ msgid ""
+-#~ "Allow Samba to run unconfined scripts in /var/lib/samba/scripts directory"
+-#~ msgstr ""
+-#~ "Permitir que o Samba execute scripts não restritos no diretório /var/lib/"
+-#~ "samba/scripts"
+-
+-#~ msgid "Label Prefix"
+-#~ msgstr "Prefixo da Etiqueta"
+-
+-#~ msgid "MLS/MCS Level"
+-#~ msgstr "Nível MLS/MCS"
+-
+-#~ msgid "Group/ungroup network ports by SELinux type."
+-#~ msgstr "Agrupar/desagrupar portas de rede pelo tipo do SELinux."
+-
+-#~ msgid ""
+-#~ "Enable additional audit rules, that are normally not reported in the log "
+-#~ "files."
+-#~ msgstr ""
+-#~ "Habilitar regras adicionais do audit, que normalmente não são reportadas "
+-#~ "nos arquivos de log."
+-
+-#~ msgid ""
+-#~ "Labeling\n"
+-#~ "Prefix"
+-#~ msgstr ""
+-#~ "Prefixo de\n"
+-#~ "Etiquetagem"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Level"
+-#~ msgstr ""
+-#~ "Nível\n"
+-#~ "MLS/MCS"
+-
+-#~ msgid "Requires 2 or more arguments"
+-#~ msgstr "Requer 2 ou mais argumentos"
+-
+-#~ msgid "%s not defined"
+-#~ msgstr "%s não definido"
+-
+-#~ msgid "%s not valid for %s objects\n"
+-#~ msgstr "%s não é válido para objetos %s\n"
+-
+-#~ msgid "range not supported on Non MLS machines"
+-#~ msgstr "intervalo não suportado em máquinas não-MLS"
+-
+-#~ msgid "Invalid value %s"
+-#~ msgstr "Valor inválido %s"
+-
+-#~ msgid ""
+-#~ "In order to load this newly created policy package into the kernel,\n"
+-#~ "you are required to execute \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "Para carregar este pacote de políticas criado recentemente no kernel\n"
+-#~ "é necessário que você execute \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
+-
+-#~ msgid "Options Error: %s "
+-#~ msgstr "Erro de Opções: %s "
++#~ msgstr "Nível de sensibilidade"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/pt.po policycoreutils-2.0.85/po/pt.po
+--- nsapolicycoreutils/po/pt.po        2011-02-17 15:11:25.640726363 -0500
++++ policycoreutils-2.0.85/po/pt.po    2011-02-18 16:03:41.441976242 -0500
+@@ -1,22 +1,38 @@
++# Rui Gouveia <rui.gouveia@gmail.com>, 2010.
++# Sérgio Mesquita <smesquita@gmail.com>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-10-02 12:37+0100\n"
+-"Last-Translator: José Nuno Coelho Pires <jncp@netcabo.pt>\n"
+-"Language-Team: pt <kde-i18n-pt@kde.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-09 11:11+0100\n"
++"Last-Translator: Sérgio Mesquita <smesquita@gmail.com>\n"
++"Language-Team: trans-pt@fedoraproject.org\n"
++"Language: pt\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-POFile-SpellExtra: SETUID tty ze odt tcp ConfidencialEmpresa getpass PAM\n"
+-"X-POFile-SpellExtra: TTY serange PAMTTY SELinux semodule chcat init\n"
+-"X-POFile-SpellExtra: newrole setype udp runinit passwd pp semanage\n"
+-"X-POFile-SpellExtra: KEEPCAPS bq shadow UID MLS seuser dev SIGHUP\n"
+-"X-POFile-SpellExtra: novocontexto argv Polgen UIDs nsswitch Init Hat Red\n"
+-"X-POFile-SpellExtra: if tmp lib label lu var avc inetd fc xinetd usesyslog\n"
+-"X-POFile-SpellExtra: Fich audit syslog bindresvport XWindows setenforce sh\n"
+-"X-POFile-SpellExtra: allow MCS carregável\n"
++"Plural-Forms: nplurals=2; plural=(n != 1);\n"
++"X-Generator: Virtaal 0.5.2\n"
++"X-Poedit-Language: Portuguese\n"
++"X-Poedit-Country: PORTUGAL\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Configurar o SELinux num ambiente gráfico"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Gestão de SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Gerar módulos de políticas SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Ferramenta de Geração de Políticas SELinux"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -45,7 +61,7 @@
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr "O seu item não foi encontrado no ficheiro de senhas 'shadow'.\n"
++msgstr "Os seus dados não foram encontrados no ficheiro de senhas 'shadow'.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+@@ -60,18 +76,18 @@
+ #: ../run_init/run_init.c:309
+ #, c-format
+ msgid "Could not open file %s\n"
+-msgstr "Não foi possível aceder ao ficheiro %s\n"
++msgstr "Não foi possível abrir o ficheiro %s\n"
+ #: ../run_init/run_init.c:336
+ #, c-format
+ msgid "No context in file %s\n"
+-msgstr "Não existe qualquer contexto no ficheiro %s\n"
++msgstr "Não existe contexto no ficheiro %s\n"
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+ msgstr ""
+-"Desculpe, mas o 'run_init' só poderá ser usado num 'kernel' com SELinux.\n"
++"Desculpe, o 'run_init' só poderá ser utilizado num kernel com SELinux.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+@@ -81,7 +97,7 @@
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+ msgid "Could not set exec context to %s.\n"
+-msgstr "Não foi possível mudar o contexto de execução para %s.\n"
++msgstr "Não foi possível definir o contexto de execução para %s.\n"
+ #: ../audit2allow/audit2allow:217
+ msgid "******************** IMPORTANT ***********************\n"
+@@ -93,851 +109,857 @@
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+-msgstr "Não foi possível iniciar o descritor do 'semanage'"
++msgstr "Não foi possível iniciar o descritor do SELinux (\"semanage\")"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr ""
+-"A política do SELinux não é gerida ou não é possível aceder ao armazém."
++msgstr "A política do SELinux não é gerida ou não é possível aceder aos dados."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "Não é possível ler o armazém de políticas."
++msgstr "Não é possível ler os dados de políticas."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+-msgstr "Não é possível estabelecer uma ligação ao 'semanage'"
++msgstr ""
++"Não é possível estabelecer uma ligação ao gestor do SELinux (\"semanage\")"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Não foi possível definir o intervalo do MLS do %s"
++msgstr "Não foi testar o estado de activação do MLS"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "global"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"Não é possível aceder ao %s: as traduções não são suportadas nas máquinas "
+-"não-MLS"
++"Não foi possível abrir %s: as traduções não são suportadas nas máquinas não-"
++"MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "Nível"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Tradução"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "As traduções não poderão conter espaços '%s' "
++msgstr "As traduções não podem conter espaços '%s' "
+ #: ../semanage/seobject.py:250
+ #, python-format
+ msgid "Invalid Level '%s' "
+-msgstr "Nível '%s' Inválido "
++msgstr "Nível '%s' é Inválido "
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "O %s já está definido nas traduções"
++msgstr "%s já está definido nas traduções"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "O %s não está definido nas traduções"
++msgstr "%s não está definido nas traduções"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Ainda não está implementado"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Transacção Semanage já está em curso"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+-msgstr "Não foi possível iniciar a transacção do 'semanage'"
++msgstr ""
++"Não foi possível iniciar uma transacção do gestor do SELinux (\"semanage\")"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Não foi possível iniciar a transacção do 'semanage'"
++msgstr "Não foi possível finalizar a transacção semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Transacção Semanage não está em curso"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Não foi possível listar os utilizadores do SELinux"
++msgstr "Não foi possível listar os módulos SELinux"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "Permissivo"
++msgstr "Tipos Permissivos"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Não foi possível definir o domínio permissivo %s (instalação do módulo "
++"falhou)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Não foi possível remover o domínio permissivo %s (remoção falhou)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+-msgstr "Não é possível criar uma chave para o %s"
++msgstr "Não foi possível criar uma chave para o %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-"Não foi possível ver se o mapeamento de autenticação do %s está definido"
++"Não foi possível verificar se o mapeamento de autenticação para %s está "
++"definido"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "O mapeamento de autenticação do %s já está definido"
++msgstr "O mapeamento de autenticação para %s já está definido"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "O utilizador de Linux %s não existe"
++msgstr "O Grupo Linux %s não existe"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "O utilizador de Linux %s não existe"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr "Não foi possível criar o mapeamento de autenticação do %s"
++msgstr "Não foi possível criar o mapeamento de autenticação para %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr "Não foi possível definir o nome do %s"
++msgstr "Não foi possível definir o nome para %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr "Não foi possível definir o intervalo do MLS do %s"
++msgstr "Não foi possível definir o intervalo MLS para %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+-msgstr "Não foi possível definir o utilizador do SELinux para o %s"
++msgstr "Não foi possível definir o utilizador SELinux para %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "Não foi possível adicionar o mapeamento de autenticação do %s"
++msgstr "Não foi possível adicionar o mapeamento de autenticação para %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "adicionar o mapeamento do utilizador do SELinux"
++msgstr "adicionar o mapeamento do utilizador SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+-msgstr "Necessita do 'seuser' ou do 'serange'"
++msgstr ""
++"Requer utilizador SELinux (\"seuser\") ou intervalo SELinux (\"serange\")"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr "O mapeamento de autenticação do %s não está definido"
++msgstr "O mapeamento de autenticação para %s não está definido"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+-msgstr "Não foi possível pesquisar o 'seuser' por %s"
++msgstr "Não foi possível encontrar o utilizador SELinux (\"seuser\") para %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr "Não foi possível modificar o mapeamento de autenticação do %s"
++msgstr "Não foi possível modificar o mapeamento de autenticação para %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"O mapeamento de autenticação do %s está definido na política e não pode ser "
++"O mapeamento de autenticação para %s está definido na política, não pode ser "
+ "removido"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr "Não foi possível remover o mapeamento de autenticação do %s"
++msgstr "Não foi possível remover o mapeamento de autenticação para %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Não foi possível listar os mapeamentos de autenticação"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Nome da Conta"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "Utilizador do SELinux"
++msgstr "Utilizador SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr "Intervalo do MLS/MCS"
++msgstr "Intervalo MLS/MCS"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Não foi possível adicionar o contexto do ficheiro %s"
++msgstr "Precisa de adicionar pelo menos um perfil para %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+-msgstr "Não foi possível verificar se o utilizador %s do SELinux está definido"
++msgstr "Não foi possível verificar se o utilizador SELinux %s está definido"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr "O utilizador %s do SELinux já está definido"
++msgstr "O utilizador SELinux %s já está definido"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr "Não foi possível criar o utilizador do SELinux do %s"
++msgstr "Não foi possível criar o utilizador SELinux para %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+-msgstr "Não foi possível adicionar o papel %s para o %s"
++msgstr "Não foi possível adicionar o perfil %s para %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+-msgstr "Não foi possível definir o nível do MLS do %s"
++msgstr "Não foi possível definir o nível MLS para %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr "Não foi possível adicionar o prefixo %s do %s"
++msgstr "Não foi possível adicionar o prefixo %s para %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+-msgstr "Não foi possível extrair a chave do %s"
++msgstr "Não foi possível extrair a chave para %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+-msgstr "Não foi possível adicionar o utilizador do SELinux %s"
++msgstr "Não foi possível adicionar o utilizador SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+-msgstr "É necessário um prefixo, papéis, um nível ou um intervalo"
++msgstr "Requer prefixo, perfil, nível ou intervalo"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+-msgstr "É necessário um prefixo ou papéis"
++msgstr "Requer prefixo ou perfil"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr "O utilizador do SELinux %s não está definido"
++msgstr "O utilizador SELinux %s não está definido"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Não foi possível pesquisar o utilizador %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+-msgstr "Não foi possível modificar o utilizador do SELinux %s"
++msgstr "Não foi possível modificar o utilizador SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"O utilizador do SELinux %s está definido na política, não pode ser removido"
++"O utilizador SELinux %s está definido na política, não pode ser removido"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+-msgstr "Não foi possível remover o utilizador do SELinux %s"
++msgstr "Não foi possível remover o utilizador SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr "Não foi possível listar os utilizadores do SELinux"
++msgstr "Não foi possível listar os utilizadores SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+-msgstr "Não foi possível listar os papéis do utilizador %s"
++msgstr "Não foi possível listar os perfis para o utilizador %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr "Legendagem"
++msgstr "Etiquetas"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefixo"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr "Nível do MCS"
++msgstr "Nível MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr "Intervalo do MCS"
++msgstr "Intervalo MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr "Papéis do SELinux"
++msgstr "Perfis SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+-msgstr "É obrigatório o protocolo 'udp' ou 'tcp'"
++msgstr "É obrigatório o protocolo udp ou tcp"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "O porto é obrigatório"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Não foi possível criar uma chave para o %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "O tipo é obrigatório"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Não foi possível verificar se o porto %s/%s está definido"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "O porto %s/%s já está definido"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+-msgstr "Não foi possível criar o porto %s/%s"
++msgstr "Não foi possível criar o porto para %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+-msgstr "Não foi possível criar o contexto do %s/%s"
++msgstr "Não foi possível criar o contexto para %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr "Não foi possível definir o utilizador no contexto do porto %s/%s"
++msgstr "Não foi possível definir o utilizador no contexto do porto para %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr "Não foi possível definir o papel no contexto do porto %s/%s"
++msgstr "Não foi possível definir o perfil no contexto do porto para %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr "Não foi possível definir o tipo no contexto do porto %s/%s"
++msgstr "Não foi possível definir o tipo no contexto do porto para %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr "Não foi possível definir os campos de MLS no contexto do porto %s/%s"
++msgstr "Não foi possível definir os campos mls no contexto do porto para %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr "Não foi possível definir o contexto do porto %s/%s"
++msgstr "Não foi possível definir o contexto do porto para %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Não foi possível adicionar o porto %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+-msgstr "Necessita de um 'setype' ou 'serange'"
++msgstr "Requer tipo SELinux (\"setype\") ou intervalo SELinux (\"serange\")"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+-msgstr "Necessita de um 'setype'"
++msgstr "Requer tipo SELinux (\"setype\")"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "O porto %s/%s não está definido"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Não foi possível pesquisar o porto %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Não foi possível modificar o porto %s/%s"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Não foi possível listar os portos"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "Não foi possível remover o porto %s/%s"
++msgstr "Não foi possível remover o porto %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "O porto %s/%s está definido na política, não pode ser removido"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Não foi possível remover o porto %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Não foi possível listar os portos"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr "Tipo de Porto do SELinux"
++msgstr "Tipo de Porto SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Protocolo"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Número de Porto"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "O porto é obrigatório"
++msgstr "É obrigatório o Endereço do Nó"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "O porto é obrigatório"
++msgstr "É obrigatório a Máscara de Nó"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Protocolo desconhecido ou em falta"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+-msgstr "O Tipo do SELinux é obrigatório"
++msgstr "O Tipo SELinux é obrigatório"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+-msgstr "Não foi possível criar a chave do %s"
++msgstr "Não foi possível criar a chave para %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Não foi possível verificar se o porto %s/%s está definido"
++msgstr "Não foi possível verificar se o endereço %s está definido"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "O porto %s/%s já está definido"
++msgstr "O endereço %s já está definido"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Não é possível criar uma chave para o %s"
++msgstr "Não foi possível criar um endereço para %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr "Não foi possível criar o contexto de %s"
++msgstr "Não foi possível criar o contexto para %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Não foi possível definir o nome do %s"
++msgstr "Não foi possível definir uma máscara para %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Não foi possível definir o utilizador no contexto do ficheiro %s"
++msgstr "Não foi possível definir o utilizador no contexto do endereço para %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Não foi possível definir o papel no contexto do ficheiro %s"
++msgstr "Não foi possível definir o perfil no contexto do endereço para %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Não foi possível definir o tipo no contexto do ficheiro %s"
++msgstr "Não foi possível definir o tipo no contexto do endereço para %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Não foi possível definir os campos do MLS no contexto do ficheiro %s"
++msgstr "Não foi possível definir os campos mls no contexto do endereço para %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Não foi possível definir o contexto do ficheiro %s"
++msgstr "Não foi possível definir o contexto do endereço para %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Não foi possível adicionar o porto %s/%s"
++msgstr "Não foi possível adicionar o endereço %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "O porto %s/%s não está definido"
++msgstr "O endereço %s não está definido"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Não foi possível pesquisar o porto %s/%s"
++msgstr "Não foi possível pesquisar o endereço %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Não foi possível modificar o porto %s/%s"
++msgstr "Não foi possível modificar o endereço %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "O porto %s/%s está definido na política, não pode ser removido"
++msgstr "O endereço %s está definido na política, não pode ser removido"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Não foi possível remover a interface %s"
++msgstr "Não foi possível remover o endereço %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Não foi possível listar os portos"
++msgstr "Não foi possível listar os endereços"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Não foi possível verificar se a interface %s está definida"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "A interface %s já está definida"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+-msgstr "Não foi possível criar a interface %s"
++msgstr "Não foi possível criar a interface para %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "Não foi possível definir o utilizador no contexto da interface %s"
++msgstr "Não foi possível definir o utilizador no contexto da interface para %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "Não foi possível definir o papel no contexto da interface %s"
++msgstr "Não foi possível definir o perfil no contexto da interface para %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "Não foi possível definir o tipo no contexto da interface %s"
++msgstr "Não foi possível definir o tipo no contexto da interface para %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "Não foi possível definir os campos de MLS no contexto da interface %s"
++msgstr ""
++"Não foi possível definir os campos mls no contexto da interface para %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "Não foi possível definir o contexto da interface %s"
++msgstr "Não foi possível definir o contexto da interface para %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr "Não foi possível definir o contexto da mensagem %s"
++msgstr "Não foi possível definir o contexto da mensagem para %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Não foi possível adicionar a interface %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "A interface %s não está definida"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Não foi possível pesquisar a interface %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Não foi possível modificar a interface %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "A interface %s está definida na política, não pode ser removida"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Não foi possível remover a interface %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Não foi possível listar as interfaces"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr "Interface do SELinux"
++msgstr "Interface SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Contexto"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "Não foi possível definir o utilizador no contexto do ficheiro %s"
++msgstr "Não foi possível definir o utilizador no contexto do ficheiro para %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "Não foi possível definir o papel no contexto do ficheiro %s"
++msgstr "Não foi possível definir o perfil no contexto do ficheiro para %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "Não foi possível definir os campos do MLS no contexto do ficheiro %s"
++msgstr "Não foi possível definir os campos mls no contexto do ficheiro para %s"
+-#: ../semanage/seobject.py:1436
+-#, fuzzy
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr "Especificação do Ficheiro"
++msgstr "Especificação de ficheiro inválida"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "Não foi possível verificar se o contexto do ficheiro %s está definido"
++msgstr ""
++"Não foi possível verificar se o contexto de ficheiro para %s está definido"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr "O contexto do ficheiro %s já está definido"
++msgstr "O contexto de ficheiro para %s já está definido"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr "Não foi possível criar o contexto do ficheiro %s"
++msgstr "Não foi possível criar o contexto de ficheiro %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "Não foi possível definir o tipo no contexto do ficheiro %s"
++msgstr "Não foi possível definir o tipo no contexto de ficheiro para %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "Não foi possível definir o contexto do ficheiro %s"
++msgstr "Não foi possível definir o contexto de ficheiro para %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr "Não foi possível adicionar o contexto do ficheiro %s"
++msgstr "Não foi possível adicionar o contexto de ficheiro para %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+-msgstr "Necessita de um 'setype', 'serange' ou 'seuser'"
++msgstr ""
++"Requer tipo SELinux (\"setype\"), intervalo SELinux (\"serange\") ou "
++"utilizador SELinux (\"seuser\")"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr "O contexto do ficheiro %s não está definido"
++msgstr "O contexto de ficheiro para %s não está definido"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr "Não foi possível pesquisar o contexto do ficheiro %s"
++msgstr "Não foi possível pesquisar o contexto de ficheiro para %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr "Não foi possível modificar o contexto do ficheiro %s"
++msgstr "Não foi possível modificar o contexto de ficheiro para %s"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Não foi possível listar os contextos do ficheiro"
++msgstr "Não foi possível listar os contextos de ficheiros"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Não foi possível remover o contexto do ficheiro %s"
++msgstr "Não foi possível remover o contexto de ficheiro %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"O contexto do ficheiro %s está definido na política, não pode ser removido"
++"O contexto de ficheiro %s está definido na política, não pode ser removido"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr "Não foi possível remover o contexto do ficheiro %s"
++msgstr "Não foi possível remover o contexto de ficheiro para %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr "Não foi possível listar os contextos do ficheiro"
++msgstr "Não foi possível listar os contextos de ficheiro"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr "Não foi possível listar os contextos do ficheiro local"
++msgstr "Não foi possível listar os contextos de ficheiro locais"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr "Contexto Fich. do SELinux"
++msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "tipo"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr "Não foi possível verificar se o booleano %s está definido"
++msgstr "Não foi possível verificar se o tipo booleano %s está definido"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+-msgstr "O booleano %s não está definido"
++msgstr "O tipo booleano %s não está definido"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr "Não foi possível pesquisar o contexto do ficheiro %s"
++msgstr "Não foi possível pesquisar o contexto de ficheiro %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Precisa de indicar um prefixo"
++msgstr "Precisa de indicar um dos seguintes valores: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Não foi possível remover o booleano %s"
++msgstr "Não foi possível definir o valor activo do booleano %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr "Não foi possível modificar o booleano %s"
++msgstr "Não foi possível modificar o tipo booleano %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Formato inválido %s: Registo %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "O booleano %s está definido na política, não pode ser removido"
++msgstr "O tipo booleano %s está definido na política, não pode ser removido"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr "Não foi possível remover o booleano %s"
++msgstr "Não foi possível remover o tipo booleano %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr "Não foi possível listar os booleanos"
++msgstr "Não foi possível listar os tipos booleanos"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "desconhecido"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "desligado"
+-#: ../semanage/seobject.py:1780
+-#, fuzzy
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr "CRON"
++msgstr "ligado"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr "Booleano do SELinux"
++msgstr "SELinux boolean"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Descrição"
+ #: ../newrole/newrole.c:198
+ #, c-format
+ msgid "failed to set PAM_TTY\n"
+-msgstr "não foi possível definir o PAM_TTY\n"
++msgstr "não foi possível definir PAM_TTY\n"
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+ msgstr ""
+-"newrole: esgotamento da lista de configurações dos nomes dos serviços\n"
++"newrole: a tabela de hash da configuração dos nomes dos serviços esgotou-se\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+@@ -947,7 +969,7 @@
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr "não foi possível encontrar um item válido no ficheiro 'passwd'.\n"
++msgstr "não foi possível encontrar uma entrada válida no ficheiro de senhas.\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+@@ -957,7 +979,7 @@
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "Erro! A linha de comandos não é válida.\n"
++msgstr "Erro!  A consola não é válida.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+@@ -965,29 +987,29 @@
+ msgstr "Não foi possível limpar o ambiente\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Erro ao iniciar as capacidades, a interromper.\n"
++msgstr "Erro ao iniciar capacidades, a interromper.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr "Erro ao atribuir as capacidades, a interromper\n"
++msgstr "Erro ao atribuir capacidades, a interromper\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+ msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr "Erro ao atribuir o KEEPCAPS, a interromper\n"
++msgstr "Erro ao definir o KEEPCAPS, a interromper\n"
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+ msgid "Error dropping capabilities, aborting\n"
+-msgstr "Erro ao remover as capacidades, a interromper\n"
++msgstr "Erro ao retirar capacidades, a interromper\n"
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr "Erro ao mudar de UID, a interromper.\n"
++msgstr "Erro ao mudar o uid, a interromper.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+@@ -997,128 +1019,127 @@
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr "Erro ao remover a capacidade de SETUID, a interromper\n"
++msgstr "Erro ao retirar a capacidade de SETUID, a interromper\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+ msgid "Error freeing caps\n"
+-msgstr "Erro ao libertar as capacidades\n"
++msgstr "Erro ao libertar capacidades\n"
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr "Erro ao ligar-se ao sistema de auditoria.\n"
++msgstr "Erro ao conectar ao sistema de auditoria.\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+ msgid "Error allocating memory.\n"
+-msgstr "Erro ao reservar memória.\n"
++msgstr "Erro ao alocar memória.\n"
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr "Erro ao enviar a mensagem de auditoria.\n"
++msgstr "Erro ao enviar mensagem de auditoria.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr "Não é possível determinar o modo de aplicação do SELinux.\n"
++msgstr "Não é possível determinar o modo de actuação forçada do SELinux.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr "Erro! Não foi possível aceder ao %s.\n"
++msgstr "Erro! Não foi possível abrir %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s!  Não foi possível obter o contexto actual do %s; o TTY não mudará de "
+-"etiqueta.\n"
++"%s!  Não foi possível obter o contexto actual para %s, etiqueta do tty "
++"inalterada.\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s!  Não foi possível obter o novo contexto do %s; o TTY não mudará de "
+-"etiqueta.\n"
++"%s!  Não foi possível obter um novo contexto para %s, etiqueta do tty "
++"inalterada.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s!  Não foi possível definir o novo contexto do %s\n"
++msgstr "%s!  Não foi possível definir um novo contexto para %s\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr "O %s mudou de etiquetas.\n"
++msgstr "%s alterou etiquetas.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr "Atenção!  Não foi possível repor o contexto do %s\n"
++msgstr "Atenção!  Não foi possível repor o contexto para %s\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr "Erro: foram definidos vários papéis\n"
++msgstr "Erro: foram especificados vários perfis\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+ msgid "Error: multiple types specified\n"
+-msgstr "Erro : foram definidos vários tipos\n"
++msgstr "Erro : foram especificados vários tipos\n"
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr ""
+-"Desculpe, mas o -l só pode ser usado com o suporte para MLS do SELinux.\n"
++msgstr "Desculpe, o -l pode ser utilizado com o suporte MLS do SELinux.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+ msgid "Error: multiple levels specified\n"
+-msgstr "Erro: foram definidos vários níveis\n"
++msgstr "Erro: foram especificados vários níveis\n"
+ #: ../newrole/newrole.c:931
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+ msgstr ""
+-"Erro: não tem permissões para alterar os níveis num terminal não-seguro\n"
++"Erro: não tem permissões para alterar os níveis num terminal inseguro \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr "Não foi possível obter o tipo predefinido.\n"
++msgstr "Não foi possível obter o tipo por omissão.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr "não foi possível obter o novo contexto.\n"
++msgstr "não foi possível obter um novo contexto.\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+ msgid "failed to set new role %s\n"
+-msgstr "não foi possível definir o novo papel %s\n"
++msgstr "não foi possível definir um novo perfil %s\n"
+ #: ../newrole/newrole.c:981
+ #, c-format
+ msgid "failed to set new type %s\n"
+-msgstr "não foi possível definir o novo tipo %s\n"
++msgstr "não foi possível definir um novo tipo %s\n"
+ #: ../newrole/newrole.c:991
+ #, c-format
+ msgid "failed to build new range with level %s\n"
+-msgstr "não foi possível criar um novo intervalo com o nível %s\n"
++msgstr "não foi possível construir um novo intervalo com o nível %s\n"
+ #: ../newrole/newrole.c:996
+ #, c-format
+ msgid "failed to set new range %s\n"
+-msgstr "não foi possível definir o novo intervalo %s\n"
++msgstr "não foi possível definir um novo intervalo %s\n"
+ #: ../newrole/newrole.c:1004
+ #, c-format
+ msgid "failed to convert new context to string\n"
+-msgstr "não foi possível converter o novo contexto para texto\n"
++msgstr "não foi possível converter o novo contexto para string\n"
+ #: ../newrole/newrole.c:1009
+ #, c-format
+@@ -1128,7 +1149,7 @@
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr "Não é possível reservar memória para o novo_contexto"
++msgstr "Não é possível alocar memória para \"new_context\""
+ #: ../newrole/newrole.c:1042
+ #, c-format
+@@ -1138,48 +1159,47 @@
+ #: ../newrole/newrole.c:1050
+ #, c-format
+ msgid "Unable to set SIGHUP handler\n"
+-msgstr "Não é possível atribuir a rotina do SIGHUP\n"
++msgstr "Não é possível definir o descritor da rotina SIGHUP\n"
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr ""
+-"Desculpe, mas o 'newrole' só pode ser usado num 'kernel' com SELinux.\n"
++msgstr "Desculpe, mas o 'newrole' só pode ser utilizado num kernel SELinux.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr "não foi possível obter o contexto antigo.\n"
++msgstr "não foi possível obter o contexto antigo (\"old_context\").\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Erro! Não foi possível obter a informação do TTY.\n"
++msgstr "Erro! Não foi possível obter informação do tty.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr "erro ao ler a configuração de serviços do PAM.\n"
++msgstr "erro ao ler a configuração do serviço PAM.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr "newrole: a senha do %s é incorrecta\n"
++msgstr "newrole: senha incorrecta para %s\n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+ msgid "newrole: failure forking: %s"
+-msgstr "newrole: não foi possível criar um sub-processo: %s"
++msgstr "newrole: não foi possível criar um novo processo (\"fork\"): %s"
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr "Não foi possível repor a legenda do TTY...\n"
++msgstr "Não foi possível repor a legenda do tty...\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+ msgid "Failed to close tty properly\n"
+-msgstr "não foi possível fechar devidamente o TTY\n"
++msgstr "não foi possível fechar o tty adequadamente\n"
+ #: ../newrole/newrole.c:1287
+ #, c-format
+@@ -1189,31 +1209,35 @@
+ #: ../newrole/newrole.c:1314
+ #, c-format
+ msgid "Error allocating shell's argv0.\n"
+-msgstr "Erro ao reservar o argv0 da linha de comandos.\n"
++msgstr "Erro ao alocar o argumento argv0 da consola.\n"
+ #: ../newrole/newrole.c:1346
+ #, c-format
+ msgid "Unable to restore the environment, aborting\n"
+-msgstr "Não foi possível repor o ambiente, a interromper\n"
++msgstr "Não foi possível restaurar o ambiente, a interromper\n"
+ #: ../newrole/newrole.c:1357
+ msgid "failed to exec shell\n"
+-msgstr "não foi possível executar a linha de comandos\n"
++msgstr "não foi possível executar a consola\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "utilização:  %s [-q]\n"
++msgstr "utilização:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+ msgstr ""
++"%s:  Esta política já foi carregada e o carregamento inicial já foi "
++"requisitado.\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  Não é possível carregar a política:  %s\n"
++msgstr ""
++"%s:  Não é possível carregar a política e foi requerido o modo de execução "
++"forçada:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1222,7 +1246,7 @@
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+-msgstr "É necessária pelo menos uma categoria"
++msgstr "Requer pelo menos uma categoria"
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+@@ -1232,12 +1256,12 @@
+ #: ../scripts/chcat:110
+ #, c-format
+ msgid "%s is already in %s"
+-msgstr "O %s já está em %s"
++msgstr "%s já está em %s"
+ #: ../scripts/chcat:188 ../scripts/chcat:198
+ #, c-format
+ msgid "%s is not in %s"
+-msgstr "O %s não está em %s"
++msgstr "%s não está em %s"
+ #: ../scripts/chcat:267 ../scripts/chcat:272
+ msgid "Can not combine +/- with other types of categories"
+@@ -1289,7 +1313,7 @@
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr "Use o -- para terminar a lista de opções. Por exemplo"
++msgstr "Utilize -- para terminar a lista de opções. Por exemplo"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+@@ -1297,1478 +1321,2268 @@
+ #: ../scripts/chcat:335
+ msgid "chcat -l +CompanyConfidential juser"
+-msgstr "chcat -l +ConfidencialEmpresa ze"
++msgstr "chcat -l +ConfidencialEmpresa jose"
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
+ msgstr "Erro nas Opções %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "as traduções não são suportadas em máquinas não-MLS"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Booleano"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "tudo"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Personalizado"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Etiquetagem de Ficheiros"
+-#~ msgid "Boolean"
+-#~ msgstr "Booleano"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Especificação\n"
++"do Ficheiro"
+-#, fuzzy
+-#~ msgid "all"
+-#~ msgstr "Tudo"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Tipo de Ficheiro\n"
++"SELinux"
+-#~ msgid "File Labeling"
+-#~ msgstr "Legendagem de Ficheiros"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Tipo de\n"
++"Ficheiro"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Especificação\n"
+-#~ "do Ficheiro"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Mapeamento de Utilizadores"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Contexto\n"
+-#~ "do SELinux"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Nome da\n"
++"Conta"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Tipo de\n"
+-#~ "Ficheiro"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"Utilizador\n"
++"SELinux"
+-#~ msgid "User Mapping"
+-#~ msgstr "Mapeamento de Utilizadores"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Intervalo\n"
++"MLS/MCS"
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Nome da\n"
+-#~ "Conta"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "A conta '%s' é obrigatória"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "Utilizador\n"
+-#~ "do SELinux"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Módulo da Política"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "Intervalo\n"
+-#~ "do MLS/MCS"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Nome do Módulo"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "A conta '%s' é obrigatória"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Versão"
+-#~ msgid "Policy Module"
+-#~ msgstr "Módulo da Política"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Desactivar a Auditoria"
+-#~ msgid "Module Name"
+-#~ msgstr "Nome do Módulo"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Activar a Auditoria"
+-#~ msgid "Version"
+-#~ msgstr "Versão"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Carregar o Módulo da Política"
+-#~ msgid "Disable Audit"
+-#~ msgstr "Desactivar a Auditoria"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Enable Audit"
+-#~ msgstr "Activar a Auditoria"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Carregar o Módulo da Política"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"José Nuno Pires <jncp@netcabo.pt>, 2006.\n"
++"Rui Gouveia <rui.gouveia@globaltek.pt>, 2009."
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Esta ferramenta pode ser utilizada para gerar uma plataforma de políticas, "
++"para confinar as aplicações ou os utilizadores utilizando SELinux.   \n"
++"\n"
++"A ferramenta gera:\n"
++"Ficheiro de execução de tipos (te)\n"
++"Ficheiro de interface (if)\n"
++"Ficheiro de contextos de ficheiros (fc)\n"
++"Scripts de Consola (sh) - utilizado para compilar e instalar a política. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Seleccione o tipo de perfil da aplicação/utilizador a confinar."
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Aplicações</b>"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Os Serviços Init standard são serviços que são iniciados no arranque através "
++"de scripts init.  Normalmente é necessário um script em /etc/init.d"
+-#~ msgid "translator-credits"
+-#~ msgstr "José Nuno Pires <jncp@netcabo.pt>, 2006."
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Serviço Init Standard"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Ferramenta de Geração de Políticas do SELinux"
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Serviço DBUS do sistema"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Esta ferramenta pode ser usada para gerar uma plataforma de políticas, "
+-#~ "para confinar as aplicações ou os utilizadores no SELinux.   \n"
+-#~ "A ferramenta gera:\n"
+-#~ "Ficheiro de aplicação de tipos (te)\n"
+-#~ "Ficheiro da interface (if)\n"
+-#~ "Ficheiro de contextos dos ficheiros (fc)\n"
+-#~ "Programa (sh) - usado para compilar e instalar a política. "
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Os Serviços de Internet são serviços iniciados pelo xinetd"
+-#, fuzzy
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Seleccionar o perfil da aplicação ou utilizador a confinar."
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Serviços de Internet (inetd)"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Aplicações</b>"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Aplicações/Scripts Web (CGI) são scripts iniciados pelo servidor web (apache)"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Os Servidores-Padrão do Init são serviços que só iniciados no arranque "
+-#~ "através dos programas do 'init'. Normalmente é necessário um programa no "
+-#~ "'/etc/init.d'"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Aplicação/Script Web (CGI)"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Servidor do Init Normal"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Aplicações do Utilizador são quaisquer aplicações que deseje confinar e que "
++"sejam iniciadas por um utilizador"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Os Serviços de Internet são servidores iniciados pelo 'xinetd'"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Aplicação do Utilizador"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Serviços de Internet (inetd)"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Utilizadores</b>"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "As Aplicações/Programas Web (CGI) são programas iniciados pelo servidor "
+-#~ "Web (Apache)"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modificar o registo de um utilizador existente."
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Aplicação/Programa Web (CGI)"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Perfis de Utilizador Existentes"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Uma Aplicação do Utilizador é qualquer aplicação que deseje confinar e "
+-#~ "que seja iniciada por um utilizador"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Este utilizador irá iniciar sessão numa máquina apenas por via de um "
++"terminal ou sessão remota.  Por omissão, este utilizador não terá setuid, "
++"rede, sudo ou su."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Perfil Minimal de Utilizador de Terminal "
+-#~ msgid "User Application"
+-#~ msgstr "Aplicação do Utilizador"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Este utilizador pode iniciar sessão via X ou terminal.  Por omissão, este "
++"utilizador não terá setuid, rede, sudo ou su."
+-#, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Utilizadores</b>"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Perfil Minimal de Utilizador de X Windows"
+-#, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "Papel"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Utilizador com acesso total à rede, sem aplicações setuid sem transição, sem "
++"sudo nem su."
+-#, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Utilizadores</b>"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Perfil de Utilizador"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Seleccione Administrador, se este utilizador será usado para administrar "
+-#~ "a máquina enquanto estiver a correr como 'root'. Este utilizador não se "
+-#~ "poderá ligar directamente ao sistema."
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Utilizador com acesso total à rede, sem aplicações setuid sem transição, sem "
++"su, mas pode utilizar sudo para tarefas de administração"
+-#, fuzzy
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Administrador"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Perfil de Utilizador Administrador"
+-#, fuzzy
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Seleccionar o perfil da aplicação ou utilizador a confinar."
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Utilizadores Root</b>"
+-#~ msgid "Name"
+-#~ msgstr "Nome"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Seleccione o Perfil de Utilizador Administrador Root, se este utilizador "
++"será utilizado para administrar a máquina enquanto estiver a correr como "
++"root. Este utilizador não conseguirá iniciar uma sessão directamente no "
++"sistema."
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Indique a localização completa do executável a confinar."
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Perfil de Utilizador Administrador Root"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Insira o nome da aplicação ou perfil de utilizador a confinar"
+-#, fuzzy
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Indique um nome único para o tipo do utilizador ou aplicação confinado."
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Nome"
+-#~ msgid "Executable"
+-#~ msgstr "Executável"
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Indique o caminho completo do executável a confinar."
+-#~ msgid "Init script"
+-#~ msgstr "Programa do Init"
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Indique a localização completa do programa do 'init' usada para iniciar a "
+-#~ "aplicação confinada."
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++"Insira um nome único para a aplicação ou perfil de utilizador confinados."
+-#, fuzzy
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr ""
+-#~ "Seleccione os papéis ou perfis para os quais este utilizador poderá mudar"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Executável"
+-#, fuzzy
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "Seleccione os domínios do utilizador adicionais para a transição"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "script Init"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Seleccione os domínios de aplicações para onde deseja que este utilizador "
+-#~ "transite."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Indique o caminho completo do script init utilizado para iniciar a aplicação "
++"confinada."
+-#, fuzzy
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "Seleccione os domínios que este utilizador irá administrar"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Seleccione os perfis de utilizador que pretende personalizar"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr ""
+-#~ "Seleccione os domínios que gostaria que este utilizador administrasse."
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Selecione os perfis de utilizador que irão transitar para os domínios desta "
++"aplicação."
+-#, fuzzy
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Seleccione os domínios do utilizador adicionais para a transição"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Seleccione domínios adicionais para os quais este perfil de utilizador "
++"poderá transitar"
+-#, fuzzy
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "Indique uma lista separada por vírgulas de portos de UDP aonde esta "
+-#~ "aplicação se liga."
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Seleccione os domínios de aplicações para onde gostaria que este perfil de "
++"utilizador possa transitar."
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>Portos de TCP</b>"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++"Seleccione os perfis de utilizador que irão transitar para este domínio"
+-#, fuzzy
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Permitir a um utilizador/aplicação confinado associar-se a qualquer porto "
+-#~ "de UDP"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++"Seleccione domínios adicionais que este perfil de utilizador irá administrar"
+-#~ msgid "All"
+-#~ msgstr "Tudo"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Seleccione os domínios que gostaria que este utilizador administrasse."
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Permitir a um utilizador/aplicação invocar o 'bindresvport' com 0, para "
+-#~ "se associar aos portos 600-1024"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Seleccione perfis adicionais para este utilizador"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Digite os portos de rede onde o perfil desta aplicação/utilizador ficam à "
++"escuta"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Indique uma lista separada por vírgulas de portos de UDP aonde esta "
+-#~ "aplicação se liga."
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Portos TCP</b>"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Portos Não-Reservados (> 1024)"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Permitir que o perfil de aplicação/utilizador confinado se possa associar a "
++"qualquer porto udp"
+-#~ msgid "Select Ports"
+-#~ msgstr "Seleccionar os Portos"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Tudo"
+-#, fuzzy
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Permitir a um utilizador/aplicação associar-se a qualquer porto de UDP > "
+-#~ "1024"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Permitir que o perfil de aplicação/utilizador possa invocar o bindresvport "
++"com valor 0, para se associar a portos entre 600-1024"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>Portos de UDP</b>"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#, fuzzy
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Indique uma lista separada por vírgulas de portos de UDP aonde esta "
+-#~ "aplicação se liga."
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Digite uma lista separada por vírgulas de portos udp ou intervalos de portos "
++"que o perfil de aplicação/utilizador se possa associar. Exemplo: 612, 650-660"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Indique uma lista separada por vírgulas de portos de UDP aonde esta "
+-#~ "aplicação se liga."
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Indique uma lista separada por vírgulas de portos de UDP aonde esta "
+-#~ "aplicação se liga."
+-
+-#, fuzzy
+-#~ msgid "Select common application traits"
+-#~ msgstr "Registos Comuns da Aplicação"
+-
+-#, fuzzy
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "A aplicação usa o 'syslog' para registar mensagens      "
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Portos Não-Reservados (> 1024)"
+-#, fuzzy
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "A aplicação usa o '/tmp' para criar/manipular ficheiros temporários"
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Seleccione os Portos"
+-#, fuzzy
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "A aplicação usa o PAM para se autenticar"
+-
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Erro ao enviar a mensagem de auditoria.\n"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Permitir que o perfil de aplicação/utilizador se possa associar a qualquer "
++"porto udp > 1024"
+-#, fuzzy
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr ""
+-#~ "Seleccione as pastas que pertencem à aplicação confinada ou onde esta "
+-#~ "grava"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Portos UDP</b>"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Adicione os Ficheiros/Pastas onde esta aplicação terá necessidade de "
+-#~ "\"Gravar\": ficheiros do PID, Ficheiros de Registo, Ficheiros do /var/"
+-#~ "lib..."
+-
+-#, fuzzy
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Seleccione os ficheiros que a aplicação confinada cria ou grava"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Digite os portos de rede onde o perfil desta aplicação/utilizador se pode "
++"conectar"
+-#, fuzzy
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Indique a localização completa do programa do 'init' usada para iniciar a "
+-#~ "aplicação confinada."
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Digite uma lista separada por vírgulas de portos tcp ou intervalos de portos "
++"que o perfil de aplicação/utilizador se possa conectar. Exemplo: 612, 650-660"
+-#, fuzzy
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Seleccione a pasta onde gerar os ficheiros de políticas"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Digite uma lista separada por vírgulas de portos udp ou intervalos de portos "
++"que o perfil de aplicação/utilizador se possa conectar. Exemplo: 612, 650-660"
+-#~ msgid "Policy Directory"
+-#~ msgstr "Pasta da Política"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Seleccione traços comuns nas aplicações"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Ficheiros da Política Gerados"
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Escreve mensagens no syslog\t"
+-#, fuzzy
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Esta ferramenta irá gerar o seguinte: Aplicação do Tipo (te), Contexto "
+-#~ "dos Ficheiros(fc), Interface(if), Programa(sh).\n"
+-#~ "Execute o programa para compilar/instalar e legendar de novo os ficheiros/"
+-#~ "pastas. Depois, poderá colocar a máquina no modo permissivo (setenforce "
+-#~ "0). \n"
+-#~ "Execute/reinicie a aplicação para gerar as mensagens do 'avc'.\n"
+-#~ "Use o 'audit2allow -R' para gerar regras adicionais para o ficheiro TE.\n"
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Cria/Manipula ficheiros temporários em /tmp"
+-#, fuzzy
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Esta ferramenta irá gerar o seguinte: Aplicação do Tipo (te), Contexto "
+-#~ "dos Ficheiros(fc), Interface(if), Programa(sh).\n"
+-#~ "Execute o programa para compilar/instalar e legendar de novo os ficheiros/"
+-#~ "pastas. Depois, poderá colocar a máquina no modo permissivo (setenforce "
+-#~ "0). \n"
+-#~ "Execute/reinicie a aplicação para gerar as mensagens do 'avc'.\n"
+-#~ "Use o 'audit2allow -R' para gerar regras adicionais para o ficheiro TE.\n"
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Utiliza PAM para a autenticação"
+-#, fuzzy
+-#~ msgid "Boolean Name"
+-#~ msgstr "Booleano"
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Utiliza nsswitch ou chamadas de sistema getpw*"
+-#~ msgid "Role"
+-#~ msgstr "Papel"
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Uitiliza dbus"
+-#~ msgid "Application"
+-#~ msgstr "Aplicação"
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Envia as mensagem de auditoria"
+-#, fuzzy
+-#~ msgid "%s must be a directory"
+-#~ msgstr "Permitir ao 'mount' montar qualquer pasta"
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interage com o terminal"
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Tem de indicar um nome"
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "envia email"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Seleccione o ficheiro executável a confinar."
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Seleccione os ficheiros/directórios que a aplicação gere"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Seleccione o ficheiro do programa do 'init' a confinar."
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Adicione os Ficheiros/Directórios onde a aplicação terá necessidade de "
++"\"Gravar\": Ficheiros PID, Ficheiros de Registo, Ficheiros em /var/lib ..."
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Seleccione os ficheiros que a aplicação confinada cria ou grava"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Seleccione os booleanos que a aplicação utiliza"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Seleccione as pastas que pertencem à aplicação confinada ou onde esta "
+-#~ "grava"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Adicione/Remova booleanos utilizados por esta aplicação/utilizador confinada/"
++"o"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Seleccione a pasta onde gerar os ficheiros de políticas"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Seleccione o directório onde gerar os ficheiros de políticas"
+-#~ msgid "You must enter a name"
+-#~ msgstr "Tem de indicar um nome"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Pasta das Políticas"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Tem de indicar um executável"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Ficheiros de Políticas Gerados"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Configurar o SELinux"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Esta ferramenta irá gerar o seguinte: \n"
++"Execução Forçada de Tipos(te), Contexto de Ficheiros(fc), Interface(if), "
++"Scripts(sh).\n"
++"Execute o script como root para compilar/instalar e etiquetar novamente os "
++"ficheiros/directórios. \n"
++"Utilize o semanage ou o useradd para mapear utilizadores Linux a perfis de "
++"utilizadores.\n"
++"Coloque a máquina no modo permissivo (setenforce 0). \n"
++"Inicie uma sessão como esse utilizador e teste o perfil do mesmo.\n"
++"Utilize o 'audit2allow -R' para gerar regras adicionais para o ficheiro te.\n"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Os portos deverão ser números de 1 a %d "
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Esta ferramenta irá gerar o seguinte: \n"
++"Execução Forçada de Tipos(te), Contexto de Ficheiros(fc), Interface(if), "
++"Scripts(sh).\n"
++"\n"
++"Execute o script como root para compilar/instalar e etiquetar novamente os "
++"ficheiros/directórios. \n"
++"Coloque a máquina no modo permissivo (setenforce 0). \n"
++"Execute/reinicie a aplicação para gerar as mensagens 'avc'.\n"
++"Utilize o 'audit2allow -R' para gerar regras adicionais para o ficheiro te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Adicionar Diálogo de Booleanos"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Nome do Booleano"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Perfil"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Utilizador_Existente"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Aplicação"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s precisa de ser uma directória"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Tem de seleccionar um utilizador"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Seleccione o ficheiro executável a confinar."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Seleccione o ficheiro do script init a confinar."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Seleccione os ficheiros que a aplicação confinada cria ou grava"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Seleccione os directórios que pertencem à aplicação confinada, onde esta "
++"pode gravar"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Seleccione o directório onde se pode gerar os ficheiros de políticas"
+-#, fuzzy
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "Tem de indicar um nome para o seu processo confinado"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Tipo %s_t já está definido na política actual.\n"
++"Deseja continuar?"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Os tipos do UTILIZADOR não permitem executáveis"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verificar nome"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Só as aplicações de SERVIDORES poderão usar um programa do 'init'"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Módulo %s.pp já está carregado na política actual.\n"
++"Deseja continuar?"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "O 'use_syslog' deverá ser um valor booleano "
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Tem de inserir um nome"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Os Tipos do UTILIZADOR obtém automaticamente um tipo 'tmp'"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Tem de inserir um executável"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr ""
+-#~ "Tem de indicar a localização do executável para o seu processo confinado"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Configurar o SELinux"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Ficheiro de Aplicação do Tipo"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Os portos têm de ser números ou intervalos de números de 1 a %d "
+-#~ msgid "Interface file"
+-#~ msgstr "Ficheiro de interface"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Tem de inserir um nome para o seu processo/utilizador confinado"
+-#~ msgid "File Contexts file"
+-#~ msgstr "Ficheiro de contexto dos ficheiros"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Os tipos de UTILIZADOR não permitem executáveis"
+-#~ msgid "Setup Script"
+-#~ msgstr "Programa de Configuração"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Só as aplicações de SERVIÇOS podem utilizar um script init"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Tipo do Porto\n"
+-#~ "de SELinux"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "'use_syslog' deverá ser um valor booleano "
+-#~ msgid "Protocol"
+-#~ msgstr "Protocolo"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Os Tipos UTILIZADOR obtém automaticamente o tipo 'tmp'"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Nível do\n"
+-#~ "MLS/MCS"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Tem de inserir o caminho do executável para o seu processo confinado"
+-#~ msgid "Port"
+-#~ msgstr "Porto"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Ficheiro de Execução Forçada de Tipos"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "O número de porto \"%s\" não é válido. 0 < NÚMERO PORTO < 65536 "
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Ficheiro de interface"
+-#~ msgid "Group View"
+-#~ msgstr "Vista de Grupo"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Ficheiro de contextos de ficheiros"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Protecção de Serviços do SELinux"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Script de Configuração"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o servidor 'acct'"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Porto de Rede"
+-#~ msgid "Admin"
+-#~ msgstr "Administração"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Tipo do Porto\n"
++"SELinux"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "Permitir a todos os servidores criarem ficheiros 'core' no /"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protocolo"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "Permitir a todos os servidores usarem TTYs não reservados"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"Nível\n"
++"MLS/MCS"
+-#~ msgid "User Privs"
+-#~ msgstr "Privilégios do Utilizador"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Porto"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "O número de porto \"%s\" não é válido. 0 < NÚMERO_PORTO < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Vista em Lista"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Vista de Grupo"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Protecção de Serviços SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Desactivar a protecção SELinux para o serviço acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Administração"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Permitir que todos os serviços criem ficheiros core em /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Permitir que todos os serviços possam utilizar ttys não alocados"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Privilégios do Utilizador"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir às contas de utilizadores 'gadmin' do SELinux executarem "
+-#~ "ficheiros na sua pasta pessoal ou na /tmp"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que a conta de utilizador SELinux gadmin possa executar ficheiros "
++"na sua área pessoal ou em /tmp"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir às contas convidadas do SELinux executarem ficheiros nas suas "
+-#~ "pastas pessoais ou na /tmp"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que a conta de utilizador SELinux guest possa executar ficheiros na "
++"sua área pessoal ou em /tmp"
+-#~ msgid "Memory Protection"
+-#~ msgstr "Protecção de Memória"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Protecção de Memória"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Permitir a pilha de execução do Java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Montar"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Permitir que o mount possa montar qualquer ficheiro"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Permitir que o mount possa montar qualquer directório"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Permitir a pilha de execução do mplayer"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Permitir que o SSH possa executar o ssh-keysign"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Permitir a pilha executável do Java"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que a conta de utilizador SELinux staff possa executar ficheiros na "
++"sua área pessoal ou em /tmp"
+-#~ msgid "Mount"
+-#~ msgstr "Montar"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que a conta de utilizador SELinux sysadm possa executar ficheiros "
++"na sua área pessoal ou em /tmp"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Permitir ao 'mount' montar qualquer ficheiro"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Permitir que as conta de utilizador SELinux não confinadas possam executar "
++"ficheiros na sua área pessoal ou em /tmp"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Permitir ao 'mount' montar qualquer pasta"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Configuração da Rede"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Permitir a pilha executável do MPlayer"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Permitir o tráfego na rede de pacotes sem etiqueta"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que a conta de utilizador SELinux user possa executar ficheiros na "
++"sua área pessoal ou em /tmp"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Permitir ao SSH executar o 'ssh-keysign'"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Permitir não confinados para dyntrans para unconfined_execmem"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir às contas 'staff' do SELinux executarem ficheiros nas suas "
+-#~ "pastas pessoais ou na /tmp"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Bases de Dados"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir às contas 'sysadm' do SELinux executarem ficheiros nas suas "
+-#~ "pastas pessoais ou na /tmp"
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Permitir ao utilizador ligar-se ao socket mysql"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Permitir às contas não-confinadas do SELinux executarem ficheiros nas "
+-#~ "suas pastas pessoais ou na /tmp"
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Permitir ao utilizador ligar-se ao socket postgres"
+-#~ msgid "Network Configuration"
+-#~ msgstr "Configuração da Rede"
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "Servidor X"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Permitir o fluxo de pacotes não-legendados pela rede"
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Permitir aos clientes escreverem para a memória partilhada do X"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Permitir às contas 'user' do SELinux executarem ficheiros nas suas pastas "
+-#~ "pessoais ou na /tmp"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Permitir que a conta de utilizador SELinux xguest possa executar ficheiros "
++"na sua área pessoal ou em /tmp"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "Permitir a não-confinação do 'dyntrans' para o 'unconfined_execmem'"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Permitir que os serviços se executem com NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Aplicações Web"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Transitar o utilizador SELinux staff para o Domínio de Navegação Web"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Transitar o utilizador SELinux sysadm para o Domínio de Navegação Web"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Transitar o utilizador SELinux user para o Domínio de Navegação Web"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Transitar o utilizador SELinux xguest para o Domínio de Navegação Web"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"Permitir aos Navegadores Web do utilizador staff escrever nos directórios "
++"pessoais"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Desactivar a protecção SELinux para o amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Desactivar a protecção SELinux para amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço apmd"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Desactivar a protecção SELinux para o serviço arpwatch"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço auditd"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Desactivar a protecção SELinux para o serviço automount"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Desactivar a protecção SELinux para o avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Desactivar a protecção SELinux para o serviço bluetooth"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Desactivar a protecção SELinux para o serviço canna"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Desactivar a protecção SELinux para o serviço cardmgr"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Desactivar a protecção SELinux para o Servidor Cluster"
+-#~ msgid "Databases"
+-#~ msgstr "Bases de Dados"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Permitir ao cdrecord ler conteúdos diversos. nfs, samba, dispositivos "
++"removíveis, ficheiros temporários e ficheiros de conteúdo não-confiável"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Permitir ao utilizador ligar-se ao porto do MySQL"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ciped"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Permitir ao utilizador ligar-se ao porto do PostgreSQL"
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço clamd"
+-#~ msgid "XServer"
+-#~ msgstr "Servidor X"
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Desactivar a protecção SELinux para o serviço clamscan"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Permitir aos clientes escreverem na memória partilhada do X"
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Desactivar a protecção SELinux para o serviço clvmd"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Permitir às contas 'xguest' do SELinux executarem ficheiros nas suas "
+-#~ "pastas pessoais ou na /tmp"
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Desactivar a protecção SELinux para o serviço comsat"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Desactivar a protecção SELinux para o serviço courier"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Permitir aos servidores executarem com o NIS"
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Desactivar a protecção SELinux para o serviço cpucontrol"
+-#~ msgid "Web Applications"
+-#~ msgstr "Aplicações Web"
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Desactivar a protecção SELinux para o serviço cpuspeed"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transitar o utilizador 'staff' do SELinux para o Domínio de Navegação Web"
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transitar o utilizador 'sysadm' do SELinux para o Domínio de Navegação Web"
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Desactivar a protecção SELinux para o serviço crond"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transitar o utilizador 'user' do SELinux para o Domínio de Navegação Web"
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Impressão"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr ""
+-#~ "Transitar o utilizador 'xguest' do SELinux para o Domínio de Navegação Web"
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++"Desactivar a protecção SELinux para o serviço de infra-estrutura do cupsd"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr ""
+-#~ "Permitir aos Navegadores Web do 'staff' escrever nas pastas pessoais"
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço cupsd"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Desactivar a protecção do SELinux para o Amanda"
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Desactivar a protecção SELinux para o serviço cupsd_lpd"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Desactivar a protecção do SELinux para o Amavis"
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'apmd'"
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Desactivar a protecção SELinux para o serviço cvs"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'arpwatch'"
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Desactivar a protecção SELinux para o serviço cyrus"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'auditd'"
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dbskkd"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'automount'"
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dbusd"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Desactivar a protecção do SELinux para o Avahi"
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Desactivar a protecção SELinux para o serviço dccd"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'bluetooth'"
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Desactivar a protecção SELinux para o serviço dccifd"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'canna'"
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Desactivar a protecção SELinux para o serviço dccm"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'cardmgr'"
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ddt"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Desactivar a protecção do SELinux para o Servidor de 'Clusters'"
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço devfsd"
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Permitir ao 'cdrecord' ler conteúdo diverso: ficheiros de conteúdo não-"
+-#~ "fiável e temporário, NFS, Samba, dispositivos removíveis, etc"
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dhcpc"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ciped'"
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dhcpd"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'clamd'"
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dictd"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'clamscan'"
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Permitir ao 'sysadm_t' iniciar serviços directamente"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'clvmd'"
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Desactivar a protecção SELinux para o Evolution"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'comsat'"
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Jogos"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'courier'"
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Desactivar a protecção SELinux para os jogos"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'cpucontrol'"
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Desactivar a protecção SELinux para os navegadores Web"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'cpuspeed'"
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Desactivar a protecção SELinux para o Thunderbird"
+-#~ msgid "Cron"
+-#~ msgstr "CRON"
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço distccd"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'crond'"
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dmesg"
+-#~ msgid "Printing"
+-#~ msgstr "Impressão"
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dnsmasq"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr ""
+-#~ "Desactivar a protecção do SELinux para o serviço de infra-estrutura do "
+-#~ "'cupsd'"
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Desactivar a protecção SELinux para o serviço dovecot"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'cupsd'"
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço entropyd"
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'cupsd_lpd'"
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Desactivar a protecção SELinux para o fetchmail"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço fingerd"
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'cvs'"
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Desactivar a protecção SELinux para o serviço freshclam"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'cyrus'"
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Desactivar a protecção SELinux para o serviço fsdaemon"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dbskkd'"
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Desactivar a protecção SELinux para o serviço gpm"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dbusd'"
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dccd'"
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Desactivar a protecção SELinux para o serviço gss"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dccifd'"
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Desactivar a protecção SELinux para o serviço Hal"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dccm'"
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Compatibilidade"
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ddt'"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Não auditar coisas que se sabem problemáticas mas que não são problemas de "
++"segurança"
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'devfsd'"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Desactivar a protecção SELinux para o serviço hostname"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dhcpc'"
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Desactivar a protecção SELinux para o serviço hotplug"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dhcpd'"
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Desactivar a protecção SELinux para o serviço howl"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dictd'"
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Desactivar a protecção SELinux para o serviço hplip (do cups)"
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Permitir ao 'sysadm_t' iniciar directamente os serviços"
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Desactivar a protecção SELinux para o serviço rotatelogs (do httpd)"
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Desactivar a protecção do SELinux para o Evolution"
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Serviço HTTPD"
+-#~ msgid "Games"
+-#~ msgstr "Jogos"
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Desactivar a protecção SELinux para o serviço suexec (do httpd)"
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Desactivar a protecção do SELinux para os jogos"
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Desactivar a protecção SELinux para o serviço hwclock"
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Desactivar a protecção do SELinux para os navegadores Web"
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Desactivar a protecção SELinux para o serviço i18n"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Desactivar a protecção do SELinux para o Thunderbird"
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Desactivar a protecção SELinux para o serviço imazesrv"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'distccd'"
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Desactivar a protecção SELinux para os serviços lançados pelo inetd"
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dmesg'"
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço inetd"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dnsmasq'"
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço innd"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'dovecot'"
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Desactivar a protecção SELinux para o serviço iptables"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'entropyd'"
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ircd"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'fetchmail'"
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Desactivar a protecção SELinux para o serviço irqbalance"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'fingerd'"
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Desactivar a protecção SELinux para o serviço iscsi"
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'freshclam'"
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço jabberd"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'fsdaemon'"
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'gpm'"
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Desactivar a protecção SELinux para o serviço kadmin"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço klog"
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'gss'"
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Desactivar a protecção SELinux para o serviço krb5kdc"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'hal'"
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Desactivar a protecção SELinux para os serviços do ktalk"
+-#~ msgid "Compatibility"
+-#~ msgstr "Compatibilidade"
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Desactivar a protecção SELinux para o serviço kudzu"
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Não auditar as coisas marcadas como problemáticas mas que não são "
+-#~ "problemas de segurança"
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Desactivar a protecção SELinux para o serviço locate"
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'hostname'"
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço lpd"
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'hotplug'"
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço lrrd"
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'howl'"
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Desactivar a protecção SELinux para o serviço lvm"
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'hplip' do CUPS"
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Desactivar a protecção SELinux para o mailman"
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr ""
+-#~ "Desactivar a protecção do SELinux para o serviço 'rotatelogs' do HTTPD"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Permitir ao Evolution e Thunderbird lerem ficheiros do utilizador"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "Serviço do HTTPD"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Desactivar a protecção SELinux para o serviço mdadm"
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'suexec' do HTTPD"
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço monopd"
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'hwclock'"
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Permitir ao navegador Mozilla ler os ficheiros do utilizador"
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'i18n'"
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Desactivar a protecção SELinux para o serviço mrtg"
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'imazesrv'"
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Desactivar a protecção SELinux para o serviço mysqld"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr ""
+-#~ "Desactivar a protecção do SELinux para os serviços-filhos do 'inetd'"
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Desactivar a protecção SELinux para o serviço nagios"
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'inetd'"
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Serviço de Nomes"
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'innd'"
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Desactivar a protecção SELinux para o serviço named"
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'iptables'"
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço nessusd"
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ircd'"
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Desactivar a protecção SELinux para o NetworkManager"
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'irqbalance'"
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço nfsd"
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'iscsi'"
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'jabberd'"
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço nmbd"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Desactivar a protecção SELinux para o serviço nrpe"
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'kadmin'"
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço nscd"
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'klog'"
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço nsd"
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'krb5kdc'"
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ntpd"
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Desactivar a protecção do SELinux para os serviços do 'ktalk'"
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Desactivar a protecção SELinux para o Oddjob"
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'kudzu'"
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Desactivar a protecção SELinux para o oddjob_mkhomedir"
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'locate'"
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Desactivar a protecção SELinux para o serviço openvpn"
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'lpd'"
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Desactivar a protecção SELinux para o serviço pam"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'lrrd'"
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Desactivar a protecção SELinux para o serviço pegasus"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'lvm'"
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Desactivar a protecção SELinux para o serviço perdition"
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'mailman'"
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Desactivar a protecção SELinux para o serviço portmap"
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "Permitir ao Evolution e Thunderbird lerem ficheiros do utilizador"
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Desactivar a protecção SELinux para o serviço portslave"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'mdadm'"
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Desactivar a protecção SELinux para o postfix"
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'monopd'"
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Desactivar a protecção SELinux para o serviço postgresql"
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Permitir ao navegador Mozilla ler os ficheiros do utilizador"
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'mrtg'"
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Permitir ao pppd ser executado por um utilizador regular"
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'mysqld'"
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Desactivar a protecção SELinux para o pptp"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'nagios'"
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Desactivar a protecção SELinux para o serviço prelink"
+-#~ msgid "Name Service"
+-#~ msgstr "Serviço de Nomes"
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Desactivar a protecção SELinux para o serviço privoxy"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'named'"
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ptal"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'nessusd'"
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Desactivar a protecção SELinux para o serviço pxe"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Desactivar a protecção do SELinux para o NetworkManager"
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Desactivar a protecção SELinux para o pyzord"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'nfsd'"
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Desactivar a protecção SELinux para o serviço quota"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço radiusd"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'nmbd'"
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço radvd"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'nrpe'"
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Desactivar a protecção SELinux para o serviço rdisc"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'nscd'"
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Desactivar a protecção SELinux para o serviço readahead"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'nsd'"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Permitir aos programas lerem ficheiros em locais não usuais (default_t)"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ntpd'"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Desactivar a protecção SELinux para o restorecond"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Desactivar a protecção do SELinux para o Oddjob"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Desactivar a protecção SELinux para o serviço rhgb"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'oddjob_mkhomedir'"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Desactivar a protecção SELinux para o ricci"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'openvpn'"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Desactivar a protecção SELinux para o ricci_modclusterd"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'pam'"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Desactivar a protecção SELinux para o serviço rlogind"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'pegasus'"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço rpcd"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'perdition'"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Desactivar a protecção SELinux para o rshd"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'portmap'"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'portslave'"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Desactivar a protecção SELinux para o serviço rsync"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'postfix'"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++"Permitir ao SSH ser executado a partir do inetd em vez de ser como um serviço"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'postgresql'"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Permitir ao Samba partilhar directórios nfs"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Servidor de autenticação SASL"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Permitir ao 'pppd' ser executado por um utilizador normal"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Permitir ao servidor de autenticação SASL ler o '/etc/shadow'"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'pptp'"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Permitir ao Servidor X mapear uma região de memória como executável e para "
++"escrita em simultâneo"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'prelink'"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço saslauthd"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'privoxy'"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Desactivar a protecção SELinux para o serviço scannerdaemon"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ptal'"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Não permitir a transição para 'sysadm_t', o sudo e o su são afectados"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'pxe'"
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Não permitir a nenhum processo carregar módulos do kernel"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'pyzord'"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Não permitir a nenhum processo modificar a política SELinux do kernel"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'quota'"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Desactivar a protecção SELinux para o serviço sendmail"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'radiusd'"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Desactivar a protecção SELinux para o serviço setrans"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'radvd'"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Desactivar a protecção SELinux para o serviço setroubleshoot"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'rdisc'"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço slapd"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'readahead'"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Desactivar a protecção SELinux para o serviço slrnpull"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Permitir aos programas lerem ficheiros em pastas fora do normal "
+-#~ "(default_t)"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço smbd"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'restorecond'"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço snmpd"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'rhgb'"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Desactivar a protecção SELinux para o serviço snort"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'ricci'"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço soundd"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'ricci_modclusterd'"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Desactivar a protecção SELinux para o serviço sound"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'rlogind'"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Protecção contra Spam"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'rpcd'"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço spamd"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'rshd'"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Permitir ao spamd aceder aos directórios pessoais"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Permitir o acesso à rede ao serviço Spam Assassin"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'rsync'"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Desactivar a protecção SELinux para o serviço speedmgmt"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr ""
+-#~ "Permitir ao SSH correr a partir do 'inetd' em vez de ser um servidor"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Permitir ao Samba partilhar as pastas do NFS"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Permitir ao servidor squid aceder à rede"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Servidor de autenticação do SASL"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Desactivar a protecção SELinux para o serviço squid"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Permitir ao servidor de autenticação do SASL ler o '/etc/shadow'"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ssh"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Permitir ao servidor do X mapear uma região de memória como executável e "
+-#~ "para escrita"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Permitir inícios de sessão SSH como 'sysadm_r:sysadm_t'"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'saslauthd'"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Permitir aos utilizadores 'staff_r' pesquisarem a pasta pessoal do 'sysadm' "
++"e lerem ficheiros (como o ~/.bashrc)"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'scannerdaemon'"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Túnel de SSL universal"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr ""
+-#~ "Não permitir a transição para o 'sysadm_t'; o 'sudo' e o 'su' são "
+-#~ "afectados"
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Desactivar a protecção SELinux para o serviço stunnel"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Não permitir a nenhum processo carregar módulos do 'kernel'"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Permitir ao serviço stunnel executar-se autonomamente, fora do xinetd"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr ""
+-#~ "Não permitir a nenhum processo modificar a política do SELinux no 'kernel'"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Desactivar a protecção SELinux para o serviço swat"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'sendmail'"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Desactivar a protecção SELinux para o serviço sxid"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'setrans'"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço syslogd"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'setroubleshoot'"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Desactivar a protecção SELinux para as tarefas cron do sistema"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'slapd'"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Desactivar a protecção SELinux para o serviço tcp"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'slrnpull'"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Desactivar a protecção SELinux para o serviço telnet"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'smbd'"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço tftpd"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'snmpd'"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Desactivar a protecção SELinux para o serviço transproxy"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'snort'"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Desactivar a protecção SELinux para o serviço udev"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'soundd'"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Desactivar a protecção SELinux para o serviço uml"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'sound'"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Permitir ao xinetd executar-se não-confinado, incluindo os serviços que "
++"inicia que não têm uma transição de domínio definida explicitamente"
+-#, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "Protecção contra Spam"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Permitir aos scripts 'rc' executarem-se não-confinados, incluindo os "
++"serviços iniciados por um script 'rc' que não tenha uma transição de domínio "
++"definida explicitamente"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'spamd'"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Permitir ao rpm ser executado não-confinado"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Permitir ao 'spamd' aceder às pastas pessoais"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Permitir a execução não-confinada dos utilitários privilegiados como o "
++"hotplug e o insmod"
+-#, fuzzy
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Permitir ao servidor do Spam Assassin aceder à rede"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Desactivar a protecção SELinux para o serviço updfstab"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'speedmgmt'"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Desactivar a protecção SELinux para o serviço uptimed"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Permitir ao 'user_r' aceder ao 'sysadm_r' com o su, sudo ou o userhelper. "
++"Caso contrário, só o 'staff_r' o poderá fazer"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Permitir ao servidor Squid aceder à rede"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Permitir aos utilizadores executarem o comando mount"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'squid'"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Permitir aos utilizadores regulares acederem ao rato directamente (só "
++"permite o servidor X)"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ssh'"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Permitir aos utilizadores executarem o comando dmesg"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permitir as autenticações de SSH como 'sysadm_r:sysadm_t'"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Permitir aos utilizadores controlarem as interfaces de rede (também precisa "
++"do USERCTL=true)"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Permitir aos utilizadores 'staff_r' pesquisarem a pasta pessoal do "
+-#~ "'sysadm' e ler os ficheiros (como o ~/.bashrc)"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Permitir a um utilizador normal executar o ping"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Túnel de SSL universal"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Permitir a um utilizador ler e escrever (r/w) num 'noextattrfile' (FAT, "
++"CDROM, FLOPPY)"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'stunnel'"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Permitir aos utilizadores lerem e escreverem em dispositivos usb"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "Permitir ao serviço 'stunnel' executar-se autonomamente, fora do 'xinetd'"
++#: ../gui/selinux.tbl:216
++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 ""
++"Permitir aos utilizadores executarem servidores TCP (associar a portos e "
++"aceitar ligações do mesmo domínio e de utilizadores exteriores); desactivar "
++"isto força o modo passivo do FTP e poderá alterar outros protocolos"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'swat'"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Permitir ao utilizador executar o stat em ficheiros tty"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'sxid'"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Desactivar a protecção SELinux para o serviço uucpd"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'syslogd'"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Desactivar a protecção SELinux para o serviço vmware"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr ""
+-#~ "Desactivar a protecção do SELinux para as tarefas do CRON do sistema"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Desactivar a protecção SELinux para o serviço watchdog"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'tcp'"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Desactivar a protecção SELinux para o serviço winbind"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'telnet'"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Desactivar a protecção SELinux para o serviço xdm"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'tftpd'"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Permitir inícios de sessão xdm como 'sysadm_r:sysadm_t'"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'transproxy'"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Desactivar a protecção SELinux para o serviço xen"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'udev'"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'uml'"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Permitir ao xen ler/escrever em dispositivos de disco físicos"
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permitir ao 'xinetd' correr como não-confinado, incluindo os serviços que "
+-#~ "inicia e que não têm uma transição de domínio definida explicitamente"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Desactivar a protecção SELinux para o serviço xfs"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Permitir aos programas 'rc' correrem como não-confinados, incluindo os "
+-#~ "serviços iniciados por um programa 'rc' que não tenha uma transição de "
+-#~ "domínio definida explicitamente"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Desactivar a protecção SELinux para o gestor do xen"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Permitir ao RPM ser executado como não-confinado"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ypbind"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Permitir a execução não-confinada dos utilitários privilegiados como o "
+-#~ "'hotplug' e o 'insmod'"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Desactivar a protecção SELinux para o Serviço de Senhas do NIS"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'updfstab'"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Desactivar a protecção SELinux para o serviço ypserv"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'uptimed'"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Desactivar a protecção SELinux para o Serviço de Transferências do NIS"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Permitir ao 'user_r' aceder ao 'sysadm_r' com o 'su', 'sudo' ou o "
+-#~ "'userhelper'. Caso contrário, só o 'staff_r' o poderá fazer"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Permitir que o utilizador SELinux webadm possa gerir as áreas pessoais dos "
++"utilizadores não-privilegiados"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Permitir aos utilizadores executarem o comando 'mount'"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Permitir que o utilizador SELinux webadm possa ler as áreas pessoais dos "
++"utilizadores não-privilegiados"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Permitir aos utilizadores normais acederem ao rato (só permitir o "
+-#~ "servidor X)"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Tem a certeza que deseja remover o %s '%s'?"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Permitir aos utilizadores executarem o comando 'dmesg'"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Apagar o %s"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Permitir aos utilizadores controlarem as interfaces de rede (também "
+-#~ "precisa do USERCTL=true)"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Adicionar o %s"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Permitir a um utilizador normal executar o 'ping'"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modificar o %s"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr ""
+-#~ "Permitir a um utilizador escrever num 'noextattrfile' (FAT, CDROM, FLOPPY)"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Permissivo"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Permitir aos utilizadores gravarem em dispositivos USB"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Execução forçada"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Desactivado"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Estado"
+-#~ 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 ""
+-#~ "Permitir aos utilizadores executarem servidores do TCP (associar a portos "
+-#~ "e aceitar ligações do mesmo domínio e de utilizadores exteriores); se "
+-#~ "desactivar isto irá forçar o modo passivo do FTP e poderá alterar outros "
+-#~ "protocolos"
++#: ../gui/statusPage.py:133
++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 ""
++"A mudança do tipo de política obriga a voltar a etiquetar todo o sistema de "
++"ficheiros no próximo arranque. Esta operação demora bastante tempo, "
++"dependendo do tamanho do sistema de ficheiros.  Deseja continuar?"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Permitir ao utilizador fazer um 'stat' em ficheiros de TTY"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"A mudança para a desactivação do SELinux necessita de um reinício do "
++"sistema. Isto não é recomendado. Se optar por activar de novo o SELinux, o "
++"sistema terá de ser etiquetado novamente. Se apenas pretender verificar se o "
++"SELinux está a provocar algum problema no seu sistema, poderá mudar para o "
++"modo permissivo, que só irá registar os erros e não irá forçar a política do "
++"SELinux. O modo permissivo não necessita de reiniciar o sistema. Deseja "
++"continuar?"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'uucpd'"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Activar o SELinux obriga a voltar a etiquetar todo o sistema de ficheiros no "
++"próximo arranque. Esta operação demora bastante tempo, dependendo do tamanho "
++"do sistema de ficheiros.  Deseja continuar?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'vmware'"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'watchdog'"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Adicionar um Mapeamento de Contas SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Adicionar Portos de Rede SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Tipo SELinux"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'winbind'"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"Nível MLS/MCS\n"
++"do SELinux"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'xdm'"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Especificação do Ficheiro"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Permitir as autenticações no 'xdm' como 'sysadm_r:sysadm_t'"
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Tipo de Ficheiro"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'xen'"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"todos os ficheiros\n"
++"ficheiro regular\n"
++"directório\n"
++"dispositivo de carácteres\n"
++"dispositivo de blocos\n"
++"socket\n"
++"ligação simbólica\n"
++"'pipe' com nome\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Adicionar um Utilizador SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Administração do SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Adicionar"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Propriedades"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "Apa_gar"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Seleccionar Objecto de Gestão"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Seleccionar:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Modo de Execução Forçada Por Omissão do Sistema"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Desactivado\n"
++"Permissivo\n"
++"Execução Forçada\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Modo de Execução Forçada Actual"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Tipo de Política Por Omissão do Sistema: "
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Permitir ao Xen ler/escrever em dispositivos físicos do disco"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Seleccione se deseja etiquetar de novo todo o sistema de ficheiros no "
++"próximo arranque. Esta nova etiquetagem poderá levar bastante tempo, "
++"dependendo do tamanho do sistema. Se estiver a alterar os tipos de políticas "
++"ou a mudar do modo desactivado para a execução forçada, a etiquetagem é "
++"obrigatória."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Etiquetar no próximo arranque."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Reverter definição booleana para o valor por omissão do sistema"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Alternar entre os booleanos personalizados e todos os booleanos"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Executar o assistente de bloqueador de booleanos"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Bloquear..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtro"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Adicionar um Contexto de Ficheiro"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modificar o Contexto de Ficheiro"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Apagar o Contexto de Ficheiro"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++"Alternar entre todos os contextos de ficheiro ou apenas os personalizados"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Adicionar um Mapeamento de Utilizador SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modificar o Mapeamento de Utilizador SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Apagar o Mapeamento de Utilizador SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Adicionar Utilizador"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modificar Utilizador"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Apagar Utilizador"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Adicionar Tradução"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modificar Tradução"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Apagar Tradução"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Adicionar um Porto de Rede"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Editar um Porto de Rede"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Apagar um Porto de Rede"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Alternar entre Personalizados e Todos os Portos"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Gerar um novo módulo de políticas"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Carregar módulo de políticas"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Remover módulo de política carregável"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'xfs'"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Activar/Desactivar as regras de auditoria adicionais, que não são "
++"normalmente reportadas nos ficheiros de registo."
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Desactivar a protecção do SELinux para o 'constrol' do Xen"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ypbind'"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Alterar o modo de processo para permissivo."
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o Servidor de Senhas do NIS"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Modificar modo do processo para execução forçada"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ypserv'"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Domínio do processo"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr ""
+-#~ "Desactivar a protecção do SELinux para o Servidor de Transferências do NIS"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permitir ao utilizador 'webadm' do SELinux gerir as pastas pessoais dos "
+-#~ "utilizadores não-privilegiados"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "O utilizador SELinux '%s' é obrigatório"
+ #, fuzzy
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Permitir ao utilizador 'webadm' do SELinux ler as pastas pessoais dos "
+-#~ "utilizadores não-privilegiados"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Tem a certeza que deseja remover o %s '%s'?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "Apagar o %s"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "Adicionar o %s"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "Modificar o %s"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "Permissivo"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "Obrigatório"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "Inactivo"
+-
+-#~ msgid "Status"
+-#~ msgstr "Estado"
+-
+-#~ 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 ""
+-#~ "A mudança do tipo de política obriga a voltar a etiquetar todo o sistema "
+-#~ "de ficheiros no próximo arranque. Esta operação demora bastante tempo, "
+-#~ "dependendo do tamanho do sistema de ficheiros.  Deseja continuar?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "A mudança para a desactivação do SELinux necessita de um reinício do "
+-#~ "sistema. Isto não é recomendado. Se optar por activar de novo o SELinux, "
+-#~ "o sistema terá de ser legendado de novo. Se apenas quiser ver se o "
+-#~ "SELinux está a provocar algum problema no seu sistema, poderá mudar para "
+-#~ "o modo permissivo, que só irá registar os erros e não irá aplicar a "
+-#~ "política do SELinux. O modo permissivo não necessita de reiniciar o "
+-#~ "sistema. Deseja continuar?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Activar o SELinux obriga a voltar a etiquetar todo o sistema de ficheiros "
+-#~ "no próximo arranque. Esta operação demora bastante tempo, dependendo do "
+-#~ "tamanho do sistema de ficheiros.  Deseja continuar?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Adicionar um Mapeamento de Contas do SELinux"
++#~ msgid "Sensitivity Level"
++#~ msgstr "Nível de Sensibilidade"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Adicionar Portos de Rede ao SELinux"
++#~ msgid "Modify SELinux User"
++#~ msgstr "Modificar o Utilizador do SELinux"
+-#~ msgid "SELinux Type"
+-#~ msgstr "Tipo do SELinux"
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "as traduções não são suportadas em máquinas não-MLS"
+ #~ msgid ""
+ #~ "tcp\n"
+@@ -2777,175 +3591,6 @@
+ #~ "TCP\n"
+ #~ "UDP"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "Nível MLS/MCS\n"
+-#~ "do SELinux"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "Especificação do Ficheiro"
+-
+-#~ msgid "File Type"
+-#~ msgstr "Tipo de Ficheiro"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "todos os ficheiros\n"
+-#~ "ficheiro normal\n"
+-#~ "pasta\n"
+-#~ "dispositivo de carácter\n"
+-#~ "dispositivo de bloco\n"
+-#~ "'socket'\n"
+-#~ "ligação simbólica\n"
+-#~ "'pipe' com nome\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Adicionar o Utilizador do SELinux"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "Administração do SELinux"
+-
+-#~ msgid "Add"
+-#~ msgstr "Adicionar"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "_Propriedades"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "Apa_gar"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "Seleccionar o Objecto da Gestão"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Seleccionar:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Modo de Aplicação Predefinido do Sistema"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Modo de Aplicação Actual"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Tipo de Política Predefinida do Sistema: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Seleccione se quiser legendar ou etiquetar de novo todo o sistema de "
+-#~ "ficheiros no próximo arranque. Esta nova legendagem poderá levar bastante "
+-#~ "tempo, dependendo do tamanho do sistema. Se estiver a alterar os tipos de "
+-#~ "políticas ou mudar do modo desactivado para o obrigatório, é necessária "
+-#~ "uma nova legendagem."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Legendar no próximo arranque."
+-
+-#~ msgid "label37"
+-#~ msgstr "label37"
+-
+-#~ msgid "Filter"
+-#~ msgstr "Filtro"
+-
+-#~ msgid "label50"
+-#~ msgstr "label50"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "Adicionar um Contexto de Ficheiros"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "Modificar o Contexto de Ficheiros"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "Apagar o Contexto de Ficheiros"
+-
+-#~ msgid "label38"
+-#~ msgstr "label38"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Adicionar um Mapeamento de Utilizadores do SELinux"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Modificar o Mapeamento de Utilizadores do SELinux"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Apagar o Mapeamento de Utilizadores do SELinux"
+-
+-#~ msgid "label39"
+-#~ msgstr "label39"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "Adicionar uma Tradução"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "Modificar a Tradução"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "Apagar a Tradução"
+-
+-#~ msgid "label41"
+-#~ msgstr "label41"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Modificar o Utilizador do SELinux"
+-
+-#~ msgid "label40"
+-#~ msgstr "label40"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "Adicionar um Porto de Rede"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Editar o Porto de Rede"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Apagar o Porto de Rede"
+-
+-#~ msgid "label42"
+-#~ msgstr "label42"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Gerar um novo módulo de política"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "Carregar o módulo de políticas"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Remover o módulo de política carregável"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Desactivar as regras de auditoria adicionais, que não são normalmente "
+-#~ "comunicadas nos ficheiros de registo."
+-
+-#~ msgid "label44"
+-#~ msgstr "label44"
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "Nível de Sensibilidade"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "O utilizador do SELinux '%s' é obrigatório"
+-
+ #~ msgid "Requires value"
+ #~ msgstr "É necessário um valor"
+@@ -3025,7 +3670,7 @@
+ #~ msgstr "valor"
+ #~ msgid "You must be root to run %s."
+-#~ msgstr "Deverá ser o 'root' para executar o %s."
++#~ msgstr "Deverá ser o root' para executar o %s."
+ #~ msgid "Other"
+ #~ msgstr "Outro"
+@@ -3063,8 +3708,8 @@
+ #~ "Application uses nsswitch or translates UID's (daemons that run as non "
+ #~ "root)"
+ #~ msgstr ""
+-#~ "A aplicação usa o 'nsswitch' ou traduz os UIDs (servidores que se "
+-#~ "executam como não-root)"
++#~ "A aplicação usa o nsswitch' ou traduz os UIDs (servidores que se executam "
++#~ "como não-root)"
+ #~ msgid "Files and Directories"
+ #~ msgstr "Ficheiros e Pastas"
+@@ -3125,12 +3770,12 @@
+ #~ msgstr "FTP"
+ #~ msgid "Allow ftpd to full access to the system"
+-#~ msgstr "Permitir ao 'ftpd' ter acesso completo ao sistema"
++#~ msgstr "Permitir ao ftpd' ter acesso completo ao sistema"
+ #~ msgid ""
+ #~ "Allow ftpd to upload files to directories labeled public_content_rw_t"
+ #~ msgstr ""
+-#~ "Permitir ao 'ftpd' enviar ficheiros para pastas marcadas como "
++#~ "Permitir ao ftpd' enviar ficheiros para pastas marcadas como "
+ #~ "'public_content_rw_t'"
+ #~ msgid "Allow ftp servers to use cifs used for public file transfer services"
+@@ -3144,29 +3789,29 @@
+ #~ "públicas de ficheiros"
+ #~ msgid "Allow gpg executable stack"
+-#~ msgstr "Permitir a pilha executável do 'gpg'"
++#~ msgstr "Permitir a pilha executável do gpg"
+ #~ msgid "Allow gssd to read temp directory"
+-#~ msgstr "Permitir ao 'gssd' ler a pasta de temporários"
++#~ msgstr "Permitir ao gssd' ler a pasta de temporários"
+ #~ msgid ""
+ #~ "Allow httpd daemon to write files in directories labeled "
+ #~ "public_content_rw_t"
+ #~ msgstr ""
+-#~ "Permitir ao servidor 'httpd' gravar ficheiros nas pastas chamadas "
++#~ "Permitir ao servidor httpd' gravar ficheiros nas pastas chamadas "
+ #~ "'public_content_rw_t'"
+ #~ msgid "Allow Apache to communicate with avahi service"
+ #~ msgstr "Permitir ao Apache comunicar com o serviço Avahi"
+ #~ msgid "Allow Apache to use mod_auth_pam"
+-#~ msgstr "Permitir ao Apache usar o 'mod_auth_pam'"
++#~ msgstr "Permitir ao Apache usar o mod_auth_pam"
+ #~ msgid ""
+ #~ "Allow httpd scripts to write files in directories labeled "
+ #~ "public_content_rw_t"
+ #~ msgstr ""
+-#~ "Permitir aos programas do 'httpd' criarem ficheiros nas pastas chamadas "
++#~ "Permitir aos programas do httpd' criarem ficheiros nas pastas chamadas "
+ #~ "'public_content_rw_t'"
+ #~ msgid "Allow daemons to use kerberos files"
+@@ -3186,13 +3831,12 @@
+ #~ msgstr "Activar o suporte de pastas poli-instanciadas"
+ #~ msgid "Allow sysadm_t to debug or ptrace applications"
+-#~ msgstr ""
+-#~ "Permitir ao 'sysadm_t' depurar ou executar o 'ptrace' nas aplicações"
++#~ msgstr "Permitir ao 'sysadm_t' depurar ou executar o ptrace' nas aplicações"
+ #~ msgid ""
+ #~ "Allow rsync to write files in directories labeled public_content_rw_t"
+ #~ msgstr ""
+-#~ "Permitir ao 'rsync' gravar ficheiros em pastas marcadas como "
++#~ "Permitir ao rsync' gravar ficheiros em pastas marcadas como "
+ #~ "'public_content_rw_t'"
+ #~ msgid ""
+@@ -3215,13 +3859,13 @@
+ #~ "ficheiros para repor os contextos dos ficheiros"
+ #~ msgid "Enable extra rules in the cron domain to support fcron"
+-#~ msgstr "Activar as regras-extra no domínio do CRON para suportar o 'fcron'"
++#~ msgstr "Activar as regras-extra no domínio do CRON para suportar o fcron"
+ #~ msgid "Disable SELinux protection for ftpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ftpd'"
++#~ msgstr "Desactivar a protecção SELinux para o serviço ftpd"
+ #~ msgid "Allow ftpd to run directly without inetd"
+-#~ msgstr "Permitir ao 'ftpd' executar directamente sem o 'inetd'"
++#~ msgstr "Permitir ao ftpd' executar directamente sem o inetd"
+ #~ msgid "Allow ftp to read/write files in the user home directories"
+ #~ msgstr ""
+@@ -3254,7 +3898,7 @@
+ #~ msgstr "Permitir ao HTTPD actuar como um encaminhador"
+ #~ msgid "Disable SELinux protection for httpd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'httpd'"
++#~ msgstr "Desactivar a protecção SELinux para o serviço httpd"
+ #~ msgid "Allow HTTPD cgi support"
+ #~ msgstr "Permitir o suporte de CGI's do HTTPD"
+@@ -3283,7 +3927,7 @@
+ #~ msgstr "Unificar o tratamento do HTTPD para todos os ficheiros de conteúdos"
+ #~ msgid "Allow named to overwrite master zone files"
+-#~ msgstr "Permitir ao 'named' sobrepor os ficheiros da zona-mestra"
++#~ msgstr "Permitir ao named' sobrepor os ficheiros da zona-mestra"
+ #~ msgid "Allow NFS to share any file/directory read only"
+ #~ msgstr ""
+@@ -3295,16 +3939,16 @@
+ #~ msgid "Allow openvpn service access to users home directories"
+ #~ msgstr ""
+-#~ "Permitir ao serviço 'openvpn' aceder às pastas pessoais dos utilizadores"
++#~ "Permitir ao serviço openvpn' aceder às pastas pessoais dos utilizadores"
+ #~ msgid "Allow pppd daemon to insert modules into the kernel"
+-#~ msgstr "Permitir ao serviço 'pppd' inserir módulos no 'kernel'"
++#~ msgstr "Permitir ao serviço pppd' inserir módulos no kernel"
+ #~ msgid "Disable SELinux protection for pppd daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'pppd'"
++#~ msgstr "Desactivar a protecção SELinux para o serviço pppd"
+ #~ msgid "Disable SELinux protection for the mozilla ppp daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'ppp' do Mozilla"
++#~ msgstr "Desactivar a protecção SELinux para o serviço ppp' do Mozilla"
+ #~ msgid "Allow programs to read untrusted content without relabel"
+ #~ msgstr ""
+@@ -3317,10 +3961,10 @@
+ #~ msgstr "Spam Assassin"
+ #~ msgid "Allow spammassasin to access the network"
+-#~ msgstr "Permitir ao 'spamassassin' aceder à rede"
++#~ msgstr "Permitir ao spamassassin' aceder à rede"
+ #~ msgid "Use lpd server instead of cups"
+-#~ msgstr "Usar o servidor 'lpd' em vez do 'cups'"
++#~ msgstr "Usar o servidor lpd' em vez do cups"
+ #~ msgid "Support NFS home directories"
+ #~ msgstr "Suportar as pastas pessoais por NFS"
+@@ -3336,7 +3980,7 @@
+ #~ "leitura)"
+ #~ msgid "Disable SELinux protection for zebra daemon"
+-#~ msgstr "Desactivar a protecção do SELinux para o serviço 'zebra'"
++#~ msgstr "Desactivar a protecção SELinux para o serviço zebra"
+ #~ msgid "Allow httpd to access samba/cifs file systems"
+ #~ msgstr "Permitir ao HTTPD aceder a sistemas de ficheiros Samba/CIFS"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ro.po policycoreutils-2.0.85/po/ro.po
+--- nsapolicycoreutils/po/ro.po        2011-02-17 15:11:25.881722382 -0500
++++ policycoreutils-2.0.85/po/ro.po    2011-02-18 16:03:41.441976242 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ru.po policycoreutils-2.0.85/po/ru.po
+--- nsapolicycoreutils/po/ru.po        2011-02-17 15:11:25.611726842 -0500
++++ policycoreutils-2.0.85/po/ru.po    2011-02-18 16:03:41.442976249 -0500
+@@ -1,21 +1,42 @@
++# translation of ru.po to Russian
++# translation of ru.po to
+ # translation of policycoreutils.HEAD.ru.po to
+ #
+ # Andrew Martynov <andrewm@inventa.ru>, 2006, 2007.
+-# Yulia Poyarkova <ypoyarko@redhat.com>, 2006.
++# Yulia <ypoyarko@redhat.com>, 2006, 2010.
+ # Anatoliy Guskov <anatoliy.guskov@gmail.com>, 2008.
+-# Yulia Poyarkova <yulia.poyarkova@redhat.com>, 2008.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils.HEAD.ru\n"
++"Project-Id-Version: ru\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-09-10 17:53+1000\n"
+-"Last-Translator: Yulia Poyarkova <yulia.poyarkova@redhat.com>\n"
+-"Language-Team: \n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 10:34\n"
++"Last-Translator: Yulia <ypoyarko@redhat.com>\n"
++"Language-Team: Russian\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+-"Content-Type: text/plain; charset=KOI8-R\n"
++"Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
++"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
++"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Настройка SELinux в графическом режиме"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Управление SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Генерация модулей политики SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Средство создания политики SELinux"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -23,1251 +44,1257 @@
+ "  where: <script> is the name of the init script to run,\n"
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+-"éÓÐÏÌØÚÏ×ÁÎÉÅ: run_init <ÓÃÅÎÁÒÉÊ> <ÁÒÇÕÍÅÎÔÙ ...>\n"
+-"  ÇÄÅ: <ÓÃÅÎÁÒÉÊ> - ÜÔÏ ÉÍÑ ÚÁÐÕÓËÁÅÍÏÇÏ ÓÃÅÎÁÒÉÑ ÉÎÉÃÉÁÌÉÚÁÃÉÉ,\n"
+-"       <ÁÒÇÕÍÅÎÔÙ ...>  - ÐÅÒÅÄÁ×ÁÅÍÙÅ ÓÃÅÎÁÒÉÀ ÁÒÇÕÍÅÎÔÙ."
++"Использование: run_init <сценарий> <аргументы ...>\n"
++"  где <сценарий> &mdash; имя запускаемого сценария инициализации,\n"
++"       <аргументы ...>  &mdash; передаваемые сценарию аргументы."
+ #: ../run_init/run_init.c:126 ../newrole/newrole.c:1187
+ #, c-format
+ msgid "failed to initialize PAM\n"
+-msgstr "ÓÂÏÊ ÉÎÉÃÉÁÌÉÚÁÃÉÉ PAM\n"
++msgstr "сбой инициализации PAM\n"
+ #: ../run_init/run_init.c:139
+ #, c-format
+ msgid "failed to get account information\n"
+-msgstr "ÓÂÏÊ ÐÏÌÕÞÅÎÉÑ Ó×ÅÄÅÎÉÊ ÕÞÅÔÎÏÊ ÚÁÐÉÓÉ\n"
++msgstr "не удалось получить сведения учётной записи\n"
+ #: ../run_init/run_init.c:162 ../newrole/newrole.c:338
+ msgid "Password:"
+-msgstr "ðÁÒÏÌØ:"
++msgstr "Пароль:"
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ×ÁÛÕ ÚÁÐÉÓØ × ÔÅÎÅ×ÏÍ ÆÁÊÌÅ ÐÁÒÏÌÅÊ.\n"
++msgstr "Не удалось найти вашу запись в теневом файле паролей.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+ msgid "getpass cannot open /dev/tty\n"
+-msgstr "getpass ÎÅ ÍÏÖÅÔ ÏÔËÒÙÔØ /dev/tty\n"
++msgstr "getpass не может открыть /dev/tty\n"
+ #: ../run_init/run_init.c:275
+ #, c-format
+ msgid "run_init: incorrect password for %s\n"
+-msgstr "run_init: ÎÅ×ÅÒÎÙÊ ÐÁÒÏÌØ ÄÌÑ %s\n"
++msgstr "run_init: неверный пароль для %s\n"
+ #: ../run_init/run_init.c:309
+ #, c-format
+ msgid "Could not open file %s\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ %s\n"
++msgstr "Невозможно открыть файл %s\n"
+ #: ../run_init/run_init.c:336
+ #, c-format
+ msgid "No context in file %s\n"
+-msgstr "îÅÔ ËÏÎÔÅËÓÔÁ × ÆÁÊÌÅ %s\n"
++msgstr "Нет контекста в файле %s\n"
+ #: ../run_init/run_init.c:361
+ #, c-format
+ msgid "Sorry, run_init may be used only on a SELinux kernel.\n"
+ msgstr ""
+-"éÚ×ÉÎÉÔÅ, run_init ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ ÔÏÌØËÏ ÄÌÑ ÑÄÒÁ Ó SELinux.\n"
++"Извините, run_init может быть использовано только для ядра с SELinux.\n"
+ #: ../run_init/run_init.c:380
+ #, c-format
+ msgid "authentication failed.\n"
+-msgstr "ÓÂÏÊ ÐÒÏ×ÅÒËÉ ÐÏÄÌÉÎÎÏÓÔÉ.\n"
++msgstr "сбой проверки подлинности.\n"
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+ msgid "Could not set exec context to %s.\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ËÏÎÔÅËÓÔ ÉÓÐÏÌÎÅÎÉÑ ÄÌÑ %s.\n"
++msgstr "Невозможно задать контекст исполнения для %s.\n"
+ #: ../audit2allow/audit2allow:217
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr "********************* ÷áöîï ************************\n"
++msgstr "********************* ВАЖНО ************************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr "äÌÑ ÁËÔÉ×ÁÃÉÉ ÐÁËÅÔÁ ÐÏÌÉÔÉËÉ ×ÙÐÏÌÎÉÔÅ:"
++msgstr "Для активации пакета политики выполните:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+-msgstr "îÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÕÐÒÁ×ÌÅÎÉÅ semanage"
++msgstr "Не удалось создать дескриптор semanage"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr "ðÏÌÉÔÉËÁ SELinux ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÕÐÒÁ×ÌÅÎÉÅ ÉÌÉ ÈÒÁÎÉÌÉÝÅ ÎÅÄÏÓÔÕÐÎÏ."
++msgstr "Политика SELinux не поддерживает управление или хранилище недоступно."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÈÒÁÎÉÌÉÝÅ ÐÏÌÉÔÉËÉ."
++msgstr "Невозможно прочитать хранилище политики."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ semanage ÓÏÅÄÉÎÅÎÉÅ"
++msgstr "Невозможно установить соединение semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÄÉÁÐÁÚÏΠMLS ÄÌÑ %s"
++msgstr "Не удалось проверить активный статус MLS"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "глобальное"
+ #: ../semanage/seobject.py:206
+ #, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"îÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ %s: ÐÅÒÅ×ÏÄÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÎÁ ÍÁÛÉÎÁÈ ÂÅÚ MLS: %s"
++"Невозможно открыть %s: категории не поддерживаются компьютерами без MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr "õÒÏ×ÅÎØ"
++msgstr "Уровень"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr "ðÅÒÅ×ÏÄ"
++msgstr "Категория"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "ðÅÒÅ×ÏÄÙ ÎÅ ÍÏÇÕÔ ×ËÌÀÞÁÔØ ÐÒÏÂÅÌÙ '%s' "
++msgstr "Категории не могут содержать пробелы «%s» "
+ #: ../semanage/seobject.py:250
+ #, python-format
+ msgid "Invalid Level '%s' "
+-msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÕÒÏ×ÅÎØ '%s' "
++msgstr "Недопустимый уровень «%s»"
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s ÕÖÅ ÏÐÒÅÄÅÌÅΠנÐÅÒÅ×ÏÄÅ"
++msgstr "%s уже определен(о) в категориях"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s ÎÅ ÏÐÒÅÄÅÌÅÎÏ × ÐÅÒÅ×ÏÄÅ"
++msgstr "%s не определен(о) в категориях"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr "æÕÎËÃÉÏÎÁÌØÎÏÓÔØ ÅÝÅ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÁ"
++msgstr "Функциональность еще не реализована"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Транзакция semanage уже выполняется"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÞÁÔØ semanage ÔÒÁÎÚÁËÃÉÀ"
++msgstr "Невозможно начать semanage транзакцию"
+ #: ../semanage/seobject.py:309
+ msgid "Could not commit semanage transaction"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÏÔÐÒÁ×ÉÔØ ÔÒÁÎÚÁËÃÉÀ semanage"
++msgstr "Не удалось отправить транзакцию semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Транзакция semanage не выполняется"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÍÏÄÕÌÅÊ SELinux"
++msgstr "Не удалось получить список модулей SELinux"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Разрешающие типы"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr "îÅ ÕÄÁÌÏÓØ ÚÁÄÁÔØ ÒÁÚÒÅÛÁÀÝÉÊ ÄÏÍÅΠ%s (ÏÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ ÍÏÄÕÌÑ)"
++msgstr "Не удалось задать разрешающий домен %s (ошибка установки модуля)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr "îÅ ÕÄÁÌÏÓØ ÕÄÁÌÉÔØ ÒÁÚÒÅÛÁÀÝÉÊ ÄÏÍÅΠ%s (ÏÛÉÂËÁ ÕÄÁÌÅÎÉÑ)"
++msgstr "Не удалось удалить разрешающий домен %s (ошибка удаления)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÌÀÞ ÄÌÑ %s"
++msgstr "Невозможно создать ключ для %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏ×ÅÒÉÔØ, ÏÐÒÅÄÅÌÅÎÏ ÌÉ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s"
++msgstr "Невозможно проверить, определено ли сопоставление входа для %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "óÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s ÕÖÅ ÏÐÒÅÄÅÌÅÎÏ"
++msgstr "Сопоставление входа для %s уже определено"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux-ÇÒÕÐÐÁ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
++msgstr "Linux-группа %s не существует"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+-msgstr "Linux-ÐÏÌØÚÏ×ÁÔÅÌØ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
++msgstr "Linux-пользователь %s не существует"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s"
++msgstr "Невозможно создать сопоставление входа для %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÉÍÑ ÄÌÑ %s"
++msgstr "Невозможно задать имя для %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÄÉÁÐÁÚÏΠMLS ÄÌÑ %s"
++msgstr "Невозможно задать диапазон MLS для %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ SELinux ÄÌÑ %s"
++msgstr "Невозможно задать пользователя SELinux для %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s"
++msgstr "Невозможно добавить сопоставление входа для %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "ÄÏÂÁ×ÉÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÑ SELinux"
++msgstr "добавить сопоставление пользователя SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+-msgstr "îÅÏÂÈÏÄÉÍ seuser ÉÌÉ serange"
++msgstr "Необходим seuser или serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr "óÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s ÎÅ ÏÐÒÅÄÅÌÅÎÏ"
++msgstr "Сопоставление входа для %s не определено"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÒÏÓÉÔØ seuser ÄÌÑ %s"
++msgstr "Невозможно запросить seuser для %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s"
++msgstr "Невозможно изменить сопоставление входа для %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-"óÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s ÏÐÒÅÄÅÌÅÎÏ × ÐÏÌÉÔÉËÅ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎÏ"
++"Сопоставление входа для %s определено в политике и не может быть удалено"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ ×ÈÏÄÁ ÄÌÑ %s"
++msgstr "Невозможно удалить сопоставление входа для %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÅÒÅÞÉÓÌÅÎÉÅ ÓÏÐÏÓÔÁ×ÌÅÎÉÊ ×ÈÏÄÁ"
++msgstr "Невозможно выполнить перечисление сопоставлений входа"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr "éÍÑ ×ÈÏÄÁ"
++msgstr "Имя входа"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "ðÏÌØÚÏ×ÔÅÌØ SELinux"
++msgstr "Пользователь SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr "äÉÁÐÁÚÏΠMLS/MCS"
++msgstr "Диапазон MLS/MCS"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "îÅÏÂÈÏÄÉÍÏ ÄÏÂÁ×ÉÔØ ËÁË ÍÉÎÉÍÕÍ ÏÄÎÕ ÒÏÌØ ÄÌÑ %s"
++msgstr "Необходимо добавить как минимум одну роль для %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+-msgstr "îÅ ÕÄÁÌÏÓØ ÐÒÏ×ÅÒÉÔØ, ÏÐÒÅÄÅÌÅΠÌÉ ÐÏÌØÚÏ×ÁÔÅÌØ SELinux %s"
++msgstr "Не удалось проверить, определен ли пользователь SELinux %s"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+-msgstr "SELinux ÐÏÌØÚÏ×ÁÔÅÌØ %s ÕÖÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "SELinux пользователь %s уже определен"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ SELinux ÄÌÑ %s"
++msgstr "Невозможно создать пользователя SELinux для %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÒÏÌØ %s ÄÌÑ %s"
++msgstr "Невозможно добавить роль %s для %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÕÒÏ×ÅÎØ MLS ÄÌÑ %s"
++msgstr "Невозможно задать уровень MLS для %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÐÒÅÆÉËÓ %s ÄÌÑ %s"
++msgstr "Невозможно добавить префикс %s для %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚ×ÌÅÞØ ËÌÀÞ ÄÌÑ %s"
++msgstr "Невозможно извлечь ключ для %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ SELinux %s"
++msgstr "Невозможно добавить пользователя SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+-msgstr "îÅÏÂÈÏÄÉÍ ÐÒÅÆÉËÓ, ÒÏÌØ, ÕÒÏ×ÅÎØ ÉÌÉ ÄÉÁÐÁÚÏÎ"
++msgstr "Необходим префикс, роль, уровень или диапазон"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+-msgstr "îÅÏÂÈÏÄÉÍ ÐÒÅÆÉËÓ ÉÌÉ ÒÏÌØ"
++msgstr "Необходим префикс или роль"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+-msgstr "SELinux ÐÏÌØÚÏ×ÁÔÅÌØ %s ÎÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "SELinux пользователь %s не определен"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÒÏÓÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ %s"
++msgstr "Невозможно запросить пользователя %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ SELinux ÐÏÌØÚÏ×ÁÔÅÌÑ %s"
++msgstr "Невозможно изменить SELinux пользователя %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr "SELinux ÐÏÌØÚÏ×ÁÔÅÌØ %s ÏÐÒÅÄÅÌÅΠנÐÏÌÉÔÉËÅ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ"
++msgstr "SELinux пользователь %s определен в политике и не может быть удален"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ SELinux %s"
++msgstr "Невозможно удалить пользователя SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÅÒÅÞÉÓÌÅÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ SELinux"
++msgstr "Невозможно выполнить перечисление пользователей SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÅÒÅÞÉÓÌÅÎÉÅ ÒÏÌÅÊ ÐÏÌØÚÏ×ÁÔÅÌÑ %s"
++msgstr "Невозможно выполнить перечисление ролей пользователя %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Разметка"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr "ðÒÅÆÉËÓ"
++msgstr "Префикс"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr "MCS õÒÏ×ÅÎØ"
++msgstr "MCS Уровень"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr "MCS äÉÁÐÁÚÏÎ"
++msgstr "MCS Диапазон"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr "òÏÌÉ SELinux"
++msgstr "Роли SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+-msgstr "îÅÏÂÈÏÄÉÍÏ ÚÁÄÁÎÉÅ tcp ÉÌÉ udp ÐÒÏÔÏËÏÌÁ"
++msgstr "Необходимо задание tcp или udp протокола"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+-msgstr "îÅÏÂÈÏÄÉÍÏ ÚÎÁÞÅÎÉÅ ÐÏÒÔÁ"
++msgstr "Необходимо значение порта"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÌÀÞ ÄÌÑ %s/%s"
++msgstr "Невозможно создать ключ для %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+-msgstr "ôÒÅÂÕÅÔÓÑ ÚÁÄÁÎÉÅ ÔÉÐÁ"
++msgstr "Требуется задание типа"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏ×ÅÒÉÔØ, ÏÐÒÅÄÅÌÅΠÌÉ ÐÏÒÔ %s/%s"
++msgstr "Невозможно проверить, определен ли порт %s/%s"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+-msgstr "ðÏÒÔ %s/%s ÕÖÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Порт %s/%s уже определен"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÐÏÒÔ ÄÌÑ %s/%s"
++msgstr "Невозможно создать порт для %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÏÎÔÅËÓÔ %s/%s"
++msgstr "Невозможно создать контекст %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ × ËÏÎÔÅËÓÔÅ ÐÏÒÔÁ ÄÌÑ %s/%s"
++msgstr "Невозможно задать пользователя в контексте порта для %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÒÏÌØ × ËÏÎÔÅËÓÔÅ ÐÏÒÔÁ ÄÌÑ %s/%s"
++msgstr "Невозможно задать роль в контексте порта для %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÔÉРנËÏÎÔÅËÓÔÅ ÐÏÒÔÁ ÄÌÑ %s/%s"
++msgstr "Невозможно задать тип в контексте порта для %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÌÑ mls × ËÏÎÔÅËÓÔÅ ÐÏÒÔÁ ÄÌÑ %s/%s"
++msgstr "Невозможно задать поля mls в контексте порта для %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ËÏÎÔÅËÓÔ ÐÏÒÔÁ ÄÌÑ %s/%s"
++msgstr "Невозможно задать контекст порта для %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÐÏÒÔ %s/%s"
++msgstr "Невозможно добавить порт %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+-msgstr "îÅÏÂÈÏÄÉÍ setype ÉÌÉ serange"
++msgstr "Необходим setype или serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+-msgstr "îÅÏÂÈÏÄÉÍ setype"
++msgstr "Необходим setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+-msgstr "ðÏÒÔ %s/%s ÎÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Порт %s/%s не определен"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÒÏÓÉÔØ ÐÏÒÔ %s/%s"
++msgstr "Невозможно запросить порт %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÐÏÒÔ %s/%s"
++msgstr "Невозможно изменить порт %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "îÅ ÕÄÁÌÏÓØ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÐÏÒÔÏ×"
++msgstr "Не удалось получить список портов"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÐÏÒÔ %s"
++msgstr "Невозможно удалить порт %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "ðÏÒÔ %s/%s ÏÐÒÅÄÅÌÅΠנÐÏÌÉÔÉËÅ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ"
++msgstr "Порт %s/%s определен в политике и не может быть удален"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÐÏÒÔ %s/%s"
++msgstr "Невозможно удалить порт %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÅÒÅÞÉÓÌÅÎÉÅ ÐÏÒÔÏ×"
++msgstr "Невозможно выполнить перечисление портов"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr "ôÉРÐÏÒÔÁ SELinux"
++msgstr "Тип порта SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Протокол"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr "îÏÍÅÒ ðÏÒÔÁ"
++msgstr "Номер Порта"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "ôÒÅÂÕÅÔÓÑ ÁÄÒÅÓ ÕÚÌÁ"
++msgstr "Требуется адрес узла"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "îÅÏÂÈÏÄÉÍÏ ÚÎÁÞÅÎÉÅ ÐÏÒÔÁ"
++msgstr "Необходимо значение порта"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr "ðÒÏÔÏËÏÌ ÏÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÎÅÉÚ×ÅÓÔÅÎ"
++msgstr "Протокол отсутствует или неизвестен"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+-msgstr "ôÒÅÂÕÅÔÓÑ SELinux Type"
++msgstr "Требуется SELinux Type"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÌÀÞ ÄÌÑ %s"
++msgstr "Невозможно создать ключ для %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "îÅ ÕÄÁÌÏÓØ ÐÒÏ×ÅÒÉÔØ, ÏÐÒÅÄÅÌÅΠÌÉ ÁÄÒÅÓ %s"
++msgstr "Не удалось проверить, определен ли адрес %s"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+-msgstr "áÄÒÅÓ %s ÕÖÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Адрес %s уже определен"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+-msgstr "îÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÁÄÒÅÓ ÄÌÑ %s"
++msgstr "Не удалось создать адрес для %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÏÎÔÅËÓÔ ÄÌÑ %s"
++msgstr "Невозможно создать контекст для %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÄÁÔØ ÍÁÓËÕ %s"
++msgstr "Не удалось задать маску %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ × ËÏÎÔÅËÓÔÅ ÁÄÒÅÓÁ ÄÌÑ %s"
++msgstr "Не удалось задать пользователя в контексте адреса для %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÄÁÔØ ÒÏÌØ × ËÏÎÔÅËÓÔÅ ÁÄÒÅÓÁ ÄÌÑ %s"
++msgstr "Не удалось задать роль в контексте адреса для %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÄÁÔØ ÔÉРנËÏÎÔÅËÓÔÅ ÁÄÒÅÓÁ ÄÌÑ %s"
++msgstr "Не удалось задать тип в контексте адреса для %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÄÁÔØ ÐÏÌÑ mls × ËÏÎÔÅËÓÔÅ ÁÄÒÅÓÁ ÄÌÑ %s"
++msgstr "Не удалось задать поля mls в контексте адреса для %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÄÁÔØ ËÏÎÔÅËÓÔ addr ÄÌÑ %s"
++msgstr "Не удалось задать контекст addr для %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÄÏÂÁ×ÉÔØ addr %s"
++msgstr "Не удалось добавить addr %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Addr %s ÎÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Addr %s не определен"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÒÏÓÉÔØ addr %s"
++msgstr "Не удалось запросить addr %s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÉÚÍÅÎÉÔØ addr %s"
++msgstr "Не удалось изменить addr %s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Addr %s ÏÐÒÅÄÅÌÅΠנÐÏÌÉÔÉËÅ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ"
++msgstr "Addr %s определен в политике и не может быть удален"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÕÄÁÌÉÔØ addr %s"
++msgstr "Не удалось удалить addr %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË addr"
++msgstr "Не удалось получить список addr"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏ×ÅÒÉÔØ, ÏÐÒÅÄÅÌÅΠÌÉ ÉÎÔÅÒÆÅÊÓ %s"
++msgstr "Невозможно проверить, определен ли интерфейс %s"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+-msgstr "éÎÔÅÒÆÅÊÓ %s ÕÖÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Интерфейс %s уже определён"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÉÎÔÅÒÆÅÓ ÄÌÑ %s"
++msgstr "Не удалось создать интерфейс для %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ × ËÏÎÔÅËÓÔÅ ÉÎÔÅÒÆÅÊÓÁ ÄÌÑ %s"
++msgstr "Не удалось задать пользователя в контексте интерфейса для %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÒÏÌØ × ËÏÎÔÅËÓÔÅ ÉÎÔÅÒÆÅÊÓÁ ÄÌÑ %s"
++msgstr "Не удалось задать роль в контексте интерфейса для %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÔÉРנËÏÎÔÅËÓÔÅ ÉÎÔÅÒÆÅÊÓÁ ÄÌÑ %s."
++msgstr "Не удалось задать тип в контексте интерфейса для %s."
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÌÑ mls × ËÏÎÔÅËÓÔÅ ÉÎÔÅÒÆÅÊÓÁ ÄÌÑ %s"
++msgstr "Не удалось задать поля mls в контексте интерфейса для %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ËÏÎÔÅËÓÔ ÉÎÔÅÒÆÅÊÓÁ ÄÌÑ %s"
++msgstr "Невозможно задать контекст интерфейса для %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ËÏÎÔÅËÓÔ ÓÏÏÂÝÅÎÉÑ ÄÌÑ %s"
++msgstr "Невозможно задать контекст сообщения для %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÉÎÔÅÒÆÅÊÓ %s"
++msgstr "Невозможно добавить интерфейс %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+-msgstr "éÎÔÅÒÆÅÊÓ %s yt ÏÐÒÅÄÅÌÅÎ"
++msgstr "Интерфейс %s yt определен"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÒÏÓÉÔØ ÉÎÔÅÒÆÅÊÓ %s"
++msgstr "Невозможно запросить интерфейс %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÉÎÔÅÒÆÅÊÓ %s"
++msgstr "Невозможно изменить интерфейс %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "éÎÔÅÒÆÅÊÓ %s ÏÐÒÅÄÅÌÅΠנÐÏÌÉÔÉËÅ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ"
++msgstr "Интерфейс %s определен в политике и не может быть удален"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÉÎÔÅÒÆÅÊÓ %s"
++msgstr "Невозможно удалить интерфейс %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÅÒÅÞÉÓÌÅÎÉÅ ÉÎÔÅÒÆÅÊÓÏ×"
++msgstr "Невозможно выполнить перечисление интерфейсов"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr "éÎÔÅÒÆÅÊÓ SELinux"
++msgstr "Интерфейс SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr "ëÏÎÔÅËÓÔ"
++msgstr "Контекст"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ × ËÏÎÔÅËÓÔÅ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно задать пользователя в контексте файла для %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÒÏÌØ × ËÏÎÔÅËÓÔÅ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно задать роль в контексте файла для %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÐÏÌÑ msl × ËÏÎÔÅËÓÔÅ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно задать поля msl в контексте файла для %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr "îÅ×ÅÒÎÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ ÆÁÊÌÁ"
++msgstr "Неверная спецификация файла"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏ×ÅÒÉÔØ, ÏÐÒÅÄÅÌÅΠÌÉ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно проверить, определен ли контекст файла для %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr "ëÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s ÕÖÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Контекст файла для %s уже определен"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно создать контекст файла для %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÔÉРנËÏÎÔÅËÓÔÅ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно задать тип в контексте файла для %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно задать контекст файла для %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно добавить контекст файла для %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+-msgstr "îÅÏÂÈÏÄÉÍ setyp, serange ÉÌÉ seuser"
++msgstr "Необходим setyp, serange или seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr "ëÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s ÎÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Контекст файла для %s не определен"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÒÏÓÉÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно запросить контекст файла для %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно изменить контекст файла для %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ËÏÎÔÅËÓÔÏ× ÆÁÊÌÏ×"
++msgstr "Не удалось получить список контекстов файлов"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "îÅ ÕÄÁÌÅÔÓÑ ÕÄÁÌÉÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Не удаётся удалить контекст файла для %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+-msgstr "ëÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s ÏÐÒÅÄÅÌÅΠנÐÏÌÉÔÉËÅ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ"
++msgstr "Контекст файла для %s определен в политике и не может быть удален"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s"
++msgstr "Невозможно удалить контекст файла для %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÅÒÅÞÉÓÌÅÎÉÅ ËÏÎÔÅËÓÔÏ× ÆÁÊÌÏ×"
++msgstr "Невозможно выполнить перечисление контекстов файлов"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔÏÂÒÁÚÉÔØ ËÏÎÔÅËÓÔ ÌÏËÁÌØÎÙÈ ÆÁÊÌÏ×"
++msgstr "Невозможно отобразить контекст локальных файлов"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr "ëÏÎÔÅËÓÔ ÆÁÊÌÁ SELinux"
++msgstr "Контекст файла SELinux"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr "ÔÉÐ"
++msgstr "тип"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏ×ÅÒÉÔØ, ÏÐÒÅÄÅÌÅΠÌÉ ÐÅÒÅËÌÀÞÁÔÅÌØ %s"
++msgstr "Невозможно проверить, определен ли переключатель %s"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+-msgstr "ðÅÒÅËÌÀÞÁÔÅÌØ %s ÎÅ ÏÐÒÅÄÅÌÅÎ"
++msgstr "Переключатель %s не определен"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÒÏÓÉÔØ ËÏÎÔÅËÓÔ ÆÁÊÌÁ %s"
++msgstr "Невозможно запросить контекст файла %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "îÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ ÚÎÁÞÅÎÉÅ: %s"
++msgstr "Необходимо указать значение: %s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÄÁÔØ ÁËÔÉ×ÎÏÅ ÚÎÁÞÅÎÉÅ ÐÅÒÅËÌÀÞÁÔÅÌÑ %s"
++msgstr "Не удалось задать активное значение переключателя %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÐÅÒÅËÌÀÞÁÔÅÌØ %s"
++msgstr "Невозможно изменить переключатель %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr "îÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ %s: úÁÐÉÓØ %s"
++msgstr "Неверный формат %s: Запись %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "ðÅÒÅËÌÀÞÁÔÅÌØ %s ÎÅ ÏÐÒÅÄÅÌÅΠנÐÏÌÉÔÉËÅ É ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ"
++msgstr "Переключатель %s не определен в политике и не может быть удален"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÐÅÒÅËÌÀÞÁÔÅÌØ %s"
++msgstr "Невозможно удалить переключатель %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ ÐÅÒÅÞÉÓÌÅÎÉÅ ÐÅÒÅËÌÀÞÁÔÅÌÅÊ"
++msgstr "Невозможно выполнить перечисление переключателей"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ"
++msgstr "неизвестный"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr "×ÙËÌ."
++msgstr "выкл."
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr "×ËÌ."
++msgstr "вкл."
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr "ðÅÒÅËÌÀÞÁÔÅÌØ SELinux"
++msgstr "Переключатель SELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr "ïÐÉÓÁÎÉÅ"
++msgstr "Описание"
+ #: ../newrole/newrole.c:198
+ #, c-format
+ msgid "failed to set PAM_TTY\n"
+-msgstr "ÓÂÏÊ ÕÓÔÁÎÏ×ËÉ PAM_TTY\n"
++msgstr "сбой установки PAM_TTY\n"
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "newrole: переполнение хеш-таблицы настроек имен служб\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr "newrole:  %s:  ÏÛÉÂËÁ × ÓÔÒÏËÅ %lu.\n"
++msgstr "newrole:  %s:  ошибка в строке %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+ msgid "cannot find valid entry in the passwd file.\n"
+-msgstr "ÎÅ ÕÄÁÅÔÓÑ ÎÁÊÔÉ ËÏÒÒÅËÔÎÕÀ ÚÁÐÉÓØ × ÆÁÊÌÅ passwd.\n"
++msgstr "не удается найти корректную запись в файле passwd.\n"
+ #: ../newrole/newrole.c:447
+ #, c-format
+ msgid "Out of memory!\n"
+-msgstr "îÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ!\n"
++msgstr "Недостаточно памяти!\n"
+ #: ../newrole/newrole.c:452
+ #, c-format
+ msgid "Error!  Shell is not valid.\n"
+-msgstr "ïÛÉÂËÁ!  ïÂÏÌÏÞËÁ ÎÅ ×ÅÒÎÁ.\n"
++msgstr "Ошибка!  Оболочка не верна.\n"
+ #: ../newrole/newrole.c:509
+ #, c-format
+ msgid "Unable to clear environment\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÞÉÓÔÉÔØ ÏËÒÕÖÅÎÉÅ\n"
++msgstr "Невозможно очистить окружение\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "ïÛÉÂËÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ.\n"
++msgstr "Ошибка инициализации, аварийное завершение.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+ msgid "Error setting capabilities, aborting\n"
+-msgstr "ïÛÉÂËÁ ÎÁÓÔÒÏÊËÉ ×ÏÚÍÏÖÎÏÓÔÅÊ, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ\n"
++msgstr "Ошибка настройки возможностей, аварийное завершение\n"
+ #: ../newrole/newrole.c:570
+ #, c-format
+ msgid "Error setting KEEPCAPS, aborting\n"
+-msgstr "ïÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ KEEPCAPS, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ.\n"
++msgstr "Ошибка установки KEEPCAPS, аварийное завершение.\n"
+ #: ../newrole/newrole.c:578 ../newrole/newrole.c:652
+ #, c-format
+ msgid "Error dropping capabilities, aborting\n"
+-msgstr "ïÛÉÂËÁ ÓÂÒÏÓÁ ×ÏÚÍÏÖÎÏÓÔÅÊ, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ.\n"
++msgstr "Ошибка сброса возможностей, аварийное завершение.\n"
+ #: ../newrole/newrole.c:584 ../newrole/newrole.c:683
+ #, c-format
+ msgid "Error changing uid, aborting.\n"
+-msgstr "ïÛÉÂËÁ ÓÍÅÎÙ uid, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ.\n"
++msgstr "Ошибка смены uid, аварийное завершение.\n"
+ #: ../newrole/newrole.c:590 ../newrole/newrole.c:646 ../newrole/newrole.c:678
+ #, c-format
+ msgid "Error resetting KEEPCAPS, aborting\n"
+-msgstr "ïÛÉÂËÁ ÓÂÒÏÓÁ KEEPCAPS, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ.\n"
++msgstr "Ошибка сброса KEEPCAPS, аварийное завершение.\n"
+ #: ../newrole/newrole.c:597
+ #, c-format
+ msgid "Error dropping SETUID capability, aborting\n"
+-msgstr "ïÛÉÂËÁ ÓÂÒÏÓÁ ×ÏÚÍÏÖÎÏÓÔÉ SETUID, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ.\n"
++msgstr "Ошибка сброса возможности SETUID, аварийное завершение.\n"
+ #: ../newrole/newrole.c:602 ../newrole/newrole.c:657
+ #, c-format
+ msgid "Error freeing caps\n"
+-msgstr "ïÛÉÂËÁ ÏÓ×ÏÂÏÖÄÅÎÉÑ ×ÏÚÍÏÖÎÏÓÔÅÊ\n"
++msgstr "Ошибка освобождения возможностей\n"
+ #: ../newrole/newrole.c:701
+ #, c-format
+ msgid "Error connecting to audit system.\n"
+-msgstr "ïÛÉÂËÁ ÓÏÅÄÉÎÅÎÉÑ Ó ÓÉÓÔÅÍÏÊ ÁÕÄÉÔÁ.\n"
++msgstr "Ошибка соединения с системой аудита.\n"
+ #: ../newrole/newrole.c:707
+ #, c-format
+ msgid "Error allocating memory.\n"
+-msgstr "ïÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ.\n"
++msgstr "Ошибка выделения памяти.\n"
+ #: ../newrole/newrole.c:714
+ #, c-format
+ msgid "Error sending audit message.\n"
+-msgstr "ïÛÉÂËÁ ÏÔÐÒÁ×ËÉ ÓÏÏÂÝÅÎÉÑ ÁÕÄÉÔÁ.\n"
++msgstr "Ошибка отправки сообщения аудита.\n"
+ #: ../newrole/newrole.c:758 ../newrole/newrole.c:1122
+ #, c-format
+ msgid "Could not determine enforcing mode.\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÒÅÖÉÍ ÂÌÏËÉÒÏ×ÏË (enforcing).\n"
++msgstr "Не удалось определить строгий режим.\n"
+ #: ../newrole/newrole.c:765
+ #, c-format
+ msgid "Error!  Could not open %s.\n"
+-msgstr "ïÛÉÂËÁ!  îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s.\n"
++msgstr "Ошибка!  Невозможно открыть %s.\n"
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s!  îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÔÅËÕÝÉÊ ËÏÎÔÅËÓÔ ÄÌÑ %s, ÍÅÔËÁ tty ÎÅ ÉÚÍÅÎÑÅÔÓÑ.\n"
++"%s!  Невозможно получить текущий контекст для %s, метка tty не изменяется.\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+ msgstr ""
+-"%s!  îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÎÏ×ÙÊ ËÏÎÔÅËÓÔ ÄÌÑ %s, ÍÅÔËÁ tty ÎÅ ÉÚÍÅÎÑÅÔÓÑ.\n"
++"%s!  Невозможно получить новый контекст для %s, метка tty не изменяется.\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s!  îÅ×ÏÚÍÏÖÎÏ ÚÁÄÁÔØ ÎÏ×ÙÊ ËÏÎÔÅËÓÔ ÄÌÑ %s\n"
++msgstr "%s!  Невозможно задать новый контекст для %s\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+ msgid "%s changed labels.\n"
+-msgstr "%s ÉÚÍÅÎÉÌÏ ÍÅÔËÉ.\n"
++msgstr "%s изменило метки.\n"
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr "÷ÎÉÍÁÎÉÅ! îÅ×ÏÚÍÏÖÎÏ ×ÏÓÓÔÁÎÏ×ÉÔØ ËÏÎÔÅËÓÔ ÄÌÑ %s\n"
++msgstr "Внимание! Невозможно восстановить контекст для %s\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+ msgid "Error: multiple roles specified\n"
+-msgstr "ïÛÉÂËÁ: ÕËÁÚÁÎÏ ÎÅÓËÏÌØËÏ ÒÏÌÅÊ\n"
++msgstr "Ошибка: указано несколько ролей\n"
+ #: ../newrole/newrole.c:909
+ #, c-format
+ msgid "Error: multiple types specified\n"
+-msgstr "ïÛÉÂËÁ: ÕËÁÚÁÎÏ ÎÅÓËÏÌØËÏ ÔÉÐÏ×\n"
++msgstr "Ошибка: указано несколько типов\n"
+ #: ../newrole/newrole.c:916
+ #, c-format
+ msgid "Sorry, -l may be used with SELinux MLS support.\n"
+-msgstr "éÚ×ÉÎÉÔÅ, -l ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ Ó ÐÏÄÄÅÒÖËÏÊ SELinux MLS.\n"
++msgstr "Извините, -l может быть использована с поддержкой SELinux MLS.\n"
+ #: ../newrole/newrole.c:921
+ #, c-format
+ msgid "Error: multiple levels specified\n"
+-msgstr "ïÛÉÂËÁ: ÕËÁÚÁÎÏ ÎÅÓËÏÌØËÏ ÕÒÏ×ÎÅÊ\n"
++msgstr "Ошибка: указано несколько уровней\n"
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr "ïÛÉÂËÁ: ÷Ù ÎÅ ÍÏÖÅÔÅ ÉÚÍÅÎÑÔØ ÕÒÏ×ÅÎØ × ÎÅÂÅÚÏÐÁÓÎÏÍ ÔÅÒÍÉÎÁÌÅ\n"
++msgstr "Ошибка: Вы не можете изменять уровень в небезопасном терминале\n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+ msgid "Couldn't get default type.\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÔÉРÐÏ ÕÍÏÌÞÁÎÉÀ.\n"
++msgstr "Невозможно получить тип по умолчанию.\n"
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr "ÓÂÏÊ ÐÏÌÕÞÅÎÉÑ ÎÏ×ÏÇÏ ËÏÎÔÅËÓÔÁ.\n"
++msgstr "сбой получения нового контекста.\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+ msgid "failed to set new role %s\n"
+-msgstr "ÓÂÏÊ ÚÁÄÁÎÉÑ ÎÏ×ÏÊ ÒÏÌÉ %s\n"
++msgstr "сбой задания новой роли %s\n"
+ #: ../newrole/newrole.c:981
+ #, c-format
+ msgid "failed to set new type %s\n"
+-msgstr "ÓÂÏÊ ÚÁÄÁÎÉÑ ÎÏ×ÏÇÏ ÔÉÐÁ %s\n"
++msgstr "сбой задания нового типа %s\n"
+ #: ../newrole/newrole.c:991
+ #, c-format
+ msgid "failed to build new range with level %s\n"
+-msgstr "ÓÂÏÊ ÐÏÓÔÒÏÅÎÉÑ ÎÏ×ÏÇÏ ÄÉÁÐÁÚÏÎÁ Ó ÕÒÏ×ÎÅÍ %s\n"
++msgstr "сбой построения нового диапазона с уровнем %s\n"
+ #: ../newrole/newrole.c:996
+ #, c-format
+ msgid "failed to set new range %s\n"
+-msgstr "ÓÂÏÊ ÚÁÄÁÎÉÑ ÎÏ×ÏÇÏ ÄÉÁÐÁÚÏÎÁ %s\n"
++msgstr "сбой задания нового диапазона %s\n"
+ #: ../newrole/newrole.c:1004
+ #, c-format
+ msgid "failed to convert new context to string\n"
+-msgstr "ÓÂÏÊ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÎÏ×ÏÇÏ ËÏÎÔÅËÓÔÁ × ÓÔÒÏËÕ\n"
++msgstr "сбой преобразования нового контекста в строку\n"
+ #: ../newrole/newrole.c:1009
+ #, c-format
+ msgid "%s is not a valid context\n"
+-msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ËÏÎÔÅËÓÔÏÍ\n"
++msgstr "%s не является верным контекстом\n"
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÄÌÑ new_context"
++msgstr "Невозможно выделить память для new_context"
+ #: ../newrole/newrole.c:1042
+ #, c-format
+ msgid "Unable to obtain empty signal set\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÎÁÂÏÒ ÐÕÓÔÙÈ ÓÉÇÎÁÌÏ×\n"
++msgstr "Невозможно получить набор пустых сигналов\n"
+ #: ../newrole/newrole.c:1050
+ #, c-format
+ msgid "Unable to set SIGHUP handler\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÏÂÒÁÂÏÔÞÉË SIGHUP\n"
++msgstr "Невозможно получить обработчик SIGHUP\n"
+ #: ../newrole/newrole.c:1116
+ #, c-format
+ msgid "Sorry, newrole may be used only on a SELinux kernel.\n"
+-msgstr "éÚ×ÉÎÉÔÅ. newrole ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÔÏÌØËÏ ÄÌÑ ÑÄÒÁ Ó SELinux.\n"
++msgstr "Извините. newrole может быть использована только для ядра с SELinux.\n"
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr "ÓÂÏÊ ÐÏÌÕÞÅÎÉÑ ÓÔÁÒÏÇÏ_ËÏÎÔÅËÓÔÁ.\n"
++msgstr "сбой получения старого_контекста.\n"
+ #: ../newrole/newrole.c:1140
+ #, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "÷ÎÉÍÁÎÉÅ!  îÅ ÕÄÁÅÔÓÑ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï tty.\n"
++msgstr "Внимание!  Не удалось получить информацию о tty.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÌÕÖÂÙ PAM.\n"
++msgstr "ошибка чтения конфигурации службы PAM.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+ msgid "newrole: incorrect password for %s\n"
+-msgstr "newrole: ÎÅ×ÅÒÎÙÊ ÐÁÒÏÌØ %s\n"
++msgstr "newrole: неверный пароль %s\n"
+ #: ../newrole/newrole.c:1223
+ #, c-format
+ msgid "newrole: failure forking: %s"
+-msgstr "newrole: ÓÂÏÊ ×ÙÐÏÌÎÅÎÉÑ fork: %s"
++msgstr "newrole: сбой выполнения fork: %s"
+ #: ../newrole/newrole.c:1226 ../newrole/newrole.c:1249
+ #, c-format
+ msgid "Unable to restore tty label...\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÏÓÓÔÁÎÏ×ÉÔØ ÍÅÔËÕ tty...\n"
++msgstr "Невозможно восстановить метку tty...\n"
+ #: ../newrole/newrole.c:1228 ../newrole/newrole.c:1255
+ #, c-format
+ msgid "Failed to close tty properly\n"
+-msgstr "ïÛÉÂËÁ ËÏÒÒÅËÔÎÏÇÏ ÚÁËÒÙÔÉÑ tty\n"
++msgstr "Ошибка корректного закрытия tty\n"
+ #: ../newrole/newrole.c:1287
+ #, c-format
+ msgid "Could not close descriptors.\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁËÒÙÔØ ÄÅÓËÒÉÐÔÏÒÙ.\n"
++msgstr "Невозможно закрыть дескрипторы.\n"
+ #: ../newrole/newrole.c:1314
+ #, c-format
+ msgid "Error allocating shell's argv0.\n"
+-msgstr "ïÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ argv0 ÏÂÏÌÏÞËÉ.\n"
++msgstr "Ошибка выделения argv0 оболочки.\n"
+ #: ../newrole/newrole.c:1346
+ #, c-format
+ msgid "Unable to restore the environment, aborting\n"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÏÓÓÔÁÎÏ×ÉÔØ ÏËÒÕÖÅÎÉÅ, Á×ÁÒÉÊÎÏÅ ÚÁ×ÅÒÛÅÎÉÅ\n"
++msgstr "Невозможно восстановить окружение, аварийное завершение\n"
+ #: ../newrole/newrole.c:1357
+ msgid "failed to exec shell\n"
+-msgstr "ÓÂÏÊ ÚÁÐÕÓËÁ ÏÂÏÌÏÞËÉ\n"
++msgstr "сбой запуска оболочки\n"
+ #: ../load_policy/load_policy.c:22
+ #, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ:  %s [-qi]\n"
++msgstr "использование:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr "%s:  ðÏÌÉÔÉËÁ ÕÖÅ ÚÁÇÒÕÖÅÎÁ, ÉÓÈÏÄÎÁÑ ÚÁÇÒÕÚËÁ ÚÁÐÒÏÛÅÎÁ\n"
++msgstr "%s:  Политика уже загружена, исходная загрузка запрошена\n"
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr ""
+-"%s:  îÅ ÕÄÁÅÔÓÑ ÚÁÇÒÕÚÉÔØ ÚÁÐÒÏÛÅÎÎÕÀ ÐÏÌÉÔÉËÕ É ÒÅÖÉÍ ÐÒÉÎÕÖÄÅÎÉÑ:  %s\n"
++msgstr "%s:  не удалось загрузить запрошенную политику и строгий режим:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s:  îÅ×ÏÚÍÏÖÎÏ ÚÁÇÒÕÚÉÔØ ÐÏÌÉÔÉËÕ:  %s\n"
++msgstr "%s:  Невозможно загрузить политику:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+-msgstr "ôÒÅÂÕÅÔÓÑ ËÁË ÍÉÎÉÍÕÍ ÏÄÎÁ ËÁÔÅÇÏÒÉÑ"
++msgstr "Требуется как минимум одна категория"
+ #: ../scripts/chcat:106 ../scripts/chcat:183
+ #, c-format
+ msgid "Can not modify sensitivity levels using '+' on %s"
+-msgstr "îÅÌØÚÑ ÉÚÍÅÎÉÔØ ÕÒÏ×ÅÎØ ÞÕ×ÓÔ×ÉÔÅÌØÎÏÓÔÉ ÉÓÐÏÌØÚÕÑ  '+' ÎÁ %s"
++msgstr "Нельзя изменить уровень чувствительности используя  '+' на %s"
+ #: ../scripts/chcat:110
+ #, c-format
+ msgid "%s is already in %s"
+-msgstr "%s ÕÖÅ × %s"
++msgstr "%s уже в %s"
+ #: ../scripts/chcat:188 ../scripts/chcat:198
+ #, c-format
+ msgid "%s is not in %s"
+-msgstr "%s ÎÅ × %s"
++msgstr "%s не в %s"
+ #: ../scripts/chcat:267 ../scripts/chcat:272
+ msgid "Can not combine +/- with other types of categories"
+-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÂßÅÄÉÎÉÔØ +/- Ó ÄÒÕÇÉÍÉ ÔÉÐÁÍÉ ËÁÔÅÇÏÒÉÊ"
++msgstr "Невозможно объединить +/- с другими типами категорий"
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+-msgstr "îÅÌØÚÑ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÕÒÏ×ÎÅÊ ÞÕ×ÓÔ×ÉÔÅÌØÎÏÓÔÉ"
++msgstr "Нельзя иметь несколько уровней чувствительности"
+ #: ../scripts/chcat:325
+ #, c-format
+ msgid "Usage %s CATEGORY File ..."
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s ëáôåçïòéñ æÁÊÌ ..."
++msgstr "Использование %s КАТЕГОРИЯ Файл ..."
+ #: ../scripts/chcat:326
+ #, c-format
+ msgid "Usage %s -l CATEGORY user ..."
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s -l ëáôåçïòéñ ÐÏÌØÚÏ×ÁÔÅÌØ ..."
++msgstr "Использование %s -l КАТЕГОРИЯ пользователь ..."
+ #: ../scripts/chcat:327
+ #, c-format
+ msgid "Usage %s [[+|-]CATEGORY],...]q File ..."
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s [[+|-]ëáôåçïòéñ],...]q æÁÊÌ ..."
++msgstr "Использование %s [[+|-]КАТЕГОРИЯ],...]q Файл ..."
+ #: ../scripts/chcat:328
+ #, c-format
+ msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..."
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s -l [[+|-]ëáôåçïòéñ],...]q ÐÏÌØÚÏ×ÁÔÅÌØ ..."
++msgstr "Использование %s -l [[+|-]КАТЕГОРИЯ],...]q пользователь ..."
+ #: ../scripts/chcat:329
+ #, c-format
+ msgid "Usage %s -d File ..."
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s -d æÁÊÌ ..."
++msgstr "Использование %s -d Файл ..."
+ #: ../scripts/chcat:330
+ #, c-format
+ msgid "Usage %s -l -d user ..."
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s -l -d ÐÏÌØÚÏ×ÁÔÅÌØ ..."
++msgstr "Использование %s -l -d пользователь ..."
+ #: ../scripts/chcat:331
+ #, c-format
+ msgid "Usage %s -L"
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s -L"
++msgstr "Использование %s -L"
+ #: ../scripts/chcat:332
+ #, c-format
+ msgid "Usage %s -L -l user"
+-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ %s -L -l ÐÏÌØÚÏ×ÁÔÅÌØ"
++msgstr "Использование %s -L -l пользователь"
+ #: ../scripts/chcat:333
+ msgid "Use -- to end option list.  For example"
+-msgstr "éÓÐÏÌØÚÕÊÔÅ -- ÞÔÏÂÙ ÕËÁÚÁÔØ ÚÁ×ÅÒÛÅÎÉÅ ÓÐÉÓËÁ ÐÁÒÁÍÅÔÒÏ×. îÁ ÐÒÉÍÅÒ"
++msgstr "Используйте -- чтобы указать завершение списка параметров. На пример"
+ #: ../scripts/chcat:334
+ msgid "chcat -- -CompanyConfidential /docs/businessplan.odt"
+@@ -1280,1096 +1307,2245 @@
+ #: ../scripts/chcat:399
+ #, c-format
+ msgid "Options Error %s "
+-msgstr "ïÛÉÂËÁ ÐÁÒÁÍÅÔÒÏ× %s "
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "ÐÅÒÅ×ÏÄÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÌÑ ÍÁÛÉΠÂÅÚ MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "ðÅÒÅËÌÀÞÁÔÅÌØ"
+-
+-#~ msgid "all"
+-#~ msgstr "×ÓÅ"
+-
+-#~ msgid "Customized"
+-#~ msgstr "ðÒÏÉÚ×ÏÌØÎÙÊ"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "ïÐÒÅÄÅÌÅÎÉÅ\n"
+-#~ "ÆÁÊÌÏ×"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ôÉРæÁÊÌÁ"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "æÁÉÌ\n"
+-#~ "ôÉÐ"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "óÏÐÏÓÔÁ×ÌÅÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "ìÏÇÉÎ\n"
+-#~ "éÍÑ"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "ðÏÌØÚÏ×ÁÔÅÌØ"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "äÉÁÐÁÚÏÎ\n"
+-#~ "MLS/MCS"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "ôÒÅÂÕÅÔÓÑ Á×ÔÏÒÉÚÁÃÉÑ '%s'"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "íÏÄÕÌØ ÐÏÌÉÔÉËÉ"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "éÍÑ ÍÏÄÕÌÑ"
+-
+-#~ msgid "Version"
+-#~ msgstr "÷ÅÒÓÉÑ"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "÷ÙËÌÀÞÉÔØ ÁÕÄÉÔ"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "÷ËÌÀÞÉÔØ ÁÕÄÉÔ"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "úÁÇÒÕÚÉÔØ ÍÏÄÕÌØ ÐÏÌÉÔÉËÉ"
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>ðÒÉÌÏÖÅÎÉÑ</b>"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>ðÏÌØÚÏ×ÁÔÅÌÉ root</b>"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP ðÏÒÔÙ</b>"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP ðÏÒÔÙ</b>"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "äÏÂÁ×ÉÔØ ÄÉÁÌÏÇ ÄÌÑ ÐÅÒÅËÌÀÞÁÔÅÌÅÊ"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "äÏÂÁ×ÉÔØ ÆÁÊÌÙ É ËÁÔÁÌÏÇÉ, × ËÏÔÏÒÙÅ ÐÒÉÌÏÖÅÎÉÅ ÂÕÄÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØ "
+-#~ "ÚÁÐÉÓØ. æÁÊÌÙ PID, ÖÕÒÎÁÌÙ, /var/lib"
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "äÏÂÁ×ÉÔØ/ ÕÄÁÌÉÔØ ÐÅÒÅËÌÀÞÁÔÅÌÉ, ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÜÔÏÇÏ ÐÒÉÌÏÖÅÎÉÑ/ "
+-#~ "ÐÏÌØÚÏ×ÁÔÅÌÑ"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "òÏÌØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ"
+-
+-#~ msgid "All"
+-#~ msgstr "÷ÓÅ"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "òÁÚÒÅÛÉÔØ ÐÒÉÌÏÖÅÎÉÀ/ ÐÏÌØÚÏ×ÁÔÅÌÀ ÏÓÕÝÅÓÔ×ÌÑÔØ ×ÙÚÏ× bindresvport Ó 0. "
+-#~ "éÓÐÏÌØÚÕÅÔÓÑ ÐÏÒÔ 600-1024"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "éÍÑ ÐÅÒÅËÌÀÞÁÔÅÌÑ"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "óÏÚÄÁ×ÁÔØ É ÏÂÒÁÂÁÔÙ×ÁÔØ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ × ËÁÔÁÌÏÇÅ /tmp"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "÷×ÅÄÉÔÅ ÓÐÉÓÏË TCP-ÐÏÒÔÏ× ÉÌÉ ÄÉÁÐÁÚÏÎÏ× ÐÏÒÔÏ×, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ, Ë "
+-#~ "ËÏÔÏÒÙÍ ÂÕÄÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØÓÑ ÐÏÄËÌÀÞÅÎÉÅ. ðÒÉÍÅÒ: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "÷×ÅÄÉÔÅ ÓÐÉÓÏË UDP-ÐÏÒÔÏ× ÉÌÉ ÄÉÁÐÁÚÏÎÏ× ÐÏÒÔÏ×, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ, ÄÌÑ "
+-#~ "ËÏÔÏÒÙÈ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎÏ ÓÏÐÏÓÔÁ×ÌÅÎÉÅ. ðÒÉÍÅÒ: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "÷×ÅÄÉÔÅ ÓÐÉÓÏË UDP-ÐÏÒÔÏ× ÉÌÉ ÄÉÁÐÁÚÏÎÏ× ÐÏÒÔÏ×, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ, Ë "
+-#~ "ËÏÔÏÒÙÍ ÂÕÄÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØÓÑ ÐÏÄËÌÀÞÅÎÉÅ. ðÒÉÍÅÒ: 612, 650-660"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "õËÁÖÉÔÅ ÓÅÔÅ×ÙÅ ÐÏÒÔÙ, Ë ËÏÔÏÒÙÍ ÐÏÄËÌÀÞÁÅÔÓÑ ÒÏÌØ ÐÒÉÌÏÖÅÎÉÑ/ "
+-#~ "ÐÏÌØÚÏ×ÁÔÅÌÑ"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr ""
+-#~ "õËÁÖÉÔÅ ÓÅÔÅ×ÙÅ ÐÏÒÔÙ, ËÏÔÏÒÙÅ ÒÏÌØ ÐÒÉÌÏÖÅÎÉÑ/ ÐÏÌØÚÏ×ÁÔÅÌÑ ÂÕÄÅÔ "
+-#~ "ÐÒÏÓÌÕÛÉ×ÁÔØ"
+-
+-#~ msgid "Executable"
+-#~ msgstr "éÓÐÏÌÎÑÅÍÙÊ ËÏÍÐÏÎÅÎÔ"
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "óÕÝÅÓÔ×ÕÀÝÉÅ ÒÏÌÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "óÇÅÎÅÒÉÒÏ×ÁÎÎÙÅ ÆÁÊÌÙ ÐÏÌÉÔÉËÉ"
+-
+-#~ msgid "Init script"
+-#~ msgstr "CÃÅÎÁÒÉÊ init"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "÷ÚÁÉÍÏÄÅÊÓÔ×ÕÅÔ Ó ÔÅÒÍÉÎÁÌÏÍ"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "äÅÍÏΠéÎÔÅÒÎÅÔ-ÓÌÕÖ (inetd)"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "initd ÚÁÐÕÓËÁÅÔÓÑ ÄÅÍÏÎÏÍ xinetd"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "éÚÍÅÎÉÔØ ÓÕÝÅÓÔ×ÕÀÝÕÀ ÚÁÐÉÓØ Á×ÔÏÒÉÚÁÃÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ."
+-
+-#~ msgid "Name"
+-#~ msgstr "éÍÑ"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "ëÁÔÁÌÏÇ ÐÏÌÉÔÉËÉ"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "òÏÌØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ root"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "õÔÉÌÉÔÁ ÇÅÎÅÒÁÃÉÉ ÐÏÌÉÔÉËÉ SELinux"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "÷ÙÂÅÒÉÔÅ ðÏÒÔÙ"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "÷ÙÂÅÒÉÔÅ ÒÏÌØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ root, ÅÓÌÉ ÜÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ ÔÁËÖÅ "
+-#~ "ÁÄÍÉÎÉÓÔÒÉÒÕÅÔ ÓÉÓÔÅÍÕ × ÒÅÖÉÍÅ root. ðÒÉ ÜÔÏÍ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÓÍÏÖÅÔ "
+-#~ "Á×ÔÏÒÉÚÏ×ÁÔØÓÑ × ÓÉÓÔÅÍÅ ÎÁÐÒÑÍÕÀ."
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr ""
+-#~ "÷ÙÂÅÒÉÔÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÏÍÅÎÙ, ËÏÔÏÒÙÍÉ ÂÕÄÅÔ ÕÐÒÁ×ÌÑÔØ ÜÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ"
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr ""
+-#~ "÷ÙÂÅÒÉÔÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÏÍÅÎÙ, × ËÏÔÏÒÙÈ ÄÏÌÖÎÁ ÐÒÉÓÕÔÓÔ×Ï×ÁÔØ ÜÔÁ ÒÏÌØ"
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "÷ÙÂÅÒÉÔÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÒÏÌÉ ÄÌÑ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ"
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "÷ÙÂÅÒÉÔÅ ÐÅÒÅËÌÀÞÁÔÅÌÉ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÒÉÌÏÖÅÎÉÅÍ"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "÷ÙÂÅÒÉÔÅ ËÁÔÁÌÏÇ, × ËÏÔÏÒÏÍ ÂÕÄÅÔ ÇÅÎÅÒÉÒÏ×ÁÔØÓÑ ÐÏÌÉÔÉËÁ"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "÷ÙÂÅÒÉÔÅ ÆÁÊÌÙ É ËÁÔÁÌÏÇÉ, ËÏÔÏÒÙÍÉ ÂÕÄÅÔ ÕÐÒÁ×ÌÑÔØ ÐÒÉÌÏÖÅÎÉÅ"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "÷ÙÂÅÒÉÔÅ ÄÏÍÅÎÙ ÐÒÉÌÏÖÅÎÉÊ, ÎÁ ËÏÔÏÒÙÅ ÓÌÅÄÕÅÔ ÐÅÒÅÎÅÓÔÉ ÜÔÕ ÒÏÌØ "
+-#~ "ÐÏÌØÚÏ×ÁÔÅÌÑ."
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "÷ÙÂÅÒÉÔÅ ÄÏÍÅÎÙ, ËÏÔÏÒÙÍÉ ÄÏÌÖÅΠÕÐÒÁ×ÌÑÔØ ÜÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ."
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "÷ÙÂÅÒÉÔÅ ÒÏÌÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÓÌÅÄÕÅÔ ÐÅÒÅÎÅÓÔÉ × ÄÏÍÅÎÙ "
+-#~ "ÐÒÉÌÏÖÅÎÉÊ."
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr ""
+-#~ "÷ÙÂÅÒÉÔÅ ÒÏÌÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÄÏÌÖÎÙ ÂÙÔØ ÐÅÒÅÎÅÓÅÎÙ × ÜÔÏÔ ÄÏÍÅÎ"
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "÷ÙÂÅÒÉÔÅ ÒÏÌÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ×Ù ÈÏÔÉÔÅ ÍÏÄÉÆÉÃÉÒÏ×ÁÔØ"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ïÔÐÒÁ×ËÁ audit ÓÏÏÂÝÅÎÉÊ "
+-
+-#~ msgid "Sends email"
+-#~ msgstr "ïÔÐÒÁ×ÌÑÅÔ ÓÏÏÂÝÅÎÉÅ ÐÏ ÜÌ.ÐÏÞÔÅ"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "óÔÁÎÄÁÒÔÎÙÊ Init äÅÍÏÎ"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "óÔÁÎÄÁÒÔÎÙÅ ÄÅÍÏÎÙ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÚÁÐÕÓËÁÀÔÓÑ ÐÒÉ ÚÁÇÒÕÚËÅ Ó ÐÏÍÏÝØÀ "
+-#~ "ÓÃÅÎÁÒÉÅ× init, ËÏÔÏÒÙÅ ÏÂÙÞÎÏ ÒÁÓÐÏÌÏÖÅÎÙ × /etc/rc.d/init.d"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "ó ÐÏÍÏÝØÀ ÜÔÏÊ ÕÔÉÌÉÔÙ ÍÏÖÎÏ ÇÅÎÅÒÉÒÏ×ÁÔØ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ ÐÏÌÉÔÉËÉ, "
+-#~ "ÏÇÒÁÎÉÞÉÔØ ÒÁÂÏÔÕ ÐÒÉÌÏÖÅÎÉÊ É ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó ÐÏÍÏÝØÀ SELinux.\n"
+-#~ "\n"
+-#~ "õÔÉÌÉÔÁ ÇÅÎÅÒÉÒÕÅÔ:\n"
+-#~ "æÁÊÌ ÐÒÉÎÕÖÄÅÎÉÑ ÔÉÐÁ (te)\n"
+-#~ "æÁÊÌ ÉÎÔÅÒÆÅÊÓÁ (if)\n"
+-#~ "æÁÊÌ ËÏÎÔÅËÓÔÁ (fc)\n"
+-#~ "óÃÅÎÁÒÉÊ ÏÂÏÌÏÞËÉ (sh) ÄÌÑ ËÏÍÐÉÌÑÃÉÉ É ÕÓÔÁÎÏ×ËÉ ÐÏÌÉÔÉËÉ."
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "üÔÁ ÕÔÉÌÉÔÁ ÇÅÎÅÒÉÒÕÅÔ:\n"
+-#~ "æÁÊÌ ÐÒÉÎÕÖÄÅÎÉÑ ÔÉÐÁ (te), ÆÁÊÌ ÉÎÔÅÒÆÅÊÓÁ (if), ÆÁÊÌÏ×ÙÊ ËÏÎÔÅËÓÔ "
+-#~ "(fc),\n"
+-#~ "ÓÃÅÎÁÒÉÊ ÏÂÏÌÏÞËÉ (sh).\n"
+-#~ "\n"
+-#~ "÷ÙÐÏÌÎÉÔÅ ÓÃÅÎÁÒÉÊ ÏÂÏÌÏÞËÉ, ÞÔÏÂÙ ÓËÏÍÐÉÌÉÒÏ×ÁÔØ/ ÕÓÔÁÎÏ×ÉÔØ É ÐÒÉÓ×ÏÉÔØ "
+-#~ "ÍÅÔËÉ ÆÁÊÌÁÍ\n"
+-#~ "É ËÁÔÁÌÏÇÁÍ.\n"
+-#~ "÷ËÌÀÞÉÔÅ ÒÁÚÒÅÛÁÀÝÉÊ ÒÅÖÉÍ (setenforce 0). \n"
+-#~ "úÁÐÕÓÔÉÔÅ ÐÒÉÌÏÖÅÎÉÅ ÄÌÑ ÇÅÎÅÒÁÃÉÉ ÓÏÏÂÝÅÎÉÊ avc.\n"
+-#~ "÷ÙÐÏÌÎÉÔÅ ËÏÍÁÎÄÕ audit2allow -R, ÞÔÏÂÙ ÓÏÚÄÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÒÁ×ÉÌÁ "
+-#~ "ÄÌÑ ÆÁÊÌÁ te.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "üÔÁ ÕÔÉÌÉÔÁ ÇÅÎÅÒÉÒÕÅÔ:\n"
+-#~ "æÁÊÌ ÐÒÉÎÕÖÄÅÎÉÑ ÔÉÐÁ (te), ÆÁÊÌ ÉÎÔÅÒÆÅÊÓÁ (if), ÆÁÊÌÏ×ÙÊ ËÏÎÔÅËÓÔ "
+-#~ "(fc),\n"
+-#~ "ÓÃÅÎÁÒÉÊ ÏÂÏÌÏÞËÉ (sh).\n"
+-#~ "\n"
+-#~ "÷ÙÐÏÌÎÉÔÅ ÓÃÅÎÁÒÉÊ ÏÂÏÌÏÞËÉ × ÒÅÖÉÍÅ root, ÞÔÏÂÙ ÓËÏÍÐÉÌÉÒÏ×ÁÔØ/ "
+-#~ "ÕÓÔÁÎÏ×ÉÔØ\n"
+-#~ "É ÐÒÉÓ×ÏÉÔØ ÍÅÔËÉ ÆÁÊÌÁÍ É ËÁÔÁÌÏÇÁÍ.\n"
+-#~ "þÔÏÂÙ ÓÏÐÏÓÔÁ×ÉÔØ ÒÏÌÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍ Linux, ÉÓÐÏÌØÚÕÊÔÅ semanage ÉÌÉ "
+-#~ "useradd.\n"
+-#~ "÷ËÌÀÞÉÔÅ ÒÁÚÒÅÛÁÀÝÉÊ ÒÅÖÉÍ (setenforce 0). \n"
+-#~ "á×ÔÏÒÉÚÕÊÔÅÓØ É ÐÒÏ×ÅÒØÔÅ ÒÏÌØ ÐÏÌØÚÏ×ÁÔÅÌÑ.\n"
+-#~ "÷ÙÐÏÌÎÉÔÅ ËÏÍÁÎÄÕ audit2allow -R, ÞÔÏÂÙ ÓÏÚÄÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÒÁ×ÉÌÁ "
+-#~ "ÄÌÑ ÆÁÊÌÁ te.\n"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "üÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ Á×ÔÏÒÉÚÏ×ÁÔØÓÑ Ó ÐÏÍÏÝØÀ X ÉÌÉ ÔÅÒÍÉÎÁÌÁ. "
+-#~ "éÚÎÁÞÁÌØÎÏ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÎÁÓÔÒÏÅÎÙ setuid, sudo, su É ÓÅÔÅ×ÏÅ "
+-#~ "ÏËÒÕÖÅÎÉÅ."
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "ðÏÌØÚÏ×ÁÔÅÌØ ÓÍÏÖÅÔ Á×ÔÏÒÉÚÏ×ÁÔØÓÑ ÔÏÌØËÏ ÕÄÁÌÅÎÎÏ ÉÌÉ × ÔÅÒÍÉÎÁÌÅ. "
+-#~ "éÚÎÁÞÁÌØÎÏ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÎÁÓÔÒÏÅÎÙ setuid, sudo, su É ÓÅÔÅ×ÏÅ "
+-#~ "ÏËÒÕÖÅÎÉÅ."
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "îÅÚÁÒÅÚÅÒ×ÉÒÏ×ÁÎÎÙÅ ðÏÒÔÙ (>1024)"
+-
+-#~ msgid "User Application"
+-#~ msgstr "ðÏÌØÚÏ×ÁÔÅÌØÓËÏÅ ðÒÉÌÏÖÅÎÉÅ"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "éÓÐÏÌØÚÕÅÔÓÑ Pam ÄÌÑ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "éÓÐÏÌØÚÕÅÔÓÑ dbus"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "éÓÐÏÌØÚÕÀÔÓÑ nsswitch ÉÌÉ getpw* ×ÙÚÏ×Ù"
+-
+-#~ msgid "Role"
+-#~ msgstr "òÏÌØ"
+-
+-#~ msgid "Application"
+-#~ msgstr "ðÒÉÌÏÖÅÎÉÑ"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s ÄÏÌÖÎÁ ÂÙÔØ ÄÉÒÅËÔÏÒÉÅÊ"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "îÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "ðÒÏ×ÅÒËÁ ÉÍÅÎÉ"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "îÅÏÂÈÏÄÉÍÏ ××ÅÓÔÉ ÉÍÑ"
+-
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "îÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ ÒÏÌØ"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "îÁÓÔÒÏÊËÁ SELinux"
+-
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "æÁÊÌ ÐÒÉÎÕÖÄÅÎÉÑ ÔÉÐÁ"
+-
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "æÁÉÌ ÉÎÔÅÒÆÅÊÓÁ"
+-
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "ëÏÎÔÅËÓÔ ÆÁÊÌÁ ÄÌÑ %s ÎÅ ÏÐÒÅÄÅÌÅÎ"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux ðÏÒÔ\n"
+-#~ "ôÉÐ"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "ðÒÏÔÏËÏÌ"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "õÒÏ×ÅÎØ"
+-
+-#~ msgid "Port"
+-#~ msgstr "ðÏÒÔ"
+-
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "óÌÕÖÂÁ úÁÝÉÔÙ SELinux"
+-
+-#~ msgid "Admin"
+-#~ msgstr "áÄÍÉÎ"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "úÁÝÉÔÁ ðÁÍÑÔÉ"
+-
+-#, fuzzy
+-#~ msgid "Mount"
+-#~ msgstr "íÏÎÔÉÒÏ×ÁÔØ"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++msgstr "Ошибка параметров %s "
+-#~ msgid "Web Applications"
+-#~ msgstr "Web ðÒÉÌÏÖÅÎÉÑ"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Переключатель"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "все"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Произвольный"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Присвоение меток файлам"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ amanda ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ amavis ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ apmd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ arpwatch ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ auditd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ automount ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ avahi ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ bluetooth ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ canna ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ cardmgr ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ Cluster Server ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ ciped ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ clamd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ clamscan ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ clvmd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ comsat ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ courier ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ cpucontrol ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ cpuspeed ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ crond ÏÔËÌÀÞÅÎÁ"
+-
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ cupsd back end server ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ cupsd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ cupsd_lpd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ cvs ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ cyrus ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ dbskkd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ dbusd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ dccd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ dccifd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "÷ÙËÌÀÞÅÎÁ\9eÚÁÝÉÔÁ\9eSELinux\9eÄÌÑ\9edccm"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "÷ÙËÌÀÞÅÎÁ\9eÚÁÝÉÔÁ\9eSELinux\9eÄÌÑ\9eÄÅÍÏÎÁ\9eddt"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "÷ÙËÌÀÞÅÎÁ\9eÚÁÝÉÔÁ\9eSELinux\9eÄÌÑ\9eÄÅÍÏÎÁ\9edevfsd"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ\9eÄÅÍÏÎÁ\9edhcpc ÏÔËÌÀÞÅÎÁ\9e"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ dhcpd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ dictd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ Evolution ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Games"
+-#~ msgstr "éÇÒÙ"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ games ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ web ÂÒÁÕÚÅÒÏ× ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ Thunderbird ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ distccd ÏÔËÌÀÞÅÎÁ"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ dmesg ÏÔËÌÀÞÅÎÁ"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Определение\n"
++"файлов"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "úÁÝÉÔÁ\9eSELinux\9eÄÌÑ ÄÅÍÏÎÁ dnsmasq ÏÔËÌÀÞÅÎÁ"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"SELinux\n"
++"Тип Файла"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ dovecot ÏÔËÌÀÞÅÎÁ"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Файл\n"
++"Тип"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ entropyd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Сопоставление пользователей"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ fetchmail ÏÔËÌÀÞÅÎÁ"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Логин\n"
++"Имя"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ fingerd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Пользователь"
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ freshclam ÏÔËÌÀÞÅÎÁ"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Диапазон\n"
++"MLS/MCS"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ fsdaemon ÏÔËÌÀÞÅÎÁ"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Требуется авторизация «%s»"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ gpm ÏÔËÌÀÞÅÎÁ"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Модуль политики"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Имя модуля"
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ gss ÏÔËÌÀÞÅÎÁ"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Версия"
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ Hal ÏÔËÌÀÞÅÎÁ"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Выключить аудит"
+-#~ msgid "Compatibility"
+-#~ msgstr "óÏ×ÍÅÓÔÉÍÏÓÔØ"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Включить аудит"
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ hostname ÏÔËÌÀÞÅÎÁ"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Загрузить модуль политики"
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ hotplug ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ howl ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ cups hplip ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ httpd rotatelogs ÏÔËÌÀÞÅÎÁ"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "перевод"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "óÌÕÖÂÁ HTTPD"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"С помощью этой утилиты можно генерировать инфраструктуру политики, "
++"ограничить работу приложений и пользователей с помощью SELinux.\n"
++"\n"
++"Утилита генерирует:\n"
++"Файл принуждения типа (te)\n"
++"Файл интерфейса (if)\n"
++"Файл контекста (fc)\n"
++"Сценарий оболочки (sh) для компиляции и установки политики."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Выберите тип роли приложения/ пользователя для применения ограничений"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Приложения</b>"
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ http suexec ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Стандартные службы инициализации запускаются при загрузке с помощью "
++"сценариев init, которые обычно расположены в /etc/rc.d/init.d"
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ hwclock ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Стандартная служба Init"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Системная служба DBUS"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "initd запускается службой xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Диспетчер Интернет-служб (inetd)"
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ i18n ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "Веб-приложения/ сценарии CGI, запускаемые веб-сервером Apache"
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ imazesrv ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Веб-приложение/ сценарий (CGI)"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ inetd child ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Пользовательское приложение -- любое приложение, запущенное пользователем, к "
++"которому вы хотите применить ограничения."
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ inetd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Пользовательское приложение"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Зарегистрированные пользователи</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Изменить существующую запись авторизации пользователя."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Существующие роли пользователей"
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ innd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Пользователь сможет авторизоваться только удаленно или в терминале. "
++"Изначально для пользователя не настроены setuid, sudo, su и сетевое "
++"окружение."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Минимальная роль пользователя терминала"
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ iptables ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Этот пользователь может авторизоваться с помощью X или терминала. Изначально "
++"для пользователя не настроены setuid, sudo, su и сетевое окружение."
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ ircd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Минимальная роль пользователя X Window"
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ irqbalance ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Пользователь с полностью настроенным сетевым окружением, приложения без "
++"setuid, без su, без sudo."
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ iscsi ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Роль пользователя"
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ jabberd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Пользователь с полностью настроенным сетевым окружением, приложения без "
++"setuid, без su могут выполнять доступ sudo к ролям администрирования root."
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Роль администратора"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Пользователи root</b>"
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ kadmind ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Выберите роль администратора root, если этот пользователь также "
++"администрирует систему в режиме root. При этом пользователь не сможет "
++"авторизоваться в системе напрямую."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Роль администратора root"
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ klogd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++"Введите имя роли приложения или пользователя для применения ограничений"
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ krb5kdc ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Имя"
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ ktalk ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++"Укажите полный путь к исполняемому компоненту, к которому будут применены "
++"ограничения"
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ kudzu ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ locate ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++"Введите уникальное имя для ограничиваемой роли приложения/ пользователя."
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ lpd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Исполняемый компонент"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ lrrd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Сценарий init"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ lvm ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Укажите полный путь к сценарию init, используемому для запуска "
++"ограничиваемого приложения."
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ mailman ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Выберите роли пользователей, которые вы хотите модифицировать"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ mdadm ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Выберите роли пользователей, которые следует перенести в домены приложений."
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ monopd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++"Выберите дополнительные домены, в которых должна присутствовать эта роль"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ mrtg ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Выберите домены приложений, на которые следует перенести эту роль "
++"пользователя."
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ mysqld ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++"Выберите роли пользователей, которые должны быть перенесены в этот домен"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ nagios ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++"Выберите дополнительные домены, которыми будет управлять этот пользователь"
+-#~ msgid "Name Service"
+-#~ msgstr "óÌÕÖÂÁ éÍÅÎ"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Выберите домены, которыми должен управлять этот пользователь."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Выберите дополнительные роли для этого пользователя"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ named ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Укажите сетевые порты, которые роль приложения/ пользователя будет "
++"прослушивать"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ nessusd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Порты TCP</b>"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ NetworkManager ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Разрешает сопоставление ограничиваемых приложений/ пользователей любому "
++"порту UDP"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ nfsd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Все"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Разрешить приложению/ пользователю осуществлять вызов bindresvport с 0. "
++"Используется порт 600-1024"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ nmbd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ nrpe ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Введите список UDP-портов или диапазонов портов, разделенных запятой, для "
++"которых будет выполнено сопоставление. Пример: 612, 650-660"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ nscd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Незарезервированные порты (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Выберите порты"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ nsd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Разрешить сопоставление приложений/ пользователей любым портам UDP с "
++"номерами > 1024"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ ntpd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Порты UDP</b>"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ oddjob ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Укажите сетевые порты, к которым подключается роль приложения/ пользователя"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ oddjob_mkhomedir ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Введите список TCP-портов или диапазонов портов, разделенных запятой, к "
++"которым будет осуществляться подключение. Пример: 612, 650-660"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ openvpn ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Введите список UDP-портов или диапазонов портов, разделенных запятой, к "
++"которым будет осуществляться подключение. Пример: 612, 650-660"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ pam ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Выбрать типичное поведение приложения"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Записывает сообщения syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Создавать и обрабатывать временные файлы в каталоге /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Используется Pam для аутентификации"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Используются nsswitch или getpw* вызовы"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Используется dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Отправка audit сообщений "
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Взаимодействует с терминалом"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Отправляет сообщение по эл.почте"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Выберите файлы и каталоги, которыми будет управлять приложение"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ pegasus ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Добавить файлы и каталоги, в которые приложение будет осуществлять запись. "
++"Файлы PID, журналы, /var/lib"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ perdition ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Выберите переключатели для использования приложением"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ portmap ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Добавить/ удалить переключатели, используемые для этого приложения/ "
++"пользователя"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ portslave ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Выберите каталог, в котором будет генерироваться политика"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Каталог политики"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Сгенерированные файлы политики"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ postfix ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Эта утилита генерирует:\n"
++"Файл принуждения типа (te), файл интерфейса (if), файловый контекст (fc),\n"
++"сценарий оболочки (sh).\n"
++"\n"
++"Выполните сценарий оболочки в режиме root, чтобы скомпилировать/ установить\n"
++"и присвоить метки файлам и каталогам.\n"
++"Чтобы сопоставить роли пользователям Linux, используйте semanage или "
++"useradd.\n"
++"Включите разрешающий режим (setenforce 0). \n"
++"Авторизуйтесь и проверьте роль пользователя.\n"
++"Выполните команду audit2allow -R, чтобы создать дополнительные правила для "
++"файла te.\n"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ postgresql ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Эта утилита генерирует:\n"
++"Файл принуждения типа (te), файл интерфейса (if), файловый контекст (fc),\n"
++"сценарий оболочки (sh).\n"
++"\n"
++"Выполните сценарий оболочки, чтобы скомпилировать/ установить и присвоить "
++"метки файлам\n"
++"и каталогам.\n"
++"Включите разрешающий режим (setenforce 0). \n"
++"Запустите приложение для генерации сообщений avc.\n"
++"Выполните команду audit2allow -R, чтобы создать дополнительные правила для "
++"файла te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Добавить диалог для переключателей"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Имя переключателя"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Роль"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Существующий _пользователь"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Приложение"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s должна быть директорией"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Необходимо указать пользователя"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Выберите исполняемый файл для применения ограничений."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Выберите сценарий init для применения ограничений."
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"Выберите файлы, которые ограничиваемое приложение будет создавать или "
++"записывать"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ pptp ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Выберите каталоги, которые будут принадлежать ограничиваемым приложениям"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ prelink ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Выберите каталог, в котором будут генерироваться файлы политики"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ privoxy ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Тип %s_t уже определен в текущей политике.\n"
++"Продолжить?"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ ptal ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Проверка имени"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ pxe ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Модуль %s.pp уже загружен в текущую политику.\n"
++"Продолжить?"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ pyzord ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Необходимо ввести имя"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ quota ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Необходимо указать исполняемый компонент"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ radiusd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Настройка SELinux"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ radvd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Номера портов должны лежать в диапазоне от 1 до %d "
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ rdisc ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Необходимо ввести имя процесса/ пользователя с ограничениями"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ readahead ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Типы пользователей не являются допустимыми исполняемыми компонентами"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ restorecond ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Только демоны могут использовать сценарий init"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ rhgb ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog должен содержать логическое значение"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ricci ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Типам пользователей автоматически присваивается тип tmp"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ricci_modclusterd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Для ограничиваемого процесса необходимо задать исполняемый путь"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ rlogind ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Файл принуждения типа"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ rpcd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Файл интерфейса"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ rshd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Файл контекста"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Сценарий настройки"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ rsync ÏÔËÌÀÞÅÎÁ"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Сетевой порт"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "ÓÅÒ×ÅÒ Á×ÔÏÒÉÚÁÃÉÉ SASL"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux Порт\n"
++"Тип"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ saslauthd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Протокол"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ scannerdaemon ÏÔËÌÀÞÅÎÁ"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"Уровень"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ sendmail ÏÔËÌÀÞÅÎÁ"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Порт"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Неверный номер порта \"%s\". 0 < номер порта < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Список"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Группы"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Защита служб SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Отключить защиту SELinux для acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Админ"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Разрешить всем демонам осуществлять запись в /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Разрешить всем демонам использовать незанятые tty"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Привилегии пользователей"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ setrans ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешить учетной записи gadmin исполнять файлы в домашнем каталоге и /tmp"
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ setroubleshoot ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешить учетной записи guest исполнять файлы в домашнем каталоге и /tmp"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ slapd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Защита памяти"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Разрешить исполняемый стек java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Монтирование"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Разрешить монтирование любых файлов"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Разрешить монтирование любых каталогов"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Разрешить исполняемый стек mplayer"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Разрешить ssh исполнять ssh-keysign"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ slrnpull ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешить пользователю staff исполнять файлы в домашнем каталоге и /tmp"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ smbd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешить пользователю sysadm исполнять файлы в домашнем каталоге и /tmp"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ snmpd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Разрешить неограниченной учетной записи SELinux исполнять файлы в домашнем "
++"каталоге и /tmp"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ snort ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Конфигурация сети"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Разрешить прохождение по сети неотмеченных пакетов"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ soundd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешить пользователям user исполнять файлы в домашнем каталоге и /tmp"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ sound ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"Разрешить неограниченным компонентам выполнять dyntrans для "
++"unconfined_execmem"
+-#~ msgid "Spam Protection"
+-#~ msgstr "úÁÝÉÔÁ ÏÔ óÐÁÍÁ"
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Базы данных"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Разрешить пользователю подключаться к сокету mysql"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Разрешить пользователю подключаться к сокету postgres"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Разрешить клиентам осуществлять запись в разделяемую память X"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ spamd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Разрешить учетной записи xguest исполнять файлы в домашнем каталоге и /tmp"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ speedmgmt ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Разрешить демонам исполняться с NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web Приложения"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Перенести пользователя staff в домен веб-браузера"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Перенести пользователя sysadm в домен веб-браузера"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Перенести пользователя user в домен веб-браузера"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Перенести пользователя xguest в домен веб-браузера"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++"Разрешить браузерам пользователя staff осуществлять запись в домашние "
++"каталоги"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Отключить защиту SELinux для amanda "
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Отключить защиту SELinux для amavis "
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Отключить защиту SELinux для службы apmd "
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Отключить защиту SELinux для arpwatch "
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Отключить защиту SELinux для auditd "
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Отключить защиту SELinux для automount "
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Отключить защиту SELinux для avahi "
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Отключить защиту SELinux для bluetooth "
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Отключить защиту SELinux для canna "
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Отключить защиту SELinux для cardmgr "
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Отключить защиту SELinux для Cluster Server "
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ squid ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Разрешить cdrecord осуществлять чтение различной информации с NFS, Samba, из "
++"временных каталогов пользователей, недоверенных файлов и съемных устройств"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ ssh ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Отключить защиту SELinux для ciped "
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Отключить защиту SELinux для clamd "
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Отключить защиту SELinux для clamscan "
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Отключить защиту SELinux для clvmd "
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Отключить защиту SELinux для comsat "
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Отключить защиту SELinux для courier "
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Отключить защиту SELinux для cpucontrol "
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Отключить защиту SELinux для cpuspeed "
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Отключить защиту SELinux для crond "
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Печать"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Отключить защиту·SELinux·для сервера cupsd"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Отключить защиту SELinux для cupsd"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Отключить защиту SELinux для cupsd_lpd "
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Отключить защиту SELinux для cvs "
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Отключить защиту SELinux для cyrus "
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Отключить защиту SELinux для dbskkd "
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Отключить защиту SELinux для dbusd "
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Отключить защиту SELinux для dccd "
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Отключить защиту SELinux для dccifd "
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Отключить защиту SELinux для dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Отключить защиту SELinux для ddt "
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Отключить защиту SELinux для devfsd"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Отключить защиту SELinux для dhcpc"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Отключить защиту SELinux для dhcpd"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Отключить защиту SELinux для dictd"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Разрешить sysadm_t запускать службы напрямую"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Отключить защиту SELinux·для Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Игры"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Отключить защиту SELinux для games "
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Отключить защиту SELinux для веб-браузеров "
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Отключить защиту SELinux для Thunderbird "
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Отключить защиту SELinux для distccd "
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Отключить защиту SELinux для dmesg "
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Отключить защиту SELinux для dnsmasq "
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Отключить защиту SELinux для dovecot "
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Отключить защиту SELinux для entropyd "
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Отключить защиту SELinux для fetchmail "
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Отключить защиту SELinux для fingerd "
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Отключить защиту SELinux для freshclam "
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Отключить защиту SELinux для fsdaemon "
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Отключить защиту SELinux для gpm "
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Отключить защиту SELinux для gss "
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Отключить защиту SELinux для Hal "
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Совместимость"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ stunnel ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Не выполнять аудит неисправных компонентов, которые не представляют угрозу "
++"безопасности"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ swat ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Отключить защиту SELinux для hostname "
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Отключить защиту SELinux для hotplug "
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Отключить защиту SELinux для howl "
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Отключить защиту SELinux для cups hplip "
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Отключить защиту SELinux для httpd rotatelogs "
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Служба HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Отключить защиту SELinux для http suexec "
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Отключить защиту SELinux для hwclock "
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Отключить защиту SELinux для службы i18n"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Отключить защиту SELinux для imazesrv"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Отключить защиту SELinux для дочерних процессов inetd"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Отключить защиту SELinux для inetd"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Отключить защиту SELinux для innd"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Отключить защиту SELinux для iptables"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Отключить защиту SELinux для ircd"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Отключить защиту SELinux для irqbalance"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Отключить защиту SELinux для iscsi"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Отключить защиту SELinux для jabberd"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Отключить защиту SELinux для kadmind"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Отключить защиту SELinux для klogd"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Отключить защиту SELinux для krb5kdc"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Отключить защиту SELinux для процессов ktalk"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Отключить защиту SELinux для kudzu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Отключить защиту SELinux для locate"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Отключить защиту SELinux для lpd"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Отключить защиту SELinux для lrrd"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Отключить защиту SELinux для lvm"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Отключить защиту SELinux для mailman"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ sxid ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++"Разрешить Evolution и Thunderbird осуществлять чтение файлов пользователей"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ syslogd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Отключить защиту SELinux для mdadm"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Отключить защиту SELinux для monopd"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Разрешить Mozilla осуществлять чтение файлов пользователя"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Отключить защиту SELinux для mrtg"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Отключить защиту SELinux для mysqld"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Отключить защиту SELinux для nagios"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Служба имён"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Отключить защиту SELinux для named"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Отключить защиту SELinux для nessusd"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Отключить защиту SELinux для NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Отключить защиту SELinux для nfsd"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Отключить защиту SELinux для nmbd"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Отключить защиту SELinux для nrpe"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Отключить защиту SELinux для nscd"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Отключить защиту SELinux для nsd"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Отключить защиту SELinux для ntpd "
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Отключить защиту SELinux для oddjob "
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Отключить защиту SELinux для oddjob_mkhomedir "
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Отключить защиту SELinux для openvpn "
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Отключить защиту SELinux для pam"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Отключить защиту SELinux для pegasus "
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Отключить защиту SELinux для perdition "
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Отключить защиту SELinux для portmap "
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Отключить защиту SELinux для portslave "
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Отключить защиту SELinux для postfix "
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Отключить защиту SELinux для postgresql "
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Разрешить исполнение pppd в режиме обычного пользователя"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Отключить защиту SELinux для pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Отключить защиту SELinux для prelink"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Отключить защиту SELinux для privoxy"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Отключить защиту SELinux для ptal"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Отключить защиту SELinux для pxe"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Отключить защиту SELinux для pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Отключить защиту SELinux для quota"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Отключить защиту SELinux для radiusd"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Отключить защиту SELinux для radvd "
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Отключить защиту SELinux для rdisc "
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Отключить защиту SELinux для readahead "
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÓÉÓÔÅÍÙ ÚÁÄÁÎÉÊ cron jobs ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Разрешить программам осуществлять чтение файлов из нестандартных источников "
++"(default_t)"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ tcp ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Отключить защиту SELinux для restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Отключить защиту SELinux для rhgb "
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Отключить защиту SELinux для ricci "
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Отключить защиту SELinux для ricci_modclusterd "
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Отключить защиту SELinux для rlogind "
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Отключить защиту SELinux для rpcd "
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Отключить защиту SELinux для rshd "
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Отключить защиту SELinux для rsync "
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Разрешить запуск ssh из inted, а не в качестве демона"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Разрешить Samba открыть совместный доступ к каталогам NFS"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "сервер авторизации SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Разрешить серверу авторизации sasl осуществлять чтение /etc/shadow"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ telnet ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Разрешить серверу X-Windows обозначать регион памяти как исполняемый и "
++"доступный для записи"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ tftpd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Отключить защиту SELinux для saslauthd "
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Отключить защиту SELinux для scannerdaemon "
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Не разрешать изменение на sysadm_t, sudo и su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Не разрешать процессам загружать модули ядра"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Не разрешать процессам изменять политику SELinux ядра"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Отключить защиту SELinux для sendmail"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Отключить защиту SELinux для setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Отключить защиту SELinux для setroubleshoot"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Отключить защиту SELinux для slapd "
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Отключить защиту SELinux для slrnpull "
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Отключить защиту SELinux для smbd "
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Отключить защиту SELinux для snmpd "
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Отключить защиту SELinux для snort "
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Отключить защиту SELinux для soundd "
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Отключить защиту SELinux для sound "
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Защита от cпама"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Отключить защиту SELinux для spamd "
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Разрешить spamd обращаться к домашним каталогам"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Разрешить сетевой доступ демону Spam Assassin"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Отключить защиту SELinux для speedmgmt "
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Разрешить демону squid подключаться к сети"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Отключить защиту SELinux для squid"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Отключить защиту SELinux для ssh "
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Разрешить авторизацию ssh для sysadm_r:sysadm_t"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ transproxy ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Разрешить пользователям staff_r выполнять поиск в домашнем каталоге и "
++"осуществлять чтение файлов (например, ~/.bashrc)"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ udev ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Универсальный туннель SSL"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Отключить защиту SELinux для stunnel "
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Разрешить демону stunnel выполняться независимо от xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Отключить защиту SELinux для swat"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Отключить защиту SELinux для sxid "
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Отключить защиту SELinux для syslogd "
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Отключить защиту SELinux для системы заданий cron jobs "
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Отключить защиту SELinux для tcp "
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Отключить защиту SELinux для telnet "
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Отключить защиту SELinux для tftpd "
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Отключить защиту SELinux для transproxy "
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Отключить защиту SELinux для udev "
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Отключить защиту SELinux для uml "
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ uml ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Разрешить демону xinetd выполняться без ограничений, что включает все "
++"запускаемые им службы, для которых явно не заданы преобразования доменов"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ updfstab ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Разрешить выполнение сценариев rc без ограничений, включая демон, "
++"запускаемый сценарием rc, для которого не задан явно домен перехода"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ uptimed ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Разрешить rpm исполняться без ограничений"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ uucpd ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Разрешить привилегированным утилитам (например, hotplug и insmod) "
++"выполняться без ограничений"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ vmware ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Отключить защиту SELinux для updfstab "
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Отключить защиту SELinux для uptimed "
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ watchdog ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Разрешить пользователю user_r обращаться к sysadm_r через su, sudo или "
++"userhelper. В противном случае только staff_r сможет осуществлять обращение"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ winbind ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Разрешить пользователям исполнять команду mount"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ xdm ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Разрешить обычным пользователям осуществлять прямой доступ с помощью мыши "
++"(только для сервера X)"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ xen ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Разрешить пользователям исполнять команду dmesg"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Разрешить пользователям управлять сетевыми интерфейсами (также требуется "
++"USERCTL=true)"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ xfs ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Разрешить обычным пользователям выполнять ping"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ xen ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Разрешить пользователям выполнять чтение и запись noextattrfile (FAT, CDROM, "
++"FLOPPY)"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÏÍÏÎÁ ypbind ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Разрешить пользователям выполнять чтение и запись устройств USB"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ NIS Password Daemon ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:216
++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 ""
++"Разрешить пользователям запускать серверы TCP (осуществлять сопоставление "
++"портов и принимать подключения из того же домена и внешних пользователей). "
++"Отключение этой возможности вызовет переход в пассивный режим FTP и может "
++"изменить другие протоколы"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Разрешить пользователям исполнять stat для файлов tty"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Отключить защиту SELinux для uucpd"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Отключить защиту SELinux для vmware"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Отключить защиту SELinux для watchdog "
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Отключить защиту SELinux для winbind "
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Отключить защиту SELinux для xdm "
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Разрешить авторизацию xdm как sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Отключить защиту SELinux для xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ ÄÅÍÏÎÁ ypserv ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++"Разрешить xen осуществлять запись и чтение физических дисковых устройств"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "úÁÝÉÔÁ SELinux ÄÌÑ NIS Transfer Daemon ÏÔËÌÀÞÅÎÁ"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Отключить защиту SELinux для xfs"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Отключить защиту SELinux для управления xen "
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Отключить защиту SELinux для ypbind "
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Отключить защиту SELinux для NIS Password Daemon "
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Отключить защиту SELinux для ypserv "
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Отключить защиту SELinux для NIS Transfer Daemon "
+-#~ msgid "Delete %s"
+-#~ msgstr "õÄÁÌÉÔØ %s"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Разрешить пользователю webadm управлять домашними каталогами "
++"непривилегированных пользователей"
+-#~ msgid "Add %s"
+-#~ msgstr "äÏÂÁÉÔØ %s"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Разрешить пользователю webadm осуществлять чтение домашних каталогов "
++"непривилегированных пользователей"
+-#~ msgid "Modify %s"
+-#~ msgstr "éÚÍÅÎÉÔØ %s"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Вы действительно хотите удалить %s «%s»?"
+-#, fuzzy
+-#~ msgid "Disabled"
+-#~ msgstr "÷ÙËÌÀÞÅÎÏ"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Удалить %s"
+-#~ msgid "Status"
+-#~ msgstr "óÔÁÔÕÓ"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Добавить %s"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>÷ÙÂÏÒ:</b>"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Изменить %s"
+-#~ msgid "Add"
+-#~ msgstr "äÏÂÁ×ÉÔØ"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Разрешающий"
+-#~ msgid "Add Network Port"
+-#~ msgstr "äÏÂÁ×ÉÔØ óÅÔÅ×ÏÊ ðÏÒÔ"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Строгий"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "äÏÂÁ×ÉÔØ óÅÔÅ×ÏÊ ðÏÒÔ SELinux"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Выключено"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "äÏÂÁ×ÉÔØ ðÏÌØÚÏ×ÁÔÅÌÑ SELinux"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Статус"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "õÄÁÌÉÔØ óÅÔÅ×ÏÊ ðÏÒÔ"
++#: ../gui/statusPage.py:133
++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 ""
++"Изменение типа политики потребует переразметки всей файловой системы при "
++"следующей загрузке. Процесс переразметки может быть достаточно длительным в "
++"зависимости от размера файловой системы. Продолжить?"
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ SELinux %s"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Отключение политики SELinux требует перезагрузки и не рекомендуется. Если в "
++"дальнейшем вы захотите включить SELinux, потребуется выполнить переразметку "
++"файловой системы. Если же вы просто хотите проверить, не вызывает ли SELinux "
++"проблем в системе, используйте разрешающий режим, который не принуждает "
++"политику, но при этом регистрирует ошибки в журнале. Разрешающий режим не "
++"требует перезагрузки. Продолжить?"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "òÅÄÁËÔÉÒÏ×ÁÔØ óÅÔÅ×ÏÊ ðÏÒÔ"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Активация политики SELinux потребует переразметки всей файловой системы при "
++"следующей загрузке. Процесс переразметки может быть достаточно длительным в "
++"зависимости от размера файловой системы. Продолжить?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "File Type"
+-#~ msgstr "ôÉРæÁÊÌÁ"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"(c) 2006 Red Hat, Inc.\n"
++"(c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Filter"
+-#~ msgstr "æÉÌØÔÅÒ"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Добавить соответствие авторизации SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Добавить сетевые порты SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Тип SELinux"
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÈÒÁÎÉÌÉÝÅ ÐÏÌÉÔÉËÉ."
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Уровень"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Спецификация файла"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Тип файла"
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ SELinux ÐÏÌØÚÏ×ÁÔÅÌÑ %s"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"все файлы\n"
++"обычный файл\n"
++"каталог\n"
++"символьное устройство\n"
++"блочное устройство\n"
++"сокет\n"
++"символьная ссылка\n"
++"канал\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Добавить пользователя SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Администрирование SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Добавить"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Свойство"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Удалить"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Выбрать объект управления"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Выбор:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Строгий режим по умолчанию"
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ SELinux ÐÏÌØÚÏ×ÁÔÅÌÑ %s"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Выключено\n"
++"Разрешающий\n"
++"Строгий\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Текущий строгий режим"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Тип политики по умолчанию:"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "áÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÅ SELinux"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Выберите, если вы хотите выполнить переразметку всей файловой системы при "
++"следующей загрузке. Процесс переразметки может быть длительным в зависимости "
++"о размера файловой системы. При изменении типа политики также будет "
++"необходима переразметка."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Переразметка при следующей загрузке."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Восстановить исходное значение параметра"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Переключение между пользовательскими и всеми логическими значениями"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Запустить мастер блокировки логических переменных"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Блокирование..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Фильтр"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Добавить контекст файла"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Изменить контекст файла"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Удалить контекст файла"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Переключение между всеми и произвольными контекстами файлов"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Добавить соответствие пользователей SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Изменить сопоставление пользователя SELinux пользователя %s"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Удалить соответствие пользователя SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Добавить пользователя"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Изменить пользователя"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Удалить пользователя"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Добавить категорию"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Изменить категорию"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Удалить категорию"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Добавить сетевой порт"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Изменить сетевой порт"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Удалить сетевой порт"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Переключение между пользовательскими и всеми портами"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Генерировать модуль новой политики"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Загрузить модуль политики"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Удалить загружаемый модуль политики"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "õÒÏ×ÅÎØ"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Включить или выключить дополнительные правила аудита, которые обычно не "
++"отражаются в журналах."
+-#~ msgid "SELinux Type"
+-#~ msgstr "ôÉРSELinux"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "_Delete"
+-#~ msgstr "_õÄÁÌÉÔØ"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Изменить режим процесса на разрешающий."
+-#~ msgid "_Properties"
+-#~ msgstr "_ó×ÏÊÓÔ×Ï"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Изменить режим на строгий."
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Домен процесса"
+-#, fuzzy
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "õÒÏ×ÅÎØ þÕ×ÓÔ×ÉÔÅÌØÎÏÓÔÉ"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "ÎÅÏÂÈÏÄÉÍ SELinux ÐÏÌØÚÏ×ÁÔÅÌØ '%s' "
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Необходим SELinux пользователь «%s»"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/si.po policycoreutils-2.0.85/po/si.po
+--- nsapolicycoreutils/po/si.po        2011-02-17 15:11:25.272732440 -0500
++++ policycoreutils-2.0.85/po/si.po    2011-02-18 16:03:41.442976249 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/sk.po policycoreutils-2.0.85/po/sk.po
+--- nsapolicycoreutils/po/sk.po        2011-02-17 15:11:25.302731946 -0500
++++ policycoreutils-2.0.85/po/sk.po    2011-02-18 16:03:41.442976249 -0500
+@@ -7,16 +7,36 @@
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: 2007-01-25 03:00+0100\n"
+ "Last-Translator: Mike Karas <zoliqe@gmail.com>\n"
+ "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
++"Language: sk\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Poedit-Language: Slovak\n"
+ "X-Poedit-Country: SLOVAKIA\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux typ je požadovaný"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Nemožno načítať pravidlo z pamäte."
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -129,7 +149,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -183,743 +204,750 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Nemožno vytvoriť kľúč pre %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Nemožno skontrolovať či mapovanie loginu pre %s je definované"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Mapovanie loginu pre %s je už definované"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, fuzzy, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linuxový užívateľ %s neexistuje"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linuxový užívateľ %s neexistuje"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Nemožno vytvoriť mapovanie loginu pre %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Nemožno nastaviť meno pre %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Nemožno nastavit MLS rozsah pre %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Nemožno nastaviť SELinux užívateľa pre %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Nemožno pridat mapovanie loginu pre %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ #, fuzzy
+ msgid "add SELinux user mapping"
+ msgstr "Nemožno pridať SELinux užívateľa %s"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Vyžaduje seuser alebo serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Mapovanie loginu pre %s nie je definované"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Nemožno overiť seuser pre %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Nemožno zmeniť mapovanie loginu pre %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "Mapovanie loginu pre %s je definované v pravidlách, nemôže byť zmazané"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Nemožno zmazať mapovanie loginu pre %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Nemožno listovať mapovaniami loginov"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ #, fuzzy
+ msgid "SELinux User"
+ msgstr "SELinux typ je požadovaný"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, fuzzy, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "Nemožno pridať kontext súboru pre %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Nemožno skontrolovať či SELinux užívateľ %s je definovaný"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux užívateľ %s je už definovaný"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Nemožno vytvoriť SELinux užívateľa pre %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Nemožno pridať rolu %s pre %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Nemožno nastaviť MLS úroveň pre %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Nemožno pridať prefix %s pre %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Nemožno extrahovať kľúč pre %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Nemožno pridať SELinux užívateľa %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Požaduje prefix, role, úroveň alebo rozsah"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Požaduje prefix alebo role"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux užívateľ %s nie je definovaný"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Nemožno overiť užívateľa pre %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Nemožno zmeniť SELinux užívateľa %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux užívateľ %s je definovaný v pravidlách, nemožno ho zmazať"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Nemožno zmazať SELinux užívateľa %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Nemožno listovať SELinux užívateľmi"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Nemožno listovať rolami pre užívateľa %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Protokol udp alebo tcp je požadovaný"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Port je požadovaný"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Nemožno vytvoriť kľúč pre %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Typ je požadovaný"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Nemožno skontrolovať či port %s/%s je definovaný"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s je už definovaný"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Nemožno vytvoriť port pre %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Nemožno vytvoriť kontext pre %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Nemožno nastaviť užívateľa v kontexte portu pre %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Nemožno nastaviť rolu v kontexte portu pre %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Nemožno nastaviť typ v kontexte portu pre %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Nemožno nastaviť mls pole v kontexte portu pre %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Nemožno nastaviť kontext portu pre %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Nemožno pridať port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Požaduje setype alebo serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Požaduje setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Por %s/%s nie je definovaný"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Nemožno overiť port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Nemožno zmeniť port %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ #, fuzzy
+ msgid "Could not list the ports"
+ msgstr "Nemožno listovať portami"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, fuzzy, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Nemožno zmazať port %s/%s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s je definovaný v pravidlách, nemôže byť zmazaný"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Nemožno zmazať port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Nemožno listovať portami"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ #, fuzzy
+ msgid "Node Address is required"
+ msgstr "Port je požadovaný"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ #, fuzzy
+ msgid "Node Netmask is required"
+ msgstr "Port je požadovaný"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux typ je požadovaný"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Nemožno vytvoriť kľúč pre %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, fuzzy, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "Nemožno skontrolovať či port %s/%s je definovaný"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, fuzzy, python-format
+ msgid "Addr %s already defined"
+ msgstr "Port %s/%s je už definovaný"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, fuzzy, python-format
+ msgid "Could not create addr for %s"
+ msgstr "Nemožno vytvoriť kľúč pre %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Nemožno vytvoriť kontext pre %s"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, fuzzy, python-format
+ msgid "Could not set mask for %s"
+ msgstr "Nemožno nastaviť meno pre %s"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, fuzzy, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "Nemožno nastaviť užívateľa v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, fuzzy, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "Nemožno nastaviť rolu v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, fuzzy, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "Nemožno nastaviť typ v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, fuzzy, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "Nemožno nastaviť mls pole v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, fuzzy, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "Nemožno nastavit kontext súboru pre %s"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, fuzzy, python-format
+ msgid "Could not add addr %s"
+ msgstr "Nemožno pridať port %s/%s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, fuzzy, python-format
+ msgid "Addr %s is not defined"
+ msgstr "Por %s/%s nie je definovaný"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, fuzzy, python-format
+ msgid "Could not query addr %s"
+ msgstr "Nemožno overiť port %s/%s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, fuzzy, python-format
+ msgid "Could not modify addr %s"
+ msgstr "Nemožno zmeniť port %s/%s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, fuzzy, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s je definovaný v pravidlách, nemôže byť zmazaný"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, fuzzy, python-format
+ msgid "Could not delete addr %s"
+ msgstr "Nemožno zmazať rozhranie %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ #, fuzzy
+ msgid "Could not list addrs"
+ msgstr "Nemožno listovať portami"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Nemožno skontrolovať či rozhranie %s je definované"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Rozhranie %s je už definované"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Nemožno vytvoriť rozhranie pre %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Nemožno nastaviť užívateľa v kontexte rozhrania pre %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Nemožno nastaviť rolu v kontexte rozhrania pre %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Nemožno nastaviť typ v kontexte rozhrania pre %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Nemožno nastaviť mls pole v kontexte rozhrania pre %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Nemožno nastaviť kontext rozhrania pre %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Nemožno nastaviť kontext správy pre %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Nemožno pridať rozhranie %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Rozhranie %s nie je definované"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Nemožno overiť rozhranie %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Nemožno zmeniť rozhranie %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Rozhranie %s je definované v pravidlách, nemôže byť zmazané"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Nemožno zmazať rozhranie %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Nemožno listovať rozhraniami"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Nemožno nastaviť užívateľa v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Nemožno nastaviť rolu v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Nemožno nastaviť mls pole v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Nemožno skontrolovať či kontext súboru pre %s je definovaný"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Kontext súboru pre %s je už definovaný"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Nemožno vytvoriť kontext súboru pre %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Nemožno nastaviť typ v kontexte súboru pre %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Nemožno nastavit kontext súboru pre %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Nemožno pridať kontext súboru pre %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Požaduje setype, serange alebo seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Kontext súboru pre %s nie je definovaný"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Nemožno overiť kontext súboru pre %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Nemožno zmeniť kontext súboru pre %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ #, fuzzy
+ msgid "Could not list the file contexts"
+ msgstr "Nemožno listovať kontextami súboru"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, fuzzy, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Nemožno zmazať kontext súboru pre %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "Kontext súboru pre %s je definovaný v pravidlách, nemôže byť zmazaný"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Nemožno zmazať kontext súboru pre %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Nemožno listovať kontextami súboru"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Nemožno listovať kontextami lokálnych súborov"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Nemožno skontrolovať či logická hodnota %s je definovaná"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Logická hodnota %s nie je definovaná"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Nemožno overiť kontext súboru %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, fuzzy, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "Musíte zadať prefix"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, fuzzy, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "Nemožno zmazať logickú hodnotu %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Nemožno zmeniť logickú hodnotu %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Logická hodnota %s je definovaná v pravidlách, nemožno ju zmazať"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Nemožno zmazať logickú hodnotu %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Nemožno listovať logickými hodnotami"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1291,86 +1319,2087 @@
+ msgid "Options Error %s "
+ msgstr "Chyba volieb %s"
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "preklady nie sú podporované na nie-MLS strojoch"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "SELinux typ je požadovaný"
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "SELinux typ je požadovaný"
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Chyba odosielania audit správy.\n"
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Musíte zadať rolu"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++#: ../gui/fcontextPage.py:81
+ #, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Musíte zadať rolu"
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr "SELinux typ je požadovaný"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Musíte zadať rolu"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Vytváranie súboru vynútenia typov: %s.te"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Rozhranie %s nie je definované"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "Kontext súboru pre %s nie je definovaný"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux užívateľ %s nie je definovaný"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Zostavujem pravidlá"
++#: ../gui/loginsPage.py:133
++#, fuzzy, python-format
++msgid "Login '%s' is required"
++msgstr "SELinux typ je požadovaný"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Autentifikácia %s.\n"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux typ je požadovaný"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Nemožno pridať SELinux užívateľa %s"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Nemožno zmeniť SELinux užívateľa %s"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Nemožno zmazať SELinux užívateľa %s"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Nemožno zmeniť SELinux užívateľa %s"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Nemožno načítať pravidlo z pamäte."
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux typ je požadovaný"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++#, fuzzy
++msgid "Sends audit messages"
++msgstr "Chyba odosielania audit správy.\n"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++#, fuzzy
++msgid "You must select a user"
++msgstr "Musíte zadať rolu"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++#, fuzzy
++msgid "You must enter a name"
++msgstr "Musíte zadať rolu"
++
++#: ../gui/polgengui.py:610
++#, fuzzy
++msgid "You must enter a executable"
++msgstr "Musíte zadať rolu"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++#, fuzzy
++msgid "Type Enforcement file"
++msgstr "Vytváranie súboru vynútenia typov: %s.te"
++
++#: ../gui/polgen.py:849
++#, fuzzy
++msgid "Interface file"
++msgstr "Rozhranie %s nie je definované"
++
++#: ../gui/polgen.py:850
++#, fuzzy
++msgid "File Contexts file"
++msgstr "Kontext súboru pre %s nie je definovaný"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++#, fuzzy
++msgid "SELinux Service Protection"
++msgstr "SELinux užívateľ %s nie je definovaný"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++#, fuzzy
++msgid "Compatibility"
++msgstr "Zostavujem pravidlá"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++#, fuzzy
++msgid "SASL authentication server"
++msgstr "Autentifikácia %s.\n"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++#, fuzzy
++msgid "SELinux Type"
++msgstr "SELinux typ je požadovaný"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++#, fuzzy
++msgid "Add SELinux User"
++msgstr "Nemožno pridať SELinux užívateľa %s"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++#, fuzzy
++msgid "Modify SELinux User Mapping"
++msgstr "Nemožno zmeniť SELinux užívateľa %s"
++
++#: ../gui/system-config-selinux.glade:2219
++#, fuzzy
++msgid "Delete SELinux User Mapping"
++msgstr "Nemožno zmazať SELinux užívateľa %s"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++#, fuzzy
++msgid "Add User"
++msgstr "Nemožno pridať SELinux užívateľa %s"
++
++#: ../gui/system-config-selinux.glade:2390
++#, fuzzy
++msgid "Modify User"
++msgstr "Nemožno zmeniť SELinux užívateľa %s"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++#, fuzzy
++msgid "Load policy module"
++msgstr "Nemožno načítať pravidlo z pamäte."
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, fuzzy, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux typ je požadovaný"
++
++#~ msgid "translations not supported on non-MLS machines"
++#~ msgstr "preklady nie sú podporované na nie-MLS strojoch"
+ #~ msgid "Requires value"
+ #~ msgstr "Požaduje hodnotu"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/sl.po policycoreutils-2.0.85/po/sl.po
+--- nsapolicycoreutils/po/sl.po        2011-02-17 15:11:25.560727684 -0500
++++ policycoreutils-2.0.85/po/sl.po    2011-02-18 16:03:41.443976256 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/sq.po policycoreutils-2.0.85/po/sq.po
+--- nsapolicycoreutils/po/sq.po        2011-02-17 15:11:25.382730625 -0500
++++ policycoreutils-2.0.85/po/sq.po    2011-02-18 16:03:41.443976256 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/sr@latin.po policycoreutils-2.0.85/po/sr@latin.po
+--- nsapolicycoreutils/po/sr@latin.po  2011-02-17 15:11:25.433729780 -0500
++++ policycoreutils-2.0.85/po/sr@latin.po      2011-02-18 16:03:41.443976256 -0500
+@@ -1,26 +1,44 @@
+-# translation of policycoreutils.HEAD.sr.po to Serbian
+ # Serbian(Latin) translations for policycoreutils
+ # Copyright (C) 2006 Red Hat, Inc.
+ # This file is distributed under the same license as the policycoreutils package.
+-#
+ # Miloš Komarčević <kmilos@gmail.com>, 2006.
+ # Jovan Krunic <jovan.krunic@gmail.com>, 2008.
+ # Nikola Pajtić <salgeras@gmail.com>, 2008.
+ # Igor Miletic <grejigl-gnomeprevod@yahoo.ca>, 2008.
++#
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils.HEAD.sr\n"
++"Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-04-07 21:19-0400\n"
+-"Last-Translator: Igor Miletic <grejigl-gnomeprevod@yahoo.ca>\n"
+-"Language-Team: Serbian <fedora-trans-sr@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2009-03-23 23:04+0100\n"
++"Last-Translator: Miloš Komarčević <kmilos@gmail.com>\n"
++"Language-Team: Serbian (sr) <fedora-trans-sr@redhat.com>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+-"X-Generator: KBabel 1.11.4\n"
++"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
++"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Napravi novi modul polise"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Alat za pravljenje SELinux polisa"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -111,9 +129,8 @@
+ msgstr "Ne mogu da uspostavim semanage vezu"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Ne mogu da postavim MLS opseg za %s"
++msgstr "Ne mogu da ispitam status MLS omogućavanja"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -129,7 +146,8 @@
+ msgid "Level"
+ msgstr "Nivo"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Prevod"
+@@ -159,764 +177,766 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage transakcija je već u toku"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Ne mogu da pokrenem semanage transakciju"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Ne mogu da pokrenem semanage transakciju"
++msgstr "Ne mogu da predam semanage transakciju"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage transakcija nije u toku"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Ne mogu da popišem SELinux korisnike"
++msgstr "Ne mogu da popišem SELinux module"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "Dopuštanje"
++msgstr "Vrste dopuštanja"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Nisam mogao da postavim dopustivi domen %s (instalacija modula nije uspela)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Nisam mogao da uklonim dopustivi domen %s (uklanjanje nije uspelo)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Ne mogu da napravim ključ za %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Ne mogu da proverim da li je određeno preslikavanje prijave za %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Preslikavanje prijave za %s je već određeno"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux korisnik %s ne postoji"
++msgstr "Linux grupa %s ne postoji"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux korisnik %s ne postoji"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Ne mogu da napravim prazno preslikavanje prijave za %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Ne mogu da postavim ime za %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Ne mogu da postavim MLS opseg za %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Ne mogu da postavim SELinux korisnika za %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Ne mogu da dodam preslikavanje prijave za %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "Dodaj SELinux korisničko mapiranje"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Zahteva seuser ili serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Preslikavanje prijave za %s nije određeno "
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Ne mogu da ispitam seuser-a za %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Ne mogu da izmenim preslikavanje prijave za %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "Preslikavanje prijave za %s je određeno u polisi, ne može se brisati"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Ne mogu da obrišem preslikavanje prijave za %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Ne mogu da popišem preslikavanja prijave"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Prijavno ime"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux korisnik"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS opseg"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Ne mogu da dodam kontekst datoteke za %s"
++msgstr "Morate dodati barem jednu ulogu za %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Ne mogu da proverim da li je određen SELinux korisnik %s"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux korisnik %s je već određen"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Ne mogu da napravim SELinux korisnika za %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Ne mogu da dodam ulogu %s za %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Ne mogu da postavim MLS nivo za %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Ne mogu da dodam prefiks %s za %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Ne mogu da izdvojim ključ za %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Ne mogu da dodam SELinux korisnika %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Zahteva prefiks, uloge, nivo ili opseg"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Zahteva prefiks ili uloge"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux korisnik %s nije određen"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Ne mogu da ispitam korisnika za %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Ne mogu da izmenim SELinux korisnika %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux korisnik %s je određen u polisi, ne može se brisati"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Ne mogu da obrišem SELinux korisnika %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Ne mogu da popišem SELinux korisnike"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Ne mogu da popišem uloge za korisnika %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Označavanje"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefiks"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS nivo"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS opseg"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux uloge"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Neophodan je udp ili tcp protokol"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Neophodan je port"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Ne mogu da napravim ključ za %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Neophodna je vrsta"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Ne mogu da proverim da li je port %s/%s određen"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s je već određen"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Ne mogu da napravim port za %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Ne mogu da napravim kontekst %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Ne mogu da postavim korisnika u kontekstu porta za %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Ne mogu da postavim ulogu u kontekstu porta za %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Ne mogu da postavim vrstu u kontekstu porta za %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Ne mogu da postavim mls polja u kontekstu porta za %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Ne mogu da postavim kontekst port za %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Ne mogu da dodam port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Zahteva setype ili serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Zahteva setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s nije određen"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Ne mogu da ispitam port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Ne mogu da izmenim port %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Ne mogu da izlistam portove"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Ne mogu da obrišem port %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s je određen u polisi, ne može se brisati"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Ne mogu da obrišem port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Ne mogu da izlistam portove"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "Vrsta SELinux porta"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Broj portova"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Neophodan je port"
++msgstr "Neophodna je adresa čvora"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Neophodan je port"
++msgstr "Neophodna je mrežna maska čvora"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Nepoznat ili nedostajući protokol"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux vrsta je neophodna"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Ne mogu da napravim ključ za %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Ne mogu da proverim da li je port %s/%s određen"
++msgstr "Ne mogu da proverim da li je adresa %s određena"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Port %s/%s je već određen"
++msgstr "Adresa %s je već određena"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Ne mogu da napravim ključ za %s"
++msgstr "Ne mogu da napravim adresu za %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Ne mogu da napravim kontekst za %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Ne mogu da postavim ime za %s"
++msgstr "Ne mogu da postavim masku za %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Ne mogu da postavim korisnika u kontekstu datoteke za %s"
++msgstr "Ne mogu da postavim korisnika u kontekstu adrese za %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Ne mogu da postavim ulogu u kontekstu datoteke za %s"
++msgstr "Ne mogu da postavim ulogu u kontekstu adrese za %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Ne mogu da postavim vrstu u kontekstu datoteke za %s"
++msgstr "Ne mogu da postavim vrstu u kontekstu adrese za %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Ne mogu da postavim mls polja u kontekstu datoteke za %s"
++msgstr "Ne mogu da postavim mls polja u kontekstu adrese za %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Ne mogu da postavim kontekst datoteke za %s"
++msgstr "Ne mogu da postavim kontekst adrese za %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Ne mogu da dodam port %s/%s"
++msgstr "Ne mogu da dodam adresu %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Port %s/%s nije određen"
++msgstr "Adresa %s nije određena"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Ne mogu da ispitam port %s/%s"
++msgstr "Ne mogu da ispitam adresu %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Ne mogu da izmenim port %s/%s"
++msgstr "Ne mogu da izmenim adresu %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Port %s/%s je određen u polisi, ne može se brisati"
++msgstr "Adresa %s je određena u polisi, ne može se brisati"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Ne mogu da obrišem %s"
++msgstr "Ne mogu da obrišem adresu %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Ne mogu da izlistam portove"
++msgstr "Ne mogu da izlistam adrese"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Ne mogu da proverim da li je sučelje %s određeno"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Sučelje %s je već određeno"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Ne mogu da napravim sučelje za %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Ne mogu da postavim korisnika u kontekstu sučelja za %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Ne mogu da postavim ulogu u kontekstu sučelja za %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Ne mogu da postavim vrstu u kontekstu sučelja za %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Ne mogu da postavim mls polja u kontekstu sučelja za %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Ne mogu da postavim kontekst sučelja za %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Ne mogu da postavim kontekst poruke za %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Ne mogu da dodam sučelje %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Sučelje %s nije određeno"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Ne mogu da ispitam sučelje %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Ne mogu da izmenim sučelje %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Sprega %s je određena u polisi, ne može se brisati"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Ne mogu da obrišem sučelje %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Ne mogu da popišem sučelja"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux sučelje"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Kontekst"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Ne mogu da postavim korisnika u kontekstu datoteke za %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Ne mogu da postavim ulogu u kontekstu datoteke za %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Ne mogu da postavim mls polja u kontekstu datoteke za %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "Neispravna specifikacija datoteke"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Ne mogu da proverim da li je određen kontekst datoteke za %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Kontekst datoteke za %s je već određen"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Ne mogu da napravim kontekst datoteke za %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Ne mogu da postavim vrstu u kontekstu datoteke za %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Ne mogu da postavim kontekst datoteke za %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Ne mogu da dodam kontekst datoteke za %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Zahteva setype, serange ili seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Kontekst datoteke za %s nije određen"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Ne mogu da ispitam kontekst datoteke za %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Ne mogu da izmenim kontekst datoteke %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "Ne mogu da izlistam kontekste datoteka"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Ne mogu da obrišem kontekst datoteke %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "Kontekst datoteke za %s je određen u polisi, ne može se brisati"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Ne mogu da obrišem kontekst datoteke %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Ne mogu da popišem kontekste datoteka"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Ne mogu da popišem lokalne kontekste datoteka"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "vrsta"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Ne mogu da proverim da li je određen logički izraz %s"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Logički izraz %s nije određen"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Ne mogu da ispitam kontekst datoteke %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Morate uneti vrednost"
++msgstr "Morate navesti jednu od sledećih vrednosti: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Ne mogu da obrišem logički izraz %s"
++msgstr "Ne mogu da postavim aktivnu vrednost logičke %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Ne mogu da izmenim logički izraz %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Loš format %s: zapis %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Logički izraz %s je određen u polisi, ne može se brisati"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Ne mogu da obrišem logički izraz %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Ne mogu da popišem logičke izraze"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "nepoznato"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "isključeno"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "uključeno"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux logička"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Opis"
+@@ -957,7 +977,7 @@
+ msgstr "Ne mogu da očistim okruženje\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "Greška pri inicijalizaciji mogućnosti, odustajem.\n"
+@@ -1291,1719 +1311,2244 @@
+ msgid "Options Error %s "
+ msgstr "Greška opcija %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "prevodi nisu podržani na mašinama koje nisu MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Logička vrednost"
+-
+-#~ msgid "all"
+-#~ msgstr "sve"
+-
+-#~ msgid "Customized"
+-#~ msgstr "Prilagođen"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "Označavanje datoteka"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Specifikacije\n"
+-#~ "datoteke"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "Vrsta datoteke"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Vrsta\n"
+-#~ "datoteke"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Mapiranje korisnika"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Prijavno\n"
+-#~ "ime"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "korisnik"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS opseg"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Prijava „%s“ je neophodna"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "Modul polise"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "Ime modula"
+-
+-#~ msgid "Version"
+-#~ msgstr "Verzija"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "Isključi Audit"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "Uključi Audit"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Učitaj modul polise"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Het 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "Miloš Komarčević <kmilos@gmail.com>, 2007."
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Alat za pravljenje SELinux polisa"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Ova alatka se može upotrebiti za pravljenje radnog okvira polisa, radi "
+-#~ "ograničavanja programa i korisnika koristeći SELinux.   \n"
+-#~ "\n"
+-#~ "Alatka proizvodi:\n"
+-#~ "datoteku za primoravanje vrste (te)\n"
+-#~ "datoteku sučelja (if)\n"
+-#~ "datoteku sa kontekstima datoteka (fc)\n"
+-#~ "skriptu komandnog okruženja (sh) - koristi se za kompiliranje i "
+-#~ "instalaciju polise. "
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Izaberite vrstu programa/korisničke uloge koju treba ograničiti"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Programi</b>"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Standardna init sistemska usluga su usluge koji se pokreću sa podizanjem "
+-#~ "sistema preko init skripti.  Obično zahteva skriptu u /etc/rc.d/init.d"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Standardna init sistemska usluga"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Sistemska usluga za internet servise su usluge koje pokreće xinetd"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Sistemska usluga za internet servise (inetd)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Veb programi/skripte (CGI) CGI skripte koje pokreće veb server (apache)"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Veb programi/skripte (CGI)"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Korisnički program je bilo koji program koji biste želeli da ograničite "
+-#~ "da je startovan od strane korisnika"
+-
+-#~ msgid "User Application"
+-#~ msgstr "Korisnički program"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Korisnici prijavljivanja</b>"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Izmeni postojeći zapis korisnika za prijavljivanje."
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Postojeće korisničke uloge"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Ovaj korisnik će se prijaviti na mašinu samo preko terminala ili "
+-#~ "udaljenom prijavom. Podrazumevano ovaj korisnik neće imati setuid, mrežu, "
+-#~ "sudo, niti su."
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Minimalna uloga korisnika terminala"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Ovaj korisnik može da se prijavi na mašinu preko X sistema prozora ili "
+-#~ "terminala. Podrazumevano ovaj korisnik neće imati setuid, mrežu, sudo, "
+-#~ "niti su"
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Minimalna uloga korisnika X sistema prozora"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "Korisnik sa potpunom mrežom, bez setuid programa bez prolaza, bez sudo, "
+-#~ "bez su."
+-
+-#~ msgid "User Role"
+-#~ msgstr "Korisnička uloga"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "Korisnik sa potpunom mrežom, bez setuid programa bez prolaza, bez su, "
+-#~ "može da koristi sudo na korisničkim ulogama Root administratora"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "Uloga administratorskog korisnika"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Root korisnici</b>"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Izaberite korisničku ulogu Root administratora, ako će ovaj korisnik "
+-#~ "vršiti administraciju mašine dok radi kao root. Ovaj korisnik neće moći "
+-#~ "da se direktno prijavi u sistem."
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Korisnička uloga Root administratora"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Unesite naziv programa ili korisničku ulogu koju treba ograničiti."
+-
+-#~ msgid "Name"
+-#~ msgstr "Ime"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Unesite punu putanju izvršne datoteke koju treba ograničiti."
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Unesite jedinstveni naziv za ograničeni program ili korisničku ulogu."
+-
+-#~ msgid "Executable"
+-#~ msgstr "Izvršna datoteka"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Init skripta"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Unesite potpunu putanju do skripte za inicijalizaciju, koja startuje "
+-#~ "ograničeni program."
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Izaberite korisničke uloge koje želite da prilagodite"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "Izaberite korisničke uloge koje će se prebaciti na ove programske domene."
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr ""
+-#~ "Izaberite dodatne domene kroz koje će ova korisnička uloga prolaziti"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Izaberite programske domene na koje biste želeli da se ova korisnička "
+-#~ "uloga prebaci."
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "Izaberite korisničke uloge koje će se prebaciti na ovaj domen"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "Izaberite dodatne domene koje će ovaj korisnik administrirati"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr ""
+-#~ "Izaberite programske domene koje biste želeli ovaj korisnik administrira"
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Izaberite dodatne uloge za ovog korisnika"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "Unesite mrežne portove koje ova uloga programa/korisnika osluškuje"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP portovi</b>"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Dozvoljava ograničenoj ulozi programa/korisnika da se veže na bilo koji "
+-#~ "udp port"
+-
+-#~ msgid "All"
+-#~ msgstr "Sve"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Dozvoli ulozi programa/korisnika da pozove bindresvport sa 0. Vezivanje "
+-#~ "na portove 600-1024"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Unesite spisak udp portova ili opseg portova razdvojene zarezima na koje "
+-#~ "se veže uloga programa/korisnika. Primer: 612, 650-660"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Nerezervisani portovi (>1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "Izaberi portove"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Dozvoljava ulozi programa/korisnika da se veže na bilo koji udp port > "
+-#~ "1024"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP portovi</b>"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Unesite mrežne portove na koje se ova uloga programa/korisnika povezuje"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Unesite spisak tcp portova ili opseg portova razdvojene zarezima na koje "
+-#~ "se povezuje uloga programa/korisnika. Primer: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Unesite spisak udp portova ili opseg portova razdvojene zarezima na koje "
+-#~ "se povezuje uloga programa/korisnika. Primer: 612, 650-660"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "Izaberite uobičajene karakteristike programa"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Piše syslog poruke\t"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "Napravi/rukovodi privremenim podacima u /tmp"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Koristi Pam za autentifikaciju"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Koristi nsswitch ili getpw* pozive"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "Koristi dbus"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Šalje poruke kontrole"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "U vezi sa terminalom"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "Šalje e-poruku"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Izaberite datoteke/direktorijume koje program rukovodi"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Dodajte datoteke/direktorijume koji su potrebni programu da u njih \"Piše"
+-#~ "\". Pid datoteke, datoteke dnevnika, /var/lib datoteke ..."
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Izaberite logičke promenljive koje ovaj program koristi"
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Dodaj/ukloni logičke promenljive korišćene za ovaj ograničeni program/"
+-#~ "korisnik"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Izaberite direktorijum u kome će se generisati polise"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "Direktorijum polise"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Datoteke napravljene polise"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Ova alatka će generisati sledeće: \n"
+-#~ "vrstu primoravanja(te), kontekst datoteke(fc), interfejs(if), skriptu \n"
+-#~ "komandnog okruženja(sh)\n"
+-#~ "Izvršite skriptu komandnog okruženja kao root korisnik da biste \n"
+-#~ "kompajlirali/instalirali i ponovo postavili oznake na \n"
+-#~ "datotekama/direktorijumima. \n"
+-#~ "Koristite semanage ili useradd da mapirate Linux korisnike za "
+-#~ "prijavljivanje \n"
+-#~ "na korisničke uloge.\n"
+-#~ "Postavite mašinu u dopuštajući režim (setenforce 0). \n"
+-#~ "Prijavite se kao korisnik i testirajte ovu korisničku ulogu.\n"
+-#~ "Koristite audit2allow -R da biste generisali dodatna pravila za te "
+-#~ "datoteku.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Ova alatka će generisati sledeće: \n"
+-#~ "vrstu primoravanja(te), kontekst datoteke(fc), interfejs(if), skriptu \n"
+-#~ "komandnog okruženja(sh)\n"
+-#~ "\n"
+-#~ "Izvršite skriptu komandnog okruženja da biste kompajlirali/instalirali "
+-#~ "i \n"
+-#~ "ponovo postavili oznake na datotekama/direktorijumima. \n"
+-#~ "Postavite mašinu u dopuštajući režim (setenforce 0). \n"
+-#~ "Izvršite/ponovo pokrenite program da biste generisali avc poruke.\n"
+-#~ "Koristite audit2allow -R da biste generisali dodatna pravila za te "
+-#~ "datoteku.\n"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Dodaj dijalog logičkih promenljivih"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "Naziv logičke vrednosti"
+-
+-#~ msgid "Role"
+-#~ msgstr "Uloga"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "Postojeći_korisnik"
+-
+-#~ msgid "Application"
+-#~ msgstr "Program"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s mora biti direktorijum"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "Morate izabrati korisnika"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Izaberite izvršnu datoteku koju biste želeli da ograničite."
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Izaberite init skriptu koju biste želeli da ograničite."
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Izaberite datoteku(e) koju ograničeni program pravi ili u nju piše"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Izaberite direktorijum(e) koji ograničeni program poseduje ili u njega "
+-#~ "piše"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Izaberite direktorijum u kome ćete praviti datoteke polise"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Vrsta %s_t je već određena u trenutnoj polisi.\n"
+-#~ "Da li želite da nastavite?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "Potvrdi ime"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Modul %s.pp je već učitan u trenutnu polisu.\n"
+-#~ "Da li želite da nastavite?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "Morate uneti ime"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Morate uneti izvršni program"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Podesite SELinux"
+-
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Portovi moraju biti brojevi ili opsezi brojeva od 1 do %d "
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "Morate uneti ime vašeg ograničenog procesa/korisnika"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Tipovi korisnika nisu dozvoljene izvršne datoteke"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Samo programi-sistemske usluge mogu koristiti init skriptu"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog mora biti logička vrednost"
+-
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Tipovi korisnika automatski dobijaju tmp vrstu"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "Morate uneti putanju izvršne datoteke za vaš ograničeni proces"
+-
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Datoteka za vrstu primoravanja"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "Datoteka sprege"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "Datoteka za kontekste datoteka"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "Skripta za postavke"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux port\n"
+-#~ "Vrsta"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "Protokol"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Nivo"
+-
+-#~ msgid "Port"
+-#~ msgstr "Port"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Broj porta „%s“ nije ispravan.  0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "Prikaz liste"
+-
+-#~ msgid "Group View"
+-#~ msgstr "Grupni pregled"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Zaštita SELinux servisa"
+-
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Onemogući SELinux zaštitu za acct sistemsku uslugu"
+-
+-#~ msgid "Admin"
+-#~ msgstr "Administrator"
+-
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr ""
+-#~ "Dopusti svim sistemskim uslugama da upisuju datoteke jezgra na / "
+-#~ "direktorijum"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr ""
+-#~ "Dopusti svim sistemskim uslugama mogućnost da koriste nealocirane tty "
+-#~ "terminale"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "Ovlašćenja korisnika"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Dopusti gadmin SELinux korisničkim nalozima da izvršavaju datoteke u "
+-#~ "svojim ličnim direktorijumima"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Dopusti da gostujući SELinux korisnički nalozi izvršavaju datoteke u "
+-#~ "svojim ličnim direktorijumima ili u /tmp direktorijumu"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "Zaštita memorije"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Dopusti java-i izvršni stek"
+-
+-#~ msgid "Mount"
+-#~ msgstr "Mount"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Dopusti da mount montira bilo koju datoteku"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Dopusti da mount montira bilo koji direktorijum"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Dopusti mplayer-u izvršni stek"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Dopusti da ssh izvršava ssh-keysign"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Dopusti da staff SELinux korisnički nalozi izvršavaju datoteke u svojim "
+-#~ "ličnim direktorijumima ili u /tmp direktorijumu"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Dopusti da sysadm SELinux korisnički nalozi izvršavaju datoteke u svojim "
+-#~ "ličnim direktorijumima ili u /tmp direktorijumu"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Dopusti da neograničeni SELinux korisnički nalozi izvršavaju datoteke u "
+-#~ "svojim ličnim direktorijumima ili u /tmp direktorijumu"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "Mrežna podešavanja"
+-
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Dopusti da neoznačeni paketi putuju mrežom"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Dopusti da user SELinux korisnički nalozi izvršavaju datoteke u svojim "
+-#~ "ličnim direktorijumima ili u /tmp direktorijumu"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "Dopusti da neograničenim da se prebace u unconfined_execmem"
+-
+-#~ msgid "Databases"
+-#~ msgstr "Baze podataka"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Dopusti korisniku da se poveže na mysql soket"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Dopusti korisniku da se poveže na postgres soket"
+-
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
+-
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Dopusti klijentima da upisuju u deljenu memoriju X servera"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Dopusti da xguest SELinux korisnički nalozi izvršavaju datoteke u svojim "
+-#~ "ličnim direktorijumima ili u /tmp direktorijumu"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Dozvoli sistemskim uslugama da se pokreću sa NIS servisom"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "Veb programi"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "Prebacivanje staff SELinux korisnika na Web Browser domen"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "Prebacivanje sysadm SELinux korisnika na Web Browser domen"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "Prebacivanje user SELinux korisnika na Web Browser domen"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "Prebacivanje xguest SELinux korisnika na Web Browser domen"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "Dopusti osoblju Web Browser-a da upisuje u lične direktorijume"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Isključi SELinux zaštitu za amanda-u"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Isključi SELinux zaštitu za amavis"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za apmd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Isključi SELinux zaštitu za arpwatch sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za auditd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Isključi SELinux zaštitu za automount sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Isključi SELinux zaštitu za avahi"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Isključi SELinux zaštitu za bluetooth sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Isključi SELinux zaštitu za canna sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Isključi SELinux zaštitu za cardmgr sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Isključi SELinux zaštitu za Cluster server"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Dopusti da cdrecord čita različit sadržaj. nfs, samba, removable devices, "
+-#~ "user temp i datoteke sa nepouzdanim sadržajem"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ciped sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za clamd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Isključi SELinux zaštitu za clamscan"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Isključi SELinux zaštitu za clvmd"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Isključi SELinux zaštitu za comsat sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Isključi SELinux zaštitu za courier sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Isključi SELinux zaštitu za cpucontrol sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Isključi SELinux zaštitu za cpuspeed sistemsku uslugu"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Isključi SELinux zaštitu za crond sistemsku uslugu"
+-
+-#~ msgid "Printing"
+-#~ msgstr "Štampanje"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Isključi SELinux zaštitu za cupsd pozadinski server"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Logička vrednost"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "sve"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Prilagođen"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Označavanje datoteka"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za cupsd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Isključi SELinux zaštitu za cupsd_lpd"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Isključi SELinux zaštitu za cvs sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Isključi SELinux zaštitu za cyrus sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dbskk sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dbusd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Isključi SELinux zaštitu za dccd"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Isključi SELinux zaštitu za dccifd"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Isključi SELinux zaštitu za dccm"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ddt sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za devfsd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dhcpc sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dhcpd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dictd sistemsku uslugu"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Dopusti da sysadm_t direktno pokreće sistemske usluge"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Isključi SELinux zaštitu za Evolution"
+-
+-#~ msgid "Games"
+-#~ msgstr "Igre"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Isključi SELinux zaštitu za igre"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Isključi SELinux zaštitu za veb čitače"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Isključi SELinux zaštitu za Thunderbird"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za distccd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dmesg sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dnsmasq sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Isključi SELinux zaštitu za dovecot sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za entropyd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Isključi SELinux zaštitu za fetchmail"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za fingerd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Isključi SELinux zaštitu za freshclam sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Isključi SELinux zaštitu za fsdaemon sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Isključi SELinux zaštitu za gpm sistemsku uslugu"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Isključi SELinux zaštitu za gss sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Isključi SELinux zaštitu za Hal sistemsku uslugu"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "Usaglašenost"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Ne koristi audit za stvari koje znamo da su pokvarene, ali koje nisu "
+-#~ "rizične po sigurnost"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Isključi SELinux zaštitu za hostname sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Isključi SELinux zaštitu za hotplug sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Isključi SELinux zaštitu za howl sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Isključi SELinux zaštitu za cups hplip sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Isključi SELinux zaštitu za httpd rotatelogs"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD servis"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Isključi SELinux zaštitu za http suexec"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Isključi SELinux zaštitu za hwclock sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Isključi SELinux zaštitu za i18n sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Isključi SELinux zaštitu za imazesrv sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Isključi SELinux zaštitu za potomke inetd sistemske usluge"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za inetd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za innd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Isključi SELinux zaštitu za iptables sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ircd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Isključi SELinux zaštitu za irqbalance sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Isključi SELinux zaštitu za iscsi sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za jabberd sistemsku uslugu"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Isključi SELinux zaštitu za kadmind sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za klogd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Isključi SELinux zaštitu za krb5kdc sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Isključi SELinux zaštitu za ktalk sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Isključi SELinux zaštitu za kudzu sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Isključi SELinux zaštitu za locate sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za lpd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za lrrd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Isključi SELinux zaštitu za lvm sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Isključi SELinux zaštitu za mailman"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "Dopusti evolution-u i thunderbird-u da čitaju datoteke korisnika"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Isključi SELinux zaštitu za mdadm sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za monopd sistemsku uslugu"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Dopusti da mozilla čitač čita datoteke korisnika"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Isključi SELinux zaštitu za mrtg sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Isključi SELinux zaštitu za mysqld sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Isključi SELinux zaštitu za nagios sistemsku uslugu"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "Servis za imenovanje"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Isključi SELinux zaštitu za named sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za nessusd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Isključi SELinux zaštitu za NetworkManager"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za nfsd sistemsku uslugu"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za nmbd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Isključi SELinux zaštitu za nrpe sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za nscd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za nsd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ntpd sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Isključi SELinux zaštitu za oddjob"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Isključi SELinux zaštitu za oddjob_mkhomedir"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Isključi SELinux zaštitu za openvpn sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Isključi SELinux zaštitu za pam sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Isključi SELinux zaštitu za pegasus"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Isključi SELinux zaštitu za perdition sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Isključi SELinux zaštitu za portmap sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Isključi SELinux zaštitu za portslave sistemsku uslugu"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Isključi SELinux zaštitu za postfix"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Isključi SELinux zaštitu za postgresql sistemsku uslugu"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Specifikacije\n"
++"datoteke"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Dopusti pppd da bude dostupan za korišćenje običnim korisnicima"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"vrsta datoteke"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Isključi SELinux zaštitu za pptp"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Vrsta\n"
++"datoteke"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Isključi SELinux zaštitu za prelink sistemsku uslugu"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Mapiranje korisnika"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Isključi SELinux zaštitu za privoxy sistemsku uslugu"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Prijavno\n"
++"ime"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ptal sistemsku uslugu"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"korisnik"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Isključi SELinux zaštitu za pxe sistemsku uslugu"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS opseg"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Isključi SELinux zaštitu za pyzord"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Prijava „%s“ je neophodna"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Isključi SELinux zaštitu za quota sistemsku uslugu"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Modul polise"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za radiusd sistemsku uslugu"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Ime modula"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za radvd sistemsku uslugu"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Verzija"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Isključi SELinux zaštitu za rdisc"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Isključi proveru"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Isključi SELinux zaštitu za readahead"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Uključi proveru"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Dopusti da programi čitaju datoteke koje se nalaze na nestandardnim "
+-#~ "mestima (default_t)"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Učitaj modul polise"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Isključi SELinux zaštitu za restorecond"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Isključi SELinux zaštitu za rhgb sistemsku uslugu"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Isključi SELinux zaštitu za ricci"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Isključi SELinux zaštitu za ricci_modclusterd"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Miloš Komarčević <kmilos@gmail.com>\n"
++"Jovan Krunic <jovan.krunic@gmail.com>\n"
++"Igor Miletic <grejigl-gnomeprevod@yahoo.ca>\n"
++"Nikola Pajtić <salgeras@gmail.com>"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Isključi SELinux zaštitu za rlogind sistemsku uslugu"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Ova alatka se može upotrebiti za pravljenje radnog okvira polisa, radi "
++"ograničavanja programa i korisnika koristeći SELinux.   \n"
++"\n"
++"Alatka proizvodi:\n"
++"datoteku za primoravanje vrste (te)\n"
++"datoteku sučelja (if)\n"
++"datoteku sa kontekstima datoteka (fc)\n"
++"skriptu komandnog okruženja (sh) - koristi se za kompiliranje i instalaciju "
++"polise. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Izaberite vrstu programa/korisničke uloge koju treba ograničiti"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Programi</b>"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za rpcd sistemsku uslugu"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standardna init sistemska usluga su usluge koji se pokreću sa podizanjem "
++"sistema preko init skripti.  Obično zahteva skriptu u /etc/rc.d/init.d"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Isključi SELinux zaštitu za rshd"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standardna init sistemska usluga"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS sistemski demon"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Sistemska usluga za internet servise su usluge koje pokreće xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Sistemska usluga za internet servise (inetd)"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Veb programi/skripte (CGI) CGI skripte koje pokreće veb server (apache)"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Isključi SELinux zaštitu za rsync sistemsku uslugu"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Veb programi/skripte (CGI)"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "Dopusti da se ssh izvršava iz inetd umesto kao sistemska usluga"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Korisnički program je bilo koji program koji biste želeli da ograničite da "
++"je startovan od strane korisnika"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Dopusti da Samba deli nfs direktorijume"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Korisnički program"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Korisnici prijavljivanja</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Izmeni postojeći zapis korisnika za prijavljivanje."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Postojeće korisničke uloge"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL server autentifikacije"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Ovaj korisnik će se prijaviti na mašinu samo preko terminala ili udaljenom "
++"prijavom. Podrazumevano ovaj korisnik neće imati setuid, mrežu, sudo, niti "
++"su."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimalna uloga korisnika terminala"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Dopusti sasl serveru autentifikacije da čita /etc/shadow"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Ovaj korisnik može da se prijavi na mašinu preko X sistema prozora ili "
++"terminala. Podrazumevano ovaj korisnik neće imati setuid, mrežu, sudo, niti "
++"su"
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimalna uloga korisnika X sistema prozora"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Dopusti X-Windows serveru da preslikava memorijski prostor kao izvršnu "
+-#~ "datoteku sa mogućnošću pisanja"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Korisnik sa potpunom mrežom, bez setuid programa bez prolaza, bez sudo, bez "
++"su."
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za saslauthd sistemsku uslugu"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Korisnička uloga"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Isključi SELinux zaštitu za scannerdaemon sistemsku uslugu"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Korisnik sa potpunom mrežom, bez setuid programa bez prolaza, bez su, može "
++"da koristi sudo na korisničkim ulogama Root administratora"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Ne dopuštaj prelaz na sysadm_t, izazvan komandama sudo i su"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Uloga administratorskog korisnika"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root korisnici</b>"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Ne dopuštaj nijednom procesu da učita module jezgra"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Izaberite korisničku ulogu root administratora, ako će ovaj korisnik vršiti "
++"administraciju mašine dok radi kao root. Ovaj korisnik neće moći da se "
++"direktno prijavi u sistem."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Korisnička uloga root administratora"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Unesite naziv programa ili korisničku ulogu koju treba ograničiti."
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Ime"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Unesite punu putanju izvršne datoteke koju treba ograničiti."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Unesite jedinstveni naziv za ograničeni program ili korisničku ulogu."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Izvršna datoteka"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init skripta"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "Ne dopuštaj nijednom procesu da menja SELinux polisu jezgra"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Unesite potpunu putanju do skripte za inicijalizaciju, koja startuje "
++"ograničeni program."
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Isključi SELinux zaštitu za sendmail sistemsku uslugu"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Izaberite korisničke uloge koje želite da prilagodite"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Isključi SELinux zaštitu za setrans"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Izaberite korisničke uloge koje će se prebaciti na ove programske domene."
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Isključi SELinux zaštitu za setroublesoot sistemsku uslugu"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Izaberite dodatne domene kroz koje će ova korisnička uloga prolaziti"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za slapd sistemsku uslugu"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Izaberite programske domene na koje biste želeli da se ova korisnička uloga "
++"prebaci."
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Isključi SELinux zaštitu za slrnpull sistemsku uslugu"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Izaberite korisničke uloge koje će se prebaciti na ovaj domen"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Izaberite dodatne domene koje će ovaj korisnik administrirati"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za smbd sistemsku uslugu"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++"Izaberite programske domene koje biste želeli ovaj korisnik administrira"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za snmpd sistemsku uslugu"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Izaberite dodatne uloge za ovog korisnika"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Unesite mrežne portove koje ova uloga programa/korisnika osluškuje"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP portovi</b>"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Isključi SELinux zaštitu za snort sistemsku uslugu"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Dozvoljava ograničenoj ulozi programa/korisnika da se veže na bilo koji udp "
++"port"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za soundd sistemsku uslugu"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Sve"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Isključi SELinux zaštitu za sound sistemsku uslugu"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Dozvoli ulozi programa/korisnika da pozove bindresvport sa 0. Vezivanje na "
++"portove 600-1024"
+-#~ msgid "Spam Protection"
+-#~ msgstr "Zaštita od neželjene pošte"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za spamd sistemsku uslugu"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Unesite spisak udp portova ili opseg portova razdvojene zarezima na koje se "
++"veže uloga programa/korisnika. Primer: 612, 650-660"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Dopusti da spamd pristupa ličnim direktorijumima"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Nerezervisani portovi (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Izaberi portove"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Dopusti pristup mreži programu za uklanjanje neželjene pošte"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Dozvoljava ulozi programa/korisnika da se veže na bilo koji udp port > 1024"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Isključi SELinux zaštitu za speedmgmt sistemsku uslugu"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP portovi</b>"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Unesite mrežne portove na koje se ova uloga programa/korisnika povezuje"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Dopusti squid sistemskoj usluzi da se spoji na mrežu"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Unesite spisak tcp portova ili opseg portova razdvojene zarezima na koje se "
++"povezuje uloga programa/korisnika. Primer: 612, 650-660"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Isključi SELinux zaštitu za squid sistemsku uslugu"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Unesite spisak udp portova ili opseg portova razdvojene zarezima na koje se "
++"povezuje uloga programa/korisnika. Primer: 612, 650-660"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ssh sistemsku uslugu"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Izaberite uobičajene karakteristike programa"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Piše syslog poruke\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Napravi/rukovodi privremenim podacima u /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Koristi Pam za autentifikaciju"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Koristi nsswitch ili getpw* pozive"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Koristi dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Šalje poruke provere"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "U vezi sa terminalom"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Šalje e-poruku"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Izaberite datoteke/direktorijume koje program rukovodi"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Dopusti ssh prijave kao sysadm_r:sysadm_t"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Dodajte datoteke/direktorijume koji su potrebni programu da u njih \"Piše\". "
++"Pid datoteke, datoteke dnevnika, /var/lib datoteke ..."
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Dopusti da staff_r korisnici pretražuju sysadm lični direktorijum i "
+-#~ "čitaju datoteke (kao što je ~/.bashrc)"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Izaberite logičke promenljive koje ovaj program koristi"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Univerzalni SSL tunel"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Dodaj/ukloni logičke promenljive korišćene za ovaj ograničeni program/"
++"korisnik"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Isključi SELinux zaštitu za stunnel sistemsku uslugu"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Izaberite direktorijum u kome će se generisati polise"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Direktorijum polise"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Datoteke napravljene polise"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "Dopusti da se stunnel sistemska usluga samostalno izvršava, izvan xinetd"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ova alatka će generisati sledeće: \n"
++"vrstu primoravanja(te), kontekst datoteke(fc), interfejs(if), skriptu \n"
++"komandnog okruženja(sh)\n"
++"Izvršite skriptu komandnog okruženja kao root korisnik da biste \n"
++"kompajlirali/instalirali i ponovo postavili oznake na \n"
++"datotekama/direktorijumima. \n"
++"Koristite semanage ili useradd da mapirate Linux korisnike za "
++"prijavljivanje \n"
++"na korisničke uloge.\n"
++"Postavite mašinu u dopuštajući režim (setenforce 0). \n"
++"Prijavite se kao korisnik i testirajte ovu korisničku ulogu.\n"
++"Koristite audit2allow -R da biste generisali dodatna pravila za te "
++"datoteku.\n"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Isključi SELinux zaštitu za swat sistemsku uslugu"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ova alatka će generisati sledeće: \n"
++"vrstu primoravanja(te), kontekst datoteke(fc), interfejs(if), skriptu \n"
++"komandnog okruženja(sh)\n"
++"\n"
++"Izvršite skriptu komandnog okruženja da biste kompajlirali/instalirali i \n"
++"ponovo postavili oznake na datotekama/direktorijumima. \n"
++"Postavite mašinu u dopuštajući režim (setenforce 0). \n"
++"Izvršite/ponovo pokrenite program da biste generisali avc poruke.\n"
++"Koristite audit2allow -R da biste generisali dodatna pravila za te "
++"datoteku.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Dodaj dijalog logičkih promenljivih"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Naziv logičke vrednosti"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Uloga"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Postojeći_korisnik"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Program"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s mora biti direktorijum"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Morate izabrati korisnika"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Izaberite izvršnu datoteku koju biste želeli da ograničite."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Izaberite init skriptu koju biste želeli da ograničite."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Izaberite datoteku(e) koju ograničeni program pravi ili u nju piše"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Isključi SELinux zaštitu za sxid sistemsku uslugu"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Izaberite direktorijum(e) koji ograničeni program poseduje ili u njega piše"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za syslogd sistemsku uslugu"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Izaberite direktorijum u kome ćete praviti datoteke polise"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Isključi SELinux zaštitu za sistemske cron poslove"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Vrsta %s_t je već određena u trenutnoj polisi.\n"
++"Da li želite da nastavite?"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Isključi SELinux zaštitu za tcp sistemsku uslugu"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Potvrdi ime"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Isključi SELinux zaštitu za telnet sistemsku uslugu"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Modul %s.pp je već učitan u trenutnu polisu.\n"
++"Da li želite da nastavite?"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za tftpd sistemsku uslugu"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Morate uneti ime"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Isključi SELinux zaštitu za transproxy sistemsku uslugu"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Morate uneti izvršni program"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Isključi SELinux zaštitu za udev sistemsku uslugu"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Podesite SELinux"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Isključi SELinux zaštitu za uml sistemsku uslugu"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Portovi moraju biti brojevi ili opsezi brojeva od 1 do %d "
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Dopusti da se xinetd izvršava kao neograničen, uključujući tu sve servise "
+-#~ "koje startuje, a koji nemaju izričito određen prelaz domena"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Morate uneti ime vašeg ograničenog procesa/korisnika"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Dopusti da se rc skripta neograničeno izvršava, uključujući tu sve "
+-#~ "sistemske usluge koje rc startuje, a koji nemaju izričito određen prelaz "
+-#~ "domena"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "KORISNIČKE vrste nisu dozvoljene izvršne datoteke"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Dopusti da se rpm izvršava neograničeno"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Samo programi SISTEMSKIH USLUGA mogu koristiti init skriptu"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Dopusti da se privilegovane alatke, kao što su hotplug i insmod, "
+-#~ "izvršavaju neograničeno"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog mora biti logička vrednost"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Isključi SELinux zaštitu za updfstab sistemsku uslugu"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "KORISNIČKE vrste automatski dobijaju tmp vrstu"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Isključi SELinux zaštitu za uptimed sistemsku uslugu"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Morate uneti putanju izvršne datoteke za vaš ograničeni proces"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Dopusti da user_r koristi sysadm_r preko su, sudo, ili userhelper. U "
+-#~ "protivnom, samo staff_r može tako da radi"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Datoteka za vrstu primoravanja"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Dozvoli korisnicima izvršavanje mount naredbe"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Datoteka sprege"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Dopusti običnim korisnicima direktan pristup mišu (samo dopusti X serveru)"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Datoteka za kontekste datoteka"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Dopusti korisnicima da izvršavaju dmesg komandu"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Skripta za postavke"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Dopusti korisnicima da upravljaju mrežnim sučeljima (takođe je potrebno "
+-#~ "da je USERCTL=true)"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Mrežni port"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Dopusti normalnom korisniku da izvršava ping"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux vrsta\n"
++"porta"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "Dopusti korisniku da čita/piše u noextattrfile (FAT, CDROM, FLOPPY)"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokol"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Dopusti da korisnici čitaju/pišu na usb uređaje"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"nivo"
+-#~ 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 ""
+-#~ "Dopusti korisnicima da izvršavaju TCP servere (da se povezuju na portove "
+-#~ "i primaju veze sa istih domena ili spoljnih korisnika)  isključivanje ove "
+-#~ "opcije dovodi do pasivnog načina pada FTP-a i može uzrokovati promene "
+-#~ "drugih protokola"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Broj porta „%s“ nije ispravan.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Prikaz liste"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Grupni pregled"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Zaštita SELinux servisa"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Onemogući SELinux zaštitu za acct sistemsku uslugu"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Administrator"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Dopusti korisniku da prati tty datoteke"
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++"Dopusti svim sistemskim uslugama da upisuju datoteke jezgra na / direktorijum"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Isključi SELinux zaštitu za uucpd sistemsku uslugu"
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++"Dopusti svim sistemskim uslugama mogućnost da koriste nerezervisane tty "
++"terminale"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Isključi SELinux zaštitu za vmware sistemsku uslugu"
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Ovlašćenja korisnika"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Isključi SELinux zaštitu za watchdog sistemsku uslugu"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Dopusti da gadmin SELinux korisnički nalozi izvršavaju datoteke u svojim "
++"ličnim direktorijumima ili u /tmp direktorijumu"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Isključi SELinux zaštitu za winbind sistemsku uslugu"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Dopusti da gostujući SELinux korisnički nalozi izvršavaju datoteke u svojim "
++"ličnim direktorijumima ili u /tmp direktorijumu"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Isključi SELinux zaštitu za xdm sistemsku uslugu"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Zaštita memorije"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Dopusti javi izvršni stek"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Dopusti da mount montira bilo koju datoteku"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Dopusti da mount montira bilo koji direktorijum"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Dopusti mplayeru izvršni stek"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Dopusti da ssh izvršava ssh-keysign"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Dopusti da se xdm prijavljuje kao sysadm_r:sysadm_t"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Dopusti da staff SELinux korisnički nalozi izvršavaju datoteke u svojim "
++"ličnim direktorijumima ili u /tmp direktorijumu"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Isključi SELinux zaštitu za xen sistemsku uslugu"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Dopusti da sysadm SELinux korisnički nalozi izvršavaju datoteke u svojim "
++"ličnim direktorijumima ili u /tmp direktorijumu"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Dopusti da neograničeni SELinux korisnički nalozi izvršavaju datoteke u "
++"svojim ličnim direktorijumima ili u /tmp direktorijumu"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Dopusti da xen čita/piše po fizičkim uređajima (diskovima)"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Mrežna podešavanja"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Dopusti da neoznačeni paketi putuju mrežom"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Isključi SELinux zaštitu za xfs sistemsku uslugu"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Dopusti da user SELinux korisnički nalozi izvršavaju datoteke u svojim "
++"ličnim direktorijumima ili u /tmp direktorijumu"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Isključi SELinux zaštitu za xen kontrolu"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Dopusti da neograničenim da se prebace u unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Baze podataka"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Dopusti korisniku da se poveže na mysql soket"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Dopusti korisniku da se poveže na postgres soket"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Dopusti klijentima da upisuju u deljenu memoriju X servera"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ypbind sistemsku uslugu"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Dopusti da xguest SELinux korisnički nalozi izvršavaju datoteke u svojim "
++"ličnim direktorijumima ili u /tmp direktorijumu"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Isključi SELinux zaštitu za NIS sistemsku uslugu za lozinke"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Dozvoli sistemskim uslugama da se pokreću sa NIS servisom"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Veb programi"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Prebacivanje staff SELinux korisnika na Web Browser domen"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Prebacivanje sysadm SELinux korisnika na Web Browser domen"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Prebacivanje user SELinux korisnika na Web Browser domen"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Prebacivanje xguest SELinux korisnika na Web Browser domen"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Dopusti osoblju Web Browsera da upisuje u lične direktorijume"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Isključi SELinux zaštitu za amandu"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Isključi SELinux zaštitu za amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Isključi SELinux zaštitu za apmd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Isključi SELinux zaštitu za arpwatch sistemsku uslugu"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Isključi SELinux zaštitu za auditd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Isključi SELinux zaštitu za automount sistemsku uslugu"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Isključi SELinux zaštitu za avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Isključi SELinux zaštitu za bluetooth sistemsku uslugu"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Isključi SELinux zaštitu za canna sistemsku uslugu"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Isključi SELinux zaštitu za cardmgr sistemsku uslugu"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Isključi SELinux zaštitu za Cluster server"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Isključi SELinux zaštitu za ypserv sistemsku uslugu"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Dopusti da cdrecord čita različit sadržaj. nfs, samba, removable devices, "
++"user temp i datoteke sa nepouzdanim sadržajem"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Isključi SELinux zaštitu za NIS sistemsku uslugu za prenos"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Isključi SELinux zaštitu za ciped sistemsku uslugu"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Isključi SELinux zaštitu za clamd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Isključi SELinux zaštitu za clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Isključi SELinux zaštitu za clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Isključi SELinux zaštitu za comsat sistemsku uslugu"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Isključi SELinux zaštitu za courier sistemsku uslugu"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Isključi SELinux zaštitu za cpucontrol sistemsku uslugu"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Isključi SELinux zaštitu za cpuspeed sistemsku uslugu"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Isključi SELinux zaštitu za crond sistemsku uslugu"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Štampanje"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Isključi SELinux zaštitu za cupsd pozadinski server"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Isključi SELinux zaštitu za cupsd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Isključi SELinux zaštitu za cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Isključi SELinux zaštitu za cvs sistemsku uslugu"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Isključi SELinux zaštitu za cyrus sistemsku uslugu"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Isključi SELinux zaštitu za dbskk sistemsku uslugu"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Isključi SELinux zaštitu za dbusd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Isključi SELinux zaštitu za dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Isključi SELinux zaštitu za dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Isključi SELinux zaštitu za dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Isključi SELinux zaštitu za ddt sistemsku uslugu"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Isključi SELinux zaštitu za devfsd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Isključi SELinux zaštitu za dhcpc sistemsku uslugu"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Isključi SELinux zaštitu za dhcpd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Isključi SELinux zaštitu za dictd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Dopusti da sysadm_t direktno pokreće sistemske usluge"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Isključi SELinux zaštitu za Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Igre"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Isključi SELinux zaštitu za igre"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Isključi SELinux zaštitu za veb čitače"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Isključi SELinux zaštitu za Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Isključi SELinux zaštitu za distccd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Isključi SELinux zaštitu za dmesg sistemsku uslugu"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Isključi SELinux zaštitu za dnsmasq sistemsku uslugu"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Isključi SELinux zaštitu za dovecot sistemsku uslugu"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Isključi SELinux zaštitu za entropyd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Isključi SELinux zaštitu za fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Isključi SELinux zaštitu za fingerd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Isključi SELinux zaštitu za freshclam sistemsku uslugu"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Isključi SELinux zaštitu za fsdaemon sistemsku uslugu"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Isključi SELinux zaštitu za gpm sistemsku uslugu"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Isključi SELinux zaštitu za gss sistemsku uslugu"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Isključi SELinux zaštitu za Hal sistemsku uslugu"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Usaglašenost"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Dopusti da SELinux webadm korisnik upravlja ličnim direktorijumima "
+-#~ "korisnika bez privilegija"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Ne proveravaj stvari za koje se zna su pokvarene, ali koje nisu rizične po "
++"bezbednost"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Dopusti da SELinux webadm korisnik može da čita iz ličnih direktorijuma "
+-#~ "korisnika bez privilegija"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Isključi SELinux zaštitu za hostname sistemsku uslugu"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Isključi SELinux zaštitu za hotplug sistemsku uslugu"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Isključi SELinux zaštitu za howl sistemsku uslugu"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Isključi SELinux zaštitu za cups hplip sistemsku uslugu"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Isključi SELinux zaštitu za httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD servis"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Isključi SELinux zaštitu za http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Isključi SELinux zaštitu za hwclock sistemsku uslugu"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Isključi SELinux zaštitu za i18n sistemsku uslugu"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Isključi SELinux zaštitu za imazesrv sistemsku uslugu"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Isključi SELinux zaštitu za potomke inetd sistemske usluge"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Isključi SELinux zaštitu za inetd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Isključi SELinux zaštitu za innd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Isključi SELinux zaštitu za iptables sistemsku uslugu"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Isključi SELinux zaštitu za ircd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Isključi SELinux zaštitu za irqbalance sistemsku uslugu"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Isključi SELinux zaštitu za iscsi sistemsku uslugu"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Isključi SELinux zaštitu za jabberd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Isključi SELinux zaštitu za kadmind sistemsku uslugu"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Isključi SELinux zaštitu za klogd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Isključi SELinux zaštitu za krb5kdc sistemsku uslugu"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Isključi SELinux zaštitu za ktalk sistemsku uslugu"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Isključi SELinux zaštitu za kudzu sistemsku uslugu"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Isključi SELinux zaštitu za locate sistemsku uslugu"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Isključi SELinux zaštitu za lpd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Isključi SELinux zaštitu za lrrd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Isključi SELinux zaštitu za lvm sistemsku uslugu"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Isključi SELinux zaštitu za mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Dopusti evolutionu i thunderbirdu da čitaju datoteke korisnika"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Isključi SELinux zaštitu za mdadm sistemsku uslugu"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Isključi SELinux zaštitu za monopd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Dopusti da mozilla čitač čita datoteke korisnika"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Isključi SELinux zaštitu za mrtg sistemsku uslugu"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Isključi SELinux zaštitu za mysqld sistemsku uslugu"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Isključi SELinux zaštitu za nagios sistemsku uslugu"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Servis za imenovanje"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Isključi SELinux zaštitu za named sistemsku uslugu"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Isključi SELinux zaštitu za nessusd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Isključi SELinux zaštitu za NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Isključi SELinux zaštitu za nfsd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Isključi SELinux zaštitu za nmbd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Isključi SELinux zaštitu za nrpe sistemsku uslugu"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Isključi SELinux zaštitu za nscd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Isključi SELinux zaštitu za nsd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Isključi SELinux zaštitu za ntpd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Isključi SELinux zaštitu za oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Isključi SELinux zaštitu za oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Isključi SELinux zaštitu za openvpn sistemsku uslugu"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Isključi SELinux zaštitu za pam sistemsku uslugu"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Isključi SELinux zaštitu za pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Isključi SELinux zaštitu za perdition sistemsku uslugu"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Isključi SELinux zaštitu za portmap sistemsku uslugu"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Isključi SELinux zaštitu za portslave sistemsku uslugu"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Isključi SELinux zaštitu za postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Isključi SELinux zaštitu za postgresql sistemsku uslugu"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Dopusti pppd da bude dostupan za korišćenje običnim korisnicima"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Isključi SELinux zaštitu za pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Isključi SELinux zaštitu za prelink sistemsku uslugu"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Isključi SELinux zaštitu za privoxy sistemsku uslugu"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Isključi SELinux zaštitu za ptal sistemsku uslugu"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Isključi SELinux zaštitu za pxe sistemsku uslugu"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Isključi SELinux zaštitu za pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Isključi SELinux zaštitu za quota sistemsku uslugu"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Isključi SELinux zaštitu za radiusd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Isključi SELinux zaštitu za radvd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Isključi SELinux zaštitu za rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Isključi SELinux zaštitu za readahead"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Da li ste sigurni da želite da obrišete %s „%s“?"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Dopusti da programi čitaju datoteke koje se nalaze na nestandardnim mestima "
++"(default_t)"
+-#~ msgid "Delete %s"
+-#~ msgstr "Obriši %s"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Isključi SELinux zaštitu za restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Isključi SELinux zaštitu za rhgb sistemsku uslugu"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Isključi SELinux zaštitu za ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Isključi SELinux zaštitu za ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Isključi SELinux zaštitu za rlogind sistemsku uslugu"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Isključi SELinux zaštitu za rpcd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Isključi SELinux zaštitu za rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Isključi SELinux zaštitu za rsync sistemsku uslugu"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Dopusti da se ssh izvršava iz inetd umesto kao sistemska usluga"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Dopusti da Samba deli nfs direktorijume"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL server autentifikacije"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Dopusti sasl serveru autentifikacije da čita /etc/shadow"
+-#~ msgid "Add %s"
+-#~ msgstr "Dodaj %s"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Dopusti X-Windows serveru da preslikava memorijski prostor kao izvršnu "
++"datoteku sa mogućnošću pisanja"
+-#~ msgid "Modify %s"
+-#~ msgstr "Izmeni %s"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Isključi SELinux zaštitu za saslauthd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Isključi SELinux zaštitu za scannerdaemon sistemsku uslugu"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Ne dopuštaj prelaz na sysadm_t, izazvan komandama sudo i su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Ne dopuštaj nijednom procesu da učita module jezgra"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Ne dopuštaj nijednom procesu da menja SELinux polisu jezgra"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Isključi SELinux zaštitu za sendmail sistemsku uslugu"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Isključi SELinux zaštitu za setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Isključi SELinux zaštitu za setroublesoot sistemsku uslugu"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Isključi SELinux zaštitu za slapd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Isključi SELinux zaštitu za slrnpull sistemsku uslugu"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Isključi SELinux zaštitu za smbd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Isključi SELinux zaštitu za snmpd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Isključi SELinux zaštitu za snort sistemsku uslugu"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Isključi SELinux zaštitu za soundd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Isključi SELinux zaštitu za sound sistemsku uslugu"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Zaštita od neželjene pošte"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Isključi SELinux zaštitu za spamd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Dopusti da spamd pristupa ličnim direktorijumima"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Dopusti pristup mreži programu za uklanjanje neželjene pošte"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Isključi SELinux zaštitu za speedmgmt sistemsku uslugu"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Dopusti squid sistemskoj usluzi da se spoji na mrežu"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Isključi SELinux zaštitu za squid sistemsku uslugu"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Isključi SELinux zaštitu za ssh sistemsku uslugu"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Dopusti ssh prijave kao sysadm_r:sysadm_t"
+-#~ msgid "Permissive"
+-#~ msgstr "Dopuštanje"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Dopusti da staff_r korisnici pretražuju sysadm lični direktorijum i čitaju "
++"datoteke (kao što je ~/.bashrc)"
+-#~ msgid "Enforcing"
+-#~ msgstr "Primoravanje"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Univerzalni SSL tunel"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Isključi SELinux zaštitu za stunnel sistemsku uslugu"
+-#~ msgid "Disabled"
+-#~ msgstr "Isključeno"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"Dopusti da se stunnel sistemska usluga samostalno izvršava, izvan xinetd"
+-#~ msgid "Status"
+-#~ msgstr "Status"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Isključi SELinux zaštitu za swat sistemsku uslugu"
+-#~ 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 ""
+-#~ "Menjanje vrste polise će prouzrokovati menjanje oznaka za ceo sistem "
+-#~ "datoteka pri sledećem podizanju sistema. Menjanje oznaka prilično dugo "
+-#~ "traje i to vreme zavisi od veličine sistema datoteka.  Želite li da "
+-#~ "nastavite?"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Isključi SELinux zaštitu za sxid sistemsku uslugu"
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Isključivanje SELinux-a zahteva ponovno podizanje sistema.  Nije "
+-#~ "preporučljivo.  Ako kasnije odlučite da uključite SELinux, sistem će "
+-#~ "morati da promeni oznake.  Ako samo hoćete da vidite da li SELinux "
+-#~ "izaziva probleme na vašem sistemu, možete preći u dopuštajući način rada, "
+-#~ "koji će samo samo beležiti poruke u dnevnik, ali ne i sprovoditi SELinux "
+-#~ "polisu.    Želite li da nastavite?"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Isključi SELinux zaštitu za syslogd sistemsku uslugu"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Uključivanje SELinux-a će prouzrokovati menjanje oznaka za ceo sistem "
+-#~ "datoteka pri sledećem podizanju sistema. Menjanje oznaka prilično dugo "
+-#~ "traje i to vreme zavisi od veličine sistema datoteka.  Želite li da "
+-#~ "nastavite?"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Isključi SELinux zaštitu za sistemske cron poslove"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Isključi SELinux zaštitu za tcp sistemsku uslugu"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Autorska prava 2006 Red Het, Inc.\n"
+-#~ "Autorska prava 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Isključi SELinux zaštitu za telnet sistemsku uslugu"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Dodaj SELinux mapiranje prijave"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Isključi SELinux zaštitu za tftpd sistemsku uslugu"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Dodaj SELinux mrežne portove"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Isključi SELinux zaštitu za transproxy sistemsku uslugu"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux vrsta"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Isključi SELinux zaštitu za udev sistemsku uslugu"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Isključi SELinux zaštitu za uml sistemsku uslugu"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Nivo"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Dopusti da se xinetd izvršava kao neograničen, uključujući tu sve servise "
++"koje startuje, a koji nemaju izričito određen prelaz domena"
+-#~ msgid "File Specification"
+-#~ msgstr "Specifikacija datoteke"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Dopusti da se rc skripta neograničeno izvršava, uključujući tu sve sistemske "
++"usluge koje rc startuje, a koji nemaju izričito određen prelaz domena"
+-#~ msgid "File Type"
+-#~ msgstr "Vrsta datoteke"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Dopusti da se rpm izvršava neograničeno"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "sve datoteke\n"
+-#~ "običan fajl\n"
+-#~ "direktorijum\n"
+-#~ "uređaj za karaktere\n"
+-#~ "uređaj blokova\n"
+-#~ "soket\n"
+-#~ "simbolička veza\n"
+-#~ "imenovana cev\n"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Dopusti da se privilegovane alatke, kao što su hotplug i insmod, izvršavaju "
++"neograničeno"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Isključi SELinux zaštitu za updfstab sistemsku uslugu"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Isključi SELinux zaštitu za uptimed sistemsku uslugu"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Dodaj SELinux korisnika"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Dopusti da user_r koristi sysadm_r preko su, sudo, ili userhelper. U "
++"protivnom, samo staff_r može tako da radi"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux administracija"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Dozvoli korisnicima izvršavanje mount naredbe"
+-#~ msgid "Add"
+-#~ msgstr "Dodaj"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Dopusti običnim korisnicima direktan pristup mišu (samo dopusti X serveru)"
+-#~ msgid "_Properties"
+-#~ msgstr "_Svojstva"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Dopusti korisnicima da izvršavaju dmesg komandu"
+-#~ msgid "_Delete"
+-#~ msgstr "_Obriši"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Dopusti korisnicima da upravljaju mrežnim sučeljima (takođe je potrebno da "
++"je USERCTL=true)"
+-#~ msgid "Select Management Object"
+-#~ msgstr "Izaberite upravljački objekat"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Dopusti normalnom korisniku da izvršava ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "Dopusti korisniku da čita/piše u noextattrfile (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Dopusti da korisnici čitaju/pišu na usb uređaje"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Izaberite:</b>"
++#: ../gui/selinux.tbl:216
++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 ""
++"Dopusti korisnicima da izvršavaju TCP servere (da se povezuju na portove i "
++"primaju veze sa istih domena ili spoljnih korisnika)  isključivanje ove "
++"opcije dovodi do pasivnog načina pada FTP-a i može uzrokovati promene drugih "
++"protokola"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Dopusti korisniku da prati tty datoteke"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Isključi SELinux zaštitu za uucpd sistemsku uslugu"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Isključi SELinux zaštitu za vmware sistemsku uslugu"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Isključi SELinux zaštitu za watchdog sistemsku uslugu"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Isključi SELinux zaštitu za winbind sistemsku uslugu"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Isključi SELinux zaštitu za xdm sistemsku uslugu"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Dopusti da se xdm prijavljuje kao sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Isključi SELinux zaštitu za xen sistemsku uslugu"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Dopusti da xen čita/piše po fizičkim uređajima (diskovima)"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Isključi SELinux zaštitu za xfs sistemsku uslugu"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Isključi SELinux zaštitu za xen kontrolu"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Isključi SELinux zaštitu za ypbind sistemsku uslugu"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Isključi SELinux zaštitu za NIS sistemsku uslugu za lozinke"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Isključi SELinux zaštitu za ypserv sistemsku uslugu"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Isključi SELinux zaštitu za NIS sistemsku uslugu za prenos"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Podrazumevani sistemski režim primoravanja"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Dopusti da SELinux webadm korisnik upravlja ličnim direktorijumima korisnika "
++"bez privilegija"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Tekući režim primoravanja"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Dopusti da SELinux webadm korisnik može da čita iz ličnih direktorijuma "
++"korisnika bez privilegija"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Podrazumevana sistemska vrsta polise:"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Da li ste sigurni da želite da obrišete %s „%s“?"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Izaberite da li želite da ponovo označite celokupan sistem datoteka pri "
+-#~ "sledećem podizanju sistema.  Ponovno označavanje može trajati jako dugo, "
+-#~ "u zavisnosti od veličine sistema.  Ako menjate vrste polisa ili idete sa "
+-#~ "isključenog na primoravanje, ponovno označavanje je neophodno."
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Obriši %s"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Ponovo označi pri sledećem pokretanju."
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Dodaj %s"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "Vrati logičke promenljive na podrazumevane sistemske postavke"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Izmeni %s"
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Prebaci između Prilagođenih i Svih logičkih promenljivih"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Dopuštanje"
+-#~ msgid "Filter"
+-#~ msgstr "Filtar"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Primoravanje"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Isključeno"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
+-#~ msgid "Add File Context"
+-#~ msgstr "Dodaj kontekst datoteke"
++#: ../gui/statusPage.py:133
++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 ""
++"Menjanje vrste polise će prouzrokovati menjanje oznaka za ceo sistem "
++"datoteka pri sledećem podizanju sistema. Menjanje oznaka prilično dugo traje "
++"i to vreme zavisi od veličine sistema datoteka.  Želite li da nastavite?"
+-#~ msgid "Modify File Context"
+-#~ msgstr "Izmeni kontekst datoteke"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Isključivanje SELinuxa zahteva ponovno podizanje sistema.  Nije "
++"preporučljivo.  Ako kasnije odlučite da uključite SELinux, sistem će morati "
++"da promeni oznake.  Ako samo hoćete da vidite da li SELinux izaziva probleme "
++"na vašem sistemu, možete preći u dopuštajući način rada, koji će samo samo "
++"beležiti poruke u dnevnik, ali ne i sprovoditi SELinux polisu.    Želite li "
++"da nastavite?"
+-#~ msgid "Delete File Context"
+-#~ msgstr "Obriši kontekst datoteke"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Uključivanje SELinuxa će prouzrokovati menjanje oznaka za ceo sistem "
++"datoteka pri sledećem podizanju sistema. Menjanje oznaka prilično dugo traje "
++"i to vreme zavisi od veličine sistema datoteka.  Želite li da nastavite?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "Prebaci između svih i prilagođenih konteksta datoteka"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Autorska prava 2006 Red Hat, Inc.\n"
++"Autorska prava 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Dodaj SELinux korisničko mapiranje"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Dodaj SELinux mapiranje prijave"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Dodaj SELinux mrežne portove"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux vrsta"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Izmeni SELinux korisničko mapiranje"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Nivo"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Obriši SELinux korisničko mapiranje"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Specifikacija datoteke"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Vrsta datoteke"
+-#~ msgid "Add Translation"
+-#~ msgstr "Dodaj prevod"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"sve datoteke\n"
++"običan fajl\n"
++"direktorijum\n"
++"uređaj za karaktere\n"
++"uređaj blokova\n"
++"soket\n"
++"simbolička veza\n"
++"imenovana cev\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Dodaj SELinux korisnika"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux administracija"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Dodaj"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Svojstva"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Obriši"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Izaberite upravljački objekat"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Izaberite:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Podrazumevani sistemski režim primoravanja"
+-#~ msgid "Modify Translation"
+-#~ msgstr "Izmeni prevod"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Isključeno\n"
++"Dopuštanje\n"
++"Primoravanje\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Tekući režim primoravanja"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Podrazumevana sistemska vrsta polise:"
+-#~ msgid "Delete Translation"
+-#~ msgstr "Obriši prevod"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Izaberite da li želite da ponovo označite celokupan sistem datoteka pri "
++"sledećem podizanju sistema.  Ponovno označavanje može trajati jako dugo, u "
++"zavisnosti od veličine sistema.  Ako menjate vrste polisa ili idete sa "
++"isključenog na primoravanje, ponovno označavanje je neophodno."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Ponovo označi pri sledećem pokretanju."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "oznaka37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Vrati logičke promenljive na podrazumevane sistemske postavke"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Prebaci između prilagođenih i svih logičkih promenljivih"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Pokrećem čarobnjaka za zaključavanje logičkih vrednosti"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Zaključavanje..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filtar"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "oznaka50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Dodaj kontekst datoteke"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Izmeni kontekst datoteke"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Obriši kontekst datoteke"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Prebaci između svih i prilagođenih konteksta datoteka"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "oznaka38"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Izmenim SELinux korisnika"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Dodaj SELinux korisničko mapiranje"
+-#~ msgid "Add Network Port"
+-#~ msgstr "Dodaj mrežni port"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Izmeni SELinux korisničko mapiranje"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Obriši SELinux korisničko mapiranje"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "oznaka39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Dodaj korisnika"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Izmeni korisnika"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Obriši korisnika"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "oznaka41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Dodaj prevod"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Izmeni prevod"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Obriši prevod"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "oznaka40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Dodaj mrežni port"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Uredi mrežni port"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Obriši mrežni port"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Prebaci između prilagođenih i svih portova"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "oznaka42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Napravi novi modul polise"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Učitaj modul polise"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Ukloni učitavajuće module polise"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Uredi mrežni port"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Uključi/isključi dodatna pravila provere, koja se obično ne beleže u "
++"datoteke dnevnika."
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Obriši mrežni port"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "oznaka44"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Prebaci između prilagođenih i svih portova"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Promeni režim procesa u dozvoljavajući."
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Napravi novi modul polise"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Promeni režim procesa u primoravajući."
+-#~ msgid "Load policy module"
+-#~ msgstr "Učitaj modul polise"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Domen procesa"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Ukloni učitavajuće module polise"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "oznaka59"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Uključi/isključi dodatna audit pravila, koja se obično ne beleže u "
+-#~ "datoteke dnevnika."
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux korisnik „%s“ je neophodan"
+-#~ msgid "Sensitvity Level"
++#, fuzzy
++#~ msgid "Sensitivity Level"
+ #~ msgstr "Nivo osetljivosti"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux korisnik „%s“ je neophodan"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "Zahteva vrednost"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Neispravan prefiks %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "Dozvoli ulozi programa/korisnika da se veže na bilo koji tcp port > 1024"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "Dozvoljava ograničenoj ulozi programa/korisnika da se veže na bilo koji "
+-#~ "tcp port"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Unesite spisak tcp portova ili opseg portova razdvojene zarezima na koje "
+-#~ "se veže uloga programa/korisnika. Primer: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "Druid za pravljenje SELinux polisa"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "Nerezervisani portovi  (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "Koristite ovo dugme za proveru ako vaš program poziva bindresvport sa 0."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Primoravanje\n"
+-#~ "Dopuštanje\n"
+-#~ "Isključeno\n"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/sr.po policycoreutils-2.0.85/po/sr.po
+--- nsapolicycoreutils/po/sr.po        2011-02-17 15:11:25.985720665 -0500
++++ policycoreutils-2.0.85/po/sr.po    2011-02-18 16:03:41.444976263 -0500
+@@ -1,26 +1,44 @@
+-# translation of policycoreutils.HEAD.sr.po to Serbian
+ # Serbian translations for policycoreutils
+ # Copyright (C) 2006 Red Hat, Inc.
+ # This file is distributed under the same license as the policycoreutils package.
+-#
+ # Miloš Komarčević <kmilos@gmail.com>, 2006.
+ # Jovan Krunic <jovan.krunic@gmail.com>, 2008.
+ # Nikola Pajtić <salgeras@gmail.com>, 2008.
+ # Igor Miletic <grejigl-gnomeprevod@yahoo.ca>, 2008.
++#
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: policycoreutils.HEAD.sr\n"
++"Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-04-07 21:19-0400\n"
+-"Last-Translator: Igor Miletic <grejigl-gnomeprevod@yahoo.ca>\n"
+-"Language-Team: Serbian <fedora-trans-sr@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2009-03-23 23:04+0100\n"
++"Last-Translator: Miloš Komarčević <kmilos@gmail.com>\n"
++"Language-Team: Serbian (sr) <fedora-trans-sr@redhat.com>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+-"X-Generator: KBabel 1.11.4\n"
++"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
++"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++#, fuzzy
++msgid "SELinux Management"
++msgstr "SELinux fcontext"
++
++#: selinux-polgengui.desktop.in.h:1
++#, fuzzy
++msgid "Generate SELinux policy modules"
++msgstr "Направи нови модул полисе"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Алат за прављење SELinux полиса"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -111,9 +129,8 @@
+ msgstr "Не могу да успоставим semanage везу"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Не могу да поставим MLS опсег за %s"
++msgstr "Не могу да испитам статус MLS омогућавања"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -129,7 +146,8 @@
+ msgid "Level"
+ msgstr "Ниво"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Превод"
+@@ -159,764 +177,766 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage трансакција је већ у току"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Не могу да покренем semanage трансакцију"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Не могу да покренем semanage трансакцију"
++msgstr "Не могу да предам semanage трансакцију"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage трансакција није у току"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Не могу да попишем SELinux кориснике"
++msgstr "Не могу да попишем SELinux модуле"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "Допуштање"
++msgstr "Врсте допуштања"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Нисам могао да поставим допустиви домен %s (инсталација модула није успела)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Нисам могао да уклоним допустиви домен %s (уклањање није успело)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Не могу да направим кључ за %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Не могу да проверим да ли је одређено пресликавање пријаве за %s"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Пресликавање пријаве за %s је већ одређено"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linux корисник %s не постоји"
++msgstr "Linux група %s не постоји"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux корисник %s не постоји"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Не могу да направим празно пресликавање пријаве за %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Не могу да поставим име за %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Не могу да поставим MLS опсег за %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Не могу да поставим SELinux корисника за %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Не могу да додам пресликавање пријаве за %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "Додај SELinux корисничко мапирање"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Захтева seuser или serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Пресликавање пријаве за %s није одређено "
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Не могу да испитам seuser-а за %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Не могу да изменим пресликавање пријаве за %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "Пресликавање пријаве за %s је одређено у полиси, не може се брисати"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Не могу да обришем пресликавање пријаве за %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Не могу да попишем пресликавања пријаве"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Пријавно име"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux корисник"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS опсег"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Не могу да додам контекст датотеке за %s"
++msgstr "Морате додати барем једну улогу за %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Не могу да проверим да ли је одређен SELinux корисник %s"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux корисник %s је већ одређен"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Не могу да направим SELinux корисника за %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Не могу да додам улогу %s за %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Не могу да поставим MLS ниво за %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Не могу да додам префикс %s за %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Не могу да издвојим кључ за %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Не могу да додам SELinux корисника %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Захтева префикс, улоге, ниво или опсег"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Захтева префикс или улоге"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux корисник %s није одређен"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Не могу да испитам корисника за %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Не могу да изменим SELinux корисника %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux корисник %s је одређен у полиси, не може се брисати"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Не могу да обришем SELinux корисника %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Не могу да попишем SELinux кориснике"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Не могу да попишем улоге за корисника %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Означавање"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Префикс"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS ниво"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS опсег"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux улоге"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Неопходан је udp или tcp протокол"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Неопходан је порт"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Не могу да направим кључ за %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Неопходна је врста"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Не могу да проверим да ли је порт %s/%s одређен"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Порт %s/%s је већ одређен"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Не могу да направим порт за %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Не могу да направим контекст %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Не могу да поставим корисника у контексту порта за %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Не могу да поставим улогу у контексту порта за %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Не могу да поставим врсту у контексту порта за %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Не могу да поставим mls поља у контексту порта за %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Не могу да поставим контекст порт за %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Не могу да додам порт %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Захтева setype или serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Захтева setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Порт %s/%s није одређен"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Не могу да испитам порт %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Не могу да изменим порт %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Не могу да излистам портове"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "Не могу да обришем порт %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Порт %s/%s је одређен у полиси, не може се брисати"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Не могу да обришем порт %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Не могу да излистам портове"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "Врста SELinux порта"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Број портова"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Неопходан је порт"
++msgstr "Неопходна је адреса чвора"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Неопходан је порт"
++msgstr "Неопходна је мрежна маска чвора"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Непознат или недостајући протокол"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux врста је неопходна"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Не могу да направим кључ за %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Не могу да проверим да ли је порт %s/%s одређен"
++msgstr "Не могу да проверим да ли је адреса %s одређена"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Порт %s/%s је већ одређен"
++msgstr "Адреса %s је већ одређена"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Не могу да направим кључ за %s"
++msgstr "Не могу да направим адресу за %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Не могу да направим контекст за %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Не могу да поставим име за %s"
++msgstr "Не могу да поставим маску за %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Не могу да поставим корисника у контексту датотеке за %s"
++msgstr "Не могу да поставим корисника у контексту адресе за %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Не могу да поставим улогу у контексту датотеке за %s"
++msgstr "Не могу да поставим улогу у контексту адресе за %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Не могу да поставим врсту у контексту датотеке за %s"
++msgstr "Не могу да поставим врсту у контексту адресе за %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Не могу да поставим mls поља у контексту датотеке за %s"
++msgstr "Не могу да поставим mls поља у контексту адресе за %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Не могу да поставим контекст датотеке за %s"
++msgstr "Не могу да поставим контекст адресе за %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Не могу да додам порт %s/%s"
++msgstr "Не могу да додам адресу %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Порт %s/%s није одређен"
++msgstr "Адреса %s није одређена"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Не могу да испитам порт %s/%s"
++msgstr "Не могу да испитам адресу %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Не могу да изменим порт %s/%s"
++msgstr "Не могу да изменим адресу %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Порт %s/%s је одређен у полиси, не може се брисати"
++msgstr "Адреса %s је одређена у полиси, не може се брисати"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Не могу да обришем %s"
++msgstr "Не могу да обришем адресу %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Не могу да излистам портове"
++msgstr "Не могу да излистам адресе"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Не могу да проверим да ли је сучеље %s одређено"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Сучеље %s је већ одређено"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Не могу да направим сучеље за %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Не могу да поставим корисника у контексту сучеља за %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Не могу да поставим улогу у контексту сучеља за %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Не могу да поставим врсту у контексту сучеља за %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Не могу да поставим mls поља у контексту сучеља за %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Не могу да поставим контекст сучеља за %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Не могу да поставим контекст поруке за %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Не могу да додам сучеље %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Сучеље %s није одређено"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Не могу да испитам сучеље %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Не могу да изменим сучеље %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Спрега %s је одређена у полиси, не може се брисати"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Не могу да обришем сучеље %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Не могу да попишем сучеља"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux сучеље"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Контекст"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Не могу да поставим корисника у контексту датотеке за %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Не могу да поставим улогу у контексту датотеке за %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Не могу да поставим mls поља у контексту датотеке за %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "Неисправна спецификација датотеке"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Не могу да проверим да ли је одређен контекст датотеке за %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Контекст датотеке за %s је већ одређен"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Не могу да направим контекст датотеке за %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Не могу да поставим врсту у контексту датотеке за %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Не могу да поставим контекст датотеке за %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Не могу да додам контекст датотеке за %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Захтева setype, serange или seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Контекст датотеке за %s није одређен"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Не могу да испитам контекст датотеке за %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Не могу да изменим контекст датотеке %s"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "Не могу да излистам контексте датотека"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Не могу да обришем контекст датотеке %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "Контекст датотеке за %s је одређен у полиси, не може се брисати"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Не могу да обришем контекст датотеке %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Не могу да попишем контексте датотека"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Не могу да попишем локалне контексте датотека"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "врста"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Не могу да проверим да ли је одређен логички израз %s"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Логички израз %s није одређен"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Не могу да испитам контекст датотеке %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Морате унети вредност"
++msgstr "Морате навести једну од следећих вредности: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Не могу да обришем логички израз %s"
++msgstr "Не могу да поставим активну вредност логичке %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Не могу да изменим логички израз %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Лош формат %s: запис %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Логички израз %s је одређен у полиси, не може се брисати"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Не могу да обришем логички израз %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Не могу да попишем логичке изразе"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "непознато"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "искључено"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "укључено"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux логичка"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "Опис"
+@@ -957,7 +977,7 @@
+ msgstr "Не могу да очистим окружење\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "Грешка при иницијализацији могућности, одустајем.\n"
+@@ -1291,1715 +1311,2242 @@
+ msgid "Options Error %s "
+ msgstr "Грешка опција %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "преводи нису подржани на машинама које нису MLS"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "Логичка вредност"
+-
+-#~ msgid "all"
+-#~ msgstr "све"
+-
+-#~ msgid "Customized"
+-#~ msgstr "Прилагођен"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "Означавање датотека"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Спецификације\n"
+-#~ "датотеке"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "Врста датотеке"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Врста\n"
+-#~ "датотеке"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "Мапирање корисника"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "Пријавно\n"
+-#~ "име"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "корисник"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS опсег"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Пријава „%s“ је неопходна"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "Модул полисе"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "Име модула"
+-
+-#~ msgid "Version"
+-#~ msgstr "Верзија"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "Искључи Audit"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "Укључи Audit"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Учитај модул полисе"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Ред Хет 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "Miloš Komarčević <kmilos@gmail.com>, 2007."
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "Алат за прављење SELinux полиса"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "Ова алатка се може употребити за прављење радног оквира полиса, ради "
+-#~ "ограничавања програма и корисника користећи SELinux.   \n"
+-#~ "\n"
+-#~ "Алатка производи:\n"
+-#~ "датотеку за приморавање врсте (te)\n"
+-#~ "датотеку сучеља (if)\n"
+-#~ "датотеку са контекстима датотека (fc)\n"
+-#~ "скрипту командног окружења (sh) - користи се за компилирање и инсталацију "
+-#~ "полисе. "
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "Изаберите врсту програма/корисничке улоге коју треба ограничити"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Програми</b>"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "Стандардна инит системска услуга су услуге који се покрећу са подизањем "
+-#~ "система преко инит скрипти.  Обично захтева скрипту у /etc/rc.d/init.d"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "Стандардна инит системска услуга"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "Системска услуга за интернет сервисе су услуге које покреће xinetd"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "Системска услуга за интернет сервисе (inetd)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "Веб програми/скрипте (CGI) CGI скрипте које покреће веб сервер (apache)"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "Веб програми/скрипте (CGI)"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "Кориснички програм је било који програм који бисте желели да ограничите "
+-#~ "да је стартован од стране корисника"
+-
+-#~ msgid "User Application"
+-#~ msgstr "Кориснички програм"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Корисници пријављивања</b>"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "Измени постојећи запис корисника за пријављивање."
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "Постојеће корисничке улоге"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "Овај корисник ће се пријавити на машину само преко терминала или удаљеном "
+-#~ "пријавом. Подразумевано овај корисник неће имати setuid, мрежу, sudo, "
+-#~ "нити su."
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "Минимална улога корисника терминала"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "Овај корисник може да се пријави на машину преко Икс система прозора или "
+-#~ "терминала. Подразумевано овај корисник неће имати setuid, мрежу, sudo, "
+-#~ "нити su"
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "Минимална улога корисника Икс система прозора"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "Корисник са потпуном мрежом, без setuid програма без пролаза, без sudo, "
+-#~ "без su."
+-
+-#~ msgid "User Role"
+-#~ msgstr "Корисничка улога"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "Корисник са потпуном мрежом, без setuid програма без пролаза, без su, "
+-#~ "може да користи sudo на корисничким улогама Root администратора"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "Улога администраторског корисника"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Root корисници</b>"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "Изаберите корисничку улогу Root администратора, ако ће овај корисник "
+-#~ "вршити администрацију машине док ради као root. Овај корисник неће моћи "
+-#~ "да се директно пријави у систем."
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Корисничка улога Root администратора"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "Унесите назив програма или корисничку улогу коју треба ограничити."
+-
+-#~ msgid "Name"
+-#~ msgstr "Име"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "Унесите пуну путању извршне датотеке коју треба ограничити."
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr ""
+-#~ "Унесите јединствени назив за ограничени програм или корисничку улогу."
+-
+-#~ msgid "Executable"
+-#~ msgstr "Извршна датотека"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Инит скрипта"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "Унесите потпуну путању до скрипте за иницијализацију, која стартује "
+-#~ "ограничени програм."
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "Изаберите корисничке улоге које желите да прилагодите"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr ""
+-#~ "Изаберите корисничке улоге које ће се пребацити на ове програмске домене."
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr ""
+-#~ "Изаберите додатне домене кроз које ће ова корисничка улога пролазити"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr ""
+-#~ "Изаберите програмске домене на које бисте желели да се ова корисничка "
+-#~ "улога пребаци."
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "Изаберите корисничке улоге које ће се пребацити на овај домен"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "Изаберите додатне домене које ће овај корисник администрирати"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr ""
+-#~ "Изаберите програмске домене које бисте желели овај корисник администрира"
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "Изаберите додатне улоге за овог корисника"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "Унесите мрежне портове које ова улога програма/корисника ослушкује"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP портови</b>"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr ""
+-#~ "Дозвољава ограниченој улози програма/корисника да се веже на било који "
+-#~ "udp порт"
+-
+-#~ msgid "All"
+-#~ msgstr "Све"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "Дозволи улози програма/корисника да позове bindresvport са 0. Везивање на "
+-#~ "портове 600-1024"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Унесите списак udp портова или опсег портова раздвојене зарезима на које "
+-#~ "се веже улога програма/корисника. Пример: 612, 650-660"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "Нерезервисани портови (>1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "Изабери портове"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "Дозвољава улози програма/корисника да се веже на било који udp порт > 1024"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP портови</b>"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr ""
+-#~ "Унесите мрежне портове на које се ова улога програма/корисника повезује"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Унесите списак tcp портова или опсег портова раздвојене зарезима на које "
+-#~ "се повезује улога програма/корисника. Пример: 612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Унесите списак udp портова или опсег портова раздвојене зарезима на које "
+-#~ "се повезује улога програма/корисника. Пример: 612, 650-660"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "Изаберите уобичајене карактеристике програма"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "Пише syslog поруке\t"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "Направи/руководи привременим подацима у /tmp"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "Користи Pam за аутентификацију"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "Користи nsswitch или getpw* позиве"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "Користи dbus"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Шаље поруке контроле"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "У вези са терминалом"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "Шаље е-поруку"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "Изаберите датотеке/директоријуме које програм руководи"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "Додајте датотеке/директоријуме који су потребни програму да у њих \"Пише"
+-#~ "\". Pid датотеке, датотеке дневника, /var/lib датотеке ..."
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "Изаберите логичке променљиве које овај програм користи"
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr ""
+-#~ "Додај/уклони логичке променљиве коришћене за овај ограничени програм/"
+-#~ "корисник"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "Изаберите директоријум у коме ће се генерисати полисе"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "Директоријум полисе"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "Датотеке направљене полисе"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Ова алатка ће генерисати следеће: \n"
+-#~ "врсту приморавања(te), контекст датотеке(fc), интерфејс(if), скрипту \n"
+-#~ "командног окружења(sh)\n"
+-#~ "Извршите скрипту командног окружења као root корисник да бисте \n"
+-#~ "компајлирали/инсталирали и поново поставили ознаке на \n"
+-#~ "датотекама/директоријумима. \n"
+-#~ "Користите semanage или useradd да мапирате Linux кориснике за "
+-#~ "пријављивање \n"
+-#~ "на корисничке улоге.\n"
+-#~ "Поставите машину у допуштајући режим (setenforce 0). \n"
+-#~ "Пријавите се као корисник и тестирајте ову корисничку улогу.\n"
+-#~ "Користите audit2allow -R да бисте генерисали додатна правила за te "
+-#~ "датотеку.\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "Ова алатка ће генерисати следеће: \n"
+-#~ "врсту приморавања(te), контекст датотеке(fc), интерфејс(if), скрипту \n"
+-#~ "командног окружења(sh)\n"
+-#~ "\n"
+-#~ "Извршите скрипту командног окружења да бисте компајлирали/инсталирали и \n"
+-#~ "поново поставили ознаке на датотекама/директоријумима. \n"
+-#~ "Поставите машину у допуштајући режим (setenforce 0). \n"
+-#~ "Извршите/поново покрените програм да бисте генерисали avc поруке.\n"
+-#~ "Користите audit2allow -R да бисте генерисали додатна правила за te "
+-#~ "датотеку.\n"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "Додај дијалог логичких променљивих"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "Назив логичке вредности"
+-
+-#~ msgid "Role"
+-#~ msgstr "Улога"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "Постојећи_корисник"
+-
+-#~ msgid "Application"
+-#~ msgstr "Програм"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s мора бити директоријум"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "Морате изабрати корисника"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "Изаберите извршну датотеку коју бисте желели да ограничите."
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "Изаберите инит скрипту коју бисте желели да ограничите."
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "Изаберите датотеку(е) коју ограничени програм прави или у њу пише"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr ""
+-#~ "Изаберите директоријум(е) који ограничени програм поседује или у њега пише"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "Изаберите директоријум у коме ћете правити датотеке полисе"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Врста %s_t је већ одређена у тренутној полиси.\n"
+-#~ "Да ли желите да наставите?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "Потврди име"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "Модул %s.pp је већ учитан у тренутну полису.\n"
+-#~ "Да ли желите да наставите?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "Морате унети име"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Морате унети извршни програм"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "Подесите SELinux"
+-
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "Портови морају бити бројеви или опсези бројева од 1 до %d "
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "Морате унети име вашег ограниченог процеса/корисника"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "Типови корисника нису дозвољене извршне датотеке"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "Само програми-системске услуге могу користити инит скрипту"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog мора бити логичка вредност"
+-
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "Типови корисника аутоматски добијају tmp врсту"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "Морате унети путању извршне датотеке за ваш ограничени процес"
+-
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Датотека за врсту приморавања"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "Датотека спреге"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "Датотека за контексте датотека"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "Скрипта за поставке"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux порт\n"
+-#~ "Врста"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "Протокол"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Ниво"
+-
+-#~ msgid "Port"
+-#~ msgstr "Порт"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "Број порта „%s“ није исправан.  0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "Приказ листе"
+-
+-#~ msgid "Group View"
+-#~ msgstr "Групни преглед"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Заштита SELinux сервиса"
+-
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "Онемогући SELinux заштиту за acct системску услугу"
+-
+-#~ msgid "Admin"
+-#~ msgstr "Администратор"
+-
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr ""
+-#~ "Допусти свим системским услугама да уписују датотеке језгра на / "
+-#~ "директоријум"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr ""
+-#~ "Допусти свим системским услугама могућност да користе неалоциране tty "
+-#~ "терминале"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "Овлашћења корисника"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Допусти gadmin SELinux корисничким налозима да извршавају датотеке у "
+-#~ "својим личним директоријумима"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Допусти да гостујући SELinux кориснички налози извршавају датотеке у "
+-#~ "својим личним директоријумима или у /tmp директоријуму"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "Заштита меморије"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "Допусти java-и извршни стек"
+-
+-#~ msgid "Mount"
+-#~ msgstr "Mount"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "Допусти да mount монтира било коју датотеку"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "Допусти да mount монтира било који директоријум"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "Допусти mplayer-у извршни стек"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "Допусти да ssh извршава ssh-keysign"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Допусти да staff SELinux кориснички налози извршавају датотеке у својим "
+-#~ "личним директоријумима или у /tmp директоријуму"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Допусти да sysadm SELinux кориснички налози извршавају датотеке у својим "
+-#~ "личним директоријумима или у /tmp директоријуму"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "Допусти да неограничени SELinux кориснички налози извршавају датотеке у "
+-#~ "својим личним директоријумима или у /tmp директоријуму"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "Мрежна подешавања"
+-
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "Допусти да неозначени пакети путују мрежом"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "Допусти да user SELinux кориснички налози извршавају датотеке у својим "
+-#~ "личним директоријумима или у /tmp директоријуму"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "Допусти да неограниченим да се пребаце у unconfined_execmem"
+-
+-#~ msgid "Databases"
+-#~ msgstr "Базе података"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "Допусти кориснику да се повеже на mysql сокет"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "Допусти кориснику да се повеже на postgres сокет"
+-
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
+-
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "Допусти клијентима да уписују у дељену меморију Икс сервера"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "Допусти да xguest SELinux кориснички налози извршавају датотеке у својим "
+-#~ "личним директоријумима или у /tmp директоријуму"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "Дозволи системским услугама да се покрећу са NIS сервисом"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "Веб програми"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "Пребацивање staff SELinux корисника на Web Browser домен"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "Пребацивање sysadm SELinux корисника на Web Browser домен"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "Пребацивање user SELinux корисника на Web Browser домен"
+-
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "Пребацивање xguest SELinux корисника на Web Browser домен"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "Допусти особљу Web Browser-а да уписује у личне директоријуме"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "Искључи SELinux заштиту за amanda-у"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Искључи SELinux заштиту за amavis"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Искључи SELinux заштиту за apmd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Искључи SELinux заштиту за arpwatch системску услугу"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Искључи SELinux заштиту за auditd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Искључи SELinux заштиту за automount системску услугу"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Искључи SELinux заштиту за avahi"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Искључи SELinux заштиту за bluetooth системску услугу"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Искључи SELinux заштиту за canna системску услугу"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Искључи SELinux заштиту за cardmgr системску услугу"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Искључи SELinux заштиту за Cluster сервер"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "Допусти да cdrecord чита различит садржај. nfs, samba, removable devices, "
+-#~ "user temp и датотеке са непоузданим садржајем"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Искључи SELinux заштиту за ciped системску услугу"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Искључи SELinux заштиту за clamd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Искључи SELinux заштиту за clamscan"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Искључи SELinux заштиту за clvmd"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Искључи SELinux заштиту за comsat системску услугу"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Искључи SELinux заштиту за courier системску услугу"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Искључи SELinux заштиту за cpucontrol системску услугу"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Искључи SELinux заштиту за cpuspeed системску услугу"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Искључи SELinux заштиту за crond системску услугу"
+-
+-#~ msgid "Printing"
+-#~ msgstr "Штампање"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Логичка вредност"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "све"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Прилагођен"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Означавање датотека"
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Искључи SELinux заштиту за cupsd позадински сервер"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Искључи SELinux заштиту за cupsd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Искључи SELinux заштиту за cupsd_lpd"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Искључи SELinux заштиту за cvs системску услугу"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Искључи SELinux заштиту за cyrus системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Искључи SELinux заштиту за dbskk системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Искључи SELinux заштиту за dbusd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Искључи SELinux заштиту за dccd"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Искључи SELinux заштиту за dccifd"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Искључи SELinux заштиту за dccm"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Искључи SELinux заштиту за ddt системску услугу"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Искључи SELinux заштиту за devfsd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Искључи SELinux заштиту за dhcpc системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Искључи SELinux заштиту за dhcpd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Искључи SELinux заштиту за dictd системску услугу"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "Допусти да sysadm_t директно покреће системске услуге"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Искључи SELinux заштиту за Evolution"
+-
+-#~ msgid "Games"
+-#~ msgstr "Игре"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Искључи SELinux заштиту за игре"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Искључи SELinux заштиту за веб читаче"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Искључи SELinux заштиту за Thunderbird"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Искључи SELinux заштиту за distccd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Искључи SELinux заштиту за dmesg системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Искључи SELinux заштиту за dnsmasq системску услугу"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Искључи SELinux заштиту за dovecot системску услугу"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Искључи SELinux заштиту за entropyd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Искључи SELinux заштиту за fetchmail"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Искључи SELinux заштиту за fingerd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Искључи SELinux заштиту за freshclam системску услугу"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Искључи SELinux заштиту за fsdaemon системску услугу"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Искључи SELinux заштиту за gpm системску услугу"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Искључи SELinux заштиту за gss системску услугу"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Искључи SELinux заштиту за Hal системску услугу"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "Усаглашеност"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr ""
+-#~ "Не користи audit за ствари које знамо да су покварене, али које нису "
+-#~ "ризичне по сигурност"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Искључи SELinux заштиту за hostname системску услугу"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Искључи SELinux заштиту за hotplug системску услугу"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Искључи SELinux заштиту за howl системску услугу"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Искључи SELinux заштиту за cups hplip системску услугу"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Искључи SELinux заштиту за httpd rotatelogs"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD сервис"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Искључи SELinux заштиту за http suexec"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Искључи SELinux заштиту за hwclock системску услугу"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Искључи SELinux заштиту за i18n системску услугу"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Искључи SELinux заштиту за imazesrv системску услугу"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Искључи SELinux заштиту за потомке inetd системске услуге"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Искључи SELinux заштиту за inetd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Искључи SELinux заштиту за innd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Искључи SELinux заштиту за iptables системску услугу"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Искључи SELinux заштиту за ircd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Искључи SELinux заштиту за irqbalance системску услугу"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Искључи SELinux заштиту за iscsi системску услугу"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Искључи SELinux заштиту за jabberd системску услугу"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Искључи SELinux заштиту за kadmind системску услугу"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Искључи SELinux заштиту за klogd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Искључи SELinux заштиту за krb5kdc системску услугу"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Искључи SELinux заштиту за ktalk системску услугу"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Искључи SELinux заштиту за kudzu системску услугу"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Искључи SELinux заштиту за locate системску услугу"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Искључи SELinux заштиту за lpd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Искључи SELinux заштиту за lrrd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Искључи SELinux заштиту за lvm системску услугу"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Искључи SELinux заштиту за mailman"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "Допусти evolution-у и thunderbird-у да читају датотеке корисника"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Искључи SELinux заштиту за mdadm системску услугу"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Искључи SELinux заштиту за monopd системску услугу"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "Допусти да mozilla читач чита датотеке корисника"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Искључи SELinux заштиту за mrtg системску услугу"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Искључи SELinux заштиту за mysqld системску услугу"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Искључи SELinux заштиту за nagios системску услугу"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "Сервис за именовање"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Искључи SELinux заштиту за named системску услугу"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Искључи SELinux заштиту за nessusd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Искључи SELinux заштиту за NetworkManager"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Искључи SELinux заштиту за nfsd системску услугу"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Искључи SELinux заштиту за nmbd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Искључи SELinux заштиту за nrpe системску услугу"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Искључи SELinux заштиту за nscd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Искључи SELinux заштиту за nsd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Искључи SELinux заштиту за ntpd системску услугу"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Искључи SELinux заштиту за oddjob"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Искључи SELinux заштиту за oddjob_mkhomedir"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Искључи SELinux заштиту за openvpn системску услугу"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Искључи SELinux заштиту за pam системску услугу"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Искључи SELinux заштиту за pegasus"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Искључи SELinux заштиту за perdition системску услугу"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Искључи SELinux заштиту за portmap системску услугу"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Искључи SELinux заштиту за portslave системску услугу"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Искључи SELinux заштиту за postfix"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Спецификације\n"
++"датотеке"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Искључи SELinux заштиту за postgresql системску услугу"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"врста датотеке"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Врста\n"
++"датотеке"
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "Допусти pppd да буде доступан за коришћење обичним корисницима"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Мапирање корисника"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Искључи SELinux заштиту за pptp"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Пријавно\n"
++"име"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Искључи SELinux заштиту за prelink системску услугу"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"корисник"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Искључи SELinux заштиту за privoxy системску услугу"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS опсег"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Искључи SELinux заштиту за ptal системску услугу"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Пријава „%s“ је неопходна"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Искључи SELinux заштиту за pxe системску услугу"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Модул полисе"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Искључи SELinux заштиту за pyzord"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Име модула"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Искључи SELinux заштиту за quota системску услугу"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Верзија"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Искључи SELinux заштиту за radiusd системску услугу"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Искључи проверу"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Искључи SELinux заштиту за radvd системску услугу"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Укључи проверу"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Искључи SELinux заштиту за rdisc"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Учитај модул полисе"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Искључи SELinux заштиту за readahead"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "Допусти да програми читају датотеке које се налазе на нестандардним "
+-#~ "местима (default_t)"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Искључи SELinux заштиту за restorecond"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Искључи SELinux заштиту за rhgb системску услугу"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Miloš Komarčević <kmilos@gmail.com>\n"
++"Jovan Krunic <jovan.krunic@gmail.com>\n"
++"Igor Miletic <grejigl-gnomeprevod@yahoo.ca>\n"
++"Nikola Pajtić <salgeras@gmail.com>"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Искључи SELinux заштиту за ricci"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Ова алатка се може употребити за прављење радног оквира полиса, ради "
++"ограничавања програма и корисника користећи SELinux.   \n"
++"\n"
++"Алатка производи:\n"
++"датотеку за приморавање врсте (te)\n"
++"датотеку сучеља (if)\n"
++"датотеку са контекстима датотека (fc)\n"
++"скрипту командног окружења (sh) - користи се за компилирање и инсталацију "
++"полисе. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Изаберите врсту програма/корисничке улоге коју треба ограничити"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Програми</b>"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Искључи SELinux заштиту за ricci_modclusterd"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Стандардна инит системска услуга су услуге који се покрећу са подизањем "
++"система преко инит скрипти.  Обично захтева скрипту у /etc/rc.d/init.d"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Искључи SELinux заштиту за rlogind системску услугу"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Стандардна инит системска услуга"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS системски демон"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Системска услуга за интернет сервисе су услуге које покреће xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Системска услуга за интернет сервисе (inetd)"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Искључи SELinux заштиту за rpcd системску услугу"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"Веб програми/скрипте (CGI) CGI скрипте које покреће веб сервер (apache)"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Искључи SELinux заштиту за rshd"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Веб програми/скрипте (CGI)"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Кориснички програм је било који програм који бисте желели да ограничите да "
++"је стартован од стране корисника"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Искључи SELinux заштиту за rsync системску услугу"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Кориснички програм"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Корисници пријављивања</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Измени постојећи запис корисника за пријављивање."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Постојеће корисничке улоге"
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "Допусти да се ssh извршава из inetd уместо као системска услуга"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Овај корисник ће се пријавити на машину само преко терминала или удаљеном "
++"пријавом. Подразумевано овај корисник неће имати setuid, мрежу, sudo, нити "
++"su."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Минимална улога корисника терминала"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "Допусти да Samba дели nfs директоријуме"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Овај корисник може да се пријави на машину преко Икс система прозора или "
++"терминала. Подразумевано овај корисник неће имати setuid, мрежу, sudo, нити "
++"su"
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Минимална улога корисника Икс система прозора"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL сервер аутентификације"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Корисник са потпуном мрежом, без setuid програма без пролаза, без sudo, без "
++"su."
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "Допусти sasl серверу аутентификације да чита /etc/shadow"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Корисничка улога"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "Допусти X-Windows серверу да пресликава меморијски простор као извршну "
+-#~ "датотеку са могућношћу писања"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Корисник са потпуном мрежом, без setuid програма без пролаза, без su, може "
++"да користи sudo на корисничким улогама Root администратора"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Искључи SELinux заштиту за saslauthd системску услугу"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Улога администраторског корисника"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root корисници</b>"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Искључи SELinux заштиту за scannerdaemon системску услугу"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Изаберите корисничку улогу root администратора, ако ће овај корисник вршити "
++"администрацију машине док ради као root. Овај корисник неће моћи да се "
++"директно пријави у систем."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Корисничка улога root администратора"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Унесите назив програма или корисничку улогу коју треба ограничити."
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Име"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Унесите пуну путању извршне датотеке коју треба ограничити."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Унесите јединствени назив за ограничени програм или корисничку улогу."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Извршна датотека"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Инит скрипта"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "Не допуштај прелаз на sysadm_t, изазван командама sudo и su"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Унесите потпуну путању до скрипте за иницијализацију, која стартује "
++"ограничени програм."
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "Не допуштај ниједном процесу да учита модуле језгра"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Изаберите корисничке улоге које желите да прилагодите"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "Не допуштај ниједном процесу да мења SELinux полису језгра"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++"Изаберите корисничке улоге које ће се пребацити на ове програмске домене."
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Искључи SELinux заштиту за sendmail системску услугу"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Изаберите додатне домене кроз које ће ова корисничка улога пролазити"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Искључи SELinux заштиту за setrans"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Изаберите програмске домене на које бисте желели да се ова корисничка улога "
++"пребаци."
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Искључи SELinux заштиту за setroublesoot системску услугу"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Изаберите корисничке улоге које ће се пребацити на овај домен"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Изаберите додатне домене које ће овај корисник администрирати"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Искључи SELinux заштиту за slapd системску услугу"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++"Изаберите програмске домене које бисте желели овај корисник администрира"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Искључи SELinux заштиту за slrnpull системску услугу"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Изаберите додатне улоге за овог корисника"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Унесите мрежне портове које ова улога програма/корисника ослушкује"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP портови</b>"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Искључи SELinux заштиту за smbd системску услугу"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Дозвољава ограниченој улози програма/корисника да се веже на било који udp "
++"порт"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Искључи SELinux заштиту за snmpd системску услугу"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Све"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Искључи SELinux заштиту за snort системску услугу"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Дозволи улози програма/корисника да позове bindresvport са 0. Везивање на "
++"портове 600-1024"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Искључи SELinux заштиту за soundd системску услугу"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Искључи SELinux заштиту за sound системску услугу"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Унесите списак udp портова или опсег портова раздвојене зарезима на које се "
++"веже улога програма/корисника. Пример: 612, 650-660"
+-#~ msgid "Spam Protection"
+-#~ msgstr "Заштита од нежељене поште"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Нерезервисани портови (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Изабери портове"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Искључи SELinux заштиту за spamd системску услугу"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Дозвољава улози програма/корисника да се веже на било који udp порт > 1024"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "Допусти да spamd приступа личним директоријумима"
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP портови</b>"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "Допусти приступ мрежи програму за уклањање нежељене поште"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++"Унесите мрежне портове на које се ова улога програма/корисника повезује"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Искључи SELinux заштиту за speedmgmt системску услугу"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Унесите списак tcp портова или опсег портова раздвојене зарезима на које се "
++"повезује улога програма/корисника. Пример: 612, 650-660"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Унесите списак udp портова или опсег портова раздвојене зарезима на које се "
++"повезује улога програма/корисника. Пример: 612, 650-660"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "Допусти squid системској услузи да се споји на мрежу"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Изаберите уобичајене карактеристике програма"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Пише syslog поруке\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Направи/руководи привременим подацима у /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Користи Pam за аутентификацију"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Користи nsswitch или getpw* позиве"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Користи dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Шаље поруке провере"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "У вези са терминалом"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Шаље е-поруку"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Изаберите датотеке/директоријуме које програм руководи"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Искључи SELinux заштиту за squid системску услугу"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Додајте датотеке/директоријуме који су потребни програму да у њих \"Пише\". "
++"Pid датотеке, датотеке дневника, /var/lib датотеке ..."
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Искључи SELinux заштиту за ssh системску услугу"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Изаберите логичке променљиве које овај програм користи"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "Допусти ssh пријаве као sysadm_r:sysadm_t"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Додај/уклони логичке променљиве коришћене за овај ограничени програм/корисник"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "Допусти да staff_r корисници претражују sysadm лични директоријум и "
+-#~ "читају датотеке (као што је ~/.bashrc)"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Изаберите директоријум у коме ће се генерисати полисе"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Универзални SSL тунел"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Директоријум полисе"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Искључи SELinux заштиту за stunnel системску услугу"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Датотеке направљене полисе"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr ""
+-#~ "Допусти да се stunnel системска услуга самостално извршава, изван xinetd"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ова алатка ће генерисати следеће: \n"
++"врсту приморавања(te), контекст датотеке(fc), интерфејс(if), скрипту \n"
++"командног окружења(sh)\n"
++"Извршите скрипту командног окружења као root корисник да бисте \n"
++"компајлирали/инсталирали и поново поставили ознаке на \n"
++"датотекама/директоријумима. \n"
++"Користите semanage или useradd да мапирате Linux кориснике за пријављивање \n"
++"на корисничке улоге.\n"
++"Поставите машину у допуштајући режим (setenforce 0). \n"
++"Пријавите се као корисник и тестирајте ову корисничку улогу.\n"
++"Користите audit2allow -R да бисте генерисали додатна правила за te "
++"датотеку.\n"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Искључи SELinux заштиту за swat системску услугу"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ова алатка ће генерисати следеће: \n"
++"врсту приморавања(te), контекст датотеке(fc), интерфејс(if), скрипту \n"
++"командног окружења(sh)\n"
++"\n"
++"Извршите скрипту командног окружења да бисте компајлирали/инсталирали и \n"
++"поново поставили ознаке на датотекама/директоријумима. \n"
++"Поставите машину у допуштајући режим (setenforce 0). \n"
++"Извршите/поново покрените програм да бисте генерисали avc поруке.\n"
++"Користите audit2allow -R да бисте генерисали додатна правила за te "
++"датотеку.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Додај дијалог логичких променљивих"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Назив логичке вредности"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Улога"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Постојећи_корисник"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Програм"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s мора бити директоријум"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Морате изабрати корисника"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Изаберите извршну датотеку коју бисте желели да ограничите."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Изаберите инит скрипту коју бисте желели да ограничите."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Изаберите датотеку(е) коју ограничени програм прави или у њу пише"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Искључи SELinux заштиту за sxid системску услугу"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++"Изаберите директоријум(е) који ограничени програм поседује или у њега пише"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Искључи SELinux заштиту за syslogd системску услугу"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Изаберите директоријум у коме ћете правити датотеке полисе"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Искључи SELinux заштиту за системске cron послове"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Врста %s_t је већ одређена у тренутној полиси.\n"
++"Да ли желите да наставите?"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Искључи SELinux заштиту за tcp системску услугу"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Потврди име"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Искључи SELinux заштиту за telnet системску услугу"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Модул %s.pp је већ учитан у тренутну полису.\n"
++"Да ли желите да наставите?"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Искључи SELinux заштиту за tftpd системску услугу"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Морате унети име"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Искључи SELinux заштиту за transproxy системску услугу"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Морате унети извршни програм"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Искључи SELinux заштиту за udev системску услугу"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Подесите SELinux"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Искључи SELinux заштиту за uml системску услугу"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Портови морају бити бројеви или опсези бројева од 1 до %d "
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Допусти да се xinetd извршава као неограничен, укључујући ту све сервисе "
+-#~ "које стартује, а који немају изричито одређен прелаз домена"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Морате унети име вашег ограниченог процеса/корисника"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "Допусти да се rc скрипта неограничено извршава, укључујући ту све "
+-#~ "системске услуге које rc стартује, а који немају изричито одређен прелаз "
+-#~ "домена"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "КОРИСНИЧКЕ врсте нису дозвољене извршне датотеке"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "Допусти да се rpm извршава неограничено"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Само програми СИСТЕМСКИХ УСЛУГА могу користити инит скрипту"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr ""
+-#~ "Допусти да се привилеговане алатке, као што су hotplug и insmod, "
+-#~ "извршавају неограничено"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog мора бити логичка вредност"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Искључи SELinux заштиту за updfstab системску услугу"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "КОРИСНИЧКЕ врсте аутоматски добијају tmp врсту"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Искључи SELinux заштиту за uptimed системску услугу"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Морате унети путању извршне датотеке за ваш ограничени процес"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "Допусти да user_r користи sysadm_r преко su, sudo, или userhelper. У "
+-#~ "противном, само staff_r може тако да ради"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Датотека за врсту приморавања"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "Дозволи корисницима извршавање mount наредбе"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Датотека спреге"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr ""
+-#~ "Допусти обичним корисницима директан приступ мишу (само допусти Икс "
+-#~ "серверу)"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Датотека за контексте датотека"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "Допусти корисницима да извршавају dmesg команду"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Скрипта за поставке"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "Допусти корисницима да управљају мрежним сучељима (такође је потребно да "
+-#~ "је USERCTL=true)"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Мрежни порт"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "Допусти нормалном кориснику да извршава ping"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux врста\n"
++"порта"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "Допусти кориснику да чита/пише у noextattrfile (FAT, CDROM, FLOPPY)"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Протокол"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "Допусти да корисници читају/пишу на usb уређаје"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"ниво"
+-#~ 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 ""
+-#~ "Допусти корисницима да извршавају TCP сервере (да се повезују на портове "
+-#~ "и примају везе са истих домена или спољних корисника)  искључивање ове "
+-#~ "опције доводи до пасивног начина пада FTP-а и може узроковати промене "
+-#~ "других протокола"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Порт"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Број порта „%s“ није исправан.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Приказ листе"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Групни преглед"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Заштита SELinux сервиса"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Онемогући SELinux заштиту за acct системску услугу"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Администратор"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "Допусти кориснику да прати tty датотеке"
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++"Допусти свим системским услугама да уписују датотеке језгра на / директоријум"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "Искључи SELinux заштиту за uucpd системску услугу"
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++"Допусти свим системским услугама могућност да користе нерезервисане tty "
++"терминале"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Искључи SELinux заштиту за vmware системску услугу"
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Овлашћења корисника"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Искључи SELinux заштиту за watchdog системску услугу"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Допусти да gadmin SELinux кориснички налози извршавају датотеке у својим "
++"личним директоријумима или у /tmp директоријуму"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Искључи SELinux заштиту за winbind системску услугу"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Допусти да гостујући SELinux кориснички налози извршавају датотеке у својим "
++"личним директоријумима или у /tmp директоријуму"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Искључи SELinux заштиту за xdm системску услугу"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Заштита меморије"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Допусти java-и извршни стек"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Mount"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Допусти да mount монтира било коју датотеку"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Допусти да mount монтира било који директоријум"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Допусти mplayer-у извршни стек"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Допусти да ssh извршава ssh-keysign"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "Допусти да се xdm пријављује као sysadm_r:sysadm_t"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Допусти да staff SELinux кориснички налози извршавају датотеке у својим "
++"личним директоријумима или у /tmp директоријуму"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Искључи SELinux заштиту за xen системску услугу"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Допусти да sysadm SELinux кориснички налози извршавају датотеке у својим "
++"личним директоријумима или у /tmp директоријуму"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Допусти да неограничени SELinux кориснички налози извршавају датотеке у "
++"својим личним директоријумима или у /tmp директоријуму"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "Допусти да xen чита/пише по физичким уређајима (дисковима)"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Мрежна подешавања"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Допусти да неозначени пакети путују мрежом"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Искључи SELinux заштиту за xfs системску услугу"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Допусти да user SELinux кориснички налози извршавају датотеке у својим "
++"личним директоријумима или у /tmp директоријуму"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Искључи SELinux заштиту за xen контролу"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Допусти да неограниченим да се пребаце у unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Базе података"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Допусти кориснику да се повеже на mysql сокет"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Допусти кориснику да се повеже на postgres сокет"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Допусти клијентима да уписују у дељену меморију Икс сервера"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Искључи SELinux заштиту за ypbind системску услугу"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Допусти да xguest SELinux кориснички налози извршавају датотеке у својим "
++"личним директоријумима или у /tmp директоријуму"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Искључи SELinux заштиту за NIS системску услугу за лозинке"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Дозволи системским услугама да се покрећу са NIS сервисом"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Веб програми"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Пребацивање staff SELinux корисника на Web Browser домен"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Пребацивање sysadm SELinux корисника на Web Browser домен"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Пребацивање user SELinux корисника на Web Browser домен"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Пребацивање xguest SELinux корисника на Web Browser домен"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Допусти особљу Web Browser-а да уписује у личне директоријуме"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Искључи SELinux заштиту за amanda-у"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Искључи SELinux заштиту за amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Искључи SELinux заштиту за apmd системску услугу"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Искључи SELinux заштиту за arpwatch системску услугу"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Искључи SELinux заштиту за auditd системску услугу"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Искључи SELinux заштиту за automount системску услугу"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Искључи SELinux заштиту за avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Искључи SELinux заштиту за bluetooth системску услугу"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Искључи SELinux заштиту за canna системску услугу"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Искључи SELinux заштиту за cardmgr системску услугу"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Искључи SELinux заштиту за Cluster сервер"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Искључи SELinux заштиту за ypserv системску услугу"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Допусти да cdrecord чита различит садржај. nfs, samba, removable devices, "
++"user temp и датотеке са непоузданим садржајем"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Искључи SELinux заштиту за NIS системску услугу за пренос"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Искључи SELinux заштиту за ciped системску услугу"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Искључи SELinux заштиту за clamd системску услугу"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Искључи SELinux заштиту за clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Искључи SELinux заштиту за clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Искључи SELinux заштиту за comsat системску услугу"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Искључи SELinux заштиту за courier системску услугу"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Искључи SELinux заштиту за cpucontrol системску услугу"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Искључи SELinux заштиту за cpuspeed системску услугу"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Искључи SELinux заштиту за crond системску услугу"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Штампање"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Искључи SELinux заштиту за cupsd позадински сервер"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Искључи SELinux заштиту за cupsd системску услугу"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Искључи SELinux заштиту за cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Искључи SELinux заштиту за cvs системску услугу"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Искључи SELinux заштиту за cyrus системску услугу"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Искључи SELinux заштиту за dbskk системску услугу"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Искључи SELinux заштиту за dbusd системску услугу"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Искључи SELinux заштиту за dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Искључи SELinux заштиту за dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Искључи SELinux заштиту за dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Искључи SELinux заштиту за ddt системску услугу"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Искључи SELinux заштиту за devfsd системску услугу"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Искључи SELinux заштиту за dhcpc системску услугу"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Искључи SELinux заштиту за dhcpd системску услугу"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Искључи SELinux заштиту за dictd системску услугу"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Допусти да sysadm_t директно покреће системске услуге"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Искључи SELinux заштиту за Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Игре"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Искључи SELinux заштиту за игре"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Искључи SELinux заштиту за веб читаче"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Искључи SELinux заштиту за Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Искључи SELinux заштиту за distccd системску услугу"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Искључи SELinux заштиту за dmesg системску услугу"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Искључи SELinux заштиту за dnsmasq системску услугу"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Искључи SELinux заштиту за dovecot системску услугу"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Искључи SELinux заштиту за entropyd системску услугу"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Искључи SELinux заштиту за fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Искључи SELinux заштиту за fingerd системску услугу"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Искључи SELinux заштиту за freshclam системску услугу"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Искључи SELinux заштиту за fsdaemon системску услугу"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Искључи SELinux заштиту за gpm системску услугу"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Искључи SELinux заштиту за gss системску услугу"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Искључи SELinux заштиту за Hal системску услугу"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Усаглашеност"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Допусти да SELinux webadm корисник управља личним директоријумима "
+-#~ "корисника без привилегија"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Не проверавај ствари за које се зна су покварене, али које нису ризичне по "
++"безбедност"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "Допусти да SELinux webadm корисник може да чита из личних директоријума "
+-#~ "корисника без привилегија"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Искључи SELinux заштиту за hostname системску услугу"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Искључи SELinux заштиту за hotplug системску услугу"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Искључи SELinux заштиту за howl системску услугу"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Искључи SELinux заштиту за cups hplip системску услугу"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Искључи SELinux заштиту за httpd rotatelogs"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD сервис"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Искључи SELinux заштиту за http suexec"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Искључи SELinux заштиту за hwclock системску услугу"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Искључи SELinux заштиту за i18n системску услугу"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Искључи SELinux заштиту за imazesrv системску услугу"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Искључи SELinux заштиту за потомке inetd системске услуге"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Искључи SELinux заштиту за inetd системску услугу"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Искључи SELinux заштиту за innd системску услугу"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Искључи SELinux заштиту за iptables системску услугу"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Искључи SELinux заштиту за ircd системску услугу"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Искључи SELinux заштиту за irqbalance системску услугу"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Искључи SELinux заштиту за iscsi системску услугу"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Искључи SELinux заштиту за jabberd системску услугу"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Искључи SELinux заштиту за kadmind системску услугу"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Искључи SELinux заштиту за klogd системску услугу"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Искључи SELinux заштиту за krb5kdc системску услугу"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Искључи SELinux заштиту за ktalk системску услугу"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Искључи SELinux заштиту за kudzu системску услугу"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Искључи SELinux заштиту за locate системску услугу"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Искључи SELinux заштиту за lpd системску услугу"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Искључи SELinux заштиту за lrrd системску услугу"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Искључи SELinux заштиту за lvm системску услугу"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Искључи SELinux заштиту за mailman"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Допусти evolution-у и thunderbird-у да читају датотеке корисника"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Искључи SELinux заштиту за mdadm системску услугу"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Искључи SELinux заштиту за monopd системску услугу"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Допусти да mozilla читач чита датотеке корисника"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Искључи SELinux заштиту за mrtg системску услугу"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Искључи SELinux заштиту за mysqld системску услугу"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Искључи SELinux заштиту за nagios системску услугу"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Сервис за именовање"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Искључи SELinux заштиту за named системску услугу"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Искључи SELinux заштиту за nessusd системску услугу"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Искључи SELinux заштиту за NetworkManager"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Искључи SELinux заштиту за nfsd системску услугу"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Искључи SELinux заштиту за nmbd системску услугу"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Искључи SELinux заштиту за nrpe системску услугу"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Искључи SELinux заштиту за nscd системску услугу"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Искључи SELinux заштиту за nsd системску услугу"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Искључи SELinux заштиту за ntpd системску услугу"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Искључи SELinux заштиту за oddjob"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Искључи SELinux заштиту за oddjob_mkhomedir"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Искључи SELinux заштиту за openvpn системску услугу"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Искључи SELinux заштиту за pam системску услугу"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Искључи SELinux заштиту за pegasus"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Искључи SELinux заштиту за perdition системску услугу"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Искључи SELinux заштиту за portmap системску услугу"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Искључи SELinux заштиту за portslave системску услугу"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Искључи SELinux заштиту за postfix"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Искључи SELinux заштиту за postgresql системску услугу"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Допусти pppd да буде доступан за коришћење обичним корисницима"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Искључи SELinux заштиту за pptp"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Искључи SELinux заштиту за prelink системску услугу"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Искључи SELinux заштиту за privoxy системску услугу"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Искључи SELinux заштиту за ptal системску услугу"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Искључи SELinux заштиту за pxe системску услугу"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Искључи SELinux заштиту за pyzord"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Искључи SELinux заштиту за quota системску услугу"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Искључи SELinux заштиту за radiusd системску услугу"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Искључи SELinux заштиту за radvd системску услугу"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Искључи SELinux заштиту за rdisc"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Искључи SELinux заштиту за readahead"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "Да ли сте сигурни да желите да обришете %s „%s“?"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"Допусти да програми читају датотеке које се налазе на нестандардним местима "
++"(default_t)"
+-#~ msgid "Delete %s"
+-#~ msgstr "Обриши %s"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Искључи SELinux заштиту за restorecond"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Искључи SELinux заштиту за rhgb системску услугу"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Искључи SELinux заштиту за ricci"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Искључи SELinux заштиту за ricci_modclusterd"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Искључи SELinux заштиту за rlogind системску услугу"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Искључи SELinux заштиту за rpcd системску услугу"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Искључи SELinux заштиту за rshd"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Искључи SELinux заштиту за rsync системску услугу"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Допусти да се ssh извршава из inetd уместо као системска услуга"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Допусти да Samba дели nfs директоријуме"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL сервер аутентификације"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Допусти sasl серверу аутентификације да чита /etc/shadow"
+-#~ msgid "Add %s"
+-#~ msgstr "Додај %s"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Допусти X-Windows серверу да пресликава меморијски простор као извршну "
++"датотеку са могућношћу писања"
+-#~ msgid "Modify %s"
+-#~ msgstr "Измени %s"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Искључи SELinux заштиту за saslauthd системску услугу"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Искључи SELinux заштиту за scannerdaemon системску услугу"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Не допуштај прелаз на sysadm_t, изазван командама sudo и su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Не допуштај ниједном процесу да учита модуле језгра"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Не допуштај ниједном процесу да мења SELinux полису језгра"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Искључи SELinux заштиту за sendmail системску услугу"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Искључи SELinux заштиту за setrans"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Искључи SELinux заштиту за setroublesoot системску услугу"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Искључи SELinux заштиту за slapd системску услугу"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Искључи SELinux заштиту за slrnpull системску услугу"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Искључи SELinux заштиту за smbd системску услугу"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Искључи SELinux заштиту за snmpd системску услугу"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Искључи SELinux заштиту за snort системску услугу"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Искључи SELinux заштиту за soundd системску услугу"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Искључи SELinux заштиту за sound системску услугу"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Заштита од нежељене поште"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Искључи SELinux заштиту за spamd системску услугу"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Допусти да spamd приступа личним директоријумима"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Допусти приступ мрежи програму за уклањање нежељене поште"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Искључи SELinux заштиту за speedmgmt системску услугу"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Допусти squid системској услузи да се споји на мрежу"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Искључи SELinux заштиту за squid системску услугу"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Искључи SELinux заштиту за ssh системску услугу"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Допусти ssh пријаве као sysadm_r:sysadm_t"
+-#~ msgid "Permissive"
+-#~ msgstr "Допуштање"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Допусти да staff_r корисници претражују sysadm лични директоријум и читају "
++"датотеке (као што је ~/.bashrc)"
+-#~ msgid "Enforcing"
+-#~ msgstr "Приморавање"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Универзални SSL тунел"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Искључи SELinux заштиту за stunnel системску услугу"
+-#~ msgid "Disabled"
+-#~ msgstr "Искључено"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++"Допусти да се stunnel системска услуга самостално извршава, изван xinetd"
+-#~ msgid "Status"
+-#~ msgstr "Статус"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Искључи SELinux заштиту за swat системску услугу"
+-#~ 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/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Искључи SELinux заштиту за sxid системску услугу"
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "Искључивање SELinux-а захтева поновно подизање система.  Није "
+-#~ "препоручљиво.  Ако касније одлучите да укључите SELinux, систем ће морати "
+-#~ "да промени ознаке.  Ако само хоћете да видите да ли SELinux изазива "
+-#~ "проблеме на вашем систему, можете прећи у допуштајући начин рада, који ће "
+-#~ "само само бележити поруке у дневник, али не и спроводити SELinux "
+-#~ "полису.    Желите ли да наставите?"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Искључи SELinux заштиту за syslogd системску услугу"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "Укључивање SELinux-а ће проузроковати мењање ознака за цео систем "
+-#~ "датотека при следећем подизању система. Мењање ознака прилично дуго траје "
+-#~ "и то време зависи од величине система датотека.  Желите ли да наставите?"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Искључи SELinux заштиту за системске cron послове"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Искључи SELinux заштиту за tcp системску услугу"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Ауторска права 2006 Ред Хет, Инц.\n"
+-#~ "Ауторска права 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Искључи SELinux заштиту за telnet системску услугу"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "Додај SELinux мапирање пријаве"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Искључи SELinux заштиту за tftpd системску услугу"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "Додај SELinux мрежне портове"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Искључи SELinux заштиту за transproxy системску услугу"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux врста"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Искључи SELinux заштиту за udev системску услугу"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Искључи SELinux заштиту за uml системску услугу"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Ниво"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Допусти да се xinetd извршава као неограничен, укључујући ту све сервисе "
++"које стартује, а који немају изричито одређен прелаз домена"
+-#~ msgid "File Specification"
+-#~ msgstr "Спецификација датотеке"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Допусти да се rc скрипта неограничено извршава, укључујући ту све системске "
++"услуге које rc стартује, а који немају изричито одређен прелаз домена"
+-#~ msgid "File Type"
+-#~ msgstr "Врста датотеке"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Допусти да се rpm извршава неограничено"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "све датотеке\n"
+-#~ "обичан фајл\n"
+-#~ "директоријум\n"
+-#~ "уређај за карактере\n"
+-#~ "уређај блокова\n"
+-#~ "сокет\n"
+-#~ "симболичка веза\n"
+-#~ "именована цев\n"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Допусти да се привилеговане алатке, као што су hotplug и insmod, извршавају "
++"неограничено"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Искључи SELinux заштиту за updfstab системску услугу"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Искључи SELinux заштиту за uptimed системску услугу"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Додај SELinux корисника"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Допусти да user_r користи sysadm_r преко su, sudo, или userhelper. У "
++"противном, само staff_r може тако да ради"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux администрација"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Дозволи корисницима извршавање mount наредбе"
+-#~ msgid "Add"
+-#~ msgstr "Додај"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Допусти обичним корисницима директан приступ мишу (само допусти Икс серверу)"
+-#~ msgid "_Properties"
+-#~ msgstr "_Својства"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Допусти корисницима да извршавају dmesg команду"
+-#~ msgid "_Delete"
+-#~ msgstr "_Обриши"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Допусти корисницима да управљају мрежним сучељима (такође је потребно да је "
++"USERCTL=true)"
+-#~ msgid "Select Management Object"
+-#~ msgstr "Изаберите управљачки објекат"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Допусти нормалном кориснику да извршава ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "Допусти кориснику да чита/пише у noextattrfile (FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Допусти да корисници читају/пишу на usb уређаје"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Изаберите:</b>"
++#: ../gui/selinux.tbl:216
++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 ""
++"Допусти корисницима да извршавају TCP сервере (да се повезују на портове и "
++"примају везе са истих домена или спољних корисника)  искључивање ове опције "
++"доводи до пасивног начина пада FTP-а и може узроковати промене других "
++"протокола"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Допусти кориснику да прати tty датотеке"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Искључи SELinux заштиту за uucpd системску услугу"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Искључи SELinux заштиту за vmware системску услугу"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Искључи SELinux заштиту за watchdog системску услугу"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Искључи SELinux заштиту за winbind системску услугу"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Искључи SELinux заштиту за xdm системску услугу"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Допусти да се xdm пријављује као sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Искључи SELinux заштиту за xen системску услугу"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Допусти да xen чита/пише по физичким уређајима (дисковима)"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Искључи SELinux заштиту за xfs системску услугу"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Искључи SELinux заштиту за xen контролу"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Искључи SELinux заштиту за ypbind системску услугу"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Искључи SELinux заштиту за NIS системску услугу за лозинке"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Искључи SELinux заштиту за ypserv системску услугу"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Искључи SELinux заштиту за NIS системску услугу за пренос"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "Подразумевани системски режим приморавања"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Допусти да SELinux webadm корисник управља личним директоријумима корисника "
++"без привилегија"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Текући режим приморавања"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Допусти да SELinux webadm корисник може да чита из личних директоријума "
++"корисника без привилегија"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "Подразумевана системска врста полисе:"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Да ли сте сигурни да желите да обришете %s „%s“?"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "Изаберите да ли желите да поново означите целокупан систем датотека при "
+-#~ "следећем подизању система.  Поновно означавање може трајати јако дуго, у "
+-#~ "зависности од величине система.  Ако мењате врсте полиса или идете са "
+-#~ "искљученог на приморавање, поновно означавање је неопходно."
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Обриши %s"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Поново означи при следећем покретању."
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Додај %s"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "Врати логичке променљиве на подразумеване системске поставке"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Измени %s"
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "Пребаци између Прилагођених и Свих логичких променљивих"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Допуштање"
+-#~ msgid "Filter"
+-#~ msgstr "Филтар"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Приморавање"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Искључено"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Статус"
+-#~ msgid "Add File Context"
+-#~ msgstr "Додај контекст датотеке"
++#: ../gui/statusPage.py:133
++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 ""
++"Мењање врсте полисе ће проузроковати мењање ознака за цео систем датотека "
++"при следећем подизању система. Мењање ознака прилично дуго траје и то време "
++"зависи од величине система датотека.  Желите ли да наставите?"
+-#~ msgid "Modify File Context"
+-#~ msgstr "Измени контекст датотеке"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Искључивање SELinux-а захтева поновно подизање система.  Није препоручљиво.  "
++"Ако касније одлучите да укључите SELinux, систем ће морати да промени "
++"ознаке.  Ако само хоћете да видите да ли SELinux изазива проблеме на вашем "
++"систему, можете прећи у допуштајући начин рада, који ће само само бележити "
++"поруке у дневник, али не и спроводити SELinux полису.    Желите ли да "
++"наставите?"
+-#~ msgid "Delete File Context"
+-#~ msgstr "Обриши контекст датотеке"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Укључивање SELinux-а ће проузроковати мењање ознака за цео систем датотека "
++"при следећем подизању система. Мењање ознака прилично дуго траје и то време "
++"зависи од величине система датотека.  Желите ли да наставите?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "Пребаци између свих и прилагођених контекста датотека"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Ауторска права 2006 Red Hat, Inc.\n"
++"Ауторска права 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "Додај SELinux корисничко мапирање"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Додај SELinux мапирање пријаве"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Додај SELinux мрежне портове"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux врста"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Измени SELinux корисничко мапирање"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Ниво"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Обриши SELinux корисничко мапирање"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Спецификација датотеке"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Врста датотеке"
+-#~ msgid "Add Translation"
+-#~ msgstr "Додај превод"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"све датотеке\n"
++"обичан фајл\n"
++"директоријум\n"
++"уређај за карактере\n"
++"уређај блокова\n"
++"сокет\n"
++"симболичка веза\n"
++"именована цев\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Додај SELinux корисника"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux администрација"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Додај"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Својства"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Обриши"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Изаберите управљачки објекат"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Изаберите:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Подразумевани системски режим приморавања"
+-#~ msgid "Modify Translation"
+-#~ msgstr "Измени превод"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Искључено\n"
++"Допуштање\n"
++"Приморавање\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Текући режим приморавања"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Подразумевана системска врста полисе:"
+-#~ msgid "Delete Translation"
+-#~ msgstr "Обриши превод"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Изаберите да ли желите да поново означите целокупан систем датотека при "
++"следећем подизању система.  Поновно означавање може трајати јако дуго, у "
++"зависности од величине система.  Ако мењате врсте полиса или идете са "
++"искљученог на приморавање, поновно означавање је неопходно."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Поново означи при следећем покретању."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "ознака37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Врати логичке променљиве на подразумеване системске поставке"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Пребаци између прилагођених и свих логичких променљивих"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Покрећем чаробњака за закључавање логичких вредности"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Закључавање..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Филтар"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "ознака50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Додај контекст датотеке"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Измени контекст датотеке"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Обриши контекст датотеке"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Пребаци између свих и прилагођених контекста датотека"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "ознака38"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Изменим SELinux корисника"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Додај SELinux корисничко мапирање"
+-#~ msgid "Add Network Port"
+-#~ msgstr "Додај мрежни порт"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Измени SELinux корисничко мапирање"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Обриши SELinux корисничко мапирање"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "ознака39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Додај корисника"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Измени корисника"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Обриши корисника"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "ознака41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Додај превод"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Измени превод"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Обриши превод"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "ознака40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Додај мрежни порт"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Уреди мрежни порт"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Обриши мрежни порт"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Пребаци између прилагођених и свих портова"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "ознака42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Направи нови модул полисе"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Учитај модул полисе"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Уклони учитавајуће модуле полисе"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "Уреди мрежни порт"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Укључи/искључи додатна правила провере, која се обично не бележе у датотеке "
++"дневника."
+-#~ msgid "Delete Network Port"
+-#~ msgstr "Обриши мрежни порт"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "ознака44"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "Пребаци између прилагођених и свих портова"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Промени режим процеса у дозвољавајући."
+-#~ msgid "Generate new policy module"
+-#~ msgstr "Направи нови модул полисе"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Промени режим процеса у приморавајући."
+-#~ msgid "Load policy module"
+-#~ msgstr "Учитај модул полисе"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Домен процеса"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "Уклони учитавајуће модуле полисе"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "ознака59"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr ""
+-#~ "Укључи/искључи додатна audit правила, која се обично не бележе у датотеке "
+-#~ "дневника."
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux корисник „%s“ је неопходан"
+-#~ msgid "Sensitvity Level"
++#, fuzzy
++#~ msgid "Sensitivity Level"
+ #~ msgstr "Ниво осетљивости"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux корисник „%s“ је неопходан"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "Захтева вредност"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Неисправан префикс %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "Дозволи улози програма/корисника да се веже на било који tcp порт > 1024"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr ""
+-#~ "Дозвољава ограниченој улози програма/корисника да се веже на било који "
+-#~ "tcp порт"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "Унесите списак tcp портова или опсег портова раздвојене зарезима на које "
+-#~ "се веже улога програма/корисника. Пример: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "Друид за прављење SELinux полиса"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "Нерезервисани портови  (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr ""
+-#~ "Користите ово дугме за проверу ако ваш програм позива bindresvport са 0."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Приморавање\n"
+-#~ "Допуштање\n"
+-#~ "Искључено\n"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/sv.po policycoreutils-2.0.85/po/sv.po
+--- nsapolicycoreutils/po/sv.po        2011-02-17 15:11:25.293732093 -0500
++++ policycoreutils-2.0.85/po/sv.po    2011-02-18 16:03:41.444976263 -0500
+@@ -1,21 +1,41 @@
+ # Swedish messages for policycoreutils.
+-# Copyright © 2001-2008 Free Software Foundation, Inc.
++# Copyright © 2001-2010 Free Software Foundation, Inc.
++# This file is distributed under the same license as the policycoreutils package.
+ # Christian Rose <menthos@menthos.com>, 2006.
+ # Magnus Larsson <fedoratrans@gmail.com>, 2007, 2008.
++# Göran Uddeborg <goeran@uddeborg.se>, 2008-2010.
+ #
+-#
++# $Revision: 1.35 $
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-01-27 19:18-0500\n"
+-"Last-Translator: Christian Rose <menthos@menthos.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-13 20:37+0200\n"
++"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
+ "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
++"Language: sv\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Konfigurera SELinux i en grafisk miljö"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux-hantering"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Generera SELinux-policymoduler"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Genereringsverktyg för SELinuxpolicy"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -86,7 +106,7 @@
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "För att göra denna policy aktiv, kör:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+@@ -105,25 +125,25 @@
+ msgstr "Kunde inte sätta upp en semanage-uppkoppling"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Kunde inte sätta MLS-intervall för %s"
++msgstr "Kunde inte testa status för aktivering av MLS"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "globalt"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"Kan inte öppna %s: översättningar stöds inte på maskiner som inte har MLS"
++"Kan inte öppna %s: översättningar stöds inte på maskiner som inte har MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "Nivå"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "Översättning"
+@@ -149,777 +169,775 @@
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Inte implementerat ännu"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "En semanagetransaktion pågår redan"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Kunde inte starta semanage-transaktion"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Kunde inte starta semanage-transaktion"
++msgstr "Kunde inte verkställa semanage-transaktion"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Ingen semanagetransaktion pågår"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Kan inte lista SELinux användare"
++msgstr "Kan inte lista SELinux-moduler"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "Tillåtande"
++msgstr "Tillåtande typer"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
++"Det gick inte att sätta tillåtande domän %s (modulinstallationen "
++"misslyckades)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
++"Det gick inte att ta bort tillåtande domän %s (borttagning misslyckades)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Kunde inte skapa en nyckel för %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Kunde inte kontrollera om inloggningskartläggning för %s är definierad"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "Inloggningskartläggning för %s är redan definierad"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Linuxanvändaren %s finns inte"
++msgstr "Linuxgruppen %s finns inte"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linuxanvändaren %s finns inte"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Kunde inte skapa inloggningskartläggning för %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "Kunde inte sätta namn för %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "Kunde inte sätta MLS-intervall för %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Kunde inte sätta SELinux användare för %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Kunde inte lägga till inloggningskartläggning för %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "lägg till SELinux användarmappning"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Kräver seuser eller serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "Inloggningskartläggning för %s är inte definierad"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Kunde inte fråga seuser efter %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Kunde inte ändra inloggnings-kartläggning för %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+ "Inloggningskartläggning för %s är definierad i policy, kan inte tas bort"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Kunde inte ta bort inloggningkartläggning för %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Kunde inte lista inloggningsmappningar"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "Inloggningsnamn"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "SELinux-användare"
++msgstr "SELinux-anv."
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS-intervall"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Kunde inte lägga till filkontext för %s"
++msgstr "Du måste lägga till åtminstone en roll för %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Kunde inte kontrollera om SELinux användare %s är definierad"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux användare %s är redan definierad"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Kunde inte skapa SELinux användare för %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Kunde inte lägga till roll %s för %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Kunde inte sätta MLS nivå för %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Kunde inte lägga till prefix %s för %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Kunde inte få ut nyckel för %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Kunde inte lägga till SELinux användare %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Kräver prefix, roller, nivå eller område"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Kräver prefix eller roller"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux användare %s är inte definierad"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Kan inte fråga användare för %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Kan inte modifiera SELinux användare %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux använda %s är definierad i policy, kan inte tas bort"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Kan inte ta bort SELinux användare %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Kan inte lista SELinux användare"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Kan inte lista roller för användare %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "Märkning"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "Prefix"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS-nivå"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS-intervall"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux-roller"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Protokoll udp eller tcp krävs"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Port krävs"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Kunde inte skapa en nyckel för %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Typ krävs"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Kunde inte kontrollera om port %s/%s är definierad"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Port %s/%s redan definierad"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Kunde inte skapa port för %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Kunde inte skapa kontext för %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Kunde inte sätta användare i port-kontext för %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Kunde inte sätta roll i port-kontext för %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Kunde inte sätta typ i port-kontext för %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Kunde inte sätta mls-fält i port-kontext för %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Kunde inte sätta port-kontext för %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Kunde inte lägga till port %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Kräver setype eller serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Kräver setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Port %s/%s är inte definierad"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Kunde inte fråga port %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Kunde inte modifiera port %s/%s"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+-msgstr "Kunde inte lista portar"
++msgstr "Kunde inte lista portarna"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "Kan inte ta bort port %s/%s"
++msgstr "Kan inte ta bort port %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "Port %s/%s är definierad i policy, kan inte tas bort"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Kan inte ta bort port %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Kunde inte lista portar"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux-porttyp"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "Portnummer"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Port krävs"
++msgstr "Nodadress krävs"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Port krävs"
++msgstr "Nodnätmask krävs"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Okänt eller saknat protokoll"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux Type krävs"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Kunde inte skapa nyckel för %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Kunde inte kontrollera om port %s/%s är definierad"
++msgstr "Kunde inte kontrollera om adressen %s är definierad"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Port %s/%s redan definierad"
++msgstr "Adressen %s är redan definierad"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Kunde inte skapa en nyckel för %s"
++msgstr "Kunde inte skapa en adress för %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Kunde inte skapa-kontext för %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Kunde inte sätta namn för %s"
++msgstr "Kunde inte sätta mask för %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Kunde inte sätta användare i filkontext för %s"
++msgstr "Kunde inte sätta användare i adresskontext för %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Kunde inte sätta roll i filkontext för %s"
++msgstr "Kunde inte sätta roll i adresskontext för %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Kunde inte sätta typ i filkontext för %s"
++msgstr "Kunde inte sätta typ i adresskontext för %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Kunde inte sätta mls-fält i filkontext för %s"
++msgstr "Kunde inte sätta mls-fält i adresskontext för %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Kunde inte sätta filkontext för %s"
++msgstr "Kunde inte sätta adresskontext för %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Kunde inte lägga till port %s/%s"
++msgstr "Kunde inte lägga till adress %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Port %s/%s är inte definierad"
++msgstr "Adressen %s är inte definierad"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Kunde inte fråga port %s/%s"
++msgstr "Kunde inte fråga adress %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Kunde inte modifiera port %s/%s"
++msgstr "Kunde inte modifiera adress %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Port %s/%s är definierad i policy, kan inte tas bort"
++msgstr "Adress %s är definierad i policy, kan inte tas bort"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Kunde inte ta bort gränssnittet %s"
++msgstr "Kunde inte ta bort adress %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Kunde inte lista portar"
++msgstr "Kunde inte lista adresser"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Kunde inte kontrollera om gränssnittet %s är definierat"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Gränssnittet %s är redan definierat"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Kunde inte skapa gränssnitt för %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "Kunde inte sätta använda i gränssnitts-kontext för %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "Kunde inte sätta roll i gränssnittskontext för %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "Kan inte sätta typ i gränssnitts-kontext för %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "Kan inte sätta mls-fält i gränssnittskontext för %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "Kan inte sätta gränssnittskontext för %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "Kan inte sätta meddelande-kontext för %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Kunde inte lägga till gränssnittet %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Gränssnittet %s är inte definierat"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Kunde inte fråga gränssnittet %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Kunde inte ändra gränssnittet %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "Gränssnitt %s är definierad i policy, kan inte tas bort"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Kunde inte ta bort gränssnittet %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "Kunde inte lista gränssnitt"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux-gränssnitt"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "Kontext"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "Kunde inte sätta användare i filkontext för %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "Kunde inte sätta roll i filkontext för %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "Kunde inte sätta mls-fält i filkontext för %s"
+-#: ../semanage/seobject.py:1436
+-#, fuzzy
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
+-"Fil\n"
+-"Specifikation"
++msgstr "Ogiltig filspecifikation"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "Kan inte kontrollera om fil-kontext för %s är definierat"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Filkontext för %s redan definierat"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Kunde inte skapa filkontext för %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "Kunde inte sätta typ i filkontext för %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "Kunde inte sätta filkontext för %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Kunde inte lägga till filkontext för %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Kräver setype, serange eller seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Filkontext för %s är inte definierad"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Kunde inte fråga filkontext för %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Kunde inte modifiera filkontext för %s"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "Kunde inte lista filkontext"
++msgstr "Kunde inte lista filkontexten"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "Kunde inte radera filkontext för %s"
++msgstr "Kunde inte radera filkontexten %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "Filkontext för %s är definierad i policy, kan inte tas bort"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Kunde inte radera filkontext för %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Kunde inte lista filkontext"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Kunde inte lista lokalt filkontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux-kontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "typ"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Kunde inte kontrollera om flaggan %s är definierad"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Flaggan %s är inte definierad"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Kunde inte fråga filkontext %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Du måste ange ett prefix"
++msgstr "Du måste ange ett av följande värden: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Kunde inte ta bort flagga %s"
++msgstr "Kunde inte sätta aktivt värde på booleanen %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Kunde inte modifiera flagga %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Felaktigt format %s: Post %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "Flagga %s är definierad i policy, kan inte tas bort"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Kunde inte ta bort flagga %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Kunde inte lista flaggor"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "okänt"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "av"
+-#: ../semanage/seobject.py:1780
+-#, fuzzy
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr "Cron"
++msgstr "på"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux-boolean"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Beskrivning"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -929,12 +947,12 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "newrole: hashtabell för konfiguration av tjänstenamn spillde över\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "newrole:  %s:  fel på rad %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -957,7 +975,7 @@
+ msgstr "Kan inte rensa miljön\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+ msgstr "Fel vid initiering av kapabiliteter, avbryter.\n"
+@@ -1069,7 +1087,7 @@
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr ""
++msgstr "Fel: du får inte lov att byta nivåer på en osäker terminal\n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1137,14 +1155,14 @@
+ msgstr "kunde inte få tag i old_context.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Fel! Kunde inte få tag i tty-information.\n"
++msgstr "Varning!  Kunde inte få tag i tty-information.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "fel vid inläsning av PAM-tjänstekonfiguration.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+@@ -1186,19 +1204,19 @@
+ msgstr "kunde ej exek skal\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "användning:  %s [-q]\n"
++msgstr "användning:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s:  Policyn är redan inläst och initial inläsning begärd\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s: Kan inte läsa in policy: %s\n"
++msgstr "%s:  Kan inte läsa in policy och tvingande läge är begärt:  %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1289,1002 +1307,2211 @@
+ msgid "Options Error %s "
+ msgstr "Flaggfel %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "översättningar stöds inte på maskiner som inte har MLS"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Boolean"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "alla"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Anpassad"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Filmärkning"
+-#~ msgid "Boolean"
+-#~ msgstr "Boolean"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Fil\n"
++"Specifikation"
+-#, fuzzy
+-#~ msgid "all"
+-#~ msgstr "Alla"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"Filtyp"
+-#~ msgid "File Labeling"
+-#~ msgstr "Filmärkning"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Fil\n"
++"Typ"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "Fil\n"
+-#~ "Specifikation"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Användarmappning"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "Filkontext"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Inloggnings-\n"
++"namn"
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "Fil\n"
+-#~ "Typ"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"Användare"
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "Användare"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS-intervall"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS-intervall"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Inloggning '%s' krävs"
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Inloggning '%s' krävs"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Policymodul"
+-#~ msgid "Policy Module"
+-#~ msgstr "Policymodul"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Modulnamn"
+-#~ msgid "Module Name"
+-#~ msgstr "Modulnamn"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Version"
+-#~ msgid "Version"
+-#~ msgstr "Version"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Avaktivera granskning"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "Läsa in policymodul"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Aktivera granskning"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Läsa in policymodul"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "translator-credits"
+-#~ msgstr "Magnus Larsson"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>Program</b>"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>Användare</b>"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Christian Rose\n"
++"Magnus Larsson\n"
++"Göran Uddeborg"
+-#, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "Roll"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Detta verktyg kan användas för att generera policyramverk, till att stänga "
++"in program eller användare med SELinux.   \n"
++"\n"
++"Verktyget genererar:\n"
++"Fil med typupprätthållande (te)\n"
++"Fil med gränssnitt (if)\n"
++"Fil med filkontexter (tf)\n"
++"Skalskript (sh) - används för att kompilera och installera policyn. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Välj typ av program-/användarroller som skall stängas inne"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Program</b>"
+-#, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Användare</b>"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Standard initdemon är demoner som startas vid uppstart via initskript.  "
++"Vanligen krävs ett skript i /etc/rc.d/init.d"
+-#, fuzzy
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Root-användare"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Standard initdemon"
+-#~ msgid "Name"
+-#~ msgstr "Namn"
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS-systemdemonen"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "Internettjänstedemoner är demoner som startas av xinetd"
+-#~ msgid "Executable"
+-#~ msgstr "Körbar"
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internettjänstedemon (inetd)"
+-#~ msgid "Init script"
+-#~ msgstr "Init-skript"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "Webbprogram/-skript (CGI) CGI-skript startade av webbservern (apache)"
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP-portar</b>"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Webbprogram/-skript (CGI)"
+-#~ msgid "All"
+-#~ msgstr "Alla"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Användarprogram är alla program som du skulle vilja stänga in som startas av "
++"en användare"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Användarprogram"
+-#~ msgid "Select Ports"
+-#~ msgstr "Välj portar"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Inloggningsanvändare</b>"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP-portar</b>"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Modifiera en existerande inloggningsanvändarpost."
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Fel vid skickande av granskningsmeddelande.\n"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Existerande användarroller"
+-#, fuzzy
+-#~ msgid "Boolean Name"
+-#~ msgstr "Boolean"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Denna användare kommer logga in på en maskin endast via en terminal eller "
++"fjärrinloggning.  Som standard kommer denna användare inte ha setuid, inte "
++"nätverk, inte su, inte sudo."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Minimal terminalanvändarroll"
+-#~ msgid "Role"
+-#~ msgstr "Roll"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Denna användare kan logga in på en maskin via X eller terminal.  Som "
++"standard kommer denna användare inte ha setuid, inte nätverk, inte sudo, "
++"inte su"
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Minimal X-Windows-användarroll"
+-#~ msgid "Application"
+-#~ msgstr "Program"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Användare med fullständig nätverksåtkomst, inte setuid-program utan "
++"övergång, inte sudo, inte su."
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Du måste ange ett namn"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Användarroll"
+-#~ msgid "You must enter a name"
+-#~ msgstr "Du måste ange ett namn"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Användare med fullständig nätverksåtkomst, inga setuid-program utan "
++"övergångar, inte su, kan göra sudo till rootadminstratörsroller"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Du måste ange ett körbart program"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Admininstrativ användarroll"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Typ-upprätthållande fil"
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Rootanvändare</b>"
+-#~ msgid "Interface file"
+-#~ msgstr "Gränssnittsfil"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Välj root/administratöranvändarroll om denna användare kommer användas för "
++"att administrera maskinen när han/hon kör som root.  Denna användare kommer "
++"inte att kunna logga in direkt till systemet."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root-administrativ användarroll"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Ange namn på programmet eller användarrollen som skall stängas in"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Namn"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "Ange fullständig sökväg för programmet som skall stängas in."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Ange ett unikt namn på den innestängda program- eller användarrollen."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Körbar"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init-skript"
+-#~ msgid "File Contexts file"
+-#~ msgstr "Filkontextsfil"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Ange fullständig sökväg till init-skript som används för att starta det "
++"innestängda programmet."
+-#~ msgid "Protocol"
+-#~ msgstr "Protokoll"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Välj användarroller som du vill anpassa"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "Nivå"
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "Välj användarrollerna som kan övergå till detta programs domäner."
+-#~ msgid "Port"
+-#~ msgstr "Port"
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Välj ytterligare domäner till vilka denna användarroll skall övergå"
+-#~ msgid "Group View"
+-#~ msgstr "Gruppvy"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"Väl programdomänerna som du till vilka du vill att denna användarroll skall "
++"kunna övergå."
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux-tjänstskydd"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Välj användarroller som skall övergå till denna domän"
+-#~ msgid "Admin"
+-#~ msgstr "Admin"
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Välj ytterligare domäner som denna användarroll kommer administrera"
+-#~ msgid "Memory Protection"
+-#~ msgstr "Minesskydd"
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Välj domänerna som du vill att denna användare skall administrera."
+-#~ msgid "Mount"
+-#~ msgstr "Montera"
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Välj ytterligare roller för denna användare"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "Ange nätverksportar som program-/användarrollen lyssnar på"
+-#~ msgid "Network Configuration"
+-#~ msgstr "Nätverkinställningar"
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP-portar</b>"
+-#~ msgid "Databases"
+-#~ msgstr "Databaser"
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Tillåter innestängd program-/användarroll att binda till alla udp-portar"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Alla"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Tillåt program-/användarroll att anropa binresvport med 0.  Binder till port "
++"600-1024"
+-#~ msgid "Web Applications"
+-#~ msgstr "Webbprogram"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "Avaktivera SELinux-skydd för amavis"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Ange en kommaseparerad lista av udp-portar eller intervall av portar som "
++"program-/användarrollen binder till.  Exempel: 612, 650-660"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för apmd-demonen"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Oreserverade portar (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Välj portar"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "Tillåter program-/användarroll att binda till alla udp-portar > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP-portar</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "Ange nätverksportar som program-/användarrollen ansluter till"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för arpwatch-demonen"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Ange en kommaseparerad lista av tcp-portar eller intervall av portar som "
++"program-/användarrollen ansluter till.  Exempel: 612, 650-660"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för auditd-demonen"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Ange en kommaseparerad lista av udp-portar eller intervall av portar som "
++"program-/användarrollen ansluter till.  Exempel: 612, 650-660"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för automount-demonen"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Välj vanliga programegenskaper"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "Avaktivera SELinux-skydd för avahi"
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Skriver syslog-meddelanden\t"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för bluetooth-demonen"
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Skapa/hantera temporärfiler i /tmp"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för canna-demonen"
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Använder Pam för autentisering"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för cardmgr-demonen"
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Använder nsswitch- eller getpw*-anrop"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Avaktivera SELinux-skydd för Cluster-servern"
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Använder dbus"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ciped-demonen"
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Skickar granskningsmeddelanden"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för clamd-demonen"
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Interagerar med terminalen"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "Avaktivera SELinux-skydd för clamscan"
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Skicka epost"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "Avaktivera SELinux-skydd för clvmd"
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Välj filer/kataloger som programmet hanterar"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för comsat-demonen"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Lägg till filer/kataloger som program kommer behöva \"write\" till.  Pid-"
++"filer, loggfiler, /var/lib-filer ..."
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för courier-demonen"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Välj booleaner som programmet använder"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för cpucontrol-demonen"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Lägg till/ta bort booleaner som används för detta innestängda program/"
++"användare"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för cpuspeed-demonen"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Välj katalog att generera policy i"
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Policykatalog"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för crond-demonen"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Genererade policyfiler"
+-#~ msgid "Printing"
+-#~ msgstr "Utskrift"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Detta verktyg kommer generera följande: \n"
++"Typupprätthållande(te), filkontext(fc), gränssnitt(if), skalskript(sh)\n"
++"Kör skalskriptet som root för att kompilera/installera och etikettera "
++"filer/\n"
++"kataloger.  \n"
++"Använd semanage eller useradd för att koppla Linuxinloggningsanvändare till\n"
++"användarroller.\n"
++"Sätt maskinen i tillåtande läge (setenforce 0). \n"
++"Logga in som användaren och prova denna användarrroll.\n"
++"Använd audit2allow -R för att generera ytterligare regler till te-filen.\n"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "Avaktivera SELinux-skydd för cupsd-demonen"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Detta verktyg kommer generera följande: \n"
++"Typupprätthållande(te), filkontext(fc), gränssnitt(if), skalskript(sh)\n"
++"\n"
++"Kör skalskriptet för att kompilera/installera och etikettera om\n"
++"filer/kataloger.\n"
++"Sätt maskinen i tillåtande läge (setenforce 0). \n"
++"Kör/starta om programmet för att generera avc-meddelanden.\n"
++"Använd audit2allow -R för att generera ytterligare regler till te-filen.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Dialog för booleantillägg"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Booleans namn"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Roll"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Existerande_användare"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Program"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s måste vara en katalog"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Du måste välja en användare"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Välj exekverbar fil som skall stängas in."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Välj initskript som skall stängas in."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Välj fil(er) som instängda program skapar eller skriver"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "Välj katalog(er) som det istängda programmet äger och skriver till"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Välj katalog att generera policyfiler i"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för cupsd-demonen"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Typen %s_t är redan definierade i den nuvarande policyn.\n"
++"Vill du fortsätta?"
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "Avaktivera SELinux-skydd för cupsd_lpd"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Verifiera namn"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Modul %s.pp är redan inläst i den nuvarande policyn.\n"
++"Vill du fortsätta?"
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för cvs-demonen"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Du måste ange ett namn"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för cyrus-demonen"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Du måste ange ett körbart program"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dbskkd-demonen"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Konfigurera SELinux"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dbusd-demonen"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Portar måste vara tal eller intervall av tal från 1 till %d "
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "Avaktivera SELinux-skydd för dccd"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Du måste ange ett namn för din instängda process/användare"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "Avaktivera SELinux-skydd för dccifd"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "ANVÄNDARtyper är inte tillåta på exekverbara program"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "Avaktivera SELinux-skydd för dccm"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Endast DEMONprogram kan använda ett initskript"
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ddt-demonen"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog måste vara ett booleskt värde "
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för devfsd-demonen"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "ANVÄNDARtyper får automatiskt en tmp-typ"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dhcpc-demonen"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++"Du måste ange sökvägen till det exekverbara programmet för din instängda "
++"process"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dhcpd-demonen"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Typupprätthållandefil"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dictd-demonen"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Gränssnittsfil"
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "Avaktivera SELinux-skydd för spel"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Filkontextsfil"
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "Avaktivera SELinux-skydd för webbläsare"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Uppstartsskript"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Avaktivera SELinux-skydd för Thunderbird"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Nätverkport"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för distccd-demonen"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux-\n"
++"porttyp"
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dmesg-demonen"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Protokoll"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dnsmasq-demonen"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS-\n"
++"Nivå"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för dovecot-demonen"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Port"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Portnummer \"%s\" är inte giltigt.  0 < PORTNUMMER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Listvy"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Gruppvy"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux-tjänstskydd"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Avaktivera SELinuxskydd för acct-demonen"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Admin"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Tillåt alla demoner att skriva minnesdumpfiler i /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Tillåt alla demoner att kunna använda oallokerade tty:er"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Användarpriviliger"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för entropyd-demonen"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillåt SELinuxanvändarkontot gadmin att köra filer i hemkatalogen eller /tmp"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "Avaktivera SELinux-skydd för fetchmail"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillåt SELinuxanvändarkontot guest att köra filer i hemkatalogen eller /tmp"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för fingerd-demonen"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Minesskydd"
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för freshclam-demonen"
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Tillåt javas exekverbara stack"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för fsdaemon-demonen"
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Montera"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för gpm-demonen"
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Tillåt mount att montera alla filer"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Tillåt mount att montera på alla kataloger"
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för gss-demonen"
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Tillåt mplayers exekverbara stack"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för hal-demonen"
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
+-#~ msgid "Compatibility"
+-#~ msgstr "Kompatibilitet"
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Tillåt ssh att köra ssh-keysign"
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för hostname-demonen"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillåt SELinuxanvändarkontot staff att köra filer i hemkatalogen eller /tmp"
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för hotplug-demonen"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillåt SELinuxanvändarkontot sysadm att köra filer i hemkatalogen eller /tmp"
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för howl-demonen"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Tillåt SELinuxanvändarkontot unconfined att köra filer i hemkatalogen eller /"
++"tmp"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Nätverkinställningar"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Tillåt oetiketterade paket att åka i nätverket"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillåt SELinuxanvändarkontot user att köra filer i hemkatalogen eller /tmp"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "Tillåt unconfied att dyntrans till unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Databaser"
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för cups hplip-demonen"
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Tillåt user att ansluta till mysql-uttag"
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "Avaktivera SELinux-skydd för httpd rotatelogs"
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Tillåt user att ansluta till postgres-uttag"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD-tjänst"
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "Avaktivera SELinux-skydd för http suexec"
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Tillåt klienter att skriva till X:s delade minne"
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för hwclock-demonen"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Tillåt SELinuxanvändarkontot xguest att köra filer i hemkatalogen eller /tmp"
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för i18n-demonen"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Tillåt demoner att köra med NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Webbprogram"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Överför SELinuxanvändaren staff till webbläsardomänen"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Överför SELinuxanvändaren sysadm till webbläsardomänen"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Överför SELinuxanvändaren user till webbläsardomänen"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Överför SELinuxanvändaren xguest till webbläsardomänen"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Tillåt staff-webbläsare att skriva till hemkatalogen"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Avaktivera SELinux-skydd för amanda"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Avaktivera SELinux-skydd för amavis"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Avaktivera SELinux-skydd för apmd-demonen"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Avaktivera SELinux-skydd för arpwatch-demonen"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Avaktivera SELinux-skydd för auditd-demonen"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Avaktivera SELinux-skydd för automount-demonen"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Avaktivera SELinux-skydd för avahi"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Avaktivera SELinux-skydd för bluetooth-demonen"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Avaktivera SELinux-skydd för canna-demonen"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Avaktivera SELinux-skydd för cardmgr-demonen"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Avaktivera SELinux-skydd för Cluster-servern"
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för imazesrv-demonen"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Tillåt cdrecord att läsa olika innehåll.  nfs, samba, löstagbara enheter, "
++"användartemporära och filer med ej betrott innehåll"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "Avaktivera SELinux-skydd för inetd child-demonerna"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Avaktivera SELinux-skydd för ciped-demonen"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Avaktivera SELinux-skydd för clamd-demonen"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Avaktivera SELinux-skydd för clamscan"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Avaktivera SELinux-skydd för clvmd"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Avaktivera SELinux-skydd för comsat-demonen"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Avaktivera SELinux-skydd för courier-demonen"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Avaktivera SELinux-skydd för cpucontrol-demonen"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Avaktivera SELinux-skydd för cpuspeed-demonen"
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för inetd-demonen"
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för innd-demonen"
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Avaktivera SELinux-skydd för crond-demonen"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Utskrift"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Avaktivera SELinux-skydd för cupsds bakändeserver"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Avaktivera SELinux-skydd för cupsd-demonen"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Avaktivera SELinux-skydd för cupsd_lpd"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Avaktivera SELinux-skydd för cvs-demonen"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Avaktivera SELinux-skydd för cyrus-demonen"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Avaktivera SELinux-skydd för dbskkd-demonen"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Avaktivera SELinux-skydd för dbusd-demonen"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Avaktivera SELinux-skydd för dccd"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Avaktivera SELinux-skydd för dccifd"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Avaktivera SELinux-skydd för dccm"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Avaktivera SELinux-skydd för ddt-demonen"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Avaktivera SELinux-skydd för devfsd-demonen"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Avaktivera SELinux-skydd för dhcpc-demonen"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Avaktivera SELinux-skydd för dhcpd-demonen"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Avaktivera SELinux-skydd för dictd-demonen"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Tillåt sysadm_t att starta demoner direkt"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Avaktivera SELinux-skydd för Evolution"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Spel"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Avaktivera SELinux-skydd för spel"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Avaktivera SELinux-skydd för webbläsare"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Avaktivera SELinux-skydd för Thunderbird"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Avaktivera SELinux-skydd för distccd-demonen"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Avaktivera SELinux-skydd för dmesg-demonen"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Avaktivera SELinux-skydd för dnsmasq-demonen"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Avaktivera SELinux-skydd för dovecot-demonen"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Avaktivera SELinux-skydd för entropyd-demonen"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Avaktivera SELinux-skydd för fetchmail"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Avaktivera SELinux-skydd för fingerd-demonen"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Avaktivera SELinux-skydd för freshclam-demonen"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Avaktivera SELinux-skydd för fsdaemon-demonen"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Avaktivera SELinux-skydd för gpm-demonen"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Avaktivera SELinux-skydd för gss-demonen"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Avaktivera SELinux-skydd för Hal-demonen"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Kompatibilitet"
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för iptables-demonen"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Granska inte saker som vi vet är trasiga men som inte är säkerhetsrisker"
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ircd-demonen"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Avaktivera SELinux-skydd för hostname-demonen"
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för irqbalance-demonen"
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Avaktivera SELinux-skydd för hotplug-demonen"
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för iscsi-demonen"
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Avaktivera SELinux-skydd för howl-demonen"
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för jabberd-demonen"
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Avaktivera SELinux-skydd för cups hplip-demonen"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Avaktivera SELinux-skydd för httpd rotatelogs"
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för kadmind-demonen"
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD-tjänst"
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för klogd-demonen"
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Avaktivera SELinux-skydd för http suexec"
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för krb4kdc-demonen"
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Avaktivera SELinux-skydd för hwclock-demonen"
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "Avaktivera SELinux-skydd för ktalk-demonen"
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Avaktivera SELinux-skydd för i18n-demonen"
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för kudzu-demonen"
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Avaktivera SELinux-skydd för imazesrv-demonen"
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för locate-demonen"
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Avaktivera SELinux-skydd för inetd child-demonerna"
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för lpd-demonen"
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Avaktivera SELinux-skydd för inetd-demonen"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för lrrd-demonen"
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Avaktivera SELinux-skydd för innd-demonen"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för lvm-demonen"
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Avaktivera SELinux-skydd för iptables-demonen"
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "Avaktivera SELinux-skydd för mailman"
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Avaktivera SELinux-skydd för ircd-demonen"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för madm-demonen"
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Avaktivera SELinux-skydd för irqbalance-demonen"
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för monopd-demonen"
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Avaktivera SELinux-skydd för iscsi-demonen"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för mrtg-demonen"
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Avaktivera SELinux-skydd för jabberd-demonen"
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för mysqld-demonen"
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för nagios-demonen"
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Avaktivera SELinux-skydd för kadmind-demonen"
+-#~ msgid "Name Service"
+-#~ msgstr "Namntjänst"
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Avaktivera SELinux-skydd för klogd-demonen"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för named-demonen"
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Avaktivera SELinux-skydd för krb4kdc-demonen"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för nessusd-demonen"
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Avaktivera SELinux-skydd för ktalk-demonen"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "Avaktivera SELinux-skydd för NetworkManager"
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Avaktivera SELinux-skydd för kudzu-demonen"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för nfsd-demonen"
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Avaktivera SELinux-skydd för locate-demonen"
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Avaktivera SELinux-skydd för lpd-demonen"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för nmbd-demonen"
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Avaktivera SELinux-skydd för lrrd-demonen"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för nrpe-demonen"
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Avaktivera SELinux-skydd för lvm-demonen"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för nscd-demonen"
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Avaktivera SELinux-skydd för mailman"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för nsd-demonen"
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Tillåt evolution och thunderbird att läsa användarfiler"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ntpd-demonen"
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Avaktivera SELinux-skydd för madm-demonen"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "Avaktivera SELinux-skydd för oddjob"
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Avaktivera SELinux-skydd för monopd-demonen"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "Avaktivera SELinux-skydd för oddjob_mkhomedir"
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Tillåt mozillawebbläsaren att läsa användarfiler"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för openvpn-demonen"
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Avaktivera SELinux-skydd för mrtg-demonen"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för pam-demonen"
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Avaktivera SELinux-skydd för mysqld-demonen"
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "Avaktivera SELinux-skydd för pegasus"
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Avaktivera SELinux-skydd för nagios-demonen"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för perdition-demonen"
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Namntjänst"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för portmap-demonen"
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Avaktivera SELinux-skydd för named-demonen"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för portslave-demonen"
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Avaktivera SELinux-skydd för nessusd-demonen"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "Avaktivera SELinux-skydd för postfix"
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Avaktivera SELinux-skydd för NetworkManager"
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för postgresql-demonen"
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Avaktivera SELinux-skydd för nfsd-demonen"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "Avaktivera SELinux-skydd för pptp"
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Avaktivera SELinux-skydd för nmbd-demonen"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för prelink-demonen"
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Avaktivera SELinux-skydd för nrpe-demonen"
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för privoxy-demonen"
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Avaktivera SELinux-skydd för nscd-demonen"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ptal-demonen"
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Avaktivera SELinux-skydd för nsd-demonen"
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för pxe-demonen"
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Avaktivera SELinux-skydd för ntpd-demonen"
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "Avaktivera SELinux-skydd för pyzord"
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Avaktivera SELinux-skydd för oddjob"
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för quota-demonen"
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Avaktivera SELinux-skydd för oddjob_mkhomedir"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för radiusd-demonen"
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Avaktivera SELinux-skydd för openvpn-demonen"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för radvd-demonen"
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Avaktivera SELinux-skydd för pam-demonen"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "Avaktivera SELinux-skydd för rdisc"
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Avaktivera SELinux-skydd för pegasus"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "Avaktivera SELinux-skydd för readahead"
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Avaktivera SELinux-skydd för perdition-demonen"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "Avaktivera SELinux-skydd för restorecond"
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Avaktivera SELinux-skydd för portmap-demonen"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för rhgb-demonen"
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Avaktivera SELinux-skydd för portslave-demonen"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "Avaktivera SELinux-skydd för ricci"
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Avaktivera SELinux-skydd för postfix"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "Avaktivera SELinux-skydd för ricci_modclusterd"
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Avaktivera SELinux-skydd för postgresql-demonen"
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för rlogind-demonen"
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för rpcd-demonen"
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Tillåt att pppd körs för en vanlig användare"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "Avaktivera SELinux-skydd för rshd"
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Avaktivera SELinux-skydd för pptp"
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Avaktivera SELinux-skydd för prelink-demonen"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för rsync-demonen"
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Avaktivera SELinux-skydd för privoxy-demonen"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL autentiseringsserver"
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Avaktivera SELinux-skydd för ptal-demonen"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för saslauthd-demonen"
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Avaktivera SELinux-skydd för pxe-demonen"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för scannerdaemon-demonen"
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Avaktivera SELinux-skydd för pyzord"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för sendmail-demonen"
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Avaktivera SELinux-skydd för quota-demonen"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "Avaktivera SELinux-skydd för setrans"
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Avaktivera SELinux-skydd för radiusd-demonen"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för setroublesoot-demonen"
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Avaktivera SELinux-skydd för radvd-demonen"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för slapd-demonen"
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Avaktivera SELinux-skydd för rdisc"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för slrnpull-demonen"
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Avaktivera SELinux-skydd för readahead"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för smbd-demonen"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "Tillåt program att läsa filer på icke-standardplatser (default_t)"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för snmpd-demonen"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Avaktivera SELinux-skydd för restorecond"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för snort-demonen"
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Avaktivera SELinux-skydd för rhgb-demonen"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för soundd-demonen"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Avaktivera SELinux-skydd för ricci"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för sound-demonen"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Avaktivera SELinux-skydd för ricci_modclusterd"
+-#, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "skräppostskydd"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Avaktivera SELinux-skydd för rlogind-demonen"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för spamd-demonen"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Avaktivera SELinux-skydd för rpcd-demonen"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för speedmgmt-demonen"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Avaktivera SELinux-skydd för rshd"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för squid-demonen"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Avaktivera SELinux-skydd för rsync-demonen"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ssh-demonen"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Tillåt ssh att köra från inetd istället för som en demon"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "Universiell SSL-tunnel"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Tillåt Samba att dela nfs-kataloger"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för stunnel-demonen"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL autentiseringsserver"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för swat-demonen"
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Tillåt sasl-autentiseringsservern att läsa /etc/shadow"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för sxid-demonen"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Tillåt X-Windowsservern att mappa en minnesregion både som körbar och "
++"skrivbar"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för syslogd-demonen"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Avaktivera SELinux-skydd för saslauthd-demonen"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "Avaktivera SELinux-skydd för systemets cron-jobb"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Avaktivera SELinux-skydd för scannerdaemon-demonen"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för tcp-demonen"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Tillåt inte övergångar till sysadm_t, sudo och su påverkas"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för telnet-demonen"
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Tillåt inte några processer att läsa in kärnmoduler"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för tftpd-demonen"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Tillåt inte några processer att ändra kärnans SELinuxpolicy"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för transproxy-demonen"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Avaktivera SELinux-skydd för sendmail-demonen"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för udev-demonen"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Avaktivera SELinux-skydd för setrans"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för uml-demonen"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Avaktivera SELinux-skydd för setroubleshoot-demonen"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för updfstab-demonen"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Avaktivera SELinux-skydd för slapd-demonen"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för uptimed-demonen"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Avaktivera SELinux-skydd för slrnpull-demonen"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för vmware-demonen"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Avaktivera SELinux-skydd för smbd-demonen"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för watchdog-demonen"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Avaktivera SELinux-skydd för snmpd-demonen"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för winbind-demonen"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Avaktivera SELinux-skydd för snort-demonen"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för xdm-demonen"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Avaktivera SELinux-skydd för soundd-demonen"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för xen-demonen"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Avaktivera SELinux-skydd för sound-demonen"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Skräppostskydd"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för xfs-demonen"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Avaktivera SELinux-skydd för spamd-demonen"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "Avaktivera SELinux-skydd för xen-constrol"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Tillåt spamd att komma åt hemkataloger"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ypbind-demonen"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Tillåt Spam Assassin-demonen att komma åt nätverket"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för NIS-lösenord-demonen"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Avaktivera SELinux-skydd för speedmgmt-demonen"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ypserv-demonen"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för NIS Transfer-demonen"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Tillåt squid-demonen att ansluta till nätverket"
+-#~ msgid "Delete %s"
+-#~ msgstr "Radera %s"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Avaktivera SELinux-skydd för squid-demonen"
+-#~ msgid "Add %s"
+-#~ msgstr "Lägg till %s"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Avaktivera SELinux-skydd för ssh-demonen"
+-#~ msgid "Modify %s"
+-#~ msgstr "Modifiera %s"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Tillåt ssh-inloggningar som sysadm_r:sysadm_t"
+-#~ msgid "Permissive"
+-#~ msgstr "Tillåtande"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Tillåt staff_r-användare att söka i sysadm-hemkatalogen och läsa filer "
++"(såsom ~/.bashrc)"
+-#~ msgid "Enforcing"
+-#~ msgstr "Upprätthållande"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Universiell SSL-tunnel"
+-#~ msgid "Disabled"
+-#~ msgstr "Avaktiverad"
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Avaktivera SELinux-skydd för stunnel-demonen"
+-#~ msgid "Status"
+-#~ msgstr "Status"
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Tillåt stunnel-demonen att köra fristående, utanför xinetd"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Avaktivera SELinux-skydd för swat-demonen"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Avaktivera SELinux-skydd för sxid-demonen"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux-typ"
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Avaktivera SELinux-skydd för syslogd-demonen"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Avaktivera SELinux-skydd för systemets cron-jobb"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Nivå"
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Avaktivera SELinux-skydd för tcp-demonen"
+-#~ msgid "File Type"
+-#~ msgstr "Filtyp"
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Avaktivera SELinux-skydd för telnet-demonen"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "alla filer\n"
+-#~ "vanliga filer\n"
+-#~ "kataloger\n"
+-#~ "teckenenhet\n"
+-#~ "blockenhet\n"
+-#~ "uttag\n"
+-#~ "symbolisk länk\n"
+-#~ "namngivet rör\n"
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Avaktivera SELinux-skydd för tftpd-demonen"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Avaktivera SELinux-skydd för transproxy-demonen"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Lägga till SELinux-användare"
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Avaktivera SELinux-skydd för udev-demonen"
+-#~ msgid "Add"
+-#~ msgstr "Lägg till"
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Avaktivera SELinux-skydd för uml-demonen"
+-#~ msgid "_Properties"
+-#~ msgstr "_Egenskaper"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Tillåt xinetd att köra obegränsad, inklusive alla tjänster den startar som "
++"inte har en domänövergång uttryckligen definierad"
+-#~ msgid "_Delete"
+-#~ msgstr "_Ta bort"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Tillåt rc-skript att köra obegränsade, inklusive alla demnoer som startas av "
++"ett rc-skript och som inte har en domänövergång uttryckligen definierad"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>Val:</b>"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Tillåt rpm att köra obegränsad"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "Nuvarande upprätthållande-läge"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Tillåt priviligerade verktyg som hotplug och insmod att köra obegränsade"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "Märk om vid nästa omstart."
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Avaktivera SELinux-skydd för updfstab-demonen"
+-#~ msgid "label37"
+-#~ msgstr "label37"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Avaktivera SELinux-skydd för uptimed-demonen"
+-#~ msgid "Filter"
+-#~ msgstr "Filter"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Tillåt user_r att nå sysadm_r via su, sudo eller userhelper.  Annars kan "
++"endast staff_r göra det"
+-#~ msgid "label50"
+-#~ msgstr "label50"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Tillåt användare att köra kommandot mount"
+-#~ msgid "label38"
+-#~ msgstr "label38"
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "Tillåt vanliga användare direkt musåtkomst (tillåt endast X-servern)"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Modifiera SELinux användarmappning"
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Tillåt användare att köra kommandot dmesg"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Ta bort SELinux-användarmappning"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Tillåt användare att styra nätverksgränssnitt (kräver också USERCTL=true)"
+-#~ msgid "label39"
+-#~ msgstr "label39"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Tillåt vanliga användare att köra ping"
+-#~ msgid "Add Translation"
+-#~ msgstr "Lägg till översättning"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "Tillåt användare skriva/läsa noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgid "Delete Translation"
+-#~ msgstr "Ta bort översättning"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Tillåt användare skriva/läsa usb-enheter"
+-#~ msgid "label41"
+-#~ msgstr "label41"
++#: ../gui/selinux.tbl:216
++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 ""
++"Tillåt användare att köra TCP-servrar (binda till portar och acceptera "
++"anslutningar från samma domän och användare utanför).  Avaktivering av detta "
++"framtvingar passivt läge i FTP och kan ändra andra protokoll"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Modifiera SELinux-användare"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Tillåt användare att ta status på ttyfiler"
+-#~ msgid "label40"
+-#~ msgstr "label40"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Avaktivera SELinux-skydd för uucpd-demonen"
+-#~ msgid "Add Network Port"
+-#~ msgstr "Lägg till nätverkport"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Avaktivera SELinux-skydd för vmware-demonen"
+-#~ msgid "label42"
+-#~ msgstr "label42"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Avaktivera SELinux-skydd för watchdog-demonen"
+-#~ msgid "Load policy module"
+-#~ msgstr "Läs in policymodul"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Avaktivera SELinux-skydd för winbind-demonen"
+-#~ msgid "label44"
+-#~ msgstr "label44"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Avaktivera SELinux-skydd för xdm-demonen"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux-användare \"%s\" krävs"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Tillåt xdm-inloggning som sysadm_r:sysadm_t"
+-#~ msgid "Requires value"
+-#~ msgstr "Kräver värde"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Avaktivera SELinux-skydd för xen-demonen"
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Ogiltigt prefix %s"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "label25"
+-#~ msgstr "label25"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Tillåt xen att läsa/skriva fysiska diskenheter"
+-#~ msgid "label26"
+-#~ msgstr "label26"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Avaktivera SELinux-skydd för xfs-demonen"
+-#~ msgid "label28"
+-#~ msgstr "label28"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Avaktivera SELinux-skydd för xen-styrning"
+-#~ msgid "label30"
+-#~ msgstr "label30"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Avaktivera SELinux-skydd för ypbind-demonen"
+-#~ msgid "label31"
+-#~ msgstr "label31"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Avaktivera SELinux-skydd för NIS-lösenord-demonen"
+-#~ msgid "label32"
+-#~ msgstr "label32"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Avaktivera SELinux-skydd för ypserv-demonen"
+-#~ msgid "label33"
+-#~ msgstr "label33"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Avaktivera SELinux-skydd för NIS Transfer-demonen"
+-#~ msgid "label34"
+-#~ msgstr "label34"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Tillåt SELinux webadm-användare att hantera opriviligerade användares "
++"hemkataloger"
+-#~ msgid "label35"
+-#~ msgstr "label35"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Tillåt SELinux webadm-användare att läsa opriviligierade användares "
++"hemkataloger"
+-#, fuzzy
+-#~ msgid "label51"
+-#~ msgstr "label25"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Är du säker på att du vill ta bort %s \"%s\"?"
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "Upprätthållande\n"
+-#~ "Tillåtande\n"
+-#~ "Avaktiverad\n"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Radera %s"
+-#~ msgid "value"
+-#~ msgstr "värde"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Lägg till %s"
+-#~ msgid "You must be root to run %s."
+-#~ msgstr "Du måste vara root för att köra %s."
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Modifiera %s"
+-#~ msgid "Other"
+-#~ msgstr "Andra"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Tillåtande"
+-#~ msgid "Files and Directories"
+-#~ msgstr "Filer och katalog"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Upprätthållande"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Avaktiverad"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Status"
+-#~ msgid "FTP"
+-#~ msgstr "FTP"
++#: ../gui/statusPage.py:133
++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 ""
++"Att byta policytyp kommer medföra en ometikettering av hela filsystemet vid "
++"nästa omstart.  Ometikettering tar en lång tid, beroende på storleken på "
++"filsystemet.  Vill du fortsätta?"
+-#~ msgid "Polyinstatiation"
+-#~ msgstr "Polyinstansiering"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"Att byta till att ha SELinux avstängt kräver en omstart.  Det rekommenderas "
++"inte.  Om du senare bestämmer dig för att slå på SELinux igen kommer "
++"systemet behöva etikettera om.  Om du bara vill se om SELinux orsakar ett "
++"problem på ditt system kan du gå till tillåtande läge vilket endast kommer "
++"logga fel och inte påtvinga SELinux policy.  Tillåtande läge kräver inte en "
++"omstart.  Vil du fortsätta?"
+-#~ msgid "Zebra"
+-#~ msgstr "Zebra"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Att byta till att ha SELinux påslaged kommer medföra en ometikettering av "
++"hela filsystemet vid nästa omstart.  Ometikettering tar en lång tid, "
++"beroende på storleken på filsystemet.  Vill du fortsätta?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Disable SELinux protection for ftpd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för ftpd-demonen"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright © 2006 Red Hat, Inc.\n"
++"Copyright © 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Disable SELinux protection for httpd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för httpd-demonen"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Lägg till SELinux-inloggningsmappning"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Lägg till SELinux-nätverksportar"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux-typ"
+-#~ msgid "Disable SELinux protection for pppd daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för pppd-demonen"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Nivå"
+-#~ msgid "Disable SELinux protection for the mozilla ppp daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för mozilla ppp-demonen"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Filspecifikation"
+-#~ msgid "Spam Assassin"
+-#~ msgstr "Spam Assassin"
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Filtyp"
+-#~ msgid "Disable SELinux protection for zebra daemon"
+-#~ msgstr "Avaktivera SELinux-skydd för zebra-demonen"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"alla filer\n"
++"vanliga filer\n"
++"kataloger\n"
++"teckenenhet\n"
++"blockenhet\n"
++"uttag\n"
++"symbolisk länk\n"
++"namngivet rör\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Lägga till SELinux-användare"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux-administration"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Lägg till"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Egenskaper"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "_Ta bort"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Välj hanteringsobjekt"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Val:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Tvingande läge systemstandard"
+-#~ msgid "MLS/MCS Level"
+-#~ msgstr "MLS/MCS-nivå"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Avslaget\n"
++"Tillåtande\n"
++"Tvingande\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Nuvarande upprätthållande-läge"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Policytyp systemstandard: "
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Level"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS-nivå"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Väl om du vill etikettera om hela filsystemet vid nästa omstart.  "
++"Ometikettering kan ta väldigt lång tid, beroende på sotrleken av "
++"filsystemet.  Om du ändrar policytyper eller går från avslaget till "
++"tvingande behövs en ometikettering."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Märk om vid nästa omstart."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Återställ booleansk inställning till systemstandard"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Växla mellan anpassad och alla booleaner"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Kör gude för nedlåsningsbooleaner"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Lås ned..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Filter"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Lägg till filkontext"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Modifiera filkontext"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Ta bort filkontext"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Växla mellan alla och anpassade filkontext"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Lägg till SELinux-användarmappning"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Modifiera SELinux användarmappning"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Ta bort SELinux-användarmappning"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Lägg till användare"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Modifiera användare"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Radera användare"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Lägg till översättning"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Modifiera översättning"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Ta bort översättning"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Lägg till nätverkport"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Redigera nätverksport"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Ta bort nätverksport"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Växla mellan anpassad och alla portar"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Generera ny policymodul"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Läs in policymodul"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Ta bort inläsningsbar policymodul"
+-#~ msgid "Requires 2 or more arguments"
+-#~ msgstr "Kräver 2 eller fler argument"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Aktivera/avaktivera ytterligare granskningsregler, som normalt inte "
++"rapporteras till loggfilerna."
+-#~ msgid "%s not defined"
+-#~ msgstr "%s är inte definierad"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "%s not valid for %s objects\n"
+-#~ msgstr "%s inte giltig för %s objekt\n"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Ändra processläge till tillåtande."
+-#~ msgid "range not supported on Non MLS machines"
+-#~ msgstr "intervall stöds inte av icke-MLS maskiner"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Ändra processläge till tvingande."
+-#~ msgid "Invalid value %s"
+-#~ msgstr "Ogiltigt värde %s"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Processdomän"
+-#~ msgid ""
+-#~ "In order to load this newly created policy package into the kernel,\n"
+-#~ "you are required to execute \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "För att ladda detta nya policy-paket in i kärnan,\n"
+-#~ "måste du köra \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Options Error: %s "
+-#~ msgstr "Flaggfel: %s "
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux-användare \"%s\" krävs"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ta.po policycoreutils-2.0.85/po/ta.po
+--- nsapolicycoreutils/po/ta.po        2011-02-17 15:11:24.904738516 -0500
++++ policycoreutils-2.0.85/po/ta.po    2011-02-18 16:03:41.445976270 -0500
+@@ -1,30 +1,44 @@
+-# translation of ta.po to Tamil
++# translation of policycoreutils.HEAD.ta.po to Tamil
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # Felix <ifelix@redhat.com>, 2006.
+ # I felix <ifelix@redhat.com>, 2007.
++# I. Felix <ifelix@redhat.com>, 2009, 2010.
++# I Felix <ifelix@redhat.com>, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: ta\n"
++"Project-Id-Version: policycoreutils.HEAD.ta\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-09-24 17:51+0530\n"
+-"Last-Translator: I felix <ifelix@redhat.com>\n"
+-"Language-Team: Tamil <fedora-trans-ta@redhat.com>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 13:13+0530\n"
++"Last-Translator: I Felix <ifelix@redhat.com>\n"
++"Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
++"Language: ta\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"X-Generator: KBabel 1.11.4\n"
+-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+-"\n"
+-"\n"
+-"\n"
+-"\n"
+-"\n"
+-"\n"
++"X-Generator: Lokalize 1.0\n"
++"Plural-Forms: nplurals=2; plural=(n!=1);\\n\n"
+ "\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinuxஐ ஒரு வரைகலை அமைவில் கட்டமைக்கவும்"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux மேலாண்மை"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux கொள்கை தொகுதியை உருவாக்கவும்"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux பாலிசி உற்பத்தி கருவி"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -95,7 +109,7 @@
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "இந்த பாலிசி தொகுப்பை செயல்படுத்த,செயலாற்றுகிறது:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+@@ -114,25 +128,25 @@
+ msgstr "semanage இணைப்பினை ஏற்படுத்த முடியவில்லை"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+ msgstr "MLS வரையறையை %sக்கு அமைக்க முடியவில்லை"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "கொலபல்"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"%sஐ திறக்க முடியவில்லை: MLS இல்லா கணினிகளில் மொழிபெயர்ப்பிற்கு துணை புரிவதில்லை"
++"%sஐ திறக்க முடியவில்லை: MLS -இல்லா கணினிகளில் மொழிபெயர்ப்பிற்கு துணைப்புரிவதில்லை: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+ msgstr "நிலை"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "மொழிபெயர்ப்பு"
+@@ -158,774 +172,771 @@
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "அமுலுக்கு கொண்டு வரப்படவில்லை"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage பரிமாற்றம் ஏற்கனவே செயலில் உள்ளது"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage பரிமாற்றத்தை ஆரம்பிக்க முடியவில்லை"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage பரிமாற்றத்தை ஆரம்பிக்க முடியவில்லை"
++msgstr "semanage பரிமாற்றத்தை ஒத்துக் கொள்ள முடியவில்லை"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage பரிமாற்றம் இல்லை"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux பயனர்களை பட்டியலிட முடியவில்லை"
++msgstr "SELinux தொகுதிகளை பட்டியலிட முடியவில்லை"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "ஏற்கத்தக்கது"
++msgstr "ஏற்கத்தக்க வகைகள்"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "தாராளமான செயற்களம் %s ஐ அமைக்க முடியவில்லை(முறைமையை நிறுவ முடியவில்லை)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "ஏற்றத்தக்க செயற்கள %sஐ நீக்க முடியவில்லை (நீக்க முடியவில்லை)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%sக்கு விசையை உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%sக்கு அனுமதி ஒப்பீடு குறிப்பிடப்பட்டால், சோதிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "அனுமதி ஒப்பீடு %sக்கு ஏற்கனவே குறிப்பிடப்பட்டுள்ளது"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "லினக்ஸ் பயனர் %s இல்லை"
++msgstr "லினக்ஸ் குழு %s ஏற்கனவே இல்லை"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "லினக்ஸ் பயனர் %s இல்லை"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s க்கு அனுமதி ஒப்பீடு உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%sக்கு பெயர் அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "MLS வரையறையை %sக்கு அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "SELinux பயனரை %sக்கு அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%sக்கு அனுமதி ஒப்பீடு சேர்க்க முடியவில்லை"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux பயனர் ஒப்பீட்டை சேர்த்தல்"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser அல்லது serange தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%sக்கு அனுமதி ஒப்பீடு குறிப்பிடப்படவில்லை"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "seuser %sக்கு வினா எழுப்ப முடியவில்லை"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%sக்கு அனுமதி ஒப்பீடுகளை மாற்ற முடியவில்லை"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "அனுமதி ஒப்பீடு %s பாலிசியில் குறிப்பிடப்பட்டுள்ளது, அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%sக்கு அனுமதி ஒப்பீடுகளை அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "அனுமதி ஒப்பீடுகளை பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "புகுபதிவு பெயர்"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux பயனர்"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS வரையறை"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%sக்கு கோப்பு சூழலை சேர்க்க முடியவில்லை"
++msgstr "%sக்காக ஒரு சூழலையாவது சேர்க்கவும்"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "SELinux பயனர் %s குறிப்பிடப்பட்டால், சோதிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux பயனர் %s ஏற்கனவே குறிப்பிடப்பட்டுள்ளது"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr " SELinux பயனரை %sக்கு உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "%s க்கு %s பாத்திரத்தை சேர்க்க முடியவில்லை"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%sக்கு MLS நிலையை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "%s க்கு %sல் முன்னொட்டினை சேர்க்க முடியவில்லை"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%sக்கு விசையை பிரிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux பயனர் %sஐ சேர்க்க முடியவில்லை"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "முன்னொட்டு, பாத்திரங்கள், நிலை அல்லது வரையறை தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "முன்னொட்டு அல்லது பாத்திரம் தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux பயனர் %s குறிப்பிடப்படவில்லை"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%sக்கு பயனரை வினா எழுப்ப முடியவில்லை"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux பயனர் %sஐ மாற்ற முடியவில்லை"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux பயனர் %s பாலிசியில் குறிப்பிடப்பட்டுள்ளது, அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux பயனர் %sஐ அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux பயனர்களை பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "பயனர் %sக்கு பாத்திரங்களை பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "பெயரிடல்"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "முன்னொட்டு"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS நிலை"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS வரையறை"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux பங்குகள்"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "நெறிமுறை udp அல்லது tcp தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "துறை தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%sக்கு விசையை உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "வகை தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "துறை %s/%s குறிப்பிடப்பட்டால் சோதிக்கப்படுவதில்லை"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "துறை %s/%s ஏற்கனவே குறிப்பிடப்பட்டுள்ளது"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s க்கு துறையை உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%sக்கு சூழலை உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s க்கு துறை சூழலில் பயனரை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s க்கு துறை சூழலில் பாத்திரங்களை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s க்கு துறை சூழலில் வகையை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s க்கு துறை சூழலில் mls புலங்களை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s க்கு துறை சூழலை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "துறை %s/%sயை சேர்க்க முடியவில்லை"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype அல்லது serange தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "துறை %s/%s குறிப்பிடப்படவில்லை"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "துறை %s/%sஐ வினா எழுப்ப முடியாது"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "துறை %s/%sஐ மாற்ற முடியவில்லை"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "துறைகளை பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "துறைகளை அழிக்க முடியவில்லை %s/%s"
++msgstr "%s துறையை அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "துறை %s/%s பாலிசியில் குறிப்பிடப்பட்டுள்ளது, அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "துறைகளை அழிக்க முடியவில்லை %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "துறைகளை பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux துறை வகை"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "துறை எண்"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "துறை தேவைப்படுகிறது"
++msgstr "முனை முகவரி தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "துறை தேவைப்படுகிறது"
++msgstr "முனை நெட்மாஸ்க் தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "தெரியாத அல்லது விடுபட்ட பிரோக்டகால்"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux வகை தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%sக்கு விசையை உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "துறை %s/%s குறிப்பிடப்பட்டால் சோதிக்கப்படுவதில்லை"
++msgstr "addr %s குறிப்பிடப்பட்டால் சோதிக்கப்படுவதில்லை"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "துறை %s/%s ஏற்கனவே குறிப்பிடப்பட்டுள்ளது"
++msgstr "Addr %s ஏற்கனவே குறிப்பிடப்பட்டுள்ளது"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%sக்கு விசையை உருவாக்க முடியவில்லை"
++msgstr "%sகாக addr உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s க்கு சூழலை உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%sக்கு பெயர் அமைக்க முடியவில்லை"
++msgstr "%sகாக மாஸ்க்கை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s க்கு கோப்பு சூழலில் பயனரை அமைக்க முடியவில்லை"
++msgstr "%s க்கு addr சூழலில் பயனரை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s க்கு கோப்பு சூழலில் பாத்திரத்தை அமைக்க முடியவில்லை"
++msgstr "%s க்கு addr சூழலில் சுழலை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s க்கு கோப்பு சூழலில் வகையை அமைக்க முடியவில்லை"
++msgstr "%s க்கு addr சூழலில் வகையை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%sக்கு கோப்பு சூழலில் mls புலங்களை அமைக்க முடியவில்லை"
++msgstr "%sக்கு addr சூழலில் mls புலங்களை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s க்கு கோப்பு சூழலை அமைக்க முடியவில்லை"
++msgstr "%s க்கு addr சூழலை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "துறை %s/%sயை சேர்க்க முடியவில்லை"
++msgstr "addr %sயை சேர்க்க முடியவில்லை"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "துறை %s/%s குறிப்பிடப்படவில்லை"
++msgstr "addr %s குறிப்பிடப்படவில்லை"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "துறை %s/%sஐ வினா எழுப்ப முடியாது"
++msgstr "addr %sஐ வினா எழுப்ப முடியாது"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "துறை %s/%sஐ மாற்ற முடியவில்லை"
++msgstr "addr %sஐ மாற்ற முடியவில்லை"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "துறை %s/%s பாலிசியில் குறிப்பிடப்பட்டுள்ளது, அழிக்க முடியவில்லை"
++msgstr "addr %s பாலிசியில் குறிப்பிடப்பட்டுள்ளது, அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "இடைமுகம் %s ஐ அழிக்க முடியவில்லை"
++msgstr "addr %s ஐ அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "துறைகளை பட்டியலிட முடியவில்லை"
++msgstr "addrs பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "இடைமுகம் %s குறிப்பிடப்பட்டால் சோதிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "இடைமுகம் %s ஏற்கனவே குறிப்பிடப்பட்டுள்ளது"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%sக்கு இடைமுகம் உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s க்கு இடைமுக சூழலில் பயனரை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s க்கு இடைமுக சூழலில் பாத்திரத்தை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s க்கு இடைமுக சூழலில் வகையை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s க்கு இடைமுக சூழலில் mls புலங்களை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s க்கு இடைமுக சூழலை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s க்கு செய்தி சூழலை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "இடைமுகத்தை சேர்க்க முடியவில்லை %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "இடைமுகம் %s குறிப்பிடப்படவில்லை"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "இடைமுகம் %sஐ வினா எழுப்ப முடியவில்லை"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "இடைமுகம் %sஐ மாற்ற முடியவில்லை"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "இடைமுகம் %s பாலிசியில் குறிப்பிடப்பட்டுள்ளது, அழிக்க முடியாது"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "இடைமுகம் %s ஐ அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "இடைமுகங்களை பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux முகப்பு"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "சூழல்"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s க்கு கோப்பு சூழலில் பயனரை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s க்கு கோப்பு சூழலில் பாத்திரத்தை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%sக்கு கோப்பு சூழலில் mls புலங்களை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1436
+-#, fuzzy
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr "கோப்பு குறிப்பிடல்"
++msgstr "தவறான கோப்பு குறிப்பிடல்"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s க்கு கோப்பு சூழல் குறிப்பிடப்பட்டால் சோதிக்கப்படுவதில்லை"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%sலின் கோப்பு சூழல் ஏற்கனவே குறிப்பிடப்பட்டுள்ளது"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s க்கு கோப்பு சூழலை உருவாக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s க்கு கோப்பு சூழலில் வகையை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s க்கு கோப்பு சூழலை அமைக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%sக்கு கோப்பு சூழலை சேர்க்க முடியவில்லை"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange அல்லது seuser தேவைப்படுகிறது"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%sக்கு கோப்பு சூழல் குறிப்பிடப்படவில்லை"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%sக்கு கோப்பு சூழலை வினா எழுப்ப முடியாது"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "%sக்கு கோப்பு சூழலை மாற்ற முடியாது"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "கோப்பு சூழல் பட்டியலிட முடியவில்லை."
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "%sக்கு கோப்பு சூழலை அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "கோப்பு சூழல் %sக்கு பாலிசியில் குறிக்கப்பட்டுள்ளது, அழிக்க முடியாது"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%sக்கு கோப்பு சூழலை அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "கோப்பு சூழல் பட்டியலிட முடியவில்லை."
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "உள்ளமை கோப்பு சூழல்களை பட்டியலிட முடியவில்லை."
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "வகை"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "பூலியன் %s குறிப்பிடப்பட்டால், சோதிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "பூலியன் %s குறிப்பிடப்படவில்லை"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "கோப்பு சூழல் %sஐ வினா எழுப்ப முடியாது"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "நீங்கள் ஒரு பெயரை உள்ளிட வேண்டும்"
++msgstr "பின்வரும் மதிப்புகளில் ஏதேனும் ஒன்றை நீங்கள் குறிப்பிட்டாக வேண்டும்: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "பூலியன் %sஐ அழிக்க முடியவில்லை"
++msgstr "பூலியன் %sனுடைய மதிப்பினை செயலில் அமைக்க இயலாது"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "பூலியன் %sஐ மாற்ற முடியவில்லை"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "%s தவறான முறை: %sஐ பதிவு செய்யவும்"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "பூலியன் %s பாலிசியில் குறிப்பிடப்பட்டுள்ளது, அழிக்க முடியாது"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "பூலியன் %sஐ அழிக்க முடியவில்லை"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "பூலியன்களை பட்டியலிட முடியவில்லை"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "தெரியாத"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "ஆஃப்"
+-#: ../semanage/seobject.py:1780
+-#, fuzzy
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr "Cron"
++msgstr "ஆன்"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux பூலியன்"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "விளக்கம்"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -935,12 +946,12 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "புதிய பங்கு: சேவை பெயர் கட்டமைப்பு வழிகிறது\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "புதிய பங்கு:  %s:  கோட்டில் பிழை %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -963,9 +974,9 @@
+ msgstr "சூழலை துடைக்க முடியவில்லை\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "capabilityகளை துவக்குவதில் பிழை, வெளியேறுகிறது.\n"
++msgstr "தகுதியனவைகளை துவக்குவதில் பிழை, வெளியேறுகிறது.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1075,7 +1086,7 @@
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr ""
++msgstr "பிழை: ஒரு பாதுகாப்பில்லாத முனைய மட்டங்களை மாற்ற உங்களுக்கு அனுமதி இல்லை \n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1143,14 +1154,14 @@
+ msgstr "பழைய சூழலை எடுக்க முடியவில்லை.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "பிழை!  tty விவரத்தினை எடுக்க முடியவில்லை.\n"
++msgstr "எச்சரிக்கை!  tty தகவலை சரியாக்க இயலவில்லை.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "PAM சேவை கட்டமைப்பினை வாசிப்பதில் பிழை.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+@@ -1192,19 +1203,20 @@
+ msgstr "ஷெல்லை செயல்படுத்த முடியவில்லை\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+ msgstr "பயன்பாடு:  %s [-q]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s:  பாலிசி ஏற்கனவே ஏற்றப்பட்டுவிட்டது மற்றும் முதல் ஏற்றம் தேவைப்படுகிறது \n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:  பாலிசியை ஏற்ற முடியவில்லை:  %s\n"
++msgstr ""
++"%s:  பாலிசியை ஏற்ற முடியவில்லை மற்றும் வலியுறுத்துகிற முறைமையை கோரப்படுகிறது: %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+@@ -1295,1103 +1307,2255 @@
+ msgid "Options Error %s "
+ msgstr "விருப்பங்கள் பிழை %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "non-MLS கணினிகளில் மொழிபெயர்க்க முடியாது"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "பூலியன்"
+-
+-#, fuzzy
+-#~ msgid "all"
+-#~ msgstr "அனைத்து"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "கோப்பு பெயரிடல்"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "கோப்பு\n"
+-#~ "குறிப்பிடல்"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "கோப்பு சூழல்"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "கோப்பு\n"
+-#~ "வகை"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "பயனர் ஒப்பிடல்"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "புகுபதிவு\n"
+-#~ "பெயர்"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "பயனர்"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS வரையறை"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "புகுபதிவு '%s' தேவைப்படுகிறது"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "கொள்கை தொகுதி"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "தொகுதி பெயர்"
+-
+-#~ msgid "Version"
+-#~ msgstr "பதிப்பு"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "Audit செயல்நீக்கவும்"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "Auditஐ செயல்படுத்தவும்"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "கொள்கை தொகுதியை ஏற்றவும்"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr "I. Felix <ifelix25@gmail.com>"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>பயன்பாடுகள்</b>"
+-
+-#~ msgid "User Application"
+-#~ msgstr "பயனர் பயன்பாடு"
+-
+-#, fuzzy
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>பயனர்கள்</b>"
+-
+-#, fuzzy
+-#~ msgid "User Role"
+-#~ msgstr "பங்கு"
+-
+-#, fuzzy
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>பயனர்கள்</b>"
+-
+-#, fuzzy
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "ரூட் பயனர்"
+-
+-#~ msgid "Name"
+-#~ msgstr "பெயர்"
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "Executable"
+-#~ msgstr "இயங்கக்கூடியது"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Init script"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP துறைகள்</b>"
+-
+-#~ msgid "All"
+-#~ msgstr "அனைத்து"
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "பதிவு செய்யப்பட்ட துறைகள் (>1024)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "துறைகளை தேர்ந்தெடுக்கவும்"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP துறைகள்</b>"
+-
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "தணிக்கை செய்தியை அனுப்புவதில் பிழை.\n"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "கொள்கை அடைவு"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "உருவாக்கப்பட்ட கொள்கை கோப்புகள்"
+-
+-#, fuzzy
+-#~ msgid "Boolean Name"
+-#~ msgstr "பூலியன்"
+-
+-#~ msgid "Role"
+-#~ msgstr "பங்கு"
+-
+-#~ msgid "Application"
+-#~ msgstr "பயன்பாடு"
+-
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "நீங்கள் ஒரு பெயரை உள்ளிட வேண்டும்"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "நீங்கள் ஒரு பெயரை உள்ளிட வேண்டும்"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "நீங்கள் ஒரு இயக்கத்தக்கத்தை உள்ளிட வேண்டும்"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinuxஐ கட்டமைக்கவும்"
+-
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "வகை enforcment கோப்பு"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "முகப்பு கோப்பு"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "கோப்பு சூழல்கள் கோப்பு"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "அமைவு உரை"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux துறை\n"
+-#~ "வகை"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "நெறிமுறை"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "நிலை"
+-
+-#~ msgid "Port"
+-#~ msgstr "துறை"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "துறை எண் \"%s\" தவறானது.  0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "Group View"
+-#~ msgstr "குழு பார்வை"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux சேவை பாதுகாப்பு"
+-
+-#~ msgid "Admin"
+-#~ msgstr "நிர்வாகம்"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "பயனர் Privs"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "நினைவக பாதுகாப்பு"
+-
+-#~ msgid "Mount"
+-#~ msgstr "ஏற்றம்"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "பிணைய கட்டமைப்பு"
+-
+-#~ msgid "Databases"
+-#~ msgstr "தரவுத்தளங்கள்"
+-
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "இணைய பயன்பாடுகள்"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "amandaக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "பூலியன்"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "அனைத்தும்"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "திருத்தியமைக்கப்பட்ட"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "கோப்பு பெயரிடல்"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "amavisக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "avahiக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "bluetooth daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "Cluster சேவையகத்திற்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscanக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat daemon SELinuxக்கு பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier daemon SELinuxக்கு பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Printing"
+-#~ msgstr "அச்சடித்தல்"
+-
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "cupsd backend சேவையகத்திற்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "cupsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "cupsd_lpdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "cvs daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "cyrus daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "dbskkd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "dbusd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "dccdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "dccifdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "dccmக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "ddt daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "devfsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "dhcpc daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "dhcpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "dictd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "Evolutionக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Games"
+-#~ msgstr "விளையாட்டுகள்"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "விளையாட்டுகளுக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "இணைய உலாவிகளுக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "Thunderbirdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "fetchmailக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "hal daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "உகந்தவை"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "hostname daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "cups hplip daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogsக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD சேவை"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexecக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "inetd child daemonsக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk daemonsக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"கோப்பு\n"
++"குறிப்பிடல்"
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"கோப்பு வகை"
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"கோப்பு\n"
++"வகை"
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "பயனர் ஒப்பிடல்"
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"புகுபதிவு\n"
++"பெயர்"
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"பயனர்"
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailmanக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS வரையறை"
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "புகுபதிவு '%s' தேவைப்படுகிறது"
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "கொள்கை தொகுதி"
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "தொகுதி பெயர்"
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "பதிப்பு"
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Audit செயல்நீக்கவும்"
+-#~ msgid "Name Service"
+-#~ msgstr "பெயர் சேவை"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Auditஐ செயல்படுத்தவும்"
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "named daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "கொள்கை தொகுதியை ஏற்றவும்"
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "NetworkManagerக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Samba"
+-#~ msgstr "சம்பா"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "I. Felix <ifelix@redhat.com>"
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "பயன்பாட்டின் வகையினை தேர்ந்தெடுக்கவும்/ பயனர் பங்கு எல்லைக்குள் இருக்க வேண்டும்"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>பயன்பாடுகள்</b>"
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"நிலையான Init டிமானானது டீமான்களை பூட் வழியாக init ஸ்க்ரிப்ட்டுகளாக துவக்குகிறது.  "
++"பொதுவாக ஒரு ஒரு/etc/rc.d/init.d இல் ஸ்க்ரிப்ட் தேவைப்படுகிறது"
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "நிலையான Init டீமன்"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS System Daemon"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "இணையத்தள டீமான்களானது  xinetd டீமானின் படி துவக்குகிறது"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Internet Services Daemon (inetd)"
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++"தள பயன்பாடுகள்/ஸ்கிரிப்ட் (CGI) CGI தள சேவையகத்தால் ஸ்கிரிப்ட் துவக்கப்படுகிறத் (apache)"
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "தள பயன்பாடுகள்/ஸ்கிரிப்ட் (CGI)"
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjobக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"ஒரு பயனரால் நீங்கள் வரையறுக்கப்பட்ட விரும்புவதை எதாவது பயனர் பயன்பாட்டால் துவக்குகிறது"
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedirக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "பயனர் பயன்பாடு"
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>புகுப்பதிவு பயனர்கள்</b>"
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "ஓரு உள்ளிருக்கும் பயனர் உட்புகு பதிவை மாற்றியமை."
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasusக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "உள்ளிருக்கும் பயனர்களின் பங்குகள்"
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"இந்த பயனர் ஒரு கணினிக்குள் உட்புக ஒரு முனையம் அல்லது தொலை உள்நுழை வழியாக மட்டுமே "
++"நுழைய முடியும்.  முன்னிருப்பின்படி இந்த பயனர் setuid, networking, su, sudo "
++"போன்றவற்றை பெற்றிருக்கவில்லை."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "குறைந்த முனைய பயனர் பங்கு"
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap daemon க்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"இந்த பயனி ஒரு கணினியில் X அல்லது முனையம் வழியாக உட்புகு. இந்த பயனருக்கு முன்னிருப்பின் "
++"படி setuid, பிணையம், sudo, su போன்றவை இல்லை"
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "குறைந்தபட்ச X சாளரத்தில் பயனர் பங்கு"
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfixக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"பயனர் முழு பிணையத்துடன், மற்றொன்று மாறக்கூடிய setuid பயன்பாடுகள், sudo, su "
++"பெற்றிருக்கவில்லை."
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr " பயனர் பங்கு"
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"பயனர் முழு பிணையத்துடன், மற்றொன்று மாறக்கூடிய setuid பயன்பாடுகள், su,can sudo க்கு "
++"Root Administration Roles  பெற்றிருக்கவில்லை."
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptpக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Admin பயனர் பங்கு"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>ரூட் பயனர்கள்</b>"
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"ரூட் நிர்வாக பயனர் பங்கை தேர்ந்தெடு, ரூட்டாக இயங்கும் போது இந்த பயனர் கணினியை நிர்வாகிக்க "
++"பயன்படுகிறது. இந்த பயனர் நேரடியாக கணினிக்குள் உட்புக முடியவில்லை."
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "ரூட் நிர்வாக பயனர் பங்கு"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "பயன்பாட்டின் பெயர் அல்லது கட்டுப்படுத்தப்பட்ட பயனரின் பங்கை உள்ளீடு"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "பெயர்"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "வரையறுக்கப்பட்டு ஏற்றுக் கொள்ளத்தக்க முழுப் பாதையை உள்ளிடு."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "வரையறுக்கப்பட்ட பயன்பாடு அல்லது பயனர் பங்கிற்கான யுனிக் பெயரை உள்ளிடவும்"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "இயங்கக்கூடியது"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init script"
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "init ஸ்கிரிப்பட்டுக்கு வரையறுக்கப்பட்ட பயன்பாட்டைத் துவக்க முழு பாதையை உள்ளிடவும்."
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "திருத்தியமைக்க நீங்கள் விரும்பும் பயனர் பங்குகளை தேர்ந்தெடு"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "இந்த பயன்பாடுகளின் செயற்களங்களுக்கு மற்றொன்றுக்கு மாறாத பயனர் பங்குகளை தேர்ந்தெடு."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "எந்த பயனர் பங்கு கூடுதல் செயற்களத்திற்கு மாறாமதவற்றை தேர்ந்தெடு "
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzordக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++"நீங்கள் விரும்பும் இந்த பயனரின் மாறாத பங்கிற்கான பயன்பாடுகளின் செயகளங்களை தேர்ந்தெடு."
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "பயனர் பங்கினை தேர்ந்தெடுத்து இந்த செயற்களத்தை பரிமாற்றவும்"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "செயல்முறைப்படுத்த இந்த பயனருக்கு கூடுதல் செயற்கள பங்கினை நேர்ந்தெடுக்கவும்"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "இந்த பயனர் நிர்வாகி நீங்கள் விரும்பும் செயற்களத்தை தேர்ந்தெடு."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "இந்த பயனருக்கு கூடுதல் பங்கினை தேர்ந்தெடுக்கவும்"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "பிணைய துறைகளையும் அதன் பயன்பாடுகளையும் உள்ளிடவும்/ பயனரின் பங்கு கவனிப்பது"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP துறைகள்</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "வரையறுக்கப்பட்ட பயன்பாடு/பயனர் பங்கை பிணைக்கும் எதாவது udp துறையை அனுமதிக்கவும்"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "அனைத்து"
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"வரையறுக்கப்பட்ட பயன்பாடு/பயனர் பங்கை  bindresvport உடன் 0. துறை 600-1024க்கு பிணைக்க "
++"அனுமதிக்கவும்"
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdiscக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"udp துறைகள் அல்லது அந்த பயன்பாட்டின் வரம்பு துறைகள்/பயனர் பங்கு பிணைப்புக்கு ஒரு கமாவால் "
++"பிரிக்கப்பட்ட பட்டியலை உள்ளிடவும். எடுத்துக்காட்டு: 612, 650-660"
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readaheadக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "பதிவு செய்யப்பட்ட துறைகள் (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "துறைகளை தேர்ந்தெடுக்கவும்"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "விண்ணப்பங்களை அனுமதிக்கவும்/ஏதாவது udp துறைகளை பயனர் பங்குடன் இணைக்கிறது > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP துறைகள்</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "அந்த விண்ணப்பத்திற்காக பிணைய துறைகளை உள்ளிடவும்/ பயனர்கள் பங்கு இணைக்கிறது"
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecondக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"tcp துறைகள் அல்லது வரம்புகள் துறையின் பயன்பாடு/பயனர் பங்கு இணைப்புகள் பட்டியலிருந்து "
++"பிரிக்க ஒரு கமாவை உள்ளிடவும். எடுத்துக்காட்டு: 612, 650-660"
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++" udp துறைகள் அல்லது வரம்புகள் துறையின் பயன்பாடு/பயனர் பங்கு இணைப்புகள் பட்டியலிருந்து "
++"பிரிக்க ஒரு கமாவை உள்ளிடவும். எடுத்துக்காட்டு: 612, 650-660"
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricciக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "பொதுவான பயன்பாடுகளின் தனித்தன்மையை தேர்ந்தெடு"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "syslog செய்திகளை எழுதவும்\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "உருவாக்கு/தற்காலிக கோப்புகளினுள் /tmpஐ கையாளவும்"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Pam கான அங்கீகாரத்தை பயன்படுத்து"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch அல்லது getpw* அழைப்புகளை பயன்படுத்து"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbusன் பயன்கள்"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "தணிக்கை செய்திகளை அனுப்பு"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "முனையத்துடன் செயலாற்றுகிறது"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "மின்னஞ்சலை அனுப்புகிறது"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "கோப்புகள்/அடைவுகள் பயன்பாட்டை மேலாண்மை செய்வதை நேர்ந்தெடு"
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"கோப்புகள்/பயன்பாட்டிற்குத் தேவையான அடைவுகளுக்கு \"Write\" . Pid Files, Log Files, /"
++"var/lib Filesஐ சேர் ..."
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "பயன்பாட்டை பயன்படுத்தும் பூலியன்களைத் தேர்ந்தெடு"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "சேர்/வரையறுக்கப்பட்ட  பயன்பாட்டு பூலியன்களை பயன்படுத்தும் இதை நீக்கவும்/பயனர்"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "உருவாக்கும் பாலிசியில் அடைவைத் தேர்ந்தெடு"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "கொள்கை அடைவு"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "உருவாக்கப்பட்ட கொள்கை கோப்புகள்"
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "பூலியன் உரையாடலை சேர்க்கவும்"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "பூலியன் பெயர்"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "பங்கு"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "வெளியேறுகிற பயனர் (_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "பயன்பாடு"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s ஒரு அடைவாகும்"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "நீங்கள் ஒரு பெயரை தேர்ந்தெடுக்க வேண்டும்"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "செயல்படக்கூடிய வரையறுக்கப்பட்ட கோப்பை தேர்ந்தெடு"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "வரையறுக்கப்பட்ட init ஸ்கிரிப்ட் கோப்பை தேர்ந்தெடு."
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++"கோப்பு(கள்) அதை வரையறுக்கப்பட்ட பயன்பாட்டை உருவாக்குங்கள் அல்லது எழுதுக்கள் போன்றவற்றை "
++"தேர்ந்தெடு"
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "அடைவு(கள்) சொந்த வரையறுக்கப்பட்ட பயன்பாடு மற்றும் இதற்குள் எழுத தேர்ந்தெடு"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "பாலிசி கோப்புகளுக்கு உருவாக்கும் அடைவை தேர்ந்தெடு"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL அங்கீகார சேவையகம்"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"ஏற்கனவே %s _t வரையறுக்கப்பட்ட தற்போதைய பாலிசி வகை.\n"
++"நீங்கள் தொடர விரும்புகிறீர்களா?"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "பெயரை சரிபார்"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"மாதிரி %s.pp தற்போதைய பாலிசியை ஏற்கனவே ஏற்றுகிறது.\n"
++"நீங்கள் தொடர விரும்புகிறீர்களா?"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "நீங்கள் ஒரு பெயரை உள்ளிட வேண்டும்"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setransக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "நீங்கள் ஒரு இயக்கத்தக்கத்தை உள்ளிட வேண்டும்"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroublesoot daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinuxஐ கட்டமைக்கவும்"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "துறைகள் எண்ணாக இருக்க வேண்டும் அல்லது எண்களிலிருந்து 1 க்கு %d "
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "நீங்கள் வரையறுக்கப்பட்ட செயல்பாட்டிற்கு ஒரு பெயரை உள்ளிட வேண்டும்/பயனர்"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER வகைகள் ஏற்றுக் கொள்ளுவதற்கு அனுமதிக்கப்படவில்லை"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "DAEMON பயன்பாடுகளை init ஸ்கிரிப்ட்டை மட்டும் பயன்படுத்து"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "_syslog பூலியன் மதிப்பை பயன்படுத்து (_s)"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER வகைகள் தானாகவே ஒரு tmp வகையை பெறுகிறது"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "வரையறுக்கப்பட்ட செயல்பாட்டுக்கு நிறைவேற்றக்கூடிய பாதை நீங்கள் உள்ளிடவும்"
+-#, fuzzy
+-#~ msgid "Spam Protection"
+-#~ msgstr "ஸ்பேம் பாதுகாப்பு"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "வகை enforcment கோப்பு"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "முகப்பு கோப்பு"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "கோப்பு சூழல்கள் கோப்பு"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "அமைவு உரை"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "பிணைய துறை"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux துறை\n"
++"வகை"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "உலகளாவிய SSL குகை"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "நெறிமுறை"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"நிலை"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "துறை"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "துறை எண் \"%s\" தவறானது.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "பட்டியல் பார்வை"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "குழு பார்வை"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux சேவை பாதுகாப்பு"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "SELinux பாதுகாப்பான acct டீமனை செயல்நீக்கு"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "நிர்வாகம்"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "அனைத்து டீமன்களையும் கோர் கோப்புகளை எழுத அனுமதிக்கவும் / "
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "அனைத்து டீமன்களையும் திறமையுடன் ஒதுக்கப்படாத ttysஐ பயன்படுத்த அனுமதி"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "பயனர் Privs"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux பயனர் கணக்குக்கு செயலாற்றக்கூடிய கோப்புகளை முகப்பு அடைவு அல்லது /tmpஐ "
++"அனுமதி"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"guest SELinuxபயனர் கணக்குக்கு முகப்பு அடைவுகளிலுள்ள செயல்பாட்டிலுள்ள கோப்புகளைஅனுமதி "
++"அல்லது /tmp"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "system cron பணிக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "நினைவக பாதுகாப்பு"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "நிறைவேற்றக்கூடிய ஸ்டாக் ஜாவாவை அனுமதி"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "ஏற்றம்"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "எந்த கோப்பையும் ஏறுவதற்கு அனுமதிக்கிறது"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "எந்த அடைவையும் ஏறுவதற்கு அனுமதிக்கிறது"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "நிறைவேற்றக்கூடிய mplayer ஜாவாவை அனுமதி "
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh லிருந்து ssh-keysignக்கு இயங்க அனுமதிக்கிறது"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"staff SELinux பயனர் கணக்குக்கு முகப்பு அடைவுகளிலுள்ள செயல்பாட்டிலுள்ள கோப்புகளைஅனுமதி "
++"அல்லது /tmp"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux பயனர் கணக்குக்கு முகப்பு அடைவுகளிலுள்ள செயல்பாட்டிலுள்ள "
++"கோப்புகளைஅனுமதி அல்லது /tmp"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"வரையறுக்கப்படாத SELinux பயனர் கணக்குக்கு முகப்பு அடைவுகளிலுள்ள செயல்பாட்டிலுள்ள "
++"கோப்புகளைஅனுமதி அல்லது /tmp"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "பிணைய கட்டமைப்பு"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "இணையத்தில் அட்டவணைப்படுத்தப்படாத பாக்கெட்டிகளை அனுமதி"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"பயனர் SELinux பயனர் கணக்குக்கு முகப்பு அடைவுகளிலுள்ள செயல்பாட்டிலுள்ள கோப்புகளைஅனுமதி "
++"அல்லது /tmp"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "வரையறுக்கப்படாத dyntrans க்கு unconfined_execmemஐ அனுமதி"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "தரவுத்தளங்கள்"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "mysql சாக்கெட்டுடன் இணைக்க பயனரை அனுமதிக்கவும்"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "postgres சாக்கெட்டுடன் இணைக்க பயனரை அனுமதிக்கவும்"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "X பகிரப்பட்ட நினைவகத்தை எழுத க்ளையன்டை அனுமதி"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux பயனர் கணக்குக்கு முகப்பு அடைவுகளிலுள்ள செயல்பாட்டிலுள்ள "
++"கோப்புகளைஅனுமதி அல்லது /tmp "
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "NIS உடன் டோமோன்ஸ் இயக்க அனுமதி"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "இணைய பயன்பாடுகள்"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Transition staff SELinux பயனருக்கு Web Browser Domain"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Transition sysadm SELinux பயனருக்கு Web Browser Domain"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Transition user SELinux பயனருக்கு Web Browser Domain"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Transition xguest SELinux பயனருக்கு Web Browser Domain"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "staff Web Browsers க்கு முகப்பு அடைவுகளை எழுத அனுமதி"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "amandaக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "amavisக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "avahiக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "bluetooth daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Cluster சேவையகத்திற்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord க்கு பல்வேறு உள்ளடகத்தை nfs, samba,removable devices, user temp மற்றும் "
++"நம்பமுடியாத உள்ளடக்க கோப்புகளை வாசிக்க அனுமதிக்கவும்"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscanக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat daemon SELinuxக்கு பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier daemon SELinuxக்கு பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "அச்சடித்தல்"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "cupsd பின் முனை சேவையகத்திற்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "cupsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "cupsd_lpdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "cvs daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "cyrus daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "dbskkd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "dbusd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "dccdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "dccifdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "dccmக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "ddt daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "devfsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "dhcpc daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "dhcpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "dictd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "sysadm_t நேரடியாக டீமனைத் துவக்க அனுமதிக்கிறது (_t )"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Evolutionக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "விளையாட்டுகள்"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "விளையாட்டுகளுக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "இணைய உலாவிகளுக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Thunderbirdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "fetchmailக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr " Hal டீமனுக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "உகந்தவை"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"பாதுகாப்பு எச்சரிக்கைகள் இல்லாத ஆனால் உடையும் என நமக்கு தெரிந்த பொருட்களை சோதிக்க கூடாது"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "hostname daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogsக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD சேவை"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexecக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "inetd child daemonsக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk daemonsக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailmanக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "தோற்றுவித்தல் மற்றும் தன்டர்பார்ட்டுக்கு பயனர் கோப்புகளை வாசிக்க அனுமதிக்கவும்"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "மொஹிலா உலாவிகள் பநனர் கோப்புகளை வாசிக்க அனுமதி"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "பெயர் சேவை"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "named daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "NetworkManagerக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "சம்பா"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjobக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedirக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasusக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap daemon க்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfixக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "pppd சரியான பயனர்களுக்காக இயக்க அனுமதிக்கிறது"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptpக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzordக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdiscக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readaheadக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "கோப்புகளிலுள்ள நிலையில்லாத இடங்களை வாசிக்க நீரல்களை அனுமதி (default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecondக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricciக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshdக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ssh க்கு inetd லிருந்து டீமனுக்கு பதிலாக அனுமதி"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Sambaவை nfs அடைவுகளை பகிர அனுமதிக்கவும்"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL அங்கீகார சேவையகம்"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl அங்கீகரிக்கப்பட்ட சேவையகத்துக்கு read /etc/shadow அனுமதி"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"X-Windows சேவையகம் வரைபடத்தை ஒரு நினைவக நிலமாக செயலாற்றக்கூடிய மற்றும் எழுதக்கூடிய "
++"இரண்டாகவும் அனுமதிக்கவும்"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "sysadm_t, sudo மற்றும் su செயல்படுத்தப்பட்டதை மாற அனுமதிக்கவும்"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "ஏதாவது செயல்பாடுகளுக்கு கெர்னல் முறைமுகளை ஏற்ற அனுமதி வேண்டாம்"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "கெர்னல் SELinux பாலிசி செயல்பாட்டை மாற்றியமைக்க அனுமதிக்க வேண்டாம்"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setransக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroublesoot டீமனுக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "ஸ்பேம் பாதுகாப்பு"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Allow spamd க்கு முகப்பு அடைவுகளுடன் அணுக அனுமதி"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Spam Assassin daemon பிணையத்தை அணுக அனுமதி"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "squidஐ டீமனுக்கு பிணையத்துடன் இணைக்க அனுமதி"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh ஆக sysadm_r:sysadm_t உட்புக அனுமதி"
+-#, fuzzy
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen constrolக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"staff_r பயனர்களை sysadm தேடி முகப்பு அடைவு மற்றும் கோப்புகளை வாசிக்க அனுமதி (~/."
++"bashrc போன்று)"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "உலகளாவிய SSL குகை"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "stunnel டீமனை standaloneஆக இயக்க அனுமதி, வெளிப்புறம்  xinetd ஆக"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "system cron பணிக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS Password Daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"xinetd க்கு வரையறுக்கப்படாமல் அனுமதி, திட்டவட்டமாக வரையறுக்கப்பட்ட செயற்கள மொழிபெயர்த்தல் "
++"துவக்க சேவைகளும் இல்லை"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"வரையறுக்கப்படாமல் rc ஸ்க்ரிட்டுகளை இயக்கவும், எதாவது  டீமான் rc ஸ்க்ரிப்ட் திட்டவட்டமாக "
++"வரையறுக்கப்பாட செயற்கள மாற்றமில்லாதவற்றையும் சேர்த்து அனுமதிக்கவும்"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS Transfer Daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "rpm க்கு வரையறுக்கப்படாமல் இயக்க அனுமதி"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "%s '%s'ஐ அழிக்க வேண்டுமா?"
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"hotplug மற்றும் insmod போன்ற வரையறுக்கப்படாத பயனுள்ள முன்னுரிமைகளை இயக்க அனுமதிக்கவும்"
+-#~ msgid "Delete %s"
+-#~ msgstr "%sஐ அழிக்கவும்"
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "Add %s"
+-#~ msgstr "%sஐ சேர்க்கவும்"
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "Modify %s"
+-#~ msgstr "%sஐ மாற்றவும்"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r களை sysadm_r வழியாக su, sudo, அல்லது userhelperக்கு அனுமதி. இல்லையெனில், "
++"staff_r மட்டும் தான் இதை செய்ய முடியும்"
+-#~ msgid "Permissive"
+-#~ msgstr "ஏற்கத்தக்கது"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "ஏறும் கட்டளையை செயல்படுத்த பயனர்களை அனுமதி"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "வழக்கமான பயனர்கள் நேரடி சுட்டி அணுகலை அனுமதி ( X சேவையகத்தை மட்டும் அனுமதி)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "dmesg கட்டளைகள் இயக்குவதற்கு பயனர்களை அனுமதிக்கவும்"
+-#~ msgid "Enforcing"
+-#~ msgstr "கட்டாயப்படுத்தல்"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"பயனர்களை பிணைய இடைமுகத்தை கட்டுப்படுத்த அனுமதி (இதுவும் தேவைப்படுகிறது USERCTL=true)"
+-#~ msgid "Disabled"
+-#~ msgstr "செயல்நீக்கப்பட்டது"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "சாதாரண பயனருக்கு செயல்படுத்தும் பிங்க்கை அனுதிக்கவும் "
+-#~ msgid "Status"
+-#~ msgstr "நிலை"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "r/w noextattrfile (FAT, CDROM, FLOPPY)க்கு பயனர்களை அனுமதிக்கவும்"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr " rw usb சாதனங்களுக்காக பயனர்களை அனுமதி"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "காப்புரிமை (c)2006 Red Hat, Inc.\n"
+-#~ "காப்புரிமை (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:216
++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 ""
++"பயனர்களை TCP சேவையகங்களை இயக்க அனுமதிக்கவும் (வெளியை உள்ள பயனர்கள் மற்றும் அதே செயற்கள "
++"இணைப்பை பிணைப்பிலிருந்து துறைகளை ஏற்கிறது) இந்த வேகத்தை FTP எதிர்க்காத தொகுதிக்கு "
++"மாற்றி நெறிமுறைகளை செயல்நீக்குகிறது"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux புகுபதிவு ஒப்பீட்டை சேர்த்தல்"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "ttyகோப்புகளை துவக்க பயனரை அனுமதி "
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux பிணைய துறைகளை சேர்த்தல்"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux வகை"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "நிலை"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "File Specification"
+-#~ msgstr "கோப்பு குறிப்பிடல்"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "File Type"
+-#~ msgstr "கோப்பு வகை"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdmஆக sysadm_r:sysadm_t உட்புக அனுமதி"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "அனைத்து கோப்புகள்\n"
+-#~ "இயல்பான கோப்பு\n"
+-#~ "அடைவு\n"
+-#~ "எழுத்து சாதனம்\n"
+-#~ "தடுப்பு சாதனம்\n"
+-#~ "சாக்கெட்\n"
+-#~ "குறியீடு இணைப்பு\n"
+-#~ "பெயரிடப்பட்ட பைப்\n"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux பயனர் சேர்த்தல்"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "xen க்கு பிஸிகல் வட்டு சாதனத்தை வாசிக்க/எழுத அனுமதி"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux நிர்வாகம்"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "Add"
+-#~ msgstr "சேர்த்தல்"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen கட்டுபாடுக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "_Properties"
+-#~ msgstr "பண்புகள் (_P)"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "_Delete"
+-#~ msgstr "அழித்தல் (_D)"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS Password Daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "Select Management Object"
+-#~ msgstr "மேலாண்மை பொருளை தேர்ந்தெடுக்கவும்"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>தேர்ந்தெடுத்தல்:</b>"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS Transfer Daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "கணினி முன்னிருப்பு கட்டாயப்படுத்தல் முறை"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr "SELinux webadm user முகப்பு பக்கத்தை சலுகையற்ற பயனரும் மேலாண்மைபடுத்த அனுமதி"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "நடப்பு கட்டாயப்படுத்தும் முறை"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr "SELinux webadm user சலுகையில்லாத பயனர்களும் முகப்பு பக்கத்தை வாசிக்க அனுமதி"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "கணினி முன்னிருப்பு கொள்கை வகை:"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "%s '%s'ஐ அழிக்க வேண்டுமா?"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "அடுத்த மறுதுவக்கத்தில் மறு பெயரிடவும்."
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%sஐ அழிக்கவும்"
+-#~ msgid "label37"
+-#~ msgstr "label37"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%sஐ சேர்க்கவும்"
+-#~ msgid "Filter"
+-#~ msgstr "வடிப்பி"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%sஐ மாற்றவும்"
+-#~ msgid "label50"
+-#~ msgstr "label50"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "ஏற்கத்தக்கது"
+-#~ msgid "Add File Context"
+-#~ msgstr "கோப்பு சூழலை சேர்த்தல்"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "கட்டாயப்படுத்தல்"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "செயல்நீக்கப்பட்டது"
+-#~ msgid "Modify File Context"
+-#~ msgstr "கோப்பு சூழலை மாற்றவும்"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "நிலை"
+-#~ msgid "Delete File Context"
+-#~ msgstr "கோப்பு சூழலை அழிக்கவும்"
++#: ../gui/statusPage.py:133
++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 ""
++"பாலிசி வகையானது அடுத்த மறுபூட்டாக்கப்படும் மொத்த கோப்பு முறைமை மறுலேபிலிட்டு "
++"செயல்படுத்த மாற்றுவதற்கு காரணமாகிறது. கணினியின் கோப்பு முறைமையின் அளவைப் பொருத்து "
++"மறுவேபிலிடுவதை அதிக நேரத்தை எடுக்கிறது.  நீங்கள் தொடர விரும்புகிறீர்களா?"
+-#~ msgid "label38"
+-#~ msgstr "label38"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"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?"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux பயனர் ஒப்பீட்டை சேர்த்தல்"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinuxஆனது அடுத்த மறுபூட்டாக்கப்படும் மொத்த கோப்பு முறைமை மறுலேபிலிட்டு செயல்படுத்த "
++"மாற்றுகிறது. கணினியின் கோப்பு முறைமையின் அளவைப் பொருத்து மறுவேபிலிடுவதை அதிக "
++"நேரத்தை எடுக்கிறது.  நீங்கள் தொடர விரும்புகிறீர்களா?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux பயனர் ஒப்பீட்டை மாற்றவும்"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"காப்புரிமை (c)2006 Red Hat, Inc.\n"
++"காப்புரிமை (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux பயனர் ஒப்பீட்டை அழிக்கவும்"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux புகுபதிவு ஒப்பீட்டை சேர்த்தல்"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux பிணைய துறைகளை சேர்த்தல்"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux வகை"
+-#~ msgid "label39"
+-#~ msgstr "label39"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"நிலை"
+-#~ msgid "Add Translation"
+-#~ msgstr "மொழிபெயர்ப்பை சேர்த்தல்"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "கோப்பு குறிப்பிடல்"
+-#~ msgid "Modify Translation"
+-#~ msgstr "மொழிபெயர்ப்பை மாற்றுதல்"
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "கோப்பு வகை"
+-#~ msgid "Delete Translation"
+-#~ msgstr "மொழிபெயர்ப்பை அழித்தல்"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"அனைத்து கோப்புகள்\n"
++"இயல்பான கோப்பு\n"
++"அடைவு\n"
++"எழுத்து சாதனம்\n"
++"தடுப்பு சாதனம்\n"
++"சாக்கெட்\n"
++"குறியீடு இணைப்பு\n"
++"பெயரிடப்பட்ட பைப்\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux பயனர் சேர்த்தல்"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux நிர்வாகம்"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "சேர்த்தல்"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "பண்புகள் (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "அழித்தல் (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "மேலாண்மை பொருளை தேர்ந்தெடுக்கவும்"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>தேர்ந்தெடுத்தல்:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "கணினி முன்னிருப்பு கட்டாயப்படுத்தல் முறை"
+-#~ msgid "label41"
+-#~ msgstr "label41"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"செயல்நீக்குகிறது\n"
++"ஏற்றத்தக்க\n"
++"வலியுறுத்துகிறது\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "நடப்பு கட்டாயப்படுத்தும் முறை"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "கணினி முன்னிருப்பு கொள்கை வகை:"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux பயனரை மாற்றவும்"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"அடுத்த மறுபூட்டுக்கு நீங்கள் விரும்பும் மறுலேபிலிட்டு பின் மொத்த கோப்பு முறைமையையும் "
++"தேர்ந்தெடு. கணினியின் அளவைப் பொருத்து, மறுலேபிலிடுவது இதுக நேரத்தை எடுக்கிறது. நீங்கள் "
++"பாலிசி வகையை  அல்லது செயல்நீக்கத்திலிருந்து வலியுறுத்தலுக்கு சென்றால், ஒரு மறுலேபில் "
++"தேவைப்படுகிறது."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "அடுத்த மறுதுவக்கத்தில் மறு பெயரிடவும்."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "கணினி முன்னிருப்புக்கு பூலியன் அமைவுகளை திருப்பு"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "Toggle க்கும் திருத்தியமைக்கப்பட்ட மற்றும் அனைத்து பூலியன்களுக்கு இடையே"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "பூட்டப்பட்ட வியப்பான பூலியன்களை இயக்கு"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "பணி நிறுத்து..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "வடிப்பி"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "கோப்பு சூழலை சேர்த்தல்"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "கோப்பு சூழலை மாற்றவும்"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "கோப்பு சூழலை அழிக்கவும்"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Toggle க்கும் திருத்தியமைக்கப்பட்ட அனைத்து மற்றும் கோப்பு உரைகளுக்கும் இடையே"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
+-#~ msgid "label40"
+-#~ msgstr "label40"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux பயனர் ஒப்பீட்டை சேர்த்தல்"
+-#~ msgid "Add Network Port"
+-#~ msgstr "பிணைய துறையை சேர்த்தல்"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux பயனர் ஒப்பீட்டை மாற்றவும்"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux பயனர் ஒப்பீட்டை அழிக்கவும்"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "பயனரைச் சேர்க்கவும்"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "பயனரை மாற்றவும்"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "பயனரை அழிக்கவும்"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "மொழிபெயர்ப்பை சேர்த்தல்"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "மொழிபெயர்ப்பை மாற்றுதல்"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "மொழிபெயர்ப்பை அழித்தல்"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "பிணைய துறையை சேர்த்தல்"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "பிணைய துறையை திருத்தவும்"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "பிணைய துறையை அழிக்கவும்"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Toggle க்கும் திருத்தியமைக்கப்பட்ட மற்றும் அனைத்து துறைகளுக்கும் இடையே"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "புதிய கொள்கை தொகுதியை உருவாக்கவும்"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "கொள்கை தொகுதியை ஏற்றவும்"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "ஏற்றக்கூடிய கொள்கை தொகுதியை நீக்கவும்"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "பிணைய துறையை திருத்தவும்"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"கூடுதல் பரிசோதிக்கப்பட்ட விதிகளை செயல்படுத்து/செயல்நீக்கு, அடைவு கோப்புகளில் சாதாரணமாக "
++"குறிப்பிடவில்லை."
+-#~ msgid "Delete Network Port"
+-#~ msgstr "பிணைய துறையை அழிக்கவும்"
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
+-#~ msgid "label42"
+-#~ msgstr "label42"
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "செயல் முறைமையை ஏற்கத்தக்கதாக மாற்றவும்."
+-#~ msgid "Generate new policy module"
+-#~ msgstr "புதிய கொள்கை தொகுதியை உருவாக்கவும்"
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "செயல் முறைமையை வலியுறுத்தி மாற்றவும்"
+-#~ msgid "Load policy module"
+-#~ msgstr "கொள்கை தொகுதியை ஏற்றவும்"
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "செயற்களத்தை செயல்படுத்துகிறது"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "ஏற்றக்கூடிய கொள்கை தொகுதியை நீக்கவும்"
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "label44"
+-#~ msgstr "label44"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux பயனர் '%s' தேவைப்படுகிறது"
+ #~ msgid "Sensitvity Level"
+ #~ msgstr "உணர்வுள்ள நிலை"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux பயனர் '%s' தேவைப்படுகிறது"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "மதிப்பு தேவைப்படுகிறது"
++#~ msgid "Modules Name"
++#~ msgstr "தொகுதிகள் பெயர்"
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "தவறான முன்னொட்டு %s"
++#~ msgid "Could not disable module %s (remove failed)"
++#~ msgstr "தொகுதி %sஐ செயல்நீக்க முடியவில்லை (நீக்க முடியவில்லை)"
+-#~ msgid "label25"
+-#~ msgstr "label25"
++#~ msgid "Could not enable module %s (remove failed)"
++#~ msgstr "தொகுதி %sஐ செயல்படுத்த முடியவில்லை (நீக்க முடியவில்லை)"
+-#~ msgid "label26"
+-#~ msgstr "label26"
++#~ msgid "Could not remove module %s (remove failed)"
++#~ msgstr "தொகுதி %sஐ நீக்க முடியவில்லை (நீக்க முடியவில்லை)"
+-#~ msgid "label28"
+-#~ msgstr "label28"
++#~ msgid "dontaudit requires either 'on' or 'off'"
++#~ msgstr "'on' அல்லது 'off' க்கு dontaudit தேவைப்படுகிறது"
+-#~ msgid "label30"
+-#~ msgstr "label30"
++#~ msgid "Equivalence class for %s already exists"
++#~ msgstr "%sலின் சமநிலை வகுப்பு ஏற்கனவே உள்ளது"
+-#~ msgid "label31"
+-#~ msgstr "label31"
+-
+-#~ msgid "label32"
+-#~ msgstr "label32"
+-
+-#~ msgid "label33"
+-#~ msgstr "label33"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "பதிவு செய்யப்படாத துறைகள்  (> 1024)"
+-
+-#~ msgid "label34"
+-#~ msgstr "label34"
+-
+-#~ msgid "label35"
+-#~ msgstr "label35"
+-
+-#, fuzzy
+-#~ msgid "label51"
+-#~ msgstr "label25"
++#~ msgid "Equivalence class for %s does not exists"
++#~ msgstr "%sக்கு சமநிலை வகுப்பு இல்லை"
+ #~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
++#~ "\n"
++#~ "SELinux fcontext Equivalence \n"
+ #~ msgstr ""
+-#~ "கட்டாயப்படுத்தல்\n"
+-#~ "ஏற்கத்தக்கது\n"
+-#~ "செயல்நீக்கப்பட்டது\n"
+-
+-#~ msgid "value"
+-#~ msgstr "மதிப்பு"
++#~ "\n"
++#~ "SELinux fcontext சமநிலை \n"
+-#~ msgid "Other"
+-#~ msgstr "வேறு"
++#~ msgid "Internet Services Daemon"
++#~ msgstr "Internet Services Daemon"
+-#~ msgid "XWindows Login User"
+-#~ msgstr "XWindows புகுபதிவு பயனர்"
++#~ msgid "use_kerberos must be a boolean value "
++#~ msgstr "use_kerberos ஒரு பூலியன் மதிப்பாக இருக்க வேண்டும்"
+-#~ msgid "Terminal Login User"
+-#~ msgstr "முனைய புகுபதிவு பயனர்"
+-
+-#~ msgid "Files and Directories"
+-#~ msgstr "கோப்புகள் மற்றும் அடைவுகள்"
+-
+-#~ msgid "Login"
+-#~ msgstr "புகுபதிவு"
+-
+-#~ msgid "FTP"
+-#~ msgstr "FTP"
+-
+-#~ msgid "Zebra"
+-#~ msgstr "Zebra"
+-
+-#~ msgid "Disable SELinux protection for ftpd daemon"
+-#~ msgstr "ftpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for httpd daemon"
+-#~ msgstr "httpd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for pppd daemon"
+-#~ msgstr "pppd daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Disable SELinux protection for the mozilla ppp daemon"
+-#~ msgstr "mozilla ppp daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Spam Assassin"
+-#~ msgstr "Spam Assassin"
+-
+-#~ msgid "Disable SELinux protection for zebra daemon"
+-#~ msgstr "zebra daemonக்கு SELinux பாதுகாப்பை செயல்நீக்கவும்"
+-
+-#~ msgid "Label Prefix"
+-#~ msgstr "முன்னொட்டு பெயர்"
+-
+-#~ msgid "MLS/MCS Level"
+-#~ msgstr "MLS/MCS நிலை"
++#~ msgid "manage_krb5_rcache must be a boolean value "
++#~ msgstr "manage_krb5_rcache ஒரு பூலியன் மதிப்பாக இருக்க வேண்டும்"
+ #~ msgid ""
+-#~ "Labeling\n"
+-#~ "Prefix"
++#~ "\n"
++#~ "%s\n"
++#~ "\n"
++#~ "polgen [ -m ] [ -t type ] executable\n"
++#~ "valid Types:\n"
+ #~ msgstr ""
+-#~ "பெயரிடல்\n"
+-#~ "முன்னொட்டு"
++#~ "\n"
++#~ "%s\n"
++#~ "\n"
++#~ "polgen [ -m ] [ -t type ] executable\n"
++#~ "valid Types:\n"
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Level"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS நிலை"
++#~ msgid "Executable required"
++#~ msgstr "இயங்கக்கூடியது தேவைப்படுகிறது"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/te.po policycoreutils-2.0.85/po/te.po
+--- nsapolicycoreutils/po/te.po        2011-02-17 15:11:25.474729106 -0500
++++ policycoreutils-2.0.85/po/te.po    2011-02-18 16:03:41.445976270 -0500
+@@ -1,16 +1,17 @@
+-# translation of new_policycoreutils.HEAD.te.po to Telugu
++# translation of policycoreutils.HEAD.te.po to Telugu
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+ # This file is distributed under the same license as the PACKAGE package.
+ #
+-# Krishna Babu K <kkrothap@redhat.com>, 2008.
++# Krishna Babu K <kkrothap@redhat.com>, 2008, 2009, 2010.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: new_policycoreutils.HEAD.te\n"
++"Project-Id-Version: policycoreutils.HEAD.te\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-03-24 13:20+0530\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 20:34+0530\n"
+ "Last-Translator: Krishna Babu K <kkrothap@redhat.com>\n"
+ "Language-Team: Telugu <en@li.org>\n"
++"Language: te\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+@@ -22,6 +23,28 @@
+ "\n"
+ "\n"
+ "\n"
++"\n"
++"\n"
++"\n"
++"\n"
++"\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "SELinuxను గ్రాఫికల్ అమర్పునందు ఆకృతీకరించుము"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux నిర్వహణ"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "SELinux పాలసీ మాడ్యూళ్ళను వుద్భవింపచేయుము"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux పాలసి ఉద్భవన సాధనం"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -112,9 +135,8 @@
+ msgstr "semanage అనుసంధానంను ఎర్పరచలేక పోయింది."
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "%s కొరకు MLS స్థాయిని అమర్చలేకపోయింది"
++msgstr "MLS చేతనమైన స్థితిని పరిశీలించలేక పోయింది"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -129,7 +151,8 @@
+ msgid "Level"
+ msgstr "స్థాయి"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "అనువాదము"
+@@ -159,764 +182,765 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage వ్యవహారము యిప్పటికే పురోగతినందు వున్నది"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "semanage వ్యవహారాన్ని ప్రారంభించ లేకపోయింది"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "semanage వ్యవహారాన్ని ప్రారంభించ లేకపోయింది"
++msgstr "semanage వ్యవహారాన్ని అప్పగించ(commit)లేక పోయింది"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage వ్యవహారము పురోగతినందు లేదు"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "SELinux వినియోగదారులను జాబితా చేయలేకపోయింది"
++msgstr "SELinux మాడ్యూల్సును జాబితా చేయలేకపోయింది"
+ #: ../semanage/seobject.py:336
+-#, fuzzy
+ msgid "Permissive Types"
+-msgstr "అనుమతిగల"
++msgstr "అనుమతిగల రకములు"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "అనుమతిగల డొమైన్ %sను అమర్చలేక పోయింది (మాడ్యూల్ సంస్థాపన విఫలమైంది)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "అనుమతిగల డొమైన్ %sను తొలగించలేక పోయింది (తొలగింపు విఫలమైంది)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "%s కొరకు కీను సృష్టించలేకపోయింది"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "%s కొరకు లాగిన్ మాపింగ్ నిర్వచించబడివుంటే పరిశీలించకుండా ఉండేది"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s కొరకు లాగిన్ మాపింగ్ ఇప్పటికే నిర్వచించబడివుంది"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "లినక్స్‍ వినియోగదారి %s లేడు"
++msgstr "లినక్స్‍ సమూహము %s లేదు"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "లినక్స్‍ వినియోగదారి %s లేడు"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "%s కొరకు లాగిన్ మాపింగ్‌ను సృష్టించలేదు"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "%s కొరకు నామమును అమర్చలేక పోయింది"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "%s కొరకు MLS స్థాయిని అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "%s కొరకు SELinux వినియోగదారిని అమర్చలేక పోయింది"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "%s కొరకు లాగిన్ మాపింగ్‌ను జతచేయ లేకపోయింది"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "SELinux వినియోగదారి మాపింగ్‌ను జతచేయి"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "seuser లేదా serange అవసరము"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s కొరకు లాగిన్ మాపింగ్ నిర్వచించబడలేదు"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "%s కొరకు seuser ను క్వరీ చేయలేకపోయింది"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "%s కొరకు లాగిన్ మాపింగ్‌ను సవరించ లేకపోయింది"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s కొరకు లాగిన్ మాపింగ్ విధానంనందు నిర్వచించబడినది, తొలగించబడలేదు"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "%s కు లాగిన్ మాపింగ్‌ను తొలగించలేక పోయింది"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "లాగిన్ మాపింగ్స్‍‌ను జాబితా చేయలేకపోయింది"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "లాగిన్ నామము"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux వినియోగదారి"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS వ్యాప్తి"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "%s కొరకు దస్త్రము సందర్భంను జతచేయలేకపోయింది"
++msgstr "%s కొరకు మీరు కనీసము వొక పాత్రను జతచేయవలెను"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "SELinux వినియోగదారి %s నిర్వచించబడివుంటే పరిశీలించకుండా ఉండేది"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux వినియోగదారి %s ఇప్పటికే నిర్వచించబడివుంది"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "%s కొరకు SELinux వినియోగదారిని సృష్టించ లేకపోయింది"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "పాత్ర %s ను %s కొరకు జతచేయ లేకపోయింది"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "%s కు MLS స్థాయిని అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "ప్రిఫిక్స్‍ %s ను %s కు జతచేయ లేకపోయింది"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "%s కొరకు కీను బయల్పరచ లేకపోయింది"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "SELinux వినియోగదారి %s ను జతచేయలేకపోయింది"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "ప్రిఫిక్స్‍, పాత్రలు, స్థాయి లేదా వ్యాప్తి అవసరము"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "ప్రిఫిక్స్‍ లేదా పాత్రలు అవసరము"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux వినియోగదారి %s నిర్వచించబడలేదు"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "%s కొరకు వినియోగదారిని క్వరీ చేయలేకపోయింది"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "SELinux వినియోగదారి %s ను సవరించలేదు"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux వినియోగదారి %s విధానం లో నిర్వచించబడినది, తొలగింపబడలేదు"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "SELinux వినియోగదారి %s ను తొలగించ లేకపోయింది"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "SELinux వినియోగదారులను జాబితా చేయలేకపోయింది"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "వినియోగదారి %s కొరకు పాత్రలను జాబితా చేయలేకపోయింది"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "లేబిలింగ్"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "ప్రిఫిక్స్‍"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS స్థాయి"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS వ్యాప్తి"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux పాత్రలు"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "నియమం udp లేదా tcp అవసరము"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "పోర్ట్‍ అవసరము"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "%s/%s కొరకు కీను సృష్టించ లేకపోయింది"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "రకము అవసరము"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "పోర్ట్‍ %s/%s నిర్వచించివుంటే పరిశీలించకుండా ఉండేది"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "పోర్ట్‍ %s/%s ఇప్పటికే నిర్వచించబడివుంది"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "%s/%s కొరకు పోర్ట్‍‌ను సృష్టించ లేకపోయింది"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "%s/%s కొరకు సందర్భంను సృష్టించలేకపోయింది"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "%s/%s కొరకు పొర్ట్‍ సందర్భంనందు వినియోగదారిని అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "%s/%s కొరకు పోర్ట్‍ సందర్భంనందు పాత్రను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "%s/%s కొరకు పోర్ట్‍ సందర్భంనందు రకంను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "%s/%s కొరకు పోర్ట్‍ సందర్భంనందు mls క్షేత్రాలను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "%s/%s కొరకు పోర్ట్‍ సందర్భంను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "పోర్ట్‍ %s/%s ను జతచేయలేకపోయింది"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "setype లేదా serange అవసరము"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "setype అవసరము"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "పోర్ట్‍ %s/%s నిర్వచించబడిలేదు"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "పోర్ట్‍ %s/%s ను క్వరీ చేయలేకపోయింది"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "పోర్ట్‍ %s/%s ను సవరించలేకపోయింది"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "పోర్ట్స్‍ ను జాబితాచేయలేకపోయింది"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "పోర్ట్‍ %s ను తోలగించలేకపోయింది"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "పోర్ట్‍ %s/%s విధానం నందు నిర్వచించబడింది, తొలగింపబడలేదు"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "పోర్ట్‍ %s/%s ను తోలగించలేకపోయింది"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "పోర్ట్స్‍ ను జాబితాచేయలేకపోయింది"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux పోర్ట్‍ రకము"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "పోర్ట్‍ సంఖ్య"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "పోర్ట్‍ అవసరము"
++msgstr "నోడు చిరునామా అవసరమైనది"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "పోర్ట్‍ అవసరము"
++msgstr "నోడు నెట్‌మాస్కు అవసరమైనది"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "తెలియని లేదా తప్పిపోయిన నిభందన"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux రకము అవసరము"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "%s కొరకు కీను సృష్టించలేకపోయింది"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "పోర్ట్‍ %s/%s నిర్వచించివుంటే పరిశీలించకుండా ఉండేది"
++msgstr "%s చిరునామా నిర్వచించబడివుంటే పరిశీలించలేక పోయేది"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "పోర్ట్‍ %s/%s ఇప్పటికే నిర్వచించబడివుంది"
++msgstr "చిరునామా %s ఇప్పటికే నిర్వచించబడివుంది"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "%s కొరకు కీను సృష్టించలేకపోయింది"
++msgstr "%s కొరకు చిరునామాను సృష్టించలేకపోయింది"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "%s కొరకు సందర్భంను సృష్టించలేకపోయింది"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "%s కొరకు నామమును అమర్చలేక పోయింది"
++msgstr "%s కొరకు తొడుగు(మాస్కు)ను అమర్చలేక పోయింది"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "%s కొరకు దస్త్ర సందర్భంనందు వినియోగదారిని అమర్చలేకపోయింది"
++msgstr "%s కొరకు చిరునామా సందర్భంనందు వినియోగదారిని అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "%s కొరకు దస్త్ర సందర్భంనందు పాత్రను అమర్చలేకపోయింది"
++msgstr "%s కొరకు చిరునామా సందర్భంనందు పాత్రను అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "%s కొరకు దస్త్ర సందర్భంనందు రకమును అమర్చలేకపోయింది"
++msgstr "%s కొరకు చిరునామా సందర్భంనందు రకమును అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "%s కొరకు దస్త్ర సందర్భంనందు mls క్షేత్రాలను అమర్చలేకపోయింది"
++msgstr "%s కొరకు చిరునామా సందర్భంనందు mls క్షేత్రాలను అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "%s కొరకు దస్త్రము సందర్భంను అమర్చలేకపోయింది"
++msgstr "%s కొరకు చిరునామా సందర్భంను అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "పోర్ట్‍ %s/%s ను జతచేయలేకపోయింది"
++msgstr "చిరునామా %s జతచేయలేక పోయింది"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "పోర్ట్‍ %s/%s నిర్వచించబడిలేదు"
++msgstr "చిరునామా %s నిర్వచించబడిలేదు"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "పోర్ట్‍ %s/%s ను క్వరీ చేయలేకపోయింది"
++msgstr "చిరునామా %sను క్వరీచేయలేక పోయింది"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "పోర్ట్‍ %s/%s ను సవరించలేకపోయింది"
++msgstr "చిరునామా %sను సవరించలేక పోయింది"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "పోర్ట్‍ %s/%s విధానం నందు నిర్వచించబడింది, తొలగింపబడలేదు"
++msgstr "విధానం నందు నిర్వచించబడిన చిరునామా %s, తొలగింపబడలేదు"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "%s ను తొలగించలేకపోయింది"
++msgstr "చిరునామా %sను తొలగించలేక పోయింది"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "పోర్ట్స్‍ ను జాబితాచేయలేకపోయింది"
++msgstr "చిరునామాలను జాబితా చేయలేక పోయింది"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "అంతర్‌ఫలకం %s నిర్వచించివుంటే పరిశీలించకుండా ఉండేది"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "అంతర్‌ఫలకం %s ఇప్పటికే నిర్వచించబడివుంది"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "%s కొరకు అంతర్‌ఫలకంను సృష్టించ లేకపోయింది"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "%s కొరకు అంతర్‌ఫలకం సందర్భంనందు వినియోగదారిని అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "%s కొరకు అంతర్‌ఫలకం సందర్భంనందు పాత్రను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "%s కొరకు అంతర్‌ఫలకం సందర్భంనందు రకమును అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "%s కొరకు అంతర్‌ఫలకం సందర్భంనందు mls క్షేత్రములను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "%s కొరకు అంతర్‌ఫలకం సందర్భం ను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "%s కొరకు సందేశం సందర్భంను అమర్చ లేకపోయింది"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "అంతర్‌ఫలకం %s ను జతచేయలేకపోయింది"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "అంతర్‌ఫలకం %s నిర్వచించబడిలేదు"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "అంతర్‌ఫలకం %s ను క్వరీ చేయలేకపోయింది"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "అంతర్‌ఫలకం %s ను సవరించలేకపోయింది"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "అంతర్‌ఫలకం %s విధానంనందు నిర్వచించబడివుంది, తోలగింపబడలేదు"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "అంతర్‌ఫలకం %s ను తొలగించలేకపోయింది"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "అంతర్‌ఫలకంలను జాబీతా చేయలేకపోయింది"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux అంతర్‌ఫలకం"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "సందర్భము"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "%s కొరకు దస్త్ర సందర్భంనందు వినియోగదారిని అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "%s కొరకు దస్త్ర సందర్భంనందు పాత్రను అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "%s కొరకు దస్త్ర సందర్భంనందు mls క్షేత్రాలను అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "సరికాని దస్త్రము విశదీకరణము"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "%s కొరకు దస్త్ర సందర్భం నిర్వచించబడివుంటే పరిశీలించకుండా ఉండేది"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s కొరకు దస్త్ర సందర్భం ఇప్పటికే నిర్వచించబడివుంది"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "%s కొరకు దస్త్ర సందర్భంను సృష్టించలేకపోయింది"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "%s కొరకు దస్త్ర సందర్భంనందు రకమును అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "%s కొరకు దస్త్రము సందర్భంను అమర్చలేకపోయింది"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "%s కొరకు దస్త్రము సందర్భంను జతచేయలేకపోయింది"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "setype, serange లేదా seuser అవసరము"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s కొరకు దస్త్రము సందర్భం నిర్వచించబడిలేదు"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "%s కొరకు దస్త్రము సందర్భంను క్వరీచేయలేకపోయింది"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "దస్త్రము సందర్భంను %s కొరకు సవరించలేదు"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "దస్త్రము సందర్భంలను జాబితా చేయలేకపోయింది"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "దస్త్రము సందర్భం %sను తొలగించలేకపోయింది"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s కొరకు దస్త్రము సందర్భం విధానంలో నిర్వచించబడివుంది, తొలగింపబడలేదు"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "%s కొరకు దస్త్రము సందర్భంను తొలగించలేకపోయింది"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "దస్త్రము సందర్భంలను జాబితా చేయలేకపోయింది"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "స్థానిక దస్త్ర సందర్భంలను జాబితాచేయలేకపోయింది"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "రకము"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "బూలియన్ %s నిర్వచించబడితే పరిశీలించి ఉండేదికాదు"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "బూలియన్ %s నిర్వచించబడిలేదు"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "దస్త్రము సందర్భం %s ను క్వరీ చేయలేకపోయింది"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "మీరు తప్పక ఒక విలువను తెలుపవలెను"
++msgstr "ఈక్రింది విలువలలో వొకదానిని మీరు తప్పక తెలుపవలెను: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "బూలియన్ %s తొలగింపలేకపోయింది"
++msgstr "బూలియన్ %s యొక్క క్రియాశీల విలువను అమర్చలేక పోయింది"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "బూలియన్ %s ను సవరించలేకపోయింది"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "చెడ్డ రూపీకరణం %s: రికార్డు %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "బూలియన్ %s విధానంనందు నిర్వచించబడివుంది, తొలగింపబడలేదు"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "బూలియన్ %s తొలగింపలేకపోయింది"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "బూలియన్స్‍ ను జాబితాచేయలేకపోయింది"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "తెలియని"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "ఆఫ్"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "ఆన్"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux బూలియన్"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "వివరణ"
+@@ -956,9 +980,9 @@
+ msgstr "వాతావరణంను శుభ్రంచేయలేదు\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "సామర్ధ్యాలను సిద్దముచేయుటలో దోషము, బహిష్కరిస్తోంది.\n"
++msgstr "సామర్థ్యాలను సిద్దముచేయుటలో దోషము, నిరర్ధకముగా ముగించింది.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1288,1667 +1312,2189 @@
+ msgid "Options Error %s "
+ msgstr "ఐచ్చికముల దోషము %s "
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "non-MLS మిషన్స్‍ పైన అనువాదములు మద్దతీయబడవు"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "బూలియన్"
+-
+-#~ msgid "all"
+-#~ msgstr "అన్ని"
+-
+-#~ msgid "Customized"
+-#~ msgstr "మలచుకొనిన"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "బూలియన్"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "అన్ని"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "మలచుకొనిన"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "దస్త్రము లేబులింగ్"
+-#~ msgid "File Labeling"
+-#~ msgstr "దస్త్రము లేబులింగ్"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "దస్త్రము\n"
+-#~ "విశదీకరణము"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "దస్త్రము రకము"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "దస్త్రము\n"
+-#~ "రకము"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "వినియోగదారి మాపింగ్"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "లాగిన్\n"
+-#~ "నామము"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "వినియోగదారి"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS వ్యాప్తి"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "లాగిన్ '%s' అవసరము"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "విధానం మాడ్యూల్"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "మాడ్యూల్ నామము"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"దస్త్రము\n"
++"విశదీకరణము"
+-#~ msgid "Version"
+-#~ msgstr "వర్షన్"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"దస్త్రము రకము"
+-#~ msgid "Disable Audit"
+-#~ msgstr "ఆడిట్ అచేతనంచేయుము"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"దస్త్రము\n"
++"రకము"
+-#~ msgid "Enable Audit"
+-#~ msgstr "ఆడిట్ చేతనంచేయి"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "వినియోగదారి మాపింగ్"
+-#~ msgid "Load Policy Module"
+-#~ msgstr "విధానం మాడ్యూల్‌ను నింపుము"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"లాగిన్\n"
++"నామము"
+-#~ msgid "Polgen"
+-#~ msgstr "పోల్గెన్"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"వినియోగదారి"
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS వ్యాప్తి"
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "లాగిన్ '%s' అవసరము"
+-#~ msgid "translator-credits"
+-#~ msgstr "కృష్ణబాబు <kkrothap@redhat.com> 2008"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "విధానం మాడ్యూల్"
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux పాలసి ఉద్భవన సాధనం"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "మాడ్యూల్ నామము"
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "SELinux వినియోగదారులను లేదా అనువర్తనాలను పరిమితం చేయుటకు, ఈ సాధనం విధానం ఫ్రేమ్‌వర్క్‍ "
+-#~ "ఉద్భవింపచేయుటకు ఉపయోగించగలము.   \n"
+-#~ "\n"
+-#~ "ఆ సాధనం ఉద్భవింపచేస్తుంది:\n"
+-#~ "టైప్ ఎన్ఫోర్స్‍‌మెంట్ దస్త్రము (te)\n"
+-#~ "ఇంటర్ఫేస్ ఫైల్ (if)\n"
+-#~ "ఫైల్ కాంటెక్స్ట్‍ దస్త్రము (fc)\n"
+-#~ "షెల్ స్క్రిప్ట్‍ (sh) - నిర్వర్తించుటకు మరియు సంస్థాపించుటకు ఉపయోగపడుతుంద ."
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "వర్షన్"
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "పరిమితం చేయుటకు అనువర్తనం/వినియోగదారి పాత్ర యొక్క రకమును ఎంపికచేయుము"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "ఆడిట్ అచేతనంచేయుము"
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>అనువర్తనములు</b>"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "ఆడిట్ చేతనంచేయి"
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "ప్రామాణిక Init డెమోన్ బూట్ నందు init స్క్రిప్ట్స్‍ ద్వారా ప్రారంభమగు డెమోన్స్‍.  సాదారణంగా /etc/rc.d/"
+-#~ "init.d నందు ఒక స్క్రిప్టు కావాలి"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "విధానం మాడ్యూల్‌ను నింపుము"
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "ప్రామాణిక Init డెమోన్‌"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "పోల్గెన్"
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "ఇంటర్నెట్ సేవల డెమోన్ xinetd ద్వారా ప్రారంభించిన డెమోన్స్‍"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "ఇంటర్నెట్ సేవల డెమోన్ (inetd)"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr ""
+-#~ "వెబ్ అనువర్తనములు/స్క్రిప్ట్‍ (CGI) CGI స్క్రిప్ట్స్‍ వెబ్ సేవిక ద్వారా ప్రారంభించబడినవి (apache)"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "కృష్ణబాబు <kkrothap@redhat.com> 2008"
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "వెబ్ అనువర్తనము/స్క్రిప్ట్‍ (CGI)"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"SELinux వినియోగదారులను లేదా అనువర్తనాలను పరిమితం చేయుటకు, ఈ సాధనం విధానం ఫ్రేమ్‌వర్క్‍ "
++"ఉద్భవింపచేయుటకు ఉపయోగించగలము.   \n"
++"\n"
++"ఆ సాధనం ఉద్భవింపచేస్తుంది:\n"
++"టైప్ ఎన్ఫోర్స్‍‌మెంట్ దస్త్రము (te)\n"
++"ఇంటర్ఫేస్ ఫైల్ (if)\n"
++"ఫైల్ కాంటెక్స్ట్‍ దస్త్రము (fc)\n"
++"షెల్ స్క్రిప్ట్‍ (sh) - నిర్వర్తించుటకు మరియు సంస్థాపించుటకు ఉపయోగపడుతుంద ."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "పరిమితం చేయుటకు అనువర్తనం/వినియోగదారి పాత్ర యొక్క రకమును ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>అనువర్తనములు</b>"
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr ""
+-#~ "వినియోగదారుని చేత ప్రారంభించబడి మీరు పరిమితం చేయుటకు ఇష్టపడు ఏ అనువర్తనమైనా వినియోగదారుని "
+-#~ "అనువర్తనమే"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"ప్రామాణిక Init డెమోన్ బూట్ నందు init స్క్రిప్ట్స్‍ ద్వారా ప్రారంభమగు డెమోన్స్‍.  సాదారణంగా /etc/rc.d/"
++"init.d నందు ఒక స్క్రిప్టు కావాలి"
+-#~ msgid "User Application"
+-#~ msgstr "వినియోగదారి అనువర్తనము"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "ప్రామాణిక Init డెమోన్‌"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS సిస్టమ్ డెమోన్"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "ఇంటర్నెట్ సేవల డెమోన్ xinetd ద్వారా ప్రారంభించిన డెమోన్స్‍"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "ఇంటర్నెట్ సేవల డెమోన్ (inetd)"
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>లాగిన్ వినియోగదారులు</b>"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "వెబ్ అనువర్తనములు/స్క్రిప్ట్‍ (CGI) CGI స్క్రిప్ట్స్‍ వెబ్ సేవిక ద్వారా ప్రారంభించబడినవి (apache)"
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "ఉన్న లాగిన్ వినియోగదారి రికార్డ్‍‌ను సవరించుము"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "వెబ్ అనువర్తనము/స్క్రిప్ట్‍ (CGI)"
+-#~ msgid "Existing User Roles"
+-#~ msgstr "ఉన్న వినియోగాదారి పాత్రలు"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"వినియోగదారుని చేత ప్రారంభించబడి మీరు పరిమితం చేయుటకు ఇష్టపడు ఏ అనువర్తనమైనా వినియోగదారుని అనువర్తనమే"
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "ఈ వినియోగాదారి మిషన్‌కు టెర్మినల్ లేదా దూరస్థ లాగిన్ ద్వారా లాగిన్ అవుతాడు.  అప్రమేయంగా ఈ వినియోగదారి ఏ "
+-#~ "setuid, networking, sudo, su లను కలిగివుండడు."
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "వినియోగదారి అనువర్తనము"
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "కనీస టెర్మినల్ వినియోగదారి పాత్ర"
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>లాగిన్ వినియోగదారులు</b>"
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "ఈ వినియోగాదారి మిషన్‌కు X లేదా టెర్మినల్ ద్వారా లాగిన్ కాగలడు.  అప్రమేయంగా ఈ వినియోగదారి ఏ setuid, "
+-#~ "networking, sudo, su లను కలిగివుండడు"
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "ఉన్న లాగిన్ వినియోగదారి రికార్డ్‍‌ను సవరించుము"
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "కనీస X విండోస్ వినియోగదారి పాత్ర"
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "ఉన్న వినియోగాదారి పాత్రలు"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "పూర్తి నెట్వర్కింగ్ తో, బదిలీకరణ లేకుండా setuid లేని అనువర్తనాలు, sudo కాని, su కాని వినియోగదారి."
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"ఈ వినియోగాదారి మిషన్‌కు టెర్మినల్ లేదా దూరస్థ లాగిన్ ద్వారా లాగిన్ అవుతాడు.  అప్రమేయంగా ఈ వినియోగదారి ఏ "
++"setuid, networking, sudo, su లను కలిగివుండడు."
+-#~ msgid "User Role"
+-#~ msgstr "వినియోగదారి పాత్ర"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "కనీస టెర్మినల్ వినియోగదారి పాత్ర"
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "పూర్తి నెట్వర్కింగ్ తో, బదిలీకరణ లేని ఏ setuid అనువర్తనాలు లేని, su కాని, వినియోగదారి రూట్ నిర్వహణా "
+-#~ "నియమాలను sudo చేయగలడు"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"ఈ వినియోగాదారి మిషన్‌కు X లేదా టెర్మినల్ ద్వారా లాగిన్ కాగలడు.  అప్రమేయంగా ఈ వినియోగదారి ఏ setuid, "
++"networking, sudo, su లను కలిగివుండడు"
+-#~ msgid "Admin User Role"
+-#~ msgstr "నిర్వహణాధికారి వినియోగదారి పాత్ర"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "కనీస X విండోస్ వినియోగదారి పాత్ర"
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>రూట్ వినియోగదారులు</b>"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"పూర్తి నెట్వర్కింగ్ తో, బదిలీకరణ లేకుండా setuid లేని అనువర్తనాలు, sudo కాని, su కాని వినియోగదారి."
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "ఈ వినియోగదారిని మిషన్ రూట్‌గా నడుస్తున్నప్పుడు నిర్వహణాధికారిగా ఉపయోగించాలంటే, రూట్ వినియోగదారి పాత్రను "
+-#~ "ఎంపికచేయి.  ఈ వినియోగదారి సిస్టమకు నేరుగా లాగిన్ కాలేడు."
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "వినియోగదారి పాత్ర"
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "రూట్ నిర్వహణాదికారి వినియోగదారి పాత్ర"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"పూర్తి నెట్వర్కింగ్ తో, బదిలీకరణ లేని ఏ setuid అనువర్తనాలు లేని, su కాని, వినియోగదారి రూట్ నిర్వహణా "
++"నియమాలను sudo చేయగలడు"
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "పరిమితం చేయుటకు అనువర్తనం లేదా వినియోగదారి పాత్ర ను ప్రవేశపెట్టుము"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "నిర్వహణాధికారి వినియోగదారి పాత్ర"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>రూట్ వినియోగదారులు</b>"
+-#~ msgid "Name"
+-#~ msgstr "నామము"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"ఈ వినియోగదారిని మిషన్ రూట్‌గా నడుస్తున్నప్పుడు నిర్వహణాధికారిగా ఉపయోగించాలంటే, రూట్ వినియోగదారి పాత్రను "
++"ఎంపికచేయి.  ఈ వినియోగదారి సిస్టమకు నేరుగా లాగిన్ కాలేడు."
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "పరిమితంగా ఉండుటకు నిర్వర్తనంకు పూర్తి పాత్‌ను ప్రవేశపెట్టుము."
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "రూట్ నిర్వహణాదికారి వినియోగదారి పాత్ర"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "పరిమితం చేయుటకు అనువర్తనం లేదా వినియోగదారి పాత్ర ను ప్రవేశపెట్టుము"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "నామము"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "పరిమితంగా ఉండుటకు నిర్వర్తనంకు పూర్తి పాత్‌ను ప్రవేశపెట్టుము."
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "పరిమిత వినియోగదారి లేదా అనువర్తనం పాత్రకు ఏకైక నామమును ప్రవేశపెట్టుము."
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "నిర్వర్తించతగిన"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init లిపి"
+-#~ msgid "..."
+-#~ msgstr "..."
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "పరిమిత అనువర్తనంను ప్రారంభించుటకు ఉపయోగించు init స్క్రిప్ట్‍ కు పూర్తి పాత్ ప్రవేశపెట్టుము."
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "పరిమిత వినియోగదారి లేదా అనువర్తనం పాత్రకు ఏకైక నామమును ప్రవేశపెట్టుము."
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "మీరు మలచాలని అనుకుంటున్న వినియోగదారి పాత్రలను ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "ఈ అనువర్తనాల డొమైన్స్‍‌కు బదిలీకరించబోవు వినియోగదారి దస్త్రాలను ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "ఈ వినియోగదారి పాత్ర బదిలీకరించబడు అదనపు డోమైన్స్‍ ఎంపికచేయుము"
+-#~ msgid "Executable"
+-#~ msgstr "నిర్వర్తించతగిన"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "ఈ వినియోగదారి పాత్రను బదిలీకరణకు చేయుటకు మీరు ఇష్టపడే అనువర్తనాల డోమైన్స్‍‌ను ఎంపికచేయుము."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "ఈ డొమైన్‌కు బదిలీకరించబడు వినియోగదారి పాత్రలను ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "ఈ వినియోగదారి అధికారికాబోవు అదనపు డోమైన్స్‍ ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "ఈ వినియోగదారి నిర్వహించుటకు మీరు ఇష్టపడు డొమైన్స్‍‌ను ఎంపికచేయుము."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "ఈ వినియోగదారికి అదనపు పాత్రలను ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "ఈ అనువర్తనం/వినియోగదారి పాత్ర సంధానంకు నెట్వర్క్‍ పోర్ట్స్‍ ప్రవేశపెట్టుము"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP పోర్ట్స్‍</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "ఏ udp పోర్ట్‍‌కైనా బంధనం అగుటకు పరిమిత అనువర్తనం/వినియోగదారి పాత్రను అనుమతిస్తుంది"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "అన్ని"
+-#~ msgid "Init script"
+-#~ msgstr "Init లిపి"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"bindresvport ను 0 తో కాల్ చేయుటకు అనువర్తనం/ వినియోగదారి పాత్రని అనుమతించుము. పోర్ట్‍ 600-1024 "
++"కు బంధనం అగుచున్నది"
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr ""
+-#~ "పరిమిత అనువర్తనంను ప్రారంభించుటకు ఉపయోగించు init స్క్రిప్ట్‍ కు పూర్తి పాత్ ప్రవేశపెట్టుము."
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "మీరు మలచాలని అనుకుంటున్న వినియోగదారి పాత్రలను ఎంపికచేయుము"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"ఆ అనువర్తనం/వినియోగదారి పాత్ర బందనం అగు కామావిభజిత udp పోర్ట్స్‍ లేదా పోర్ట్స్‍ స్థాయిలను ప్రవేశపెట్టుము. "
++"ఉదాహరణ: 612, 650-660"
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "ఈ అనువర్తనాల డొమైన్స్‍‌కు బదిలీకరించబోవు వినియోగదారి దస్త్రాలను ఎంపికచేయుము"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "నిలువఉంచని పోర్ట్స్‍  (> 1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "పోర్ట్స్‍ ఎంపికచేయి"
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "ఈ వినియోగదారి పాత్ర బదిలీకరించబడు అదనపు డోమైన్స్‍ ఎంపికచేయుము"
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"ఏ udp పోర్ట్స్‍‌కు అయినా > 1024 కు బంధనం అగుటకు అనువర్తనం/వినియోగదారి పాత్ర ను అనుమతిస్తుంది"
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "ఈ వినియోగదారి పాత్రను బదిలీకరణకు చేయుటకు మీరు ఇష్టపడే అనువర్తనాల డోమైన్స్‍‌ను ఎంపికచేయుము."
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP పోర్ట్స్‍</b>"
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "ఈ డొమైన్‌కు బదిలీకరించబడు వినియోగదారి పాత్రలను ఎంపికచేయుము"
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "ఈ అనువర్తనం/వినియోగదారి పాత్ర అనుసంధానమగు నెట్వర్కు పోర్ట్స్‍ ప్రవేశపెట్టుము"
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "ఈ వినియోగదారి అధికారికాబోవు అదనపు డోమైన్స్‍ ఎంపికచేయుము"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ఆ అనువర్తనం/వినియోగదారి పాత్ర అనుసంధానం అగుటకు కామావిభజిత tcp పోర్ట్స్‍ లేదా పోర్ట్స్‍ స్థాయిలను "
++"ప్రవేశపెట్టుము. ఉదాహరణ: 612, 650-660"
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "ఈ వినియోగదారి నిర్వహించుటకు మీరు ఇష్టపడు డొమైన్స్‍‌ను ఎంపికచేయుము."
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"ఆ అనువర్తనం/వినియోగదారి పాత్ర అనుసంధానం అగుటకు కామావిభజిత udp పోర్ట్స్‍ లేదా పోర్ట్స్‍ స్థాయిలను "
++"ప్రవేశపెట్టుము. ఉదాహరణ: 612, 650-660"
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "ఈ వినియోగదారికి అదనపు పాత్రలను ఎంపికచేయుము"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "ఉమ్మడి అనువర్తనం స్వభావాలు ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "సిస్‌లాగ్ సందేశాలను వ్రాస్తుంది\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "/tmp నందు తాత్కాలిక దస్త్రాలను సృష్టించు/మార్చు"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "దృవీకరణకు Pam ను ఉపయోగిస్తుంది"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "nsswitch లేదా getpw* కాల్స్‍‌ను ఉపయోగిస్తుంది"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "dbus ను ఉపయోగిస్తుంది"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "ఆడిట్ సందేశాలను పంపుతుంది"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "టెర్మినల్‌తో సంప్రదిస్తుంది"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "ఈమెయిల్ పంపుతుంది"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "ఆ అనువర్తనం నిర్వహించు దస్త్రాలను/సంచయాలను ఎంపికచేయుము"
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "ఈ అనువర్తనం/వినియోగదారి పాత్ర సంధానంకు నెట్వర్క్‍ పోర్ట్స్‍ ప్రవేశపెట్టుము"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"ఈ అనుర్తనం \"వ్రాయు\" అవసరం కలిగిన దస్త్రములను/సంచయాలను జతచేయుము. Pid దస్త్రములు, Log "
++"దస్త్రములు, /var/lib దస్త్రములు ..."
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP పోర్ట్స్‍</b>"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "ఆ అనువర్తనం ఉపయోగించే బూలియన్స్‍‌ను ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "పరిమిత అనువర్తనం/వినియోగదారి కు ఉపయోగించు బూలియన్స్‍ జతచేయి/తొలగించుము"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "విధానం దానిలో ఉద్భవింపచేయుటకు సంచయాన్ని ఎంపికచేయుము"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "విధానం సచయం"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "ఉద్భవింపచేసిన విధానం దస్త్రాలు"
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr "ఏ udp పోర్ట్‍‌కైనా బంధనం అగుటకు పరిమిత అనువర్తనం/వినియోగదారి పాత్రను అనుమతిస్తుంది"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ఈ సాధనం ఈ క్రింది వాటిని సృష్టిస్తుంది: \n"
++"టైప్ ఎన్ఫోర్స్‍‌మెంట్(te), ఫైల్ కాంటెక్స్ట్‍(fc), ఇంటర్‌ఫేస్(if), షెల్ స్క్రిప్ట్‍(sh)\n"
++"నిర్వర్తించుటకు/సంస్థాపించుటకు మరియు దస్త్రములు/సంచయాలను చేర్చుటకు షెల్ స్క్రిప్ట్‍‌ను "
++"రూట్‌లానిర్వర్తించుము.  \n"
++"లినక్స్‍ లాగిన్ వినియోగదారులను వినియోగదారి పాత్రలకు మాప్ చేయుటకు semanage లేదా useradd ఉపయోగించుము.\n"
++"మిషన్‌ను అనిషిద్ధరీతి(setenforce 0) నందు ఉంచవచ్చు. \n"
++"వినియోగదారిలా లాగిన్ అవ్వుము మరియు ఈ వినియోగదారి పాత్రను పరిశీలించుము.\n"
++"te దస్త్రమునకు అదనపు నియమాలను ఉద్భవింపచేయుటకు audit2allow -R ను ఉపయోగించుము.\n"
+-#~ msgid "All"
+-#~ msgstr "అన్ని"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"ఈ సాధనం ఈ క్రింది వాటిని సృష్టిస్తుంది: \n"
++"టైప్ ఎన్ఫోర్స్‍‌మెంట్(te), ఫైల్ కాంటెక్స్ట్‍(fc), ఇంటర్‌ఫేస్(if), షెల్ స్క్రిప్ట్‍(sh)\n"
++"\n"
++"నిర్వర్తించుటకు/సంస్థాపించుటకు మరియు దస్త్రములు/సంచయాలను చేర్చుటకు షెల్ స్క్రిప్ట్‍‌ను\n"
++"నిర్వర్తించుము.  మీరు ఇప్పుడు మిషన్‌ను అనిషిద్ధరీతి(setenforce 0) నందు ఉంచవచ్చు. \n"
++"avc సందేశాలను ఉద్భవింపచేయుటకు అనువర్తనంను నడుపుము/పునఃప్రారంభించుము.\n"
++"te దస్త్రమునకు అదనపు నియమాలను ఉద్భవింపచేయుటకు audit2allow -R ను ఉపయోగించుము.\n"
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "bindresvport ను 0 తో కాల్ చేయుటకు అనువర్తనం/ వినియోగదారి పాత్రని అనుమతించుము. పోర్ట్‍ 600-"
+-#~ "1024 కు బంధనం అగుచున్నది"
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "బూలియన్స్‍ డైలాగ్‌ను జతచేయుము"
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "బూలియన్ నామము"
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ఆ అనువర్తనం/వినియోగదారి పాత్ర బందనం అగు కామావిభజిత udp పోర్ట్స్‍ లేదా పోర్ట్స్‍ స్థాయిలను "
+-#~ "ప్రవేశపెట్టుము. ఉదాహరణ: 612, 650-660"
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "పాత్ర"
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "నిలువఉంచని పోర్ట్స్‍  (> 1024)"
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "ఉన్న వినియోగదారి(_U)"
+-#~ msgid "Select Ports"
+-#~ msgstr "పోర్ట్స్‍ ఎంపికచేయి"
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "అనువర్తనము"
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr ""
+-#~ "ఏ udp పోర్ట్స్‍‌కు అయినా > 1024 కు బంధనం అగుటకు అనువర్తనం/వినియోగదారి పాత్ర ను అనుమతిస్తుంది"
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s తప్పక ఒక సంచయం అవ్వాలి"
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP పోర్ట్స్‍</b>"
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "మీరు తప్పక ఒక వినియోగదారిని ఎంపికచేయాలి"
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "ఈ అనువర్తనం/వినియోగదారి పాత్ర అనుసంధానమగు నెట్వర్కు పోర్ట్స్‍ ప్రవేశపెట్టుము"
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "పరిమితం చేయుటకు నిర్వర్తించదగు దస్త్రమును ఎంపికచేయుము"
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ఆ అనువర్తనం/వినియోగదారి పాత్ర అనుసంధానం అగుటకు కామావిభజిత tcp పోర్ట్స్‍ లేదా పోర్ట్స్‍ స్థాయిలను "
+-#~ "ప్రవేశపెట్టుము. ఉదాహరణ: 612, 650-660"
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "పరిమితం చేయుటకు init స్క్రిప్ట్‍ దస్త్రమును ఎంపికచేయుము."
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ఆ అనువర్తనం/వినియోగదారి పాత్ర అనుసంధానం అగుటకు కామావిభజిత udp పోర్ట్స్‍ లేదా పోర్ట్స్‍ స్థాయిలను "
+-#~ "ప్రవేశపెట్టుము. ఉదాహరణ: 612, 650-660"
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "పరిమిత అనునర్తనములు సృష్టించిన లేదా వ్రాసిన దస్త్రము(లు) ఎంపికచేయుము"
+-#~ msgid "Select common application traits"
+-#~ msgstr "ఉమ్మడి అనువర్తనం స్వభావాలు ఎంపికచేయుము"
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "పరిమిత అనువర్తనములు కలిగివున్న మరియు వాటిలోకి వ్రాసిన సంచయము(లు) ఎంపికచేయుము"
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "సిస్‌లాగ్ సందేశాలను వ్రాస్తుంది\t"
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "విధానం దస్త్రములను దానిలోకి ఉద్బవింపచేయుటకు సంచయమును ఎంపికచేయుము"
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "/tmp నందు తాత్కాలిక దస్త్రాలను సృష్టించు/మార్చు"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"ప్రస్తుత విధానంనందు ఇప్పటికే నిర్వచించబడిన %s_t ను టైపు చేయుము.\n"
++"మీరు కొనసాగించాలని అనుకుంటున్నారా?"
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "దృవీకరణకు Pam ను ఉపయోగిస్తుంది"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "నామమును నిర్ధారించుము"
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "nsswitch లేదా getpw* కాల్స్‍‌ను ఉపయోగిస్తుంది"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"మాడ్యూల్ %s.pp ఇప్పటికే ప్రస్తుత విధానంనందు నింపబడింది.\n"
++"మీరు కొనసాగించాలని అనుకుంటున్నారా?"
+-#~ msgid "Uses dbus"
+-#~ msgstr "dbus ను ఉపయోగిస్తుంది"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "మీరు తప్పక ఒక నామమును ప్రవేశపెట్టవలెను"
+-#~ msgid "Sends audit messages"
+-#~ msgstr "ఆడిట్ సందేశాలను పంపుతుంది"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "మీరు తప్పక ఒక నిర్వర్తినిని ప్రవేశపెట్టవలెను"
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "టెర్మినల్‌తో సంప్రదిస్తుంది"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "SELinux ను ఆకృతీకరించుము"
+-#~ msgid "Sends email"
+-#~ msgstr "ఈమెయిల్ పంపుతుంది"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "పోర్ట్స్‍ తప్పక సంఖ్యలు లేదా 1 నుండి %d స్థాయి లోపలి సంఖ్యలు అవ్వాలి "
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "ఆ అనువర్తనం నిర్వహించు దస్త్రాలను/సంచయాలను ఎంపికచేయుము"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "మీ పరిమిత కార్యము/వినియోగదారికి మీరు తప్పక ఒక నామమును ప్రవేశపెట్టవలెను"
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "ఈ అనుర్తనం \"వ్రాయు\" అవసరం కలిగిన దస్త్రములను/సంచయాలను జతచేయుము. Pid దస్త్రములు, "
+-#~ "Log దస్త్రములు, /var/lib దస్త్రములు ..."
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "వినియోగదారి రకములు ఎక్సిక్యూటబుల్స్‍‌ను అనుమతించవు"
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "ఆ అనువర్తనం ఉపయోగించే బూలియన్స్‍‌ను ఎంపికచేయుము"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "డెమోన్ అనువర్తనములు మాత్రమే init స్క్రిప్ట్‍‌ను ఉపయోగించగలవు"
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "పరిమిత అనువర్తనం/వినియోగదారి కు ఉపయోగించు బూలియన్స్‍ జతచేయి/తొలగించుము"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog అనునది తప్పక బూలియన్ విలువైవుండాలి "
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "విధానం దానిలో ఉద్భవింపచేయుటకు సంచయాన్ని ఎంపికచేయుము"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER రకములు స్వయంచాలకంగా tmp రకమును పొందుతాయి"
+-#~ msgid "Policy Directory"
+-#~ msgstr "విధానం సచయం"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "మీ పరిమిత కార్యముకు మీరు తప్పక నిర్వర్తించదగు పాత్‌ను ప్రవేశపెట్టాలి"
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "ఉద్భవింపచేసిన విధానం దస్త్రాలు"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "టైప్ ఎన్ఫోర్స్‍‌మెంట్ దస్త్రము"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ఈ సాధనం ఈ క్రింది వాటిని సృష్టిస్తుంది: \n"
+-#~ "టైప్ ఎన్ఫోర్స్‍‌మెంట్(te), ఫైల్ కాంటెక్స్ట్‍(fc), ఇంటర్‌ఫేస్(if), షెల్ స్క్రిప్ట్‍(sh)\n"
+-#~ "నిర్వర్తించుటకు/సంస్థాపించుటకు మరియు దస్త్రములు/సంచయాలను చేర్చుటకు షెల్ స్క్రిప్ట్‍‌ను "
+-#~ "రూట్‌లానిర్వర్తించుము.  \n"
+-#~ "లినక్స్‍ లాగిన్ వినియోగదారులను వినియోగదారి పాత్రలకు మాప్ చేయుటకు semanage లేదా useradd "
+-#~ "ఉపయోగించుము.\n"
+-#~ "మిషన్‌ను అనిషిద్ధరీతి(setenforce 0) నందు ఉంచవచ్చు. \n"
+-#~ "వినియోగదారిలా లాగిన్ అవ్వుము మరియు ఈ వినియోగదారి పాత్రను పరిశీలించుము.\n"
+-#~ "te దస్త్రమునకు అదనపు నియమాలను ఉద్భవింపచేయుటకు audit2allow -R ను ఉపయోగించుము.\n"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "ఇంటర్ఫేస్ దస్త్రము"
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "ఈ సాధనం ఈ క్రింది వాటిని సృష్టిస్తుంది: \n"
+-#~ "టైప్ ఎన్ఫోర్స్‍‌మెంట్(te), ఫైల్ కాంటెక్స్ట్‍(fc), ఇంటర్‌ఫేస్(if), షెల్ స్క్రిప్ట్‍(sh)\n"
+-#~ "\n"
+-#~ "నిర్వర్తించుటకు/సంస్థాపించుటకు మరియు దస్త్రములు/సంచయాలను చేర్చుటకు షెల్ స్క్రిప్ట్‍‌ను\n"
+-#~ "నిర్వర్తించుము.  మీరు ఇప్పుడు మిషన్‌ను అనిషిద్ధరీతి(setenforce 0) నందు ఉంచవచ్చు. \n"
+-#~ "avc సందేశాలను ఉద్భవింపచేయుటకు అనువర్తనంను నడుపుము/పునఃప్రారంభించుము.\n"
+-#~ "te దస్త్రమునకు అదనపు నియమాలను ఉద్భవింపచేయుటకు audit2allow -R ను ఉపయోగించుము.\n"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "ఫైల్ కాంటెక్స్ట్‍ దస్త్రము"
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "బూలియన్స్‍ డైలాగ్‌ను జతచేయుము"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "అమర్పు స్క్రిప్ట్‍"
+-#~ msgid "Boolean Name"
+-#~ msgstr "బూలియన్ నామము"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "నెట్వర్క్ పోర్టు"
+-#~ msgid "Role"
+-#~ msgstr "పాత్ర"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux పోర్ట్‍\n"
++"రకము"
+-#~ msgid "Existing_User"
+-#~ msgstr "ఉన్న వినియోగదారి(_U)"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "నియమం"
+-#~ msgid "Application"
+-#~ msgstr "అనువర్తనము"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"స్థాయి"
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s తప్పక ఒక సంచయం అవ్వాలి"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "పోర్ట్‍"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "పోర్ట్‍ సంఖ్య \"%s\" చెల్లునది కాదు.  0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "జాబితా దర్శనం"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "సమూహం దర్శనం"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux సేవా భద్రత"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "SELinux భద్రతను acct డెమోన్‌ కొరకు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "నిర్వహణాధికారి"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "ప్రాధమికదస్త్రాలను / కు వ్రాయుటకు అన్ని డెమోన్స్‍‌ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "కేటాయించని ttys ను ఉపయోగించుకొను శక్తిని అన్ని డెమోన్స్‍‌కు అనుమతించుము"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "వినియోగదారి Privs"
+-#~ msgid "You must select a user"
+-#~ msgstr "మీరు తప్పక ఒక వినియోగదారిని ఎంపికచేయాలి"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"gadmin SELinux వినియోగదారి ఖాతాను నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను నిర్వర్తించుటకు "
++"అనుమతించుము"
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "పరిమితం చేయుటకు నిర్వర్తించదగు దస్త్రమును ఎంపికచేయుము"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"అతిధి SELinux వినియోగదారి ఖాతాను నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను నిర్వహించుటకు "
++"అనుమతించుము"
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "పరిమితం చేయుటకు init స్క్రిప్ట్‍ దస్త్రమును ఎంపికచేయుము."
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "మెమొరి భద్రత"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "జావా ఎక్సిక్యూటబుల్ స్టాక్‌ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "మౌంట్"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "ఏ దస్త్రమునైనా మోంట్ చేయుటకు మౌంట్‌ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "ఏ సంచయంనైనా మౌంట్‌చేయుటకు మౌంట్‌ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "ఎమ్‌ప్లేయర్ ఎక్సిక్యూటబుల్ స్టాక్‌ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "ssh ను ssh-keysign నడుపుటకు అనుమతించుము"
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "పరిమిత అనునర్తనములు సృష్టించిన లేదా వ్రాసిన దస్త్రము(లు) ఎంపికచేయుము"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"staff SELinux వినియోగదారి ఖాతాను నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను నిర్వర్తించుటకు "
++"అనుమతించుము"
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "పరిమిత అనువర్తనములు కలిగివున్న మరియు వాటిలోకి వ్రాసిన సంచయము(లు) ఎంపికచేయుము"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"sysadm SELinux వినియోగదారి ఖాతాను నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను నిర్వర్తించుటకు "
++"అనుమతించుము"
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "విధానం దస్త్రములను దానిలోకి ఉద్బవింపచేయుటకు సంచయమును ఎంపికచేయుము"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"పరిమితంకాని SELinux వినియోగదారి ఖాతాను నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను నిర్వర్తించుటకు "
++"అనుమతించుము"
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "ప్రస్తుత విధానంనందు ఇప్పటికే నిర్వచించబడిన %s_t ను టైపు చేయుము.\n"
+-#~ "మీరు కొనసాగించాలని అనుకుంటున్నారా?"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "నెట్వర్క్‍ ఆకృతీకరణ"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "నెట్వర్క్‍ నందు ప్రసారంకావటానికి లేబుల్‌లేని పాకెట్స్‍‌ను అనుమతించుము"
+-#~ msgid "Verify Name"
+-#~ msgstr "నామమును నిర్ధారించుము"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"వినియోగదారి SELinux వినియోగదారి ఖాతాను నివాససంచయంనందు లేదా /tmp నందు దస్త్రాలను నిర్వర్తించుటకు "
++"అనుమతించుము"
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "మాడ్యూల్ %s.pp ఇప్పటికే ప్రస్తుత విధానంనందు నింపబడింది.\n"
+-#~ "మీరు కొనసాగించాలని అనుకుంటున్నారా?"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "పరిమితంకానిదాన్ని dyntrans నుండి unconfined_execmem లోకి అనుమతించుము"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "డాటాబేస్‌లు"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "mysql సాకెట్‌కు అనుసంధానం అగుటకు వినియోగదారిని అనుమతించుము"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "postgres సాకెట్‌కు అనుసంధానం అగుటకు వినియోగదారిని అనుమతించుము"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "X భాగస్వామ్య మెమొరీకి వ్రాయుటకు కక్షిదారులను అనుమతించుము"
+-#~ msgid "You must enter a name"
+-#~ msgstr "మీరు తప్పక ఒక నామమును ప్రవేశపెట్టవలెను"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"xguest SELinux వినియోగదారి ఖాతాను నివాస సంచయంనందు లేదా /tmp నందు దస్త్రములను నిర్వర్తించుటకు "
++"అనుమతించుము"
+-#~ msgid "You must enter a executable"
+-#~ msgstr "మీరు తప్పక ఒక నిర్వర్తినిని ప్రవేశపెట్టవలెను"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "డెమెన్స్‍‌ను NIS తో నడుచుటకు అనుమతించుము"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "వెబ్ అనువర్తనములు"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "బదిలీకరణ staff SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "బదిలీకరణ sysadm SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "బదిలీకరణ user SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "బదిలీకరణ xguest SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "staff వెబ్ బ్రౌజర్స్‍‌ను నివాససంచయాలకు వ్రాయుటకు అనుమతినివ్వుము"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "SELinux భద్రతను అమాండా కొరకు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "అమావిస్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "apmd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "arpwatch డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "auditd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "automount డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "ఆవాహి కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "బ్లూటూత్ డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "canna డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "cardmgr డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "క్లస్టర్ సేవిక కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Configue SELinux"
+-#~ msgstr "SELinux ను ఆకృతీకరించుము"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"cdrecord ను విభిన్న సారాలను చదువుటకు అనుమతించుము. nfs, samba, తిసివేయగల పరికరములు, "
++"user temp మరియు నమ్మదగని సారపు దస్త్రములు"
+-#, fuzzy
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "పోర్ట్స్‍ తప్పక సంఖ్యలు లేదా 1 నుండి %d వరకు సంఖ్యా స్థాయిలు అవ్వాలి "
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "ciped డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "clamd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "clamscan కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "clvmd కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "comsat డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "courier డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "cpucontrol డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "cpuspeed డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "క్రాన్"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "crond డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "ముద్రణ"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "SELinux భద్రతను cupsd బ్యాకెండ్ సేవికకు అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "SELinux భద్రతను cupsd డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "SELinux భద్రతను cupsd_lpd కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "SELinux భద్రతను cvs డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "SELinux భద్రతను cyrus డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "SELinux భద్రతను dbskkd డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "SELinux భద్రతను dbusd డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "SELinux భద్రతను dccd కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "SELinux భద్రతను dccifd కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "SELinux భద్రతను dccm కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "SELinux భద్రతను ddt డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "SELinux భద్రతను devfsd డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "SELinux భద్రతను dhcp డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "SELinux భద్రతను dhcpd డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "SELinux భద్రతను dictd డెమోన్‌కు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "డెమోన్స్‍‌ను నేరుగా ప్రారంభించుటకు sysadm_t ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "ఎవాల్యూషన్ కొరకు SELinux భద్రతను అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "ఆటలు"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "ఆటలు కొరకు SELinux భద్రతను అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "వెబ్ అన్వేషణిల కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "థండర్‌బర్డ్‍ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "distccd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "dmesg డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "dnsmasq డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "dovecot డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "entropyd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "SELinux భద్రతను fetchmail కొరకు అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "fingerd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "freshclam డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "fsdaemon డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "gpm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "gss డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Hal డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "సారూప్యత"
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "మీ పరిమిత కార్యము/వినియోగదారికి మీరు తప్పక ఒక నామమును ప్రవేశపెట్టవలెను"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "భద్రతా ఇబ్బందులు కానివి విరిగిపోతాయి అని మనకు తెలిసినా అటువంటి వాటిని ఆడిట్ చేయవద్దు"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "అతిధేయనామము డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "hotplug డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "howl డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "cups hplip డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "httpd rotatelogs కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD సేవ"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "http suexec కొరకు SELinux భద్రతను అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "hwclock డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "i18n డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "imazesrv డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "child డెమోన్స్‍ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "inetd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "innd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "iptables డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "ircd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "irqbalance డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "iscsi డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "jabberd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "కేర్బరోస్"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "kadmind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "klogd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "krb5kdc డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "ktalk డెమోన్స్‍ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "kudzu డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "locate డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "lpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "lrrd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "lvm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "mailman కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "వినియోగదారుని దస్త్రాలను చదువుటకు ఎవాల్యాషన్ మరియు థండర్‌బర్డ్‍‌ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "mdadm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "monopd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "వినియోగదారి దస్త్రాలను చదువుటకు మొజిల్లా అన్వేషణిను అనుమతించుము"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "mrtg డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "mysqld డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "nagios డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "నామపు సేవ"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "నామపు డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "nessusd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "నెట్వర్క్‍‌నిర్వాహిక కొరకు SELinux భద్రతను అచేతనంచేయుము"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "nfsd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "సాంబా"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "nmbd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "nrpe డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "nscd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "nsd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "ntpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "oddjob కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "oddjob_mkhomedir కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "openvpn డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "pam డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "pegasus కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "perdition డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "portmap డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "portslave డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "postfix కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "postgresql డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "సాదారణ వినియోగదారి కొరకు pppd నడుచుటకు అనుమతించుము"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "pptp కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "prelink డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "privoxy డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "ptal డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "pxe డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "pyzord కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "quota డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "radiusd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "radvd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "rdisc కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "readahead కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "వినియోగదారి రకములు ఎక్సిక్యూటబుల్స్‍‌ను అనుమతించవు"
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++"ప్రామాణికం-కాని ప్రాంతముల (default_t) నందు దస్త్రములను చదువుటకు ప్రోగ్రామ్స్‍‌ను అనుమతించుము"
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "డెమోన్ అనువర్తనములు మాత్రమే init స్క్రిప్ట్‍‌ను ఉపయోగించగలవు"
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "restorecond కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog అనునది తప్పక బూలియన్ విలువైవుండాలి "
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "rhgb డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#, fuzzy
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "వినియోగదారి రకములు స్వయంచాలకంగా tmp రకమును పొందుతాయి"
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "ricci కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "మీ పరిమిత కార్యముకు మీరు తప్పక నిర్వర్తించదగు పాత్‌ను ప్రవేశపెట్టాలి"
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "ricci_modclusterd కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "టైప్ ఎన్ఫోర్స్‍‌మెంట్ దస్త్రము"
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "rlogind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Interface file"
+-#~ msgstr "ఇంటర్ఫేస్ దస్త్రము"
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "rpcd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "File Contexts file"
+-#~ msgstr "ఫైల్ కాంటెక్స్ట్‍ దస్త్రము"
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "rshd కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Setup Script"
+-#~ msgstr "అమర్పు స్క్రిప్ట్‍"
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux పోర్ట్‍\n"
+-#~ "రకము"
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "rsync డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Protocol"
+-#~ msgstr "నియమం"
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "ఒక డెమోన్‌లా నడుచుటకు బదులుగా ssh ను inetd నుండి అనుమతించుము"
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "స్థాయి"
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "సాంబాను nfs సంచయాలను పంచుకొనుటకు అనుమతించుము"
+-#~ msgid "Port"
+-#~ msgstr "పోర్ట్‍"
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL దృవీకరణ సేవిక"
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "పోర్ట్‍ సంఖ్య \"%s\" చెల్లునది కాదు.  0 < PORT_NUMBER < 65536 "
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "sasl దృవీకరణ సేవికను /etc/shadow చదువుటకు అనుమతించుము"
+-#~ msgid "List View"
+-#~ msgstr "జాబితా దర్శనం"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"నిర్వర్తించదగునట్లు మరియు వ్రాయదగునట్లు X-విండోస్ సేవికను మెమోరీ ప్రాంతముకు మాప్ చేయటుకు అనుమతించుము"
+-#~ msgid "Group View"
+-#~ msgstr "సమూహం దర్శనం"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "saslauthd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux సేవా భద్రత"
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "scannerdaemon డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "SELinux భద్రతను acct డెమోన్‌ కొరకు అచేతనంచేయుము"
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "బదిలీకరణను sysadm_t కు అనుమతించ వద్దు, sudo మరియు su ప్రభావితమయ్యాయి."
+-#~ msgid "Admin"
+-#~ msgstr "నిర్వహణాధికారి"
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "కెర్నల్ మాడ్యాల్స్‍ నింపుటకు ఏ కార్యమును అనుమతించవద్దు"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "ప్రాధమికదస్త్రాలను / కు వ్రాయుటకు అన్ని డెమోన్స్‍‌ను అనుమతించుము"
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "కెర్నల్ SELinux విధానాన్ని సవరించుటకు ఏ కార్యమును అనుమతించవద్దు"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "కేటాయించని ttys ను ఉపయోగించుకొను శక్తిని అన్ని డెమోన్స్‍‌కు అనుమతించుము"
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "sendmail డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "User Privs"
+-#~ msgstr "వినియోగదారి Privs"
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "setrans కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "gadmin SELinux వినియోగదారి ఖాతాలను అతని నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను "
+-#~ "నిర్వర్తించుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "setroubleshoot డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "అతిధి SELinux వినియోగదారి ఖాతాలను అతని నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను "
+-#~ "నిర్వహించుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "slapd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Memory Protection"
+-#~ msgstr "మెమొరి భద్రత"
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "slrnpull డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "జావా ఎక్సిక్యూటబుల్ స్టాక్‌ను అనుమతించుము"
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "smbd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Mount"
+-#~ msgstr "మౌంట్"
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "snmpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "ఏ దస్త్రమునైనా మోంట్ చేయుటకు మౌంట్‌ను అనుమతించుము"
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "snort డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "ఏ సంచయంనైనా మౌంట్‌చేయుటకు మౌంట్‌ను అనుమతించుము"
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "soundd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "ఎమ్‌ప్లేయర్ ఎక్సిక్యూటబుల్ స్టాక్‌ను అనుమతించుము"
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "sound డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "స్పామ్ భద్రత"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "ssh ను ssh-keysign నడుపుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "spamd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "staff SELinux వినియోగదారి ఖాతాలను అతని నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను "
+-#~ "నిర్వర్తించుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "నివాస సంచయాలను వాడుకొనుటకు spamd ను అనుమతించుము"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "sysadm SELinux వినియోగదారి ఖాతాలను అతని నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను "
+-#~ "నిర్వర్తించుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "స్పామ్ ఎస్సాసియన్ డెమోన్ నెట్వర్క్‍ వాడుకను అనుమతించుము"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "పరిమితంకాని SELinux వినియోగదారి ఖాతాలను అతని నివాస సంచయంనందు లేదా /tmp నందు దస్త్రాలను "
+-#~ "నిర్వర్తించుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "speedmgmt డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Network Configuration"
+-#~ msgstr "నెట్వర్క్‍ ఆకృతీకరణ"
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "నెట్వర్క్‍ నందు ప్రసారంకావటానికి లేబుల్‌లేని పాకెట్స్‍‌ను అనుమతించుము"
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "నెట్వర్క్‍‌కు అనుసంధానమగుటకు squid డెమోన్‌ను అనుమతించుము"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr ""
+-#~ "వినియోగదారి SELinux వినియోగదారి ఖాతాలను అతని నివాససంచయంనందు లేదా /tmp నందు దస్త్రాలను "
+-#~ "నిర్వర్తించుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "squid డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "పరిమితంకానిదాన్ని dyntrans నుండి unconfined_execmem లోకి అనుమతించుము"
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "ssh డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Databases"
+-#~ msgstr "డాటాబేస్‌లు"
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "ssh లాగిన్స్‍‌ను sysadm_r:sysadm_t లా అనుమతించుము"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "mysql సాకెట్‌కు అనుసంధానం అగుటకు వినియోగదారిని అనుమతించుము"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"sysadm నివాస సంచయంను శోధించుటకు staff_r వినియోగదారులను అనుమతించుము మరియు దస్త్రములను "
++"చదువుటకు (~/.bashrc వంటిని)"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "postgres సాకెట్‌కు అనుసంధానం అగుటకు వినియోగదారిని అనుమతించుము"
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "సార్వజనీయ SSL టన్నెల్"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "stunnel డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Xinetd యొక్క బయట, stunnel డెమోన్ ను స్టాండ్ఎలోన్ గా నడుపుటకు అనుమతించుము"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "swat డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "sxid డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "syslogd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "system cron jobs కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "tcp డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "telnet డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "tftpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "transproxy డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "udev డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "uml డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"పరిమితం కానిదానిని నడుపుటకు xinetd ను అనుమతించుము, ఇది ప్రారంభించే ఏ సేవనందైనా అది బాహ్యంగా "
++"నిర్వచించిన డొమైన్ బదిలీకరణ కలిగివుండదు"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "X భాగస్వామ్య మెమొరీకి వ్రాయుటకు కక్షిదారులను అనుమతించుము"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"పరిమితం కానివాటిని నడుపుటకు rc స్క్రిప్ట్స్‍‌ను అనుమతించుము, rc స్క్రిప్ట్‍‌తో ప్రారంభమైన ఏ డొమైనయినా అది "
++"బాహ్యంగా నిర్వచించిన డొమైన్ బదిలీకరణను కలిగివుండదు"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr ""
+-#~ "xguest SELinux వినియోగదారి ఖాతాలను అతని నివాస సంచయంనందు లేదా /tmp నందు దస్త్రములను "
+-#~ "నిర్వర్తించుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "పరిమితంకాని దాన్ని నడుపుటకు rpm ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr "పరిమితంకాని వాటిని నడుపుటకు hotplug మరియు insmod వంటి సౌలభ్యాలను అనుమతించుము"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "updfstab డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "uptimed డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"user_r ను sysadm_r కు su, sudo, లేదా వినియోగదారిసహాయకి ద్వారా చేరుటకు అనుమతించుము. లేకపోతే, "
++"staff_r మాత్రమే అలా చేయగలదు "
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "డెమెన్స్‍‌ను NIS తో నడుచుటకు అనుమతించుము"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "మౌంట్ ఆదేశాన్ని నిర్వర్తించుటకు వినియోగాదారులను అనుమతించుము"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "సాదారణ వినియోగదారుల సూటి మౌస్ వాడుకను అనుమతించుము (X సేవికను మాత్రమే అనుమతించుము)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "dmesg ఆదేశాన్ని నడుపుటకు వినియోగాదారులను అనుమతించుము"
+-#~ msgid "Web Applications"
+-#~ msgstr "వెబ్ అనువర్తనములు"
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"నెట్వర్క్‍ అంతర్‌ఫలకాలను నియంత్రించుటకు వినియోగదారులను అనుమతించుము (USERCTL=true కూడా అవసరము)"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "బదిలీకరణ staff SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "ping ను సాదారణ వినియోగదారి నిర్వర్తించుటకు అనుమతించుము"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "బదిలీకరణ sysadm SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "వినియోగదారిని noextattrfile ను చ/వ్రా కు అనుమతించుము (FAT, CDROM, FLOPPY)"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "బదిలీకరణ user SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "usb పరికరాలను చవ్రా కు వినియోగదారులను అనుమతించుము"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "బదిలీకరణ xguest SELinux వినియోగదారి నుండి వెబ్ బ్రౌజర్ డోమైను కు"
++#: ../gui/selinux.tbl:216
++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 ""
++"వినియోగదారులను TCP సేవికలు(పోర్ట్స్‍‌కు బందనమై మరియు అదే డొమాన్ నుండి అనుసంధానంను ఆమోదించు మరియు "
++"బయట వినియోగదారులనుండి) ను నడుపుటకు అనుమతించుము  దీనిని అచేతనం చేయుట ఇతర నియమాలను మార్చుతుంది"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "staff వెబ్ బ్రౌజర్స్‍‌ను నివాససంచయాలకు వ్రాయుటకు అనుమతినివ్వుము"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "వినియోగదారిని tty దస్త్రాలను మార్చుటకు అనుమతించుము"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "uucpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "vmware డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "watchdog డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "winbind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "xdm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "xdm లాగిన్స్‍‌ను sysadm_r:sysadm_t లాగా అనుమతించుము"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "xen డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "భౌతిక డిస్కు పరికరాలను చదువుట/వ్రాయుట కు xen ను అనుమతించుము"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "xfs డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "xen control కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "ypbind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "NIS సంకేతపదము డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "ypserv డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "NIS బదిలీకరణ డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "SELinux భద్రతను అమాండా కొరకు అచేతనంచేయుము"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"నిషిద్దంకాని వినియోగదారుల నివాస సంచయాలను నిర్వహించుటకు SELinux webadm వినియోగదారిని అనుమతించుము"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "అమావిస్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"నిషిద్దంకాని వినియోగదారుల నివాస సంచయాలను చదువుటకు SELinux webadm వినియోగదారిని అనుమతించుము"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "apmd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "మీరు ఖచ్చితంగా %s '%s' ను తొలగించుదామని అనుకుంటున్నారా?"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "arpwatch డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "%s తోలగించుము"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "auditd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "%s జతచేయుము"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "automount డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "%s సవరించుము"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "ఆవాహి కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "అనుమతిగల"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "బ్లూటూత్ డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "బలవంతము"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "అచేతనమైన"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "స్థితి"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "canna డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/statusPage.py:133
++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 ""
++"విధానం రకమును మార్చుట అనునది తరువాతి బూట్ నందు మొత్తం దస్త్ర వ్యవస్థ యొక్క చెరికకు కారణమౌతుంది. "
++"చేర్చుట అనునది దస్త్ర వ్యవస్థ పరిమాణం పై ఆధారపడి ఎక్కువ సమయం తీసకోవచ్చు.  మీరు కొనసాగించాలని "
++"అనుకుంటున్నారా?"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "cardmgr డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"SELinux అచేతనంకు మారుటకు పునఃప్రారంభం అవసరము.  ఇది సిఫార్స్‍ చేయబడదు.  మీరు తర్వాత SELinux "
++"వెనుకకు ఉంచాలని అనుకుంటే, సిస్టమ్‌కు చేర్చవలిసి ఉంటుంది.  మీరు SELinux సిస్టమ్ నందు సమస్యకు "
++"కారణమౌతుందేమో చూడాలనుకుంటే, మీరు అనుమతిగల రీతి వెళ్ళవచ్చు ఏదైతే దోషాలను మరియు బలవంతంకాని SELinux "
++"విధానంను లాగ్ చేస్తుందో.  అనుమతిగల రీతికి పునఃప్రారంభం అవసరంలేదు    మీరు కొనసాగిద్దామని "
++"అనుకుంటున్నారా?"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "క్లస్టర్ సేవిక కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"SELinux చేతనంకు మార్చుట అనునది తరువాతి బూట్ నందు మొత్తం దస్త్ర వ్యవస్థ యొక్క చెరికకు "
++"కారణమౌతుంది. చేర్చుట అనునది దస్త్ర వ్యవస్థ పరిమాణం పై ఆధారపడి ఎక్కువ సమయం తీసకోవచ్చు.  మీరు "
++"కొనసాగించాలని అనుకుంటున్నారా?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "cdrecord ను విభిన్న సారాలను చదువుటకు అనుమతించుము. nfs, samba, తిసివేయగల పరికరములు, "
+-#~ "user temp మరియు నమ్మదగని సారపు దస్త్రములు"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"కాపీరైట్ (c)2006 Red Hat, Inc.\n"
++"కాపీరైట్ (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "ciped డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "SELinux లాగిన్ మాపింగ్‌ను జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "SELinux నెట్వర్కు పోర్ట్స్‍‌ను జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux రకము"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "clamd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"స్థాయి"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "clamscan కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "దస్త్రము విశదీకరణము"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "దస్త్రము రకము"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "clvmd కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"అన్ని దస్త్రములు\n"
++"సాదారణ దస్త్రము\n"
++"సంచయము\n"
++"అక్షర పరికరము\n"
++"బ్లాక్ పరికరము\n"
++"సాకెట్\n"
++"సింబాలిక్ లింకు\n"
++"నేమ్డ్‍ పైప్\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "SELinux వినియోగదారిని జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux నిర్వహణ"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "జతచేయి"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "లక్షణములు(_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "తొలగించు(_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "నిర్వహణ ఆబ్జక్ట్‍‌ను ఎంపికచేయుము"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>ఎంపికచేయి:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "సిస్టమ్ అప్రమేయ బలవంతపు రీతి"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "comsat డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"అచేతనము\n"
++"అనుమతిగల\n"
++"బలవంతపు\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "ప్రస్తుత బలవంతపు రీతి"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "సిస్టమ్ అప్రమేయ విధాన రకము: "
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "courier డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"తరువాతి పునఃప్రారంభంనందు మొత్తం దస్త్ర వ్యవస్థను చేర్చాలనుకుంటే ఎంపికచేయండి.  చేర్చుట అనునది చాలా "
++"ఎక్కువ సమయం తీసుకుంటుంది, సిస్టమ్ యొక్క పరిమాణం మీద ఆదారపడి.  మీరు ఈ విధమైన విధానాలను మార్చుతుంటే "
++"లేదా అచేతనంనుండి బలవంతపుకు వెళుతుంటే, చేరిక అవసరమౌతుంది."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "తరువాతి పునఃప్రారంభంనందు చేర్చుము."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "బూలియన్ అమరికను సిస్టమ్ అప్రమేయంకు తిప్పివుంచుము"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "అన్ని బూలియన్స్‍ మరియు మలుచుకొనిన వాటిమాద్య మారుము"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "బూలియన్సు లాక్‌డౌన్ విజార్డును నడుపుము"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "లాక్‌డౌన్..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "వడపోత"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "దస్త్ర సందర్భంను జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "దస్త్రము సందర్భంను సవరించుము"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "దస్త్ర సందర్భంను తొలగించుము"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "అన్నిటి మరియు మలుచుకొనిన దస్త్ర సందర్బం మద్య మారుము"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "SELinux వినియోగదారి మాపింగ్‌ను జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "SELinux వినియోగదారి మాపింగ్ సవరించుము"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "SELinux వినియోగదారి మాపింగ్ తొలగించుము"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "వినియోగదారి జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "వినియోగదారి సవరించుము"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "వినియోగదారి తొలగించుము"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "అనువాదమును జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "అనువాదమును సవరించుము"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "అనువాదమును తొలగించుము"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "నెట్వర్క్‍ పోర్ట్‍‌ను జతచేయుము"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "నెట్వర్క్‍ పోర్ట్‍ సరిచేయి"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "నెట్వర్క్‍ పోర్ట్‍ తొలగించుము"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "అన్ని పోర్ట్స్‍ మరియు మలుచుకొనిన వాటిమాద్య మారుము"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "కొత్త విధానం మాడ్యూల్‌ను ఉద్భవింపచేయుము"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "విధానం మాడ్యూల్‌ను నింపుము"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "నింపదగు విధానం మాడ్యూల్‌ను తీసివేయుము"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "cpucontrol డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr "అదనపు ఆడిట్ నియమాలను అచేతనం/చేతనం చేయుము, సాదారణంగా లాగ్ దస్త్రములనందు నివేదించబడని."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "కార్యక్రమము రీతిని అనుమతించదగునదిగా మార్చుము."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "కార్యక్రమము రీతిని బలవంతపెట్టునదిగా మార్చుము"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "డౌమైన్ ప్రోసెస్ చేయుము"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "cpuspeed డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Cron"
+-#~ msgstr "క్రాన్"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "crond డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Printing"
+-#~ msgstr "ముద్రణ"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "SELinux భద్రతను cupsd బ్యాకెండ్ సేవికకు అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "SELinux భద్రతను cupsd డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "SELinux భద్రతను cupsd_lpd కు అచేతనంచేయుము"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "SELinux భద్రతను cvs డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "SELinux భద్రతను cyrus డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "SELinux భద్రతను dbskkd డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "SELinux భద్రతను dbusd డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "SELinux భద్రతను dccd కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "SELinux భద్రతను dccifd కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "SELinux భద్రతను dccm కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "SELinux భద్రతను ddt డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "SELinux భద్రతను devfsd డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "SELinux భద్రతను dhcp డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "SELinux భద్రతను dhcpd డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "SELinux భద్రతను dictd డెమోన్‌కు అచేతనంచేయుము"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "డెమోన్స్‍‌ను నేరుగా ప్రారంభించుటకు sysadm_t ను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "ఎవాల్యూషన్ కొరకు SELinux భద్రతను అచేతనంచేయుము"
+-
+-#~ msgid "Games"
+-#~ msgstr "ఆటలు"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "ఆటలు కొరకు SELinux భద్రతను అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "వెబ్ అన్వేషణిల కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "థండర్‌బర్డ్‍ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "distccd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "dmesg డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "dnsmasq డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "dovecot డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "entropyd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "SELinux భద్రతను fetchmail కొరకు అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "fingerd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "freshclam డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "fsdaemon డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "gpm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "gss డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "Hal డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "సారూప్యత"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr "భద్రతా ఇబ్బందులు కానివి విరిగిపోతాయి అని మనకు తెలిసినా అటువంటి వాటిని ఆడిట్ చేయవద్దు"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "అతిధేయనామము డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "hotplug డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "howl డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "cups hplip డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "httpd rotatelogs కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD సేవ"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "http suexec కొరకు SELinux భద్రతను అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "hwclock డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "i18n డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "imazesrv డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "child డెమోన్స్‍ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "inetd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "innd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "iptables డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "ircd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "irqbalance డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "iscsi డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "jabberd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "కేర్బరోస్"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "kadmind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "klogd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "krb5kdc డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "ktalk డెమోన్స్‍ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "kudzu డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "locate డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "lpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "lrrd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "lvm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "mailman కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "వినియోగదారుని దస్త్రాలను చదువుటకు ఎవాల్యాషన్ మరియు థండర్‌బర్డ్‍‌ను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "mdadm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "monopd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "వినియోగదారి దస్త్రాలను చదువుటకు మొజిల్లా అన్వేషణిను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "mrtg డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "mysqld డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "nagios డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "నామపు సేవ"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "నామపు డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "nessusd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "నెట్వర్క్‍‌నిర్వాహిక కొరకు SELinux భద్రతను అచేతనంచేయుము"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "nfsd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Samba"
+-#~ msgstr "సాంబా"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "nmbd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "nrpe డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "nscd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "nsd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "ntpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "oddjob కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "oddjob_mkhomedir కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "openvpn డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "pam డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "pegasus కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "perdition డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "portmap డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "portslave డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "postfix కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "postgresql డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "సాదారణ వినియోగదారి కొరకు pppd నడుచుటకు అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "pptp కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "prelink డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "privoxy డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "ptal డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "pxe డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "pyzord కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "quota డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "radiusd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "radvd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "rdisc కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "readahead కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr ""
+-#~ "ప్రామాణికం-కాని ప్రాంతముల (default_t) నందు దస్త్రములను చదువుటకు ప్రోగ్రామ్స్‍‌ను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "restorecond కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "rhgb డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "ricci కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "ricci_modclusterd కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "rlogind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "rpcd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "rshd కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "rsync డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "ఒక డెమోన్‌లా నడుచుటకు బదులుగా ssh ను inetd నుండి అనుమతించుము"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "సాంబాను nfs సంచయాలను పంచుకొనుటకు అనుమతించుము"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL దృవీకరణ సేవిక"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "sasl దృవీకరణ సేవికను /etc/shadow చదువుటకు అనుమతించుము"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr ""
+-#~ "నిర్వర్తించదగునట్లు మరియు వ్రాయదగునట్లు X-విండోస్ సేవికను మెమోరీ ప్రాంతముకు మాప్ చేయటుకు "
+-#~ "అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "saslauthd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "scannerdaemon డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "బదిలీకరణను sysadm_t కు అనుమతించ వద్దు, sudo మరియు su ప్రభావితమయ్యాయి."
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "కెర్నల్ మాడ్యాల్స్‍ నింపుటకు ఏ కార్యమును అనుమతించవద్దు"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "కెర్నల్ SELinux విధానాన్ని సవరించుటకు ఏ కార్యమును అనుమతించవద్దు"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "sendmail డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "setrans కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "setroubleshoot డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "slapd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "slrnpull డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "smbd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "snmpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "snort డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "soundd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "sound డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "స్పామ్ భద్రత"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "spamd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "నివాస సంచయాలను వాడుకొనుటకు spamd ను అనుమతించుము"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "స్పామ్ ఎస్సాసియన్ డెమోన్ నెట్వర్క్‍ వాడుకను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "speedmgmt డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "నెట్వర్క్‍‌కు అనుసంధానమగుటకు squid డెమోన్‌ను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "squid డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "ssh డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "ssh లాగిన్స్‍‌ను sysadm_r:sysadm_t లా అనుమతించుము"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "sysadm నివాస సంచయంను శోధించుటకు staff_r వినియోగదారులను అనుమతించుము మరియు దస్త్రములను "
+-#~ "చదువుటకు (~/.bashrc వంటిని)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "సార్వజనీయ SSL టన్నెల్"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "stunnel డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "Xinetd యొక్క బయట, stunnel డెమోన్ ను స్టాండ్ఎలోన్ గా నడుపుటకు అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "swat డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "sxid డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "syslogd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "system cron jobs కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "tcp డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "telnet డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "tftpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "transproxy డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "udev డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "uml డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "పరిమితం కానిదానిని నడుపుటకు xinetd ను అనుమతించుము, ఇది ప్రారంభించే ఏ సేవనందైనా అది బాహ్యంగా "
+-#~ "నిర్వచించిన డొమైన్ బదిలీకరణ కలిగివుండదు"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "పరిమితం కానివాటిని నడుపుటకు rc స్క్రిప్ట్స్‍‌ను అనుమతించుము, rc స్క్రిప్ట్‍‌తో ప్రారంభమైన ఏ డొమైనయినా అది "
+-#~ "బాహ్యంగా నిర్వచించిన డొమైన్ బదిలీకరణను కలిగివుండదు"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "పరిమితంకాని దాన్ని నడుపుటకు rpm ను అనుమతించుము"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr "పరిమితంకాని వాటిని నడుపుటకు hotplug మరియు insmod వంటి సౌలభ్యాలను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "updfstab డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "uptimed డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "user_r ను sysadm_r కు su, sudo, లేదా వినియోగదారిసహాయకి ద్వారా చేరుటకు అనుమతించుము. "
+-#~ "లేకపోతే, staff_r మాత్రమే అలా చేయగలదు "
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "మౌంట్ ఆదేశాన్ని నిర్వర్తించుటకు వినియోగాదారులను అనుమతించుము"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr "సాదారణ వినియోగదారుల సూటి మౌస్ వాడుకను అనుమతించుము (X సేవికను మాత్రమే అనుమతించుము)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "dmesg ఆదేశాన్ని నడుపుటకు వినియోగాదారులను అనుమతించుము"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr ""
+-#~ "నెట్వర్క్‍ అంతర్‌ఫలకాలను నియంత్రించుటకు వినియోగదారులను అనుమతించుము (USERCTL=true కూడా "
+-#~ "అవసరము)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "ping ను సాదారణ వినియోగదారి నిర్వర్తించుటకు అనుమతించుము"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "వినియోగదారిని noextattrfile ను చ/వ్రా కు అనుమతించుము (FAT, CDROM, FLOPPY)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "usb పరికరాలను చవ్రా కు వినియోగదారులను అనుమతించుము"
+-
+-#~ 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 ""
+-#~ "వినియోగదారులను TCP సేవికలు(పోర్ట్స్‍‌కు బందనమై మరియు అదే డొమాన్ నుండి అనుసంధానంను ఆమోదించు మరియు "
+-#~ "బయట వినియోగదారులనుండి) ను నడుపుటకు అనుమతించుము  దీనిని అచేతనం చేయుట ఇతర నియమాలను "
+-#~ "మార్చుతుంది"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "వినియోగదారిని tty దస్త్రాలను మార్చుటకు అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "uucpd డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "vmware డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "watchdog డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "winbind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "xdm డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "xdm లాగిన్స్‍‌ను sysadm_r:sysadm_t లాగా అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "xen డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "భౌతిక డిస్కు పరికరాలను చదువుట/వ్రాయుట కు xen ను అనుమతించుము"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "xfs డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "xen control కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "ypbind డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "NIS సంకేతపదము డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "ypserv డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "NIS బదిలీకరణ డెమోన్ కొరకు SELinux భద్రతను అచేతనం చేయుము"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr ""
+-#~ "నిషిద్దంకాని వినియోగదారుల నివాస సంచయాలను నిర్వహించుటకు SELinux webadm వినియోగదారిని అనుమతించుము"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr ""
+-#~ "నిషిద్దంకాని వినియోగదారుల నివాస సంచయాలను చదువుటకు SELinux webadm వినియోగదారిని అనుమతించుము"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "మీరు ఖచ్చితంగా %s '%s' ను తొలగించుదామని అనుకుంటున్నారా?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "%s తోలగించుము"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "%s జతచేయుము"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "%s సవరించుము"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "అనుమతిగల"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "బలవంతము"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "అచేతనమైన"
+-
+-#~ msgid "Status"
+-#~ msgstr "స్థితి"
+-
+-#~ 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 ""
+-#~ "విధానం రకమును మార్చుట అనునది తరువాతి బూట్ నందు మొత్తం దస్త్ర వ్యవస్థ యొక్క చెరికకు "
+-#~ "కారణమౌతుంది. చేర్చుట అనునది దస్త్ర వ్యవస్థ పరిమాణం పై ఆధారపడి ఎక్కువ సమయం తీసకోవచ్చు.  మీరు "
+-#~ "కొనసాగించాలని అనుకుంటున్నారా?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "SELinux అచేతనంకు మారుటకు పునఃప్రారంభం అవసరము.  ఇది సిఫార్స్‍ చేయబడదు.  మీరు తర్వాత "
+-#~ "SELinux వెనుకకు ఉంచాలని అనుకుంటే, సిస్టమ్‌కు చేర్చవలిసి ఉంటుంది.  మీరు SELinux సిస్టమ్ "
+-#~ "నందు సమస్యకు కారణమౌతుందేమో చూడాలనుకుంటే, మీరు అనుమతిగల రీతి వెళ్ళవచ్చు ఏదైతే దోషాలను మరియు "
+-#~ "బలవంతంకాని SELinux విధానంను లాగ్ చేస్తుందో.  అనుమతిగల రీతికి పునఃప్రారంభం అవసరంలేదు    "
+-#~ "మీరు కొనసాగిద్దామని అనుకుంటున్నారా?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "SELinux చేతనంకు మార్చుట అనునది తరువాతి బూట్ నందు మొత్తం దస్త్ర వ్యవస్థ యొక్క చెరికకు "
+-#~ "కారణమౌతుంది. చేర్చుట అనునది దస్త్ర వ్యవస్థ పరిమాణం పై ఆధారపడి ఎక్కువ సమయం తీసకోవచ్చు.  మీరు "
+-#~ "కొనసాగించాలని అనుకుంటున్నారా?"
+-
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
+-
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "కాపీరైట్ (c)2006 Red Hat, Inc.\n"
+-#~ "కాపీరైట్ (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "SELinux లాగిన్ మాపింగ్‌ను జతచేయుము"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "SELinux నెట్వర్కు పోర్ట్స్‍‌ను జతచేయుము"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux రకము"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "స్థాయి"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "దస్త్రము విశదీకరణము"
+-
+-#~ msgid "File Type"
+-#~ msgstr "దస్త్రము రకము"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "అన్ని దస్త్రములు\n"
+-#~ "సాదారణ దస్త్రము\n"
+-#~ "సంచయము\n"
+-#~ "అక్షర పరికరము\n"
+-#~ "బ్లాక్ పరికరము\n"
+-#~ "సాకెట్\n"
+-#~ "సింబాలిక్ లింకు\n"
+-#~ "నేమ్డ్‍ పైప్\n"
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "SELinux వినియోగదారిని జతచేయుము"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux నిర్వహణ"
+-
+-#~ msgid "Add"
+-#~ msgstr "జతచేయి"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "లక్షణములు(_P)"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "తొలగించు(_D)"
+-
+-#~ msgid "Select Management Object"
+-#~ msgstr "నిర్వహణ ఆబ్జక్ట్‍‌ను ఎంపికచేయుము"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>ఎంపికచేయి:</b>"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "సిస్టమ్ అప్రమేయ బలవంతపు రీతి"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "ప్రస్తుత బలవంతపు రీతి"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "సిస్టమ్ అప్రమేయ విధాన రకము: "
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "తరువాతి పునఃప్రారంభంనందు మొత్తం దస్త్ర వ్యవస్థను చేర్చాలనుకుంటే ఎంపికచేయండి.  చేర్చుట అనునది "
+-#~ "చాలా ఎక్కువ సమయం తీసుకుంటుంది, సిస్టమ్ యొక్క పరిమాణం మీద ఆదారపడి.  మీరు ఈ విధమైన విధానాలను "
+-#~ "మార్చుతుంటే లేదా అచేతనంనుండి బలవంతపుకు వెళుతుంటే, చేరిక అవసరమౌతుంది."
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "తరువాతి పునఃప్రారంభంనందు చేర్చుము."
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "బూలియన్ అమరికను సిస్టమ్ అప్రమేయంకు తిప్పివుంచుము"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "అన్ని బూలియన్స్‍ మరియు మలుచుకొనిన వాటిమాద్య మారుము"
+-
+-#~ msgid "Filter"
+-#~ msgstr "వడపోత"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "దస్త్ర సందర్భంను జతచేయుము"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "దస్త్రము సందర్భంను సవరించుము"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "దస్త్ర సందర్భంను తొలగించుము"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "అన్నిటి మరియు మలుచుకొనిన దస్త్ర సందర్బం మద్య మారుము"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "SELinux వినియోగదారి మాపింగ్‌ను జతచేయుము"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "SELinux వినియోగదారి మాపింగ్ సవరించుము"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "SELinux వినియోగదారి మాపింగ్ తొలగించుము"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "అనువాదమును జతచేయుము"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "అనువాదమును సవరించుము"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "అనువాదమును తొలగించుము"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "SELinux వినియోగదారిని సవరించుము"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "నెట్వర్క్‍ పోర్ట్‍‌ను జతచేయుము"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "నెట్వర్క్‍ పోర్ట్‍ సరిచేయి"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "నెట్వర్క్‍ పోర్ట్‍ తొలగించుము"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "అన్ని పోర్ట్స్‍ మరియు మలుచుకొనిన వాటిమాద్య మారుము"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "కొత్త విధానం మాడ్యూల్‌ను ఉద్భవింపచేయుము"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "విధానం మాడ్యూల్‌ను నింపుము"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "నింపదగు విధానం మాడ్యూల్‌ను తీసివేయుము"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr "అదనపు ఆడిట్ నియమాలను అచేతనం/చేతనం చేయుము, సాదారణంగా లాగ్ దస్త్రములనందు నివేదించబడని."
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "మృదుత్వం స్థాయి"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux వినియోగదారి '%s' అవసరము"
+-
+-#~ msgid "Requires value"
+-#~ msgstr "విలువ అవసరము"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "సరికాని ప్రిఫిక్స్‍ %s"
+-
+-#~ msgid "Allow application/user role to bind to any tcp ports > 1024"
+-#~ msgstr ""
+-#~ "ఏ tcp పోర్ట్స్‍‌కు అయినా > 1024 కు బంధనం అగుటకు అనువర్తనం/వినియోగదారి ను అనుమతించుము"
+-
+-#~ msgid "Allows confined application/user role to bind to any tcp port"
+-#~ msgstr "ఏ tcp పోర్ట్‍‌కైనా బంధనం అగుటకు పరిమిత అనువర్తనం/వినియోగదారి పాత్ర ను అనుమతిస్తుంది"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "ఆ అనువర్తనం/వినియోగదారి పాత్ర బందనం అగు కామావిభజిత tcp పోర్ట్స్‍ లేదా పోర్ట్స్‍ స్థాయిలను "
+-#~ "ప్రవేశపెట్టుము. ఉదాహరణ: 612, 650-660"
+-
+-#~ msgid "SELinux Policy Generation Druid"
+-#~ msgstr "SELinux విధానం ఉద్భవన డ్రుయిడ్"
+-
+-#~ msgid "Unreserved Ports  (> 1024)"
+-#~ msgstr "నిలువఉంచని పోర్ట్స్‍  (> 1024)"
+-
+-#~ msgid "Use this checkbutton if your app calls bindresvport with 0."
+-#~ msgstr "మీ app కాల్స్‍ bindresvport 0 తో ఉంటే ఈ చెక్‌బటన్‌ను ఉపయోగించండి."
+-
+-#~ msgid ""
+-#~ "Enforcing\n"
+-#~ "Permissive\n"
+-#~ "Disabled\n"
+-#~ msgstr ""
+-#~ "బలవంతపు\n"
+-#~ "అనుమతిగల\n"
+-#~ "అచేతనమైన\n"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux వినియోగదారి '%s' అవసరము"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/th.po policycoreutils-2.0.85/po/th.po
+--- nsapolicycoreutils/po/th.po        2011-02-17 15:11:25.075735680 -0500
++++ policycoreutils-2.0.85/po/th.po    2011-02-18 16:03:41.446976277 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/tr.po policycoreutils-2.0.85/po/tr.po
+--- nsapolicycoreutils/po/tr.po        2011-02-17 15:11:25.141734605 -0500
++++ policycoreutils-2.0.85/po/tr.po    2011-02-18 16:03:41.446976277 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/uk.po policycoreutils-2.0.85/po/uk.po
+--- nsapolicycoreutils/po/uk.po        2011-02-17 15:11:25.994720514 -0500
++++ policycoreutils-2.0.85/po/uk.po    2011-02-18 16:03:41.446976277 -0500
+@@ -1,19 +1,40 @@
+ # Ukraqinian translation of policycoreutils.
+ # Copyright (C) 2006 Free software Foundation
+ # This file is distributed under the same license as the policycoreutils package.
+-# Maxim Dziumanenko <dziumanenko@gmail.com>, 2006-2007.
+ #
++# Maxim Dziumanenko <dziumanenko@gmail.com>, 2006-2007.
++# Yuri Chornoivan <yurchor@ukr.net>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2007-01-23 17:22+0300\n"
+-"Last-Translator: Maxim Dziumanenko <dziumanenko@gmail.com>\n"
+-"Language-Team: Ukrainian <uk@li.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-08-20 18:40+0300\n"
++"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
++"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
++"Language: uk\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++"X-Generator: Lokalize 1.1\n"
++"Plural-Forms: nplurals=1; plural=0;\n"
++
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "Засіб для налаштування SELinux з графічним інтерфейсом"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "Керування SELinux"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "Створення модулів контролю доступу SELinux"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "Утиліта генерації правил SELinux"
+ #: ../run_init/run_init.c:67
+ msgid ""
+@@ -42,7 +63,7 @@
+ #: ../run_init/run_init.c:197 ../newrole/newrole.c:363
+ #, c-format
+ msgid "Cannot find your entry in the shadow passwd file.\n"
+-msgstr "Не вдається знайти елемент у тіньовому файлі паролів.\n"
++msgstr "Не вдається ваш запис у тіньовому файлі паролів.\n"
+ #: ../run_init/run_init.c:203 ../newrole/newrole.c:370
+ #, c-format
+@@ -77,58 +98,54 @@
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+ msgid "Could not set exec context to %s.\n"
+-msgstr "Не вдається виконати контекст у %s.\n"
++msgstr "Не вдається вказати контекст виконання у %s.\n"
+ #: ../audit2allow/audit2allow:217
+-#, fuzzy
+ msgid "******************** IMPORTANT ***********************\n"
+-msgstr ""
+-"\n"
+-"******************** ВАЖЛИВО ***********************\n"
++msgstr "********************* ВАЖЛИВО ************************\n"
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr ""
++msgstr "Для активації пакету правил виконайте:"
+ #: ../semanage/seobject.py:48
+-#, fuzzy
+ msgid "Could not create semanage handle"
+-msgstr "Не вдається запустити транзакцію semanage"
++msgstr "Не вдається створити дескриптор semanage"
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr "Політика SELinux не є призначеною або немає доступу до сховища."
++msgstr "Правила SELinux не призначено або немає доступу до сховища."
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "Не вдається прочитати сховище політики."
++msgstr "Не вдається прочитати дані сховища правил."
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+ msgstr "Не вдається встановити з'єднання з semanage"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "Не вдається встановити діапазон MLS для %s"
++msgstr "Не вдається встановити активний статус MLS"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+-msgstr ""
++msgstr "глобально"
+ #: ../semanage/seobject.py:206
+-#, fuzzy, python-format
++#, python-format
+ msgid "Unable to open %s: translations not supported on non-MLS machines: %s"
+ msgstr ""
+-"Не вдається відкрити %s: трансляції не підтримуються на не-MLS комп'ютерах"
++"Не вдається відкрити %s: переклади не підтримуються на машинах без MLS: %s"
+ #: ../semanage/seobject.py:239
+ msgid "Level"
+-msgstr ""
++msgstr "Рівень"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+-msgstr ""
++msgstr "Переклад"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+@@ -143,782 +160,780 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s вже визначено у трансляції"
++msgstr "%s вже визначено у перекладі"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s не визначено у трансляції"
++msgstr "%s не визначено у перекладі"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+-msgstr ""
++msgstr "Функцію ще не реалізовано"
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Транзакція semanage вже виконується"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+ msgstr "Не вдається запустити транзакцію semanage"
+ #: ../semanage/seobject.py:309
+-#, fuzzy
+ msgid "Could not commit semanage transaction"
+-msgstr "Не вдається запустити транзакцію semanage"
++msgstr "Не вдається завершити транзакцію semanage"
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Транзакція semanage не виконується"
+ #: ../semanage/seobject.py:325
+-#, fuzzy
+ msgid "Could not list SELinux modules"
+-msgstr "Не вдається отримати список користувачів SELinux"
++msgstr "Не вдається отримати список модулів SELinux"
+ #: ../semanage/seobject.py:336
+ msgid "Permissive Types"
+-msgstr ""
++msgstr "Permissive типи"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+-msgstr ""
++msgstr "Не вдалось вказати permissive домен %s (помилка встановлення модуля)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+-msgstr ""
++msgstr "Не вдалось видалити permissive домен %s (помилка при встановленні)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "Не вдається створити ключ для %s"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "Не вдається перевірити чи визначено mapping входу для %s "
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "mapping входу для %s вже визначено"
+-#: ../semanage/seobject.py:421
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:417
++#, python-format
+ msgid "Linux Group %s does not exist"
+-msgstr "Користувач %s не існує у Linux"
++msgstr "Linux-група %s не існує"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Користувач %s не існує у Linux"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "Не вдається створити mapping входу для %s"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+-msgstr "Не вдається встановити назву %s"
++msgstr "Не вдається вказати назву %s"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+-msgstr "Не вдається встановити діапазон MLS для %s"
++msgstr "Не вдається вказати діапазон MLS для %s"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "Не вдається встановити користувача SELinux для %s"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "Не вдається додати mapping входу для %s"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
+-#, fuzzy
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+-msgstr "Не вдається додати користувача SELinux %s"
++msgstr "додати mapping користувача SELinux"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "Потрібно seuser або serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "mapping входу для %s не визначено"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "Не вдається запитати seuser для %s"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "Не вдається змінити mapping входу для %s"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+-msgstr "mapping входу для %s визначено у політиці, не вдається видалити"
++msgstr "mapping входу для %s визначено у правилах, не вдається видалити"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "Не вдається видалити mapping входу для %s"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "Не вдається вивести mapping входу"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+-msgstr ""
++msgstr "Реєстраційне ім'я"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
+-#, fuzzy
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+-msgstr "Потрібно вказати тип SELinux"
++msgstr "Користувач SELinux"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+-msgstr ""
++msgstr "Діапазон MLS/MCS"
+-#: ../semanage/seobject.py:594
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:590
++#, python-format
+ msgid "You must add at least one role for %s"
+-msgstr "Не вдається додати контекст файлу для %s"
++msgstr "Треба додати принаймні одну роль для %s"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "Не вдається перевірити чи визначений користувач SELinux %s"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "Користувач SELinux %s вже визначений"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "Не вдається створити користувача SELinux для %s"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "Не вдається додати роль %s для %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "Не вдається встановити рівень MLS для %s"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "Не вдається додати префікс %s для %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "Не вдається витягнути ключ для %s"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "Не вдається додати користувача SELinux %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "Треба вказати префікс, ролі, рівень або range"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "Потрібен префікс або роль"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "Користувач SELinux  %s не визначений"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "Не вдається запитати користувача для %s"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "Не вдається змінити користувача SELinux %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr "Користувач SELinux %s визначено у політиці, не може бути видалений"
++msgstr "Користувач SELinux %s визначено у правилах, не може бути видалений"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "Не вдається видалити користувача SELinux %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "Не вдається отримати список користувачів SELinux"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "Не вдається отримати список ролей користувача %s"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+-msgstr ""
++msgstr "Розмітка"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+-msgstr ""
++msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+-msgstr ""
++msgstr "Префікс"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+-msgstr ""
++msgstr "Рівень MCS"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+-msgstr ""
++msgstr "Діапазон MCS"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+-msgstr ""
++msgstr "Ролі SELinux"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "Потрібен протокол udp чи tcp"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "Необхідно вказати порт"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "Не вдається створити ключ для %s/%s"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "Необхідно вказати тип"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "Не вдається чи порт визначено %s/%s"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "Порт %s/%s вже визначено"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "Не вдається створити порт для %s/%s"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "Не вдається створити контекст для %s/%s"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "Не вдається вказати користувача у контексті порту для %s/%s"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "Не вдається встановити роль у контексті порту для %s/%s"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "Не вдається встановити тип у контексті порту для %s/%s"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "Не вдається встановити поле mls у контексті порту для %s/%s"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "Не вдається створити контекст порту для %s/%s"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "Не вдається додати додати порт  %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "Потрібно вказати setype або serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "Потрібно вказати setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "Порт %s/%s не визначено"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "Не вдається запитати порт %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "Не вдається змінити порт %s/%s"
+-#: ../semanage/seobject.py:921
+-#, fuzzy
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "Не вдається отримати список портів"
+-#: ../semanage/seobject.py:937
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:933
++#, python-format
+ msgid "Could not delete the port %s"
+-msgstr "Не вдається видалити порт %s/%s"
++msgstr "Неможливо видалити порт %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "Порт %s/%s визначено у політиці, не можу бути видалений"
++msgstr "Порт %s/%s визначено у правилах, не може бути видалений"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "Не вдається видалити порт %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "Не вдається отримати список портів"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+-msgstr ""
++msgstr "Тип порту SELinux"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+-msgstr ""
++msgstr "Протокол"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+-msgstr ""
++msgstr "Номер порту"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "Необхідно вказати порт"
++msgstr "Потрібно вказати адреса вузла"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "Необхідно вказати порт"
++msgstr "Потрібно вказати значення порту"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "Протокол відсутній чи невідомий"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "Потрібно вказати тип SELinux"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "Не вдається створити ключ для %s"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "Не вдається чи порт визначено %s/%s"
++msgstr "Не вдається перевірити чи визначено адресу %s"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "Порт %s/%s вже визначено"
++msgstr "Адресу %s уже визначено"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "Не вдається створити ключ для %s"
++msgstr "Не вдається створити адресу %s"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "Не вдається створити контекст для %s"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "Не вдається встановити назву %s"
++msgstr "Не вдається вказати маску %s"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "Не вдається встановити користувача у контексті файлу для %s"
++msgstr "Не вдається вказати користувача у контексті адреси для %s"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "Не вдається встановити роль у контексті файлу для %s"
++msgstr "Не вдається вказати роль у контексті адреси для %s"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "Не вдається встановити тип у контексті файлу для %s"
++msgstr "Не вдається вказати тип у контексті адреси для %s"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "Не вдається встановити поле mls у контексті файлу для %s"
++msgstr "Не вдається вказати поля mls у контексті адреси для %s"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "Не вдається встановити контекст файлу для %s"
++msgstr "Не вдається вказати контекст addr для %s"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "Не вдається додати додати порт  %s/%s"
++msgstr "Не вдається додати addr %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "Порт %s/%s не визначено"
++msgstr "Addr %s не визначено"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "Не вдається запитати порт %s/%s"
++msgstr "Не вдається запитати addr %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "Не вдається змінити порт %s/%s"
++msgstr "Не вдається змінити addr %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "Порт %s/%s визначено у політиці, не можу бути видалений"
++msgstr "Addr %s визначено у правилах та не може бути видалена"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "Не вдається видалити інтерфейс %s"
++msgstr "Не вдалось видалити addr %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "Не вдається отримати список портів"
++msgstr "Не вдалось отримати список addr"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "Не вдається перевірити чи визначений інтерфейс %s"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "Інтерфейс %s вже визначено"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "Не вдається створити інтерфейс для %s"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "Не вдається встановити користувача у контексті інтерфейсу для %s"
++msgstr "Не вдається вказати користувача у контексті інтерфейсу для %s"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "Не вдається встановити роль у контексті інтерфейсу для %s"
++msgstr "Не вдається вказати роль у контексті інтерфейсу для %s"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "Не вдається встановити тип у контексті інтерфейсу для %s"
++msgstr "Не вдається вказати тип у контексті інтерфейсу для %s"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "Не вдається встановити поле mls у контексті інтерфейсу для %s"
++msgstr "Не вдається вказати поле mls у контексті інтерфейсу для %s"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "Не вдається створити контекст інтерфейсу для %s"
++msgstr "Не вдається вказати контекст інтерфейсу для %s"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr "Не вдається створити контекст повідомлення інтерфейс для %s"
++msgstr "Не вдається створити контекст повідомлення для %s"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "Не вдається додати інтерфейс %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "Інтерфейс  %s не визначено"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "Не вдається запитати інтерфейс %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "Не вдається змінити інтерфейс %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "Інтерфейс %s визначений у політиці, не може бути видалений"
++msgstr "Інтерфейс %s визначений у правилах, не може бути видалений"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "Не вдається видалити інтерфейс %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+-msgstr "Не вдається перелічити інтерфейси"
++msgstr "Не вдається отримати список інтерфейсів"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+-msgstr ""
++msgstr "Інтерфейс SELinux"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr ""
++msgstr "Контекст"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "Не вдається встановити користувача у контексті файлу для %s"
++msgstr "Не вдається вказати користувача у контексті файлу для %s"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "Не вдається встановити роль у контексті файлу для %s"
++msgstr "Не вдається вказати роль у контексті файлу для %s"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "Не вдається встановити поле mls у контексті файлу для %s"
++msgstr "Не вдається вказати поле mls у контексті файлу для %s"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+-msgstr ""
++msgstr "Неправильна визначення файлу"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "Не вдається перевірити чи визначений контекст файлу %s"
++msgstr "Не вдається перевірити чи визначений контекст файлу для %s"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "Контекст файлу для %s вже визначено"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "Не вдається створити контекст файлу для %s"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "Не вдається встановити тип у контексті файлу для %s"
++msgstr "Не вдається вказати тип у контексті файлу для %s"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "Не вдається встановити контекст файлу для %s"
++msgstr "Не вдається вказати контекст файлу для %s"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "Не вдається додати контекст файлу для %s"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "Потрібно вказати setype, serange чи seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "Контекст файлу для %s не визначено"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "Не вдається запитати контекст файлу для %s"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "Не вдається змінити контекст файлу для %s"
+-#: ../semanage/seobject.py:1560
+-#, fuzzy
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "Не вдається отримати список контекстів файлів"
+-#: ../semanage/seobject.py:1574
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1570
++#, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "Не вдається видалити контекст файлу для %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+-msgstr "Контекст файлу для %s визначено у політиці, його не можна видалити"
++msgstr "Контекст файлу для %s визначено у правилах, його не можна видалити"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "Не вдається видалити контекст файлу для %s"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "Не вдається отримати список контекстів файлів"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "Не вдається отримати список локальних контекстів файлів"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+-msgstr ""
++msgstr "Контекст файлу SELinux"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+-msgstr ""
++msgstr "тип"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "Не вдається перевірити чи визначено логічне значення %s"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "Логічне значення %s не визначене"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "Не вдається запитати контекст файлу %s"
+-#: ../semanage/seobject.py:1677
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1673
++#, python-format
+ msgid "You must specify one of the following values: %s"
+-msgstr "Необхідно вказати префікс"
++msgstr "Необхідно вказати значення: %s"
+-#: ../semanage/seobject.py:1681
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1677
++#, python-format
+ msgid "Could not set active value of boolean %s"
+-msgstr "Не вдається видалити логічне значення %s"
++msgstr "Не вдається вказати активне значення змінної %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "Не вдається змінити логічне значення %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+-msgstr ""
++msgstr "Неправильний формат %s: Запис %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "Логічне значення %s визначено у політиці, його не можна видалити"
++msgstr "Логічне значення %s визначено у правилах, його не можна видалити"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "Не вдається видалити логічне значення %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "Не вдається отримати список логічних змінних"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+-msgstr ""
++msgstr "невідомо"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+-msgstr ""
++msgstr "вимкнено"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+-msgstr ""
++msgstr "увімкнено"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+-msgstr ""
++msgstr "Логічні змінна SELinux"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+-msgstr ""
++msgstr "Опис"
+ #: ../newrole/newrole.c:198
+ #, c-format
+@@ -928,12 +943,12 @@
+ #: ../newrole/newrole.c:287
+ #, c-format
+ msgid "newrole: service name configuration hashtable overflow\n"
+-msgstr ""
++msgstr "newrole: переповнення хеш-таблиці параметрів назв служб\n"
+ #: ../newrole/newrole.c:297
+ #, c-format
+ msgid "newrole:  %s:  error on line %lu.\n"
+-msgstr ""
++msgstr "newrole:  %s:  помилка у рядку %lu.\n"
+ #: ../newrole/newrole.c:436
+ #, c-format
+@@ -956,9 +971,9 @@
+ msgstr "Не вдається очистити оточення\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "Помилка ініціалізації можливостей.\n"
++msgstr "Помилка ініціалізації, аварійне завершення.\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1037,7 +1052,7 @@
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s!  Не вдається встановити новий контекст для %s\n"
++msgstr "%s!  Не вдається вказати новий контекст для %s\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+@@ -1072,7 +1087,7 @@
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr ""
++msgstr "Помилка: Ви не зможете змінювати рівень у небезпечному терміналі\n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1140,14 +1155,14 @@
+ msgstr "не вдається отримати old_context.\n"
+ #: ../newrole/newrole.c:1140
+-#, fuzzy, c-format
++#, c-format
+ msgid "Warning!  Could not retrieve tty information.\n"
+-msgstr "Помилка!  Не вдається отримати інформацію про tty.\n"
++msgstr "Попередження!  Не вдається отримати інформацію про tty.\n"
+ #: ../newrole/newrole.c:1161
+ #, c-format
+ msgid "error on reading PAM service configuration.\n"
+-msgstr ""
++msgstr "помилка при читанні конфігурації служби PAM.\n"
+ #: ../newrole/newrole.c:1196
+ #, c-format
+@@ -1189,24 +1204,24 @@
+ msgstr "не вдається виконати оболонку\n"
+ #: ../load_policy/load_policy.c:22
+-#, fuzzy, c-format
++#, c-format
+ msgid "usage:  %s [-qi]\n"
+-msgstr "використання:  %s [-bq]\n"
++msgstr "використання:  %s [-qi]\n"
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr ""
++msgstr "%s: правила вже завантажено, запитано початкове завантаження\n"
+ #: ../load_policy/load_policy.c:80
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s: Не вдається завантажити політику:  %s\n"
++msgstr "%s: не вдається завантажити запитані правила у примусовому режимі: %s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s: Не вдається завантажити політику:  %s\n"
++msgstr "%s: Не вдається завантажити правила:  %s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+@@ -1233,7 +1248,7 @@
+ #: ../scripts/chcat:319
+ msgid "Can not have multiple sensitivities"
+-msgstr "Кілька sensitivities не підтримуються"
++msgstr "Кілька рівнів чутливості не підтримуються"
+ #: ../scripts/chcat:325
+ #, c-format
+@@ -1292,120 +1307,2227 @@
+ msgid "Options Error %s "
+ msgstr "Помилка параметра %s"
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "трансляції не підтримуються на не-MLS комп'ютерах"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "Логічні змінні"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "Усі"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "Змінені"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "Призначення позначок файлам"
+-#, fuzzy
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr "Потрібно вказати тип SELinux"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"Специфікація\n"
++"файлів"
+-#, fuzzy
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "Потрібно вказати тип SELinux"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Тип файлу\n"
++"SELinux"
+-#, fuzzy
+-#~ msgid "Sends audit messages"
+-#~ msgstr "Помилка надсилання повідомлення аудиту.\n"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"Тип\n"
++"файлу"
+-#, fuzzy
+-#~ msgid "You must select a user"
+-#~ msgstr "Необхідно вказати роль"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "Відповідність користувачів"
+-#, fuzzy
+-#~ msgid "You must enter a name"
+-#~ msgstr "Необхідно вказати роль"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"Реєстраційне\n"
++"ім'я"
+-#, fuzzy
+-#~ msgid "You must enter a executable"
+-#~ msgstr "Необхідно вказати роль"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"Користувач\n"
++"SELinux"
+-#, fuzzy
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "Створення типу файлу режиму блокування: %s.te"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"Діапазон\n"
++"MLS/MCS"
+-#, fuzzy
+-#~ msgid "Interface file"
+-#~ msgstr "Інтерфейс  %s не визначено"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "Потрібна авторизація '%s'"
+-#, fuzzy
+-#~ msgid "File Contexts file"
+-#~ msgstr "Контекст файлу для %s не визначено"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "Модуль правил"
+-#, fuzzy
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "Користувач SELinux  %s не визначений"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "Назва модуля"
+-#, fuzzy
+-#~ msgid "Compatibility"
+-#~ msgstr "Компіляція політики"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "Версія"
+-#, fuzzy
+-#~ msgid "SASL authentication server"
+-#~ msgstr "Автентифікація %s.\n"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "Вимкнути аудит"
+-#, fuzzy
+-#~ msgid "SELinux Type"
+-#~ msgstr "Потрібно вказати тип SELinux"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "Увімкнути аудит"
+-#, fuzzy
+-#~ msgid "Add SELinux User"
+-#~ msgstr "Не вдається додати користувача SELinux %s"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "Завантажити модуль правил"
+-#, fuzzy
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "Не вдається змінити користувача SELinux %s"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#, fuzzy
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "Не вдається видалити користувача SELinux %s"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#, fuzzy
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "Не вдається змінити користувача SELinux %s"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#, fuzzy
+-#~ msgid "Load policy module"
+-#~ msgstr "Не вдається прочитати сховище політики."
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "Максим Дзюманенко <dziumanenko@gmail.com>"
+-#, fuzzy
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "Потрібно вказати тип SELinux"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"Використовуючи цю утиліту можна створити інфраструктуру правил, обмежити "
++"роботу програм та користувачів за допомогою SELinux.\n"
++"\n"
++"Утиліта генерує:\n"
++"Файл примусового типу (te)\n"
++"Файл інтерфейсу (if)\n"
++"Файл контексту (fc)\n"
++"Сценарій оболонки (sh) для компіляції та параметри правил."
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "Виберіть тип ролі програми/користувача для застосування обмежень"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>Програма</b>"
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"Стандартні служби ініціалізації запускаються при завантаженні за допомогою "
++"сценаріїв init, які зазвичай розташовані у /etc/rc.d/init.d"
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "Стандартна служба Init"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "Системна служба DBUS"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "initd запускається службою xinetd"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "Служба Інтернет-служб (inetd)"
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "Веб-програми/ сценарії CGI, що запускаються веб-сервером Apache"
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "Веб-програма/ сценарій (CGI)"
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++"Програма користувача -- будь-яка програма, запущена користувачем, до якого "
++"ви хочете застосувати обмеження."
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "Програма користувача"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>Зареєстровані користувачі</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "Змінити наявний запис авторизації користувача."
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "Наявні ролі користувачів"
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"Користувач може авторизуватися лише віддалено чи у терміналі. Початково для "
++"користувача не налаштовані setuid, sudo, su та мережне оточення."
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "Мінімальна роль користувача терміналу"
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"Цей користувач може авторизуватися за допомогою X або терміналу. Початково "
++"для користувача не налаштовані setuid, sudo, su та мережне оточення."
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "Мінімальна роль користувача X Window"
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"Користувач з повністю налаштованим мережним оточенням, програми без setuid, "
++"без su, без sudo."
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "Роль користувача"
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"Користувач з повністю налаштованим мережним оточенням, програми без setuid, "
++"без su, може виконувати sudo до ролей адміністрування root."
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "Роль адміністратора"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Користувачі root</b>"
+-#~ msgid "Requires value"
+-#~ msgstr "Потрібно вказати значення"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"Оберіть роль адміністратора root, якщо цей користувач також адмініструє "
++"систему у режимі root. При цьому користувач не зможе авторизуватися у "
++"системі безпосередньо."
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Роль адміністратора root"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "Введіть назву ролі програми чи користувача для застосування обмежень"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "Назва"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++"Вкажіть повний шлях до виконуваного компоненту, у якому будуть застосовані "
++"обмеження"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
+-#~ msgid "Invalid prefix %s"
+-#~ msgstr "Неправильний префікс %s"
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "Введіть унікальну назву для обмежуваної ролі програми/ користувача."
+-#~ msgid "Requires 2 or more arguments"
+-#~ msgstr "Потрібно 2 або більше аргументів"
+-
+-#~ msgid "%s not defined"
+-#~ msgstr "%s не визначено"
+-
+-#~ msgid "%s not valid for %s objects\n"
+-#~ msgstr "%s не є допустимим для %s об'єктів\n"
+-
+-#~ msgid "range not supported on Non MLS machines"
+-#~ msgstr "range не підтримується на не-MLS комп'ютерах"
+-
+-#~ msgid "Invalid value %s"
+-#~ msgstr "Неправильне значення %s"
+-
+-#~ msgid ""
+-#~ "In order to load this newly created policy package into the kernel,\n"
+-#~ "you are required to execute \n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "При завантаженні цього нового пакету політики у ядро,\n"
+-#~ "треба виконати\n"
+-#~ "\n"
+-#~ "semodule -i %s.pp\n"
+-#~ "\n"
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "Виконуваний компонент"
+-#~ msgid "Options Error: %s "
+-#~ msgstr "Помилка у аргументах: %s "
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Сценарій init"
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++"Вкажіть повний шлях до сценарію init, що використовується для запуску "
++"обмежуваної програми."
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "Виберіть ролі користувачів, які хочете змінити"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "Виберіть ролі користувачів, які слід перенести у домени програм."
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "Виберіть додаткові домени, у яких має бути ця роль"
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "Виберіть домени програм, на які слід перенести цю роль користувача."
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "Виберіть ролі користувачів, які мають бути перенесені у цей домен"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "Виберіть додаткові домени, якими буде керувати цей користувач"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "Виберіть домени, якими має керувати цей користувач."
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "Виберіть додаткові ролі для цього користувача"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++"Вкажіть мережні порти, які роль програми/ користувача буде прослуховувати"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>Порти TCP</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++"Дозволяє відповідність обмежуваних програм/ користувачів будь-якому порту UDP"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "Усі"
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++"Дозволити програмі/ користувачу здійснювати виклик bindresvport з 0. "
++"Використовується порт 600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"Введіть список UDP-портів чи діапазонів портів, розділених комою, для яких "
++"буде виконана відповідність. Приклад: 612, 650-660"
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "Не зарезервовані порти (>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "Виберіть порти"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++"Дозволити відповідність програм/ користувачів будь-яким портам UDP з "
++"номерами > 1024"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>Порти UDP</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "Вкажіть мережні порти, до яких приєднується роль програм/ користувача"
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Введіть список TCP-портів чи діапазонів портів, розділених комою, до яких "
++"буде здійснюватись підключення. Приклад: 612, 650-660"
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"Введіть список UDP-портів чи діапазонів портів, розділених комою, до яких "
++"буде здійснюватись підключення. Приклад: 612, 650-660"
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "Вибрати типову поведінку програми"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "Записує повідомлення syslog\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "Створює та обробляє тимчасові файли у каталозі /tmp"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "Використовує Pam для автентифікації"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "Використовує виклики nsswitch чи getpw*"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "Використовує dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "Надсилає повідомлення audit "
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "Взаємодіє з терміналом"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "Надсилає повідомлення електронною поштою"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "Виберіть файли та каталоги, якими буде керувати програма"
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"Додати файл та каталоги, до яких програма буде виконувати запис. Файли PID, "
++"журнали, /var/lib"
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "Виберіть логічні змінні для використання програмою"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++"Додати/видалити логічні змінні, що використовуються для цієї програми/"
++"користувача"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "Виберіть каталог, у якому будуть створюватись правила"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "Каталог правил"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "Створені файли правил"
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ця утиліта генерує:\n"
++"Файл примусового типу (te), файл інтерфейсу (if), файловий контекст (fc),\n"
++"сценарій оболонки (sh).\n"
++"\n"
++"Виконайте сценарій оболонки у режимі root, щоб скомпілювати/ встановити\n"
++"та призначити позначки файлам та каталогам.\n"
++"Щоб поставити відповідність ролі користувача Linux, використовуйте semanage "
++"чи useradd.\n"
++"Увімкніть дозволений режим (setenforce 0). \n"
++"Авторизуйтесь та перевірте роль користувача.\n"
++"Виконайте команду audit2allow -R, щоб створити додаткові правила для файлу "
++"te.\n"
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"Ця утиліта генерує:\n"
++"Файл примусового типа (te), файл інтерфейсу (if), файловий контекст (fc),\n"
++"сценарій оболонки (sh).\n"
++"\n"
++"Виконайте сценарій оболонки, щоб скомпілювати/встановити та призначити\n"
++"позначки файлам та каталогам.\n"
++"Включите дозволений режим (setenforce 0). \n"
++"Запустите програму для генерації повідомлень avc.\n"
++"Виконайте команду audit2allow -R, щоб створити додаткові правила для файлу "
++"te.\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "Додати діалог для логічних змінних"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "Назва логічної змінної"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "Роль"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Наявний_користувач"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "Програма"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s має бути каталогом"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "Потрібно вказати користувача"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "Виберіть виконуваний файл для приміщення обмежень."
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "Виберіть сценарій init для застосування обмежень."
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "Виберіть файли, які обмежувана програма буде створювати чи записувати"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "Виберіть каталоги, які будуть належати обмежуваній програмі"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "Виберіть каталог, у якому будуть створюватись файли правил"
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Тип %s_t вже визначено у поточні правила.\n"
++"Продовжити?"
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "Перевірка назви"
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"Модуль %s.pp вже завантажено у поточні правила.\n"
++"Продовжити?"
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "Необхідно вказати назву"
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "Необхідно вказати виконуваний компонент"
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "Налаштовування SELinux"
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "Номери портів повинні бути у діапазоні від 1 до %d "
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "Треба ввести назву процесу/користувача з обмеженнями"
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "Типи користувачів не є припустимими виконуваними компонентами"
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "Лише служби можуть використовувати сценарій init"
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog має містити логічне значення"
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "Типам користувачів автоматично встановлюється тип tmp"
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "Для обмеження процесу треба вказати виконуваний шлях"
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "Файл примусового типу"
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "Файл інтерфейсу"
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "Файл контексту"
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "Сценарій налаштовування"
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "Мережний порт"
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"Тип порту\n"
++"SELinux"
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "Протокол"
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"Рівень\n"
++"MLS/MCS"
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "Порт"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "Неправильний номер порту «%s». 0 < номер_порту < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "Список"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "Групи"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "Захист служб SELinux"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "Вимкнути захист SELinux для служби acct"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "Адмін"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "Дозволити всім службам здійснювати запис до /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "Дозволити всім службам використовувати незайняті tty"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "Привілеї користувачів"
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Дозволити обліковому запису gadmin виконувати файли у домашньому каталозі "
++"та /tmp"
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Дозволити обліковому запису guest виконувати файли у домашньому каталозі та /"
++"tmp"
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "Захист пам'яті"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "Дозволити виконуваний стек java"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "Підключення ФС"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "Дозволити підключення ФС у будь-яких файлах"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "Дозволити підключення ФС до будь-яких каталогів"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "Дозволити виконуваний стек mplayer"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "Дозволити ssh виконувати ssh-keysign"
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Дозволити користувачу staff виконувати файли у домашньому каталозі та /tmp"
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Дозволити користувачу sysadm виконувати файли у домашньому каталозі та /tmp"
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"Дозволити необмеженому обліковому запису SELinux виконувати файли у "
++"домашньому каталозі та /tmp"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "Конфігурація мережі"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "Дозволити проходження по мережі непозначених пакетів"
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Дозволити користувачам user виконувати файли у домашньому каталозі та /tmp"
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++"Дозволити необмеженим компонентам виконувати dyntrans для unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "Бази даних"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "Дозволити користувачу приєднуватися до сокета mysql"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "Дозволити користувачу приєднуватись до сокета postgres"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "Дозволити клієнтам здійснювати запис до спільної пам'яті X"
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++"Дозволити обліковому запису xguest виконувати файли у домашньому каталозі "
++"та /tmp"
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "Дозволити службам виконуватись з NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "Web-програми"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "Перенести користувача staff до домену веб-браузера"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "Перенести користувача sysadm до домену веб-браузера"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "Перенести користувача user до домену веб-браузера"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "Перенести користувача xguest до домену веб-браузера"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "Дозволити браузерам користувача staff запис у домашні каталоги"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "Захист SELinux для amanda вимкнено"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "Захист SELinux для amavis вимкнено"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "Захист SELinux для служби apmd вимкнено"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "Захист·SELinux для служби arpwatch вимкнено"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "Захист SELinux для служби auditd вимкнено"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "Захист SELinux для служби automount вимкнено"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "Захист SELinux для avahi вимкнено"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "Захист SELinux для служби bluetooth вимкнено"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "Захист SELinux для служби canna вимкнено"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "Захист SELinux для служби cardmgr вимкнено"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "Захист SELinux для Cluster Server вимкнено"
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"Дозволити cdrecord читання різної інформації з NFS, Samba, з тимчасових "
++"каталогів користувачів, не довірених файлів та змінних пристроїв"
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "Захист SELinux для служби ciped вимкнено"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "Захист SELinux для служби clamd вимкнено"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "Захист SELinux для clamscan вимкнено"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "Захист SELinux для clvmd вимкнено"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "Захист SELinux для служби comsat вимкнено"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "Захист SELinux для служби courier вимкнено"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "Захист SELinux для служби cpucontrol вимкнено"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "Захист SELinux для служби cpuspeed вимкнено"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "Захист SELinux для служби crond вимкнено"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "Друк"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "Захист SELinux для сервера cupsd вимкнено"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "Захист SELinux для служби cupsd вимкнено"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "Захист SELinux для cupsd_lpd вимкнено"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "Захист SELinux для служби cvs вимкнено"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "Захист SELinux для служби cyrus вимкнено"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "Захист SELinux для служби dbskkd вимкнено"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "Захист SELinux для dbusd вимкнено"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "Захист SELinux для dccd вимкнено"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "Захист SELinux для dccifd вимкнено"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "Захист SELinux для dccm вимкнено"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "Захист SELinux для служби ddt вимкнено"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "Захист SELinux для служби devfsd вимкнено"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "Захист SELinux для служби dhcpc вимкнено"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "Захист SELinux для служби dhcpd вимкнено"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "Захист SELinux для служби dictd вимкнено"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "Дозволити sysadm_t безпосередньо запускати служби"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "Захист SELinux для Evolution вимкнено"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "Ігри"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "Захист SELinux для ігор вимкнено"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "Захист SELinux для web-браузерів вимкнено"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "Захист SELinux для Thunderbird вимкнено"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "Захист SELinux для служби distccd вимкнено"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "Захист SELinux для служби dmesg вимкнено"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "Захист SELinux для служби dnsmasq вимкнено"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "Захист SELinux для служби dovecot вимкнено"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "Захист SELinux для служби entropyd вимкнено"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "Захист SELinux для fetchmail вимкнено"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "Захист SELinux для служби fingerd вимкнено"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "Захист SELinux для служби freshclam вимкнено"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "Захист SELinux для служби fsdaemon вимкнено"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "Захист SELinux для служби gpm вимкнено"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "Захист SELinux для служби gss вимкнено"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "Захист SELinux для служби Hal вимкнено"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "Сумісність"
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++"Не виконувати аудит несправних компонентів, які не утворюють загрозу безпеці"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "Захист SELinux для служби hostname вимкнено"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "Захист SELinux для служби hotplug вимкнено"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "Захист SELinux для служби howl вимкнено"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "Захист SELinux для служби cups hplip вимкнено"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "Захист SELinux для служби httpd rotatelogs вимкнено"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "Служба HTTPD"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "Захист SELinux для служби http suexec вимкнено"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "Захист SELinux для служби hwclock вимкнено"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "Захист SELinux для служби i18n вимкнено"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "Захист SELinux для служби imazesrv вимкнено"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "Захист SELinux для дочірніх служб inetd вимкнено"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "Захист SELinux для служби inetd вимкнено"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "Захист SELinux для служби innd вимкнено"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "Захист SELinux для служби iptables вимкнено"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "Захист SELinux для служби ircd вимкнено"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "Захист SELinux для служби irqbalance вимкнено"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "Захист SELinux для служби iscsi вимкнено"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "Захист SELinux для служби jabberd вимкнено"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "Захист SELinux для служби kadmind вимкнено"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "Захист SELinux для служби klogd вимкнено"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "Захист SELinux для служби krb5kdc вимкнено"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "Захист SELinux для служби ktalk вимкнено"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "Захист SELinux для служби kudzu вимкнено"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "Захист SELinux для служби locate вимкнено"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "Захист SELinux для служби lpd вимкнено"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "Захист SELinux для служби lrrd вимкнено"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "Захист SELinux для служби lvm вимкнено"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "Захист SELinux для mailman вимкнено"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "Дозволити Evolution та Thunderbird читати файли користувачів"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "Захист SELinux для служби mdadm вимкнено"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "Захист SELinux для служби monopd вимкнено"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "Дозволити Mozilla читати файли користувачів"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "Захист SELinux для служби mrtg вимкнено"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "Захист SELinux для служби mysqld вимкнено"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "Захист SELinux для служби nagios вимкнено"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "Служба імен"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "Захист SELinux для служби named вимкнено"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "Захист SELinux для служби nessusd вимкнено"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "Захист SELinux для NetworkManager вимкнено"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "Захист SELinux для служби nfsd вимкнено"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "Захист SELinux для служби nmbd вимкнено"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "Захист SELinux для служби nrpe вимкнено"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "Захист SELinux для служби nscd вимкнено"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "Захист SELinux для служби nsd вимкнено"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "Захист SELinux для служби ntpd вимкнено"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "Захист SELinux для oddjob вимкнено"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "Захист SELinux для oddjob_mkhomedir вимкнено"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "Захист SELinux для служби openvpn вимкнено"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "Захист SELinux для служби pam вимкнено"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "Захист SELinux для pegasus вимкнено"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "Захист SELinux для служби perdition вимкнено"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "Захист SELinux для служби portmap вимкнено"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "Захист SELinux для служби portslave вимкнено"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "Захист SELinux для postfix вимкнено"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "Захист SELinux для служби postgresql вимкнено"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "Дозволити виконання pppd у режимі звичайного користувача"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "Захист SELinux для pptp вимкнено"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "Захист SELinux для служби prelink вимкнено"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "Захист SELinux для служби privoxy вимкнено"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "Захист SELinux для служби ptal вимкнено"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "Захист SELinux для служби pxe вимкнено"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "Захист SELinux для pyzord вимкнено"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "Захист SELinux для служби quota вимкнено"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "Захист SELinux для служби radiusd вимкнено"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "Захист SELinux для служби radvd вимкнено"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "Захист SELinux для служби rdisc вимкнено"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "Захист SELinux для служби readahead вимкнено"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "Дозволити програмам читання файлів з нестандартних джерел (default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "Захист SELinux для служби restorecond вимкнено"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "Захист SELinux для служби rhgb вимкнено"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "Захист SELinux для ricci вимкнено"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "Захист SELinux для ricci_modclusterd вимкнено"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "Захист SELinux для служби rlogind вимкнено"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "Захист SELinux для служби rpcd вимкнено"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "Захист SELinux для служби rshd вимкнено"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "Захист SELinux для служби rsync вимкнено"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "Дозволити запуск ssh з inted, а не у якості служби"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "Дозволити Samba спільний доступ до каталогів NFS"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "Сервер авторизації SASL"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "Дозволити серверу авторизації sasl читати /etc/shadow"
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++"Дозволити серверу X-Windows призначати область пам'яті як виконувану та "
++"доступну для запису"
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "Захист SELinux для служби saslauthd вимкнено"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "Захист SELinux для служби scannerdaemon вимкнено"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "Не дозволяти зміну на sysadm_t, sudo та su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "Не дозволяти процесам завантажувати модулі ядра"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "Не дозволяти процесам змінювати правила SELinux у ядрі"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "Захист SELinux для служби sendmail вимкнено"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "Захист SELinux для setrans вимкнено"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "Захист SELinux для служби setroubleshoot вимкнено"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "Захист SELinux для служби slapd вимкнено"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "Захист SELinux для служби slrnpull вимкнено"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "Захист SELinux для служби smbd вимкнено"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "Захист SELinux для служби snmpd вимкнено"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "Захист SELinux для служби snort вимкнено"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "Захист SELinux для служби soundd вимкнено"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "Захист SELinux для служби sound вимкнено"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "Захист від спаму"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "Захист SELinux для служби spamd вимкнено"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "Дозволити spamd звертатися до домашніх каталогів"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "Дозволити мережний доступ службі Spam Assassin"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "Захист SELinux для служби speedmgmt вимкнено"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Звук"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "Дозволити службі squid приєднуватись до мережі"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "Захист SELinux для служби squid вимкнено"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "Захист SELinux для служби ssh вимкнено"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "Дозволити авторизацію ssh для sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++"Дозволити користувачам staff_r пошук у домашніх каталогах та читання файлів "
++"(наприклад, ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "Універсальний тунель SSL"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "Захист SELinux для служби stunnel вимкнено"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "Дозволити службі stunnel виконуватись незалежно від xinetd"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "Захист SELinux для служби swat вимкнено"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "Захист SELinux для служби sxid вимкнено"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "Захист SELinux для служби syslogd вимкнено"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "Захист SELinux для системи завдань cron вимкнено"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "Захист SELinux для служби tcp вимкнено"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "Захист SELinux для служби telnet вимкнено"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "Захист SELinux для служби tftpd вимкнено"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "Захист SELinux для служби transproxy вимкнено"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "Захист SELinux для служби udev вимкнено"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "Захист SELinux для служби uml вимкнено"
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"Дозволити службі xinetd виконуватись без обмежень, що включає всі керовані "
++"ним служби, для яких явно не вказані перетворення доменів"
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"Дозволити виконання сценаріїв rc без обмежень, включаючи служби, що "
++"запускаються сценарієм rc, для яких явно не вказано домен переходу"
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "Дозволити rpm виконуватись без обмежень"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++"Дозволити привілейованим утилітам (наприклад, hotplug та insmod) "
++"виконуватись без обмежень"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "Захист SELinux для служби updfstab вимкнено"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "Захист SELinux для служби uptimed вимкнено"
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"Дозволити користувачу user_r звертатися до sysadm_r через su, sudo чи "
++"userhelper. У іншому разі лише staff_r зможе здійснювати доступ"
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "Дозволити користувачам виконувати команду mount"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++"Дозволити звичайним користувачам здійснювати прямий доступ за допомогою миші "
++"(лише для сервера X)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "Дозволити користувачам виконувати команду dmesg"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++"Дозволити користувачам керувати мережними інтерфейсами (також потрібно "
++"USERCTL=true)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "Дозволити звичайним користувачам виконувати ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++"Дозволити користувачам виконувати читання та запис noextattrfile (FAT, "
++"CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "Дозволити користувачам виконувати читання та запис пристроїв USB"
++
++#: ../gui/selinux.tbl:216
++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 ""
++"Дозволити користувачам запускати сервери TCP (здійснювати прив'язку портів "
++"та приймати з'єднання з того ж домену та зовнішніх користувачів). Вимикання "
++"цієї можливості викличе перехід у пасивний режим FTP та може змінити інші "
++"протоколи"
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "Дозволити користувачам виконувати stat для файлів tty"
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "Захист SELinux для служби uucpd вимкнено"
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "Захист SELinux для служби vmware вимкнено"
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "Захист SELinux для служби watchdog вимкнено"
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "Захист SELinux для служби winbind вимкнено"
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "Захист SELinux для служби xdm вимкнено"
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "Дозволити авторизацію xdm як sysadm_r:sysadm_t"
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "Вимкнути захист SELinux для демона xen"
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "Дозволити xen запис та читання фізичних дискових пристроїв"
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "Захист SELinux для служби xfs вимкнено"
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "Захист SELinux для служби xen вимкнено"
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "Захист SELinux для служби ypbind вимкнено"
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "Захист SELinux для служби NIS Password вимкнено"
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "Захист SELinux для служби ypserv вимкнено"
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "Захист SELinux для служби NIS Transfer вимкнено"
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++"Дозволити користувачу webadm керувати домашніми каталогами непривілейованих "
++"користувачів"
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++"Дозволити користувачу webadm читання домашніх каталогів непривілейованих "
++"користувачів"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "Ви справді хочете видалити %s '%s'?"
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "Видалити %s"
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "Додати %s"
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "Змінити %s"
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "Дозволений"
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "Примусовий"
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "Вимкнено"
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "Статус"
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++"Вимикання правил SELinux вимагає перезавантаження та не рекомендується. "
++"Якщо у подальшому ви захочете увімкнути SELinux, знадобиться виконати "
++"повторну розмітку файлової системи. Якщо ж ви просто хочете перевірити, чи "
++"не викликає SELinux проблем у системі, використовуйте дозволений режим, який "
++"не примушує до виконання правил, але при цьому реєструє помилки у журналі. "
++"Дозволений режим не вимагає перезавантаження. Продовжити?"
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"Активація правил SELinux вимагає повторної розмітки всієї файлової системи "
++"при наступному завантаженні. Процес розмітки може бути досить тривалим "
++"залежно від розміру файлової системи. Продовжити?"
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"(c) 2006 Red Hat, Inc.\n"
++"(c) 2006 Dan Walsh <dwalsh@redhat.com>"
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "Додати відповідні авторизації SELinux"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "Додати мережні порти SELinux"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "Тип SELinux"
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"Рівень"
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "Специфікація файлу"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "Тип файлу"
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"усі файли\n"
++"звичайний файл\n"
++"каталог\n"
++"символьний пристрій\n"
++"блоковий пристрій\n"
++"сокет\n"
++"символічне посилання\n"
++"канал\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "Додати користувача SELinux"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "Адміністрування SELinux"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "Додати"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "_Властивості"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "В_идалити"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "Обрати об'єкт керування"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>Вибір:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "Типовий примусовий режим"
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Вимкнено\n"
++"Дозволений\n"
++"Примусовий\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "Поточний примусовий режим"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "Тип типових правил системи:"
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"Виберіть, якщо хочете виконати повторну розмітку всієї файлової системи при "
++"наступному завантаженні. Процес повторної розмітки може бути досить тривалим "
++"залежно від розміру файлової системи. При зміні типу правил також "
++"знадобиться повторна розмітка."
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "Повторна розмітка при наступному завантаженні."
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "Відновити первинне значення параметра"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++"Перемикання між значенням вказаним користувачем та усіма логічними значеннями"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "Запустити помічник блокування логічних змінних"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "Блокування..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "Фільтр"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "Додати контекст файлу"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "Змінити контекст файлу"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "Видалити контекст файлу"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "Перемикання між усіма та зміненими контекстами файлів"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "Додати відповідність користувачів SELinux"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "Змінити відповідність користувача SELinux"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "Видалити відповідність користувача SELinux"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "Додати користувача"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "Змінити користувача"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "Видалити користувача"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "Додати переклад"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "Змінити переклад"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "Видалити переклад"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "Додати мережний порт"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "Змінити мережний порт"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "Видалити мережний порт"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "Перемикання між портами вказаними користувачем та усіма портами"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "Генерувати модуль нових правил"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "Завантажити модуль правил"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "Видалити завантажувальний модуль правил"
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++"Увімкнути чи вимкнути додаткові правила аудиту, яке зазвичай не показується "
++"у журналах."
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "Змінити режим процесу на нестрогий."
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "Змінити режим процесу на примусовий."
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "Домен процесу"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "Потрібен SELinux користувач ?%s?"
++
++#, fuzzy
++#~ msgid "Sensitivity Level"
++#~ msgstr "Рівень чутливості"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ur.po policycoreutils-2.0.85/po/ur.po
+--- nsapolicycoreutils/po/ur.po        2011-02-17 15:11:25.753724502 -0500
++++ policycoreutils-2.0.85/po/ur.po    2011-02-18 16:03:41.452976319 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/vi.po policycoreutils-2.0.85/po/vi.po
+--- nsapolicycoreutils/po/vi.po        2011-02-17 15:11:25.403730277 -0500
++++ policycoreutils-2.0.85/po/vi.po    2011-02-18 16:03:41.452976319 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/zh_CN.po policycoreutils-2.0.85/po/zh_CN.po
+--- nsapolicycoreutils/po/zh_CN.po     2011-02-17 15:11:25.091735430 -0500
++++ policycoreutils-2.0.85/po/zh_CN.po 2011-02-18 16:03:41.452976319 -0500
+@@ -1,22 +1,40 @@
+-# translation of policycoreutils.HEAD.po to Simplified Chinese
++# translation of policycoreutils.HEAD.po to Wei Liu
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER, 2006.
+ #
+ # Tony Fu <tfu@redhat.com>, 2006.
+-# Leah Liu <lliu@redhat.com>, 2008.
++# Leah Liu <lliu@redhat.com>, 2008, 2009, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils.HEAD\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-09-11 16:22+1000\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-07-28 11:19+1000\n"
+ "Last-Translator: Leah Liu <lliu@redhat.com>\n"
+-"Language-Team: Simplified Chinese <zh@li.org>\n"
++"Language-Team: Wei Liu\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "在图形设置中配置 SELinux"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux 管理"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "生成 SELinux 策略模块"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux 策略生成工具"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -106,9 +124,8 @@
+ msgstr "无法创建 semanage 连接"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "无法为 %s 设置 MLS 的范围"
++msgstr "无法测试 MLS 启用的状态"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -123,7 +140,8 @@
+ msgid "Level"
+ msgstr "级别"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "转换"
+@@ -153,7 +171,7 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage 交易进行中"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+@@ -165,7 +183,7 @@
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage 交易未进行"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+@@ -175,736 +193,743 @@
+ msgid "Permissive Types"
+ msgstr "Permissive 类型"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr "无法设定 permissive 域 %s(模块安装失败)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr "无法删除 permissive 域 %s(删除操作失败)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "无法为 %s 创建一个密钥"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr "无法检查 %s 的登录映射已被定义"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr "%s 的登录映射已被定义"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux 组群 %s 不存在"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux用户 %s 不存在"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr "无法为 %s 创建登录映射"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "无法为 %s 设置名称"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "无法为 %s 设置 MLS 的范围"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "无法为 %s 设置 SELinux 用户"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr "无法为 %s 添加登录映射"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "添加 SELinux 用户映射"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "需要 seuser 或 serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr "%s 的登录映射没有被定义"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "无法为 %s 查询 seuser"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr "无法为 %s 修改登录映射"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr "%s 的登录映射在策略中被定义,不能被删除"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr "无法为 %s 删除登录映射"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr "无法列出登录映射"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "登录名"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux 用户"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS 范围"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "您必须至少为 %s 添加一个角色"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "如果 SELinux 用户 %s 被定义将无法检查"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux用户 %s 已经存在"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "无法为 %s 创建 SELinux 用户"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "无法添加角色 %s(为 %s)"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "无法为 %s 设置 MLS 级别"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "无法添加前缀 %s(为 %s)"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "无法为 %s 提取密钥"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "无法添加 SELinux 用户 %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "需要前缀、角色、级别或范围"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "需要前锥或角色"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux 用户 %s 没有被定义"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "无法为 %s 查询用户"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "无法修改 SELinux 用户 %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr "SELinux 用户 %s 在策略中被定义,无法删除"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "无法删除 SELinux 用户 %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "无法列出 SELinux 用户"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "无法为用户 %s 列出角色"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "标记"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "前缀"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS 级别"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS 范围"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux 角色"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "需要 udp 或 tcp 协议"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "端口是必需的"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "无法为 %s/%s 创建一个密钥"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "类型是必需的"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "无法检查端口 %s/%s 已被定义"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "端口 %s/%s 已经存在"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "无法为 %s/%s 创建端口"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr "无法为 %s/%s 设置 context"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr "无法在端口 context 中为 %s/%s 设置用户"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr "无法在端口 context 中为 %s/%s 设置角色"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr "无法在端口 context 中为 %s/%s 设置类型"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr "无法在端口 context 中为 %s/%s 设置 mls 项"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr "无法为 %s/%s 设置端口 context"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "无法添加端口 %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "需要 setype 或 serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "需要 settype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "端口 %s/%s 没有被定义"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "无法查询端口 %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "无法修改端口 %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "无法列出端口"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "无法删除端口 %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr "端口 %s/%s 在策略中被定义,无法删除"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "无法删除端口 %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "无法列出端口"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux 端口类型"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "协议"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "端口号"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr "需要节点地址"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr "需要节点掩码"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr "未知或者缺少协议"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "SELinux 类型是必选的"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "无法为 %s 创建密钥"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr "如果定义了 addr %s 则无法检查"
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr "已经定义了 addr %s"
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr "无法为 %s 创建 addr"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr "无法为 %s 创建 context"
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr "无法为 %s 设置掩码"
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr "无法在 addr 上下文中为 %s 设置用户"
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr "无法在 addr 上下文中为 %s 设置角色"
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr "无法在 addr 上下文中为 %s 设置类型"
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr "无法在 addr 上下文中为 %s 设置 mls 字段"
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr "无法为 %s 设置 addr 上下文"
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr "无法添加 addr %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr "没有定义 addr %s"
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr "无法查询 addr %s"
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr "无法修改 addr %s"
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr "在策略中定义了 addr %s,无法删除"
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr "无法删除 addr %s"
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr "无法列出 addr"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "无法检查接口 %s 是否已定义"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "接口 %s 已经被定义"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "无法为 %s 创建接口"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr "无法在接口 context 中为 %s 设置用户"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr "无法在接口 context 中为 %s 设置角色"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr "无法在接口 context 中为 %s 设置类型"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr "无法在接口 context 中为 %s 设置 mls 项"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr "无法为 %s 设置接口 context"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr "无法为 %s 设置信息 context"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "无法添加接口 %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "接口 %s 没有被定义"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "无法查询接口 %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "无法修改接口 %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr "接口 %s 在策略中被定义,无法删除"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "无法删除接口 %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "无法列出接口"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux 接口"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr "上下文"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr "无法在文件 context 中为 %s 设置用户"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr "无法在文件 context 中为 %s 设置角色"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr "无法在文件 context 中为 %s 设置 mls 项"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "无效文件说明"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr "如果 %s 的文件 context 被设定,无法检查"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr "%s 的文件 context 已经被定义"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr "无法为 %s 创建文件 context"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr "无法在文件 context 中为 %s 设置类型"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr "无法为 %s 设置文件 context"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr "无法为 %s 添加文件 context"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "需要 setype、serange 或 seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr "%s 的文件 context 没有被定义"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr "无法为 %s 查询文件 context"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr "无法为 %s 修改文件 context"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr "无法列出文件环境"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr "无法删除文件环境为 %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr "%s 的文件 context 已经在策略中被定义,无法删除"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr "无法为 %s 删除文件 context"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr "无法列出文件 context"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr "无法列出本地文件上下文"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux 文件上下文"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "类型"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "无法检查布尔值 %s 是否已被定义"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "布尔值 %s 未被定义"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr "无法查询文件 context %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "您必需指定以下值之一:%s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "无法设定活跃布尔值 %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "无法修改布尔值 %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr "错误格式 %s:记录 %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr "布尔值 %s 在策略中被定义,无法删除"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "不能删除布尔值 %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "无法列出布尔值"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "未知"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "关"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "开"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux 布尔值"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "描述"
+@@ -944,9 +969,9 @@
+ msgstr "无法清除系统环境\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "初始化能力(capability)错误,中止。\n"
++msgstr "初始化功能(capability)错误,中止。\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1276,1597 +1301,2158 @@
+ msgid "Options Error %s "
+ msgstr "选项错误 %s "
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "在非 MLS 机器上不支持的转换"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "布尔值"
+-
+-#~ msgid "all"
+-#~ msgstr "所有"
+-
+-#~ msgid "Customized"
+-#~ msgstr "自定义的"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "文件标记"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "文件\n"
+-#~ "约束"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "文件类型"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "文件\n"
+-#~ "类型"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "用户映射"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "登录\n"
+-#~ "名称"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "用户"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS 范围"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "登录名 '%s' 是必需的"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "策略模块"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "模块名称"
+-
+-#~ msgid "Version"
+-#~ msgstr "版本"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "禁用审计"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "启用审计"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "加载策略模块"
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>应用程序</b>"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>登录用户</b>"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>根用户</b>"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP 端口</b>"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP 端口</b>"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "添加布尔对话"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "添加应用程序需要“写入”的文件/目录。Pid 文件、日志文件、/var/lib 文件..."
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "添加/删除用于有限应用程序/用户的布尔"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "管理用户角色"
+-
+-#~ msgid "All"
+-#~ msgstr "所有"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr "允许应用程序/用户角色使用 0 调用 bindresvport。绑定到端口 600-1024"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr "允许应用程序/用户角色绑定到高于 1024 的任何 udp 端口"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr "允许有限的应用程序/用户角色绑定到任何 udp 端口"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "布尔名"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "在 /tmp 目录中创建/操作临时文件的应用程序"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "输入用逗号分开的应用程序/用户角色要绑定的 tcp 端口或者端口范围列表。示例:"
+-#~ "612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "输入用逗号分开的应用程序/用户角色要绑定的 udp 端口或者端口范围列表。示例:"
+-#~ "612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "输入用逗号分开的应用程序/用户角色要绑定的 udp 端口或者端口范围列表。示例:"
+-#~ "612, 650-660"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "输入受限的可执行程序的完整路径"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "输入用于启动受限的应用程序的 init 脚本的完整路径。"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "输入要进行限制的应用程序或用户角色。"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "输入应用程序或用户角色要连接的网络"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "输入应用程序或用户角色要侦听的网络"
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "为受限制的用户或应用程序选择唯一的名称。"
+-
+-#~ msgid "Executable"
+-#~ msgstr "可执行程序"
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "现有用户角色"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "生成的策略文件"
+-
+-#~ msgid "Init script"
+-#~ msgstr "Init 脚本"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "与终端互动"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "互联网服务守护进程 (inetd)"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "互联网服务守护进程,是通过 xinetd 启动的服务"
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "最小化终端用户角色"
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "最小化 X 窗口用户角色"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "修改现有登录用户记录。"
+-
+-#~ msgid "Name"
+-#~ msgstr "名称"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "模块生成工具"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "策略目录"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "根管理用户角色"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux 策略生成工具"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "选择端口"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "如果这个用户在以根用户身份运行时将用来管理机器,那么请选择根管理用户角色。"
+-#~ "这个用户将不能直接登录到系统。"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "选择用户可以管理的额外域"
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "选择用户角色要转换到的其他域"
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "为这个用户选择其它角色"
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "选择应用程序使用的布尔"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "选择常见的应用程序特征"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "选择在其中创建策略文件的目录"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "选择受限应用程序管理的文件/目录"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "选择您希望将这个用户角色转换到的应用程序域。"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "选择您希望这个用户可以管理的域。"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "选择将转换到这个应用程序域的用户角色。"
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "选择受限的应用程序或用户类型。"
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "选择将转换到这个域的用户角色"
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "选择您想要定制的用户角色"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "发送审计信息"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "发送电子邮件"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "标准的 Init 守护进程"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "标准的 Init 守护进程是在引导时通过初始化脚本启动的守护进程。通常需要在 /"
+-#~ "etc/rc.d/init.d 目录包含脚本"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "这个工具可以用来生成一个策略框架,以利用 SELinux 限制应用程序或用户。\n"
+-#~ "\n"
+-#~ "此工具生成:\n"
+-#~ "类型强制文件 (te)\n"
+-#~ "接口文件 (if)\n"
+-#~ "文件上下文 (fc)\n"
+-#~ "Shell 脚本 (sh) - 用来编译和安装策略。"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "这个工具将产生下列:\n"
+-#~ "类型强制(te),文件上下文(fc),接口(if)和 Shell 脚本(sh)。\n"
+-#~ "\n"
+-#~ "执行 Shell 脚本来编译/安装并重新标记文件/目录。\n"
+-#~ "现在您可以先将机器置于允许模式(setenforce 0)。\n"
+-#~ "运行/重新启动应用程序以产生 avc 消息。\n"
+-#~ "然后使用 audit2allow -R 来为 te 文件创建附加规则。\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "这个工具将产生下列:\n"
+-#~ "类型强制(te),文件上下文(fc),接口(if)和 Shell 脚本(sh)。\n"
+-#~ "以根用户身份执行 Shell 脚本来编译/安装并重新标记文件/目录。\n"
+-#~ "使用 semange 或者 useradd 将 Linux 用户与用户角色匹配。\n"
+-#~ "现在您可以先将机器置于允许模式(setenforce 0)。\n"
+-#~ "运行/重新启动应用程序以产生 avc 消息。\n"
+-#~ "然后使用 audit2allow -R 来为 te 文件创建附加规则。\n"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "用户可通过 X 或者终端登录到机器中。默认情况下,这个用户没有 setuid、联网、"
+-#~ "sudo 和 su 功能。"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "这个用户将只能通过终端登录或者远程登录。默认情况下,这个用户没有 setuid、"
+-#~ "联网、sudo 和 su 功能。"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "非保留端口(> 1024)"
+-
+-#~ msgid "User Application"
+-#~ msgstr "用户应用程序"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr "用户应用程序,是由用户启动的任何希望限制的应用程序"
+-
+-#~ msgid "User Role"
+-#~ msgstr "用户角色"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "有完全联网功能的用户,没有 setuid 应用程序,无法转换,没有 su 功能,但可使"
+-#~ "用 sudo 转换为根管理角色。"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "有完全联网功能的用户,没有 setuid 应用程序,无法转换,没有 sudo、su 功能。"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "使用 PAM 认证"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "使用 dbus"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "使用 nsswitch 或者 getpw* 调用"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "网站应用程序/脚本(CGI)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr "网站应用程序/脚本(CGI),是由网站服务器(Apache)启动的 CGI 脚本"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "写入 syslog 消息\t"
+-
+-#~ msgid "translator-credits"
+-#~ msgstr ""
+-#~ "Yuan Yijun <bbbush@fedoraproject.org>, 2007 Leah Liu <lliu@redhat.com>,"
+-#~ "2007"
+-
+-#~ msgid "Role"
+-#~ msgstr "角色"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "现有用户(_U)"
+-
+-#~ msgid "Application"
+-#~ msgstr "应用程序"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s 必须是一个目录"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "您必需选择一个用户"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "选择要限制的可执行程序"
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "选择要限制的 init 脚本"
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "选择受限应用程序创建或写入的文件"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "选择受限应用程序拥有并写入的目录"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "选择在其中创建策略文件的目录"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "在当前策略中已经定义了类型 %s_t。\n"
+-#~ "您想要继续吗?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "验证名称"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "在当前策略中已经定义了模块 %s.pp。\n"
+-#~ "您想要继续吗?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "您必需输入名称"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "您必需指定一个可执行程序位置"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "配置 SELinux"
+-
+-#~ msgid "Ports must be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "端口必需是介于 1 和 %d 之间的数字或者范围"
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "必需为受限的进程/用户输入名称"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER 类型不允许使用可执行程序"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "只有守护进程才可以使用 init 脚本"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog 必需是布尔值"
+-
+-#~ msgid "USER Types automatically get a tmp type"
+-#~ msgstr "USER 类型自动得到一个 tmp 类型"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "必须输入受限进程的可执行程序路径"
+-
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "打印强制文件"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "接口文件"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "文件上下文定义"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "建立脚本"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux 端口\n"
+-#~ "类型"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "协议"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "级别"
+-
+-#~ msgid "Port"
+-#~ msgstr "端口"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "端口号 \"%s\" 是无效的。 0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "列出视图"
+-
+-#~ msgid "Group View"
+-#~ msgstr "分组视图"
+-
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux 服务保护"
+-
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "禁用 acct 守护进程的 SELinux 保护"
+-
+-#~ msgid "Admin"
+-#~ msgstr "管理"
+-
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "允许所有守护进程将内存转储文件写到 /"
+-
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "允许所有守护进程使用未分配的 tty"
+-
+-#~ msgid "User Privs"
+-#~ msgstr "用户权限"
+-
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允许 gadmin SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允许 guest SELinux 用户执行主目录或 /tmp 中的文件"
+-
+-#~ msgid "Memory Protection"
+-#~ msgstr "内存保护"
+-
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "允许 java 栈可执行"
+-
+-#~ msgid "Mount"
+-#~ msgstr "挂载"
+-
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "允许 mount 挂载任何文件"
+-
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "允许 mount 挂载任何目录"
+-
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "允许 mplayer 栈可执行"
+-
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
+-
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "允许 ssh 运行 ssh-keysign"
+-
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允许 staff SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允许 sysadm SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr ""
+-#~ "允许 unconfined(未作限定的)SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-
+-#~ msgid "Network Configuration"
+-#~ msgstr "网络配置"
+-
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "允许未标记的封包在网络中传播"
+-
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr "允许SELinux 一般用户帐户执行主目录或 /tmp 中的文件"
+-
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "允许未作限定的类型动态转换到 unconfined_execmem"
+-
+-#~ msgid "Databases"
+-#~ msgstr "数据库"
+-
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "允许用户连接到 mysql 套接字"
+-
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "允许用户连接到 postgres 套接字"
+-
+-#~ msgid "XServer"
+-#~ msgstr "X 服务器"
+-
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "允许用户写入 X 共享内存"
+-
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允许 xguest SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
+-
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "允许守护进程访问 NIS"
+-
+-#~ msgid "Web Applications"
+-#~ msgstr "网站应用程序"
+-
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "转换 staff SELinux 用户到浏览器域"
+-
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "转换 sysadm SELinux 用户到浏览器域"
+-
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "转换 user(一般用户)SELinux 用户到浏览器域"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "布尔值"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "所有"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "自定义的"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "文件标记"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "转换 xguest SELinux 用户到浏览器域"
+-
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "允许 staff 浏览器写入个人目录"
+-
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "禁用 amanda 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "禁用 amavis 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "禁用 apmd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "禁用 arpwatch 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "禁用 auditd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "禁用 automount 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "禁用 avahi 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "禁用 bluetooth 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "禁用 canna 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "禁用 cardmgr 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "禁用集群服务器的 SELinux 保护"
+-
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "允许 cdrecord 读取各种内容。nfs, samba, 可移动存储,用户临时文件和不可信任"
+-#~ "的内容"
+-
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "禁用 ciped 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "禁用 clamd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "禁用 clamscan 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "禁用 clvmd 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "禁用 comsat 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "禁用 courier 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "禁用 cpucontrol 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "禁用 cpuspeed 守护进程的 SELinux 保护"
+-
+-#~ msgid "Cron"
+-#~ msgstr "Cron 计划任务"
+-
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "禁用 crond 守护进程的 SELinux 保护"
+-
+-#~ msgid "Printing"
+-#~ msgstr "打印"
+-
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "禁止 cupsd 后端服务器的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "禁止 cupsd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "禁止 cupsd_lpd 的 SELinux 保护"
+-
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
+-
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "禁止 cvs 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "禁止 cyrus 守护进程的 SELinux 保护<"
+-
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "禁止 dbskkd 守护进程的 SELinux 保护<"
+-
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "禁止 dbusd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "禁止 dccd 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "禁止 dccifd 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "禁止 dccm 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "禁止 ddt 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "禁止 devfsd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "禁止 dhcpc 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "禁止 dhcpd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "禁止 dictd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "允许 sysadm_t 直接启动守护进程"
+-
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "禁止 Evolution 的 SELinux 保护"
+-
+-#~ msgid "Games"
+-#~ msgstr "游戏"
+-
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "禁止游戏的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "禁止网页浏览器的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "禁止 Thunderbird 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "禁止 distccd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "禁止 dmesg 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "禁止 dnsmasq 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "禁止 dovecot 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "禁止 entropyd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "禁止 fetchmail 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "禁止 fingerd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "禁止 freshclam 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "禁止 fsdaemon 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "禁止 gpm 守护进程的 SELinux 保护"
+-
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
+-
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "禁止 gss 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "禁止 Hal 守护进程的 SELinux 保护"
+-
+-#~ msgid "Compatibility"
+-#~ msgstr "兼容性"
+-
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr "不审计那些与安全无关的已知错误"
+-
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "禁止 hostname 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "禁止 hotplug 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "禁止 howl 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "禁止 cups hplip 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "禁止 httpd 日志循环的 SELinux 保护"
+-
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD 服务"
+-
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "禁止 http suexec 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "禁止 hwclock 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "禁止 i18n 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "禁止 imazesrv 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "禁止 inetd 子守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "禁止 inetd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "禁止 innd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "禁止 iptables 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "禁止 ircd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "禁止 irqbalance 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "禁止 iscsi 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "禁止 jabberd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
+-
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "禁止 kadmind 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "禁止 klogd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "禁止 krb5kdc 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "禁止 ktalk 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "禁止 kudzu 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "禁止 locate 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "禁止 lpd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "禁止 lrrd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "禁止 lvm 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "禁止 mailman 守护进程的 SELinux 保护"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "允许 evolution 和 thunderbird 读用户文件"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "禁止 mdadm 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "禁止 monopd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "允许 mozilla 浏览器读用户文件"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "禁止 mrtg 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "禁止 mysqld 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "禁止 nagios 守护进程的 SELinux 保护"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "名字服务"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "禁止 named 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "禁止 neesusd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "禁止 NetworkManager 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "禁止 nfsd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "禁止 nmbd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "禁止 nrpe 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "禁止 nscd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "禁止 nsd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "禁止 ntpd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "禁止 oddjob 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "禁止 oddjob_mkhomedir 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "禁止 openvpn 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "禁止 pam 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "禁止 pegasus 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "禁止 perdition 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "禁止 portmap 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "禁止 portslave 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "禁止 postfix 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "禁止 postgresql 守护进程的 SELinux 保护"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "允许 pppd 以普通用户运行"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "禁止 pptp 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "禁止 prelink 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "禁止 privoxy 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "禁止 ptal 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "禁止 pxe 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "禁止 pyzord 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "禁止 quota 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "禁止 radiusd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "禁止 radvd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "禁止 rdisc 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "禁止 readahead 的 SELinux 保护"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr "允许程序读非标准位置(default_t)的文件"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "禁止 restorecond 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "禁止 rhgb 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "禁止 ricci 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "禁止 ricci_modclusterd 的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "禁止 rlogind 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "禁止 rpcd 守护进程的 SELinux 保护"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "禁止 rshd 的 SELinux 保护"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "禁止 rsync 守护进程的 SELinux 保护"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "允许 ssh 从 inetd 运行而非作为守护进程"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"文件\n"
++"约束"
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "允许 Samba 共享 nfs 目录"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"文件类型"
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL 认证服务器"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"文件\n"
++"类型"
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "允许 sasl 认证服务读取 /etc/shadow"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "用户映射"
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr "允许 X 窗口服务器将内存映射为可写且可执行"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"登录\n"
++"名称"
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "禁止 saslauthd 守护进程的 SELinux 保护"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"用户"
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "禁止 scannerdaemon 守护进程的 SELinux 保护"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS 范围"
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "不允许转换到 sysadm_t, sudo 和 su 会受影响"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "登录名 '%s' 是必需的"
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "不允许任何进程加载内核模块"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "策略模块"
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "不允许任何进程修改内核 SELinux 策略"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "模块名称"
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "禁止 sendmail 守护进程的 SELinux 保护"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "版本"
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "禁止 setrans 的 SELinux 保护"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "禁用审计"
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "禁止 setroubleshoot 守护进程的 SELinux 保护"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "启用审计"
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "禁止 slapd 守护进程的 SELinux 保护"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "加载策略模块"
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "禁止 slrnpull 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "模块生成工具"
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "禁止 smbd 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "禁止 snmpd 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "禁止 snort 守护进程的 SELinux 保护"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++"Yuan Yijun <bbbush@fedoraproject.org>, 2007 Leah Liu <lliu@redhat.com>,2007"
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "禁止 sounded 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"这个工具可以用来生成一个策略框架,以利用 SELinux 限制应用程序或用户。\n"
++"\n"
++"此工具生成:\n"
++"类型强制文件 (te)\n"
++"接口文件 (if)\n"
++"文件上下文 (fc)\n"
++"Shell 脚本 (sh) - 用来编译和安装策略。"
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "选择受限的应用程序或用户类型。"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>应用程序</b>"
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "禁止 sound 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"标准的 Init 守护进程是在引导时通过初始化脚本启动的守护进程。通常需要在 /etc/"
++"rc.d/init.d 目录包含脚本"
+-#~ msgid "Spam Protection"
+-#~ msgstr "垃圾邮件保护"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "标准的 Init 守护进程"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS 系统守护进程"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "互联网服务守护进程,是通过 xinetd 启动的服务"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "互联网服务守护进程 (inetd)"
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "禁止 spamd 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "网站应用程序/脚本(CGI),是由网站服务器(Apache)启动的 CGI 脚本"
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "允许 spamd 访问用户个人目录"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "网站应用程序/脚本(CGI)"
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "允许 Spam Assasin 守护进程访问网络"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr "用户应用程序,是由用户启动的任何希望限制的应用程序"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "用户应用程序"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>登录用户</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "修改现有登录用户记录。"
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "现有用户角色"
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "禁止 speedmgmt 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"这个用户将只能通过终端登录或者远程登录。默认情况下,这个用户没有 setuid、联"
++"网、sudo 和 su 功能。"
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "最小化终端用户角色"
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "允许 squid 守护进程连接到网络"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"用户可通过 X 或者终端登录到机器中。默认情况下,这个用户没有 setuid、联网、"
++"sudo 和 su 功能。"
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "禁止 squid 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "最小化 X 窗口用户角色"
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "禁止 ssh 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++"有完全联网功能的用户,没有 setuid 应用程序,无法转换,没有 sudo、su 功能。"
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "允许通过 ssh 登录为 sysadm_r:sysadm_t"
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "用户角色"
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr "允许 staff_r 用户搜索 sysadm 个人目录并读取文件(如 ~/.bashrc)"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"有完全联网功能的用户,没有 setuid 应用程序,无法转换,没有 su 功能,但可使用 "
++"sudo 转换为根管理角色。"
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "全局的 SSL 隧道"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "管理用户角色"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>根用户</b>"
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "禁止 stunnel 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"如果这个用户在以根用户身份运行时将用来管理机器,那么请选择根管理用户角色。这"
++"个用户将不能直接登录到系统。"
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "允许 stunnel 守护进程在 xinetd 之外独立运行"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "根管理用户角色"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "输入要进行限制的应用程序或用户角色。"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "名称"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "输入受限的可执行程序的完整路径"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "为受限制的用户或应用程序选择唯一的名称。"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "可执行程序"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init 脚本"
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "禁止 swat 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "输入用于启动受限的应用程序的 init 脚本的完整路径。"
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "禁止 sxid 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "选择您想要定制的用户角色"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "选择将转换到这个应用程序域的用户角色。"
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "选择用户角色要转换到的其他域"
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "禁止 syslogd 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "选择您希望将这个用户角色转换到的应用程序域。"
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "选择将转换到这个域的用户角色"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "选择用户可以管理的额外域"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "选择您希望这个用户可以管理的域。"
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "为这个用户选择其它角色"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "输入应用程序或用户角色要侦听的网络"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP 端口</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "允许有限的应用程序/用户角色绑定到任何 udp 端口"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "所有"
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "禁止系统计划任务(cron)的 SELinux 保护"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr "允许应用程序/用户角色使用 0 调用 bindresvport。绑定到端口 600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "禁止 tcp 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"输入用逗号分开的应用程序/用户角色要绑定的 udp 端口或者端口范围列表。示例:"
++"612, 650-660"
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "禁止 telnet 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "非保留端口(> 1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "选择端口"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "允许应用程序/用户角色绑定到高于 1024 的任何 udp 端口"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP 端口</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "输入应用程序或用户角色要连接的网络"
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "禁止 tftpd 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"输入用逗号分开的应用程序/用户角色要绑定的 tcp 端口或者端口范围列表。示例:"
++"612, 650-660"
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "禁止 transproxy 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"输入用逗号分开的应用程序/用户角色要绑定的 udp 端口或者端口范围列表。示例:"
++"612, 650-660"
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "禁止 udev 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "选择常见的应用程序特征"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "写入 syslog 消息\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "在 /tmp 目录中创建/操作临时文件的应用程序"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "使用 PAM 认证"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "使用 nsswitch 或者 getpw* 调用"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "使用 dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "发送审计信息"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "与终端互动"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "发送电子邮件"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "选择受限应用程序管理的文件/目录"
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "禁止 uml 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++"添加应用程序需要“写入”的文件/目录。Pid 文件、日志文件、/var/lib 文件..."
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "允许 xinetd 不加限定地运行,包括它启动的服务,如果没有显式定义域转换的话"
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "选择应用程序使用的布尔"
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "允许 rc 脚本不加限定地运行,包括 rc 脚本启动的任何守护进程,如果没有显式定"
+-#~ "义域转换的话"
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "添加/删除用于有限应用程序/用户的布尔"
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "允许 rpm 不受限地运行"
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "选择在其中创建策略文件的目录"
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr "允许高优先级程序如 hotplug 和 insmod 不受限地运行"
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "策略目录"
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "禁止 updfstab 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "生成的策略文件"
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "禁止 uptimed 守护进程的 SELinux 保护"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"这个工具将产生下列:\n"
++"类型强制(te),文件上下文(fc),接口(if)和 Shell 脚本(sh)。\n"
++"以根用户身份执行 Shell 脚本来编译/安装并重新标记文件/目录。\n"
++"使用 semange 或者 useradd 将 Linux 用户与用户角色匹配。\n"
++"现在您可以先将机器置于允许模式(setenforce 0)。\n"
++"运行/重新启动应用程序以产生 avc 消息。\n"
++"然后使用 audit2allow -R 来为 te 文件创建附加规则。\n"
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "允许 user_r 通过 su, sudo 或 userhelper 获得 sysadm_r。否则,只有 staff_r "
+-#~ "可以这样做"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"这个工具将产生下列:\n"
++"类型强制(te),文件上下文(fc),接口(if)和 Shell 脚本(sh)。\n"
++"\n"
++"执行 Shell 脚本来编译/安装并重新标记文件/目录。\n"
++"现在您可以先将机器置于允许模式(setenforce 0)。\n"
++"运行/重新启动应用程序以产生 avc 消息。\n"
++"然后使用 audit2allow -R 来为 te 文件创建附加规则。\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "添加布尔对话"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "布尔名"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "角色"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "现有用户(_U)"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "应用程序"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s 必须是一个目录"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "您必需选择一个用户"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "选择要限制的可执行程序"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "选择要限制的 init 脚本"
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "选择受限应用程序创建或写入的文件"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "选择受限应用程序拥有并写入的目录"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "选择在其中创建策略文件的目录"
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "允许用户执行 mount 命令"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"在当前策略中已经定义了类型 %s_t。\n"
++"您想要继续吗?"
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr "允许普通用户直接访问鼠标(仅限 X 服务器)"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "验证名称"
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "允许用户运行 dmesg 命令"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"在当前策略中已经定义了模块 %s.pp。\n"
++"您想要继续吗?"
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr "允许用户控制网络接口(还需要 USERCTL=true)"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "您必需输入名称"
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "允许普通用户执行 ping"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "您必需指定一个可执行程序位置"
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "允许用户读写无扩展属性的文件(FAT, CDROM, FLOPPY)"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "配置 SELinux"
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "允许用户读写 usb 设备"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "端口必需是介于 1 和 %d 之间的数字或者范围"
+-#~ 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 ""
+-#~ "允许用户运行 TCP 服务(绑定到端口,接受域内部和外部用户的连接)。禁止这一项"
+-#~ "将强迫 FTP 使用被动模式,还可能影响其他协议"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "必需为受限的进程/用户输入名称"
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "允许用户探测 tty 文件"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER 类型不允许使用可执行程序"
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "禁止 uucpd 守护进程的 SELinux 保护"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "只有守护进程才可以使用 init 脚本"
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "禁止 vmware 守护进程的 SELinux 保护"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog 必需是布尔值"
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "禁止 watchdog 守护进程的 SELinux 保护"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER 类型自动得到一个 tmp 类型"
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "禁止 winbind 守护进程的 SELinux 保护"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "必须输入受限进程的可执行程序路径"
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "禁止 xdm 守护进程的 SELinux 保护"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "打印强制文件"
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "允许通过 xdm 登录为 sysadm_r:sysadm_t"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "接口文件"
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "禁止 xen 守护进程的 SELinux 保护"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "文件上下文定义"
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "建立脚本"
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "允许 xen 读写物理磁盘设备"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "网络端口"
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "禁止 xfs 守护进程的 SELinux 保护"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux 端口\n"
++"类型"
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "禁止 xen 控制程序的 SELinux 保护"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "协议"
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "禁止 ypbind 守护进程的 SELinux 保护"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"级别"
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "禁止 NIS Password 守护进程的 SELinux 保护"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "端口"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "端口号 \"%s\" 是无效的。 0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "列出视图"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "分组视图"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux 服务保护"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "禁用 acct 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "管理"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "允许所有守护进程将内存转储文件写到 /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "允许所有守护进程使用未分配的 tty"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "用户权限"
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "禁止 ypserv 守护进程的 SELinux 保护"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr "允许 gadmin SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "禁止 NIS Transfer 守护进程的 SELinux 保护"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr "允许 guest SELinux 用户执行主目录或 /tmp 中的文件"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr "允许 SELinux webadm 用户管理非特权用户主目录"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "内存保护"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "允许 java 栈可执行"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "挂载"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "允许 mount 挂载任何文件"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "允许 mount 挂载任何目录"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "允许 mplayer 栈可执行"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "允许 ssh 运行 ssh-keysign"
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr "允许 SELinux webadm 用户读非特权用户主目录"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr "允许 staff SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "您确定要删除 %s '%s'吗?"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr "允许 sysadm SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-#~ msgid "Delete %s"
+-#~ msgstr "删除 %s"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++"允许 unconfined(未作限定的)SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-#~ msgid "Add %s"
+-#~ msgstr "添加 %s"
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "网络配置"
+-#~ msgid "Modify %s"
+-#~ msgstr "变更 %s"
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "允许未标记的封包在网络中传播"
+-#~ msgid "Permissive"
+-#~ msgstr "允许"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr "允许SELinux 一般用户帐户执行主目录或 /tmp 中的文件"
+-#~ msgid "Enforcing"
+-#~ msgstr "强制"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "允许未作限定的类型动态转换到 unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "数据库"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "允许用户连接到 mysql 套接字"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "允许用户连接到 postgres 套接字"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "X 服务器"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "允许用户写入 X 共享内存"
+-#~ msgid "Disabled"
+-#~ msgstr "禁用"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr "允许 xguest SELinux 用户帐户执行主目录或 /tmp 中的文件"
+-#~ msgid "Status"
+-#~ msgstr "状态"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "允许守护进程访问 NIS"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "网站应用程序"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "转换 staff SELinux 用户到浏览器域"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "转换 sysadm SELinux 用户到浏览器域"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "转换 user(一般用户)SELinux 用户到浏览器域"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "转换 xguest SELinux 用户到浏览器域"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "允许 staff 浏览器写入个人目录"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "禁用 amanda 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "禁用 amavis 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "禁用 apmd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "禁用 arpwatch 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "禁用 auditd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "禁用 automount 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "禁用 avahi 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "禁用 bluetooth 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "禁用 canna 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "禁用 cardmgr 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "禁用集群服务器的 SELinux 保护"
+-#~ 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/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"允许 cdrecord 读取各种内容。nfs, samba, 可移动存储,用户临时文件和不可信任的"
++"内容"
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "禁用 SELinux 需要重启。不推荐这样做。如果您只想弄清是不是 SELinux 造成了系"
+-#~ "统的问题,可以切换到允许模式(permissive),这样只会记录错误,而不会强制施"
+-#~ "行 SELinux 策略。允许模式不需要重启。仍要继续吗?"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "禁用 ciped 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "禁用 clamd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "禁用 clamscan 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "禁用 clvmd 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "禁用 comsat 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "禁用 courier 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "禁用 cpucontrol 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "禁用 cpuspeed 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron 计划任务"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "禁用 crond 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "打印"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "禁止 cupsd 后端服务器的 SELinux 保护"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "禁止 cupsd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "禁止 cupsd_lpd 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "禁止 cvs 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "禁止 cyrus 守护进程的 SELinux 保护<"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "禁止 dbskkd 守护进程的 SELinux 保护<"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "禁止 dbusd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "禁止 dccd 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "禁止 dccifd 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "禁止 dccm 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "禁止 ddt 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "禁止 devfsd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "禁止 dhcpc 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "禁止 dhcpd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "禁止 dictd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "允许 sysadm_t 直接启动守护进程"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "禁止 Evolution 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "游戏"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "禁止游戏的 SELinux 保护"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "禁止网页浏览器的 SELinux 保护"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "禁止 Thunderbird 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "禁止 distccd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "禁止 dmesg 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "禁止 dnsmasq 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "禁止 dovecot 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "禁止 entropyd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "禁止 fetchmail 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "禁止 fingerd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "禁止 freshclam 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "禁止 fsdaemon 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "禁止 gpm 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "禁止 gss 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "禁止 Hal 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "兼容性"
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "启用 SELinux 将导致下次启动时对整个文件系统重新标记。重新标记需要很长时"
+-#~ "间,取决于文件系统规模。仍要继续吗?"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "不审计那些与安全无关的已知错误"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "禁止 hostname 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "禁止 hotplug 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "禁止 howl 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "禁止 cups hplip 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "禁止 httpd 日志循环的 SELinux 保护"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD 服务"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "禁止 http suexec 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "禁止 hwclock 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "禁止 i18n 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "禁止 imazesrv 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "禁止 inetd 子守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "禁止 inetd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "禁止 innd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "禁止 iptables 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "禁止 ircd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "禁止 irqbalance 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "禁止 iscsi 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "禁止 jabberd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "禁止 kadmind 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "禁止 klogd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "禁止 krb5kdc 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "禁止 ktalk 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "禁止 kudzu 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "禁止 locate 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "禁止 lpd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "禁止 lrrd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "禁止 lvm 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "禁止 mailman 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "允许 evolution 和 thunderbird 读用户文件"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "禁止 mdadm 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "禁止 monopd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "允许 mozilla 浏览器读用户文件"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "禁止 mrtg 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "禁止 mysqld 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "禁止 nagios 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "名字服务"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "禁止 named 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "禁止 neesusd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "禁止 NetworkManager 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "禁止 nfsd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "禁止 nmbd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "禁止 nrpe 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "禁止 nscd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "禁止 nsd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "禁止 ntpd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "禁止 oddjob 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "禁止 oddjob_mkhomedir 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "禁止 openvpn 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "禁止 pam 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "禁止 pegasus 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "禁止 perdition 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "禁止 portmap 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "禁止 portslave 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "禁止 postfix 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "禁止 postgresql 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "允许 pppd 以普通用户运行"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "禁止 pptp 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "禁止 prelink 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "禁止 privoxy 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "禁止 ptal 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "禁止 pxe 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "禁止 pyzord 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "禁止 quota 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "禁止 radiusd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "禁止 radvd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "禁止 rdisc 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "禁止 readahead 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "允许程序读非标准位置(default_t)的文件"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "禁止 restorecond 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "禁止 rhgb 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "禁止 ricci 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "禁止 ricci_modclusterd 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "禁止 rlogind 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "禁止 rpcd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "禁止 rshd 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "禁止 rsync 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "允许 ssh 从 inetd 运行而非作为守护进程"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "允许 Samba 共享 nfs 目录"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL 认证服务器"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "允许 sasl 认证服务读取 /etc/shadow"
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>选择:</b>"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr "允许 X 窗口服务器将内存映射为可写且可执行"
+-#~ msgid "Add"
+-#~ msgstr "添加"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "禁止 saslauthd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "禁止 scannerdaemon 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "不允许转换到 sysadm_t, sudo 和 su 会受影响"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "不允许任何进程加载内核模块"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "不允许任何进程修改内核 SELinux 策略"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "禁止 sendmail 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "禁止 setrans 的 SELinux 保护"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "禁止 setroubleshoot 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "禁止 slapd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "禁止 slrnpull 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "禁止 smbd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "禁止 snmpd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "禁止 snort 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "禁止 sounded 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "禁止 sound 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "垃圾邮件保护"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "禁止 spamd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "允许 spamd 访问用户个人目录"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "允许 Spam Assasin 守护进程访问网络"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "禁止 speedmgmt 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "允许 squid 守护进程连接到网络"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "禁止 squid 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "禁止 ssh 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "允许通过 ssh 登录为 sysadm_r:sysadm_t"
+-#~ msgid "Add File Context"
+-#~ msgstr "添加文件上下文"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr "允许 staff_r 用户搜索 sysadm 个人目录并读取文件(如 ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "全局的 SSL 隧道"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "禁止 stunnel 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "允许 stunnel 守护进程在 xinetd 之外独立运行"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "禁止 swat 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "禁止 sxid 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "禁止 syslogd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "禁止系统计划任务(cron)的 SELinux 保护"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "禁止 tcp 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "禁止 telnet 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "禁止 tftpd 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "禁止 transproxy 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "禁止 udev 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "禁止 uml 守护进程的 SELinux 保护"
+-#~ msgid "Add Network Port"
+-#~ msgstr "添加网络端口"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"允许 xinetd 不加限定地运行,包括它启动的服务,如果没有显式定义域转换的话"
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "添加 SELinux 登录映射"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"允许 rc 脚本不加限定地运行,包括 rc 脚本启动的任何守护进程,如果没有显式定义"
++"域转换的话"
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "添加 SELinux 网络端口"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "允许 rpm 不受限地运行"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr "允许高优先级程序如 hotplug 和 insmod 不受限地运行"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "禁止 updfstab 守护进程的 SELinux 保护"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "禁止 uptimed 守护进程的 SELinux 保护"
+-#~ msgid "Add SELinux User"
+-#~ msgstr "添加 SELinux 用户"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"允许 user_r 通过 su, sudo 或 userhelper 获得 sysadm_r。否则,只有 staff_r 可"
++"以这样做"
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "添加 SELinux 用户映射"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "允许用户执行 mount 命令"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "允许普通用户直接访问鼠标(仅限 X 服务器)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "允许用户运行 dmesg 命令"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr "允许用户控制网络接口(还需要 USERCTL=true)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "允许普通用户执行 ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "允许用户读写无扩展属性的文件(FAT, CDROM, FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "允许用户读写 usb 设备"
+-#~ msgid "Add Translation"
+-#~ msgstr "添加转换"
++#: ../gui/selinux.tbl:216
++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 ""
++"允许用户运行 TCP 服务(绑定到端口,接受域内部和外部用户的连接)。禁止这一项将强"
++"迫 FTP 使用被动模式,还可能影响其他协议"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "允许用户探测 tty 文件"
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "当前应用模式"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "禁止 uucpd 守护进程的 SELinux 保护"
+-#~ msgid "Delete File Context"
+-#~ msgstr "删除文件上下文"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "禁止 vmware 守护进程的 SELinux 保护"
+-#~ msgid "Delete Network Port"
+-#~ msgstr "删除网络端口"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "禁止 watchdog 守护进程的 SELinux 保护"
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "删除 SELinux 用户映射"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "禁止 winbind 守护进程的 SELinux 保护"
+-#~ msgid "Delete Translation"
+-#~ msgstr "删除转换"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "禁止 xdm 守护进程的 SELinux 保护"
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "允许通过 xdm 登录为 sysadm_r:sysadm_t"
+-#~ msgid "Edit Network Port"
+-#~ msgstr "编辑网络端口"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "禁止 xen 守护进程的 SELinux 保护"
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr "启用/禁用附加的审计规则。这些规则平时不会出现在日志文件中。"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "File Specification"
+-#~ msgstr "文件约束"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "允许 xen 读写物理磁盘设备"
+-#~ msgid "File Type"
+-#~ msgstr "文件类型"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "禁止 xfs 守护进程的 SELinux 保护"
+-#~ msgid "Filter"
+-#~ msgstr "过滤器"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "禁止 xen 控制程序的 SELinux 保护"
+-#~ msgid "Generate new policy module"
+-#~ msgstr "生成新的策略模块"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "禁止 ypbind 守护进程的 SELinux 保护"
+-#~ msgid "Load policy module"
+-#~ msgstr "加载策略模块"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "禁止 NIS Password 守护进程的 SELinux 保护"
+-#~ msgid "Lockdown..."
+-#~ msgstr "锁定......"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "禁止 ypserv 守护进程的 SELinux 保护"
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "禁止 NIS Transfer 守护进程的 SELinux 保护"
+-#~ msgid "Modify File Context"
+-#~ msgstr "修改文件上下文"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr "允许 SELinux webadm 用户管理非特权用户主目录"
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "修改 SELinux 用户"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr "允许 SELinux webadm 用户读非特权用户主目录"
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "修改 SELinux 用户映射"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "您确定要删除 %s '%s'吗?"
+-#~ msgid "Modify Translation"
+-#~ msgstr "修改转换"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "删除 %s"
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "下次启动时重新标记。"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "添加 %s"
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "移除活动的策略模块"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "变更 %s"
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "将布尔设置转换为系统默认"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "允许"
+-#~ msgid "Run booleans lockdown wizard"
+-#~ msgstr "运行布尔值锁定向导"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "强制"
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux 维护"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "禁用"
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "级别"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "状态"
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux 类型"
++#: ../gui/statusPage.py:133
++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 ""
++"改变策略类型将导致下次启动时对整个文件系统重新标记。重新标记需要很长时间,取"
++"决于文件系统规模。仍要继续吗?"
+-#~ msgid "Select Management Object"
+-#~ msgstr "选择管理对象"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"禁用 SELinux 需要重启。不推荐这样做。如果您只想弄清是不是 SELinux 造成了系统"
++"的问题,可以切换到允许模式(permissive),这样只会记录错误,而不会强制施行 "
++"SELinux 策略。允许模式不需要重启。仍要继续吗?"
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "如果您希望在下次重启过程中对整个文件系统重新标记,选择此项。重新标记可能花"
+-#~ "费很长时间,这与文件系统规模有关。如果您改变了策略类型,或是从禁用切换到其"
+-#~ "他模式,就应当重新标记。"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"启用 SELinux 将导致下次启动时对整个文件系统重新标记。重新标记需要很长时间,取"
++"决于文件系统规模。仍要继续吗?"
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "系统默认的应用模式"
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "系统默认的策略类型:"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "在自定义布尔和所有布尔间切换"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "添加 SELinux 登录映射"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "添加 SELinux 网络端口"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux 类型"
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "在自定义端口和所有端口间切换"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"级别"
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "在自定义文件环境和所有文件环境间切换"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "文件约束"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "文件类型"
+-#~ msgid "_Delete"
+-#~ msgstr "删除 (_D)"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"所有文件\n"
++"常规文件\n"
++"目录\n"
++"字符设备\n"
++"块设备\n"
++"套接字\n"
++"符号链接\n"
++"命名管道\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "添加 SELinux 用户"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux 维护"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "添加"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "属性 (_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "删除 (_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "选择管理对象"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>选择:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "系统默认的应用模式"
+-#~ msgid "_Properties"
+-#~ msgstr "属性 (_P)"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "当前应用模式"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "系统默认的策略类型:"
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "所有文件\n"
+-#~ "常规文件\n"
+-#~ "目录\n"
+-#~ "字符设备\n"
+-#~ "块设备\n"
+-#~ "套接字\n"
+-#~ "符号链接\n"
+-#~ "命名管道\n"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"如果您希望在下次重启过程中对整个文件系统重新标记,选择此项。重新标记可能花费"
++"很长时间,这与文件系统规模有关。如果您改变了策略类型,或是从禁用切换到其他模"
++"式,就应当重新标记。"
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "下次启动时重新标记。"
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "将布尔设置转换为系统默认"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "在自定义布尔和所有布尔间切换"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "运行布尔值锁定向导"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "锁定......"
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "过滤器"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "添加文件上下文"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "修改文件上下文"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "删除文件上下文"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "在自定义文件环境和所有文件环境间切换"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "添加 SELinux 用户映射"
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "修改 SELinux 用户映射"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "删除 SELinux 用户映射"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "添加用户"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "修改用户"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "删除用户"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "添加转换"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "修改转换"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "删除转换"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "添加网络端口"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "编辑网络端口"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "删除网络端口"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "在自定义端口和所有端口间切换"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "生成新的策略模块"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "加载策略模块"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "移除活动的策略模块"
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "敏感度级别"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr "启用/禁用附加的审计规则。这些规则平时不会出现在日志文件中。"
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "将进程模式改为 permissive。"
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "将进程模式改为 enforcing。"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "进程域"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "SELinux 用户 '%s' 是必需的"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "SELinux 用户 '%s' 是必需的"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/zh_TW.po policycoreutils-2.0.85/po/zh_TW.po
+--- nsapolicycoreutils/po/zh_TW.po     2011-02-17 15:11:25.674725801 -0500
++++ policycoreutils-2.0.85/po/zh_TW.po 2011-02-18 16:03:41.453976326 -0500
+@@ -1,31 +1,51 @@
+ # translation of policycoreutils.HEAD.po to Traditional Chinese
++# translation of policycoreutils.HEAD.po to
+ # translation of zh_TW.po to
+ # This file is distributed under the same license as the PACKAGE package.
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+ #
+ # Chester Cheng <ccheng@redhat.com>, 2006.
+ # Chester Cheng <ccheng@brisbane.redhat.com>, 2006.
+-# Terry Chuang <tchuang@redhat.com>, 2008.
++# Terry Chuang <tchuang@redhat.com>, 2008, 2009, 2010.
++# Terry Chuang <tchuang at redhat>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: policycoreutils.HEAD\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
+-"PO-Revision-Date: 2008-09-09 11:34+1000\n"
+-"Last-Translator: Terry Chuang <tchuang@redhat.com>\n"
+-"Language-Team: Traditional Chinese <zh@li.org>\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
++"PO-Revision-Date: 2010-09-08 19:58+0800\n"
++"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
++"Language-Team: Traditional Chinese <zh_TW@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Generator: KBabel 1.11.4\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr "在圖形話設定中配置 SELinux"
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr "SELinux 管理"
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr "產生 SELinux  方針模組"
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr "SELinux 方針產生工具"
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+ "  where: <script> is the name of the init script to run,\n"
+ "         <args ...> are the arguments to that script."
+ msgstr ""
+-"USAGE: run_init <script> <args ...>\n"
++"使用方法:run_init <script> <args ...>\n"
+ "  其中:<script> 是要執行的 init 程序檔,\n"
+ "         <args ...> 是程序檔的參數。"
+@@ -81,7 +101,7 @@
+ #: ../run_init/run_init.c:405 ../newrole/newrole.c:1321
+ #, c-format
+ msgid "Could not set exec context to %s.\n"
+-msgstr "無法將 exec 內文設定至 %s。\n"
++msgstr "無法將 exec context 設定為 %s。\n"
+ #: ../audit2allow/audit2allow:217
+ msgid "******************** IMPORTANT ***********************\n"
+@@ -89,7 +109,7 @@
+ #: ../audit2allow/audit2allow:218
+ msgid "To make this policy package active, execute:"
+-msgstr "若要啟用此政策套件,請執行:"
++msgstr "若要啟用此方針套件,請執行:"
+ #: ../semanage/seobject.py:48
+ msgid "Could not create semanage handle"
+@@ -97,20 +117,19 @@
+ #: ../semanage/seobject.py:55
+ msgid "SELinux policy is not managed or store cannot be accessed."
+-msgstr "SELinux 政策並不受管理,或無法存取 store。"
++msgstr "SELinux 方針並不受管理,或無法存取 store。"
+ #: ../semanage/seobject.py:60
+ msgid "Cannot read policy store."
+-msgstr "無法讀取政策 store。"
++msgstr "無法讀取方針 store。"
+ #: ../semanage/seobject.py:65
+ msgid "Could not establish semanage connection"
+ msgstr "無法建立 semanage 連線"
+ #: ../semanage/seobject.py:70
+-#, fuzzy
+ msgid "Could not test MLS enabled status"
+-msgstr "無法為 %s 設定 MLS 範圍"
++msgstr "無法測試啟用了 MLS 的狀態"
+ #: ../semanage/seobject.py:142 ../semanage/seobject.py:146
+ msgid "global"
+@@ -125,14 +144,15 @@
+ msgid "Level"
+ msgstr "等級"
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr "轉譯"
+ #: ../semanage/seobject.py:247 ../semanage/seobject.py:261
+ #, python-format
+ msgid "Translations can not contain spaces '%s' "
+-msgstr "轉譯不能包含空格「%s」"
++msgstr "翻譯不能包括「%s」"
+ #: ../semanage/seobject.py:250
+ #, python-format
+@@ -142,12 +162,12 @@
+ #: ../semanage/seobject.py:253
+ #, python-format
+ msgid "%s already defined in translations"
+-msgstr "%s 已經在轉譯中定義"
++msgstr "%s 已經在翻譯中定義"
+ #: ../semanage/seobject.py:265
+ #, python-format
+ msgid "%s not defined in translations"
+-msgstr "%s 在轉譯中未定義"
++msgstr "%s 在翻譯中未定義"
+ #: ../semanage/seobject.py:290
+ msgid "Not yet implemented"
+@@ -155,7 +175,7 @@
+ #: ../semanage/seobject.py:294
+ msgid "Semanage transaction already in progress"
+-msgstr ""
++msgstr "Semanage 傳輸正在進行中"
+ #: ../semanage/seobject.py:303
+ msgid "Could not start semanage transaction"
+@@ -167,7 +187,7 @@
+ #: ../semanage/seobject.py:313
+ msgid "Semanage transaction not in progress"
+-msgstr ""
++msgstr "Semanage 傳輸非進行中"
+ #: ../semanage/seobject.py:325
+ msgid "Could not list SELinux modules"
+@@ -177,739 +197,743 @@
+ msgid "Permissive Types"
+ msgstr "寬鬆型"
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr "無法設定寬鬆型網域 %s(模組安裝失敗)"
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr "無法移除寬鬆型網域 %s(移除失敗)"
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr "無法為 %s 建立金鑰"
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+-msgstr "無法檢查 %s 的登入對映是否已經定義"
++msgstr "無法檢查 %s 的登入對應是否已經定義"
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+-msgstr "%s 的登入對映已經定義"
++msgstr "%s 的登入對應已經定義"
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr "Linux 群組 %s 不存在"
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr "Linux 使用者 %s 不存在"
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+-msgstr "無法為 %s 建立登入對映"
++msgstr "無法為 %s 建立登入對應"
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr "無法為 %s 設定名稱"
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr "無法為 %s 設定 MLS 範圍"
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr "無法為 %s 設定 SELinux 使用者"
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+-msgstr "無法為 %s 新增登入對映"
++msgstr "無法為 %s 新增登入對應"
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr "新增 SELinux 使用者對映"
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr "需要 seuser 或 serange"
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+-msgstr "%s 的登入對映並未定義"
++msgstr "%s 的登入對應並未定義"
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr "無法為 %s 查詢 seuser"
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+-msgstr "無法為 %s 修改登入對映"
++msgstr "無法為 %s 修改登入對應"
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+-msgstr "%s 的登入對映定義在政策中,無法刪除"
++msgstr "%s 的登入對應定義在方針中,無法刪除"
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+-msgstr "無法為 %s 刪除登入對映"
++msgstr "無法為 %s 刪除登入對應"
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+-msgstr "無法列出登入對映"
++msgstr "無法列出登入對應"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr "登錄名稱"
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr "SELinux 使用者"
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr "MLS/MCS 範圍"
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr "您必須為 %s 新增至少一個角色"
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr "無法檢查 SELinux 使用者 %s 是否已經定義"
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr "SELinux 使用者 %s 已經定義"
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr "無法為 %s 建立 SELinux 使用者"
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr "無法新增 %s 角色給 %s"
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr "無法為 %s 設定 MLS 等級"
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr "無法新增前綴 %s 到 %s"
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr "無法為 %s 擷取金鑰"
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr "無法新增 SELinux 使用者 %s"
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr "需要前綴、角色、等級或範圍"
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr "需要前綴或角色"
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr "SELinux 使用者 %s 未定義"
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr "無法為 %s 查詢使用者"
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr "無法修改 SELinux 使用者 %s"
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+-msgstr "SELinux 使用者 %s 定義在政策中,無法刪除"
++msgstr "SELinux 使用者 %s 定義在方針中,無法刪除"
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr "無法刪除 SELinux 使用者 %s"
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr "無法列出 SELinux 使用者"
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr "無法列出使用者 %s 的角色"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr "標記"
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr "MLS/"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr "前綴字元"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr "MCS 等級"
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr "MCS 範圍"
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr "SELinux 角色"
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr "需要 udp 或 tcp 通訊協定"
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr "需要連接埠"
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr "無法為 %s/%s 建立金鑰"
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr "需要類型"
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr "無法檢查連接埠 %s/%s 是否已經定義"
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr "連接埠 %s/%s 已經定義"
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr "無法為 %s/%s 建立連接埠"
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+-msgstr "無法為 %s/%s 建立內文"
++msgstr "無法為 %s/%s 建立 context"
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+-msgstr "無法為 %s/%s 的連接埠內文中,設定使用者"
++msgstr "無法為 %s/%s 的連接埠 context 中,設定使用者"
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+-msgstr "無法為 %s/%s 的連接埠內文中,設定角色"
++msgstr "無法為 %s/%s 的連接埠 context 中,設定角色"
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+-msgstr "無法為 %s/%s 的連接埠內文中,設定類型"
++msgstr "無法為 %s/%s 的連接埠 context 中,設定類型"
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+-msgstr "無法為 %s/%s 的連接埠內文中,設定 mls 欄位"
++msgstr "無法為 %s/%s 的連接埠 context 中,設定 mls 欄位"
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+-msgstr "無法為 %s/%s 設定連接埠內文"
++msgstr "無法為 %s/%s 設定連接埠 context"
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr "無法新增連接埠 %s/%s"
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr "需要 setype 或 serange"
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr "需要 setype"
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr "連接埠 %s/%s 未定義"
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr "無法查詢連接埠 %s/%s"
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr "無法修改連接埠 %s/%s"
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr "無法列出連接埠"
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr "無法刪除連接埠 %s"
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+-msgstr "連接埠 %s/%s 已經在政策中定義,無法刪除"
++msgstr "連接埠 %s/%s 已經在方針中定義,無法刪除"
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr "無法刪除連接埠 %s/%s"
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr "無法列出連接埠"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr "SELinux 連接埠類型"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr "Proto"
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr "埠號"
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
+-#, fuzzy
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+-msgstr "需要連接埠"
++msgstr "需要節點位址"
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
+-#, fuzzy
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+-msgstr "需要連接埠"
++msgstr "需要網路遮罩"
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+-msgstr ""
++msgstr "通訊協定不明或遺失"
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr "需要 SELinux 類型"
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr "無法為 %s 建立金鑰"
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
++#, python-format
+ msgid "Could not check if addr %s is defined"
+-msgstr "無法檢查連接埠 %s/%s 是否已經定義"
++msgstr "無法檢查 addr %s 是否已定義"
+-#: ../semanage/seobject.py:1064
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1060
++#, python-format
+ msgid "Addr %s already defined"
+-msgstr "連接埠 %s/%s 已經定義"
++msgstr "Addr %s 已定義"
+-#: ../semanage/seobject.py:1068
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1064
++#, python-format
+ msgid "Could not create addr for %s"
+-msgstr "無法為 %s 建立金鑰"
++msgstr "無法為 %s 建立 addr"
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+-msgstr "無法為 %s 建立內文"
++msgstr "無法為 %s 建立 context"
+-#: ../semanage/seobject.py:1077
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1073
++#, python-format
+ msgid "Could not set mask for %s"
+-msgstr "無法為 %s 設定名稱"
++msgstr "無法為 %s 設定遮罩"
+-#: ../semanage/seobject.py:1082
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1078
++#, python-format
+ msgid "Could not set user in addr context for %s"
+-msgstr "無法為 %s 的檔案內文設定使用者"
++msgstr "無法為 %s 的 addr context 設定使用者"
+-#: ../semanage/seobject.py:1086
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1082
++#, python-format
+ msgid "Could not set role in addr context for %s"
+-msgstr "無法為 %s 的檔案內文設定角色"
++msgstr "無法為 %s 的 addr context 設定角色"
+-#: ../semanage/seobject.py:1090
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1086
++#, python-format
+ msgid "Could not set type in addr context for %s"
+-msgstr "無法為 %s 的檔案內文設定類型"
++msgstr "無法為 %s 的 addr context 設定類型"
+-#: ../semanage/seobject.py:1095
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1091
++#, python-format
+ msgid "Could not set mls fields in addr context for %s"
+-msgstr "無法為 %s 的檔案內文設定 mls 欄位"
++msgstr "無法為 %s 的 addr context 設定 mls 欄位"
+-#: ../semanage/seobject.py:1099
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1095
++#, python-format
+ msgid "Could not set addr context for %s"
+-msgstr "無法為 %s 設定檔案內文"
++msgstr "無法為 %s 設定 addr context"
+-#: ../semanage/seobject.py:1103
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1099
++#, python-format
+ msgid "Could not add addr %s"
+-msgstr "無法新增連接埠 %s/%s"
++msgstr "無法新增 addr %s"
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
++#, python-format
+ msgid "Addr %s is not defined"
+-msgstr "連接埠 %s/%s 未定義"
++msgstr "Addr %s 未定義"
+-#: ../semanage/seobject.py:1143
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1139
++#, python-format
+ msgid "Could not query addr %s"
+-msgstr "無法查詢連接埠 %s/%s"
++msgstr "無法查詢 addr %s"
+-#: ../semanage/seobject.py:1154
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1150
++#, python-format
+ msgid "Could not modify addr %s"
+-msgstr "無法修改連接埠 %s/%s"
++msgstr "無法修改 addr %s"
+-#: ../semanage/seobject.py:1192
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1188
++#, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+-msgstr "連接埠 %s/%s 已經在政策中定義,無法刪除"
++msgstr "Addr %s 已經在方針中定義,無法刪除"
+-#: ../semanage/seobject.py:1196
+-#, fuzzy, python-format
++#: ../semanage/seobject.py:1192
++#, python-format
+ msgid "Could not delete addr %s"
+-msgstr "無法刪除連接埠 %s/%s"
++msgstr "無法刪除 addr %s"
+-#: ../semanage/seobject.py:1212
+-#, fuzzy
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+-msgstr "無法列出連接埠"
++msgstr "無法列出 addr"
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr "無法檢查介面 %s 是否已經定義"
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr "介面 %s 已經定義"
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr "無法為 %s 建立介面"
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+-msgstr "無法為 %s 設定介面內文中的使用者"
++msgstr "無法為 %s 設定介面 context 中的使用者"
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+-msgstr "無法為 %s 設定介面內文中的角色"
++msgstr "無法為 %s 設定介面 context 中的角色"
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+-msgstr "無法為 %s 設定介面內文中的類型"
++msgstr "無法為 %s 設定介面 context 中的類型"
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+-msgstr "無法為 %s 設定介面內文中的 mls 欄位"
++msgstr "無法為 %s 設定介面 context 中的 mls 欄位"
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+-msgstr "無法為 %s 設定介面內文"
++msgstr "無法為 %s 設定介面 context"
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+-msgstr "無法為 %s 設定訊息內文"
++msgstr "無法為 %s 設定訊息 context"
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr "無法新增介面 %s"
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr "介面 %s 未定義"
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr "無法查詢介面 %s"
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr "無法修改介面 %s"
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+-msgstr "介面 %s 定義在政策中,無法刪除"
++msgstr "介面 %s 定義在方針中,無法刪除"
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr "無法刪除介面 %s"
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr "無法列出介面"
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr "SELinux 介面"
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+-msgstr "內文"
++msgstr "Context"
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+-msgstr "無法為 %s 的檔案內文設定使用者"
++msgstr "無法為 %s 的檔案 context 設定使用者"
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+-msgstr "無法為 %s 的檔案內文設定角色"
++msgstr "無法為 %s 的檔案 context 設定角色"
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+-msgstr "無法為 %s 的檔案內文設定 mls 欄位"
++msgstr "無法為 %s 的檔案 context 設定 mls 欄位"
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr "無效的檔案規格"
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+-msgstr "無法檢查 %s 的檔案內文是否已經定義"
++msgstr "無法檢查 %s 的檔案 context 是否已經定義"
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+-msgstr "%s 的檔案內文已經定義"
++msgstr "%s 的檔案 context 已經定義"
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+-msgstr "無法為 %s 建立檔案內文"
++msgstr "無法為 %s 建立檔案 context"
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+-msgstr "無法為 %s 的檔案內文設定類型"
++msgstr "無法為 %s 的檔案 context 設定類型"
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+-msgstr "無法為 %s 設定檔案內文"
++msgstr "無法為 %s 設定檔案 context"
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+-msgstr "無法為 %s 新增檔案內文"
++msgstr "無法為 %s 新增檔案 context"
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr "需要 setype、serange 或 seuser"
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+-msgstr "%s 的檔案內文未定義"
++msgstr "%s 的檔案 context 未定義"
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+-msgstr "無法為 %s 查詢檔案內文"
++msgstr "無法為 %s 查詢檔案 context"
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+-msgstr "無法為 %s 修改檔案內文"
++msgstr "無法為 %s 修改檔案 context"
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+-msgstr "無法列出檔案內文"
++msgstr "無法列出檔案 context"
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+-msgstr "無法刪除檔案內文 %s"
++msgstr "無法刪除檔案 context %s"
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+-msgstr "%s 的檔案內文已經定義於政策中,無法刪除"
++msgstr "%s 的檔案 context 已經定義在方針中,無法刪除"
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+-msgstr "無法為 %s 刪除檔案內文"
++msgstr "無法為 %s 刪除檔案 context"
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+-msgstr "無法列出檔案內文"
++msgstr "無法列出檔案 context"
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+-msgstr "無法列出本地的檔案內文"
++msgstr "無法列出本地的檔案 context"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr "SELinux fcontext"
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr "類型"
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr "無法檢查布林值 %s 是否已經定義"
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr "布林值 %s 未定義"
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+-msgstr "無法查詢檔案內文 %s"
++msgstr "無法查詢檔案 context %s"
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr "您必須指定下列其中一個值:%s"
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr "無法設置布林值 %s"
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr "無法修改布林值 %s"
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr "錯誤的格式 %s:紀錄 %s"
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+-msgstr "布林值 %s 已經定義在政策中,無法刪除"
++msgstr "布林值 %s 已經定義在方針中,無法刪除"
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr "無法刪除布林值 %s"
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr "無法列出布林值"
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr "不明"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr "關閉"
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr "開啟"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr "SELinux 布林值"
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr "描述"
+@@ -949,9 +973,9 @@
+ msgstr "無法清除環境\n"
+ #: ../newrole/newrole.c:556 ../newrole/newrole.c:634
+-#, fuzzy, c-format
++#, c-format
+ msgid "Error initializing capabilities, aborting.\n"
+-msgstr "起始功能時發生錯誤,放棄。\n"
++msgstr "初始化功能時發生錯誤,放棄。\n"
+ #: ../newrole/newrole.c:564 ../newrole/newrole.c:640
+ #, c-format
+@@ -1016,17 +1040,17 @@
+ #: ../newrole/newrole.c:771
+ #, c-format
+ msgid "%s!  Could not get current context for %s, not relabeling tty.\n"
+-msgstr "%s!無法取得 %s 目前的內文,無法為 tty 重新標記。\n"
++msgstr "%s!無法取得 %s 目前的 context,無法為 tty 重新標記。\n"
+ #: ../newrole/newrole.c:781
+ #, c-format
+ msgid "%s!  Could not get new context for %s, not relabeling tty.\n"
+-msgstr "%s!無法取得 %s 新的內文,無法為 tty 重新標記。\n"
++msgstr "%s!無法取得 %s 新的 context,無法為 tty 重新標記。\n"
+ #: ../newrole/newrole.c:791
+ #, c-format
+ msgid "%s!  Could not set new context for %s\n"
+-msgstr "%s!無法為 %s 設定新的內文\n"
++msgstr "%s!無法為 %s 設定新的 context\n"
+ #: ../newrole/newrole.c:838
+ #, c-format
+@@ -1036,7 +1060,7 @@
+ #: ../newrole/newrole.c:844
+ #, c-format
+ msgid "Warning! Could not restore context for %s\n"
+-msgstr "無法為 %s 回復內文\n"
++msgstr "無法為 %s 回復 context\n"
+ #: ../newrole/newrole.c:901
+ #, c-format
+@@ -1061,7 +1085,7 @@
+ #: ../newrole/newrole.c:931
+ #, c-format
+ msgid "Error: you are not allowed to change levels on a non secure terminal \n"
+-msgstr "錯誤:您不可在一個非安全的終端機上更改等級 \n"
++msgstr "錯誤:您不可在一個非安全的終端機上更改等級\n"
+ #: ../newrole/newrole.c:957
+ #, c-format
+@@ -1071,7 +1095,7 @@
+ #: ../newrole/newrole.c:967
+ #, c-format
+ msgid "failed to get new context.\n"
+-msgstr "無法取得新的內文。\n"
++msgstr "無法取得新的 context。\n"
+ #: ../newrole/newrole.c:974
+ #, c-format
+@@ -1096,17 +1120,17 @@
+ #: ../newrole/newrole.c:1004
+ #, c-format
+ msgid "failed to convert new context to string\n"
+-msgstr "無法將新的內文轉為字串\n"
++msgstr "無法將新的 context 轉為字串\n"
+ #: ../newrole/newrole.c:1009
+ #, c-format
+ msgid "%s is not a valid context\n"
+-msgstr "%s 不是有效的內文\n"
++msgstr "%s 不是有效的 context\n"
+ #: ../newrole/newrole.c:1016
+ #, c-format
+ msgid "Unable to allocate memory for new_context"
+-msgstr "無法為新的內文(new_context)分配記憶體"
++msgstr "無法為新的 context(new_context)分配記憶體"
+ #: ../newrole/newrole.c:1042
+ #, c-format
+@@ -1126,7 +1150,7 @@
+ #: ../newrole/newrole.c:1133
+ #, c-format
+ msgid "failed to get old_context.\n"
+-msgstr "無法取得舊的內文(old_context)。\n"
++msgstr "無法取得舊的 context(old_context)。\n"
+ #: ../newrole/newrole.c:1140
+ #, c-format
+@@ -1185,17 +1209,17 @@
+ #: ../load_policy/load_policy.c:71
+ #, c-format
+ msgid "%s:  Policy is already loaded and initial load requested\n"
+-msgstr "%s:政策已載入,已請求初始載入\n"
++msgstr "%s:方針已載入,已請求初始載入\n"
+ #: ../load_policy/load_policy.c:80
+ #, c-format
+ msgid "%s:  Can't load policy and enforcing mode requested:  %s\n"
+-msgstr "%s:無法載入政策,已請求強制模式:%s\n"
++msgstr "%s:無法載入方針,已請求強制模式:%s\n"
+ #: ../load_policy/load_policy.c:90
+ #, c-format
+ msgid "%s:  Can't load policy:  %s\n"
+-msgstr "%s:無法載入政策:%s\n"
++msgstr "%s:無法載入方針:%s\n"
+ #: ../scripts/chcat:92 ../scripts/chcat:169
+ msgid "Requires at least one category"
+@@ -1281,1674 +1305,2156 @@
+ msgid "Options Error %s "
+ msgstr "選項錯誤 %s"
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "semodule -i %s\n"
+-#~ "\n"
+-
+-#~ msgid "translations not supported on non-MLS machines"
+-#~ msgstr "非 MLS 的機器上並不支援轉譯"
+-
+-#~ msgid "Name"
+-#~ msgstr "名稱"
+-
+-#~ msgid "Role"
+-#~ msgstr "角色"
+-
+-#~ msgid "Existing_User"
+-#~ msgstr "Existing_User"
+-
+-#~ msgid "Application"
+-#~ msgstr "應用程式"
+-
+-#~ msgid "%s must be a directory"
+-#~ msgstr "%s 必須要是個目錄"
+-
+-#~ msgid "You must select a user"
+-#~ msgstr "您必須選擇用戶"
+-
+-#~ msgid "Select executable file to be confined."
+-#~ msgstr "選擇要限制的可執行檔。"
+-
+-#~ msgid "Select init script file to be confined."
+-#~ msgstr "選擇要限制的 init script 檔案。"
+-
+-#~ msgid "Select file(s) that confined application creates or writes"
+-#~ msgstr "選擇限制了應用程式建立或寫入的檔案"
+-
+-#~ msgid ""
+-#~ "Select directory(s) that the confined application owns and writes into"
+-#~ msgstr "選擇被限制的應用程式所屬並寫入的目錄"
+-
+-#~ msgid "Select directory to generate policy files in"
+-#~ msgstr "選擇產生政策檔案的目錄"
+-
+-#~ msgid ""
+-#~ "Type %s_t already defined in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "類型 %s_t 已定義於目前的政策中。\n"
+-#~ "請問您是否希望繼續進行?"
+-
+-#~ msgid "Verify Name"
+-#~ msgstr "驗證名稱"
+-
+-#~ msgid ""
+-#~ "Module %s.pp already loaded in current policy.\n"
+-#~ "Do you want to continue?"
+-#~ msgstr ""
+-#~ "模組 %s.pp 已載入目前的政策中。\n"
+-#~ "請問您是否希望繼續進行?"
+-
+-#~ msgid "You must enter a name"
+-#~ msgstr "您必須輸入名稱"
+-
+-#~ msgid "You must enter a executable"
+-#~ msgstr "您必須輸入可執行檔"
+-
+-#~ msgid "Configue SELinux"
+-#~ msgstr "設定 SELinux"
+-
+-#~ msgid "Ports must be be numbers or ranges of numbers from 1 to %d "
+-#~ msgstr "通訊埠必須以介於 1 與 %d 之間的數字來構成"
+-
+-#~ msgid "You must enter a name for your confined process/user"
+-#~ msgstr "您必須為您限制的程序 / 用戶輸入名稱"
+-
+-#~ msgid "USER Types are not allowed executables"
+-#~ msgstr "USER 類型不是被允許的可執行檔"
+-
+-#~ msgid "Only DAEMON apps can use an init script"
+-#~ msgstr "只有 DAEMON apps 可以使用 init script"
+-
+-#~ msgid "use_syslog must be a boolean value "
+-#~ msgstr "use_syslog 必須是布林值"
+-
+-#~ msgid "USER Types autoomatically get a tmp type"
+-#~ msgstr "USER 類型會自動取得一個 tmp 類型"
+-
+-#~ msgid "You must enter the executable path for your confined process"
+-#~ msgstr "您必須輸入您限制的程序的可執行檔路徑"
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr "布林值"
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr "全部"
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr "自訂化"
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr "檔案標記"
+-#~ msgid "Type Enforcement file"
+-#~ msgstr "類型強制檔"
+-
+-#~ msgid "Interface file"
+-#~ msgstr "介面檔案"
+-
+-#~ msgid "File Contexts file"
+-#~ msgstr "檔案內文檔"
+-
+-#~ msgid "Setup Script"
+-#~ msgstr "設定 Script"
+-
+-#~ msgid "Permissive"
+-#~ msgstr "寬鬆型"
+-
+-#~ msgid "Enforcing"
+-#~ msgstr "強制"
+-
+-#~ msgid "Disabled"
+-#~ msgstr "停用"
+-
+-#~ msgid "Status"
+-#~ msgstr "狀態"
+-
+-#~ 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 ""
+-#~ "更改政策類型會造成整個檔案系統在下次重新啟動時被重新標記(relabeling)。根"
+-#~ "據檔案系統的大小,重新標記可能會花上許多時間。您是否希望繼續進行?"
+-
+-#~ 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 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?"
+-#~ msgstr ""
+-#~ "若要將 SELinux 變更為停用的話您需重新啟動系統。我們不建議這麼作。若您之後"
+-#~ "決定將 SELinux 再次啟用,系統將會需要被重新標記。若您只是想查看 SELinux 是"
+-#~ "否會在您的系統上造成問題,您可進入寬鬆模式,這只會將錯誤紀錄下來並且不會強"
+-#~ "制 SELinux 政策。寬鬆模式無須重新啟動系統    請問您希望繼續進行嗎?"
+-
+-#~ 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 file system.  Do you wish to continue?"
+-#~ msgstr ""
+-#~ "若將 SELinux 變更為啟用的話,下次系統啟動時,整個檔案系統都將會被重新標"
+-#~ "記。根據檔案系統的大小,重新標記可能會花上許多時間。您是否希望繼續進行?"
+-
+-#~ msgid ""
+-#~ "SELinux\n"
+-#~ "User"
+-#~ msgstr ""
+-#~ "SELinux\n"
+-#~ "用戶"
+-
+-#~ msgid ""
+-#~ "MLS/\n"
+-#~ "MCS Range"
+-#~ msgstr ""
+-#~ "MLS/\n"
+-#~ "MCS 範圍"
+-
+-#~ msgid "SELinux user '%s' is required"
+-#~ msgstr "需要 SELinux 用戶「%s」"
+-
+-#~ msgid "User Mapping"
+-#~ msgstr "用戶對映"
+-
+-#~ msgid ""
+-#~ "Login\n"
+-#~ "Name"
+-#~ msgstr ""
+-#~ "登錄\n"
+-#~ "名稱"
+-
+-#~ msgid "Login '%s' is required"
+-#~ msgstr "需要登錄名稱「%s」"
+-
+-#~ msgid "Disable"
+-#~ msgstr "停用"
+-
+-#~ msgid "Enable"
+-#~ msgstr "啟用"
+-
+-#~ msgid "Default"
+-#~ msgstr "預設"
+-
+-#~ msgid "<b>Boolean</b>"
+-#~ msgstr "<b>布林值</b>"
+-
+-#~ msgid "<b>Description</b>"
+-#~ msgstr "<b>描述</b>"
+-
+-#~ msgid "<b>Status</b>"
+-#~ msgstr "<b>狀態</b>"
+-
+-#~ msgid "Category: %s <br>"
+-#~ msgstr "類別:%s <br>"
+-
+-#~ msgid "Begin"
+-#~ msgstr "起始"
+-
+-#~ msgid ""
+-#~ "Welcome to the SELinux Lockdown Tool.<br> <br>This tool can be used to "
+-#~ "lockdown SELinux booleans.The tool will generate a configuration file "
+-#~ "which can be used to lockdown this system or other SELinux systems.<br>"
+-#~ msgstr ""
+-#~ "歡迎使用 SELinux Lockdown 工具。<br> <br>此工具可被用來將 SELinux 布林值鎖"
+-#~ "住。此工具會產生一個可被用來將此系統或其它 SELinux 系統鎖住的配置檔案。"
+-#~ "<br>"
+-
+-#~ msgid "Finish"
+-#~ msgstr "結束"
+-
+-#~ msgid "Category %s booleans completed <br><br>"
+-#~ msgstr "類別 %s 的布林值已完成 <br><br>"
+-
+-#~ msgid "Current settings:<br><br>"
+-#~ msgstr "目前設定:<br><br>"
+-
+-#~ msgid "Finish: <br><br>"
+-#~ msgstr "結束:<br><br>"
+-
+-#~ msgid "Category: %s<br><br>Current Settings<br><br>"
+-#~ msgstr "類別:%s<br><br>目前設定<br><br>"
+-
+-#~ msgid "Boolean:   %s<br><br>"
+-#~ msgstr "布林值:%s<br><br>"
+-
+-#~ msgid "Lockdown SELinux Booleans"
+-#~ msgstr "鎖定 SELinux 布林值"
+-
+-#~ msgid "<b>Select:</b>"
+-#~ msgstr "<b>選擇:</b>"
+-
+-#~ msgid "Apply"
+-#~ msgstr "套用"
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++"檔案\n"
++"規格"
+-#~ msgid ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgstr ""
+-#~ "Copyright (c)2006 Red Hat, Inc.\n"
+-#~ "Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++"Selinux\n"
++"檔案類型"
+-#~ msgid "SELinux Boolean Lockdown"
+-#~ msgstr "SELinux 布林值鎖定"
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++"檔案\n"
++"類型"
+-#~ msgid "Save As"
+-#~ msgstr "儲存為"
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr "用戶對映"
+-#~ msgid "Save Boolean Configuration File"
+-#~ msgstr "儲存布林值配置檔案"
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++"登錄\n"
++"名稱"
+-#~ msgid "Select Management Object"
+-#~ msgstr "選擇管理物件"
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++"SELinux\n"
++"用戶"
+-#~ msgid "Select file name to save  boolean settings."
+-#~ msgstr "選擇儲存布林值設定的檔案名稱。"
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++"MLS/\n"
++"MCS 範圍"
+-#~ msgid "_Forward"
+-#~ msgstr "下一步(_F)"
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr "需要登錄名稱「%s」"
+-#~ msgid "_Previous"
+-#~ msgstr "上一步(_P)"
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr "方針模組"
+-#~ msgid "system-config-selinux"
+-#~ msgstr "system-config-selinux"
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr "模組名稱"
+-#~ msgid "translator-credits"
+-#~ msgstr "譯者姓名:莊佳儒(tchuang@redhat.com)"
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr "版本"
+-#~ msgid "SELinux Service Protection"
+-#~ msgstr "SELinux 服務保護"
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr "停用稽核"
+-#~ msgid "Disable SELinux protection for acct daemon"
+-#~ msgstr "停用 acct daemon 的 SELinux 保護"
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr "啟用稽核"
+-#~ msgid "Admin"
+-#~ msgstr "管理員"
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr "載入方針模組"
+-#~ msgid "Allow all daemons to write corefiles to /"
+-#~ msgstr "允許所有 daemon 將 corefile 寫至 /"
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr "Polgen"
+-#~ msgid "Allow all daemons the ability to use unallocated ttys"
+-#~ msgstr "允許所有 daemon 使用未分配的 ttys"
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr "Red Hat 2007"
+-#~ msgid "User Privs"
+-#~ msgstr "用戶 Privs"
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr "GPL"
+-#~ msgid ""
+-#~ "Allow gadmin SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允許 gadmin SELinux 用戶帳號執行家目錄或 /tmp 中的檔案"
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr "譯者姓名:莊佳儒(tchuang@redhat.com)"
+-#~ msgid ""
+-#~ "Allow guest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允許 guest SELinux 用戶帳號執行家目錄或 /tmp 中的檔案"
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++"此工具可被用來產生一個繼續進行應用程式或是使用 SELinux 的用戶的方針架構。\n"
++"\n"
++"此工具會產生:\n"
++"類型強制檔案(te)\n"
++"介面檔案(if)\n"
++"檔案 context 檔(fc)\n"
++"Shell script(sh)- 用來編譯和安裝方針。"
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr "選擇欲限制的應用程式/用戶角色類型"
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr "<b>應用程式</b>"
+-#~ msgid "Memory Protection"
+-#~ msgstr "記憶體保護"
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++"標準的 Init Daemon 代表透過 init script 在開機時啟動的系統程式。通常在 /etc/"
++"rc.d/init.d 中會需要一個 script"
+-#~ msgid "Allow java executable stack"
+-#~ msgstr "允許 java 執行堆疊"
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr "標準 Init Daemon"
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr "DBUS 系統 Daemon"
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr "網路服務 Daemon 為 xinetd 所啟用的系統程式"
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr "網路服務 Daemon(inetd)"
+-#~ msgid "Mount"
+-#~ msgstr "掛載"
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr "網站應用程式/Script(CGI)由網站伺服器(apache)所啟用的 CGI script"
+-#~ msgid "Allow mount to mount any file"
+-#~ msgstr "允許 mount 掛載任何檔案"
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr "網站應用程式/Script(CGI)"
+-#~ msgid "Allow mount to mount any directory"
+-#~ msgstr "允許 mount 掛載任何目錄"
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr "用戶應用程式為任何您所希望限制、由某個用戶所啟用的應用程式"
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr "用戶應用程式"
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr "<b>登錄用戶</b>"
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr "修改一個現有的登錄用戶紀錄。"
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr "現有的用戶角色"
+-#~ msgid "Allow mplayer executable stack"
+-#~ msgstr "允許 mplayer 可執行堆疊"
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++"此用戶將只可透過終端機或是遠端登錄來登入一部機器。就預設值來講,此用戶將不會"
++"有 setuid、網路作業、su 和 sudo。"
+-#~ msgid "SSH"
+-#~ msgstr "SSH"
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr "最少的終端機用戶角色"
+-#~ msgid "Allow ssh to run ssh-keysign"
+-#~ msgstr "允許 ssh 執行 ssh-keysign"
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++"此用戶可透過 X 或是終端機來登入一部機器。就預設值來講,此用戶將不會有 "
++"setuid、網路作業、sudo 和 su"
+-#~ msgid ""
+-#~ "Allow staff SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允許 staff SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr "最少的 X Windows 用戶角色"
+-#~ msgid ""
+-#~ "Allow sysadm SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允許 sysadm SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr "具有完整網路作業、沒有無轉移的 setuid 應用程式、無 sudo,並且無 su。"
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr "用戶角色"
+-#~ msgid ""
+-#~ "Allow unconfined SELinux user account to execute files in home directory "
+-#~ "or /tmp"
+-#~ msgstr "允許 unconfined SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++"具有完整網路作業、沒有無轉移的 setuid 應用程式、無 su,並且可 sudo 至 Root 管"
++"理角色的用戶"
+-#~ msgid "Network Configuration"
+-#~ msgstr "網路配置"
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr "管理員用戶角色"
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr "<b>Root 用戶</b>"
+-#~ msgid "Allow unlabeled packets to flow on the network"
+-#~ msgstr "允許未標記的封包在網路上流動"
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++"若此用戶將會被用來以 root 的身份管理機器的話,選擇 Root 管理者用戶角色。此用"
++"戶將無法直接登入系統。"
+-#~ msgid ""
+-#~ "Allow user SELinux user account to execute files in home directory or /tmp"
+-#~ msgstr "允許 user SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr "Root 管理員用戶角色(Root Admin User Role)"
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr "輸入受限制的應用程式名稱或用戶角色"
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr "名稱"
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr "輸入要被限制的可執行檔的完整路徑。"
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr "..."
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr "輸入受限制的應用程式或用戶角色的特殊名稱。"
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr "可執行檔"
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr "Init script"
+-#~ msgid "Allow unconfined to dyntrans to unconfined_execmem"
+-#~ msgstr "允許 unconfined dyntrans 至 unconfined_execmem"
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr "輸入用來啟用受限制的應用程式的 init script 的完整路徑。"
+-#~ msgid "Databases"
+-#~ msgstr "資料庫"
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr "選擇您希望自訂化的用戶角色"
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr "選擇將會轉移至此應用程式網域的用戶角色。"
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr "選擇此用戶角色將會轉移的額外網域"
+-#~ msgid "Allow user to connect to mysql socket"
+-#~ msgstr "允許用戶連至 mysql socket"
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr "選擇您希望此用戶角色轉移至的應用程式網域。"
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr "選擇將會轉移至此網域的用戶角色"
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr "選擇此用戶角色將會管理的額外網域"
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr "選擇您希望此用戶管理的網域。"
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr "選擇此用戶的額外角色"
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr "輸入應用程式/用戶角色監聽的網路通訊埠"
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr "<b>TCP 通訊埠</b>"
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr "允許受限制的應用程式/用戶角色綁定至任何 udp 通訊埠"
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr "全部"
+-#~ msgid "Allow user to connect to postgres socket"
+-#~ msgstr "允許用戶連至 postgres socket"
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr "允許應用程式/用戶角色以 0 來調用 bindresvport。綁定至通訊埠 600-1024"
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr "600-1024"
+-#~ msgid "XServer"
+-#~ msgstr "XServer"
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++"輸入一個應用程式/用戶角色綁定至、以逗號區隔開的 udp 通訊埠清單或是通訊埠範"
++"圍。例如:612, 650-660"
+-#~ msgid "Allow clients to write to X shared memory"
+-#~ msgstr "允許客戶端寫至 X 共享記憶體"
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr "未保留的通訊埠(>1024)"
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr "選擇通訊埠"
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr "允許應用程式/用戶角色綁定至任何大於 1024 的 udp 通訊埠"
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr "<b>UDP 通訊埠</b>"
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr "輸入應用程式/用戶連至的網路通訊埠"
+-#~ msgid ""
+-#~ "Allow xguest SELinux user account to execute files in home directory or /"
+-#~ "tmp"
+-#~ msgstr "允許 xguest SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"輸入一個應用程式/用戶角色連至、以逗號區隔開的 tcp 通訊埠清單或是通訊埠範圍。"
++"例如:612, 650-660"
+-#~ msgid "NIS"
+-#~ msgstr "NIS"
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++"輸入一個應用程式/用戶角色連至、以逗號區隔開的 udp 通訊埠清單或是通訊埠範圍。"
++"例如:612, 650-660"
+-#~ msgid "Allow daemons to run with NIS"
+-#~ msgstr "允許 daemon 以 NIS 執行"
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr "選擇一般的應用程式特性"
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr "寫入 syslog 訊息\t"
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr "建立/操作位於 /tmp 中的臨時檔案"
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr "使用 Pam 來進行驗證"
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr "使用 nsswitch 或是 getpw* 調用"
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr "使用 dbus"
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr "發送稽核訊息"
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr "與終端機進行互動"
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr "發送電子郵件"
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr "選擇應用程式所管理的檔案/目錄"
+-#~ msgid "Web Applications"
+-#~ msgstr "網站應用程式"
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr "新增應用程式需要「寫」至檔案/目錄。Pid 檔案、日誌檔、/var/lib 檔案 ..."
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr "選擇應用程式所使用的布林值"
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr "新增/移除這個受限制的應用程式/用戶所使用的布林值"
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr "選擇產生方針的目錄"
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr "方針目錄"
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr "產生的方針檔案"
+-#~ msgid "Transition staff SELinux user to Web Browser Domain"
+-#~ msgstr "將 staff SELinux 用戶轉移至 Web Browser Domain"
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"此工具會產生下列:\n"
++"類型強制(te)、檔案 Context(fc)、介面(if)、Shell Script(sh)\n"
++"以 root 來執行 shell script 並編譯/安裝和重新標記檔案/目錄?\n"
++"使用 semanage 或是 useradd 來將 Linux 登錄用戶對映至用戶角色。\n"
++"將機器設置為寬鬆模式(setenforce 0)。\n"
++"以該用戶登入並測試此用戶角色。\n"
++"使用 audit2allow -R 來為 te 檔案產生額外的規則。\n"
+-#~ msgid "Transition sysadm SELinux user to Web Browser Domain"
+-#~ msgstr "將 sysadm SELinux 用戶轉移至 Web Browser Domain"
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++"此工具會產生下列:\n"
++"類型強制(te)、檔案 Context(fc)、介面(if)、Shell Script(sh)\n"
++"\n"
++"執行 shell script 來編譯/安裝和重新標記檔案/目錄。\n"
++"將機器設置為寬鬆模式(setenforce 0)。\n"
++"執行/重新啟動用程式來產生 avc 訊息。\n"
++"使用 audit2allow -R 來為 te 檔案產生額外的規則。\n"
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr "新增布林值對話"
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr "布林值名稱"
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr "角色"
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr "Existing_User"
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr "應用程式"
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr "%s 必須要是個目錄"
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr "您必須選擇用戶"
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr "選擇要限制的可執行檔。"
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr "選擇要限制的 init script 檔案。"
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr "選擇限制了應用程式建立或寫入的檔案"
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr "選擇被限制的應用程式所屬並寫入的目錄"
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr "選擇產生方針檔案的目錄"
+-#~ msgid "Transition user SELinux user to Web Browser Domain"
+-#~ msgstr "將 user SELinux 用戶轉移至 Web Browser Domain"
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"類型 %s_t 已定義於目前的方針中。\n"
++"請問您是否希望繼續進行?"
+-#~ msgid "Transition xguest SELinux user to Web Browser Domain"
+-#~ msgstr "將 xguest SELinux 用戶轉移至 Web Browser Domain"
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr "驗證名稱"
+-#~ msgid "Allow staff Web Browsers to write to home directories"
+-#~ msgstr "允許 staff Web Browsers 寫至家目錄"
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++"模組 %s.pp 已載入目前的方針中。\n"
++"請問您是否希望繼續進行?"
+-#~ msgid "Disable SELinux protection for amanda"
+-#~ msgstr "停用 amanda 的 SELinux 保護"
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr "您必須輸入名稱"
+-#~ msgid "Disable SELinux protection for amavis"
+-#~ msgstr "停用 amavis 的 SELinux 保護"
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr "您必須輸入可執行檔"
+-#~ msgid "Disable SELinux protection for apmd daemon"
+-#~ msgstr "停用 apmd daemon 的 SELinux 保護"
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr "設定 SELinux"
+-#~ msgid "Disable SELinux protection for arpwatch daemon"
+-#~ msgstr "停用 arpwatch daemon 的 SELinux 保護"
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr "通訊埠必須以介於 1 與 %d 之間的數字來構成"
+-#~ msgid "Disable SELinux protection for auditd daemon"
+-#~ msgstr "停用 auditd daemon 的 SELinux 保護"
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr "您必須為您限制的程序 / 用戶輸入名稱"
+-#~ msgid "Disable SELinux protection for automount daemon"
+-#~ msgstr "停用 automount daemon 的 SELinux 保護"
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr "USER 類型不是被允許的可執行檔"
+-#~ msgid "Disable SELinux protection for avahi"
+-#~ msgstr "停用 avahi 的 SELinux 保護"
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr "只有 DAEMON apps 可以使用 init script"
+-#~ msgid "Disable SELinux protection for bluetooth daemon"
+-#~ msgstr "停用 bluetooth daemon 的 SELinux 保護"
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr "use_syslog 必須是布林值"
+-#~ msgid "Disable SELinux protection for canna daemon"
+-#~ msgstr "停用 canna daemon 的 SELinux 保護"
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr "USER 類型會自動取得一個 tmp 類型"
+-#~ msgid "Disable SELinux protection for cardmgr daemon"
+-#~ msgstr "停用 cardmgr daemon 的 SELinux 保護"
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr "您必須輸入您限制的程序的可執行檔路徑"
+-#~ msgid "Disable SELinux protection for Cluster Server"
+-#~ msgstr "停用 Cluster Server 的 SELinux 保護"
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr "類型強制檔"
+-#~ msgid ""
+-#~ "Allow cdrecord to read various content. nfs, samba, removable devices, "
+-#~ "user temp and untrusted content files"
+-#~ msgstr ""
+-#~ "允許 cdrecord 讀取各種內容。nfs、samba、卸除式裝置、用戶 temp 和不信任的內"
+-#~ "容檔案"
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr "介面檔案"
+-#~ msgid "Disable SELinux protection for ciped daemon"
+-#~ msgstr "停用 ciped daemon 的 SELinux 保護"
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr "檔案 Context 檔"
+-#~ msgid "Disable SELinux protection for clamd daemon"
+-#~ msgstr "停用 clamd daemon 的 SELinux 保護"
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr "設定 Script"
+-#~ msgid "Disable SELinux protection for clamscan"
+-#~ msgstr "停用 clamscan 的 SELinux 保護"
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr "網路通訊埠"
+-#~ msgid "Disable SELinux protection for clvmd"
+-#~ msgstr "停用 clvmd 的 SELinux 保護"
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++"SELinux 通訊埠\n"
++"類型"
+-#~ msgid "Disable SELinux protection for comsat daemon"
+-#~ msgstr "停用 comsat daemon 的 SELinux 保護"
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr "通訊協定"
+-#~ msgid "Disable SELinux protection for courier daemon"
+-#~ msgstr "停用 courier daemon 的 SELinux 保護"
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++"MLS/MCS\n"
++"等級"
+-#~ msgid "Disable SELinux protection for cpucontrol daemon"
+-#~ msgstr "停用 cpucontrol daemon 的 SELinux 保護"
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr "通訊埠"
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr "通訊埠號「%s」無效。0 < PORT_NUMBER < 65536 "
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr "清單視點"
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr "群組視點"
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr "SELinux 服務保護"
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr "停用 acct daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr "管理員"
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr "允許所有 daemon 將 corefile 寫至 /"
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr "允許所有 daemon 使用未分配的 ttys"
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr "用戶 Privs"
+-#~ msgid "Disable SELinux protection for cpuspeed daemon"
+-#~ msgstr "停用 cpuspeed daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr "允許 gadmin SELinux 用戶帳號執行家目錄或 /tmp 中的檔案"
+-#~ msgid "Cron"
+-#~ msgstr "Cron"
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr "允許 guest SELinux 用戶帳號執行家目錄或 /tmp 中的檔案"
+-#~ msgid "Disable SELinux protection for crond daemon"
+-#~ msgstr "停用 crond daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr "記憶體保護"
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr "允許 java 執行堆疊"
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr "掛載"
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr "允許 mount 掛載任何檔案"
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr "允許 mount 掛載任何目錄"
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr "允許 mplayer 可執行堆疊"
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr "SSH"
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr "允許 ssh 執行 ssh-keysign"
+-#~ msgid "Printing"
+-#~ msgstr "列印"
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr "允許 staff SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
+-#~ msgid "Disable SELinux protection for cupsd back end server"
+-#~ msgstr "停用 cupsd 後端伺服器的 SELinux 保護"
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr "允許 sysadm SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
+-#~ msgid "Disable SELinux protection for cupsd daemon"
+-#~ msgstr "停用 cupsd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr "允許 unconfined SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr "網路配置"
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr "允許未標記的封包在網路上流動"
+-#~ msgid "Disable SELinux protection for cupsd_lpd"
+-#~ msgstr "停用 cupsd_lpd 的 SELinux 保護"
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr "允許 user SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
+-#~ msgid "CVS"
+-#~ msgstr "CVS"
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr "允許 unconfined dyntrans 至 unconfined_execmem"
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr "資料庫"
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr "允許用戶連至 mysql socket"
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr "允許用戶連至 postgres socket"
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr "XServer"
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr "允許客戶端寫至 X 共享記憶體"
+-#~ msgid "Disable SELinux protection for cvs daemon"
+-#~ msgstr "停用 cvs daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr "允許 xguest SELinux 用戶帳號執行家目錄或是 /tmp 中的檔案"
+-#~ msgid "Disable SELinux protection for cyrus daemon"
+-#~ msgstr "停用 cyrus daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr "NIS"
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr "允許 daemon 以 NIS 執行"
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr "網站應用程式"
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr "將 staff SELinux 用戶轉移至 Web Browser Domain"
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr "將 sysadm SELinux 用戶轉移至 Web Browser Domain"
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr "將 user SELinux 用戶轉移至 Web Browser Domain"
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr "將 xguest SELinux 用戶轉移至 Web Browser Domain"
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr "允許 staff Web Browsers 寫至家目錄"
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr "停用 amanda 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr "停用 amavis 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr "停用 apmd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr "停用 arpwatch daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr "停用 auditd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr "停用 automount daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr "停用 avahi 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr "停用 bluetooth daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr "停用 canna daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr "停用 cardmgr daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr "停用 Cluster Server 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for dbskkd daemon"
+-#~ msgstr "停用 dbskkd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++"允許 cdrecord 讀取各種內容。nfs、samba、卸除式裝置、用戶 temp 和不信任的內容"
++"檔案"
+-#~ msgid "Disable SELinux protection for dbusd daemon"
+-#~ msgstr "停用 dbusd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr "停用 ciped daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr "停用 clamd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr "停用 clamscan 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr "停用 clvmd 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr "停用 comsat daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr "停用 courier daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr "停用 cpucontrol daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr "停用 cpuspeed daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr "Cron"
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr "停用 crond daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr "列印"
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr "停用 cupsd 後端伺服器的 SELinux 保護"
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr "停用 cupsd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr "停用 cupsd_lpd 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr "CVS"
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr "停用 cvs daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr "停用 cyrus daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr "停用 dbskkd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr "停用 dbusd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr "停用 dccd 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr "停用 dccifd 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr "停用 dccm 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr "停用 ddt daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr "停用 devfsd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr "停用 dhcpc daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr "停用 dhcpd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr "停用 dictd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr "允許 sysadm_t 直接啟用 daemon"
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr "停用 Evolution 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr "遊戲"
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr "停用 games 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr "停用 web browsers 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr "停用 Thunderbird 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr "停用 distccd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr "停用 dmesg daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr "停用 dnsmasq daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr "停用 dovecot daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr "停用 entropyd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr "停用 fetchmail 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr "停用 fingerd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr "停用 freshclam daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr "停用 fsdaemon daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr "停用 gpm daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr "NFS"
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr "停用 gss daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr "停用 Hal daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr "相容性"
+-#~ msgid "Disable SELinux protection for dccd"
+-#~ msgstr "停用 dccd 的 SELinux 保護"
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr "不稽核我們已知損壞,卻不會造成安全性風險的物件"
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr "停用 hostname daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr "停用 hotplug daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr "停用 howl daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr "停用 cups hplip daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr "停用 httpd rotatelogs 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr "HTTPD 服務"
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr "停用 http suexec 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr "停用 hwclock daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr "停用 i18n daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr "停用 imazesrv daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr "停用 inetd child daemons 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr "停用 inetd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr "停用 innd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr "停用 iptables daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr "停用 ircd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr "停用 irqbalance daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr "停用 iscsi daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr "停用 jabberd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr "Kerberos"
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr "停用 kadmind daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr "停用 klogd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr "停用 krb5kdc daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr "停用 ktalk daemons 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr "停用 kudzu daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr "停用 locate daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr "停用 lpd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr "停用 lrrd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr "停用 lvm daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr "停用 mailman 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr "允許 evolution 和 thunderbird 讀取用戶檔案"
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr "停用 mdadm daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr "停用 monopd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr "允許 mozilla 瀏覽器讀取用戶檔案"
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr "停用 mrtg daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr "停用 mysqld daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr "停用 nagios daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr "名稱服務"
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr "停用 named daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr "停用 nessusd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr "停用 NetworkManager 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr "停用 nfsd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr "Samba"
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr "停用 nmbd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr "停用 nrpe daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr "停用 nscd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr "停用 nsd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr "停用 ntpd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr "停用 oddjob 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr "停用 oddjob_mkhomedir 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr "停用 openvpn daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr "停用 pam daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr "停用 pegasus 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr "停用 perdition daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr "停用 portmap daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr "停用 portslave daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr "停用 postfix 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr "停用 postgresql daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr "pppd"
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr "允許 pppd 為一般用戶執行"
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr "停用 pptp 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr "停用 prelink daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr "停用 privoxy daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr "停用 ptal daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr "停用 pxe daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr "停用 pyzord 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr "停用 quota daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr "停用 radiusd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr "停用 radvd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr "停用 rdisc 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr "停用 readahead 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr "允許程式讀取位於非標準位置上的檔案(default_t)"
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr "停用 restorecond 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr "停用 rhgb daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr "停用 ricci 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr "停用 ricci_modclusterd 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr "停用 rlogind daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr "停用 rpcd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr "停用 rshd 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr "rsync"
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr "停用 rsync daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr "允許 ssh 由 inetd 執行而不是以一個 daemon 來執行"
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr "允許 Samba 共享 nfs 目錄"
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr "SASL 驗證伺服器"
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr "允許 sasl 驗證伺服器讀取 /etc/shadow"
+-#~ msgid "Disable SELinux protection for dccifd"
+-#~ msgstr "停用 dccifd 的 SELinux 保護"
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr "允許 X-Windows 伺服器將一個 memory region 同時對映為可執行與可寫"
+-#~ msgid "Disable SELinux protection for dccm"
+-#~ msgstr "停用 dccm 的 SELinux 保護"
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr "停用 saslauthd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr "停用 scannerdaemon daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr "不允許轉移至受影響的 sysadm_t、sudo 和 su"
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr "不允許任何程序載入 kernel 模組"
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr "不允許任何程序修改 kernel SELinux 方針"
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr "停用 sendmail daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr "停用 setrans 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr "停用 setroubleshoot daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr "停用 slapd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr "停用 slrnpull daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr "停用 smbd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr "停用 snmpd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr "停用 snort daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr "停用 soundd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr "停用 sound daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr "垃圾郵件保護"
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr "停用 spamd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr "允許 spamd 存取家目錄"
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr "允許 Spam Assassin daemon 網路存取"
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr "停用 speedmgmt daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr "Squid"
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr "允許 squid daemon 連至網路"
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr "停用 squid daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr "停用 ssh daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr "允許以 sysadm_r:sysadm_t 進行 ssh 登錄"
+-#~ msgid "Disable SELinux protection for ddt daemon"
+-#~ msgstr "停用 ddt daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr "允許 staff_r users 搜尋 sysadm home dir 並讀取檔案(例如 ~/.bashrc)"
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr "全域 SSL 通道"
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr "停用 stunnel daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr "允許 stunnel daemon 獨立地執行於 xinetd 之外"
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr "停用 swat daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr "停用 sxid daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr "停用 syslogd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr "停用 system cron jobs 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr "停用 tcp daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr "停用 telnet daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr "停用 tftpd daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr "停用 transproxy daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr "停用 udev daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr "停用 uml daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for devfsd daemon"
+-#~ msgstr "停用 devfsd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++"允許 xinetd 以不被限制的方式執行,包括任何它所啟用的、未清楚定義網域轉移的服"
++"務"
+-#~ msgid "Disable SELinux protection for dhcpc daemon"
+-#~ msgstr "停用 dhcpc daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++"允許 rc script 以不受限制的方式執行,包括任何 rc script 所啟用的、未清楚定義"
++"網域轉移的 daemon"
+-#~ msgid "Disable SELinux protection for dhcpd daemon"
+-#~ msgstr "停用 dhcpd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr "允許 rpm 以不受限制的方式執行"
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr "允許有特權的工具程式(例如 hotplug 和 insmod)以不受限制的方式執行"
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr "停用 updfstab daemon 的 SELinux 保護"
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr "停用 uptimed daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for dictd daemon"
+-#~ msgstr "停用 dictd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++"允許 user_r 透過 su、sudo 或 userhelper 來連至 sysadm_r。否則,只有 staff_r "
++"可以這麼作"
+-#~ msgid "Allow sysadm_t to directly start daemons"
+-#~ msgstr "允許 sysadm_t 直接啟用 daemon"
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr "允許用戶執行 mount 指令"
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr "允許一般用戶的直接滑鼠存取(只允許 X server)"
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr "允許用戶執行 dmesg 指令"
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr "允許用戶控制網路介面(也需要 USERCTL=true)"
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr "允許一般用戶執行 ping"
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr "允許用戶 r/w noextattrfile(FAT、CDROM、FLOPPY)"
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr "允許用戶 rw usb 裝置"
+-#~ msgid "Disable SELinux protection for Evolution"
+-#~ msgstr "停用 Evolution 的 SELinux 保護"
++#: ../gui/selinux.tbl:216
++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 ""
++"允許用戶執行 TCP 伺服器(綁定至通訊埠並接受來自相同網域和外部用戶的連線)停用"
++"此選項會強制 FTP 被動模式並且可能會更改其它通訊協定"
+-#~ msgid "Games"
+-#~ msgstr "遊戲"
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr "允許用戶 stat ttyfiles"
+-#~ msgid "Disable SELinux protection for games"
+-#~ msgstr "停用 games 的 SELinux 保護"
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr "停用 uucpd daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for the web browsers"
+-#~ msgstr "停用 web browsers 的 SELinux 保護"
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr "停用 vmware daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for Thunderbird"
+-#~ msgstr "停用 Thunderbird 的 SELinux 保護"
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr "停用 watchdog daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for distccd daemon"
+-#~ msgstr "停用 distccd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr "停用 winbind daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for dmesg daemon"
+-#~ msgstr "停用 dmesg daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr "停用 xdm daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for dnsmasq daemon"
+-#~ msgstr "停用 dnsmasq daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr "允許 xdm 以 sysadm_r:sysadm_t 來進行登錄"
+-#~ msgid "Disable SELinux protection for dovecot daemon"
+-#~ msgstr "停用 dovecot daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr "停用 xen daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for entropyd daemon"
+-#~ msgstr "停用 entropyd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr "XEN"
+-#~ msgid "Disable SELinux protection for fetchmail"
+-#~ msgstr "停用 fetchmail 的 SELinux 保護"
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr "允許 xen 讀取/寫入實體磁碟裝置"
+-#~ msgid "Disable SELinux protection for fingerd daemon"
+-#~ msgstr "停用 fingerd daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr "停用 xfs daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for freshclam daemon"
+-#~ msgstr "停用 freshclam daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr "停用 xen control 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for fsdaemon daemon"
+-#~ msgstr "停用 fsdaemon daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr "停用 ypbind daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for gpm daemon"
+-#~ msgstr "停用 gpm daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr "停用 NIS Password Daemon 的 SELinux 保護"
+-#~ msgid "NFS"
+-#~ msgstr "NFS"
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr "停用 ypserv daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for gss daemon"
+-#~ msgstr "停用 gss daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr "停用 NIS Transfer Daemon 的 SELinux 保護"
+-#~ msgid "Disable SELinux protection for Hal daemon"
+-#~ msgstr "停用 Hal daemon 的 SELinux 保護"
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr "允許 SELinux webadm 用戶管理無特權用戶的家目錄"
+-#~ msgid "Compatibility"
+-#~ msgstr "相容性"
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr "允許 SELinux webadm 用戶讀取無特權用戶的家目錄"
+-#~ msgid ""
+-#~ "Do not audit things that we know to be broken but which are not security "
+-#~ "risks"
+-#~ msgstr "不稽核我們已知損壞,卻不會造成安全性風險的物件"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr "您是否希望刪除 %s「%s」?"
+-#~ msgid "Disable SELinux protection for hostname daemon"
+-#~ msgstr "停用 hostname daemon 的 SELinux 保護"
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr "刪除 %s"
+-#~ msgid "Disable SELinux protection for hotplug daemon"
+-#~ msgstr "停用 hotplug daemon 的 SELinux 保護"
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr "新增 %s"
+-#~ msgid "Disable SELinux protection for howl daemon"
+-#~ msgstr "停用 howl daemon 的 SELinux 保護"
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr "修改 %s"
+-#~ msgid "Disable SELinux protection for cups hplip daemon"
+-#~ msgstr "停用 cups hplip daemon 的 SELinux 保護"
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr "寬鬆模式"
+-#~ msgid "Disable SELinux protection for httpd rotatelogs"
+-#~ msgstr "停用 httpd rotatelogs 的 SELinux 保護"
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr "強制模式"
+-#~ msgid "HTTPD Service"
+-#~ msgstr "HTTPD 服務"
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr "停用"
+-#~ msgid "Disable SELinux protection for http suexec"
+-#~ msgstr "停用 http suexec 的 SELinux 保護"
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr "狀態"
+-#~ msgid "Disable SELinux protection for hwclock daemon"
+-#~ msgstr "停用 hwclock daemon 的 SELinux 保護"
++#: ../gui/statusPage.py:133
++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 ""
++"更改方針類型會造成整個檔案系統在下次重新啟動時被重新標記(relabeling)。根據"
++"檔案系統的大小,重新標記可能會花上許多時間。您是否希望繼續進行?"
+-#~ msgid "Disable SELinux protection for i18n daemon"
+-#~ msgstr "停用 i18n daemon 的 SELinux 保護"
++#: ../gui/statusPage.py:147
++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 "
++"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?"
++msgstr ""
++"若要將 SELinux 變更為停用的話您需重新啟動系統。我們不建議這麼作。若您之後決定"
++"將 SELinux 再次啟用,系統將會需要被重新標記。若您只是想查看 SELinux 是否會在"
++"您的系統上造成問題,您可進入寬鬆模式,這只會將錯誤紀錄下來並且不會強制 "
++"SELinux 方針。寬鬆模式無須重新啟動系統    請問您希望繼續進行嗎?"
+-#~ msgid "Disable SELinux protection for imazesrv daemon"
+-#~ msgstr "停用 imazesrv daemon 的 SELinux 保護"
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++"若將 SELinux 變更為啟用的話,下次系統啟動時,整個檔案系統都將會被重新標記。根"
++"據檔案系統的大小,重新標記可能會花上許多時間。您是否希望繼續進行?"
+-#~ msgid "Disable SELinux protection for inetd child daemons"
+-#~ msgstr "停用 inetd child daemons 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr "system-config-selinux"
+-#~ msgid "Disable SELinux protection for inetd daemon"
+-#~ msgstr "停用 inetd daemon 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++"Copyright(c)2006 Red Hat, Inc.\n"
++"Copyright(c)2006 Dan Walsh <dwalsh@redhat.com>"
+-#~ msgid "Disable SELinux protection for innd daemon"
+-#~ msgstr "停用 innd daemon 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr "新增 SELinux 登錄對映"
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr "新增 SELinux 網路通訊埠"
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr "SELinux 類型"
+-#~ msgid "Disable SELinux protection for iptables daemon"
+-#~ msgstr "停用 iptables daemon 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++"SELinux MLS/MCS\n"
++"等級"
+-#~ msgid "Disable SELinux protection for ircd daemon"
+-#~ msgstr "停用 ircd daemon 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr "檔案規格"
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr "檔案類型"
+-#~ msgid "Disable SELinux protection for irqbalance daemon"
+-#~ msgstr "停用 irqbalance daemon 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++"所有檔案\n"
++"正規檔案\n"
++"目錄\n"
++"字元裝置\n"
++"區塊裝置\n"
++"socket\n"
++"符號連結\n"
++"named 管線\n"
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr "MLS"
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr "新增 SELinux 用戶"
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr "SELinux 管理"
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr "新增"
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr "內容(_P)"
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr "刪除(_D)"
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr "選擇管理物件"
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr "<b>選擇:</b>"
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr "系統預設強制模式"
+-#~ msgid "Disable SELinux protection for iscsi daemon"
+-#~ msgstr "停用 iscsi daemon 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++"停用\n"
++"寬鬆\n"
++"強制\n"
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr "目前的強制模式"
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr "系統預設方針類型:"
+-#~ msgid "Disable SELinux protection for jabberd daemon"
+-#~ msgstr "停用 jabberd daemon 的 SELinux 保護"
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++"選擇您是否希望在下次開機時重新標記整個檔案系統。根據系統大小,重新標記可能會"
++"花上一段很長時間。若您要更改方針類型或是要由停用狀態更改為強制模式,重新標記"
++"將是必要的。"
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr "下次開機時重新標記。"
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr "label37"
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr "將布林值設定恢復成系統預設值"
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr "在自訂化以及所有布林值之間進行啟用"
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr "執行布林值鎖定精靈"
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr "鎖定..."
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr "過濾器"
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr "label50"
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr "新增檔案 Context"
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr "修改檔案 Context"
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr "刪除檔案 Context"
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr "在自訂化以及所有檔案 context 之間進行啟用"
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr "label38"
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr "新增 SELinux 用戶對映"
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr "修改 SELinux 用戶對映"
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr "刪除 SELinux 用戶對映"
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr "label39"
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr "新增用戶"
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr "修改用戶"
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr "刪除用戶"
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr "label41"
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr "新增轉移"
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr "修改轉移"
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr "刪除轉移"
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr "label40"
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr "新增網路通訊埠"
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr "編輯網路通訊埠"
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr "刪除網路通訊埠"
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr "在自訂化以及所有通訊埠之間進行啟用"
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr "label42"
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr "產生新的方針模組"
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr "載入方針模組"
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr "移除可載入的方針模組"
+-#~ msgid "Kerberos"
+-#~ msgstr "Kerberos"
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr "啟用/停用額外的稽核規則,這些規則一般不會回報於日誌檔案中。"
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr "label44"
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr "將程序模式更改為寬容模式。"
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr "將程序模式更改為強制模式"
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr "程序網域"
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr "label59"
+-#~ msgid "Disable SELinux protection for kadmind daemon"
+-#~ msgstr "停用 kadmind daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for klogd daemon"
+-#~ msgstr "停用 klogd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for krb5kdc daemon"
+-#~ msgstr "停用 krb5kdc daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ktalk daemons"
+-#~ msgstr "停用 ktalk daemons 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for kudzu daemon"
+-#~ msgstr "停用 kudzu daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for locate daemon"
+-#~ msgstr "停用 locate daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for lpd daemon"
+-#~ msgstr "停用 lpd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for lrrd daemon"
+-#~ msgstr "停用 lrrd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for lvm daemon"
+-#~ msgstr "停用 lvm daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for mailman"
+-#~ msgstr "停用 mailman 的 SELinux 保護"
+-
+-#~ msgid "Allow evolution and thunderbird to read user files"
+-#~ msgstr "允許 evolution 和 thunderbird 讀取用戶檔案"
+-
+-#~ msgid "Disable SELinux protection for mdadm daemon"
+-#~ msgstr "停用 mdadm daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for monopd daemon"
+-#~ msgstr "停用 monopd daemon 的 SELinux 保護"
+-
+-#~ msgid "Allow the mozilla browser to read user files"
+-#~ msgstr "允許 mozilla 瀏覽器讀取用戶檔案"
+-
+-#~ msgid "Disable SELinux protection for mrtg daemon"
+-#~ msgstr "停用 mrtg daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for mysqld daemon"
+-#~ msgstr "停用 mysqld daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for nagios daemon"
+-#~ msgstr "停用 nagios daemon 的 SELinux 保護"
+-
+-#~ msgid "Name Service"
+-#~ msgstr "名稱服務"
+-
+-#~ msgid "Disable SELinux protection for named daemon"
+-#~ msgstr "停用 named daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for nessusd daemon"
+-#~ msgstr "停用 nessusd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for NetworkManager"
+-#~ msgstr "停用 NetworkManager 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for nfsd daemon"
+-#~ msgstr "停用 nfsd daemon 的 SELinux 保護"
+-
+-#~ msgid "Samba"
+-#~ msgstr "Samba"
+-
+-#~ msgid "Disable SELinux protection for nmbd daemon"
+-#~ msgstr "停用 nmbd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for nrpe daemon"
+-#~ msgstr "停用 nrpe daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for nscd daemon"
+-#~ msgstr "停用 nscd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for nsd daemon"
+-#~ msgstr "停用 nsd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ntpd daemon"
+-#~ msgstr "停用 ntpd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for oddjob"
+-#~ msgstr "停用 oddjob 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for oddjob_mkhomedir"
+-#~ msgstr "停用 oddjob_mkhomedir 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for openvpn daemon"
+-#~ msgstr "停用 openvpn daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for pam daemon"
+-#~ msgstr "停用 pam daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for pegasus"
+-#~ msgstr "停用 pegasus 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for perdition daemon"
+-#~ msgstr "停用 perdition daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for portmap daemon"
+-#~ msgstr "停用 portmap daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for portslave daemon"
+-#~ msgstr "停用 portslave daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for postfix"
+-#~ msgstr "停用 postfix 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for postgresql daemon"
+-#~ msgstr "停用 postgresql daemon 的 SELinux 保護"
+-
+-#~ msgid "pppd"
+-#~ msgstr "pppd"
+-
+-#~ msgid "Allow pppd to be run for a regular user"
+-#~ msgstr "允許 pppd 為一般用戶執行"
+-
+-#~ msgid "Disable SELinux protection for pptp"
+-#~ msgstr "停用 pptp 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for prelink daemon"
+-#~ msgstr "停用 prelink daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for privoxy daemon"
+-#~ msgstr "停用 privoxy daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ptal daemon"
+-#~ msgstr "停用 ptal daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for pxe daemon"
+-#~ msgstr "停用 pxe daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for pyzord"
+-#~ msgstr "停用 pyzord 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for quota daemon"
+-#~ msgstr "停用 quota daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for radiusd daemon"
+-#~ msgstr "停用 radiusd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for radvd daemon"
+-#~ msgstr "停用 radvd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for rdisc"
+-#~ msgstr "停用 rdisc 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for readahead"
+-#~ msgstr "停用 readahead 的 SELinux 保護"
+-
+-#~ msgid "Allow programs to read files in non-standard locations (default_t)"
+-#~ msgstr "允許程式讀取位於非標準位置上的檔案(default_t)"
+-
+-#~ msgid "Disable SELinux protection for restorecond"
+-#~ msgstr "停用 restorecond 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for rhgb daemon"
+-#~ msgstr "停用 rhgb daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ricci"
+-#~ msgstr "停用 ricci 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ricci_modclusterd"
+-#~ msgstr "停用 ricci_modclusterd 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for rlogind daemon"
+-#~ msgstr "停用 rlogind daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for rpcd daemon"
+-#~ msgstr "停用 rpcd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for rshd"
+-#~ msgstr "停用 rshd 的 SELinux 保護"
+-
+-#~ msgid "rsync"
+-#~ msgstr "rsync"
+-
+-#~ msgid "Disable SELinux protection for rsync daemon"
+-#~ msgstr "停用 rsync daemon 的 SELinux 保護"
+-
+-#~ msgid "Allow ssh to run from inetd instead of as a daemon"
+-#~ msgstr "允許 ssh 由 inetd 執行而不是以一個 daemon 來執行"
+-
+-#~ msgid "Allow Samba to share nfs directories"
+-#~ msgstr "允許 Samba 共享 nfs 目錄"
+-
+-#~ msgid "SASL authentication server"
+-#~ msgstr "SASL 驗證伺服器"
+-
+-#~ msgid "Allow sasl authentication server to read /etc/shadow"
+-#~ msgstr "允許 sasl 驗證伺服器讀取 /etc/shadow"
+-
+-#~ msgid ""
+-#~ "Allow X-Windows server to map a memory region as both executable and "
+-#~ "writable"
+-#~ msgstr "允許 X-Windows 伺服器將一個 memory region 同時對映為可執行與可寫"
+-
+-#~ msgid "Disable SELinux protection for saslauthd daemon"
+-#~ msgstr "停用 saslauthd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for scannerdaemon daemon"
+-#~ msgstr "停用 scannerdaemon daemon 的 SELinux 保護"
+-
+-#~ msgid "Do not allow transition to sysadm_t, sudo and su effected"
+-#~ msgstr "不允許轉移至受影響的 sysadm_t、sudo 和 su"
+-
+-#~ msgid "Do not allow any processes to load kernel modules"
+-#~ msgstr "不允許任何程序載入 kernel 模組"
+-
+-#~ msgid "Do not allow any processes to modify kernel SELinux policy"
+-#~ msgstr "不允許任何程序修改 kernel SELinux 政策"
+-
+-#~ msgid "Disable SELinux protection for sendmail daemon"
+-#~ msgstr "停用 sendmail daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for setrans"
+-#~ msgstr "停用 setrans 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for setroubleshoot daemon"
+-#~ msgstr "停用 setroubleshoot daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for slapd daemon"
+-#~ msgstr "停用 slapd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for slrnpull daemon"
+-#~ msgstr "停用 slrnpull daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for smbd daemon"
+-#~ msgstr "停用 smbd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for snmpd daemon"
+-#~ msgstr "停用 snmpd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for snort daemon"
+-#~ msgstr "停用 snort daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for soundd daemon"
+-#~ msgstr "停用 soundd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for sound daemon"
+-#~ msgstr "停用 sound daemon 的 SELinux 保護"
+-
+-#~ msgid "Spam Protection"
+-#~ msgstr "垃圾郵件保護"
+-
+-#~ msgid "Disable SELinux protection for spamd daemon"
+-#~ msgstr "停用 spamd daemon 的 SELinux 保護"
+-
+-#~ msgid "Allow spamd to access home directories"
+-#~ msgstr "允許 spamd 存取家目錄"
+-
+-#~ msgid "Allow Spam Assassin daemon network access"
+-#~ msgstr "允許 Spam Assassin daemon 網路存取"
+-
+-#~ msgid "Disable SELinux protection for speedmgmt daemon"
+-#~ msgstr "停用 speedmgmt daemon 的 SELinux 保護"
+-
+-#~ msgid "Squid"
+-#~ msgstr "Squid"
+-
+-#~ msgid "Allow squid daemon to connect to the network"
+-#~ msgstr "允許 squid daemon 連至網路"
+-
+-#~ msgid "Disable SELinux protection for squid daemon"
+-#~ msgstr "停用 squid daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ssh daemon"
+-#~ msgstr "停用 ssh daemon 的 SELinux 保護"
+-
+-#~ msgid "Allow ssh logins as sysadm_r:sysadm_t"
+-#~ msgstr "允許以 sysadm_r:sysadm_t 進行 ssh 登錄"
+-
+-#~ msgid ""
+-#~ "Allow staff_r users to search the sysadm home dir and read files (such as "
+-#~ "~/.bashrc)"
+-#~ msgstr ""
+-#~ "允許 staff_r users 搜尋 sysadm home dir 並讀取檔案(例如 ~/.bashrc)"
+-
+-#~ msgid "Universal SSL tunnel"
+-#~ msgstr "全域 SSL 通道"
+-
+-#~ msgid "Disable SELinux protection for stunnel daemon"
+-#~ msgstr "停用 stunnel daemon 的 SELinux 保護"
+-
+-#~ msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
+-#~ msgstr "允許 stunnel daemon 獨立地執行於 xinetd 之外"
+-
+-#~ msgid "Disable SELinux protection for swat daemon"
+-#~ msgstr "停用 swat daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for sxid daemon"
+-#~ msgstr "停用 sxid daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for syslogd daemon"
+-#~ msgstr "停用 syslogd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for system cron jobs"
+-#~ msgstr "停用 system cron jobs 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for tcp daemon"
+-#~ msgstr "停用 tcp daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for telnet daemon"
+-#~ msgstr "停用 telnet daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for tftpd daemon"
+-#~ msgstr "停用 tftpd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for transproxy daemon"
+-#~ msgstr "停用 transproxy daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for udev daemon"
+-#~ msgstr "停用 udev daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for uml daemon"
+-#~ msgstr "停用 uml daemon 的 SELinux 保護"
+-
+-#~ msgid ""
+-#~ "Allow xinetd to run unconfined, including any services it starts that do "
+-#~ "not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "允許 xinetd 以不被限制的方式執行,包括任何它所啟用的、未清楚定義網域轉移的"
+-#~ "服務"
+-
+-#~ msgid ""
+-#~ "Allow rc scripts to run unconfined, including any daemon started by an rc "
+-#~ "script that does not have a domain transition explicitly defined"
+-#~ msgstr ""
+-#~ "允許 rc script 以不受限制的方式執行,包括任何 rc script 所啟用的、未清楚定"
+-#~ "義網域轉移的 daemon"
+-
+-#~ msgid "Allow rpm to run unconfined"
+-#~ msgstr "允許 rpm 以不受限制的方式執行"
+-
+-#~ msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
+-#~ msgstr "允許有特權的工具程式(例如 hotplug 和 insmod)以不受限制的方式執行"
+-
+-#~ msgid "Disable SELinux protection for updfstab daemon"
+-#~ msgstr "停用 updfstab daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for uptimed daemon"
+-#~ msgstr "停用 uptimed daemon 的 SELinux 保護"
+-
+-#~ msgid ""
+-#~ "Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, "
+-#~ "only staff_r can do so"
+-#~ msgstr ""
+-#~ "允許 user_r 透過 su、sudo 或 userhelper 來連至 sysadm_r。否則,只有 "
+-#~ "staff_r 可以這麼作"
+-
+-#~ msgid "Allow users to execute the mount command"
+-#~ msgstr "允許用戶執行 mount 指令"
+-
+-#~ msgid "Allow regular users direct mouse access (only allow the X server)"
+-#~ msgstr "允許一般用戶的直接滑鼠存取(只允許 X server)"
+-
+-#~ msgid "Allow users to run the dmesg command"
+-#~ msgstr "允許用戶執行 dmesg 指令"
+-
+-#~ msgid "Allow users to control network interfaces (also needs USERCTL=true)"
+-#~ msgstr "允許用戶控制網路介面(也需要 USERCTL=true)"
+-
+-#~ msgid "Allow normal user to execute ping"
+-#~ msgstr "允許一般用戶執行 ping"
+-
+-#~ msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
+-#~ msgstr "允許用戶 r/w noextattrfile(FAT、CDROM、FLOPPY)"
+-
+-#~ msgid "Allow users to rw usb devices"
+-#~ msgstr "允許用戶 rw usb 裝置"
+-
+-#~ 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 ""
+-#~ "允許用戶執行 TCP 伺服器(綁定至通訊埠並接受來自相同網域和外部用戶的連線)"
+-#~ "停用此選項會強制 FTP 被動模式並且可能會更改其它通訊協定"
+-
+-#~ msgid "Allow user to stat ttyfiles"
+-#~ msgstr "允許用戶 stat ttyfiles"
+-
+-#~ msgid "Disable SELinux protection for uucpd daemon"
+-#~ msgstr "停用 uucpd daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for vmware daemon"
+-#~ msgstr "停用 vmware daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for watchdog daemon"
+-#~ msgstr "停用 watchdog daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for winbind daemon"
+-#~ msgstr "停用 winbind daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for xdm daemon"
+-#~ msgstr "停用 xdm daemon 的 SELinux 保護"
+-
+-#~ msgid "Allow xdm logins as sysadm_r:sysadm_t"
+-#~ msgstr "允許 xdm 以 sysadm_r:sysadm_t 來進行登錄"
+-
+-#~ msgid "Disable SELinux protection for xen daemon"
+-#~ msgstr "停用 xen daemon 的 SELinux 保護"
+-
+-#~ msgid "XEN"
+-#~ msgstr "XEN"
+-
+-#~ msgid "Allow xen to read/write physical disk devices"
+-#~ msgstr "允許 xen 讀取/寫入實體磁碟裝置"
+-
+-#~ msgid "Disable SELinux protection for xfs daemon"
+-#~ msgstr "停用 xfs daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for xen control"
+-#~ msgstr "停用 xen control 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ypbind daemon"
+-#~ msgstr "停用 ypbind daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for NIS Password Daemon"
+-#~ msgstr "停用 NIS Password Daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for ypserv daemon"
+-#~ msgstr "停用 ypserv daemon 的 SELinux 保護"
+-
+-#~ msgid "Disable SELinux protection for NIS Transfer Daemon"
+-#~ msgstr "停用 NIS Transfer Daemon 的 SELinux 保護"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to manage unprivileged users home directories"
+-#~ msgstr "允許 SELinux webadm 用戶管理無特權用戶的家目錄"
+-
+-#~ msgid ""
+-#~ "Allow SELinux webadm user to read unprivileged users home directories"
+-#~ msgstr "允許 SELinux webadm 用戶讀取無特權用戶的家目錄"
+-
+-#~ msgid "Sensitvity Level"
+-#~ msgstr "敏感度"
+-
+-#~ msgid "Are you sure you want to delete %s '%s'?"
+-#~ msgstr "您是否希望刪除 %s「%s」?"
+-
+-#~ msgid "Delete %s"
+-#~ msgstr "刪除 %s"
+-
+-#~ msgid "Add %s"
+-#~ msgstr "新增 %s"
+-
+-#~ msgid "Modify %s"
+-#~ msgstr "修改 %s"
+-
+-#~ msgid "all"
+-#~ msgstr "全部"
+-
+-#~ msgid "Customized"
+-#~ msgstr "自訂化"
+-
+-#~ msgid "Policy Module"
+-#~ msgstr "政策模組"
+-
+-#~ msgid "Module Name"
+-#~ msgstr "模組名稱"
+-
+-#~ msgid "Version"
+-#~ msgstr "版本"
+-
+-#~ msgid "Disable Audit"
+-#~ msgstr "停用稽核"
+-
+-#~ msgid "Enable Audit"
+-#~ msgstr "啟用稽核"
+-
+-#~ msgid "Load Policy Module"
+-#~ msgstr "載入政策模組"
+-
+-#~ msgid "File Labeling"
+-#~ msgstr "檔案標記"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Specification"
+-#~ msgstr ""
+-#~ "檔案\n"
+-#~ "規格"
+-
+-#~ msgid ""
+-#~ "Selinux\n"
+-#~ "File Type"
+-#~ msgstr ""
+-#~ "Selinux\n"
+-#~ "檔案類型"
+-
+-#~ msgid ""
+-#~ "File\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "檔案\n"
+-#~ "類型"
+-
+-#~ msgid "..."
+-#~ msgstr "..."
+-
+-#~ msgid "600-1024"
+-#~ msgstr "600-1024"
+-
+-#~ msgid "<b>Applications</b>"
+-#~ msgstr "<b>應用程式</b>"
+-
+-#~ msgid "<b>Login Users</b>"
+-#~ msgstr "<b>登錄用戶</b>"
+-
+-#~ msgid "<b>Root Users</b>"
+-#~ msgstr "<b>Root 用戶</b>"
+-
+-#~ msgid "<b>TCP Ports</b>"
+-#~ msgstr "<b>TCP 通訊埠</b>"
+-
+-#~ msgid "<b>UDP Ports</b>"
+-#~ msgstr "<b>UDP 通訊埠</b>"
+-
+-#~ msgid "Add Booleans Dialog"
+-#~ msgstr "新增布林值對話"
+-
+-#~ msgid ""
+-#~ "Add Files/Directories that application will need to \"Write\" to. Pid "
+-#~ "Files, Log Files, /var/lib Files ..."
+-#~ msgstr ""
+-#~ "新增應用程式需要「寫」至檔案/目錄。Pid 檔案、日誌檔、/var/lib 檔案 ..."
+-
+-#~ msgid "Add/Remove booleans used for this confined application/user"
+-#~ msgstr "新增/移除這個受限制的應用程式/用戶所使用的布林值"
+-
+-#~ msgid "Admin User Role"
+-#~ msgstr "管理員用戶角色"
+-
+-#~ msgid "All"
+-#~ msgstr "全部"
+-
+-#~ msgid ""
+-#~ "Allow application/user role to call bindresvport with 0. Binding to port "
+-#~ "600-1024"
+-#~ msgstr ""
+-#~ "允許應用程式/用戶角色以 0 來調用 bindresvport。綁定至通訊埠 600-1024"
+-
+-#~ msgid "Allows application/user role to bind to any udp ports > 1024"
+-#~ msgstr "允許應用程式/用戶角色綁定至任何大於 1024 的 udp 通訊埠"
+-
+-#~ msgid "Allows confined application/user role to bind to any udp port"
+-#~ msgstr "允許受限制的應用程式/用戶角色綁定至任何 udp 通訊埠"
+-
+-#~ msgid "Boolean Name"
+-#~ msgstr "布林值名稱"
+-
+-#~ msgid "Create/Manipulate temporary files in /tmp"
+-#~ msgstr "建立/操作位於 /tmp 中的臨時檔案"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of tcp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "輸入一個應用程式/用戶角色連至、以逗號區隔開的 tcp 通訊埠清單或是通訊埠範"
+-#~ "圍。例如:612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role binds to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "輸入一個應用程式/用戶角色綁定至、以逗號區隔開的 udp 通訊埠清單或是通訊埠範"
+-#~ "圍。例如:612, 650-660"
+-
+-#~ msgid ""
+-#~ "Enter a comma separated list of udp ports or ranges of ports that "
+-#~ "application/user role connects to. Example: 612, 650-660"
+-#~ msgstr ""
+-#~ "輸入一個應用程式/用戶角色連至、以逗號區隔開的 udp 通訊埠清單或是通訊埠範"
+-#~ "圍。例如:612, 650-660"
+-
+-#~ msgid "Enter complete path for executable to be confined."
+-#~ msgstr "輸入要被限制的可執行檔的完整路徑。"
+-
+-#~ msgid ""
+-#~ "Enter complete path to init script used to start the confined application."
+-#~ msgstr "輸入用來啟用受限制的應用程式的 init script 的完整路徑。"
+-
+-#~ msgid "Enter name of application or user role to be confined"
+-#~ msgstr "輸入受限制的應用程式名稱或用戶角色"
+-
+-#~ msgid "Enter network ports that application/user role connects to"
+-#~ msgstr "輸入應用程式/用戶連至的網路通訊埠"
+-
+-#~ msgid "Enter network ports that application/user role listens to"
+-#~ msgstr "輸入應用程式/用戶角色監聽的網路通訊埠"
+-
+-#~ msgid "Enter unique name for the confined application or user role."
+-#~ msgstr "輸入受限制的應用程式或用戶角色的特殊名稱。"
+-
+-#~ msgid "Executable"
+-#~ msgstr "可執行檔"
+-
+-#~ msgid "Existing User Roles"
+-#~ msgstr "現有的用戶角色"
+-
+-#~ msgid "GPL"
+-#~ msgstr "GPL"
+-
+-#~ msgid "Generated Policy Files"
+-#~ msgstr "產生的政策檔案"
+-
+-#~ msgid "Init script"
+-#~ msgstr "init script"
+-
+-#~ msgid "Interacts with the terminal"
+-#~ msgstr "與終端機進行互動"
+-
+-#~ msgid "Internet Services Daemon (inetd)"
+-#~ msgstr "網路服務 Daemon(inetd)"
+-
+-#~ msgid "Internet Services Daemon are daemons started by xinetd"
+-#~ msgstr "網路服務 Daemon 為 xinetd 所啟用的系統程式"
+-
+-#~ msgid "Minimal Terminal User Role"
+-#~ msgstr "最少的終端機用戶角色"
+-
+-#~ msgid "Minimal X Windows User Role"
+-#~ msgstr "最少的 X Windows 用戶角色"
+-
+-#~ msgid "Modify an existing login user record."
+-#~ msgstr "修改一個現有的登錄用戶紀錄。"
+-
+-#~ msgid "Polgen"
+-#~ msgstr "Polgen"
+-
+-#~ msgid "Policy Directory"
+-#~ msgstr "政策目錄"
+-
+-#~ msgid "Red Hat 2007"
+-#~ msgstr "Red Hat 2007"
+-
+-#~ msgid "Root Admin User Role"
+-#~ msgstr "Root 管理員用戶角色(Root Admin User Role)"
+-
+-#~ msgid "SELinux Policy Generation Tool"
+-#~ msgstr "SELinux 政策產生工具(SELinux Policy Generation Tool)"
+-
+-#~ msgid "Select Ports"
+-#~ msgstr "選擇通訊埠"
+-
+-#~ msgid ""
+-#~ "Select Root Administrator User Role, if this user will be used to "
+-#~ "administer the machine while running as root.  This user will not be able "
+-#~ "to login to the system directly."
+-#~ msgstr ""
+-#~ "若此用戶將會被用來以 root 的身份管理機器的話,選擇 Root 管理者用戶角色。此"
+-#~ "用戶將無法直接登入系統。"
+-
+-#~ msgid "Select additional domains that this user role will administer"
+-#~ msgstr "選擇此用戶角色將會管理的額外網域"
+-
+-#~ msgid "Select additional domains to which this user role will transition"
+-#~ msgstr "選擇此用戶角色將會轉移的額外網域"
+-
+-#~ msgid "Select additional roles for this user"
+-#~ msgstr "選擇此用戶的額外角色"
+-
+-#~ msgid "Select booleans that the application uses"
+-#~ msgstr "選擇應用程式所使用的布林值"
+-
+-#~ msgid "Select common application traits"
+-#~ msgstr "選擇一般的應用程式特性"
+-
+-#~ msgid "Select directory to generate policy in"
+-#~ msgstr "選擇產生政策的目錄"
+-
+-#~ msgid "Select files/directories that the application manages"
+-#~ msgstr "選擇應用程式所管理的檔案/目錄"
+-
+-#~ msgid ""
+-#~ "Select the applications domains that you would like this user role to "
+-#~ "transition to."
+-#~ msgstr "選擇您希望此用戶角色轉移至的應用程式網域。"
+-
+-#~ msgid "Select the domains that you would like this user administer."
+-#~ msgstr "選擇您希望此用戶管理的網域。"
+-
+-#~ msgid ""
+-#~ "Select the user roles that will transiton to this applications domains."
+-#~ msgstr "選擇將會轉移至此應用程式網域的用戶角色。"
+-
+-#~ msgid "Select type of the application/user role to be confined"
+-#~ msgstr "選擇欲限制的應用程式/用戶角色類型"
+-
+-#~ msgid "Select user roles that will transition to this domain"
+-#~ msgstr "選擇將會轉移至此網域的用戶角色"
+-
+-#~ msgid "Select user roles that you want to customize"
+-#~ msgstr "選擇您希望自訂化的用戶角色"
+-
+-#~ msgid "Sends audit messages"
+-#~ msgstr "發送稽核訊息"
+-
+-#~ msgid "Sends email"
+-#~ msgstr "發送電子郵件"
+-
+-#~ msgid "Standard Init Daemon"
+-#~ msgstr "標準 Init Daemon"
+-
+-#~ msgid ""
+-#~ "Standard Init Daemon are daemons started on boot via init scripts.  "
+-#~ "Usually requires a script in /etc/rc.d/init.d"
+-#~ msgstr ""
+-#~ "標準的 Init Daemon 代表透過 init script 在開機時啟動的系統程式。通常在 /"
+-#~ "etc/rc.d/init.d 中會需要一個 script"
+-
+-#~ msgid ""
+-#~ "This tool can be used to generate a policy framework, to confine "
+-#~ "applications or users using SELinux.   \n"
+-#~ "\n"
+-#~ "The tool generates:\n"
+-#~ "Type enforcement file (te)\n"
+-#~ "Interface file (if)\n"
+-#~ "File context file (fc)\n"
+-#~ "Shell script (sh) - used to compile and install the policy. "
+-#~ msgstr ""
+-#~ "此工具可被用來產生一個繼續進行應用程式或是使用 SELinux 的用戶的政策架"
+-#~ "構。   \n"
+-#~ "\n"
+-#~ "此工具會產生:\n"
+-#~ "類型強制檔案(te)\n"
+-#~ "介面檔案(if)\n"
+-#~ "檔案 context 檔(fc)\n"
+-#~ "Shell script(sh)- 用來編譯和安裝政策。"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "\n"
+-#~ "Execute shell script to compile/install and relabel files/directories.  \n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Run/restart the application to generate avc messages.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "此工具會產生下列:\n"
+-#~ "類型強制(te)、檔案 Context(fc)、介面(if)、Shell Script(sh)\n"
+-#~ "\n"
+-#~ "執行 shell script 來編譯/安裝和重新標記檔案/目錄。\n"
+-#~ "將機器設置為寬鬆模式(setenforce 0)。\n"
+-#~ "執行/重新啟動用程式來產生 avc 訊息。\n"
+-#~ "使用 audit2allow -R 來為 te 檔案產生額外的規則。\n"
+-
+-#~ msgid ""
+-#~ "This tool will generate the following: \n"
+-#~ "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
+-#~ "Execute shell script as root to compile/install and relabel files/"
+-#~ "directories.  \n"
+-#~ "Use semanage or useradd to map Linux login users to user roles.\n"
+-#~ "Put the machine in permissive mode (setenforce 0). \n"
+-#~ "Login as the user and test this user role.\n"
+-#~ "Use audit2allow -R to generate additional rules for the te file.\n"
+-#~ msgstr ""
+-#~ "此工具會產生下列:\n"
+-#~ "類型強制(te)、檔案 Context(fc)、介面(if)、Shell Script(sh)\n"
+-#~ "以 root 來執行 shell script 並編譯/安裝和重新標記檔案/目錄?\n"
+-#~ "使用 semanage 或是 useradd 來將 Linux 登錄用戶對映至用戶角色。\n"
+-#~ "將機器設置為寬鬆模式(setenforce 0)。\n"
+-#~ "以該用戶登入並測試此用戶角色。\n"
+-#~ "使用 audit2allow -R 來為 te 檔案產生額外的規則。\n"
+-
+-#~ msgid ""
+-#~ "This user can login to a machine via X or terminal.  By default this user "
+-#~ "will have no setuid, no networking, no sudo, no su"
+-#~ msgstr ""
+-#~ "此用戶可透過 X 或是終端機來登入一部機器。就預設值來講,此用戶將不會有 "
+-#~ "setuid、網路作業、sudo 和 su"
+-
+-#~ msgid ""
+-#~ "This user will login to a machine only via a terminal or remote login.  "
+-#~ "By default this user will have  no setuid, no networking, no su, no sudo."
+-#~ msgstr ""
+-#~ "此用戶將只可透過終端機或是遠端登錄來登入一部機器。就預設值來講,此用戶將不"
+-#~ "會有 setuid、網路作業、su 和 sudo。"
+-
+-#~ msgid "Unreserved Ports (>1024)"
+-#~ msgstr "未保留的通訊埠(>1024)"
+-
+-#~ msgid "User Application"
+-#~ msgstr "用戶應用程式"
+-
+-#~ msgid ""
+-#~ "User Application are any application that you would like to confine that "
+-#~ "is started by a user"
+-#~ msgstr "用戶應用程式為任何您所希望限制、由某個用戶所啟用的應用程式"
+-
+-#~ msgid "User Role"
+-#~ msgstr "用戶角色"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "su, can sudo to Root Administration Roles"
+-#~ msgstr ""
+-#~ "具有完整網路作業、沒有無轉移的 setuid 應用程式、無 su,並且可 sudo 至 "
+-#~ "Root 管理角色的用戶"
+-
+-#~ msgid ""
+-#~ "User with full networking, no setuid applications without transition, no "
+-#~ "sudo, no su."
+-#~ msgstr ""
+-#~ "具有完整網路作業、沒有無轉移的 setuid 應用程式、無 sudo,並且無 su。"
+-
+-#~ msgid "Uses Pam for authentication"
+-#~ msgstr "使用 Pam 來進行驗證"
+-
+-#~ msgid "Uses dbus"
+-#~ msgstr "使用 dbus"
+-
+-#~ msgid "Uses nsswitch or getpw* calls"
+-#~ msgstr "使用 nsswitch 或是 getpw* 調用"
+-
+-#~ msgid "Web Application/Script (CGI)"
+-#~ msgstr "網站應用程式/Script(CGI)"
+-
+-#~ msgid ""
+-#~ "Web Applications/Script (CGI) CGI scripts started by the web server "
+-#~ "(apache)"
+-#~ msgstr "網站應用程式/Script(CGI)由網站伺服器(apache)所啟用的 CGI script"
+-
+-#~ msgid "Writes syslog messages\t"
+-#~ msgstr "寫入 syslog 訊息\t"
+-
+-#~ msgid "Boolean"
+-#~ msgstr "布林值"
+-
+-#~ msgid ""
+-#~ "SELinux Port\n"
+-#~ "Type"
+-#~ msgstr ""
+-#~ "SELinux 通訊埠\n"
+-#~ "類型"
+-
+-#~ msgid "Protocol"
+-#~ msgstr "通訊協定"
+-
+-#~ msgid ""
+-#~ "MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "MLS/MCS\n"
+-#~ "等級"
+-
+-#~ msgid "Port"
+-#~ msgstr "通訊埠"
+-
+-#~ msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
+-#~ msgstr "通訊埠號「%s」無效。0 < PORT_NUMBER < 65536 "
+-
+-#~ msgid "List View"
+-#~ msgstr "清單視點"
+-
+-#~ msgid "Group View"
+-#~ msgstr "群組視點"
+-
+-#~ msgid "Add"
+-#~ msgstr "新增"
+-
+-#~ msgid "Add File Context"
+-#~ msgstr "新增檔案 Context"
+-
+-#~ msgid "Add Network Port"
+-#~ msgstr "新增網路通訊埠"
+-
+-#~ msgid "Add SELinux Login Mapping"
+-#~ msgstr "新增 SELinux 登錄對映"
+-
+-#~ msgid "Add SELinux Network Ports"
+-#~ msgstr "新增 SELinux 網路通訊埠"
+-
+-#~ msgid "Add SELinux User"
+-#~ msgstr "新增 SELinux 用戶"
+-
+-#~ msgid "Add SELinux User Mapping"
+-#~ msgstr "新增 SELinux 用戶對映"
+-
+-#~ msgid "Add Translation"
+-#~ msgstr "新增轉移s"
+-
+-#~ msgid "Current Enforcing Mode"
+-#~ msgstr "目前的強制模式"
+-
+-#~ msgid "Delete File Context"
+-#~ msgstr "刪除檔案 Context"
+-
+-#~ msgid "Delete Network Port"
+-#~ msgstr "刪除網路通訊埠"
+-
+-#~ msgid "Delete SELinux User Mapping"
+-#~ msgstr "刪除 SELinux 用戶對映"
+-
+-#~ msgid "Delete Translation"
+-#~ msgstr "刪除轉移"
+-
+-#~ msgid ""
+-#~ "Disabled\n"
+-#~ "Permissive\n"
+-#~ "Enforcing\n"
+-#~ msgstr ""
+-#~ "停用\n"
+-#~ "寬鬆\n"
+-#~ "強制\n"
+-
+-#~ msgid "Edit Network Port"
+-#~ msgstr "編輯網路通訊埠"
+-
+-#~ msgid ""
+-#~ "Enable/Disable additional audit rules, that are normally not reported in "
+-#~ "the log files."
+-#~ msgstr "啟用/停用額外的稽核規則,這些規則一般不會回報於日誌檔案中。"
+-
+-#~ msgid "File Specification"
+-#~ msgstr "檔案規格"
+-
+-#~ msgid "File Type"
+-#~ msgstr "檔案類型"
+-
+-#~ msgid "Filter"
+-#~ msgstr "過濾器"
+-
+-#~ msgid "Generate new policy module"
+-#~ msgstr "產生新的政策模組"
+-
+-#~ msgid "Load policy module"
+-#~ msgstr "載入政策模組"
+-
+-#~ msgid "Lockdown..."
+-#~ msgstr "鎖定..."
+-
+-#~ msgid "MLS"
+-#~ msgstr "MLS"
+-
+-#~ msgid "Modify File Context"
+-#~ msgstr "修改檔案 Context"
+-
+-#~ msgid "Modify SELinux User"
+-#~ msgstr "修改 SELinux 用戶"
+-
+-#~ msgid "Modify SELinux User Mapping"
+-#~ msgstr "修改 SELinux 用戶對映"
+-
+-#~ msgid "Modify Translation"
+-#~ msgstr "修改轉移"
+-
+-#~ msgid "Relabel on next reboot."
+-#~ msgstr "下次開機時重新標記。"
+-
+-#~ msgid "Remove loadable policy module"
+-#~ msgstr "移除可載入的政策模組"
+-
+-#~ msgid "Revert boolean setting to system default"
+-#~ msgstr "將布林值設定恢復成系統預設值"
+-
+-#~ msgid "Run booleans lockdown wizard"
+-#~ msgstr "執行布林值鎖定精靈"
+-
+-#~ msgid "SELinux Administration"
+-#~ msgstr "SELinux 管理"
+-
+-#~ msgid ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "Level"
+-#~ msgstr ""
+-#~ "SELinux MLS/MCS\n"
+-#~ "等級"
+-
+-#~ msgid "SELinux Type"
+-#~ msgstr "SELinux 類型"
+-
+-#~ msgid ""
+-#~ "Select if you wish to relabel then entire file system on next reboot.  "
+-#~ "Relabeling can take a very long time, depending on the size of the "
+-#~ "system.  If you are changing policy types or going from disabled to "
+-#~ "enforcing, a relabel is required."
+-#~ msgstr ""
+-#~ "選擇您是否希望在下次開機時重新標記整個檔案系統。根據系統大小,重新標記可能"
+-#~ "會花上一段很長時間。若您要更改政策類型或是要由停用狀態更改為強制模式,重新"
+-#~ "標記將是必要的。"
+-
+-#~ msgid "System Default Enforcing Mode"
+-#~ msgstr "系統預設強制模式"
+-
+-#~ msgid "System Default Policy Type: "
+-#~ msgstr "系統預設政策類型:"
+-
+-#~ msgid "Toggle between Customized and All Booleans"
+-#~ msgstr "在自訂化以及所有布林值之間進行啟用"
+-
+-#~ msgid "Toggle between Customized and All Ports"
+-#~ msgstr "在自訂化以及所有通訊埠之間進行啟用"
+-
+-#~ msgid "Toggle between all and customized file context"
+-#~ msgstr "在自訂化以及所有檔案 context 之間進行啟用"
+-
+-#~ msgid "_Delete"
+-#~ msgstr "刪除(_D)"
+-
+-#~ msgid "_Properties"
+-#~ msgstr "屬性(_P)"
+-
+-#~ msgid ""
+-#~ "all files\n"
+-#~ "regular file\n"
+-#~ "directory\n"
+-#~ "character device\n"
+-#~ "block device\n"
+-#~ "socket\n"
+-#~ "symbolic link\n"
+-#~ "named pipe\n"
+-#~ msgstr ""
+-#~ "所有檔案\n"
+-#~ "正規檔案\n"
+-#~ "目錄\n"
+-#~ "字元裝置\n"
+-#~ "區塊裝置\n"
+-#~ "socket\n"
+-#~ "符號連結\n"
+-#~ "named 管線\n"
+-
+-#~ msgid ""
+-#~ "tcp\n"
+-#~ "udp"
+-#~ msgstr ""
+-#~ "tcp\n"
+-#~ "udp"
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr "需要 SELinux 用戶「%s」"
+diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/zu.po policycoreutils-2.0.85/po/zu.po
+--- nsapolicycoreutils/po/zu.po        2011-02-17 15:11:25.728724910 -0500
++++ policycoreutils-2.0.85/po/zu.po    2011-02-18 16:03:41.453976326 -0500
+@@ -8,14 +8,32 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2009-06-24 10:53-0400\n"
++"POT-Creation-Date: 2010-07-27 10:03-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
++#: system-config-selinux.desktop.in.h:1
++msgid "Configure SELinux in a graphical setting"
++msgstr ""
++
++#: system-config-selinux.desktop.in.h:2
++msgid "SELinux Management"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:1
++msgid "Generate SELinux policy modules"
++msgstr ""
++
++#: selinux-polgengui.desktop.in.h:2 ../gui/polgen.glade:91
++#: ../gui/polgen.glade:124
++msgid "SELinux Policy Generation Tool"
++msgstr ""
++
+ #: ../run_init/run_init.c:67
+ msgid ""
+ "USAGE: run_init <script> <args ...>\n"
+@@ -118,7 +136,8 @@
+ msgid "Level"
+ msgstr ""
+-#: ../semanage/seobject.py:239
++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651
++#: ../gui/system-config-selinux.glade:2683
+ msgid "Translation"
+ msgstr ""
+@@ -170,736 +189,743 @@
+ msgid "Permissive Types"
+ msgstr ""
+-#: ../semanage/seobject.py:378
++#: ../semanage/seobject.py:366
+ #, python-format
+ msgid "Could not set permissive domain %s (module installation failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:384
++#: ../semanage/seobject.py:380
+ #, python-format
+ msgid "Could not remove permissive domain %s (remove failed)"
+ msgstr ""
+-#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
+-#: ../semanage/seobject.py:516 ../semanage/seobject.py:598
+-#: ../semanage/seobject.py:665 ../semanage/seobject.py:723
+-#: ../semanage/seobject.py:933 ../semanage/seobject.py:1506
+-#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1582
+-#: ../semanage/seobject.py:1663 ../semanage/seobject.py:1714
++#: ../semanage/seobject.py:406 ../semanage/seobject.py:466
++#: ../semanage/seobject.py:512 ../semanage/seobject.py:594
++#: ../semanage/seobject.py:661 ../semanage/seobject.py:719
++#: ../semanage/seobject.py:929 ../semanage/seobject.py:1502
++#: ../semanage/seobject.py:1566 ../semanage/seobject.py:1578
++#: ../semanage/seobject.py:1659 ../semanage/seobject.py:1710
+ #, python-format
+ msgid "Could not create a key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:414 ../semanage/seobject.py:474
+-#: ../semanage/seobject.py:520 ../semanage/seobject.py:526
++#: ../semanage/seobject.py:410 ../semanage/seobject.py:470
++#: ../semanage/seobject.py:516 ../semanage/seobject.py:522
+ #, python-format
+ msgid "Could not check if login mapping for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:416
++#: ../semanage/seobject.py:412
+ #, python-format
+ msgid "Login mapping for %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:421
++#: ../semanage/seobject.py:417
+ #, python-format
+ msgid "Linux Group %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:426
++#: ../semanage/seobject.py:422
+ #, python-format
+ msgid "Linux User %s does not exist"
+ msgstr ""
+-#: ../semanage/seobject.py:430
++#: ../semanage/seobject.py:426
+ #, python-format
+ msgid "Could not create login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:434 ../semanage/seobject.py:612
++#: ../semanage/seobject.py:430 ../semanage/seobject.py:608
+ #, python-format
+ msgid "Could not set name for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:439 ../semanage/seobject.py:622
++#: ../semanage/seobject.py:435 ../semanage/seobject.py:618
+ #, python-format
+ msgid "Could not set MLS range for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:443
++#: ../semanage/seobject.py:439
+ #, python-format
+ msgid "Could not set SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:447
++#: ../semanage/seobject.py:443
+ #, python-format
+ msgid "Could not add login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:459 ../semanage/seobject.py:462
++#: ../semanage/seobject.py:455 ../semanage/seobject.py:458
+ msgid "add SELinux user mapping"
+ msgstr ""
+-#: ../semanage/seobject.py:466
++#: ../semanage/seobject.py:462
+ msgid "Requires seuser or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:476 ../semanage/seobject.py:522
++#: ../semanage/seobject.py:472 ../semanage/seobject.py:518
+ #, python-format
+ msgid "Login mapping for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:480
++#: ../semanage/seobject.py:476
+ #, python-format
+ msgid "Could not query seuser for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:496
++#: ../semanage/seobject.py:492
+ #, python-format
+ msgid "Could not modify login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:528
++#: ../semanage/seobject.py:524
+ #, python-format
+ msgid "Login mapping for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:532
++#: ../semanage/seobject.py:528
+ #, python-format
+ msgid "Could not delete login mapping for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:555
++#: ../semanage/seobject.py:551
+ msgid "Could not list login mappings"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../gui/system-config-selinux.glade:100
+ msgid "Login Name"
+ msgstr ""
+-#: ../semanage/seobject.py:568 ../semanage/seobject.py:573
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:564 ../semanage/seobject.py:569
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:128
++#: ../gui/system-config-selinux.glade:1107
++#: ../gui/system-config-selinux.glade:2496 ../gui/usersPage.py:44
+ msgid "SELinux User"
+ msgstr ""
+-#: ../semanage/seobject.py:568
++#: ../semanage/seobject.py:564 ../gui/system-config-selinux.glade:156
++#: ../gui/system-config-selinux.glade:1135
+ msgid "MLS/MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:594
++#: ../semanage/seobject.py:590
+ #, python-format
+ msgid "You must add at least one role for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:602 ../semanage/seobject.py:669
+-#: ../semanage/seobject.py:727 ../semanage/seobject.py:733
++#: ../semanage/seobject.py:598 ../semanage/seobject.py:665
++#: ../semanage/seobject.py:723 ../semanage/seobject.py:729
+ #, python-format
+ msgid "Could not check if SELinux user %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:604
++#: ../semanage/seobject.py:600
+ #, python-format
+ msgid "SELinux user %s is already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:608
++#: ../semanage/seobject.py:604
+ #, python-format
+ msgid "Could not create SELinux user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:617
++#: ../semanage/seobject.py:613
+ #, python-format
+ msgid "Could not add role %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:626
++#: ../semanage/seobject.py:622
+ #, python-format
+ msgid "Could not set MLS level for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:629
++#: ../semanage/seobject.py:625
+ #, python-format
+ msgid "Could not add prefix %s for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:632
++#: ../semanage/seobject.py:628
+ #, python-format
+ msgid "Could not extract key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:636
++#: ../semanage/seobject.py:632
+ #, python-format
+ msgid "Could not add SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:659
++#: ../semanage/seobject.py:655
+ msgid "Requires prefix, roles, level or range"
+ msgstr ""
+-#: ../semanage/seobject.py:661
++#: ../semanage/seobject.py:657
+ msgid "Requires prefix or roles"
+ msgstr ""
+-#: ../semanage/seobject.py:671 ../semanage/seobject.py:729
++#: ../semanage/seobject.py:667 ../semanage/seobject.py:725
+ #, python-format
+ msgid "SELinux user %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:675
++#: ../semanage/seobject.py:671
+ #, python-format
+ msgid "Could not query user for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:702
++#: ../semanage/seobject.py:698
+ #, python-format
+ msgid "Could not modify SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:735
++#: ../semanage/seobject.py:731
+ #, python-format
+ msgid "SELinux user %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:739
++#: ../semanage/seobject.py:735
+ #, python-format
+ msgid "Could not delete SELinux user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:762
++#: ../semanage/seobject.py:758
+ msgid "Could not list SELinux users"
+ msgstr ""
+-#: ../semanage/seobject.py:768
++#: ../semanage/seobject.py:764
+ #, python-format
+ msgid "Could not list roles for user %s"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "Labeling"
+ msgstr ""
+-#: ../semanage/seobject.py:781
++#: ../semanage/seobject.py:777
+ msgid "MLS/"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "Prefix"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Level"
+ msgstr ""
+-#: ../semanage/seobject.py:782
++#: ../semanage/seobject.py:778
+ msgid "MCS Range"
+ msgstr ""
+-#: ../semanage/seobject.py:782 ../semanage/seobject.py:787
++#: ../semanage/seobject.py:778 ../semanage/seobject.py:783
++#: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59
+ msgid "SELinux Roles"
+ msgstr ""
+-#: ../semanage/seobject.py:802
++#: ../semanage/seobject.py:798
+ msgid "Protocol udp or tcp is required"
+ msgstr ""
+-#: ../semanage/seobject.py:804
++#: ../semanage/seobject.py:800
+ msgid "Port is required"
+ msgstr ""
+-#: ../semanage/seobject.py:815
++#: ../semanage/seobject.py:811
+ #, python-format
+ msgid "Could not create a key for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:826
++#: ../semanage/seobject.py:822
+ msgid "Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:832 ../semanage/seobject.py:891
+-#: ../semanage/seobject.py:946 ../semanage/seobject.py:952
++#: ../semanage/seobject.py:828 ../semanage/seobject.py:887
++#: ../semanage/seobject.py:942 ../semanage/seobject.py:948
+ #, python-format
+ msgid "Could not check if port %s/%s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:834
++#: ../semanage/seobject.py:830
+ #, python-format
+ msgid "Port %s/%s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:838
++#: ../semanage/seobject.py:834
+ #, python-format
+ msgid "Could not create port for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:844
++#: ../semanage/seobject.py:840
+ #, python-format
+ msgid "Could not create context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:848
++#: ../semanage/seobject.py:844
+ #, python-format
+ msgid "Could not set user in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:852
++#: ../semanage/seobject.py:848
+ #, python-format
+ msgid "Could not set role in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:856
++#: ../semanage/seobject.py:852
+ #, python-format
+ msgid "Could not set type in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:861
++#: ../semanage/seobject.py:857
+ #, python-format
+ msgid "Could not set mls fields in port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:865
++#: ../semanage/seobject.py:861
+ #, python-format
+ msgid "Could not set port context for %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:869
++#: ../semanage/seobject.py:865
+ #, python-format
+ msgid "Could not add port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:883 ../semanage/seobject.py:1129
+-#: ../semanage/seobject.py:1317
++#: ../semanage/seobject.py:879 ../semanage/seobject.py:1125
++#: ../semanage/seobject.py:1313
+ msgid "Requires setype or serange"
+ msgstr ""
+-#: ../semanage/seobject.py:885
++#: ../semanage/seobject.py:881
+ msgid "Requires setype"
+ msgstr ""
+-#: ../semanage/seobject.py:893 ../semanage/seobject.py:948
++#: ../semanage/seobject.py:889 ../semanage/seobject.py:944
+ #, python-format
+ msgid "Port %s/%s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:897
++#: ../semanage/seobject.py:893
+ #, python-format
+ msgid "Could not query port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:908
++#: ../semanage/seobject.py:904
+ #, python-format
+ msgid "Could not modify port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:921
++#: ../semanage/seobject.py:917
+ msgid "Could not list the ports"
+ msgstr ""
+-#: ../semanage/seobject.py:937
++#: ../semanage/seobject.py:933
+ #, python-format
+ msgid "Could not delete the port %s"
+ msgstr ""
+-#: ../semanage/seobject.py:954
++#: ../semanage/seobject.py:950
+ #, python-format
+ msgid "Port %s/%s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:958
++#: ../semanage/seobject.py:954
+ #, python-format
+ msgid "Could not delete port %s/%s"
+ msgstr ""
+-#: ../semanage/seobject.py:974 ../semanage/seobject.py:996
++#: ../semanage/seobject.py:970 ../semanage/seobject.py:992
+ msgid "Could not list ports"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "SELinux Port Type"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013
+ msgid "Proto"
+ msgstr ""
+-#: ../semanage/seobject.py:1017
++#: ../semanage/seobject.py:1013 ../gui/system-config-selinux.glade:335
+ msgid "Port Number"
+ msgstr ""
+-#: ../semanage/seobject.py:1034 ../semanage/seobject.py:1116
+-#: ../semanage/seobject.py:1166
++#: ../semanage/seobject.py:1030 ../semanage/seobject.py:1112
++#: ../semanage/seobject.py:1162
+ msgid "Node Address is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1037 ../semanage/seobject.py:1119
+-#: ../semanage/seobject.py:1169
++#: ../semanage/seobject.py:1033 ../semanage/seobject.py:1115
++#: ../semanage/seobject.py:1165
+ msgid "Node Netmask is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1044 ../semanage/seobject.py:1125
+-#: ../semanage/seobject.py:1176
++#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1121
++#: ../semanage/seobject.py:1172
+ msgid "Unknown or missing protocol"
+ msgstr ""
+-#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1256
+-#: ../semanage/seobject.py:1445
++#: ../semanage/seobject.py:1050 ../semanage/seobject.py:1252
++#: ../semanage/seobject.py:1441
+ msgid "SELinux Type is required"
+ msgstr ""
+-#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1133
+-#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1260
+-#: ../semanage/seobject.py:1321 ../semanage/seobject.py:1355
+-#: ../semanage/seobject.py:1449
++#: ../semanage/seobject.py:1054 ../semanage/seobject.py:1129
++#: ../semanage/seobject.py:1176 ../semanage/seobject.py:1256
++#: ../semanage/seobject.py:1317 ../semanage/seobject.py:1351
++#: ../semanage/seobject.py:1445
+ #, python-format
+ msgid "Could not create key for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1060 ../semanage/seobject.py:1137
+-#: ../semanage/seobject.py:1184 ../semanage/seobject.py:1190
++#: ../semanage/seobject.py:1056 ../semanage/seobject.py:1133
++#: ../semanage/seobject.py:1180 ../semanage/seobject.py:1186
+ #, python-format
+ msgid "Could not check if addr %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1064
++#: ../semanage/seobject.py:1060
+ #, python-format
+ msgid "Addr %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1068
++#: ../semanage/seobject.py:1064
+ #, python-format
+ msgid "Could not create addr for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1073 ../semanage/seobject.py:1275
+-#: ../semanage/seobject.py:1415
++#: ../semanage/seobject.py:1069 ../semanage/seobject.py:1271
++#: ../semanage/seobject.py:1411
+ #, python-format
+ msgid "Could not create context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1077
++#: ../semanage/seobject.py:1073
+ #, python-format
+ msgid "Could not set mask for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1082
++#: ../semanage/seobject.py:1078
+ #, python-format
+ msgid "Could not set user in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1086
++#: ../semanage/seobject.py:1082
+ #, python-format
+ msgid "Could not set role in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1090
++#: ../semanage/seobject.py:1086
+ #, python-format
+ msgid "Could not set type in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1095
++#: ../semanage/seobject.py:1091
+ #, python-format
+ msgid "Could not set mls fields in addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1099
++#: ../semanage/seobject.py:1095
+ #, python-format
+ msgid "Could not set addr context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1103
++#: ../semanage/seobject.py:1099
+ #, python-format
+ msgid "Could not add addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1139 ../semanage/seobject.py:1186
++#: ../semanage/seobject.py:1135 ../semanage/seobject.py:1182
+ #, python-format
+ msgid "Addr %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1143
++#: ../semanage/seobject.py:1139
+ #, python-format
+ msgid "Could not query addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1154
++#: ../semanage/seobject.py:1150
+ #, python-format
+ msgid "Could not modify addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1192
++#: ../semanage/seobject.py:1188
+ #, python-format
+ msgid "Addr %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1196
++#: ../semanage/seobject.py:1192
+ #, python-format
+ msgid "Could not delete addr %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1212
++#: ../semanage/seobject.py:1208
+ msgid "Could not list addrs"
+ msgstr ""
+-#: ../semanage/seobject.py:1264 ../semanage/seobject.py:1325
+-#: ../semanage/seobject.py:1359 ../semanage/seobject.py:1365
++#: ../semanage/seobject.py:1260 ../semanage/seobject.py:1321
++#: ../semanage/seobject.py:1355 ../semanage/seobject.py:1361
+ #, python-format
+ msgid "Could not check if interface %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1266
++#: ../semanage/seobject.py:1262
+ #, python-format
+ msgid "Interface %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1270
++#: ../semanage/seobject.py:1266
+ #, python-format
+ msgid "Could not create interface for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1279
++#: ../semanage/seobject.py:1275
+ #, python-format
+ msgid "Could not set user in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1283
++#: ../semanage/seobject.py:1279
+ #, python-format
+ msgid "Could not set role in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1287
++#: ../semanage/seobject.py:1283
+ #, python-format
+ msgid "Could not set type in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1292
++#: ../semanage/seobject.py:1288
+ #, python-format
+ msgid "Could not set mls fields in interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1296
++#: ../semanage/seobject.py:1292
+ #, python-format
+ msgid "Could not set interface context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1300
++#: ../semanage/seobject.py:1296
+ #, python-format
+ msgid "Could not set message context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1304
++#: ../semanage/seobject.py:1300
+ #, python-format
+ msgid "Could not add interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1327 ../semanage/seobject.py:1361
++#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1357
+ #, python-format
+ msgid "Interface %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1331
++#: ../semanage/seobject.py:1327
+ #, python-format
+ msgid "Could not query interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1342
++#: ../semanage/seobject.py:1338
+ #, python-format
+ msgid "Could not modify interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1367
++#: ../semanage/seobject.py:1363
+ #, python-format
+ msgid "Interface %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1371
++#: ../semanage/seobject.py:1367
+ #, python-format
+ msgid "Could not delete interface %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1387
++#: ../semanage/seobject.py:1383
+ msgid "Could not list interfaces"
+ msgstr ""
+-#: ../semanage/seobject.py:1397
++#: ../semanage/seobject.py:1393
+ msgid "SELinux Interface"
+ msgstr ""
+-#: ../semanage/seobject.py:1397 ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1393 ../semanage/seobject.py:1632
+ msgid "Context"
+ msgstr ""
+-#: ../semanage/seobject.py:1421
++#: ../semanage/seobject.py:1417
+ #, python-format
+ msgid "Could not set user in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1425
++#: ../semanage/seobject.py:1421
+ #, python-format
+ msgid "Could not set role in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1430 ../semanage/seobject.py:1478
++#: ../semanage/seobject.py:1426 ../semanage/seobject.py:1474
+ #, python-format
+ msgid "Could not set mls fields in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1436
++#: ../semanage/seobject.py:1432
+ msgid "Invalid file specification"
+ msgstr ""
+-#: ../semanage/seobject.py:1453 ../semanage/seobject.py:1458
+-#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1586
+-#: ../semanage/seobject.py:1590
++#: ../semanage/seobject.py:1449 ../semanage/seobject.py:1454
++#: ../semanage/seobject.py:1506 ../semanage/seobject.py:1582
++#: ../semanage/seobject.py:1586
+ #, python-format
+ msgid "Could not check if file context for %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1461
++#: ../semanage/seobject.py:1457
+ #, python-format
+ msgid "File context for %s already defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1465
++#: ../semanage/seobject.py:1461
+ #, python-format
+ msgid "Could not create file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1473
++#: ../semanage/seobject.py:1469
+ #, python-format
+ msgid "Could not set type in file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1481 ../semanage/seobject.py:1538
+-#: ../semanage/seobject.py:1542
++#: ../semanage/seobject.py:1477 ../semanage/seobject.py:1534
++#: ../semanage/seobject.py:1538
+ #, python-format
+ msgid "Could not set file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1487
++#: ../semanage/seobject.py:1483
+ #, python-format
+ msgid "Could not add file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1501
++#: ../semanage/seobject.py:1497
+ msgid "Requires setype, serange or seuser"
+ msgstr ""
+-#: ../semanage/seobject.py:1514 ../semanage/seobject.py:1594
++#: ../semanage/seobject.py:1510 ../semanage/seobject.py:1590
+ #, python-format
+ msgid "File context for %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1520
++#: ../semanage/seobject.py:1516
+ #, python-format
+ msgid "Could not query file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1546
++#: ../semanage/seobject.py:1542
+ #, python-format
+ msgid "Could not modify file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1560
++#: ../semanage/seobject.py:1556
+ msgid "Could not list the file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1574
++#: ../semanage/seobject.py:1570
+ #, python-format
+ msgid "Could not delete the file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1592
++#: ../semanage/seobject.py:1588
+ #, python-format
+ msgid "File context for %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1598
++#: ../semanage/seobject.py:1594
+ #, python-format
+ msgid "Could not delete file context for %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1613
++#: ../semanage/seobject.py:1609
+ msgid "Could not list file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1617
++#: ../semanage/seobject.py:1613
+ msgid "Could not list local file contexts"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "SELinux fcontext"
+ msgstr ""
+-#: ../semanage/seobject.py:1636
++#: ../semanage/seobject.py:1632
+ msgid "type"
+ msgstr ""
+-#: ../semanage/seobject.py:1666 ../semanage/seobject.py:1717
+-#: ../semanage/seobject.py:1723
++#: ../semanage/seobject.py:1662 ../semanage/seobject.py:1713
++#: ../semanage/seobject.py:1719
+ #, python-format
+ msgid "Could not check if boolean %s is defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1668 ../semanage/seobject.py:1719
++#: ../semanage/seobject.py:1664 ../semanage/seobject.py:1715
+ #, python-format
+ msgid "Boolean %s is not defined"
+ msgstr ""
+-#: ../semanage/seobject.py:1672
++#: ../semanage/seobject.py:1668
+ #, python-format
+ msgid "Could not query file context %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1677
++#: ../semanage/seobject.py:1673
+ #, python-format
+ msgid "You must specify one of the following values: %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1681
++#: ../semanage/seobject.py:1677
+ #, python-format
+ msgid "Could not set active value of boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1684
++#: ../semanage/seobject.py:1680
+ #, python-format
+ msgid "Could not modify boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1702
++#: ../semanage/seobject.py:1698
+ #, python-format
+ msgid "Bad format %s: Record %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1725
++#: ../semanage/seobject.py:1721
+ #, python-format
+ msgid "Boolean %s is defined in policy, cannot be deleted"
+ msgstr ""
+-#: ../semanage/seobject.py:1729
++#: ../semanage/seobject.py:1725
+ #, python-format
+ msgid "Could not delete boolean %s"
+ msgstr ""
+-#: ../semanage/seobject.py:1741 ../semanage/seobject.py:1758
++#: ../semanage/seobject.py:1737 ../semanage/seobject.py:1754
+ msgid "Could not list booleans"
+ msgstr ""
+-#: ../semanage/seobject.py:1777
++#: ../semanage/seobject.py:1773
+ msgid "unknown"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "off"
+ msgstr ""
+-#: ../semanage/seobject.py:1780
++#: ../semanage/seobject.py:1776
+ msgid "on"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785
+ msgid "SELinux boolean"
+ msgstr ""
+-#: ../semanage/seobject.py:1789
++#: ../semanage/seobject.py:1785 ../gui/polgen.glade:3228
++#: ../gui/polgengui.py:169
+ msgid "Description"
+ msgstr ""
+@@ -1270,3 +1296,2064 @@
+ #, c-format
+ msgid "Options Error %s "
+ msgstr ""
++
++#: ../gui/booleansPage.py:186 ../gui/system-config-selinux.glade:1917
++msgid "Boolean"
++msgstr ""
++
++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162
++msgid "all"
++msgstr ""
++
++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164
++#: ../gui/system-config-selinux.glade:1808
++#: ../gui/system-config-selinux.glade:2031
++#: ../gui/system-config-selinux.glade:2835
++msgid "Customized"
++msgstr ""
++
++#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:2122
++msgid "File Labeling"
++msgstr ""
++
++#: ../gui/fcontextPage.py:74
++msgid ""
++"File\n"
++"Specification"
++msgstr ""
++
++#: ../gui/fcontextPage.py:81
++msgid ""
++"Selinux\n"
++"File Type"
++msgstr ""
++
++#: ../gui/fcontextPage.py:88
++msgid ""
++"File\n"
++"Type"
++msgstr ""
++
++#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2309
++msgid "User Mapping"
++msgstr ""
++
++#: ../gui/loginsPage.py:52
++msgid ""
++"Login\n"
++"Name"
++msgstr ""
++
++#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50
++msgid ""
++"SELinux\n"
++"User"
++msgstr ""
++
++#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55
++msgid ""
++"MLS/\n"
++"MCS Range"
++msgstr ""
++
++#: ../gui/loginsPage.py:133
++#, python-format
++msgid "Login '%s' is required"
++msgstr ""
++
++#: ../gui/modulesPage.py:48 ../gui/system-config-selinux.glade:3151
++msgid "Policy Module"
++msgstr ""
++
++#: ../gui/modulesPage.py:57
++msgid "Module Name"
++msgstr ""
++
++#: ../gui/modulesPage.py:62
++msgid "Version"
++msgstr ""
++
++#: ../gui/modulesPage.py:134
++msgid "Disable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:137 ../gui/system-config-selinux.glade:3060
++msgid "Enable Audit"
++msgstr ""
++
++#: ../gui/modulesPage.py:162
++msgid "Load Policy Module"
++msgstr ""
++
++#: ../gui/polgen.glade:79
++msgid "Polgen"
++msgstr ""
++
++#: ../gui/polgen.glade:80
++msgid "Red Hat 2007"
++msgstr ""
++
++#: ../gui/polgen.glade:81
++msgid "GPL"
++msgstr ""
++
++#. TRANSLATORS: Replace this string with your names, one name per line.
++#: ../gui/polgen.glade:85 ../gui/system-config-selinux.glade:17
++msgid "translator-credits"
++msgstr ""
++
++#: ../gui/polgen.glade:125
++msgid ""
++"This tool can be used to generate a policy framework, to confine "
++"applications or users using SELinux.   \n"
++"\n"
++"The tool generates:\n"
++"Type enforcement file (te)\n"
++"Interface file (if)\n"
++"File context file (fc)\n"
++"Shell script (sh) - used to compile and install the policy. "
++msgstr ""
++
++#: ../gui/polgen.glade:165
++msgid "Select type of the application/user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:196
++msgid "<b>Applications</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278
++msgid ""
++"Standard Init Daemon are daemons started on boot via init scripts.  Usually "
++"requires a script in /etc/rc.d/init.d"
++msgstr ""
++
++#: ../gui/polgen.glade:260
++msgid "Standard Init Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:280
++msgid "DBUS System Daemon"
++msgstr ""
++
++#: ../gui/polgen.glade:299
++msgid "Internet Services Daemon are daemons started by xinetd"
++msgstr ""
++
++#: ../gui/polgen.glade:301
++msgid "Internet Services Daemon (inetd)"
++msgstr ""
++
++#: ../gui/polgen.glade:320
++msgid ""
++"Web Applications/Script (CGI) CGI scripts started by the web server (apache)"
++msgstr ""
++
++#: ../gui/polgen.glade:322
++msgid "Web Application/Script (CGI)"
++msgstr ""
++
++#: ../gui/polgen.glade:341
++msgid ""
++"User Application are any application that you would like to confine that is "
++"started by a user"
++msgstr ""
++
++#: ../gui/polgen.glade:343
++msgid "User Application"
++msgstr ""
++
++#: ../gui/polgen.glade:389
++msgid "<b>Login Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:451
++msgid "Modify an existing login user record."
++msgstr ""
++
++#: ../gui/polgen.glade:453
++msgid "Existing User Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:472
++msgid ""
++"This user will login to a machine only via a terminal or remote login.  By "
++"default this user will have  no setuid, no networking, no su, no sudo."
++msgstr ""
++
++#: ../gui/polgen.glade:474
++msgid "Minimal Terminal User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:493
++msgid ""
++"This user can login to a machine via X or terminal.  By default this user "
++"will have no setuid, no networking, no sudo, no su"
++msgstr ""
++
++#: ../gui/polgen.glade:495
++msgid "Minimal X Windows User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:514
++msgid ""
++"User with full networking, no setuid applications without transition, no "
++"sudo, no su."
++msgstr ""
++
++#: ../gui/polgen.glade:516
++msgid "User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:535
++msgid ""
++"User with full networking, no setuid applications without transition, no su, "
++"can sudo to Root Administration Roles"
++msgstr ""
++
++#: ../gui/polgen.glade:537
++msgid "Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:583
++msgid "<b>Root Users</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:645
++msgid ""
++"Select Root Administrator User Role, if this user will be used to administer "
++"the machine while running as root.  This user will not be able to login to "
++"the system directly."
++msgstr ""
++
++#: ../gui/polgen.glade:647
++msgid "Root Admin User Role"
++msgstr ""
++
++#: ../gui/polgen.glade:732
++msgid "Enter name of application or user role to be confined"
++msgstr ""
++
++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167
++msgid "Name"
++msgstr ""
++
++#: ../gui/polgen.glade:781
++msgid "Enter complete path for executable to be confined."
++msgstr ""
++
++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927
++msgid "..."
++msgstr ""
++
++#: ../gui/polgen.glade:823
++msgid "Enter unique name for the confined application or user role."
++msgstr ""
++
++#: ../gui/polgen.glade:845
++msgid "Executable"
++msgstr ""
++
++#: ../gui/polgen.glade:873
++msgid "Init script"
++msgstr ""
++
++#: ../gui/polgen.glade:901
++msgid ""
++"Enter complete path to init script used to start the confined application."
++msgstr ""
++
++#: ../gui/polgen.glade:981
++msgid "Select user roles that you want to customize"
++msgstr ""
++
++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150
++msgid "Select the user roles that will transiton to this applications domains."
++msgstr ""
++
++#: ../gui/polgen.glade:1055
++msgid "Select additional domains to which this user role will transition"
++msgstr ""
++
++#: ../gui/polgen.glade:1076
++msgid ""
++"Select the applications domains that you would like this user role to "
++"transition to."
++msgstr ""
++
++#: ../gui/polgen.glade:1129
++msgid "Select user roles that will transition to this domain"
++msgstr ""
++
++#: ../gui/polgen.glade:1203
++msgid "Select additional domains that this user role will administer"
++msgstr ""
++
++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298
++msgid "Select the domains that you would like this user administer."
++msgstr ""
++
++#: ../gui/polgen.glade:1277
++msgid "Select additional roles for this user"
++msgstr ""
++
++#: ../gui/polgen.glade:1351
++msgid "Enter network ports that application/user role listens to"
++msgstr ""
++
++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852
++msgid "<b>TCP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657
++msgid "Allows confined application/user role to bind to any udp port"
++msgstr ""
++
++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915
++#: ../gui/polgen.glade:2068
++msgid "All"
++msgstr ""
++
++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677
++msgid ""
++"Allow application/user role to call bindresvport with 0. Binding to port "
++"600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679
++msgid "600-1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role binds to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699
++msgid "Unreserved Ports (>1024)"
++msgstr ""
++
++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933
++#: ../gui/polgen.glade:2086
++msgid "Select Ports"
++msgstr ""
++
++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755
++msgid "Allows application/user role to bind to any udp ports > 1024"
++msgstr ""
++
++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005
++msgid "<b>UDP Ports</b>"
++msgstr ""
++
++#: ../gui/polgen.glade:1834
++msgid "Enter network ports that application/user role connects to"
++msgstr ""
++
++#: ../gui/polgen.glade:1958
++msgid ""
++"Enter a comma separated list of tcp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2111
++msgid ""
++"Enter a comma separated list of udp ports or ranges of ports that "
++"application/user role connects to. Example: 612, 650-660"
++msgstr ""
++
++#: ../gui/polgen.glade:2183
++msgid "Select common application traits"
++msgstr ""
++
++#: ../gui/polgen.glade:2202
++msgid "Writes syslog messages\t"
++msgstr ""
++
++#: ../gui/polgen.glade:2221
++msgid "Create/Manipulate temporary files in /tmp"
++msgstr ""
++
++#: ../gui/polgen.glade:2240
++msgid "Uses Pam for authentication"
++msgstr ""
++
++#: ../gui/polgen.glade:2259
++msgid "Uses nsswitch or getpw* calls"
++msgstr ""
++
++#: ../gui/polgen.glade:2278
++msgid "Uses dbus"
++msgstr ""
++
++#: ../gui/polgen.glade:2297
++msgid "Sends audit messages"
++msgstr ""
++
++#: ../gui/polgen.glade:2316
++msgid "Interacts with the terminal"
++msgstr ""
++
++#: ../gui/polgen.glade:2335
++msgid "Sends email"
++msgstr ""
++
++#: ../gui/polgen.glade:2391
++msgid "Select files/directories that the application manages"
++msgstr ""
++
++#: ../gui/polgen.glade:2607
++msgid ""
++"Add Files/Directories that application will need to \"Write\" to. Pid Files, "
++"Log Files, /var/lib Files ..."
++msgstr ""
++
++#: ../gui/polgen.glade:2667
++msgid "Select booleans that the application uses"
++msgstr ""
++
++#: ../gui/polgen.glade:2804
++msgid "Add/Remove booleans used for this confined application/user"
++msgstr ""
++
++#: ../gui/polgen.glade:2864
++msgid "Select directory to generate policy in"
++msgstr ""
++
++#: ../gui/polgen.glade:2882
++msgid "Policy Directory"
++msgstr ""
++
++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024
++msgid "Generated Policy Files"
++msgstr ""
++
++#: ../gui/polgen.glade:2982
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"Execute shell script as root to compile/install and relabel files/"
++"directories.  \n"
++"Use semanage or useradd to map Linux login users to user roles.\n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Login as the user and test this user role.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3025
++msgid ""
++"This tool will generate the following: \n"
++"Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n"
++"\n"
++"Execute shell script to compile/install and relabel files/directories.  \n"
++"Put the machine in permissive mode (setenforce 0). \n"
++"Run/restart the application to generate avc messages.\n"
++"Use audit2allow -R to generate additional rules for the te file.\n"
++msgstr ""
++
++#: ../gui/polgen.glade:3127
++msgid "Add Booleans Dialog"
++msgstr ""
++
++#: ../gui/polgen.glade:3200
++msgid "Boolean Name"
++msgstr ""
++
++#: ../gui/polgengui.py:177
++msgid "Role"
++msgstr ""
++
++#: ../gui/polgengui.py:184
++msgid "Existing_User"
++msgstr ""
++
++#: ../gui/polgengui.py:199 ../gui/polgengui.py:207 ../gui/polgengui.py:221
++msgid "Application"
++msgstr ""
++
++#: ../gui/polgengui.py:269
++#, python-format
++msgid "%s must be a directory"
++msgstr ""
++
++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598
++msgid "You must select a user"
++msgstr ""
++
++#: ../gui/polgengui.py:453
++msgid "Select executable file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:464
++msgid "Select init script file to be confined."
++msgstr ""
++
++#: ../gui/polgengui.py:474
++msgid "Select file(s) that confined application creates or writes"
++msgstr ""
++
++#: ../gui/polgengui.py:481
++msgid "Select directory(s) that the confined application owns and writes into"
++msgstr ""
++
++#: ../gui/polgengui.py:541
++msgid "Select directory to generate policy files in"
++msgstr ""
++
++#: ../gui/polgengui.py:554
++#, python-format
++msgid ""
++"Type %s_t already defined in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558
++msgid "Verify Name"
++msgstr ""
++
++#: ../gui/polgengui.py:558
++#, python-format
++msgid ""
++"Module %s.pp already loaded in current policy.\n"
++"Do you want to continue?"
++msgstr ""
++
++#: ../gui/polgengui.py:604
++msgid "You must enter a name"
++msgstr ""
++
++#: ../gui/polgengui.py:610
++msgid "You must enter a executable"
++msgstr ""
++
++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:174
++msgid "Configue SELinux"
++msgstr ""
++
++#: ../gui/polgen.py:174
++#, python-format
++msgid "Ports must be numbers or ranges of numbers from 1 to %d "
++msgstr ""
++
++#: ../gui/polgen.py:204
++msgid "You must enter a name for your confined process/user"
++msgstr ""
++
++#: ../gui/polgen.py:282
++msgid "USER Types are not allowed executables"
++msgstr ""
++
++#: ../gui/polgen.py:288
++msgid "Only DAEMON apps can use an init script"
++msgstr ""
++
++#: ../gui/polgen.py:306
++msgid "use_syslog must be a boolean value "
++msgstr ""
++
++#: ../gui/polgen.py:327
++msgid "USER Types automatically get a tmp type"
++msgstr ""
++
++#: ../gui/polgen.py:729
++msgid "You must enter the executable path for your confined process"
++msgstr ""
++
++#: ../gui/polgen.py:848
++msgid "Type Enforcement file"
++msgstr ""
++
++#: ../gui/polgen.py:849
++msgid "Interface file"
++msgstr ""
++
++#: ../gui/polgen.py:850
++msgid "File Contexts file"
++msgstr ""
++
++#: ../gui/polgen.py:851
++msgid "Setup Script"
++msgstr ""
++
++#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2926
++msgid "Network Port"
++msgstr ""
++
++#: ../gui/portsPage.py:85
++msgid ""
++"SELinux Port\n"
++"Type"
++msgstr ""
++
++#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363
++msgid "Protocol"
++msgstr ""
++
++#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479
++msgid ""
++"MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/portsPage.py:101
++msgid "Port"
++msgstr ""
++
++#: ../gui/portsPage.py:207
++#, python-format
++msgid "Port number \"%s\" is not valid.  0 < PORT_NUMBER < 65536 "
++msgstr ""
++
++#: ../gui/portsPage.py:252
++msgid "List View"
++msgstr ""
++
++#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2817
++msgid "Group View"
++msgstr ""
++
++#: ../gui/selinux.tbl:1 ../gui/selinux.tbl:30 ../gui/selinux.tbl:31
++#: ../gui/selinux.tbl:32 ../gui/selinux.tbl:33 ../gui/selinux.tbl:34
++#: ../gui/selinux.tbl:36 ../gui/selinux.tbl:37 ../gui/selinux.tbl:38
++#: ../gui/selinux.tbl:39 ../gui/selinux.tbl:40 ../gui/selinux.tbl:42
++#: ../gui/selinux.tbl:43 ../gui/selinux.tbl:44 ../gui/selinux.tbl:45
++#: ../gui/selinux.tbl:46 ../gui/selinux.tbl:47 ../gui/selinux.tbl:48
++#: ../gui/selinux.tbl:49 ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++#: ../gui/selinux.tbl:52 ../gui/selinux.tbl:53 ../gui/selinux.tbl:59
++#: ../gui/selinux.tbl:60 ../gui/selinux.tbl:61 ../gui/selinux.tbl:62
++#: ../gui/selinux.tbl:63 ../gui/selinux.tbl:64 ../gui/selinux.tbl:65
++#: ../gui/selinux.tbl:66 ../gui/selinux.tbl:67 ../gui/selinux.tbl:68
++#: ../gui/selinux.tbl:69 ../gui/selinux.tbl:75 ../gui/selinux.tbl:76
++#: ../gui/selinux.tbl:77 ../gui/selinux.tbl:78 ../gui/selinux.tbl:79
++#: ../gui/selinux.tbl:80 ../gui/selinux.tbl:81 ../gui/selinux.tbl:82
++#: ../gui/selinux.tbl:83 ../gui/selinux.tbl:84 ../gui/selinux.tbl:86
++#: ../gui/selinux.tbl:88 ../gui/selinux.tbl:89 ../gui/selinux.tbl:90
++#: ../gui/selinux.tbl:92 ../gui/selinux.tbl:94 ../gui/selinux.tbl:95
++#: ../gui/selinux.tbl:96 ../gui/selinux.tbl:97 ../gui/selinux.tbl:98
++#: ../gui/selinux.tbl:99 ../gui/selinux.tbl:100 ../gui/selinux.tbl:101
++#: ../gui/selinux.tbl:102 ../gui/selinux.tbl:103 ../gui/selinux.tbl:104
++#: ../gui/selinux.tbl:106 ../gui/selinux.tbl:108 ../gui/selinux.tbl:109
++#: ../gui/selinux.tbl:110 ../gui/selinux.tbl:111 ../gui/selinux.tbl:112
++#: ../gui/selinux.tbl:113 ../gui/selinux.tbl:114 ../gui/selinux.tbl:116
++#: ../gui/selinux.tbl:117 ../gui/selinux.tbl:119 ../gui/selinux.tbl:121
++#: ../gui/selinux.tbl:123 ../gui/selinux.tbl:124 ../gui/selinux.tbl:127
++#: ../gui/selinux.tbl:129 ../gui/selinux.tbl:130 ../gui/selinux.tbl:131
++#: ../gui/selinux.tbl:132 ../gui/selinux.tbl:133 ../gui/selinux.tbl:134
++#: ../gui/selinux.tbl:135 ../gui/selinux.tbl:136 ../gui/selinux.tbl:137
++#: ../gui/selinux.tbl:138 ../gui/selinux.tbl:139 ../gui/selinux.tbl:142
++#: ../gui/selinux.tbl:143 ../gui/selinux.tbl:144 ../gui/selinux.tbl:145
++#: ../gui/selinux.tbl:146 ../gui/selinux.tbl:147 ../gui/selinux.tbl:148
++#: ../gui/selinux.tbl:149 ../gui/selinux.tbl:150 ../gui/selinux.tbl:151
++#: ../gui/selinux.tbl:152 ../gui/selinux.tbl:154 ../gui/selinux.tbl:155
++#: ../gui/selinux.tbl:156 ../gui/selinux.tbl:157 ../gui/selinux.tbl:158
++#: ../gui/selinux.tbl:159 ../gui/selinux.tbl:160 ../gui/selinux.tbl:167
++#: ../gui/selinux.tbl:171 ../gui/selinux.tbl:172 ../gui/selinux.tbl:173
++#: ../gui/selinux.tbl:174 ../gui/selinux.tbl:175 ../gui/selinux.tbl:177
++#: ../gui/selinux.tbl:178 ../gui/selinux.tbl:179 ../gui/selinux.tbl:180
++#: ../gui/selinux.tbl:184 ../gui/selinux.tbl:192 ../gui/selinux.tbl:193
++#: ../gui/selinux.tbl:194 ../gui/selinux.tbl:195 ../gui/selinux.tbl:196
++#: ../gui/selinux.tbl:197 ../gui/selinux.tbl:198 ../gui/selinux.tbl:199
++#: ../gui/selinux.tbl:200 ../gui/selinux.tbl:201 ../gui/selinux.tbl:206
++#: ../gui/selinux.tbl:207 ../gui/selinux.tbl:218 ../gui/selinux.tbl:219
++#: ../gui/selinux.tbl:220 ../gui/selinux.tbl:222 ../gui/selinux.tbl:224
++#: ../gui/selinux.tbl:226 ../gui/selinux.tbl:227 ../gui/selinux.tbl:230
++msgid "SELinux Service Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:1
++msgid "Disable SELinux protection for acct daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:2 ../gui/selinux.tbl:3 ../gui/selinux.tbl:70
++#: ../gui/selinux.tbl:153 ../gui/selinux.tbl:168 ../gui/selinux.tbl:169
++#: ../gui/selinux.tbl:170 ../gui/selinux.tbl:189 ../gui/selinux.tbl:202
++#: ../gui/selinux.tbl:203 ../gui/selinux.tbl:204 ../gui/selinux.tbl:205
++msgid "Admin"
++msgstr ""
++
++#: ../gui/selinux.tbl:2
++msgid "Allow all daemons to write corefiles to /"
++msgstr ""
++
++#: ../gui/selinux.tbl:3
++msgid "Allow all daemons the ability to use unallocated ttys"
++msgstr ""
++
++#: ../gui/selinux.tbl:4 ../gui/selinux.tbl:5 ../gui/selinux.tbl:11
++#: ../gui/selinux.tbl:12 ../gui/selinux.tbl:13 ../gui/selinux.tbl:15
++#: ../gui/selinux.tbl:20 ../gui/selinux.tbl:41 ../gui/selinux.tbl:208
++#: ../gui/selinux.tbl:210 ../gui/selinux.tbl:211 ../gui/selinux.tbl:212
++#: ../gui/selinux.tbl:213 ../gui/selinux.tbl:214 ../gui/selinux.tbl:215
++#: ../gui/selinux.tbl:216 ../gui/selinux.tbl:217
++msgid "User Privs"
++msgstr ""
++
++#: ../gui/selinux.tbl:4
++msgid ""
++"Allow gadmin SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:5
++msgid ""
++"Allow guest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:6 ../gui/selinux.tbl:9 ../gui/selinux.tbl:16
++msgid "Memory Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:6
++msgid "Allow java executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:7 ../gui/selinux.tbl:8 ../gui/selinux.tbl:35
++#: ../gui/selinux.tbl:209
++msgid "Mount"
++msgstr ""
++
++#: ../gui/selinux.tbl:7
++msgid "Allow mount to mount any file"
++msgstr ""
++
++#: ../gui/selinux.tbl:8
++msgid "Allow mount to mount any directory"
++msgstr ""
++
++#: ../gui/selinux.tbl:9
++msgid "Allow mplayer executable stack"
++msgstr ""
++
++#: ../gui/selinux.tbl:10 ../gui/selinux.tbl:162 ../gui/selinux.tbl:187
++#: ../gui/selinux.tbl:188
++msgid "SSH"
++msgstr ""
++
++#: ../gui/selinux.tbl:10
++msgid "Allow ssh to run ssh-keysign"
++msgstr ""
++
++#: ../gui/selinux.tbl:11
++msgid ""
++"Allow staff SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:12
++msgid ""
++"Allow sysadm SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:13
++msgid ""
++"Allow unconfined SELinux user account to execute files in home directory or /"
++"tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Network Configuration"
++msgstr ""
++
++#: ../gui/selinux.tbl:14
++msgid "Allow unlabeled packets to flow on the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:15
++msgid ""
++"Allow user SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:16
++msgid "Allow unconfined to dyntrans to unconfined_execmem"
++msgstr ""
++
++#: ../gui/selinux.tbl:17 ../gui/selinux.tbl:18 ../gui/selinux.tbl:120
++#: ../gui/selinux.tbl:140
++msgid "Databases"
++msgstr ""
++
++#: ../gui/selinux.tbl:17
++msgid "Allow user to connect to mysql socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:18
++msgid "Allow user to connect to postgres socket"
++msgstr ""
++
++#: ../gui/selinux.tbl:19 ../gui/selinux.tbl:165 ../gui/selinux.tbl:223
++msgid "XServer"
++msgstr ""
++
++#: ../gui/selinux.tbl:19
++msgid "Allow clients to write to X shared memory"
++msgstr ""
++
++#: ../gui/selinux.tbl:20
++msgid ""
++"Allow xguest SELinux user account to execute files in home directory or /tmp"
++msgstr ""
++
++#: ../gui/selinux.tbl:21 ../gui/selinux.tbl:228 ../gui/selinux.tbl:229
++#: ../gui/selinux.tbl:231
++msgid "NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:21
++msgid "Allow daemons to run with NIS"
++msgstr ""
++
++#: ../gui/selinux.tbl:22 ../gui/selinux.tbl:23 ../gui/selinux.tbl:24
++#: ../gui/selinux.tbl:25 ../gui/selinux.tbl:26 ../gui/selinux.tbl:27
++#: ../gui/selinux.tbl:28 ../gui/selinux.tbl:29 ../gui/selinux.tbl:71
++#: ../gui/selinux.tbl:73 ../gui/selinux.tbl:74 ../gui/selinux.tbl:115
++#: ../gui/selinux.tbl:118
++msgid "Web Applications"
++msgstr ""
++
++#: ../gui/selinux.tbl:22
++msgid "Transition staff SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:23
++msgid "Transition sysadm SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:24
++msgid "Transition user SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:25
++msgid "Transition xguest SELinux user to Web Browser Domain"
++msgstr ""
++
++#: ../gui/selinux.tbl:26 ../gui/selinux.tbl:27 ../gui/selinux.tbl:28
++#: ../gui/selinux.tbl:29
++msgid "Allow staff Web Browsers to write to home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:30
++msgid "Disable SELinux protection for amanda"
++msgstr ""
++
++#: ../gui/selinux.tbl:31
++msgid "Disable SELinux protection for amavis"
++msgstr ""
++
++#: ../gui/selinux.tbl:32
++msgid "Disable SELinux protection for apmd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:33
++msgid "Disable SELinux protection for arpwatch daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:34
++msgid "Disable SELinux protection for auditd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:35
++msgid "Disable SELinux protection for automount daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:36
++msgid "Disable SELinux protection for avahi"
++msgstr ""
++
++#: ../gui/selinux.tbl:37
++msgid "Disable SELinux protection for bluetooth daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:38
++msgid "Disable SELinux protection for canna daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:39
++msgid "Disable SELinux protection for cardmgr daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:40
++msgid "Disable SELinux protection for Cluster Server"
++msgstr ""
++
++#: ../gui/selinux.tbl:41
++msgid ""
++"Allow cdrecord to read various content. nfs, samba, removable devices, user "
++"temp and untrusted content files"
++msgstr ""
++
++#: ../gui/selinux.tbl:42
++msgid "Disable SELinux protection for ciped daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:43
++msgid "Disable SELinux protection for clamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:44
++msgid "Disable SELinux protection for clamscan"
++msgstr ""
++
++#: ../gui/selinux.tbl:45
++msgid "Disable SELinux protection for clvmd"
++msgstr ""
++
++#: ../gui/selinux.tbl:46
++msgid "Disable SELinux protection for comsat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:47 ../gui/selinux.tbl:48 ../gui/selinux.tbl:49
++#: ../gui/selinux.tbl:50 ../gui/selinux.tbl:51
++msgid "Disable SELinux protection for courier daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:52
++msgid "Disable SELinux protection for cpucontrol daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:53
++msgid "Disable SELinux protection for cpuspeed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Cron"
++msgstr ""
++
++#: ../gui/selinux.tbl:54
++msgid "Disable SELinux protection for crond daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:55 ../gui/selinux.tbl:56 ../gui/selinux.tbl:57
++#: ../gui/selinux.tbl:91
++msgid "Printing"
++msgstr ""
++
++#: ../gui/selinux.tbl:55
++msgid "Disable SELinux protection for cupsd back end server"
++msgstr ""
++
++#: ../gui/selinux.tbl:56
++msgid "Disable SELinux protection for cupsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:57
++msgid "Disable SELinux protection for cupsd_lpd"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "CVS"
++msgstr ""
++
++#: ../gui/selinux.tbl:58
++msgid "Disable SELinux protection for cvs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:59
++msgid "Disable SELinux protection for cyrus daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:60
++msgid "Disable SELinux protection for dbskkd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:61
++msgid "Disable SELinux protection for dbusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:62
++msgid "Disable SELinux protection for dccd"
++msgstr ""
++
++#: ../gui/selinux.tbl:63
++msgid "Disable SELinux protection for dccifd"
++msgstr ""
++
++#: ../gui/selinux.tbl:64
++msgid "Disable SELinux protection for dccm"
++msgstr ""
++
++#: ../gui/selinux.tbl:65
++msgid "Disable SELinux protection for ddt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:66
++msgid "Disable SELinux protection for devfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:67
++msgid "Disable SELinux protection for dhcpc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:68
++msgid "Disable SELinux protection for dhcpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:69
++msgid "Disable SELinux protection for dictd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:70
++msgid "Allow sysadm_t to directly start daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:71
++msgid "Disable SELinux protection for Evolution"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Games"
++msgstr ""
++
++#: ../gui/selinux.tbl:72
++msgid "Disable SELinux protection for games"
++msgstr ""
++
++#: ../gui/selinux.tbl:73
++msgid "Disable SELinux protection for the web browsers"
++msgstr ""
++
++#: ../gui/selinux.tbl:74
++msgid "Disable SELinux protection for Thunderbird"
++msgstr ""
++
++#: ../gui/selinux.tbl:75
++msgid "Disable SELinux protection for distccd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:76
++msgid "Disable SELinux protection for dmesg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:77
++msgid "Disable SELinux protection for dnsmasq daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:78
++msgid "Disable SELinux protection for dovecot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:79
++msgid "Disable SELinux protection for entropyd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:80
++msgid "Disable SELinux protection for fetchmail"
++msgstr ""
++
++#: ../gui/selinux.tbl:81
++msgid "Disable SELinux protection for fingerd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:82
++msgid "Disable SELinux protection for freshclam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:83
++msgid "Disable SELinux protection for fsdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:84
++msgid "Disable SELinux protection for gpm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:85 ../gui/selinux.tbl:125
++msgid "NFS"
++msgstr ""
++
++#: ../gui/selinux.tbl:85
++msgid "Disable SELinux protection for gss daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:86
++msgid "Disable SELinux protection for Hal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid "Compatibility"
++msgstr ""
++
++#: ../gui/selinux.tbl:87
++msgid ""
++"Do not audit things that we know to be broken but which are not security "
++"risks"
++msgstr ""
++
++#: ../gui/selinux.tbl:88
++msgid "Disable SELinux protection for hostname daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:89
++msgid "Disable SELinux protection for hotplug daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:90
++msgid "Disable SELinux protection for howl daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:91
++msgid "Disable SELinux protection for cups hplip daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:92
++msgid "Disable SELinux protection for httpd rotatelogs"
++msgstr ""
++
++#: ../gui/selinux.tbl:93 ../gui/selinux.tbl:232 ../gui/selinux.tbl:233
++msgid "HTTPD Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:93
++msgid "Disable SELinux protection for http suexec"
++msgstr ""
++
++#: ../gui/selinux.tbl:94
++msgid "Disable SELinux protection for hwclock daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:95
++msgid "Disable SELinux protection for i18n daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:96
++msgid "Disable SELinux protection for imazesrv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:97
++msgid "Disable SELinux protection for inetd child daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:98
++msgid "Disable SELinux protection for inetd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:99
++msgid "Disable SELinux protection for innd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:100
++msgid "Disable SELinux protection for iptables daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:101
++msgid "Disable SELinux protection for ircd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:102
++msgid "Disable SELinux protection for irqbalance daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:103
++msgid "Disable SELinux protection for iscsi daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:104
++msgid "Disable SELinux protection for jabberd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:105 ../gui/selinux.tbl:107
++msgid "Kerberos"
++msgstr ""
++
++#: ../gui/selinux.tbl:105
++msgid "Disable SELinux protection for kadmind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:106
++msgid "Disable SELinux protection for klogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:107
++msgid "Disable SELinux protection for krb5kdc daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:108
++msgid "Disable SELinux protection for ktalk daemons"
++msgstr ""
++
++#: ../gui/selinux.tbl:109
++msgid "Disable SELinux protection for kudzu daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:110
++msgid "Disable SELinux protection for locate daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:111
++msgid "Disable SELinux protection for lpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:112
++msgid "Disable SELinux protection for lrrd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:113
++msgid "Disable SELinux protection for lvm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:114
++msgid "Disable SELinux protection for mailman"
++msgstr ""
++
++#: ../gui/selinux.tbl:115
++msgid "Allow evolution and thunderbird to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:116
++msgid "Disable SELinux protection for mdadm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:117
++msgid "Disable SELinux protection for monopd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:118
++msgid "Allow the mozilla browser to read user files"
++msgstr ""
++
++#: ../gui/selinux.tbl:119
++msgid "Disable SELinux protection for mrtg daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:120
++msgid "Disable SELinux protection for mysqld daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:121
++msgid "Disable SELinux protection for nagios daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:122 ../gui/selinux.tbl:128
++msgid "Name Service"
++msgstr ""
++
++#: ../gui/selinux.tbl:122
++msgid "Disable SELinux protection for named daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:123
++msgid "Disable SELinux protection for nessusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:124
++msgid "Disable SELinux protection for NetworkManager"
++msgstr ""
++
++#: ../gui/selinux.tbl:125
++msgid "Disable SELinux protection for nfsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:126 ../gui/selinux.tbl:163 ../gui/selinux.tbl:176
++#: ../gui/selinux.tbl:221
++msgid "Samba"
++msgstr ""
++
++#: ../gui/selinux.tbl:126
++msgid "Disable SELinux protection for nmbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:127
++msgid "Disable SELinux protection for nrpe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:128
++msgid "Disable SELinux protection for nscd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:129
++msgid "Disable SELinux protection for nsd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:130
++msgid "Disable SELinux protection for ntpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:131
++msgid "Disable SELinux protection for oddjob"
++msgstr ""
++
++#: ../gui/selinux.tbl:132
++msgid "Disable SELinux protection for oddjob_mkhomedir"
++msgstr ""
++
++#: ../gui/selinux.tbl:133
++msgid "Disable SELinux protection for openvpn daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:134
++msgid "Disable SELinux protection for pam daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:135
++msgid "Disable SELinux protection for pegasus"
++msgstr ""
++
++#: ../gui/selinux.tbl:136
++msgid "Disable SELinux protection for perdition daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:137
++msgid "Disable SELinux protection for portmap daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:138
++msgid "Disable SELinux protection for portslave daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:139
++msgid "Disable SELinux protection for postfix"
++msgstr ""
++
++#: ../gui/selinux.tbl:140
++msgid "Disable SELinux protection for postgresql daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "pppd"
++msgstr ""
++
++#: ../gui/selinux.tbl:141
++msgid "Allow pppd to be run for a regular user"
++msgstr ""
++
++#: ../gui/selinux.tbl:142
++msgid "Disable SELinux protection for pptp"
++msgstr ""
++
++#: ../gui/selinux.tbl:143
++msgid "Disable SELinux protection for prelink daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:144
++msgid "Disable SELinux protection for privoxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:145
++msgid "Disable SELinux protection for ptal daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:146
++msgid "Disable SELinux protection for pxe daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:147
++msgid "Disable SELinux protection for pyzord"
++msgstr ""
++
++#: ../gui/selinux.tbl:148
++msgid "Disable SELinux protection for quota daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:149
++msgid "Disable SELinux protection for radiusd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:150
++msgid "Disable SELinux protection for radvd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:151
++msgid "Disable SELinux protection for rdisc"
++msgstr ""
++
++#: ../gui/selinux.tbl:152
++msgid "Disable SELinux protection for readahead"
++msgstr ""
++
++#: ../gui/selinux.tbl:153
++msgid "Allow programs to read files in non-standard locations (default_t)"
++msgstr ""
++
++#: ../gui/selinux.tbl:154
++msgid "Disable SELinux protection for restorecond"
++msgstr ""
++
++#: ../gui/selinux.tbl:155
++msgid "Disable SELinux protection for rhgb daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:156
++msgid "Disable SELinux protection for ricci"
++msgstr ""
++
++#: ../gui/selinux.tbl:157
++msgid "Disable SELinux protection for ricci_modclusterd"
++msgstr ""
++
++#: ../gui/selinux.tbl:158
++msgid "Disable SELinux protection for rlogind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:159
++msgid "Disable SELinux protection for rpcd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:160
++msgid "Disable SELinux protection for rshd"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "rsync"
++msgstr ""
++
++#: ../gui/selinux.tbl:161
++msgid "Disable SELinux protection for rsync daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:162
++msgid "Allow ssh to run from inetd instead of as a daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:163
++msgid "Allow Samba to share nfs directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:164 ../gui/selinux.tbl:166
++msgid "SASL authentication server"
++msgstr ""
++
++#: ../gui/selinux.tbl:164
++msgid "Allow sasl authentication server to read /etc/shadow"
++msgstr ""
++
++#: ../gui/selinux.tbl:165
++msgid ""
++"Allow X-Windows server to map a memory region as both executable and writable"
++msgstr ""
++
++#: ../gui/selinux.tbl:166
++msgid "Disable SELinux protection for saslauthd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:167
++msgid "Disable SELinux protection for scannerdaemon daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:168
++msgid "Do not allow transition to sysadm_t, sudo and su effected"
++msgstr ""
++
++#: ../gui/selinux.tbl:169
++msgid "Do not allow any processes to load kernel modules"
++msgstr ""
++
++#: ../gui/selinux.tbl:170
++msgid "Do not allow any processes to modify kernel SELinux policy"
++msgstr ""
++
++#: ../gui/selinux.tbl:171
++msgid "Disable SELinux protection for sendmail daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:172
++msgid "Disable SELinux protection for setrans"
++msgstr ""
++
++#: ../gui/selinux.tbl:173
++msgid "Disable SELinux protection for setroubleshoot daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:174
++msgid "Disable SELinux protection for slapd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:175
++msgid "Disable SELinux protection for slrnpull daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:176
++msgid "Disable SELinux protection for smbd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:177
++msgid "Disable SELinux protection for snmpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:178
++msgid "Disable SELinux protection for snort daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:179
++msgid "Disable SELinux protection for soundd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:180
++msgid "Disable SELinux protection for sound daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:181 ../gui/selinux.tbl:182 ../gui/selinux.tbl:183
++msgid "Spam Protection"
++msgstr ""
++
++#: ../gui/selinux.tbl:181
++msgid "Disable SELinux protection for spamd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:182
++msgid "Allow spamd to access home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:183
++msgid "Allow Spam Assassin daemon network access"
++msgstr ""
++
++#: ../gui/selinux.tbl:184
++msgid "Disable SELinux protection for speedmgmt daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:185 ../gui/selinux.tbl:186
++msgid "Squid"
++msgstr ""
++
++#: ../gui/selinux.tbl:185
++msgid "Allow squid daemon to connect to the network"
++msgstr ""
++
++#: ../gui/selinux.tbl:186
++msgid "Disable SELinux protection for squid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:187
++msgid "Disable SELinux protection for ssh daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:188
++msgid "Allow ssh logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:189
++msgid ""
++"Allow staff_r users to search the sysadm home dir and read files (such as ~/."
++"bashrc)"
++msgstr ""
++
++#: ../gui/selinux.tbl:190 ../gui/selinux.tbl:191
++msgid "Universal SSL tunnel"
++msgstr ""
++
++#: ../gui/selinux.tbl:190
++msgid "Disable SELinux protection for stunnel daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:191
++msgid "Allow stunnel daemon to run as standalone, outside of xinetd"
++msgstr ""
++
++#: ../gui/selinux.tbl:192
++msgid "Disable SELinux protection for swat daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:193
++msgid "Disable SELinux protection for sxid daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:194
++msgid "Disable SELinux protection for syslogd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:195
++msgid "Disable SELinux protection for system cron jobs"
++msgstr ""
++
++#: ../gui/selinux.tbl:196
++msgid "Disable SELinux protection for tcp daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:197
++msgid "Disable SELinux protection for telnet daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:198
++msgid "Disable SELinux protection for tftpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:199
++msgid "Disable SELinux protection for transproxy daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:200
++msgid "Disable SELinux protection for udev daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:201
++msgid "Disable SELinux protection for uml daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:202
++msgid ""
++"Allow xinetd to run unconfined, including any services it starts that do not "
++"have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:203
++msgid ""
++"Allow rc scripts to run unconfined, including any daemon started by an rc "
++"script that does not have a domain transition explicitly defined"
++msgstr ""
++
++#: ../gui/selinux.tbl:204
++msgid "Allow rpm to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:205
++msgid "Allow privileged utilities like hotplug and insmod to run unconfined"
++msgstr ""
++
++#: ../gui/selinux.tbl:206
++msgid "Disable SELinux protection for updfstab daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:207
++msgid "Disable SELinux protection for uptimed daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:208
++msgid ""
++"Allow user_r to reach sysadm_r via su, sudo, or userhelper. Otherwise, only "
++"staff_r can do so"
++msgstr ""
++
++#: ../gui/selinux.tbl:209
++msgid "Allow users to execute the mount command"
++msgstr ""
++
++#: ../gui/selinux.tbl:210
++msgid "Allow regular users direct mouse access (only allow the X server)"
++msgstr ""
++
++#: ../gui/selinux.tbl:211
++msgid "Allow users to run the dmesg command"
++msgstr ""
++
++#: ../gui/selinux.tbl:212
++msgid "Allow users to control network interfaces (also needs USERCTL=true)"
++msgstr ""
++
++#: ../gui/selinux.tbl:213
++msgid "Allow normal user to execute ping"
++msgstr ""
++
++#: ../gui/selinux.tbl:214
++msgid "Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)"
++msgstr ""
++
++#: ../gui/selinux.tbl:215
++msgid "Allow users to rw usb devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:216
++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 ""
++
++#: ../gui/selinux.tbl:217
++msgid "Allow user to stat ttyfiles"
++msgstr ""
++
++#: ../gui/selinux.tbl:218
++msgid "Disable SELinux protection for uucpd daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:219
++msgid "Disable SELinux protection for vmware daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:220
++msgid "Disable SELinux protection for watchdog daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:221
++msgid "Disable SELinux protection for winbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:222
++msgid "Disable SELinux protection for xdm daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:223
++msgid "Allow xdm logins as sysadm_r:sysadm_t"
++msgstr ""
++
++#: ../gui/selinux.tbl:224
++msgid "Disable SELinux protection for xen daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "XEN"
++msgstr ""
++
++#: ../gui/selinux.tbl:225
++msgid "Allow xen to read/write physical disk devices"
++msgstr ""
++
++#: ../gui/selinux.tbl:226
++msgid "Disable SELinux protection for xfs daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:227
++msgid "Disable SELinux protection for xen control"
++msgstr ""
++
++#: ../gui/selinux.tbl:228
++msgid "Disable SELinux protection for ypbind daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:229
++msgid "Disable SELinux protection for NIS Password Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:230
++msgid "Disable SELinux protection for ypserv daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:231
++msgid "Disable SELinux protection for NIS Transfer Daemon"
++msgstr ""
++
++#: ../gui/selinux.tbl:232
++msgid "Allow SELinux webadm user to manage unprivileged users home directories"
++msgstr ""
++
++#: ../gui/selinux.tbl:233
++msgid "Allow SELinux webadm user to read unprivileged users home directories"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Are you sure you want to delete %s '%s'?"
++msgstr ""
++
++#: ../gui/semanagePage.py:126
++#, python-format
++msgid "Delete %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:134
++#, python-format
++msgid "Add %s"
++msgstr ""
++
++#: ../gui/semanagePage.py:148
++#, python-format
++msgid "Modify %s"
++msgstr ""
++
++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3217
++msgid "Permissive"
++msgstr ""
++
++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3235
++msgid "Enforcing"
++msgstr ""
++
++#: ../gui/statusPage.py:75
++msgid "Disabled"
++msgstr ""
++
++#: ../gui/statusPage.py:94
++msgid "Status"
++msgstr ""
++
++#: ../gui/statusPage.py:133
++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
++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 "
++"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?"
++msgstr ""
++
++#: ../gui/statusPage.py:152
++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 "
++"file system.  Do you wish to continue?"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:11
++msgid "system-config-selinux"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:12
++msgid ""
++"Copyright (c)2006 Red Hat, Inc.\n"
++"Copyright (c) 2006 Dan Walsh <dwalsh@redhat.com>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:22
++#: ../gui/system-config-selinux.glade:544
++#: ../gui/system-config-selinux.glade:736
++msgid "Add SELinux Login Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:257
++msgid "Add SELinux Network Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:391
++#: ../gui/system-config-selinux.glade:870
++msgid "SELinux Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:622
++msgid ""
++"SELinux MLS/MCS\n"
++"Level"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:814
++msgid "File Specification"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:842
++msgid "File Type"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:919
++msgid ""
++"all files\n"
++"regular file\n"
++"directory\n"
++"character device\n"
++"block device\n"
++"socket\n"
++"symbolic link\n"
++"named pipe\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:965
++msgid "MLS"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1029
++msgid "Add SELinux User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1271
++msgid "SELinux Administration"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1314
++msgid "Add"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1336
++msgid "_Properties"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1358
++msgid "_Delete"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1449
++msgid "Select Management Object"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1466
++msgid "<b>Select:</b>"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1519
++msgid "System Default Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1547
++msgid ""
++"Disabled\n"
++"Permissive\n"
++"Enforcing\n"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1566
++msgid "Current Enforcing Mode"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1611
++msgid "System Default Policy Type: "
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1656
++msgid ""
++"Select if you wish to relabel then entire file system on next reboot.  "
++"Relabeling can take a very long time, depending on the size of the system.  "
++"If you are changing policy types or going from disabled to enforcing, a "
++"relabel is required."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1702
++msgid "Relabel on next reboot."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1754
++msgid "label37"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1791
++msgid "Revert boolean setting to system default"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1807
++msgid "Toggle between Customized and All Booleans"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1825
++msgid "Run booleans lockdown wizard"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1826
++msgid "Lockdown..."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1856
++#: ../gui/system-config-selinux.glade:2061
++#: ../gui/system-config-selinux.glade:2248
++#: ../gui/system-config-selinux.glade:2435
++#: ../gui/system-config-selinux.glade:2622
++#: ../gui/system-config-selinux.glade:2865
++#: ../gui/system-config-selinux.glade:3090
++#: ../gui/system-config-selinux.glade:3265
++msgid "Filter"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1945
++msgid "label50"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1982
++msgid "Add File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:1998
++msgid "Modify File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2014
++msgid "Delete File Context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2030
++msgid "Toggle between all and customized file context"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2150
++msgid "label38"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2187
++msgid "Add SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2203
++msgid "Modify SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2219
++msgid "Delete SELinux User Mapping"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2337
++msgid "label39"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2374
++msgid "Add User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2390
++msgid "Modify User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2406
++msgid "Delete User"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2524
++msgid "label41"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2561
++msgid "Add Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2577
++msgid "Modify Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2593
++msgid "Delete Translation"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2711
++msgid "label40"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2748
++msgid "Add Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2764
++msgid "Edit Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2780
++msgid "Delete Network Port"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2816
++#: ../gui/system-config-selinux.glade:2834
++msgid "Toggle between Customized and All Ports"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2954
++msgid "label42"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:2991
++msgid "Generate new policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3007
++msgid "Load policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3023
++msgid "Remove loadable policy module"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3059
++msgid ""
++"Enable/Disable additional audit rules, that are normally not reported in the "
++"log files."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3179
++msgid "label44"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3216
++msgid "Change process mode to permissive."
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3234
++msgid "Change process mode to enforcing"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3326
++msgid "Process Domain"
++msgstr ""
++
++#: ../gui/system-config-selinux.glade:3354
++msgid "label59"
++msgstr ""
++
++#: ../gui/usersPage.py:138
++#, python-format
++msgid "SELinux user '%s' is required"
++msgstr ""
diff --git a/policycoreutils/patches/policycoreutils-rhat.patch b/policycoreutils/patches/policycoreutils-rhat.patch
new file mode 100644 (file)
index 0000000..a0eb0ff
--- /dev/null
@@ -0,0 +1,1222 @@
+diff -Nur a/Makefile b/Makefile
+--- a/Makefile 2011-11-04 14:38:45.000000000 +0100
++++ b/Makefile 2011-11-27 18:02:23.488513229 +0100
+@@ -1,4 +1,4 @@
+-SUBDIRS = setfiles semanage load_policy newrole run_init sandbox secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool po
++SUBDIRS = setfiles semanage semanage/default_encoding load_policy newrole run_init sandbox secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool po
+ INOTIFYH = $(shell ls /usr/include/sys/inotify.h 2>/dev/null)
+diff -Nur a/newrole/newrole.c b/newrole/newrole.c
+--- a/newrole/newrole.c        2011-11-04 14:38:45.000000000 +0100
++++ b/newrole/newrole.c        2011-11-27 18:02:23.489513229 +0100
+@@ -543,13 +543,13 @@
+ #if defined(AUDIT_LOG_PRIV) && !defined(NAMESPACE_PRIV)
+ static int drop_capabilities(int full)
+ {
++      uid_t uid = getuid();
++      if (!uid) return 0;
++
+       capng_clear(CAPNG_SELECT_BOTH);
+       if (capng_lock() < 0) 
+               return -1;
+-      uid_t uid = getuid();
+-      if (!uid) return 0;
+-
+       /* Change uid */
+       if (setresuid(uid, uid, uid)) {
+               fprintf(stderr, _("Error changing uid, aborting.\n"));
+@@ -1030,10 +1030,11 @@
+        * if it makes sense to continue to run newrole, and setting up
+        * a scrubbed environment.
+        */
+-      if (drop_capabilities(FALSE)) {
++/*    if (drop_capabilities(FALSE)) {
+               perror(_("Sorry, newrole failed to drop capabilities\n"));
+               return -1;
+       }
++*/
+       if (set_signal_handles())
+               return -1;
+diff -Nur a/po/Makefile b/po/Makefile
+--- a/po/Makefile      2011-11-04 14:38:45.000000000 +0100
++++ b/po/Makefile      2011-11-27 18:02:23.495513229 +0100
+@@ -7,7 +7,7 @@
+ # What is this package?
+ NLSPACKAGE    = policycoreutils
+ POTFILE               = $(NLSPACKAGE).pot
+-INSTALL               = /usr/bin/install -c
++INSTALL               = /usr/bin/install -c -p
+ INSTALL_DATA  = $(INSTALL) -m 644
+ INSTALL_DIR   = /usr/bin/install -d
+diff -Nur a/restorecond/restorecond.c b/restorecond/restorecond.c
+--- a/restorecond/restorecond.c        2011-11-04 14:38:44.000000000 +0100
++++ b/restorecond/restorecond.c        2011-11-27 18:02:23.496513229 +0100
+@@ -140,6 +140,7 @@
+ {
+       int opt;
+       struct sigaction sa;
++      const char *null_array[1] = { NULL };
+       memset(&r_opts, 0, sizeof(r_opts));
+@@ -160,6 +161,7 @@
+       r_opts.fts_flags = FTS_PHYSICAL;
+       r_opts.selabel_opt_validate = NULL;
+       r_opts.selabel_opt_path = NULL;
++      r_opts.selabel_opt_prefixes = null_array;
+       r_opts.ignore_enoent = 1;
+       restore_init(&r_opts);
+diff -Nur a/run_init/run_init.c b/run_init/run_init.c
+--- a/run_init/run_init.c      2011-11-04 14:38:45.000000000 +0100
++++ b/run_init/run_init.c      2011-11-27 18:02:23.497513229 +0100
+@@ -414,10 +414,17 @@
+        * execvp or using a exec(1) recycles pty's, and does not open a new
+        * one. 
+        */
++#ifdef USE_OPEN_INIT_PTY
+       if (execvp("/usr/sbin/open_init_pty", argv)) {
+               perror("execvp");
+               exit(-1);
+       }
++#else
++      if (execvp(argv[1], argv + 1)) {
++              perror("execvp");
++              exit(-1);
++      }
++#endif
+       return 0;
+ }                             /* main() */
+diff -Nur a/sandbox/Makefile b/sandbox/Makefile
+--- a/sandbox/Makefile 2011-11-04 14:38:45.000000000 +0100
++++ b/sandbox/Makefile 2011-11-27 18:02:23.518513231 +0100
+@@ -23,7 +23,7 @@
+       install -m 644 sandbox.8 $(MANDIR)/man8/
+       install -m 644 seunshare.8 $(MANDIR)/man8/
+       -mkdir -p $(MANDIR)/man5
+-      install -m 644 sandbox.conf.5 $(MANDIR)/man5/
++      install -m 644 sandbox.5 $(MANDIR)/man5/sandbox.5
+       -mkdir -p $(SBINDIR)
+       install -m 4755 seunshare $(SBINDIR)/
+       -mkdir -p $(SHAREDIR)
+diff -Nur a/sandbox/sandbox b/sandbox/sandbox
+--- a/sandbox/sandbox  2011-11-04 14:38:45.000000000 +0100
++++ b/sandbox/sandbox  2011-11-27 18:02:23.519513231 +0100
+@@ -118,10 +118,30 @@
+     sock.bind("\0%s" % level)
+     fcntl.fcntl(sock.fileno(), fcntl.F_SETFD, fcntl.FD_CLOEXEC)
++def get_range():
++       try:
++              level =selinux.getcon_raw()[1].split(":")[4]
++              lowc,highc = level.split(".")
++              low = int(lowc[1:])
++              high = int(highc[1:])+1
++              if high - low < 100:
++                     raise IndexError
++                     
++              return low,high
++       except IndexError:
++              raise ValueError(_("User account must be setup with an MCS Range with more then 100 categories"))
++
+ def gen_mcs():
+-       while True:
+-              i1 = random.randrange(0, 1024)
+-              i2 = random.randrange(0, 1024)
++       low, high = get_range()
++
++       level = None
++       ctr = 0
++       total = high-low 
++       total = (total * total)/2 - total
++       while ctr < total:
++              ctr += 1
++              i1 = random.randrange(low, high)
++              i2 = random.randrange(low, high)
+               if i1 == i2:
+                      continue
+               if i1 > i2:
+@@ -134,7 +154,10 @@
+               except socket.error:
+                      continue
+               break
+-       return level
++       if level:
++              return level
++       raise ValueError(_("Failed to find any unused categories"))
++       
+ def fullpath(cmd):
+        for i in [ "/", "./", "../" ]:
+@@ -160,6 +183,17 @@
+         self.__level = None
+         self.__homedir = None
+         self.__tmpdir = None
++        self.__set_dpi()
++    
++    def __set_dpi(self):
++        rc, out = commands.getstatusoutput("/usr/bin/xrdb -query")
++        if rc != 0:
++               self.dpi = 96
++        else:
++               for i in out.split("\n"):
++                      if i.startswith("Xft.dpi:"):
++                             self.dpi = i.split()[1]
++                             break;
+     def __validate_mount(self):
+            if self.__options.level:
+@@ -278,6 +312,9 @@
+                           action="callback", callback=self.__mount_callback, 
+                           help=_("mount new home and/or tmp directory"))
++        parser.add_option("-d", "--dpi", 
++                          dest="dpi", action="store",default=self.dpi,
++                          help=_("dots per inch for X display: (%s)" % self.dpi))
+         parser.add_option("-S", "--session", action="store_true",  dest="session", 
+                           default=False,  help=_("run complete desktop session within sandbox"))
+@@ -322,7 +359,7 @@
+         if self.__options.X_ind:
+                self.setype = DEFAULT_X_TYPE
+-               self.dpi=commands.getoutput("xrdb -query | grep dpi  | /bin/cut -f 2")
++
+         if self.__options.setype:
+                self.setype = self.__options.setype
+@@ -408,7 +445,7 @@
+                                 self.__setup_sandboxrc(self.__options.wm)
+-                                cmds += [ "--", SANDBOXSH, self.__options.windowsize, self.dpi ]
++                                cmds += [ "--", SANDBOXSH, self.__options.windowsize, self.__options.dpi ]
+                          else:
+                                 cmds += [ "--" ] + self.__paths
+                          return subprocess.Popen(cmds).wait()
+diff -Nur a/sandbox/sandbox.5 b/sandbox/sandbox.5
+--- a/sandbox/sandbox.5        1970-01-01 01:00:00.000000000 +0100
++++ b/sandbox/sandbox.5        2011-11-27 18:02:23.520513231 +0100
+@@ -0,0 +1,40 @@
++.TH sandbox.conf "5" "June 2010" "sandbox.conf" "Linux System Administration"
++.SH NAME
++sandbox.conf \- user config file for the SELinux sandbox
++.SH DESCRIPTION
++.PP
++When running sandbox with the -C argument, it will be confined using control groups and a system administrator can specify how the sandbox is confined.
++
++.PP
++Everything after "#" is ignored, as are empty lines.  All arguments should be separated by and equals sign ("=").
++
++.PP
++These keywords are allowed.
++
++.RS
++.TP
++.B NAME
++The name of the sandbox control group.  Default is "sandbox".
++
++.TP
++.B CPUAFFINITY
++Which cpus to assign sandbox to.  The default is ALL, but users can specify a comma-separated list with dashes ("-") to represent ranges.  Ex: 0-2,5
++
++.TP
++.B MEMUSAGE
++How much memory to allow sandbox to use.  The default is 80%.  Users can specify either a percentage or a value in the form of a number followed by one of the suffixes K, M, G to denote kilobytes, megabytes or gigabytes respectively.  Ex: 50% or 100M
++
++.TP
++.B CPUUSAGE
++Percentage of cpu sandbox should be allowed to use.  The default is 80%.  Specify a value followed by a percent sign ("%"). Ex: 50%
++
++
++
++.SH "SEE ALSO"
++.TP
++sandbox(8)
++.PP
++
++.SH AUTHOR
++This manual page was written by
++.I Thomas Liu <tliu@fedoraproject.org>
+diff -Nur a/sandbox/sandbox.8 b/sandbox/sandbox.8
+--- a/sandbox/sandbox.8        2011-11-04 14:38:45.000000000 +0100
++++ b/sandbox/sandbox.8        2011-11-27 18:02:23.520513231 +0100
+@@ -3,11 +3,11 @@
+ sandbox \- Run cmd under an SELinux sandbox
+ .SH SYNOPSIS
+ .B sandbox
+-[-C] [-c] [-l level ] [[-M | -X]  -H homedir -T tempdir ] [-I includefile ] [ -W windowmanager ] [ -w windowsize ] [[-i file ]...] [ -t type ] cmd
++[-C] [-c] [ -d DPI ] [-l level ] [[-M | -X]  -H homedir -T tempdir ] [-I includefile ] [ -W windowmanager ] [ -w windowsize ] [[-i file ]...] [ -t type ] cmd
+ .br
+ .B sandbox
+-[-C] [-c] [-l level ] [[-M | -X]  -H homedir -T tempdir ] [-I includefile ] [ -W windowmanager ] [ -w windowsize ] [[-i file ]...] [ -t type ] -S
++[-C] [-c] [ -d DPI ] [-l level ] [[-M | -X]  -H homedir -T tempdir ] [-I includefile ] [ -W windowmanager ] [ -w windowsize ] [[-i file ]...] [ -t type ] -S
+ .br
+ .SH DESCRIPTION
+ .PP
+@@ -60,6 +60,9 @@
+ Create an X based Sandbox for gui apps, temporary files for
+ $HOME and /tmp, secondary Xserver, defaults to sandbox_x_t
+ .TP
++\fB\-d\fR
++Set the DPI value for the sanbox X Server. Defaults to the current X Sever DPI.
++.TP
+ \fB\-c\fR
+ Use control groups to control this copy of sandbox.  Specify parameters in /etc/sysconfig/sandbox.  Max memory usage and cpu usage are to be specified in percent.  You can specify which CPUs to use by numbering them 0,1,2... etc.
+ .TP
+diff -Nur a/sandbox/sandbox.conf.5 b/sandbox/sandbox.conf.5
+--- a/sandbox/sandbox.conf.5   2011-11-04 14:38:45.000000000 +0100
++++ b/sandbox/sandbox.conf.5   1970-01-01 01:00:00.000000000 +0100
+@@ -1,40 +0,0 @@
+-.TH sandbox.conf "5" "June 2010" "sandbox.conf" "Linux System Administration"
+-.SH NAME
+-sandbox.conf \- user config file for the SELinux sandbox
+-.SH DESCRIPTION
+-.PP
+-When running sandbox with the -C argument, it will be confined using control groups and a system administrator can specify how the sandbox is confined.
+-
+-.PP
+-Everything after "#" is ignored, as are empty lines.  All arguments should be separated by and equals sign ("=").
+-
+-.PP
+-These keywords are allowed.
+-
+-.RS
+-.TP
+-.B NAME
+-The name of the sandbox control group.  Default is "sandbox".
+-
+-.TP
+-.B CPUAFFINITY
+-Which cpus to assign sandbox to.  The default is ALL, but users can specify a comma-separated list with dashes ("-") to represent ranges.  Ex: 0-2,5
+-
+-.TP
+-.B MEMUSAGE
+-How much memory to allow sandbox to use.  The default is 80%.  Users can specify either a percentage or a value in the form of a number followed by one of the suffixes K, M, G to denote kilobytes, megabytes or gigabytes respectively.  Ex: 50% or 100M
+-
+-.TP
+-.B CPUUSAGE
+-Percentage of cpu sandbox should be allowed to use.  The default is 80%.  Specify a value followed by a percent sign ("%"). Ex: 50%
+-
+-
+-
+-.SH "SEE ALSO"
+-.TP
+-sandbox(8)
+-.PP
+-
+-.SH AUTHOR
+-This manual page was written by
+-.I Thomas Liu <tliu@fedoraproject.org>
+diff -Nur a/sandbox/sandbox.init b/sandbox/sandbox.init
+--- a/sandbox/sandbox.init     2011-11-04 14:38:45.000000000 +0100
++++ b/sandbox/sandbox.init     2011-11-27 18:02:23.521513231 +0100
+@@ -19,6 +19,7 @@
+ #
+ # Source function library.
++. /etc/init.d/functions
+ LOCKFILE=/var/lock/subsys/sandbox
+@@ -27,7 +28,7 @@
+ start() {
+       echo -n "Starting sandbox"
+-      [ -f "$LOCKFILE" ] && return 1
++      [ -f "$LOCKFILE" ] && return 0
+       touch $LOCKFILE
+       mount --make-rshared / || return $? 
+diff -Nur a/scripts/genhomedircon b/scripts/genhomedircon
+--- a/scripts/genhomedircon    2011-11-04 14:38:45.000000000 +0100
++++ b/scripts/genhomedircon    2011-11-27 18:02:23.521513231 +0100
+@@ -1,2 +1,3 @@
+ #!/bin/sh
++
+ /usr/sbin/semodule -Bn
+diff -Nur a/semanage/default_encoding/default_encoding.c b/semanage/default_encoding/default_encoding.c
+--- a/semanage/default_encoding/default_encoding.c     1970-01-01 01:00:00.000000000 +0100
++++ b/semanage/default_encoding/default_encoding.c     2011-11-27 18:02:23.533513231 +0100
+@@ -0,0 +1,57 @@
++/*
++ * Authors:
++ *   John Dennis <jdennis@redhat.com>
++ *
++ * Copyright (C) 2009  Red Hat
++ * see file 'COPYING' for use and warranty information
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++#include <Python.h>
++
++PyDoc_STRVAR(setdefaultencoding_doc,
++"setdefaultencoding(encoding='utf-8')\n\
++\n\
++Set the current default string encoding used by the Unicode implementation.\n\
++Defaults to utf-8."
++);
++
++static PyObject *
++setdefaultencoding(PyObject *self, PyObject *args, PyObject *kwds)
++{
++    static char *kwlist[] = {"utf-8", NULL};
++    char *encoding;
++
++    if (!PyArg_ParseTupleAndKeywords(args, kwds, "s:setdefaultencoding", kwlist, &encoding))
++        return NULL;
++
++    if (PyUnicode_SetDefaultEncoding(encoding))
++        return NULL;
++
++    Py_RETURN_NONE;
++}
++
++static PyMethodDef methods[] = {
++    {"setdefaultencoding", (PyCFunction)setdefaultencoding, METH_VARARGS|METH_KEYWORDS, setdefaultencoding_doc},
++      {NULL,          NULL}           /* sentinel */
++};
++
++
++PyMODINIT_FUNC
++initdefault_encoding_utf8(void)
++{
++    PyUnicode_SetDefaultEncoding("utf-8");
++    Py_InitModule3("default_encoding_utf8", methods, "Forces the default encoding to utf-8");
++}
+diff -Nur a/semanage/default_encoding/Makefile b/semanage/default_encoding/Makefile
+--- a/semanage/default_encoding/Makefile       1970-01-01 01:00:00.000000000 +0100
++++ b/semanage/default_encoding/Makefile       2011-11-27 18:02:23.533513231 +0100
+@@ -0,0 +1,8 @@
++all:
++      LDFLAGS="" python setup.py build
++
++install: all
++      LDFLAGS="" python setup.py install --root=$(DESTDIR)/
++
++clean:
++      rm -rf build *~
+diff -Nur a/semanage/default_encoding/policycoreutils/__init__.py b/semanage/default_encoding/policycoreutils/__init__.py
+--- a/semanage/default_encoding/policycoreutils/__init__.py    1970-01-01 01:00:00.000000000 +0100
++++ b/semanage/default_encoding/policycoreutils/__init__.py    2011-11-27 18:02:23.534513231 +0100
+@@ -0,0 +1,17 @@
++#
++# Copyright (C) 2006,2007,2008, 2009 Red Hat, Inc.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
+diff -Nur a/semanage/default_encoding/setup.py b/semanage/default_encoding/setup.py
+--- a/semanage/default_encoding/setup.py       1970-01-01 01:00:00.000000000 +0100
++++ b/semanage/default_encoding/setup.py       2011-11-27 18:02:23.536513231 +0100
+@@ -0,0 +1,38 @@
++# Authors:
++#   John Dennis <jdennis@redhat.com>
++#
++# Copyright (C) 2009  Red Hat
++# see file 'COPYING' for use and warranty information
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++from distutils.core import setup, Extension
++
++default_encoding_utf8 = Extension('policycoreutils.default_encoding_utf8', ['default_encoding.c'])
++
++setup(name             = 'policycoreutils-default-encoding',
++      version          = '0.1',
++      description      = 'Forces the default encoding in Python to be utf-8',
++      long_description = 'Forces the default encoding in Python to be utf-8',
++      author           = 'John Dennis',
++      author_email     = 'jdennis@redhat.com',
++      maintainer       = 'John Dennis',
++      maintainer_email = 'jdennis@redhat.com',
++      license          = 'GPLv3+',
++      platforms        = 'posix',
++      url              = '',
++      download_url     = '',
++      ext_modules      = [default_encoding_utf8],
++      packages=["policycoreutils"],
++)
+diff -Nur a/semanage/semanage b/semanage/semanage
+--- a/semanage/semanage        2011-11-04 14:38:45.000000000 +0100
++++ b/semanage/semanage        2011-11-27 18:02:23.537513231 +0100
+@@ -20,6 +20,7 @@
+ #                                        02111-1307  USA
+ #
+ #  
++import policycoreutils.default_encoding_utf8
+ import sys, getopt, re
+ import seobject
+ import selinux
+@@ -32,7 +33,7 @@
+ try:
+        gettext.install(PROGNAME,
+                        localedir="/usr/share/locale",
+-                       unicode=False,
++                       unicode=True,
+                        codeset = 'utf-8')
+ except IOError:
+        import __builtin__
+@@ -283,11 +284,14 @@
+                               equal = a
+                       if o == "--enable":
+-                              set_action(o)
++                              if disable:
++                                      raise ValueError(_("You can't disable and enable at the same time"))
++
+                               enable = True
+                       if o == "--disable":
+-                              set_action(o)
++                              if enable:
++                                      raise ValueError(_("You can't disable and enable at the same time"))
+                               disable = True
+                       if o == "-F"  or o == "--file":
+@@ -504,31 +508,36 @@
+                if len(sys.argv) < 3:
+                       usage(_("Requires 2 or more arguments"))
+                 
+-               gopts, cmds = getopt.getopt(sys.argv[1:],
+-                                           '01adf:i:lhmno:p:s:FCDR:L:r:t:T:P:S:',
+-                                           ['add',
+-                                            'delete',
+-                                            'deleteall',
+-                                            'ftype=',
+-                                            'file',
+-                                            'help',
+-                                            'input=',
+-                                            'list', 
+-                                            'modify',
+-                                            'noheading',
+-                                            'localist',
+-                                            'off', 
+-                                            'on', 
+-                                            'output=',
+-                                            'proto=',
+-                                            'seuser=',
+-                                            'store=',
+-                                            'range=',
+-                                            'level=',
+-                                            'roles=',
+-                                            'type=',
+-                                            'prefix='
+-                                            ])
++               try:
++                      gopts, cmds = getopt.getopt(sys.argv[1:],
++                                                  '01adf:i:lhmno:p:s:FCDR:L:r:t:T:P:S:',
++                                                  ['add',
++                                                   'delete',
++                                                   'deleteall',
++                                                   'ftype=',
++                                                   'file',
++                                                   'help',
++                                                   'input=',
++                                                   'list',
++                                                   'modify',
++                                                   'noheading',
++                                                   'localist',
++                                                   'off',
++                                                   'on',
++                                                   'output=',
++                                                   'proto=',
++                                                   'seuser=',
++                                                   'store=',
++                                                   'range=',
++                                                   'level=',
++                                                   'roles=',
++                                                   'type=',
++                                                   'trans=',
++                                                   'prefix='
++                                                   ])
++               except getopt.error, error:
++                      usage(_("Options Error %s ") % error.msg)
++
+                for o, a in gopts:
+                       if o == "-S" or o == '--store':
+                              store = a
+@@ -558,8 +567,6 @@
+                else:
+                       process_args(sys.argv[1:])
+                       
+-      except getopt.error, error:
+-              usage(_("Options Error %s ") % error.msg)
+       except ValueError, error:
+               errorExit(error.args[0])
+       except KeyError, error:
+diff -Nur a/semanage/seobject.py b/semanage/seobject.py
+--- a/semanage/seobject.py     2011-11-04 14:38:45.000000000 +0100
++++ b/semanage/seobject.py     2011-11-27 18:02:23.539513231 +0100
+@@ -30,11 +30,10 @@
+ import gettext
+ gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
+ gettext.textdomain(PROGNAME)
+-try:
+-       gettext.install(PROGNAME, localedir = "/usr/share/locale", unicode = 1)
+-except IOError:
+-       import __builtin__
+-       __builtin__.__dict__['_'] = unicode
++
++import gettext
++translation=gettext.translation(PROGNAME, localedir = "/usr/share/locale", fallback=True)
++_=translation.ugettext
+ import syslog
+@@ -166,6 +165,7 @@
+         transaction = False
+         handle = None
+         store = None
++
+         def __init__(self, store):
+                global handle
+                       
+@@ -333,6 +333,7 @@
+                       name = semanage_module_get_name(mod)
+                       if name and name.startswith("permissive_"):
+                              l.append(name.split("permissive_")[1])
++
+                return l
+       def list(self, heading = 1, locallist = 0):
+@@ -431,7 +432,9 @@
+               if rc < 0:
+                       raise ValueError(_("Could not check if login mapping for %s is defined") % name)
+               if exists:
+-                      raise ValueError(_("Login mapping for %s is already defined") % name)
++                       semanage_seuser_key_free(k)
++                       return self.__modify(name, sename, serange)
++
+                 if name[0] == '%':
+                        try:
+                               grp.getgrnam(name[1:])
+@@ -641,7 +644,8 @@
+                 if rc < 0:
+                        raise ValueError(_("Could not check if SELinux user %s is defined") % name)
+                 if exists:
+-                       raise ValueError(_("SELinux user %s is already defined") % name)
++                       semanage_user_key_free(k)
++                       return self.__modify(name, roles, selevel, serange, prefix)
+                 (rc, u) = semanage_user_create(self.sh)
+                 if rc < 0:
+@@ -881,6 +885,7 @@
+               return ( k, proto_d, low, high )
+       def __add(self, port, proto, serange, type):
++
+               if is_mls_enabled == 1:
+                       if serange == "":
+                               serange = "s0"
+@@ -943,6 +948,7 @@
+                 self.commit()
+       def __modify(self, port, proto, serange, setype):
++
+               if serange == "" and setype == "":
+                       if is_mls_enabled == 1:
+                               raise ValueError(_("Requires setype or serange"))
+@@ -1156,7 +1162,8 @@
+                (rc, exists) = semanage_node_exists(self.sh, k)
+                if exists:
+-                       raise ValueError(_("Addr %s already defined") % addr)
++                       semanage_node_key_free(k)
++                       return self.__modify(addr, mask, self.protocol[proto], serange, ctype)
+                (rc, node) = semanage_node_create(self.sh)
+                if rc < 0:
+@@ -1172,7 +1179,6 @@
+                if rc < 0:
+                        raise ValueError(_("Could not set mask for %s") % addr)
+-
+                rc = semanage_context_set_user(self.sh, con, "system_u")
+                if rc < 0:
+                        raise ValueError(_("Could not set user in addr context for %s") % addr)
+@@ -1224,12 +1230,11 @@
+                if not exists:
+                        raise ValueError(_("Addr %s is not defined") % addr)
+-               (rc, node) = semanage_node_query(self.sh, k)
++               (rc, node) = semanage_node_query_local(self.sh, k)
+                if rc < 0:
+                        raise ValueError(_("Could not query addr %s") % addr)
+                con = semanage_node_get_con(node)
+-
+                if serange != "":
+                        semanage_context_set_mls(self.sh, con, untranslate(serange))
+                if setype != "":
+@@ -1357,7 +1362,8 @@
+               if rc < 0:
+                       raise ValueError(_("Could not check if interface %s is defined") % interface)
+               if exists:
+-                      raise ValueError(_("Interface %s already defined") % interface)
++                        semanage_iface_key_free(k)
++                        return self.__modify(interface, serange, ctype)
+               (rc, iface) = semanage_iface_create(self.sh)
+               if rc < 0:
+@@ -1525,6 +1531,7 @@
+       def __init__(self, store = ""):
+               semanageRecords.__init__(self, store)
+                 self.equiv = {}
++                self.equiv_dist = {}
+                 self.equal_ind = False
+                 try:
+                        fd = open(selinux.selinux_file_context_subs_path(), "r")
+@@ -1534,6 +1541,14 @@
+                        fd.close()
+                 except IOError:
+                        pass
++                try:
++                       fd = open(selinux.selinux_file_context_subs_dist_path(), "r")
++                       for i in fd.readlines():
++                              src, dst = i.split()
++                              self.equiv_dist[src] = dst
++                       fd.close()
++                except IOError:
++                       pass
+         def commit(self):
+                 if self.equal_ind:
+@@ -1589,12 +1604,21 @@
+                 return con
+                
++        def check_equiv(self, target, fdict):
++              for i in fdict:
++                      if target.startswith(i+"/"):
++                              t = re.sub(i, fdict[i], target)
++                              raise ValueError(_("File spec %s conflicts with equivalency rule '%s %s'; Try adding '%s' instead") % (target, i, fdict[i], t))
++
++                      
+         def validate(self, target):
+                if target == "" or target.find("\n") >= 0:
+                       raise ValueError(_("Invalid file specification"))
+                if target.find(" ") != -1:
+                       raise ValueError(_("File specification can not include spaces"))
+-                      
++             self.check_equiv(target, self.equiv)
++             self.check_equiv(target, self.equiv_dist)
++                             
+       def __add(self, target, type, ftype = "", serange = "", seuser = "system_u"):
+                 self.validate(target)
+@@ -1618,7 +1642,8 @@
+                               raise ValueError(_("Could not check if file context for %s is defined") % target)
+                 if exists:
+-                       raise ValueError(_("File context for %s already defined") % target)
++                       semanage_fcontext_key_free(k)
++                       return self.__modify(target, type, ftype, serange, seuser)
+               (rc, fcontext) = semanage_fcontext_create(self.sh)
+               if rc < 0:
+@@ -1825,9 +1850,17 @@
+                                       print "%-50s %-18s %s:%s:%s " % (k[0], k[1], fcon_dict[k][0], fcon_dict[k][1],fcon_dict[k][2])
+                       else:
+                               print "%-50s %-18s <<None>>" % (k[0], k[1])
+-                if len(self.equiv.keys()) > 0:
++
++
++              if len(self.equiv_dist):
++                     if not locallist:
++                             if heading:
++                                     print _("\nSELinux Distribution fcontext Equivalence \n")
++                             for src in self.equiv_dist.keys():
++                                     print "%s = %s" % (src, self.equiv_dist[src])
++              if len(self.equiv):
+                        if heading:
+-                              print _("\nSELinux fcontext Equivalence \n")
++                              print _("\nSELinux Local fcontext Equivalence \n")
+                        for src in self.equiv.keys():
+                               print "%s = %s" % (src, self.equiv[src])
+diff -Nur a/setfiles/restore.c b/setfiles/restore.c
+--- a/setfiles/restore.c       2011-11-04 14:38:45.000000000 +0100
++++ b/setfiles/restore.c       2011-11-27 18:02:23.540513231 +0100
+@@ -1,5 +1,6 @@
+ #include "restore.h"
+ #include <glob.h>
++#include <selinux/context.h>
+ #define SKIP -2
+ #define ERR -1
+@@ -33,7 +34,6 @@
+ static file_spec_t *fl_head;
+ static int filespec_add(ino_t ino, const security_context_t con, const char *file);
+-static int only_changed_user(const char *a, const char *b);
+ struct restore_opts *r_opts = NULL;
+ static void filespec_destroy(void);
+ static void filespec_eval(void);
+@@ -58,11 +58,16 @@
+ void restore_init(struct restore_opts *opts)
+ {     
+       r_opts = opts;
+-      struct selinux_opt selinux_opts[] = {
+-              { SELABEL_OPT_VALIDATE, r_opts->selabel_opt_validate },
+-              { SELABEL_OPT_PATH, r_opts->selabel_opt_path }
+-      };
+-      r_opts->hnd = selabel_open(SELABEL_CTX_FILE, selinux_opts, 2);
++      struct selinux_opt selinux_opts[3];
++
++      selinux_opts[0].type = SELABEL_OPT_VALIDATE;
++      selinux_opts[0].value = r_opts->selabel_opt_validate;
++      selinux_opts[1].type = SELABEL_OPT_PATH;
++      selinux_opts[1].value = r_opts->selabel_opt_path;
++      selinux_opts[2].type = SELABEL_OPT_PREFIXES;
++      selinux_opts[2].values = r_opts->selabel_opt_prefixes;
++
++      r_opts->hnd = selabel_open(SELABEL_CTX_FILE, selinux_opts, 3);
+       if (!r_opts->hnd) {
+               perror(r_opts->selabel_opt_path);
+               exit(1);
+@@ -104,8 +109,7 @@
+ {
+       char *my_file = strdupa(ftsent->fts_path);
+       int ret = -1;
+-      char *context, *newcon;
+-      int user_only_changed = 0;
++      security_context_t curcon = NULL, newcon = NULL;
+       if (match(my_file, ftsent->fts_statp, &newcon) < 0)
+               /* Check for no matching specification. */
+@@ -139,74 +143,105 @@
+               printf("%s:  %s matched by %s\n", r_opts->progname, my_file, newcon);
+       }
++      /*
++       * Do not relabel if their is no default specification for this file
++       */
++
++      if (strcmp(newcon, "<<none>>") == 0) {
++              goto out;
++      }
++
+       /* Get the current context of the file. */
+-      ret = lgetfilecon_raw(ftsent->fts_accpath, &context);
++      ret = lgetfilecon_raw(ftsent->fts_accpath, &curcon);
+       if (ret < 0) {
+               if (errno == ENODATA) {
+-                      context = NULL;
++                      curcon = NULL;
+               } else {
+                       fprintf(stderr, "%s get context on %s failed: '%s'\n",
+                               r_opts->progname, my_file, strerror(errno));
+                       goto err;
+               }
+-              user_only_changed = 0;
+-      } else
+-              user_only_changed = only_changed_user(context, newcon);
++      }
++
+       /* lgetfilecon returns number of characters and ret needs to be reset
+        * to 0.
+        */
+       ret = 0;
+       /*
+-       * Do not relabel the file if the matching specification is 
+-       * <<none>> or the file is already labeled according to the 
+-       * specification.
++       * Do not relabel the file if the file is already labeled according to
++       * the specification.
+        */
+-      if ((strcmp(newcon, "<<none>>") == 0) ||
+-          (context && (strcmp(context, newcon) == 0))) {
+-              freecon(context);
++      if (curcon && (strcmp(curcon, newcon) == 0)) {
+               goto out;
+       }
+-      if (!r_opts->force && context && (is_context_customizable(context) > 0)) {
++      if (!r_opts->force && curcon && (is_context_customizable(curcon) > 0)) {
+               if (r_opts->verbose > 1) {
+                       fprintf(stderr,
+                               "%s: %s not reset customized by admin to %s\n",
+-                              r_opts->progname, my_file, context);
++                              r_opts->progname, my_file, curcon);
+               }
+-              freecon(context);
+               goto out;
+       }
+-      if (r_opts->verbose) {
+-              /* If we're just doing "-v", trim out any relabels where
+-               * the user has r_opts->changed but the role and type are the
+-               * same.  For "-vv", emit everything. */
+-              if (r_opts->verbose > 1 || !user_only_changed) {
+-                      printf("%s reset %s context %s->%s\n",
+-                             r_opts->progname, my_file, context ?: "", newcon);
++      /*
++       *  Do not change label unless this is a force or the type is different
++       */
++      if (!r_opts->force && curcon) {
++              int types_differ = 0;
++              context_t cona;
++              context_t conb;
++              int err = 0;
++              cona = context_new(curcon);
++              if (! cona) {
++                      goto out;
++              }
++              conb = context_new(newcon);
++              if (! conb) {
++                      context_free(cona);
++                      goto out;
+               }
++
++              types_differ = strcmp(context_type_get(cona), context_type_get(conb));
++              if (types_differ) {
++                      err |= context_user_set(conb, context_user_get(cona));
++                      err |= context_role_set(conb, context_role_get(cona));
++                      err |= context_range_set(conb, context_range_get(cona));
++                      if (!err) {
++                              freecon(newcon);
++                              newcon = strdup(context_str(conb));
++                      }
++              }
++              context_free(cona);
++              context_free(conb);
++
++              if (!types_differ || err) {
++                      goto out;
++              }
++      }
++
++      if (r_opts->verbose) {
++              printf("%s reset %s context %s->%s\n",
++                     r_opts->progname, my_file, curcon ?: "", newcon);
+       }
+-      if (r_opts->logging && !user_only_changed) {
+-              if (context)
++      if (r_opts->logging) {
++              if (curcon)
+                       syslog(LOG_INFO, "relabeling %s from %s to %s\n",
+-                             my_file, context, newcon);
++                             my_file, curcon, newcon);
+               else
+                       syslog(LOG_INFO, "labeling %s to %s\n",
+                              my_file, newcon);
+       }
+-      if (r_opts->outfile && !user_only_changed)
++      if (r_opts->outfile)
+               fprintf(r_opts->outfile, "%s\n", my_file);
+-      if (context)
+-              freecon(context);
+-
+       /*
+        * Do not relabel the file if -n was used.
+        */
+-      if (!r_opts->change || user_only_changed)
++      if (!r_opts->change)
+               goto out;
+       /*
+@@ -220,12 +255,15 @@
+       }
+       ret = 1;
+ out:
++      freecon(curcon);
+       freecon(newcon);
+       return ret;
+ skip:
++      freecon(curcon);
+       freecon(newcon);
+       return SKIP;
+ err:
++      freecon(curcon);
+       freecon(newcon);
+       return ERR;
+ }
+@@ -447,22 +485,6 @@
+       return 0;
+ }
+-/* Compare two contexts to see if their differences are "significant",
+- * or whether the only difference is in the user. */
+-static int only_changed_user(const char *a, const char *b)
+-{
+-      char *rest_a, *rest_b;  /* Rest of the context after the user */
+-      if (r_opts->force)
+-              return 0;
+-      if (!a || !b)
+-              return 0;
+-      rest_a = strchr(a, ':');
+-      rest_b = strchr(b, ':');
+-      if (!rest_a || !rest_b)
+-              return 0;
+-      return (strcmp(rest_a, rest_b) == 0);
+-}
+-
+ /*
+  * Evaluate the association hash table distribution.
+  */
+diff -Nur a/setfiles/restorecon.8 b/setfiles/restorecon.8
+--- a/setfiles/restorecon.8    2011-11-04 14:38:45.000000000 +0100
++++ b/setfiles/restorecon.8    2011-11-27 18:02:23.541513231 +0100
+@@ -4,22 +4,27 @@
+ .SH "SYNOPSIS"
+ .B restorecon
+-.I [\-o outfilename ] [\-R] [\-n] [\-p] [\-v] [\-e directory ] pathname...
++.I [\-o outfilename ] [\-R] [\-n] [\-p] [\-v] [\-e directory ] [\-L labelprefix ] pathname...
+ .P
+ .B restorecon
+-.I \-f infilename [\-o outfilename ] [\-e directory ] [\-R] [\-n] [\-p] [\-v] [\-F]
++.I \-f infilename [\-o outfilename ] [\-e directory ] [\-L labelprefix ] [\-R] [\-n] [\-p] [\-v] [\-F]
+ .SH "DESCRIPTION"
+ This manual page describes the
+ .BR restorecon
+ program.
+ .P
+-This program is primarily used to set the security context
++This program is primarily used to reset the security context (type)
+ (extended attributes) on one or more files. 
+ .P
+ It can be run at any time to correct errors, to add support for
+ new policy, or with the \-n option it can just check whether the file
+ contexts are all as you expect.
++.P
++If a file object does not have a context, restorecon will write the default
++context to the file object's extended attributes. If a file object has a
++context, restorecon will only modify the type portion of the security context.
++The -F option will force a replacement of the entire context.
+ .SH "OPTIONS"
+ .TP 
+@@ -32,6 +37,12 @@
+ .B \-e directory
+ directory to exclude (repeat option for more than one directory.)
+ .TP 
++.B \-L labelprefix
++Tells selinux to only use the file context that match this prefix for labeling,  -L can be called multiple times.  Can speed up labeling if you are only doing one directory.
++
++# restorecon -R -v -L /dev /dev
++
++.TP
+ .B \-R \-r
+ change files and directories file labels recursively
+ .TP 
+@@ -47,11 +58,8 @@
+ .B \-v
+ show changes in file labels.
+ .TP 
+-.B \-vv
+-show changes in file labels, if type, role, or user are changing.
+-.TP 
+ .B \-F
+-Force reset of context to match file_context for customizable files, or the user section, if it has changed. 
++Force reset of context to match file_context for customizable files, and the default file context, changing the user, role, range portion as well as the type.
+ .TP 
+ .SH "ARGUMENTS"
+ .B pathname...
+diff -Nur a/setfiles/restore.h b/setfiles/restore.h
+--- a/setfiles/restore.h       2011-11-04 14:38:45.000000000 +0100
++++ b/setfiles/restore.h       2011-11-27 18:02:23.540513231 +0100
+@@ -40,6 +40,7 @@
+       int fts_flags; /* Flags to fts, e.g. follow links, follow mounts */
+       const char *selabel_opt_validate;
+       const char *selabel_opt_path;
++      const char **selabel_opt_prefixes;
+ };
+ void restore_init(struct restore_opts *opts);
+diff -Nur a/setfiles/setfiles.8 b/setfiles/setfiles.8
+--- a/setfiles/setfiles.8      2011-11-04 14:38:45.000000000 +0100
++++ b/setfiles/setfiles.8      2011-11-27 18:02:23.542513231 +0100
+@@ -4,7 +4,7 @@
+ .SH "SYNOPSIS"
+ .B setfiles
+-.I [\-c policy ] [\-d] [\-l] [\-n] [\-e directory ] [\-o filename ] [\-q] [\-s] [\-v] [\-vv] [\-W] [\-F] spec_file pathname...
++.I [\-c policy ] [\-d] [\-l] [\-n] [\-e directory ] [\-o filename ] [\-L labelprefix ] [\-q] [\-s] [\-v] [\-W] [\-F] spec_file pathname...
+ .SH "DESCRIPTION"
+ This manual page describes the
+ .BR setfiles
+@@ -17,6 +17,11 @@
+ It can also be run at any time to correct errors, to add support for
+ new policy, or with the \-n option it can just check whether the file
+ contexts are all as you expect.
++.P
++If a file object does not have a context, setfiles will write the default
++context to the file object's extended attributes. If a file object has a
++context, setfiles will only modify the type portion of the security context.
++The -F option will force a replacement of the entire context.
+ .SH "OPTIONS"
+ .TP 
+@@ -45,8 +50,11 @@
+ directory to exclude (repeat option for more than one directory.)
+ .TP 
+ .B \-F
+-Force reset of context to match file_context for customizable files
++Force reset of context to match file_context for customizable files, and the default file context, changing the user, role, range portion as well as the type.
+ .TP 
++.B \-L labelprefix
++Tells selinux to only use the file context that match this prefix for labeling,  -L can be called multiple times.  Can speed up labeling if you are only doing one directory.
++.TP
+ .B \-o filename
+ save list of files with incorrect context in filename.
+ .TP 
+@@ -55,10 +63,7 @@
+ command line.
+ .TP
+ .B \-v
+-show changes in file labels, if type or role are changing.
+-.TP 
+-.B \-vv
+-show changes in file labels, if type, role, or user are changing.
++show changes in file labels.
+ .TP 
+ .B \-W
+ display warnings about entries that had no matching files.
+diff -Nur a/setfiles/setfiles.c b/setfiles/setfiles.c
+--- a/setfiles/setfiles.c      2011-11-04 14:38:45.000000000 +0100
++++ b/setfiles/setfiles.c      2011-11-27 18:02:23.542513231 +0100
+@@ -39,7 +39,7 @@
+ {
+       if (iamrestorecon) {
+               fprintf(stderr,
+-                      "usage:  %s [-iFnprRv0] [-e excludedir ] [-o filename ] [-f filename | pathname... ]\n",
++                      "usage:  %s [-iFnprRv0] [ -L labelprefix ] [-e excludedir ] [-o filename ] [-f filename | pathname... ]\n",
+                       name);
+       } else {
+               fprintf(stderr,
+@@ -137,7 +137,7 @@
+ int main(int argc, char **argv)
+ {
+       struct stat sb;
+-      int opt, i = 0;
++      int opt, i;
+       char *input_filename = NULL;
+       int use_input_file = 0;
+       char *buf = NULL;
+@@ -145,6 +145,8 @@
+       int recurse; /* Recursive descent. */
+       char *base;
+       int mass_relabel = 0, errors = 0;
++      int num_prefixes = 0;
++      const char *null_array[1] = { NULL };
+       
+       memset(&r_opts, 0, sizeof(r_opts));
+@@ -160,6 +162,7 @@
+       r_opts.outfile = NULL;
+       r_opts.force = 0;
+       r_opts.hard_links = 1;
++      r_opts.selabel_opt_prefixes = null_array;
+       altpath = NULL;
+@@ -217,7 +220,7 @@
+       exclude_non_seclabel_mounts();
+       /* Process any options. */
+-      while ((opt = getopt(argc, argv, "c:de:f:ilnpqrsvo:FRW0")) > 0) {
++      while ((opt = getopt(argc, argv, "c:de:f:ilnpqrsvo:FL:RW0")) > 0) {
+               switch (opt) {
+               case 'c':
+                       {
+@@ -280,6 +283,35 @@
+               case 'n':
+                       r_opts.change = 0;
+                       break;
++              case 'L':
++              {
++                      char **new_prefixes;
++
++                      /* we need 1 for this entry and 1 for the NULL entry */
++                      new_prefixes = malloc(sizeof(*new_prefixes) * (num_prefixes + 2));
++                      if (!new_prefixes) {
++                              fprintf(stderr, "Can't allocate memory for labeling prefix %s:%s\n",
++                              optarg, strerror(errno));
++                              exit(1);
++                      }
++
++                      memcpy(new_prefixes, r_opts.selabel_opt_prefixes, sizeof(*new_prefixes) * num_prefixes);
++                      new_prefixes[num_prefixes] = strdup(optarg);
++                      if (!new_prefixes[num_prefixes]) {
++                              fprintf(stderr, "Can't allocate memory for labeling prefix %s:%s\n",
++                              optarg, strerror(errno));
++                              exit(1);
++                      }
++
++                      new_prefixes[num_prefixes + 1] = NULL;
++                      num_prefixes++;
++
++                      if (r_opts.selabel_opt_prefixes != null_array)
++                              free(r_opts.selabel_opt_prefixes);
++
++                      r_opts.selabel_opt_prefixes = (const char **)new_prefixes;
++                      break;
++              }
+               case 'o':
+                       if (strcmp(optarg, "-") == 0) {
+                               r_opts.outfile = stdout;
+@@ -433,7 +465,15 @@
+       if (r_opts.outfile)
+               fclose(r_opts.outfile);
+-       if (r_opts.progress && r_opts.count >= STAR_COUNT)
+-               printf("\n");
++      if (r_opts.progress && r_opts.count >= STAR_COUNT)
++              printf("\n");
++
++      free(r_opts.progname);
++      i = 0;
++      while (r_opts.selabel_opt_prefixes[i])
++              free((void *)r_opts.selabel_opt_prefixes[i++]);
++      if (r_opts.selabel_opt_prefixes != null_array)
++              free(r_opts.selabel_opt_prefixes);
++      free(r_opts.rootpath);
+       exit(errors);
+ }
diff --git a/policycoreutils/patches/policycoreutils-sepolgen.patch b/policycoreutils/patches/policycoreutils-sepolgen.patch
new file mode 100644 (file)
index 0000000..767ca24
--- /dev/null
@@ -0,0 +1,191 @@
+diff --git a/src/sepolgen/audit.py b/src/sepolgen/audit.py
+index 898fbc3..9fdfafa 100644
+--- a/src/sepolgen/audit.py
++++ b/src/sepolgen/audit.py
+@@ -127,6 +127,9 @@ class PathMessage(AuditMessage):
+             if fields[0] == "path":
+                 self.path = fields[1][1:-1]
+                 return
++import selinux.audit2why as audit2why
++
++avcdict = {}
+ class AVCMessage(AuditMessage):
+     """AVC message representing an access denial or granted message.
+@@ -168,6 +171,8 @@ class AVCMessage(AuditMessage):
+         self.name = ""
+         self.accesses = []
+         self.denial = True
++        self.type = audit2why.TERULE
++        self.bools = []
+     def __parse_access(self, recs, start):
+         # This is kind of sucky - the access that is in a space separated
+@@ -229,7 +234,31 @@ class AVCMessage(AuditMessage):
+         if not found_src or not found_tgt or not found_class or not found_access:
+             raise ValueError("AVC message in invalid format [%s]\n" % self.message)
+-                
++        self.analyze()
++
++    def analyze(self):
++        tcontext = self.tcontext.to_string()
++        scontext = self.scontext.to_string()
++        access_tuple = tuple( self.accesses)
++        if (scontext, tcontext, self.tclass, access_tuple) in avcdict.keys():
++            self.type, self.bools = avcdict[(scontext, tcontext, self.tclass, access_tuple)]
++        else:
++            self.type, self.bools = audit2why.analyze(scontext, tcontext, self.tclass, self.accesses);
++            if self.type == audit2why.NOPOLICY:
++                self.type = audit2why.TERULE
++            if self.type == audit2why.BADTCON:
++                raise ValueError("Invalid Target Context %s\n" % tcontext)
++            if self.type == audit2why.BADSCON:
++                raise ValueError("Invalid Source Context %s\n" % scontext)
++            if self.type == audit2why.BADSCON:
++                raise ValueError("Invalid Type Class %s\n" % self.tclass)
++            if self.type == audit2why.BADPERM:
++                raise ValueError("Invalid permission %s\n" % " ".join(self.accesses))
++            if self.type == audit2why.BADCOMPUTE:
++                raise ValueError("Error during access vector computation")
++
++            avcdict[(scontext, tcontext, self.tclass, access_tuple)] = (self.type, self.bools)
++
+ class PolicyLoadMessage(AuditMessage):
+     """Audit message indicating that the policy was reloaded."""
+     def __init__(self, message):
+@@ -472,10 +501,10 @@ class AuditParser:
+             if avc_filter:
+                 if avc_filter.filter(avc):
+                     av_set.add(avc.scontext.type, avc.tcontext.type, avc.tclass,
+-                               avc.accesses, avc)
++                               avc.accesses, avc, avc_type=avc.type, bools=avc.bools)
+             else:
+                 av_set.add(avc.scontext.type, avc.tcontext.type, avc.tclass,
+-                           avc.accesses, avc)
++                           avc.accesses, avc, avc_type=avc.type, bools=avc.bools)
+         return av_set
+ class AVCTypeFilter:
+diff --git a/src/sepolgen/matching.py b/src/sepolgen/matching.py
+index 1a9a3e5..d56dd92 100644
+--- a/src/sepolgen/matching.py
++++ b/src/sepolgen/matching.py
+@@ -50,7 +50,7 @@ class Match:
+                 return 1
+ class MatchList:
+-    DEFAULT_THRESHOLD = 120
++    DEFAULT_THRESHOLD = 150
+     def __init__(self):
+         # Match objects that pass the threshold
+         self.children = []
+@@ -63,14 +63,15 @@ class MatchList:
+     def best(self):
+         if len(self.children):
+             return self.children[0]
+-        else:
+-            return None
++        if len(self.bastards):
++            return self.bastards[0]
++        return None
+     def __len__(self):
+         # Only return the length of the matches so
+         # that this can be used to test if there is
+         # a match.
+-        return len(self.children)
++        return len(self.children) + len(self.bastards)
+     def __iter__(self):
+         return iter(self.children)
+diff --git a/src/sepolgen/policygen.py b/src/sepolgen/policygen.py
+index 0e6b502..4882999 100644
+--- a/src/sepolgen/policygen.py
++++ b/src/sepolgen/policygen.py
+@@ -29,6 +29,8 @@ import objectmodel
+ import access
+ import interfaces
+ import matching
++import selinux.audit2why as audit2why
++from setools import *
+ # Constants for the level of explanation from the generation
+ # routines
+@@ -77,6 +79,7 @@ class PolicyGenerator:
+         self.dontaudit = False
++        self.domains = None
+     def set_gen_refpol(self, if_set=None, perm_maps=None):
+         """Set whether reference policy interfaces are generated.
+@@ -151,8 +154,41 @@ class PolicyGenerator:
+             rule = refpolicy.AVRule(av)
+             if self.dontaudit:
+                 rule.rule_type = rule.DONTAUDIT
++            rule.comment = ""
+             if self.explain:
+-                rule.comment = refpolicy.Comment(explain_access(av, verbosity=self.explain))
++                rule.comment = str(refpolicy.Comment(explain_access(av, verbosity=self.explain)))
++            if av.type == audit2why.ALLOW:
++                rule.comment += "#!!!! This avc is allowed in the current policy\n"
++            if av.type == audit2why.DONTAUDIT:
++                rule.comment += "#!!!! This avc has a dontaudit rule in the current policy\n"
++
++            if av.type == audit2why.BOOLEAN:
++                if len(av.bools) > 1:
++                    rule.comment += "#!!!! This avc can be allowed using one of the these booleans:\n#     %s\n" % ", ".join(map(lambda x: x[0], av.bools))
++                else:
++                    rule.comment += "#!!!! This avc can be allowed using the boolean '%s'\n" % av.bools[0][0]
++
++            if av.type == audit2why.CONSTRAINT:
++                rule.comment += "#!!!! This avc is a constraint violation.  You will need to add an attribute to either the source or target type to make it work.\n"
++                rule.comment += "#Constraint rule: "
++
++            if av.type == audit2why.TERULE:
++                if "write" in av.perms:
++                    if "dir" in av.obj_class or "open" in av.perms:
++                        if not self.domains:
++                            self.domains = seinfo(ATTRIBUTE, name="domain")[0]["types"]
++                        types=[]
++
++                        try:
++                            for i in map(lambda x: x[TCONTEXT], sesearch([ALLOW], {SCONTEXT: av.src_type, CLASS: av.obj_class, PERMS: av.perms})):
++                                if i not in self.domains:
++                                    types.append(i)
++                            if len(types) == 1:
++                                rule.comment += "#!!!! The source type '%s' can write to a '%s' of the following type:\n# %s\n" % ( av.src_type, av.obj_class, ", ".join(types))
++                            elif len(types) >= 1:
++                                rule.comment += "#!!!! The source type '%s' can write to a '%s' of the following types:\n# %s\n" % ( av.src_type, av.obj_class, ", ".join(types))
++                        except:
++                            pass
+             self.module.children.append(rule)
+diff --git a/src/sepolgen/refparser.py b/src/sepolgen/refparser.py
+index 955784d..9a79340 100644
+--- a/src/sepolgen/refparser.py
++++ b/src/sepolgen/refparser.py
+@@ -245,7 +245,7 @@ def t_refpolicywarn(t):
+     t.lexer.lineno += 1
+ def t_IDENTIFIER(t):
+-    r'[a-zA-Z_\$\"][a-zA-Z0-9_\-\.\$\*\"]*'
++    r'[a-zA-Z_\$\"][a-zA-Z0-9_\-\.\$\*\"~]*'
+     # Handle any keywords
+     t.type = reserved.get(t.value,'IDENTIFIER')
+     return t
+diff --git a/src/sepolgen/yacc.py b/src/sepolgen/yacc.py
+index 58332de..2f3c09d 100644
+--- a/src/sepolgen/yacc.py
++++ b/src/sepolgen/yacc.py
+@@ -594,7 +594,7 @@ class MiniProduction:
+     pass
+ # regex matching identifiers
+-_is_identifier = re.compile(r'^[a-zA-Z0-9_-]+$')
++_is_identifier = re.compile(r'^[a-zA-Z0-9_-~]+$')
+ # -----------------------------------------------------------------------------
+ # add_production()
diff --git a/policycoreutils/policycoreutils.nm b/policycoreutils/policycoreutils.nm
new file mode 100644 (file)
index 0000000..16a03e5
--- /dev/null
@@ -0,0 +1,126 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = policycoreutils
+version    = 2.1.8
+release    = 4
+
+groups     = System/Base
+url        = http://www.selinuxproject.org
+license    = GPLv2
+summary    = SELinux policy core utilities.
+
+description
+       policycoreutils contains utilities that are required
+       for basic operation of a SELinux system. These utilities include
+       load_policy to load policies, setfiles to label filesystems and newrole
+       to switch roles.
+end
+
+sepolgen_ver = 1.1.3
+
+sources = \
+       %{thisapp}.tgz \
+       sepolgen-%{sepolgen_ver}.tgz
+
+# We have to apply policycoreutils-sepolgen.patch at a later time.
+patches = \
+       policycoreutils-gui.patch \
+       policycoreutils-po.patch \
+       policycoreutils-rhat.patch
+
+build
+       requires
+               audit-devel
+               dbus-devel
+               dbus-glib-devel
+               glib2-devel
+               gettext
+               libcap-devel
+               libcap-ng-devel
+               libcgroup-devel
+               libselinux-devel>=2.1.7-3
+               libsemanage-devel
+               libsepol-devel
+               libsepol-static
+               pam-devel
+               python-devel
+       end
+
+       # Manually add policycoreutils-sepolgen.patch because it has to be applied to the sepolgen source.
+       prepare_cmds
+               cd %{DIR_SRC}/sepolgen-%{sepolgen_ver} && patch -Np1 -i %{DIR_PATCHES}/policycoreutils-sepolgen.patch
+       end
+
+       make_build_targets += \
+               LSPP_PRIV=y \
+               LIBDIR=%{libdir} \
+               CFLAGS="%{CFLAGS}" \
+               all
+
+       make_install_targets +=\
+               LSPP_PRIV=y \
+               LIBDIR=%{BUILDROOT}%{libdir}
+
+       # Build sepolgen.
+       build_cmds
+               make -C %{DIR_SRC}/sepolgen-%{sepolgen_ver} %{make_build_targets}
+       end
+
+       install_cmds
+               # Install sepolgen
+               make -C %{DIR_SRC}/sepolgen-%{sepolgen_ver} DESTDIR=%{BUILDROOT} %{make_install_targets}
+
+               # Install bash_completion for semanage.
+               mkdir -pv %{BUILDROOT}/etc/bash_completion.d
+               install -m 755 %{DIR_SOURCE}/semanage-bash-completion.sh %{BUILDROOT}/etc/bash_completion.d/
+
+               # Remove unneeded stuff.
+               rm -vrf %{BUILDROOT}/etc/{rc.d,xdg,sysconfig}
+
+               # Fix absolute symlink
+               ln -svf ../../sbin/load_policy %{BUILDROOT}/usr/sbin/load_policy
+
+               # Remove unneeded sandbox stuff - they are to create graphical sandboxes.
+               rm -vrf %{BUILDROOT}/usr/sbin/seunshare
+               rm -vrf %{BUILDROOT}/usr/share/sandbox
+               rm -vrf %{BUILDROOT}/usr/share/man/man5/seunshare.5
+               rm -vrf %{BUILDROOT}/usr/share/man/man8/sandbox.8
+       end
+end
+
+packages
+       package %{name}
+
+       package python-%{name}
+               summary = SELinux policy core python utilities.
+               description = %{summary}
+
+               requires
+                       policycoreutils>=%{thisver}
+                       python-audit
+                       python-libsemanage
+                       python-selinux>=2.1.7-3
+                       python-setools
+               end
+
+               files
+                       /usr/bin/audit2allow
+                       /usr/bin/audit2why
+                       /usr/bin/chcat
+                       /usr/bin/sandbox
+                       /usr/bin/sepolgen-ifgen
+                       /usr/bin/sepolgen-ifgen-attr-helper
+                       %{libdir}/python*
+                       /usr/sbin/semanage
+                       /usr/share/man/man1/audit2allow.1
+                       /usr/share/man/man1/audit2why.1
+                       /usr/share/man/man8/chcat.8
+                       /usr/share/man/man8/sandbox.8
+                       /usr/share/man/man8/semanage.8
+                       /var/lib/sepolgen
+               end
+       end
+end
diff --git a/policycoreutils/semanage-bash-completion.sh b/policycoreutils/semanage-bash-completion.sh
new file mode 100644 (file)
index 0000000..ff1285a
--- /dev/null
@@ -0,0 +1,151 @@
+# This file is part of systemd.
+#
+# Copyright 2011 Dan Walsh
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+__contains_word () {
+        local word=$1; shift
+        for w in $*; do [[ $w = $word ]] && return 0; done
+        return 1
+}
+
+ALL_OPTS='-l --list -S -o -n --noheading -h --help'
+MANAGED_OPTS='-a --add -m --modify -d --delete -D --deleteall -C --locallist '
+
+__get_all_stores () {
+    dir -1 -F /etc/selinux/ | grep '/' | cut -d'/' -f 1
+}
+__get_all_ftypes () {
+    echo '-- -d -c -b -s -l -p'
+}
+__get_all_users () { 
+    seinfo -u 2> /dev/null | tail -n +3 
+}
+__get_all_types () { 
+    seinfo -t 2> /dev/null | tail -n +3 
+}
+__get_all_port_types () { 
+    seinfo -aport_type -x 2>/dev/null | tail -n +2 
+}
+__get_all_domains () { 
+    seinfo -adomain -x 2>/dev/null | tail -n +2 
+}
+__get_all_node_types () { 
+    seinfo -anode_type -x 2>/dev/null | tail -n +2 
+}
+__get_all_file_types () { 
+    seinfo -afile_type -x 2>/dev/null | tail -n +2 
+}
+__get_all_roles () { 
+    seinfo -t 2> /dev/null | tail -n +3 
+}
+__get_all_stores () {
+    dir -1 -F /etc/selinux/ | grep '/' | cut -d'/' -f 1
+}
+__get_boolean_opts () { echo '$ALL_OPTS --on -off -1 -0 -F' ; }
+__get_user_opts () { echo '$ALL_OPTS $MANAGED_OPTS -L -r -R --role '; }
+__get_login_opts () { echo '$ALL_OPTS $MANAGED_OPTS -s -r '; }
+__get_port_opts () { echo '$ALL_OPTS $MANAGED_OPTS -t -type -r --range -p --proto'; }
+__get_interface_opts () { echo '$ALL_OPTS $MANAGED_OPTS -t --type '; }
+__get_node_opts () { echo '$ALL_OPTS $MANAGED_OPTS -t --type -M --mask -p --proto'; }
+__get_fcontext_opts () { echo '$ALL_OPTS $MANAGED_OPTS -t --type -e --equal -f --ftype '; }
+__get_module_opts () { echo '$ALL_OPTS --enable --disable '; }
+__get_dontaudit_opts () { echo '-S on off' ; }
+__get_permissive_opts () { echo '$ALL_OPTS -a --add -d --delete' ; }
+
+_semanage () {
+        local command=${COMP_WORDS[1]}
+        local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+        local verb comps
+        local -A VERBS=(
+              [LOGIN]='login'
+              [USER]='user'
+              [PORT]='port'
+              [INTERFACE]='interface'
+              [MODULE]='module'
+              [NODE]='node'
+              [FCONTEXT]='fcontext'
+              [BOOLEAN]='boolean'
+              [PERMISSIVE]='permissive'
+              [DONTAUDIT]='dontaudit'
+        )
+
+       if   [ "$prev" = "-a" -a "$command" = "permissive" ]; then
+               COMPREPLY=( $(compgen -W "$( __get_all_domains ) " -- "$cur") )
+               return 0
+       fi
+       if   [ "$verb" = "" -a "$prev" = "semanage" ]; then
+                comps="${VERBS[*]}"
+       elif [ "$verb" = "" -a "$prev" = "-S" -o "$prev" = "--store" ]; then
+               COMPREPLY=( $(compgen -W "$( __get_all_stores ) " -- "$cur") )
+               return 0
+       elif [ "$verb" = "" -a "$prev" = "-p" -o "$prev" = "--proto" ]; then
+               COMPREPLY=( $(compgen -W "tcp udp" -- "$cur") )
+               return 0
+       elif [ "$verb" = "" -a "$prev" = "-r" -o "$prev" = "--roles" ]; then
+               COMPREPLY=( $(compgen -W "$( __get_all_roles ) " -- "$cur") )
+               return 0
+       elif [ "$verb" = "" -a "$prev" = "-s" -o "$prev" = "--seuser" ]; then
+               COMPREPLY=( $(compgen -W "$( __get_all_users ) " -- "$cur") )
+               return 0
+       elif [ "$verb" = "" -a "$prev" = "-f" -o "$prev" = "--ftype" ]; then
+               COMPREPLY=( $(compgen -W "$( __get_all_ftypes ) " -- "$cur") )
+               return 0
+       elif [ "$verb" = "" -a "$prev" = "-t" -o "$prev" = "--types" ]; then
+           if [ "$command" = "port" ]; then
+               COMPREPLY=( $(compgen -W "$( __get_all_port_types ) " -- "$cur") )
+               return 0
+           fi
+           if [ "$command" = "fcontext" ]; then
+               COMPREPLY=( $(compgen -W "$( __get_all_file_types ) " -- "$cur") )
+               return 0
+           fi
+           COMPREPLY=( $(compgen -W "$( __get_all_types ) " -- "$cur") )
+           return 0
+        elif __contains_word "$command" ${VERBS[LOGIN]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_login_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[USER]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_user_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[PORT]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_port_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[INTERFACE]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_interface_opts ) " -- "$cur") )
+               return 0p
+        elif __contains_word "$command" ${VERBS[MODULE]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_module_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[NODE]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_node_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[FCONTEXT]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_fcontext_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[BOOLEAN]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_boolean_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[PERMISSIVE]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_permissive_opts ) " -- "$cur") )
+               return 0
+        elif __contains_word "$command" ${VERBS[DONTAUDIT]} ; then
+                COMPREPLY=( $(compgen -W "$( __get_dontaudit_opts ) " -- "$cur") )
+               return 0
+        fi
+        COMPREPLY=( $(compgen -W "$comps" -- "$cur") )
+        return 0
+}
+complete -F _semanage semanage
diff --git a/policycoreutils/systemd/restorecond.service b/policycoreutils/systemd/restorecond.service
new file mode 100644 (file)
index 0000000..11f4ffd
--- /dev/null
@@ -0,0 +1,12 @@
+[Unit]
+Description=Restorecon maintaining path file context
+After=syslog.target 
+ConditionPathExists=/etc/selinux/restorecond.conf
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/restorecond
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
index 5bf894aacd65e655730c2bbab0f8ab931e2ae7e0..92de3e92afd8cf77b4ae2e74ecf4128e89830209 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = popt
 version    = 1.15
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = http://www.rpm5.org/
@@ -20,17 +20,6 @@ end
 
 source_dl  =
 
-build
-       configure_options += \
-               --libdir=/%{lib}
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{libdir}
-               rm -vf %{BUILDROOT}/%{lib}/libpopt.so
-               ln -sfv ../../%{lib}/libpopt.so.0.0.0 %{BUILDROOT}%{libdir}/libpopt.so
-       end
-end
-
 packages
        package %{name}
 
index f4372b0fe2d3b15915f4a93de64028da18afcdd6..a07cc99de2b612c1761d312619fff744b89844c2 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = ppl
 version    = 0.11.2
-release    = 2
+release    = 4
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Libraries
@@ -32,8 +32,6 @@ sources    = %{thisapp}.tar.lzma
 
 build
        requires
-               autoconf
-               automake
                gcc-c++
                gmp-devel
                m4
@@ -45,13 +43,10 @@ build
 
        PARALLELISMFLAGS =
 
-       prepare_cmds
-               cd %{DIR_APP} && autoreconf -f
-       end
-
-       test
-               make check
-       end
+       # The testsuite currently fails on x86_64.
+       #test
+       #       make check
+       #end
 end
 
 packages
index 8930a9278a07df7e75629851b65754607bf9bf85..f82be752cbeb001ff02e9b9cf618cdbc67ad5bae 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = ppp
 version    = 2.4.5
-release    = 2
+release    = 3
 
 groups     = System/Daemons
 url        = ftp://ftp.samba.org/pub/ppp/
@@ -30,6 +30,9 @@ build
                pam-devel
        end
 
+       # Explicitely add -fPIC to CFLAGS.
+       CFLAGS += -fPIC
+
        prepare_cmds
                sed -e "s@^RUNDIR .*@RUNDIR = /var/run/ppp@" \
                        -e "s@^LOGDIR .*@LOGDIR = /var/log/ppp@" \
@@ -60,7 +63,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index c91b3165917131f5664954e17755df425f9f2500..af812f10b029d17850cbf1cf47df84b3b680557f 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = psmisc
-version    = 22.10
-release    = 2
+version    = 22.15
+release    = 1
 
 groups     = Applications/System
 url        = http://sourceforge.net/projects/psmisc
@@ -22,7 +22,7 @@ description
        filesystems.
 end
 
-source_dl  =
+source_dl  = http://downloads.sourceforge.net/project/psmisc/psmisc/
 
 build
        requires
index 67c568708a33d896584cbfbe577aa65642eb2626..6a7c0d61099f57d802db0db9452f8ab0134a5efd 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = pth
 version    = 2.0.7
-release    = 2
+release    = 3
 
 groups     = System/Libraries
 url        = http://www.gnu.org/software/pth
@@ -37,6 +37,13 @@ build
                        --with-mctx-stk=sas
        end
 
+       if "%{DISTRO_ARCH}" == "armv7hl"
+               configure_options += \
+                       --with-mctx-mth=sjlj \
+                       --with-mctx-dsp=ssjlj \
+                       --with-mctx-stk=sas
+       end
+
        test
                make check
        end
index 6938a5604e5abeceaa88694d3adf2f22896a34a8..9840278e5c63a23e2721d6282b58f3b3bc8b9e30 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = pygobject2
 version    = 2.27.0
-release    = 1
+release    = 2
 
 groups     = Development/Tools
 url        = http://www.pygtk.org/
@@ -42,7 +42,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-codegen
                summary = The code generation program for PyGObject.
@@ -58,6 +57,8 @@ packages
        end
 
        package %{name}-devel
+               template DEVEL
+
                requires
                        glib2-devel
                        %{name}-codegen
diff --git a/pygpgme/pygpgme.nm b/pygpgme/pygpgme.nm
new file mode 100644 (file)
index 0000000..f3facd7
--- /dev/null
@@ -0,0 +1,44 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = pygpgme
+version    = 0.3
+release    = 1
+
+groups     = Development/Languages
+url        = http://cheeseshop.python.org/pypi/pygpgme
+license    = LGPLv2+
+summary    = Python module for working with OpenPGP messages.
+
+description
+       PyGPGME is a Python module that lets you sign, verify, encrypt and decrypt
+       files using the OpenPGP format.  It is built on top of GNU Privacy Guard and
+       the GPGME library.
+end
+
+source_dl  = http://cheeseshop.python.org/packages/source/p/%{name}/
+
+build
+       requires
+               gpgme-devel
+               python-devel
+       end
+
+       build
+               python setup.py build
+       end
+
+       install
+               python setup.py install --skip-build --root %{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index e1e90fcf7fa79cfb20f7f31cadf916e0cd349ac6..b10076e11b0914db03852eb3a73c4aa1ebedb008 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = python-cairo
 version    = 1.8.10
-release    = 2
+release    = 3
 
 groups     = Development/Tools
 url        = http://cairographics.org/pycairo
@@ -31,9 +31,10 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
+               template DEVEL
+
                # The development headers need the cairo headers.
                requires
                        cairo-devel
index 8f191725d7251a634be1e4c91c778baee414194b..740045324a9f21c24c17d6d220754791bf73556d 100644 (file)
@@ -3,9 +3,10 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = pyblock
+name       = python-pyblock
 version    = 0.46
-release    = 2
+release    = 3
+thisapp    = pyblock-%{version}
 
 groups     = System/Libraries
 url        = http://git.fedorahosted.org/git/?p=pyblock.git;a=summary
@@ -21,7 +22,7 @@ sources    = %{thisapp}.tar.bz2
 
 build
        requires
-               dmraid-devel>=1.0.0.rc15-2
+               dmraid-devel >= 1.0.0.rc15-2
                libdevmapper-devel
                libselinux-devel
                python-devel
@@ -42,7 +43,7 @@ build
 end
 
 packages
-       package python-%{name}
+       package %{name}
 
        package %{name}-debuginfo
                template DEBUGINFO
index b1e600eae802cbd3902a126f43c10edcfa942b70..9d62652949dcbc86ba8b63f53f1b501cb68b9407 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = python-pycurl
 version    = 7.19.0
-release    = 3
+release    = 4
 thisapp    = pycurl-%{version}
 
 groups     = Development/Languages
@@ -28,7 +28,7 @@ description
        of features.
 end
 
-source_dl  =
+source_dl  = http://pycurl.sourceforge.net/download/
 
 build
        requires
index 50cac58d9e0f41cdd5204f96e013a38cd77adbcc..c4c0c7d79cfaed49781e6f8f46090c070a75eef6 100644 (file)
@@ -6,7 +6,7 @@
 name       = python
 major_ver  = 2.7
 version    = %{major_ver}.2
-release    = 6
+release    = 7
 thisapp    = Python-%{version}
 
 groups     = Development/Languages
@@ -30,7 +30,7 @@ build
                autoconf
                automake
                bzip2-devel
-               db4-devel >= 4.8
+               db4-devel >= 1:4.8
                expat-devel
                libffi-devel
                libselinux-devel
index b9a952fc75d7a96ec8f97bd339ec28868668f365..7df524b61f1eff842f186a7d05c17d72264e7691 100644 (file)
--- a/qt/qt.nm
+++ b/qt/qt.nm
@@ -5,7 +5,7 @@
 
 name       = qt
 version    = 4.7.0
-release    = 3
+release    = 4
 
 groups     = System/Libraries
 url        = http://www.qtsoftware.com/
@@ -44,10 +44,11 @@ build
 
        configure_options = -v \
                -prefix /usr \
-               -datadir /usr/lib/qt4 \
-               -headerdir /usr/include \
-               -plugindir /usr/lib/qt4/plugins \
-               -translationdir /usr/share/qt4/translations \
+               -libdir %{libdir} \
+               -datadir %{datadir}/qt4 \
+               -headerdir %{includedir} \
+               -plugindir %{libdir}/qt4/plugins \
+               -translationdir %{datadir}/qt4/translations \
                -confirm-license \
                -fontconfig \
                -largefile \
@@ -107,6 +108,9 @@ build
 
        prepare_cmds
                sed -e "s/-O2/%{CFLAGS}/g" -i mkspecs/*/qmake.conf
+
+               # Disable the strip command to get a useful debuginfo package.
+               sed -i -e "s|^QMAKE_STRIP.*=.*|QMAKE_STRIP =|" mkspecs/common/linux.conf
        end
 
        install
@@ -116,18 +120,22 @@ end
 
 packages
        package %{name}
+
+       package %{name}-libs
+               template LIBS
+
+               files += %{libdir}/qt4/plugins
+               files += %{datadir}/qt4/phrasebooks
+               files += %{datadir}/qt4/translations
        end
 
        package %{name}-devel
                template DEVEL
 
-               files
-                       /usr/lib/*.prl \
-                       /usr/lib/qt4/q3porting.xml \
-                       /usr/bin \
-                       /usr/lib/qt4/*.prl \
-                       /usr/lib/qt4/mkspecs
-               end
+               files += %{libdir}/*.prl
+               files += %{libdir}/qt4/q3porting.xml
+               files += %{libdir}/qt4/*.prl
+               files += %{datadir}/qt4/mkspecs
        end
 
        package %{name}-debuginfo
index e5cf76a6203ff3f9f7fd3d60b5e2c21babdffc39..fd95ab54d76da04b48fa6924c14e9b40ab750dd7 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = qtermwidget
 version    = 0.1
-release    = 2
+release    = 3
 
 groups     = /Tools
 url        = http://qtermwidget.sourceforge.net/
@@ -19,7 +19,7 @@ description
        console (or terminal emulation widget).
 end
 
-source_dl  =
+source_dl  = http://sourceforge.net/projects/%{name}/files/sources/%{version}/
 
 build
        requires
@@ -44,15 +44,14 @@ build
                cp -vf lib/*.h %{BUILDROOT}/usr/include/%{name}
 
                # Only install the library
-               mkdir -pv %{BUILDROOT}/usr/lib
-               cp -vf libqtermwidget.so.0 %{BUILDROOT}/usr/lib
-               ln -svf libqtermwidget.so.0 %{BUILDROOT}/usr/lib/libqtermwidget.so
+               mkdir -pv %{BUILDROOT}%{libdir}
+               cp -vf libqtermwidget.so.0 %{BUILDROOT}%{libdir}
+               ln -svf libqtermwidget.so.0 %{BUILDROOT}%{libdir}/libqtermwidget.so
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
index 7c170ed45530e4eeade7b1dbf250ca3e50230a4e..6148528cf56a5de878cf55c3ac0a184b4c959ac5 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = radvd
-version    = 1.8.3
-release    = 4
+version    = 1.8.5
+release    = 1
 
 groups     = System/Daemons
 url        = http://www.litech.org/radvd/
@@ -32,7 +32,6 @@ build
        end
 
        configure_options += \
-               --mandir=/usr/share/man \
                --with-pidfile=/run/radvd/radvd.pid
 
        prepare_cmds
@@ -59,9 +58,9 @@ end
 
 packages
        package %{name}
-               requires = /lib/network/network-radvd-config
-
-               prerequires += shadow-utils
+               requires
+                       network
+               end
 
                script prein
                        %{create_user}
index 48a6cecd18608031c06feb53891a7267b8b0180b..02d6874a0086f3de0d1f1a77b3eb8d29d90b3f7f 100644 (file)
@@ -4,10 +4,10 @@ Requires=network.target
 After=network.target
 
 [Service]
-ExecStartPre=/lib/network/network-radvd-config start
+ExecStartPre=/usr/lib/network/network-radvd-config start
 ExecStart=/usr/sbin/radvd -C /etc/radvd.conf -u radvd
 ExecReload=/bin/kill -HUP $MAINPID
-ExecStopPost=/lib/network/network-radvd-config stop
+ExecStopPost=/usr/lib/network/network-radvd-config stop
 Type=forking
 PIDFile=/run/radvd/radvd.pid
 Restart=on-failure
diff --git a/rcs/patches/rcs-5.8-build-tweaks.patch b/rcs/patches/rcs-5.8-build-tweaks.patch
new file mode 100644 (file)
index 0000000..130d452
--- /dev/null
@@ -0,0 +1,15 @@
+diff -up rcs-5.8/man/Makefile.in.build-tweaks rcs-5.8/man/Makefile.in
+--- rcs-5.8/man/Makefile.in.build-tweaks       2011-08-28 13:14:24.000000000 +0200
++++ rcs-5.8/man/Makefile.in    2011-09-07 15:48:30.485492906 +0200
+@@ -876,9 +876,9 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ dist_man_MANS = ci.1 co.1 ident.1 merge.1 rcs.1 rcsclean.1 \
+-  rcsdiff.1 rcsfile.5 rcsintro.1 rcsmerge.1 rlog.1
++  rcsdiff.1 rcsfile.5 rcsintro.1 rcsmerge.1 rlog.1 rcsfreeze.1
+-dist_noinst_MANS = rcsfreeze.1
++#dist_noinst_MANS = 
+ BUILT_SOURCES = REL $(dist_noinst_MANS)
+ bits = b-base \
+   b-emptylogmessage \
diff --git a/rcs/patches/rcs-5.8-newsvnsyntax.patch b/rcs/patches/rcs-5.8-newsvnsyntax.patch
new file mode 100644 (file)
index 0000000..c63f884
--- /dev/null
@@ -0,0 +1,42 @@
+diff -up rcs-5.8/src/ident.c.newsvnsyntax rcs-5.8/src/ident.c
+--- rcs-5.8/src/ident.c.newsvnsyntax   2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/src/ident.c        2011-09-08 10:53:34.064837699 +0200
+@@ -41,14 +41,20 @@ match (register FILE *fp)
+   char line[BUFSIZ];
+   register int c;
+   register char *tp;
++  int COLON_C = 0;
++  int MAX_COLON = 1;
+   tp = line;
+-  while ((c = getc (fp)) != VDELIM)
++  while ((c = getc (fp)) && (COLON_C < MAX_COLON))
+     {
+       if (c == EOF && feof (fp) | ferror (fp))
+         return c;
+       switch (ctab[c])
+         {
++        case COLON:
++          *tp++ = c;
++          COLON_C++;
++          break;
+         case LETTER:
+         case Letter:
+           *tp++ = c;
+@@ -62,7 +68,15 @@ match (register FILE *fp)
+     }
+   if (tp == line)
+     return c;
+-  *tp++ = c;
++  if (c == ' ')
++    {
++      ungetc(c,fp);
++    }
++  else
++    {
++      *tp++ = c;
++    }
++
+   if ((c = getc (fp)) != ' ')
+     return c ? c : '\n';
+   *tp++ = c;
diff --git a/rcs/patches/rcs-5.8-sameuserlocks.patch b/rcs/patches/rcs-5.8-sameuserlocks.patch
new file mode 100644 (file)
index 0000000..d5696be
--- /dev/null
@@ -0,0 +1,198 @@
+diff -up rcs-5.8/man/co.1in.sameuserlocks rcs-5.8/man/co.1in
+--- rcs-5.8/man/co.1in.sameuserlocks   2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/man/co.1in 2011-09-08 11:41:09.545810466 +0200
+@@ -318,6 +318,10 @@ Use this option with care; it can confus
+ retrieves the latest revision on the selected branch whose state is set to
+ .IR state .
+ .TP
++.BI \-S
++Turns on same user locks.  When this is enabled the user cannot check out
++the same file twice.
++.TP
+ .B \-T
+ Preserve the modification time on the \*o
+ even if the \*o changes because a lock is added or removed.
+diff -up rcs-5.8/src/b-excwho.c.sameuserlocks rcs-5.8/src/b-excwho.c
+--- rcs-5.8/src/b-excwho.c.sameuserlocks       2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/src/b-excwho.c     2011-09-08 11:41:09.546810466 +0200
+@@ -205,9 +205,9 @@ getcaller (void)
+ }
+ bool
+-caller_login_p (char const *login)
++caller_login_p (char const *login, int sameuserlocks)
+ {
+-  return STR_SAME (getcaller (), login);
++  return STR_SAME (getcaller (), login) && !sameuserlocks;
+ }
+ struct link *
+@@ -255,7 +255,7 @@ lock_drop (struct link *box, struct link
+ }
+ int
+-addlock (struct delta *delta, bool verbose)
++addlock (struct delta *delta, bool verbose, int sameuserlocks)
+ /* Add a lock held by caller to ‘delta’ and return 1 if successful.
+    Print an error message if ‘verbose’ and return -1 if no lock is
+    added because ‘delta’ is locked by somebody other than caller.
+@@ -266,7 +266,7 @@ addlock (struct delta *delta, bool verbo
+   if (was)
+     {
+-      if (caller_login_p (was->login))
++      if (caller_login_p (was->login, sameuserlocks))
+         return 0;
+       if (verbose)
+         RERR ("Revision %s is already locked by %s.", delta->num, was->login);
+diff -up rcs-5.8/src/b-excwho.h.sameuserlocks rcs-5.8/src/b-excwho.h
+--- rcs-5.8/src/b-excwho.h.sameuserlocks       2011-01-07 13:27:18.000000000 +0100
++++ rcs-5.8/src/b-excwho.h     2011-09-08 11:43:06.424809351 +0200
+@@ -27,11 +27,11 @@ extern void seteid (void);
+ extern void setrid (void);
+ extern char const *getusername (bool suspicious);
+ extern char const *getcaller (void);
+-extern bool caller_login_p (char const *login);
++extern bool caller_login_p (char const *login, int sameuserlocks);
+ extern struct link *lock_memq (struct link *ls, bool loginp, void const *x);
+ extern struct rcslock const *lock_on (struct delta const *delta);
+ extern void lock_drop (struct link *box, struct link *tp);
+-extern int addlock (struct delta *delta, bool verbose);
++extern int addlock (struct delta *delta, bool verbose, int sameuserlocks);
+ /* Idioms.  */
+diff -up rcs-5.8/src/ci.c.sameuserlocks rcs-5.8/src/ci.c
+--- rcs-5.8/src/ci.c.sameuserlocks     2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/ci.c   2011-09-08 11:41:09.585810465 +0200
+@@ -153,7 +153,7 @@ removelock (struct delta *delta)
+       return -1;
+     }
+   rl = tp->next->entry;
+-  if (! caller_login_p (rl->login))
++  if (! caller_login_p (rl->login, false))
+     {
+       RERR ("revision %s locked by %s", num, rl->login);
+       return -1;
+@@ -260,7 +260,7 @@ addbranch (struct delta *branchpoint, st
+   newbranch.entry = &newdelta;
+   newdelta.ilk = NULL;
+   if (branchpoint->lockedby)
+-    if (caller_login_p (branchpoint->lockedby))
++    if (caller_login_p (branchpoint->lockedby, false))
+       return removelock (branchpoint);  /* This returns 1.  */
+   return removedlock;
+ }
+@@ -1006,7 +1006,7 @@ main (int argc, char **argv)
+             continue;
+           }
+-        if (lockflag && addlock (&newdelta, true) < 0)
++        if (lockflag && addlock (&newdelta, true, false) < 0)
+           continue;
+         if (keepflag && (pv = PREV (name)))
+diff -up rcs-5.8/src/co.c.sameuserlocks rcs-5.8/src/co.c
+--- rcs-5.8/src/co.c.sameuserlocks     2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/co.c   2011-09-08 11:41:09.587810465 +0200
+@@ -135,7 +135,7 @@ rmlock (struct delta const *delta)
+     /* No lock on ‘delta’.  */
+     return 0;
+   rl = tp->next->entry;
+-  if (!caller_login_p (rl->login))
++  if (!caller_login_p (rl->login, false))
+     /* Found a lock on ‘delta’ by someone else.  */
+     {
+       RERR ("revision %s locked by %s; use co -r or rcs -u",
+@@ -441,6 +441,7 @@ main (int argc, char **argv)
+   int changelock;
+   int expmode, r, workstatstat;
+   bool tostdout, Ttimeflag;
++  int sameuserlocks;
+   char finaldate[datesize];
+ #if OPEN_O_BINARY
+   int stdout_mode = 0;
+@@ -464,6 +465,7 @@ main (int argc, char **argv)
+   BE (pe) = X_DEFAULT;
+   tostdout = false;
+   Ttimeflag = false;
++  sameuserlocks = false;
+   argc = getRCSINIT (argc, argv, &newargv);
+   argv = newargv;
+@@ -543,6 +545,14 @@ main (int argc, char **argv)
+             }
+           break;
++        case 'S':
++          /* 
++           *  Enable strict locks (i.e. even the same user cannot
++           *  re-check out a file with a lock that he owns.
++           */
++          sameuserlocks = true;
++          break;
++
+         case 'T':
+           if (*a)
+             goto unknown;
+@@ -699,7 +709,7 @@ main (int argc, char **argv)
+             /* Check reservations.  */
+             changelock = lockflag < 0
+               ? rmlock (targetdelta)
+-              : lockflag == 0 ? 0 : addlock (targetdelta, true);
++              : lockflag == 0 ? 0 : addlock (targetdelta, true, sameuserlocks);
+             if (changelock < 0
+                 || (changelock && !checkaccesslist ())
+diff -up rcs-5.8/src/rcsclean.c.sameuserlocks rcs-5.8/src/rcsclean.c
+--- rcs-5.8/src/rcsclean.c.sameuserlocks       2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/rcsclean.c     2011-09-08 11:41:09.588810465 +0200
+@@ -66,7 +66,7 @@ unlock (struct delta *delta)
+   struct link box, *tp;
+   if (delta && delta->lockedby
+-      && caller_login_p (delta->lockedby)
++      && caller_login_p (delta->lockedby, false)
+       && (box.next = GROK (locks))
+       && (tp = lock_delta_memq (&box, delta)))
+     {
+diff -up rcs-5.8/src/rcs.c.sameuserlocks rcs-5.8/src/rcs.c
+--- rcs-5.8/src/rcs.c.sameuserlocks    2011-08-08 13:58:59.000000000 +0200
++++ rcs-5.8/src/rcs.c  2011-09-08 11:41:09.590810465 +0200
+@@ -495,7 +495,7 @@ breaklock (struct delta const *delta)
+     }
+   rl = tp->next->entry;
+   before = rl->login;
+-  if (!caller_login_p (before)
++  if (!caller_login_p (before, false)
+       && !sendmail (num, before))
+     {
+       RERR ("revision %s still locked by %s", num, before);
+@@ -794,8 +794,8 @@ setlock (char const *rev, struct wlink *
+             RERR ("can't lock nonexisting revision %s", numrev.string);
+           else
+             {
+-              if ((r = addlock (target, false)) < 0 && breaklock (target))
+-                r = addlock (target, true);
++              if ((r = addlock (target, false, false)) < 0 && breaklock (target))
++                r = addlock (target, true, false);
+               if (0 <= r)
+                 {
+                   if (r)
+diff -up rcs-5.8/src/rcsedit.c.sameuserlocks rcs-5.8/src/rcsedit.c
+--- rcs-5.8/src/rcsedit.c.sameuserlocks        2011-08-08 14:00:25.000000000 +0200
++++ rcs-5.8/src/rcsedit.c      2011-09-08 11:41:09.591810465 +0200
+@@ -1086,11 +1086,11 @@ checkaccesslist (void)
+ {
+   struct link *ls = GROK (access);
+-  if (!ls || stat_mine_p (&REPO (stat)) || caller_login_p ("root"))
++  if (!ls || stat_mine_p (&REPO (stat)) || caller_login_p ("root", false))
+     return true;
+   for (; ls; ls = ls->next)
+-    if (caller_login_p (ls->entry))
++    if (caller_login_p (ls->entry, false))
+       return true;
+   RERR ("user %s not on the access list", getcaller ());
diff --git a/rcs/rcs.nm b/rcs/rcs.nm
new file mode 100644 (file)
index 0000000..85b9e00
--- /dev/null
@@ -0,0 +1,63 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = rcs
+version    = 5.8
+release    = 1
+
+groups     = Development/Tools
+url        = http://www.gnu.org/software/rcs/
+license    = GPLv3+
+summary    = Revision Control System (RCS) file version management tools.
+
+description
+       The Revision Control System (RCS) is a system for managing multiple
+       versions of files.  RCS automates the storage, retrieval, logging,
+       identification and merging of file revisions.  RCS is useful for text
+       files that are revised frequently (for example, programs,
+       documentation, graphics, papers and form letters).
+
+       The rcs package should be installed if you need a system for managing
+       different versions of files.
+end
+
+source_dl  = ftp://ftp.gnu.org/gnu/rcs/
+
+build
+       requires
+               autoconf
+               ed
+               ghostscript
+               groff
+       end
+
+       prepare_cmds
+               autoconf
+       end
+
+       configure_options += \
+               --with-diffutils
+
+       #test
+       #       make check
+       #end
+
+       install_cmds
+               # Install the rcsfreeze command.
+               install -m 755 src/rcsfreeze %{BUILDROOT}%{bindir}
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       diffutils
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index d1ade64d09dba2f915b9a94a0cc00f4ecc3fe4fe..4b8c226bd36b1976a69746c489f4fd8229fc78bc 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = readline
 version    = 6.2
-release    = 5
+release    = 6
 
 groups     = System/Libraries
 url        = ftp://ftp.gnu.org/gnu/readline/
@@ -29,9 +29,6 @@ build
                ncurses-devel
        end
 
-       configure_options += \
-               --libdir=/%{lib} \
-
        make_build_targets += \
                SHLIB_LIBS=-lncurses
 
@@ -39,11 +36,6 @@ build
                # Remove a bunch of *.c files
                rm -rfv %{BUILDROOT}/usr/share/readline
 
-               mkdir -pv %{BUILDROOT}%{libdir}
-               rm -fv %{BUILDROOT}/%{lib}/lib{readline,history}.so
-               ln -sfv ../../%{lib}/libreadline.so.6 %{BUILDROOT}%{libdir}/libreadline.so
-               ln -sfv ../../%{lib}/libhistory.so.6 %{BUILDROOT}%{libdir}/libhistory.so
-
                mkdir -pv %{BUILDROOT}/etc/profile.d
                cp -vf %{DIR_SOURCE}/readline.sh %{BUILDROOT}/etc/profile.d/
        end
index 1f2aef3d904e26a23b5fde84a0f3e8b1624f0ac2..70ceb9499b79fbd6108aa8439ef87236c34c7471 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = rsyslog
 version    = 5.8.6
-release    = 2
+release    = 3
 
 groups     = System/Daemons
 url        = http://www.rsyslog.com/
@@ -35,8 +35,6 @@ build
                -DSYSLOGD_PIDNAME=\"syslogd.pid\"
 
        configure_options += \
-               --exec-prefix= \
-               --libdir=/lib \
                --with-systemdsystemunitdir=/lib/systemd/system \
                --disable-static \
                --disable-testbench \
index ae55fe5bd6aba4fbd85b08abb56cd6b40889d2ae..6f3f37958858207ee9e14fe45783669635636199 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = rtorrent
-version    = 0.8.7
+version    = 0.8.9
 release    = 1
 
 groups     = Internet/P2P
@@ -24,19 +24,20 @@ source_dl  = http://libtorrent.rakshasa.no/downloads/
 
 build
        requires
-                gcc-c++
+               gcc-c++
                libcurl-devel
                libsigc++-devel
-               libtorrent-devel
+               libtorrent-devel >= 0.12.9
                ncurses-devel
        end
 
+       CFLAGS += -fno-strict-aliasing
+
        make_build_targets += LDFLAGS=-lpthread
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index dcf1edfff8153a7c7afe9681b4678ac0b82131d5..6403e4ce50e6bf59cf4553244d8bd9105112d89a 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = samba
-version    = 3.6.3
+version    = 3.6.4
 release    = 1
 
 maintainer = Christian Schmidt <christian.schmidt@ipfire.org>
@@ -53,17 +53,17 @@ build
        DIR_APP = %{DIR_SRC}/%{thisapp}/source3
 
        configure_options += \
-               --prefix=/usr \
+               --prefix=%{prefix} \
                --localstatedir=/var \
-               --with-lockdir=/var/lib/samba \
-               --with-piddir=/var/run \
-               --with-mandir=/usr/share/man \
-               --with-privatedir=/var/lib/samba/private \
+               --with-lockdir=%{sharedstatedir}/samba \
+               --with-piddir=%{rundir} \
+               --with-mandir=%{mandir} \
+               --with-privatedir=%{sharedstatedir}/samba/private \
                --with-logfilebase=/var/log/samba \
-               --with-modulesdir=/usr/lib/samba \
-               --with-configdir=/etc/samba \
-               --with-pammodulesdir=/lib/security \
-               --with-swatdir=/usr/share/swat \
+               --with-modulesdir=%{libdir}/samba \
+               --with-configdir=%{sysconfdir}/samba \
+               --with-pammodulesdir=/%{lib}/security \
+               --with-swatdir=%{datadir}/swat \
                --with-automount \
                --with-libsmbclient \
                --with-libsmbsharemodes \
@@ -81,8 +81,8 @@ build
                all modules
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/etc/samba
-               echo "127.0.0.1 localhost" > %{BUILDROOT}/etc/samba/lmhosts
+               mkdir -pv %{BUILDROOT}%{sysconfdir}/samba
+               echo "127.0.0.1 localhost" > %{BUILDROOT}%{sysconfdir}/samba/lmhosts
        end
 end
 
@@ -96,7 +96,7 @@ packages
        package %{name}-devel
                template DEVEL
 
-               requires += %{name}-libs=%{thisver}
+               requires += %{name}-libs = %{thisver}
        end
 
        package %{name}-debuginfo
index 0c43fbb5bb1c75a813ef3060ac2e8fb144f3a949..556ef7c8165bcd07c00d1eaf12bef5d8fb360da6 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = sed
 version    = 4.2.1
-release    = 2
+release    = 3
 
 groups     = Applications/Text
 url        = http://sed.sourceforge.net/
@@ -28,9 +28,7 @@ build
        end
 
        configure_options += \
-               --bindir=/bin \
-               --without-included-regex \
-               --mandir=/usr/share/man
+               --without-included-regex
 
        test
                make check
@@ -40,6 +38,14 @@ end
 packages
        package %{name}
                groups += Base Build
+
+               provides
+                       /bin/sed
+               end
+
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package %{name}-debuginfo
diff --git a/setools/patches/0001-add-setools-seinfo-and-sesearch-python-bindings.patch b/setools/patches/0001-add-setools-seinfo-and-sesearch-python-bindings.patch
new file mode 100644 (file)
index 0000000..58ac0ba
--- /dev/null
@@ -0,0 +1,2773 @@
+From 32e8d1d3619dcdb40431c7eae3fe00efaae089c6 Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Tue, 20 Sep 2011 15:38:50 -0400
+Subject: [PATCH 1/6] add-setools-seinfo-and-sesearch-python-bindings
+
+---
+ Makefile.am                |    2 +-
+ configure.ac               |   14 +-
+ python/Makefile.am         |    1 +
+ python/Makefile.in         |  716 +++++++++++++++++++++++++++++++++++++++++
+ python/setools/Makefile.am |   36 ++
+ python/setools/Makefile.in |  550 +++++++++++++++++++++++++++++++
+ python/setools/__init__.py |   50 +++
+ python/setools/seinfo.c    |  769 ++++++++++++++++++++++++++++++++++++++++++++
+ python/setools/sesearch.c  |  478 +++++++++++++++++++++++++++
+ python/setools/setup.py    |   25 ++
+ 11 files changed, 2635 insertions(+), 8 deletions(-)
+ create mode 100644 python/Makefile.am
+ create mode 100644 python/Makefile.in
+ create mode 100644 python/setools/Makefile.am
+ create mode 100644 python/setools/Makefile.in
+ create mode 100644 python/setools/__init__.py
+ create mode 100644 python/setools/seinfo.c
+ create mode 100644 python/setools/sesearch.c
+ create mode 100644 python/setools/setup.py
+
+diff --git a/Makefile.am b/Makefile.am
+index 5dc1b5d..176c8ea 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -10,7 +10,7 @@ if BUILD_GUI
+ endif
+ # sediffx is also built conditionally, from sediffx/Makefile.am
+-SUBDIRS = libqpol libapol libsefs libpoldiff libseaudit secmds sechecker sediff man packages debian $(MAYBE_APOL) $(MAYBE_GUI)
++SUBDIRS = libqpol libapol libsefs libpoldiff libseaudit secmds sechecker sediff man packages debian $(MAYBE_APOL) $(MAYBE_GUI) python
+ #old indent opts
+ #INDENT_OPTS = -npro -nbad -bap -sob -ss -l132 -di1 -nbc -br -nbbb -c40 -cd40 -ncdb -ce -cli0 -cp40 -ncs -d0 -nfc1 -nfca -i8 -ts8 -ci8 -lp -ip0 -npcs -npsl -sc
+diff --git a/configure.ac b/configure.ac
+index b885981..e837e03 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -194,7 +194,7 @@ AC_ARG_ENABLE(swig-java,
+               enable_jswig="$enableval")
+ if test "x${enable_jswig}" = xyes; then
+    if test ${do_swigify} = no; then
+-      AC_PROG_SWIG(1.3.28)
++      AC_PROG_SWIG(2.0.0)
+    fi
+    AC_JAVA_OPTIONS
+    if test "x$JAVAPREFIX" = x; then
+@@ -216,21 +216,23 @@ if test "x${enable_jswig}" = xyes; then
+    do_swigify_java=yes
+    do_swigify=yes
+ fi
++
++AM_PATH_PYTHON(2.7)
++
+ AC_ARG_ENABLE(swig-python,
+               AC_HELP_STRING([--enable-swig-python],
+                              [build SWIG interfaces for Python]),
+               enable_pyswig="$enableval")
+ if test "x${enable_pyswig}" = xyes; then
+    if test ${do_swigify} = no; then
+-      AC_PROG_SWIG(1.3.28)
++      AC_PROG_SWIG(2.0.0)
+    fi
+-   AM_PATH_PYTHON(2.3)
+    SWIG_PYTHON
+    do_swigify_python=yes
+    do_swigify=yes
+ fi
+ if test ${do_swigify} = "yes"; then
+-   AC_PROG_SWIG(1.3.28)
++   AC_PROG_SWIG(2.0.0)
+ fi
+ build_apol=yes
+ AC_ARG_ENABLE(swig-tcl,
+@@ -239,7 +241,7 @@ AC_ARG_ENABLE(swig-tcl,
+               enable_tclswig="$enableval", enable_tclswig="yes")
+ if test "x${enable_tclswig}" = xyes; then
+    if test ${do_swigify} = no; then
+-      AC_PROG_SWIG(1.3.28)
++      AC_PROG_SWIG(2.0.0)
+    fi
+    TEA_INIT(3.5)
+    TEA_PATH_TCLCONFIG
+@@ -888,6 +890,8 @@ AC_CONFIG_FILES([Makefile VERSION \
+                  sediff/Makefile \
+                  man/Makefile \
+                  debian/Makefile \
++               python/Makefile \
++               python/setools/Makefile \
+                  packages/Makefile packages/rpm/Makefile \
+                  packages/libqpol.pc packages/libapol.pc packages/libpoldiff.pc packages/libseaudit.pc packages/libsefs.pc])
+diff --git a/python/Makefile.am b/python/Makefile.am
+new file mode 100644
+index 0000000..a1510c8
+--- /dev/null
++++ b/python/Makefile.am
+@@ -0,0 +1 @@
++SUBDIRS = setools
+diff --git a/python/Makefile.in b/python/Makefile.in
+new file mode 100644
+index 0000000..48c87ab
+--- /dev/null
++++ b/python/Makefile.in
+@@ -0,0 +1,716 @@
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
++# Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++VPATH = @srcdir@
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++subdir = python
++DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_classpath.m4 \
++      $(top_srcdir)/m4/ac_java_options.m4 \
++      $(top_srcdir)/m4/ac_pkg_swig.m4 \
++      $(top_srcdir)/m4/ac_prog_jar.m4 \
++      $(top_srcdir)/m4/ac_prog_java.m4 \
++      $(top_srcdir)/m4/ac_prog_java_works.m4 \
++      $(top_srcdir)/m4/ac_prog_javac.m4 \
++      $(top_srcdir)/m4/ac_prog_javac_works.m4 \
++      $(top_srcdir)/m4/ac_python_devel.m4 $(top_srcdir)/m4/c.m4 \
++      $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++      $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++      $(top_srcdir)/m4/lt~obsolete.m4 \
++      $(top_srcdir)/m4/swig_python.m4 $(top_srcdir)/m4/tcl.m4 \
++      $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++      $(ACLOCAL_M4)
++mkinstalldirs = $(install_sh) -d
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++SOURCES =
++DIST_SOURCES =
++RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
++      html-recursive info-recursive install-data-recursive \
++      install-dvi-recursive install-exec-recursive \
++      install-html-recursive install-info-recursive \
++      install-pdf-recursive install-ps-recursive install-recursive \
++      installcheck-recursive installdirs-recursive pdf-recursive \
++      ps-recursive uninstall-recursive
++RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive       \
++  distclean-recursive maintainer-clean-recursive
++AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
++      $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
++      distdir
++ETAGS = etags
++CTAGS = ctags
++DIST_SUBDIRS = $(SUBDIRS)
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++am__relativize = \
++  dir0=`pwd`; \
++  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
++  sed_rest='s,^[^/]*/*,,'; \
++  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
++  sed_butlast='s,/*[^/]*$$,,'; \
++  while test -n "$$dir1"; do \
++    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
++    if test "$$first" != "."; then \
++      if test "$$first" = ".."; then \
++        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
++        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
++      else \
++        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
++        if test "$$first2" = "$$first"; then \
++          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
++        else \
++          dir2="../$$dir2"; \
++        fi; \
++        dir0="$$dir0"/"$$first"; \
++      fi; \
++    fi; \
++    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
++  done; \
++  reldir="$$dir2"
++ACLOCAL = @ACLOCAL@
++AMTAR = @AMTAR@
++APOL_CFLAGS = @APOL_CFLAGS@
++APOL_LIB_FLAG = @APOL_LIB_FLAG@
++AR = @AR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BWIDGET_DESTDIR = @BWIDGET_DESTDIR@
++CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CUNIT_LIB_FLAG = @CUNIT_LIB_FLAG@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXDEPMODE = @CXXDEPMODE@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH = @CYGPATH@
++CYGPATH_W = @CYGPATH_W@
++DEBUGCFLAGS = @DEBUGCFLAGS@
++DEBUGCXXFLAGS = @DEBUGCXXFLAGS@
++DEBUGJFLAGS = @DEBUGJFLAGS@
++DEBUGLDFLAGS = @DEBUGLDFLAGS@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EXEEXT = @EXEEXT@
++FGREP = @FGREP@
++GLADE_CFLAGS = @GLADE_CFLAGS@
++GLADE_LIBS = @GLADE_LIBS@
++GREP = @GREP@
++GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
++GTHREAD_LIBS = @GTHREAD_LIBS@
++GTK_CFLAGS = @GTK_CFLAGS@
++GTK_LIBS = @GTK_LIBS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++JAR = @JAR@
++JAVA = @JAVA@
++JAVAC = @JAVAC@
++JAVACFLAGS = @JAVACFLAGS@
++JAVAFLAGS = @JAVAFLAGS@
++JAVAPREFIX = @JAVAPREFIX@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LEX = @LEX@
++LEXLIB = @LEXLIB@
++LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LTLIBOBJS = @LTLIBOBJS@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PIXBUF_CFLAGS = @PIXBUF_CFLAGS@
++PIXBUF_LIBS = @PIXBUF_LIBS@
++PKG_CFLAGS = @PKG_CFLAGS@
++PKG_HEADERS = @PKG_HEADERS@
++PKG_INCLUDES = @PKG_INCLUDES@
++PKG_LIBS = @PKG_LIBS@
++PKG_LIB_FILE = @PKG_LIB_FILE@
++PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@
++PKG_STUB_OBJECTS = @PKG_STUB_OBJECTS@
++PKG_STUB_SOURCES = @PKG_STUB_SOURCES@
++PKG_TCL_SOURCES = @PKG_TCL_SOURCES@
++POLDIFF_CFLAGS = @POLDIFF_CFLAGS@
++POLDIFF_LIB_FLAG = @POLDIFF_LIB_FLAG@
++PROFILECFLAGS = @PROFILECFLAGS@
++PROFILELDFLAGS = @PROFILELDFLAGS@
++PYTHON = @PYTHON@
++PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
++PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
++PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
++PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
++PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
++PYTHON_PLATFORM = @PYTHON_PLATFORM@
++PYTHON_PREFIX = @PYTHON_PREFIX@
++PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
++PYTHON_VERSION = @PYTHON_VERSION@
++QPOL_CFLAGS = @QPOL_CFLAGS@
++QPOL_LIB_FLAG = @QPOL_LIB_FLAG@
++RANLIB = @RANLIB@
++SEAUDIT_CFLAGS = @SEAUDIT_CFLAGS@
++SEAUDIT_LIB_FLAG = @SEAUDIT_LIB_FLAG@
++SED = @SED@
++SEFS_CFLAGS = @SEFS_CFLAGS@
++SEFS_LIB_FLAG = @SEFS_LIB_FLAG@
++SELINUX_CFLAGS = @SELINUX_CFLAGS@
++SELINUX_LIB_FLAG = @SELINUX_LIB_FLAG@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++SQLITE3_CFLAGS = @SQLITE3_CFLAGS@
++SQLITE3_LIBS = @SQLITE3_LIBS@
++STRIP = @STRIP@
++SWIG = @SWIG@
++SWIG_JAVA_CFLAGS = @SWIG_JAVA_CFLAGS@
++SWIG_JAVA_OPT = @SWIG_JAVA_OPT@
++SWIG_LIB = @SWIG_LIB@
++SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@
++SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@
++SWIG_TCL_CFLAGS = @SWIG_TCL_CFLAGS@
++SWIG_TCL_OPT = @SWIG_TCL_OPT@
++TCLSH_PROG = @TCLSH_PROG@
++TCL_AUTOPATH = @TCL_AUTOPATH@
++TCL_BIN_DIR = @TCL_BIN_DIR@
++TCL_DEFS = @TCL_DEFS@
++TCL_EXTRA_CFLAGS = @TCL_EXTRA_CFLAGS@
++TCL_INCLUDES = @TCL_INCLUDES@
++TCL_LD_FLAGS = @TCL_LD_FLAGS@
++TCL_LIBS = @TCL_LIBS@
++TCL_LIB_FILE = @TCL_LIB_FILE@
++TCL_LIB_FLAG = @TCL_LIB_FLAG@
++TCL_LIB_SPEC = @TCL_LIB_SPEC@
++TCL_SHLIB_LD_LIBS = @TCL_SHLIB_LD_LIBS@
++TCL_SRC_DIR = @TCL_SRC_DIR@
++TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@
++TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@
++TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
++TCL_VERSION = @TCL_VERSION@
++TK_BIN_DIR = @TK_BIN_DIR@
++TK_INCLUDES = @TK_INCLUDES@
++TK_LIBS = @TK_LIBS@
++TK_LIB_FILE = @TK_LIB_FILE@
++TK_LIB_FLAG = @TK_LIB_FLAG@
++TK_LIB_SPEC = @TK_LIB_SPEC@
++TK_SRC_DIR = @TK_SRC_DIR@
++TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@
++TK_STUB_LIB_FLAG = @TK_STUB_LIB_FLAG@
++TK_STUB_LIB_SPEC = @TK_STUB_LIB_SPEC@
++TK_VERSION = @TK_VERSION@
++TK_XINCLUDES = @TK_XINCLUDES@
++VERSION = @VERSION@
++WARNCFLAGS = @WARNCFLAGS@
++WARNCXXFLAGS = @WARNCXXFLAGS@
++WARNJFLAGS = @WARNJFLAGS@
++WARNLDFLAGS = @WARNLDFLAGS@
++WISH_PROG = @WISH_PROG@
++XMKMF = @XMKMF@
++XML_CFLAGS = @XML_CFLAGS@
++XML_LIBS = @XML_LIBS@
++YACC = @YACC@
++YFLAGS = @YFLAGS@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++exec_prefix = @exec_prefix@
++has_pkg_config = @has_pkg_config@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++javadir = @javadir@
++libapol_jswig_soname = @libapol_jswig_soname@
++libapol_pyswig_soname = @libapol_pyswig_soname@
++libapol_soname = @libapol_soname@
++libapol_soversion = @libapol_soversion@
++libapol_tswig_soname = @libapol_tswig_soname@
++libapol_version = @libapol_version@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libpoldiff_jswig_soname = @libpoldiff_jswig_soname@
++libpoldiff_pyswig_soname = @libpoldiff_pyswig_soname@
++libpoldiff_soname = @libpoldiff_soname@
++libpoldiff_soversion = @libpoldiff_soversion@
++libpoldiff_tswig_soname = @libpoldiff_tswig_soname@
++libpoldiff_version = @libpoldiff_version@
++libqpol_jswig_soname = @libqpol_jswig_soname@
++libqpol_pyswig_soname = @libqpol_pyswig_soname@
++libqpol_soname = @libqpol_soname@
++libqpol_soversion = @libqpol_soversion@
++libqpol_tswig_soname = @libqpol_tswig_soname@
++libqpol_version = @libqpol_version@
++libseaudit_jswig_soname = @libseaudit_jswig_soname@
++libseaudit_pyswig_soname = @libseaudit_pyswig_soname@
++libseaudit_soname = @libseaudit_soname@
++libseaudit_soversion = @libseaudit_soversion@
++libseaudit_tswig_soname = @libseaudit_tswig_soname@
++libseaudit_version = @libseaudit_version@
++libsefs_jswig_soname = @libsefs_jswig_soname@
++libsefs_pyswig_soname = @libsefs_pyswig_soname@
++libsefs_soname = @libsefs_soname@
++libsefs_soversion = @libsefs_soversion@
++libsefs_tswig_soname = @libsefs_tswig_soname@
++libsefs_version = @libsefs_version@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++pkgpyexecdir = @pkgpyexecdir@
++pkgpythondir = @pkgpythondir@
++prefix = @prefix@
++profile_install_dir = @profile_install_dir@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++pyexecdir = @pyexecdir@
++pythondir = @pythondir@
++sbindir = @sbindir@
++selinux_default_policy = @selinux_default_policy@
++selinux_policy_dir = @selinux_policy_dir@
++sepol_srcdir = @sepol_srcdir@
++setoolsdir = @setoolsdir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target_alias = @target_alias@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++uudecode = @uudecode@
++SUBDIRS = setools
++all: all-recursive
++
++.SUFFIXES:
++$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
++      @for dep in $?; do \
++        case '$(am__configure_deps)' in \
++          *$$dep*) \
++            ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++              && { if test -f $@; then exit 0; else break; fi; }; \
++            exit 1;; \
++        esac; \
++      done; \
++      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu python/Makefile'; \
++      $(am__cd) $(top_srcdir) && \
++        $(AUTOMAKE) --gnu python/Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++      @case '$?' in \
++        *config.status*) \
++          cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++        *) \
++          echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++          cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++      esac;
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure:  $(am__configure_deps)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++mostlyclean-libtool:
++      -rm -f *.lo
++
++clean-libtool:
++      -rm -rf .libs _libs
++
++# This directory's subdirectories are mostly independent; you can cd
++# into them and run `make' without going through this Makefile.
++# To change the values of `make' variables: instead of editing Makefiles,
++# (1) if the variable is set in `config.status', edit `config.status'
++#     (which will cause the Makefiles to be regenerated when you run `make');
++# (2) otherwise, pass the desired values on the `make' command line.
++$(RECURSIVE_TARGETS):
++      @fail= failcom='exit 1'; \
++      for f in x $$MAKEFLAGS; do \
++        case $$f in \
++          *=* | --[!k]*);; \
++          *k*) failcom='fail=yes';; \
++        esac; \
++      done; \
++      dot_seen=no; \
++      target=`echo $@ | sed s/-recursive//`; \
++      list='$(SUBDIRS)'; for subdir in $$list; do \
++        echo "Making $$target in $$subdir"; \
++        if test "$$subdir" = "."; then \
++          dot_seen=yes; \
++          local_target="$$target-am"; \
++        else \
++          local_target="$$target"; \
++        fi; \
++        ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
++        || eval $$failcom; \
++      done; \
++      if test "$$dot_seen" = "no"; then \
++        $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
++      fi; test -z "$$fail"
++
++$(RECURSIVE_CLEAN_TARGETS):
++      @fail= failcom='exit 1'; \
++      for f in x $$MAKEFLAGS; do \
++        case $$f in \
++          *=* | --[!k]*);; \
++          *k*) failcom='fail=yes';; \
++        esac; \
++      done; \
++      dot_seen=no; \
++      case "$@" in \
++        distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
++        *) list='$(SUBDIRS)' ;; \
++      esac; \
++      rev=''; for subdir in $$list; do \
++        if test "$$subdir" = "."; then :; else \
++          rev="$$subdir $$rev"; \
++        fi; \
++      done; \
++      rev="$$rev ."; \
++      target=`echo $@ | sed s/-recursive//`; \
++      for subdir in $$rev; do \
++        echo "Making $$target in $$subdir"; \
++        if test "$$subdir" = "."; then \
++          local_target="$$target-am"; \
++        else \
++          local_target="$$target"; \
++        fi; \
++        ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
++        || eval $$failcom; \
++      done && test -z "$$fail"
++tags-recursive:
++      list='$(SUBDIRS)'; for subdir in $$list; do \
++        test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
++      done
++ctags-recursive:
++      list='$(SUBDIRS)'; for subdir in $$list; do \
++        test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
++      done
++
++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
++      list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
++      unique=`for i in $$list; do \
++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++        done | \
++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++            END { if (nonempty) { for (i in files) print i; }; }'`; \
++      mkid -fID $$unique
++tags: TAGS
++
++TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++              $(TAGS_FILES) $(LISP)
++      set x; \
++      here=`pwd`; \
++      if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
++        include_option=--etags-include; \
++        empty_fix=.; \
++      else \
++        include_option=--include; \
++        empty_fix=; \
++      fi; \
++      list='$(SUBDIRS)'; for subdir in $$list; do \
++        if test "$$subdir" = .; then :; else \
++          test ! -f $$subdir/TAGS || \
++            set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
++        fi; \
++      done; \
++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++      unique=`for i in $$list; do \
++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++        done | \
++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++            END { if (nonempty) { for (i in files) print i; }; }'`; \
++      shift; \
++      if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++        test -n "$$unique" || unique=$$empty_fix; \
++        if test $$# -gt 0; then \
++          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++            "$$@" $$unique; \
++        else \
++          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++            $$unique; \
++        fi; \
++      fi
++ctags: CTAGS
++CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++              $(TAGS_FILES) $(LISP)
++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++      unique=`for i in $$list; do \
++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++        done | \
++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++            END { if (nonempty) { for (i in files) print i; }; }'`; \
++      test -z "$(CTAGS_ARGS)$$unique" \
++        || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++           $$unique
++
++GTAGS:
++      here=`$(am__cd) $(top_builddir) && pwd` \
++        && $(am__cd) $(top_srcdir) \
++        && gtags -i $(GTAGS_ARGS) "$$here"
++
++distclean-tags:
++      -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++
++distdir: $(DISTFILES)
++      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++      list='$(DISTFILES)'; \
++        dist_files=`for file in $$list; do echo $$file; done | \
++        sed -e "s|^$$srcdirstrip/||;t" \
++            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++      case $$dist_files in \
++        */*) $(MKDIR_P) `echo "$$dist_files" | \
++                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++                         sort -u` ;; \
++      esac; \
++      for file in $$dist_files; do \
++        if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
++        if test -d $$d/$$file; then \
++          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
++          if test -d "$(distdir)/$$file"; then \
++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++          fi; \
++          if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
++            cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++          fi; \
++          cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
++        else \
++          test -f "$(distdir)/$$file" \
++          || cp -p $$d/$$file "$(distdir)/$$file" \
++          || exit 1; \
++        fi; \
++      done
++      @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
++        if test "$$subdir" = .; then :; else \
++          test -d "$(distdir)/$$subdir" \
++          || $(MKDIR_P) "$(distdir)/$$subdir" \
++          || exit 1; \
++        fi; \
++      done
++      @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
++        if test "$$subdir" = .; then :; else \
++          dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
++          $(am__relativize); \
++          new_distdir=$$reldir; \
++          dir1=$$subdir; dir2="$(top_distdir)"; \
++          $(am__relativize); \
++          new_top_distdir=$$reldir; \
++          echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
++          echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
++          ($(am__cd) $$subdir && \
++            $(MAKE) $(AM_MAKEFLAGS) \
++              top_distdir="$$new_top_distdir" \
++              distdir="$$new_distdir" \
++              am__remove_distdir=: \
++              am__skip_length_check=: \
++              am__skip_mode_fix=: \
++              distdir) \
++            || exit 1; \
++        fi; \
++      done
++check-am: all-am
++check: check-recursive
++all-am: Makefile
++installdirs: installdirs-recursive
++installdirs-am:
++install: install-recursive
++install-exec: install-exec-recursive
++install-data: install-data-recursive
++uninstall: uninstall-recursive
++
++install-am: all-am
++      @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-recursive
++install-strip:
++      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++        `test -z '$(STRIP)' || \
++          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++      -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++      -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++      @echo "This command is intended for maintainers to use"
++      @echo "it deletes files that may require special tools to rebuild."
++clean: clean-recursive
++
++clean-am: clean-generic clean-libtool mostlyclean-am
++
++distclean: distclean-recursive
++      -rm -f Makefile
++distclean-am: clean-am distclean-generic distclean-tags
++
++dvi: dvi-recursive
++
++dvi-am:
++
++html: html-recursive
++
++html-am:
++
++info: info-recursive
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-recursive
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-recursive
++
++install-html-am:
++
++install-info: install-info-recursive
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-recursive
++
++install-pdf-am:
++
++install-ps: install-ps-recursive
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-recursive
++      -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-recursive
++
++mostlyclean-am: mostlyclean-generic mostlyclean-libtool
++
++pdf: pdf-recursive
++
++pdf-am:
++
++ps: ps-recursive
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
++      install-am install-strip tags-recursive
++
++.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
++      all all-am check check-am clean clean-generic clean-libtool \
++      ctags ctags-recursive distclean distclean-generic \
++      distclean-libtool distclean-tags distdir dvi dvi-am html \
++      html-am info info-am install install-am install-data \
++      install-data-am install-dvi install-dvi-am install-exec \
++      install-exec-am install-html install-html-am install-info \
++      install-info-am install-man install-pdf install-pdf-am \
++      install-ps install-ps-am install-strip installcheck \
++      installcheck-am installdirs installdirs-am maintainer-clean \
++      maintainer-clean-generic mostlyclean mostlyclean-generic \
++      mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
++      uninstall uninstall-am
++
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff --git a/python/setools/Makefile.am b/python/setools/Makefile.am
+new file mode 100644
+index 0000000..c4635fb
+--- /dev/null
++++ b/python/setools/Makefile.am
+@@ -0,0 +1,36 @@
++EXTRA_DIST =                          \
++      sesearch.c                      \
++      seinfo.c                        \
++      __init__.py                     \
++      setup.py                        \
++      $(NULL)
++
++AM_CFLAGS = @DEBUGCFLAGS@ @WARNCFLAGS@ @PROFILECFLAGS@ @SELINUX_CFLAGS@ \
++      @QPOL_CFLAGS@ @APOL_CFLAGS@
++AM_CXXFLAGS = @DEBUGCXXFLAGS@ @WARNCXXFLAGS@ @PROFILECFLAGS@ @SELINUX_CFLAGS@ \
++      @QPOL_CFLAGS@ @APOL_CFLAGS@ @SEFS_CFLAGS@
++AM_LDFLAGS = @DEBUGLDFLAGS@ @WARNLDFLAGS@ @PROFILELDFLAGS@
++
++LDADD = @SELINUX_LIB_FLAG@ @APOL_LIB_FLAG@ @QPOL_LIB_FLAG@
++DEPENDENCIES = $(top_builddir)/libapol/src/libapol.so $(top_builddir)/libqpol/src/libqpol.so
++all-am: python-build
++
++seinfo_SOURCES = seinfo.c
++
++sesearch_SOURCES = sesearch.c
++
++python-build: sesearch.c seinfo.c
++      @mkdir -p setools
++      @cp __init__.py setools
++      LIBS="$(QPOL_LIB_FLAG) $(APOL_LIB_FLAG)" INCLUDES="$(QPOL_CFLAGS) $(APOL_CFLAGS)" $(PYTHON) setup.py build
++
++install-exec-hook:
++      $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
++
++uninstall-hook: 
++      $(PYTHON) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
++
++clean-local:
++      $(PYTHON) setup.py clean -a 
++      rm -f *~
++
+diff --git a/python/setools/Makefile.in b/python/setools/Makefile.in
+new file mode 100644
+index 0000000..704ffc7
+--- /dev/null
++++ b/python/setools/Makefile.in
+@@ -0,0 +1,550 @@
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
++# Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++VPATH = @srcdir@
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++subdir = python/setools
++DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_classpath.m4 \
++      $(top_srcdir)/m4/ac_java_options.m4 \
++      $(top_srcdir)/m4/ac_pkg_swig.m4 \
++      $(top_srcdir)/m4/ac_prog_jar.m4 \
++      $(top_srcdir)/m4/ac_prog_java.m4 \
++      $(top_srcdir)/m4/ac_prog_java_works.m4 \
++      $(top_srcdir)/m4/ac_prog_javac.m4 \
++      $(top_srcdir)/m4/ac_prog_javac_works.m4 \
++      $(top_srcdir)/m4/ac_python_devel.m4 $(top_srcdir)/m4/c.m4 \
++      $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++      $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++      $(top_srcdir)/m4/lt~obsolete.m4 \
++      $(top_srcdir)/m4/swig_python.m4 $(top_srcdir)/m4/tcl.m4 \
++      $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++      $(ACLOCAL_M4)
++mkinstalldirs = $(install_sh) -d
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++SOURCES =
++DIST_SOURCES =
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++ACLOCAL = @ACLOCAL@
++AMTAR = @AMTAR@
++APOL_CFLAGS = @APOL_CFLAGS@
++APOL_LIB_FLAG = @APOL_LIB_FLAG@
++AR = @AR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BWIDGET_DESTDIR = @BWIDGET_DESTDIR@
++CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CUNIT_LIB_FLAG = @CUNIT_LIB_FLAG@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXDEPMODE = @CXXDEPMODE@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH = @CYGPATH@
++CYGPATH_W = @CYGPATH_W@
++DEBUGCFLAGS = @DEBUGCFLAGS@
++DEBUGCXXFLAGS = @DEBUGCXXFLAGS@
++DEBUGJFLAGS = @DEBUGJFLAGS@
++DEBUGLDFLAGS = @DEBUGLDFLAGS@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EXEEXT = @EXEEXT@
++FGREP = @FGREP@
++GLADE_CFLAGS = @GLADE_CFLAGS@
++GLADE_LIBS = @GLADE_LIBS@
++GREP = @GREP@
++GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
++GTHREAD_LIBS = @GTHREAD_LIBS@
++GTK_CFLAGS = @GTK_CFLAGS@
++GTK_LIBS = @GTK_LIBS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++JAR = @JAR@
++JAVA = @JAVA@
++JAVAC = @JAVAC@
++JAVACFLAGS = @JAVACFLAGS@
++JAVAFLAGS = @JAVAFLAGS@
++JAVAPREFIX = @JAVAPREFIX@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LEX = @LEX@
++LEXLIB = @LEXLIB@
++LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LTLIBOBJS = @LTLIBOBJS@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PIXBUF_CFLAGS = @PIXBUF_CFLAGS@
++PIXBUF_LIBS = @PIXBUF_LIBS@
++PKG_CFLAGS = @PKG_CFLAGS@
++PKG_HEADERS = @PKG_HEADERS@
++PKG_INCLUDES = @PKG_INCLUDES@
++PKG_LIBS = @PKG_LIBS@
++PKG_LIB_FILE = @PKG_LIB_FILE@
++PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@
++PKG_STUB_OBJECTS = @PKG_STUB_OBJECTS@
++PKG_STUB_SOURCES = @PKG_STUB_SOURCES@
++PKG_TCL_SOURCES = @PKG_TCL_SOURCES@
++POLDIFF_CFLAGS = @POLDIFF_CFLAGS@
++POLDIFF_LIB_FLAG = @POLDIFF_LIB_FLAG@
++PROFILECFLAGS = @PROFILECFLAGS@
++PROFILELDFLAGS = @PROFILELDFLAGS@
++PYTHON = @PYTHON@
++PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
++PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
++PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
++PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
++PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
++PYTHON_PLATFORM = @PYTHON_PLATFORM@
++PYTHON_PREFIX = @PYTHON_PREFIX@
++PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
++PYTHON_VERSION = @PYTHON_VERSION@
++QPOL_CFLAGS = @QPOL_CFLAGS@
++QPOL_LIB_FLAG = @QPOL_LIB_FLAG@
++RANLIB = @RANLIB@
++SEAUDIT_CFLAGS = @SEAUDIT_CFLAGS@
++SEAUDIT_LIB_FLAG = @SEAUDIT_LIB_FLAG@
++SED = @SED@
++SEFS_CFLAGS = @SEFS_CFLAGS@
++SEFS_LIB_FLAG = @SEFS_LIB_FLAG@
++SELINUX_CFLAGS = @SELINUX_CFLAGS@
++SELINUX_LIB_FLAG = @SELINUX_LIB_FLAG@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++SQLITE3_CFLAGS = @SQLITE3_CFLAGS@
++SQLITE3_LIBS = @SQLITE3_LIBS@
++STRIP = @STRIP@
++SWIG = @SWIG@
++SWIG_JAVA_CFLAGS = @SWIG_JAVA_CFLAGS@
++SWIG_JAVA_OPT = @SWIG_JAVA_OPT@
++SWIG_LIB = @SWIG_LIB@
++SWIG_PYTHON_CPPFLAGS = @SWIG_PYTHON_CPPFLAGS@
++SWIG_PYTHON_OPT = @SWIG_PYTHON_OPT@
++SWIG_TCL_CFLAGS = @SWIG_TCL_CFLAGS@
++SWIG_TCL_OPT = @SWIG_TCL_OPT@
++TCLSH_PROG = @TCLSH_PROG@
++TCL_AUTOPATH = @TCL_AUTOPATH@
++TCL_BIN_DIR = @TCL_BIN_DIR@
++TCL_DEFS = @TCL_DEFS@
++TCL_EXTRA_CFLAGS = @TCL_EXTRA_CFLAGS@
++TCL_INCLUDES = @TCL_INCLUDES@
++TCL_LD_FLAGS = @TCL_LD_FLAGS@
++TCL_LIBS = @TCL_LIBS@
++TCL_LIB_FILE = @TCL_LIB_FILE@
++TCL_LIB_FLAG = @TCL_LIB_FLAG@
++TCL_LIB_SPEC = @TCL_LIB_SPEC@
++TCL_SHLIB_LD_LIBS = @TCL_SHLIB_LD_LIBS@
++TCL_SRC_DIR = @TCL_SRC_DIR@
++TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@
++TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@
++TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
++TCL_VERSION = @TCL_VERSION@
++TK_BIN_DIR = @TK_BIN_DIR@
++TK_INCLUDES = @TK_INCLUDES@
++TK_LIBS = @TK_LIBS@
++TK_LIB_FILE = @TK_LIB_FILE@
++TK_LIB_FLAG = @TK_LIB_FLAG@
++TK_LIB_SPEC = @TK_LIB_SPEC@
++TK_SRC_DIR = @TK_SRC_DIR@
++TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@
++TK_STUB_LIB_FLAG = @TK_STUB_LIB_FLAG@
++TK_STUB_LIB_SPEC = @TK_STUB_LIB_SPEC@
++TK_VERSION = @TK_VERSION@
++TK_XINCLUDES = @TK_XINCLUDES@
++VERSION = @VERSION@
++WARNCFLAGS = @WARNCFLAGS@
++WARNCXXFLAGS = @WARNCXXFLAGS@
++WARNJFLAGS = @WARNJFLAGS@
++WARNLDFLAGS = @WARNLDFLAGS@
++WISH_PROG = @WISH_PROG@
++XMKMF = @XMKMF@
++XML_CFLAGS = @XML_CFLAGS@
++XML_LIBS = @XML_LIBS@
++YACC = @YACC@
++YFLAGS = @YFLAGS@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++exec_prefix = @exec_prefix@
++has_pkg_config = @has_pkg_config@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++javadir = @javadir@
++libapol_jswig_soname = @libapol_jswig_soname@
++libapol_pyswig_soname = @libapol_pyswig_soname@
++libapol_soname = @libapol_soname@
++libapol_soversion = @libapol_soversion@
++libapol_tswig_soname = @libapol_tswig_soname@
++libapol_version = @libapol_version@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libpoldiff_jswig_soname = @libpoldiff_jswig_soname@
++libpoldiff_pyswig_soname = @libpoldiff_pyswig_soname@
++libpoldiff_soname = @libpoldiff_soname@
++libpoldiff_soversion = @libpoldiff_soversion@
++libpoldiff_tswig_soname = @libpoldiff_tswig_soname@
++libpoldiff_version = @libpoldiff_version@
++libqpol_jswig_soname = @libqpol_jswig_soname@
++libqpol_pyswig_soname = @libqpol_pyswig_soname@
++libqpol_soname = @libqpol_soname@
++libqpol_soversion = @libqpol_soversion@
++libqpol_tswig_soname = @libqpol_tswig_soname@
++libqpol_version = @libqpol_version@
++libseaudit_jswig_soname = @libseaudit_jswig_soname@
++libseaudit_pyswig_soname = @libseaudit_pyswig_soname@
++libseaudit_soname = @libseaudit_soname@
++libseaudit_soversion = @libseaudit_soversion@
++libseaudit_tswig_soname = @libseaudit_tswig_soname@
++libseaudit_version = @libseaudit_version@
++libsefs_jswig_soname = @libsefs_jswig_soname@
++libsefs_pyswig_soname = @libsefs_pyswig_soname@
++libsefs_soname = @libsefs_soname@
++libsefs_soversion = @libsefs_soversion@
++libsefs_tswig_soname = @libsefs_tswig_soname@
++libsefs_version = @libsefs_version@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++pkgpyexecdir = @pkgpyexecdir@
++pkgpythondir = @pkgpythondir@
++prefix = @prefix@
++profile_install_dir = @profile_install_dir@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++pyexecdir = @pyexecdir@
++pythondir = @pythondir@
++sbindir = @sbindir@
++selinux_default_policy = @selinux_default_policy@
++selinux_policy_dir = @selinux_policy_dir@
++sepol_srcdir = @sepol_srcdir@
++setoolsdir = @setoolsdir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target_alias = @target_alias@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++uudecode = @uudecode@
++EXTRA_DIST = \
++      sesearch.c                      \
++      seinfo.c                        \
++      __init__.py                     \
++      setup.py                        \
++      $(NULL)
++
++AM_CFLAGS = @DEBUGCFLAGS@ @WARNCFLAGS@ @PROFILECFLAGS@ @SELINUX_CFLAGS@ \
++      @QPOL_CFLAGS@ @APOL_CFLAGS@
++
++AM_CXXFLAGS = @DEBUGCXXFLAGS@ @WARNCXXFLAGS@ @PROFILECFLAGS@ @SELINUX_CFLAGS@ \
++      @QPOL_CFLAGS@ @APOL_CFLAGS@ @SEFS_CFLAGS@
++
++AM_LDFLAGS = @DEBUGLDFLAGS@ @WARNLDFLAGS@ @PROFILELDFLAGS@
++LDADD = @SELINUX_LIB_FLAG@ @APOL_LIB_FLAG@ @QPOL_LIB_FLAG@
++DEPENDENCIES = $(top_builddir)/libapol/src/libapol.so $(top_builddir)/libqpol/src/libqpol.so
++seinfo_SOURCES = seinfo.c
++sesearch_SOURCES = sesearch.c
++all: all-am
++
++.SUFFIXES:
++$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
++      @for dep in $?; do \
++        case '$(am__configure_deps)' in \
++          *$$dep*) \
++            ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++              && { if test -f $@; then exit 0; else break; fi; }; \
++            exit 1;; \
++        esac; \
++      done; \
++      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu python/setools/Makefile'; \
++      $(am__cd) $(top_srcdir) && \
++        $(AUTOMAKE) --gnu python/setools/Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++      @case '$?' in \
++        *config.status*) \
++          cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++        *) \
++          echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++          cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++      esac;
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure:  $(am__configure_deps)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++mostlyclean-libtool:
++      -rm -f *.lo
++
++clean-libtool:
++      -rm -rf .libs _libs
++tags: TAGS
++TAGS:
++
++ctags: CTAGS
++CTAGS:
++
++
++distdir: $(DISTFILES)
++      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++      list='$(DISTFILES)'; \
++        dist_files=`for file in $$list; do echo $$file; done | \
++        sed -e "s|^$$srcdirstrip/||;t" \
++            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++      case $$dist_files in \
++        */*) $(MKDIR_P) `echo "$$dist_files" | \
++                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++                         sort -u` ;; \
++      esac; \
++      for file in $$dist_files; do \
++        if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
++        if test -d $$d/$$file; then \
++          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
++          if test -d "$(distdir)/$$file"; then \
++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++          fi; \
++          if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
++            cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++          fi; \
++          cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
++        else \
++          test -f "$(distdir)/$$file" \
++          || cp -p $$d/$$file "$(distdir)/$$file" \
++          || exit 1; \
++        fi; \
++      done
++check-am: all-am
++check: check-am
++all-am: Makefile
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++      @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++        `test -z '$(STRIP)' || \
++          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++      -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++      -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++      @echo "This command is intended for maintainers to use"
++      @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-local mostlyclean-am
++
++distclean: distclean-am
++      -rm -f Makefile
++distclean-am: clean-am distclean-generic
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++      @$(NORMAL_INSTALL)
++      $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++      -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-generic mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++      @$(NORMAL_INSTALL)
++      $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
++.MAKE: install-am install-exec-am install-strip uninstall-am
++
++.PHONY: all all-am check check-am clean clean-generic clean-libtool \
++      clean-local distclean distclean-generic distclean-libtool \
++      distdir dvi dvi-am html html-am info info-am install \
++      install-am install-data install-data-am install-dvi \
++      install-dvi-am install-exec install-exec-am install-exec-hook \
++      install-html install-html-am install-info install-info-am \
++      install-man install-pdf install-pdf-am install-ps \
++      install-ps-am install-strip installcheck installcheck-am \
++      installdirs maintainer-clean maintainer-clean-generic \
++      mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
++      ps ps-am uninstall uninstall-am uninstall-hook
++
++all-am: python-build
++
++python-build: sesearch.c seinfo.c
++      @mkdir -p setools
++      @cp __init__.py setools
++      LIBS="$(QPOL_LIB_FLAG) $(APOL_LIB_FLAG)" INCLUDES="$(QPOL_CFLAGS) $(APOL_CFLAGS)" $(PYTHON) setup.py build
++
++install-exec-hook:
++      $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
++
++uninstall-hook: 
++      $(PYTHON) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
++
++clean-local:
++      $(PYTHON) setup.py clean -a 
++      rm -f *~
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff --git a/python/setools/__init__.py b/python/setools/__init__.py
+new file mode 100644
+index 0000000..6f075c4
+--- /dev/null
++++ b/python/setools/__init__.py
+@@ -0,0 +1,50 @@
++#!/usr/bin/env python
++
++# Author: Thomas Liu <tliu@redhat.com>
++
++import _sesearch
++import _seinfo
++import types
++
++TYPE = _seinfo.TYPE
++ROLE = _seinfo.ROLE
++ATTRIBUTE = _seinfo.ATTRIBUTE
++PORT = _seinfo.PORT
++USER = _seinfo.USER
++
++ALLOW = 'allow'
++AUDITALLOW = 'auditallow'
++NEVERALLOW = 'neverallow'
++DONTAUDIT = 'dontaudit'
++SCONTEXT = 'scontext'
++TCONTEXT = 'tcontext'
++PERMS = 'permlist'
++CLASS = 'class'
++
++def sesearch(types, info):
++    valid_types = [ALLOW, AUDITALLOW, NEVERALLOW, DONTAUDIT]
++    for type in types:
++        if type not in valid_types:
++            raise ValueError("Type has to be in %s" % valid_types)
++        info[type] = True
++
++    perms = []
++    if PERMS in info:
++        perms = info[PERMS]
++        info[PERMS] = ",".join(info[PERMS])
++     
++    
++    dict_list = _sesearch.sesearch(info)
++    if dict_list and len(perms) != 0:
++        dict_list = filter(lambda x: dict_has_perms(x, perms), dict_list)
++    return dict_list
++
++def dict_has_perms(dict, perms):
++    for perm in perms:
++        if perm not in dict[PERMS]:
++            return False
++    return True
++
++def seinfo(setype, name=None):
++    dict_list = _seinfo.seinfo(setype, name)
++    return dict_list
+diff --git a/python/setools/seinfo.c b/python/setools/seinfo.c
+new file mode 100644
+index 0000000..211930a
+--- /dev/null
++++ b/python/setools/seinfo.c
+@@ -0,0 +1,769 @@
++/**
++ *  @file
++ *  Command line tool to search TE rules.
++ *
++ *  @author Frank Mayer  mayerf@tresys.com
++ *  @author Jeremy A. Mowery jmowery@tresys.com
++ *  @author Paul Rosenfeld  prosenfeld@tresys.com
++ *  @author Thomas Liu  <tliu@redhat.com>
++ *  @author Dan Walsh  <dwalsh@redhat.com>
++ *
++ *  Copyright (C) 2003-2008 Tresys Technology, LLC
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation; either version 2 of the License, or
++ *  (at your option) any later version.
++ *
++ *  This program is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with this program; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++/**
++ * This is a modified version of seinfo to be used as part of a library for
++ * Python bindings.
++ */
++
++#include "Python.h"
++
++/* libapol */
++#include <apol/policy.h>
++#include <apol/policy-query.h>
++#include <apol/render.h>
++#include <apol/util.h>
++#include <apol/vector.h>
++
++/* libqpol */
++#include <qpol/policy.h>
++#include <qpol/util.h>
++
++/* other */
++#include <errno.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <string.h>
++#include <assert.h>
++
++#define COPYRIGHT_INFO "Copyright (C) 2003-2007 Tresys Technology, LLC"
++static char *policy_file = NULL;
++
++enum input
++{
++      TYPE, ATTRIBUTE, ROLE, USER, PORT,
++};
++
++/**
++ * Gets a textual representation of an attribute, and 
++ * all of that attribute's types.
++ *
++ * @param type_datum Reference to sepol type_datum
++ * @param policydb Reference to a policy
++ */
++static PyObject* get_attr(const qpol_type_t * type_datum, const apol_policy_t * policydb)
++{
++      int retval = -1;
++      PyObject *dict = PyDict_New(); 
++      const qpol_type_t *attr_datum = NULL;
++      qpol_iterator_t *iter = NULL;
++      const char *attr_name = NULL, *type_name = NULL;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++      unsigned char isattr;
++
++      if (qpol_type_get_name(q, type_datum, &attr_name))
++              goto cleanup;
++      PyObject *obj = PyString_FromString(attr_name);
++      PyDict_SetItemString(dict, "name", obj);
++      Py_DECREF(obj);
++
++      /* get an iterator over all types this attribute has */
++      if (qpol_type_get_isattr(q, type_datum, &isattr))
++              goto cleanup;
++      if (isattr) {          /* sanity check */
++              if (qpol_type_get_type_iter(q, type_datum, &iter))
++                      goto cleanup;
++              PyObject *list = PyList_New(0);
++              for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++                      if (qpol_iterator_get_item(iter, (void **)&attr_datum))
++                              goto cleanup;
++                      if (qpol_type_get_name(q, attr_datum, &type_name))
++                              goto cleanup;
++                      PyObject *obj = PyString_FromString(type_name);
++                      PyList_Append(list, obj);
++                      Py_DECREF(obj);
++              }
++              qpol_iterator_destroy(&iter);
++              PyDict_SetItemString(dict, "types", list);
++              Py_DECREF(list);
++      } else                 /* this should never happen */
++              goto cleanup;
++      
++      retval = 0;
++cleanup:
++      qpol_iterator_destroy(&iter);
++      if (retval) {
++              Py_DECREF(dict);
++              return NULL;
++      }
++      return dict;
++}
++
++/**
++ * Gets statistics regarding a policy's attributes.
++ * If this function is given a name, it will attempt to
++ * get statistics about a particular attribute; otherwise
++ * the function gets statistics about all of the policy's
++ * attributes.
++ *
++ * @param name Reference to an attribute's name; if NULL,
++ * all object classes will be considered
++ * @param policydb Reference to a policy
++ *
++ * @return 0 on success, < 0 on error.
++ */
++static PyObject* get_attribs(const char *name, const apol_policy_t * policydb)
++{
++      int retval = -1;
++      PyObject *list = PyList_New(0);
++      apol_attr_query_t *attr_query = NULL;
++      apol_vector_t *v = NULL;
++      const qpol_type_t *type_datum = NULL;
++      size_t n_attrs, i;
++
++      /* we are only getting information about 1 attribute */
++      if (name != NULL) {
++              attr_query = apol_attr_query_create();
++              if (!attr_query)
++                      goto cleanup;
++              if (apol_attr_query_set_attr(policydb, attr_query, name))
++                      goto cleanup;
++              if (apol_attr_get_by_query(policydb, attr_query, &v))
++                      goto cleanup;
++              apol_attr_query_destroy(&attr_query);
++              if (apol_vector_get_size(v) == 0) {
++                      apol_vector_destroy(&v);
++                      errno = EINVAL;
++                      goto cleanup;
++              }
++
++              type_datum = apol_vector_get_element(v, (size_t) 0);
++              PyObject *obj = get_attr(type_datum, policydb);
++              PyList_Append(list, obj);
++              Py_DECREF(obj);
++      } else {
++              attr_query = apol_attr_query_create();
++              if (!attr_query)
++                      goto cleanup;
++              if (apol_attr_get_by_query(policydb, attr_query, &v))
++                      goto cleanup;
++              apol_attr_query_destroy(&attr_query);
++              n_attrs = apol_vector_get_size(v);
++
++              for (i = 0; i < n_attrs; i++) {
++                      /* get qpol_type_t* item from vector */
++                      type_datum = (qpol_type_t *) apol_vector_get_element(v, (size_t) i);
++                      if (!type_datum)
++                              goto cleanup;
++                      PyObject *obj = get_attr(type_datum, policydb);
++                      PyList_Append(list, obj);
++                      Py_DECREF(obj);
++              }
++      }
++      apol_vector_destroy(&v);
++
++      retval = 0;
++      cleanup:
++      apol_attr_query_destroy(&attr_query);
++      apol_vector_destroy(&v);
++      if (retval) {
++              Py_DECREF(list);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      return list;
++}
++
++/**
++ * Get a textual representation of a type, and
++ * all of that type's attributes.
++ *
++ * @param type_datum Reference to sepol type_datum
++ * @param policydb Reference to a policy
++ */
++static PyObject* get_type_attrs(const qpol_type_t * type_datum, const apol_policy_t * policydb)
++{
++      qpol_iterator_t *iter = NULL;
++      const char *attr_name = NULL;
++      const qpol_type_t *attr_datum = NULL;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++
++      if (qpol_type_get_attr_iter(q, type_datum, &iter))
++              goto cleanup;
++      PyObject *list = PyList_New(0);
++      for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++              if (qpol_iterator_get_item(iter, (void **)&attr_datum))
++                      goto cleanup;
++              if (qpol_type_get_name(q, attr_datum, &attr_name))
++                      goto cleanup;
++              PyObject *obj = PyString_FromString(attr_name);
++              PyList_Append(list, obj);
++              Py_DECREF(obj);
++      }
++
++      cleanup:
++      qpol_iterator_destroy(&iter);
++      return list;
++}
++
++static PyObject* get_type( const qpol_type_t * type_datum, const apol_policy_t * policydb) {
++
++      PyObject *dict = PyDict_New(); 
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++      const char *type_name = NULL;
++
++      unsigned char isalias, ispermissive, isattr;
++
++      if (qpol_type_get_name(q, type_datum, &type_name))
++              goto cleanup;
++      if (qpol_type_get_isalias(q, type_datum, &isalias))
++              goto cleanup;
++      if (qpol_type_get_isattr(q, type_datum, &isattr))
++              goto cleanup;
++      if (qpol_type_get_ispermissive(q, type_datum, &ispermissive))
++              goto cleanup;
++
++      PyObject *obj = PyString_FromString(type_name);
++      PyDict_SetItemString(dict, "name", obj);
++      Py_DECREF(obj);
++      obj = PyBool_FromLong(ispermissive);
++      PyDict_SetItemString(dict, "permissive", obj);
++      Py_DECREF(obj);
++      if (!isattr && !isalias) {
++              obj = get_type_attrs(type_datum, policydb);
++              PyDict_SetItemString(dict, "attributes", obj);
++              Py_DECREF(obj);
++      }
++      return dict;
++cleanup:
++      Py_DECREF(dict);
++      return NULL;
++}
++
++/**
++ * Gets a textual representation of a user, and
++ * all of that user's roles.
++ *
++ * @param type_datum Reference to sepol type_datum
++ * @param policydb Reference to a policy
++ * roles
++ */
++static PyObject* get_user(const qpol_user_t * user_datum, const apol_policy_t * policydb)
++{
++      PyObject *dict = NULL;
++      const qpol_role_t *role_datum = NULL;
++      qpol_iterator_t *iter = NULL;
++      const qpol_mls_range_t *range = NULL;
++      const qpol_mls_level_t *dflt_level = NULL;
++      apol_mls_level_t *ap_lvl = NULL;
++      apol_mls_range_t *ap_range = NULL;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++      char *tmp;
++      const char *user_name, *role_name;
++
++      if (qpol_user_get_name(q, user_datum, &user_name))
++              goto cleanup;
++
++      dict = PyDict_New(); 
++      PyObject *obj = PyString_FromString(user_name);
++      PyDict_SetItemString(dict, "name", obj);
++      Py_DECREF(obj);
++
++      if (qpol_policy_has_capability(q, QPOL_CAP_MLS)) {
++              if (qpol_user_get_dfltlevel(q, user_datum, &dflt_level))
++                      goto cleanup;
++              ap_lvl = apol_mls_level_create_from_qpol_mls_level(policydb, dflt_level);
++              tmp = apol_mls_level_render(policydb, ap_lvl);
++              if (!tmp)
++                      goto cleanup;
++              obj = PyString_FromString(tmp);
++              PyDict_SetItemString(dict, "level", obj);
++              Py_DECREF(obj);
++              free(tmp);
++              /* print default range */
++              if (qpol_user_get_range(q, user_datum, &range))
++                      goto cleanup;
++              ap_range = apol_mls_range_create_from_qpol_mls_range(policydb, range);
++              tmp = apol_mls_range_render(policydb, ap_range);
++              if (!tmp)
++                      goto cleanup;
++              obj = PyString_FromString(tmp);
++              PyDict_SetItemString(dict, "range", obj);
++              Py_DECREF(obj);
++              free(tmp);
++      }
++      
++      if (qpol_user_get_role_iter(q, user_datum, &iter))
++              goto cleanup;
++      PyObject *list = PyList_New(0);
++      for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++              if (qpol_iterator_get_item(iter, (void **)&role_datum)) {
++                      Py_DECREF(list);
++                      goto cleanup;
++              }
++              if (qpol_role_get_name(q, role_datum, &role_name)) {
++                      Py_DECREF(list);
++                      goto cleanup;
++              }
++              PyObject *obj = PyString_FromString(role_name);
++              PyList_Append(list, obj);
++              Py_DECREF(obj);
++      }
++      PyDict_SetItemString(dict, "roles", list);
++      Py_DECREF(list);
++
++cleanup:
++      qpol_iterator_destroy(&iter);
++      apol_mls_level_destroy(&ap_lvl);
++      apol_mls_range_destroy(&ap_range);
++      return dict;
++}
++
++/**
++ * Gets statistics regarding a policy's users.
++ * If this function is given a name, it will attempt to
++ * get statistics about a particular user; otherwise
++ * the function gets statistics about all of the policy's
++ * users.
++ *
++ * @param name Reference to a user's name; if NULL,
++ * all users will be considered
++ * @param policydb Reference to a policy
++ *
++ * @return 0 on success, < 0 on error.
++ */
++static PyObject*  get_users(const char *name, const apol_policy_t * policydb)
++{
++      int retval = -1;
++      PyObject *list = PyList_New(0);
++      qpol_iterator_t *iter = NULL;
++      const qpol_user_t *user_datum = NULL;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++
++      if (name != NULL) {
++              if (qpol_policy_get_user_by_name(q, name, &user_datum)) {
++                      errno = EINVAL;
++                      goto cleanup;
++              }
++              PyObject *obj = get_user(user_datum, policydb);
++              PyList_Append(list, obj);
++              Py_DECREF(obj);
++      } else {
++              if (qpol_policy_get_user_iter(q, &iter))
++                      goto cleanup;
++
++              for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++                      if (qpol_iterator_get_item(iter, (void **)&user_datum))
++                              goto cleanup;
++                      PyObject *obj = get_user(user_datum, policydb);
++                      PyList_Append(list, obj);
++                      Py_DECREF(obj);
++              }
++              qpol_iterator_destroy(&iter);
++      }
++
++      retval = 0;
++      cleanup:
++      qpol_iterator_destroy(&iter);
++      if (retval) {
++              Py_DECREF(list);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      return list;
++}
++
++/**
++ * get a textual representation of a role, and 
++ * all of that role's types.
++ *
++ * @param type_datum Reference to sepol type_datum
++ * @param policydb Reference to a policy
++ * types
++ */
++static PyObject* get_role(const qpol_role_t * role_datum, const apol_policy_t * policydb)
++{
++      int retval = -1;
++      PyObject *dict = PyDict_New();
++      const char *role_name = NULL, *type_name = NULL;
++      const qpol_role_t *dom_datum = NULL;
++      const qpol_type_t *type_datum = NULL;
++      qpol_iterator_t *iter = NULL;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++      size_t n_dom = 0, n_types = 0;
++
++      if (qpol_role_get_name(q, role_datum, &role_name))
++              goto cleanup;
++
++      PyObject *obj = PyString_FromString(role_name);
++      PyDict_SetItemString(dict, "name", obj);
++      Py_DECREF(obj);
++
++      if (qpol_role_get_dominate_iter(q, role_datum, &iter))
++              goto cleanup;
++      if (qpol_iterator_get_size(iter, &n_dom))
++              goto cleanup;
++      if ((int)n_dom > 0) {
++              PyObject *list = PyList_New(0);
++              for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++                      if (qpol_iterator_get_item(iter, (void **)&dom_datum))
++                              goto cleanup;
++                      if (qpol_role_get_name(q, dom_datum, &role_name))
++                              goto cleanup;
++                      PyObject *obj = PyString_FromString(role_name);
++                      PyList_Append(list, obj);
++                      Py_DECREF(obj);
++              }
++              PyDict_SetItemString(dict, "dominate", list);
++              Py_DECREF(list);
++      }
++      qpol_iterator_destroy(&iter);
++      
++      if (qpol_role_get_type_iter(q, role_datum, &iter))
++              goto cleanup;
++      if (qpol_iterator_get_size(iter, &n_types))
++              goto cleanup;
++      if ((int)n_types > 0) {
++              PyObject *list = PyList_New(0);
++              /* print types */
++              for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++                      if (qpol_iterator_get_item(iter, (void **)&type_datum))
++                              goto cleanup;
++                      if (qpol_type_get_name(q, type_datum, &type_name))
++                              goto cleanup;
++                      PyObject *obj = PyString_FromString(type_name);
++                      PyList_Append(list, obj);
++                      Py_DECREF(obj);
++              }
++              PyDict_SetItemString(dict, "types", list);
++              Py_DECREF(list);
++      }
++
++      retval = 0;
++cleanup:
++      qpol_iterator_destroy(&iter);
++      if (retval) {
++              Py_DECREF(dict);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      return dict;
++}
++
++/**
++ * Get statistics regarding a policy's ports.
++ * If this function is given a name, it will attempt to
++ * get statistics about a particular port; otherwise
++ * the function get statistics about all of the policy's ports.
++ *
++ * @param name Reference to an port's name; if NULL,
++ * all ports will be considered
++ * @param policydb Reference to a policy
++ *
++ * @return 0 on success, < 0 on error.
++ */
++static PyObject*  get_ports(const char *num, const apol_policy_t * policydb)
++{
++      PyObject *list = PyList_New(0);
++      int retval = -1;
++      const qpol_portcon_t *portcon = NULL;
++      qpol_iterator_t *iter = NULL;
++      uint16_t low_port, high_port;
++      uint8_t ocon_proto;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++      const qpol_context_t *ctxt = NULL;
++      const char *proto_str;
++      PyObject *dict;
++      const char *type = NULL;
++      const apol_mls_range_t *range = NULL;
++      char *range_str = NULL;
++      PyObject *obj = NULL;
++      apol_context_t *c = NULL;
++
++      if (qpol_policy_get_portcon_iter(q, &iter))
++              goto cleanup;
++
++      for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++              if (qpol_iterator_get_item(iter, (void **)&portcon))
++                      goto cleanup;
++              if (qpol_portcon_get_low_port(q, portcon, &low_port))
++                      goto cleanup;
++              if (qpol_portcon_get_high_port(q, portcon, &high_port))
++                      goto cleanup;
++              if (qpol_portcon_get_protocol(q, portcon, &ocon_proto))
++                      goto cleanup;
++              if (num) {
++                      if (atoi(num) < low_port || atoi(num) > high_port)
++                              continue;
++              }
++
++              if ((ocon_proto != IPPROTO_TCP) &&
++                  (ocon_proto != IPPROTO_UDP)) 
++                      goto cleanup;
++
++              if (qpol_portcon_get_context(q, portcon, &ctxt)) {
++                      PyErr_SetString(PyExc_RuntimeError, "Could not get for port context.");
++                      goto cleanup;
++              }
++
++              if ((proto_str = apol_protocol_to_str(ocon_proto)) == NULL) {
++                      PyErr_SetString(PyExc_RuntimeError, "Invalid protocol for port");
++                      goto cleanup;
++              }
++
++              if ((c = apol_context_create_from_qpol_context(policydb, ctxt)) == NULL) {
++                      goto cleanup;
++              }
++              
++              if((type = apol_context_get_type(c)) == NULL) {
++                      apol_context_destroy(&c);
++                      goto cleanup;
++              }
++                      
++              dict = PyDict_New(); 
++              obj = PyString_FromString(type);
++              PyDict_SetItemString(dict, "type", obj);
++              Py_DECREF(obj);
++
++              if((range = apol_context_get_range(c)) == NULL) {
++                      goto cleanup;
++              }
++                      
++              range_str = apol_mls_range_render(policydb, range);
++              if (range_str == NULL) {
++                      goto cleanup;
++              }
++              obj = PyString_FromString(range_str);
++              PyDict_SetItemString(dict, "range", obj);
++              Py_DECREF(obj);
++
++              obj = PyString_FromString(proto_str);
++              PyDict_SetItemString(dict, "protocol", obj);
++              Py_DECREF(obj);
++
++              obj = PyInt_FromLong(high_port);
++              PyDict_SetItemString(dict, "high", obj);
++              Py_DECREF(obj);
++
++              obj = PyInt_FromLong(low_port);
++              PyDict_SetItemString(dict, "low", obj);
++              Py_DECREF(obj);
++
++              PyList_Append(list, dict);
++              Py_DECREF(dict);
++      }
++      retval = 0;
++      cleanup:
++      free(range_str);
++      apol_context_destroy(&c);
++      qpol_iterator_destroy(&iter);
++
++      if (retval) {
++              Py_DECREF(list);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      return list;
++}
++
++/**
++ * Get statistics regarding a policy's roles.
++ * If this function is given a name, it will attempt to
++ * get statistics about a particular role; otherwise
++ * the function get statistics about all of the policy's roles.
++ *
++ * @param name Reference to an role's name; if NULL,
++ * all roles will be considered
++ * @param policydb Reference to a policy
++ *
++ * @return 0 on success, < 0 on error.
++ */
++static PyObject*  get_roles(const char *name, const apol_policy_t * policydb)
++{
++      int retval = -1;
++      PyObject *list = PyList_New(0);
++      const qpol_role_t *role_datum = NULL;
++      qpol_iterator_t *iter = NULL;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++
++      if (name != NULL) {
++              if (qpol_policy_get_role_by_name(q, name, &role_datum)) {
++                      errno = EINVAL;
++                      goto cleanup;
++              }
++              PyObject *obj = get_role(role_datum, policydb);
++              PyList_Append(list, obj);
++              Py_DECREF(obj);
++      } else {
++              if (qpol_policy_get_role_iter(q, &iter))
++                      goto cleanup;
++
++              for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++                      if (qpol_iterator_get_item(iter, (void **)&role_datum))
++                              goto cleanup;
++                      PyObject *obj = get_role(role_datum, policydb);
++                      PyList_Append(list, obj);
++                      Py_DECREF(obj);
++              }
++              qpol_iterator_destroy(&iter);
++      }
++
++      retval = 0;
++      cleanup:
++      qpol_iterator_destroy(&iter);
++      if (retval) {
++              Py_DECREF(list);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      return list;
++}
++
++/**
++ * Get statistics regarding a policy's types.
++ * If this function is given a name, it will attempt to
++ * print statistics about a particular type; otherwise
++ * the function prints statistics about all of the policy's types.
++ *
++ * @param name Reference to a type's name; if NULL,
++ * all object classes will be considered
++ * @param policydb Reference to a policy
++ *
++ * @return 0 on success, < 0 on error.
++ */
++static PyObject* get_types(const char *name, const apol_policy_t * policydb)
++{
++      int retval = -1;
++      PyObject *list = PyList_New(0);
++      const qpol_type_t *type_datum = NULL;
++      qpol_iterator_t *iter = NULL;
++      qpol_policy_t *q = apol_policy_get_qpol(policydb);
++
++      /* if name was provided, only print that name */
++      if (name != NULL) {
++              if (qpol_policy_get_type_by_name(q, name, &type_datum)) {
++                      errno = EINVAL;
++                      goto cleanup;
++              }
++              PyObject *obj = get_type(type_datum, policydb);
++              PyList_Append(list, obj);
++              Py_DECREF(obj);
++      } else {
++              if (qpol_policy_get_type_iter(q, &iter))
++                      goto cleanup;
++              /* Print all type names */
++              for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++                      if (qpol_iterator_get_item(iter, (void **)&type_datum))
++                              goto cleanup;
++                      PyObject *obj = get_type(type_datum, policydb);
++                      PyList_Append(list, obj);
++                      Py_DECREF(obj);
++              }
++      }
++      retval = 0;
++cleanup:
++      qpol_iterator_destroy(&iter);
++      if (retval) {
++              Py_DECREF(list);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      return list;
++}
++
++PyObject* seinfo(int type, const char *name)
++{
++      int rt = -1;
++
++      apol_policy_t *policydb = NULL;
++      apol_policy_path_t *pol_path = NULL;
++      apol_vector_t *mod_paths = NULL;
++      apol_policy_path_type_e path_type = APOL_POLICY_PATH_TYPE_MONOLITHIC;
++      PyObject* output = NULL;
++
++      rt = qpol_default_policy_find(&policy_file);
++      if (rt != 0) {
++              PyErr_SetString(PyExc_RuntimeError,"No default policy found.");
++              return NULL;
++      }
++
++      pol_path = apol_policy_path_create(path_type, policy_file, mod_paths);
++      if (!pol_path) {
++              free(policy_file);
++              apol_vector_destroy(&mod_paths);
++              PyErr_SetString(PyExc_RuntimeError,strerror(ENOMEM));
++              return NULL;
++      }
++      apol_vector_destroy(&mod_paths);
++
++      int policy_load_options = 0;
++      policy_load_options |= QPOL_POLICY_OPTION_MATCH_SYSTEM;
++      policydb = apol_policy_create_from_policy_path(pol_path, policy_load_options, NULL, NULL);
++      if (!policydb) {
++              free(policy_file);
++              apol_policy_path_destroy(&pol_path);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      free(policy_file);
++
++      /* display requested info */
++      if (type == TYPE)
++              output = get_types(name, policydb);
++
++      if (type == ATTRIBUTE)
++              output = get_attribs(name, policydb);
++
++      if (type == ROLE)
++              output = get_roles(name, policydb);
++
++      if (type == USER)
++              output = get_users(name, policydb);
++
++      if (type == PORT)
++              output = get_ports(name, policydb);
++
++      apol_policy_destroy(&policydb);
++      apol_policy_path_destroy(&pol_path);
++      return output;
++}
++
++PyObject *wrap_seinfo(PyObject *self, PyObject *args){
++    unsigned int type;
++    char *name;
++    
++    if (!PyArg_ParseTuple(args, "iz", &type, &name))
++        return NULL;
++
++    return Py_BuildValue("O",seinfo(type, name));
++
++}
++
++static PyMethodDef methods[] = {
++    {"seinfo", (PyCFunction) wrap_seinfo, METH_VARARGS},
++    {NULL, NULL, 0, NULL}
++};
++
++void init_seinfo(){
++    PyObject *m;
++    m = Py_InitModule("_seinfo", methods);
++    PyModule_AddIntConstant(m, "ATTRIBUTE", ATTRIBUTE);
++    PyModule_AddIntConstant(m, "PORT", PORT);
++    PyModule_AddIntConstant(m, "ROLE", ROLE);
++    PyModule_AddIntConstant(m, "TYPE", TYPE);
++    PyModule_AddIntConstant(m, "USER", USER);
++}
+diff --git a/python/setools/sesearch.c b/python/setools/sesearch.c
+new file mode 100644
+index 0000000..faaf8b7
+--- /dev/null
++++ b/python/setools/sesearch.c
+@@ -0,0 +1,478 @@
++// Author: Thomas Liu <tliu@redhat.com>
++
++/**
++ *  @file
++ *  Command line tool to search TE rules.
++ *
++ *  @author Frank Mayer  mayerf@tresys.com
++ *  @author Jeremy A. Mowery jmowery@tresys.com
++ *  @author Paul Rosenfeld  prosenfeld@tresys.com
++ *  @author Thomas Liu  <tliu@redhat.com>
++ *
++ *  Copyright (C) 2003-2008 Tresys Technology, LLC
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation; either version 2 of the License, or
++ *  (at your option) any later version.
++ *
++ *  This program is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with this program; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++/**
++ * This is a modified version of sesearch to be used as part of a library for
++ * Python bindings.
++ */
++
++#include "Python.h"
++
++/* libapol */
++#include <apol/policy.h>
++#include <apol/policy-query.h>
++#include <apol/render.h>
++#include <apol/util.h>
++#include <apol/vector.h>
++
++/* libqpol*/
++#include <qpol/policy.h>
++#include <qpol/policy_extend.h>
++#include <qpol/syn_rule_query.h>
++#include <qpol/util.h>
++
++/* other */
++#include <errno.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <assert.h>
++#include <getopt.h>
++#include <string.h>
++#include <stdbool.h>
++
++#define COPYRIGHT_INFO "Copyright (C) 2003-2007 Tresys Technology, LLC"
++static char *policy_file = NULL;
++
++enum opt_values
++{
++      RULE_NEVERALLOW = 256, RULE_AUDIT, RULE_AUDITALLOW, RULE_DONTAUDIT,
++      RULE_ROLE_ALLOW, RULE_ROLE_TRANS, RULE_RANGE_TRANS, RULE_ALL,
++      EXPR_ROLE_SOURCE, EXPR_ROLE_TARGET
++};
++
++;
++
++typedef struct options
++{
++      char *src_name;
++      char *tgt_name;
++      char *src_role_name;
++      char *tgt_role_name;
++      char *class_name;
++      char *permlist;
++      char *bool_name;
++      apol_vector_t *class_vector;
++      bool all;
++      bool lineno;
++      bool semantic;
++      bool indirect;
++      bool allow;
++      bool nallow;
++      bool auditallow;
++      bool dontaudit;
++      bool type;
++      bool rtrans;
++      bool role_allow;
++      bool role_trans;
++      bool useregex;
++      bool show_cond;
++      apol_vector_t *perm_vector;
++} options_t;
++
++static int perform_av_query(const apol_policy_t * policy, const options_t * opt, apol_vector_t ** v)
++{
++      apol_avrule_query_t *avq = NULL;
++      unsigned int rules = 0;
++      int error = 0;
++      char *tmp = NULL, *tok = NULL, *s = NULL;
++
++      if (!policy || !opt || !v) {
++              PyErr_SetString(PyExc_RuntimeError,strerror(EINVAL));
++              errno = EINVAL;
++              return -1;
++      }
++
++      if (!opt->all && !opt->allow && !opt->nallow && !opt->auditallow && !opt->dontaudit) {
++              *v = NULL;
++              return 0;              /* no search to do */
++      }
++
++      avq = apol_avrule_query_create();
++      if (!avq) {
++              PyErr_SetString(PyExc_RuntimeError,strerror(ENOMEM));
++              errno = ENOMEM;
++              return -1;
++      }
++
++      if (opt->allow || opt->all)
++              rules |= QPOL_RULE_ALLOW;
++      if ((opt->nallow || opt->all) && qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_NEVERALLOW))
++              rules |= QPOL_RULE_NEVERALLOW;
++      if (opt->auditallow || opt->all)
++              rules |= QPOL_RULE_AUDITALLOW;
++      if (opt->dontaudit || opt->all)
++              rules |= QPOL_RULE_DONTAUDIT;
++      apol_avrule_query_set_rules(policy, avq, rules);
++      apol_avrule_query_set_regex(policy, avq, opt->useregex);
++      if (opt->src_name)
++              apol_avrule_query_set_source(policy, avq, opt->src_name, opt->indirect);
++      if (opt->tgt_name)
++              apol_avrule_query_set_target(policy, avq, opt->tgt_name, opt->indirect);
++      if (opt->bool_name)
++              apol_avrule_query_set_bool(policy, avq, opt->bool_name);
++      if (opt->class_name) {
++              if (opt->class_vector == NULL) {
++                      if (apol_avrule_query_append_class(policy, avq, opt->class_name)) {
++                              error = errno;
++                              goto err;
++                      }
++              } else {
++                      size_t i;
++            for (i = 0; i < apol_vector_get_size(opt->class_vector); ++i) {
++                              char *class_name;
++                              class_name = apol_vector_get_element(opt->class_vector, i);
++                              if (!class_name)
++                                      continue;
++                              if (apol_avrule_query_append_class(policy, avq, class_name)) {
++                                      error = errno;
++                                      goto err;
++                              }
++                      }
++              }
++      }
++
++      if (opt->permlist) {
++              tmp = strdup(opt->permlist);
++              for (tok = strtok(tmp, ","); tok; tok = strtok(NULL, ",")) {
++                      if (apol_avrule_query_append_perm(policy, avq, tok)) {
++                              error = errno;
++                              goto err;
++                      }
++                      if ((s = strdup(tok)) == NULL || apol_vector_append(opt->perm_vector, s) < 0) {
++                              error = errno;
++                              goto err;
++                      }
++                      s = NULL;
++              }
++              free(tmp);
++      }
++
++      if (!(opt->semantic) && qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_SYN_RULES)) {
++              if (apol_syn_avrule_get_by_query(policy, avq, v)) {
++                      error = errno;
++                      goto err;
++              }
++      } else {
++              if (apol_avrule_get_by_query(policy, avq, v)) {
++                      error = errno;
++                      goto err;
++              }
++      }
++
++      apol_avrule_query_destroy(&avq);
++      return 0;
++
++      err:
++      apol_vector_destroy(v);
++      apol_avrule_query_destroy(&avq);
++      free(tmp);
++      free(s);
++      PyErr_SetString(PyExc_RuntimeError,strerror(error));
++      errno = error;
++      return -1;
++}
++
++
++
++static PyObject* get_av_results(const apol_policy_t * policy, const options_t * opt, const apol_vector_t * v)
++{
++      int retval = -1;
++      PyObject *list = PyList_New(0);
++      qpol_policy_t *q = apol_policy_get_qpol(policy);
++      size_t i, num_rules = 0;
++      const qpol_avrule_t *rule = NULL;
++      char *tmp = NULL, *rule_str = NULL, *expr = NULL;
++      char enable_char = ' ', branch_char = ' ';
++      qpol_iterator_t *iter = NULL;
++      uint32_t enabled = 0;
++
++      if (!policy || !v)
++              return NULL;
++
++      if (!(num_rules = apol_vector_get_size(v)))
++              return NULL;
++
++      for (i = 0; i < num_rules; i++) {
++              enable_char = branch_char = ' ';
++              if (!(rule = apol_vector_get_element(v, i)))
++                      goto cleanup;
++              
++              if (qpol_avrule_get_is_enabled(q, rule, &enabled))
++                      goto cleanup;
++              if (!enabled)
++                      continue;
++        
++              const qpol_type_t *type;
++              const char *tmp_name;
++              uint32_t rule_type = 0;
++              
++              const qpol_class_t *obj_class = NULL;
++              
++              PyObject *dict = PyDict_New(); 
++              
++              qpol_avrule_get_rule_type(q, rule, &rule_type);
++              tmp_name = apol_rule_type_to_str(rule_type);
++              PyObject *obj = PyString_FromString(tmp_name);
++              PyDict_SetItemString(dict, "type", obj);
++              Py_DECREF(obj);
++              // source
++              qpol_avrule_get_source_type(q, rule, &type);
++              qpol_type_get_name(q, type, &tmp_name);
++              obj = PyString_FromString(tmp_name);
++              PyDict_SetItemString(dict, "scontext", obj);
++              Py_DECREF(obj);
++              
++              qpol_avrule_get_target_type(q, rule, &type);
++              qpol_type_get_name(q, type, &tmp_name);
++              obj = PyString_FromString(tmp_name);
++              PyDict_SetItemString(dict, "tcontext", obj);
++              Py_DECREF(obj);
++              
++              qpol_avrule_get_object_class(q, rule, &obj_class);
++              qpol_type_get_name(q, type, &tmp_name);
++              obj = PyString_FromString(tmp_name);
++              PyDict_SetItemString(dict, "class", obj);
++              Py_DECREF(obj);
++              qpol_avrule_get_perm_iter(q, rule, &iter);
++              PyObject *permlist = PyList_New(0);
++              for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++                      const char *perm_name = NULL;
++                      qpol_iterator_get_item(iter, (void **)&perm_name);
++                      obj = PyString_FromString(perm_name);
++                      PyList_Append(permlist, obj);
++                      Py_DECREF(obj);
++              }
++              PyDict_SetItemString(dict, "permlist", permlist);
++              Py_DECREF(permlist);
++              PyList_Append(list, dict); 
++              Py_DECREF(dict);
++              
++              free(rule_str);
++              rule_str = NULL;
++              free(expr);
++              expr = NULL;
++      }
++      retval = 0;
++      cleanup:
++      free(tmp);
++      free(rule_str);
++      free(expr);
++      if (retval) {
++              Py_DECREF(list);
++              return NULL;
++      }
++      return list;
++}
++
++
++PyObject* sesearch(bool allow,
++             bool neverallow, 
++             bool auditallow,
++             bool dontaudit,
++             const char *src_name,
++             const char *tgt_name,
++             const char *class_name,
++             const char *permlist
++             )
++{
++      options_t cmd_opts;
++      int rt = -1;
++      PyObject *output = NULL;
++      
++      apol_policy_t *policy = NULL;
++      apol_vector_t *v = NULL;
++      apol_policy_path_t *pol_path = NULL;
++      apol_vector_t *mod_paths = NULL;
++      apol_policy_path_type_e path_type = APOL_POLICY_PATH_TYPE_MONOLITHIC;
++      
++      memset(&cmd_opts, 0, sizeof(cmd_opts));
++      cmd_opts.indirect = true;
++      cmd_opts.allow = allow;
++      cmd_opts.nallow = neverallow;
++      cmd_opts.auditallow = auditallow;
++      cmd_opts.dontaudit = dontaudit;
++      if (src_name)
++              cmd_opts.src_name = strdup(src_name);
++      if (tgt_name)
++              cmd_opts.tgt_name = strdup(tgt_name);
++      if (class_name)
++              cmd_opts.class_name = strdup(class_name);
++      if (permlist){
++              cmd_opts.perm_vector = apol_vector_create(free);
++              cmd_opts.permlist = strdup(permlist);
++      }
++      int pol_opt = 0;
++      if (!(cmd_opts.nallow || cmd_opts.all))
++              pol_opt |= QPOL_POLICY_OPTION_NO_NEVERALLOWS;
++      
++    
++      rt = qpol_default_policy_find(&policy_file);
++      if (rt) {
++              PyErr_SetString(PyExc_RuntimeError,"No default policy found.");
++              return NULL;
++      }
++      pol_opt |= QPOL_POLICY_OPTION_MATCH_SYSTEM;
++      
++      if (apol_file_is_policy_path_list(policy_file) > 0) {
++              pol_path = apol_policy_path_create_from_file(policy_file);
++              if (!pol_path) {
++                      free(policy_file);
++                      PyErr_SetString(PyExc_RuntimeError,"invalid policy list");
++                      return NULL;
++              }
++      }
++
++      if (!pol_path)
++              pol_path = apol_policy_path_create(path_type, policy_file, mod_paths);
++      if (!pol_path) {
++              free(policy_file);
++              PyErr_SetString(PyExc_RuntimeError,strerror(ENOMEM));
++              return NULL;
++      }
++      free(policy_file);
++      apol_vector_destroy(&mod_paths);
++      
++      policy = apol_policy_create_from_policy_path(pol_path, pol_opt, NULL, NULL);
++      if (!policy) {
++              apol_policy_path_destroy(&pol_path);
++              PyErr_SetString(PyExc_RuntimeError,strerror(errno));
++              return NULL;
++      }
++      /* handle regex for class name */
++      if (cmd_opts.useregex && cmd_opts.class_name != NULL) {
++              cmd_opts.class_vector = apol_vector_create(NULL);
++              apol_vector_t *qpol_matching_classes = NULL;
++              apol_class_query_t *regex_match_query = apol_class_query_create();
++              apol_class_query_set_regex(policy, regex_match_query, 1);
++              apol_class_query_set_class(policy, regex_match_query, cmd_opts.class_name);
++              if (apol_class_get_by_query(policy, regex_match_query, &qpol_matching_classes)) {
++                      apol_class_query_destroy(&regex_match_query);
++                      PyErr_SetString(PyExc_RuntimeError,"Query failed");
++                      goto cleanup;
++              }
++              const qpol_class_t *class = NULL;
++              size_t i;
++              for (i = 0; i < apol_vector_get_size(qpol_matching_classes); ++i) {
++                      const char *class_name;
++                      class = apol_vector_get_element(qpol_matching_classes, i);
++                      if (!class)
++                              break;
++                      qpol_class_get_name(apol_policy_get_qpol(policy), class, &class_name);
++                      apol_vector_append(cmd_opts.class_vector, (void *)class_name);
++              }
++              if (!apol_vector_get_size(qpol_matching_classes)) {
++                      apol_vector_destroy(&qpol_matching_classes);
++                      apol_class_query_destroy(&regex_match_query);
++                      PyErr_SetString(PyExc_RuntimeError,"No classes match expression");
++                      goto cleanup;
++              }
++              apol_vector_destroy(&qpol_matching_classes);
++              apol_class_query_destroy(&regex_match_query);
++      }
++
++      if (!cmd_opts.semantic && qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_SYN_RULES)) {
++              if (qpol_policy_build_syn_rule_table(apol_policy_get_qpol(policy))) {
++                      apol_policy_destroy(&policy);
++                      PyErr_SetString(PyExc_RuntimeError,"Query failed");
++                      goto cleanup;
++              }
++      }
++
++      /* if syntactic rules are not available always do semantic search */
++      if (!qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_SYN_RULES)) {
++              cmd_opts.semantic = 1;
++      }
++
++      /* supress line numbers if doing semantic search or not available */
++      if (cmd_opts.semantic || !qpol_policy_has_capability(apol_policy_get_qpol(policy), QPOL_CAP_LINE_NUMBERS)) {
++              cmd_opts.lineno = 0;
++      }
++      if (perform_av_query(policy, &cmd_opts, &v)) {
++              goto cleanup;
++      }
++      if (v) {
++              output =  get_av_results(policy, &cmd_opts, v);
++      }
++      apol_vector_destroy(&v);
++      cleanup:
++      apol_policy_destroy(&policy);
++      apol_policy_path_destroy(&pol_path);
++      free(cmd_opts.src_name);
++      free(cmd_opts.tgt_name);
++      free(cmd_opts.class_name);
++      free(cmd_opts.permlist);
++      free(cmd_opts.bool_name);
++      free(cmd_opts.src_role_name);
++      free(cmd_opts.tgt_role_name);
++      apol_vector_destroy(&cmd_opts.perm_vector);
++      apol_vector_destroy(&cmd_opts.class_vector);
++
++      if (output) return output;
++      return Py_None;
++}
++static int Dict_ContainsInt(PyObject *dict, const char *key){
++    PyObject *item = PyDict_GetItemString(dict, key);
++    if (item)
++        return PyInt_AsLong(item);
++    return false;
++}
++
++static const char *Dict_ContainsString(PyObject *dict, const char *key){
++    PyObject *item = PyDict_GetItemString(dict, key);
++    if (item)
++        return PyString_AsString(item);
++    return NULL;
++}
++
++PyObject *wrap_sesearch(PyObject *self, PyObject *args){
++    PyObject *dict;
++    if (!PyArg_ParseTuple(args, "O", &dict))
++        return NULL;
++    int allow = Dict_ContainsInt(dict, "allow");
++    int neverallow = Dict_ContainsInt(dict, "neverallow");
++    int auditallow = Dict_ContainsInt(dict, "auditallow");
++    int dontaudit = Dict_ContainsInt(dict, "dontaudit"); 
++   
++    const char *src_name = Dict_ContainsString(dict, "scontext");
++    const char *tgt_name = Dict_ContainsString(dict, "tcontext");
++    const char *class_name = Dict_ContainsString(dict, "class");
++    const char *permlist = Dict_ContainsString(dict, "permlist");
++    
++    return Py_BuildValue("O",sesearch(allow, neverallow, auditallow, dontaudit, src_name, tgt_name, class_name, permlist));
++
++}
++
++static PyMethodDef methods[] = {
++    {"sesearch", (PyCFunction) wrap_sesearch, METH_VARARGS},
++    {NULL, NULL, 0, NULL}
++};
++
++void init_sesearch(){
++    PyObject *m;
++    m = Py_InitModule("_sesearch", methods);
++}
+diff --git a/python/setools/setup.py b/python/setools/setup.py
+new file mode 100644
+index 0000000..053b885
+--- /dev/null
++++ b/python/setools/setup.py
+@@ -0,0 +1,25 @@
++#!/usr/bin/env python
++
++# Author: Thomas Liu <tliu@redhat.com>
++import os
++from distutils.core import setup, Extension
++LIBS=["apol", "qpol"]
++
++try:
++    inc=os.getenv("INCLUDES").split(" ")    
++    INCLUDES=map(lambda x: x[2:], inc)
++    LIBDIRS=map(lambda x: "/".join(x.split("/")[:-1]), os.getenv("LIBS").split())
++except:
++    INCLUDES=""
++    LIBDIRS=""
++
++extension_sesearch = Extension("setools._sesearch", [ "sesearch.c"])
++extension_sesearch.include_dirs=INCLUDES
++extension_sesearch.libraries=LIBS
++extension_sesearch.library_dirs=LIBDIRS
++extension_seinfo = Extension("setools._seinfo", [ "seinfo.c"])
++extension_seinfo.include_dirs=INCLUDES
++extension_seinfo.libraries=LIBS
++extension_seinfo.library_dirs=LIBDIRS
++
++setup(name = "setools", version="1.0", description="Python setools bindings", author="Thomas Liu", author_email="tliu@redhat.com", ext_modules=[extension_sesearch, extension_seinfo], packages=["setools"])
+-- 
+1.7.6.2
+
diff --git a/setools/patches/0002-setools-should-exit-with-an-error-status-if-it-gets-.patch b/setools/patches/0002-setools-should-exit-with-an-error-status-if-it-gets-.patch
new file mode 100644 (file)
index 0000000..62a8050
--- /dev/null
@@ -0,0 +1,133 @@
+From 667fe9187c203ffcba855e821dff11c8f71ef000 Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Tue, 20 Sep 2011 15:39:51 -0400
+Subject: [PATCH 2/6] setools-should-exit-with-an-error-status-if-it-gets-an
+ error
+
+---
+ secmds/seinfo.c |   51 +++++++++++++++++++++++++++------------------------
+ 1 files changed, 27 insertions(+), 24 deletions(-)
+
+diff --git a/secmds/seinfo.c b/secmds/seinfo.c
+index fdf23e9..3088f88 100644
+--- a/secmds/seinfo.c
++++ b/secmds/seinfo.c
+@@ -827,7 +827,7 @@ static int print_sens(FILE * fp, const char *name, int expand, const apol_policy
+  */
+ static int print_cats(FILE * fp, const char *name, int expand, const apol_policy_t * policydb)
+ {
+-      int retval = 0;
++      int retval = -1;
+       apol_cat_query_t *query = NULL;
+       apol_vector_t *v = NULL;
+       const qpol_cat_t *cat_datum = NULL;
+@@ -911,9 +911,10 @@ static int print_fsuse(FILE * fp, const char *type, const apol_policy_t * policy
+               fprintf(fp, "   %s\n", tmp);
+               free(tmp);
+       }
+-      if (type && !apol_vector_get_size(v))
++      if (type && !apol_vector_get_size(v)) {
+               ERR(policydb, "No fs_use statement for filesystem of type %s.", type);
+-
++              goto cleanup;
++      }
+       retval = 0;
+       cleanup:
+       apol_fs_use_query_destroy(&query);
+@@ -949,7 +950,6 @@ static int print_genfscon(FILE * fp, const char *type, const apol_policy_t * pol
+               ERR(policydb, "%s", strerror(ENOMEM));
+               goto cleanup;
+       }
+-
+       if (apol_genfscon_query_set_filesystem(policydb, query, type))
+               goto cleanup;
+       if (apol_genfscon_get_by_query(policydb, query, &v))
+@@ -967,8 +967,10 @@ static int print_genfscon(FILE * fp, const char *type, const apol_policy_t * pol
+               free(tmp);
+       }
+-      if (type && !apol_vector_get_size(v))
++      if (type && !apol_vector_get_size(v)) {
+               ERR(policydb, "No genfscon statement for filesystem of type %s.", type);
++              goto cleanup;
++      }
+       retval = 0;
+       cleanup:
+@@ -1646,6 +1648,7 @@ cleanup: // close and destroy iterators etc.
+ int main(int argc, char **argv)
+ {
++      int rc = 0;
+       int classes, types, attribs, roles, users, all, expand, stats, rt, optc, isids, bools, sens, cats, fsuse, genfs, netif,
+               node, port, permissives, polcaps, constrain, linebreaks;
+       apol_policy_t *policydb = NULL;
+@@ -1851,46 +1854,46 @@ int main(int argc, char **argv)
+       /* display requested info */
+       if (stats || all)
+-              print_stats(stdout, policydb);
++              rc = print_stats(stdout, policydb);
+       if (classes || all)
+-              print_classes(stdout, class_name, expand, policydb);
++              rc = print_classes(stdout, class_name, expand, policydb);
+       if (types || all)
+-              print_types(stdout, type_name, expand, policydb);
++              rc = print_types(stdout, type_name, expand, policydb);
+       if (attribs || all)
+-              print_attribs(stdout, attrib_name, expand, policydb);
++              rc = print_attribs(stdout, attrib_name, expand, policydb);
+       if (roles || all)
+-              print_roles(stdout, role_name, expand, policydb);
++              rc = print_roles(stdout, role_name, expand, policydb);
+       if (users || all)
+-              print_users(stdout, user_name, expand, policydb);
++              rc = print_users(stdout, user_name, expand, policydb);
+       if (bools || all)
+-              print_booleans(stdout, bool_name, expand, policydb);
++              rc = print_booleans(stdout, bool_name, expand, policydb);
+       if (sens || all)
+-              print_sens(stdout, sens_name, expand, policydb);
++              rc = print_sens(stdout, sens_name, expand, policydb);
+       if (cats || all)
+-              print_cats(stdout, cat_name, expand, policydb);
++              rc = print_cats(stdout, cat_name, expand, policydb);
+       if (fsuse || all)
+-              print_fsuse(stdout, fsuse_type, policydb);
++              rc = print_fsuse(stdout, fsuse_type, policydb);
+       if (genfs || all)
+-              print_genfscon(stdout, genfs_type, policydb);
++              rc = print_genfscon(stdout, genfs_type, policydb);
+       if (netif || all)
+-              print_netifcon(stdout, netif_name, policydb);
++              rc = print_netifcon(stdout, netif_name, policydb);
+       if (node || all)
+-              print_nodecon(stdout, node_addr, policydb);
++              rc = print_nodecon(stdout, node_addr, policydb);
+       if (port || all)
+-              print_portcon(stdout, port_num, protocol, policydb);
++              rc = print_portcon(stdout, port_num, protocol, policydb);
+       if (isids || all)
+-              print_isids(stdout, isid_name, expand, policydb);
++              rc = print_isids(stdout, isid_name, expand, policydb);
+       if (permissives || all)
+-              print_permissives(stdout, permissive_name, expand, policydb);
++              rc = print_permissives(stdout, permissive_name, expand, policydb);
+       if (polcaps || all)
+-              print_polcaps(stdout, polcap_name, expand, policydb);
++              rc = print_polcaps(stdout, polcap_name, expand, policydb);
+       if (constrain || all)
+-              print_constraints(stdout, expand, policydb, linebreaks);
++              rc = print_constraints(stdout, expand, policydb, linebreaks);
+       apol_policy_destroy(&policydb);
+       apol_policy_path_destroy(&pol_path);
+       free(policy_file);
+-      exit(0);
++      exit(rc);
+ }
+ /**
+-- 
+1.7.6.2
+
diff --git a/setools/patches/0003-Since-we-do-not-ship-neverallow-rules-all-always-fai.patch b/setools/patches/0003-Since-we-do-not-ship-neverallow-rules-all-always-fai.patch
new file mode 100644 (file)
index 0000000..ae30696
--- /dev/null
@@ -0,0 +1,28 @@
+From 252b7c8bf311d615164a20f4f402767e5859d972 Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Tue, 20 Sep 2011 15:40:28 -0400
+Subject: [PATCH 3/6] Since-we-do-not-ship-neverallow-rules-all-always-fail
+
+---
+ libqpol/src/avrule_query.c |    5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/libqpol/src/avrule_query.c b/libqpol/src/avrule_query.c
+index 749565b..76dcaa3 100644
+--- a/libqpol/src/avrule_query.c
++++ b/libqpol/src/avrule_query.c
+@@ -57,8 +57,9 @@ int qpol_policy_get_avrule_iter(const qpol_policy_t * policy, uint32_t rule_type
+       if ((rule_type_mask & QPOL_RULE_NEVERALLOW) && !qpol_policy_has_capability(policy, QPOL_CAP_NEVERALLOW)) {
+               ERR(policy, "%s", "Cannot get avrules: Neverallow rules requested but not available");
+-              errno = ENOTSUP;
+-              return STATUS_ERR;
++/*            errno = ENOTSUP;
++              return STATUS_ERR; */
++              return STATUS_SUCCESS;
+       }
+       db = &policy->p->p;
+-- 
+1.7.6.2
+
diff --git a/setools/patches/0004-Fix-man-pages-and-getoptions.patch b/setools/patches/0004-Fix-man-pages-and-getoptions.patch
new file mode 100644 (file)
index 0000000..c06270e
--- /dev/null
@@ -0,0 +1,78 @@
+From b3c8ef5822dbf3e3272fc29627ddac7e20e936d5 Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Tue, 20 Sep 2011 15:41:12 -0400
+Subject: [PATCH 4/6] Fix-man-pages-and-getoptions
+
+---
+ man/replcon.1            |    2 ++
+ man/seinfo.1             |    6 +++++-
+ seaudit/seaudit-report.c |    2 +-
+ sediff/sediff.c          |    2 +-
+ 4 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/man/replcon.1 b/man/replcon.1
+index 8aca08a..478dc51 100644
+--- a/man/replcon.1
++++ b/man/replcon.1
+@@ -44,6 +44,8 @@ Search for files which include PATH.
+ .IP "-c CLASS, --class=CLASS"
+ Search only files of object class CLASS.
+ .SH OPTIONS
++.IP "-R, --regex"
++Enable regular expressions
+ .IP "-v, --verbose"
+ Display context info during replacement.
+ .IP "-h, --help"
+diff --git a/man/seinfo.1 b/man/seinfo.1
+index 8612119..6bc17db 100644
+--- a/man/seinfo.1
++++ b/man/seinfo.1
+@@ -76,6 +76,10 @@ There is no expanded information for this component.
+ .IP "--nodecon[=ADDR]"
+ Print a list of node contexts or, if ADDR is provided, print the statement for the node with address ADDR.
+ There is no expanded information for this component.
++.IP "--polcap"
++Print policy capabilities.
++.IP "--permissive"
++Print permissive types.
+ .IP "--portcon[=PORT]"
+ Print a list of port contexts or, if PORT is provided, print the statement for port PORT.
+ There is no expanded information for this component.
+@@ -93,7 +97,7 @@ These details include the types assigned to an attribute or role and the permiss
+ This option is not available for all component types; see the description of each component for the details this option will provide.
+ .IP "--stats"
+ Print policy statistics including policy type and version information and counts of all components and rules.
+-.IP "-l"
++.IP "-l, --line-breaks"
+ Print line breaks when displaying constraint statements.
+ .IP "-h, --help"
+ Print help information and exit.
+diff --git a/seaudit/seaudit-report.c b/seaudit/seaudit-report.c
+index af3c6fb..d436c18 100644
+--- a/seaudit/seaudit-report.c
++++ b/seaudit/seaudit-report.c
+@@ -100,7 +100,7 @@ static void seaudit_report_info_usage(const char *program_name, int brief)
+       printf("  -s, --stdin              read log data from standard input\n");
+       printf("  -m, --malformed          include malformed log messages\n");
+       printf("  -o FILE, --output=FILE   output to FILE\n");
+-      printf("  --config=FILE            read configuration from FILE\n");
++      printf("  -c FILE, --config=FILE   read configuration from FILE\n");
+       printf("  --html                   set output format to HTML\n");
+       printf("  --stylesheet=FILE        HTML style sheet for formatting HTML report\n");
+       printf("                           (ignored if --html is not given)\n");
+diff --git a/sediff/sediff.c b/sediff/sediff.c
+index 6022775..341c650 100644
+--- a/sediff/sediff.c
++++ b/sediff/sediff.c
+@@ -420,7 +420,7 @@ int main(int argc, char **argv)
+       poldiff_t *diff = NULL;
+       size_t total = 0;
+-      while ((optc = getopt_long(argc, argv, "ctarubANDLMCRqhV", longopts, NULL)) != -1) {
++      while ((optc = getopt_long(argc, argv, "ctarubAqhV", longopts, NULL)) != -1) {
+               switch (optc) {
+               case 0:
+                       break;
+-- 
+1.7.6.2
+
diff --git a/setools/patches/0005-Fix-sepol-calls-to-work-with-latest-libsepol.patch b/setools/patches/0005-Fix-sepol-calls-to-work-with-latest-libsepol.patch
new file mode 100644 (file)
index 0000000..01f545d
--- /dev/null
@@ -0,0 +1,34 @@
+From 2b58d92add64b53b16cbb438e7b69e85d046afd1 Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Tue, 20 Sep 2011 15:46:38 -0400
+Subject: [PATCH 5/6] Fix sepol calls to work with latest libsepol
+
+---
+ configure.ac |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e837e03..3c11e23 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -505,7 +505,7 @@ AC_COMPILE_IFELSE(
+                   [AC_LANG_SOURCE([
+ #include <sepol/policydb/expand.h>
+ int main () {
+-  return role_set_expand(NULL, NULL, NULL, NULL);
++  return role_set_expand(NULL, NULL, NULL, NULL, NULL);
+ }])],
+                   sepol_new_user_role_mapping="yes",
+                   sepol_new_user_role_mapping="no")
+@@ -541,7 +541,7 @@ if test ${sepol_check_boolmap} = "yes"; then
+                          [AC_LANG_SOURCE([
+ #include <sepol/policydb/expand.h>
+ int main () {
+-  return expand_module_avrules(NULL, NULL, NULL, NULL, NULL, 0, 0);
++  return expand_module_avrules(NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0);
+ }])],
+                          AC_MSG_RESULT([yes]),
+                          AC_MSG_ERROR([this version of libsepol is incompatible with SETools]))
+-- 
+1.7.6.2
+
diff --git a/setools/patches/0006-Changes-to-support-named-file_trans-rules.patch b/setools/patches/0006-Changes-to-support-named-file_trans-rules.patch
new file mode 100644 (file)
index 0000000..f70eab4
--- /dev/null
@@ -0,0 +1,1506 @@
+From 287f507657e162bc09b5c186bbd580901fbc942a Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Tue, 20 Sep 2011 15:47:28 -0400
+Subject: [PATCH 6/6] Changes to support named file_trans rules
+
+---
+ libapol/include/apol/ftrule-query.h |  198 +++++++++++++++++++
+ libapol/include/apol/policy-query.h |    1 +
+ libapol/src/Makefile.am             |    1 +
+ libapol/src/ftrule-query.c          |  363 +++++++++++++++++++++++++++++++++++
+ libapol/src/libapol.map             |    1 +
+ libqpol/include/qpol/ftrule_query.h |  116 +++++++++++
+ libqpol/include/qpol/policy.h       |    1 +
+ libqpol/src/Makefile.am             |    1 +
+ libqpol/src/ftrule_query.c          |  277 ++++++++++++++++++++++++++
+ libqpol/src/libqpol.map             |    1 +
+ libqpol/src/module_compiler.c       |   12 ++
+ libqpol/src/policy_define.c         |  186 ++++++++++++++++++-
+ libqpol/src/policy_parse.y          |   13 +-
+ libqpol/src/policy_scan.l           |    1 +
+ secmds/sesearch.c                   |  101 ++++++++++
+ 15 files changed, 1270 insertions(+), 3 deletions(-)
+ create mode 100644 libapol/include/apol/ftrule-query.h
+ create mode 100644 libapol/src/ftrule-query.c
+ create mode 100644 libqpol/include/qpol/ftrule_query.h
+ create mode 100644 libqpol/src/ftrule_query.c
+
+diff --git a/libapol/include/apol/ftrule-query.h b/libapol/include/apol/ftrule-query.h
+new file mode 100644
+index 0000000..119c52f
+--- /dev/null
++++ b/libapol/include/apol/ftrule-query.h
+@@ -0,0 +1,198 @@
++/**
++ * @file
++ *
++ * Routines to query filename_transition rules of a
++ * policy.  
++ *
++ * @author Jeremy A. Mowery jmowery@tresys.com
++ * @author Jason Tang  jtang@tresys.com
++ *
++ * Copyright (C) 2006-2007 Tresys Technology, LLC
++ *
++ *  This library is free software; you can redistribute it and/or
++ *  modify it under the terms of the GNU Lesser General Public
++ *  License as published by the Free Software Foundation; either
++ *  version 2.1 of the License, or (at your option) any later version.
++ *
++ *  This library is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ *  Lesser General Public License for more details.
++ *
++ *  You should have received a copy of the GNU Lesser General Public
++ *  License along with this library; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++#ifndef APOL_FILENAMERULE_QUERY_H
++#define APOL_FILENAMERULE_QUERY_H
++
++#ifdef        __cplusplus
++extern "C"
++{
++#endif
++
++#include "policy.h"
++#include "vector.h"
++#include <qpol/policy.h>
++
++      typedef struct apol_filename_trans_query apol_filename_trans_query_t;
++
++
++/******************** filename_transition queries ********************/
++
++/**
++ * Execute a query against all filename_transition rules within the
++ * policy.
++ *
++ * @param p Policy within which to look up filename_transition rules.
++ * @param r Structure containing parameters for query.        If this is
++ * NULL then return all filename_transition rules.
++ * @param v Reference to a vector of qpol_filename_trans_t.  The vector
++ * will be allocated by this function.  The caller must call
++ * apol_vector_destroy() afterwards.  This will be set to NULL upon no
++ * results or upon error.
++ *
++ * @return 0 on success (including none found), negative on error.
++ */
++      extern int apol_filename_trans_get_by_query(const apol_policy_t * p, const apol_filename_trans_query_t * r, apol_vector_t ** v);
++
++/**
++ * Allocate and return a new filename trans query structure.  All fields
++ * are initialized, such that running this blank query results in
++ * returning all filename_transitions within the policy.  The caller must
++ * call apol_filename_trans_query_destroy() upon the return value
++ * afterwards.
++ *
++ * @return An initialized filename trans query structure, or NULL upon
++ * error.
++ */
++      extern apol_filename_trans_query_t *apol_filename_trans_query_create(void);
++
++/**
++ * Deallocate all memory associated with the referenced filename trans
++ * query, and then set it to NULL.  This function does nothing if the
++ * query is already NULL.
++ *
++ * @param r Reference to a filename trans query structure to destroy.
++ */
++      extern void apol_filename_trans_query_destroy(apol_filename_trans_query_t ** r);
++
++/**
++ * Set a filename_trans query to return rules whose source symbol matches
++ * symbol.  Symbol may be a type or attribute; if it is an alias then
++ * the query will convert it to its primary prior to searching.  If
++ * is_indirect is non-zero then the search will be done indirectly.
++ * If the symbol is a type, then the query matches rules with one of
++ * the type's attributes.  If the symbol is an attribute, then it
++ * matches rule with any of the attribute's types.
++ *
++ * @param p Policy handler, to report errors.
++ * @param t TE rule query to set.
++ * @param symbol Limit query to rules with this symbol as their
++ * source, or NULL to unset this field.
++ * @param is_indirect If non-zero, perform indirect matching.
++ *
++ * @return 0 on success, negative on error.
++ */
++      extern int apol_filename_trans_query_set_source(const apol_policy_t * p, apol_filename_trans_query_t * t, const char *symbol,
++                                              int is_indirect);
++
++/**
++ * Set a filename trans query to return rules with a particular target
++ * symbol.  Symbol may be a type or attribute; if it is an alias then
++ * the query will convert it to its primary prior to searching.  If
++ * is_indirect is non-zero then the search will be done indirectly.
++ * If the symbol is a type, then the query matches rules with one of
++ * the type's attributes.  If the symbol is an attribute, then it
++ * matches rule with any of the attribute's types.
++ *
++ * @param p Policy handler, to report errors.
++ * @param r Role trans query to set.
++ * @param symbol Limit query to rules with this type or attribute as
++ * their target, or NULL to unset this field.
++ * @param is_indirect If non-zero, perform indirect matching.
++ *
++ * @return 0 on success, negative on error.
++ */
++      extern int apol_filename_trans_query_set_target(const apol_policy_t * p, apol_filename_trans_query_t * r, const char *symbol,
++                                                  int is_indirect);
++
++/**
++ * Set a filename trans query to return rules with a particular default
++ * filename.  This field is ignored if
++ * apol_filename_trans_query_set_source_any() is set to non-zero.
++ *
++ * @param p Policy handler, to report errors.
++ * @param r Role trans query to set.
++ * @param filename Limit query to rules with this filename as their default, or
++ * NULL to unset this field.
++ *
++ * @return 0 on success, negative on error.
++ */
++      extern int apol_filename_trans_query_set_default(const apol_policy_t * p, apol_filename_trans_query_t * r, const char *filename);
++
++/**
++ * Set at filename_trans query to return rules with this object (non-common)
++ * class.  If more than one class are appended to the query, the
++ * rule's class must be one of those appended.  (I.e., the rule's
++ * class must be a member of the query's classes.)  Pass a NULL to
++ * clear all classes.  Note that this performs straight string
++ * comparison, ignoring the regex flag.
++
++ *
++ * @param p Policy handler, to report errors.
++ * @param t TE rule query to set.
++ * @param obj_class Name of object class to add to search set.
++ *
++ * @return 0 on success, negative on error.
++ */
++      extern int apol_filename_trans_query_append_class(const apol_policy_t * p, apol_filename_trans_query_t * t, const char *obj_class);
++
++/**
++ * Set a filename trans query to treat the source filename as any.  That is,
++ * use the same symbol for either source or default of a
++ * filename_transition rule.  This flag does nothing if the source filename is
++ * not set.  Note that a filename_transition's target is a type, so thus
++ * this flag does not affect its searching.
++ *
++ * @param p Policy handler, to report errors.
++ * @param r Role trans query to set.
++ * @param is_any Non-zero to use source symbol for source or default
++ * field, 0 to keep source as only source.
++ *
++ * @return Always 0.
++ */
++      extern int apol_filename_trans_query_set_source_any(const apol_policy_t * p, apol_filename_trans_query_t * r, int is_any);
++
++/**
++ * Set a filename trans query to use regular expression searching for
++ * source, target, and default fields.  Strings will be treated as
++ * regexes instead of literals.  For the target type, matching will
++ * occur against the type name or any of its aliases.
++ *
++ * @param p Policy handler, to report errors.
++ * @param r Role trans query to set.
++ * @param is_regex Non-zero to enable regex searching, 0 to disable.
++ *
++ * @return Always 0.
++ */
++      extern int apol_filename_trans_query_set_regex(const apol_policy_t * p, apol_filename_trans_query_t * r, int is_regex);
++
++/**
++ *  Render a filename_transition rule to a string.
++ *
++ *  @param policy Policy handler, to report errors.
++ *  @param rule The rule to render.
++ *
++ *  @return A newly malloc()'d string representation of the rule, or NULL on
++ *  failure; if the call fails, errno will be set. The caller is responsible
++ *  for calling free() on the returned string.
++ */
++      extern char *apol_filename_trans_render(const apol_policy_t * policy, const qpol_filename_trans_t * rule);
++
++#ifdef        __cplusplus
++}
++#endif
++
++#endif
+diff --git a/libapol/include/apol/policy-query.h b/libapol/include/apol/policy-query.h
+index 315f70e..665e4cb 100644
+--- a/libapol/include/apol/policy-query.h
++++ b/libapol/include/apol/policy-query.h
+@@ -71,6 +71,7 @@ extern "C"
+ #include "terule-query.h"
+ #include "condrule-query.h"
+ #include "rbacrule-query.h"
++#include "ftrule-query.h"
+ #include "range_trans-query.h"
+ #include "constraint-query.h"
+diff --git a/libapol/src/Makefile.am b/libapol/src/Makefile.am
+index 3fa4f06..baaa4f6 100644
+--- a/libapol/src/Makefile.am
++++ b/libapol/src/Makefile.am
+@@ -40,6 +40,7 @@ libapol_a_SOURCES = \
+       render.c \
+       role-query.c \
+       terule-query.c \
++      ftrule-query.c \
+       type-query.c \
+       types-relation-analysis.c \
+       user-query.c \
+diff --git a/libapol/src/ftrule-query.c b/libapol/src/ftrule-query.c
+new file mode 100644
+index 0000000..dc248de
+--- /dev/null
++++ b/libapol/src/ftrule-query.c
+@@ -0,0 +1,363 @@
++/**
++ * @file
++ *
++ * Provides a way for setools to make queries about type enforcement
++ * filename_transs within a policy.  The caller obtains a query object, fills in
++ * its parameters, and then runs the query; it obtains a vector of
++ * results.  Searches are conjunctive -- all fields of the search
++ * query must match for a datum to be added to the results query.
++ *
++ * @author Jeremy A. Mowery jmowery@tresys.com
++ * @author Jason Tang  jtang@tresys.com
++ *
++ * Copyright (C) 2006-2007 Tresys Technology, LLC
++ *
++ *  This library is free software; you can redistribute it and/or
++ *  modify it under the terms of the GNU Lesser General Public
++ *  License as published by the Free Software Foundation; either
++ *  version 2.1 of the License, or (at your option) any later version.
++ *
++ *  This library is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ *  Lesser General Public License for more details.
++ *
++ *  You should have received a copy of the GNU Lesser General Public
++ *  License along with this library; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++#include "policy-query-internal.h"
++
++#include <errno.h>
++#include <string.h>
++
++struct apol_filename_trans_query
++{
++      char *source, *target, *default_type, *name;
++      apol_vector_t *classes;
++      unsigned int flags;
++};
++
++
++/******************** filename_transition queries ********************/
++
++int apol_filename_trans_get_by_query(const apol_policy_t * p, const apol_filename_trans_query_t * t, apol_vector_t ** v)
++{
++      apol_vector_t *source_list = NULL, *target_list = NULL, *class_list = NULL, *default_list = NULL;
++      int retval = -1, source_as_any = 0, is_regex = 0, append_filename_trans;
++      char *bool_name = NULL;
++      *v = NULL;
++      unsigned int flags = 0;
++      qpol_iterator_t *iter = NULL, *type_iter = NULL;
++
++      if (t != NULL) {
++              flags = t->flags;
++              is_regex = t->flags & APOL_QUERY_REGEX;
++              if (t->source != NULL &&
++                  (source_list =
++                   apol_query_create_candidate_type_list(p, t->source, is_regex,
++                                                         t->flags & APOL_QUERY_SOURCE_INDIRECT,
++                                                         ((t->flags & (APOL_QUERY_SOURCE_TYPE | APOL_QUERY_SOURCE_ATTRIBUTE)) /
++                                                          APOL_QUERY_SOURCE_TYPE))) == NULL) {
++                      goto cleanup;
++              }
++
++              if ((t->flags & APOL_QUERY_SOURCE_AS_ANY) && t->source != NULL) {
++                      default_list = target_list = source_list;
++                      source_as_any = 1;
++              } else {
++                      if (t->target != NULL &&
++                          (target_list =
++                           apol_query_create_candidate_type_list(p, t->target, is_regex,
++                                                                 t->flags & APOL_QUERY_TARGET_INDIRECT,
++                                                                 ((t->
++                                                                   flags & (APOL_QUERY_TARGET_TYPE | APOL_QUERY_TARGET_ATTRIBUTE))
++                                                                  / APOL_QUERY_TARGET_TYPE))) == NULL) {
++                              goto cleanup;
++                      }
++                      if (t->default_type != NULL &&
++                          (default_list =
++                           apol_query_create_candidate_type_list(p, t->default_type, is_regex, 0,
++                                                                 APOL_QUERY_SYMBOL_IS_TYPE)) == NULL) {
++                              goto cleanup;
++                      }
++              }
++              if (t->classes != NULL &&
++                  apol_vector_get_size(t->classes) > 0 &&
++                  (class_list = apol_query_create_candidate_class_list(p, t->classes)) == NULL) {
++                      goto cleanup;
++              }
++      }
++
++      if (qpol_policy_get_filename_trans_iter(p->p, &iter) < 0) {
++              return -1;
++      }
++
++      if ((*v = apol_vector_create(NULL)) == NULL) {
++              ERR(p, "%s", strerror(errno));
++              goto cleanup;
++      }
++
++      for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
++              qpol_filename_trans_t *filename_trans;
++              if (qpol_iterator_get_item(iter, (void **)&filename_trans) < 0) {
++                      goto cleanup;
++              }
++              int match_source = 0, match_target = 0, match_default = 0, match_bool = 0;
++              size_t i;
++
++              if (source_list == NULL) {
++                      match_source = 1;
++              } else {
++                      const qpol_type_t *source_type;
++                      if (qpol_filename_trans_get_source_type(p->p, filename_trans, &source_type) < 0) {
++                              goto cleanup;
++                      }
++                      if (apol_vector_get_index(source_list, source_type, NULL, NULL, &i) == 0) {
++                              match_source = 1;
++                      }
++              }
++
++              /* if source did not match, but treating source symbol
++               * as any field, then delay rejecting this filename_trans until
++               * the target and default have been checked */
++              if (!source_as_any && !match_source) {
++                      continue;
++              }
++
++              if (target_list == NULL || (source_as_any && match_source)) {
++                      match_target = 1;
++              } else {
++                      const qpol_type_t *target_type;
++                      if (qpol_filename_trans_get_target_type(p->p, filename_trans, &target_type) < 0) {
++                              goto cleanup;
++                      }
++                      if (apol_vector_get_index(target_list, target_type, NULL, NULL, &i) == 0) {
++                              match_target = 1;
++                      }
++              }
++
++              if (!source_as_any && !match_target) {
++                      continue;
++              }
++
++              if (default_list == NULL || (source_as_any && match_source) || (source_as_any && match_target)) {
++                      match_default = 1;
++              } else {
++                      const qpol_type_t *default_type;
++                      if (qpol_filename_trans_get_default_type(p->p, filename_trans, &default_type) < 0) {
++                              goto cleanup;
++                      }
++                      if (apol_vector_get_index(default_list, default_type, NULL, NULL, &i) == 0) {
++                              match_default = 1;
++                      }
++              }
++
++              if (!source_as_any && !match_default) {
++                      continue;
++              }
++              /* at least one thing must match if source_as_any was given */
++              if (source_as_any && (!match_source && !match_target && !match_default)) {
++                      continue;
++              }
++
++              if (class_list != NULL) {
++                      const qpol_class_t *obj_class;
++                      if (qpol_filename_trans_get_object_class(p->p, filename_trans, &obj_class) < 0) {
++                              goto cleanup;
++                      }
++                      if (apol_vector_get_index(class_list, obj_class, NULL, NULL, &i) < 0) {
++                              continue;
++                      }
++              }
++
++              if (apol_vector_append(*v, filename_trans)) {
++                      ERR(p, "%s", strerror(ENOMEM));
++                      goto cleanup;
++              }
++      }
++
++      retval = 0;
++      cleanup:
++      if (retval != 0) {
++              apol_vector_destroy(v);
++      }
++      apol_vector_destroy(&source_list);
++      if (!source_as_any) {
++              apol_vector_destroy(&target_list);
++              apol_vector_destroy(&default_list);
++      }
++      apol_vector_destroy(&class_list);
++      return retval;
++}
++
++apol_filename_trans_query_t *apol_filename_trans_query_create(void)
++{
++      apol_filename_trans_query_t *t = calloc(1, sizeof(apol_filename_trans_query_t));
++      if (t != NULL) {
++              t->flags =
++                      (APOL_QUERY_SOURCE_TYPE | APOL_QUERY_SOURCE_ATTRIBUTE | APOL_QUERY_TARGET_TYPE |
++                       APOL_QUERY_TARGET_ATTRIBUTE);
++      }
++      return t;
++}
++
++void apol_filename_trans_query_destroy(apol_filename_trans_query_t ** r)
++{
++      if (r != NULL && *r != NULL) {
++              free((*r)->source);
++              free((*r)->target);
++              free((*r)->default_type);
++              free((*r)->name);
++              free(*r);
++              *r = NULL;
++      }
++}
++
++int apol_filename_trans_query_set_source(const apol_policy_t * p, apol_filename_trans_query_t * t, const char *filename, int is_indirect)
++{
++      apol_query_set_flag(p, &t->flags, is_indirect, APOL_QUERY_TARGET_INDIRECT);
++      return apol_query_set(p, &t->source, NULL, filename);
++}
++
++int apol_filename_trans_query_set_target(const apol_policy_t * p, apol_filename_trans_query_t * t, const char *type, int is_indirect)
++{
++      apol_query_set_flag(p, &t->flags, is_indirect, APOL_QUERY_TARGET_INDIRECT);
++      return apol_query_set(p, &t->target, NULL, type);
++}
++
++int apol_filename_trans_query_set_default(const apol_policy_t * p, apol_filename_trans_query_t * t, const char *symbol)
++{
++      return apol_query_set(p, &t->default_type, NULL, symbol);
++}
++
++int apol_filename_trans_query_append_class(const apol_policy_t * p, apol_filename_trans_query_t * t, const char *obj_class)
++{
++      char *s = NULL;
++      if (obj_class == NULL) {
++              apol_vector_destroy(&t->classes);
++      } else if ((s = strdup(obj_class)) == NULL || (t->classes == NULL && (t->classes = apol_vector_create(free)) == NULL)
++                 || apol_vector_append(t->classes, s) < 0) {
++              ERR(p, "%s", strerror(errno));
++              free(s);
++              return -1;
++      }
++      return 0;
++}
++
++int apol_filename_trans_query_set_name(const apol_policy_t * p, apol_filename_trans_query_t * t, const char *filename)
++{
++      return apol_query_set(p, &t->name, NULL, filename);
++}
++
++int apol_filename_trans_query_set_source_any(const apol_policy_t * p, apol_filename_trans_query_t * t, int is_any)
++{
++      return apol_query_set_flag(p, &t->flags, is_any, APOL_QUERY_SOURCE_AS_ANY);
++}
++
++int apol_filename_trans_query_set_regex(const apol_policy_t * p, apol_filename_trans_query_t * t, int is_regex)
++{
++      return apol_query_set_regex(p, &t->flags, is_regex);
++}
++
++char *apol_filename_trans_render(const apol_policy_t * policy, const qpol_filename_trans_t * filename_trans)
++{
++      char *tmp = NULL;
++      const char *tmp_name = NULL;
++      const char *filename_trans_type_str;
++      int error = 0;
++      size_t tmp_sz = 0;
++      uint32_t filename_trans_type = 0;
++      const qpol_type_t *type = NULL;
++      const qpol_class_t *obj_class = NULL;
++
++      if (!policy || !filename_trans) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return NULL;
++      }
++
++      /* source type */
++      if (qpol_filename_trans_get_source_type(policy->p, filename_trans, &type)) {
++              error = errno;
++              goto err;
++      }
++      if (qpol_type_get_name(policy->p, type, &tmp_name)) {
++              error = errno;
++              goto err;
++      }
++      if (apol_str_appendf(&tmp, &tmp_sz, "transition_type %s ", tmp_name)) {
++              error = errno;
++              ERR(policy, "%s", strerror(error));
++              goto err;
++      }
++
++      /* target type */
++      if (qpol_filename_trans_get_target_type(policy->p, filename_trans, &type)) {
++              error = errno;
++              goto err;
++      }
++      if (qpol_type_get_name(policy->p, type, &tmp_name)) {
++              error = errno;
++              goto err;
++      }
++      if (apol_str_appendf(&tmp, &tmp_sz, "%s : ", tmp_name)) {
++              error = errno;
++              ERR(policy, "%s", strerror(error));
++              goto err;
++      }
++
++      /* object class */
++      if (qpol_filename_trans_get_object_class(policy->p, filename_trans, &obj_class)) {
++              error = errno;
++              goto err;
++      }
++      if (qpol_class_get_name(policy->p, obj_class, &tmp_name)) {
++              error = errno;
++              goto err;
++      }
++      if (apol_str_appendf(&tmp, &tmp_sz, "%s ", tmp_name)) {
++              error = errno;
++              ERR(policy, "%s", strerror(error));
++              goto err;
++      }
++
++      /* default type */
++      if (qpol_filename_trans_get_default_type(policy->p, filename_trans, &type)) {
++              error = errno;
++              goto err;
++      }
++      if (qpol_type_get_name(policy->p, type, &tmp_name)) {
++              error = errno;
++              goto err;
++      }
++      if (apol_str_appendf(&tmp, &tmp_sz, "%s", tmp_name)) {
++              error = errno;
++              ERR(policy, "%s", strerror(error));
++              goto err;
++      }
++
++      if (qpol_filename_trans_get_filename(policy->p, filename_trans, &tmp_name)) {
++              error = errno;
++              goto err;
++      }
++
++      if (apol_str_appendf(&tmp, &tmp_sz, " %s", tmp_name)) {
++              error = errno;
++              ERR(policy, "%s", strerror(error));
++              goto err;
++      }
++
++      if (apol_str_appendf(&tmp, &tmp_sz, ";")) {
++              error = errno;
++              ERR(policy, "%s", strerror(error));
++              goto err;
++      }
++      return tmp;
++
++      err:
++      free(tmp);
++      errno = error;
++      return NULL;
++}
+diff --git a/libapol/src/libapol.map b/libapol/src/libapol.map
+index 4894374..7657a2d 100644
+--- a/libapol/src/libapol.map
++++ b/libapol/src/libapol.map
+@@ -34,6 +34,7 @@ VERS_4.0{
+               apol_protocol_to_str;
+               apol_qpol_context_render;
+               apol_range_trans_*;
++              apol_filename_trans_*;
+               apol_relabel_*;
+               apol_role_*;
+               apol_role_allow_*;
+diff --git a/libqpol/include/qpol/ftrule_query.h b/libqpol/include/qpol/ftrule_query.h
+new file mode 100644
+index 0000000..1f533a4
+--- /dev/null
++++ b/libqpol/include/qpol/ftrule_query.h
+@@ -0,0 +1,116 @@
++/**
++ *  @file
++ *  Defines public interface for iterating over FTRULE rules.
++ *
++ *  @author Kevin Carr kcarr@tresys.com
++ *  @author Jeremy A. Mowery jmowery@tresys.com
++ *  @author Jason Tang jtang@tresys.com
++ *
++ *  Copyright (C) 2006-2007 Tresys Technology, LLC
++ *
++ *  This library is free software; you can redistribute it and/or
++ *  modify it under the terms of the GNU Lesser General Public
++ *  License as published by the Free Software Foundation; either
++ *  version 2.1 of the License, or (at your option) any later version.
++ *
++ *  This library is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ *  Lesser General Public License for more details.
++ *
++ *  You should have received a copy of the GNU Lesser General Public
++ *  License along with this library; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++#ifndef QPOL_FTRULERULE_QUERY
++#define QPOL_FTRULERULE_QUERY
++
++#ifdef        __cplusplus
++extern "C"
++{
++#endif
++
++#include <qpol/policy.h>
++#include <qpol/iterator.h>
++
++      typedef struct qpol_filename_trans qpol_filename_trans_t;
++
++/**
++ *  Get an iterator over all filename transition rules in the policy.
++ *  @param policy Policy from which to create the iterator.
++ *  @param iter Iterator over items of type qpol_filename_trans_t returned.
++ *  The caller is responsible for calling qpol_iterator_destroy()
++ *  to free memory used by this iterator.
++ *  It is important to note that this iterator is only valid as long as
++ *  the policy is unmodifed.
++ *  @returm 0 on success and < 0 on failure; if the call fails,
++ *  errno will be set and *iter will be NULL.
++ */
++      extern int qpol_policy_get_filename_trans_iter(const qpol_policy_t * policy, qpol_iterator_t ** iter);
++
++/**
++ *  Get the source type from a filename transition rule.
++ *  @param policy The policy from which the rule comes.
++ *  @param rule The rule from which to get the source type.
++ *  @param source Pointer in which to store the source type.
++ *  The caller should not free this pointer.
++ *  @return 0 on success and < 0 on failure; if the call fails,
++ *  errno will be set and *source will be NULL.
++ */
++      extern int qpol_filename_trans_get_source_type(const qpol_policy_t * policy, const qpol_filename_trans_t * rule,
++                                                 const qpol_type_t ** source);
++
++/**
++ *  Get the target type from a filename transition rule.
++ *  @param policy The policy from which the rule comes.
++ *  @param rule The rule from which to get the target type.
++ *  @param target Pointer in which to store the target type.
++ *  The caller should not free this pointer.
++ *  @return 0 on success and < 0 on failure; if the call fails,
++ *  errno will be set and *target will be NULL.
++ */
++      extern int qpol_filename_trans_get_target_type(const qpol_policy_t * policy, const qpol_filename_trans_t * rule,
++                                                 const qpol_type_t ** target);
++
++/**
++ *  Get the default type from a type rule.
++ *  @param policy Policy from which the rule comes.
++ *  @param rule The rule from which to get the default type.
++ *  @param dflt Pointer in which to store the default type.
++ *  The caller should not free this pointer.
++ *  @returm 0 on success and < 0 on failure; if the call fails,
++ *  errno will be set and *dflt will be NULL.
++ */
++      extern int qpol_filename_trans_get_default_type(const qpol_policy_t * policy, const qpol_filename_trans_t * rule,
++                                              const qpol_type_t ** dflt);
++
++/**
++ *  Get the object class from a type rule.
++ *  @param policy Policy from which the rule comes.
++ *  @param rule The rule from which to get the object class.
++ *  @param obj_class Pointer in which to store the object class.
++ *  The caller should not free this pointer.
++ *  @returm 0 on success and < 0 on failure; if the call fails,
++ *  errno will be set and *obj_class will be NULL.
++ */
++      extern int qpol_filename_trans_get_object_class(const qpol_policy_t * policy, const qpol_filename_trans_t * rule,
++                                              const qpol_class_t ** obj_class);
++
++/**
++ *  Get the transition filename type from a type rule.
++ *  @param policy Policy from which the rule comes.
++ *  @param rule The rule from which to get the transition filename.
++ *  @param target Pointer in which to store the transition filename.
++ *  The caller should not free this pointer.
++ *  @returm 0 on success and < 0 on failure; if the call fails,
++ *  errno will be set and *target will be NULL.
++ */
++      extern int qpol_filename_trans_get_filename(const qpol_policy_t * policy, const qpol_filename_trans_t * rule,
++                                                     const char ** name);
++
++#ifdef        __cplusplus
++}
++#endif
++
++#endif                                       /* QPOL_FTRULERULE_QUERY */
+diff --git a/libqpol/include/qpol/policy.h b/libqpol/include/qpol/policy.h
+index ae4ea08..bf85718 100644
+--- a/libqpol/include/qpol/policy.h
++++ b/libqpol/include/qpol/policy.h
+@@ -55,6 +55,7 @@ extern "C"
+ #include <qpol/polcap_query.h>
+ #include <qpol/portcon_query.h>
+ #include <qpol/rbacrule_query.h>
++#include <qpol/ftrule_query.h>
+ #include <qpol/role_query.h>
+ #include <qpol/syn_rule_query.h>
+ #include <qpol/terule_query.h>
+diff --git a/libqpol/src/Makefile.am b/libqpol/src/Makefile.am
+index 34d87a6..0889a61 100644
+--- a/libqpol/src/Makefile.am
++++ b/libqpol/src/Makefile.am
+@@ -48,6 +48,7 @@ libqpol_a_SOURCES = \
+       syn_rule_internal.h \
+       syn_rule_query.c \
+       terule_query.c \
++      ftrule_query.c \
+       type_query.c \
+       user_query.c \
+       util.c \
+diff --git a/libqpol/src/ftrule_query.c b/libqpol/src/ftrule_query.c
+new file mode 100644
+index 0000000..d6db848
+--- /dev/null
++++ b/libqpol/src/ftrule_query.c
+@@ -0,0 +1,277 @@
++/**
++ *  @file
++ *  Defines public interface for iterating over RBAC rules.
++ *
++ *  @author Jeremy A. Mowery jmowery@tresys.com
++ *  @author Jason Tang jtang@tresys.com
++ *
++ *  Copyright (C) 2006-2007 Tresys Technology, LLC
++ *
++ *  This library is free software; you can redistribute it and/or
++ *  modify it under the terms of the GNU Lesser General Public
++ *  License as published by the Free Software Foundation; either
++ *  version 2.1 of the License, or (at your option) any later version.
++ *
++ *  This library is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ *  Lesser General Public License for more details.
++ *
++ *  You should have received a copy of the GNU Lesser General Public
++ *  License along with this library; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++#include <qpol/iterator.h>
++#include <qpol/policy.h>
++#include <qpol/ftrule_query.h>
++#include <stdlib.h>
++#include "iterator_internal.h"
++#include "qpol_internal.h"
++#include <sepol/policydb/policydb.h>
++
++typedef struct filename_trans_state
++{
++      filename_trans_t *head;
++      filename_trans_t *cur;
++} filename_trans_state_t;
++
++static int filename_trans_state_end(const qpol_iterator_t * iter)
++{
++      filename_trans_state_t *fts = NULL;
++
++      if (!iter || !(fts = qpol_iterator_state(iter))) {
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      return fts->cur ? 0 : 1;
++}
++
++static void *filename_trans_state_get_cur(const qpol_iterator_t * iter)
++{
++      filename_trans_state_t *fts = NULL;
++      const policydb_t *db = NULL;
++
++      if (!iter || !(fts = qpol_iterator_state(iter)) || !(db = qpol_iterator_policy(iter)) || filename_trans_state_end(iter)) {
++              errno = EINVAL;
++              return NULL;
++      }
++
++      return fts->cur;
++}
++
++static int filename_trans_state_next(qpol_iterator_t * iter)
++{
++      filename_trans_state_t *fts = NULL;
++      const policydb_t *db = NULL;
++
++      if (!iter || !(fts = qpol_iterator_state(iter)) || !(db = qpol_iterator_policy(iter))) {
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      if (filename_trans_state_end(iter)) {
++              errno = ERANGE;
++              return STATUS_ERR;
++      }
++
++      fts->cur = fts->cur->next;
++
++      return STATUS_SUCCESS;
++}
++
++static size_t filename_trans_state_size(const qpol_iterator_t * iter)
++{
++      filename_trans_state_t *fts = NULL;
++      const policydb_t *db = NULL;
++      filename_trans_t *tmp = NULL;
++      size_t count = 0;
++
++      if (!iter || !(fts = qpol_iterator_state(iter)) || !(db = qpol_iterator_policy(iter))) {
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      for (tmp = fts->head; tmp; tmp = tmp->next)
++              count++;
++
++      return count;
++}
++
++int qpol_policy_get_filename_trans_iter(const qpol_policy_t * policy, qpol_iterator_t ** iter)
++{
++      policydb_t *db = NULL;
++      filename_trans_state_t *fts = NULL;
++      int error = 0;
++
++      if (iter)
++              *iter = NULL;
++
++      if (!policy || !iter) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      db = &policy->p->p;
++
++      fts = calloc(1, sizeof(filename_trans_state_t));
++      if (!fts) {
++              /* errno set by calloc */
++              ERR(policy, "%s", strerror(errno));
++              return STATUS_ERR;
++      }
++      fts->head = fts->cur = db->filename_trans;
++
++      if (qpol_iterator_create
++          (policy, (void *)fts, filename_trans_state_get_cur, filename_trans_state_next, filename_trans_state_end, filename_trans_state_size,
++           free, iter)) {
++              error = errno;
++              free(fts);
++              errno = error;
++              return STATUS_ERR;
++      }
++
++      return STATUS_SUCCESS;
++}
++
++int qpol_filename_trans_get_source_type(const qpol_policy_t * policy, const qpol_filename_trans_t * rule, const qpol_type_t ** source)
++{
++      policydb_t *db = NULL;
++      filename_trans_t *ft = NULL;
++
++      if (source) {
++              *source = NULL;
++      }
++
++      if (!policy || !rule || !source) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      db = &policy->p->p;
++      ft = (filename_trans_t *) rule;
++
++      *source = (qpol_type_t *) db->type_val_to_struct[ft->stype - 1];
++
++      return STATUS_SUCCESS;
++}
++
++int qpol_filename_trans_get_target_type(const qpol_policy_t * policy, const qpol_filename_trans_t * rule, const qpol_type_t ** target)
++{
++      policydb_t *db = NULL;
++      filename_trans_t *ft = NULL;
++
++      if (target) {
++              *target = NULL;
++      }
++
++      if (!policy || !rule || !target) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      db = &policy->p->p;
++      ft = (filename_trans_t *) rule;
++
++      *target = (qpol_type_t *) db->type_val_to_struct[ft->ttype - 1];
++
++      return STATUS_SUCCESS;
++}
++
++int qpol_filename_trans_get_object_class(const qpol_policy_t * policy, const qpol_filename_trans_t * rule,
++                                              const qpol_class_t ** obj_class)
++{
++      policydb_t *db = NULL;
++      filename_trans_t *ft = NULL;
++
++      if (obj_class) {
++              *obj_class = NULL;
++      }
++
++      if (!policy || !rule || !obj_class) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      db = &policy->p->p;
++      ft = (filename_trans_t *) rule;
++
++      *obj_class = (qpol_class_t *) db->class_val_to_struct[ft->tclass - 1];
++
++      return STATUS_SUCCESS;
++}
++
++int qpol_filename_trans_get_trans_type(const qpol_policy_t * policy, const qpol_filename_trans_t * rule, const qpol_type_t ** output_type)
++{
++      policydb_t *db = NULL;
++      filename_trans_t *ft = NULL;
++
++      if (output_type) {
++              *output_type = NULL;
++      }
++
++      if (!policy || !rule || !output_type) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      db = &policy->p->p;
++      ft = (filename_trans_t *) rule;
++
++      *output_type = (qpol_type_t *) db->type_val_to_struct[ft->otype - 1];
++
++      return STATUS_SUCCESS;
++}
++
++int qpol_filename_trans_get_default_type(const qpol_policy_t * policy, const qpol_filename_trans_t * rule, const qpol_type_t ** dflt)
++{
++      policydb_t *db = NULL;
++      filename_trans_t *ft = NULL;
++
++      if (dflt) {
++              *dflt = NULL;
++      }
++
++      if (!policy || !rule || !dflt) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      db = &policy->p->p;
++      ft = (filename_trans_t *) rule;
++
++      *dflt = (qpol_type_t *) db->type_val_to_struct[ft->otype - 1];
++
++      return STATUS_SUCCESS;
++}
++
++int qpol_filename_trans_get_filename(const qpol_policy_t * policy, const qpol_filename_trans_t * rule, const char ** name)
++{
++      policydb_t *db = NULL;
++      filename_trans_t *ft = NULL;
++
++      if (name) {
++              *name = NULL;
++      }
++
++      if (!policy || !rule || !name) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return STATUS_ERR;
++      }
++
++      db = &policy->p->p;
++      ft = (filename_trans_t *) rule;
++
++      *name = ft->name;
++
++      return STATUS_SUCCESS;
++}
++
+diff --git a/libqpol/src/libqpol.map b/libqpol/src/libqpol.map
+index dd293bc..6973cca 100644
+--- a/libqpol/src/libqpol.map
++++ b/libqpol/src/libqpol.map
+@@ -34,6 +34,7 @@ VERS_1.2 {
+               qpol_policy_reevaluate_conds;
+               qpol_portcon_*;
+               qpol_range_trans_*;
++              qpol_filename_trans_*;
+               qpol_role_*;
+               qpol_syn_avrule_*;
+               qpol_syn_terule_*;
+diff --git a/libqpol/src/module_compiler.c b/libqpol/src/module_compiler.c
+index dc19798..b06e285 100644
+--- a/libqpol/src/module_compiler.c
++++ b/libqpol/src/module_compiler.c
+@@ -1247,6 +1247,18 @@ void append_role_allow(role_allow_rule_t * role_allow_rules)
+ }
+ /* this doesn't actually append, but really prepends it */
++void append_filename_trans(filename_trans_rule_t * filename_trans_rules)
++{
++      avrule_decl_t *decl = stack_top->decl;
++
++      /* filename transitions are not allowed within conditionals */
++      assert(stack_top->type == 1);
++
++      filename_trans_rules->next = decl->filename_trans_rules;
++      decl->filename_trans_rules = filename_trans_rules;
++}
++
++/* this doesn't actually append, but really prepends it */
+ void append_range_trans(range_trans_rule_t * range_tr_rules)
+ {
+       avrule_decl_t *decl = stack_top->decl;
+diff --git a/libqpol/src/policy_define.c b/libqpol/src/policy_define.c
+index c94f7aa..0f3a45a 100644
+--- a/libqpol/src/policy_define.c
++++ b/libqpol/src/policy_define.c
+@@ -2133,7 +2133,7 @@ int define_role_trans(void)
+       /* This ebitmap business is just to ensure that there are not conflicting role_trans rules */
+ #ifdef HAVE_SEPOL_USER_ROLE_MAPPING
+-      if (role_set_expand(&roles, &e_roles, policydbp, NULL))
++      if (role_set_expand(&roles, &e_roles, policydbp, NULL, NULL))
+ #else
+       if (role_set_expand(&roles, &e_roles, policydbp))
+ #endif
+@@ -2226,6 +2226,190 @@ int define_role_allow(void)
+       return 0;
+ }
++avrule_t *define_cond_filename_trans(void)
++{
++      yyerror("type transitions with a filename not allowed inside "
++              "conditionals\n");
++      return COND_ERR;
++}
++
++int define_filename_trans(void)
++{
++      char *id, *name = NULL;
++      type_set_t stypes, ttypes;
++      ebitmap_t e_stypes, e_ttypes;
++      ebitmap_t e_tclasses;
++      ebitmap_node_t *snode, *tnode, *cnode;
++      filename_trans_t *ft;
++      filename_trans_rule_t *ftr;
++      class_datum_t *cladatum;
++      type_datum_t *typdatum;
++      uint32_t otype;
++      unsigned int c, s, t;
++      int add;
++
++      if (pass == 1) {
++              /* stype */
++              while ((id = queue_remove(id_queue)))
++                      free(id);
++              /* ttype */
++              while ((id = queue_remove(id_queue)))
++                      free(id);
++              /* tclass */
++              while ((id = queue_remove(id_queue)))
++                      free(id);
++              /* otype */
++              id = queue_remove(id_queue);
++              free(id);
++              /* name */
++              id = queue_remove(id_queue);
++              free(id);
++              return 0;
++      }
++
++
++      add = 1;
++      type_set_init(&stypes);
++      while ((id = queue_remove(id_queue))) {
++              if (set_types(&stypes, id, &add, 0))
++                      goto bad;
++      }
++
++      add =1;
++      type_set_init(&ttypes);
++      while ((id = queue_remove(id_queue))) {
++              if (set_types(&ttypes, id, &add, 0))
++                      goto bad;
++      }
++
++      ebitmap_init(&e_tclasses);
++      while ((id = queue_remove(id_queue))) {
++              if (!is_id_in_scope(SYM_CLASSES, id)) {
++                      yyerror2("class %s is not within scope", id);
++                      free(id);
++                      goto bad;
++              }
++              cladatum = hashtab_search(policydbp->p_classes.table, id);
++              if (!cladatum) {
++                      yyerror2("unknown class %s", id);
++                      goto bad;
++              }
++              if (ebitmap_set_bit(&e_tclasses, cladatum->s.value - 1, TRUE)) {
++                      yyerror("Out of memory");
++                      goto bad;
++              }
++              free(id);
++      }
++
++      id = (char *)queue_remove(id_queue);
++      if (!id) {
++              yyerror("no otype in transition definition?");
++              goto bad;
++      }
++      if (!is_id_in_scope(SYM_TYPES, id)) {
++              yyerror2("type %s is not within scope", id);
++              free(id);
++              goto bad;
++      }
++      typdatum = hashtab_search(policydbp->p_types.table, id);
++      if (!typdatum) {
++              yyerror2("unknown type %s used in transition definition", id);
++              goto bad;
++      }
++      free(id);
++      otype = typdatum->s.value;
++
++      name = queue_remove(id_queue);
++      if (!name) {
++              yyerror("no pathname specified in filename_trans definition?");
++              goto bad;
++      }
++
++      /* We expand the class set into seperate rules.  We expand the types
++       * just to make sure there are not duplicates.  They will get turned
++       * into seperate rules later */
++      ebitmap_init(&e_stypes);
++      if (type_set_expand(&stypes, &e_stypes, policydbp, 1))
++              goto bad;
++
++      ebitmap_init(&e_ttypes);
++      if (type_set_expand(&ttypes, &e_ttypes, policydbp, 1))
++              goto bad;
++
++      ebitmap_for_each_bit(&e_tclasses, cnode, c) {
++              if (!ebitmap_node_get_bit(cnode, c))
++                      continue;
++              ebitmap_for_each_bit(&e_stypes, snode, s) {
++                      if (!ebitmap_node_get_bit(snode, s))
++                              continue;
++                      ebitmap_for_each_bit(&e_ttypes, tnode, t) {
++                              if (!ebitmap_node_get_bit(tnode, t))
++                                      continue;
++      
++                              for (ft = policydbp->filename_trans; ft; ft = ft->next) {
++                                      if (ft->stype == (s + 1) &&
++                                          ft->ttype == (t + 1) &&
++                                          ft->tclass == (c + 1) &&
++                                          !strcmp(ft->name, name)) {
++                                              yyerror2("duplicate filename transition for: filename_trans %s %s %s:%s",
++                                                       name, 
++                                                       policydbp->p_type_val_to_name[s],
++                                                       policydbp->p_type_val_to_name[t],
++                                                       policydbp->p_class_val_to_name[c]);
++                                              goto bad;
++                                      }
++                              }
++      
++                              ft = malloc(sizeof(*ft));
++                              if (!ft) {
++                                      yyerror("out of memory");
++                                      goto bad;
++                              }
++                              memset(ft, 0, sizeof(*ft));
++      
++                              ft->next = policydbp->filename_trans;
++                              policydbp->filename_trans = ft;
++      
++                              ft->name = strdup(name);
++                              if (!ft->name) {
++                                      yyerror("out of memory");
++                                      goto bad;
++                              }
++                              ft->stype = s + 1;
++                              ft->ttype = t + 1;
++                              ft->tclass = c + 1;
++                              ft->otype = otype;
++                      }
++              }
++      
++              /* Now add the real rule since we didn't find any duplicates */
++              ftr = malloc(sizeof(*ftr));
++              if (!ftr) {
++                      yyerror("out of memory");
++                      goto bad;
++              }
++              filename_trans_rule_init(ftr);
++              append_filename_trans(ftr);
++
++              ftr->name = strdup(name);
++              ftr->stypes = stypes;
++              ftr->ttypes = ttypes;
++              ftr->tclass = c + 1;
++              ftr->otype = otype;
++      }
++
++      free(name);
++      ebitmap_destroy(&e_stypes);
++      ebitmap_destroy(&e_ttypes);
++      ebitmap_destroy(&e_tclasses);
++
++      return 0;
++
++bad:
++      free(name);
++      return -1;
++}
++
+ static constraint_expr_t *constraint_expr_clone(constraint_expr_t * expr)
+ {
+       constraint_expr_t *h = NULL, *l = NULL, *e, *newe;
+diff --git a/libqpol/src/policy_parse.y b/libqpol/src/policy_parse.y
+index 84f4114..dc16c6f 100644
+--- a/libqpol/src/policy_parse.y
++++ b/libqpol/src/policy_parse.y
+@@ -98,6 +98,7 @@ extern char *qpol_src_inputlim;/* end of data */
+ %type <require_func> require_decl_def
+ %token PATH
++%token FILENAME
+ %token CLONE
+ %token COMMON
+ %token CLASS
+@@ -360,7 +361,10 @@ cond_rule_def           : cond_transition_def
+                       | require_block
+                       { $$ = NULL; }
+                         ;
+-cond_transition_def   : TYPE_TRANSITION names names ':' names identifier ';'
++cond_transition_def   : TYPE_TRANSITION names names ':' names identifier filename ';'
++                        { $$ = define_cond_filename_trans() ;
++                          if ($$ == COND_ERR) return -1;}
++                        | TYPE_TRANSITION names names ':' names identifier ';'
+                         { $$ = define_cond_compute_type(AVRULE_TRANSITION) ;
+                           if ($$ == COND_ERR) return -1;}
+                         | TYPE_MEMBER names names ':' names identifier ';'
+@@ -395,7 +399,9 @@ cond_dontaudit_def : DONTAUDIT names names ':' names names ';'
+                       { $$ = define_cond_te_avtab(AVRULE_DONTAUDIT);
+                           if ($$ == COND_ERR) return -1; }
+                       ;
+-transition_def                : TYPE_TRANSITION names names ':' names identifier ';'
++transition_def                : TYPE_TRANSITION  names names ':' names identifier filename ';'
++                      {if (define_filename_trans()) return -1; }
++                      | TYPE_TRANSITION names names ':' names identifier ';'
+                         {if (define_compute_type(AVRULE_TRANSITION)) return -1;}
+                         | TYPE_MEMBER names names ':' names identifier ';'
+                         {if (define_compute_type(AVRULE_MEMBER)) return -1;}
+@@ -752,6 +758,9 @@ identifier         : IDENTIFIER
+ path                  : PATH
+                       { if (insert_id(yytext,0)) return -1; }
+                       ;
++filename              : FILENAME
++                      { yytext[strlen(yytext) - 1] = '\0'; if (insert_id(yytext + 1,0)) return -1; }
++                      ;
+ number                        : NUMBER 
+                       { $$ = strtoul(yytext,NULL,0); }
+                       ;
+diff --git a/libqpol/src/policy_scan.l b/libqpol/src/policy_scan.l
+index 75485f3..30203cd 100644
+--- a/libqpol/src/policy_scan.l
++++ b/libqpol/src/policy_scan.l
+@@ -235,6 +235,7 @@ POLICYCAP                  { return(POLICYCAP); }
+ permissive |
+ PERMISSIVE                    { return(PERMISSIVE); }
+ "/"({alnum}|[_\.\-/])*                { return(PATH); }
++\"({alnum}|[_\.\-])+\"                        { return(FILENAME); }
+ {letter}({alnum}|[_\-])*([\.]?({alnum}|[_\-]))*       { return(IDENTIFIER); }
+ {digit}+|0x{hexval}+            { return(NUMBER); }
+ {digit}{1,3}(\.{digit}{1,3}){3}    { return(IPV4_ADDR); }
+diff --git a/secmds/sesearch.c b/secmds/sesearch.c
+index ec0315f..e44b3bc 100644
+--- a/secmds/sesearch.c
++++ b/secmds/sesearch.c
+@@ -575,6 +575,95 @@ static void print_te_results(const apol_policy_t * policy, const options_t * opt
+       free(expr);
+ }
++static int perform_ft_query(const apol_policy_t * policy, const options_t * opt, apol_vector_t ** v)
++{
++      apol_filename_trans_query_t *ftq = NULL;
++      int error = 0;
++
++      if (!policy || !opt || !v) {
++              ERR(policy, "%s", strerror(EINVAL));
++              errno = EINVAL;
++              return -1;
++      }
++
++      if (!opt->type == QPOL_RULE_TYPE_TRANS && !opt->all) {
++              *v = NULL;
++              return 0;              /* no search to do */
++      }
++
++      ftq = apol_filename_trans_query_create();
++      if (!ftq) {
++              ERR(policy, "%s", strerror(ENOMEM));
++              errno = ENOMEM;
++              return -1;
++      }
++
++      apol_filename_trans_query_set_regex(policy, ftq, opt->useregex);
++      if (opt->src_name) {
++              if (apol_filename_trans_query_set_source(policy, ftq, opt->src_name)) {
++                      error = errno;
++                      goto err;
++              }
++      }
++      if (opt->tgt_name) {
++              if (apol_filename_trans_query_set_target(policy, ftq, opt->tgt_name, opt->indirect)) {
++                      error = errno;
++                      goto err;
++              }
++      }
++
++      if (apol_filename_trans_get_by_query(policy, ftq, v)) {
++              error = errno;
++              goto err;
++      }
++
++      apol_filename_trans_query_destroy(&ftq);
++      return 0;
++
++      err:
++      apol_vector_destroy(v);
++      apol_filename_trans_query_destroy(&ftq);
++      ERR(policy, "%s", strerror(error));
++      errno = error;
++      return -1;
++}
++
++static void print_ft_results(const apol_policy_t * policy, const options_t * opt, const apol_vector_t * v)
++{
++      qpol_policy_t *q = apol_policy_get_qpol(policy);
++      size_t i, num_rules = 0;
++      const qpol_filename_trans_t *rule = NULL;
++      char *tmp = NULL, *rule_str = NULL, *expr = NULL;
++      char enable_char = ' ', branch_char = ' ';
++      qpol_iterator_t *iter = NULL;
++      const qpol_cond_t *cond = NULL;
++      uint32_t enabled = 0, list = 0;
++
++      if (!(num_rules = apol_vector_get_size(v)))
++              goto cleanup;
++
++      fprintf(stdout, "Found %zd named file transition rules:\n", num_rules);
++
++      for (i = 0; i < num_rules; i++) {
++              enable_char = branch_char = ' ';
++              if (!(rule = apol_vector_get_element(v, i)))
++                      goto cleanup;
++
++              if (!(rule_str = apol_filename_trans_render(policy, rule)))
++                      goto cleanup;
++              fprintf(stdout, "%s %s\n", rule_str, expr ? expr : "");
++              free(rule_str);
++              rule_str = NULL;
++              free(expr);
++              expr = NULL;
++      }
++
++      cleanup:
++      free(tmp);
++      free(rule_str);
++      free(expr);
++}
++
+ static int perform_ra_query(const apol_policy_t * policy, const options_t * opt, apol_vector_t ** v)
+ {
+       apol_role_allow_query_t *raq = NULL;
+@@ -1128,6 +1217,18 @@ int main(int argc, char **argv)
+                       print_te_results(policy, &cmd_opts, v);
+               fprintf(stdout, "\n");
+       }
++
++      if (cmd_opts.all || cmd_opts.type == QPOL_RULE_TYPE_TRANS) {
++              apol_vector_destroy(&v);
++              if (perform_ft_query(policy, &cmd_opts, &v)) {
++                      rt = 1;
++                      goto cleanup;
++              }
++
++              print_ft_results(policy, &cmd_opts, v);
++              fprintf(stdout, "\n");
++      }
++
+       apol_vector_destroy(&v);
+       if (perform_ra_query(policy, &cmd_opts, &v)) {
+               rt = 1;
+-- 
+1.7.6.2
+
+diff -up setools-3.3.7/libapol/include/apol/Makefile.am.filenametrans setools-3.3.7/libapol/include/apol/Makefile.am
+--- setools-3.3.7/libapol/include/apol/Makefile.am.filenametrans       2009-07-14 14:03:27.000000000 -0400
++++ setools-3.3.7/libapol/include/apol/Makefile.am     2011-10-26 16:24:59.948130442 -0400
+@@ -27,6 +27,7 @@ apol_HEADERS = \
+       relabel-analysis.h \
+       render.h \
+       role-query.h \
++      ftrule-query.h \
+       terule-query.h \
+       type-query.h \
+       types-relation-analysis.h \
+
+diff -up setools-3.3.7/libqpol/include/qpol/Makefile.am.filenametrans setools-3.3.7/libqpol/include/qpol/Makefile.am
+--- setools-3.3.7/libqpol/include/qpol/Makefile.am.filenametrans       2011-10-26 16:22:28.723523155 -0400
++++ setools-3.3.7/libqpol/include/qpol/Makefile.am     2011-10-26 16:22:41.283493767 -0400
+@@ -25,6 +25,7 @@ qpol_HEADERS = \
+       role_query.h \
+       syn_rule_query.h \
+       terule_query.h \
++      ftrule_query.h \
+       type_query.h \
+       user_query.h \
+       util.h
diff --git a/setools/patches/0007-Remove-unused-variables.patch b/setools/patches/0007-Remove-unused-variables.patch
new file mode 100644 (file)
index 0000000..dfa532c
--- /dev/null
@@ -0,0 +1,277 @@
+From e30036e358b8f1c3f56048b467e8646fa3bfffb6 Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Tue, 20 Sep 2011 16:40:26 -0400
+Subject: [PATCH 7/7] Remove unused variables
+
+---
+ libapol/src/ftrule-query.c |   11 ++----
+ libqpol/src/ftrule_query.c |    2 -
+ secmds/sesearch.c          |   86 +++++++++++++++++++++++++++++++++-----------
+ 3 files changed, 68 insertions(+), 31 deletions(-)
+
+diff --git a/libapol/src/ftrule-query.c b/libapol/src/ftrule-query.c
+index dc248de..9c7a23b 100644
+--- a/libapol/src/ftrule-query.c
++++ b/libapol/src/ftrule-query.c
+@@ -45,14 +45,11 @@ struct apol_filename_trans_query
+ int apol_filename_trans_get_by_query(const apol_policy_t * p, const apol_filename_trans_query_t * t, apol_vector_t ** v)
+ {
+       apol_vector_t *source_list = NULL, *target_list = NULL, *class_list = NULL, *default_list = NULL;
+-      int retval = -1, source_as_any = 0, is_regex = 0, append_filename_trans;
+-      char *bool_name = NULL;
++      int retval = -1, source_as_any = 0, is_regex = 0;
+       *v = NULL;
+-      unsigned int flags = 0;
+-      qpol_iterator_t *iter = NULL, *type_iter = NULL;
++      qpol_iterator_t *iter = NULL;
+       if (t != NULL) {
+-              flags = t->flags;
+               is_regex = t->flags & APOL_QUERY_REGEX;
+               if (t->source != NULL &&
+                   (source_list =
+@@ -104,7 +101,7 @@ int apol_filename_trans_get_by_query(const apol_policy_t * p, const apol_filenam
+               if (qpol_iterator_get_item(iter, (void **)&filename_trans) < 0) {
+                       goto cleanup;
+               }
+-              int match_source = 0, match_target = 0, match_default = 0, match_bool = 0;
++              int match_source = 0, match_target = 0, match_default = 0;
+               size_t i;
+               if (source_list == NULL) {
+@@ -265,10 +262,8 @@ char *apol_filename_trans_render(const apol_policy_t * policy, const qpol_filena
+ {
+       char *tmp = NULL;
+       const char *tmp_name = NULL;
+-      const char *filename_trans_type_str;
+       int error = 0;
+       size_t tmp_sz = 0;
+-      uint32_t filename_trans_type = 0;
+       const qpol_type_t *type = NULL;
+       const qpol_class_t *obj_class = NULL;
+diff --git a/libqpol/src/ftrule_query.c b/libqpol/src/ftrule_query.c
+index d6db848..3148d30 100644
+--- a/libqpol/src/ftrule_query.c
++++ b/libqpol/src/ftrule_query.c
+@@ -254,7 +254,6 @@ int qpol_filename_trans_get_default_type(const qpol_policy_t * policy, const qpo
+ int qpol_filename_trans_get_filename(const qpol_policy_t * policy, const qpol_filename_trans_t * rule, const char ** name)
+ {
+-      policydb_t *db = NULL;
+       filename_trans_t *ft = NULL;
+       if (name) {
+@@ -267,7 +266,6 @@ int qpol_filename_trans_get_filename(const qpol_policy_t * policy, const qpol_fi
+               return STATUS_ERR;
+       }
+-      db = &policy->p->p;
+       ft = (filename_trans_t *) rule;
+       *name = ft->name;
+diff --git a/secmds/sesearch.c b/secmds/sesearch.c
+index e44b3bc..319ffe7 100644
+--- a/secmds/sesearch.c
++++ b/secmds/sesearch.c
+@@ -72,6 +72,7 @@ static struct option const longopts[] = {
+       {"source", required_argument, NULL, 's'},
+       {"target", required_argument, NULL, 't'},
++      {"default", required_argument, NULL, 'D'},
+       {"role_source", required_argument, NULL, EXPR_ROLE_SOURCE},
+       {"role_target", required_argument, NULL, EXPR_ROLE_TARGET},
+       {"class", required_argument, NULL, 'c'},
+@@ -92,6 +93,7 @@ typedef struct options
+ {
+       char *src_name;
+       char *tgt_name;
++      char *default_name;
+       char *src_role_name;
+       char *tgt_role_name;
+       char *class_name;
+@@ -293,7 +295,8 @@ static void print_syn_av_results(const apol_policy_t * policy, const options_t *
+                               tmp = apol_cond_expr_render(policy, cond);
+                               enable_char = (enabled ? 'E' : 'D');
+                               branch_char = ((is_true && enabled) || (!is_true && !enabled) ? 'T' : 'F');
+-                              asprintf(&expr, "[ %s ]", tmp);
++                              if (asprintf(&expr, "[ %s ]", tmp) < 0)
++                                      goto cleanup;
+                               free(tmp);
+                               tmp = NULL;
+                               if (!expr)
+@@ -356,7 +359,8 @@ static void print_av_results(const apol_policy_t * policy, const options_t * opt
+                               qpol_iterator_destroy(&iter);
+                               enable_char = (enabled ? 'E' : 'D');
+                               branch_char = (list ? 'T' : 'F');
+-                              asprintf(&expr, "[ %s ]", tmp);
++                              if (asprintf(&expr, "[ %s ]", tmp) < 0)
++                                      goto cleanup;
+                               free(tmp);
+                               tmp = NULL;
+                               if (!expr)
+@@ -488,7 +492,8 @@ static void print_syn_te_results(const apol_policy_t * policy, const options_t *
+                               tmp = apol_cond_expr_render(policy, cond);
+                               enable_char = (enabled ? 'E' : 'D');
+                               branch_char = ((is_true && enabled) || (!is_true && !enabled) ? 'T' : 'F');
+-                              asprintf(&expr, "[ %s ]", tmp);
++                              if (asprintf(&expr, "[ %s ]", tmp) < 0)
++                                      goto cleanup;
+                               free(tmp);
+                               tmp = NULL;
+                               if (!expr)
+@@ -553,7 +558,8 @@ static void print_te_results(const apol_policy_t * policy, const options_t * opt
+                               qpol_iterator_destroy(&iter);
+                               enable_char = (enabled ? 'E' : 'D');
+                               branch_char = (list ? 'T' : 'F');
+-                              asprintf(&expr, "[ %s ]", tmp);
++                              if (asprintf(&expr, "[ %s ]", tmp) < 0)
++                                      goto cleanup;
+                               free(tmp);
+                               tmp = NULL;
+                               if (!expr)
+@@ -586,7 +592,7 @@ static int perform_ft_query(const apol_policy_t * policy, const options_t * opt,
+               return -1;
+       }
+-      if (!opt->type == QPOL_RULE_TYPE_TRANS && !opt->all) {
++      if (!opt->type && !opt->all) {
+               *v = NULL;
+               return 0;              /* no search to do */
+       }
+@@ -600,17 +606,44 @@ static int perform_ft_query(const apol_policy_t * policy, const options_t * opt,
+       apol_filename_trans_query_set_regex(policy, ftq, opt->useregex);
+       if (opt->src_name) {
+-              if (apol_filename_trans_query_set_source(policy, ftq, opt->src_name)) {
++              if (apol_filename_trans_query_set_source(policy, ftq, opt->src_name, opt->indirect)) {
+                       error = errno;
+                       goto err;
+               }
+       }
++
+       if (opt->tgt_name) {
+               if (apol_filename_trans_query_set_target(policy, ftq, opt->tgt_name, opt->indirect)) {
+                       error = errno;
+                       goto err;
+               }
+       }
++      if (opt->default_name) {
++              if (apol_filename_trans_query_set_default(policy, ftq, opt->default_name)) {
++                      error = errno;
++                      goto err;
++              }
++      }
++
++      if (opt->class_name) {
++              if (opt->class_vector == NULL) {
++                      if (apol_filename_trans_query_append_class(policy, ftq, opt->class_name)) {
++                              error = errno;
++                              goto err;
++                      }
++              } else {
++                      for (size_t i = 0; i < apol_vector_get_size(opt->class_vector); ++i) {
++                              char *class_name;
++                              class_name = apol_vector_get_element(opt->class_vector, i);
++                              if (!class_name)
++                                      continue;
++                              if (apol_filename_trans_query_append_class(policy, ftq, class_name)) {
++                                      error = errno;
++                                      goto err;
++                              }
++                      }
++              }
++      }
+       if (apol_filename_trans_get_by_query(policy, ftq, v)) {
+               error = errno;
+@@ -630,37 +663,36 @@ static int perform_ft_query(const apol_policy_t * policy, const options_t * opt,
+ static void print_ft_results(const apol_policy_t * policy, const options_t * opt, const apol_vector_t * v)
+ {
+-      qpol_policy_t *q = apol_policy_get_qpol(policy);
+-      size_t i, num_rules = 0;
+-      const qpol_filename_trans_t *rule = NULL;
+-      char *tmp = NULL, *rule_str = NULL, *expr = NULL;
++      size_t i, num_filename_trans = 0;
++      const qpol_filename_trans_t *filename_trans = NULL;
++      char *tmp = NULL, *filename_trans_str = NULL, *expr = NULL;
+       char enable_char = ' ', branch_char = ' ';
+       qpol_iterator_t *iter = NULL;
+       const qpol_cond_t *cond = NULL;
+       uint32_t enabled = 0, list = 0;
+-      if (!(num_rules = apol_vector_get_size(v)))
++      if (!(num_filename_trans = apol_vector_get_size(v)))
+               goto cleanup;
+-      fprintf(stdout, "Found %zd named file transition rules:\n", num_rules);
++      fprintf(stdout, "Found %zd named file transition filename_trans:\n", num_filename_trans);
+-      for (i = 0; i < num_rules; i++) {
++      for (i = 0; i < num_filename_trans; i++) {
+               enable_char = branch_char = ' ';
+-              if (!(rule = apol_vector_get_element(v, i)))
++              if (!(filename_trans = apol_vector_get_element(v, i)))
+                       goto cleanup;
+-              if (!(rule_str = apol_filename_trans_render(policy, rule)))
++              if (!(filename_trans_str = apol_filename_trans_render(policy, filename_trans)))
+                       goto cleanup;
+-              fprintf(stdout, "%s %s\n", rule_str, expr ? expr : "");
+-              free(rule_str);
+-              rule_str = NULL;
++              fprintf(stdout, "%s %s\n", filename_trans_str, expr ? expr : "");
++              free(filename_trans_str);
++              filename_trans_str = NULL;
+               free(expr);
+               expr = NULL;
+       }
+       cleanup:
+       free(tmp);
+-      free(rule_str);
++      free(filename_trans_str);
+       free(expr);
+ }
+@@ -930,7 +962,7 @@ int main(int argc, char **argv)
+       memset(&cmd_opts, 0, sizeof(cmd_opts));
+       cmd_opts.indirect = true;
+-      while ((optc = getopt_long(argc, argv, "ATs:t:c:p:b:dRnSChV", longopts, NULL)) != -1) {
++      while ((optc = getopt_long(argc, argv, "ATs:t:c:p:b:dD:RnSChV", longopts, NULL)) != -1) {
+               switch (optc) {
+               case 0:
+                       break;
+@@ -946,6 +978,18 @@ int main(int argc, char **argv)
+                               exit(1);
+                       }
+                       break;
++              case 'D':              /* source */
++                      if (optarg == 0) {
++                              usage(argv[0], 1);
++                              printf("Missing source default type for -D (--default)\n");
++                              exit(1);
++                      }
++                      cmd_opts.default_name = strdup(optarg);
++                      if (!cmd_opts.default_name) {
++              
++                              exit(1);
++                      }
++                      break;
+               case 't':              /* target */
+                       if (optarg == 0) {
+                               usage(argv[0], 1);
+@@ -1218,7 +1262,7 @@ int main(int argc, char **argv)
+               fprintf(stdout, "\n");
+       }
+-      if (cmd_opts.all || cmd_opts.type == QPOL_RULE_TYPE_TRANS) {
++      if (cmd_opts.all || cmd_opts.type) {
+               apol_vector_destroy(&v);
+               if (perform_ft_query(policy, &cmd_opts, &v)) {
+                       rt = 1;
+-- 
+1.7.6.2
+
diff --git a/setools/patches/0008-Fix-output-to-match-policy-lines.patch b/setools/patches/0008-Fix-output-to-match-policy-lines.patch
new file mode 100644 (file)
index 0000000..47c258e
--- /dev/null
@@ -0,0 +1,34 @@
+From 2f89d9acc12c0a7b50a94e4247b015242ce712c9 Mon Sep 17 00:00:00 2001
+From: Dan Walsh <dwalsh@redhat.com>
+Date: Wed, 21 Sep 2011 15:15:02 -0400
+Subject: [PATCH 8/8] Fix output to match policy lines
+
+---
+ libapol/src/ftrule-query.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libapol/src/ftrule-query.c b/libapol/src/ftrule-query.c
+index 9c7a23b..1d5f5c8 100644
+--- a/libapol/src/ftrule-query.c
++++ b/libapol/src/ftrule-query.c
+@@ -282,7 +282,7 @@ char *apol_filename_trans_render(const apol_policy_t * policy, const qpol_filena
+               error = errno;
+               goto err;
+       }
+-      if (apol_str_appendf(&tmp, &tmp_sz, "transition_type %s ", tmp_name)) {
++      if (apol_str_appendf(&tmp, &tmp_sz, "type_transition %s ", tmp_name)) {
+               error = errno;
+               ERR(policy, "%s", strerror(error));
+               goto err;
+@@ -338,7 +338,7 @@ char *apol_filename_trans_render(const apol_policy_t * policy, const qpol_filena
+               goto err;
+       }
+-      if (apol_str_appendf(&tmp, &tmp_sz, " %s", tmp_name)) {
++      if (apol_str_appendf(&tmp, &tmp_sz, " \"%s\"", tmp_name)) {
+               error = errno;
+               ERR(policy, "%s", strerror(error));
+               goto err;
+-- 
+1.7.6.2
+
diff --git a/setools/setools.nm b/setools/setools.nm
new file mode 100644 (file)
index 0000000..bec628c
--- /dev/null
@@ -0,0 +1,88 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = setools
+version    = 3.3.7
+release    = 2
+
+groups     = System/Base
+url        = http://oss.tresys.com/projects/setools
+license    = GPv2
+summary    = Policy analysis tools for SELinux.
+
+description
+       SETools is a collection of graphical tools, command-line tools, and
+       libraries designed to facilitate SELinux policy analysis.
+end
+
+source_dl  = http://oss.tresys.com/projects/setools/chrome/site/dists/%{thisapp}/
+sources    = %{thisapp}.tar.bz2
+
+build
+       requires
+               autoconf
+               automake
+               bison
+               bzip2-devel
+               flex
+               gcc-c++
+               libselinux-devel
+               libsepol-devel
+               libsepol-static
+               libxml2-devel
+               python-devel
+               sqlite-devel
+               swig
+       end
+
+       configure_options += \
+               --libdir=%{libdir} \
+               --disable-static \
+               --disable-gui \
+               --disable-bwidget-check \
+               --disable-selinux-check \
+               --enable-swig-python \
+               --disable-swig-java \
+               --disable-swig-tcl
+
+       prepare_cmds
+               # Fixup expected version of SWIG:
+               sed -i -e "s|AC_PROG_SWIG(1.3.28)|AC_PROG_SWIG(2.0.0)|g" configure.ac
+
+               autoreconf -v -f -i
+       end
+
+end
+
+packages
+       package %{name}
+       
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package python-%{name}
+               summary = Python bindings for setools-libs.
+               description
+                       This package includes Python bindings for libapol, libpoldiff, libqpol, libseaudit and libsefs.
+               end
+
+               requires
+                       setools-libs=%{thisver}
+               end
+
+               files
+                       %{libdir}/python*
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 2d66685588f07b8aeacf77624beb1909532c159a..cc638788aff995adf665048780637e7db35e1ead 100644 (file)
@@ -35,16 +35,14 @@ fi
 
 # Path manipulation
 if [ "$EUID" = "0" ]; then
-    pathmunge /sbin
     pathmunge /usr/sbin
     pathmunge /usr/local/sbin
 else
     pathmunge /usr/local/sbin after
     pathmunge /usr/sbin after
-    pathmunge /sbin after
 fi
 
-HOSTNAME=`/bin/hostname 2>/dev/null`
+HOSTNAME=`/usr/bin/hostname 2>/dev/null`
 HISTSIZE=1000
 if [ "$HISTCONTROL" = "ignorespace" ] ; then
     export HISTCONTROL=ignoreboth
index 891af408f8d373bd406b18f3017585500c831bab..0eb5c9911d0a6c646b15430d6d4342e656770fca 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = setup
 version    = 3.0
-release    = 4
+release    = 5
 arch       = noarch
 
 groups     = Base Build System/Base
@@ -50,6 +50,10 @@ packages
        package %{name}
                requires = iana-etc
 
+               conflicts
+                       filesystem < 002
+               end
+
                configfiles
                        /etc/aliases
                        /etc/exports
index 07ec394ffd648c0937d1da0c072a97288579ed78..ff554d2d47c255d77b8cc902612792bb0d104795 100644 (file)
@@ -3,9 +3,10 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = sg3_utils
+name       = sg3-utils
 version    = 1.32
-release    = 1
+release    = 2
+thisapp    = sg3_utils-%{version}
 
 groups     = Applications/System
 url        = http://sg.danny.cz/sg/sg3_utils.html
diff --git a/sqlite/patches/sqlite-3.6.12-libdl.patch b/sqlite/patches/sqlite-3.6.12-libdl.patch
deleted file mode 100644 (file)
index 4d2c272..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up sqlite-3.6.4/configure.ac.orig sqlite-3.6.4/configure.ac
---- sqlite-3.6.4/configure.ac.orig     2008-11-08 11:37:15.000000000 +0200
-+++ sqlite-3.6.4/configure.ac  2008-11-08 11:35:50.000000000 +0200
-@@ -606,6 +606,7 @@ AC_ARG_ENABLE(load-extension, AC_HELP_ST
-       [use_loadextension=$enableval],[use_loadextension=no])
- if test "${use_loadextension}" = "yes" ; then
-   OPT_FEATURE_FLAGS=""
-+  AC_SEARCH_LIBS(dlopen, [dl])
- else
-   OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
- fi
index 530f18019680e68b383688293a52477ec2057b22..5bbbb31e82a25745b7a4003ee6b75c8e0fc7b1cb 100644 (file)
@@ -4,8 +4,9 @@
 ###############################################################################
 
 name       = sqlite
-version    = 3.7.3
+version    = 3.7.10
 release    = 1
+realver    = 3071000
 
 groups     = System/Databases
 url        = http://www.sqlite.org/
@@ -13,21 +14,19 @@ license    = PublicDomain
 summary    = A small an versative Database, that uses simple text files.
 
 description
-       SQLite is a in-process library that implements a self-contained, \
-       serverless, zero-configuration, transactional SQL database engine. \
-       The code for SQLite is in the public domain and is thus free for \
-       use for any purpose, commercial or private. SQLite is currently \
-       found in more applications than we can count, including several \
+       SQLite is a in-process library that implements a self-contained,
+       serverless, zero-configuration, transactional SQL database engine.
+       The code for SQLite is in the public domain and is thus free for
+       use for any purpose, commercial or private. SQLite is currently
+       found in more applications than we can count, including several
        high-profile projects.
 end
 
-source_dl  =
+thisapp    = %{name}-autoconf-%{realver}
+source_dl  = http://www.sqlite.org/
 
 build
        requires
-               autoconf
-               automake
-               libtool
                ncurses-devel
                readline-devel
                tcl
@@ -47,10 +46,6 @@ build
                --enable-threads-override-locks \
                --enable-load-extension \
                --disable-tcl
-
-       prepare_cmds
-               autoreconf -vfi
-       end
 end
 
 quality-agent
index f41eb27b92d0f9ad6cb9c012234403aaabd2a9d6..e2d74d59c009f82b1c88aade4f1754949dc5277d 100644 (file)
@@ -6,7 +6,7 @@
 name       = squid
 major_ver  = 3.1
 version    = %{major_ver}.16
-release    = 4
+release    = 5
 
 maintainer = Christian Schmidt <christian.schmidt@ipfire.org>
 groups     = Networking/Daemons
@@ -118,7 +118,10 @@ end
 
 packages
        package %{name}
-               prerequires = shadow-utils systemd-units
+               prerequires
+                       shadow-utils
+                       systemd-units
+               end
 
                configfiles
                        /etc/squid.conf
index 2db6214237d0f789e22e73c9cac6f5a883f797f6..ef43905afb5e8cf399d90ad0da6094cc86d6fa9c 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = strongswan
-version    = 4.6.1
-release    = 1
+version    = 4.6.2
+release    = 2
 
 groups     = Networking/VPN
 url        = http://www.strongswan.org/
@@ -13,9 +13,9 @@ license    = GPL
 summary    = IPsec and IKEv1 implementation for Linux 2.4 and 2.6 kernels.
 
 description
-       StrongSwan is a complete IPsec and IKEv1 implementation for \
-       Linux 2.4 and 2.6 kernels. It also fully supports the new IKEv2 \
-       protocol with Linux 2.6 kernels. It interoperates in both IKEv1 \
+       StrongSwan is a complete IPsec and IKEv1 implementation for
+       Linux 2.4 and 2.6 kernels. It also fully supports the new IKEv2
+       protocol with Linux 2.6 kernels. It interoperates in both IKEv1
        and IKEv2 mode with most other IPsec-based VPN products.
 end
 
@@ -44,10 +44,13 @@ build
                --enable-ldap \
                --enable-sqlite \
                --enable-gcrypt \
-               --enable-padlock \
                --enable-cisco-quirks \
                --with-capabilities=libcap
 
+       if "%{DISTRO_ARCH}" == "i686"
+               configure_options += --enable-padlock
+       end
+
        test
                make check
        end
diff --git a/subversion/patches/001-subversion-1.7.0-rpath.patch b/subversion/patches/001-subversion-1.7.0-rpath.patch
new file mode 100644 (file)
index 0000000..2481346
--- /dev/null
@@ -0,0 +1,49 @@
+diff -uap subversion-1.7.0/build.conf.rpath subversion-1.7.0/build.conf
+--- subversion-1.7.0/build.conf.rpath  2011-08-04 21:18:50.000000000 +0100
++++ subversion-1.7.0/build.conf        2011-10-12 09:23:43.844525530 +0100
+@@ -478,7 +478,7 @@ type = swig_lib
+ lang = python
+ path = subversion/bindings/swig/python/libsvn_swig_py
+ libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
+-link-cmd = $(LINK)
++link-cmd = $(LINK_LIB)
+ install = swig-py-lib
+ # need special build rule to include -DSWIGPYTHON
+ compile-cmd = $(COMPILE_SWIG_PY)
+@@ -501,7 +501,7 @@ type = swig_lib
+ lang = ruby
+ path = subversion/bindings/swig/ruby/libsvn_swig_ruby
+ libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
+-link-cmd = $(LINK) $(SWIG_RB_LIBS)
++link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
+ install = swig-rb-lib
+ # need special build rule to include
+ compile-cmd = $(COMPILE_SWIG_RB)
+diff -uap subversion-1.7.0/build/generator/gen_base.py.rpath subversion-1.7.0/build/generator/gen_base.py
+--- subversion-1.7.0/build/generator/gen_base.py.rpath 2011-06-22 17:44:54.000000000 +0100
++++ subversion-1.7.0/build/generator/gen_base.py       2011-10-12 09:23:15.368649375 +0100
+@@ -506,6 +506,10 @@ class TargetLib(TargetLinked):
+     self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
+     self.msvc_export = options.get('msvc-export', '').split()
++    ### hmm. this is Makefile-specific
++    if self.link_cmd == '$(LINK)':
++      self.link_cmd = '$(LINK_LIB)'
++
+ class TargetApacheMod(TargetLib):
+   def __init__(self, name, options, gen_obj):
+diff -uap subversion-1.7.0/Makefile.in.rpath subversion-1.7.0/Makefile.in
+--- subversion-1.7.0/Makefile.in.rpath 2011-07-16 12:50:53.000000000 +0100
++++ subversion-1.7.0/Makefile.in       2011-10-12 09:24:36.165524732 +0100
+@@ -203,8 +203,8 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
+ COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
+ COMPILE_JAVAHL_JAVAH = $(JAVAH)
+-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
+-LINK_LIB = $(LINK) $(LT_SO_VERSION)
++LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
++LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
+ LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
+ LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
diff --git a/subversion/patches/002-subversion-1.7.0-pie.patch b/subversion/patches/002-subversion-1.7.0-pie.patch
new file mode 100644 (file)
index 0000000..85e9f07
--- /dev/null
@@ -0,0 +1,57 @@
+diff -uap subversion-1.7.0/build/generator/gen_base.py.pie subversion-1.7.0/build/generator/gen_base.py
+--- subversion-1.7.0/build/generator/gen_base.py.pie   2011-10-12 09:25:30.510524103 +0100
++++ subversion-1.7.0/build/generator/gen_base.py       2011-10-12 09:25:30.515650110 +0100
+@@ -406,7 +406,7 @@ class TargetLinked(Target):
+     self.install = options.get('install')
+     self.compile_cmd = options.get('compile-cmd')
+     self.sources = options.get('sources', '*.c *.cpp')
+-    self.link_cmd = options.get('link-cmd', '$(LINK)')
++    self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
+     self.external_lib = options.get('external-lib')
+     self.external_project = options.get('external-project')
+@@ -462,6 +462,11 @@ class TargetExe(TargetLinked):
+     self.manpages = options.get('manpages', '')
+     self.testing = options.get('testing')
++    if self.install == 'test' or self.install == 'bdb-test':
++      self.link_cmd = '$(LINK_TEST)'
++    else:
++      self.link_cmd = '$(LINK_EXE)'
++
+   def add_dependencies(self):
+     TargetLinked.add_dependencies(self)
+@@ -507,8 +512,8 @@ class TargetLib(TargetLinked):
+     self.msvc_export = options.get('msvc-export', '').split()
+     ### hmm. this is Makefile-specific
+-    if self.link_cmd == '$(LINK)':
+-      self.link_cmd = '$(LINK_LIB)'
++    if self.install == 'test':
++       self.link_cmd = '$(LINK_TEST_LIB)'
+ class TargetApacheMod(TargetLib):
+diff -uap subversion-1.7.0/Makefile.in.pie subversion-1.7.0/Makefile.in
+--- subversion-1.7.0/Makefile.in.pie   2011-10-12 09:25:30.511600030 +0100
++++ subversion-1.7.0/Makefile.in       2011-10-12 09:26:16.757524426 +0100
+@@ -205,6 +205,9 @@ COMPILE_JAVAHL_JAVAH = $(JAVAH)
+ LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+ LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
++LINK_TEST = $(LINK) -no-install
++LINK_TEST_LIB = $(LINK) -avoid-version
++LINK_EXE = $(LINK) -pie
+ LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
+ LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
+@@ -657,7 +660,7 @@ schema-clean:
+       $(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@
+ .c.o:
+-      $(COMPILE) -o $@ -c $<
++      $(COMPILE) -fpie -o $@ -c $<
+ .cpp.o:
+       $(COMPILE_CXX) -o $@ -c $<
diff --git a/subversion/subversion.nm b/subversion/subversion.nm
new file mode 100644 (file)
index 0000000..98a1ad3
--- /dev/null
@@ -0,0 +1,97 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = subversion
+version    = 1.7.2
+release    = 1
+
+groups     = Development/Tools
+url        = http://subversion.apache.org/
+license    = ASL 2.0
+summary    = A Modern Concurrent Version Control System.
+
+description
+       Subversion is a concurrent version control system which enables one
+       or more users to collaborate in developing and maintaining a
+       hierarchy of files and directories while keeping a history of all
+       changes.  Subversion only stores the differences between versions,
+       instead of every complete file.  Subversion is intended to be a
+       compelling replacement for CVS.
+end
+
+source_dl  = http://www.apache.org/dist/subversion/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::Embed)
+               perl-Carp
+               autoconf
+               apr-util-devel
+               automake
+               db4-devel
+               expat-devel
+               libapr-devel
+               perl-devel
+               sqlite-devel
+               swig
+               zlib-devel
+       end
+
+       configure_options += \
+               --sbindir=/sbin \
+               --disable-mod-activation \
+               --disable-static \
+               --with-berkeley-db
+
+       prepare_cmds
+               ./autogen.sh --release
+
+               # Fix shebang lines.
+               perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in
+       end
+
+       install_cmds
+               # Build / Install perl bindings.
+               make swig-pl-lib %{PARALELLISMFLAGS}
+               make install-swig-pl-lib DESTDIR=%{BUILDROOT}
+
+               cd subversion/bindings/swig/perl/native
+
+               # Doesn't allow OPTIMIZE="%{CFLAGS}".
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALELLISMFLAGS}
+               make pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package perl-%{name}
+               summary = Perl bindings to the Subversion libraries.
+               description
+                       This package includes the Perl bindings to
+                       the Subversion libraries.
+               end
+
+               files
+                       /usr/lib/libsvn_swig_perl-1.so.*
+                       /usr/lib/perl*/
+               end
+       end
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index c5897c6a292d4edddbfa37ff16ff86f0e8de516e..b24d7cb48a4bdd41c62c3fddfebcd7ff3779af0e 100644 (file)
@@ -5,7 +5,8 @@
 
 name       = syslinux
 version    = 4.02
-release    = 2
+release    = 3
+sup_arches = x86_64 i686
 
 groups     = System/Boot
 url        = http://syslinux.zytor.com/
diff --git a/systemd/patches/systemd-44-fix-journald-PAGE_SIZE-on-arm.patch b/systemd/patches/systemd-44-fix-journald-PAGE_SIZE-on-arm.patch
new file mode 100644 (file)
index 0000000..623bea1
--- /dev/null
@@ -0,0 +1,44 @@
+From 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Wed, 21 Mar 2012 22:47:44 +0000
+Subject: journal: PAGE_SIZE is not known on ppc and other archs
+
+Let's use NAME_MAX, as suggested by Dan Walsh
+---
+diff --git a/src/journal/journald.c b/src/journal/journald.c
+index d27cb60..87390bd 100644
+--- a/src/journal/journald.c
++++ b/src/journal/journald.c
+@@ -29,7 +29,6 @@
+ #include <sys/ioctl.h>
+ #include <linux/sockios.h>
+ #include <sys/statvfs.h>
+-#include <sys/user.h>
+ #include <systemd/sd-journal.h>
+ #include <systemd/sd-login.h>
+@@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) {
+                         size_t label_len = 0;
+                         union {
+                                 struct cmsghdr cmsghdr;
++
++                                /* We use NAME_MAX space for the
++                                 * SELinux label here. The kernel
++                                 * currently enforces no limit, but
++                                 * according to suggestions from the
++                                 * SELinux people this will change and
++                                 * it will probably be identical to
++                                 * NAME_MAX. For now we use that, but
++                                 * this should be updated one day when
++                                 * the final limit is known.*/
+                                 uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) +
+                                             CMSG_SPACE(sizeof(struct timeval)) +
+-                                            CMSG_SPACE(sizeof(int)) +
+-                                            CMSG_SPACE(PAGE_SIZE)]; /* selinux label */
++                                            CMSG_SPACE(sizeof(int)) + /* fd */
++                                            CMSG_SPACE(NAME_MAX)]; /* selinux label */
+                         } control;
+                         ssize_t n;
+                         int v;
+--
+cgit v0.9.0.2-2-gbebe
similarity index 56%
rename from systemd/patches/systemd-ipfire.patch
rename to systemd/patches/systemd-44-ipfire.patch
index 4cf071aea2b88cdd7c365e1ee9d3073c77bcd719..6dca550f8dcb06b1fcd035e60ed5afd1d8da10db 100644 (file)
@@ -1,26 +1,18 @@
-diff -Nur systemd-37_orig/configure.ac systemd-37/configure.ac
---- systemd-37_orig/configure.ac       2011-10-11 20:46:56.000000000 +0200
-+++ systemd-37/configure.ac    2011-12-17 21:57:31.748682566 +0100
-@@ -355,7 +355,7 @@
+diff -Nur a/configure.ac b/configure.ac
+--- a/configure.ac     2012-03-16 01:46:57.000000000 +0100
++++ b/configure.ac     2012-03-24 20:43:33.723789319 +0100
+@@ -396,7 +396,7 @@
  
  AC_PATH_PROG([M4], [m4])
  
--AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux or other]))
-+AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux, ipfire or other]))
+-AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux, mandriva, meego, mageia, angstrom or other]))
++AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux, mandriva, meego, mageia, angstrom, ipfire or other]))
  if test "z$with_distro" = "z"; then
          if test "$cross_compiling" = yes; then
                  AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)])
-@@ -374,6 +374,7 @@
-                 if test "x`lsb_release -is 2>/dev/null`" = "xUbuntu"; then
-                         with_distro="ubuntu"
-                 fi
-+              test -f "/etc/ipfire-release" && with_distro="ipfire"
-         fi
-         if test "z$with_distro" = "z"; then
-                 with_distro=`uname -s`
-@@ -458,6 +459,13 @@
-                 AC_DEFINE(TARGET_ANGSTROM, [], [Target is Ångström])
-                 M4_DEFINES=-DTARGET_ANGSTROM=1
+@@ -492,6 +492,13 @@
+                 M4_DISTRO_FLAG=-DTARGET_MAGEIA=1
+                 have_plymouth=yes
                  ;;
 +      ipfire)
 +              SYSTEM_SYSVINIT_PATH=
@@ -32,10 +24,10 @@ diff -Nur systemd-37_orig/configure.ac systemd-37/configure.ac
          other)
                  ;;
          *)
-@@ -515,6 +523,7 @@
- AM_CONDITIONAL(TARGET_MANDRIVA, test x"$with_distro" = xmandriva)
+@@ -550,6 +557,7 @@
  AM_CONDITIONAL(TARGET_MEEGO, test x"$with_distro" = xmeego)
  AM_CONDITIONAL(TARGET_ANGSTROM, test x"$with_distro" = xangstrom)
+ AM_CONDITIONAL(TARGET_MAGEIA, test x"$with_distro" = xmageia)
 +AM_CONDITIONAL(TARGET_IPFIRE, test x"$with_distro" = xipfire)
  
  AM_CONDITIONAL(HAVE_PLYMOUTH, test "$have_plymouth" = "yes")
index 94d350bf1f501cc7b3c3aaee9cbd67ea75dd1d0f..29983e4441aa579466d634c185b54ce50b0fff27 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = systemd
-version    = 37
-release    = 2
+version    = 44
+release    = 6
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Base
@@ -18,9 +18,11 @@ description
        SysV and LSB init scripts.
 end
 
-source_dl  = http://cgit.freedesktop.org/systemd/snapshot/
+source_dl  = http://cgit.freedesktop.org/systemd/systemd/snapshot/
 
 build
+       unitdir = %{prefix}/lib/systemd/system
+
        requires
                audit-devel
                automake
@@ -32,22 +34,21 @@ build
                gperf
                gettext-devel
                intltool
+               kmod-devel >= 5
                libacl-devel
                libcap-devel
                libselinux-devel
                libtool
-               libudev-devel>=172
+               libudev-devel >= 172
                pam-devel
                vala
+               xz-devel
        end
 
        configure_options += \
-               --sysconfdir=/etc \
                --libexecdir=%{libdir} \
-               --with-rootdir= \
-               --with-distro=ipfire \
-               --with-udevrulesdir=/lib/udev/rules.d/ \
-               --with-pamlibdir=/%{lib}/security
+               --with-udevrulesdir=%{prefix}/lib/udev/rules.d \
+               --with-distro=ipfire
 
        prepare_cmds
                ./autogen.sh ac
@@ -59,43 +60,40 @@ build
 
        install_cmds
                # Create sysv compatible symlinks.
-               mkdir -pv %{BUILDROOT}/sbin
-               ln -svf ../bin/systemd   %{BUILDROOT}/sbin/init
-               ln -svf ../bin/systemctl %{BUILDROOT}/sbin/reboot
-               ln -svf ../bin/systemctl %{BUILDROOT}/sbin/halt
-               ln -svf ../bin/systemctl %{BUILDROOT}/sbin/poweroff
-               ln -svf ../bin/systemctl %{BUILDROOT}/sbin/shutdown
+               mkdir -pv %{BUILDROOT}%{sbindir}
+               ln -svf ../lib/systemd/systemd  %{BUILDROOT}/%{sbindir}/init
+               ln -svf ../lib/systemd/systemd  %{BUILDROOT}/%{bindir}/systemd
+               ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/reboot
+               ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/halt
+               ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/poweroff
+               ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/shutdown
 
                # Create empty machine-id file.
                touch %{BUILDROOT}/etc/machine-id
 
                # Copy locale and console settings
-               mkdir -pv %{BUILDROOT}/etc
-               cp -vf %{DIR_SOURCE}/locale.conf %{BUILDROOT}/etc/
-               cp -vf %{DIR_SOURCE}/vconsole.conf %{BUILDROOT}/etc/
+               mkdir -pv %{BUILDROOT}%{sysconfdir}
+               cp -vf %{DIR_SOURCE}/{locale,vconsole}.conf %{BUILDROOT}%{sysconfdir}
 
                # Recreate all targets
-               rm -rfv %{BUILDROOT}/etc/systemd/system/*.target.wants
-               mkdir -pv %{BUILDROOT}/lib/systemd/system/basic.target.wants
-               mkdir -pv %{BUILDROOT}/lib/systemd/system/default.target.wants
-               mkdir -pv %{BUILDROOT}/lib/systemd/system/dbus.target.wants
-               mkdir -pv %{BUILDROOT}/lib/systemd/system/syslog.target.wants
+               rm -rfv %{BUILDROOT}/%{sysconfdir}/systemd/system/*.target.wants
+               for i in basic.target.wants default.target.wants dbus.target.wants getty.target.wants \
+                       multi-user.target.wants syslog.target.wants; do
+                               mkdir -pv %{BUILDROOT}/%{sysconfdir}/systemd/system/${i} || exit 1
+               done
 
                # Remove runlevel targets and graphical.target
-               rm -rfv %{BUILDROOT}/lib/systemd/system/runlevel*
-               rm -rfv %{BUILDROOT}/lib/systemd/system/graphical.target
+               rm -rfv %{BUILDROOT}%{unitdir}/runlevel*
+               rm -rfv %{BUILDROOT}%{unitdir}/graphical.target
 
                # Set default target to multi-user
-               cd %{BUILDROOT}/lib/systemd/system && ln -svf multi-user.target default.target
+               ln -svf multi-user.target %{BUILDROOT}%{unitdir}/default.target
 
                # Replace absolute symlinks by relative ones.
-               cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/bluetooth.target bluetooth.target
-               cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/local-fs.target local-fs.target
-               cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/printer.target printer.target
-               cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/shutdown.target shutdown.target
-               cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/sockets.target sockets.target
-               cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/sound.target sound.target
-               cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/swap.target swap.target
+               cd %{BUILDROOT}%{unitdir}/../user
+               for i in bluetooth local-fs printer remote-fs shutdown sockets sound swap; do
+                       ln -svf ../system/${i}.target ${i}.target || exit 1
+               done
 
                # Remove tmpfile for X11
                rm -rfv %{BUILDROOT}/usr/lib/tmpfiles.d/x11.conf
@@ -107,6 +105,8 @@ end
 
 packages
        package %{name}
+               prerequires += authconfig
+
                requires
                        dbus
                        python-cairo
@@ -116,28 +116,47 @@ packages
                        util-linux>=2.19
                end
 
-               prerequires += authconfig
-               conflicts += upstart
+               provides
+                       /bin/systemd
+                       /sbin/halt
+                       /sbin/init
+                       /sbin/poweroff
+                       /sbin/reboot
+                       /sbin/shutdown
+               end
+
+               conflicts
+                       filesystem < 002
+                       upstart
+               end
 
                script postin
                        # Generate Machine ID.
-                       /bin/systemd-machine-id-setup > /dev/null 2>&1 || :
+                       /usr/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
 
                        # Reexec systemd daemon.
-                       /bin/systemctl daemon-reexec > /dev/null 2>&1 || :
+                       /usr/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
 
                        # Make sure pam_systemd is enabled
-                       if ! /bin/grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
-                               /usr/sbin/authconfig --update --nostart >/dev/null 2>&1 || :
+                       if ! grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
+                               authconfig --update --nostart >/dev/null 2>&1 || :
 
                                # Try harder
-                               /bin/grep -q pam_systemd /etc/pam.d/system-auth-ac || /usr/sbin/authconfig --updateall --nostart >/dev/null 2>&1 || :
+                               grep -q pam_systemd /etc/pam.d/system-auth-ac || authconfig --updateall --nostart >/dev/null 2>&1 || :
                        fi
+
+                       /usr/bin/systemctl enable \
+                               getty@.service \
+                               remote-fs.target \
+                               systemd-readahead-replay.service \
+                               systemd-readahead-collect.service \
+                               >/dev/null 2>&1 || :
                end
 
                script postup
                        # Restart login service after update
-                       /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+                       /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
                end
        end
 
@@ -149,38 +168,39 @@ packages
                        and installation / configuration tool for systemd.
                end
 
-               files
-                       /etc/systemd/system
-                       /etc/tmpfiles.d
-                       /etc/bash_completion.d/systemctl-bash-completion.sh
-                       /lib/systemd/system
+               prerequires
+                       /bin/sh
+                       coreutils
+               end
+
+               provides
                        /bin/systemctl
-                       /bin/systemd-tmpfiles
-                       /usr/share/man/man1/systemctl.*
                end
 
-               script postin
-                       # Enable default services.
-                       systemctl enable \
-                               getty@.service \
-                               remote-fs.target > /dev/null 2>&1 || :
+               conflicts
+                       filesystem < 002
                end
 
-               script preun
-                       # Disable default services.
-                       systemctl disable \
-                               getty@.service \
-                               remote-fs.target > /dev/null 2>&1 || :
+               files
+                       %{sysconfdir}/etc/systemd/system
+                       %{sysconfdir}/tmpfiles.d
+                       %{sysconfdir}/bash_completion.d/systemctl-bash-completion.sh
+                       %{unitdir}
+                       %{bindir}/systemctl
+                       %{bindir}/systemd-tmpfiles
+                       %{mandir}/man1/systemctl.*
                end
 
                script postup
                        # Reload service files
-                       systemctl daemon-reload > /dev/null 2>&1 || :
+                       /usr/bin/systemctl daemon-reload > /dev/null 2>&1 || :
                end
        end
 
        package %{name}-devel
                template DEVEL
+
+               files += %{prefix}/lib/pakfire/macros/
        end
 
        package %{name}-debuginfo
index 9287bf279f373ee9769ef507727010f6a8633eb9..b582477684a4f354abaaaea1eec9af0e1cab78e2 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = tar
 version    = 1.26
-release    = 2
+release    = 4
 
 groups     = System/Packaging
 url        = http://www.gnu.org/software/tar/
@@ -32,13 +32,13 @@ build
                autoconf
                automake
                gettext
+               gettext-devel
                libacl-devel
                libattr-devel
                libselinux-devel
        end
 
        configure_options += \
-               --bindir=/bin \
                --libexecdir=/usr/sbin \
                --enable-selinux \
                FORCE_UNSAFE_CONFIGURE=1
diff --git a/tcl/patches/tcl-8.5.9-hidden.patch b/tcl/patches/tcl-8.5.9-hidden.patch
new file mode 100644 (file)
index 0000000..451cda2
--- /dev/null
@@ -0,0 +1,33 @@
+diff -up tcl8.5.6/generic/tclPort.h.old tcl8.5.6/generic/tclPort.h
+--- tcl8.5.6/generic/tclPort.h.old     2009-02-09 16:40:08.000000000 +0100
++++ tcl8.5.6/generic/tclPort.h 2009-02-09 16:40:26.000000000 +0100
+@@ -24,7 +24,7 @@
+ #endif
+ #include "tcl.h"
+ #if !defined(_WIN32)
+-#   include "tclUnixPort.h"
++#   include "../unix/tclUnixPort.h"
+ #endif
+ #if defined(__CYGWIN__)
+diff -up tcl8.5.6/generic/tclInt.h.bbb tcl8.5.6/generic/tclInt.h
+--- tcl8.5.6/generic/tclInt.h.bbb      2008-11-14 01:22:39.000000000 +0100
++++ tcl8.5.6/generic/tclInt.h  2009-02-11 13:05:13.000000000 +0100
+@@ -2773,7 +2773,7 @@ MODULE_SCOPE void        TclClockInit(Tcl_Inter
+ MODULE_SCOPE int      TclClockOldscanObjCmd(
+                           ClientData clientData, Tcl_Interp *interp,
+                           int objc, Tcl_Obj *const objv[]);
+-MODULE_SCOPE int      Tcl_CloseObjCmd(ClientData clientData,
++extern int    Tcl_CloseObjCmd(ClientData clientData,
+                           Tcl_Interp *interp, int objc,
+                           Tcl_Obj *const objv[]);
+ MODULE_SCOPE int      Tcl_ConcatObjCmd(ClientData clientData,
+@@ -2934,7 +2934,7 @@ MODULE_SCOPE int Tcl_RegsubObjCmd(Client
+ MODULE_SCOPE int      Tcl_RenameObjCmd(ClientData clientData,
+                           Tcl_Interp *interp, int objc,
+                           Tcl_Obj *const objv[]);
+-MODULE_SCOPE int      Tcl_ReturnObjCmd(ClientData clientData,
++extern int    Tcl_ReturnObjCmd(ClientData clientData,
+                           Tcl_Interp *interp, int objc,
+                           Tcl_Obj *const objv[]);
+ MODULE_SCOPE int      Tcl_ScanObjCmd(ClientData clientData,
index 0ce3438a8ace48441f60802f4828b1296afe20ce..11a9287727f7eb06fcb1663092075e9d0861993f 100644 (file)
@@ -4,8 +4,10 @@
 ###############################################################################
 
 name       = tcl
-version    = 8.5.10
-release    = 2
+major_ver  = 8.5
+version    = %{major_ver}.11
+release    = 1
+thisapp    = tcl%{version}
 
 groups     = Development/Languages
 url        = http://tcl.sourceforge.net/
@@ -18,47 +20,78 @@ description
        applications, protocols, devices, and frameworks.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
+source_dl  = http://downloads.sourceforge.net/project/%{name}/Tcl/%{version}/
 sources    = tcl%{version}-src.tar.gz
 
 build
        requires
-               perl>=5.14.2-9.ip3
                autoconf
                automake
+               perl >= 5.14.2-9.ip3
        end
 
-       DIR_APP = %{DIR_SRC}/tcl%{version}/unix
        CFLAGS += -DTCL_NO_STACK_CHECK=1
+       make_extra = TCL_LIBRARY=%{datadir}/%{name}%{major_ver}
 
-       configure_options +=\
+       configure_options += \
+               --disable-threads \
+               --enable-symbols \
                --enable-shared
 
-       prepare
-               cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/${source}/%{sources}
-               cd %{DIR_APP} && cd ..
+       prepare_cmds
+               cd unix && autoconf
+       end
 
-               %{MACRO_PATCHES}
+       build
+               cd unix
+               ./configure \
+                       %{configure_options}
 
-               cd %{DIR_APP} && autoconf
+               make %{PARALLELISMFLAGS} %{make_extra}
        end
 
-       test
-               # Skip remote tests http, httpold and socket.
-               # Also skip unixInit-1.1. This test fails because "kill -PIPE"
-               # will be executed and we don't support that.
-               make test TESTFLAGS="-skip 'http* socket* unixInit-1.1'"
+       install
+               cd unix
+               make install %{make_extra} INSTALL_ROOT=%{BUILDROOT}
+               cd ..
+
+               ln -svf tclsh%{major_ver} %{BUILDROOT}/usr/bin/tclsh
+
+               # for linking with -lib%{name}
+               ln -svf lib%{name}%{major_ver}.so %{BUILDROOT}%{libdir}/lib%{name}.so
+
+               # paths don't look at /usr/lib for efficiency, so we symlink into tcl8.5 for now
+               mkdir -pv %{BUILDROOT}%{libdir}/%{name}%{major_ver}
+               ln -svf ../%{name}Config.sh %{BUILDROOT}%{libdir}/%{name}%{major_ver}/%{name}Config.sh
+
+               mkdir -pv %{BUILDROOT}%{includedir}/%{name}-private/{generic,unix}
+               find generic unix -name "*.h" -exec cp -p '{}' %{BUILDROOT}%{includedir}/%{name}-private/'{}' ';'
+               (
+                       cd %{BUILDROOT}%{includedir}
+                       for i in *.h; do
+                               [ -f %{BUILDROOT}%{includedir}/%{name}-private/generic/${i} ] && ln -sf ../../${i} \
+                                       %{BUILDROOT}%{includedir}/%{name}-private/generic;
+                       done
+               )
+
+               # remove buildroot traces
+               sed -i -e "s|$PWD/unix|%{libdir}|; s|$PWD|%{includedir}/%{name}-private|" %{BUILDROOT}%{libdir}/%{name}Config.sh
+               rm -rf %{BUILDROOT}%{datadir}/%{name}%{major_ver}/ldAix
        end
 
-       install_cmds
-               cd %{DIR_APP} && make install-private-headers DESTDIR=%{BUILDROOT}
-               ln -sf tclsh8.5 %{BUILDROOT}/usr/bin/tclsh
+       # Keep libtclstub*.a.
+       keep_libraries
+               %{libdir}/lib%{name}stub%{major_ver}.a
        end
 end
 
 packages
        package %{name}
 
+       package %{name}-devel
+               template DEVEL
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
index d491340aab2491b2b178faa1ab9bbc606461eaf2..2a81d25af078324133817cf2838358e9e9d01112 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = tcpdump
 version    = 4.1.1
-release    = 1
+release    = 2
 
 groups     = Networking/Sniffer
 url        = http://www.tcpdump.org/
@@ -25,6 +25,7 @@ CFLAGS    += -fno-strict-aliasing
 
 build
        requires
+               chrpath
                libpcap-devel
                openssl-devel
        end
@@ -32,11 +33,18 @@ build
        configure_options += \
                --with-crypto \
                --without-smi
+
+       install_cmds
+               # Remove duplicated binary.
+               rm -vf %{BUILDROOT}%{sbindir}/tcpdump.%{version}
+
+               # Remove RPATH.
+               chrpath --delete %{BUILDROOT}%{sbindir}/tcpdump
+       end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 977b75c4365d9dcba9f513701ca3fc1fcc5f365c..cede6b371bb0594f63425765100b6a8195fc9a88 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = udev
-version    = 180
-release    = 1
+version    = 182
+release    = 3
 
 groups     = System/Base
 url        = ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
@@ -21,11 +21,12 @@ source_dl  = ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
 
 build
        requires
+               filesystem >= 002
                glib2-devel
                gobject-introspection-devel
                gperf
                kbd
-               kmod-devel >= 3
+               kmod-devel >= 5
                libacl-devel
                libblkid-devel >= 2.20
                libselinux-devel
@@ -34,34 +35,55 @@ build
                libusb-compat-devel
                libxslt
                pciutils
-               pkg-config
+               shadow-utils
+               systemd-units
                usbutils
        end
 
        configure_options += \
-               --exec-prefix="" \
-               --sbindir=/sbin \
-               --sysconfdir=/etc \
-               --libexecdir=/%{lib} \
-               --with-rootprefix="" \
-               --with-rootlibdir=/%{lib} \
+               --libexecdir=%{prefix}/lib \
                --with-selinux \
-               --with-systemdsystemunitdir=/lib/systemd/system
-
-       install_cmds
-               rm -vf %{BUILDROOT}/%{lib}/lib{udev,gudev-1.0}.so
-               ln -svf ../../%{lib}/libudev.so.0 %{BUILDROOT}%{libdir}/libudev.so
-               ln -svf ../../%{lib}/libgudev-1.0.so.0 %{BUILDROOT}%{libdir}/libgudev-1.0.so
-       end
+               --with-systemdsystemunitdir=%{unitdir}
 end
 
 packages
        package %{name}
                groups += Base
+
+               requires
+                       hwdata
+                       systemd-units
+                       util-linux
+               end
+
+               conflicts
+                       filesystem < 002
+               end
+
+               script prein
+                       getent group cdrom >/dev/null || groupadd -g 11 cdrom || :
+                       getent group tape >/dev/null || groupadd -g 33 tape || :
+                       getent group dialout >/dev/null || groupadd -g 18 dialout || :
+                       getent group floppy >/dev/null || groupadd -g 19 floppy || :
+                       systemctl stop udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || :
+               end
+
+               script postin
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+                       systemctl start udev.service >/dev/null 2>&1 || :
+               end
+
+               script postun
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+               end
        end
 
        package lib%{name}
                template LIBS
+
+               conflicts
+                       filesystem < 002
+               end
        end
 
        package lib%{name}-devel
index fd1a7899d1b8e10bf569d30c2f8809c1cc3f3ec1..f583b3fd729ddc46715f74cf8bf20215b7777a70 100644 (file)
@@ -3,9 +3,10 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = ulogd
+name       = ulogd2
 version    = 2.0.0beta3
-release    = 2
+release    = 3
+thisapp    = ulogd-%{version}
 
 groups     = Networking/Statistics
 url        = http://netfilter.org/projects/ulogd/index.html
@@ -29,7 +30,6 @@ build
                libnetfilter_conntrack-devel
                libnetfilter_log-devel
                libpcap-devel
-               pkg-config
                sqlite-devel
        end
 
@@ -47,7 +47,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 67949dd25affce370772f10414ce58ac596347d7..57e2155063bd1b7b41363210fb4fa7db0e6569fb 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = upower
 version    = 0.9.2
-release    = 1
+release    = 2
 
 groups     = System/Libraries
 url        = http://upower.freedesktop.org/
@@ -25,7 +25,8 @@ build
                dbus-devel
                dbus-glib-devel
                glib2-devel
-               gettext intltool
+               gettext
+               intltool
                perl-XML-Parser
                pkg-config
                polkit-devel
@@ -39,7 +40,10 @@ end
 
 packages
        package %{name}
-               requires = udev util-linux
+               requires
+                       udev
+                       util-linux
+               end
        end
 
        package %{name}-libs
index a8e8eb917f8fea716388c5c33e88e318e6099ea7..be7d74132125c15dfc672236a12c33c2d438cf58 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = ustr
 version    = 1.0.4
-release    = 1
+release    = 2
 
 groups     = System/Libraries
 url        = http://www.and.org/ustr/
@@ -28,27 +28,23 @@ build
                make check
        end
 
+       make_install_targets += libdir=%{libdir}
+
        install_cmds
                rm -rf %{BUILDROOT}/usr/share
-               rm -rf %{BUILDROOT}/usr/lib/pkgconfig/*debug*
+               rm -rf %{BUILDROOT}/usr/lib*/pkgconfig/*debug*
                rm -rf %{BUILDROOT}/lib/*debug*
-               rm -rf %{BUILDROOT}/usr/lib/*debug*
+               rm -rf %{BUILDROOT}/usr/lib*/*debug*
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
 
-               files
-                       /usr/bin/
-                       /usr/include/
-                       /usr/lib/pkgconfig/
-                       */lib/*.so
-               end
+               files += %{bindir}
        end
 
        package %{name}-debuginfo
index 707ead34476530d766855f4d72e5cd9b6243466a..e1c63556cbd8b9354e809a049c5318e8858121f9 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = util-linux
-major_ver  = 2.20
+major_ver  = 2.21
 version    = %{major_ver}
 release    = 2
 
@@ -40,8 +40,6 @@ build
                -D_FILE_OFFSET_BITS=64
 
        configure_options += \
-               --bindir=/bin \
-               --sbindir=/sbin \
                --disable-wall \
                --enable-kill \
                --enable-login-utils \
@@ -64,29 +62,29 @@ build
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/sbin \
+               mkdir -pv \
                        %{BUILDROOT}/var/lib/hwclock \
                        %{BUILDROOT}/usr/share/man/man8 \
                        %{BUILDROOT}/var/log
 
-               install -m 755 %{DIR_APP}/nologin %{BUILDROOT}/sbin
+               install -m 755 %{DIR_APP}/nologin %{BUILDROOT}%{sbindir}
                install -m 644 %{DIR_SOURCE}/nologin.8 %{BUILDROOT}/usr/share/man/man8/
 
                touch %{BUILDROOT}/var/log/lastlog
 
                # Remove deprecated commands
-               rm -fv %{BUILDROOT}/{sbin,usr/share/man/man*}/{fsck,mkfs}.{bfs,minix}* \
-                       %{BUILDROOT}/usr/{,s}bin/{chkdupexe,newgrp,vi{gr,pw}} \
-                       %{BUILDROOT}/sbin/{sln,shutdown} %{BUILDROOT}/bin/{line,pg}
+               rm -fv %{BUILDROOT}/{%{sbindir},usr/share/man/man*}/{fsck,mkfs}.{bfs,minix}* \
+                       %{BUILDROOT}{%{bindir},%{sbindir}}/{chkdupexe,newgrp,vi{gr,pw}} \
+                       %{BUILDROOT}%{sbindir}/{sln,shutdown} %{BUILDROOT}%{bindir}/{line,pg}
                rm -fv %{BUILDROOT}/usr/share/man/man1/{chkdupexe,line,pg,newgrp}.* \
                        %{BUILDROOT}/usr/share/man/man8/{vipw,vigr}.*
                rm -fv %{BUILDROOT}/usr/share/getopt/*.tcsh
 
                # Set capabilities
-               chmod -v -s %{BUILDROOT}/bin/mount
-               setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}/bin/mount
-               chmod -v -s %{BUILDROOT}/bin/umount
-               setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}/bin/umount
+               chmod -v -s %{BUILDROOT}%{bindir}/mount
+               setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/mount
+               chmod -v -s %{BUILDROOT}%{bindir}/umount
+               setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/umount
        end
 end
 
@@ -98,12 +96,26 @@ packages
                        /etc/pam.d/system-auth
                end
 
+               provides
+                       /bin/dmesg
+                       /bin/kill
+                       /bin/more
+                       /bin/mount
+                       /bin/umount
+                       /sbin/blkid
+                       /sbin/blockdev
+                       /sbin/findfs
+                       /sbin/fsck
+                       /sbin/nologin
+               end
+
                obsoletes = util-linux-ng
 
                conflicts
-                       setup<3.0-2
+                       filesystem < 002
+                       setup < 3.0-2
                        util-linux-ng
-                       sysvinit<=2.86-2
+                       sysvinit <= 2.86-2
                end
 
                preprequires += coreutils
@@ -125,8 +137,10 @@ packages
                        part of util-linux.
                end
 
+               conflicts = filesystem < 002
+
                files
-                       /%{lib}/libblkid.*
+                       %{libdir}/libblkid.*
                end
        end
 
@@ -136,10 +150,10 @@ packages
                description = %{summary}
 
                files
-                       /usr/include/blkid/
-                       %{libdir}/libblkid.*
+                       %{includedir}/blkid/
+                       %{libdir}/libblkid.so
                        %{libdir}/pkgconfig/blkid.pc
-                       /usr/share/man/man3/*blkid*
+                       %{mandir}/man3/*blkid*
                end
        end
 
@@ -151,8 +165,10 @@ packages
                        part of util-linux.
                end
 
+               conflicts = filesystem < 002
+
                files
-                       /%{lib}/libuuid.*
+                       %{libdir}/libuuid.*
                end
        end
 
@@ -162,10 +178,10 @@ packages
                description = %{summary}
 
                files
-                       /usr/include/uuid/
-                       %{libdir}/libuuid.*
+                       %{includedir}/uuid/
+                       %{libdir}/libuuid.so
                        %{libdir}/pkgconfig/uuid.pc
-                       /usr/share/man/man3/*uuid*
+                       %{mandir}/man3/*uuid*
                end
        end
 
@@ -177,8 +193,10 @@ packages
                        part of util-linux.
                end
 
+               conflicts = filesystem < 002
+
                files
-                       /%{lib}/libmount.*
+                       %{libdir}/libmount.*
                end
        end
 
@@ -188,10 +206,10 @@ packages
                description = %{summary}
 
                files
-                       /usr/include/mount/
-                       %{libdir}/libmount.*
+                       %{includedir}/mount/
+                       %{libdir}/libmount.so
                        %{libdir}/pkgconfig/mount.pc
-                       /usr/share/man/man3/*mount*
+                       %{mandir}/man3/*mount*
                end
        end
 
index ea4f1a0d2c772422caf640ca98cd9cebbf4ad7e3..1ec862cd65507a34b0c080412fbe0a10b74bc25e 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = wavemon
-version    = 0.7.2
+version    = 0.7.4
 release    = 1
 
 groups     = Applications/Internet
index 44a5f73d40cbc779516769d37c07e1bfe12a3f5d..24387cc66326f654266c61a6fc44bf31d446cb1c 100644 (file)
@@ -3,9 +3,10 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = wireless_tools
+name       = wireless-tools
 version    = 29
-release    = 1
+release    = 2
+thisapp    = wireless_tools.%{version}
 
 groups     = Networking/Wireless
 url        = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
@@ -19,8 +20,6 @@ description
        specific stats for wireless networking equipment.
 end
 
-thisapp    = %{name}.%{version}
-
 source_dl  = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
 
 build
@@ -32,13 +31,13 @@ build
        make_install_targets += \
                PREFIX=%{BUILDROOT}/usr \
                INSTALL_DIR=%{BUILDROOT}/sbin \
-               INSTALL_LIB=%{BUILDROOT}/lib \
-               INSTALL_MAN=%{BUILDROOT}/usr/share/man
+               INSTALL_LIB=%{BUILDROOT}/%{lib} \
+               INSTALL_MAN=%{BUILDROOT}%{mandir}
 
        install_cmds
-               rm -vf %{BUILDROOT}/lib/libiw.{a,so}
-               mkdir -pv %{BUILDROOT}/usr/lib
-               ln -svf ../../lib/libiw.so.%{version} %{BUILDROOT}/usr/lib/libiw.so
+               rm -vf %{BUILDROOT}/%{lib}/libiw.{a,so}
+               mkdir -pv %{BUILDROOT}%{libdir}
+               ln -svf ../../%{lib}/libiw.so.%{version} %{BUILDROOT}%{libdir}/libiw.so
        end
 end
 
index 5eb1485490c040f18d01f420e4369bc01543c281..67bb57742c2bfcfee3e75fbfcd16acdde71d18f1 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = xcb-proto
 version    = 1.6
-release    = 1
+release    = 2
 arch       = noarch
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
@@ -15,10 +15,9 @@ license    = MIT
 summary    = XCB protocol descriptions.
 
 description
-       XCB is a project to enable efficient language bindings to the X11 \
-       protocol. This package contains the protocol descriptions themselves. \
-       Language bindings use these protocol descriptions to generate code for \
-       marshalling the protocol.
+       XCB is a project to enable efficient language bindings to the X11
+       protocol. This package contains the protocol descriptions themselves.
+       Language bindings use these protocol descriptions to generate code for          marshalling the protocol.
 end
 
 source_dl  = http://xcb.freedesktop.org/dist/
@@ -29,6 +28,11 @@ build
                pkg-config
                python-devel
        end
+
+       # Place the .pc files in /usr/share so they
+       # can be found on all architectures where libdir != /usr/lib.
+       configure_options += \
+               --libdir=%{datadir}
 end
 
 packages
diff --git a/xen/patches/01-xen-initscript.patch b/xen/patches/01-xen-initscript.patch
new file mode 100644 (file)
index 0000000..e01384e
--- /dev/null
@@ -0,0 +1,138 @@
+--- xen-4.1.0/tools/misc/xend.orig     2010-02-02 20:43:01.000000000 +0000
++++ xen-4.1.0/tools/misc/xend  2010-02-02 21:16:13.000000000 +0000
+@@ -8,103 +8,16 @@
+ """Xen management daemon.
+    Provides console server and HTTP management api.
+-   Run:
+-   xend start
+-
+-   Restart:
+-   xend restart
+-
+-   The daemon is stopped with:
+-   xend stop
+-
+    The daemon should reconnect to device control interfaces
+    and recover its state when restarted.
+-   On Solaris, the daemons are SMF managed, and you should not attempt
+-   to start xend by hand.
+ """
+-import fcntl
+-import glob
+-import os
+-import os.path
+ import sys
+-import socket
+-import signal
+-import time
+-import commands
+-
+ from xen.xend.server import SrvDaemon
+-class CheckError(ValueError):
+-    pass
+-
+-def hline():
+-    print >>sys.stderr, "*" * 70
+-
+-def msg(message):
+-    print >>sys.stderr, "*" * 3, message
+-
+-def check_logging():
+-    """Check python logging is installed and raise an error if not.
+-    Logging is standard from Python 2.3 on.
+-    """
+-    try:
+-        import logging
+-    except ImportError:
+-        hline()
+-        msg("Python logging is not installed.")
+-        msg("Use 'make install-logging' at the xen root to install.")
+-        msg("")
+-        msg("Alternatively download and install from")
+-        msg("http://www.red-dove.com/python_logging.html")
+-        hline()
+-        raise CheckError("logging is not installed")
+-
+-def check_user():
+-    """Check that the effective user id is 0 (root).
+-    """
+-    if os.geteuid() != 0:
+-        hline()
+-        msg("Xend must be run as root.")
+-        hline()
+-        raise CheckError("invalid user")
+-
+-def start_daemon(daemon, *args):
+-    if os.fork() == 0:
+-        os.execvp(daemon, (daemon,) + args)
+-
+-def start_blktapctrl():
+-    start_daemon("blktapctrl", "")
+-
+ def main():
+-    try:
+-        check_logging()
+-        check_user()
+-    except CheckError:
+-        sys.exit(1)
+-    
+     daemon = SrvDaemon.instance()
+-    if not sys.argv[1:]:
+-        print 'usage: %s {start|stop|reload|restart}' % sys.argv[0]
+-    elif sys.argv[1] == 'start':
+-        if os.uname()[0] != "SunOS":
+-            start_blktapctrl()
+-        return daemon.start()
+-    elif sys.argv[1] == 'trace_start':
+-        start_blktapctrl()
+-        return daemon.start(trace=1)
+-    elif sys.argv[1] == 'stop':
+-        return daemon.stop()
+-    elif sys.argv[1] == 'reload':
+-        return daemon.reloadConfig()
+-    elif sys.argv[1] == 'restart':
+-        start_blktapctrl()
+-        return daemon.stop() or daemon.start()
+-    elif sys.argv[1] == 'status':
+-        return daemon.status()
+-    else:
+-        print 'not an option:', sys.argv[1]
+-    return 1
++    return daemon.start()
+ if __name__ == '__main__':
+     sys.exit(main())
+diff -up xen-3.4.0/tools/python/xen/xend/osdep.py.fix xen-3.4.0/tools/python/xen/xend/osdep.py
+--- xen-3.4.0/tools/python/xen/xend/osdep.py.fix       2009-05-18 13:05:38.000000000 +0200
++++ xen-3.4.0/tools/python/xen/xend/osdep.py   2009-05-20 15:39:18.000000000 +0200
+@@ -27,7 +27,7 @@ _scripts_dir = {
+ _xend_autorestart = {
+     "NetBSD": True,
+-    "Linux": True,
++    "Linux": False,
+     "SunOS": False,
+ }
+diff -up xen-3.4.0/tools/python/xen/xend/server/SrvDaemon.py.fix xen-3.4.0/tools/python/xen/xend/server/SrvDaemon.py
+--- xen-3.4.0/tools/python/xen/xend/server/SrvDaemon.py.fix    2009-05-18 13:05:38.000000000 +0200
++++ xen-3.4.0/tools/python/xen/xend/server/SrvDaemon.py        2009-05-20 15:39:18.000000000 +0200
+@@ -110,7 +110,14 @@ class Daemon:
+         # Fork, this allows the group leader to exit,
+         # which means the child can never again regain control of the
+         # terminal
+-        if os.fork():
++        child = os.fork()
++        if child:
++            if not osdep.xend_autorestart:
++                pidfile = open(XEND_PID_FILE, 'w')
++                try:
++                    pidfile.write(str(child))
++                finally:
++                    pidfile.close()
+             os._exit(0)
+         # Detach from standard file descriptors, and redirect them to
diff --git a/xen/patches/04-xen-dumpdir.patch b/xen/patches/04-xen-dumpdir.patch
new file mode 100644 (file)
index 0000000..c0e7186
--- /dev/null
@@ -0,0 +1,32 @@
+diff -up xen-3.4.0/tools/Makefile.dump xen-3.4.0/tools/Makefile
+--- xen-3.4.0/tools/Makefile.dump      2009-05-18 13:05:38.000000000 +0200
++++ xen-3.4.0/tools/Makefile   2009-05-20 17:03:26.000000000 +0200
+@@ -46,7 +46,7 @@ all: subdirs-all
+ .PHONY: install
+ install: subdirs-install
+-      $(INSTALL_DIR) $(DESTDIR)/var/xen/dump
++      $(INSTALL_DIR) $(DESTDIR)/var/lib/xen/dump
+       $(INSTALL_DIR) $(DESTDIR)/var/log/xen
+       $(INSTALL_DIR) $(DESTDIR)/var/lib/xen
+       $(INSTALL_DIR) $(DESTDIR)/var/lock/subsys
+--- xen-4.0.0/tools/python/xen/xend/XendDomainInfo.py.orig     2010-02-02 20:43:01.000000000 +0000
++++ xen-4.0.0/tools/python/xen/xend/XendDomainInfo.py  2010-02-02 21:36:57.000000000 +0000
+@@ -2287,7 +2287,7 @@
+             # To prohibit directory traversal
+             based_name = os.path.basename(self.info['name_label'])
+             
+-            coredir = "/var/xen/dump/%s" % (based_name)
++            coredir = "/var/lib/xen/dump/%s" % (based_name)
+             if not os.path.exists(coredir):
+                 try:
+                     mkdir.parents(coredir, stat.S_IRWXU)
+@@ -2296,7 +2296,7 @@
+             if not os.path.isdir(coredir):
+                 # Use former directory to dump core
+-                coredir = '/var/xen/dump'
++                coredir = '/var/lib/xen/dump'
+             this_time = time.strftime("%Y-%m%d-%H%M.%S", time.localtime())
+             corefile = "%s/%s-%s.%s.core" % (coredir, this_time,
diff --git a/xen/patches/05-xen-net-disable-iptables-on-bridge.patch b/xen/patches/05-xen-net-disable-iptables-on-bridge.patch
new file mode 100644 (file)
index 0000000..e7a8930
--- /dev/null
@@ -0,0 +1,29 @@
+--- xen-4.1.0-orig/tools/hotplug/Linux/vif-bridge      2008-08-22 10:49:07.000000000 +0100
++++ xen-4.1.0-new/tools/hotplug/Linux/vif-bridge       2008-08-29 11:29:38.000000000 +0100
+@@ -96,10 +96,6 @@ case "$command" in
+         ;;
+ esac
+-if [ "$type_if" = vif ]; then
+-    handle_iptable
+-fi
+-
+ log debug "Successful vif-bridge $command for $dev, bridge $bridge."
+ if [ "$type_if" = vif -a "$command" = "online" ]
+ then
+--- xen-3.3.0-orig/tools/hotplug/Linux/xen-network-common.sh   2008-08-22 10:49:07.000000000 +0100
++++ xen-3.3.0-new/tools/hotplug/Linux/xen-network-common.sh    2008-08-29 11:29:38.000000000 +0100
+@@ -99,6 +99,13 @@ create_bridge () {
+       brctl addbr ${bridge}
+       brctl stp ${bridge} off
+       brctl setfd ${bridge} 0
++      # Setting these to zero stops guest<->LAN traffic
++      # traversing the bridge from hitting the *tables
++      # rulesets. guest<->host traffic still gets processed
++      # by the host's iptables rules so this isn't a hole
++      sysctl -q -w "net.bridge.bridge-nf-call-arptables=0"
++      sysctl -q -w "net.bridge.bridge-nf-call-ip6tables=0"
++      sysctl -q -w "net.bridge.bridge-nf-call-iptables=0"
+     fi
+ }
diff --git a/xen/patches/10-xen-no-werror.patch b/xen/patches/10-xen-no-werror.patch
new file mode 100644 (file)
index 0000000..ccf281e
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up xen-3.4.0/tools/libxc/Makefile.werror xen-3.4.0/tools/libxc/Makefile
+--- xen-3.4.0/tools/libxc/Makefile.werror      2009-08-05 13:40:32.000000000 +0200
++++ xen-3.4.0/tools/libxc/Makefile     2009-08-05 13:40:52.000000000 +0200
+@@ -52,7 +52,7 @@ GUEST_SRCS-$(CONFIG_IA64)    += xc_dom_i
+ -include $(XEN_TARGET_ARCH)/Makefile
+-CFLAGS   += -Werror -Wmissing-prototypes
++CFLAGS   += -Wmissing-prototypes
+ CFLAGS   += $(INCLUDES) -I. -I../xenstore -I../include
+ # Needed for posix_fadvise64() in xc_linux.c
diff --git a/xen/patches/18-localgcc45fix.patch b/xen/patches/18-localgcc45fix.patch
new file mode 100644 (file)
index 0000000..153fd65
--- /dev/null
@@ -0,0 +1,13 @@
+xen-4.0.1/extras/mini-os/lib/math.c generates the warning
+'tmp.ul[1]' may be used uninitialized in this function
+under gcc 4.5 which I think is incorrect
+--- xen-4.0.1/extras/mini-os/minios.mk.orig    2010-02-02 20:43:00.000000000 +0000
++++ xen-4.0.1/extras/mini-os/minios.mk 2010-07-24 22:56:27.000000000 +0100
+@@ -10,6 +10,7 @@
+ DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+ DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
+ DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
++DEF_CFLAGS += -Wno-uninitialized
+ DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
+ DEF_ASFLAGS += -D__ASSEMBLY__
diff --git a/xen/patches/20-localgcc451fix.patch b/xen/patches/20-localgcc451fix.patch
new file mode 100644 (file)
index 0000000..9b5bc16
--- /dev/null
@@ -0,0 +1,26 @@
+--- xen-4.0.1/tools/blktap/lib/blktaplib.h.orig        2010-08-25 11:22:07.000000000 +0100
++++ xen-4.0.1/tools/blktap/lib/blktaplib.h     2010-08-29 20:57:11.000000000 +0100
+@@ -195,8 +195,10 @@
+       pid_t     pid;
+ } msg_pid_t;
++#ifndef READ
+ #define READ 0
+ #define WRITE 1
++#endif
+
+ /*Control Messages between manager and tapdev*/
+ #define CTLMSG_PARAMS      1
+--- xen-4.0.1/tools/blktap2/include/blktaplib.h.orig   2010-08-25 11:22:07.000000000 +0100
++++ xen-4.0.1/tools/blktap2/include/blktaplib.h        2010-08-29 21:50:50.000000000 +0100
+@@ -197,8 +197,10 @@
+       int       uuid_len;
+ } msg_lock_t;
++#ifndef READ
+ #define READ 0
+ #define WRITE 1
++#endif
+ /*Control Messages between manager and tapdev*/
+ #define CTLMSG_PARAMS          1
diff --git a/xen/patches/23-grub-ext4-support.patch.off b/xen/patches/23-grub-ext4-support.patch.off
new file mode 100644 (file)
index 0000000..c71cfe1
--- /dev/null
@@ -0,0 +1,474 @@
+Index: grub-0.97/stage2/fsys_ext2fs.c
+===================================================================
+--- grub-0.97.orig/stage2/fsys_ext2fs.c
++++ grub-0.97/stage2/fsys_ext2fs.c
+@@ -41,6 +41,7 @@ typedef __signed__ short __s16;
+ typedef unsigned short __u16;
+ typedef __signed__ int __s32;
+ typedef unsigned int __u32;
++typedef unsigned long long __u64;
+ /*
+  * Constants relative to the data blocks, from ext2_fs.h
+@@ -51,7 +52,7 @@ typedef unsigned int __u32;
+ #define EXT2_TIND_BLOCK                 (EXT2_DIND_BLOCK + 1)
+ #define EXT2_N_BLOCKS                   (EXT2_TIND_BLOCK + 1)
+-/* include/linux/ext2_fs.h */
++/* lib/ext2fs/ext2_fs.h from e2fsprogs */
+ struct ext2_super_block
+   {
+     __u32 s_inodes_count;     /* Inodes count */
+@@ -61,9 +62,9 @@ struct ext2_super_block
+     __u32 s_free_inodes_count;        /* Free inodes count */
+     __u32 s_first_data_block; /* First Data Block */
+     __u32 s_log_block_size;   /* Block size */
+-    __s32 s_log_frag_size;    /* Fragment size */
++    __s32 s_obso_log_frag_size;       /* Obsoleted Fragment size */
+     __u32 s_blocks_per_group; /* # Blocks per group */
+-    __u32 s_frags_per_group;  /* # Fragments per group */
++    __u32 s_obso_frags_per_group;     /* Obsoleted Fragments per group */
+     __u32 s_inodes_per_group; /* # Inodes per group */
+     __u32 s_mtime;            /* Mount time */
+     __u32 s_wtime;            /* Write time */
+@@ -72,7 +73,7 @@ struct ext2_super_block
+     __u16 s_magic;            /* Magic signature */
+     __u16 s_state;            /* File system state */
+     __u16 s_errors;           /* Behaviour when detecting errors */
+-    __u16 s_pad;
++    __u16 s_minor_rev_level;  /* minor revision level */
+     __u32 s_lastcheck;                /* time of last check */
+     __u32 s_checkinterval;    /* max. time between checks */
+     __u32 s_creator_os;               /* OS */
+@@ -119,15 +120,29 @@ struct ext2_super_block
+     __u32 s_hash_seed[4];     /* HTREE hash seed */
+     __u8  s_def_hash_version; /* Default hash version to use */
+     __u8  s_jnl_backup_type;  /* Default type of journal backup */
+-    __u16 s_reserved_word_pad;
++    __u16 s_desc_size;                /* size of group descriptor */
+     __u32 s_default_mount_opts;
+     __u32 s_first_meta_bg;    /* First metablock group */
+     __u32 s_mkfs_time;                /* When the filesystem was created */
+     __u32 s_jnl_blocks[17];   /* Backup of the journal inode */
+-    __u32 s_reserved[172];    /* Padding to the end of the block */
+-  };
++    /* 64bit desc support valid if EXT4_FEATURE_INCOMPAT_64BIT */
++    __u32 s_blocks_count_hi;  /* Blocks count */
++    __u32 s_r_blocks_count_hi;        /* Reserved blocks count */
++    __u32 s_free_blocks_count_hi; /* Free blocks count */
++    __u16 s_min_extra_isize;  /* All inodes have at least # bytes */
++    __u16 s_max_extra_isize;  /* New inodes should reverve # bytes */
++    __u32 s_flags;            /* Miscellaneous flags */
++    __u16 s_raid_stride;      /* Raid stride */
++    __u16 s_mmp_interval;     /* # seconds to wait MMP checking */
++    __u64 s_mmp_block;                /* Block for multi-mount protection */
++    __u32 s_raid_stripe_width;        /* Blocks on all data disks (N*stride)*/
++    __u8  s_log_groups_per_flex;/* FLEX_BG group size*/
++    __u8  s_reserved_char_pad;
++    __u16 s_reserved_pad;
++    __u32 s_reserved[162];    /* Padding to the end of the block */
++};
+-struct ext2_group_desc
++struct ext4_group_desc
+   {
+     __u32 bg_block_bitmap;    /* Blocks bitmap block */
+     __u32 bg_inode_bitmap;    /* Inodes bitmap block */
+@@ -135,8 +150,18 @@ struct ext2_group_desc
+     __u16 bg_free_blocks_count;       /* Free blocks count */
+     __u16 bg_free_inodes_count;       /* Free inodes count */
+     __u16 bg_used_dirs_count; /* Directories count */
+-    __u16 bg_pad;
+-    __u32 bg_reserved[3];
++    __u16 bg_flags;           /* EXT4_BG_flags (INODE_UNINIT, etc) */
++    __u32 bg_reserved[2];             /* Likely block/inode bitmap checksum */
++    __u16 bg_itable_unused;   /* Unused inodes count */
++    __u16 bg_checksum;                /* crc16(sb_uuid+group+desc) */
++    __u32 bg_block_bitmap_hi; /* Blocks bitmap block MSB */
++    __u32 bg_inode_bitmap_hi; /* Inodes bitmap block MSB */
++    __u32 bg_inode_table_hi;  /* Inodes table block MSB */
++    __u16 bg_free_blocks_count_hi;/* Free blocks count MSB */
++    __u16 bg_free_inodes_count_hi;/* Free inodes count MSB */
++    __u16 bg_used_dirs_count_hi;      /* Directories count MSB */
++    __u16 bg_itable_unused_hi;        /* Unused inodes count MSB */
++    __u32 bg_reserved2[3];
+   };
+ struct ext2_inode
+@@ -174,22 +199,22 @@ struct ext2_inode
+     __u32 i_block[EXT2_N_BLOCKS];     /* 40: Pointers to blocks */
+     __u32 i_version;          /* File version (for NFS) */
+     __u32 i_file_acl;         /* File ACL */
+-    __u32 i_dir_acl;          /* Directory ACL */
+-    __u32 i_faddr;            /* Fragment address */
++    __u32 i_size_high;
++    __u32 i_obso_faddr;               /* Obsoleted fragment address */
+     union
+       {
+       struct
+         {
+-          __u8 l_i_frag;      /* Fragment number */
+-          __u8 l_i_fsize;     /* Fragment size */
+-          __u16 i_pad1;
+-          __u32 l_i_reserved2[2];
++              __u16   l_i_blocks_high; /* were l_i_reserved1 */
++              __u16   l_i_file_acl_high;
++              __u16   l_i_uid_high;   /* these 2 fields */
++              __u16   l_i_gid_high;   /* were reserved2[0] */
++              __u32   l_i_reserved2;
+         }
+       linux2;
+       struct
+         {
+-          __u8 h_i_frag;      /* Fragment number */
+-          __u8 h_i_fsize;     /* Fragment size */
++              __u16   h_i_reserved1;  /* Obsoleted fragment number/size which are removed in ext4 */
+           __u16 h_i_mode_high;
+           __u16 h_i_uid_high;
+           __u16 h_i_gid_high;
+@@ -198,16 +223,36 @@ struct ext2_inode
+       hurd2;
+       struct
+         {
+-          __u8 m_i_frag;      /* Fragment number */
+-          __u8 m_i_fsize;     /* Fragment size */
+-          __u16 m_pad1;
++              __u16   h_i_reserved1;  /* Obsoleted fragment number/size which are removed in ext4 */
++              __u16   m_i_file_acl_high;
+           __u32 m_i_reserved2[2];
+         }
+       masix2;
+       }
+     osd2;                     /* OS dependent 2 */
++      __u16   i_extra_isize;
++      __u16   i_pad1;
++      __u32  i_ctime_extra;  /* extra Change time      (nsec << 2 | epoch) */
++      __u32  i_mtime_extra;  /* extra Modification time(nsec << 2 | epoch) */
++      __u32  i_atime_extra;  /* extra Access time      (nsec << 2 | epoch) */
++      __u32  i_crtime;       /* File Creation time */
++      __u32  i_crtime_extra; /* extra FileCreationtime (nsec << 2 | epoch) */
++      __u32  i_version_hi;    /* high 32 bits for 64-bit version */
+   };
++#define EXT4_FEATURE_INCOMPAT_EXTENTS         0x0040 /* extents support */
++#define EXT4_FEATURE_INCOMPAT_64BIT                   0x0080 /* grub not supported*/
++#define EXT4_FEATURE_INCOMPAT_MMP           0x0100
++#define EXT4_FEATURE_INCOMPAT_FLEX_BG         0x0200
++
++#define EXT4_HAS_INCOMPAT_FEATURE(sb,mask)                    \
++      ( sb->s_feature_incompat & mask )
++
++#define EXT4_EXTENTS_FL               0x00080000 /* Inode uses extents */
++#define EXT4_HUGE_FILE_FL     0x00040000 /* Set to each huge file */
++
++#define EXT4_MIN_DESC_SIZE                    32
++
+ /* linux/limits.h */
+ #define NAME_MAX         255  /* # chars in a file name */
+@@ -225,6 +270,57 @@ struct ext2_dir_entry
+     char name[EXT2_NAME_LEN]; /* File name */
+   };
++/* linux/ext4_fs_extents.h */
++/* This is the extent on-disk structure.
++ * It's used at the bottom of the tree.
++ */
++struct ext4_extent
++  {
++      __u32  ee_block;   /* first logical block extent covers */
++      __u16  ee_len;     /* number of blocks covered by extent */
++      __u16  ee_start_hi;    /* high 16 bits of physical block */
++      __u32  ee_start_lo;    /* low 32 bits of physical block */
++  };
++
++/*
++ * This is index on-disk structure.
++ * It's used at all the levels except the bottom.
++ */
++struct ext4_extent_idx
++  {
++    __u32  ei_block;   /* index covers logical blocks from 'block' */
++    __u32  ei_leaf_lo; /* pointer to the physical block of the next *
++                           * level. leaf or next index could be there */
++    __u16  ei_leaf_hi; /* high 16 bits of physical block */
++    __u16  ei_unused;
++  };
++
++/*
++ * Each block (leaves and indexes), even inode-stored has header.
++ */
++struct ext4_extent_header
++  {
++    __u16  eh_magic;   /* probably will support different formats */
++    __u16  eh_entries; /* number of valid entries */
++    __u16  eh_max;     /* capacity of store in entries */
++    __u16  eh_depth;   /* has tree real underlying blocks? */
++    __u32  eh_generation;  /* generation of the tree */
++  };
++
++#define EXT4_EXT_MAGIC      (0xf30a)
++#define EXT_FIRST_EXTENT(__hdr__) \
++    ((struct ext4_extent *) (((char *) (__hdr__)) +     \
++                 sizeof(struct ext4_extent_header)))
++#define EXT_FIRST_INDEX(__hdr__) \
++    ((struct ext4_extent_idx *) (((char *) (__hdr__)) + \
++                 sizeof(struct ext4_extent_header)))
++#define EXT_LAST_EXTENT(__hdr__) \
++    (EXT_FIRST_EXTENT((__hdr__)) + (__u16)((__hdr__)->eh_entries) - 1)
++#define EXT_LAST_INDEX(__hdr__) \
++    (EXT_FIRST_INDEX((__hdr__)) + (__u16)((__hdr__)->eh_entries) - 1)
++
++
++
+ /* linux/ext2fs.h */
+ /*
+  * EXT2_DIR_PAD defines the directory entries boundaries
+@@ -271,8 +367,17 @@ struct ext2_dir_entry
+ /* kind of from ext2/super.c */
+ #define EXT2_BLOCK_SIZE(s)    (1 << EXT2_BLOCK_SIZE_BITS(s))
+ /* linux/ext2fs.h */
++/* sizeof(struct ext2_group_desc) is changed in ext4
++ * in kernel code, ext2/3 uses sizeof(struct ext2_group_desc) to calculate
++ * number of desc per block, while ext4 uses superblock->s_desc_size in stead
++ * superblock->s_desc_size is not available in ext2/3
++ * */
++#define EXT2_DESC_SIZE(s) \
++      (EXT4_HAS_INCOMPAT_FEATURE(s,EXT4_FEATURE_INCOMPAT_64BIT)? \
++      s->s_desc_size : EXT4_MIN_DESC_SIZE)
+ #define EXT2_DESC_PER_BLOCK(s) \
+-     (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc))
++      (EXT2_BLOCK_SIZE(s) / EXT2_DESC_SIZE(s))
++
+ /* linux/stat.h */
+ #define S_IFMT  00170000
+ #define S_IFLNK  0120000
+@@ -434,6 +539,122 @@ ext2fs_block_map (int logical_block)
+     [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+ }
++/* extent binary search index
++ * find closest index in the current level extent tree
++ * kind of from ext4_ext_binsearch_idx in ext4/extents.c
++ */
++static struct ext4_extent_idx*
++ext4_ext_binsearch_idx(struct ext4_extent_header* eh, int logical_block)
++{
++  struct ext4_extent_idx *r, *l, *m;
++  l = EXT_FIRST_INDEX(eh) + 1;
++  r = EXT_LAST_INDEX(eh);
++  while (l <= r)
++    {
++        m = l + (r - l) / 2;
++        if (logical_block < m->ei_block)
++                r = m - 1;
++        else
++                l = m + 1;
++      }
++  return (struct ext4_extent_idx*)(l - 1);
++}
++
++/* extent binary search
++ * find closest extent in the leaf level
++ * kind of from ext4_ext_binsearch in ext4/extents.c
++ */
++static struct ext4_extent*
++ext4_ext_binsearch(struct ext4_extent_header* eh, int logical_block)
++{
++  struct ext4_extent *r, *l, *m;
++  l = EXT_FIRST_EXTENT(eh) + 1;
++  r = EXT_LAST_EXTENT(eh);
++  while (l <= r)
++    {
++        m = l + (r - l) / 2;
++        if (logical_block < m->ee_block)
++                r = m - 1;
++        else
++                l = m + 1;
++      }
++  return (struct ext4_extent*)(l - 1);
++}
++
++/* Maps extents enabled logical block into physical block via an inode.
++ * EXT4_HUGE_FILE_FL should be checked before calling this.
++ */
++static int
++ext4fs_block_map (int logical_block)
++{
++  struct ext4_extent_header *eh;
++  struct ext4_extent *ex, *extent;
++  struct ext4_extent_idx *ei, *index;
++  int depth;
++  int i;
++
++#ifdef E2DEBUG
++  unsigned char *i;
++  for (i = (unsigned char *) INODE;
++       i < ((unsigned char *) INODE + sizeof (struct ext2_inode));
++       i++)
++    {
++      printf ("%c", "0123456789abcdef"[*i >> 4]);
++      printf ("%c", "0123456789abcdef"[*i % 16]);
++      if (!((i + 1 - (unsigned char *) INODE) % 16))
++      {
++        printf ("\n");
++      }
++      else
++      {
++        printf (" ");
++      }
++    }
++  printf ("logical block %d\n", logical_block);
++#endif /* E2DEBUG */
++  eh = (struct ext4_extent_header*)INODE->i_block;
++  if (eh->eh_magic != EXT4_EXT_MAGIC)
++  {
++          errnum = ERR_FSYS_CORRUPT;
++          return -1;
++  }
++  while((depth = eh->eh_depth) != 0)
++      { /* extent index */
++        if (eh->eh_magic != EXT4_EXT_MAGIC)
++        {
++                errnum = ERR_FSYS_CORRUPT;
++                return -1;
++        }
++        ei = ext4_ext_binsearch_idx(eh, logical_block);
++        if (ei->ei_leaf_hi)
++      {/* 64bit physical block number not supported */
++        errnum = ERR_FILELENGTH;
++        return -1;
++      }
++        if (!ext2_rdfsb(ei->ei_leaf_lo, DATABLOCK1))
++      {
++        errnum = ERR_FSYS_CORRUPT;
++        return -1;
++      }
++        eh = (struct ext4_extent_header*)DATABLOCK1;
++      }
++
++  /* depth==0, we come to the leaf */
++  ex = ext4_ext_binsearch(eh, logical_block);
++  if (ex->ee_start_hi)
++      {/* 64bit physical block number not supported */
++        errnum = ERR_FILELENGTH;
++        return -1;
++      }
++  if ((ex->ee_block + ex->ee_len) < logical_block)
++      {
++        errnum = ERR_FSYS_CORRUPT;
++        return -1;
++      }
++  return ex->ee_start_lo + logical_block - ex->ee_block;
++
++}
++
+ /* preconditions: all preconds of ext2fs_block_map */
+ int
+ ext2fs_read (char *buf, int len)
+@@ -468,6 +689,11 @@ ext2fs_read (char *buf, int len)
+       /* find the (logical) block component of our location */
+       logical_block = filepos >> EXT2_BLOCK_SIZE_BITS (SUPERBLOCK);
+       offset = filepos & (EXT2_BLOCK_SIZE (SUPERBLOCK) - 1);
++      /* map extents enabled logical block number to physical fs on-disk block number */
++      if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK,EXT4_FEATURE_INCOMPAT_EXTENTS)
++                    && INODE->i_flags & EXT4_EXTENTS_FL)
++          map = ext4fs_block_map (logical_block);
++      else
+       map = ext2fs_block_map (logical_block);
+ #ifdef E2DEBUG
+       printf ("map=%d\n", map);
+@@ -552,7 +778,7 @@ ext2fs_dir (char *dirname)
+   int desc;                   /* index within that group */
+   int ino_blk;                        /* fs pointer of the inode's information */
+   int str_chk = 0;            /* used to hold the results of a string compare */
+-  struct ext2_group_desc *gdp;
++  struct ext4_group_desc *ext4_gdp;
+   struct ext2_inode *raw_inode;       /* inode info corresponding to current_ino */
+   char linkbuf[PATH_MAX];     /* buffer for following symbolic links */
+@@ -598,8 +824,15 @@ ext2fs_dir (char *dirname)
+       {
+         return 0;
+       }
+-      gdp = GROUP_DESC;
+-      ino_blk = gdp[desc].bg_inode_table +
++        ext4_gdp = (struct ext4_group_desc *)( (__u8*)GROUP_DESC +
++                                      desc * EXT2_DESC_SIZE(SUPERBLOCK));
++        if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK, EXT4_FEATURE_INCOMPAT_64BIT)
++              && (! ext4_gdp->bg_inode_table_hi))
++      {/* 64bit itable not supported */
++        errnum = ERR_FILELENGTH;
++        return -1;
++      }
++      ino_blk = ext4_gdp->bg_inode_table +
+       (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
+        >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK)));
+ #ifdef E2DEBUG
+@@ -676,7 +909,10 @@ ext2fs_dir (char *dirname)
+           }
+         linkbuf[filemax + len] = '\0';
+-        /* Read the symlink data. */
++        /* Read the symlink data.
++         * Slow symlink is extents enabled
++         * But since grub_read invokes ext2fs_read, nothing to change here
++         */
+         if (! ext2_is_fast_symlink ())
+           {
+             /* Read the necessary blocks, and reset the file pointer. */
+@@ -687,7 +923,9 @@ ext2fs_dir (char *dirname)
+           }
+         else
+           {
+-            /* Copy the data directly from the inode. */
++            /* Copy the data directly from the inode.
++             * Fast symlink is not extents enabled
++             */
+             len = filemax;
+             memmove (linkbuf, (char *) INODE->i_block, len);
+           }
+@@ -721,6 +959,13 @@ ext2fs_dir (char *dirname)
+             errnum = ERR_BAD_FILETYPE;
+             return 0;
+           }
++        /* if file is too large, just stop and report an error*/
++        if ( (INODE->i_flags & EXT4_HUGE_FILE_FL) && !(INODE->i_size_high))
++          {
++                /* file too large, stop reading */
++                errnum = ERR_FILELENGTH;
++                return 0;
++          }
+         filemax = (INODE->i_size);
+         return 1;
+@@ -775,17 +1020,28 @@ ext2fs_dir (char *dirname)
+           }
+         /* else, find the (logical) block component of our location */
++        /* ext4 logical block number the same as ext2/3 */
+         blk = loc >> EXT2_BLOCK_SIZE_BITS (SUPERBLOCK);
+         /* we know which logical block of the directory entry we are looking
+            for, now we have to translate that to the physical (fs) block on
+            the disk */
++        /* map extents enabled logical block number to physical fs on-disk block number */
++        if (EXT4_HAS_INCOMPAT_FEATURE(SUPERBLOCK,EXT4_FEATURE_INCOMPAT_EXTENTS)
++                        && INODE->i_flags & EXT4_EXTENTS_FL)
++              map = ext4fs_block_map (blk);
++        else
+         map = ext2fs_block_map (blk);
+ #ifdef E2DEBUG
+         printf ("fs block=%d\n", map);
+ #endif /* E2DEBUG */
+         mapblock2 = -1;
+-        if ((map < 0) || !ext2_rdfsb (map, DATABLOCK2))
++        if (map < 0)
++        {
++            *rest = ch;
++            return 0;
++        }
++          if (!ext2_rdfsb (map, DATABLOCK2))
+           {
+             errnum = ERR_FSYS_CORRUPT;
+             *rest = ch;
diff --git a/xen/patches/26-localgcc46fix.patch b/xen/patches/26-localgcc46fix.patch
new file mode 100644 (file)
index 0000000..e485c3b
--- /dev/null
@@ -0,0 +1,11 @@
+--- xen-4.0.1/Config.mk.orig   2010-08-25 11:22:44.000000000 +0100
++++ xen-4.0.1/Config.mk        2011-01-29 17:40:43.000000000 +0000
+@@ -135,6 +135,8 @@
+ LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i)) 
+ CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
++# temporary compile fix for rawhide
++CFLAGS += -Wunused-but-set-variable -Wno-error=unused-but-set-variable -Wuninitialized -Wno-error=uninitialized
+ EMBEDDED_EXTRA_CFLAGS := -nopie -fno-stack-protector -fno-stack-protector-all
+ EMBEDDED_EXTRA_CFLAGS += -fno-exceptions
diff --git a/xen/patches/28-pygrubfix.patch b/xen/patches/28-pygrubfix.patch
new file mode 100644 (file)
index 0000000..e039369
--- /dev/null
@@ -0,0 +1,28 @@
+--- xen-4.1.0/tools/pygrub/src/pygrub.orig     2010-12-31 15:24:11.000000000 +0000
++++ xen-4.1.0/tools/pygrub/src/pygrub  2011-01-30 18:58:17.000000000 +0000
+@@ -96,6 +96,7 @@
+     fd = os.open(file, os.O_RDONLY)
+     buf = os.read(fd, 512)
++    offzerocount = 0
+     for poff in (446, 462, 478, 494): # partition offsets
+         # MBR contains a 16 byte descriptor per partition
+@@ -105,6 +106,7 @@
+         
+         # offset == 0 implies this partition is not enabled
+         if offset == 0:
++            offzerocount += 1
+             continue
+         if type == FDISK_PART_SOLARIS or type == FDISK_PART_SOLARIS_OLD:
+@@ -123,6 +125,9 @@
+         else:
+             part_offs.append(offset)
++    if offzerocount == 4:
++        # Might be a grub boot sector pretending to be an MBR
++        part_offs.append(0)
+     return part_offs
+ class GrubLineEditor(curses.textpad.Textbox):
diff --git a/xen/patches/31-pygrubfix2.patch b/xen/patches/31-pygrubfix2.patch
new file mode 100644 (file)
index 0000000..7f308c6
--- /dev/null
@@ -0,0 +1,92 @@
+--- xen-4.1.2/tools/pygrub/src/pygrub.orig     2011-10-13 18:56:41.000000000 +0100
++++ xen-4.1.2/tools/pygrub/src/pygrub  2011-10-13 20:46:58.000000000 +0100
+@@ -78,9 +78,17 @@
+ def get_fs_offset_gpt(file):
+     fd = os.open(file, os.O_RDONLY)
+     # assume the first partition is an EFI system partition.
+-    os.lseek(fd, SECTOR_SIZE * 2, 0)
++    os.lseek(fd, SECTOR_SIZE, 0)
+     buf = os.read(fd, 512)
+-    return struct.unpack("<Q", buf[32:40])[0] * SECTOR_SIZE
++    partcount = struct.unpack("<L", buf[80:84])[0]
++    partsize = struct.unpack("<L", buf[84:88])[0]
++    i = partcount
++    offsets = []
++    while i>0:
++        buf = os.read(fd, partsize)
++        offsets.append(struct.unpack("<Q", buf[32:40])[0] * SECTOR_SIZE)
++        i -= 1
++    return offsets
+ FDISK_PART_SOLARIS=0xbf
+ FDISK_PART_SOLARIS_OLD=0x82
+@@ -116,7 +124,9 @@
+                 continue # no solaris magic at that offset, ignore partition
+         if type == FDISK_PART_GPT:
+-            offset = get_fs_offset_gpt(file)
++            for offset in get_fs_offset_gpt(file):
++                part_offs.append(offset)
++            break
+         # Active partition has 0x80 as the first byte.
+         # If active, prepend to front of list, otherwise append to back.
+@@ -394,7 +404,8 @@
+                            ["/boot/grub/menu.lst", "/boot/grub/grub.conf",
+                             "/grub/menu.lst", "/grub/grub.conf"]) + \
+                        map(lambda x: (x,grub.GrubConf.Grub2ConfigFile),
+-                           ["/boot/grub/grub.cfg", "/grub/grub.cfg"]) + \
++                           ["/boot/grub/grub.cfg", "/grub/grub.cfg",
++                            "/boot/grub2/grub.cfg", "/grub2/grub.cfg"]) + \
+                        map(lambda x: (x,grub.ExtLinuxConf.ExtLinuxConfigFile),
+                            ["/boot/isolinux/isolinux.cfg",
+                             "/boot/extlinux.conf"])
+--- xen-4.1.2/tools/pygrub/src/GrubConf.py.orig        2011-10-08 19:42:10.000000000 +0100
++++ xen-4.1.2/tools/pygrub/src/GrubConf.py     2011-10-14 21:08:44.000000000 +0100
+@@ -79,6 +79,8 @@
+         val = val.replace("(", "").replace(")", "")
+         if val[:5] == "msdos":
+             val = val[5:]
++        if val[:3] == "gpt":
++            val = val[3:]
+         self._part = int(val)
+     part = property(get_part, set_part)
+@@ -368,6 +370,7 @@
+         in_function = False
+         img = None
+         title = ""
++        menu_level=0
+         for l in lines:
+             l = l.strip()
+             # skip blank lines
+@@ -394,10 +397,18 @@
+                 img = []
+                 title = title_match.group(1)
+                 continue
+-            
++
++            if l.startswith("submenu"):
++                menu_level += 1
++                continue
++
+             if l.startswith("}"):
+                 if img is None:
+-                    raise RuntimeError, "syntax error: closing brace without menuentry"
++                    if menu_level > 0:
++                        menu_level -= 1
++                        continue
++                    else:
++                        raise RuntimeError, "syntax error: closing brace without menuentry"
+                 self.add_image(Grub2Image(title, img))
+                 img = None
+@@ -414,6 +425,8 @@
+                 
+             if self.commands.has_key(com):
+                 if self.commands[com] is not None:
++                    if arg.strip() == "${saved_entry}":
++                        arg = "0"
+                     setattr(self, self.commands[com], arg.strip())
+                 else:
+                     logging.info("Ignored directive %s" %(com,))
diff --git a/xen/patches/32-xen-4.1-testing.23190.patch b/xen/patches/32-xen-4.1-testing.23190.patch
new file mode 100644 (file)
index 0000000..2c51bc8
--- /dev/null
@@ -0,0 +1,64 @@
+
+# HG changeset patch
+# User Stefano Stabellini <stefano.stabellini@eu.citrix.com>
+# Date 1321623485 0
+# Node ID 5a00ccfc63915650b8e1a262c2cad8e8d8670612
+# Parent  e73ada19a69daf821aa7d80323f1bd76239b9bae
+x86: re-inject emulated level pirqs in PV on HVM guests if still asserted
+
+PV on HVM guests can loose level interrupts coming from emulated
+devices if they have been remapped onto event channels.  The reason is
+that we are missing the code to inject a pirq again in the guest when
+the guest EOIs it, if it corresponds to an emulated level interrupt
+and the interrupt is still asserted.
+
+Fix this issue and also return error when the guest tries to get the
+irq_status of a non-existing pirq.
+
+
+Changes in this backport:
+ - move the spinlock afterward to cover the new code only.
+
+Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
+Committed-by: Keir Fraser <keir@xen.org>
+xen-unstable changeset:   24007:0526644ad2a6
+xen-unstable date:        Thu Oct 27 16:07:18 2011 +0100
+
+diff -r e73ada19a69d -r 5a00ccfc6391 xen/arch/x86/physdev.c
+--- a/xen/arch/x86/physdev.c   Thu Nov 17 09:13:25 2011 +0000
++++ b/xen/arch/x86/physdev.c   Fri Nov 18 13:38:05 2011 +0000
+@@ -268,6 +268,20 @@
+             ret = pirq_guest_eoi(v->domain, eoi.irq);
+         else
+             ret = 0;
++        spin_lock(&v->domain->event_lock);
++        if ( is_hvm_domain(v->domain) &&
++                domain_pirq_to_emuirq(v->domain, eoi.irq) > 0 )
++        {
++            struct hvm_irq *hvm_irq = &v->domain->arch.hvm_domain.irq;
++            int gsi = domain_pirq_to_emuirq(v->domain, eoi.irq);
++
++            /* if this is a level irq and count > 0, send another
++             * notification */ 
++            if ( gsi >= NR_ISAIRQS /* ISA irqs are edge triggered */
++                    && hvm_irq->gsi_assert_count[gsi] )
++                send_guest_pirq(v->domain, eoi.irq);
++        }
++        spin_unlock(&v->domain->event_lock);
+         break;
+     }
+@@ -323,9 +337,10 @@
+             break;
+         irq_status_query.flags = 0;
+         if ( is_hvm_domain(v->domain) &&
+-             domain_pirq_to_irq(v->domain, irq) <= 0 )
++                domain_pirq_to_irq(v->domain, irq) <= 0 &&
++                domain_pirq_to_emuirq(v->domain, irq) == IRQ_UNBOUND )
+         {
+-            ret = copy_to_guest(arg, &irq_status_query, 1) ? -EFAULT : 0;
++            ret = -EINVAL;
+             break;
+         }
+
diff --git a/xen/patches/33-xend.empty.xml.patch b/xen/patches/33-xend.empty.xml.patch
new file mode 100644 (file)
index 0000000..e3f29d3
--- /dev/null
@@ -0,0 +1,15 @@
+http://lists.xensource.com/archives/html/xen-devel/2011-11/msg00218.html
+
+diff -r 54a5e994a241 -r 76391f599433 tools/python/xen/xend/XendStateStore.py
+--- a/tools/python/xen/xend/XendStateStore.py   Wed Nov 02 17:09:09 2011 +0000
++++ b/tools/python/xen/xend/XendStateStore.py   Thu Nov 03 12:02:44 2011 -0400
+@@ -101,6 +101,9 @@ class XendStateStore:
+         if not os.path.exists(xml_path):
+             return {}
++        if not os.path.getsize(xml_path) == 0:
++            return {}
++
+         dom = minidom.parse(xml_path)
+         root = dom.documentElement
+         state = {}
diff --git a/xen/patches/34-xend.catchbt.patch b/xen/patches/34-xend.catchbt.patch
new file mode 100644 (file)
index 0000000..95eac54
--- /dev/null
@@ -0,0 +1,30 @@
+--- xen-4.1.2/tools/python/xen/xend/image.py.orig      2011-10-20 18:05:44.000000000 +0100
++++ xen-4.1.2/tools/python/xen/xend/image.py   2011-11-20 20:41:10.730905790 +0000
+@@ -43,7 +43,11 @@
+ from xen.util import utils
+ from xen.xend import osdep
+-xc = xen.lowlevel.xc.xc()
++try:
++    xc = xen.lowlevel.xc.xc()
++except Exception:
++    print >>sys.stderr, ('xend/image.py: Error connecting to hypervisor')
++    os._exit(1)
+ MAX_GUEST_CMDLINE = 1024
+--- xen-4.1.2/tools/python/xen/xend/XendLogging.py.orig        2011-10-20 18:05:44.000000000 +0100
++++ xen-4.1.2/tools/python/xen/xend/XendLogging.py     2012-01-10 21:27:57.304916048 +0000
+@@ -132,7 +132,11 @@
+         fileHandler = openFileHandler(filename)
+         logfilename = filename
+     except IOError:
+-        logfilename = tempfile.mkstemp("-xend.log")[1]
++        try:
++            logfilename = tempfile.mkstemp("-xend.log")[1]
++        except IOError:
++            print >>sys.stderr, ('xend/XendLogging.py: Unable to open standard or temporary log file for xend')
++            os._exit(1)
+         fileHandler = openFileHandler(logfilename)
+     fileHandler.setFormatter(logging.Formatter(LOGFILE_FORMAT, DATE_FORMAT))
diff --git a/xen/patches/35-xend-pci-loop.patch b/xen/patches/35-xend-pci-loop.patch
new file mode 100644 (file)
index 0000000..5c4118a
--- /dev/null
@@ -0,0 +1,19 @@
+# Don't crash due to weird PCI cards (Bug 767742)
+
+diff -r fb8dd4c67778 tools/python/xen/util/pci.py
+--- a/tools/python/xen/util/pci.py     Tue Dec 13 14:16:20 2011 -0500
++++ b/tools/python/xen/util/pci.py     Wed Dec 14 15:46:56 2011 -0500
+@@ -1268,7 +1268,12 @@ class PciDevice:
+             pass
+     def get_info_from_sysfs(self):
+-        self.find_capability(0x11)
++        try:
++            self.find_capability(0x11)
++        except PciDeviceParseError, err:
++            log.error("Caught '%s'" % err)
++            return False
++
+         sysfs_mnt = find_sysfs_mnt()
+         if sysfs_mnt == None:
+             return False
diff --git a/xen/patches/36-localgcc47fix.patch b/xen/patches/36-localgcc47fix.patch
new file mode 100644 (file)
index 0000000..d959df9
--- /dev/null
@@ -0,0 +1,32 @@
+--- xen-4.1.2/xen/arch/x86/i8259.c.orig        2011-10-20 18:05:48.000000000 +0100
++++ xen-4.1.2/xen/arch/x86/i8259.c     2012-01-15 00:37:08.583827754 +0000
+@@ -62,7 +62,7 @@
+     IRQ(x,8), IRQ(x,9), IRQ(x,a), IRQ(x,b), \
+     IRQ(x,c), IRQ(x,d), IRQ(x,e), IRQ(x,f)
+-    static void (*interrupt[])(void) = {
++    static void (asmlinkage *interrupt[])(void) = {
+         IRQLIST_16(0x0), IRQLIST_16(0x1), IRQLIST_16(0x2), IRQLIST_16(0x3),
+         IRQLIST_16(0x4), IRQLIST_16(0x5), IRQLIST_16(0x6), IRQLIST_16(0x7),
+         IRQLIST_16(0x8), IRQLIST_16(0x9), IRQLIST_16(0xa), IRQLIST_16(0xb),
+--- xen-4.1.2/xen/include/asm-x86/hvm/svm/intr.h.orig  2011-10-20 18:05:50.000000000 +0100
++++ xen-4.1.2/xen/include/asm-x86/hvm/svm/intr.h       2012-01-15 16:38:13.199784658 +0000
+@@ -21,6 +21,6 @@
+ #ifndef __ASM_X86_HVM_SVM_INTR_H__
+ #define __ASM_X86_HVM_SVM_INTR_H__
+-void svm_intr_assist(void);
++asmlinkage void svm_intr_assist(void);
+ #endif /* __ASM_X86_HVM_SVM_INTR_H__ */
+--- xen-4.1.2/xen/include/asm-x86/hvm/vmx/vmx.h.orig   2011-10-20 18:05:50.000000000 +0100
++++ xen-4.1.2/xen/include/asm-x86/hvm/vmx/vmx.h        2012-01-15 17:06:07.495853077 +0000
+@@ -63,7 +63,7 @@
+ void vmx_asm_vmexit_handler(struct cpu_user_regs);
+ void vmx_asm_do_vmentry(void);
+-void vmx_intr_assist(void);
++asmlinkage void vmx_intr_assist(void);
+ void vmx_do_resume(struct vcpu *);
+ void vmx_vlapic_msr_changed(struct vcpu *v);
+ void vmx_realmode(struct cpu_user_regs *regs);
diff --git a/xen/patches/37-qemu-xen-4.1-testing.git-3cf61880403b4e484539596a95937cc066243388.patch b/xen/patches/37-qemu-xen-4.1-testing.git-3cf61880403b4e484539596a95937cc066243388.patch
new file mode 100644 (file)
index 0000000..3b9933a
--- /dev/null
@@ -0,0 +1,43 @@
+From 3cf61880403b4e484539596a95937cc066243388 Mon Sep 17 00:00:00 2001
+From: Ian Campbell <Ian.Campbell@citrix.com>
+Date: Thu, 2 Feb 2012 13:47:06 +0000
+Subject: [PATCH] e1000: bounds packet size against buffer size
+
+Otherwise we can write beyond the buffer and corrupt memory.  This is tracked
+as CVE-2012-0029.
+
+Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
+
+(Backported from qemu upstream 65f82df0d7a71ce1b10cd4c5ab08888d176ac840
+ by Ian Campbell.)
+
+Signed-off-by: Ian Campbell <Ian.Campbell@citrix.com>
+(cherry picked from commit ebe37b2a3f844bad02dcc30d081f39eda06118f8)
+---
+ hw/e1000.c |    3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/tools/ioemu-qemu-xen/hw/e1000.c b/tools/ioemu-qemu-xen/hw/e1000.c
+index bb3689e..97104ed 100644
+--- a/tools/ioemu-qemu-xen/hw/e1000.c
++++ b/tools/ioemu-qemu-xen/hw/e1000.c
+@@ -444,6 +444,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
+             bytes = split_size;
+             if (tp->size + bytes > msh)
+                 bytes = msh - tp->size;
++
++            bytes = MIN(sizeof(tp->data) - tp->size, bytes);
+             cpu_physical_memory_read(addr, tp->data + tp->size, bytes);
+             if ((sz = tp->size + bytes) >= hdr && tp->size < hdr)
+                 memmove(tp->header, tp->data, hdr);
+@@ -459,6 +461,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
+         // context descriptor TSE is not set, while data descriptor TSE is set
+         DBGOUT(TXERR, "TCP segmentaion Error\n");
+     } else {
++        split_size = MIN(sizeof(tp->data) - tp->size, split_size);
+         cpu_physical_memory_read(addr, tp->data + tp->size, split_size);
+         tp->size += split_size;
+     }
+-- 
+1.7.2.5
+
diff --git a/xen/patches/50-upstream-23936:cdb34816a40a-rework.patch b/xen/patches/50-upstream-23936:cdb34816a40a-rework.patch
new file mode 100644 (file)
index 0000000..b7bc317
--- /dev/null
@@ -0,0 +1,7924 @@
+# HG changeset patch
+# User Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+# Date 1317293932 -3600
+# Node ID ba4cba41f5550684719bc95a25f8f51b92fb604f
+# Parent  7998217630e236639825d4db174c852cfa18e709
+[OCAML] Rename the ocamlfind packages
+
+This patch has the same effect as xen-unstable.hg 
+c/s 23936:cdb34816a40a.
+
+ocamlfind does not support namespaces, so to avoid
+name clashes the ocamlfind package names have been
+changed. Note that this does not change the names
+of the actual modules themselves.
+
+xb becomes xenbus, xc becomes xenctrl, xl becomes xenlight,
+xs becomes xenstore, eventchn becomes xeneventchn.
+
+Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+
+--- a/tools/ocaml/libs/eventchn/META.in
++++ b/tools/ocaml/libs/eventchn/META.in
+@@ -1,5 +1,5 @@
+ version = "@VERSION@"
+ description = "Eventchn interface extension"
+ requires = "unix"
+-archive(byte) = "eventchn.cma"
+-archive(native) = "eventchn.cmxa"
++archive(byte) = "xeneventchn.cma"
++archive(native) = "xeneventchn.cmxa"
+--- a/tools/ocaml/libs/eventchn/Makefile
++++ b/tools/ocaml/libs/eventchn/Makefile
+@@ -2,9 +2,11 @@
+ XEN_ROOT=$(TOPLEVEL)/../..
+ include $(TOPLEVEL)/common.make
+-OBJS = eventchn
++OBJS = xeneventchn
+ INTF = $(foreach obj, $(OBJS),$(obj).cmi)
+-LIBS = eventchn.cma eventchn.cmxa
++LIBS = xeneventchn.cma xeneventchn.cmxa
++
++LIBS_xeneventchn = $(LDLIBS_libxenctrl)
+ all: $(INTF) $(LIBS) $(PROGRAMS)
+@@ -12,20 +14,20 @@
+ libs: $(LIBS)
+-eventchn_OBJS = $(OBJS)
+-eventchn_C_OBJS = eventchn_stubs
++xeneventchn_OBJS = $(OBJS)
++xeneventchn_C_OBJS = xeneventchn_stubs
+-OCAML_LIBRARY = eventchn
++OCAML_LIBRARY = xeneventchn
+ .PHONY: install
+ install: $(LIBS) META
+       mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) eventchn
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore eventchn META $(INTF) $(LIBS) *.a *.so *.cmx
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xeneventchn
++      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xeneventchn META $(INTF) $(LIBS) *.a *.so *.cmx
+ .PHONY: uninstall
+ uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) eventchn
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xeneventchn
+ include $(TOPLEVEL)/Makefile.rules
+--- a/tools/ocaml/libs/eventchn/eventchn.ml
++++ /dev/null
+@@ -1,30 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-exception Error of string
+-
+-type handle
+-
+-external init: unit -> handle = "stub_eventchn_init"
+-external fd: handle -> Unix.file_descr = "stub_eventchn_fd"
+-external notify: handle -> int -> unit = "stub_eventchn_notify"
+-external bind_interdomain: handle -> int -> int -> int = "stub_eventchn_bind_interdomain"
+-external bind_dom_exc_virq: handle -> int = "stub_eventchn_bind_dom_exc_virq"
+-external unbind: handle -> int -> unit = "stub_eventchn_unbind"
+-external pending: handle -> int = "stub_eventchn_pending"
+-external unmask: handle -> int -> unit = "stub_eventchn_unmask"
+-
+-let _ = Callback.register_exception "eventchn.error" (Error "register_callback")
+--- a/tools/ocaml/libs/eventchn/eventchn.mli
++++ /dev/null
+@@ -1,31 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-exception Error of string
+-
+-type handle
+-
+-external init : unit -> handle = "stub_eventchn_init"
+-external fd: handle -> Unix.file_descr = "stub_eventchn_fd"
+-
+-external notify : handle -> int -> unit = "stub_eventchn_notify"
+-external bind_interdomain : handle -> int -> int -> int
+-  = "stub_eventchn_bind_interdomain"
+-external bind_dom_exc_virq : handle -> int = "stub_eventchn_bind_dom_exc_virq"
+-external unbind : handle -> int -> unit = "stub_eventchn_unbind"
+-external pending : handle -> int = "stub_eventchn_pending"
+-external unmask : handle -> int -> unit
+-  = "stub_eventchn_unmask"
+--- a/tools/ocaml/libs/eventchn/eventchn_stubs.c
++++ /dev/null
+@@ -1,143 +0,0 @@
+-/*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- */
+-
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <errno.h>
+-#include <stdint.h>
+-#include <sys/ioctl.h>
+-#include <xen/sysctl.h>
+-#include <xen/xen.h>
+-#include <xen/sys/evtchn.h>
+-#include <xenctrl.h>
+-
+-#define CAML_NAME_SPACE
+-#include <caml/mlvalues.h>
+-#include <caml/memory.h>
+-#include <caml/alloc.h>
+-#include <caml/custom.h>
+-#include <caml/callback.h>
+-#include <caml/fail.h>
+-
+-#define _H(__h) ((xc_interface *)(__h))
+-
+-CAMLprim value stub_eventchn_init(void)
+-{
+-      CAMLparam0();
+-      CAMLlocal1(result);
+-
+-      xc_interface *xce = xc_evtchn_open(NULL, XC_OPENFLAG_NON_REENTRANT);
+-      if (xce == NULL)
+-              caml_failwith("open failed");
+-
+-      result = (value)xce;
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_eventchn_fd(value xce)
+-{
+-      CAMLparam1(xce);
+-      CAMLlocal1(result);
+-      int fd;
+-
+-      fd = xc_evtchn_fd(_H(xce));
+-      if (fd == -1)
+-              caml_failwith("evtchn fd failed");
+-
+-      result = Val_int(fd);
+-
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_eventchn_notify(value xce, value port)
+-{
+-      CAMLparam2(xce, port);
+-      int rc;
+-
+-      rc = xc_evtchn_notify(_H(xce), Int_val(port));
+-      if (rc == -1)
+-              caml_failwith("evtchn notify failed");
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_eventchn_bind_interdomain(value xce, value domid,
+-                                              value remote_port)
+-{
+-      CAMLparam3(xce, domid, remote_port);
+-      CAMLlocal1(port);
+-      evtchn_port_or_error_t rc;
+-
+-      rc = xc_evtchn_bind_interdomain(_H(xce), Int_val(domid), Int_val(remote_port));
+-      if (rc == -1)
+-              caml_failwith("evtchn bind_interdomain failed");
+-      port = Val_int(rc);
+-
+-      CAMLreturn(port);
+-}
+-
+-CAMLprim value stub_eventchn_bind_dom_exc_virq(value xce)
+-{
+-      CAMLparam1(xce);
+-      CAMLlocal1(port);
+-      evtchn_port_or_error_t rc;
+-
+-      rc = xc_evtchn_bind_virq(_H(xce), VIRQ_DOM_EXC);
+-      if (rc == -1)
+-              caml_failwith("evtchn bind_dom_exc_virq failed");
+-      port = Val_int(rc);
+-
+-      CAMLreturn(port);
+-}
+-
+-CAMLprim value stub_eventchn_unbind(value xce, value port)
+-{
+-      CAMLparam2(xce, port);
+-      int rc;
+-
+-      rc = xc_evtchn_unbind(_H(xce), Int_val(port));
+-      if (rc == -1)
+-              caml_failwith("evtchn unbind failed");
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_eventchn_pending(value xce)
+-{
+-      CAMLparam1(xce);
+-      CAMLlocal1(result);
+-      evtchn_port_or_error_t port;
+-
+-      port = xc_evtchn_pending(_H(xce));
+-      if (port == -1)
+-              caml_failwith("evtchn pending failed");
+-      result = Val_int(port);
+-
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_eventchn_unmask(value xce, value _port)
+-{
+-      CAMLparam2(xce, _port);
+-      evtchn_port_t port;
+-
+-      port = Int_val(_port);
+-      if (xc_evtchn_unmask(_H(xce), port))
+-              caml_failwith("evtchn unmask failed");
+-      CAMLreturn(Val_unit);
+-}
+--- /dev/null
++++ b/tools/ocaml/libs/eventchn/xeneventchn.ml
+@@ -0,0 +1,30 @@
++(*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++exception Error of string
++
++type handle
++
++external init: unit -> handle = "stub_eventchn_init"
++external fd: handle -> Unix.file_descr = "stub_eventchn_fd"
++external notify: handle -> int -> unit = "stub_eventchn_notify"
++external bind_interdomain: handle -> int -> int -> int = "stub_eventchn_bind_interdomain"
++external bind_dom_exc_virq: handle -> int = "stub_eventchn_bind_dom_exc_virq"
++external unbind: handle -> int -> unit = "stub_eventchn_unbind"
++external pending: handle -> int = "stub_eventchn_pending"
++external unmask: handle -> int -> unit = "stub_eventchn_unmask"
++
++let _ = Callback.register_exception "eventchn.error" (Error "register_callback")
+--- /dev/null
++++ b/tools/ocaml/libs/eventchn/xeneventchn.mli
+@@ -0,0 +1,31 @@
++(*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++exception Error of string
++
++type handle
++
++external init : unit -> handle = "stub_eventchn_init"
++external fd: handle -> Unix.file_descr = "stub_eventchn_fd"
++
++external notify : handle -> int -> unit = "stub_eventchn_notify"
++external bind_interdomain : handle -> int -> int -> int
++  = "stub_eventchn_bind_interdomain"
++external bind_dom_exc_virq : handle -> int = "stub_eventchn_bind_dom_exc_virq"
++external unbind : handle -> int -> unit = "stub_eventchn_unbind"
++external pending : handle -> int = "stub_eventchn_pending"
++external unmask : handle -> int -> unit
++  = "stub_eventchn_unmask"
+--- /dev/null
++++ b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
+@@ -0,0 +1,143 @@
++/*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ */
++
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <errno.h>
++#include <stdint.h>
++#include <sys/ioctl.h>
++#include <xen/sysctl.h>
++#include <xen/xen.h>
++#include <xen/sys/evtchn.h>
++#include <xenctrl.h>
++
++#define CAML_NAME_SPACE
++#include <caml/mlvalues.h>
++#include <caml/memory.h>
++#include <caml/alloc.h>
++#include <caml/custom.h>
++#include <caml/callback.h>
++#include <caml/fail.h>
++
++#define _H(__h) ((xc_interface *)(__h))
++
++CAMLprim value stub_eventchn_init(void)
++{
++      CAMLparam0();
++      CAMLlocal1(result);
++
++      xc_interface *xce = xc_evtchn_open(NULL, XC_OPENFLAG_NON_REENTRANT);
++      if (xce == NULL)
++              caml_failwith("open failed");
++
++      result = (value)xce;
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_eventchn_fd(value xce)
++{
++      CAMLparam1(xce);
++      CAMLlocal1(result);
++      int fd;
++
++      fd = xc_evtchn_fd(_H(xce));
++      if (fd == -1)
++              caml_failwith("evtchn fd failed");
++
++      result = Val_int(fd);
++
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_eventchn_notify(value xce, value port)
++{
++      CAMLparam2(xce, port);
++      int rc;
++
++      rc = xc_evtchn_notify(_H(xce), Int_val(port));
++      if (rc == -1)
++              caml_failwith("evtchn notify failed");
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_eventchn_bind_interdomain(value xce, value domid,
++                                              value remote_port)
++{
++      CAMLparam3(xce, domid, remote_port);
++      CAMLlocal1(port);
++      evtchn_port_or_error_t rc;
++
++      rc = xc_evtchn_bind_interdomain(_H(xce), Int_val(domid), Int_val(remote_port));
++      if (rc == -1)
++              caml_failwith("evtchn bind_interdomain failed");
++      port = Val_int(rc);
++
++      CAMLreturn(port);
++}
++
++CAMLprim value stub_eventchn_bind_dom_exc_virq(value xce)
++{
++      CAMLparam1(xce);
++      CAMLlocal1(port);
++      evtchn_port_or_error_t rc;
++
++      rc = xc_evtchn_bind_virq(_H(xce), VIRQ_DOM_EXC);
++      if (rc == -1)
++              caml_failwith("evtchn bind_dom_exc_virq failed");
++      port = Val_int(rc);
++
++      CAMLreturn(port);
++}
++
++CAMLprim value stub_eventchn_unbind(value xce, value port)
++{
++      CAMLparam2(xce, port);
++      int rc;
++
++      rc = xc_evtchn_unbind(_H(xce), Int_val(port));
++      if (rc == -1)
++              caml_failwith("evtchn unbind failed");
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_eventchn_pending(value xce)
++{
++      CAMLparam1(xce);
++      CAMLlocal1(result);
++      evtchn_port_or_error_t port;
++
++      port = xc_evtchn_pending(_H(xce));
++      if (port == -1)
++              caml_failwith("evtchn pending failed");
++      result = Val_int(port);
++
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_eventchn_unmask(value xce, value _port)
++{
++      CAMLparam2(xce, _port);
++      evtchn_port_t port;
++
++      port = Int_val(_port);
++      if (xc_evtchn_unmask(_H(xce), port))
++              caml_failwith("evtchn unmask failed");
++      CAMLreturn(Val_unit);
++}
+--- a/tools/ocaml/libs/mmap/META.in
++++ b/tools/ocaml/libs/mmap/META.in
+@@ -1,4 +1,4 @@
+ version = "@VERSION@"
+ description = "Mmap interface extension"
+-archive(byte) = "mmap.cma"
+-archive(native) = "mmap.cmxa"
++archive(byte) = "xenmmap.cma"
++archive(native) = "xenmmap.cmxa"
+--- a/tools/ocaml/libs/mmap/Makefile
++++ b/tools/ocaml/libs/mmap/Makefile
+@@ -2,9 +2,9 @@
+ XEN_ROOT=$(TOPLEVEL)/../..
+ include $(TOPLEVEL)/common.make
+-OBJS = mmap
++OBJS = xenmmap
+ INTF = $(foreach obj, $(OBJS),$(obj).cmi)
+-LIBS = mmap.cma mmap.cmxa
++LIBS = xenmmap.cma xenmmap.cmxa
+ all: $(INTF) $(LIBS) $(PROGRAMS)
+@@ -12,19 +12,19 @@
+ libs: $(LIBS)
+-mmap_OBJS = $(OBJS)
+-mmap_C_OBJS = mmap_stubs
+-OCAML_LIBRARY = mmap
++xenmmap_OBJS = $(OBJS)
++xenmmap_C_OBJS = xenmmap_stubs
++OCAML_LIBRARY = xenmmap
+ .PHONY: install
+ install: $(LIBS) META
+       mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) mmap
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore mmap META $(INTF) $(LIBS) *.a *.so *.cmx
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenmmap
++      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xenmmap META $(INTF) $(LIBS) *.a *.so *.cmx
+ .PHONY: uninstall
+ uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) mmap
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenmmap
+ include $(TOPLEVEL)/Makefile.rules
+--- a/tools/ocaml/libs/mmap/mmap.ml
++++ /dev/null
+@@ -1,31 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-type mmap_interface
+-
+-type mmap_prot_flag = RDONLY | WRONLY | RDWR
+-type mmap_map_flag = SHARED | PRIVATE
+-
+-(* mmap: fd -> prot_flag -> map_flag -> length -> offset -> interface *)
+-external mmap: Unix.file_descr -> mmap_prot_flag -> mmap_map_flag
+-              -> int -> int -> mmap_interface = "stub_mmap_init"
+-external unmap: mmap_interface -> unit = "stub_mmap_final"
+-(* read: interface -> start -> length -> data *)
+-external read: mmap_interface -> int -> int -> string = "stub_mmap_read"
+-(* write: interface -> data -> start -> length -> unit *)
+-external write: mmap_interface -> string -> int -> int -> unit = "stub_mmap_write"
+-(* getpagesize: unit -> size of page *)
+-external getpagesize: unit -> int = "stub_mmap_getpagesize"
+--- a/tools/ocaml/libs/mmap/mmap.mli
++++ /dev/null
+@@ -1,28 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-type mmap_interface
+-type mmap_prot_flag = RDONLY | WRONLY | RDWR
+-type mmap_map_flag = SHARED | PRIVATE
+-
+-external mmap : Unix.file_descr -> mmap_prot_flag -> mmap_map_flag -> int -> int
+-             -> mmap_interface = "stub_mmap_init"
+-external unmap : mmap_interface -> unit = "stub_mmap_final"
+-external read : mmap_interface -> int -> int -> string = "stub_mmap_read"
+-external write : mmap_interface -> string -> int -> int -> unit
+-               = "stub_mmap_write"
+-
+-external getpagesize : unit -> int = "stub_mmap_getpagesize"
+--- a/tools/ocaml/libs/mmap/mmap_stubs.c
++++ /dev/null
+@@ -1,136 +0,0 @@
+-/*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- */
+-
+-#include <unistd.h>
+-#include <stdlib.h>
+-#include <sys/mman.h>
+-#include <string.h>
+-#include <errno.h>
+-#include "mmap_stubs.h"
+-
+-#include <caml/mlvalues.h>
+-#include <caml/memory.h>
+-#include <caml/alloc.h>
+-#include <caml/custom.h>
+-#include <caml/fail.h>
+-#include <caml/callback.h>
+-
+-#define GET_C_STRUCT(a) ((struct mmap_interface *) a)
+-
+-static int mmap_interface_init(struct mmap_interface *intf,
+-                               int fd, int pflag, int mflag,
+-                               int len, int offset)
+-{
+-      intf->len = len;
+-      intf->addr = mmap(NULL, len, pflag, mflag, fd, offset);
+-      return (intf->addr == MAP_FAILED) ? errno : 0;
+-}
+-
+-CAMLprim value stub_mmap_init(value fd, value pflag, value mflag,
+-                              value len, value offset)
+-{
+-      CAMLparam5(fd, pflag, mflag, len, offset);
+-      CAMLlocal1(result);
+-      int c_pflag, c_mflag;
+-
+-      switch (Int_val(pflag)) {
+-      case 0: c_pflag = PROT_READ; break;
+-      case 1: c_pflag = PROT_WRITE; break;
+-      case 2: c_pflag = PROT_READ|PROT_WRITE; break;
+-      default: caml_invalid_argument("protectiontype");
+-      }
+-
+-      switch (Int_val(mflag)) {
+-      case 0: c_mflag = MAP_SHARED; break;
+-      case 1: c_mflag = MAP_PRIVATE; break;
+-      default: caml_invalid_argument("maptype");
+-      }
+-
+-      result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
+-
+-      if (mmap_interface_init(GET_C_STRUCT(result), Int_val(fd),
+-                              c_pflag, c_mflag,
+-                              Int_val(len), Int_val(offset)))
+-              caml_failwith("mmap");
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_mmap_final(value interface)
+-{
+-      CAMLparam1(interface);
+-      struct mmap_interface *intf;
+-
+-      intf = GET_C_STRUCT(interface);
+-      if (intf->addr != MAP_FAILED)
+-              munmap(intf->addr, intf->len);
+-      intf->addr = MAP_FAILED;
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_mmap_read(value interface, value start, value len)
+-{
+-      CAMLparam3(interface, start, len);
+-      CAMLlocal1(data);
+-      struct mmap_interface *intf;
+-      int c_start;
+-      int c_len;
+-
+-      c_start = Int_val(start);
+-      c_len = Int_val(len);
+-      intf = GET_C_STRUCT(interface);
+-
+-      if (c_start > intf->len)
+-              caml_invalid_argument("start invalid");
+-      if (c_start + c_len > intf->len)
+-              caml_invalid_argument("len invalid");
+-
+-      data = caml_alloc_string(c_len);
+-      memcpy((char *) data, intf->addr + c_start, c_len);
+-
+-      CAMLreturn(data);
+-}
+-
+-CAMLprim value stub_mmap_write(value interface, value data,
+-                               value start, value len)
+-{
+-      CAMLparam4(interface, data, start, len);
+-      struct mmap_interface *intf;
+-      int c_start;
+-      int c_len;
+-
+-      c_start = Int_val(start);
+-      c_len = Int_val(len);
+-      intf = GET_C_STRUCT(interface);
+-
+-      if (c_start > intf->len)
+-              caml_invalid_argument("start invalid");
+-      if (c_start + c_len > intf->len)
+-              caml_invalid_argument("len invalid");
+-
+-      memcpy(intf->addr + c_start, (char *) data, c_len);
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_mmap_getpagesize(value unit)
+-{
+-      CAMLparam1(unit);
+-      CAMLlocal1(data);
+-
+-      data = Val_int(getpagesize());
+-      CAMLreturn(data);
+-}
+--- /dev/null
++++ b/tools/ocaml/libs/mmap/xenmmap.ml
+@@ -0,0 +1,31 @@
++(*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++type mmap_interface
++
++type mmap_prot_flag = RDONLY | WRONLY | RDWR
++type mmap_map_flag = SHARED | PRIVATE
++
++(* mmap: fd -> prot_flag -> map_flag -> length -> offset -> interface *)
++external mmap: Unix.file_descr -> mmap_prot_flag -> mmap_map_flag
++              -> int -> int -> mmap_interface = "stub_mmap_init"
++external unmap: mmap_interface -> unit = "stub_mmap_final"
++(* read: interface -> start -> length -> data *)
++external read: mmap_interface -> int -> int -> string = "stub_mmap_read"
++(* write: interface -> data -> start -> length -> unit *)
++external write: mmap_interface -> string -> int -> int -> unit = "stub_mmap_write"
++(* getpagesize: unit -> size of page *)
++external getpagesize: unit -> int = "stub_mmap_getpagesize"
+--- /dev/null
++++ b/tools/ocaml/libs/mmap/xenmmap.mli
+@@ -0,0 +1,28 @@
++(*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++type mmap_interface
++type mmap_prot_flag = RDONLY | WRONLY | RDWR
++type mmap_map_flag = SHARED | PRIVATE
++
++external mmap : Unix.file_descr -> mmap_prot_flag -> mmap_map_flag -> int -> int
++             -> mmap_interface = "stub_mmap_init"
++external unmap : mmap_interface -> unit = "stub_mmap_final"
++external read : mmap_interface -> int -> int -> string = "stub_mmap_read"
++external write : mmap_interface -> string -> int -> int -> unit
++               = "stub_mmap_write"
++
++external getpagesize : unit -> int = "stub_mmap_getpagesize"
+--- /dev/null
++++ b/tools/ocaml/libs/mmap/xenmmap_stubs.c
+@@ -0,0 +1,136 @@
++/*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ */
++
++#include <unistd.h>
++#include <stdlib.h>
++#include <sys/mman.h>
++#include <string.h>
++#include <errno.h>
++#include "mmap_stubs.h"
++
++#include <caml/mlvalues.h>
++#include <caml/memory.h>
++#include <caml/alloc.h>
++#include <caml/custom.h>
++#include <caml/fail.h>
++#include <caml/callback.h>
++
++#define GET_C_STRUCT(a) ((struct mmap_interface *) a)
++
++static int mmap_interface_init(struct mmap_interface *intf,
++                               int fd, int pflag, int mflag,
++                               int len, int offset)
++{
++      intf->len = len;
++      intf->addr = mmap(NULL, len, pflag, mflag, fd, offset);
++      return (intf->addr == MAP_FAILED) ? errno : 0;
++}
++
++CAMLprim value stub_mmap_init(value fd, value pflag, value mflag,
++                              value len, value offset)
++{
++      CAMLparam5(fd, pflag, mflag, len, offset);
++      CAMLlocal1(result);
++      int c_pflag, c_mflag;
++
++      switch (Int_val(pflag)) {
++      case 0: c_pflag = PROT_READ; break;
++      case 1: c_pflag = PROT_WRITE; break;
++      case 2: c_pflag = PROT_READ|PROT_WRITE; break;
++      default: caml_invalid_argument("protectiontype");
++      }
++
++      switch (Int_val(mflag)) {
++      case 0: c_mflag = MAP_SHARED; break;
++      case 1: c_mflag = MAP_PRIVATE; break;
++      default: caml_invalid_argument("maptype");
++      }
++
++      result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
++
++      if (mmap_interface_init(GET_C_STRUCT(result), Int_val(fd),
++                              c_pflag, c_mflag,
++                              Int_val(len), Int_val(offset)))
++              caml_failwith("mmap");
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_mmap_final(value interface)
++{
++      CAMLparam1(interface);
++      struct mmap_interface *intf;
++
++      intf = GET_C_STRUCT(interface);
++      if (intf->addr != MAP_FAILED)
++              munmap(intf->addr, intf->len);
++      intf->addr = MAP_FAILED;
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_mmap_read(value interface, value start, value len)
++{
++      CAMLparam3(interface, start, len);
++      CAMLlocal1(data);
++      struct mmap_interface *intf;
++      int c_start;
++      int c_len;
++
++      c_start = Int_val(start);
++      c_len = Int_val(len);
++      intf = GET_C_STRUCT(interface);
++
++      if (c_start > intf->len)
++              caml_invalid_argument("start invalid");
++      if (c_start + c_len > intf->len)
++              caml_invalid_argument("len invalid");
++
++      data = caml_alloc_string(c_len);
++      memcpy((char *) data, intf->addr + c_start, c_len);
++
++      CAMLreturn(data);
++}
++
++CAMLprim value stub_mmap_write(value interface, value data,
++                               value start, value len)
++{
++      CAMLparam4(interface, data, start, len);
++      struct mmap_interface *intf;
++      int c_start;
++      int c_len;
++
++      c_start = Int_val(start);
++      c_len = Int_val(len);
++      intf = GET_C_STRUCT(interface);
++
++      if (c_start > intf->len)
++              caml_invalid_argument("start invalid");
++      if (c_start + c_len > intf->len)
++              caml_invalid_argument("len invalid");
++
++      memcpy(intf->addr + c_start, (char *) data, c_len);
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_mmap_getpagesize(value unit)
++{
++      CAMLparam1(unit);
++      CAMLlocal1(data);
++
++      data = Val_int(getpagesize());
++      CAMLreturn(data);
++}
+--- a/tools/ocaml/libs/xb/META.in
++++ b/tools/ocaml/libs/xb/META.in
+@@ -1,5 +1,5 @@
+ version = "@VERSION@"
+ description = "XenBus Interface"
+-requires = "unix,mmap"
+-archive(byte) = "xb.cma"
+-archive(native) = "xb.cmxa"
++requires = "unix,xenmmap"
++archive(byte) = "xenbus.cma"
++archive(native) = "xenbus.cmxa"
+--- a/tools/ocaml/libs/xb/Makefile
++++ b/tools/ocaml/libs/xb/Makefile
+@@ -4,6 +4,7 @@
+ CFLAGS += -I../mmap
+ OCAMLINCLUDE += -I ../mmap
++OCAMLOPTFLAGS += -for-pack Xenbus
+ .NOTPARALLEL:
+ # Ocaml is such a PITA!
+@@ -13,7 +14,7 @@
+ PRELIBS = $(foreach obj, $(PREOBJS),$(obj).cmo) $(foreach obj,$(PREOJBS),$(obj).cmx)
+ OBJS = op partial packet xs_ring xb
+ INTF = op.cmi packet.cmi xb.cmi
+-LIBS = xb.cma xb.cmxa
++LIBS = xenbus.cma xenbus.cmxa
+ ALL_OCAML_OBJS = $(OBJS) $(PREOJBS)
+@@ -23,22 +24,30 @@
+ libs: $(LIBS)
+-xb_OBJS = $(OBJS)
+-xb_C_OBJS = xs_ring_stubs xb_stubs
+-OCAML_LIBRARY = xb
++xenbus_OBJS = xenbus
++xenbus_C_OBJS = xs_ring_stubs xenbus_stubs
++OCAML_LIBRARY = xenbus
++
++xenbus.cmx : $(foreach obj, $(OBJS), $(obj).cmx)
++      $(E) " CMX       $@"
++      $(OCAMLOPT) -pack -o $@ $^
++
++xenbus.cmo : $(foreach obj, $(OBJS), $(obj).cmo)
++      $(E) " CMO       $@"
++      $(OCAMLC) -pack -o $@ $^
+ %.mli: %.ml
+       $(E) " MLI       $@"
+-      $(Q)$(OCAMLC) -i $< $o
++      $(Q)$(OCAMLC) $(OCAMLINCLUDE) -i $< $o
+ .PHONY: install
+ install: $(LIBS) META
+       mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xb
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xb META $(INTF) $(LIBS) *.a *.so *.cmx
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenbus
++      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xenbus META $(LIBS) xenbus.cmi xenbus.cmx *.a *.so 
+ .PHONY: uninstall
+ uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xb
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenbus
+ include $(TOPLEVEL)/Makefile.rules
+--- a/tools/ocaml/libs/xb/xb.ml
++++ b/tools/ocaml/libs/xb/xb.ml
+@@ -24,7 +24,7 @@
+ type backend_mmap =
+ {
+-      mmap: Mmap.mmap_interface;     (* mmaped interface = xs_ring *)
++      mmap: Xenmmap.mmap_interface;     (* mmaped interface = xs_ring *)
+       eventchn_notify: unit -> unit; (* function to notify through eventchn *)
+       mutable work_again: bool;
+ }
+@@ -34,7 +34,7 @@
+       fd: Unix.file_descr;
+ }
+-type backend = Fd of backend_fd | Mmap of backend_mmap
++type backend = Fd of backend_fd | Xenmmap of backend_mmap
+ type partial_buf = HaveHdr of Partial.pkt | NoHdr of int * string
+@@ -68,7 +68,7 @@
+ let read con s len =
+       match con.backend with
+       | Fd backfd     -> read_fd backfd con s len
+-      | Mmap backmmap -> read_mmap backmmap con s len
++      | Xenmmap backmmap -> read_mmap backmmap con s len
+ let write_fd back con s len =
+       Unix.write back.fd s 0 len
+@@ -82,7 +82,7 @@
+ let write con s len =
+       match con.backend with
+       | Fd backfd     -> write_fd backfd con s len
+-      | Mmap backmmap -> write_mmap backmmap con s len
++      | Xenmmap backmmap -> write_mmap backmmap con s len
+ let output con =
+       (* get the output string from a string_of(packet) or partial_out *)
+@@ -145,7 +145,7 @@
+ let open_fd fd = newcon (Fd { fd = fd; })
+ let open_mmap mmap notifyfct =
+-      newcon (Mmap {
++      newcon (Xenmmap {
+               mmap = mmap;
+               eventchn_notify = notifyfct;
+               work_again = false; })
+@@ -153,12 +153,12 @@
+ let close con =
+       match con.backend with
+       | Fd backend   -> Unix.close backend.fd
+-      | Mmap backend -> Mmap.unmap backend.mmap
++      | Xenmmap backend -> Xenmmap.unmap backend.mmap
+ let is_fd con =
+       match con.backend with
+       | Fd _   -> true
+-      | Mmap _ -> false
++      | Xenmmap _ -> false
+ let is_mmap con = not (is_fd con)
+@@ -176,14 +176,14 @@
+ let has_more_input con =
+       match con.backend with
+       | Fd _         -> false
+-      | Mmap backend -> backend.work_again
++      | Xenmmap backend -> backend.work_again
+ let is_selectable con =
+       match con.backend with
+       | Fd _   -> true
+-      | Mmap _ -> false
++      | Xenmmap _ -> false
+ let get_fd con =
+       match con.backend with
+       | Fd backend -> backend.fd
+-      | Mmap _     -> raise (Failure "get_fd")
++      | Xenmmap _     -> raise (Failure "get_fd")
+--- a/tools/ocaml/libs/xb/xb.mli
++++ b/tools/ocaml/libs/xb/xb.mli
+@@ -1,83 +1,103 @@
+-module Op:
+-sig
+-      type operation = Op.operation =
+-              | Debug
+-              | Directory
+-              | Read
+-              | Getperms
+-              | Watch
+-              | Unwatch
+-              | Transaction_start
+-              | Transaction_end
+-              | Introduce
+-              | Release
+-              | Getdomainpath
+-              | Write
+-              | Mkdir
+-              | Rm
+-              | Setperms
+-              | Watchevent
+-              | Error
+-              | Isintroduced
+-              | Resume
+-              | Set_target
+-              | Restrict
+-      val to_string : operation -> string
+-end
+-
+-module Packet:
+-sig
+-      type t
+-
+-      exception Error of string
+-      exception DataError of string
+-
+-      val create : int -> int -> Op.operation -> string -> t
+-      val unpack : t -> int * int * Op.operation * string
+-
+-      val get_tid : t -> int
+-      val get_ty : t -> Op.operation
+-      val get_data : t -> string
+-      val get_rid: t -> int
+-end
+-
++module Op :
++  sig
++    type operation =
++      Op.operation =
++        Debug
++      | Directory
++      | Read
++      | Getperms
++      | Watch
++      | Unwatch
++      | Transaction_start
++      | Transaction_end
++      | Introduce
++      | Release
++      | Getdomainpath
++      | Write
++      | Mkdir
++      | Rm
++      | Setperms
++      | Watchevent
++      | Error
++      | Isintroduced
++      | Resume
++      | Set_target
++      | Restrict
++    val operation_c_mapping : operation array
++    val size : int
++    val offset_pq : int
++    val operation_c_mapping_pq : 'a array
++    val size_pq : int
++    val array_search : 'a -> 'a array -> int
++    val of_cval : int -> operation
++    val to_cval : operation -> int
++    val to_string : operation -> string
++  end
++module Packet :
++  sig
++    type t =
++      Packet.t = {
++      tid : int;
++      rid : int;
++      ty : Op.operation;
++      data : string;
++    }
++    exception Error of string
++    exception DataError of string
++    external string_of_header : int -> int -> int -> int -> string
++      = "stub_string_of_header"
++    val create : int -> int -> Op.operation -> string -> t
++    val of_partialpkt : Partial.pkt -> t
++    val to_string : t -> string
++    val unpack : t -> int * int * Op.operation * string
++    val get_tid : t -> int
++    val get_ty : t -> Op.operation
++    val get_data : t -> string
++    val get_rid : t -> int
++  end
+ exception End_of_file
+ exception Eagain
+ exception Noent
+ exception Invalid
+-
+-type t
+-
+-(** queue a packet into the output queue for later sending *)
++type backend_mmap = {
++  mmap : Xenmmap.mmap_interface;
++  eventchn_notify : unit -> unit;
++  mutable work_again : bool;
++}
++type backend_fd = { fd : Unix.file_descr; }
++type backend = Fd of backend_fd | Xenmmap of backend_mmap
++type partial_buf = HaveHdr of Partial.pkt | NoHdr of int * string
++type t = {
++  backend : backend;
++  pkt_in : Packet.t Queue.t;
++  pkt_out : Packet.t Queue.t;
++  mutable partial_in : partial_buf;
++  mutable partial_out : string;
++}
++val init_partial_in : unit -> partial_buf
+ val queue : t -> Packet.t -> unit
+-
+-(** process the output queue, return if a packet has been totally sent *)
++val read_fd : backend_fd -> 'a -> string -> int -> int
++val read_mmap : backend_mmap -> 'a -> string -> int -> int
++val read : t -> string -> int -> int
++val write_fd : backend_fd -> 'a -> string -> int -> int
++val write_mmap : backend_mmap -> 'a -> string -> int -> int
++val write : t -> string -> int -> int
+ val output : t -> bool
+-
+-(** process the input queue, return if a packet has been totally received *)
+ val input : t -> bool
+-
+-(** create new connection using a fd interface *)
++val newcon : backend -> t
+ val open_fd : Unix.file_descr -> t
+-(** create new connection using a mmap intf and a function to notify eventchn *)
+-val open_mmap : Mmap.mmap_interface -> (unit -> unit) -> t
+-
+-(* close a connection *)
++val open_mmap : Xenmmap.mmap_interface -> (unit -> unit) -> t
+ val close : t -> unit
+-
+ val is_fd : t -> bool
+ val is_mmap : t -> bool
+-
+ val output_len : t -> int
+ val has_new_output : t -> bool
+ val has_old_output : t -> bool
+ val has_output : t -> bool
+ val peek_output : t -> Packet.t
+-
+ val input_len : t -> int
+ val has_in_packet : t -> bool
+ val get_in_packet : t -> Packet.t
+ val has_more_input : t -> bool
+-
+ val is_selectable : t -> bool
+ val get_fd : t -> Unix.file_descr
+--- a/tools/ocaml/libs/xb/xb_stubs.c
++++ /dev/null
+@@ -1,71 +0,0 @@
+-/*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- */
+-
+-#include <unistd.h>
+-#include <stdlib.h>
+-#include <sys/mman.h>
+-#include <string.h>
+-#include <errno.h>
+-
+-#include <caml/mlvalues.h>
+-#include <caml/memory.h>
+-#include <caml/alloc.h>
+-#include <caml/custom.h>
+-#include <caml/fail.h>
+-#include <caml/callback.h>
+-
+-#include <xenctrl.h>
+-#include <xen/io/xs_wire.h>
+-
+-CAMLprim value stub_header_size(void)
+-{
+-      CAMLparam0();
+-      CAMLreturn(Val_int(sizeof(struct xsd_sockmsg)));
+-}
+-
+-CAMLprim value stub_header_of_string(value s)
+-{
+-      CAMLparam1(s);
+-      CAMLlocal1(ret);
+-      struct xsd_sockmsg *hdr;
+-
+-      if (caml_string_length(s) != sizeof(struct xsd_sockmsg))
+-              caml_failwith("xb header incomplete");
+-      ret = caml_alloc_tuple(4);
+-      hdr = (struct xsd_sockmsg *) String_val(s);
+-      Store_field(ret, 0, Val_int(hdr->tx_id));
+-      Store_field(ret, 1, Val_int(hdr->req_id));
+-      Store_field(ret, 2, Val_int(hdr->type));
+-      Store_field(ret, 3, Val_int(hdr->len));
+-      CAMLreturn(ret);
+-}
+-
+-CAMLprim value stub_string_of_header(value tid, value rid, value ty, value len)
+-{
+-      CAMLparam4(tid, rid, ty, len);
+-      CAMLlocal1(ret);
+-      struct xsd_sockmsg xsd = {
+-              .type = Int_val(ty),
+-              .tx_id = Int_val(tid),
+-              .req_id = Int_val(rid),
+-              .len = Int_val(len),
+-      };
+-
+-      ret = caml_alloc_string(sizeof(struct xsd_sockmsg));
+-      memcpy(String_val(ret), &xsd, sizeof(struct xsd_sockmsg));
+-
+-      CAMLreturn(ret);
+-}
+--- /dev/null
++++ b/tools/ocaml/libs/xb/xenbus_stubs.c
+@@ -0,0 +1,71 @@
++/*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ */
++
++#include <unistd.h>
++#include <stdlib.h>
++#include <sys/mman.h>
++#include <string.h>
++#include <errno.h>
++
++#include <caml/mlvalues.h>
++#include <caml/memory.h>
++#include <caml/alloc.h>
++#include <caml/custom.h>
++#include <caml/fail.h>
++#include <caml/callback.h>
++
++#include <xenctrl.h>
++#include <xen/io/xs_wire.h>
++
++CAMLprim value stub_header_size(void)
++{
++      CAMLparam0();
++      CAMLreturn(Val_int(sizeof(struct xsd_sockmsg)));
++}
++
++CAMLprim value stub_header_of_string(value s)
++{
++      CAMLparam1(s);
++      CAMLlocal1(ret);
++      struct xsd_sockmsg *hdr;
++
++      if (caml_string_length(s) != sizeof(struct xsd_sockmsg))
++              caml_failwith("xb header incomplete");
++      ret = caml_alloc_tuple(4);
++      hdr = (struct xsd_sockmsg *) String_val(s);
++      Store_field(ret, 0, Val_int(hdr->tx_id));
++      Store_field(ret, 1, Val_int(hdr->req_id));
++      Store_field(ret, 2, Val_int(hdr->type));
++      Store_field(ret, 3, Val_int(hdr->len));
++      CAMLreturn(ret);
++}
++
++CAMLprim value stub_string_of_header(value tid, value rid, value ty, value len)
++{
++      CAMLparam4(tid, rid, ty, len);
++      CAMLlocal1(ret);
++      struct xsd_sockmsg xsd = {
++              .type = Int_val(ty),
++              .tx_id = Int_val(tid),
++              .req_id = Int_val(rid),
++              .len = Int_val(len),
++      };
++
++      ret = caml_alloc_string(sizeof(struct xsd_sockmsg));
++      memcpy(String_val(ret), &xsd, sizeof(struct xsd_sockmsg));
++
++      CAMLreturn(ret);
++}
+--- a/tools/ocaml/libs/xb/xs_ring.ml
++++ b/tools/ocaml/libs/xb/xs_ring.ml
+@@ -14,5 +14,5 @@
+  * GNU Lesser General Public License for more details.
+  *)
+-external read: Mmap.mmap_interface -> string -> int -> int = "ml_interface_read"
+-external write: Mmap.mmap_interface -> string -> int -> int = "ml_interface_write"
++external read: Xenmmap.mmap_interface -> string -> int -> int = "ml_interface_read"
++external write: Xenmmap.mmap_interface -> string -> int -> int = "ml_interface_write"
+--- a/tools/ocaml/libs/xc/META.in
++++ b/tools/ocaml/libs/xc/META.in
+@@ -1,5 +1,5 @@
+ version = "@VERSION@"
+ description = "Xen Control Interface"
+-requires = "mmap,uuid"
+-archive(byte) = "xc.cma"
+-archive(native) = "xc.cmxa"
++requires = "xenmmap,uuid"
++archive(byte) = "xenctrl.cma"
++archive(native) = "xenctrl.cmxa"
+--- a/tools/ocaml/libs/xc/Makefile
++++ b/tools/ocaml/libs/xc/Makefile
+@@ -5,16 +5,16 @@
+ CFLAGS += -I../mmap -I./ -I$(XEN_ROOT)/tools/libxc
+ OCAMLINCLUDE += -I ../mmap -I ../uuid -I $(XEN_ROOT)/tools/libxc
+-OBJS = xc
+-INTF = xc.cmi
+-LIBS = xc.cma xc.cmxa
++OBJS = xenctrl
++INTF = xenctrl.cmi
++LIBS = xenctrl.cma xenctrl.cmxa
+-LIBS_xc = -L$(XEN_ROOT)/tools/libxc -lxenctrl -lxenguest
++LIBS_xenctrl = -L$(XEN_ROOT)/tools/libxc -lxenctrl -lxenguest
+-xc_OBJS = $(OBJS)
+-xc_C_OBJS = xc_stubs
++xenctrl_OBJS = $(OBJS)
++xenctrl_C_OBJS = xenctrl_stubs
+-OCAML_LIBRARY = xc
++OCAML_LIBRARY = xenctrl
+ all: $(INTF) $(LIBS)
+@@ -23,11 +23,11 @@
+ .PHONY: install
+ install: $(LIBS) META
+       mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xc
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xc META $(INTF) $(LIBS) *.a *.so *.cmx
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenctrl
++      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xenctrl META $(INTF) $(LIBS) *.a *.so *.cmx
+ .PHONY: uninstall
+ uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xc
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenctrl
+ include $(TOPLEVEL)/Makefile.rules
+--- a/tools/ocaml/libs/xc/xc.ml
++++ /dev/null
+@@ -1,326 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-(** *)
+-type domid = int
+-
+-(* ** xenctrl.h ** *)
+-
+-type vcpuinfo =
+-{
+-      online: bool;
+-      blocked: bool;
+-      running: bool;
+-      cputime: int64;
+-      cpumap: int32;
+-}
+-
+-type domaininfo =
+-{
+-      domid             : domid;
+-      dying             : bool;
+-      shutdown          : bool;
+-      paused            : bool;
+-      blocked           : bool;
+-      running           : bool;
+-      hvm_guest         : bool;
+-      shutdown_code     : int;
+-      total_memory_pages: nativeint;
+-      max_memory_pages  : nativeint;
+-      shared_info_frame : int64;
+-      cpu_time          : int64;
+-      nr_online_vcpus   : int;
+-      max_vcpu_id       : int;
+-      ssidref           : int32;
+-      handle            : int array;
+-}
+-
+-type sched_control =
+-{
+-      weight : int;
+-      cap    : int;
+-}
+-
+-type physinfo_cap_flag =
+-      | CAP_HVM
+-      | CAP_DirectIO
+-
+-type physinfo =
+-{
+-      threads_per_core : int;
+-      cores_per_socket : int;
+-      nr_cpus          : int;
+-      max_node_id      : int;
+-      cpu_khz          : int;
+-      total_pages      : nativeint;
+-      free_pages       : nativeint;
+-      scrub_pages      : nativeint;
+-      (* XXX hw_cap *)
+-      capabilities     : physinfo_cap_flag list;
+-}
+-
+-type version =
+-{
+-      major : int;
+-      minor : int;
+-      extra : string;
+-}
+-
+-
+-type compile_info =
+-{
+-      compiler : string;
+-      compile_by : string;
+-      compile_domain : string;
+-      compile_date : string;
+-}
+-
+-type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
+-
+-type domain_create_flag = CDF_HVM | CDF_HAP
+-
+-exception Error of string
+-
+-type handle
+-
+-(* this is only use by coredumping *)
+-external sizeof_core_header: unit -> int
+-       = "stub_sizeof_core_header"
+-external sizeof_vcpu_guest_context: unit -> int
+-       = "stub_sizeof_vcpu_guest_context"
+-external sizeof_xen_pfn: unit -> int = "stub_sizeof_xen_pfn"
+-(* end of use *)
+-
+-external interface_open: unit -> handle = "stub_xc_interface_open"
+-external interface_close: handle -> unit = "stub_xc_interface_close"
+-
+-external is_fake: unit -> bool = "stub_xc_interface_is_fake"
+-
+-let with_intf f =
+-      let xc = interface_open () in
+-      let r = try f xc with exn -> interface_close xc; raise exn in
+-      interface_close xc;
+-      r
+-
+-external _domain_create: handle -> int32 -> domain_create_flag list -> int array -> domid
+-       = "stub_xc_domain_create"
+-
+-let domain_create handle n flags uuid =
+-      _domain_create handle n flags (Uuid.int_array_of_uuid uuid)
+-
+-external _domain_sethandle: handle -> domid -> int array -> unit
+-                          = "stub_xc_domain_sethandle"
+-
+-let domain_sethandle handle n uuid =
+-      _domain_sethandle handle n (Uuid.int_array_of_uuid uuid)
+-
+-external domain_max_vcpus: handle -> domid -> int -> unit
+-       = "stub_xc_domain_max_vcpus"
+-
+-external domain_pause: handle -> domid -> unit = "stub_xc_domain_pause"
+-external domain_unpause: handle -> domid -> unit = "stub_xc_domain_unpause"
+-external domain_resume_fast: handle -> domid -> unit = "stub_xc_domain_resume_fast"
+-external domain_destroy: handle -> domid -> unit = "stub_xc_domain_destroy"
+-
+-external domain_shutdown: handle -> domid -> shutdown_reason -> unit
+-       = "stub_xc_domain_shutdown"
+-
+-external _domain_getinfolist: handle -> domid -> int -> domaininfo list
+-       = "stub_xc_domain_getinfolist"
+-
+-let domain_getinfolist handle first_domain =
+-      let nb = 2 in
+-      let last_domid l = (List.hd l).domid + 1 in
+-      let rec __getlist from =
+-              let l = _domain_getinfolist handle from nb in
+-              (if List.length l = nb then __getlist (last_domid l) else []) @ l
+-              in
+-      List.rev (__getlist first_domain)
+-
+-external domain_getinfo: handle -> domid -> domaininfo= "stub_xc_domain_getinfo"
+-
+-external domain_get_vcpuinfo: handle -> int -> int -> vcpuinfo
+-       = "stub_xc_vcpu_getinfo"
+-
+-external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
+-       = "stub_xc_domain_ioport_permission"
+-external domain_iomem_permission: handle -> domid -> nativeint -> nativeint -> bool -> unit
+-       = "stub_xc_domain_iomem_permission"
+-external domain_irq_permission: handle -> domid -> int -> bool -> unit
+-       = "stub_xc_domain_irq_permission"
+-
+-external vcpu_affinity_set: handle -> domid -> int -> bool array -> unit
+-       = "stub_xc_vcpu_setaffinity"
+-external vcpu_affinity_get: handle -> domid -> int -> bool array
+-       = "stub_xc_vcpu_getaffinity"
+-
+-external vcpu_context_get: handle -> domid -> int -> string
+-       = "stub_xc_vcpu_context_get"
+-
+-external sched_id: handle -> int = "stub_xc_sched_id"
+-
+-external sched_credit_domain_set: handle -> domid -> sched_control -> unit
+-       = "stub_sched_credit_domain_set"
+-external sched_credit_domain_get: handle -> domid -> sched_control
+-       = "stub_sched_credit_domain_get"
+-
+-external shadow_allocation_set: handle -> domid -> int -> unit
+-       = "stub_shadow_allocation_set"
+-external shadow_allocation_get: handle -> domid -> int
+-       = "stub_shadow_allocation_get"
+-
+-external evtchn_alloc_unbound: handle -> domid -> domid -> int
+-       = "stub_xc_evtchn_alloc_unbound"
+-external evtchn_reset: handle -> domid -> unit = "stub_xc_evtchn_reset"
+-
+-external readconsolering: handle -> string = "stub_xc_readconsolering"
+-
+-external send_debug_keys: handle -> string -> unit = "stub_xc_send_debug_keys"
+-external physinfo: handle -> physinfo = "stub_xc_physinfo"
+-external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
+-
+-external domain_setmaxmem: handle -> domid -> int64 -> unit
+-       = "stub_xc_domain_setmaxmem"
+-external domain_set_memmap_limit: handle -> domid -> int64 -> unit
+-       = "stub_xc_domain_set_memmap_limit"
+-external domain_memory_increase_reservation: handle -> domid -> int64 -> unit
+-       = "stub_xc_domain_memory_increase_reservation"
+-
+-external domain_set_machine_address_size: handle -> domid -> int -> unit
+-       = "stub_xc_domain_set_machine_address_size"
+-external domain_get_machine_address_size: handle -> domid -> int
+-       = "stub_xc_domain_get_machine_address_size"
+-
+-external domain_cpuid_set: handle -> domid -> (int64 * (int64 option))
+-                        -> string option array
+-                        -> string option array
+-       = "stub_xc_domain_cpuid_set"
+-external domain_cpuid_apply_policy: handle -> domid -> unit
+-       = "stub_xc_domain_cpuid_apply_policy"
+-external cpuid_check: handle -> (int64 * (int64 option)) -> string option array -> (bool * string option array)
+-       = "stub_xc_cpuid_check"
+-
+-external map_foreign_range: handle -> domid -> int
+-                         -> nativeint -> Mmap.mmap_interface
+-       = "stub_map_foreign_range"
+-
+-external domain_get_pfn_list: handle -> domid -> nativeint -> nativeint array
+-       = "stub_xc_domain_get_pfn_list"
+-
+-external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
+-       = "stub_xc_domain_assign_device"
+-external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
+-       = "stub_xc_domain_deassign_device"
+-external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
+-       = "stub_xc_domain_test_assign_device"
+-
+-external version: handle -> version = "stub_xc_version_version"
+-external version_compile_info: handle -> compile_info
+-       = "stub_xc_version_compile_info"
+-external version_changeset: handle -> string = "stub_xc_version_changeset"
+-external version_capabilities: handle -> string =
+-  "stub_xc_version_capabilities"
+-
+-external watchdog : handle -> int -> int32 -> int
+-  = "stub_xc_watchdog"
+-
+-(* core dump structure *)
+-type core_magic = Magic_hvm | Magic_pv
+-
+-type core_header = {
+-      xch_magic: core_magic;
+-      xch_nr_vcpus: int;
+-      xch_nr_pages: nativeint;
+-      xch_index_offset: int64;
+-      xch_ctxt_offset: int64;
+-      xch_pages_offset: int64;
+-}
+-
+-external marshall_core_header: core_header -> string = "stub_marshall_core_header"
+-
+-(* coredump *)
+-let coredump xch domid fd =
+-      let dump s =
+-              let wd = Unix.write fd s 0 (String.length s) in
+-              if wd <> String.length s then
+-                      failwith "error while writing";
+-              in
+-
+-      let info = domain_getinfo xch domid in
+-
+-      let nrpages = info.total_memory_pages in
+-      let ctxt = Array.make info.max_vcpu_id None in
+-      let nr_vcpus = ref 0 in
+-      for i = 0 to info.max_vcpu_id - 1
+-      do
+-              ctxt.(i) <- try
+-                      let v = vcpu_context_get xch domid i in
+-                      incr nr_vcpus;
+-                      Some v
+-                      with _ -> None
+-      done;
+-
+-      (* FIXME page offset if not rounded to sup *)
+-      let page_offset =
+-              Int64.add
+-                      (Int64.of_int (sizeof_core_header () +
+-                       (sizeof_vcpu_guest_context () * !nr_vcpus)))
+-                      (Int64.of_nativeint (
+-                              Nativeint.mul
+-                                      (Nativeint.of_int (sizeof_xen_pfn ()))
+-                                      nrpages)
+-                              )
+-              in
+-
+-      let header = {
+-              xch_magic = if info.hvm_guest then Magic_hvm else Magic_pv;
+-              xch_nr_vcpus = !nr_vcpus;
+-              xch_nr_pages = nrpages;
+-              xch_ctxt_offset = Int64.of_int (sizeof_core_header ());
+-              xch_index_offset = Int64.of_int (sizeof_core_header ()
+-                                      + sizeof_vcpu_guest_context ());
+-              xch_pages_offset = page_offset;
+-      } in
+-
+-      dump (marshall_core_header header);
+-      for i = 0 to info.max_vcpu_id - 1
+-      do
+-              match ctxt.(i) with
+-              | None -> ()
+-              | Some ctxt_i -> dump ctxt_i
+-      done;
+-      let pfns = domain_get_pfn_list xch domid nrpages in
+-      if Array.length pfns <> Nativeint.to_int nrpages then
+-              failwith "could not get the page frame list";
+-
+-      let page_size = Mmap.getpagesize () in
+-      for i = 0 to Nativeint.to_int nrpages - 1
+-      do
+-              let page = map_foreign_range xch domid page_size pfns.(i) in
+-              let data = Mmap.read page 0 page_size in
+-              Mmap.unmap page;
+-              dump data
+-      done
+-
+-(* ** Misc ** *)
+-
+-(**
+-   Convert the given number of pages to an amount in KiB, rounded up.
+- *)
+-external pages_to_kib : int64 -> int64 = "stub_pages_to_kib"
+-let pages_to_mib pages = Int64.div (pages_to_kib pages) 1024L
+-
+-let _ = Callback.register_exception "xc.error" (Error "register_callback")
+--- a/tools/ocaml/libs/xc/xc.mli
++++ /dev/null
+@@ -1,184 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-type domid = int
+-type vcpuinfo = {
+-  online : bool;
+-  blocked : bool;
+-  running : bool;
+-  cputime : int64;
+-  cpumap : int32;
+-}
+-type domaininfo = {
+-  domid : domid;
+-  dying : bool;
+-  shutdown : bool;
+-  paused : bool;
+-  blocked : bool;
+-  running : bool;
+-  hvm_guest : bool;
+-  shutdown_code : int;
+-  total_memory_pages : nativeint;
+-  max_memory_pages : nativeint;
+-  shared_info_frame : int64;
+-  cpu_time : int64;
+-  nr_online_vcpus : int;
+-  max_vcpu_id : int;
+-  ssidref : int32;
+-  handle : int array;
+-}
+-type sched_control = { weight : int; cap : int; }
+-type physinfo_cap_flag = CAP_HVM | CAP_DirectIO
+-type physinfo = {
+-  threads_per_core : int;
+-  cores_per_socket : int;
+-  nr_cpus          : int;
+-  max_node_id      : int;
+-  cpu_khz          : int;
+-  total_pages      : nativeint;
+-  free_pages       : nativeint;
+-  scrub_pages      : nativeint;
+-  capabilities     : physinfo_cap_flag list;
+-}
+-type version = { major : int; minor : int; extra : string; }
+-type compile_info = {
+-  compiler : string;
+-  compile_by : string;
+-  compile_domain : string;
+-  compile_date : string;
+-}
+-type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
+-
+-type domain_create_flag = CDF_HVM | CDF_HAP
+-
+-exception Error of string
+-type handle
+-external sizeof_core_header : unit -> int = "stub_sizeof_core_header"
+-external sizeof_vcpu_guest_context : unit -> int
+-  = "stub_sizeof_vcpu_guest_context"
+-external sizeof_xen_pfn : unit -> int = "stub_sizeof_xen_pfn"
+-external interface_open : unit -> handle = "stub_xc_interface_open"
+-external is_fake : unit -> bool = "stub_xc_interface_is_fake"
+-external interface_close : handle -> unit = "stub_xc_interface_close"
+-val with_intf : (handle -> 'a) -> 'a
+-external _domain_create : handle -> int32 -> domain_create_flag list -> int array -> domid
+-  = "stub_xc_domain_create"
+-val domain_create : handle -> int32 -> domain_create_flag list -> 'a Uuid.t -> domid
+-external _domain_sethandle : handle -> domid -> int array -> unit
+-  = "stub_xc_domain_sethandle"
+-val domain_sethandle : handle -> domid -> 'a Uuid.t -> unit
+-external domain_max_vcpus : handle -> domid -> int -> unit
+-  = "stub_xc_domain_max_vcpus"
+-external domain_pause : handle -> domid -> unit = "stub_xc_domain_pause"
+-external domain_unpause : handle -> domid -> unit = "stub_xc_domain_unpause"
+-external domain_resume_fast : handle -> domid -> unit
+-  = "stub_xc_domain_resume_fast"
+-external domain_destroy : handle -> domid -> unit = "stub_xc_domain_destroy"
+-external domain_shutdown : handle -> domid -> shutdown_reason -> unit
+-  = "stub_xc_domain_shutdown"
+-external _domain_getinfolist : handle -> domid -> int -> domaininfo list
+-  = "stub_xc_domain_getinfolist"
+-val domain_getinfolist : handle -> domid -> domaininfo list
+-external domain_getinfo : handle -> domid -> domaininfo
+-  = "stub_xc_domain_getinfo"
+-external domain_get_vcpuinfo : handle -> int -> int -> vcpuinfo
+-  = "stub_xc_vcpu_getinfo"
+-external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
+-       = "stub_xc_domain_ioport_permission"
+-external domain_iomem_permission: handle -> domid -> nativeint -> nativeint -> bool -> unit
+-       = "stub_xc_domain_iomem_permission"
+-external domain_irq_permission: handle -> domid -> int -> bool -> unit
+-       = "stub_xc_domain_irq_permission"
+-external vcpu_affinity_set : handle -> domid -> int -> bool array -> unit
+-  = "stub_xc_vcpu_setaffinity"
+-external vcpu_affinity_get : handle -> domid -> int -> bool array
+-  = "stub_xc_vcpu_getaffinity"
+-external vcpu_context_get : handle -> domid -> int -> string
+-  = "stub_xc_vcpu_context_get"
+-external sched_id : handle -> int = "stub_xc_sched_id"
+-external sched_credit_domain_set : handle -> domid -> sched_control -> unit
+-  = "stub_sched_credit_domain_set"
+-external sched_credit_domain_get : handle -> domid -> sched_control
+-  = "stub_sched_credit_domain_get"
+-external shadow_allocation_set : handle -> domid -> int -> unit
+-  = "stub_shadow_allocation_set"
+-external shadow_allocation_get : handle -> domid -> int
+-  = "stub_shadow_allocation_get"
+-external evtchn_alloc_unbound : handle -> domid -> domid -> int
+-  = "stub_xc_evtchn_alloc_unbound"
+-external evtchn_reset : handle -> domid -> unit = "stub_xc_evtchn_reset"
+-external readconsolering : handle -> string = "stub_xc_readconsolering"
+-external send_debug_keys : handle -> string -> unit = "stub_xc_send_debug_keys"
+-external physinfo : handle -> physinfo = "stub_xc_physinfo"
+-external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
+-external domain_setmaxmem : handle -> domid -> int64 -> unit
+-  = "stub_xc_domain_setmaxmem"
+-external domain_set_memmap_limit : handle -> domid -> int64 -> unit
+-  = "stub_xc_domain_set_memmap_limit"
+-external domain_memory_increase_reservation :
+-  handle -> domid -> int64 -> unit
+-  = "stub_xc_domain_memory_increase_reservation"
+-external map_foreign_range :
+-  handle -> domid -> int -> nativeint -> Mmap.mmap_interface
+-  = "stub_map_foreign_range"
+-external domain_get_pfn_list :
+-  handle -> domid -> nativeint -> nativeint array
+-  = "stub_xc_domain_get_pfn_list"
+-
+-external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
+-       = "stub_xc_domain_assign_device"
+-external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
+-       = "stub_xc_domain_deassign_device"
+-external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
+-       = "stub_xc_domain_test_assign_device"
+-
+-external version : handle -> version = "stub_xc_version_version"
+-external version_compile_info : handle -> compile_info
+-  = "stub_xc_version_compile_info"
+-external version_changeset : handle -> string = "stub_xc_version_changeset"
+-external version_capabilities : handle -> string
+-  = "stub_xc_version_capabilities"
+-type core_magic = Magic_hvm | Magic_pv
+-type core_header = {
+-  xch_magic : core_magic;
+-  xch_nr_vcpus : int;
+-  xch_nr_pages : nativeint;
+-  xch_index_offset : int64;
+-  xch_ctxt_offset : int64;
+-  xch_pages_offset : int64;
+-}
+-external marshall_core_header : core_header -> string
+-  = "stub_marshall_core_header"
+-val coredump : handle -> domid -> Unix.file_descr -> unit
+-external pages_to_kib : int64 -> int64 = "stub_pages_to_kib"
+-val pages_to_mib : int64 -> int64
+-external watchdog : handle -> int -> int32 -> int
+-  = "stub_xc_watchdog"
+-
+-external domain_set_machine_address_size: handle -> domid -> int -> unit
+-  = "stub_xc_domain_set_machine_address_size"
+-external domain_get_machine_address_size: handle -> domid -> int
+-       = "stub_xc_domain_get_machine_address_size"
+-
+-external domain_cpuid_set: handle -> domid -> (int64 * (int64 option))
+-                        -> string option array
+-                        -> string option array
+-       = "stub_xc_domain_cpuid_set"
+-external domain_cpuid_apply_policy: handle -> domid -> unit
+-       = "stub_xc_domain_cpuid_apply_policy"
+-external cpuid_check: handle -> (int64 * (int64 option)) -> string option array -> (bool * string option array)
+-       = "stub_xc_cpuid_check"
+-
+--- a/tools/ocaml/libs/xc/xc_stubs.c
++++ /dev/null
+@@ -1,1161 +0,0 @@
+-/*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- */
+-
+-#define _XOPEN_SOURCE 600
+-#include <stdlib.h>
+-#include <errno.h>
+-
+-#define CAML_NAME_SPACE
+-#include <caml/alloc.h>
+-#include <caml/memory.h>
+-#include <caml/signals.h>
+-#include <caml/fail.h>
+-#include <caml/callback.h>
+-
+-#include <sys/mman.h>
+-#include <stdint.h>
+-#include <string.h>
+-
+-#include <xenctrl.h>
+-
+-#include "mmap_stubs.h"
+-
+-#define PAGE_SHIFT            12
+-#define PAGE_SIZE               (1UL << PAGE_SHIFT)
+-#define PAGE_MASK               (~(PAGE_SIZE-1))
+-
+-#define _H(__h) ((xc_interface *)(__h))
+-#define _D(__d) ((uint32_t)Int_val(__d))
+-
+-#define Val_none (Val_int(0))
+-
+-#define string_of_option_array(array, index) \
+-      ((Field(array, index) == Val_none) ? NULL : String_val(Field(Field(array, index), 0)))
+-
+-/* maybe here we should check the range of the input instead of blindly
+- * casting it to uint32 */
+-#define cpuid_input_of_val(i1, i2, input) \
+-      i1 = (uint32_t) Int64_val(Field(input, 0)); \
+-      i2 = ((Field(input, 1) == Val_none) ? 0xffffffff : (uint32_t) Int64_val(Field(Field(input, 1), 0)));
+-
+-#define ERROR_STRLEN 1024
+-void failwith_xc(xc_interface *xch)
+-{
+-      static char error_str[ERROR_STRLEN];
+-      if (xch) {
+-              const xc_error *error = xc_get_last_error(xch);
+-              if (error->code == XC_ERROR_NONE)
+-                      snprintf(error_str, ERROR_STRLEN, "%d: %s", errno, strerror(errno));
+-              else
+-                      snprintf(error_str, ERROR_STRLEN, "%d: %s: %s",
+-                               error->code,
+-                               xc_error_code_to_desc(error->code),
+-                               error->message);
+-      } else {
+-              snprintf(error_str, ERROR_STRLEN, "Unable to open XC interface");
+-      }
+-      caml_raise_with_string(*caml_named_value("xc.error"), error_str);
+-}
+-
+-CAMLprim value stub_sizeof_core_header(value unit)
+-{
+-      CAMLparam1(unit);
+-      CAMLreturn(Val_int(sizeof(struct xc_core_header)));
+-}
+-
+-CAMLprim value stub_sizeof_vcpu_guest_context(value unit)
+-{
+-      CAMLparam1(unit);
+-      CAMLreturn(Val_int(sizeof(struct vcpu_guest_context)));
+-}
+-
+-CAMLprim value stub_sizeof_xen_pfn(value unit)
+-{
+-      CAMLparam1(unit);
+-      CAMLreturn(Val_int(sizeof(xen_pfn_t)));
+-}
+-
+-#define XC_CORE_MAGIC     0xF00FEBED
+-#define XC_CORE_MAGIC_HVM 0xF00FEBEE
+-
+-CAMLprim value stub_marshall_core_header(value header)
+-{
+-      CAMLparam1(header);
+-      CAMLlocal1(s);
+-      struct xc_core_header c_header;
+-
+-      c_header.xch_magic = (Field(header, 0))
+-              ? XC_CORE_MAGIC
+-              : XC_CORE_MAGIC_HVM;
+-      c_header.xch_nr_vcpus = Int_val(Field(header, 1));
+-      c_header.xch_nr_pages = Nativeint_val(Field(header, 2));
+-      c_header.xch_ctxt_offset = Int64_val(Field(header, 3));
+-      c_header.xch_index_offset = Int64_val(Field(header, 4));
+-      c_header.xch_pages_offset = Int64_val(Field(header, 5));
+-
+-      s = caml_alloc_string(sizeof(c_header));
+-      memcpy(String_val(s), (char *) &c_header, sizeof(c_header));
+-      CAMLreturn(s);
+-}
+-
+-CAMLprim value stub_xc_interface_open(void)
+-{
+-      CAMLparam0();
+-        xc_interface *xch;
+-        xch = xc_interface_open(NULL, NULL, XC_OPENFLAG_NON_REENTRANT);
+-        if (xch == NULL)
+-              failwith_xc(NULL);
+-        CAMLreturn((value)xch);
+-}
+-
+-
+-CAMLprim value stub_xc_interface_is_fake(void)
+-{
+-      CAMLparam0();
+-      int is_fake = xc_interface_is_fake();
+-      CAMLreturn(Val_int(is_fake));
+-}
+-
+-CAMLprim value stub_xc_interface_close(value xch)
+-{
+-      CAMLparam1(xch);
+-
+-      // caml_enter_blocking_section();
+-      xc_interface_close(_H(xch));
+-      // caml_leave_blocking_section();
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-static int domain_create_flag_table[] = {
+-      XEN_DOMCTL_CDF_hvm_guest,
+-      XEN_DOMCTL_CDF_hap,
+-};
+-
+-CAMLprim value stub_xc_domain_create(value xch, value ssidref,
+-                                     value flags, value handle)
+-{
+-      CAMLparam4(xch, ssidref, flags, handle);
+-
+-      uint32_t domid = 0;
+-      xen_domain_handle_t h = { 0 };
+-      int result;
+-      int i;
+-      uint32_t c_ssidref = Int32_val(ssidref);
+-      unsigned int c_flags = 0;
+-      value l;
+-
+-        if (Wosize_val(handle) != 16)
+-              caml_invalid_argument("Handle not a 16-integer array");
+-
+-      for (i = 0; i < sizeof(h); i++) {
+-              h[i] = Int_val(Field(handle, i)) & 0xff;
+-      }
+-
+-      for (l = flags; l != Val_none; l = Field(l, 1)) {
+-              int v = Int_val(Field(l, 0));
+-              c_flags |= domain_create_flag_table[v];
+-      }
+-
+-      // caml_enter_blocking_section();
+-      result = xc_domain_create(_H(xch), c_ssidref, h, c_flags, &domid);
+-      // caml_leave_blocking_section();
+-
+-      if (result < 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_int(domid));
+-}
+-
+-CAMLprim value stub_xc_domain_max_vcpus(value xch, value domid,
+-                                        value max_vcpus)
+-{
+-      CAMLparam3(xch, domid, max_vcpus);
+-      int r;
+-
+-      r = xc_domain_max_vcpus(_H(xch), _D(domid), Int_val(max_vcpus));
+-      if (r)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-
+-value stub_xc_domain_sethandle(value xch, value domid, value handle)
+-{
+-      CAMLparam3(xch, domid, handle);
+-      xen_domain_handle_t h = { 0 };
+-      int i;
+-
+-        if (Wosize_val(handle) != 16)
+-              caml_invalid_argument("Handle not a 16-integer array");
+-
+-      for (i = 0; i < sizeof(h); i++) {
+-              h[i] = Int_val(Field(handle, i)) & 0xff;
+-      }
+-
+-      i = xc_domain_sethandle(_H(xch), _D(domid), h);
+-      if (i)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-static value dom_op(value xch, value domid, int (*fn)(xc_interface *, uint32_t))
+-{
+-      CAMLparam2(xch, domid);
+-
+-      uint32_t c_domid = _D(domid);
+-
+-      // caml_enter_blocking_section();
+-      int result = fn(_H(xch), c_domid);
+-      // caml_leave_blocking_section();
+-        if (result)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_pause(value xch, value domid)
+-{
+-      return dom_op(xch, domid, xc_domain_pause);
+-}
+-
+-
+-CAMLprim value stub_xc_domain_unpause(value xch, value domid)
+-{
+-      return dom_op(xch, domid, xc_domain_unpause);
+-}
+-
+-CAMLprim value stub_xc_domain_destroy(value xch, value domid)
+-{
+-      return dom_op(xch, domid, xc_domain_destroy);
+-}
+-
+-CAMLprim value stub_xc_domain_resume_fast(value xch, value domid)
+-{
+-      CAMLparam2(xch, domid);
+-
+-      uint32_t c_domid = _D(domid);
+-
+-      // caml_enter_blocking_section();
+-      int result = xc_domain_resume(_H(xch), c_domid, 1);
+-      // caml_leave_blocking_section();
+-        if (result)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_shutdown(value xch, value domid, value reason)
+-{
+-      CAMLparam3(xch, domid, reason);
+-      int ret;
+-
+-      ret = xc_domain_shutdown(_H(xch), _D(domid), Int_val(reason));
+-      if (ret < 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-static value alloc_domaininfo(xc_domaininfo_t * info)
+-{
+-      CAMLparam0();
+-      CAMLlocal2(result, tmp);
+-      int i;
+-
+-      result = caml_alloc_tuple(16);
+-
+-      Store_field(result,  0, Val_int(info->domain));
+-      Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying));
+-      Store_field(result,  2, Val_bool(info->flags & XEN_DOMINF_shutdown));
+-      Store_field(result,  3, Val_bool(info->flags & XEN_DOMINF_paused));
+-      Store_field(result,  4, Val_bool(info->flags & XEN_DOMINF_blocked));
+-      Store_field(result,  5, Val_bool(info->flags & XEN_DOMINF_running));
+-      Store_field(result,  6, Val_bool(info->flags & XEN_DOMINF_hvm_guest));
+-      Store_field(result,  7, Val_int((info->flags >> XEN_DOMINF_shutdownshift)
+-                                       & XEN_DOMINF_shutdownmask));
+-      Store_field(result,  8, caml_copy_nativeint(info->tot_pages));
+-      Store_field(result,  9, caml_copy_nativeint(info->max_pages));
+-      Store_field(result, 10, caml_copy_int64(info->shared_info_frame));
+-      Store_field(result, 11, caml_copy_int64(info->cpu_time));
+-      Store_field(result, 12, Val_int(info->nr_online_vcpus));
+-      Store_field(result, 13, Val_int(info->max_vcpu_id));
+-      Store_field(result, 14, caml_copy_int32(info->ssidref));
+-
+-        tmp = caml_alloc_small(16, 0);
+-      for (i = 0; i < 16; i++) {
+-              Field(tmp, i) = Val_int(info->handle[i]);
+-      }
+-
+-      Store_field(result, 15, tmp);
+-
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_xc_domain_getinfolist(value xch, value first_domain, value nb)
+-{
+-      CAMLparam3(xch, first_domain, nb);
+-      CAMLlocal2(result, temp);
+-      xc_domaininfo_t * info;
+-      int i, ret, toalloc, retval;
+-      unsigned int c_max_domains;
+-      uint32_t c_first_domain;
+-
+-      /* get the minimum number of allocate byte we need and bump it up to page boundary */
+-      toalloc = (sizeof(xc_domaininfo_t) * Int_val(nb)) | 0xfff;
+-      ret = posix_memalign((void **) ((void *) &info), 4096, toalloc);
+-      if (ret)
+-              caml_raise_out_of_memory();
+-
+-      result = temp = Val_emptylist;
+-
+-      c_first_domain = _D(first_domain);
+-      c_max_domains = Int_val(nb);
+-      // caml_enter_blocking_section();
+-      retval = xc_domain_getinfolist(_H(xch), c_first_domain,
+-                                     c_max_domains, info);
+-      // caml_leave_blocking_section();
+-
+-      if (retval < 0) {
+-              free(info);
+-              failwith_xc(_H(xch));
+-      }
+-      for (i = 0; i < retval; i++) {
+-              result = caml_alloc_small(2, Tag_cons);
+-              Field(result, 0) = Val_int(0);
+-              Field(result, 1) = temp;
+-              temp = result;
+-
+-              Store_field(result, 0, alloc_domaininfo(info + i));
+-      }
+-
+-      free(info);
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_xc_domain_getinfo(value xch, value domid)
+-{
+-      CAMLparam2(xch, domid);
+-      CAMLlocal1(result);
+-      xc_domaininfo_t info;
+-      int ret;
+-
+-      ret = xc_domain_getinfolist(_H(xch), _D(domid), 1, &info);
+-      if (ret != 1)
+-              failwith_xc(_H(xch));
+-      if (info.domain != _D(domid))
+-              failwith_xc(_H(xch));
+-
+-      result = alloc_domaininfo(&info);
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_xc_vcpu_getinfo(value xch, value domid, value vcpu)
+-{
+-      CAMLparam3(xch, domid, vcpu);
+-      CAMLlocal1(result);
+-      xc_vcpuinfo_t info;
+-      int retval;
+-
+-      uint32_t c_domid = _D(domid);
+-      uint32_t c_vcpu = Int_val(vcpu);
+-      // caml_enter_blocking_section();
+-      retval = xc_vcpu_getinfo(_H(xch), c_domid,
+-                               c_vcpu, &info);
+-      // caml_leave_blocking_section();
+-      if (retval < 0)
+-              failwith_xc(_H(xch));
+-
+-      result = caml_alloc_tuple(5);
+-      Store_field(result, 0, Val_bool(info.online));
+-      Store_field(result, 1, Val_bool(info.blocked));
+-      Store_field(result, 2, Val_bool(info.running));
+-      Store_field(result, 3, caml_copy_int64(info.cpu_time));
+-      Store_field(result, 4, caml_copy_int32(info.cpu));
+-
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_xc_vcpu_context_get(value xch, value domid,
+-                                        value cpu)
+-{
+-      CAMLparam3(xch, domid, cpu);
+-      CAMLlocal1(context);
+-      int ret;
+-      vcpu_guest_context_any_t ctxt;
+-
+-      ret = xc_vcpu_getcontext(_H(xch), _D(domid), Int_val(cpu), &ctxt);
+-
+-      context = caml_alloc_string(sizeof(ctxt));
+-      memcpy(String_val(context), (char *) &ctxt.c, sizeof(ctxt.c));
+-
+-      CAMLreturn(context);
+-}
+-
+-static int get_cpumap_len(value xch, value cpumap)
+-{
+-      int ml_len = Wosize_val(cpumap);
+-      int xc_len = xc_get_max_cpus(_H(xch));
+-
+-      if (ml_len < xc_len)
+-              return ml_len;
+-      else
+-              return xc_len;
+-}
+-
+-CAMLprim value stub_xc_vcpu_setaffinity(value xch, value domid,
+-                                        value vcpu, value cpumap)
+-{
+-      CAMLparam4(xch, domid, vcpu, cpumap);
+-      int i, len = get_cpumap_len(xch, cpumap);
+-      xc_cpumap_t c_cpumap;
+-      int retval;
+-
+-      c_cpumap = xc_cpumap_alloc(_H(xch));
+-      if (c_cpumap == NULL)
+-              failwith_xc(_H(xch));
+-
+-      for (i=0; i<len; i++) {
+-              if (Bool_val(Field(cpumap, i)))
+-                      c_cpumap[i/8] |= i << (i&7);
+-      }
+-      retval = xc_vcpu_setaffinity(_H(xch), _D(domid),
+-                                   Int_val(vcpu), c_cpumap);
+-      free(c_cpumap);
+-
+-      if (retval < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_vcpu_getaffinity(value xch, value domid,
+-                                        value vcpu)
+-{
+-      CAMLparam3(xch, domid, vcpu);
+-      CAMLlocal1(ret);
+-      xc_cpumap_t c_cpumap;
+-      int i, len = xc_get_max_cpus(_H(xch));
+-      int retval;
+-
+-      c_cpumap = xc_cpumap_alloc(_H(xch));
+-      if (c_cpumap == NULL)
+-              failwith_xc(_H(xch));
+-
+-      retval = xc_vcpu_getaffinity(_H(xch), _D(domid),
+-                                   Int_val(vcpu), c_cpumap);
+-      free(c_cpumap);
+-
+-      if (retval < 0) {
+-              free(c_cpumap);
+-              failwith_xc(_H(xch));
+-      }
+-
+-      ret = caml_alloc(len, 0);
+-
+-      for (i=0; i<len; i++) {
+-              if (c_cpumap[i%8] & 1 << (i&7))
+-                      Store_field(ret, i, Val_true);
+-              else
+-                      Store_field(ret, i, Val_false);
+-      }
+-
+-      free(c_cpumap);
+-
+-      CAMLreturn(ret);
+-}
+-
+-CAMLprim value stub_xc_sched_id(value xch)
+-{
+-      CAMLparam1(xch);
+-      int sched_id;
+-
+-      if (xc_sched_id(_H(xch), &sched_id))
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_int(sched_id));
+-}
+-
+-CAMLprim value stub_xc_evtchn_alloc_unbound(value xch,
+-                                            value local_domid,
+-                                            value remote_domid)
+-{
+-      CAMLparam3(xch, local_domid, remote_domid);
+-
+-      uint32_t c_local_domid = _D(local_domid);
+-      uint32_t c_remote_domid = _D(remote_domid);
+-
+-      // caml_enter_blocking_section();
+-      int result = xc_evtchn_alloc_unbound(_H(xch), c_local_domid,
+-                                           c_remote_domid);
+-      // caml_leave_blocking_section();
+-
+-      if (result < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_int(result));
+-}
+-
+-CAMLprim value stub_xc_evtchn_reset(value xch, value domid)
+-{
+-      CAMLparam2(xch, domid);
+-      int r;
+-
+-      r = xc_evtchn_reset(_H(xch), _D(domid));
+-      if (r < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-
+-#define RING_SIZE 32768
+-static char ring[RING_SIZE];
+-
+-CAMLprim value stub_xc_readconsolering(value xch)
+-{
+-      unsigned int size = RING_SIZE;
+-      char *ring_ptr = ring;
+-
+-      CAMLparam1(xch);
+-
+-      // caml_enter_blocking_section();
+-      int retval = xc_readconsolering(_H(xch), ring_ptr, &size, 0, 0, NULL);
+-      // caml_leave_blocking_section();
+-
+-      if (retval)
+-              failwith_xc(_H(xch));
+-      ring[size] = '\0';
+-      CAMLreturn(caml_copy_string(ring));
+-}
+-
+-CAMLprim value stub_xc_send_debug_keys(value xch, value keys)
+-{
+-      CAMLparam2(xch, keys);
+-      int r;
+-
+-      r = xc_send_debug_keys(_H(xch), String_val(keys));
+-      if (r)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_physinfo(value xch)
+-{
+-      CAMLparam1(xch);
+-      CAMLlocal3(physinfo, cap_list, tmp);
+-      xc_physinfo_t c_physinfo;
+-      int r;
+-
+-      // caml_enter_blocking_section();
+-      r = xc_physinfo(_H(xch), &c_physinfo);
+-      // caml_leave_blocking_section();
+-
+-      if (r)
+-              failwith_xc(_H(xch));
+-
+-      tmp = cap_list = Val_emptylist;
+-      for (r = 0; r < 2; r++) {
+-              if ((c_physinfo.capabilities >> r) & 1) {
+-                      tmp = caml_alloc_small(2, Tag_cons);
+-                      Field(tmp, 0) = Val_int(r);
+-                      Field(tmp, 1) = cap_list;
+-                      cap_list = tmp;
+-              }
+-      }
+-
+-      physinfo = caml_alloc_tuple(9);
+-      Store_field(physinfo, 0, Val_int(c_physinfo.threads_per_core));
+-      Store_field(physinfo, 1, Val_int(c_physinfo.cores_per_socket));
+-      Store_field(physinfo, 2, Val_int(c_physinfo.nr_cpus));
+-      Store_field(physinfo, 3, Val_int(c_physinfo.max_node_id));
+-      Store_field(physinfo, 4, Val_int(c_physinfo.cpu_khz));
+-      Store_field(physinfo, 5, caml_copy_nativeint(c_physinfo.total_pages));
+-      Store_field(physinfo, 6, caml_copy_nativeint(c_physinfo.free_pages));
+-      Store_field(physinfo, 7, caml_copy_nativeint(c_physinfo.scrub_pages));
+-      Store_field(physinfo, 8, cap_list);
+-
+-      CAMLreturn(physinfo);
+-}
+-
+-CAMLprim value stub_xc_pcpu_info(value xch, value nr_cpus)
+-{
+-      CAMLparam2(xch, nr_cpus);
+-      CAMLlocal2(pcpus, v);
+-      xc_cpuinfo_t *info;
+-      int r, size;
+-
+-      if (Int_val(nr_cpus) < 1)
+-              caml_invalid_argument("nr_cpus");
+-      
+-      info = calloc(Int_val(nr_cpus) + 1, sizeof(*info));
+-      if (!info)
+-              caml_raise_out_of_memory();
+-
+-      // caml_enter_blocking_section();
+-      r = xc_getcpuinfo(_H(xch), Int_val(nr_cpus), info, &size);
+-      // caml_leave_blocking_section();
+-
+-      if (r) {
+-              free(info);
+-              failwith_xc(_H(xch));
+-      }
+-
+-      if (size > 0) {
+-              int i;
+-              pcpus = caml_alloc(size, 0);
+-              for (i = 0; i < size; i++) {
+-                      v = caml_copy_int64(info[i].idletime);
+-                      caml_modify(&Field(pcpus, i), v);
+-              }
+-      } else
+-              pcpus = Atom(0);
+-      free(info);
+-      CAMLreturn(pcpus);
+-}
+-
+-CAMLprim value stub_xc_domain_setmaxmem(value xch, value domid,
+-                                        value max_memkb)
+-{
+-      CAMLparam3(xch, domid, max_memkb);
+-
+-      uint32_t c_domid = _D(domid);
+-      unsigned int c_max_memkb = Int64_val(max_memkb);
+-      // caml_enter_blocking_section();
+-      int retval = xc_domain_setmaxmem(_H(xch), c_domid,
+-                                       c_max_memkb);
+-      // caml_leave_blocking_section();
+-      if (retval)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_set_memmap_limit(value xch, value domid,
+-                                               value map_limitkb)
+-{
+-      CAMLparam3(xch, domid, map_limitkb);
+-      unsigned long v;
+-      int retval;
+-
+-      v = Int64_val(map_limitkb);
+-      retval = xc_domain_set_memmap_limit(_H(xch), _D(domid), v);
+-      if (retval)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_memory_increase_reservation(value xch,
+-                                                          value domid,
+-                                                          value mem_kb)
+-{
+-      CAMLparam3(xch, domid, mem_kb);
+-
+-      unsigned long nr_extents = ((unsigned long)(Int64_val(mem_kb))) >> (PAGE_SHIFT - 10);
+-
+-      uint32_t c_domid = _D(domid);
+-      // caml_enter_blocking_section();
+-      int retval = xc_domain_increase_reservation_exact(_H(xch), c_domid,
+-                                                        nr_extents, 0, 0, NULL);
+-      // caml_leave_blocking_section();
+-
+-      if (retval)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_set_machine_address_size(value xch,
+-                                                     value domid,
+-                                                     value width)
+-{
+-      CAMLparam3(xch, domid, width);
+-      uint32_t c_domid = _D(domid);
+-      int c_width = Int_val(width);
+-
+-      int retval = xc_domain_set_machine_address_size(_H(xch), c_domid, c_width);
+-      if (retval)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_get_machine_address_size(value xch,
+-                                                       value domid)
+-{
+-      CAMLparam2(xch, domid);
+-      int retval;
+-
+-      retval = xc_domain_get_machine_address_size(_H(xch), _D(domid));
+-      if (retval < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_int(retval));
+-}
+-
+-CAMLprim value stub_xc_domain_cpuid_set(value xch, value domid,
+-                                        value input,
+-                                        value config)
+-{
+-      CAMLparam4(xch, domid, input, config);
+-      CAMLlocal2(array, tmp);
+-      int r;
+-      unsigned int c_input[2];
+-      char *c_config[4], *out_config[4];
+-
+-      c_config[0] = string_of_option_array(config, 0);
+-      c_config[1] = string_of_option_array(config, 1);
+-      c_config[2] = string_of_option_array(config, 2);
+-      c_config[3] = string_of_option_array(config, 3);
+-
+-      cpuid_input_of_val(c_input[0], c_input[1], input);
+-
+-      array = caml_alloc(4, 0);
+-      for (r = 0; r < 4; r++) {
+-              tmp = Val_none;
+-              if (c_config[r]) {
+-                      tmp = caml_alloc_small(1, 0);
+-                      Field(tmp, 0) = caml_alloc_string(32);
+-              }
+-              Store_field(array, r, tmp);
+-      }
+-
+-      for (r = 0; r < 4; r++)
+-              out_config[r] = (c_config[r]) ? String_val(Field(Field(array, r), 0)) : NULL;
+-
+-      r = xc_cpuid_set(_H(xch), _D(domid),
+-                       c_input, (const char **)c_config, out_config);
+-      if (r < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(array);
+-}
+-
+-CAMLprim value stub_xc_domain_cpuid_apply_policy(value xch, value domid)
+-{
+-      CAMLparam2(xch, domid);
+-      int r;
+-
+-      r = xc_cpuid_apply_policy(_H(xch), _D(domid));
+-      if (r < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_cpuid_check(value xch, value input, value config)
+-{
+-      CAMLparam3(xch, input, config);
+-      CAMLlocal3(ret, array, tmp);
+-      int r;
+-      unsigned int c_input[2];
+-      char *c_config[4], *out_config[4];
+-
+-      c_config[0] = string_of_option_array(config, 0);
+-      c_config[1] = string_of_option_array(config, 1);
+-      c_config[2] = string_of_option_array(config, 2);
+-      c_config[3] = string_of_option_array(config, 3);
+-
+-      cpuid_input_of_val(c_input[0], c_input[1], input);
+-
+-      array = caml_alloc(4, 0);
+-      for (r = 0; r < 4; r++) {
+-              tmp = Val_none;
+-              if (c_config[r]) {
+-                      tmp = caml_alloc_small(1, 0);
+-                      Field(tmp, 0) = caml_alloc_string(32);
+-              }
+-              Store_field(array, r, tmp);
+-      }
+-
+-      for (r = 0; r < 4; r++)
+-              out_config[r] = (c_config[r]) ? String_val(Field(Field(array, r), 0)) : NULL;
+-
+-      r = xc_cpuid_check(_H(xch), c_input, (const char **)c_config, out_config);
+-      if (r < 0)
+-              failwith_xc(_H(xch));
+-
+-      ret = caml_alloc_tuple(2);
+-      Store_field(ret, 0, Val_bool(r));
+-      Store_field(ret, 1, array);
+-
+-      CAMLreturn(ret);
+-}
+-
+-CAMLprim value stub_xc_version_version(value xch)
+-{
+-      CAMLparam1(xch);
+-      CAMLlocal1(result);
+-      xen_extraversion_t extra;
+-      long packed;
+-      int retval;
+-
+-      // caml_enter_blocking_section();
+-      packed = xc_version(_H(xch), XENVER_version, NULL);
+-      retval = xc_version(_H(xch), XENVER_extraversion, &extra);
+-      // caml_leave_blocking_section();
+-
+-      if (retval)
+-              failwith_xc(_H(xch));
+-
+-      result = caml_alloc_tuple(3);
+-
+-      Store_field(result, 0, Val_int(packed >> 16));
+-      Store_field(result, 1, Val_int(packed & 0xffff));
+-      Store_field(result, 2, caml_copy_string(extra));
+-
+-      CAMLreturn(result);
+-}
+-
+-
+-CAMLprim value stub_xc_version_compile_info(value xch)
+-{
+-      CAMLparam1(xch);
+-      CAMLlocal1(result);
+-      xen_compile_info_t ci;
+-      int retval;
+-
+-      // caml_enter_blocking_section();
+-      retval = xc_version(_H(xch), XENVER_compile_info, &ci);
+-      // caml_leave_blocking_section();
+-
+-      if (retval)
+-              failwith_xc(_H(xch));
+-
+-      result = caml_alloc_tuple(4);
+-
+-      Store_field(result, 0, caml_copy_string(ci.compiler));
+-      Store_field(result, 1, caml_copy_string(ci.compile_by));
+-      Store_field(result, 2, caml_copy_string(ci.compile_domain));
+-      Store_field(result, 3, caml_copy_string(ci.compile_date));
+-
+-      CAMLreturn(result);
+-}
+-
+-
+-static value xc_version_single_string(value xch, int code, void *info)
+-{
+-      CAMLparam1(xch);
+-      int retval;
+-
+-      // caml_enter_blocking_section();
+-      retval = xc_version(_H(xch), code, info);
+-      // caml_leave_blocking_section();
+-
+-      if (retval)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(caml_copy_string((char *)info));
+-}
+-
+-
+-CAMLprim value stub_xc_version_changeset(value xch)
+-{
+-      xen_changeset_info_t ci;
+-
+-      return xc_version_single_string(xch, XENVER_changeset, &ci);
+-}
+-
+-
+-CAMLprim value stub_xc_version_capabilities(value xch)
+-{
+-      xen_capabilities_info_t ci;
+-
+-      return xc_version_single_string(xch, XENVER_capabilities, &ci);
+-}
+-
+-
+-CAMLprim value stub_pages_to_kib(value pages)
+-{
+-      CAMLparam1(pages);
+-
+-      CAMLreturn(caml_copy_int64(Int64_val(pages) << (PAGE_SHIFT - 10)));
+-}
+-
+-
+-CAMLprim value stub_map_foreign_range(value xch, value dom,
+-                                      value size, value mfn)
+-{
+-      CAMLparam4(xch, dom, size, mfn);
+-      CAMLlocal1(result);
+-      struct mmap_interface *intf;
+-      uint32_t c_dom;
+-      unsigned long c_mfn;
+-
+-      result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
+-      intf = (struct mmap_interface *) result;
+-
+-      intf->len = Int_val(size);
+-
+-      c_dom = _D(dom);
+-      c_mfn = Nativeint_val(mfn);
+-      // caml_enter_blocking_section();
+-      intf->addr = xc_map_foreign_range(_H(xch), c_dom,
+-                                        intf->len, PROT_READ|PROT_WRITE,
+-                                        c_mfn);
+-      // caml_leave_blocking_section();
+-      if (!intf->addr)
+-              caml_failwith("xc_map_foreign_range error");
+-      CAMLreturn(result);
+-}
+-
+-CAMLprim value stub_sched_credit_domain_get(value xch, value domid)
+-{
+-      CAMLparam2(xch, domid);
+-      CAMLlocal1(sdom);
+-      struct xen_domctl_sched_credit c_sdom;
+-      int ret;
+-
+-      // caml_enter_blocking_section();
+-      ret = xc_sched_credit_domain_get(_H(xch), _D(domid), &c_sdom);
+-      // caml_leave_blocking_section();
+-      if (ret != 0)
+-              failwith_xc(_H(xch));
+-
+-      sdom = caml_alloc_tuple(2);
+-      Store_field(sdom, 0, Val_int(c_sdom.weight));
+-      Store_field(sdom, 1, Val_int(c_sdom.cap));
+-
+-      CAMLreturn(sdom);
+-}
+-
+-CAMLprim value stub_sched_credit_domain_set(value xch, value domid,
+-                                            value sdom)
+-{
+-      CAMLparam3(xch, domid, sdom);
+-      struct xen_domctl_sched_credit c_sdom;
+-      int ret;
+-
+-      c_sdom.weight = Int_val(Field(sdom, 0));
+-      c_sdom.cap = Int_val(Field(sdom, 1));
+-      // caml_enter_blocking_section();
+-      ret = xc_sched_credit_domain_set(_H(xch), _D(domid), &c_sdom);
+-      // caml_leave_blocking_section();
+-      if (ret != 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_shadow_allocation_get(value xch, value domid)
+-{
+-      CAMLparam2(xch, domid);
+-      CAMLlocal1(mb);
+-      unsigned long c_mb;
+-      int ret;
+-
+-      // caml_enter_blocking_section();
+-      ret = xc_shadow_control(_H(xch), _D(domid),
+-                              XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION,
+-                              NULL, 0, &c_mb, 0, NULL);
+-      // caml_leave_blocking_section();
+-      if (ret != 0)
+-              failwith_xc(_H(xch));
+-
+-      mb = Val_int(c_mb);
+-      CAMLreturn(mb);
+-}
+-
+-CAMLprim value stub_shadow_allocation_set(value xch, value domid,
+-                                        value mb)
+-{
+-      CAMLparam3(xch, domid, mb);
+-      unsigned long c_mb;
+-      int ret;
+-
+-      c_mb = Int_val(mb);
+-      // caml_enter_blocking_section();
+-      ret = xc_shadow_control(_H(xch), _D(domid),
+-                              XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION,
+-                              NULL, 0, &c_mb, 0, NULL);
+-      // caml_leave_blocking_section();
+-      if (ret != 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_get_pfn_list(value xch, value domid,
+-                                           value nr_pfns)
+-{
+-      CAMLparam3(xch, domid, nr_pfns);
+-      CAMLlocal2(array, v);
+-      unsigned long c_nr_pfns;
+-      long ret, i;
+-      uint64_t *c_array;
+-
+-      c_nr_pfns = Nativeint_val(nr_pfns);
+-
+-      c_array = malloc(sizeof(uint64_t) * c_nr_pfns);
+-      if (!c_array)
+-              caml_raise_out_of_memory();
+-
+-      ret = xc_get_pfn_list(_H(xch), _D(domid),
+-                            c_array, c_nr_pfns);
+-      if (ret < 0) {
+-              free(c_array);
+-              failwith_xc(_H(xch));
+-      }
+-
+-      array = caml_alloc(ret, 0);
+-      for (i = 0; i < ret; i++) {
+-              v = caml_copy_nativeint(c_array[i]);
+-              Store_field(array, i, v);
+-      }
+-      free(c_array);
+-
+-      CAMLreturn(array);
+-}
+-
+-CAMLprim value stub_xc_domain_ioport_permission(value xch, value domid,
+-                                             value start_port, value nr_ports,
+-                                             value allow)
+-{
+-      CAMLparam5(xch, domid, start_port, nr_ports, allow);
+-      uint32_t c_start_port, c_nr_ports;
+-      uint8_t c_allow;
+-      int ret;
+-
+-      c_start_port = Int_val(start_port);
+-      c_nr_ports = Int_val(nr_ports);
+-      c_allow = Bool_val(allow);
+-
+-      ret = xc_domain_ioport_permission(_H(xch), _D(domid),
+-                                       c_start_port, c_nr_ports, c_allow);
+-      if (ret < 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_iomem_permission(value xch, value domid,
+-                                             value start_pfn, value nr_pfns,
+-                                             value allow)
+-{
+-      CAMLparam5(xch, domid, start_pfn, nr_pfns, allow);
+-      unsigned long c_start_pfn, c_nr_pfns;
+-      uint8_t c_allow;
+-      int ret;
+-
+-      c_start_pfn = Nativeint_val(start_pfn);
+-      c_nr_pfns = Nativeint_val(nr_pfns);
+-      c_allow = Bool_val(allow);
+-
+-      ret = xc_domain_iomem_permission(_H(xch), _D(domid),
+-                                       c_start_pfn, c_nr_pfns, c_allow);
+-      if (ret < 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_irq_permission(value xch, value domid,
+-                                           value pirq, value allow)
+-{
+-      CAMLparam4(xch, domid, pirq, allow);
+-      uint8_t c_pirq;
+-      uint8_t c_allow;
+-      int ret;
+-
+-      c_pirq = Int_val(pirq);
+-      c_allow = Bool_val(allow);
+-
+-      ret = xc_domain_irq_permission(_H(xch), _D(domid),
+-                                     c_pirq, c_allow);
+-      if (ret < 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-static uint32_t pci_dev_to_bdf(int domain, int bus, int slot, int func)
+-{
+-      uint32_t bdf = 0;
+-      bdf |= (bus & 0xff) << 16;
+-      bdf |= (slot & 0x1f) << 11;
+-      bdf |= (func & 0x7) << 8;
+-      return bdf;
+-}
+-
+-CAMLprim value stub_xc_domain_test_assign_device(value xch, value domid, value desc)
+-{
+-      CAMLparam3(xch, domid, desc);
+-      int ret;
+-      int domain, bus, slot, func;
+-      uint32_t bdf;
+-
+-      domain = Int_val(Field(desc, 0));
+-      bus = Int_val(Field(desc, 1));
+-      slot = Int_val(Field(desc, 2));
+-      func = Int_val(Field(desc, 3));
+-      bdf = pci_dev_to_bdf(domain, bus, slot, func);
+-
+-      ret = xc_test_assign_device(_H(xch), _D(domid), bdf);
+-
+-      CAMLreturn(Val_bool(ret == 0));
+-}
+-
+-CAMLprim value stub_xc_domain_assign_device(value xch, value domid, value desc)
+-{
+-      CAMLparam3(xch, domid, desc);
+-      int ret;
+-      int domain, bus, slot, func;
+-      uint32_t bdf;
+-
+-      domain = Int_val(Field(desc, 0));
+-      bus = Int_val(Field(desc, 1));
+-      slot = Int_val(Field(desc, 2));
+-      func = Int_val(Field(desc, 3));
+-      bdf = pci_dev_to_bdf(domain, bus, slot, func);
+-
+-      ret = xc_assign_device(_H(xch), _D(domid), bdf);
+-
+-      if (ret < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_domain_deassign_device(value xch, value domid, value desc)
+-{
+-      CAMLparam3(xch, domid, desc);
+-      int ret;
+-      int domain, bus, slot, func;
+-      uint32_t bdf;
+-
+-      domain = Int_val(Field(desc, 0));
+-      bus = Int_val(Field(desc, 1));
+-      slot = Int_val(Field(desc, 2));
+-      func = Int_val(Field(desc, 3));
+-      bdf = pci_dev_to_bdf(domain, bus, slot, func);
+-
+-      ret = xc_deassign_device(_H(xch), _D(domid), bdf);
+-
+-      if (ret < 0)
+-              failwith_xc(_H(xch));
+-      CAMLreturn(Val_unit);
+-}
+-
+-CAMLprim value stub_xc_watchdog(value xch, value domid, value timeout)
+-{
+-      CAMLparam3(xch, domid, timeout);
+-      int ret;
+-      unsigned int c_timeout = Int32_val(timeout);
+-
+-      ret = xc_watchdog(_H(xch), _D(domid), c_timeout);
+-      if (ret < 0)
+-              failwith_xc(_H(xch));
+-
+-      CAMLreturn(Val_int(ret));
+-}
+-
+-/*
+- * Local variables:
+- *  indent-tabs-mode: t
+- *  c-basic-offset: 8
+- *  tab-width: 8
+- * End:
+- */
+--- /dev/null
++++ b/tools/ocaml/libs/xc/xenctrl.ml
+@@ -0,0 +1,326 @@
++(*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++(** *)
++type domid = int
++
++(* ** xenctrl.h ** *)
++
++type vcpuinfo =
++{
++      online: bool;
++      blocked: bool;
++      running: bool;
++      cputime: int64;
++      cpumap: int32;
++}
++
++type domaininfo =
++{
++      domid             : domid;
++      dying             : bool;
++      shutdown          : bool;
++      paused            : bool;
++      blocked           : bool;
++      running           : bool;
++      hvm_guest         : bool;
++      shutdown_code     : int;
++      total_memory_pages: nativeint;
++      max_memory_pages  : nativeint;
++      shared_info_frame : int64;
++      cpu_time          : int64;
++      nr_online_vcpus   : int;
++      max_vcpu_id       : int;
++      ssidref           : int32;
++      handle            : int array;
++}
++
++type sched_control =
++{
++      weight : int;
++      cap    : int;
++}
++
++type physinfo_cap_flag =
++      | CAP_HVM
++      | CAP_DirectIO
++
++type physinfo =
++{
++      threads_per_core : int;
++      cores_per_socket : int;
++      nr_cpus          : int;
++      max_node_id      : int;
++      cpu_khz          : int;
++      total_pages      : nativeint;
++      free_pages       : nativeint;
++      scrub_pages      : nativeint;
++      (* XXX hw_cap *)
++      capabilities     : physinfo_cap_flag list;
++}
++
++type version =
++{
++      major : int;
++      minor : int;
++      extra : string;
++}
++
++
++type compile_info =
++{
++      compiler : string;
++      compile_by : string;
++      compile_domain : string;
++      compile_date : string;
++}
++
++type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
++
++type domain_create_flag = CDF_HVM | CDF_HAP
++
++exception Error of string
++
++type handle
++
++(* this is only use by coredumping *)
++external sizeof_core_header: unit -> int
++       = "stub_sizeof_core_header"
++external sizeof_vcpu_guest_context: unit -> int
++       = "stub_sizeof_vcpu_guest_context"
++external sizeof_xen_pfn: unit -> int = "stub_sizeof_xen_pfn"
++(* end of use *)
++
++external interface_open: unit -> handle = "stub_xc_interface_open"
++external interface_close: handle -> unit = "stub_xc_interface_close"
++
++external is_fake: unit -> bool = "stub_xc_interface_is_fake"
++
++let with_intf f =
++      let xc = interface_open () in
++      let r = try f xc with exn -> interface_close xc; raise exn in
++      interface_close xc;
++      r
++
++external _domain_create: handle -> int32 -> domain_create_flag list -> int array -> domid
++       = "stub_xc_domain_create"
++
++let domain_create handle n flags uuid =
++      _domain_create handle n flags (Uuid.int_array_of_uuid uuid)
++
++external _domain_sethandle: handle -> domid -> int array -> unit
++                          = "stub_xc_domain_sethandle"
++
++let domain_sethandle handle n uuid =
++      _domain_sethandle handle n (Uuid.int_array_of_uuid uuid)
++
++external domain_max_vcpus: handle -> domid -> int -> unit
++       = "stub_xc_domain_max_vcpus"
++
++external domain_pause: handle -> domid -> unit = "stub_xc_domain_pause"
++external domain_unpause: handle -> domid -> unit = "stub_xc_domain_unpause"
++external domain_resume_fast: handle -> domid -> unit = "stub_xc_domain_resume_fast"
++external domain_destroy: handle -> domid -> unit = "stub_xc_domain_destroy"
++
++external domain_shutdown: handle -> domid -> shutdown_reason -> unit
++       = "stub_xc_domain_shutdown"
++
++external _domain_getinfolist: handle -> domid -> int -> domaininfo list
++       = "stub_xc_domain_getinfolist"
++
++let domain_getinfolist handle first_domain =
++      let nb = 2 in
++      let last_domid l = (List.hd l).domid + 1 in
++      let rec __getlist from =
++              let l = _domain_getinfolist handle from nb in
++              (if List.length l = nb then __getlist (last_domid l) else []) @ l
++              in
++      List.rev (__getlist first_domain)
++
++external domain_getinfo: handle -> domid -> domaininfo= "stub_xc_domain_getinfo"
++
++external domain_get_vcpuinfo: handle -> int -> int -> vcpuinfo
++       = "stub_xc_vcpu_getinfo"
++
++external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
++       = "stub_xc_domain_ioport_permission"
++external domain_iomem_permission: handle -> domid -> nativeint -> nativeint -> bool -> unit
++       = "stub_xc_domain_iomem_permission"
++external domain_irq_permission: handle -> domid -> int -> bool -> unit
++       = "stub_xc_domain_irq_permission"
++
++external vcpu_affinity_set: handle -> domid -> int -> bool array -> unit
++       = "stub_xc_vcpu_setaffinity"
++external vcpu_affinity_get: handle -> domid -> int -> bool array
++       = "stub_xc_vcpu_getaffinity"
++
++external vcpu_context_get: handle -> domid -> int -> string
++       = "stub_xc_vcpu_context_get"
++
++external sched_id: handle -> int = "stub_xc_sched_id"
++
++external sched_credit_domain_set: handle -> domid -> sched_control -> unit
++       = "stub_sched_credit_domain_set"
++external sched_credit_domain_get: handle -> domid -> sched_control
++       = "stub_sched_credit_domain_get"
++
++external shadow_allocation_set: handle -> domid -> int -> unit
++       = "stub_shadow_allocation_set"
++external shadow_allocation_get: handle -> domid -> int
++       = "stub_shadow_allocation_get"
++
++external evtchn_alloc_unbound: handle -> domid -> domid -> int
++       = "stub_xc_evtchn_alloc_unbound"
++external evtchn_reset: handle -> domid -> unit = "stub_xc_evtchn_reset"
++
++external readconsolering: handle -> string = "stub_xc_readconsolering"
++
++external send_debug_keys: handle -> string -> unit = "stub_xc_send_debug_keys"
++external physinfo: handle -> physinfo = "stub_xc_physinfo"
++external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
++
++external domain_setmaxmem: handle -> domid -> int64 -> unit
++       = "stub_xc_domain_setmaxmem"
++external domain_set_memmap_limit: handle -> domid -> int64 -> unit
++       = "stub_xc_domain_set_memmap_limit"
++external domain_memory_increase_reservation: handle -> domid -> int64 -> unit
++       = "stub_xc_domain_memory_increase_reservation"
++
++external domain_set_machine_address_size: handle -> domid -> int -> unit
++       = "stub_xc_domain_set_machine_address_size"
++external domain_get_machine_address_size: handle -> domid -> int
++       = "stub_xc_domain_get_machine_address_size"
++
++external domain_cpuid_set: handle -> domid -> (int64 * (int64 option))
++                        -> string option array
++                        -> string option array
++       = "stub_xc_domain_cpuid_set"
++external domain_cpuid_apply_policy: handle -> domid -> unit
++       = "stub_xc_domain_cpuid_apply_policy"
++external cpuid_check: handle -> (int64 * (int64 option)) -> string option array -> (bool * string option array)
++       = "stub_xc_cpuid_check"
++
++external map_foreign_range: handle -> domid -> int
++                         -> nativeint -> Xenmmap.mmap_interface
++       = "stub_map_foreign_range"
++
++external domain_get_pfn_list: handle -> domid -> nativeint -> nativeint array
++       = "stub_xc_domain_get_pfn_list"
++
++external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
++       = "stub_xc_domain_assign_device"
++external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
++       = "stub_xc_domain_deassign_device"
++external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
++       = "stub_xc_domain_test_assign_device"
++
++external version: handle -> version = "stub_xc_version_version"
++external version_compile_info: handle -> compile_info
++       = "stub_xc_version_compile_info"
++external version_changeset: handle -> string = "stub_xc_version_changeset"
++external version_capabilities: handle -> string =
++  "stub_xc_version_capabilities"
++
++external watchdog : handle -> int -> int32 -> int
++  = "stub_xc_watchdog"
++
++(* core dump structure *)
++type core_magic = Magic_hvm | Magic_pv
++
++type core_header = {
++      xch_magic: core_magic;
++      xch_nr_vcpus: int;
++      xch_nr_pages: nativeint;
++      xch_index_offset: int64;
++      xch_ctxt_offset: int64;
++      xch_pages_offset: int64;
++}
++
++external marshall_core_header: core_header -> string = "stub_marshall_core_header"
++
++(* coredump *)
++let coredump xch domid fd =
++      let dump s =
++              let wd = Unix.write fd s 0 (String.length s) in
++              if wd <> String.length s then
++                      failwith "error while writing";
++              in
++
++      let info = domain_getinfo xch domid in
++
++      let nrpages = info.total_memory_pages in
++      let ctxt = Array.make info.max_vcpu_id None in
++      let nr_vcpus = ref 0 in
++      for i = 0 to info.max_vcpu_id - 1
++      do
++              ctxt.(i) <- try
++                      let v = vcpu_context_get xch domid i in
++                      incr nr_vcpus;
++                      Some v
++                      with _ -> None
++      done;
++
++      (* FIXME page offset if not rounded to sup *)
++      let page_offset =
++              Int64.add
++                      (Int64.of_int (sizeof_core_header () +
++                       (sizeof_vcpu_guest_context () * !nr_vcpus)))
++                      (Int64.of_nativeint (
++                              Nativeint.mul
++                                      (Nativeint.of_int (sizeof_xen_pfn ()))
++                                      nrpages)
++                              )
++              in
++
++      let header = {
++              xch_magic = if info.hvm_guest then Magic_hvm else Magic_pv;
++              xch_nr_vcpus = !nr_vcpus;
++              xch_nr_pages = nrpages;
++              xch_ctxt_offset = Int64.of_int (sizeof_core_header ());
++              xch_index_offset = Int64.of_int (sizeof_core_header ()
++                                      + sizeof_vcpu_guest_context ());
++              xch_pages_offset = page_offset;
++      } in
++
++      dump (marshall_core_header header);
++      for i = 0 to info.max_vcpu_id - 1
++      do
++              match ctxt.(i) with
++              | None -> ()
++              | Some ctxt_i -> dump ctxt_i
++      done;
++      let pfns = domain_get_pfn_list xch domid nrpages in
++      if Array.length pfns <> Nativeint.to_int nrpages then
++              failwith "could not get the page frame list";
++
++      let page_size = Xenmmap.getpagesize () in
++      for i = 0 to Nativeint.to_int nrpages - 1
++      do
++              let page = map_foreign_range xch domid page_size pfns.(i) in
++              let data = Xenmmap.read page 0 page_size in
++              Xenmmap.unmap page;
++              dump data
++      done
++
++(* ** Misc ** *)
++
++(**
++   Convert the given number of pages to an amount in KiB, rounded up.
++ *)
++external pages_to_kib : int64 -> int64 = "stub_pages_to_kib"
++let pages_to_mib pages = Int64.div (pages_to_kib pages) 1024L
++
++let _ = Callback.register_exception "xc.error" (Error "register_callback")
+--- /dev/null
++++ b/tools/ocaml/libs/xc/xenctrl.mli
+@@ -0,0 +1,184 @@
++(*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++type domid = int
++type vcpuinfo = {
++  online : bool;
++  blocked : bool;
++  running : bool;
++  cputime : int64;
++  cpumap : int32;
++}
++type domaininfo = {
++  domid : domid;
++  dying : bool;
++  shutdown : bool;
++  paused : bool;
++  blocked : bool;
++  running : bool;
++  hvm_guest : bool;
++  shutdown_code : int;
++  total_memory_pages : nativeint;
++  max_memory_pages : nativeint;
++  shared_info_frame : int64;
++  cpu_time : int64;
++  nr_online_vcpus : int;
++  max_vcpu_id : int;
++  ssidref : int32;
++  handle : int array;
++}
++type sched_control = { weight : int; cap : int; }
++type physinfo_cap_flag = CAP_HVM | CAP_DirectIO
++type physinfo = {
++  threads_per_core : int;
++  cores_per_socket : int;
++  nr_cpus          : int;
++  max_node_id      : int;
++  cpu_khz          : int;
++  total_pages      : nativeint;
++  free_pages       : nativeint;
++  scrub_pages      : nativeint;
++  capabilities     : physinfo_cap_flag list;
++}
++type version = { major : int; minor : int; extra : string; }
++type compile_info = {
++  compiler : string;
++  compile_by : string;
++  compile_domain : string;
++  compile_date : string;
++}
++type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Halt
++
++type domain_create_flag = CDF_HVM | CDF_HAP
++
++exception Error of string
++type handle
++external sizeof_core_header : unit -> int = "stub_sizeof_core_header"
++external sizeof_vcpu_guest_context : unit -> int
++  = "stub_sizeof_vcpu_guest_context"
++external sizeof_xen_pfn : unit -> int = "stub_sizeof_xen_pfn"
++external interface_open : unit -> handle = "stub_xc_interface_open"
++external is_fake : unit -> bool = "stub_xc_interface_is_fake"
++external interface_close : handle -> unit = "stub_xc_interface_close"
++val with_intf : (handle -> 'a) -> 'a
++external _domain_create : handle -> int32 -> domain_create_flag list -> int array -> domid
++  = "stub_xc_domain_create"
++val domain_create : handle -> int32 -> domain_create_flag list -> 'a Uuid.t -> domid
++external _domain_sethandle : handle -> domid -> int array -> unit
++  = "stub_xc_domain_sethandle"
++val domain_sethandle : handle -> domid -> 'a Uuid.t -> unit
++external domain_max_vcpus : handle -> domid -> int -> unit
++  = "stub_xc_domain_max_vcpus"
++external domain_pause : handle -> domid -> unit = "stub_xc_domain_pause"
++external domain_unpause : handle -> domid -> unit = "stub_xc_domain_unpause"
++external domain_resume_fast : handle -> domid -> unit
++  = "stub_xc_domain_resume_fast"
++external domain_destroy : handle -> domid -> unit = "stub_xc_domain_destroy"
++external domain_shutdown : handle -> domid -> shutdown_reason -> unit
++  = "stub_xc_domain_shutdown"
++external _domain_getinfolist : handle -> domid -> int -> domaininfo list
++  = "stub_xc_domain_getinfolist"
++val domain_getinfolist : handle -> domid -> domaininfo list
++external domain_getinfo : handle -> domid -> domaininfo
++  = "stub_xc_domain_getinfo"
++external domain_get_vcpuinfo : handle -> int -> int -> vcpuinfo
++  = "stub_xc_vcpu_getinfo"
++external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
++       = "stub_xc_domain_ioport_permission"
++external domain_iomem_permission: handle -> domid -> nativeint -> nativeint -> bool -> unit
++       = "stub_xc_domain_iomem_permission"
++external domain_irq_permission: handle -> domid -> int -> bool -> unit
++       = "stub_xc_domain_irq_permission"
++external vcpu_affinity_set : handle -> domid -> int -> bool array -> unit
++  = "stub_xc_vcpu_setaffinity"
++external vcpu_affinity_get : handle -> domid -> int -> bool array
++  = "stub_xc_vcpu_getaffinity"
++external vcpu_context_get : handle -> domid -> int -> string
++  = "stub_xc_vcpu_context_get"
++external sched_id : handle -> int = "stub_xc_sched_id"
++external sched_credit_domain_set : handle -> domid -> sched_control -> unit
++  = "stub_sched_credit_domain_set"
++external sched_credit_domain_get : handle -> domid -> sched_control
++  = "stub_sched_credit_domain_get"
++external shadow_allocation_set : handle -> domid -> int -> unit
++  = "stub_shadow_allocation_set"
++external shadow_allocation_get : handle -> domid -> int
++  = "stub_shadow_allocation_get"
++external evtchn_alloc_unbound : handle -> domid -> domid -> int
++  = "stub_xc_evtchn_alloc_unbound"
++external evtchn_reset : handle -> domid -> unit = "stub_xc_evtchn_reset"
++external readconsolering : handle -> string = "stub_xc_readconsolering"
++external send_debug_keys : handle -> string -> unit = "stub_xc_send_debug_keys"
++external physinfo : handle -> physinfo = "stub_xc_physinfo"
++external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
++external domain_setmaxmem : handle -> domid -> int64 -> unit
++  = "stub_xc_domain_setmaxmem"
++external domain_set_memmap_limit : handle -> domid -> int64 -> unit
++  = "stub_xc_domain_set_memmap_limit"
++external domain_memory_increase_reservation :
++  handle -> domid -> int64 -> unit
++  = "stub_xc_domain_memory_increase_reservation"
++external map_foreign_range :
++  handle -> domid -> int -> nativeint -> Xenmmap.mmap_interface
++  = "stub_map_foreign_range"
++external domain_get_pfn_list :
++  handle -> domid -> nativeint -> nativeint array
++  = "stub_xc_domain_get_pfn_list"
++
++external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
++       = "stub_xc_domain_assign_device"
++external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
++       = "stub_xc_domain_deassign_device"
++external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
++       = "stub_xc_domain_test_assign_device"
++
++external version : handle -> version = "stub_xc_version_version"
++external version_compile_info : handle -> compile_info
++  = "stub_xc_version_compile_info"
++external version_changeset : handle -> string = "stub_xc_version_changeset"
++external version_capabilities : handle -> string
++  = "stub_xc_version_capabilities"
++type core_magic = Magic_hvm | Magic_pv
++type core_header = {
++  xch_magic : core_magic;
++  xch_nr_vcpus : int;
++  xch_nr_pages : nativeint;
++  xch_index_offset : int64;
++  xch_ctxt_offset : int64;
++  xch_pages_offset : int64;
++}
++external marshall_core_header : core_header -> string
++  = "stub_marshall_core_header"
++val coredump : handle -> domid -> Unix.file_descr -> unit
++external pages_to_kib : int64 -> int64 = "stub_pages_to_kib"
++val pages_to_mib : int64 -> int64
++external watchdog : handle -> int -> int32 -> int
++  = "stub_xc_watchdog"
++
++external domain_set_machine_address_size: handle -> domid -> int -> unit
++  = "stub_xc_domain_set_machine_address_size"
++external domain_get_machine_address_size: handle -> domid -> int
++       = "stub_xc_domain_get_machine_address_size"
++
++external domain_cpuid_set: handle -> domid -> (int64 * (int64 option))
++                        -> string option array
++                        -> string option array
++       = "stub_xc_domain_cpuid_set"
++external domain_cpuid_apply_policy: handle -> domid -> unit
++       = "stub_xc_domain_cpuid_apply_policy"
++external cpuid_check: handle -> (int64 * (int64 option)) -> string option array -> (bool * string option array)
++       = "stub_xc_cpuid_check"
++
+--- /dev/null
++++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
+@@ -0,0 +1,1161 @@
++/*
++ * Copyright (C) 2006-2007 XenSource Ltd.
++ * Copyright (C) 2008      Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ */
++
++#define _XOPEN_SOURCE 600
++#include <stdlib.h>
++#include <errno.h>
++
++#define CAML_NAME_SPACE
++#include <caml/alloc.h>
++#include <caml/memory.h>
++#include <caml/signals.h>
++#include <caml/fail.h>
++#include <caml/callback.h>
++
++#include <sys/mman.h>
++#include <stdint.h>
++#include <string.h>
++
++#include <xenctrl.h>
++
++#include "mmap_stubs.h"
++
++#define PAGE_SHIFT            12
++#define PAGE_SIZE               (1UL << PAGE_SHIFT)
++#define PAGE_MASK               (~(PAGE_SIZE-1))
++
++#define _H(__h) ((xc_interface *)(__h))
++#define _D(__d) ((uint32_t)Int_val(__d))
++
++#define Val_none (Val_int(0))
++
++#define string_of_option_array(array, index) \
++      ((Field(array, index) == Val_none) ? NULL : String_val(Field(Field(array, index), 0)))
++
++/* maybe here we should check the range of the input instead of blindly
++ * casting it to uint32 */
++#define cpuid_input_of_val(i1, i2, input) \
++      i1 = (uint32_t) Int64_val(Field(input, 0)); \
++      i2 = ((Field(input, 1) == Val_none) ? 0xffffffff : (uint32_t) Int64_val(Field(Field(input, 1), 0)));
++
++#define ERROR_STRLEN 1024
++void failwith_xc(xc_interface *xch)
++{
++      static char error_str[ERROR_STRLEN];
++      if (xch) {
++              const xc_error *error = xc_get_last_error(xch);
++              if (error->code == XC_ERROR_NONE)
++                      snprintf(error_str, ERROR_STRLEN, "%d: %s", errno, strerror(errno));
++              else
++                      snprintf(error_str, ERROR_STRLEN, "%d: %s: %s",
++                               error->code,
++                               xc_error_code_to_desc(error->code),
++                               error->message);
++      } else {
++              snprintf(error_str, ERROR_STRLEN, "Unable to open XC interface");
++      }
++      caml_raise_with_string(*caml_named_value("xc.error"), error_str);
++}
++
++CAMLprim value stub_sizeof_core_header(value unit)
++{
++      CAMLparam1(unit);
++      CAMLreturn(Val_int(sizeof(struct xc_core_header)));
++}
++
++CAMLprim value stub_sizeof_vcpu_guest_context(value unit)
++{
++      CAMLparam1(unit);
++      CAMLreturn(Val_int(sizeof(struct vcpu_guest_context)));
++}
++
++CAMLprim value stub_sizeof_xen_pfn(value unit)
++{
++      CAMLparam1(unit);
++      CAMLreturn(Val_int(sizeof(xen_pfn_t)));
++}
++
++#define XC_CORE_MAGIC     0xF00FEBED
++#define XC_CORE_MAGIC_HVM 0xF00FEBEE
++
++CAMLprim value stub_marshall_core_header(value header)
++{
++      CAMLparam1(header);
++      CAMLlocal1(s);
++      struct xc_core_header c_header;
++
++      c_header.xch_magic = (Field(header, 0))
++              ? XC_CORE_MAGIC
++              : XC_CORE_MAGIC_HVM;
++      c_header.xch_nr_vcpus = Int_val(Field(header, 1));
++      c_header.xch_nr_pages = Nativeint_val(Field(header, 2));
++      c_header.xch_ctxt_offset = Int64_val(Field(header, 3));
++      c_header.xch_index_offset = Int64_val(Field(header, 4));
++      c_header.xch_pages_offset = Int64_val(Field(header, 5));
++
++      s = caml_alloc_string(sizeof(c_header));
++      memcpy(String_val(s), (char *) &c_header, sizeof(c_header));
++      CAMLreturn(s);
++}
++
++CAMLprim value stub_xc_interface_open(void)
++{
++      CAMLparam0();
++        xc_interface *xch;
++        xch = xc_interface_open(NULL, NULL, XC_OPENFLAG_NON_REENTRANT);
++        if (xch == NULL)
++              failwith_xc(NULL);
++        CAMLreturn((value)xch);
++}
++
++
++CAMLprim value stub_xc_interface_is_fake(void)
++{
++      CAMLparam0();
++      int is_fake = xc_interface_is_fake();
++      CAMLreturn(Val_int(is_fake));
++}
++
++CAMLprim value stub_xc_interface_close(value xch)
++{
++      CAMLparam1(xch);
++
++      // caml_enter_blocking_section();
++      xc_interface_close(_H(xch));
++      // caml_leave_blocking_section();
++
++      CAMLreturn(Val_unit);
++}
++
++static int domain_create_flag_table[] = {
++      XEN_DOMCTL_CDF_hvm_guest,
++      XEN_DOMCTL_CDF_hap,
++};
++
++CAMLprim value stub_xc_domain_create(value xch, value ssidref,
++                                     value flags, value handle)
++{
++      CAMLparam4(xch, ssidref, flags, handle);
++
++      uint32_t domid = 0;
++      xen_domain_handle_t h = { 0 };
++      int result;
++      int i;
++      uint32_t c_ssidref = Int32_val(ssidref);
++      unsigned int c_flags = 0;
++      value l;
++
++        if (Wosize_val(handle) != 16)
++              caml_invalid_argument("Handle not a 16-integer array");
++
++      for (i = 0; i < sizeof(h); i++) {
++              h[i] = Int_val(Field(handle, i)) & 0xff;
++      }
++
++      for (l = flags; l != Val_none; l = Field(l, 1)) {
++              int v = Int_val(Field(l, 0));
++              c_flags |= domain_create_flag_table[v];
++      }
++
++      // caml_enter_blocking_section();
++      result = xc_domain_create(_H(xch), c_ssidref, h, c_flags, &domid);
++      // caml_leave_blocking_section();
++
++      if (result < 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_int(domid));
++}
++
++CAMLprim value stub_xc_domain_max_vcpus(value xch, value domid,
++                                        value max_vcpus)
++{
++      CAMLparam3(xch, domid, max_vcpus);
++      int r;
++
++      r = xc_domain_max_vcpus(_H(xch), _D(domid), Int_val(max_vcpus));
++      if (r)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++
++value stub_xc_domain_sethandle(value xch, value domid, value handle)
++{
++      CAMLparam3(xch, domid, handle);
++      xen_domain_handle_t h = { 0 };
++      int i;
++
++        if (Wosize_val(handle) != 16)
++              caml_invalid_argument("Handle not a 16-integer array");
++
++      for (i = 0; i < sizeof(h); i++) {
++              h[i] = Int_val(Field(handle, i)) & 0xff;
++      }
++
++      i = xc_domain_sethandle(_H(xch), _D(domid), h);
++      if (i)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++static value dom_op(value xch, value domid, int (*fn)(xc_interface *, uint32_t))
++{
++      CAMLparam2(xch, domid);
++
++      uint32_t c_domid = _D(domid);
++
++      // caml_enter_blocking_section();
++      int result = fn(_H(xch), c_domid);
++      // caml_leave_blocking_section();
++        if (result)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_pause(value xch, value domid)
++{
++      return dom_op(xch, domid, xc_domain_pause);
++}
++
++
++CAMLprim value stub_xc_domain_unpause(value xch, value domid)
++{
++      return dom_op(xch, domid, xc_domain_unpause);
++}
++
++CAMLprim value stub_xc_domain_destroy(value xch, value domid)
++{
++      return dom_op(xch, domid, xc_domain_destroy);
++}
++
++CAMLprim value stub_xc_domain_resume_fast(value xch, value domid)
++{
++      CAMLparam2(xch, domid);
++
++      uint32_t c_domid = _D(domid);
++
++      // caml_enter_blocking_section();
++      int result = xc_domain_resume(_H(xch), c_domid, 1);
++      // caml_leave_blocking_section();
++        if (result)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_shutdown(value xch, value domid, value reason)
++{
++      CAMLparam3(xch, domid, reason);
++      int ret;
++
++      ret = xc_domain_shutdown(_H(xch), _D(domid), Int_val(reason));
++      if (ret < 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++static value alloc_domaininfo(xc_domaininfo_t * info)
++{
++      CAMLparam0();
++      CAMLlocal2(result, tmp);
++      int i;
++
++      result = caml_alloc_tuple(16);
++
++      Store_field(result,  0, Val_int(info->domain));
++      Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying));
++      Store_field(result,  2, Val_bool(info->flags & XEN_DOMINF_shutdown));
++      Store_field(result,  3, Val_bool(info->flags & XEN_DOMINF_paused));
++      Store_field(result,  4, Val_bool(info->flags & XEN_DOMINF_blocked));
++      Store_field(result,  5, Val_bool(info->flags & XEN_DOMINF_running));
++      Store_field(result,  6, Val_bool(info->flags & XEN_DOMINF_hvm_guest));
++      Store_field(result,  7, Val_int((info->flags >> XEN_DOMINF_shutdownshift)
++                                       & XEN_DOMINF_shutdownmask));
++      Store_field(result,  8, caml_copy_nativeint(info->tot_pages));
++      Store_field(result,  9, caml_copy_nativeint(info->max_pages));
++      Store_field(result, 10, caml_copy_int64(info->shared_info_frame));
++      Store_field(result, 11, caml_copy_int64(info->cpu_time));
++      Store_field(result, 12, Val_int(info->nr_online_vcpus));
++      Store_field(result, 13, Val_int(info->max_vcpu_id));
++      Store_field(result, 14, caml_copy_int32(info->ssidref));
++
++        tmp = caml_alloc_small(16, 0);
++      for (i = 0; i < 16; i++) {
++              Field(tmp, i) = Val_int(info->handle[i]);
++      }
++
++      Store_field(result, 15, tmp);
++
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_xc_domain_getinfolist(value xch, value first_domain, value nb)
++{
++      CAMLparam3(xch, first_domain, nb);
++      CAMLlocal2(result, temp);
++      xc_domaininfo_t * info;
++      int i, ret, toalloc, retval;
++      unsigned int c_max_domains;
++      uint32_t c_first_domain;
++
++      /* get the minimum number of allocate byte we need and bump it up to page boundary */
++      toalloc = (sizeof(xc_domaininfo_t) * Int_val(nb)) | 0xfff;
++      ret = posix_memalign((void **) ((void *) &info), 4096, toalloc);
++      if (ret)
++              caml_raise_out_of_memory();
++
++      result = temp = Val_emptylist;
++
++      c_first_domain = _D(first_domain);
++      c_max_domains = Int_val(nb);
++      // caml_enter_blocking_section();
++      retval = xc_domain_getinfolist(_H(xch), c_first_domain,
++                                     c_max_domains, info);
++      // caml_leave_blocking_section();
++
++      if (retval < 0) {
++              free(info);
++              failwith_xc(_H(xch));
++      }
++      for (i = 0; i < retval; i++) {
++              result = caml_alloc_small(2, Tag_cons);
++              Field(result, 0) = Val_int(0);
++              Field(result, 1) = temp;
++              temp = result;
++
++              Store_field(result, 0, alloc_domaininfo(info + i));
++      }
++
++      free(info);
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_xc_domain_getinfo(value xch, value domid)
++{
++      CAMLparam2(xch, domid);
++      CAMLlocal1(result);
++      xc_domaininfo_t info;
++      int ret;
++
++      ret = xc_domain_getinfolist(_H(xch), _D(domid), 1, &info);
++      if (ret != 1)
++              failwith_xc(_H(xch));
++      if (info.domain != _D(domid))
++              failwith_xc(_H(xch));
++
++      result = alloc_domaininfo(&info);
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_xc_vcpu_getinfo(value xch, value domid, value vcpu)
++{
++      CAMLparam3(xch, domid, vcpu);
++      CAMLlocal1(result);
++      xc_vcpuinfo_t info;
++      int retval;
++
++      uint32_t c_domid = _D(domid);
++      uint32_t c_vcpu = Int_val(vcpu);
++      // caml_enter_blocking_section();
++      retval = xc_vcpu_getinfo(_H(xch), c_domid,
++                               c_vcpu, &info);
++      // caml_leave_blocking_section();
++      if (retval < 0)
++              failwith_xc(_H(xch));
++
++      result = caml_alloc_tuple(5);
++      Store_field(result, 0, Val_bool(info.online));
++      Store_field(result, 1, Val_bool(info.blocked));
++      Store_field(result, 2, Val_bool(info.running));
++      Store_field(result, 3, caml_copy_int64(info.cpu_time));
++      Store_field(result, 4, caml_copy_int32(info.cpu));
++
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_xc_vcpu_context_get(value xch, value domid,
++                                        value cpu)
++{
++      CAMLparam3(xch, domid, cpu);
++      CAMLlocal1(context);
++      int ret;
++      vcpu_guest_context_any_t ctxt;
++
++      ret = xc_vcpu_getcontext(_H(xch), _D(domid), Int_val(cpu), &ctxt);
++
++      context = caml_alloc_string(sizeof(ctxt));
++      memcpy(String_val(context), (char *) &ctxt.c, sizeof(ctxt.c));
++
++      CAMLreturn(context);
++}
++
++static int get_cpumap_len(value xch, value cpumap)
++{
++      int ml_len = Wosize_val(cpumap);
++      int xc_len = xc_get_max_cpus(_H(xch));
++
++      if (ml_len < xc_len)
++              return ml_len;
++      else
++              return xc_len;
++}
++
++CAMLprim value stub_xc_vcpu_setaffinity(value xch, value domid,
++                                        value vcpu, value cpumap)
++{
++      CAMLparam4(xch, domid, vcpu, cpumap);
++      int i, len = get_cpumap_len(xch, cpumap);
++      xc_cpumap_t c_cpumap;
++      int retval;
++
++      c_cpumap = xc_cpumap_alloc(_H(xch));
++      if (c_cpumap == NULL)
++              failwith_xc(_H(xch));
++
++      for (i=0; i<len; i++) {
++              if (Bool_val(Field(cpumap, i)))
++                      c_cpumap[i/8] |= i << (i&7);
++      }
++      retval = xc_vcpu_setaffinity(_H(xch), _D(domid),
++                                   Int_val(vcpu), c_cpumap);
++      free(c_cpumap);
++
++      if (retval < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_vcpu_getaffinity(value xch, value domid,
++                                        value vcpu)
++{
++      CAMLparam3(xch, domid, vcpu);
++      CAMLlocal1(ret);
++      xc_cpumap_t c_cpumap;
++      int i, len = xc_get_max_cpus(_H(xch));
++      int retval;
++
++      c_cpumap = xc_cpumap_alloc(_H(xch));
++      if (c_cpumap == NULL)
++              failwith_xc(_H(xch));
++
++      retval = xc_vcpu_getaffinity(_H(xch), _D(domid),
++                                   Int_val(vcpu), c_cpumap);
++      free(c_cpumap);
++
++      if (retval < 0) {
++              free(c_cpumap);
++              failwith_xc(_H(xch));
++      }
++
++      ret = caml_alloc(len, 0);
++
++      for (i=0; i<len; i++) {
++              if (c_cpumap[i%8] & 1 << (i&7))
++                      Store_field(ret, i, Val_true);
++              else
++                      Store_field(ret, i, Val_false);
++      }
++
++      free(c_cpumap);
++
++      CAMLreturn(ret);
++}
++
++CAMLprim value stub_xc_sched_id(value xch)
++{
++      CAMLparam1(xch);
++      int sched_id;
++
++      if (xc_sched_id(_H(xch), &sched_id))
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_int(sched_id));
++}
++
++CAMLprim value stub_xc_evtchn_alloc_unbound(value xch,
++                                            value local_domid,
++                                            value remote_domid)
++{
++      CAMLparam3(xch, local_domid, remote_domid);
++
++      uint32_t c_local_domid = _D(local_domid);
++      uint32_t c_remote_domid = _D(remote_domid);
++
++      // caml_enter_blocking_section();
++      int result = xc_evtchn_alloc_unbound(_H(xch), c_local_domid,
++                                           c_remote_domid);
++      // caml_leave_blocking_section();
++
++      if (result < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_int(result));
++}
++
++CAMLprim value stub_xc_evtchn_reset(value xch, value domid)
++{
++      CAMLparam2(xch, domid);
++      int r;
++
++      r = xc_evtchn_reset(_H(xch), _D(domid));
++      if (r < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++
++#define RING_SIZE 32768
++static char ring[RING_SIZE];
++
++CAMLprim value stub_xc_readconsolering(value xch)
++{
++      unsigned int size = RING_SIZE;
++      char *ring_ptr = ring;
++
++      CAMLparam1(xch);
++
++      // caml_enter_blocking_section();
++      int retval = xc_readconsolering(_H(xch), ring_ptr, &size, 0, 0, NULL);
++      // caml_leave_blocking_section();
++
++      if (retval)
++              failwith_xc(_H(xch));
++      ring[size] = '\0';
++      CAMLreturn(caml_copy_string(ring));
++}
++
++CAMLprim value stub_xc_send_debug_keys(value xch, value keys)
++{
++      CAMLparam2(xch, keys);
++      int r;
++
++      r = xc_send_debug_keys(_H(xch), String_val(keys));
++      if (r)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_physinfo(value xch)
++{
++      CAMLparam1(xch);
++      CAMLlocal3(physinfo, cap_list, tmp);
++      xc_physinfo_t c_physinfo;
++      int r;
++
++      // caml_enter_blocking_section();
++      r = xc_physinfo(_H(xch), &c_physinfo);
++      // caml_leave_blocking_section();
++
++      if (r)
++              failwith_xc(_H(xch));
++
++      tmp = cap_list = Val_emptylist;
++      for (r = 0; r < 2; r++) {
++              if ((c_physinfo.capabilities >> r) & 1) {
++                      tmp = caml_alloc_small(2, Tag_cons);
++                      Field(tmp, 0) = Val_int(r);
++                      Field(tmp, 1) = cap_list;
++                      cap_list = tmp;
++              }
++      }
++
++      physinfo = caml_alloc_tuple(9);
++      Store_field(physinfo, 0, Val_int(c_physinfo.threads_per_core));
++      Store_field(physinfo, 1, Val_int(c_physinfo.cores_per_socket));
++      Store_field(physinfo, 2, Val_int(c_physinfo.nr_cpus));
++      Store_field(physinfo, 3, Val_int(c_physinfo.max_node_id));
++      Store_field(physinfo, 4, Val_int(c_physinfo.cpu_khz));
++      Store_field(physinfo, 5, caml_copy_nativeint(c_physinfo.total_pages));
++      Store_field(physinfo, 6, caml_copy_nativeint(c_physinfo.free_pages));
++      Store_field(physinfo, 7, caml_copy_nativeint(c_physinfo.scrub_pages));
++      Store_field(physinfo, 8, cap_list);
++
++      CAMLreturn(physinfo);
++}
++
++CAMLprim value stub_xc_pcpu_info(value xch, value nr_cpus)
++{
++      CAMLparam2(xch, nr_cpus);
++      CAMLlocal2(pcpus, v);
++      xc_cpuinfo_t *info;
++      int r, size;
++
++      if (Int_val(nr_cpus) < 1)
++              caml_invalid_argument("nr_cpus");
++      
++      info = calloc(Int_val(nr_cpus) + 1, sizeof(*info));
++      if (!info)
++              caml_raise_out_of_memory();
++
++      // caml_enter_blocking_section();
++      r = xc_getcpuinfo(_H(xch), Int_val(nr_cpus), info, &size);
++      // caml_leave_blocking_section();
++
++      if (r) {
++              free(info);
++              failwith_xc(_H(xch));
++      }
++
++      if (size > 0) {
++              int i;
++              pcpus = caml_alloc(size, 0);
++              for (i = 0; i < size; i++) {
++                      v = caml_copy_int64(info[i].idletime);
++                      caml_modify(&Field(pcpus, i), v);
++              }
++      } else
++              pcpus = Atom(0);
++      free(info);
++      CAMLreturn(pcpus);
++}
++
++CAMLprim value stub_xc_domain_setmaxmem(value xch, value domid,
++                                        value max_memkb)
++{
++      CAMLparam3(xch, domid, max_memkb);
++
++      uint32_t c_domid = _D(domid);
++      unsigned int c_max_memkb = Int64_val(max_memkb);
++      // caml_enter_blocking_section();
++      int retval = xc_domain_setmaxmem(_H(xch), c_domid,
++                                       c_max_memkb);
++      // caml_leave_blocking_section();
++      if (retval)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_set_memmap_limit(value xch, value domid,
++                                               value map_limitkb)
++{
++      CAMLparam3(xch, domid, map_limitkb);
++      unsigned long v;
++      int retval;
++
++      v = Int64_val(map_limitkb);
++      retval = xc_domain_set_memmap_limit(_H(xch), _D(domid), v);
++      if (retval)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_memory_increase_reservation(value xch,
++                                                          value domid,
++                                                          value mem_kb)
++{
++      CAMLparam3(xch, domid, mem_kb);
++
++      unsigned long nr_extents = ((unsigned long)(Int64_val(mem_kb))) >> (PAGE_SHIFT - 10);
++
++      uint32_t c_domid = _D(domid);
++      // caml_enter_blocking_section();
++      int retval = xc_domain_increase_reservation_exact(_H(xch), c_domid,
++                                                        nr_extents, 0, 0, NULL);
++      // caml_leave_blocking_section();
++
++      if (retval)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_set_machine_address_size(value xch,
++                                                     value domid,
++                                                     value width)
++{
++      CAMLparam3(xch, domid, width);
++      uint32_t c_domid = _D(domid);
++      int c_width = Int_val(width);
++
++      int retval = xc_domain_set_machine_address_size(_H(xch), c_domid, c_width);
++      if (retval)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_get_machine_address_size(value xch,
++                                                       value domid)
++{
++      CAMLparam2(xch, domid);
++      int retval;
++
++      retval = xc_domain_get_machine_address_size(_H(xch), _D(domid));
++      if (retval < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_int(retval));
++}
++
++CAMLprim value stub_xc_domain_cpuid_set(value xch, value domid,
++                                        value input,
++                                        value config)
++{
++      CAMLparam4(xch, domid, input, config);
++      CAMLlocal2(array, tmp);
++      int r;
++      unsigned int c_input[2];
++      char *c_config[4], *out_config[4];
++
++      c_config[0] = string_of_option_array(config, 0);
++      c_config[1] = string_of_option_array(config, 1);
++      c_config[2] = string_of_option_array(config, 2);
++      c_config[3] = string_of_option_array(config, 3);
++
++      cpuid_input_of_val(c_input[0], c_input[1], input);
++
++      array = caml_alloc(4, 0);
++      for (r = 0; r < 4; r++) {
++              tmp = Val_none;
++              if (c_config[r]) {
++                      tmp = caml_alloc_small(1, 0);
++                      Field(tmp, 0) = caml_alloc_string(32);
++              }
++              Store_field(array, r, tmp);
++      }
++
++      for (r = 0; r < 4; r++)
++              out_config[r] = (c_config[r]) ? String_val(Field(Field(array, r), 0)) : NULL;
++
++      r = xc_cpuid_set(_H(xch), _D(domid),
++                       c_input, (const char **)c_config, out_config);
++      if (r < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(array);
++}
++
++CAMLprim value stub_xc_domain_cpuid_apply_policy(value xch, value domid)
++{
++      CAMLparam2(xch, domid);
++      int r;
++
++      r = xc_cpuid_apply_policy(_H(xch), _D(domid));
++      if (r < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_cpuid_check(value xch, value input, value config)
++{
++      CAMLparam3(xch, input, config);
++      CAMLlocal3(ret, array, tmp);
++      int r;
++      unsigned int c_input[2];
++      char *c_config[4], *out_config[4];
++
++      c_config[0] = string_of_option_array(config, 0);
++      c_config[1] = string_of_option_array(config, 1);
++      c_config[2] = string_of_option_array(config, 2);
++      c_config[3] = string_of_option_array(config, 3);
++
++      cpuid_input_of_val(c_input[0], c_input[1], input);
++
++      array = caml_alloc(4, 0);
++      for (r = 0; r < 4; r++) {
++              tmp = Val_none;
++              if (c_config[r]) {
++                      tmp = caml_alloc_small(1, 0);
++                      Field(tmp, 0) = caml_alloc_string(32);
++              }
++              Store_field(array, r, tmp);
++      }
++
++      for (r = 0; r < 4; r++)
++              out_config[r] = (c_config[r]) ? String_val(Field(Field(array, r), 0)) : NULL;
++
++      r = xc_cpuid_check(_H(xch), c_input, (const char **)c_config, out_config);
++      if (r < 0)
++              failwith_xc(_H(xch));
++
++      ret = caml_alloc_tuple(2);
++      Store_field(ret, 0, Val_bool(r));
++      Store_field(ret, 1, array);
++
++      CAMLreturn(ret);
++}
++
++CAMLprim value stub_xc_version_version(value xch)
++{
++      CAMLparam1(xch);
++      CAMLlocal1(result);
++      xen_extraversion_t extra;
++      long packed;
++      int retval;
++
++      // caml_enter_blocking_section();
++      packed = xc_version(_H(xch), XENVER_version, NULL);
++      retval = xc_version(_H(xch), XENVER_extraversion, &extra);
++      // caml_leave_blocking_section();
++
++      if (retval)
++              failwith_xc(_H(xch));
++
++      result = caml_alloc_tuple(3);
++
++      Store_field(result, 0, Val_int(packed >> 16));
++      Store_field(result, 1, Val_int(packed & 0xffff));
++      Store_field(result, 2, caml_copy_string(extra));
++
++      CAMLreturn(result);
++}
++
++
++CAMLprim value stub_xc_version_compile_info(value xch)
++{
++      CAMLparam1(xch);
++      CAMLlocal1(result);
++      xen_compile_info_t ci;
++      int retval;
++
++      // caml_enter_blocking_section();
++      retval = xc_version(_H(xch), XENVER_compile_info, &ci);
++      // caml_leave_blocking_section();
++
++      if (retval)
++              failwith_xc(_H(xch));
++
++      result = caml_alloc_tuple(4);
++
++      Store_field(result, 0, caml_copy_string(ci.compiler));
++      Store_field(result, 1, caml_copy_string(ci.compile_by));
++      Store_field(result, 2, caml_copy_string(ci.compile_domain));
++      Store_field(result, 3, caml_copy_string(ci.compile_date));
++
++      CAMLreturn(result);
++}
++
++
++static value xc_version_single_string(value xch, int code, void *info)
++{
++      CAMLparam1(xch);
++      int retval;
++
++      // caml_enter_blocking_section();
++      retval = xc_version(_H(xch), code, info);
++      // caml_leave_blocking_section();
++
++      if (retval)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(caml_copy_string((char *)info));
++}
++
++
++CAMLprim value stub_xc_version_changeset(value xch)
++{
++      xen_changeset_info_t ci;
++
++      return xc_version_single_string(xch, XENVER_changeset, &ci);
++}
++
++
++CAMLprim value stub_xc_version_capabilities(value xch)
++{
++      xen_capabilities_info_t ci;
++
++      return xc_version_single_string(xch, XENVER_capabilities, &ci);
++}
++
++
++CAMLprim value stub_pages_to_kib(value pages)
++{
++      CAMLparam1(pages);
++
++      CAMLreturn(caml_copy_int64(Int64_val(pages) << (PAGE_SHIFT - 10)));
++}
++
++
++CAMLprim value stub_map_foreign_range(value xch, value dom,
++                                      value size, value mfn)
++{
++      CAMLparam4(xch, dom, size, mfn);
++      CAMLlocal1(result);
++      struct mmap_interface *intf;
++      uint32_t c_dom;
++      unsigned long c_mfn;
++
++      result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
++      intf = (struct mmap_interface *) result;
++
++      intf->len = Int_val(size);
++
++      c_dom = _D(dom);
++      c_mfn = Nativeint_val(mfn);
++      // caml_enter_blocking_section();
++      intf->addr = xc_map_foreign_range(_H(xch), c_dom,
++                                        intf->len, PROT_READ|PROT_WRITE,
++                                        c_mfn);
++      // caml_leave_blocking_section();
++      if (!intf->addr)
++              caml_failwith("xc_map_foreign_range error");
++      CAMLreturn(result);
++}
++
++CAMLprim value stub_sched_credit_domain_get(value xch, value domid)
++{
++      CAMLparam2(xch, domid);
++      CAMLlocal1(sdom);
++      struct xen_domctl_sched_credit c_sdom;
++      int ret;
++
++      // caml_enter_blocking_section();
++      ret = xc_sched_credit_domain_get(_H(xch), _D(domid), &c_sdom);
++      // caml_leave_blocking_section();
++      if (ret != 0)
++              failwith_xc(_H(xch));
++
++      sdom = caml_alloc_tuple(2);
++      Store_field(sdom, 0, Val_int(c_sdom.weight));
++      Store_field(sdom, 1, Val_int(c_sdom.cap));
++
++      CAMLreturn(sdom);
++}
++
++CAMLprim value stub_sched_credit_domain_set(value xch, value domid,
++                                            value sdom)
++{
++      CAMLparam3(xch, domid, sdom);
++      struct xen_domctl_sched_credit c_sdom;
++      int ret;
++
++      c_sdom.weight = Int_val(Field(sdom, 0));
++      c_sdom.cap = Int_val(Field(sdom, 1));
++      // caml_enter_blocking_section();
++      ret = xc_sched_credit_domain_set(_H(xch), _D(domid), &c_sdom);
++      // caml_leave_blocking_section();
++      if (ret != 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_shadow_allocation_get(value xch, value domid)
++{
++      CAMLparam2(xch, domid);
++      CAMLlocal1(mb);
++      unsigned long c_mb;
++      int ret;
++
++      // caml_enter_blocking_section();
++      ret = xc_shadow_control(_H(xch), _D(domid),
++                              XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION,
++                              NULL, 0, &c_mb, 0, NULL);
++      // caml_leave_blocking_section();
++      if (ret != 0)
++              failwith_xc(_H(xch));
++
++      mb = Val_int(c_mb);
++      CAMLreturn(mb);
++}
++
++CAMLprim value stub_shadow_allocation_set(value xch, value domid,
++                                        value mb)
++{
++      CAMLparam3(xch, domid, mb);
++      unsigned long c_mb;
++      int ret;
++
++      c_mb = Int_val(mb);
++      // caml_enter_blocking_section();
++      ret = xc_shadow_control(_H(xch), _D(domid),
++                              XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION,
++                              NULL, 0, &c_mb, 0, NULL);
++      // caml_leave_blocking_section();
++      if (ret != 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_get_pfn_list(value xch, value domid,
++                                           value nr_pfns)
++{
++      CAMLparam3(xch, domid, nr_pfns);
++      CAMLlocal2(array, v);
++      unsigned long c_nr_pfns;
++      long ret, i;
++      uint64_t *c_array;
++
++      c_nr_pfns = Nativeint_val(nr_pfns);
++
++      c_array = malloc(sizeof(uint64_t) * c_nr_pfns);
++      if (!c_array)
++              caml_raise_out_of_memory();
++
++      ret = xc_get_pfn_list(_H(xch), _D(domid),
++                            c_array, c_nr_pfns);
++      if (ret < 0) {
++              free(c_array);
++              failwith_xc(_H(xch));
++      }
++
++      array = caml_alloc(ret, 0);
++      for (i = 0; i < ret; i++) {
++              v = caml_copy_nativeint(c_array[i]);
++              Store_field(array, i, v);
++      }
++      free(c_array);
++
++      CAMLreturn(array);
++}
++
++CAMLprim value stub_xc_domain_ioport_permission(value xch, value domid,
++                                             value start_port, value nr_ports,
++                                             value allow)
++{
++      CAMLparam5(xch, domid, start_port, nr_ports, allow);
++      uint32_t c_start_port, c_nr_ports;
++      uint8_t c_allow;
++      int ret;
++
++      c_start_port = Int_val(start_port);
++      c_nr_ports = Int_val(nr_ports);
++      c_allow = Bool_val(allow);
++
++      ret = xc_domain_ioport_permission(_H(xch), _D(domid),
++                                       c_start_port, c_nr_ports, c_allow);
++      if (ret < 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_iomem_permission(value xch, value domid,
++                                             value start_pfn, value nr_pfns,
++                                             value allow)
++{
++      CAMLparam5(xch, domid, start_pfn, nr_pfns, allow);
++      unsigned long c_start_pfn, c_nr_pfns;
++      uint8_t c_allow;
++      int ret;
++
++      c_start_pfn = Nativeint_val(start_pfn);
++      c_nr_pfns = Nativeint_val(nr_pfns);
++      c_allow = Bool_val(allow);
++
++      ret = xc_domain_iomem_permission(_H(xch), _D(domid),
++                                       c_start_pfn, c_nr_pfns, c_allow);
++      if (ret < 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_irq_permission(value xch, value domid,
++                                           value pirq, value allow)
++{
++      CAMLparam4(xch, domid, pirq, allow);
++      uint8_t c_pirq;
++      uint8_t c_allow;
++      int ret;
++
++      c_pirq = Int_val(pirq);
++      c_allow = Bool_val(allow);
++
++      ret = xc_domain_irq_permission(_H(xch), _D(domid),
++                                     c_pirq, c_allow);
++      if (ret < 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_unit);
++}
++
++static uint32_t pci_dev_to_bdf(int domain, int bus, int slot, int func)
++{
++      uint32_t bdf = 0;
++      bdf |= (bus & 0xff) << 16;
++      bdf |= (slot & 0x1f) << 11;
++      bdf |= (func & 0x7) << 8;
++      return bdf;
++}
++
++CAMLprim value stub_xc_domain_test_assign_device(value xch, value domid, value desc)
++{
++      CAMLparam3(xch, domid, desc);
++      int ret;
++      int domain, bus, slot, func;
++      uint32_t bdf;
++
++      domain = Int_val(Field(desc, 0));
++      bus = Int_val(Field(desc, 1));
++      slot = Int_val(Field(desc, 2));
++      func = Int_val(Field(desc, 3));
++      bdf = pci_dev_to_bdf(domain, bus, slot, func);
++
++      ret = xc_test_assign_device(_H(xch), _D(domid), bdf);
++
++      CAMLreturn(Val_bool(ret == 0));
++}
++
++CAMLprim value stub_xc_domain_assign_device(value xch, value domid, value desc)
++{
++      CAMLparam3(xch, domid, desc);
++      int ret;
++      int domain, bus, slot, func;
++      uint32_t bdf;
++
++      domain = Int_val(Field(desc, 0));
++      bus = Int_val(Field(desc, 1));
++      slot = Int_val(Field(desc, 2));
++      func = Int_val(Field(desc, 3));
++      bdf = pci_dev_to_bdf(domain, bus, slot, func);
++
++      ret = xc_assign_device(_H(xch), _D(domid), bdf);
++
++      if (ret < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_domain_deassign_device(value xch, value domid, value desc)
++{
++      CAMLparam3(xch, domid, desc);
++      int ret;
++      int domain, bus, slot, func;
++      uint32_t bdf;
++
++      domain = Int_val(Field(desc, 0));
++      bus = Int_val(Field(desc, 1));
++      slot = Int_val(Field(desc, 2));
++      func = Int_val(Field(desc, 3));
++      bdf = pci_dev_to_bdf(domain, bus, slot, func);
++
++      ret = xc_deassign_device(_H(xch), _D(domid), bdf);
++
++      if (ret < 0)
++              failwith_xc(_H(xch));
++      CAMLreturn(Val_unit);
++}
++
++CAMLprim value stub_xc_watchdog(value xch, value domid, value timeout)
++{
++      CAMLparam3(xch, domid, timeout);
++      int ret;
++      unsigned int c_timeout = Int32_val(timeout);
++
++      ret = xc_watchdog(_H(xch), _D(domid), c_timeout);
++      if (ret < 0)
++              failwith_xc(_H(xch));
++
++      CAMLreturn(Val_int(ret));
++}
++
++/*
++ * Local variables:
++ *  indent-tabs-mode: t
++ *  c-basic-offset: 8
++ *  tab-width: 8
++ * End:
++ */
+--- a/tools/ocaml/libs/xl/Makefile
++++ b/tools/ocaml/libs/xl/Makefile
+@@ -2,14 +2,14 @@
+ XEN_ROOT=$(TOPLEVEL)/../..
+ include $(TOPLEVEL)/common.make
+-OBJS = xl
+-INTF = xl.cmi
+-LIBS = xl.cma xl.cmxa
++OBJS = xenlight
++INTF = xenlight.cmi
++LIBS = xenlight.cma xenlight.cmxa
+-xl_OBJS = $(OBJS)
+-xl_C_OBJS = xl_stubs
++xenlight_OBJS = $(OBJS)
++xenlight_C_OBJS = xenlight_stubs
+-OCAML_LIBRARY = xl
++OCAML_LIBRARY = xenlight
+ all: $(INTF) $(LIBS)
+@@ -18,11 +18,11 @@
+ .PHONY: install
+ install: $(LIBS) META
+       mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xl
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xl META $(INTF) $(LIBS) *.a *.so *.cmx
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenlight
++      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xenlight META $(INTF) $(LIBS) *.a *.so *.cmx
+ .PHONY: uninstall
+ uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xl
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenlight
+ include $(TOPLEVEL)/Makefile.rules
+--- /dev/null
++++ b/tools/ocaml/libs/xl/xenlight_stubs.c
+@@ -0,0 +1,729 @@
++/*
++ * Copyright (C) 2009-2010 Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ */
++
++#include <stdlib.h>
++
++#define CAML_NAME_SPACE
++#include <caml/alloc.h>
++#include <caml/memory.h>
++#include <caml/signals.h>
++#include <caml/fail.h>
++#include <caml/callback.h>
++
++#include <sys/mman.h>
++#include <stdint.h>
++#include <string.h>
++
++#include "libxl.h"
++
++struct caml_logger {
++      struct xentoollog_logger logger;
++      int log_offset;
++      char log_buf[2048];
++};
++
++typedef struct caml_gc {
++      int offset;
++      void *ptrs[64];
++} caml_gc;
++
++void log_vmessage(struct xentoollog_logger *logger, xentoollog_level level,
++                  int errnoval, const char *context, const char *format, va_list al)
++{
++      struct caml_logger *ologger = (struct caml_logger *) logger;
++
++      ologger->log_offset += vsnprintf(ologger->log_buf + ologger->log_offset,
++                                       2048 - ologger->log_offset, format, al);
++}
++
++void log_destroy(struct xentoollog_logger *logger)
++{
++}
++
++#define INIT_STRUCT() libxl_ctx ctx; struct caml_logger lg; struct caml_gc gc; gc.offset = 0;
++
++#define INIT_CTX()  \
++      lg.logger.vmessage = log_vmessage; \
++      lg.logger.destroy = log_destroy; \
++      lg.logger.progress = NULL; \
++      caml_enter_blocking_section(); \
++      ret = libxl_ctx_init(&ctx, LIBXL_VERSION, (struct xentoollog_logger *) &lg); \
++      if (ret != 0) \
++              failwith_xl("cannot init context", &lg);
++
++#define FREE_CTX()  \
++      gc_free(&gc); \
++      caml_leave_blocking_section(); \
++      libxl_ctx_free(&ctx)
++
++static char * dup_String_val(caml_gc *gc, value s)
++{
++      int len;
++      char *c;
++      len = caml_string_length(s);
++      c = calloc(len + 1, sizeof(char));
++      if (!c)
++              caml_raise_out_of_memory();
++      gc->ptrs[gc->offset++] = c;
++      memcpy(c, String_val(s), len);
++      return c;
++}
++
++static void gc_free(caml_gc *gc)
++{
++      int i;
++      for (i = 0; i < gc->offset; i++) {
++              free(gc->ptrs[i]);
++      }
++}
++
++void failwith_xl(char *fname, struct caml_logger *lg)
++{
++      char *s;
++      s = (lg) ? lg->log_buf : fname;
++      caml_raise_with_string(*caml_named_value("xl.error"), s);
++}
++
++#if 0 /* TODO: wrap libxl_domain_create(), these functions will be needed then */
++static void * gc_calloc(caml_gc *gc, size_t nmemb, size_t size)
++{
++      void *ptr;
++      ptr = calloc(nmemb, size);
++      if (!ptr)
++              caml_raise_out_of_memory();
++      gc->ptrs[gc->offset++] = ptr;
++      return ptr;
++}
++
++static int string_string_tuple_array_val (caml_gc *gc, char ***c_val, value v)
++{
++      CAMLparam1(v);
++      CAMLlocal1(a);
++      int i;
++      char **array;
++
++      for (i = 0, a = Field(v, 5); a != Val_emptylist; a = Field(a, 1)) { i++; }
++
++      array = gc_calloc(gc, (i + 1) * 2, sizeof(char *));
++      if (!array)
++              return 1;
++      for (i = 0, a = Field(v, 5); a != Val_emptylist; a = Field(a, 1), i++) {
++              value b = Field(a, 0);
++              array[i * 2] = dup_String_val(gc, Field(b, 0));
++              array[i * 2 + 1] = dup_String_val(gc, Field(b, 1));
++      }
++      *c_val = array;
++      CAMLreturn(0);
++}
++
++static int domain_create_info_val (caml_gc *gc, libxl_domain_create_info *c_val, value v)
++{
++      CAMLparam1(v);
++      CAMLlocal1(a);
++      uint8_t *uuid = libxl_uuid_bytearray(&c_val->uuid);
++      int i;
++
++      c_val->hvm = Bool_val(Field(v, 0));
++      c_val->hap = Bool_val(Field(v, 1));
++      c_val->oos = Bool_val(Field(v, 2));
++      c_val->ssidref = Int32_val(Field(v, 3));
++      c_val->name = dup_String_val(gc, Field(v, 4));
++      a = Field(v, 5);
++      for (i = 0; i < 16; i++)
++              uuid[i] = Int_val(Field(a, i));
++      string_string_tuple_array_val(gc, &(c_val->xsdata), Field(v, 6));
++      string_string_tuple_array_val(gc, &(c_val->platformdata), Field(v, 7));
++
++      c_val->poolid = Int32_val(Field(v, 8));
++      c_val->poolname = dup_String_val(gc, Field(v, 9));
++
++      CAMLreturn(0);
++}
++
++static int domain_build_info_val (caml_gc *gc, libxl_domain_build_info *c_val, value v)
++{
++      CAMLparam1(v);
++      CAMLlocal1(infopriv);
++
++      c_val->max_vcpus = Int_val(Field(v, 0));
++      c_val->cur_vcpus = Int_val(Field(v, 1));
++      c_val->max_memkb = Int64_val(Field(v, 2));
++      c_val->target_memkb = Int64_val(Field(v, 3));
++      c_val->video_memkb = Int64_val(Field(v, 4));
++      c_val->shadow_memkb = Int64_val(Field(v, 5));
++      c_val->kernel.path = dup_String_val(gc, Field(v, 6));
++      c_val->is_hvm = Tag_val(Field(v, 7)) == 0;
++      infopriv = Field(Field(v, 7), 0);
++      if (c_val->hvm) {
++              c_val->u.hvm.pae = Bool_val(Field(infopriv, 0));
++              c_val->u.hvm.apic = Bool_val(Field(infopriv, 1));
++              c_val->u.hvm.acpi = Bool_val(Field(infopriv, 2));
++              c_val->u.hvm.nx = Bool_val(Field(infopriv, 3));
++              c_val->u.hvm.viridian = Bool_val(Field(infopriv, 4));
++              c_val->u.hvm.timeoffset = dup_String_val(gc, Field(infopriv, 5));
++              c_val->u.hvm.timer_mode = Int_val(Field(infopriv, 6));
++              c_val->u.hvm.hpet = Int_val(Field(infopriv, 7));
++              c_val->u.hvm.vpt_align = Int_val(Field(infopriv, 8));
++      } else {
++              c_val->u.pv.slack_memkb = Int64_val(Field(infopriv, 0));
++              c_val->u.pv.cmdline = dup_String_val(gc, Field(infopriv, 1));
++              c_val->u.pv.ramdisk.path = dup_String_val(gc, Field(infopriv, 2));
++              c_val->u.pv.features = dup_String_val(gc, Field(infopriv, 3));
++      }
++
++      CAMLreturn(0);
++}
++#endif
++
++static int device_disk_val(caml_gc *gc, libxl_device_disk *c_val, value v)
++{
++      CAMLparam1(v);
++
++      c_val->backend_domid = Int_val(Field(v, 0));
++      c_val->pdev_path = dup_String_val(gc, Field(v, 1));
++      c_val->vdev = dup_String_val(gc, Field(v, 2));
++        c_val->backend = (Int_val(Field(v, 3)));
++        c_val->format = (Int_val(Field(v, 4)));
++      c_val->unpluggable = Bool_val(Field(v, 5));
++      c_val->readwrite = Bool_val(Field(v, 6));
++      c_val->is_cdrom = Bool_val(Field(v, 7));
++
++      CAMLreturn(0);
++}
++
++static int device_nic_val(caml_gc *gc, libxl_device_nic *c_val, value v)
++{
++      CAMLparam1(v);
++      int i;
++      int ret = 0;
++      c_val->backend_domid = Int_val(Field(v, 0));
++      c_val->devid = Int_val(Field(v, 1));
++      c_val->mtu = Int_val(Field(v, 2));
++      c_val->model = dup_String_val(gc, Field(v, 3));
++
++      if (Wosize_val(Field(v, 4)) != 6) {
++              ret = 1;
++              goto out;
++      }
++      for (i = 0; i < 6; i++)
++              c_val->mac[i] = Int_val(Field(Field(v, 4), i));
++
++      /* not handling c_val->ip */
++      c_val->bridge = dup_String_val(gc, Field(v, 5));
++      c_val->ifname = dup_String_val(gc, Field(v, 6));
++      c_val->script = dup_String_val(gc, Field(v, 7));
++      c_val->nictype = (Int_val(Field(v, 8))) + NICTYPE_IOEMU;
++
++out:
++      CAMLreturn(ret);
++}
++
++static int device_console_val(caml_gc *gc, libxl_device_console *c_val, value v)
++{
++      CAMLparam1(v);
++
++      c_val->backend_domid = Int_val(Field(v, 0));
++      c_val->devid = Int_val(Field(v, 1));
++      c_val->consback = (Int_val(Field(v, 2))) + LIBXL_CONSBACK_XENCONSOLED;
++
++      CAMLreturn(0);
++}
++
++static int device_vkb_val(caml_gc *gc, libxl_device_vkb *c_val, value v)
++{
++      CAMLparam1(v);
++
++      c_val->backend_domid = Int_val(Field(v, 0));
++      c_val->devid = Int_val(Field(v, 1));
++
++      CAMLreturn(0);
++}
++
++static int device_vfb_val(caml_gc *gc, libxl_device_vfb *c_val, value v)
++{
++      CAMLparam1(v);
++
++      c_val->backend_domid = Int_val(Field(v, 0));
++      c_val->devid = Int_val(Field(v, 1));
++      c_val->vnc = Bool_val(Field(v, 2));
++      c_val->vnclisten = dup_String_val(gc, Field(v, 3));
++      c_val->vncpasswd = dup_String_val(gc, Field(v, 4));
++      c_val->vncdisplay = Int_val(Field(v, 5));
++      c_val->keymap = dup_String_val(gc, Field(v, 6));
++      c_val->sdl = Bool_val(Field(v, 7));
++      c_val->opengl = Bool_val(Field(v, 8));
++      c_val->display = dup_String_val(gc, Field(v, 9));
++      c_val->xauthority = dup_String_val(gc, Field(v, 10));
++
++      CAMLreturn(0);
++}
++
++static int device_pci_val(caml_gc *gc, libxl_device_pci *c_val, value v)
++{
++      union {
++              unsigned int value;
++              struct {
++                      unsigned int reserved1:2;
++                      unsigned int reg:6;
++                      unsigned int func:3;
++                      unsigned int dev:5;
++                      unsigned int bus:8;
++                      unsigned int reserved2:7;
++                      unsigned int enable:1;
++              }fields;
++      }u;
++      CAMLparam1(v);
++
++      /* FIXME: propagate API change to ocaml */
++      u.value = Int_val(Field(v, 0));
++      c_val->reg = u.fields.reg;
++      c_val->func = u.fields.func;
++      c_val->dev = u.fields.dev;
++      c_val->bus = u.fields.bus;
++      c_val->enable = u.fields.enable;
++
++      c_val->domain = Int_val(Field(v, 1));
++      c_val->vdevfn = Int_val(Field(v, 2));
++      c_val->msitranslate = Bool_val(Field(v, 3));
++      c_val->power_mgmt = Bool_val(Field(v, 4));
++
++      CAMLreturn(0);
++}
++
++static int sched_credit_val(caml_gc *gc, libxl_sched_credit *c_val, value v)
++{
++      CAMLparam1(v);
++      c_val->weight = Int_val(Field(v, 0));
++      c_val->cap = Int_val(Field(v, 1));
++      CAMLreturn(0);
++}
++
++static int domain_build_state_val(caml_gc *gc, libxl_domain_build_state *c_val, value v)
++{
++      CAMLparam1(v);
++
++      c_val->store_port = Int_val(Field(v, 0));
++      c_val->store_mfn = Int64_val(Field(v, 1));
++      c_val->console_port = Int_val(Field(v, 2));
++      c_val->console_mfn = Int64_val(Field(v, 3));
++      
++      CAMLreturn(0);
++}
++
++static value Val_sched_credit(libxl_sched_credit *c_val)
++{
++      CAMLparam0();
++      CAMLlocal1(v);
++
++      v = caml_alloc_tuple(2);
++
++      Store_field(v, 0, Val_int(c_val->weight));
++      Store_field(v, 1, Val_int(c_val->cap));
++
++      CAMLreturn(v);
++}
++
++static value Val_physinfo(libxl_physinfo *c_val)
++{
++      CAMLparam0();
++      CAMLlocal2(v, hwcap);
++      int i;
++
++      hwcap = caml_alloc_tuple(8);
++      for (i = 0; i < 8; i++)
++              Store_field(hwcap, i, caml_copy_int32(c_val->hw_cap[i]));
++
++      v = caml_alloc_tuple(11);
++      Store_field(v, 0, Val_int(c_val->threads_per_core));
++      Store_field(v, 1, Val_int(c_val->cores_per_socket));
++      Store_field(v, 2, Val_int(c_val->max_cpu_id));
++      Store_field(v, 3, Val_int(c_val->nr_cpus));
++      Store_field(v, 4, Val_int(c_val->cpu_khz));
++      Store_field(v, 5, caml_copy_int64(c_val->total_pages));
++      Store_field(v, 6, caml_copy_int64(c_val->free_pages));
++      Store_field(v, 7, caml_copy_int64(c_val->scrub_pages));
++      Store_field(v, 8, Val_int(c_val->nr_nodes));
++      Store_field(v, 9, hwcap);
++      Store_field(v, 10, caml_copy_int32(c_val->phys_cap));
++
++      CAMLreturn(v);
++}
++
++value stub_xl_disk_add(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_disk c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_disk_val(&gc, &c_info, info);
++      c_info.domid = Int_val(domid);
++
++      INIT_CTX();
++      ret = libxl_device_disk_add(&ctx, Int_val(domid), &c_info);
++      if (ret != 0)
++              failwith_xl("disk_add", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_disk_remove(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_disk c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_disk_val(&gc, &c_info, info);
++      c_info.domid = Int_val(domid);
++
++      INIT_CTX();
++      ret = libxl_device_disk_del(&ctx, &c_info, 0);
++      if (ret != 0)
++              failwith_xl("disk_remove", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_nic_add(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_nic c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_nic_val(&gc, &c_info, info);
++      c_info.domid = Int_val(domid);
++
++      INIT_CTX();
++      ret = libxl_device_nic_add(&ctx, Int_val(domid), &c_info);
++      if (ret != 0)
++              failwith_xl("nic_add", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_nic_remove(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_nic c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_nic_val(&gc, &c_info, info);
++      c_info.domid = Int_val(domid);
++
++      INIT_CTX();
++      ret = libxl_device_nic_del(&ctx, &c_info, 0);
++      if (ret != 0)
++              failwith_xl("nic_remove", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_console_add(value info, value state, value domid)
++{
++      CAMLparam3(info, state, domid);
++      libxl_device_console c_info;
++      libxl_domain_build_state c_state;
++      int ret;
++      INIT_STRUCT();
++
++      device_console_val(&gc, &c_info, info);
++      domain_build_state_val(&gc, &c_state, state);
++      c_info.domid = Int_val(domid);
++      c_info.build_state = &c_state;
++
++      INIT_CTX();
++      ret = libxl_device_console_add(&ctx, Int_val(domid), &c_info);
++      if (ret != 0)
++              failwith_xl("console_add", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_vkb_add(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_vkb c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_vkb_val(&gc, &c_info, info);
++      c_info.domid = Int_val(domid);
++
++      INIT_CTX();
++      ret = libxl_device_vkb_add(&ctx, Int_val(domid), &c_info);
++      if (ret != 0)
++              failwith_xl("vkb_add", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_vkb_clean_shutdown(value domid)
++{
++      CAMLparam1(domid);
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_device_vkb_clean_shutdown(&ctx, Int_val(domid));
++      if (ret != 0)
++              failwith_xl("vkb_clean_shutdown", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_vkb_hard_shutdown(value domid)
++{
++      CAMLparam1(domid);
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_device_vkb_hard_shutdown(&ctx, Int_val(domid));
++      if (ret != 0)
++              failwith_xl("vkb_hard_shutdown", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_vfb_add(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_vfb c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_vfb_val(&gc, &c_info, info);
++      c_info.domid = Int_val(domid);
++
++      INIT_CTX();
++      ret = libxl_device_vfb_add(&ctx, Int_val(domid), &c_info);
++      if (ret != 0)
++              failwith_xl("vfb_add", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_vfb_clean_shutdown(value domid)
++{
++      CAMLparam1(domid);
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_device_vfb_clean_shutdown(&ctx, Int_val(domid));
++      if (ret != 0)
++              failwith_xl("vfb_clean_shutdown", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_vfb_hard_shutdown(value domid)
++{
++      CAMLparam1(domid);
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_device_vfb_hard_shutdown(&ctx, Int_val(domid));
++      if (ret != 0)
++              failwith_xl("vfb_hard_shutdown", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_pci_add(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_pci c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_pci_val(&gc, &c_info, info);
++
++      INIT_CTX();
++      ret = libxl_device_pci_add(&ctx, Int_val(domid), &c_info);
++      if (ret != 0)
++              failwith_xl("pci_add", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_pci_remove(value info, value domid)
++{
++      CAMLparam2(info, domid);
++      libxl_device_pci c_info;
++      int ret;
++      INIT_STRUCT();
++
++      device_pci_val(&gc, &c_info, info);
++
++      INIT_CTX();
++      ret = libxl_device_pci_remove(&ctx, Int_val(domid), &c_info, 0);
++      if (ret != 0)
++              failwith_xl("pci_remove", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_pci_shutdown(value domid)
++{
++      CAMLparam1(domid);
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_device_pci_shutdown(&ctx, Int_val(domid));
++      if (ret != 0)
++              failwith_xl("pci_shutdown", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_button_press(value domid, value button)
++{
++      CAMLparam2(domid, button);
++      int ret;
++      INIT_STRUCT();
++      
++      INIT_CTX();
++      ret = libxl_button_press(&ctx, Int_val(domid), Int_val(button) + POWER_BUTTON);
++      if (ret != 0)
++              failwith_xl("button_press", &lg);
++      FREE_CTX();
++
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_physinfo(value unit)
++{
++      CAMLparam1(unit);
++      CAMLlocal1(physinfo);
++      libxl_physinfo c_physinfo;
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_get_physinfo(&ctx, &c_physinfo);
++      if (ret != 0)
++              failwith_xl("physinfo", &lg);
++      FREE_CTX();
++      
++      physinfo = Val_physinfo(&c_physinfo);
++      CAMLreturn(physinfo);
++}
++
++value stub_xl_sched_credit_domain_get(value domid)
++{
++      CAMLparam1(domid);
++      CAMLlocal1(scinfo);
++      libxl_sched_credit c_scinfo;
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_sched_credit_domain_get(&ctx, Int_val(domid), &c_scinfo);
++      if (ret != 0)
++              failwith_xl("sched_credit_domain_get", &lg);
++      FREE_CTX();
++      
++      scinfo = Val_sched_credit(&c_scinfo);
++      CAMLreturn(scinfo);
++}
++
++value stub_xl_sched_credit_domain_set(value domid, value scinfo)
++{
++      CAMLparam2(domid, scinfo);
++      libxl_sched_credit c_scinfo;
++      int ret;
++      INIT_STRUCT();
++
++      sched_credit_val(&gc, &c_scinfo, scinfo);
++
++      INIT_CTX();
++      ret = libxl_sched_credit_domain_set(&ctx, Int_val(domid), &c_scinfo);
++      if (ret != 0)
++              failwith_xl("sched_credit_domain_set", &lg);
++      FREE_CTX();
++      
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_send_trigger(value domid, value trigger, value vcpuid)
++{
++      CAMLparam3(domid, trigger, vcpuid);
++      int ret;
++      char *c_trigger;
++      INIT_STRUCT();
++
++      c_trigger = dup_String_val(&gc, trigger);
++
++      INIT_CTX();
++      ret = libxl_send_trigger(&ctx, Int_val(domid), c_trigger, Int_val(vcpuid));
++      if (ret != 0)
++              failwith_xl("send_trigger", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_send_sysrq(value domid, value sysrq)
++{
++      CAMLparam2(domid, sysrq);
++      int ret;
++      INIT_STRUCT();
++
++      INIT_CTX();
++      ret = libxl_send_sysrq(&ctx, Int_val(domid), Int_val(sysrq));
++      if (ret != 0)
++              failwith_xl("send_sysrq", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++value stub_xl_send_debug_keys(value keys)
++{
++      CAMLparam1(keys);
++      int ret;
++      char *c_keys;
++      INIT_STRUCT();
++
++      c_keys = dup_String_val(&gc, keys);
++
++      INIT_CTX();
++      ret = libxl_send_debug_keys(&ctx, c_keys);
++      if (ret != 0)
++              failwith_xl("send_debug_keys", &lg);
++      FREE_CTX();
++      CAMLreturn(Val_unit);
++}
++
++/*
++ * Local variables:
++ *  indent-tabs-mode: t
++ *  c-basic-offset: 8
++ *  tab-width: 8
++ * End:
++ */
+--- a/tools/ocaml/libs/xl/xl_stubs.c
++++ /dev/null
+@@ -1,729 +0,0 @@
+-/*
+- * Copyright (C) 2009-2010 Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- */
+-
+-#include <stdlib.h>
+-
+-#define CAML_NAME_SPACE
+-#include <caml/alloc.h>
+-#include <caml/memory.h>
+-#include <caml/signals.h>
+-#include <caml/fail.h>
+-#include <caml/callback.h>
+-
+-#include <sys/mman.h>
+-#include <stdint.h>
+-#include <string.h>
+-
+-#include "libxl.h"
+-
+-struct caml_logger {
+-      struct xentoollog_logger logger;
+-      int log_offset;
+-      char log_buf[2048];
+-};
+-
+-typedef struct caml_gc {
+-      int offset;
+-      void *ptrs[64];
+-} caml_gc;
+-
+-void log_vmessage(struct xentoollog_logger *logger, xentoollog_level level,
+-                  int errnoval, const char *context, const char *format, va_list al)
+-{
+-      struct caml_logger *ologger = (struct caml_logger *) logger;
+-
+-      ologger->log_offset += vsnprintf(ologger->log_buf + ologger->log_offset,
+-                                       2048 - ologger->log_offset, format, al);
+-}
+-
+-void log_destroy(struct xentoollog_logger *logger)
+-{
+-}
+-
+-#define INIT_STRUCT() libxl_ctx ctx; struct caml_logger lg; struct caml_gc gc; gc.offset = 0;
+-
+-#define INIT_CTX()  \
+-      lg.logger.vmessage = log_vmessage; \
+-      lg.logger.destroy = log_destroy; \
+-      lg.logger.progress = NULL; \
+-      caml_enter_blocking_section(); \
+-      ret = libxl_ctx_init(&ctx, LIBXL_VERSION, (struct xentoollog_logger *) &lg); \
+-      if (ret != 0) \
+-              failwith_xl("cannot init context", &lg);
+-
+-#define FREE_CTX()  \
+-      gc_free(&gc); \
+-      caml_leave_blocking_section(); \
+-      libxl_ctx_free(&ctx)
+-
+-static char * dup_String_val(caml_gc *gc, value s)
+-{
+-      int len;
+-      char *c;
+-      len = caml_string_length(s);
+-      c = calloc(len + 1, sizeof(char));
+-      if (!c)
+-              caml_raise_out_of_memory();
+-      gc->ptrs[gc->offset++] = c;
+-      memcpy(c, String_val(s), len);
+-      return c;
+-}
+-
+-static void gc_free(caml_gc *gc)
+-{
+-      int i;
+-      for (i = 0; i < gc->offset; i++) {
+-              free(gc->ptrs[i]);
+-      }
+-}
+-
+-void failwith_xl(char *fname, struct caml_logger *lg)
+-{
+-      char *s;
+-      s = (lg) ? lg->log_buf : fname;
+-      caml_raise_with_string(*caml_named_value("xl.error"), s);
+-}
+-
+-#if 0 /* TODO: wrap libxl_domain_create(), these functions will be needed then */
+-static void * gc_calloc(caml_gc *gc, size_t nmemb, size_t size)
+-{
+-      void *ptr;
+-      ptr = calloc(nmemb, size);
+-      if (!ptr)
+-              caml_raise_out_of_memory();
+-      gc->ptrs[gc->offset++] = ptr;
+-      return ptr;
+-}
+-
+-static int string_string_tuple_array_val (caml_gc *gc, char ***c_val, value v)
+-{
+-      CAMLparam1(v);
+-      CAMLlocal1(a);
+-      int i;
+-      char **array;
+-
+-      for (i = 0, a = Field(v, 5); a != Val_emptylist; a = Field(a, 1)) { i++; }
+-
+-      array = gc_calloc(gc, (i + 1) * 2, sizeof(char *));
+-      if (!array)
+-              return 1;
+-      for (i = 0, a = Field(v, 5); a != Val_emptylist; a = Field(a, 1), i++) {
+-              value b = Field(a, 0);
+-              array[i * 2] = dup_String_val(gc, Field(b, 0));
+-              array[i * 2 + 1] = dup_String_val(gc, Field(b, 1));
+-      }
+-      *c_val = array;
+-      CAMLreturn(0);
+-}
+-
+-static int domain_create_info_val (caml_gc *gc, libxl_domain_create_info *c_val, value v)
+-{
+-      CAMLparam1(v);
+-      CAMLlocal1(a);
+-      uint8_t *uuid = libxl_uuid_bytearray(&c_val->uuid);
+-      int i;
+-
+-      c_val->hvm = Bool_val(Field(v, 0));
+-      c_val->hap = Bool_val(Field(v, 1));
+-      c_val->oos = Bool_val(Field(v, 2));
+-      c_val->ssidref = Int32_val(Field(v, 3));
+-      c_val->name = dup_String_val(gc, Field(v, 4));
+-      a = Field(v, 5);
+-      for (i = 0; i < 16; i++)
+-              uuid[i] = Int_val(Field(a, i));
+-      string_string_tuple_array_val(gc, &(c_val->xsdata), Field(v, 6));
+-      string_string_tuple_array_val(gc, &(c_val->platformdata), Field(v, 7));
+-
+-      c_val->poolid = Int32_val(Field(v, 8));
+-      c_val->poolname = dup_String_val(gc, Field(v, 9));
+-
+-      CAMLreturn(0);
+-}
+-
+-static int domain_build_info_val (caml_gc *gc, libxl_domain_build_info *c_val, value v)
+-{
+-      CAMLparam1(v);
+-      CAMLlocal1(infopriv);
+-
+-      c_val->max_vcpus = Int_val(Field(v, 0));
+-      c_val->cur_vcpus = Int_val(Field(v, 1));
+-      c_val->max_memkb = Int64_val(Field(v, 2));
+-      c_val->target_memkb = Int64_val(Field(v, 3));
+-      c_val->video_memkb = Int64_val(Field(v, 4));
+-      c_val->shadow_memkb = Int64_val(Field(v, 5));
+-      c_val->kernel.path = dup_String_val(gc, Field(v, 6));
+-      c_val->is_hvm = Tag_val(Field(v, 7)) == 0;
+-      infopriv = Field(Field(v, 7), 0);
+-      if (c_val->hvm) {
+-              c_val->u.hvm.pae = Bool_val(Field(infopriv, 0));
+-              c_val->u.hvm.apic = Bool_val(Field(infopriv, 1));
+-              c_val->u.hvm.acpi = Bool_val(Field(infopriv, 2));
+-              c_val->u.hvm.nx = Bool_val(Field(infopriv, 3));
+-              c_val->u.hvm.viridian = Bool_val(Field(infopriv, 4));
+-              c_val->u.hvm.timeoffset = dup_String_val(gc, Field(infopriv, 5));
+-              c_val->u.hvm.timer_mode = Int_val(Field(infopriv, 6));
+-              c_val->u.hvm.hpet = Int_val(Field(infopriv, 7));
+-              c_val->u.hvm.vpt_align = Int_val(Field(infopriv, 8));
+-      } else {
+-              c_val->u.pv.slack_memkb = Int64_val(Field(infopriv, 0));
+-              c_val->u.pv.cmdline = dup_String_val(gc, Field(infopriv, 1));
+-              c_val->u.pv.ramdisk.path = dup_String_val(gc, Field(infopriv, 2));
+-              c_val->u.pv.features = dup_String_val(gc, Field(infopriv, 3));
+-      }
+-
+-      CAMLreturn(0);
+-}
+-#endif
+-
+-static int device_disk_val(caml_gc *gc, libxl_device_disk *c_val, value v)
+-{
+-      CAMLparam1(v);
+-
+-      c_val->backend_domid = Int_val(Field(v, 0));
+-      c_val->pdev_path = dup_String_val(gc, Field(v, 1));
+-      c_val->vdev = dup_String_val(gc, Field(v, 2));
+-        c_val->backend = (Int_val(Field(v, 3)));
+-        c_val->format = (Int_val(Field(v, 4)));
+-      c_val->unpluggable = Bool_val(Field(v, 5));
+-      c_val->readwrite = Bool_val(Field(v, 6));
+-      c_val->is_cdrom = Bool_val(Field(v, 7));
+-
+-      CAMLreturn(0);
+-}
+-
+-static int device_nic_val(caml_gc *gc, libxl_device_nic *c_val, value v)
+-{
+-      CAMLparam1(v);
+-      int i;
+-      int ret = 0;
+-      c_val->backend_domid = Int_val(Field(v, 0));
+-      c_val->devid = Int_val(Field(v, 1));
+-      c_val->mtu = Int_val(Field(v, 2));
+-      c_val->model = dup_String_val(gc, Field(v, 3));
+-
+-      if (Wosize_val(Field(v, 4)) != 6) {
+-              ret = 1;
+-              goto out;
+-      }
+-      for (i = 0; i < 6; i++)
+-              c_val->mac[i] = Int_val(Field(Field(v, 4), i));
+-
+-      /* not handling c_val->ip */
+-      c_val->bridge = dup_String_val(gc, Field(v, 5));
+-      c_val->ifname = dup_String_val(gc, Field(v, 6));
+-      c_val->script = dup_String_val(gc, Field(v, 7));
+-      c_val->nictype = (Int_val(Field(v, 8))) + NICTYPE_IOEMU;
+-
+-out:
+-      CAMLreturn(ret);
+-}
+-
+-static int device_console_val(caml_gc *gc, libxl_device_console *c_val, value v)
+-{
+-      CAMLparam1(v);
+-
+-      c_val->backend_domid = Int_val(Field(v, 0));
+-      c_val->devid = Int_val(Field(v, 1));
+-      c_val->consback = (Int_val(Field(v, 2))) + LIBXL_CONSBACK_XENCONSOLED;
+-
+-      CAMLreturn(0);
+-}
+-
+-static int device_vkb_val(caml_gc *gc, libxl_device_vkb *c_val, value v)
+-{
+-      CAMLparam1(v);
+-
+-      c_val->backend_domid = Int_val(Field(v, 0));
+-      c_val->devid = Int_val(Field(v, 1));
+-
+-      CAMLreturn(0);
+-}
+-
+-static int device_vfb_val(caml_gc *gc, libxl_device_vfb *c_val, value v)
+-{
+-      CAMLparam1(v);
+-
+-      c_val->backend_domid = Int_val(Field(v, 0));
+-      c_val->devid = Int_val(Field(v, 1));
+-      c_val->vnc = Bool_val(Field(v, 2));
+-      c_val->vnclisten = dup_String_val(gc, Field(v, 3));
+-      c_val->vncpasswd = dup_String_val(gc, Field(v, 4));
+-      c_val->vncdisplay = Int_val(Field(v, 5));
+-      c_val->keymap = dup_String_val(gc, Field(v, 6));
+-      c_val->sdl = Bool_val(Field(v, 7));
+-      c_val->opengl = Bool_val(Field(v, 8));
+-      c_val->display = dup_String_val(gc, Field(v, 9));
+-      c_val->xauthority = dup_String_val(gc, Field(v, 10));
+-
+-      CAMLreturn(0);
+-}
+-
+-static int device_pci_val(caml_gc *gc, libxl_device_pci *c_val, value v)
+-{
+-      union {
+-              unsigned int value;
+-              struct {
+-                      unsigned int reserved1:2;
+-                      unsigned int reg:6;
+-                      unsigned int func:3;
+-                      unsigned int dev:5;
+-                      unsigned int bus:8;
+-                      unsigned int reserved2:7;
+-                      unsigned int enable:1;
+-              }fields;
+-      }u;
+-      CAMLparam1(v);
+-
+-      /* FIXME: propagate API change to ocaml */
+-      u.value = Int_val(Field(v, 0));
+-      c_val->reg = u.fields.reg;
+-      c_val->func = u.fields.func;
+-      c_val->dev = u.fields.dev;
+-      c_val->bus = u.fields.bus;
+-      c_val->enable = u.fields.enable;
+-
+-      c_val->domain = Int_val(Field(v, 1));
+-      c_val->vdevfn = Int_val(Field(v, 2));
+-      c_val->msitranslate = Bool_val(Field(v, 3));
+-      c_val->power_mgmt = Bool_val(Field(v, 4));
+-
+-      CAMLreturn(0);
+-}
+-
+-static int sched_credit_val(caml_gc *gc, libxl_sched_credit *c_val, value v)
+-{
+-      CAMLparam1(v);
+-      c_val->weight = Int_val(Field(v, 0));
+-      c_val->cap = Int_val(Field(v, 1));
+-      CAMLreturn(0);
+-}
+-
+-static int domain_build_state_val(caml_gc *gc, libxl_domain_build_state *c_val, value v)
+-{
+-      CAMLparam1(v);
+-
+-      c_val->store_port = Int_val(Field(v, 0));
+-      c_val->store_mfn = Int64_val(Field(v, 1));
+-      c_val->console_port = Int_val(Field(v, 2));
+-      c_val->console_mfn = Int64_val(Field(v, 3));
+-      
+-      CAMLreturn(0);
+-}
+-
+-static value Val_sched_credit(libxl_sched_credit *c_val)
+-{
+-      CAMLparam0();
+-      CAMLlocal1(v);
+-
+-      v = caml_alloc_tuple(2);
+-
+-      Store_field(v, 0, Val_int(c_val->weight));
+-      Store_field(v, 1, Val_int(c_val->cap));
+-
+-      CAMLreturn(v);
+-}
+-
+-static value Val_physinfo(libxl_physinfo *c_val)
+-{
+-      CAMLparam0();
+-      CAMLlocal2(v, hwcap);
+-      int i;
+-
+-      hwcap = caml_alloc_tuple(8);
+-      for (i = 0; i < 8; i++)
+-              Store_field(hwcap, i, caml_copy_int32(c_val->hw_cap[i]));
+-
+-      v = caml_alloc_tuple(11);
+-      Store_field(v, 0, Val_int(c_val->threads_per_core));
+-      Store_field(v, 1, Val_int(c_val->cores_per_socket));
+-      Store_field(v, 2, Val_int(c_val->max_cpu_id));
+-      Store_field(v, 3, Val_int(c_val->nr_cpus));
+-      Store_field(v, 4, Val_int(c_val->cpu_khz));
+-      Store_field(v, 5, caml_copy_int64(c_val->total_pages));
+-      Store_field(v, 6, caml_copy_int64(c_val->free_pages));
+-      Store_field(v, 7, caml_copy_int64(c_val->scrub_pages));
+-      Store_field(v, 8, Val_int(c_val->nr_nodes));
+-      Store_field(v, 9, hwcap);
+-      Store_field(v, 10, caml_copy_int32(c_val->phys_cap));
+-
+-      CAMLreturn(v);
+-}
+-
+-value stub_xl_disk_add(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_disk c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_disk_val(&gc, &c_info, info);
+-      c_info.domid = Int_val(domid);
+-
+-      INIT_CTX();
+-      ret = libxl_device_disk_add(&ctx, Int_val(domid), &c_info);
+-      if (ret != 0)
+-              failwith_xl("disk_add", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_disk_remove(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_disk c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_disk_val(&gc, &c_info, info);
+-      c_info.domid = Int_val(domid);
+-
+-      INIT_CTX();
+-      ret = libxl_device_disk_del(&ctx, &c_info, 0);
+-      if (ret != 0)
+-              failwith_xl("disk_remove", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_nic_add(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_nic c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_nic_val(&gc, &c_info, info);
+-      c_info.domid = Int_val(domid);
+-
+-      INIT_CTX();
+-      ret = libxl_device_nic_add(&ctx, Int_val(domid), &c_info);
+-      if (ret != 0)
+-              failwith_xl("nic_add", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_nic_remove(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_nic c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_nic_val(&gc, &c_info, info);
+-      c_info.domid = Int_val(domid);
+-
+-      INIT_CTX();
+-      ret = libxl_device_nic_del(&ctx, &c_info, 0);
+-      if (ret != 0)
+-              failwith_xl("nic_remove", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_console_add(value info, value state, value domid)
+-{
+-      CAMLparam3(info, state, domid);
+-      libxl_device_console c_info;
+-      libxl_domain_build_state c_state;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_console_val(&gc, &c_info, info);
+-      domain_build_state_val(&gc, &c_state, state);
+-      c_info.domid = Int_val(domid);
+-      c_info.build_state = &c_state;
+-
+-      INIT_CTX();
+-      ret = libxl_device_console_add(&ctx, Int_val(domid), &c_info);
+-      if (ret != 0)
+-              failwith_xl("console_add", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_vkb_add(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_vkb c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_vkb_val(&gc, &c_info, info);
+-      c_info.domid = Int_val(domid);
+-
+-      INIT_CTX();
+-      ret = libxl_device_vkb_add(&ctx, Int_val(domid), &c_info);
+-      if (ret != 0)
+-              failwith_xl("vkb_add", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_vkb_clean_shutdown(value domid)
+-{
+-      CAMLparam1(domid);
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_device_vkb_clean_shutdown(&ctx, Int_val(domid));
+-      if (ret != 0)
+-              failwith_xl("vkb_clean_shutdown", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_vkb_hard_shutdown(value domid)
+-{
+-      CAMLparam1(domid);
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_device_vkb_hard_shutdown(&ctx, Int_val(domid));
+-      if (ret != 0)
+-              failwith_xl("vkb_hard_shutdown", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_vfb_add(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_vfb c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_vfb_val(&gc, &c_info, info);
+-      c_info.domid = Int_val(domid);
+-
+-      INIT_CTX();
+-      ret = libxl_device_vfb_add(&ctx, Int_val(domid), &c_info);
+-      if (ret != 0)
+-              failwith_xl("vfb_add", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_vfb_clean_shutdown(value domid)
+-{
+-      CAMLparam1(domid);
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_device_vfb_clean_shutdown(&ctx, Int_val(domid));
+-      if (ret != 0)
+-              failwith_xl("vfb_clean_shutdown", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_vfb_hard_shutdown(value domid)
+-{
+-      CAMLparam1(domid);
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_device_vfb_hard_shutdown(&ctx, Int_val(domid));
+-      if (ret != 0)
+-              failwith_xl("vfb_hard_shutdown", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_pci_add(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_pci c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_pci_val(&gc, &c_info, info);
+-
+-      INIT_CTX();
+-      ret = libxl_device_pci_add(&ctx, Int_val(domid), &c_info);
+-      if (ret != 0)
+-              failwith_xl("pci_add", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_pci_remove(value info, value domid)
+-{
+-      CAMLparam2(info, domid);
+-      libxl_device_pci c_info;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      device_pci_val(&gc, &c_info, info);
+-
+-      INIT_CTX();
+-      ret = libxl_device_pci_remove(&ctx, Int_val(domid), &c_info, 0);
+-      if (ret != 0)
+-              failwith_xl("pci_remove", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_pci_shutdown(value domid)
+-{
+-      CAMLparam1(domid);
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_device_pci_shutdown(&ctx, Int_val(domid));
+-      if (ret != 0)
+-              failwith_xl("pci_shutdown", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_button_press(value domid, value button)
+-{
+-      CAMLparam2(domid, button);
+-      int ret;
+-      INIT_STRUCT();
+-      
+-      INIT_CTX();
+-      ret = libxl_button_press(&ctx, Int_val(domid), Int_val(button) + POWER_BUTTON);
+-      if (ret != 0)
+-              failwith_xl("button_press", &lg);
+-      FREE_CTX();
+-
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_physinfo(value unit)
+-{
+-      CAMLparam1(unit);
+-      CAMLlocal1(physinfo);
+-      libxl_physinfo c_physinfo;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_get_physinfo(&ctx, &c_physinfo);
+-      if (ret != 0)
+-              failwith_xl("physinfo", &lg);
+-      FREE_CTX();
+-      
+-      physinfo = Val_physinfo(&c_physinfo);
+-      CAMLreturn(physinfo);
+-}
+-
+-value stub_xl_sched_credit_domain_get(value domid)
+-{
+-      CAMLparam1(domid);
+-      CAMLlocal1(scinfo);
+-      libxl_sched_credit c_scinfo;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_sched_credit_domain_get(&ctx, Int_val(domid), &c_scinfo);
+-      if (ret != 0)
+-              failwith_xl("sched_credit_domain_get", &lg);
+-      FREE_CTX();
+-      
+-      scinfo = Val_sched_credit(&c_scinfo);
+-      CAMLreturn(scinfo);
+-}
+-
+-value stub_xl_sched_credit_domain_set(value domid, value scinfo)
+-{
+-      CAMLparam2(domid, scinfo);
+-      libxl_sched_credit c_scinfo;
+-      int ret;
+-      INIT_STRUCT();
+-
+-      sched_credit_val(&gc, &c_scinfo, scinfo);
+-
+-      INIT_CTX();
+-      ret = libxl_sched_credit_domain_set(&ctx, Int_val(domid), &c_scinfo);
+-      if (ret != 0)
+-              failwith_xl("sched_credit_domain_set", &lg);
+-      FREE_CTX();
+-      
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_send_trigger(value domid, value trigger, value vcpuid)
+-{
+-      CAMLparam3(domid, trigger, vcpuid);
+-      int ret;
+-      char *c_trigger;
+-      INIT_STRUCT();
+-
+-      c_trigger = dup_String_val(&gc, trigger);
+-
+-      INIT_CTX();
+-      ret = libxl_send_trigger(&ctx, Int_val(domid), c_trigger, Int_val(vcpuid));
+-      if (ret != 0)
+-              failwith_xl("send_trigger", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_send_sysrq(value domid, value sysrq)
+-{
+-      CAMLparam2(domid, sysrq);
+-      int ret;
+-      INIT_STRUCT();
+-
+-      INIT_CTX();
+-      ret = libxl_send_sysrq(&ctx, Int_val(domid), Int_val(sysrq));
+-      if (ret != 0)
+-              failwith_xl("send_sysrq", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_xl_send_debug_keys(value keys)
+-{
+-      CAMLparam1(keys);
+-      int ret;
+-      char *c_keys;
+-      INIT_STRUCT();
+-
+-      c_keys = dup_String_val(&gc, keys);
+-
+-      INIT_CTX();
+-      ret = libxl_send_debug_keys(&ctx, c_keys);
+-      if (ret != 0)
+-              failwith_xl("send_debug_keys", &lg);
+-      FREE_CTX();
+-      CAMLreturn(Val_unit);
+-}
+-
+-/*
+- * Local variables:
+- *  indent-tabs-mode: t
+- *  c-basic-offset: 8
+- *  tab-width: 8
+- * End:
+- */
+--- a/tools/ocaml/libs/xs/META.in
++++ b/tools/ocaml/libs/xs/META.in
+@@ -1,5 +1,5 @@
+ version = "@VERSION@"
+ description = "XenStore Interface"
+-requires = "unix,xb"
+-archive(byte) = "xs.cma"
+-archive(native) = "xs.cmxa"
++requires = "unix,xenbus"
++archive(byte) = "xenstore.cma"
++archive(native) = "xenstore.cmxa"
+--- a/tools/ocaml/libs/xs/Makefile
++++ b/tools/ocaml/libs/xs/Makefile
+@@ -3,6 +3,7 @@
+ include $(TOPLEVEL)/common.make
+ OCAMLINCLUDE += -I ../xb/
++OCAMLOPTFLAGS += -for-pack Xenstore
+ .NOTPARALLEL:
+ # Ocaml is such a PITA!
+@@ -12,7 +13,7 @@
+ PRELIBS = $(foreach obj, $(PREOBJS),$(obj).cmo) $(foreach obj,$(PREOJBS),$(obj).cmx)
+ OBJS = queueop xsraw xst xs
+ INTF = xsraw.cmi xst.cmi xs.cmi
+-LIBS = xs.cma xs.cmxa
++LIBS = xenstore.cma xenstore.cmxa
+ all: $(PREINTF) $(PRELIBS) $(INTF) $(LIBS) $(PROGRAMS)
+@@ -20,26 +21,26 @@
+ libs: $(LIBS)
+-xs_OBJS = $(OBJS)
+-OCAML_NOC_LIBRARY = xs
++xenstore_OBJS = xenstore
++OCAML_NOC_LIBRARY = xenstore
+-#xs.cmxa: $(foreach obj,$(OBJS),$(obj).cmx)
+-#     $(E) " MLLIB     $@"
+-#     $(Q)$(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $@ $(foreach obj,$(OBJS),$(obj).cmx)
+-#
+-#xs.cma: $(foreach obj,$(OBJS),$(obj).cmo)
+-#     $(E) " MLLIB     $@"
+-#     $(Q)$(OCAMLC) -a -o $@ $(foreach obj,$(OBJS),$(obj).cmo)
++xenstore.cmx : $(foreach obj, $(OBJS), $(obj).cmx)
++      $(E) " CMX       $@"
++      $(Q)$(OCAMLOPT) -pack -o $@ $^
++
++xenstore.cmo : $(foreach obj, $(OBJS), $(obj).cmo)
++      $(E) " CMO       $@"
++      $(Q)$(OCAMLC) -pack -o $@ $^
+ .PHONY: install
+ install: $(LIBS) META
+       mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xs
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xs META $(INTF) xs.mli xst.mli xsraw.mli $(LIBS) *.a *.cmx
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenstore
++      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xenstore META $(LIBS) xenstore.cmx xenstore.cmi *.a 
+ .PHONY: uninstall
+ uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) xs
++      ocamlfind remove -destdir $(OCAMLDESTDIR) xenstore
+ include $(TOPLEVEL)/Makefile.rules
+--- a/tools/ocaml/libs/xs/queueop.ml
++++ b/tools/ocaml/libs/xs/queueop.ml
+@@ -13,6 +13,7 @@
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU Lesser General Public License for more details.
+  *)
++open Xenbus
+ let data_concat ls = (String.concat "\000" ls) ^ "\000"
+ let queue_path ty (tid: int) (path: string) con =
+--- a/tools/ocaml/libs/xs/xs.ml
++++ b/tools/ocaml/libs/xs/xs.ml
+@@ -69,7 +69,7 @@
+ let read_watchevent xsh = Xsraw.read_watchevent xsh.con
+ let make fd = get_operations (Xsraw.open_fd fd)
+-let get_fd xsh = Xb.get_fd xsh.con.Xsraw.xb
++let get_fd xsh = Xenbus.Xb.get_fd xsh.con.Xsraw.xb
+ exception Timeout
+--- a/tools/ocaml/libs/xs/xsraw.ml
++++ b/tools/ocaml/libs/xs/xsraw.ml
+@@ -14,6 +14,8 @@
+  * GNU Lesser General Public License for more details.
+  *)
++open Xenbus
++
+ exception Partial_not_empty
+ exception Unexpected_packet of string
+@@ -27,7 +29,7 @@
+       raise (Unexpected_packet s)
+ type con = {
+-      xb: Xb.t;
++      xb: Xenbus.Xb.t;
+       watchevents: (string * string) Queue.t;
+ }
+--- a/tools/ocaml/libs/xs/xsraw.mli
++++ b/tools/ocaml/libs/xs/xsraw.mli
+@@ -16,8 +16,8 @@
+ exception Partial_not_empty
+ exception Unexpected_packet of string
+ exception Invalid_path of string
+-val unexpected_packet : Xb.Op.operation -> Xb.Op.operation -> 'a
+-type con = { xb : Xb.t; watchevents : (string * string) Queue.t; }
++val unexpected_packet : Xenbus.Xb.Op.operation -> Xenbus.Xb.Op.operation -> 'a
++type con = { xb : Xenbus.Xb.t; watchevents : (string * string) Queue.t; }
+ val close : con -> unit
+ val open_fd : Unix.file_descr -> con
+ val split_string : ?limit:int -> char -> string -> string list
+@@ -26,14 +26,14 @@
+ val string_of_perms : int * perm * (int * perm) list -> string
+ val perms_of_string : string -> int * perm * (int * perm) list
+ val pkt_send : con -> unit
+-val pkt_recv : con -> Xb.Packet.t
+-val pkt_recv_timeout : con -> float -> bool * Xb.Packet.t option
++val pkt_recv : con -> Xenbus.Xb.Packet.t
++val pkt_recv_timeout : con -> float -> bool * Xenbus.Xb.Packet.t option
+ val queue_watchevent : con -> string -> unit
+ val has_watchevents : con -> bool
+ val get_watchevent : con -> string * string
+ val read_watchevent : con -> string * string
+-val sync_recv : Xb.Op.operation -> con -> string
+-val sync : (Xb.t -> 'a) -> con -> string
++val sync_recv : Xenbus.Xb.Op.operation -> con -> string
++val sync : (Xenbus.Xb.t -> 'a) -> con -> string
+ val ack : string -> unit
+ val validate_path : string -> unit
+ val validate_watch_path : string -> unit
+--- a/tools/ocaml/xenstored/Makefile
++++ b/tools/ocaml/xenstored/Makefile
+@@ -35,11 +35,11 @@
+ XENSTOREDLIBS = \
+       unix.cmxa \
+       $(OCAML_TOPLEVEL)/libs/uuid/uuid.cmxa \
+-      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/mmap $(OCAML_TOPLEVEL)/libs/mmap/mmap.cmxa \
++      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/mmap $(OCAML_TOPLEVEL)/libs/mmap/xenmmap.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/log $(OCAML_TOPLEVEL)/libs/log/log.cmxa \
+-      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/eventchn.cmxa \
+-      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xc $(OCAML_TOPLEVEL)/libs/xc/xc.cmxa \
+-      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xb $(OCAML_TOPLEVEL)/libs/xb/xb.cmxa \
++      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \
++      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xc $(OCAML_TOPLEVEL)/libs/xc/xenctrl.cmxa \
++      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xb $(OCAML_TOPLEVEL)/libs/xb/xenbus.cmxa \
+       -ccopt -L -ccopt $(XEN_ROOT)/tools/libxc
+ PROGRAMS = oxenstored
+--- a/tools/ocaml/xenstored/connection.ml
++++ b/tools/ocaml/xenstored/connection.ml
+@@ -27,7 +27,7 @@
+ }
+ and t = {
+-      xb: Xb.t;
++      xb: Xenbus.Xb.t;
+       dom: Domain.t option;
+       transactions: (int, Transaction.t) Hashtbl.t;
+       mutable next_tid: int;
+@@ -93,10 +93,10 @@
+       Logging.new_connection ~tid:Transaction.none ~con:(get_domstr con);
+       con
+-let get_fd con = Xb.get_fd con.xb
++let get_fd con = Xenbus.Xb.get_fd con.xb
+ let close con =
+       Logging.end_connection ~tid:Transaction.none ~con:(get_domstr con);
+-      Xb.close con.xb
++      Xenbus.Xb.close con.xb
+ let get_perm con =
+       con.perm
+@@ -108,9 +108,9 @@
+       con.perm <- Perms.Connection.set_target (get_perm con) ~perms:[Perms.READ; Perms.WRITE] target_domid
+ let send_reply con tid rid ty data =
+-      Xb.queue con.xb (Xb.Packet.create tid rid ty data)
++      Xenbus.Xb.queue con.xb (Xenbus.Xb.Packet.create tid rid ty data)
+-let send_error con tid rid err = send_reply con tid rid Xb.Op.Error (err ^ "\000")
++let send_error con tid rid err = send_reply con tid rid Xenbus.Xb.Op.Error (err ^ "\000")
+ let send_ack con tid rid ty = send_reply con tid rid ty "OK\000"
+ let get_watch_path con path =
+@@ -166,7 +166,7 @@
+ let fire_single_watch watch =
+       let data = Utils.join_by_null [watch.path; watch.token; ""] in
+-      send_reply watch.con Transaction.none 0 Xb.Op.Watchevent data
++      send_reply watch.con Transaction.none 0 Xenbus.Xb.Op.Watchevent data
+ let fire_watch watch path =
+       let new_path =
+@@ -179,7 +179,7 @@
+                       path
+       in
+       let data = Utils.join_by_null [ new_path; watch.token; "" ] in
+-      send_reply watch.con Transaction.none 0 Xb.Op.Watchevent data
++      send_reply watch.con Transaction.none 0 Xenbus.Xb.Op.Watchevent data
+ let find_next_tid con =
+       let ret = con.next_tid in con.next_tid <- con.next_tid + 1; ret
+@@ -203,15 +203,15 @@
+ let get_transaction con tid =
+       Hashtbl.find con.transactions tid
+-let do_input con = Xb.input con.xb
+-let has_input con = Xb.has_in_packet con.xb
+-let pop_in con = Xb.get_in_packet con.xb
+-let has_more_input con = Xb.has_more_input con.xb
+-
+-let has_output con = Xb.has_output con.xb
+-let has_new_output con = Xb.has_new_output con.xb
+-let peek_output con = Xb.peek_output con.xb
+-let do_output con = Xb.output con.xb
++let do_input con = Xenbus.Xb.input con.xb
++let has_input con = Xenbus.Xb.has_in_packet con.xb
++let pop_in con = Xenbus.Xb.get_in_packet con.xb
++let has_more_input con = Xenbus.Xb.has_more_input con.xb
++
++let has_output con = Xenbus.Xb.has_output con.xb
++let has_new_output con = Xenbus.Xb.has_new_output con.xb
++let peek_output con = Xenbus.Xb.peek_output con.xb
++let do_output con = Xenbus.Xb.output con.xb
+ let incr_ops con = con.stat_nb_ops <- con.stat_nb_ops + 1
+--- a/tools/ocaml/xenstored/connections.ml
++++ b/tools/ocaml/xenstored/connections.ml
+@@ -26,12 +26,12 @@
+ let create () = { anonymous = []; domains = Hashtbl.create 8; watches = Trie.create () }
+ let add_anonymous cons fd can_write =
+-      let xbcon = Xb.open_fd fd in
++      let xbcon = Xenbus.Xb.open_fd fd in
+       let con = Connection.create xbcon None in
+       cons.anonymous <- con :: cons.anonymous
+ let add_domain cons dom =
+-      let xbcon = Xb.open_mmap (Domain.get_interface dom) (fun () -> Domain.notify dom) in
++      let xbcon = Xenbus.Xb.open_mmap (Domain.get_interface dom) (fun () -> Domain.notify dom) in
+       let con = Connection.create xbcon (Some dom) in
+       Hashtbl.add cons.domains (Domain.get_id dom) con
+--- a/tools/ocaml/xenstored/domain.ml
++++ b/tools/ocaml/xenstored/domain.ml
+@@ -20,10 +20,10 @@
+ type t =
+ {
+-      id: Xc.domid;
++      id: Xenctrl.domid;
+       mfn: nativeint;
+       remote_port: int;
+-      interface: Mmap.mmap_interface;
++      interface: Xenmmap.mmap_interface;
+       eventchn: Event.t;
+       mutable port: int;
+ }
+@@ -47,7 +47,7 @@
+ let close dom =
+       debug "domain %d unbound port %d" dom.id dom.port;
+       Event.unbind dom.eventchn dom.port;
+-      Mmap.unmap dom.interface;
++      Xenmmap.unmap dom.interface;
+       ()
+ let make id mfn remote_port interface eventchn = {
+--- a/tools/ocaml/xenstored/domains.ml
++++ b/tools/ocaml/xenstored/domains.ml
+@@ -16,7 +16,7 @@
+ type domains = {
+       eventchn: Event.t;
+-      table: (Xc.domid, Domain.t) Hashtbl.t;
++      table: (Xenctrl.domid, Domain.t) Hashtbl.t;
+ }
+ let init eventchn =
+@@ -33,16 +33,16 @@
+       Hashtbl.iter (fun id _ -> if id <> 0 then
+               try
+-                      let info = Xc.domain_getinfo xc id in
+-                      if info.Xc.shutdown || info.Xc.dying then (
++                      let info = Xenctrl.domain_getinfo xc id in
++                      if info.Xenctrl.shutdown || info.Xenctrl.dying then (
+                               Logs.debug "general" "Domain %u died (dying=%b, shutdown %b -- code %d)"
+-                                                  id info.Xc.dying info.Xc.shutdown info.Xc.shutdown_code;
+-                              if info.Xc.dying then
++                                                  id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
++                              if info.Xenctrl.dying then
+                                       dead_dom := id :: !dead_dom
+                               else
+                                       notify := true;
+                       )
+-              with Xc.Error _ ->
++              with Xenctrl.Error _ ->
+                       Logs.debug "general" "Domain %u died -- no domain info" id;
+                       dead_dom := id :: !dead_dom;
+               ) doms.table;
+@@ -57,7 +57,7 @@
+       ()
+ let create xc doms domid mfn port =
+-      let interface = Xc.map_foreign_range xc domid (Mmap.getpagesize()) mfn in
++      let interface = Xenctrl.map_foreign_range xc domid (Xenmmap.getpagesize()) mfn in
+       let dom = Domain.make domid mfn port interface doms.eventchn in
+       Hashtbl.add doms.table domid dom;
+       Domain.bind_interdomain dom;
+@@ -66,13 +66,13 @@
+ let create0 fake doms =
+       let port, interface =
+               if fake then (
+-                      0, Xc.with_intf (fun xc -> Xc.map_foreign_range xc 0 (Mmap.getpagesize()) 0n)
++                      0, Xenctrl.with_intf (fun xc -> Xenctrl.map_foreign_range xc 0 (Xenmmap.getpagesize()) 0n)
+               ) else (
+                       let port = Utils.read_file_single_integer Define.xenstored_proc_port
+                       and fd = Unix.openfile Define.xenstored_proc_kva
+                                              [ Unix.O_RDWR ] 0o600 in
+-                      let interface = Mmap.mmap fd Mmap.RDWR Mmap.SHARED
+-                                                (Mmap.getpagesize()) 0 in
++                      let interface = Xenmmap.mmap fd Xenmmap.RDWR Xenmmap.SHARED
++                                                (Xenmmap.getpagesize()) 0 in
+                       Unix.close fd;
+                       port, interface
+               )
+--- a/tools/ocaml/xenstored/event.ml
++++ b/tools/ocaml/xenstored/event.ml
+@@ -16,15 +16,15 @@
+ (**************** high level binding ****************)
+ type t = {
+-      handle: Eventchn.handle;
++      handle: Xeneventchn.handle;
+       mutable virq_port: int;
+ }
+-let init () = { handle = Eventchn.init (); virq_port = -1; }
+-let fd eventchn = Eventchn.fd eventchn.handle
+-let bind_dom_exc_virq eventchn = eventchn.virq_port <- Eventchn.bind_dom_exc_virq eventchn.handle
+-let bind_interdomain eventchn domid port = Eventchn.bind_interdomain eventchn.handle domid port
+-let unbind eventchn port = Eventchn.unbind eventchn.handle port
+-let notify eventchn port = Eventchn.notify eventchn.handle port
+-let pending eventchn = Eventchn.pending eventchn.handle
+-let unmask eventchn port = Eventchn.unmask eventchn.handle port
++let init () = { handle = Xeneventchn.init (); virq_port = -1; }
++let fd eventchn = Xeneventchn.fd eventchn.handle
++let bind_dom_exc_virq eventchn = eventchn.virq_port <- Xeneventchn.bind_dom_exc_virq eventchn.handle
++let bind_interdomain eventchn domid port = Xeneventchn.bind_interdomain eventchn.handle domid port
++let unbind eventchn port = Xeneventchn.unbind eventchn.handle port
++let notify eventchn port = Xeneventchn.notify eventchn.handle port
++let pending eventchn = Xeneventchn.pending eventchn.handle
++let unmask eventchn port = Xeneventchn.unmask eventchn.handle port
+--- a/tools/ocaml/xenstored/logging.ml
++++ b/tools/ocaml/xenstored/logging.ml
+@@ -39,7 +39,7 @@
+       | Commit
+       | Newconn
+       | Endconn
+-      | XbOp of Xb.Op.operation
++      | XbOp of Xenbus.Xb.Op.operation
+ type access =
+       {
+@@ -82,35 +82,35 @@
+       | Endconn                 -> "endconn  "
+       | XbOp op -> match op with
+-      | Xb.Op.Debug             -> "debug    "
++      | Xenbus.Xb.Op.Debug             -> "debug    "
+-      | Xb.Op.Directory         -> "directory"
+-      | Xb.Op.Read              -> "read     "
+-      | Xb.Op.Getperms          -> "getperms "
+-
+-      | Xb.Op.Watch             -> "watch    "
+-      | Xb.Op.Unwatch           -> "unwatch  "
+-
+-      | Xb.Op.Transaction_start -> "t start  "
+-      | Xb.Op.Transaction_end   -> "t end    "
+-
+-      | Xb.Op.Introduce         -> "introduce"
+-      | Xb.Op.Release           -> "release  "
+-      | Xb.Op.Getdomainpath     -> "getdomain"
+-      | Xb.Op.Isintroduced      -> "is introduced"
+-      | Xb.Op.Resume            -> "resume   "
++      | Xenbus.Xb.Op.Directory         -> "directory"
++      | Xenbus.Xb.Op.Read              -> "read     "
++      | Xenbus.Xb.Op.Getperms          -> "getperms "
++
++      | Xenbus.Xb.Op.Watch             -> "watch    "
++      | Xenbus.Xb.Op.Unwatch           -> "unwatch  "
++
++      | Xenbus.Xb.Op.Transaction_start -> "t start  "
++      | Xenbus.Xb.Op.Transaction_end   -> "t end    "
++
++      | Xenbus.Xb.Op.Introduce         -> "introduce"
++      | Xenbus.Xb.Op.Release           -> "release  "
++      | Xenbus.Xb.Op.Getdomainpath     -> "getdomain"
++      | Xenbus.Xb.Op.Isintroduced      -> "is introduced"
++      | Xenbus.Xb.Op.Resume            -> "resume   "
+  
+-      | Xb.Op.Write             -> "write    "
+-      | Xb.Op.Mkdir             -> "mkdir    "
+-      | Xb.Op.Rm                -> "rm       "
+-      | Xb.Op.Setperms          -> "setperms "
+-      | Xb.Op.Restrict          -> "restrict "
+-      | Xb.Op.Set_target        -> "settarget"
++      | Xenbus.Xb.Op.Write             -> "write    "
++      | Xenbus.Xb.Op.Mkdir             -> "mkdir    "
++      | Xenbus.Xb.Op.Rm                -> "rm       "
++      | Xenbus.Xb.Op.Setperms          -> "setperms "
++      | Xenbus.Xb.Op.Restrict          -> "restrict "
++      | Xenbus.Xb.Op.Set_target        -> "settarget"
+-      | Xb.Op.Error             -> "error    "
+-      | Xb.Op.Watchevent        -> "w event  "
++      | Xenbus.Xb.Op.Error             -> "error    "
++      | Xenbus.Xb.Op.Watchevent        -> "w event  "
+-      | x                       -> Xb.Op.to_string x
++      | x                       -> Xenbus.Xb.Op.to_string x
+ let file_exists file =
+       try
+@@ -210,10 +210,10 @@
+ let xb_op ~tid ~con ~ty data =
+       let print =
+       match ty with
+-              | Xb.Op.Read | Xb.Op.Directory | Xb.Op.Getperms -> !log_read_ops
+-              | Xb.Op.Transaction_start | Xb.Op.Transaction_end ->
++              | Xenbus.Xb.Op.Read | Xenbus.Xb.Op.Directory | Xenbus.Xb.Op.Getperms -> !log_read_ops
++              | Xenbus.Xb.Op.Transaction_start | Xenbus.Xb.Op.Transaction_end ->
+                       false (* transactions are managed below *)
+-              | Xb.Op.Introduce | Xb.Op.Release | Xb.Op.Getdomainpath | Xb.Op.Isintroduced | Xb.Op.Resume ->
++              | Xenbus.Xb.Op.Introduce | Xenbus.Xb.Op.Release | Xenbus.Xb.Op.Getdomainpath | Xenbus.Xb.Op.Isintroduced | Xenbus.Xb.Op.Resume ->
+                       !log_special_ops
+               | _ -> true
+       in
+@@ -222,17 +222,17 @@
+ let start_transaction ~tid ~con = 
+       if !log_transaction_ops && tid <> 0
+-      then write_access_log ~tid ~con (XbOp Xb.Op.Transaction_start)
++      then write_access_log ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_start)
+ let end_transaction ~tid ~con = 
+       if !log_transaction_ops && tid <> 0
+-      then write_access_log ~tid ~con (XbOp Xb.Op.Transaction_end)
++      then write_access_log ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_end)
+ let xb_answer ~tid ~con ~ty data =
+       let print = match ty with
+-              | Xb.Op.Error when data="ENOENT " -> !log_read_ops
+-              | Xb.Op.Error -> !log_special_ops
+-              | Xb.Op.Watchevent -> true
++              | Xenbus.Xb.Op.Error when data="ENOENT " -> !log_read_ops
++              | Xenbus.Xb.Op.Error -> !log_special_ops
++              | Xenbus.Xb.Op.Watchevent -> true
+               | _ -> false
+       in
+               if print
+--- a/tools/ocaml/xenstored/perms.ml
++++ b/tools/ocaml/xenstored/perms.ml
+@@ -43,9 +43,9 @@
+ type t =
+ {
+-      owner: Xc.domid;
++      owner: Xenctrl.domid;
+       other: permty;
+-      acl: (Xc.domid * permty) list;
++      acl: (Xenctrl.domid * permty) list;
+ }
+ let create owner other acl =
+@@ -88,7 +88,7 @@
+ module Connection =
+ struct
+-type elt = Xc.domid * (permty list)
++type elt = Xenctrl.domid * (permty list)
+ type t =
+       { main: elt;
+         target: elt option; }
+--- a/tools/ocaml/xenstored/process.ml
++++ b/tools/ocaml/xenstored/process.ml
+@@ -54,10 +54,10 @@
+ let process_watch ops cons =
+       let do_op_watch op cons =
+               let recurse = match (fst op) with
+-              | Xb.Op.Write    -> false
+-              | Xb.Op.Mkdir    -> false
+-              | Xb.Op.Rm       -> true
+-              | Xb.Op.Setperms -> false
++              | Xenbus.Xb.Op.Write    -> false
++              | Xenbus.Xb.Op.Mkdir    -> false
++              | Xenbus.Xb.Op.Rm       -> true
++              | Xenbus.Xb.Op.Setperms -> false
+               | _              -> raise (Failure "huh ?") in
+               Connections.fire_watches cons (snd op) recurse in
+       List.iter (fun op -> do_op_watch op cons) ops
+@@ -83,7 +83,7 @@
+       then None
+       else try match split None '\000' data with
+       | "print" :: msg :: _ ->
+-              Logging.xb_op ~tid:0 ~ty:Xb.Op.Debug ~con:"=======>" msg;
++              Logging.xb_op ~tid:0 ~ty:Xenbus.Xb.Op.Debug ~con:"=======>" msg;
+               None
+       | "quota" :: domid :: _ ->
+               let domid = int_of_string domid in
+@@ -120,7 +120,7 @@
+               | _                   -> raise Invalid_Cmd_Args
+               in
+       let watch = Connections.add_watch cons con node token in
+-      Connection.send_ack con (Transaction.get_id t) rid Xb.Op.Watch;
++      Connection.send_ack con (Transaction.get_id t) rid Xenbus.Xb.Op.Watch;
+       Connection.fire_single_watch watch
+ let do_unwatch con t domains cons data =
+@@ -165,7 +165,7 @@
+               if Domains.exist domains domid then
+                       Domains.find domains domid
+               else try
+-                      let ndom = Xc.with_intf (fun xc ->
++                      let ndom = Xenctrl.with_intf (fun xc ->
+                               Domains.create xc domains domid mfn port) in
+                       Connections.add_domain cons ndom;
+                       Connections.fire_spec_watches cons "@introduceDomain";
+@@ -299,25 +299,25 @@
+ let function_of_type ty =
+       match ty with
+-      | Xb.Op.Debug             -> reply_data_or_ack do_debug
+-      | Xb.Op.Directory         -> reply_data do_directory
+-      | Xb.Op.Read              -> reply_data do_read
+-      | Xb.Op.Getperms          -> reply_data do_getperms
+-      | Xb.Op.Watch             -> reply_none do_watch
+-      | Xb.Op.Unwatch           -> reply_ack do_unwatch
+-      | Xb.Op.Transaction_start -> reply_data do_transaction_start
+-      | Xb.Op.Transaction_end   -> reply_ack do_transaction_end
+-      | Xb.Op.Introduce         -> reply_ack do_introduce
+-      | Xb.Op.Release           -> reply_ack do_release
+-      | Xb.Op.Getdomainpath     -> reply_data do_getdomainpath
+-      | Xb.Op.Write             -> reply_ack do_write
+-      | Xb.Op.Mkdir             -> reply_ack do_mkdir
+-      | Xb.Op.Rm                -> reply_ack do_rm
+-      | Xb.Op.Setperms          -> reply_ack do_setperms
+-      | Xb.Op.Isintroduced      -> reply_data do_isintroduced
+-      | Xb.Op.Resume            -> reply_ack do_resume
+-      | Xb.Op.Set_target        -> reply_ack do_set_target
+-      | Xb.Op.Restrict          -> reply_ack do_restrict
++      | Xenbus.Xb.Op.Debug             -> reply_data_or_ack do_debug
++      | Xenbus.Xb.Op.Directory         -> reply_data do_directory
++      | Xenbus.Xb.Op.Read              -> reply_data do_read
++      | Xenbus.Xb.Op.Getperms          -> reply_data do_getperms
++      | Xenbus.Xb.Op.Watch             -> reply_none do_watch
++      | Xenbus.Xb.Op.Unwatch           -> reply_ack do_unwatch
++      | Xenbus.Xb.Op.Transaction_start -> reply_data do_transaction_start
++      | Xenbus.Xb.Op.Transaction_end   -> reply_ack do_transaction_end
++      | Xenbus.Xb.Op.Introduce         -> reply_ack do_introduce
++      | Xenbus.Xb.Op.Release           -> reply_ack do_release
++      | Xenbus.Xb.Op.Getdomainpath     -> reply_data do_getdomainpath
++      | Xenbus.Xb.Op.Write             -> reply_ack do_write
++      | Xenbus.Xb.Op.Mkdir             -> reply_ack do_mkdir
++      | Xenbus.Xb.Op.Rm                -> reply_ack do_rm
++      | Xenbus.Xb.Op.Setperms          -> reply_ack do_setperms
++      | Xenbus.Xb.Op.Isintroduced      -> reply_data do_isintroduced
++      | Xenbus.Xb.Op.Resume            -> reply_ack do_resume
++      | Xenbus.Xb.Op.Set_target        -> reply_ack do_set_target
++      | Xenbus.Xb.Op.Restrict          -> reply_ack do_restrict
+       | _                       -> reply_ack do_error
+ let input_handle_error ~cons ~doms ~fct ~ty ~con ~t ~rid ~data =
+@@ -370,11 +370,11 @@
+ let do_input store cons doms con =
+       if Connection.do_input con then (
+               let packet = Connection.pop_in con in
+-              let tid, rid, ty, data = Xb.Packet.unpack packet in
++              let tid, rid, ty, data = Xenbus.Xb.Packet.unpack packet in
+               (* As we don't log IO, do not call an unnecessary sanitize_data 
+                  Logs.info "io" "[%s] -> [%d] %s \"%s\""
+                        (Connection.get_domstr con) tid
+-                       (Xb.Op.to_string ty) (sanitize_data data); *)
++                       (Xenbus.Xb.Op.to_string ty) (sanitize_data data); *)
+               process_packet ~store ~cons ~doms ~con ~tid ~rid ~ty ~data;
+               write_access_log ~ty ~tid ~con ~data;
+               Connection.incr_ops con;
+@@ -384,11 +384,11 @@
+       if Connection.has_output con then (
+               if Connection.has_new_output con then (
+                       let packet = Connection.peek_output con in
+-                      let tid, rid, ty, data = Xb.Packet.unpack packet in
++                      let tid, rid, ty, data = Xenbus.Xb.Packet.unpack packet in
+                       (* As we don't log IO, do not call an unnecessary sanitize_data 
+                          Logs.info "io" "[%s] <- %s \"%s\""
+                                (Connection.get_domstr con)
+-                               (Xb.Op.to_string ty) (sanitize_data data);*)
++                               (Xenbus.Xb.Op.to_string ty) (sanitize_data data);*)
+                       write_answer_log ~ty ~tid ~con ~data;
+               );
+               ignore (Connection.do_output con)
+--- a/tools/ocaml/xenstored/quota.ml
++++ b/tools/ocaml/xenstored/quota.ml
+@@ -26,7 +26,7 @@
+ type t = {
+       maxent: int;               (* max entities per domU *)
+       maxsize: int;              (* max size of data store in one node *)
+-      cur: (Xc.domid, int) Hashtbl.t; (* current domains quota *)
++      cur: (Xenctrl.domid, int) Hashtbl.t; (* current domains quota *)
+ }
+ let to_string quota domid =
+--- a/tools/ocaml/xenstored/transaction.ml
++++ b/tools/ocaml/xenstored/transaction.ml
+@@ -74,7 +74,7 @@
+ type t = {
+       ty: ty;
+       store: Store.t;
+-      mutable ops: (Xb.Op.operation * Store.Path.t) list;
++      mutable ops: (Xenbus.Xb.Op.operation * Store.Path.t) list;
+       mutable read_lowpath: Store.Path.t option;
+       mutable write_lowpath: Store.Path.t option;
+ }
+@@ -105,23 +105,23 @@
+       if path_exists
+       then set_write_lowpath t path
+       else set_write_lowpath t (Store.Path.get_parent path);
+-      add_wop t Xb.Op.Write path
++      add_wop t Xenbus.Xb.Op.Write path
+ let mkdir ?(with_watch=true) t perm path =
+       Store.mkdir t.store perm path;
+       set_write_lowpath t path;
+       if with_watch then
+-              add_wop t Xb.Op.Mkdir path
++              add_wop t Xenbus.Xb.Op.Mkdir path
+ let setperms t perm path perms =
+       Store.setperms t.store perm path perms;
+       set_write_lowpath t path;
+-      add_wop t Xb.Op.Setperms path
++      add_wop t Xenbus.Xb.Op.Setperms path
+ let rm t perm path =
+       Store.rm t.store perm path;
+       set_write_lowpath t (Store.Path.get_parent path);
+-      add_wop t Xb.Op.Rm path
++      add_wop t Xenbus.Xb.Op.Rm path
+ let ls t perm path =  
+       let r = Store.ls t.store perm path in
+--- a/tools/ocaml/xenstored/xenstored.ml
++++ b/tools/ocaml/xenstored/xenstored.ml
+@@ -35,7 +35,7 @@
+                       if err <> Unix.ECONNRESET then
+                       error "closing socket connection: read error: %s"
+                             (Unix.error_message err)
+-              | Xb.End_of_file ->
++              | Xenbus.Xb.End_of_file ->
+                       Connections.del_anonymous cons c;
+                       debug "closing socket connection"
+               in
+@@ -170,7 +170,7 @@
+ let from_channel store cons doms chan =
+       (* don't let the permission get on our way, full perm ! *)
+       let op = Store.get_ops store Perms.Connection.full_rights in
+-      let xc = Xc.interface_open () in
++      let xc = Xenctrl.interface_open () in
+       let domain_f domid mfn port =
+               let ndom =
+@@ -190,7 +190,7 @@
+               op.Store.setperms path perms
+               in
+       finally (fun () -> from_channel_f chan domain_f watch_f store_f)
+-              (fun () -> Xc.interface_close xc)
++              (fun () -> Xenctrl.interface_close xc)
+ let from_file store cons doms file =
+       let channel = open_in file in
+@@ -282,7 +282,7 @@
+                       Store.mkdir store (Perms.Connection.create 0) localpath;
+               if cf.domain_init then (
+-                      let usingxiu = Xc.is_fake () in
++                      let usingxiu = Xenctrl.is_fake () in
+                       Connections.add_domain cons (Domains.create0 usingxiu domains);
+                       Event.bind_dom_exc_virq eventchn
+               );
+@@ -301,7 +301,7 @@
+               (if cf.domain_init then [ Event.fd eventchn ] else [])
+               in
+-      let xc = Xc.interface_open () in
++      let xc = Xenctrl.interface_open () in
+       let process_special_fds rset =
+               let accept_connection can_write fd =
+--- a/tools/ocaml/libs/xl/xl.ml
++++ /dev/null
+@@ -1,213 +0,0 @@
+-(*
+- * Copyright (C) 2009-2010 Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-exception Error of string
+-
+-type create_info =
+-{
+-      hvm : bool;
+-      hap : bool;
+-      oos : bool;
+-      ssidref : int32;
+-      name : string;
+-      uuid : int array;
+-      xsdata : (string * string) list;
+-      platformdata : (string * string) list;
+-      poolid : int32;
+-      poolname : string;
+-}
+-
+-type build_pv_info =
+-{
+-      slack_memkb : int64;
+-      cmdline : string;
+-      ramdisk : string;
+-      features : string;
+-}
+-
+-type build_hvm_info =
+-{
+-      pae : bool;
+-      apic : bool;
+-      acpi : bool;
+-      nx : bool;
+-      viridian : bool;
+-      timeoffset : string;
+-      timer_mode : int;
+-      hpet : int;
+-      vpt_align : int;
+-}
+-
+-type build_spec = BuildHVM of build_hvm_info | BuildPV of build_pv_info
+-
+-type build_info =
+-{
+-      max_vcpus : int;
+-      cur_vcpus : int;
+-      max_memkb : int64;
+-      target_memkb : int64;
+-      video_memkb : int64;
+-      shadow_memkb : int64;
+-      kernel : string;
+-      priv: build_spec;
+-}
+-
+-type build_state =
+-{
+-      store_port : int;
+-      store_mfn : int64;
+-      console_port : int;
+-      console_mfn : int64;
+-}
+-
+-type domid = int
+-
+-type disk_phystype =
+-      | PHYSTYPE_QCOW
+-      | PHYSTYPE_QCOW2
+-      | PHYSTYPE_VHD
+-      | PHYSTYPE_AIO
+-      | PHYSTYPE_FILE
+-      | PHYSTYPE_PHY
+-
+-type disk_info =
+-{
+-      backend_domid : domid;
+-      physpath : string;
+-      phystype : disk_phystype;
+-      virtpath : string;
+-      unpluggable : bool;
+-      readwrite : bool;
+-      is_cdrom : bool;
+-}
+-
+-type nic_type =
+-      | NICTYPE_IOEMU
+-      | NICTYPE_VIF
+-
+-type nic_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-      mtu : int;
+-      model : string;
+-      mac : int array;
+-      bridge : string;
+-      ifname : string;
+-      script : string;
+-      nictype : nic_type;
+-}
+-
+-type console_type =
+-      | CONSOLETYPE_XENCONSOLED
+-      | CONSOLETYPE_IOEMU
+-
+-type console_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-      consoletype : console_type;
+-}
+-
+-type vkb_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-}
+-
+-type vfb_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-      vnc : bool;
+-      vnclisten : string;
+-      vncpasswd : string;
+-      vncdisplay : int;
+-      vncunused : bool;
+-      keymap : string;
+-      sdl : bool;
+-      opengl : bool;
+-      display : string;
+-      xauthority : string;
+-}
+-
+-type pci_info =
+-{
+-      v : int; (* domain * bus * dev * func multiplexed *)
+-      domain : int;
+-      vdevfn : int;
+-      msitranslate : bool;
+-      power_mgmt : bool;
+-}
+-
+-type physinfo =
+-{
+-      threads_per_core: int;
+-      cores_per_socket: int;
+-      max_cpu_id: int;
+-      nr_cpus: int;
+-      cpu_khz: int;
+-      total_pages: int64;
+-      free_pages: int64;
+-      scrub_pages: int64;
+-      nr_nodes: int;
+-      hwcap: int32 array;
+-      physcap: int32;
+-}
+-
+-type sched_credit =
+-{
+-      weight: int;
+-      cap: int;
+-}
+-
+-external domain_make : create_info -> domid = "stub_xl_domain_make"
+-external domain_build : build_info -> domid -> build_state = "stub_xl_domain_build"
+-
+-external disk_add : disk_info -> domid -> unit = "stub_xl_disk_add"
+-external disk_remove : disk_info -> domid -> unit = "stub_xl_disk_remove"
+-
+-external nic_add : nic_info -> domid -> unit = "stub_xl_nic_add"
+-external nic_remove : disk_info -> domid -> unit = "stub_xl_nic_remove"
+-
+-external console_add : console_info -> build_state -> domid -> unit = "stub_xl_console_add"
+-
+-external vkb_add : vkb_info -> domid -> unit = "stub_xl_vkb_add"
+-external vkb_clean_shutdown : domid -> unit = "stub_vkb_clean_shutdown"
+-external vkb_hard_shutdown : domid -> unit = "stub_vkb_hard_shutdown"
+-
+-external vfb_add : vfb_info -> domid -> unit = "stub_xl_vfb_add"
+-external vfb_clean_shutdown : domid -> unit = "stub_vfb_clean_shutdown"
+-external vfb_hard_shutdown : domid -> unit = "stub_vfb_hard_shutdown"
+-
+-external pci_add : pci_info -> domid -> unit = "stub_xl_pci_add"
+-external pci_remove : pci_info -> domid -> unit = "stub_xl_pci_remove"
+-external pci_shutdown : domid -> unit = "stub_xl_pci_shutdown"
+-
+-type button =
+-      | Button_Power
+-      | Button_Sleep
+-
+-external button_press : domid -> button -> unit = "stub_xl_button_press"
+-external physinfo : unit -> physinfo = "stub_xl_physinfo"
+-
+-external domain_sched_credit_get : domid -> sched_credit = "stub_xl_sched_credit_domain_get"
+-external domain_sched_credit_set : domid -> sched_credit -> unit = "stub_xl_sched_credit_domain_set"
+-
+-external send_trigger : domid -> string -> int -> unit = "stub_xl_send_trigger"
+-external send_sysrq : domid -> char -> unit = "stub_xl_send_sysrq"
+-external send_debug_keys : domid -> string -> unit = "stub_xl_send_debug_keys"
+-
+-let _ = Callback.register_exception "xl.error" (Error "register_callback")
+--- a/tools/ocaml/libs/xl/xl.mli
++++ /dev/null
+@@ -1,211 +0,0 @@
+-(*
+- * Copyright (C) 2009-2010 Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-exception Error of string
+-
+-type create_info =
+-{
+-      hvm : bool;
+-      hap : bool;
+-      oos : bool;
+-      ssidref : int32;
+-      name : string;
+-      uuid : int array;
+-      xsdata : (string * string) list;
+-      platformdata : (string * string) list;
+-      poolid : int32;
+-      poolname : string;
+-}
+-
+-type build_pv_info =
+-{
+-      slack_memkb : int64;
+-      cmdline : string;
+-      ramdisk : string;
+-      features : string;
+-}
+-
+-type build_hvm_info =
+-{
+-      pae : bool;
+-      apic : bool;
+-      acpi : bool;
+-      nx : bool;
+-      viridian : bool;
+-      timeoffset : string;
+-      timer_mode : int;
+-      hpet : int;
+-      vpt_align : int;
+-}
+-
+-type build_spec = BuildHVM of build_hvm_info | BuildPV of build_pv_info
+-
+-type build_info =
+-{
+-      max_vcpus : int;
+-      cur_vcpus : int;
+-      max_memkb : int64;
+-      target_memkb : int64;
+-      video_memkb : int64;
+-      shadow_memkb : int64;
+-      kernel : string;
+-      priv: build_spec;
+-}
+-
+-type build_state =
+-{
+-      store_port : int;
+-      store_mfn : int64;
+-      console_port : int;
+-      console_mfn : int64;
+-}
+-
+-type domid = int
+-
+-type disk_phystype =
+-      | PHYSTYPE_QCOW
+-      | PHYSTYPE_QCOW2
+-      | PHYSTYPE_VHD
+-      | PHYSTYPE_AIO
+-      | PHYSTYPE_FILE
+-      | PHYSTYPE_PHY
+-
+-type disk_info =
+-{
+-      backend_domid : domid;
+-      physpath : string;
+-      phystype : disk_phystype;
+-      virtpath : string;
+-      unpluggable : bool;
+-      readwrite : bool;
+-      is_cdrom : bool;
+-}
+-
+-type nic_type =
+-      | NICTYPE_IOEMU
+-      | NICTYPE_VIF
+-
+-type nic_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-      mtu : int;
+-      model : string;
+-      mac : int array;
+-      bridge : string;
+-      ifname : string;
+-      script : string;
+-      nictype : nic_type;
+-}
+-
+-type console_type =
+-      | CONSOLETYPE_XENCONSOLED
+-      | CONSOLETYPE_IOEMU
+-
+-type console_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-      consoletype : console_type;
+-}
+-
+-type vkb_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-}
+-
+-type vfb_info =
+-{
+-      backend_domid : domid;
+-      devid : int;
+-      vnc : bool;
+-      vnclisten : string;
+-      vncpasswd : string;
+-      vncdisplay : int;
+-      vncunused : bool;
+-      keymap : string;
+-      sdl : bool;
+-      opengl : bool;
+-      display : string;
+-      xauthority : string;
+-}
+-
+-type pci_info =
+-{
+-      v : int; (* domain * bus * dev * func multiplexed *)
+-      domain : int;
+-      vdevfn : int;
+-      msitranslate : bool;
+-      power_mgmt : bool;
+-}
+-
+-type physinfo =
+-{
+-      threads_per_core: int;
+-      cores_per_socket: int;
+-      max_cpu_id: int;
+-      nr_cpus: int;
+-      cpu_khz: int;
+-      total_pages: int64;
+-      free_pages: int64;
+-      scrub_pages: int64;
+-      nr_nodes: int;
+-      hwcap: int32 array;
+-      physcap: int32;
+-}
+-
+-type sched_credit =
+-{
+-      weight: int;
+-      cap: int;
+-}
+-
+-external domain_make : create_info -> domid = "stub_xl_domain_make"
+-external domain_build : build_info -> domid -> build_state = "stub_xl_domain_build"
+-
+-external disk_add : disk_info -> domid -> unit = "stub_xl_disk_add"
+-external disk_remove : disk_info -> domid -> unit = "stub_xl_disk_remove"
+-
+-external nic_add : nic_info -> domid -> unit = "stub_xl_nic_add"
+-external nic_remove : disk_info -> domid -> unit = "stub_xl_nic_remove"
+-
+-external console_add : console_info -> build_state -> domid -> unit = "stub_xl_console_add"
+-
+-external vkb_add : vkb_info -> domid -> unit = "stub_xl_vkb_add"
+-external vkb_clean_shutdown : domid -> unit = "stub_vkb_clean_shutdown"
+-external vkb_hard_shutdown : domid -> unit = "stub_vkb_hard_shutdown"
+-
+-external vfb_add : vfb_info -> domid -> unit = "stub_xl_vfb_add"
+-external vfb_clean_shutdown : domid -> unit = "stub_vfb_clean_shutdown"
+-external vfb_hard_shutdown : domid -> unit = "stub_vfb_hard_shutdown"
+-
+-external pci_add : pci_info -> domid -> unit = "stub_xl_pci_add"
+-external pci_remove : pci_info -> domid -> unit = "stub_xl_pci_remove"
+-external pci_shutdown : domid -> unit = "stub_xl_pci_shutdown"
+-
+-type button =
+-      | Button_Power
+-      | Button_Sleep
+-
+-external button_press : domid -> button -> unit = "stub_xl_button_press"
+-external physinfo : unit -> physinfo = "stub_xl_physinfo"
+-
+-external domain_sched_credit_get : domid -> sched_credit = "stub_xl_sched_credit_domain_get"
+-external domain_sched_credit_set : domid -> sched_credit -> unit = "stub_xl_sched_credit_domain_set"
+-
+-external send_trigger : domid -> string -> int -> unit = "stub_xl_send_trigger"
+-external send_sysrq : domid -> char -> unit = "stub_xl_send_sysrq"
+-external send_debug_keys : domid -> string -> unit = "stub_xl_send_debug_keys"
+--- /dev/null
++++ b/tools/ocaml/libs/xl/xenlight.ml
+@@ -0,0 +1,213 @@
++(*
++ * Copyright (C) 2009-2010 Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++exception Error of string
++
++type create_info =
++{
++      hvm : bool;
++      hap : bool;
++      oos : bool;
++      ssidref : int32;
++      name : string;
++      uuid : int array;
++      xsdata : (string * string) list;
++      platformdata : (string * string) list;
++      poolid : int32;
++      poolname : string;
++}
++
++type build_pv_info =
++{
++      slack_memkb : int64;
++      cmdline : string;
++      ramdisk : string;
++      features : string;
++}
++
++type build_hvm_info =
++{
++      pae : bool;
++      apic : bool;
++      acpi : bool;
++      nx : bool;
++      viridian : bool;
++      timeoffset : string;
++      timer_mode : int;
++      hpet : int;
++      vpt_align : int;
++}
++
++type build_spec = BuildHVM of build_hvm_info | BuildPV of build_pv_info
++
++type build_info =
++{
++      max_vcpus : int;
++      cur_vcpus : int;
++      max_memkb : int64;
++      target_memkb : int64;
++      video_memkb : int64;
++      shadow_memkb : int64;
++      kernel : string;
++      priv: build_spec;
++}
++
++type build_state =
++{
++      store_port : int;
++      store_mfn : int64;
++      console_port : int;
++      console_mfn : int64;
++}
++
++type domid = int
++
++type disk_phystype =
++      | PHYSTYPE_QCOW
++      | PHYSTYPE_QCOW2
++      | PHYSTYPE_VHD
++      | PHYSTYPE_AIO
++      | PHYSTYPE_FILE
++      | PHYSTYPE_PHY
++
++type disk_info =
++{
++      backend_domid : domid;
++      physpath : string;
++      phystype : disk_phystype;
++      virtpath : string;
++      unpluggable : bool;
++      readwrite : bool;
++      is_cdrom : bool;
++}
++
++type nic_type =
++      | NICTYPE_IOEMU
++      | NICTYPE_VIF
++
++type nic_info =
++{
++      backend_domid : domid;
++      devid : int;
++      mtu : int;
++      model : string;
++      mac : int array;
++      bridge : string;
++      ifname : string;
++      script : string;
++      nictype : nic_type;
++}
++
++type console_type =
++      | CONSOLETYPE_XENCONSOLED
++      | CONSOLETYPE_IOEMU
++
++type console_info =
++{
++      backend_domid : domid;
++      devid : int;
++      consoletype : console_type;
++}
++
++type vkb_info =
++{
++      backend_domid : domid;
++      devid : int;
++}
++
++type vfb_info =
++{
++      backend_domid : domid;
++      devid : int;
++      vnc : bool;
++      vnclisten : string;
++      vncpasswd : string;
++      vncdisplay : int;
++      vncunused : bool;
++      keymap : string;
++      sdl : bool;
++      opengl : bool;
++      display : string;
++      xauthority : string;
++}
++
++type pci_info =
++{
++      v : int; (* domain * bus * dev * func multiplexed *)
++      domain : int;
++      vdevfn : int;
++      msitranslate : bool;
++      power_mgmt : bool;
++}
++
++type physinfo =
++{
++      threads_per_core: int;
++      cores_per_socket: int;
++      max_cpu_id: int;
++      nr_cpus: int;
++      cpu_khz: int;
++      total_pages: int64;
++      free_pages: int64;
++      scrub_pages: int64;
++      nr_nodes: int;
++      hwcap: int32 array;
++      physcap: int32;
++}
++
++type sched_credit =
++{
++      weight: int;
++      cap: int;
++}
++
++external domain_make : create_info -> domid = "stub_xl_domain_make"
++external domain_build : build_info -> domid -> build_state = "stub_xl_domain_build"
++
++external disk_add : disk_info -> domid -> unit = "stub_xl_disk_add"
++external disk_remove : disk_info -> domid -> unit = "stub_xl_disk_remove"
++
++external nic_add : nic_info -> domid -> unit = "stub_xl_nic_add"
++external nic_remove : disk_info -> domid -> unit = "stub_xl_nic_remove"
++
++external console_add : console_info -> build_state -> domid -> unit = "stub_xl_console_add"
++
++external vkb_add : vkb_info -> domid -> unit = "stub_xl_vkb_add"
++external vkb_clean_shutdown : domid -> unit = "stub_vkb_clean_shutdown"
++external vkb_hard_shutdown : domid -> unit = "stub_vkb_hard_shutdown"
++
++external vfb_add : vfb_info -> domid -> unit = "stub_xl_vfb_add"
++external vfb_clean_shutdown : domid -> unit = "stub_vfb_clean_shutdown"
++external vfb_hard_shutdown : domid -> unit = "stub_vfb_hard_shutdown"
++
++external pci_add : pci_info -> domid -> unit = "stub_xl_pci_add"
++external pci_remove : pci_info -> domid -> unit = "stub_xl_pci_remove"
++external pci_shutdown : domid -> unit = "stub_xl_pci_shutdown"
++
++type button =
++      | Button_Power
++      | Button_Sleep
++
++external button_press : domid -> button -> unit = "stub_xl_button_press"
++external physinfo : unit -> physinfo = "stub_xl_physinfo"
++
++external domain_sched_credit_get : domid -> sched_credit = "stub_xl_sched_credit_domain_get"
++external domain_sched_credit_set : domid -> sched_credit -> unit = "stub_xl_sched_credit_domain_set"
++
++external send_trigger : domid -> string -> int -> unit = "stub_xl_send_trigger"
++external send_sysrq : domid -> char -> unit = "stub_xl_send_sysrq"
++external send_debug_keys : domid -> string -> unit = "stub_xl_send_debug_keys"
++
++let _ = Callback.register_exception "xl.error" (Error "register_callback")
+--- /dev/null
++++ b/tools/ocaml/libs/xl/xenlight.mli
+@@ -0,0 +1,211 @@
++(*
++ * Copyright (C) 2009-2010 Citrix Ltd.
++ * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ *)
++
++exception Error of string
++
++type create_info =
++{
++      hvm : bool;
++      hap : bool;
++      oos : bool;
++      ssidref : int32;
++      name : string;
++      uuid : int array;
++      xsdata : (string * string) list;
++      platformdata : (string * string) list;
++      poolid : int32;
++      poolname : string;
++}
++
++type build_pv_info =
++{
++      slack_memkb : int64;
++      cmdline : string;
++      ramdisk : string;
++      features : string;
++}
++
++type build_hvm_info =
++{
++      pae : bool;
++      apic : bool;
++      acpi : bool;
++      nx : bool;
++      viridian : bool;
++      timeoffset : string;
++      timer_mode : int;
++      hpet : int;
++      vpt_align : int;
++}
++
++type build_spec = BuildHVM of build_hvm_info | BuildPV of build_pv_info
++
++type build_info =
++{
++      max_vcpus : int;
++      cur_vcpus : int;
++      max_memkb : int64;
++      target_memkb : int64;
++      video_memkb : int64;
++      shadow_memkb : int64;
++      kernel : string;
++      priv: build_spec;
++}
++
++type build_state =
++{
++      store_port : int;
++      store_mfn : int64;
++      console_port : int;
++      console_mfn : int64;
++}
++
++type domid = int
++
++type disk_phystype =
++      | PHYSTYPE_QCOW
++      | PHYSTYPE_QCOW2
++      | PHYSTYPE_VHD
++      | PHYSTYPE_AIO
++      | PHYSTYPE_FILE
++      | PHYSTYPE_PHY
++
++type disk_info =
++{
++      backend_domid : domid;
++      physpath : string;
++      phystype : disk_phystype;
++      virtpath : string;
++      unpluggable : bool;
++      readwrite : bool;
++      is_cdrom : bool;
++}
++
++type nic_type =
++      | NICTYPE_IOEMU
++      | NICTYPE_VIF
++
++type nic_info =
++{
++      backend_domid : domid;
++      devid : int;
++      mtu : int;
++      model : string;
++      mac : int array;
++      bridge : string;
++      ifname : string;
++      script : string;
++      nictype : nic_type;
++}
++
++type console_type =
++      | CONSOLETYPE_XENCONSOLED
++      | CONSOLETYPE_IOEMU
++
++type console_info =
++{
++      backend_domid : domid;
++      devid : int;
++      consoletype : console_type;
++}
++
++type vkb_info =
++{
++      backend_domid : domid;
++      devid : int;
++}
++
++type vfb_info =
++{
++      backend_domid : domid;
++      devid : int;
++      vnc : bool;
++      vnclisten : string;
++      vncpasswd : string;
++      vncdisplay : int;
++      vncunused : bool;
++      keymap : string;
++      sdl : bool;
++      opengl : bool;
++      display : string;
++      xauthority : string;
++}
++
++type pci_info =
++{
++      v : int; (* domain * bus * dev * func multiplexed *)
++      domain : int;
++      vdevfn : int;
++      msitranslate : bool;
++      power_mgmt : bool;
++}
++
++type physinfo =
++{
++      threads_per_core: int;
++      cores_per_socket: int;
++      max_cpu_id: int;
++      nr_cpus: int;
++      cpu_khz: int;
++      total_pages: int64;
++      free_pages: int64;
++      scrub_pages: int64;
++      nr_nodes: int;
++      hwcap: int32 array;
++      physcap: int32;
++}
++
++type sched_credit =
++{
++      weight: int;
++      cap: int;
++}
++
++external domain_make : create_info -> domid = "stub_xl_domain_make"
++external domain_build : build_info -> domid -> build_state = "stub_xl_domain_build"
++
++external disk_add : disk_info -> domid -> unit = "stub_xl_disk_add"
++external disk_remove : disk_info -> domid -> unit = "stub_xl_disk_remove"
++
++external nic_add : nic_info -> domid -> unit = "stub_xl_nic_add"
++external nic_remove : disk_info -> domid -> unit = "stub_xl_nic_remove"
++
++external console_add : console_info -> build_state -> domid -> unit = "stub_xl_console_add"
++
++external vkb_add : vkb_info -> domid -> unit = "stub_xl_vkb_add"
++external vkb_clean_shutdown : domid -> unit = "stub_vkb_clean_shutdown"
++external vkb_hard_shutdown : domid -> unit = "stub_vkb_hard_shutdown"
++
++external vfb_add : vfb_info -> domid -> unit = "stub_xl_vfb_add"
++external vfb_clean_shutdown : domid -> unit = "stub_vfb_clean_shutdown"
++external vfb_hard_shutdown : domid -> unit = "stub_vfb_hard_shutdown"
++
++external pci_add : pci_info -> domid -> unit = "stub_xl_pci_add"
++external pci_remove : pci_info -> domid -> unit = "stub_xl_pci_remove"
++external pci_shutdown : domid -> unit = "stub_xl_pci_shutdown"
++
++type button =
++      | Button_Power
++      | Button_Sleep
++
++external button_press : domid -> button -> unit = "stub_xl_button_press"
++external physinfo : unit -> physinfo = "stub_xl_physinfo"
++
++external domain_sched_credit_get : domid -> sched_credit = "stub_xl_sched_credit_domain_get"
++external domain_sched_credit_set : domid -> sched_credit -> unit = "stub_xl_sched_credit_domain_set"
++
++external send_trigger : domid -> string -> int -> unit = "stub_xl_send_trigger"
++external send_sysrq : domid -> char -> unit = "stub_xl_send_sysrq"
++external send_debug_keys : domid -> string -> unit = "stub_xl_send_debug_keys"
+--- a/tools/ocaml/libs/xl/META.in
++++ b/tools/ocaml/libs/xl/META.in
+@@ -1,4 +1,4 @@
+ version = "@VERSION@"
+ description = "Xen Toolstack Library"
+-archive(byte) = "xl.cma"
+-archive(native) = "xl.cmxa"
++archive(byte) = "xenlight.cma"
++archive(native) = "xenlight.cmxa"
diff --git a/xen/patches/51-upstream-23937:5173834e8476.patch b/xen/patches/51-upstream-23937:5173834e8476.patch
new file mode 100644 (file)
index 0000000..f91dbaf
--- /dev/null
@@ -0,0 +1,20 @@
+# HG changeset patch
+# User Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+# Date 1318261088 -3600
+# Node ID 5173834e8476074afceb5c0124126e74a3954e97
+# Parent  cdb34816a40a2dd3aaf324f7dcba83a122cf9146
+tools/ocaml: Add a missing dependency to the xenctrl ocaml package
+
+Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+Acked-by: Ian Campbell <ian.campbell.com>
+Committed-by: Ian Jackson <ian.jackson.citrix.com>
+
+--- a/tools/ocaml/libs/xc/META.in
++++ b/tools/ocaml/libs/xc/META.in
+@@ -1,5 +1,5 @@
+ version = "@VERSION@"
+ description = "Xen Control Interface"
+-requires = "xenmmap,uuid"
++requires = "unix,xenmmap,uuid"
+ archive(byte) = "xenctrl.cma"
+ archive(native) = "xenctrl.cmxa"
diff --git a/xen/patches/52-upstream-23938:fa04fbd56521-rework.patch b/xen/patches/52-upstream-23938:fa04fbd56521-rework.patch
new file mode 100644 (file)
index 0000000..72f0e64
--- /dev/null
@@ -0,0 +1,321 @@
+# HG changeset patch
+# User Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+# Date 1317295879 -3600
+# Node ID 6c87e9dc5331096e8bfbad60a4f560cae05c4034
+# Parent c5df5f625ee2a0339b2a6785f99a5a0f9727f836
+[OCAML] Remove the uuid library
+
+This patch has the same effect as xen-unstable.hg c/s
+23938:fa04fbd56521
+
+The library was only minimally used, and was really rather redundant.
+
+Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
+Acked-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+
+--- a/tools/ocaml/libs/Makefile
++++ b/tools/ocaml/libs/Makefile
+@@ -2,7 +2,7 @@
+ include $(XEN_ROOT)/tools/Rules.mk
+ SUBDIRS= \
+-      uuid mmap \
++      mmap \
+       log xc eventchn \
+       xb xs xl
+--- a/tools/ocaml/libs/uuid/META.in
++++ /dev/null
+@@ -1,4 +0,0 @@
+-version = "@VERSION@"
+-description = "Uuid - universal identifer"
+-archive(byte) = "uuid.cma"
+-archive(native) = "uuid.cmxa"
+--- a/tools/ocaml/libs/uuid/uuid.ml
++++ /dev/null
+@@ -1,100 +0,0 @@
+-(*
+- * Copyright (C) 2006-2010 Citrix Systems Inc.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-(* Internally, a UUID is simply a string. *)
+-type 'a t = string
+-
+-type cookie = string
+-
+-let of_string s = s
+-let to_string s = s
+-
+-let null = ""
+-
+-(* deprecated: we don't need to duplicate the uuid prefix/suffix *)
+-let uuid_of_string = of_string
+-let string_of_uuid = to_string
+-
+-let string_of_cookie s = s
+-
+-let cookie_of_string s = s
+-
+-let dev_random = "/dev/random"
+-let dev_urandom = "/dev/urandom"
+-
+-let rnd_array n =
+-      let fstbyte i = 0xff land i in
+-      let sndbyte i = fstbyte (i lsr 8) in
+-      let thdbyte i = sndbyte (i lsr 8) in
+-      let rec rnd_list n acc = match n with
+-              | 0 -> acc
+-              | 1 ->
+-                      let b = fstbyte (Random.bits ()) in
+-                      b :: acc
+-              | 2 ->
+-                      let r = Random.bits () in
+-                      let b1 = fstbyte r in
+-                      let b2 = sndbyte r in
+-                      b1 :: b2 :: acc
+-              | n -> 
+-                      let r = Random.bits () in
+-                      let b1 = fstbyte r in
+-                      let b2 = sndbyte r in
+-                      let b3 = thdbyte r in
+-                      rnd_list (n - 3) (b1 :: b2 :: b3 :: acc)
+-      in
+-      Array.of_list (rnd_list n [])
+-
+-let read_array dev n = 
+-  let ic = open_in_bin dev in
+-  try
+-    let result = Array.init n (fun _ -> input_byte ic) in
+-    close_in ic;
+-    result
+-  with e ->
+-    close_in ic;
+-    raise e
+-
+-let uuid_of_int_array uuid =
+-  Printf.sprintf "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x"
+-    uuid.(0) uuid.(1) uuid.(2) uuid.(3) uuid.(4) uuid.(5)
+-    uuid.(6) uuid.(7) uuid.(8) uuid.(9) uuid.(10) uuid.(11)
+-    uuid.(12) uuid.(13) uuid.(14) uuid.(15)
+-
+-let make_uuid_prng () = uuid_of_int_array (rnd_array 16)
+-let make_uuid_urnd () = uuid_of_int_array (read_array dev_urandom 16)
+-let make_uuid_rnd () = uuid_of_int_array (read_array dev_random 16)
+-let make_uuid = make_uuid_urnd
+-
+-let make_cookie() =
+-  let bytes = Array.to_list (read_array dev_urandom 64) in
+-  String.concat "" (List.map (Printf.sprintf "%1x") bytes)
+-
+-let int_array_of_uuid s =
+-  try
+-    let l = ref [] in
+-    Scanf.sscanf s "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x"
+-      (fun a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 ->
+-      l := [ a0; a1; a2; a3; a4; a5; a6; a7; a8; a9;
+-             a10; a11; a12; a13; a14; a15; ]);
+-    Array.of_list !l
+-  with _ -> invalid_arg "Uuid.int_array_of_uuid"
+-
+-let is_uuid str =
+-      try
+-              Scanf.sscanf str
+-                      "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x"
+-                      (fun _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -> true)
+-      with _ -> false
+--- a/tools/ocaml/libs/uuid/uuid.mli
++++ /dev/null
+@@ -1,67 +0,0 @@
+-(*
+- * Copyright (C) 2006-2010 Citrix Systems Inc.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-(** Type-safe UUIDs.
+-    Probably need to refactor this; UUIDs are used in two places:
+-    + to uniquely name things across the cluster
+-    + as secure session IDs
+-
+-    There is the additional constraint that current Xen tools use 
+-    a particular format of UUID (the 16 byte variety generated by fresh ())
+-
+-      Also, cookies aren't UUIDs and should be put somewhere else.
+-*)
+-
+-(** A 128-bit UUID.  Using phantom types ('a) to achieve the requires type-safety. *)
+-type 'a t
+-
+-(** Create a fresh UUID *)
+-val make_uuid : unit -> 'a t
+-val make_uuid_prng : unit -> 'a t
+-val make_uuid_urnd : unit -> 'a t
+-val make_uuid_rnd : unit -> 'a t
+-
+-(** Create a UUID from a string. *)
+-val of_string : string -> 'a t
+-
+-(** Marshal a UUID to a string. *)
+-val to_string : 'a t -> string
+-
+-(** A null UUID, as if such a thing actually existed.  It turns out to be
+- * useful though. *)
+-val null : 'a t
+-
+-(** Deprecated alias for {! Uuid.of_string} *)
+-val uuid_of_string : string -> 'a t
+-
+-(** Deprecated alias for {! Uuid.to_string} *)
+-val string_of_uuid : 'a t -> string
+-
+-(** Convert an array to a UUID. *)
+-val uuid_of_int_array : int array -> 'a t
+-
+-(** Convert a UUID to an array. *)
+-val int_array_of_uuid : 'a t -> int array
+-
+-(** Check whether a string is a UUID. *)
+-val is_uuid : string -> bool
+-
+-(** A 512-bit cookie. *)
+-type cookie
+-
+-val make_cookie : unit -> cookie
+-
+-val cookie_of_string : string -> cookie
+-
+-val string_of_cookie : cookie -> string
+--- a/tools/ocaml/libs/xc/META.in
++++ b/tools/ocaml/libs/xc/META.in
+@@ -1,5 +1,5 @@
+ version = "@VERSION@"
+ description = "Xen Control Interface"
+-requires = "unix,xenmmap,uuid"
++requires = "unix,xenmmap"
+ archive(byte) = "xenctrl.cma"
+ archive(native) = "xenctrl.cmxa"
+--- a/tools/ocaml/libs/xc/Makefile
++++ b/tools/ocaml/libs/xc/Makefile
+@@ -3,7 +3,7 @@
+ include $(TOPLEVEL)/common.make
+ CFLAGS += -I../mmap -I./ -I$(XEN_ROOT)/tools/libxc
+-OCAMLINCLUDE += -I ../mmap -I ../uuid -I $(XEN_ROOT)/tools/libxc
++OCAMLINCLUDE += -I ../mmap -I $(XEN_ROOT)/tools/libxc
+ OBJS = xenctrl
+ INTF = xenctrl.cmi
+--- a/tools/ocaml/libs/xc/xenctrl.ml
++++ b/tools/ocaml/libs/xc/xenctrl.ml
+@@ -118,14 +118,23 @@
+ external _domain_create: handle -> int32 -> domain_create_flag list -> int array -> domid
+        = "stub_xc_domain_create"
++let int_array_of_uuid_string s =
++      try
++              Scanf.sscanf s
++                      "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x"
++                      (fun a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 ->
++                              [| a0; a1; a2; a3; a4; a5; a6; a7;
++                                 a8; a9; a10; a11; a12; a13; a14; a15 |])
++      with _ -> invalid_arg ("Xc.int_array_of_uuid_string: " ^ s)
++
+ let domain_create handle n flags uuid =
+-      _domain_create handle n flags (Uuid.int_array_of_uuid uuid)
++      _domain_create handle n flags (int_array_of_uuid_string uuid)
+ external _domain_sethandle: handle -> domid -> int array -> unit
+                           = "stub_xc_domain_sethandle"
+ let domain_sethandle handle n uuid =
+-      _domain_sethandle handle n (Uuid.int_array_of_uuid uuid)
++      _domain_sethandle handle n (int_array_of_uuid_string uuid)
+ external domain_max_vcpus: handle -> domid -> int -> unit
+        = "stub_xc_domain_max_vcpus"
+--- a/tools/ocaml/libs/xc/xenctrl.mli
++++ b/tools/ocaml/libs/xc/xenctrl.mli
+@@ -74,12 +74,8 @@
+ external is_fake : unit -> bool = "stub_xc_interface_is_fake"
+ external interface_close : handle -> unit = "stub_xc_interface_close"
+ val with_intf : (handle -> 'a) -> 'a
+-external _domain_create : handle -> int32 -> domain_create_flag list -> int array -> domid
+-  = "stub_xc_domain_create"
+-val domain_create : handle -> int32 -> domain_create_flag list -> 'a Uuid.t -> domid
+-external _domain_sethandle : handle -> domid -> int array -> unit
+-  = "stub_xc_domain_sethandle"
+-val domain_sethandle : handle -> domid -> 'a Uuid.t -> unit
++val domain_create : handle -> int32 -> domain_create_flag list -> string -> domid
++val domain_sethandle : handle -> domid -> string -> unit
+ external domain_max_vcpus : handle -> domid -> int -> unit
+   = "stub_xc_domain_max_vcpus"
+ external domain_pause : handle -> domid -> unit = "stub_xc_domain_pause"
+--- a/tools/ocaml/xenstored/Makefile
++++ b/tools/ocaml/xenstored/Makefile
+@@ -5,7 +5,6 @@
+ OCAMLINCLUDE += \
+       -I $(OCAML_TOPLEVEL)/libs/log \
+       -I $(OCAML_TOPLEVEL)/libs/xb \
+-      -I $(OCAML_TOPLEVEL)/libs/uuid \
+       -I $(OCAML_TOPLEVEL)/libs/mmap \
+       -I $(OCAML_TOPLEVEL)/libs/xc \
+       -I $(OCAML_TOPLEVEL)/libs/eventchn
+@@ -34,7 +33,6 @@
+ INTF = symbol.cmi trie.cmi
+ XENSTOREDLIBS = \
+       unix.cmxa \
+-      $(OCAML_TOPLEVEL)/libs/uuid/uuid.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/mmap $(OCAML_TOPLEVEL)/libs/mmap/xenmmap.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/log $(OCAML_TOPLEVEL)/libs/log/log.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \
+--- a/tools/ocaml/libs/uuid/Makefile
++++ /dev/null
+@@ -1,29 +0,0 @@
+-TOPLEVEL=$(CURDIR)/../..
+-XEN_ROOT=$(TOPLEVEL)/../..
+-include $(TOPLEVEL)/common.make
+-
+-OBJS = uuid
+-INTF = $(foreach obj, $(OBJS),$(obj).cmi)
+-LIBS = uuid.cma uuid.cmxa
+-
+-all: $(INTF) $(LIBS) $(PROGRAMS)
+-
+-bins: $(PROGRAMS)
+-
+-libs: $(LIBS)
+-
+-uuid_OBJS = $(OBJS)
+-OCAML_NOC_LIBRARY = uuid
+-
+-.PHONY: install
+-install: $(LIBS) META
+-      mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) uuid
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore uuid META $(INTF) $(LIBS) *.a *.cmx
+-
+-.PHONY: uninstall
+-uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) uuid
+-
+-include $(TOPLEVEL)/Makefile.rules
+-
diff --git a/xen/patches/53-upstream-23939:51288f69523f-rework.patch b/xen/patches/53-upstream-23939:51288f69523f-rework.patch
new file mode 100644 (file)
index 0000000..30fcb1c
--- /dev/null
@@ -0,0 +1,1509 @@
+# HG changeset patch
+# User Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+# Date 1317300078 -3600
+# Node ID f628a2174cd0289400e2fe476cc3177fbcba3c8d
+# Parent 42cdb34ec175602fa2d8f0f65e44c4eb3a086496
+[OCAML] Remove log library from tools/ocaml/libs
+
+This patch has the same effect as xen-unstable.hg c/s 23939:51288f69523f
+
+The only user was oxenstored, which has had the relevant bits
+merged in.
+
+Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
+Acked-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+
+--- a/tools/ocaml/libs/Makefile
++++ b/tools/ocaml/libs/Makefile
+@@ -3,7 +3,7 @@
+ SUBDIRS= \
+       mmap \
+-      log xc eventchn \
++      xc eventchn \
+       xb xs xl
+ .PHONY: all
+--- a/tools/ocaml/libs/log/META.in
++++ /dev/null
+@@ -1,5 +0,0 @@
+-version = "@VERSION@"
+-description = "Log - logging library"
+-requires = "unix"
+-archive(byte) = "log.cma"
+-archive(native) = "log.cmxa"
+--- a/tools/ocaml/libs/log/log.ml
++++ /dev/null
+@@ -1,258 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-open Printf
+-
+-exception Unknown_level of string
+-
+-type stream_type = Stderr | Stdout | File of string
+-
+-type stream_log = {
+-  ty : stream_type;
+-  channel : out_channel option ref;
+-}
+-
+-type level = Debug | Info | Warn | Error
+-
+-type output =
+-      | Stream of stream_log
+-      | String of string list ref
+-      | Syslog of string
+-      | Nil
+-
+-let int_of_level l =
+-      match l with Debug -> 0 | Info -> 1 | Warn -> 2 | Error -> 3
+-
+-let string_of_level l =
+-      match l with Debug -> "debug" | Info -> "info"
+-                 | Warn -> "warn" | Error -> "error"
+-
+-let level_of_string s =
+-      match s with
+-      | "debug" -> Debug
+-      | "info"  -> Info
+-      | "warn"  -> Warn
+-      | "error" -> Error
+-      | _       -> raise (Unknown_level s)
+-
+-let mkdir_safe dir perm =
+-        try Unix.mkdir dir perm with _ -> ()
+-
+-let mkdir_rec dir perm =
+-      let rec p_mkdir dir =
+-              let p_name = Filename.dirname dir in
+-              if p_name = "/" || p_name = "." then
+-                      ()
+-              else (
+-                      p_mkdir p_name;
+-                      mkdir_safe dir perm
+-              ) in
+-      p_mkdir dir
+-
+-type t = { output: output; mutable level: level; }
+-
+-let make output level = { output = output; level = level; }
+-
+-let make_stream ty channel = 
+-        Stream {ty=ty; channel=ref channel; }
+-
+-(** open a syslog logger *)
+-let opensyslog k level =
+-      make (Syslog k) level
+-
+-(** open a stderr logger *)
+-let openerr level =
+-      if (Unix.stat "/dev/stderr").Unix.st_kind <> Unix.S_CHR then
+-              failwith "/dev/stderr is not a valid character device";
+-      make (make_stream Stderr (Some (open_out "/dev/stderr"))) level
+-      
+-let openout level =
+-      if (Unix.stat "/dev/stdout").Unix.st_kind <> Unix.S_CHR then
+-              failwith "/dev/stdout is not a valid character device";
+-        make (make_stream Stdout (Some (open_out "/dev/stdout"))) level
+-
+-
+-(** open a stream logger - returning the channel. *)
+-(* This needs to be separated from 'openfile' so we can reopen later *)
+-let doopenfile filename =
+-        if Filename.is_relative filename then
+-              None
+-      else (
+-                try
+-                mkdir_rec (Filename.dirname filename) 0o700;
+-                Some (open_out_gen [ Open_append; Open_creat ] 0o600 filename)
+-                with _ -> None
+-      )
+-
+-(** open a stream logger - returning the output type *)
+-let openfile filename level =
+-        make (make_stream (File filename) (doopenfile filename)) level
+-
+-(** open a nil logger *)
+-let opennil () =
+-      make Nil Error
+-
+-(** open a string logger *)
+-let openstring level =
+-        make (String (ref [""])) level
+-
+-(** try to reopen a logger *)
+-let reopen t =
+-      match t.output with
+-      | Nil              -> t
+-      | Syslog k         -> Syslog.close (); opensyslog k t.level
+-      | Stream s         -> (
+-            match (s.ty,!(s.channel)) with 
+-              | (File filename, Some c) -> close_out c; s.channel := (try doopenfile filename with _ -> None); t 
+-              | _ -> t)
+-      | String _         -> t
+-
+-(** close a logger *)
+-let close t =
+-      match t.output with
+-      | Nil           -> ()
+-      | Syslog k      -> Syslog.close ();
+-      | Stream s      -> (
+-            match !(s.channel) with 
+-              | Some c -> close_out c; s.channel := None
+-              | None -> ())
+-      | String _      -> ()
+-
+-(** create a string representating the parameters of the logger *)
+-let string_of_logger t =
+-      match t.output with
+-      | Nil           -> "nil"
+-      | Syslog k      -> sprintf "syslog:%s" k
+-      | String _      -> "string"
+-      | Stream s      -> 
+-          begin
+-            match s.ty with 
+-              | File f -> sprintf "file:%s" f
+-              | Stderr -> "stderr"
+-              | Stdout -> "stdout"
+-          end
+-
+-(** parse a string to a logger *)
+-let logger_of_string s : t =
+-      match s with
+-      | "nil"    -> opennil ()
+-      | "stderr" -> openerr Debug
+-      | "stdout" -> openout Debug
+-      | "string" -> openstring Debug
+-      | _        ->
+-              let split_in_2 s =
+-                      try
+-                              let i = String.index s ':' in
+-                              String.sub s 0 (i),
+-                              String.sub s (i + 1) (String.length s - i - 1)
+-                      with _ ->
+-                              failwith "logger format error: expecting string:string"
+-                      in
+-              let k, s = split_in_2 s in
+-              match k with
+-              | "syslog" -> opensyslog s Debug
+-              | "file"   -> openfile s Debug
+-              | _        -> failwith "unknown logger type"
+-
+-let validate s =
+-      match s with
+-      | "nil"    -> ()
+-      | "stderr" -> ()
+-      | "stdout" -> ()
+-      | "string" -> ()
+-      | _        ->
+-              let split_in_2 s =
+-                      try
+-                              let i = String.index s ':' in
+-                              String.sub s 0 (i),
+-                              String.sub s (i + 1) (String.length s - i - 1)
+-                      with _ ->
+-                              failwith "logger format error: expecting string:string"
+-                      in
+-              let k, s = split_in_2 s in
+-              match k with
+-              | "syslog" -> ()
+-              | "file"   -> (
+-                      try
+-                              let st = Unix.stat s in
+-                              if st.Unix.st_kind <> Unix.S_REG then
+-                                      failwith "logger file is a directory";
+-                              ()
+-                      with Unix.Unix_error (Unix.ENOENT, _, _) -> ()
+-                      )
+-              | _        -> failwith "unknown logger"
+-
+-(** change a logger level to level *)
+-let set t level = t.level <- level
+-
+-let gettimestring () =
+-      let time = Unix.gettimeofday () in
+-      let tm = Unix.localtime time in
+-        let msec = time -. (floor time) in
+-      sprintf "%d%.2d%.2d %.2d:%.2d:%.2d.%.3d|" (1900 + tm.Unix.tm_year)
+-              (tm.Unix.tm_mon + 1) tm.Unix.tm_mday
+-              tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec
+-              (int_of_float (1000.0 *. msec))
+-
+-(*let extra_hook = ref (fun x -> x)*)
+-
+-let output t ?(key="") ?(extra="") priority (message: string) =
+-  let construct_string withtime =
+-              (*let key = if key = "" then [] else [ key ] in
+-              let extra = if extra = "" then [] else [ extra ] in
+-              let items = 
+-      (if withtime then [ gettimestring () ] else [])
+-                @ [ sprintf "%5s" (string_of_level priority) ] @ extra @ key @ [ message ] in
+-(*            let items = !extra_hook items in*)
+-              String.concat " " items*)
+-    Printf.sprintf "[%s%s|%s] %s" 
+-      (if withtime then gettimestring () else "") (string_of_level priority) extra message
+-      in
+-      (* Keep track of how much we write out to streams, so that we can *)
+-      (* log-rotate at appropriate times *)
+-      let write_to_stream stream =
+-        let string = (construct_string true) in
+-        try
+-          fprintf stream "%s\n%!" string
+-        with _ -> () (* Trap exception when we fail to write log *)
+-        in
+-
+-      if String.length message > 0 then
+-      match t.output with
+-      | Syslog k      ->
+-              let sys_prio = match priority with
+-              | Debug -> Syslog.Debug
+-              | Info  -> Syslog.Info
+-              | Warn  -> Syslog.Warning
+-              | Error -> Syslog.Err in
+-              Syslog.log Syslog.Daemon sys_prio ((construct_string false) ^ "\n")
+-      | Stream s -> (
+-            match !(s.channel) with
+-              | Some c -> write_to_stream c
+-              | None -> ())
+-      | Nil           -> ()
+-      | String s      -> (s := (construct_string true)::!s)
+-
+-let log t level (fmt: ('a, unit, string, unit) format4): 'a =
+-      let b = (int_of_level t.level) <= (int_of_level level) in
+-      (* ksprintf is the preferred name for kprintf, but the former
+-       * is not available in OCaml 3.08.3 *)
+-      Printf.kprintf (if b then output t level else (fun _ -> ())) fmt
+-          
+-let debug t (fmt: ('a , unit, string, unit) format4) = log t Debug fmt
+-let info t (fmt: ('a , unit, string, unit) format4) = log t Info fmt
+-let warn t (fmt: ('a , unit, string, unit) format4) = log t Warn fmt
+-let error t (fmt: ('a , unit, string, unit) format4) = log t Error fmt
+--- a/tools/ocaml/libs/log/log.mli
++++ /dev/null
+@@ -1,55 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-exception Unknown_level of string
+-type level = Debug | Info | Warn | Error
+-
+-type stream_type = Stderr | Stdout | File of string
+-type stream_log = {
+-  ty : stream_type;
+-  channel : out_channel option ref;
+-}
+-type output =
+-    Stream of stream_log
+-  | String of string list ref
+-  | Syslog of string
+-  | Nil
+-val int_of_level : level -> int
+-val string_of_level : level -> string
+-val level_of_string : string -> level
+-val mkdir_safe : string -> Unix.file_perm -> unit
+-val mkdir_rec : string -> Unix.file_perm -> unit
+-type t = { output : output; mutable level : level; }
+-val make : output -> level -> t
+-val opensyslog : string -> level -> t
+-val openerr : level -> t
+-val openout : level -> t
+-val openfile : string -> level -> t
+-val opennil : unit -> t
+-val openstring : level -> t
+-val reopen : t -> t
+-val close : t -> unit
+-val string_of_logger : t -> string
+-val logger_of_string : string -> t
+-val validate : string -> unit
+-val set : t -> level -> unit
+-val gettimestring : unit -> string
+-val output : t -> ?key:string -> ?extra:string -> level -> string -> unit
+-val log : t -> level -> ('a, unit, string, unit) format4 -> 'a
+-val debug : t -> ('a, unit, string, unit) format4 -> 'a
+-val info : t -> ('a, unit, string, unit) format4 -> 'a
+-val warn : t -> ('a, unit, string, unit) format4 -> 'a
+-val error : t -> ('a, unit, string, unit) format4 -> 'a
+--- a/tools/ocaml/libs/log/logs.ml
++++ /dev/null
+@@ -1,197 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-type keylogger =
+-{
+-      mutable debug: string list;
+-      mutable info: string list;
+-      mutable warn: string list;
+-      mutable error: string list;
+-      no_default: bool;
+-}
+-
+-(* map all logger strings into a logger *)
+-let __all_loggers = Hashtbl.create 10
+-
+-(* default logger that everything that doesn't have a key in __lop_mapping get send *)
+-let __default_logger = { debug = []; info = []; warn = []; error = []; no_default = false }
+-
+-(*
+- * This describe the mapping between a name to a keylogger.
+- * a keylogger contains a list of logger string per level of debugging.
+- * Example:   "xenops", debug -> [ "stderr"; "/var/log/xensource.log" ]
+- *            "xapi", error ->   []
+- *            "xapi", debug ->   [ "/var/log/xensource.log" ]
+- *            "xenops", info ->  [ "syslog" ]
+- *)
+-let __log_mapping = Hashtbl.create 32
+-
+-let get_or_open logstring =
+-      if Hashtbl.mem __all_loggers logstring then
+-              Hashtbl.find __all_loggers logstring
+-      else
+-              let t = Log.logger_of_string logstring in
+-              Hashtbl.add __all_loggers logstring t;
+-              t
+-
+-(** create a mapping entry for the key "name".
+- * all log level of key "name" default to "logger" logger.
+- * a sensible default is put "nil" as a logger and reopen a specific level to
+- * the logger you want to.
+- *)
+-let add key logger =
+-      let kl = {
+-              debug = logger;
+-              info = logger;
+-              warn = logger;
+-              error = logger;
+-              no_default = false;
+-      } in
+-      Hashtbl.add __log_mapping key kl
+-
+-let get_by_level keylog level =
+-      match level with
+-      | Log.Debug -> keylog.debug
+-      | Log.Info  -> keylog.info
+-      | Log.Warn  -> keylog.warn
+-      | Log.Error -> keylog.error
+-
+-let set_by_level keylog level logger =
+-      match level with
+-      | Log.Debug -> keylog.debug <- logger
+-      | Log.Info  -> keylog.info <- logger
+-      | Log.Warn  -> keylog.warn <- logger
+-      | Log.Error -> keylog.error <- logger
+-
+-(** set a specific key|level to the logger "logger" *)
+-let set key level logger =
+-      if not (Hashtbl.mem __log_mapping key) then
+-              add key [];
+-
+-      let keylog = Hashtbl.find __log_mapping key in
+-      set_by_level keylog level logger
+-
+-(** set default logger *)
+-let set_default level logger =
+-      set_by_level __default_logger level logger
+-
+-(** append a logger to the list *)
+-let append key level logger =
+-      if not (Hashtbl.mem __log_mapping key) then
+-              add key [];
+-      let keylog = Hashtbl.find __log_mapping key in
+-      let loggers = get_by_level keylog level in
+-      set_by_level keylog level (loggers @ [ logger ])
+-
+-(** append a logger to the default list *)
+-let append_default level logger =
+-      let loggers = get_by_level __default_logger level in
+-      set_by_level __default_logger level (loggers @ [ logger ])
+-
+-(** reopen all logger open *)
+-let reopen () =
+-      Hashtbl.iter (fun k v ->
+-              Hashtbl.replace __all_loggers k (Log.reopen v)) __all_loggers
+-
+-(** reclaim close all logger open that are not use by any other keys *)
+-let reclaim () =
+-      let list_sort_uniq l =
+-              let oldprev = ref "" and prev = ref "" in
+-              List.fold_left (fun a k ->
+-                      oldprev := !prev;
+-                      prev := k;
+-                      if k = !oldprev then a else k :: a) []
+-                      (List.sort compare l)
+-              in
+-      let flatten_keylogger v =
+-              list_sort_uniq (v.debug @ v.info @ v.warn @ v.error) in
+-      let oldkeys = Hashtbl.fold (fun k v a -> k :: a) __all_loggers [] in
+-      let usedkeys = Hashtbl.fold (fun k v a ->
+-              (flatten_keylogger v) @ a)
+-              __log_mapping (flatten_keylogger __default_logger) in
+-      let usedkeys = list_sort_uniq usedkeys in
+-
+-      List.iter (fun k ->
+-              if not (List.mem k usedkeys) then (
+-                      begin try
+-                              Log.close (Hashtbl.find __all_loggers k)
+-                      with
+-                              Not_found -> ()
+-                      end;
+-                      Hashtbl.remove __all_loggers k
+-              )) oldkeys
+-
+-(** clear a specific key|level *)
+-let clear key level =
+-      try
+-              let keylog = Hashtbl.find __log_mapping key in
+-              set_by_level keylog level [];
+-              reclaim ()
+-      with Not_found ->
+-              ()
+-
+-(** clear a specific default level *)
+-let clear_default level =
+-      set_default level [];
+-      reclaim ()
+-
+-(** reset all the loggers to the specified logger *)
+-let reset_all logger =
+-      Hashtbl.clear __log_mapping;
+-      set_default Log.Debug logger;
+-      set_default Log.Warn logger;
+-      set_default Log.Error logger;
+-      set_default Log.Info logger;
+-      reclaim ()
+-
+-(** log a fmt message to the key|level logger specified in the log mapping.
+- * if the logger doesn't exist, assume nil logger.
+- *)
+-let log key level ?(extra="") (fmt: ('a, unit, string, unit) format4): 'a =
+-      let keylog =
+-              if Hashtbl.mem __log_mapping key then
+-                      let keylog = Hashtbl.find __log_mapping key in
+-                      if keylog.no_default = false &&
+-                         get_by_level keylog level = [] then
+-                              __default_logger
+-                      else
+-                              keylog
+-              else
+-                      __default_logger in
+-      let loggers = get_by_level keylog level in
+-      match loggers with
+-      | [] -> Printf.kprintf ignore fmt
+-      | _  ->
+-              let l = List.fold_left (fun acc logger ->       
+-                      try get_or_open logger :: acc
+-                      with _ -> acc
+-              ) [] loggers in
+-              let l = List.rev l in
+-
+-              (* ksprintf is the preferred name for kprintf, but the former
+-               * is not available in OCaml 3.08.3 *)
+-              Printf.kprintf (fun s ->
+-                      List.iter (fun t -> Log.output t ~key ~extra level s) l) fmt
+-
+-(* define some convenience functions *)
+-let debug t ?extra (fmt: ('a , unit, string, unit) format4) =
+-      log t Log.Debug ?extra fmt
+-let info t ?extra (fmt: ('a , unit, string, unit) format4) =
+-      log t Log.Info ?extra fmt
+-let warn t ?extra (fmt: ('a , unit, string, unit) format4) =
+-      log t Log.Warn ?extra fmt
+-let error t ?extra (fmt: ('a , unit, string, unit) format4) =
+-      log t Log.Error ?extra fmt
+--- a/tools/ocaml/libs/log/logs.mli
++++ /dev/null
+@@ -1,46 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-type keylogger = {
+-  mutable debug : string list;
+-  mutable info : string list;
+-  mutable warn : string list;
+-  mutable error : string list;
+-  no_default : bool;
+-}
+-val __all_loggers : (string, Log.t) Hashtbl.t
+-val __default_logger : keylogger
+-val __log_mapping : (string, keylogger) Hashtbl.t
+-val get_or_open : string -> Log.t
+-val add : string -> string list -> unit
+-val get_by_level : keylogger -> Log.level -> string list
+-val set_by_level : keylogger -> Log.level -> string list -> unit
+-val set : string -> Log.level -> string list -> unit
+-val set_default : Log.level -> string list -> unit
+-val append : string -> Log.level -> string -> unit
+-val append_default : Log.level -> string -> unit
+-val reopen : unit -> unit
+-val reclaim : unit -> unit
+-val clear : string -> Log.level -> unit
+-val clear_default : Log.level -> unit
+-val reset_all : string list -> unit
+-val log :
+-  string ->
+-  Log.level -> ?extra:string -> ('a, unit, string, unit) format4 -> 'a
+-val debug : string -> ?extra:string -> ('a, unit, string, unit) format4 -> 'a
+-val info : string -> ?extra:string -> ('a, unit, string, unit) format4 -> 'a
+-val warn : string -> ?extra:string -> ('a, unit, string, unit) format4 -> 'a
+-val error : string -> ?extra:string -> ('a, unit, string, unit) format4 -> 'a
+--- a/tools/ocaml/libs/log/syslog.ml
++++ /dev/null
+@@ -1,26 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-type level = Emerg | Alert | Crit | Err | Warning | Notice | Info | Debug
+-type options = Cons | Ndelay | Nowait | Odelay | Perror | Pid
+-type facility = Auth | Authpriv | Cron | Daemon | Ftp | Kern
+-              | Local0 | Local1 | Local2 | Local3
+-            | Local4 | Local5 | Local6 | Local7
+-            | Lpr | Mail | News | Syslog | User | Uucp
+-
+-(* external init : string -> options list -> facility -> unit = "stub_openlog" *)
+-external log : facility -> level -> string -> unit = "stub_syslog"
+-external close : unit -> unit = "stub_closelog"
+--- a/tools/ocaml/libs/log/syslog_stubs.c
++++ /dev/null
+@@ -1,75 +0,0 @@
+-/*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- */
+-
+-#include <syslog.h>
+-#include <caml/mlvalues.h>
+-#include <caml/memory.h>
+-#include <caml/alloc.h>
+-#include <caml/custom.h>
+-
+-static int __syslog_level_table[] = {
+-      LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING,
+-      LOG_NOTICE, LOG_INFO, LOG_DEBUG
+-};
+-
+-/*
+-static int __syslog_options_table[] = {
+-      LOG_CONS, LOG_NDELAY, LOG_NOWAIT, LOG_ODELAY, LOG_PERROR, LOG_PID
+-};
+-*/
+-
+-static int __syslog_facility_table[] = {
+-      LOG_AUTH, LOG_AUTHPRIV, LOG_CRON, LOG_DAEMON, LOG_FTP, LOG_KERN,
+-      LOG_LOCAL0, LOG_LOCAL1, LOG_LOCAL2, LOG_LOCAL3,
+-      LOG_LOCAL4, LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7,
+-      LOG_LPR | LOG_MAIL | LOG_NEWS | LOG_SYSLOG | LOG_USER | LOG_UUCP
+-};
+-
+-/* According to the openlog manpage the 'openlog' call may take a reference
+-   to the 'ident' string and keep it long-term. This means we cannot just pass in
+-   an ocaml string which is under the control of the GC. Since we aren't actually
+-   calling this function we can just comment it out for the time-being. */
+-/*
+-value stub_openlog(value ident, value option, value facility)
+-{
+-      CAMLparam3(ident, option, facility);
+-      int c_option;
+-      int c_facility;
+-
+-      c_option = caml_convert_flag_list(option, __syslog_options_table);
+-      c_facility = __syslog_facility_table[Int_val(facility)];
+-      openlog(String_val(ident), c_option, c_facility);
+-      CAMLreturn(Val_unit);
+-}
+-*/
+-
+-value stub_syslog(value facility, value level, value msg)
+-{
+-      CAMLparam3(facility, level, msg);
+-      int c_facility;
+-
+-      c_facility = __syslog_facility_table[Int_val(facility)]
+-                 | __syslog_level_table[Int_val(level)];
+-      syslog(c_facility, "%s", String_val(msg));
+-      CAMLreturn(Val_unit);
+-}
+-
+-value stub_closelog(value unit)
+-{
+-      CAMLparam1(unit);
+-      closelog();
+-      CAMLreturn(Val_unit);
+-}
+--- a/tools/ocaml/xenstored/Makefile
++++ b/tools/ocaml/xenstored/Makefile
+@@ -3,7 +3,6 @@
+ include $(OCAML_TOPLEVEL)/common.make
+ OCAMLINCLUDE += \
+-      -I $(OCAML_TOPLEVEL)/libs/log \
+       -I $(OCAML_TOPLEVEL)/libs/xb \
+       -I $(OCAML_TOPLEVEL)/libs/mmap \
+       -I $(OCAML_TOPLEVEL)/libs/xc \
+@@ -34,7 +33,6 @@
+ XENSTOREDLIBS = \
+       unix.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/mmap $(OCAML_TOPLEVEL)/libs/mmap/xenmmap.cmxa \
+-      -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/log $(OCAML_TOPLEVEL)/libs/log/log.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xc $(OCAML_TOPLEVEL)/libs/xc/xenctrl.cmxa \
+       -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xb $(OCAML_TOPLEVEL)/libs/xb/xenbus.cmxa \
+--- a/tools/ocaml/xenstored/connection.ml
++++ b/tools/ocaml/xenstored/connection.ml
+@@ -232,3 +232,8 @@
+                       Printf.fprintf chan "watch,%d,%s,%s\n" domid (Utils.hexify path) (Utils.hexify token)
+                       ) (list_watches con);
+       | None -> ()
++
++let debug con =
++      let domid = get_domstr con in
++      let watches = List.map (fun (path, token) -> Printf.sprintf "watch %s: %s %s\n" domid path token) (list_watches con) in
++      String.concat "" watches
+--- a/tools/ocaml/xenstored/connections.ml
++++ b/tools/ocaml/xenstored/connections.ml
+@@ -15,7 +15,7 @@
+  * GNU Lesser General Public License for more details.
+  *)
+-let debug fmt = Logs.debug "general" fmt
++let debug fmt = Logging.debug "connections" fmt
+ type t = {
+       mutable anonymous: Connection.t list;
+@@ -165,3 +165,8 @@
+       );
+       (List.length cons.anonymous, !nb_ops_anon, !nb_watchs_anon,
+        Hashtbl.length cons.domains, !nb_ops_dom, !nb_watchs_dom)
++
++let debug cons =
++      let anonymous = List.map Connection.debug cons.anonymous in
++      let domains = Hashtbl.fold (fun _ con accu -> Connection.debug con :: accu) cons.domains [] in
++      String.concat "" (domains @ anonymous)
+--- a/tools/ocaml/xenstored/disk.ml
++++ b/tools/ocaml/xenstored/disk.ml
+@@ -17,7 +17,7 @@
+ let enable = ref false
+ let xs_daemon_database = "/var/run/xenstored/db"
+-let error = Logs.error "general"
++let error fmt = Logging.error "disk" fmt
+ (* unescape utils *)
+ exception Bad_escape
+--- a/tools/ocaml/xenstored/domain.ml
++++ b/tools/ocaml/xenstored/domain.ml
+@@ -16,7 +16,7 @@
+ open Printf
+-let debug fmt = Logs.debug "general" fmt
++let debug fmt = Logging.debug "domain" fmt
+ type t =
+ {
+--- a/tools/ocaml/xenstored/domains.ml
++++ b/tools/ocaml/xenstored/domains.ml
+@@ -14,6 +14,8 @@
+  * GNU Lesser General Public License for more details.
+  *)
++let debug fmt = Logging.debug "domains" fmt
++
+ type domains = {
+       eventchn: Event.t;
+       table: (Xenctrl.domid, Domain.t) Hashtbl.t;
+@@ -35,7 +37,7 @@
+               try
+                       let info = Xenctrl.domain_getinfo xc id in
+                       if info.Xenctrl.shutdown || info.Xenctrl.dying then (
+-                              Logs.debug "general" "Domain %u died (dying=%b, shutdown %b -- code %d)"
++                              debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
+                                                   id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
+                               if info.Xenctrl.dying then
+                                       dead_dom := id :: !dead_dom
+@@ -43,7 +45,7 @@
+                                       notify := true;
+                       )
+               with Xenctrl.Error _ ->
+-                      Logs.debug "general" "Domain %u died -- no domain info" id;
++                      debug "Domain %u died -- no domain info" id;
+                       dead_dom := id :: !dead_dom;
+               ) doms.table;
+       List.iter (fun id ->
+--- a/tools/ocaml/xenstored/logging.ml
++++ b/tools/ocaml/xenstored/logging.ml
+@@ -17,21 +17,122 @@
+ open Stdext
+ open Printf
+-let error fmt = Logs.error "general" fmt
+-let info fmt = Logs.info "general" fmt
+-let debug fmt = Logs.debug "general" fmt
+-let access_log_file = ref "/var/log/xenstored-access.log"
+-let access_log_nb_files = ref 20
+-let access_log_nb_lines = ref 13215
+-let activate_access_log = ref true
++(* Logger common *)
++
++type logger =
++              { stop: unit -> unit;
++                restart: unit -> unit;
++                rotate: unit -> unit;
++                write: 'a. ('a, unit, string, unit) format4 -> 'a }
++
++let truncate_line nb_chars line = 
++      if String.length line > nb_chars - 1 then
++              let len = max (nb_chars - 1) 2 in
++              let dst_line = String.create len in
++              String.blit line 0 dst_line 0 (len - 2);
++              dst_line.[len-2] <- '.'; 
++              dst_line.[len-1] <- '.';
++              dst_line
++      else line
++
++let log_rotate ref_ch log_file log_nb_files =
++      let file n = sprintf "%s.%i" log_file n in
++      let log_files =
++              let rec aux accu n =
++                      if n >= log_nb_files then accu
++                      else
++                              if n = 1 && Sys.file_exists log_file
++                              then aux [log_file,1] 2
++                              else
++                                      let file = file (n-1) in
++                                      if Sys.file_exists file then
++                                              aux ((file, n) :: accu) (n+1)
++                                      else accu in
++              aux [] 1 in
++      List.iter (fun (f, n) -> Unix.rename f (file n)) log_files;
++      close_out !ref_ch;
++      ref_ch := open_out log_file
++
++let make_logger log_file log_nb_files log_nb_lines log_nb_chars post_rotate =
++      let channel = ref (open_out_gen [Open_append; Open_creat] 0o644 log_file) in
++      let counter = ref 0 in
++      let stop() =
++              try flush !channel; close_out !channel
++              with _ -> () in
++      let restart() =
++              stop();
++              channel := open_out_gen [Open_append; Open_creat] 0o644 log_file in
++      let rotate() =
++              log_rotate channel log_file log_nb_files;
++              (post_rotate (): unit);
++              counter := 0 in
++      let output s =
++              let s = if log_nb_chars > 0 then truncate_line log_nb_chars s else s in
++              let s = s ^ "\n" in
++              output_string !channel s;
++              flush !channel;
++              incr counter;
++              if !counter > log_nb_lines then rotate() in
++      { stop=stop; restart=restart; rotate=rotate; write = fun fmt -> Printf.ksprintf output fmt }
++
++
++(* Xenstored logger *) 
++
++exception Unknown_level of string
++
++type level = Debug | Info | Warn | Error | Null
++
++let int_of_level = function
++      | Debug -> 0 | Info -> 1 | Warn -> 2
++      | Error -> 3 | Null -> max_int
++
++let string_of_level = function
++      | Debug -> "debug" | Info -> "info" | Warn -> "warn"
++      | Error -> "error" | Null -> "null"
++
++let level_of_string = function
++      | "debug" -> Debug | "info"  -> Info | "warn"  -> Warn
++      | "error" -> Error | "null"  -> Null | s  -> raise (Unknown_level s)
++
++let string_of_date () =
++      let time = Unix.gettimeofday () in
++      let tm = Unix.gmtime time in
++      let msec = time -. (floor time) in
++      sprintf "%d%.2d%.2dT%.2d:%.2d:%.2d.%.3dZ"
++              (1900 + tm.Unix.tm_year) (tm.Unix.tm_mon + 1) tm.Unix.tm_mday
++              tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec
++              (int_of_float (1000.0 *. msec))
+-(* maximal size of the lines in xenstore-acces.log file *)
+-let line_size = 180
++let xenstored_log_file = ref "/var/log/xenstored.log"
++let xenstored_log_level = ref Null
++let xenstored_log_nb_files = ref 10
++let xenstored_log_nb_lines = ref 13215
++let xenstored_log_nb_chars = ref (-1)
++let xenstored_logger = ref (None: logger option)
++
++let init_xenstored_log () =
++      if !xenstored_log_level <> Null && !xenstored_log_nb_files > 0 then
++              let logger =
++                      make_logger 
++                              !xenstored_log_file !xenstored_log_nb_files !xenstored_log_nb_lines
++                              !xenstored_log_nb_chars ignore in
++              xenstored_logger := Some logger
++
++let xenstored_logging level key (fmt: (_,_,_,_) format4) =
++      match !xenstored_logger with
++      | Some logger when int_of_level level >= int_of_level !xenstored_log_level ->
++                      let date = string_of_date() in
++                      let level = string_of_level level in
++                      logger.write ("[%s|%5s|%s] " ^^ fmt) date level key
++      | _ -> Printf.ksprintf ignore fmt
++
++let debug key = xenstored_logging Debug key
++let info key = xenstored_logging Info key
++let warn key = xenstored_logging Warn key
++let error key = xenstored_logging Error key
+-let log_read_ops = ref false
+-let log_transaction_ops = ref false
+-let log_special_ops = ref false
++(* Access logger *)
+ type access_type =
+       | Coalesce
+@@ -41,38 +142,10 @@
+       | Endconn
+       | XbOp of Xenbus.Xb.Op.operation
+-type access =
+-      {
+-              fd: out_channel ref;
+-              counter: int ref;
+-              write: tid:int -> con:string -> ?data:string -> access_type -> unit;
+-      }
+-
+-let string_of_date () =
+-      let time = Unix.gettimeofday () in
+-      let tm = Unix.localtime time in
+-      let msec = time -. (floor time) in
+-      sprintf "%d%.2d%.2d %.2d:%.2d:%.2d.%.3d" (1900 + tm.Unix.tm_year)
+-              (tm.Unix.tm_mon + 1)
+-              tm.Unix.tm_mday
+-              tm.Unix.tm_hour
+-              tm.Unix.tm_min
+-              tm.Unix.tm_sec
+-              (int_of_float (1000.0 *. msec))
+-
+-let fill_with_space n s =
+-      if String.length s < n
+-      then 
+-              let r = String.make n ' ' in
+-              String.blit s 0  r 0 (String.length s);
+-              r
+-      else 
+-              s
+-
+ let string_of_tid ~con tid =
+       if tid = 0
+-      then fill_with_space 12 (sprintf "%s" con)
+-      else fill_with_space 12 (sprintf "%s.%i" con tid)
++      then sprintf "%-12s" con
++      else sprintf "%-12s" (sprintf "%s.%i" con tid)
+ let string_of_access_type = function
+       | Coalesce                -> "coalesce "
+@@ -109,41 +182,9 @@
+       | Xenbus.Xb.Op.Error             -> "error    "
+       | Xenbus.Xb.Op.Watchevent        -> "w event  "
+-
++      (*
+       | x                       -> Xenbus.Xb.Op.to_string x
+-
+-let file_exists file =
+-      try
+-              Unix.close (Unix.openfile file [Unix.O_RDONLY] 0o644);
+-              true
+-      with _ ->
+-              false
+-
+-let log_rotate fd =
+-      let file n = sprintf "%s.%i" !access_log_file n in
+-      let log_files =
+-              let rec aux accu n =
+-                      if n >= !access_log_nb_files
+-                      then accu
+-                      else if n = 1 && file_exists !access_log_file
+-                      then aux [!access_log_file,1] 2
+-                      else
+-                              let file = file (n-1) in
+-                              if file_exists file
+-                              then aux ((file,n) :: accu) (n+1)
+-                              else accu
+-              in
+-              aux [] 1
+-      in
+-      let rec rename = function
+-              | (f,n) :: t when n < !access_log_nb_files -> 
+-                      Unix.rename f (file n);
+-                      rename t
+-              | _ -> ()
+-      in
+-      rename log_files;
+-      close_out !fd;
+-      fd := open_out !access_log_file
++      *)
+ let sanitize_data data =
+       let data = String.copy data in
+@@ -154,86 +195,68 @@
+       done;
+       String.escaped data
+-let make save_to_disk =
+-      let fd = ref (open_out_gen [Open_append; Open_creat] 0o644 !access_log_file) in
+-      let counter = ref 0 in
+-      {
+-              fd = fd;
+-              counter = counter;
+-              write = 
+-                      if not !activate_access_log || !access_log_nb_files = 0
+-                      then begin fun ~tid ~con ?data _ -> () end
+-                      else fun ~tid ~con ?(data="") access_type ->
+-                              let s = Printf.sprintf "[%s] %s %s %s\n" (string_of_date()) (string_of_tid ~con tid) 
+-                                      (string_of_access_type access_type) (sanitize_data data) in
+-                              let s =
+-                                      if String.length s > line_size
+-                                      then begin
+-                                              let s = String.sub s 0 line_size in
+-                                              s.[line_size-3] <- '.'; 
+-                                              s.[line_size-2] <- '.';
+-                                              s.[line_size-1] <- '\n';
+-                                              s
+-                                      end else
+-                                              s
+-                              in
+-                              incr counter;
+-                              output_string !fd s;
+-                              flush !fd;
+-                              if !counter > !access_log_nb_lines 
+-                              then begin 
+-                                      log_rotate fd;
+-                                      save_to_disk ();
+-                                      counter := 0;
+-                              end
+-      }
+-
+-let access : (access option) ref = ref None
+-let init aal save_to_disk =
+-      activate_access_log := aal;
+-      access := Some (make save_to_disk)
+-
+-let write_access_log ~con ~tid ?data access_type = 
++let activate_access_log = ref true
++let access_log_file = ref "/var/log/xenstored-access.log"
++let access_log_nb_files = ref 20
++let access_log_nb_lines = ref 13215
++let access_log_nb_chars = ref 180
++let access_log_read_ops = ref false
++let access_log_transaction_ops = ref false
++let access_log_special_ops = ref false
++let access_logger = ref None
++
++let init_access_log post_rotate =
++      if !access_log_nb_files > 0 then
++              let logger =
++                      make_logger
++                              !access_log_file !access_log_nb_files !access_log_nb_lines
++                              !access_log_nb_chars post_rotate in
++              access_logger := Some logger
++ 
++let access_logging ~con ~tid ?(data="") access_type =
+         try
+-        maybe (fun a -> a.write access_type ~con ~tid ?data) !access
++              maybe
++                      (fun logger ->
++                              let date = string_of_date() in
++                              let tid = string_of_tid ~con tid in
++                              let access_type = string_of_access_type access_type in
++                              let data = sanitize_data data in
++                              logger.write "[%s] %s %s %s" date tid access_type data)
++                      !access_logger
+       with _ -> ()
+-let new_connection = write_access_log Newconn
+-let end_connection = write_access_log Endconn
++let new_connection = access_logging Newconn
++let end_connection = access_logging Endconn
+ let read_coalesce ~tid ~con data =
+-      if !log_read_ops
+-      then write_access_log Coalesce ~tid ~con ~data:("read "^data)
+-let write_coalesce data = write_access_log Coalesce ~data:("write "^data)
+-let conflict = write_access_log Conflict
+-let commit = write_access_log Commit
++      if !access_log_read_ops
++      then access_logging Coalesce ~tid ~con ~data:("read "^data)
++let write_coalesce data = access_logging Coalesce ~data:("write "^data)
++let conflict = access_logging Conflict
++let commit = access_logging Commit
+ let xb_op ~tid ~con ~ty data =
+-      let print =
+-      match ty with
+-              | Xenbus.Xb.Op.Read | Xenbus.Xb.Op.Directory | Xenbus.Xb.Op.Getperms -> !log_read_ops
++      let print = match ty with
++              | Xenbus.Xb.Op.Read | Xenbus.Xb.Op.Directory | Xenbus.Xb.Op.Getperms -> !access_log_read_ops
+               | Xenbus.Xb.Op.Transaction_start | Xenbus.Xb.Op.Transaction_end ->
+                       false (* transactions are managed below *)
+               | Xenbus.Xb.Op.Introduce | Xenbus.Xb.Op.Release | Xenbus.Xb.Op.Getdomainpath | Xenbus.Xb.Op.Isintroduced | Xenbus.Xb.Op.Resume ->
+-                      !log_special_ops
+-              | _ -> true
+-      in
+-              if print 
+-              then write_access_log ~tid ~con ~data (XbOp ty)
++                      !access_log_special_ops
++              | _ -> true in
++      if print then access_logging ~tid ~con ~data (XbOp ty)
+ let start_transaction ~tid ~con = 
+-      if !log_transaction_ops && tid <> 0
+-      then write_access_log ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_start)
++      if !access_log_transaction_ops && tid <> 0
++      then access_logging ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_start)
+ let end_transaction ~tid ~con = 
+-      if !log_transaction_ops && tid <> 0
+-      then write_access_log ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_end)
++      if !access_log_transaction_ops && tid <> 0
++      then access_logging ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_end)
+ let xb_answer ~tid ~con ~ty data =
+       let print = match ty with
+-              | Xenbus.Xb.Op.Error when data="ENOENT " -> !log_read_ops
+-              | Xenbus.Xb.Op.Error -> !log_special_ops
++              | Xenbus.Xb.Op.Error when String.startswith "ENOENT " data -> !access_log_read_ops
++              | Xenbus.Xb.Op.Error -> true
+               | Xenbus.Xb.Op.Watchevent -> true
+               | _ -> false
+       in
+-              if print
+-              then write_access_log ~tid ~con ~data (XbOp ty)
++      if print then access_logging ~tid ~con ~data (XbOp ty)
+--- a/tools/ocaml/xenstored/perms.ml
++++ b/tools/ocaml/xenstored/perms.ml
+@@ -15,6 +15,8 @@
+  * GNU Lesser General Public License for more details.
+  *)
++let info fmt = Logging.info "perms" fmt
++
+ open Stdext
+ let activate = ref true
+@@ -145,16 +147,16 @@
+               in
+               match perm, request with
+               | NONE, _ ->
+-                      Logs.info "io" "Permission denied: Domain %d has no permission" domainid;
++                      info "Permission denied: Domain %d has no permission" domainid;
+                       false
+               | RDWR, _ -> true
+               | READ, READ -> true
+               | WRITE, WRITE -> true
+               | READ, _ ->
+-                      Logs.info "io" "Permission denied: Domain %d has read only access" domainid;
++                      info "Permission denied: Domain %d has read only access" domainid;
+                       false
+               | WRITE, _ ->
+-                      Logs.info "io" "Permission denied: Domain %d has write only access" domainid;
++                      info "Permission denied: Domain %d has write only access" domainid;
+                       false
+       in
+       if !activate
+--- a/tools/ocaml/xenstored/process.ml
++++ b/tools/ocaml/xenstored/process.ml
+@@ -14,6 +14,9 @@
+  * GNU Lesser General Public License for more details.
+  *)
++let error fmt = Logging.error "process" fmt
++let info fmt = Logging.info "process" fmt
++
+ open Printf
+ open Stdext
+@@ -79,7 +82,7 @@
+ (* packets *)
+ let do_debug con t domains cons data =
+-      if not !allow_debug
++      if not (Connection.is_dom0 con) && not !allow_debug
+       then None
+       else try match split None '\000' data with
+       | "print" :: msg :: _ ->
+@@ -89,6 +92,9 @@
+               let domid = int_of_string domid in
+               let quota = (Store.get_quota t.Transaction.store) in
+               Some (Quota.to_string quota domid ^ "\000")
++      | "watches" :: _ ->
++              let watches = Connections.debug cons in
++              Some (watches ^ "\000")
+       | "mfn" :: domid :: _ ->
+               let domid = int_of_string domid in
+               let con = Connections.find_domain cons domid in
+@@ -357,8 +363,7 @@
+                       in
+               input_handle_error ~cons ~doms ~fct ~ty ~con ~t ~rid ~data;
+       with exn ->
+-              Logs.error "general" "process packet: %s"
+-                        (Printexc.to_string exn);
++              error "process packet: %s" (Printexc.to_string exn);
+               Connection.send_error con tid rid "EIO"
+ let write_access_log ~ty ~tid ~con ~data =
+@@ -372,7 +377,7 @@
+               let packet = Connection.pop_in con in
+               let tid, rid, ty, data = Xenbus.Xb.Packet.unpack packet in
+               (* As we don't log IO, do not call an unnecessary sanitize_data 
+-                 Logs.info "io" "[%s] -> [%d] %s \"%s\""
++                 info "[%s] -> [%d] %s \"%s\""
+                        (Connection.get_domstr con) tid
+                        (Xenbus.Xb.Op.to_string ty) (sanitize_data data); *)
+               process_packet ~store ~cons ~doms ~con ~tid ~rid ~ty ~data;
+@@ -386,7 +391,7 @@
+                       let packet = Connection.peek_output con in
+                       let tid, rid, ty, data = Xenbus.Xb.Packet.unpack packet in
+                       (* As we don't log IO, do not call an unnecessary sanitize_data 
+-                         Logs.info "io" "[%s] <- %s \"%s\""
++                         info "[%s] <- %s \"%s\""
+                                (Connection.get_domstr con)
+                                (Xenbus.Xb.Op.to_string ty) (sanitize_data data);*)
+                       write_answer_log ~ty ~tid ~con ~data;
+--- a/tools/ocaml/xenstored/quota.ml
++++ b/tools/ocaml/xenstored/quota.ml
+@@ -18,7 +18,7 @@
+ exception Data_too_big
+ exception Transaction_opened
+-let warn fmt = Logs.warn "general" fmt
++let warn fmt = Logging.warn "quota" fmt
+ let activate = ref true
+ let maxent = ref (10000)
+ let maxsize = ref (4096)
+--- a/tools/ocaml/xenstored/store.ml
++++ b/tools/ocaml/xenstored/store.ml
+@@ -83,7 +83,7 @@
+ let check_owner node connection =
+       if not (Perms.check_owner connection node.perms)
+       then begin
+-              Logs.info "io" "Permission denied: Domain %d not owner" (get_owner node);
++              Logging.info "store|node" "Permission denied: Domain %d not owner" (get_owner node);
+               raise Define.Permission_denied;
+       end
+--- a/tools/ocaml/xenstored/xenstored.conf
++++ b/tools/ocaml/xenstored/xenstored.conf
+@@ -22,9 +22,14 @@
+ # Activate filed base backend
+ persistant = false
+-# Logs
+-log = error;general;file:/var/log/xenstored.log
+-log = warn;general;file:/var/log/xenstored.log
+-log = info;general;file:/var/log/xenstored.log
++# Xenstored logs
++# xenstored-log-file = /var/log/xenstored.log
++# xenstored-log-level = null
++# xenstored-log-nb-files = 10
++
++# Xenstored access logs
++# access-log-file = /var/log/xenstored-access.log
++# access-log-nb-lines = 13215
++# acesss-log-nb-chars = 180
++# access-log-special-ops = false
+-# log = debug;io;file:/var/log/xenstored-io.log
+--- a/tools/ocaml/xenstored/xenstored.ml
++++ b/tools/ocaml/xenstored/xenstored.ml
+@@ -18,7 +18,10 @@
+ open Printf
+ open Parse_arg
+ open Stdext
+-open Logging
++
++let error fmt = Logging.error "xenstored" fmt
++let debug fmt = Logging.debug "xenstored" fmt
++let info fmt = Logging.info "xenstored" fmt
+ (*------------ event klass processors --------------*)
+ let process_connection_fds store cons domains rset wset =
+@@ -64,7 +67,8 @@
+               ()
+ let sighup_handler _ =
+-      try Logs.reopen (); info "Log re-opened" with _ -> ()
++      maybe (fun logger -> logger.Logging.restart()) !Logging.xenstored_logger;
++      maybe (fun logger -> logger.Logging.restart()) !Logging.access_logger
+ let config_filename cf =
+       match cf.config_file with
+@@ -75,26 +79,6 @@
+ let parse_config filename =
+       let pidfile = ref default_pidfile in
+-      let set_log s =
+-              let ls = String.split ~limit:3 ';' s in
+-              let level, key, logger = match ls with
+-              | [ level; key; logger ] -> level, key, logger
+-              | _ -> failwith "format mismatch: expecting 3 arguments" in
+-
+-              let loglevel = match level with
+-              | "debug" -> Log.Debug
+-              | "info"  -> Log.Info
+-              | "warn"  -> Log.Warn
+-              | "error" -> Log.Error
+-              | s       -> failwith (sprintf "Unknown log level: %s" s) in
+-
+-              (* if key is empty, append to the default logger *)
+-              let append =
+-                      if key = "" then
+-                              Logs.append_default
+-                      else
+-                              Logs.append key in
+-              append loglevel logger in
+       let options = [
+               ("merge-activate", Config.Set_bool Transaction.do_coalesce);
+               ("perms-activate", Config.Set_bool Perms.activate);
+@@ -104,14 +88,20 @@
+               ("quota-maxentity", Config.Set_int Quota.maxent);
+               ("quota-maxsize", Config.Set_int Quota.maxsize);
+               ("test-eagain", Config.Set_bool Transaction.test_eagain);
+-              ("log", Config.String set_log);
+               ("persistant", Config.Set_bool Disk.enable);
++              ("xenstored-log-file", Config.Set_string Logging.xenstored_log_file);
++              ("xenstored-log-level", Config.String
++                      (fun s -> Logging.xenstored_log_level := Logging.level_of_string s));
++              ("xenstored-log-nb-files", Config.Set_int Logging.xenstored_log_nb_files);
++              ("xenstored-log-nb-lines", Config.Set_int Logging.xenstored_log_nb_lines);
++              ("xenstored-log-nb-chars", Config.Set_int Logging.xenstored_log_nb_chars);
+               ("access-log-file", Config.Set_string Logging.access_log_file);
+               ("access-log-nb-files", Config.Set_int Logging.access_log_nb_files);
+               ("access-log-nb-lines", Config.Set_int Logging.access_log_nb_lines);
+-              ("access-log-read-ops", Config.Set_bool Logging.log_read_ops);
+-              ("access-log-transactions-ops", Config.Set_bool Logging.log_transaction_ops);
+-              ("access-log-special-ops", Config.Set_bool Logging.log_special_ops);
++              ("access-log-nb-chars", Config.Set_int Logging.access_log_nb_chars);
++              ("access-log-read-ops", Config.Set_bool Logging.access_log_read_ops);
++              ("access-log-transactions-ops", Config.Set_bool Logging.access_log_transaction_ops);
++              ("access-log-special-ops", Config.Set_bool Logging.access_log_special_ops);
+               ("allow-debug", Config.Set_bool Process.allow_debug);
+               ("pid-file", Config.Set_string pidfile); ] in
+       begin try Config.read filename options (fun _ _ -> raise Not_found)
+@@ -223,9 +213,6 @@
+ end
+ let _ =
+-      printf "Xen Storage Daemon, version %d.%d\n%!"
+-             Define.xenstored_major Define.xenstored_minor;
+-
+       let cf = do_argv in
+       let pidfile =
+               if Sys.file_exists (config_filename cf) then
+@@ -249,13 +236,13 @@
+               in
+       
+       if cf.daemonize then
+-              Unixext.daemonize ();
++              Unixext.daemonize ()
++      else
++              printf "Xen Storage Daemon, version %d.%d\n%!" 
++                      Define.xenstored_major Define.xenstored_minor;
+       (try Unixext.pidfile_write pidfile with _ -> ());
+-      info "Xen Storage Daemon, version %d.%d"
+-           Define.xenstored_major Define.xenstored_minor;
+-
+       (* for compatilibity with old xenstored *)
+       begin match cf.pidfile with
+       | Some pidfile -> Unixext.pidfile_write pidfile
+@@ -293,7 +280,14 @@
+       Sys.set_signal Sys.sigusr1 (Sys.Signal_handle (fun i -> sigusr1_handler store));
+       Sys.set_signal Sys.sigpipe Sys.Signal_ignore;
+-      Logging.init cf.activate_access_log (fun () -> DB.to_file store cons "/var/run/xenstored/db");
++      Logging.init_xenstored_log();
++      if cf.activate_access_log then begin
++              let post_rotate () = DB.to_file store cons "/var/run/xenstored/db" in
++              Logging.init_access_log post_rotate
++      end;
++
++      info "Xen Storage Daemon, version %d.%d"
++           Define.xenstored_major Define.xenstored_minor;
+       let spec_fds =
+               (match rw_sock with None -> [] | Some x -> [ x ]) @
+--- a/tools/ocaml/libs/log/syslog.mli
++++ /dev/null
+@@ -1,41 +0,0 @@
+-(*
+- * Copyright (C) 2006-2007 XenSource Ltd.
+- * Copyright (C) 2008      Citrix Ltd.
+- * Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation; version 2.1 only. with the special
+- * exception on linking described in file LICENSE.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *)
+-
+-type level = Emerg | Alert | Crit | Err | Warning | Notice | Info | Debug
+-type options = Cons | Ndelay | Nowait | Odelay | Perror | Pid
+-type facility =
+-    Auth
+-  | Authpriv
+-  | Cron
+-  | Daemon
+-  | Ftp
+-  | Kern
+-  | Local0
+-  | Local1
+-  | Local2
+-  | Local3
+-  | Local4
+-  | Local5
+-  | Local6
+-  | Local7
+-  | Lpr
+-  | Mail
+-  | News
+-  | Syslog
+-  | User
+-  | Uucp
+-external log : facility -> level -> string -> unit = "stub_syslog"
+-external close : unit -> unit = "stub_closelog"
+--- a/tools/ocaml/libs/log/Makefile
++++ /dev/null
+@@ -1,44 +0,0 @@
+-TOPLEVEL=$(CURDIR)/../..
+-XEN_ROOT=$(TOPLEVEL)/../..
+-include $(TOPLEVEL)/common.make
+-
+-OBJS = syslog log logs
+-INTF = log.cmi logs.cmi syslog.cmi
+-LIBS = log.cma log.cmxa
+-
+-all: $(INTF) $(LIBS) $(PROGRAMS)
+-
+-bins: $(PROGRAMS)
+-
+-libs: $(LIBS)
+-
+-log.cmxa: libsyslog_stubs.a $(foreach obj,$(OBJS),$(obj).cmx)
+-      $(call mk-caml-lib-native, $@, -cclib -lsyslog_stubs, $(foreach obj,$(OBJS),$(obj).cmx))
+-
+-log.cma: $(foreach obj,$(OBJS),$(obj).cmo)
+-      $(call mk-caml-lib-bytecode, $@, -dllib dllsyslog_stubs.so -cclib -lsyslog_stubs, $(foreach obj,$(OBJS),$(obj).cmo))
+-
+-syslog_stubs.a: syslog_stubs.o
+-      $(call mk-caml-stubs, $@, $+)
+-
+-libsyslog_stubs.a: syslog_stubs.o
+-      $(call mk-caml-lib-stubs, $@, $+)
+-
+-logs.mli : logs.ml
+-      $(OCAMLC) -i $(OCAMLCFLAGS) $< > $@
+-
+-syslog.mli : syslog.ml
+-      $(OCAMLC) -i $< > $@
+-
+-.PHONY: install
+-install: $(LIBS) META
+-      mkdir -p $(OCAMLDESTDIR)
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) log
+-      ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore log META $(INTF) $(LIBS) *.a *.so *.cmx
+-
+-.PHONY: uninstall
+-uninstall:
+-      ocamlfind remove -destdir $(OCAMLDESTDIR) log
+-
+-include $(TOPLEVEL)/Makefile.rules
+-
diff --git a/xen/patches/54-upstream-23940:187d59e32a58.patch b/xen/patches/54-upstream-23940:187d59e32a58.patch
new file mode 100644 (file)
index 0000000..2c7521a
--- /dev/null
@@ -0,0 +1,45 @@
+# HG changeset patch
+# User Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+# Date 1318261276 -3600
+# Node ID 187d59e32a586d65697ed46bef106b52e3fb5ab9
+# Parent  51288f69523fcbbefa12cea5a761a6e957410151
+tools/ocaml: Fix 2 bit-twiddling bugs and an off-by-one
+
+The bit bugs are in ocaml vcpu affinity calls, and the off-by-one
+error is in the ocaml console ring code
+
+Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
+Acked-by: Ian Campbell <ian.campbell.com>
+Committed-by: Ian Jackson <ian.jackson.citrix.com>
+Acked-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
+
+diff -r 51288f69523f -r 187d59e32a58 tools/ocaml/libs/xc/xenctrl_stubs.c
+--- a/tools/ocaml/libs/xc/xenctrl_stubs.c      Mon Oct 10 16:41:16 2011 +0100
++++ b/tools/ocaml/libs/xc/xenctrl_stubs.c      Mon Oct 10 16:41:16 2011 +0100
+@@ -430,7 +430,7 @@
+       for (i=0; i<len; i++) {
+               if (Bool_val(Field(cpumap, i)))
+-                      c_cpumap[i/8] |= i << (i&7);
++                      c_cpumap[i/8] |= 1 << (i&7);
+       }
+       retval = xc_vcpu_setaffinity(_H(xch), _D(domid),
+                                    Int_val(vcpu), c_cpumap);
+@@ -466,7 +466,7 @@
+       ret = caml_alloc(len, 0);
+       for (i=0; i<len; i++) {
+-              if (c_cpumap[i%8] & 1 << (i&7))
++              if (c_cpumap[i/8] & 1 << (i&7))
+                       Store_field(ret, i, Val_true);
+               else
+                       Store_field(ret, i, Val_false);
+@@ -523,7 +523,7 @@
+ CAMLprim value stub_xc_readconsolering(value xch)
+ {
+-      unsigned int size = RING_SIZE;
++      unsigned int size = RING_SIZE - 1;
+       char *ring_ptr = ring;
+       CAMLparam1(xch);
diff --git a/xen/patches/99-xen-configure-xend.patch b/xen/patches/99-xen-configure-xend.patch
new file mode 100644 (file)
index 0000000..0bdc932
--- /dev/null
@@ -0,0 +1,37 @@
+diff -up xen-3.4.0/tools/examples/xend-config.sxp.config xen-3.4.0/tools/examples/xend-config.sxp
+--- xen-3.4.0/tools/examples/xend-config.sxp.config    2009-05-20 17:12:50.000000000 +0200
++++ xen-3.4.0/tools/examples/xend-config.sxp   2009-05-20 17:15:35.000000000 +0200
+@@ -58,11 +58,11 @@
+ #(xend-http-server no)
+-#(xend-unix-server no)
++(xend-unix-server yes)
+ #(xend-tcp-xmlrpc-server no)
+ #(xend-unix-xmlrpc-server yes)
+-#(xend-relocation-server no)
+-(xend-relocation-server yes)
++(xend-relocation-server no)
++#(xend-relocation-server yes)
+ #(xend-relocation-ssl-server no)
+ #(xend-udev-event-server no)
+@@ -154,7 +154,8 @@
+ # two fake interfaces per guest domain.  To do things like this, write
+ # yourself a wrapper script, and call network-bridge from it, as appropriate.
+ #
+-(network-script network-bridge)
++#(network-script network-bridge)
++(network-script /bin/true)
+ # The script used to control virtual interfaces.  This can be overridden on a
+ # per-vif basis when creating a domain or a configuring a new vif.  The
+@@ -186,7 +187,7 @@
+ # dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
+ # This is a minimum both for auto-ballooning (as enabled by
+ # enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
+-(dom0-min-mem 196)
++(dom0-min-mem 256)
+ # Whether to enable auto-ballooning of dom0 to allow domUs to be created.
+ # If enable-dom0-ballooning = no, dom0 will never balloon out.
index 72567ecc8236f0982130781ffa09dcc37a47fe45..3647cd76ca471001acfe3ecb1799305483b2252c 100644 (file)
@@ -5,7 +5,8 @@
 
 name       = xen
 version    = 4.1.2
-release    = 3
+release    = 6
+sup_arches = i686 x86_64
 
 maintainer = Ben Schweikert <ben.schweikert@ipfire.org>
 groups     = Applications/Virtualization
@@ -17,24 +18,24 @@ description
        The Xen hypervisor, the powerful open source industry standard
        for virtualization, offers a powerful, efficient, and secure
        feature set for virtualization.
+       It is possible to use a i686 host, but it is not supported.
 end
 
 source_dl  = http://bits.xensource.com/oss-xen/release/%{version}/
-sources    = %{thisapp}.tar.gz xen-utils-0.1.tar.bz2
+sources    = %{thisapp}.tar.gz xen-utils-0.2.tar.bz2
 
 build
        requires
                chrpath
                dev86
-               gettext-devel
+               gettext
                iasl
-               kernel-headers
                libuuid-devel
                ncurses-devel
                openssl-devel
-               python
+               pciutils-devel
+               perl
                python-devel
-               SDL
                SDL-devel
                texinfo
                xorg-x11-proto-devel
@@ -43,21 +44,57 @@ build
        end
 
        prepare_cmds
-               tar -xvf %{DIR_DL}/xen-utils-0.1.tar.bz2
-               mv tools/firmware/etherboot/ipxe-git-v1.0.0.tar.gz tools/firmware/etherboot/ipxe.tar.gz
-               mv extras/mini-os/newlib-1.16.0.tar.gz stubdom/
+               mv ../xen-utils/ipxe.tar.gz tools/firmware/etherboot/
+               mv ../xen-utils/newlib-1.16.0.tar.gz stubdom/
+               mv ../xen-utils/grub-0.97.tar.gz stubdom/
+               mv ../xen-utils/lwip-1.3.0.tar.gz stubdom/
+               mv ../xen-utils/pciutils-2.2.9.tar.bz2 stubdom/
+               mv ../xen-utils/zlib-1.2.3.tar.gz stubdom/
                rm -f Config.mk~
+
+               if [ "${DISTRO_ARCH}" = "x86_64" ]; then
+                       # Dirty ugly workaround for stub-32.h error (is missing).
+                       ln -s /usr/include/gnu/stubs-64.h /usr/include/gnu/stubs-32.h
+               fi
        end
 
-       make_build_targets += \
-               xen tools
+       build
+               # Have to build it this way, else parts of the xen stubdom \
+               # would get build too.
+               make dist-xen %{PARALELLISMFLAGS}
+               make dist-tools %{PARALELLISMFLAGS}
+       end
 
-       make_install_targets +=\
-               install-xen install-tools
+       # Only install xen and tools
+       make_install_targets = \
+               DESTDIR=%{BUILDROOT} \
+               prefix=/usr \
+               install-xen \
+               install-tools
 
        install_cmds
-               rm -R %{BUILDROOT}/etc/init.d
+               # Remove unneeded files:
+               # hypervisor symlinks
+               rm -Rf %{BUILDROOT}/boot/xen-syms*
+               rm -Rf %{BUILDROOT}/boot/xen-4.1.gz
+               rm -Rf %{BUILDROOT}/boot/xen-4.gz
+               # init.d file
+               rm -Rf %{BUILDROOT}/etc/init.d
                chrpath --delete %{BUILDROOT}/usr/lib/xen/bin/qemu-dm
+               # silly doc dir fun             
+               rm -Rf %{BUILDROOT}/usr/share/doc/xen
+               rm -Rf %{BUILDROOT}/usr/share/doc/qemu
+               # Pointless helper
+               rm -Rf %{BUILDROOT}/usr/sbin/xen-python-path
+               # qemu stuff (unused or available from upstream)
+               rm -Rf %{BUILDROOT}/usr/share/xen/man
+
+               # create dirs in /var
+               mkdir -p %{BUILDROOT}/var/lib/xen/xend-db/domain
+               mkdir -p %{BUILDROOT}/var/lib/xen/xend-db/vnet
+               mkdir -p %{BUILDROOT}/var/lib/xen/xend-db/migrate
+               mkdir -p %{BUILDROOT}/var/lib/xen/images
+               mkdir -p %{BUILDROOT}/var/log/xen/console
        end
 end
 
@@ -78,7 +115,7 @@ packages
                        run applications which manage Xen virtual machines
                end
 
-               files += /usr/lib/fs
+               files += %{libdir}/fs
        end
 
        package %{name}-hypervisor
@@ -101,6 +138,7 @@ packages
 
                files
                        /usr/bin/*
+                       /usr/sbin/*
                end
        end
 
@@ -117,3 +155,5 @@ packages
                template DEBUGINFO
        end
 end
+
+
index b8ee34e04fe91e5872a0b9aca8774d29c1b68ed6..ec0e486337ac1328fe3a5c7306d412e1a0cbd81f 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = xfsprogs
-version    = 3.1.7
+version    = 3.1.8
 release    = 1
 
 groups     = System/Filesystems
@@ -30,35 +30,24 @@ build
        end
 
        configure_options += \
-               --bindir=/sbin \
-               --sbindir=/sbin \
-               --libdir=/%{lib} \
                --libexecdir=%{libdir} \
                --enable-readline=yes \
-               --enable-blkid=yes \
-               --disable-static
-
-       configure_cmds
-               # Kill rpaths
-               sed -i libtool \
-                       -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-                       -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g'
-       end
+               --enable-blkid=yes
 
        make_build_targets += V=1 DEBUG=-DNDEBUG
 
        install
-               make install install-dev install-qa V=1 DIST_ROOT=%{BUILDROOT}
-
-               chmod -v 755 %{BUILDROOT}/%{lib}/libhandle.so*
-               rm -vf %{BUILDROOT}/%{lib}/libhandle.so
-               mkdir -pv %{BUILDROOT}%{libdir}
-               ln -svf ../../%{lib}/libhandle.so.1 %{BUILDROOT}%{libdir}/libhandle.so
+               make install install-dev install-qa V=1 DIST_ROOT=%{BUILDROOT} \
+                       PKG_ROOT_SBIN_DIR=%{sbindir} PKG_ROOT_LIB_DIR=%{libdir}
        end
 end
 
 packages
        package %{name}
+               conflicts
+                       filesystem < 002
+               end
+       end
 
        package %{name}-devel
                template DEVEL
index 3ca124098e01f768a0066f16a5809d5593df2f7c..12c0f936cf821f93d365664159707a928cd4ca84 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = xmlto
-version    = 0.0.24
+version    = 0.0.25
 release    = 1
 
 groups     = Applications/System
@@ -29,7 +29,7 @@ build
                util-linux
        end
 
-       configure_options +=\
+       configure_options += \
                BASH=/bin/bash
 
        test
@@ -40,6 +40,10 @@ end
 packages
        package %{name}
                requires
+                       docbook-dtds
+                       docbook-xsl
+                       flex
+                       libxslt
                        util-linux
                end
        end
index 5289c41e00dfd8a46df35075aac6d76973f2dada..538fef20747198fd463f64420852fe034d4d07ce 100644 (file)
@@ -5,9 +5,9 @@
 
 name       = xorg-x11-drv-mouse
 version    = 1.5.0
-release    = 1
+release    = 2
 
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org
+maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = X/Driver
 url        = http://www.x.org/
 license    = MIT
@@ -42,7 +42,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 610c7ad38327d960d2ed80d8466bafe3172b0330..02b5473ff816e31b1854313beff54275d3ddc34f 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = xorg-x11-proto-devel
 version    = 7.4
-release    = 2
+release    = 3
 arch       = noarch
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
@@ -58,6 +58,11 @@ build
                done
        end
 
+       # Place the .pc files in /usr/share so they
+       # can be found on all architectures where libdir != /usr/lib.
+       configure_options += \
+               --libdir=%{datadir}
+
        build
                for object in %{sources}; do
                        cd %{DIR_SRC}/${object%*.tar.bz2}
@@ -78,5 +83,4 @@ end
 
 packages
        package %{name}
-       end
 end
index 7ed9a8b2a282f8caffc6f3f8a12b06c4ecd48943..060b4e2f8b56e7b76d98db025e0d4198ee5dffc7 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = xorg-x11-server
 version    = 1.8.2
-release    = 4
+release    = 5
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = X/Server
@@ -76,8 +76,8 @@ build
                --enable-xselinux \
                --with-int10=x86emu \
                --with-default-font-path="catalogue:/etc/X11/fontpath.d,built-ins" \
-               --with-module-dir=/usr/lib/xorg/modules \
-               --with-builderstring="Build ID: $(PKG_NAME) $(PKG_VER)-$(PKG_REL)" \
+               --with-module-dir=%{libdir}/xorg/modules \
+               --with-builderstring="Build ID: %{name} %{version}-%{release}" \
                --with-os-name="$(hostname -s) $(uname -r)" \
                --with-vendor-name="$(DISTRO_NAME) Project" \
                --with-vendor-web="http://www.ipfire.org" \
@@ -114,11 +114,11 @@ build
        end
 
        make_install_targets += \
-               moduledir=/usr/lib/xorg/modules
+               moduledir=%{libdir}/xorg/modules
 
        install_cmds
-               rm -vf $(BUILDROOT)/usr/lib/xorg/modules/libxf8_16bpp.so
-               rm -vrf $(BUILDROOT)/var/log
+               rm -vf %{BUILDROOT}%{libdir}/xorg/modules/libxf8_16bpp.so
+               rm -vrf %{BUILDROOT}/var/log
 
                mkdir -pv %{BUILDROOT}/etc/X11/xorg.conf.d %{BUILDROOT}/usr/share/xorg
                install -m 0444 hw/xfree86/common/{vesa,extra}modes %{BUILDROOT}/usr/share/xorg/
index cd8243624662b72995bfd879689bed6a57041b16..c9991fb8bf57193ada3f0e60fe432e54dd73a6ae 100644 (file)
@@ -3,9 +3,10 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = xinit
+name       = xorg-x11-xinit
 version    = 1.2.1
 release    = 1
+thisapp    = xinit-%{version}
 
 groups     = X/Server
 url        = http://www.x.org
@@ -20,10 +21,8 @@ source_dl = http://ftp.x.org/pub/individual/app/
 
 build
        requires
-               autoconf
-               automake
                libX11-devel
-               pkg-config
+               xorg-x11-util-macros
        end
 end
 
index 5e989317cf579c7cb2baa0bfcaa6a906858a1613..78b0815fe1d9a9057cfeab4410049e28aad37d6c 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = zlib
 version    = 1.2.6
-release    = 1
+release    = 2
 
 groups     = System/Libraries
 url        = http://www.gzip.org/zlib/
@@ -25,7 +25,7 @@ CFLAGS    += -fPIC -DPIC
 build
        configure_options = \
                --prefix=%{prefix} \
-               --libdir=/%{lib}
+               --libdir=%{libdir}
 
        test
                make check
@@ -34,10 +34,6 @@ build
        install_cmds
                mkdir -pv %{BUILDROOT}%{includedir} %{BUILDROOT}%{libdir}
                cp -pfv zconf.h zlib.h %{BUILDROOT}%{includedir}
-               rm -vf %{BUILDROOT}/%{lib}/libz.so
-               ln -sfv ../../%{lib}/libz.so.%{version} %{BUILDROOT}%{libdir}/libz.so
-
-               mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir}
        end
 end